UNPKG

mnemonic-keyring

Version:

Mnemonic Keyring for secp256k1 and ed25519

543 lines 981 kB
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("MnemonicKeyring",[],t):"object"==typeof exports?exports.MnemonicKeyring=t():e.MnemonicKeyring=t()}(this,(function(){return function(e){var t={};function r(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(i,n,function(t){return e[t]}.bind(null,n));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=118)}([function(e,t){"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}}},function(e,t,r){
/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
var i=r(2),n=i.Buffer;function a(e,t){for(var r in e)t[r]=e[r]}function o(e,t,r){return n(e,t,r)}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?e.exports=i:(a(i,t),t.Buffer=o),o.prototype=Object.create(n.prototype),a(n,o),o.from=function(e,t,r){if("number"==typeof e)throw new TypeError("Argument must not be a number");return n(e,t,r)},o.alloc=function(e,t,r){if("number"!=typeof e)throw new TypeError("Argument must be a number");var i=n(e);return void 0!==t?"string"==typeof r?i.fill(t,r):i.fill(t):i.fill(0),i},o.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return n(e)},o.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i.SlowBuffer(e)}},function(e,t,r){"use strict";(function(e){
/*!
 * The buffer module from node.js, for the browser.
 *
 * @author   Feross Aboukhadijeh <http://feross.org>
 * @license  MIT
 */
var i=r(120),n=r(121),a=r(56);function o(){return f.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(e,t){if(o()<t)throw new RangeError("Invalid typed array length");return f.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=f.prototype:(null===e&&(e=new f(t)),e.length=t),e}function f(e,t,r){if(!(f.TYPED_ARRAY_SUPPORT||this instanceof f))return new f(e,t,r);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return u(this,e)}return c(this,e,t,r)}function c(e,t,r,i){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,r,i){if(t.byteLength,r<0||t.byteLength<r)throw new RangeError("'offset' is out of bounds");if(t.byteLength<r+(i||0))throw new RangeError("'length' is out of bounds");t=void 0===r&&void 0===i?new Uint8Array(t):void 0===i?new Uint8Array(t,r):new Uint8Array(t,r,i);f.TYPED_ARRAY_SUPPORT?(e=t).__proto__=f.prototype:e=h(e,t);return e}(e,t,r,i):"string"==typeof t?function(e,t,r){"string"==typeof r&&""!==r||(r="utf8");if(!f.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var i=0|b(t,r),n=(e=s(e,i)).write(t,r);n!==i&&(e=e.slice(0,n));return e}(e,t,r):function(e,t){if(f.isBuffer(t)){var r=0|l(t.length);return 0===(e=s(e,r)).length||t.copy(e,0,0,r),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(i=t.length)!=i?s(e,0):h(e,t);if("Buffer"===t.type&&a(t.data))return h(e,t.data)}var i;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function d(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function u(e,t){if(d(t),e=s(e,t<0?0:0|l(t)),!f.TYPED_ARRAY_SUPPORT)for(var r=0;r<t;++r)e[r]=0;return e}function h(e,t){var r=t.length<0?0:0|l(t.length);e=s(e,r);for(var i=0;i<r;i+=1)e[i]=255&t[i];return e}function l(e){if(e>=o())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o().toString(16)+" bytes");return 0|e}function b(e,t){if(f.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var i=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return C(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return U(e).length;default:if(i)return C(e).length;t=(""+t).toLowerCase(),i=!0}}function p(e,t,r){var i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return I(this,t,r);case"utf8":case"utf-8":return x(this,t,r);case"ascii":return z(this,t,r);case"latin1":case"binary":return A(this,t,r);case"base64":return E(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return q(this,t,r);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function m(e,t,r){var i=e[t];e[t]=e[r],e[r]=i}function g(e,t,r,i,n){if(0===e.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:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(n)return-1;r=e.length-1}else if(r<0){if(!n)return-1;r=0}if("string"==typeof t&&(t=f.from(t,i)),f.isBuffer(t))return 0===t.length?-1:v(e,t,r,i,n);if("number"==typeof t)return t&=255,f.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):v(e,[t],r,i,n);throw new TypeError("val must be string, number or Buffer")}function v(e,t,r,i,n){var a,o=1,s=e.length,f=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;o=2,s/=2,f/=2,r/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(n){var d=-1;for(a=r;a<s;a++)if(c(e,a)===c(t,-1===d?0:a-d)){if(-1===d&&(d=a),a-d+1===f)return d*o}else-1!==d&&(a-=a-d),d=-1}else for(r+f>s&&(r=s-f),a=r;a>=0;a--){for(var u=!0,h=0;h<f;h++)if(c(e,a+h)!==c(t,h)){u=!1;break}if(u)return a}return-1}function y(e,t,r,i){r=Number(r)||0;var n=e.length-r;i?(i=Number(i))>n&&(i=n):i=n;var a=t.length;if(a%2!=0)throw new TypeError("Invalid hex string");i>a/2&&(i=a/2);for(var o=0;o<i;++o){var s=parseInt(t.substr(2*o,2),16);if(isNaN(s))return o;e[r+o]=s}return o}function w(e,t,r,i){return F(C(t,e.length-r),e,r,i)}function _(e,t,r,i){return F(function(e){for(var t=[],r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}(t),e,r,i)}function M(e,t,r,i){return _(e,t,r,i)}function S(e,t,r,i){return F(U(t),e,r,i)}function k(e,t,r,i){return F(function(e,t){for(var r,i,n,a=[],o=0;o<e.length&&!((t-=2)<0);++o)r=e.charCodeAt(o),i=r>>8,n=r%256,a.push(n),a.push(i);return a}(t,e.length-r),e,r,i)}function E(e,t,r){return 0===t&&r===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,r))}function x(e,t,r){r=Math.min(e.length,r);for(var i=[],n=t;n<r;){var a,o,s,f,c=e[n],d=null,u=c>239?4:c>223?3:c>191?2:1;if(n+u<=r)switch(u){case 1:c<128&&(d=c);break;case 2:128==(192&(a=e[n+1]))&&(f=(31&c)<<6|63&a)>127&&(d=f);break;case 3:a=e[n+1],o=e[n+2],128==(192&a)&&128==(192&o)&&(f=(15&c)<<12|(63&a)<<6|63&o)>2047&&(f<55296||f>57343)&&(d=f);break;case 4:a=e[n+1],o=e[n+2],s=e[n+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(f=(15&c)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&f<1114112&&(d=f)}null===d?(d=65533,u=1):d>65535&&(d-=65536,i.push(d>>>10&1023|55296),d=56320|1023&d),i.push(d),n+=u}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var r="",i=0;for(;i<t;)r+=String.fromCharCode.apply(String,e.slice(i,i+=4096));return r}(i)}t.Buffer=f,t.SlowBuffer=function(e){+e!=e&&(e=0);return f.alloc(+e)},t.INSPECT_MAX_BYTES=50,f.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=o(),f.poolSize=8192,f._augment=function(e){return e.__proto__=f.prototype,e},f.from=function(e,t,r){return c(null,e,t,r)},f.TYPED_ARRAY_SUPPORT&&(f.prototype.__proto__=Uint8Array.prototype,f.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&f[Symbol.species]===f&&Object.defineProperty(f,Symbol.species,{value:null,configurable:!0})),f.alloc=function(e,t,r){return function(e,t,r,i){return d(t),t<=0?s(e,t):void 0!==r?"string"==typeof i?s(e,t).fill(r,i):s(e,t).fill(r):s(e,t)}(null,e,t,r)},f.allocUnsafe=function(e){return u(null,e)},f.allocUnsafeSlow=function(e){return u(null,e)},f.isBuffer=function(e){return!(null==e||!e._isBuffer)},f.compare=function(e,t){if(!f.isBuffer(e)||!f.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var r=e.length,i=t.length,n=0,a=Math.min(r,i);n<a;++n)if(e[n]!==t[n]){r=e[n],i=t[n];break}return r<i?-1:i<r?1:0},f.isEncoding=function(e){switch(String(e).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}},f.concat=function(e,t){if(!a(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return f.alloc(0);var r;if(void 0===t)for(t=0,r=0;r<e.length;++r)t+=e[r].length;var i=f.allocUnsafe(t),n=0;for(r=0;r<e.length;++r){var o=e[r];if(!f.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(i,n),n+=o.length}return i},f.byteLength=b,f.prototype._isBuffer=!0,f.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)m(this,t,t+1);return this},f.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)m(this,t,t+3),m(this,t+1,t+2);return this},f.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)m(this,t,t+7),m(this,t+1,t+6),m(this,t+2,t+5),m(this,t+3,t+4);return this},f.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?x(this,0,e):p.apply(this,arguments)},f.prototype.equals=function(e){if(!f.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===f.compare(this,e)},f.prototype.inspect=function(){var e="",r=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(e+=" ... ")),"<Buffer "+e+">"},f.prototype.compare=function(e,t,r,i,n){if(!f.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===i&&(i=0),void 0===n&&(n=this.length),t<0||r>e.length||i<0||n>this.length)throw new RangeError("out of range index");if(i>=n&&t>=r)return 0;if(i>=n)return-1;if(t>=r)return 1;if(this===e)return 0;for(var a=(n>>>=0)-(i>>>=0),o=(r>>>=0)-(t>>>=0),s=Math.min(a,o),c=this.slice(i,n),d=e.slice(t,r),u=0;u<s;++u)if(c[u]!==d[u]){a=c[u],o=d[u];break}return a<o?-1:o<a?1:0},f.prototype.includes=function(e,t,r){return-1!==this.indexOf(e,t,r)},f.prototype.indexOf=function(e,t,r){return g(this,e,t,r,!0)},f.prototype.lastIndexOf=function(e,t,r){return g(this,e,t,r,!1)},f.prototype.write=function(e,t,r,i){if(void 0===t)i="utf8",r=this.length,t=0;else if(void 0===r&&"string"==typeof t)i=t,r=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(r)?(r|=0,void 0===i&&(i="utf8")):(i=r,r=void 0)}var n=this.length-t;if((void 0===r||r>n)&&(r=n),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var a=!1;;)switch(i){case"hex":return y(this,e,t,r);case"utf8":case"utf-8":return w(this,e,t,r);case"ascii":return _(this,e,t,r);case"latin1":case"binary":return M(this,e,t,r);case"base64":return S(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,e,t,r);default:if(a)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),a=!0}},f.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function z(e,t,r){var i="";r=Math.min(e.length,r);for(var n=t;n<r;++n)i+=String.fromCharCode(127&e[n]);return i}function A(e,t,r){var i="";r=Math.min(e.length,r);for(var n=t;n<r;++n)i+=String.fromCharCode(e[n]);return i}function I(e,t,r){var i=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>i)&&(r=i);for(var n="",a=t;a<r;++a)n+=D(e[a]);return n}function q(e,t,r){for(var i=e.slice(t,r),n="",a=0;a<i.length;a+=2)n+=String.fromCharCode(i[a]+256*i[a+1]);return n}function R(e,t,r){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}function j(e,t,r,i,n,a){if(!f.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>n||t<a)throw new RangeError('"value" argument is out of bounds');if(r+i>e.length)throw new RangeError("Index out of range")}function B(e,t,r,i){t<0&&(t=65535+t+1);for(var n=0,a=Math.min(e.length-r,2);n<a;++n)e[r+n]=(t&255<<8*(i?n:1-n))>>>8*(i?n:1-n)}function N(e,t,r,i){t<0&&(t=4294967295+t+1);for(var n=0,a=Math.min(e.length-r,4);n<a;++n)e[r+n]=t>>>8*(i?n:3-n)&255}function O(e,t,r,i,n,a){if(r+i>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function T(e,t,r,i,a){return a||O(e,0,r,4),n.write(e,t,r,i,23,4),r+4}function P(e,t,r,i,a){return a||O(e,0,r,8),n.write(e,t,r,i,52,8),r+8}f.prototype.slice=function(e,t){var r,i=this.length;if((e=~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),(t=void 0===t?i:~~t)<0?(t+=i)<0&&(t=0):t>i&&(t=i),t<e&&(t=e),f.TYPED_ARRAY_SUPPORT)(r=this.subarray(e,t)).__proto__=f.prototype;else{var n=t-e;r=new f(n,void 0);for(var a=0;a<n;++a)r[a]=this[a+e]}return r},f.prototype.readUIntLE=function(e,t,r){e|=0,t|=0,r||R(e,t,this.length);for(var i=this[e],n=1,a=0;++a<t&&(n*=256);)i+=this[e+a]*n;return i},f.prototype.readUIntBE=function(e,t,r){e|=0,t|=0,r||R(e,t,this.length);for(var i=this[e+--t],n=1;t>0&&(n*=256);)i+=this[e+--t]*n;return i},f.prototype.readUInt8=function(e,t){return t||R(e,1,this.length),this[e]},f.prototype.readUInt16LE=function(e,t){return t||R(e,2,this.length),this[e]|this[e+1]<<8},f.prototype.readUInt16BE=function(e,t){return t||R(e,2,this.length),this[e]<<8|this[e+1]},f.prototype.readUInt32LE=function(e,t){return t||R(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},f.prototype.readUInt32BE=function(e,t){return t||R(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},f.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||R(e,t,this.length);for(var i=this[e],n=1,a=0;++a<t&&(n*=256);)i+=this[e+a]*n;return i>=(n*=128)&&(i-=Math.pow(2,8*t)),i},f.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||R(e,t,this.length);for(var i=t,n=1,a=this[e+--i];i>0&&(n*=256);)a+=this[e+--i]*n;return a>=(n*=128)&&(a-=Math.pow(2,8*t)),a},f.prototype.readInt8=function(e,t){return t||R(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},f.prototype.readInt16LE=function(e,t){t||R(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},f.prototype.readInt16BE=function(e,t){t||R(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},f.prototype.readInt32LE=function(e,t){return t||R(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},f.prototype.readInt32BE=function(e,t){return t||R(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},f.prototype.readFloatLE=function(e,t){return t||R(e,4,this.length),n.read(this,e,!0,23,4)},f.prototype.readFloatBE=function(e,t){return t||R(e,4,this.length),n.read(this,e,!1,23,4)},f.prototype.readDoubleLE=function(e,t){return t||R(e,8,this.length),n.read(this,e,!0,52,8)},f.prototype.readDoubleBE=function(e,t){return t||R(e,8,this.length),n.read(this,e,!1,52,8)},f.prototype.writeUIntLE=function(e,t,r,i){(e=+e,t|=0,r|=0,i)||j(this,e,t,r,Math.pow(2,8*r)-1,0);var n=1,a=0;for(this[t]=255&e;++a<r&&(n*=256);)this[t+a]=e/n&255;return t+r},f.prototype.writeUIntBE=function(e,t,r,i){(e=+e,t|=0,r|=0,i)||j(this,e,t,r,Math.pow(2,8*r)-1,0);var n=r-1,a=1;for(this[t+n]=255&e;--n>=0&&(a*=256);)this[t+n]=e/a&255;return t+r},f.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||j(this,e,t,1,255,0),f.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},f.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||j(this,e,t,2,65535,0),f.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):B(this,e,t,!0),t+2},f.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||j(this,e,t,2,65535,0),f.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):B(this,e,t,!1),t+2},f.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||j(this,e,t,4,4294967295,0),f.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):N(this,e,t,!0),t+4},f.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||j(this,e,t,4,4294967295,0),f.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):N(this,e,t,!1),t+4},f.prototype.writeIntLE=function(e,t,r,i){if(e=+e,t|=0,!i){var n=Math.pow(2,8*r-1);j(this,e,t,r,n-1,-n)}var a=0,o=1,s=0;for(this[t]=255&e;++a<r&&(o*=256);)e<0&&0===s&&0!==this[t+a-1]&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+r},f.prototype.writeIntBE=function(e,t,r,i){if(e=+e,t|=0,!i){var n=Math.pow(2,8*r-1);j(this,e,t,r,n-1,-n)}var a=r-1,o=1,s=0;for(this[t+a]=255&e;--a>=0&&(o*=256);)e<0&&0===s&&0!==this[t+a+1]&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+r},f.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||j(this,e,t,1,127,-128),f.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},f.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||j(this,e,t,2,32767,-32768),f.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):B(this,e,t,!0),t+2},f.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||j(this,e,t,2,32767,-32768),f.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):B(this,e,t,!1),t+2},f.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||j(this,e,t,4,2147483647,-2147483648),f.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):N(this,e,t,!0),t+4},f.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||j(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),f.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):N(this,e,t,!1),t+4},f.prototype.writeFloatLE=function(e,t,r){return T(this,e,t,!0,r)},f.prototype.writeFloatBE=function(e,t,r){return T(this,e,t,!1,r)},f.prototype.writeDoubleLE=function(e,t,r){return P(this,e,t,!0,r)},f.prototype.writeDoubleBE=function(e,t,r){return P(this,e,t,!1,r)},f.prototype.copy=function(e,t,r,i){if(r||(r=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i<r&&(i=r),i===r)return 0;if(0===e.length||0===this.length)return 0;if(t<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),e.length-t<i-r&&(i=e.length-t+r);var n,a=i-r;if(this===e&&r<t&&t<i)for(n=a-1;n>=0;--n)e[n+t]=this[n+r];else if(a<1e3||!f.TYPED_ARRAY_SUPPORT)for(n=0;n<a;++n)e[n+t]=this[n+r];else Uint8Array.prototype.set.call(e,this.subarray(r,r+a),t);return a},f.prototype.fill=function(e,t,r,i){if("string"==typeof e){if("string"==typeof t?(i=t,t=0,r=this.length):"string"==typeof r&&(i=r,r=this.length),1===e.length){var n=e.charCodeAt(0);n<256&&(e=n)}if(void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!f.isEncoding(i))throw new TypeError("Unknown encoding: "+i)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<r)throw new RangeError("Out of range index");if(r<=t)return this;var a;if(t>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(a=t;a<r;++a)this[a]=e;else{var o=f.isBuffer(e)?e:C(new f(e,i).toString()),s=o.length;for(a=0;a<r-t;++a)this[a+t]=o[a%s]}return this};var L=/[^+\/0-9A-Za-z-_]/g;function D(e){return e<16?"0"+e.toString(16):e.toString(16)}function C(e,t){var r;t=t||1/0;for(var i=e.length,n=null,a=[],o=0;o<i;++o){if((r=e.charCodeAt(o))>55295&&r<57344){if(!n){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(o+1===i){(t-=3)>-1&&a.push(239,191,189);continue}n=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),n=r;continue}r=65536+(n-55296<<10|r-56320)}else n&&(t-=3)>-1&&a.push(239,191,189);if(n=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function U(e){return i.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(L,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function F(e,t,r,i){for(var n=0;n<i&&!(n+r>=t.length||n>=e.length);++n)t[n+r]=e[n];return n}}).call(this,r(5))},function(e,t){var r,i,n=e.exports={};function a(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function s(e){if(r===setTimeout)return setTimeout(e,0);if((r===a||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:a}catch(e){r=a}try{i="function"==typeof clearTimeout?clearTimeout:o}catch(e){i=o}}();var f,c=[],d=!1,u=-1;function h(){d&&f&&(d=!1,f.length?c=f.concat(c):u=-1,c.length&&l())}function l(){if(!d){var e=s(h);d=!0;for(var t=c.length;t;){for(f=c,c=[];++u<t;)f&&f[u].run();u=-1,t=c.length}f=null,d=!1,function(e){if(i===clearTimeout)return clearTimeout(e);if((i===o||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(e);try{i(e)}catch(t){try{return i.call(null,e)}catch(t){return i.call(this,e)}}}(e)}}function b(e,t){this.fun=e,this.array=t}function p(){}n.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];c.push(new b(e,t)),1!==c.length||d||s(l)},b.prototype.run=function(){this.fun.apply(null,this.array)},n.title="browser",n.browser=!0,n.env={},n.argv=[],n.version="",n.versions={},n.on=p,n.addListener=p,n.once=p,n.off=p,n.removeListener=p,n.removeAllListeners=p,n.emit=p,n.prependListener=p,n.prependOnceListener=p,n.listeners=function(e){return[]},n.binding=function(e){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(e){throw new Error("process.chdir is not supported")},n.umask=function(){return 0}},function(e,t,r){(function(e){!function(e,t){"use strict";function i(e,t){if(!e)throw new Error(t||"Assertion failed")}function n(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function a(e,t,r){if(a.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==t&&"be"!==t||(r=t,t=10),this._init(e||0,t||10,r||"be"))}var o;"object"==typeof e?e.exports=a:t.BN=a,a.BN=a,a.wordSize=26;try{o=r(168).Buffer}catch(e){}function s(e,t,r){for(var i=0,n=Math.min(e.length,r),a=t;a<n;a++){var o=e.charCodeAt(a)-48;i<<=4,i|=o>=49&&o<=54?o-49+10:o>=17&&o<=22?o-17+10:15&o}return i}function f(e,t,r,i){for(var n=0,a=Math.min(e.length,r),o=t;o<a;o++){var s=e.charCodeAt(o)-48;n*=i,n+=s>=49?s-49+10:s>=17?s-17+10:s}return n}a.isBN=function(e){return e instanceof a||null!==e&&"object"==typeof e&&e.constructor.wordSize===a.wordSize&&Array.isArray(e.words)},a.max=function(e,t){return e.cmp(t)>0?e:t},a.min=function(e,t){return e.cmp(t)<0?e:t},a.prototype._init=function(e,t,r){if("number"==typeof e)return this._initNumber(e,t,r);if("object"==typeof e)return this._initArray(e,t,r);"hex"===t&&(t=16),i(t===(0|t)&&t>=2&&t<=36);var n=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&n++,16===t?this._parseHex(e,n):this._parseBase(e,t,n),"-"===e[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),t,r)},a.prototype._initNumber=function(e,t,r){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(i(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),t,r)},a.prototype._initArray=function(e,t,r){if(i("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var a,o,s=0;if("be"===r)for(n=e.length-1,a=0;n>=0;n-=3)o=e[n]|e[n-1]<<8|e[n-2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if("le"===r)for(n=0,a=0;n<e.length;n+=3)o=e[n]|e[n+1]<<8|e[n+2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var i,n,a=0;for(r=e.length-6,i=0;r>=t;r-=6)n=s(e,r,r+6),this.words[i]|=n<<a&67108863,this.words[i+1]|=n>>>26-a&4194303,(a+=24)>=26&&(a-=26,i++);r+6!==t&&(n=s(e,t,r+6),this.words[i]|=n<<a&67108863,this.words[i+1]|=n>>>26-a&4194303),this.strip()},a.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=t)i++;i--,n=n/t|0;for(var a=e.length-r,o=a%i,s=Math.min(a,a-o)+r,c=0,d=r;d<s;d+=i)c=f(e,d,d+i,t),this.imuln(n),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c);if(0!==o){var u=1;for(c=f(e,d,e.length,t),d=0;d<o;d++)u*=t;this.imuln(u),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c)}},a.prototype.copy=function(e){e.words=new Array(this.length);for(var t=0;t<this.length;t++)e.words[t]=this.words[t];e.length=this.length,e.negative=this.negative,e.red=this.red},a.prototype.clone=function(){var e=new a(null);return this.copy(e),e},a.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},a.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var c=["","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"],d=[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],u=[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 h(e,t,r){r.negative=t.negative^e.negative;var i=e.length+t.length|0;r.length=i,i=i-1|0;var n=0|e.words[0],a=0|t.words[0],o=n*a,s=67108863&o,f=o/67108864|0;r.words[0]=s;for(var c=1;c<i;c++){for(var d=f>>>26,u=67108863&f,h=Math.min(c,t.length-1),l=Math.max(0,c-e.length+1);l<=h;l++){var b=c-l|0;d+=(o=(n=0|e.words[b])*(a=0|t.words[l])+u)/67108864|0,u=67108863&o}r.words[c]=0|u,f=0|d}return 0!==f?r.words[c]=0|f:r.length--,r.strip()}a.prototype.toString=function(e,t){var r;if(t=0|t||1,16===(e=e||10)||"hex"===e){r="";for(var n=0,a=0,o=0;o<this.length;o++){var s=this.words[o],f=(16777215&(s<<n|a)).toString(16);r=0!==(a=s>>>24-n&16777215)||o!==this.length-1?c[6-f.length]+f+r:f+r,(n+=2)>=26&&(n-=26,o--)}for(0!==a&&(r=a.toString(16)+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(e===(0|e)&&e>=2&&e<=36){var h=d[e],l=u[e];r="";var b=this.clone();for(b.negative=0;!b.isZero();){var p=b.modn(l).toString(e);r=(b=b.idivn(l)).isZero()?p+r:c[h-p.length]+p+r}for(this.isZero()&&(r="0"+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(e,t){return i(void 0!==o),this.toArrayLike(o,e,t)},a.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},a.prototype.toArrayLike=function(e,t,r){var n=this.byteLength(),a=r||Math.max(1,n);i(n<=a,"byte array longer than desired length"),i(a>0,"Requested array length <= 0"),this.strip();var o,s,f="le"===t,c=new e(a),d=this.clone();if(f){for(s=0;!d.isZero();s++)o=d.andln(255),d.iushrn(8),c[s]=o;for(;s<a;s++)c[s]=0}else{for(s=0;s<a-n;s++)c[s]=0;for(s=0;!d.isZero();s++)o=d.andln(255),d.iushrn(8),c[a-s-1]=o}return c},Math.clz32?a.prototype._countBits=function(e){return 32-Math.clz32(e)}:a.prototype._countBits=function(e){var t=e,r=0;return t>=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},a.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 0==(8191&t)&&(r+=13,t>>>=13),0==(127&t)&&(r+=7,t>>>=7),0==(15&t)&&(r+=4,t>>>=4),0==(3&t)&&(r+=2,t>>>=2),0==(1&t)&&r++,r},a.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;t<this.length;t++){var r=this._zeroBits(this.words[t]);if(e+=r,26!==r)break}return e},a.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},a.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},a.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},a.prototype.isNeg=function(){return 0!==this.negative},a.prototype.neg=function(){return this.clone().ineg()},a.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},a.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var t=0;t<e.length;t++)this.words[t]=this.words[t]|e.words[t];return this.strip()},a.prototype.ior=function(e){return i(0==(this.negative|e.negative)),this.iuor(e)},a.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},a.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},a.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;r<t.length;r++)this.words[r]=this.words[r]&e.words[r];return this.length=t.length,this.strip()},a.prototype.iand=function(e){return i(0==(this.negative|e.negative)),this.iuand(e)},a.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},a.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},a.prototype.iuxor=function(e){var t,r;this.length>e.length?(t=this,r=e):(t=e,r=this);for(var i=0;i<r.length;i++)this.words[i]=t.words[i]^r.words[i];if(this!==t)for(;i<t.length;i++)this.words[i]=t.words[i];return this.length=t.length,this.strip()},a.prototype.ixor=function(e){return i(0==(this.negative|e.negative)),this.iuxor(e)},a.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},a.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},a.prototype.inotn=function(e){i("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),r=e%26;this._expand(t),r>0&&t--;for(var n=0;n<t;n++)this.words[n]=67108863&~this.words[n];return r>0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},a.prototype.notn=function(e){return this.clone().inotn(e)},a.prototype.setn=function(e,t){i("number"==typeof e&&e>=0);var r=e/26|0,n=e%26;return this._expand(r+1),this.words[r]=t?this.words[r]|1<<n:this.words[r]&~(1<<n),this.strip()},a.prototype.iadd=function(e){var t,r,i;if(0!==this.negative&&0===e.negative)return this.negative=0,t=this.isub(e),this.negative^=1,this._normSign();if(0===this.negative&&0!==e.negative)return e.negative=0,t=this.isub(e),e.negative=1,t._normSign();this.length>e.length?(r=this,i=e):(r=e,i=this);for(var n=0,a=0;a<i.length;a++)t=(0|r.words[a])+(0|i.words[a])+n,this.words[a]=67108863&t,n=t>>>26;for(;0!==n&&a<r.length;a++)t=(0|r.words[a])+n,this.words[a]=67108863&t,n=t>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;a<r.length;a++)this.words[a]=r.words[a];return this},a.prototype.add=function(e){var t;return 0!==e.negative&&0===this.negative?(e.negative=0,t=this.sub(e),e.negative^=1,t):0===e.negative&&0!==this.negative?(this.negative=0,t=e.sub(this),this.negative=1,t):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},a.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,i,n=this.cmp(e);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=e):(r=e,i=this);for(var a=0,o=0;o<i.length;o++)a=(t=(0|r.words[o])-(0|i.words[o])+a)>>26,this.words[o]=67108863&t;for(;0!==a&&o<r.length;o++)a=(t=(0|r.words[o])+a)>>26,this.words[o]=67108863&t;if(0===a&&o<r.length&&r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this.length=Math.max(this.length,o),r!==this&&(this.negative=1),this.strip()},a.prototype.sub=function(e){return this.clone().isub(e)};var l=function(e,t,r){var i,n,a,o=e.words,s=t.words,f=r.words,c=0,d=0|o[0],u=8191&d,h=d>>>13,l=0|o[1],b=8191&l,p=l>>>13,m=0|o[2],g=8191&m,v=m>>>13,y=0|o[3],w=8191&y,_=y>>>13,M=0|o[4],S=8191&M,k=M>>>13,E=0|o[5],x=8191&E,z=E>>>13,A=0|o[6],I=8191&A,q=A>>>13,R=0|o[7],j=8191&R,B=R>>>13,N=0|o[8],O=8191&N,T=N>>>13,P=0|o[9],L=8191&P,D=P>>>13,C=0|s[0],U=8191&C,F=C>>>13,K=0|s[1],J=8191&K,Z=K>>>13,H=0|s[2],W=8191&H,X=H>>>13,Y=0|s[3],V=8191&Y,G=Y>>>13,$=0|s[4],Q=8191&$,ee=$>>>13,te=0|s[5],re=8191&te,ie=te>>>13,ne=0|s[6],ae=8191&ne,oe=ne>>>13,se=0|s[7],fe=8191&se,ce=se>>>13,de=0|s[8],ue=8191&de,he=de>>>13,le=0|s[9],be=8191&le,pe=le>>>13;r.negative=e.negative^t.negative,r.length=19;var me=(c+(i=Math.imul(u,U))|0)+((8191&(n=(n=Math.imul(u,F))+Math.imul(h,U)|0))<<13)|0;c=((a=Math.imul(h,F))+(n>>>13)|0)+(me>>>26)|0,me&=67108863,i=Math.imul(b,U),n=(n=Math.imul(b,F))+Math.imul(p,U)|0,a=Math.imul(p,F);var ge=(c+(i=i+Math.imul(u,J)|0)|0)+((8191&(n=(n=n+Math.imul(u,Z)|0)+Math.imul(h,J)|0))<<13)|0;c=((a=a+Math.imul(h,Z)|0)+(n>>>13)|0)+(ge>>>26)|0,ge&=67108863,i=Math.imul(g,U),n=(n=Math.imul(g,F))+Math.imul(v,U)|0,a=Math.imul(v,F),i=i+Math.imul(b,J)|0,n=(n=n+Math.imul(b,Z)|0)+Math.imul(p,J)|0,a=a+Math.imul(p,Z)|0;var ve=(c+(i=i+Math.imul(u,W)|0)|0)+((8191&(n=(n=n+Math.imul(u,X)|0)+Math.imul(h,W)|0))<<13)|0;c=((a=a+Math.imul(h,X)|0)+(n>>>13)|0)+(ve>>>26)|0,ve&=67108863,i=Math.imul(w,U),n=(n=Math.imul(w,F))+Math.imul(_,U)|0,a=Math.imul(_,F),i=i+Math.imul(g,J)|0,n=(n=n+Math.imul(g,Z)|0)+Math.imul(v,J)|0,a=a+Math.imul(v,Z)|0,i=i+Math.imul(b,W)|0,n=(n=n+Math.imul(b,X)|0)+Math.imul(p,W)|0,a=a+Math.imul(p,X)|0;var ye=(c+(i=i+Math.imul(u,V)|0)|0)+((8191&(n=(n=n+Math.imul(u,G)|0)+Math.imul(h,V)|0))<<13)|0;c=((a=a+Math.imul(h,G)|0)+(n>>>13)|0)+(ye>>>26)|0,ye&=67108863,i=Math.imul(S,U),n=(n=Math.imul(S,F))+Math.imul(k,U)|0,a=Math.imul(k,F),i=i+Math.imul(w,J)|0,n=(n=n+Math.imul(w,Z)|0)+Math.imul(_,J)|0,a=a+Math.imul(_,Z)|0,i=i+Math.imul(g,W)|0,n=(n=n+Math.imul(g,X)|0)+Math.imul(v,W)|0,a=a+Math.imul(v,X)|0,i=i+Math.imul(b,V)|0,n=(n=n+Math.imul(b,G)|0)+Math.imul(p,V)|0,a=a+Math.imul(p,G)|0;var we=(c+(i=i+Math.imul(u,Q)|0)|0)+((8191&(n=(n=n+Math.imul(u,ee)|0)+Math.imul(h,Q)|0))<<13)|0;c=((a=a+Math.imul(h,ee)|0)+(n>>>13)|0)+(we>>>26)|0,we&=67108863,i=Math.imul(x,U),n=(n=Math.imul(x,F))+Math.imul(z,U)|0,a=Math.imul(z,F),i=i+Math.imul(S,J)|0,n=(n=n+Math.imul(S,Z)|0)+Math.imul(k,J)|0,a=a+Math.imul(k,Z)|0,i=i+Math.imul(w,W)|0,n=(n=n+Math.imul(w,X)|0)+Math.imul(_,W)|0,a=a+Math.imul(_,X)|0,i=i+Math.imul(g,V)|0,n=(n=n+Math.imul(g,G)|0)+Math.imul(v,V)|0,a=a+Math.imul(v,G)|0,i=i+Math.imul(b,Q)|0,n=(n=n+Math.imul(b,ee)|0)+Math.imul(p,Q)|0,a=a+Math.imul(p,ee)|0;var _e=(c+(i=i+Math.imul(u,re)|0)|0)+((8191&(n=(n=n+Math.imul(u,ie)|0)+Math.imul(h,re)|0))<<13)|0;c=((a=a+Math.imul(h,ie)|0)+(n>>>13)|0)+(_e>>>26)|0,_e&=67108863,i=Math.imul(I,U),n=(n=Math.imul(I,F))+Math.imul(q,U)|0,a=Math.imul(q,F),i=i+Math.imul(x,J)|0,n=(n=n+Math.imul(x,Z)|0)+Math.imul(z,J)|0,a=a+Math.imul(z,Z)|0,i=i+Math.imul(S,W)|0,n=(n=n+Math.imul(S,X)|0)+Math.imul(k,W)|0,a=a+Math.imul(k,X)|0,i=i+Math.imul(w,V)|0,n=(n=n+Math.imul(w,G)|0)+Math.imul(_,V)|0,a=a+Math.imul(_,G)|0,i=i+Math.imul(g,Q)|0,n=(n=n+Math.imul(g,ee)|0)+Math.imul(v,Q)|0,a=a+Math.imul(v,ee)|0,i=i+Math.imul(b,re)|0,n=(n=n+Math.imul(b,ie)|0)+Math.imul(p,re)|0,a=a+Math.imul(p,ie)|0;var Me=(c+(i=i+Math.imul(u,ae)|0)|0)+((8191&(n=(n=n+Math.imul(u,oe)|0)+Math.imul(h,ae)|0))<<13)|0;c=((a=a+Math.imul(h,oe)|0)+(n>>>13)|0)+(Me>>>26)|0,Me&=67108863,i=Math.imul(j,U),n=(n=Math.imul(j,F))+Math.imul(B,U)|0,a=Math.imul(B,F),i=i+Math.imul(I,J)|0,n=(n=n+Math.imul(I,Z)|0)+Math.imul(q,J)|0,a=a+Math.imul(q,Z)|0,i=i+Math.imul(x,W)|0,n=(n=n+Math.imul(x,X)|0)+Math.imul(z,W)|0,a=a+Math.imul(z,X)|0,i=i+Math.imul(S,V)|0,n=(n=n+Math.imul(S,G)|0)+Math.imul(k,V)|0,a=a+Math.imul(k,G)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,ee)|0)+Math.imul(_,Q)|0,a=a+Math.imul(_,ee)|0,i=i+Math.imul(g,re)|0,n=(n=n+Math.imul(g,ie)|0)+Math.imul(v,re)|0,a=a+Math.imul(v,ie)|0,i=i+Math.imul(b,ae)|0,n=(n=n+Math.imul(b,oe)|0)+Math.imul(p,ae)|0,a=a+Math.imul(p,oe)|0;var Se=(c+(i=i+Math.imul(u,fe)|0)|0)+((8191&(n=(n=n+Math.imul(u,ce)|0)+Math.imul(h,fe)|0))<<13)|0;c=((a=a+Math.imul(h,ce)|0)+(n>>>13)|0)+(Se>>>26)|0,Se&=67108863,i=Math.imul(O,U),n=(n=Math.imul(O,F))+Math.imul(T,U)|0,a=Math.imul(T,F),i=i+Math.imul(j,J)|0,n=(n=n+Math.imul(j,Z)|0)+Math.imul(B,J)|0,a=a+Math.imul(B,Z)|0,i=i+Math.imul(I,W)|0,n=(n=n+Math.imul(I,X)|0)+Math.imul(q,W)|0,a=a+Math.imul(q,X)|0,i=i+Math.imul(x,V)|0,n=(n=n+Math.imul(x,G)|0)+Math.imul(z,V)|0,a=a+Math.imul(z,G)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,ee)|0)+Math.imul(k,Q)|0,a=a+Math.imul(k,ee)|0,i=i+Math.imul(w,re)|0,n=(n=n+Math.imul(w,ie)|0)+Math.imul(_,re)|0,a=a+Math.imul(_,ie)|0,i=i+Math.imul(g,ae)|0,n=(n=n+Math.imul(g,oe)|0)+Math.imul(v,ae)|0,a=a+Math.imul(v,oe)|0,i=i+Math.imul(b,fe)|0,n=(n=n+Math.imul(b,ce)|0)+Math.imul(p,fe)|0,a=a+Math.imul(p,ce)|0;var ke=(c+(i=i+Math.imul(u,ue)|0)|0)+((8191&(n=(n=n+Math.imul(u,he)|0)+Math.imul(h,ue)|0))<<13)|0;c=((a=a+Math.imul(h,he)|0)+(n>>>13)|0)+(ke>>>26)|0,ke&=67108863,i=Math.imul(L,U),n=(n=Math.imul(L,F))+Math.imul(D,U)|0,a=Math.imul(D,F),i=i+Math.imul(O,J)|0,n=(n=n+Math.imul(O,Z)|0)+Math.imul(T,J)|0,a=a+Math.imul(T,Z)|0,i=i+Math.imul(j,W)|0,n=(n=n+Math.imul(j,X)|0)+Math.imul(B,W)|0,a=a+Math.imul(B,X)|0,i=i+Math.imul(I,V)|0,n=(n=n+Math.imul(I,G)|0)+Math.imul(q,V)|0,a=a+Math.imul(q,G)|0,i=i+Math.imul(x,Q)|0,n=(n=n+Math.imul(x,ee)|0)+Math.imul(z,Q)|0,a=a+Math.imul(z,ee)|0,i=i+Math.imul(S,re)|0,n=(n=n+Math.imul(S,ie)|0)+Math.imul(k,re)|0,a=a+Math.imul(k,ie)|0,i=i+Math.imul(w,ae)|0,n=(n=n+Math.imul(w,oe)|0)+Math.imul(_,ae)|0,a=a+Math.imul(_,oe)|0,i=i+Math.imul(g,fe)|0,n=(n=n+Math.imul(g,ce)|0)+Math.imul(v,fe)|0,a=a+Math.imul(v,ce)|0,i=i+Math.imul(b,ue)|0,n=(n=n+Math.imul(b,he)|0)+Math.imul(p,ue)|0,a=a+Math.imul(p,he)|0;var Ee=(c+(i=i+Math.imul(u,be)|0)|0)+((8191&(n=(n=n+Math.imul(u,pe)|0)+Math.imul(h,be)|0))<<13)|0;c=((a=a+Math.imul(h,pe)|0)+(n>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,i=Math.imul(L,J),n=(n=Math.imul(L,Z))+Math.imul(D,J)|0,a=Math.imul(D,Z),i=i+Math.imul(O,W)|0,n=(n=n+Math.imul(O,X)|0)+Math.imul(T,W)|0,a=a+Math.imul(T,X)|0,i=i+Math.imul(j,V)|0,n=(n=n+Math.imul(j,G)|0)+Math.imul(B,V)|0,a=a+Math.imul(B,G)|0,i=i+Math.imul(I,Q)|0,n=(n=n+Math.imul(I,ee)|0)+Math.imul(q,Q)|0,a=a+Math.imul(q,ee)|0,i=i+Math.imul(x,re)|0,n=(n=n+Math.imul(x,ie)|0)+Math.imul(z,re)|0,a=a+Math.imul(z,ie)|0,i=i+Math.imul(S,ae)|0,n=(n=n+Math.imul(S,oe)|0)+Math.imul(k,ae)|0,a=a+Math.imul(k,oe)|0,i=i+Math.imul(w,fe)|0,n=(n=n+Math.imul(w,ce)|0)+Math.imul(_,fe)|0,a=a+Math.imul(_,ce)|0,i=i+Math.imul(g,ue)|0,n=(n=n+Math.imul(g,he)|0)+Math.imul(v,ue)|0,a=a+Math.imul(v,he)|0;var xe=(c+(i=i+Math.imul(b,be)|0)|0)+((8191&(n=(n=n+Math.imul(b,pe)|0)+Math.imul(p,be)|0))<<13)|0;c=((a=a+Math.imul(p,pe)|0)+(n>>>13)|0)+(xe>>>26)|0,xe&=67108863,i=Math.imul(L,W),n=(n=Math.imul(L,X))+Math.imul(D,W)|0,a=Math.imul(D,X),i=i+Math.imul(O,V)|0,n=(n=n+Math.imul(O,G)|0)+Math.imul(T,V)|0,a=a+Math.imul(T,G)|0,i=i+Math.imul(j,Q)|0,n=(n=n+Math.imul(j,ee)|0)+Math.imul(B,Q)|0,a=a+Math.imul(B,ee)|0,i=i+Math.imul(I,re)|0,n=(n=n+Math.imul(I,ie)|0)+Math.imul(q,re)|0,a=a+Math.imul(q,ie)|0,i=i+Math.imul(x,ae)|0,n=(n=n+Math.imul(x,oe)|0)+Math.imul(z,ae)|0,a=a+Math.imul(z,oe)|0,i=i+Math.imul(S,fe)|0,n=(n=n+Math.imul(S,ce)|0)+Math.imul(k,fe)|0,a=a+Math.imul(k,ce)|0,i=i+Math.imul(w,ue)|0,n=(n=n+Math.imul(w,he)|0)+Math.imul(_,ue)|0,a=a+Math.imul(_,he)|0;var ze=(c+(i=i+Math.imul(g,be)|0)|0)+((8191&(n=(n=n+Math.imul(g,pe)|0)+Math.imul(v,be)|0))<<13)|0;c=((a=a+Math.imul(v,pe)|0)+(n>>>13)|0)+(ze>>>26)|0,ze&=67108863,i=Math.imul(L,V),n=(n=Math.imul(L,G))+Math.imul(D,V)|0,a=Math.imul(D,G),i=i+Math.imul(O,Q)|0,n=(n=n+Math.imul(O,ee)|0)+Math.imul(T,Q)|0,a=a+Math.imul(T,ee)|0,i=i+Math.imul(j,re)|0,n=(n=n+Math.imul(j,ie)|0)+Math.imul(B,re)|0,a=a+Math.imul(B,ie)|0,i=i+Math.imul(I,ae)|0,n=(n=n+Math.imul(I,oe)|0)+Math.imul(q,ae)|0,a=a+Math.imul(q,oe)|0,i=i+Math.imul(x,fe)|0,n=(n=n+Math.imul(x,ce)|0)+Math.imul(z,fe)|0,a=a+Math.imul(z,ce)|0,i=i+Math.imul(S,ue)|0,n=(n=n+Math.imul(S,he)|0)+Math.imul(k,ue)|0,a=a+Math.imul(k,he)|0;var Ae=(c+(i=i+Math.imul(w,be)|0)|0)+((8191&(n=(n=n+Math.imul(w,pe)|0)+Math.imul(_,be)|0))<<13)|0;c=((a=a+Math.imul(_,pe)|0)+(n>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,i=Math.imul(L,Q),n=(n=Math.imul(L,ee))+Math.imul(D,Q)|0,a=Math.imul(D,ee),i=i+Math.imul(O,re)|0,n=(n=n+Math.imul(O,ie)|0)+Math.imul(T,re)|0,a=a+Math.imul(T,ie)|0,i=i+Math.imul(j,ae)|0,n=(n=n+Math.imul(j,oe)|0)+Math.imul(B,ae)|0,a=a+Math.imul(B,oe)|0,i=i+Math.imul(I,fe)|0,n=(n=n+Math.imul(I,ce)|0)+Math.imul(q,fe)|0,a=a+Math.imul(q,ce)|0,i=i+Math.imul(x,ue)|0,n=(n=n+Math.imul(x,he)|0)+Math.imul(z,ue)|0,a=a+Math.imul(z,he)|0;var Ie=(c+(i=i+Math.imul(S,be)|0)|0)+((8191&(n=(n=n+Math.imul(S,pe)|0)+Math.imul(k,be)|0))<<13)|0;c=((a=a+Math.imul(k,pe)|0)+(n>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,i=Math.imul(L,re),n=(n=Math.imul(L,ie))+Math.imul(D,re)|0,a=Math.imul(D,ie),i=i+Math.imul(O,ae)|0,n=(n=n+Math.imul(O,oe)|0)+Math.imul(T,ae)|0,a=a+Math.imul(T,oe)|0,i=i+Math.imul(j,fe)|0,n=(n=n+Math.imul(j,ce)|0)+Math.imul(B,fe)|0,a=a+Math.imul(B,ce)|0,i=i+Math.imul(I,ue)|0,n=(n=n+Math.imul(I,he)|0)+Math.imul(q,ue)|0,a=a+Math.imul(q,he)|0;var qe=(c+(i=i+Math.imul(x,be)|0)|0)+((8191&(n=(n=n+Math.imul(x,pe)|0)+Math.imul(z,be)|0))<<13)|0;c=((a=a+Math.imul(z,pe)|0)+(n>>>13)|0)+(qe>>>26)|0,qe&=67108863,i=Math.imul(L,ae),n=(n=Math.imul(L,oe))+Math.imul(D,ae)|0,a=Math.imul(D,oe),i=i+Math.imul(O,fe)|0,n=(n=n+Math.imul(O,ce)|0)+Math.imul(T,fe)|0,a=a+Math.imul(T,ce)|0,i=i+Math.imul(j,ue)|0,n=(n=n+Math.imul(j,he)|0)+Math.imul(B,ue)|0,a=a+Math.imul(B,he)|0;var Re=(c+(i=i+Math.imul(I,be)|0)|0)+((8191&(n=(n=n+Math.imul(I,pe)|0)+Math.imul(q,be)|0))<<13)|0;c=((a=a+Math.imul(q,pe)|0)+(n>>>13)|0)+(Re>>>26)|0,Re&=67108863,i=Math.imul(L,fe),n=(n=Math.imul(L,ce))+Math.imul(D,fe)|0,a=Math.imul(D,ce),i=i+Math.imul(O,ue)|0,n=(n=n+Math.imul(O,he)|0)+Math.imul(T,ue)|0,a=a+Math.imul(T,he)|0;var je=(c+(i=i+Math.imul(j,be)|0)|0)+((8191&(n=(n=n+Math.imul(j,pe)|0)+Math.imul(B,be)|0))<<13)|0;c=((a=a+Math.imul(B,pe)|0)+(n>>>13)|0)+(je>>>26)|0,je&=67108863,i=Math.imul(L,ue),n=(n=Math.imul(L,he))+Math.imul(D,ue)|0,a=Math.imul(D,he);var Be=(c+(i=i+Math.imul(O,be)|0)|0)+((8191&(n=(n=n+Math.imul(O,pe)|0)+Math.imul(T,be)|0))<<13)|0;c=((a=a+Math.imul(T,pe)|0)+(n>>>13)|0)+(Be>>>26)|0,Be&=67108863;var Ne=(c+(i=Math.imul(L,be))|0)+((8191&(n=(n=Math.imul(L,pe))+Math.imul(D,be)|0))<<13)|0;return c=((a=Math.imul(D,pe))+(n>>>13)|0)+(Ne>>>26)|0,Ne&=67108863,f[0]=me,f[1]=ge,f[2]=ve,f[3]=ye,f[4]=we,f[5]=_e,f[6]=Me,f[7]=Se,f[8]=ke,f[9]=Ee,f[10]=xe,f[11]=ze,f[12]=Ae,f[13]=Ie,f[14]=qe,f[15]=Re,f[16]=je,f[17]=Be,f[18]=Ne,0!==c&&(f[19]=c,r.length++),r};function b(e,t,r){return(new p).mulp(e,t,r)}function p(e,t){this.x=e,this.y=t}Math.imul||(l=h),a.prototype.mulTo=function(e,t){var r=this.length+e.length;return 10===this.length&&10===e.length?l(this,e,t):r<63?h(this,e,t):r<1024?function(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var i=0,n=0,a=0;a<r.length-1;a++){var o=n;n=0;for(var s=67108863&i,f=Math.min(a,t.length-1),c=Math.max(0,a-e.length+1);c<=f;c++){var d=a-c,u=(0|e.words[d])*(0|t.words[c]),h=67108863&u;s=67108863&(h=h+s|0),n+=(o=(o=o+(u/67108864|0)|0)+(h>>>26)|0)>>>26,o&=67108863}r.words[a]=s,i=o,o=n}return 0!==i?r.words[a]=i:r.length--,r.strip()}(this,e,t):b(this,e,t)},p.prototype.makeRBT=function(e){for(var t=new Array(e),r=a.prototype._countBits(e)-1,i=0;i<e;i++)t[i]=this.revBin(i,r,e);return t},p.prototype.revBin=function(e,t,r){if(0===e||e===r-1)return e;for(var i=0,n=0;n<t;n++)i|=(1&e)<<t-n-1,e>>=1;return i},p.prototype.permute=function(e,t,r,i,n,a){for(var o=0;o<a;o++)i[o]=t[e[o]],n[o]=r[e[o]]},p.prototype.transform=function(e,t,r,i,n,a){this.permute(a,e,t,r,i,n);for(var o=1;o<n;o<<=1)for(var s=o<<1,f=Math.cos(2*Math.PI/s),c=Math.sin(2*Math.PI/s),d=0;d<n;d+=s)for(var u=f,h=c,l=0;l<o;l++){var b=r[d+l],p=i[d+l],m=r[d+l+o],g=i[d+l+o],v=u*m-h*g;g=u*g+h*m,m=v,r[d+l]=b+m,i[d+l]=p+g,r[d+l+o]=b-m,i[d+l+o]=p-g,l!==s&&(v=f*u-c*h,h=f*h+c*u,u=v)}},p.prototype.guessLen13b=function(e,t){var r=1|Math.max(t,e),i=1&r,n=0;for(r=r/2|0;r;r>>>=1)n++;return 1<<n+1+i},p.prototype.conjugate=function(e,t,r){if(!(r<=1))for(var i=0;i<r/2;i++){var n=e[i];e[i]=e[r-i-1],e[r-i-1]=n,n=t[i],t[i]=-t[r-i-1],t[r-i-1]=-n}},p.prototype.normalize13b=function(e,t){for(var r=0,i=0;i<t/2;i++){var n=8192*Math.round(e[2*i+1]/t)+Math.round(e[2*i]/t)+r;e[i]=67108863&n,r=n<67108864?0:n/67108864|0}return e},p.prototype.convert13b=function(e,t,r,n){for(var a=0,o=0;o<t;o++)a+=0|e[o],r[2*o]=8191&a,a>>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*t;o<n;++o)r[o]=0;i(0===a),i(0==(-8192&a))},p.prototype.stub=function(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=0;return t},p.prototype.mulp=function(e,t,r){var i=2*this.guessLen13b(e.length,t.length),n=this.makeRBT(i),a=this.stub(i),o=new Array(i),s=new Array(i),f=new Array(i),c=new Array(i),d=new Array(i),u=new Array(i),h=r.words;h.length=i,this.convert13b(e.words,e.length,o,i),this.convert13b(t.words,t.length,c,i),this.transform(o,a,s,f,i,n),this.transform(c,a,d,u,i,n);for(var l=0;l<i;l++){var b=s[l]*d[l]-f[l]*u[l];f[l]=s[l]*u[l]+f[l]*d[l],s[l]=b}return this.conjugate(s,f,i),this.transform(s,f,h,a,i,n),this.conjugate(h,a,i),this.normalize13b(h,i),r.negative=e.negative^t.negative,r.length=e.length+t.length,r.strip()},a.prototype.mul=function(e){var t=new a(null);return t.words=new Array(this.length+e.length),this.mulTo(e,t)},a.prototype.mulf=function(e){var t=new a(null);return t.words=new Array(this.length+e.length),b(this,e,t)},a.prototype.imul=function(e){return this.clone().mulTo(e,this)},a.prototype.imuln=function(e){i("number"==typeof e),i(e<67108864);for(var t=0,r=0;r<this.length;r++){var n=(0|this.words[r])*e,a=(67108863&n)+(67108863&t);t>>=26,t+=n/67108864|0,t+=a>>>26,this.words[r]=67108863&a}return 0!==t&&(this.words[r]=t,this.length++),this},a.prototype.muln=function(e){return this.clone().imuln(e)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r<t.length;r++){var i=r/26|0,n=r%26;t[r]=(e.words[i]&1<<n)>>>n}return t}(e);if(0===t.length)return new a(1);for(var r=this,i=0;i<t.length&&0===t[i];i++,r=r.sqr());if(++i<t.length)for(var n=r.sqr();i<t.length;i++,n=n.sqr())0!==t[i]&&(r=r.mul(n));return r},a.prototype.iushln=function(e){i("number"==typeof e&&e>=0);var t,r=e%26,n=(e-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(t=0;t<this.length;t++){var s=this.words[t]&a,f=(0|this.words[t])-s<<r;this.words[t]=f|o,o=s>>>26-r}o&&(this.words[t]=o,this.length++)}if(0!==n){for(t=this.length-1;t>=0;t--)this.words[t+n]=this.words[t];for(t=0;t<n;t++)this.words[t]=0;this.length+=n}return this.strip()},a.prototype.ishln=function(e){return i(0===this.negative),this.iushln(e)},a.prototype.iushrn=function(e,t,r){var n;i("number"==typeof e&&e>=0),n=t?(t-t%26)/26:0;var a=e%26,o=Math.min((e-a)/26,this.length),s=67108863^67108863>>>a<<a,f=r;if(n-=o,n=Math.max(0,n),f){for(var c=0;c<o;c++)f.words[c]=this.words[c];f.length=o}if(0===o);else if(this.length>o)for(this.length-=o,c=0;c<this.length;c++)this.words[c]=this.words[c+o];else this.words[0]=0,this.length=1;var d=0;for(c=this.length-1;c>=0&&(0!==d||c>=n);c--){var u=0|this.words[c];this.words[c]=d<<26-a|u>>>a,d=u&s}return f&&0!==d&&(f.words[f.length++]=d),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(e,t,r){return i(0===this.negative),this.iushrn(e,t,r)},a.prototype.shln=function(e){return this.clone().ishln(e)},a.prototype.ushln=function(e){return this.clone().iushln(e)},a.prototype.shrn=function(e){return this.clone().ishrn(e)},a.prototype.ushrn=function(e){return this.clone().iushrn(e)},a.prototype.testn=function(e){i("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26,n=1<<t;return!(this.length<=r)&&!!(this.words[r]&n)},a.prototype.imaskn=function(e){i("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==t&&r++,this.length=Math.min(r,this.length),0!==t){var n=67108863^67108863>>>t<<t;this.words[this.length-1]&=n}return this.strip()},a.prototype.maskn=function(e){return this.clone().imaskn(e)},a.prototype.iaddn=function(e){return i("number"==typeof e),i(e<67108864),e<0?this.isubn(-e):0!==this.negative?1===this.length&&(0|this.words[0])<e?(this.words[0]=e-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(e),this.negative=1,this):this._iaddn(e)},a.prototype._iaddn=function(e){this.words[0]+=e;for(var t=0;t<this.length&&this.words[t]>=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},a.prototype.isubn=function(e){if(i("number"==typeof e),i(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t<this.length&&this.words[t]<0;t++)this.words[t]+=67108864,this.words[t+1]-=1;return this.strip()},a.prototype.addn=function(e){return this.clone().iaddn(e)},a.prototype.subn=function(e){return this.clone().isubn(e)},a.prototype.iabs=function(){return this.negative=0,this},a.prototype.abs=function(){return this.clone().iabs()},a.prototype._ishlnsubmul=function(e,t,r){var n,a,o=e.length+r;this._expand(o);var s=0;for(n=0;n<e.length;n++){a=(0|this.words[n+r])+s;var f=(0|e.words[n])*t;s=((a-=67108863&f)>>26)-(f/67108864|0),this.words[n+r]=67108863&a}for(;n<this.length-r;n++)s=(a=(0|this.words[n+r])+s)>>26,this.words[n+r]=67108863&a;if(0===s)return this.strip();for(i(-1===s),s=0,n=0;n<this.length;n++)s=(a=-(0|this.words[n])+s)>>26,this.words[n]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(e,t){var r=(this.length,e.length),i=this.clone(),n=e,o=0|n.words[n.length-1];0!==(r=26-this._countBits(o))&&(n=n.ushln(r),i.iushln(r),o=0|n.words[n.length-1]);var s,f=i.length-n.length;if("mod"!==t){(s=new a(null)).length=f+1,s.words=new Array(s.length);for(var c=0;c<s.length;c++)s.words[c]=0}var d=i.clone()._ishlnsubmul(n,1,f);0===d.negative&&(i=d,s&&(s.words[f]=1));for(var u=f-1;u>=0;u--){var h=67108864*(0|i.words[n.length+u])+(0|i.words[n.length+u-1]);for(h=Math.min(h/o|0,67108863),i._ishlnsubmul(n,h,u);0!==i.negative;)h--,i.negative=0,i._ishlnsubmul(n,1,u),i.isZero()||(i.negative^=1);s&&(s.words[u]=h)}return s&&s.strip(),i.strip(),"div"!==t&&0!==r&&i.iushrn(r),{div:s||null,mod:i}},a.prototype.divmod=function(e,t,r){return i(!e.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,t),"mod"!==t&&(n=s.div.neg()),"div"!==t&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(e)),{div:n,mod:o}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),t),"mod"!==t&&(n=s.div.neg()),{div:n,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),t),"div"!==t&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(e)),{div:s.div,mod:o}):e.length>this.length||this.cmp(e)<0?{div:new a(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new a(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new a(this.modn(e.words[0]))}:this._wordDiv(e,t);var n,o,s},a.prototype.div=function(e){return this.divmod(e,"div",!1).div},a.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},a.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},a.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,i=e.ushrn(1),n=e.andln(1),a=r.cmp(i);return a<0||1===n&&0===a?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},a.prototype.modn=function(e){i(e<=67108863);for(var t=(1<<26)%e,r=0,n=this.length-1;n>=0;n--)r=(t*r+(0|this.words[n]))%e;return r},a.prototype.idivn=function(e){i(e<=67108863);for(var t=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*t;this.words[r]=n/e|0,t=n%e}return this.strip()},a.prototype.divn=function(e){return this.clone().idivn(e)},a.prototype.egcd=function(e){i(0===e.negative),i(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var n=new a(1),o=new a(0),s=new a(0),f=new a(1),c=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++c;for(var d=r.clone(),u=t.clone();!t.isZero();){for(var h=0,l=1;0==(t.words[0]&l)&&h<26;++h,l<<=1);if(h>0)for(t.iushrn(h);h-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(d),o.isub(u)),n.iushrn(1),o.iushrn(1);for(var b=0,p=1;0==(r.words[0]&p)&&b<26;++b,p<<=1);if(b>0)for(r.iushrn(b);b-- >0;)(s.isOdd()||f.isOdd())&&(s.iadd(d),f.isub(u)),s.iushrn(1),f.iushrn(1);t.cmp(r)>=0?(t.isub(r),n.isub(s),o.isub(f)):(r.isub(t),s.isub(n),f.isub(o))}return{a:s,b:f,gcd:r.iushln(c)}},a.prototype._invmp=function(e){i(0===e.negative),i(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var n,o=new a(1),s=new a(0),f=r.clone();t.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,d=1;0==(t.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(t.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(f),o.iushrn(1);for(var u=0,h=1;0==(r.words[0]&h)&&u<26;++u,h<<=1);if(u>0)for(r.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(f),s.iushrn(1);t.cmp(r)>=0?(t.isub(r),o.isub(s)):(r.isub(t),s.isub(o))}return(n=0===t.cmpn(1)?o:s).cmpn(0)<0&&n.iadd(e),n},a.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var i=0;t.isEven()&&r.isEven();i++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=t.cmp(r);if(n<0){var a=t;t=r,r=a}else if(0===n||0===r.cmpn(1))break;t.isub(r)}return r.iushln(i)},a.prototype.invm=function(e){return this.egcd(e).a.umod(e)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(e){return this.words[0]&e},a.prototype.bincn=function(e){i("number"==typeof e);var t=e%26,r=(e-t)/26,n=1<<t;if(this.length<=r)return this._expand(r+1),this.words[r]|=n,this;for(var a=n,o=r;0!==a&&o<this.length;o++){var s=0|this.words[o];a=(s+=a)>>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(e){var t,r=e<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)t=1;else{r&&(e=-e),i(e<=67108863,"Number is too big");var n=0|this.words[0];t=n===e?0:n<e?-1:1}return 0!==this.negative?0|-t:t},a.prototype.cmp=function(e){if(0!==this.negative&&0===e.negative)return-1;if(0===this.negative&&0!==e.negative)return 1;var t=this.ucmp(e);return 0!==this.negative?0|-t:t},a.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var t=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|e.words[r];if(i!==n){i<n?t=-1:i>n&&(t=1);break}}return t},a.prototype.gtn=function(e){return 1===this.cmpn(e)},a.prototype.gt=function(e){return 1===this.cmp(e)},a.prototype.gten=function(e){return this.cmpn(e)>=0},a.prototype.gte=function(e){return this.cmp(e)>=0},a.prototype.ltn=function(e){return-1===this.cmpn(e)},a.prototype.lt=function(e){return-1===this.cmp(e)},a.prototype.lten=function(e){return this.cmpn(e)<=0},a.prototype.lte=function(e){return this.cmp(e)<=0},a.prototype.eqn=function(e){return 0===this.cmpn(e)},a.prototype.eq=function(e){return 0===this.cmp(e)},a.red=function(e){return new M(e)},a.prototype.toRed=function(e){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},a.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(e){return this.red=e,this},a.prototype.forceRed=function(e){return i(!this.red,"Already a number in reduction context"),this._forceRed(e)},a.prototype.redAdd=function(e){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},a.prototype.redIAdd=function(e){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},a.prototype.redSub=function(e){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},a.prototype.redISub=function(e){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},a.prototype.redShl=function(e){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},a.prototype.redMul=function(e){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},a.prototype.redIMul=function(e){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},a.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(e){return i(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var m={k256:null,p224:null,p192:null,p25519:null};function g(e,t){this.name=e,this.p=new a(t,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){g.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function y(){g.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){g.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){g.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function M(e){if("string"==typeof e){var t=a._prime(e);this.m=t.p,this.prime=t}else i(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function S(e){M.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(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)}g.prototype._tmp=function(){var e=new a(null);return e.words=new Array(Math.ceil(this.n/13)),e},g.prototype.ireduce=function(e){var t,r=e;do{this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(t>this.n);var i=t<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},g.prototype.split=function(e,t){e.iushrn(this.n,0,t)},g.prototype.imulK=function(e){return e.imul(this.k)},n(v,g),v.prototype.split=function(e,t){for(var r=Math.min(e.length,9),i=0;i<r;i++)t.words[i]=e.words[i];if(t.length=r,e.length<=9)return e.words[0]=0,void(e.length=1);var n=e.words[9];for(t.words[t.length++]=4194303&n,i=10;i<e.length;i++){var a=0|e.words[i];e.words[i-10]=(4194303&a)<<4|n>>>22,n=a}n>>>=22,e.words[i-10]=n,0===n&&e.length>10?e.length-=10:e.length-=9},v.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r<e.length;r++){var i=0|e.words[r];t+=977*i,e.words[r]=67108863&t,t=64*i+(t/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},n(y,g),n(w,g),n(_,g),_.prototype.imulK=function(e){for(var t=0,r=0;r<e.length;r++){var i=19*(0|e.words[r])+t,n=67108863&i;i>>>=26,e.words[r]=n,t=i}return 0!==t&&(e.words[e.length++]=t),e},a._prime=function(e){if(m[e])return m[e];var t;if("k256"===e)t=new v;else if("p224"===e)t=new y;else if("p192"===e)t=new w;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new _}return m[e]=t,t},M.prototype._verify1=function(e){i(0===e.negative,"red works only with positives"),i(e.red,"red works only with red numbers")},M.prototype._verify2=function(e,t){i(0==(e.negative|t.negative),"red works only with positives"),i(e.red&&e.red===t.red,"red works only with red numbers")},M.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},M.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},M.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},M.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},M.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},M.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},M.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},M.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},M.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},M.prototype.isqr=function(e){return this.imul(e,e.clone())},M.prototype.sqr=function(e){return this.mul(e,e)},M.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(i(t%2==1),3===t){var r=this.m.add(new a(1)).iushrn(2);return this.pow(e,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var s=new a(1).toRed(this),f=s.redNeg(),c=this.m.subn(1).iushrn(1),d=this.m.bitLength();for(d=new a(2*d*d).toRed(this);0!==this.pow(d,c).cmp(f);)d.redIAdd(f);for(var u=this.pow(d,n),h=this.pow(e,n.addn(1).iushrn(1)),l=this.pow(e,n),b=o;0!==l.cmp(s);){for(var p=l,m=0;0!==p.cmp(s);m++)p=p.redSqr();i(m<b);var g=this.pow(u,new a(1).iushln(b-m-1));h=h.redMul(g),u=g.redSqr(),l=l.redMul(u),b=m}return h},M.prototype.invm=function(e){var t=e._invmp(this.m);return 0!==t.negative?(t.negative=0,this.imod(t).redNeg()):this.imod(t)},M.prototype.pow=function(e,t){if(t.isZero())return new a(1).toRed(this);if(0===t.cmpn(1))return e.clone();var r=new Array(16);r[0]=new a(1).toRed(this),r[1]=e;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],e);var n=r[0],o=0,s=0,f=t.bitLength()%26;for(0===f&&(f=26),i=t.length-1;i>=0;i--){for(var c=t.words[i],d=f-1;d>=0;d--){var u=c>>d&1;n!==r[0]&&(n=this.sqr(n)),0!==u||0!==o?(o<<=1,o|=u,(4===++s||0===i&&0===d)&&(n=this.mul(n,r[o]),s=0,o=0)):s=0}f=26}return n},M.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},M.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},a.mont=function(e){return new S(e)},n(S,M),S.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},S.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},S.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),a=n;return n.cmp(this.m)>=0?a=n.isub(this.m):n.cmpn(0)<0&&(a=n.iadd(this.m)),a._forceRed(this)},S.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new a(0)._forceRed(this);var r=e.mul(t),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.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,this)}).call(this,r(45)(e))},function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(e){"object"==typeof window&&(r=window)}e.exports=r},function(e,t){function r(e,t){if(!e)throw new Error(t||"Assertion failed")}e.exports=r,r.equal=function(e,t,r){if(e!=t)throw new Error(r||"Assertion failed: "+e+" != "+t)}},function(e,t,r){"use strict";var i=t,n=r(4),a=r(6),o=r(93);i.assert=a,i.toArray=o.toArray,i.zero2=o.zero2,i.toHex=o.toHex,i.encode=o.encode,i.getNAF=function(e,t,r){var i=new Array(Math.max(e.bitLength(),r)+1);i.fill(0);for(var n=1<<t+1,a=e.clone(),o=0;o<i.length;o++){var s,f=a.andln(n-1);a.isOdd()?(s=f>(n>>1)-1?(n>>1)-f:f,a.isubn(s)):s=0,i[o]=s,a.iushrn(1)}return i},i.getJSF=function(e,t){var r=[[],[]];e=e.clone(),t=t.clone();for(var i=0,n=0;e.cmpn(-i)>0||t.cmpn(-n)>0;){var a,o,s,f=e.andln(3)+i&3,c=t.andln(3)+n&3;if(3===f&&(f=-1),3===c&&(c=-1),0==(1&f))a=0;else a=3!==(s=e.andln(7)+i&7)&&5!==s||2!==c?f:-f;if(r[0].push(a),0==(1&c))o=0;else o=3!==(s=t.andln(7)+n&7)&&5!==s||2!==f?c:-c;r[1].push(o),2*i===a+1&&(i=1-i),2*n===o+1&&(n=1-n),e.iushrn(1),t.iushrn(1)}return r},i.cachedProperty=function(e,t,r){var i="_"+t;e.prototype[t]=function(){return void 0!==this[i]?this[i]:this[i]=r.call(this)}},i.parseBytes=function(e){return"string"==typeof e?i.toArray(e,"hex"):e},i.intFromLE=function(e){return new n(e,"hex","le")}},function(e,t,r){"use strict";
/*!
 * assert.js - assert for bcrypto
 * Copyright (c) 2020, Christopher Jeffrey (MIT License).
 * https://github.com/bcoin-org/bcrypto
 */e.exports=function e(t,r){if(!t){const t=new Error(r||"Assertion failed");throw Error.captureStackTrace&&Error.captureStackTrace(t,e),t}}},function(e,t,r){"use strict";var i=r(6),n=r(0);function a(e,t){return 55296==(64512&e.charCodeAt(t))&&(!(t<0||t+1>=e.length)&&56320==(64512&e.charCodeAt(t+1)))}function o(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function s(e){return 1===e.length?"0"+e:e}function f(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}t.inherits=n,t.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),n=0;n<e.length;n+=2)r.push(parseInt(e[n]+e[n+1],16))}else for(var i=0,n=0;n<e.length;n++){var o=e.charCodeAt(n);o<128?r[i++]=o:o<2048?(r[i++]=o>>6|192,r[i++]=63&o|128):a(e,n)?(o=65536+((1023&o)<<10)+(1023&e.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<e.length;n++)r[n]=0|e[n];return r},t.toHex=function(e){for(var t="",r=0;r<e.length;r++)t+=s(e[r].toString(16));return t},t.htonl=o,t.toHex32=function(e,t){for(var r="",i=0;i<e.length;i++){var n=e[i];"little"===t&&(n=o(n)),r+=f(n.toString(16))}return r},t.zero2=s,t.zero8=f,t.join32=function(e,t,r,n){var a=r-t;i(a%4==0);for(var o=new Array(a/4),s=0,f=t;s<o.length;s++,f+=4){var c;c="big"===n?e[f]<<24|e[f+1]<<16|e[f+2]<<8|e[f+3]:e[f+3]<<24|e[f+2]<<16|e[f+1]<<8|e[f],o[s]=c>>>0}return o},t.split32=function(e,t){for(var r=new Array(4*e.length),i=0,n=0;i<e.length;i++,n+=4){var a=e[i];"big"===t?(r[n]=a>>>24,r[n+1]=a>>>16&255,r[n+2]=a>>>8&255,r[n+3]=255&a):(r[n+3]=a>>>24,r[n+2]=a>>>16&255,r[n+1]=a>>>8&255,r[n]=255&a)}return r},t.rotr32=function(e,t){return e>>>t|e<<32-t},t.rotl32=function(e,t){return e<<t|e>>>32-t},t.sum32=function(e,t){return e+t>>>0},t.sum32_3=function(e,t,r){return e+t+r>>>0},t.sum32_4=function(e,t,r,i){return e+t+r+i>>>0},t.sum32_5=function(e,t,r,i,n){return e+t+r+i+n>>>0},t.sum64=function(e,t,r,i){var n=e[t],a=i+e[t+1]>>>0,o=(a<i?1:0)+r+n;e[t]=o>>>0,e[t+1]=a},t.sum64_hi=function(e,t,r,i){return(t+i>>>0<t?1:0)+e+r>>>0},t.sum64_lo=function(e,t,r,i){return t+i>>>0},t.sum64_4_hi=function(e,t,r,i,n,a,o,s){var f=0,c=t;return f+=(c=c+i>>>0)<t?1:0,f+=(c=c+a>>>0)<a?1:0,e+r+n+o+(f+=(c=c+s>>>0)<s?1:0)>>>0},t.sum64_4_lo=function(e,t,r,i,n,a,o,s){return t+i+a+s>>>0},t.sum64_5_hi=function(e,t,r,i,n,a,o,s,f,c){var d=0,u=t;return d+=(u=u+i>>>0)<t?1:0,d+=(u=u+a>>>0)<a?1:0,d+=(u=u+s>>>0)<s?1:0,e+r+n+o+f+(d+=(u=u+c>>>0)<c?1:0)>>>0},t.sum64_5_lo=function(e,t,r,i,n,a,o,s,f,c){return t+i+a+s+c>>>0},t.rotr64_hi=function(e,t,r){return(t<<32-r|e>>>r)>>>0},t.rotr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0},t.shr64_hi=function(e,t,r){return e>>>r},t.shr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0}},function(e,t,r){"use strict";(function(t,i){var n=r(1).Buffer,a=t.crypto||t.msCrypto;a&&a.getRandomValues?e.exports=function(e,t){if(e>4294967295)throw new RangeError("requested too many random bytes");var r=n.allocUnsafe(e);if(e>0)if(e>65536)for(var o=0;o<e;o+=65536)a.getRandomValues(r.slice(o,o+65536));else a.getRandomValues(r);if("function"==typeof t)return i.nextTick((function(){t(null,r)}));return r}:e.exports=function(){throw new Error("Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11")}}).call(this,r(5),r(3))},function(e,t,r){"use strict";var i=r(0),n=r(33),a=r(36),o=r(37),s=r(12);function f(e){s.call(this,"digest"),this._hash=e}i(f,s),f.prototype._update=function(e){this._hash.update(e)},f.prototype._final=function(){return this._hash.digest()},e.exports=function(e){return"md5"===(e=e.toLowerCase())?new n:"rmd160"===e||"ripemd160"===e?new a:new f(o(e))}},function(e,t,r){var i=r(1).Buffer,n=r(138).Transform,a=r(14).StringDecoder;function o(e){n.call(this),this.hashMode="string"==typeof e,this.hashMode?this[e]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}r(0)(o,n),o.prototype.update=function(e,t,r){"string"==typeof e&&(e=i.from(e,t));var n=this._update(e);return this.hashMode?this:(r&&(n=this._toString(n,r)),n)},o.prototype.setAutoPadding=function(){},o.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},o.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},o.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},o.prototype._transform=function(e,t,r){var i;try{this.hashMode?this._update(e):this.push(this._update(e))}catch(e){i=e}finally{r(i)}},o.prototype._flush=function(e){var t;try{this.push(this.__final())}catch(e){t=e}e(t)},o.prototype._finalOrDigest=function(e){var t=this.__final()||i.alloc(0);return e&&(t=this._toString(t,e,!0)),t},o.prototype._toString=function(e,t,r){if(this._decoder||(this._decoder=new a(t),this._encoding=t),this._encoding!==t)throw new Error("can't switch encodings");var i=this._decoder.write(e);return r&&(i+=this._decoder.end()),i},e.exports=o},function(e,t,r){"use strict";var i,n="object"==typeof Reflect?Reflect:null,a=n&&"function"==typeof n.apply?n.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)};i=n&&"function"==typeof n.ownKeys?n.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var o=Number.isNaN||function(e){return e!=e};function s(){s.init.call(this)}e.exports=s,e.exports.once=function(e,t){return new Promise((function(r,i){function n(){void 0!==a&&e.removeListener("error",a),r([].slice.call(arguments))}var a;"error"!==t&&(a=function(r){e.removeListener(t,n),i(r)},e.once("error",a)),e.once(t,n)}))},s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var f=10;function c(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function d(e){return void 0===e._maxListeners?s.defaultMaxListeners:e._maxListeners}function u(e,t,r,i){var n,a,o,s;if(c(r),void 0===(a=e._events)?(a=e._events=Object.create(null),e._eventsCount=0):(void 0!==a.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),a=e._events),o=a[t]),void 0===o)o=a[t]=r,++e._eventsCount;else if("function"==typeof o?o=a[t]=i?[r,o]:[o,r]:i?o.unshift(r):o.push(r),(n=d(e))>0&&o.length>n&&!o.warned){o.warned=!0;var f=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");f.name="MaxListenersExceededWarning",f.emitter=e,f.type=t,f.count=o.length,s=f,console&&console.warn&&console.warn(s)}return e}function h(){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 l(e,t,r){var i={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},n=h.bind(i);return n.listener=r,i.wrapFn=n,n}function b(e,t,r){var i=e._events;if(void 0===i)return[];var n=i[t];return void 0===n?[]:"function"==typeof n?r?[n.listener||n]:[n]:r?function(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}(n):m(n,n.length)}function p(e){var t=this._events;if(void 0!==t){var r=t[e];if("function"==typeof r)return 1;if(void 0!==r)return r.length}return 0}function m(e,t){for(var r=new Array(t),i=0;i<t;++i)r[i]=e[i];return r}Object.defineProperty(s,"defaultMaxListeners",{enumerable:!0,get:function(){return f},set:function(e){if("number"!=typeof e||e<0||o(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");f=e}}),s.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},s.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||o(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},s.prototype.getMaxListeners=function(){return d(this)},s.prototype.emit=function(e){for(var t=[],r=1;r<arguments.length;r++)t.push(arguments[r]);var i="error"===e,n=this._events;if(void 0!==n)i=i&&void 0===n.error;else if(!i)return!1;if(i){var o;if(t.length>0&&(o=t[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var f=n[e];if(void 0===f)return!1;if("function"==typeof f)a(f,this,t);else{var c=f.length,d=m(f,c);for(r=0;r<c;++r)a(d[r],this,t)}return!0},s.prototype.addListener=function(e,t){return u(this,e,t,!1)},s.prototype.on=s.prototype.addListener,s.prototype.prependListener=function(e,t){return u(this,e,t,!0)},s.prototype.once=function(e,t){return c(t),this.on(e,l(this,e,t)),this},s.prototype.prependOnceListener=function(e,t){return c(t),this.prependListener(e,l(this,e,t)),this},s.prototype.removeListener=function(e,t){var r,i,n,a,o;if(c(t),void 0===(i=this._events))return this;if(void 0===(r=i[e]))return this;if(r===t||r.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,r.listener||t));else if("function"!=typeof r){for(n=-1,a=r.length-1;a>=0;a--)if(r[a]===t||r[a].listener===t){o=r[a].listener,n=a;break}if(n<0)return this;0===n?r.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(r,n),1===r.length&&(i[e]=r[0]),void 0!==i.removeListener&&this.emit("removeListener",e,o||t)}return this},s.prototype.off=s.prototype.removeListener,s.prototype.removeAllListeners=function(e){var t,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[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete r[e]),this;if(0===arguments.length){var n,a=Object.keys(r);for(i=0;i<a.length;++i)"removeListener"!==(n=a[i])&&this.removeAllListeners(n);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=r[e]))this.removeListener(e,t);else if(void 0!==t)for(i=t.length-1;i>=0;i--)this.removeListener(e,t[i]);return this},s.prototype.listeners=function(e){return b(this,e,!0)},s.prototype.rawListeners=function(e){return b(this,e,!1)},s.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):p.call(e,t)},s.prototype.listenerCount=p,s.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[]}},function(e,t,r){"use strict";var i=r(1).Buffer,n=i.isEncoding||function(e){switch((e=""+e)&&e.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 a(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){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 e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(i.isEncoding===n||!n(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=f,this.end=c,t=4;break;case"utf8":this.fillLast=s,t=4;break;case"base64":this.text=d,this.end=u,t=3;break;default:return this.write=h,void(this.end=l)}this.lastNeed=0,this.lastTotal=0,this.lastChar=i.allocUnsafe(t)}function o(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function s(e){var t=this.lastTotal-this.lastNeed,r=function(e,t,r){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==r?r:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function f(e,t){if((e.length-t)%2==0){var r=e.toString("utf16le",t);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function c(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function d(e,t){var r=(e.length-t)%3;return 0===r?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function u(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function h(e){return e.toString(this.encoding)}function l(e){return e&&e.length?this.write(e):""}t.StringDecoder=a,a.prototype.write=function(e){if(0===e.length)return"";var t,r;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<e.length?t?t+this.text(e,r):this.text(e,r):t||""},a.prototype.end=function(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"�":t},a.prototype.text=function(e,t){var r=function(e,t,r){var i=t.length-1;if(i<r)return 0;var n=o(t[i]);if(n>=0)return n>0&&(e.lastNeed=n-1),n;if(--i<r||-2===n)return 0;if((n=o(t[i]))>=0)return n>0&&(e.lastNeed=n-2),n;if(--i<r||-2===n)return 0;if((n=o(t[i]))>=0)return n>0&&(2===n?n=0:e.lastNeed=n-3),n;return 0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var i=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,i),e.toString("utf8",t,i)},a.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,r){"use strict";var i=r(26),n=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};e.exports=u;var a=Object.create(r(22));a.inherits=r(0);var o=r(68),s=r(40);a.inherits(u,o);for(var f=n(s.prototype),c=0;c<f.length;c++){var d=f[c];u.prototype[d]||(u.prototype[d]=s.prototype[d])}function u(e){if(!(this instanceof u))return new u(e);o.call(this,e),s.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",h)}function h(){this.allowHalfOpen||this._writableState.ended||i.nextTick(l,this)}function l(e){e.end()}Object.defineProperty(u.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(u.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}}),u.prototype._destroy=function(e,t){this.push(null),this.end(),i.nextTick(t,e)}},function(e,t,r){"use strict";var i={};function n(e,t,r){r||(r=Error);var n=function(e){var r,i;function n(r,i,n){return e.call(this,function(e,r,i){return"string"==typeof t?t:t(e,r,i)}(r,i,n))||this}return i=e,(r=n).prototype=Object.create(i.prototype),r.prototype.constructor=r,r.__proto__=i,n}(r);n.prototype.name=r.name,n.prototype.code=e,i[e]=n}function a(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map((function(e){return String(e)})),r>2?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:2===r?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}n("ERR_INVALID_OPT_VALUE",(function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'}),TypeError),n("ERR_INVALID_ARG_TYPE",(function(e,t,r){var i,n,o,s;if("string"==typeof t&&(n="not ",t.substr(!o||o<0?0:+o,n.length)===n)?(i="must not be",t=t.replace(/^not /,"")):i="must be",function(e,t,r){return(void 0===r||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}(e," argument"))s="The ".concat(e," ").concat(i," ").concat(a(t,"type"));else{var f=function(e,t,r){return"number"!=typeof r&&(r=0),!(r+t.length>e.length)&&-1!==e.indexOf(t,r)}(e,".")?"property":"argument";s='The "'.concat(e,'" ').concat(f," ").concat(i," ").concat(a(t,"type"))}return s+=". Received type ".concat(typeof r)}),TypeError),n("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),n("ERR_METHOD_NOT_IMPLEMENTED",(function(e){return"The "+e+" method is not implemented"})),n("ERR_STREAM_PREMATURE_CLOSE","Premature close"),n("ERR_STREAM_DESTROYED",(function(e){return"Cannot call "+e+" after a stream was destroyed"})),n("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),n("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),n("ERR_STREAM_WRITE_AFTER_END","write after end"),n("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),n("ERR_UNKNOWN_ENCODING",(function(e){return"Unknown encoding: "+e}),TypeError),n("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),e.exports.codes=i},function(e,t,r){"use strict";(function(t){var i=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};e.exports=c;var n=r(60),a=r(64);r(0)(c,n);for(var o=i(a.prototype),s=0;s<o.length;s++){var f=o[s];c.prototype[f]||(c.prototype[f]=a.prototype[f])}function c(e){if(!(this instanceof c))return new c(e);n.call(this,e),a.call(this,e),this.allowHalfOpen=!0,e&&(!1===e.readable&&(this.readable=!1),!1===e.writable&&(this.writable=!1),!1===e.allowHalfOpen&&(this.allowHalfOpen=!1,this.once("end",d)))}function d(){this._writableState.ended||t.nextTick(u,this)}function u(e){e.end()}Object.defineProperty(c.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(c.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(c.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(c.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}})}).call(this,r(3))},function(e,t,r){var i=r(1).Buffer;function n(e,t){this._block=i.alloc(e),this._finalSize=t,this._blockSize=e,this._len=0}n.prototype.update=function(e,t){"string"==typeof e&&(t=t||"utf8",e=i.from(e,t));for(var r=this._block,n=this._blockSize,a=e.length,o=this._len,s=0;s<a;){for(var f=o%n,c=Math.min(a-s,n-f),d=0;d<c;d++)r[f+d]=e[s+d];s+=c,(o+=c)%n==0&&this._update(r)}return this._len+=a,this},n.prototype.digest=function(e){var t=this._len%this._blockSize;this._block[t]=128,this._block.fill(0,t+1),t>=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 a=this._hash();return e?a.toString(e):a},n.prototype._update=function(){throw new Error("_update must be implemented by subclass")},e.exports=n},function(e,t,r){"use strict";var i={};function n(e,t,r){r||(r=Error);var n=function(e){var r,i;function n(r,i,n){return e.call(this,function(e,r,i){return"string"==typeof t?t:t(e,r,i)}(r,i,n))||this}return i=e,(r=n).prototype=Object.create(i.prototype),r.prototype.constructor=r,r.__proto__=i,n}(r);n.prototype.name=r.name,n.prototype.code=e,i[e]=n}function a(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map((function(e){return String(e)})),r>2?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:2===r?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}n("ERR_INVALID_OPT_VALUE",(function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'}),TypeError),n("ERR_INVALID_ARG_TYPE",(function(e,t,r){var i,n,o,s;if("string"==typeof t&&(n="not ",t.substr(!o||o<0?0:+o,n.length)===n)?(i="must not be",t=t.replace(/^not /,"")):i="must be",function(e,t,r){return(void 0===r||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}(e," argument"))s="The ".concat(e," ").concat(i," ").concat(a(t,"type"));else{var f=function(e,t,r){return"number"!=typeof r&&(r=0),!(r+t.length>e.length)&&-1!==e.indexOf(t,r)}(e,".")?"property":"argument";s='The "'.concat(e,'" ').concat(f," ").concat(i," ").concat(a(t,"type"))}return s+=". Received type ".concat(typeof r)}),TypeError),n("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),n("ERR_METHOD_NOT_IMPLEMENTED",(function(e){return"The "+e+" method is not implemented"})),n("ERR_STREAM_PREMATURE_CLOSE","Premature close"),n("ERR_STREAM_DESTROYED",(function(e){return"Cannot call "+e+" after a stream was destroyed"})),n("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),n("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),n("ERR_STREAM_WRITE_AFTER_END","write after end"),n("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),n("ERR_UNKNOWN_ENCODING",(function(e){return"Unknown encoding: "+e}),TypeError),n("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),e.exports.codes=i},function(e,t,r){"use strict";(function(t){var i=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};e.exports=c;var n=r(87),a=r(91);r(0)(c,n);for(var o=i(a.prototype),s=0;s<o.length;s++){var f=o[s];c.prototype[f]||(c.prototype[f]=a.prototype[f])}function c(e){if(!(this instanceof c))return new c(e);n.call(this,e),a.call(this,e),this.allowHalfOpen=!0,e&&(!1===e.readable&&(this.readable=!1),!1===e.writable&&(this.writable=!1),!1===e.allowHalfOpen&&(this.allowHalfOpen=!1,this.once("end",d)))}function d(){this._writableState.ended||t.nextTick(u,this)}function u(e){e.end()}Object.defineProperty(c.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(c.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(c.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(c.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}})}).call(this,r(3))},function(e,t,r){"use strict";
/*!
 * bn.js - big numbers for bcrypto
 * Copyright (c) 2017-2019, Christopher Jeffrey (MIT License).
 * https://github.com/bcoin-org/bcrypto
 */e.exports=r(221)},function(e,t,r){(function(e){function r(e){return Object.prototype.toString.call(e)}t.isArray=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===r(e)},t.isBoolean=function(e){return"boolean"==typeof e},t.isNull=function(e){return null===e},t.isNullOrUndefined=function(e){return null==e},t.isNumber=function(e){return"number"==typeof e},t.isString=function(e){return"string"==typeof e},t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=function(e){return void 0===e},t.isRegExp=function(e){return"[object RegExp]"===r(e)},t.isObject=function(e){return"object"==typeof e&&null!==e},t.isDate=function(e){return"[object Date]"===r(e)},t.isError=function(e){return"[object Error]"===r(e)||e instanceof Error},t.isFunction=function(e){return"function"==typeof e},t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=e.isBuffer}).call(this,r(2).Buffer)},function(e,t,r){(function(t){e.exports=function(e,r){for(var i=Math.min(e.length,r.length),n=new t(i),a=0;a<i;++a)n[a]=e[a]^r[a];return n}}).call(this,r(2).Buffer)},function(e,t,r){"use strict";var i=r(9),n=r(6);function a(){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}t.BlockHash=a,a.prototype.update=function(e,t){if(e=i.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var r=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-r,e.length),0===this.pending.length&&(this.pending=null),e=i.join32(e,0,e.length-r,this.endian);for(var n=0;n<e.length;n+=this._delta32)this._update(e,n,n+this._delta32)}return this},a.prototype.digest=function(e){return this.update(this._pad()),n(null===this.pending),this._digest(e)},a.prototype._pad=function(){var e=this.pendingTotal,t=this._delta8,r=t-(e+this.padLength)%t,i=new Array(r+this.padLength);i[0]=128;for(var n=1;n<r;n++)i[n]=0;if(e<<=3,"big"===this.endian){for(var a=8;a<this.padLength;a++)i[n++]=0;i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=e>>>24&255,i[n++]=e>>>16&255,i[n++]=e>>>8&255,i[n++]=255&e}else for(i[n++]=255&e,i[n++]=e>>>8&255,i[n++]=e>>>16&255,i[n++]=e>>>24&255,i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=0,a=8;a<this.padLength;a++)i[n++]=0;return i}},function(e,t,r){"use strict";const i=r(0),n=r(53).Reporter,a=r(51).Buffer;function o(e,t){n.call(this,t),a.isBuffer(e)?(this.base=e,this.offset=0,this.length=e.length):this.error("Input not Buffer")}function s(e,t){if(Array.isArray(e))this.length=0,this.value=e.map((function(e){return s.isEncoderBuffer(e)||(e=new s(e,t)),this.length+=e.length,e}),this);else if("number"==typeof e){if(!(0<=e&&e<=255))return t.error("non-byte EncoderBuffer value");this.value=e,this.length=1}else if("string"==typeof e)this.value=e,this.length=a.byteLength(e);else{if(!a.isBuffer(e))return t.error("Unsupported type: "+typeof e);this.value=e,this.length=e.length}}i(o,n),t.DecoderBuffer=o,o.isDecoderBuffer=function(e){if(e instanceof o)return!0;return"object"==typeof e&&a.isBuffer(e.base)&&"DecoderBuffer"===e.constructor.name&&"number"==typeof e.offset&&"number"==typeof e.length&&"function"==typeof e.save&&"function"==typeof e.restore&&"function"==typeof e.isEmpty&&"function"==typeof e.readUInt8&&"function"==typeof e.skip&&"function"==typeof e.raw},o.prototype.save=function(){return{offset:this.offset,reporter:n.prototype.save.call(this)}},o.prototype.restore=function(e){const t=new o(this.base);return t.offset=e.offset,t.length=this.offset,this.offset=e.offset,n.prototype.restore.call(this,e.reporter),t},o.prototype.isEmpty=function(){return this.offset===this.length},o.prototype.readUInt8=function(e){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(e||"DecoderBuffer overrun")},o.prototype.skip=function(e,t){if(!(this.offset+e<=this.length))return this.error(t||"DecoderBuffer overrun");const r=new o(this.base);return r._reporterState=this._reporterState,r.offset=this.offset,r.length=this.offset+e,this.offset+=e,r},o.prototype.raw=function(e){return this.base.slice(e?e.offset:this.offset,this.length)},t.EncoderBuffer=s,s.isEncoderBuffer=function(e){if(e instanceof s)return!0;return"object"==typeof e&&"EncoderBuffer"===e.constructor.name&&"number"==typeof e.length&&"function"==typeof e.join},s.prototype.join=function(e,t){return e||(e=a.alloc(this.length)),t||(t=0),0===this.length||(Array.isArray(this.value)?this.value.forEach((function(r){r.join(e,t),t+=r.length})):("number"==typeof this.value?e[t]=this.value:"string"==typeof this.value?e.write(this.value,t):a.isBuffer(this.value)&&this.value.copy(e,t),t+=this.length)),e}},function(e,t,r){"use strict";(function(t){void 0===t||!t.version||0===t.version.indexOf("v0.")||0===t.version.indexOf("v1.")&&0!==t.version.indexOf("v1.8.")?e.exports={nextTick:function(e,r,i,n){if("function"!=typeof e)throw new TypeError('"callback" argument must be a function');var a,o,s=arguments.length;switch(s){case 0:case 1:return t.nextTick(e);case 2:return t.nextTick((function(){e.call(null,r)}));case 3:return t.nextTick((function(){e.call(null,r,i)}));case 4:return t.nextTick((function(){e.call(null,r,i,n)}));default:for(a=new Array(s-1),o=0;o<a.length;)a[o++]=arguments[o];return t.nextTick((function(){e.apply(null,a)}))}}}:e.exports=t}).call(this,r(3))},function(e,t,r){"use strict";var i=r(0),n=r(149),a=r(12),o=r(1).Buffer,s=r(72),f=r(36),c=r(37),d=o.alloc(128);function u(e,t){a.call(this,"digest"),"string"==typeof t&&(t=o.from(t));var r="sha512"===e||"sha384"===e?128:64;(this._alg=e,this._key=t,t.length>r)?t=("rmd160"===e?new f:c(e)).update(t).digest():t.length<r&&(t=o.concat([t,d],r));for(var i=this._ipad=o.allocUnsafe(r),n=this._opad=o.allocUnsafe(r),s=0;s<r;s++)i[s]=54^t[s],n[s]=92^t[s];this._hash="rmd160"===e?new f:c(e),this._hash.update(i)}i(u,a),u.prototype._update=function(e){this._hash.update(e)},u.prototype._final=function(){var e=this._hash.digest();return("rmd160"===this._alg?new f:c(this._alg)).update(this._opad).update(e).digest()},e.exports=function(e,t){return"rmd160"===(e=e.toLowerCase())||"ripemd160"===e?new u("rmd160",t):"md5"===e?new n(s,t):new u(e,t)}},function(e,t,r){var i=r(1).Buffer;function n(e){i.isBuffer(e)||(e=i.from(e));for(var t=e.length/4|0,r=new Array(t),n=0;n<t;n++)r[n]=e.readUInt32BE(4*n);return r}function a(e){for(;0<e.length;e++)e[0]=0}function o(e,t,r,i,n){for(var a,o,s,f,c=r[0],d=r[1],u=r[2],h=r[3],l=e[0]^t[0],b=e[1]^t[1],p=e[2]^t[2],m=e[3]^t[3],g=4,v=1;v<n;v++)a=c[l>>>24]^d[b>>>16&255]^u[p>>>8&255]^h[255&m]^t[g++],o=c[b>>>24]^d[p>>>16&255]^u[m>>>8&255]^h[255&l]^t[g++],s=c[p>>>24]^d[m>>>16&255]^u[l>>>8&255]^h[255&b]^t[g++],f=c[m>>>24]^d[l>>>16&255]^u[b>>>8&255]^h[255&p]^t[g++],l=a,b=o,p=s,m=f;return a=(i[l>>>24]<<24|i[b>>>16&255]<<16|i[p>>>8&255]<<8|i[255&m])^t[g++],o=(i[b>>>24]<<24|i[p>>>16&255]<<16|i[m>>>8&255]<<8|i[255&l])^t[g++],s=(i[p>>>24]<<24|i[m>>>16&255]<<16|i[l>>>8&255]<<8|i[255&b])^t[g++],f=(i[m>>>24]<<24|i[l>>>16&255]<<16|i[b>>>8&255]<<8|i[255&p])^t[g++],[a>>>=0,o>>>=0,s>>>=0,f>>>=0]}var s=[0,1,2,4,8,16,32,64,128,27,54],f=function(){for(var e=new Array(256),t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;for(var r=[],i=[],n=[[],[],[],[]],a=[[],[],[],[]],o=0,s=0,f=0;f<256;++f){var c=s^s<<1^s<<2^s<<3^s<<4;c=c>>>8^255&c^99,r[o]=c,i[c]=o;var d=e[o],u=e[d],h=e[u],l=257*e[c]^16843008*c;n[0][o]=l<<24|l>>>8,n[1][o]=l<<16|l>>>16,n[2][o]=l<<8|l>>>24,n[3][o]=l,l=16843009*h^65537*u^257*d^16843008*o,a[0][c]=l<<24|l>>>8,a[1][c]=l<<16|l>>>16,a[2][c]=l<<8|l>>>24,a[3][c]=l,0===o?o=s=1:(o=d^e[e[e[h^d]]],s^=e[e[s]])}return{SBOX:r,INV_SBOX:i,SUB_MIX:n,INV_SUB_MIX:a}}();function c(e){this._key=n(e),this._reset()}c.blockSize=16,c.keySize=32,c.prototype.blockSize=c.blockSize,c.prototype.keySize=c.keySize,c.prototype._reset=function(){for(var e=this._key,t=e.length,r=t+6,i=4*(r+1),n=[],a=0;a<t;a++)n[a]=e[a];for(a=t;a<i;a++){var o=n[a-1];a%t==0?(o=o<<8|o>>>24,o=f.SBOX[o>>>24]<<24|f.SBOX[o>>>16&255]<<16|f.SBOX[o>>>8&255]<<8|f.SBOX[255&o],o^=s[a/t|0]<<24):t>6&&a%t==4&&(o=f.SBOX[o>>>24]<<24|f.SBOX[o>>>16&255]<<16|f.SBOX[o>>>8&255]<<8|f.SBOX[255&o]),n[a]=n[a-t]^o}for(var c=[],d=0;d<i;d++){var u=i-d,h=n[u-(d%4?0:4)];c[d]=d<4||u<=4?h:f.INV_SUB_MIX[0][f.SBOX[h>>>24]]^f.INV_SUB_MIX[1][f.SBOX[h>>>16&255]]^f.INV_SUB_MIX[2][f.SBOX[h>>>8&255]]^f.INV_SUB_MIX[3][f.SBOX[255&h]]}this._nRounds=r,this._keySchedule=n,this._invKeySchedule=c},c.prototype.encryptBlockRaw=function(e){return o(e=n(e),this._keySchedule,f.SUB_MIX,f.SBOX,this._nRounds)},c.prototype.encryptBlock=function(e){var t=this.encryptBlockRaw(e),r=i.allocUnsafe(16);return r.writeUInt32BE(t[0],0),r.writeUInt32BE(t[1],4),r.writeUInt32BE(t[2],8),r.writeUInt32BE(t[3],12),r},c.prototype.decryptBlock=function(e){var t=(e=n(e))[1];e[1]=e[3],e[3]=t;var r=o(e,this._invKeySchedule,f.INV_SUB_MIX,f.INV_SBOX,this._nRounds),a=i.allocUnsafe(16);return a.writeUInt32BE(r[0],0),a.writeUInt32BE(r[3],4),a.writeUInt32BE(r[2],8),a.writeUInt32BE(r[1],12),a},c.prototype.scrub=function(){a(this._keySchedule),a(this._invKeySchedule),a(this._key)},e.exports.AES=c},function(e,t,r){var i=r(1).Buffer,n=r(33);e.exports=function(e,t,r,a){if(i.isBuffer(e)||(e=i.from(e,"binary")),t&&(i.isBuffer(t)||(t=i.from(t,"binary")),8!==t.length))throw new RangeError("salt should be Buffer with 8 byte length");for(var o=r/8,s=i.alloc(o),f=i.alloc(a||0),c=i.alloc(0);o>0||a>0;){var d=new n;d.update(c),d.update(e),t&&d.update(t),c=d.digest();var u=0;if(o>0){var h=s.length-o;u=Math.min(o,c.length),c.copy(s,h,0,u),o-=u}if(u<c.length&&a>0){var l=f.length-a,b=Math.min(a,c.length-u);c.copy(f,l,u,u+b),a-=b}}return c.fill(0),{key:s,iv:f}}},function(e,t,r){"use strict";var i=t;i.version=r(184).version,i.utils=r(7),i.rand=r(46),i.curve=r(94),i.curves=r(49),i.ec=r(195),i.eddsa=r(199)},function(e,t,r){"use strict";var i=r(4),n=r(7),a=n.getNAF,o=n.getJSF,s=n.assert;function f(e,t){this.type=e,this.p=new i(t.p,16),this.red=t.prime?i.red(t.prime):i.mont(this.p),this.zero=new i(0).toRed(this.red),this.one=new i(1).toRed(this.red),this.two=new i(2).toRed(this.red),this.n=t.n&&new i(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.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))}function c(e,t){this.curve=e,this.type=t,this.precomputed=null}e.exports=f,f.prototype.point=function(){throw new Error("Not implemented")},f.prototype.validate=function(){throw new Error("Not implemented")},f.prototype._fixedNafMul=function(e,t){s(e.precomputed);var r=e._getDoubles(),i=a(t,1,this._bitLength),n=(1<<r.step+1)-(r.step%2==0?2:1);n/=3;for(var o=[],f=0;f<i.length;f+=r.step){var c=0;for(t=f+r.step-1;t>=f;t--)c=(c<<1)+i[t];o.push(c)}for(var d=this.jpoint(null,null,null),u=this.jpoint(null,null,null),h=n;h>0;h--){for(f=0;f<o.length;f++){(c=o[f])===h?u=u.mixedAdd(r.points[f]):c===-h&&(u=u.mixedAdd(r.points[f].neg()))}d=d.add(u)}return d.toP()},f.prototype._wnafMul=function(e,t){var r=4,i=e._getNAFPoints(r);r=i.wnd;for(var n=i.points,o=a(t,r,this._bitLength),f=this.jpoint(null,null,null),c=o.length-1;c>=0;c--){for(t=0;c>=0&&0===o[c];c--)t++;if(c>=0&&t++,f=f.dblp(t),c<0)break;var d=o[c];s(0!==d),f="affine"===e.type?d>0?f.mixedAdd(n[d-1>>1]):f.mixedAdd(n[-d-1>>1].neg()):d>0?f.add(n[d-1>>1]):f.add(n[-d-1>>1].neg())}return"affine"===e.type?f.toP():f},f.prototype._wnafMulAdd=function(e,t,r,i,n){for(var s=this._wnafT1,f=this._wnafT2,c=this._wnafT3,d=0,u=0;u<i;u++){var h=(E=t[u])._getNAFPoints(e);s[u]=h.wnd,f[u]=h.points}for(u=i-1;u>=1;u-=2){var l=u-1,b=u;if(1===s[l]&&1===s[b]){var p=[t[l],null,null,t[b]];0===t[l].y.cmp(t[b].y)?(p[1]=t[l].add(t[b]),p[2]=t[l].toJ().mixedAdd(t[b].neg())):0===t[l].y.cmp(t[b].y.redNeg())?(p[1]=t[l].toJ().mixedAdd(t[b]),p[2]=t[l].add(t[b].neg())):(p[1]=t[l].toJ().mixedAdd(t[b]),p[2]=t[l].toJ().mixedAdd(t[b].neg()));var m=[-3,-1,-5,-7,0,7,5,1,3],g=o(r[l],r[b]);d=Math.max(g[0].length,d),c[l]=new Array(d),c[b]=new Array(d);for(var v=0;v<d;v++){var y=0|g[0][v],w=0|g[1][v];c[l][v]=m[3*(y+1)+(w+1)],c[b][v]=0,f[l]=p}}else c[l]=a(r[l],s[l],this._bitLength),c[b]=a(r[b],s[b],this._bitLength),d=Math.max(c[l].length,d),d=Math.max(c[b].length,d)}var _=this.jpoint(null,null,null),M=this._wnafT4;for(u=d;u>=0;u--){for(var S=0;u>=0;){var k=!0;for(v=0;v<i;v++)M[v]=0|c[v][u],0!==M[v]&&(k=!1);if(!k)break;S++,u--}if(u>=0&&S++,_=_.dblp(S),u<0)break;for(v=0;v<i;v++){var E,x=M[v];0!==x&&(x>0?E=f[v][x-1>>1]:x<0&&(E=f[v][-x-1>>1].neg()),_="affine"===E.type?_.mixedAdd(E):_.add(E))}}for(u=0;u<i;u++)f[u]=null;return n?_:_.toP()},f.BasePoint=c,c.prototype.eq=function(){throw new Error("Not implemented")},c.prototype.validate=function(){return this.curve.validate(this)},f.prototype.decodePoint=function(e,t){e=n.toArray(e,t);var r=this.p.byteLength();if((4===e[0]||6===e[0]||7===e[0])&&e.length-1==2*r)return 6===e[0]?s(e[e.length-1]%2==0):7===e[0]&&s(e[e.length-1]%2==1),this.point(e.slice(1,1+r),e.slice(1+r,1+2*r));if((2===e[0]||3===e[0])&&e.length-1===r)return this.pointFromX(e.slice(1,1+r),3===e[0]);throw new Error("Unknown point format")},c.prototype.encodeCompressed=function(e){return this.encode(e,!0)},c.prototype._encode=function(e){var t=this.curve.p.byteLength(),r=this.getX().toArray("be",t);return e?[this.getY().isEven()?2:3].concat(r):[4].concat(r,this.getY().toArray("be",t))},c.prototype.encode=function(e,t){return n.encode(this._encode(t),e)},c.prototype.precompute=function(e){if(this.precomputed)return this;var t={doubles:null,naf:null,beta:null};return t.naf=this._getNAFPoints(8),t.doubles=this._getDoubles(4,e),t.beta=this._getBeta(),this.precomputed=t,this},c.prototype._hasDoubles=function(e){if(!this.precomputed)return!1;var t=this.precomputed.doubles;return!!t&&t.points.length>=Math.ceil((e.bitLength()+1)/t.step)},c.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],i=this,n=0;n<t;n+=e){for(var a=0;a<e;a++)i=i.dbl();r.push(i)}return{step:e,points:r}},c.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var t=[this],r=(1<<e)-1,i=1===r?null:this.dbl(),n=1;n<r;n++)t[n]=t[n-1].add(i);return{wnd:e,points:t}},c.prototype._getBeta=function(){return null},c.prototype.dblp=function(e){for(var t=this,r=0;r<e;r++)t=t.dbl();return t}},function(e,t,r){var i=r(203),n=r(210),a=r(211),o=r(43),s=r(41),f=r(1).Buffer;function c(e){var t;"object"!=typeof e||f.isBuffer(e)||(t=e.passphrase,e=e.key),"string"==typeof e&&(e=f.from(e));var r,c,d=a(e,t),u=d.tag,h=d.data;switch(u){case"CERTIFICATE":c=i.certificate.decode(h,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(c||(c=i.PublicKey.decode(h,"der")),r=c.algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return i.RSAPublicKey.decode(c.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return c.subjectPrivateKey=c.subjectPublicKey,{type:"ec",data:c};case"1.2.840.10040.4.1":return c.algorithm.params.pub_key=i.DSAparam.decode(c.subjectPublicKey.data,"der"),{type:"dsa",data:c.algorithm.params};default:throw new Error("unknown key id "+r)}case"ENCRYPTED PRIVATE KEY":h=function(e,t){var r=e.algorithm.decrypt.kde.kdeparams.salt,i=parseInt(e.algorithm.decrypt.kde.kdeparams.iters.toString(),10),a=n[e.algorithm.decrypt.cipher.algo.join(".")],c=e.algorithm.decrypt.cipher.iv,d=e.subjectPrivateKey,u=parseInt(a.split("-")[1],10)/8,h=s.pbkdf2Sync(t,r,i,u,"sha1"),l=o.createDecipheriv(a,h,c),b=[];return b.push(l.update(d)),b.push(l.final()),f.concat(b)}(h=i.EncryptedPrivateKey.decode(h,"der"),t);case"PRIVATE KEY":switch(r=(c=i.PrivateKey.decode(h,"der")).algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return i.RSAPrivateKey.decode(c.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:c.algorithm.curve,privateKey:i.ECPrivateKey.decode(c.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return c.algorithm.params.priv_key=i.DSAparam.decode(c.subjectPrivateKey,"der"),{type:"dsa",params:c.algorithm.params};default:throw new Error("unknown key id "+r)}case"RSA PUBLIC KEY":return i.RSAPublicKey.decode(h,"der");case"RSA PRIVATE KEY":return i.RSAPrivateKey.decode(h,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:i.DSAPrivateKey.decode(h,"der")};case"EC PRIVATE KEY":return{curve:(h=i.ECPrivateKey.decode(h,"der")).parameters.value,privateKey:h.privateKey};default:throw new Error("unknown key type "+u)}}e.exports=c,c.signature=i.signature},function(e,t,r){"use strict";var i=r(0),n=r(59),a=r(1).Buffer,o=new Array(16);function s(){n.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function f(e,t){return e<<t|e>>>32-t}function c(e,t,r,i,n,a,o){return f(e+(t&r|~t&i)+n+a|0,o)+t|0}function d(e,t,r,i,n,a,o){return f(e+(t&i|r&~i)+n+a|0,o)+t|0}function u(e,t,r,i,n,a,o){return f(e+(t^r^i)+n+a|0,o)+t|0}function h(e,t,r,i,n,a,o){return f(e+(r^(t|~i))+n+a|0,o)+t|0}i(s,n),s.prototype._update=function(){for(var e=o,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);var r=this._a,i=this._b,n=this._c,a=this._d;r=c(r,i,n,a,e[0],3614090360,7),a=c(a,r,i,n,e[1],3905402710,12),n=c(n,a,r,i,e[2],606105819,17),i=c(i,n,a,r,e[3],3250441966,22),r=c(r,i,n,a,e[4],4118548399,7),a=c(a,r,i,n,e[5],1200080426,12),n=c(n,a,r,i,e[6],2821735955,17),i=c(i,n,a,r,e[7],4249261313,22),r=c(r,i,n,a,e[8],1770035416,7),a=c(a,r,i,n,e[9],2336552879,12),n=c(n,a,r,i,e[10],4294925233,17),i=c(i,n,a,r,e[11],2304563134,22),r=c(r,i,n,a,e[12],1804603682,7),a=c(a,r,i,n,e[13],4254626195,12),n=c(n,a,r,i,e[14],2792965006,17),r=d(r,i=c(i,n,a,r,e[15],1236535329,22),n,a,e[1],4129170786,5),a=d(a,r,i,n,e[6],3225465664,9),n=d(n,a,r,i,e[11],643717713,14),i=d(i,n,a,r,e[0],3921069994,20),r=d(r,i,n,a,e[5],3593408605,5),a=d(a,r,i,n,e[10],38016083,9),n=d(n,a,r,i,e[15],3634488961,14),i=d(i,n,a,r,e[4],3889429448,20),r=d(r,i,n,a,e[9],568446438,5),a=d(a,r,i,n,e[14],3275163606,9),n=d(n,a,r,i,e[3],4107603335,14),i=d(i,n,a,r,e[8],1163531501,20),r=d(r,i,n,a,e[13],2850285829,5),a=d(a,r,i,n,e[2],4243563512,9),n=d(n,a,r,i,e[7],1735328473,14),r=u(r,i=d(i,n,a,r,e[12],2368359562,20),n,a,e[5],4294588738,4),a=u(a,r,i,n,e[8],2272392833,11),n=u(n,a,r,i,e[11],1839030562,16),i=u(i,n,a,r,e[14],4259657740,23),r=u(r,i,n,a,e[1],2763975236,4),a=u(a,r,i,n,e[4],1272893353,11),n=u(n,a,r,i,e[7],4139469664,16),i=u(i,n,a,r,e[10],3200236656,23),r=u(r,i,n,a,e[13],681279174,4),a=u(a,r,i,n,e[0],3936430074,11),n=u(n,a,r,i,e[3],3572445317,16),i=u(i,n,a,r,e[6],76029189,23),r=u(r,i,n,a,e[9],3654602809,4),a=u(a,r,i,n,e[12],3873151461,11),n=u(n,a,r,i,e[15],530742520,16),r=h(r,i=u(i,n,a,r,e[2],3299628645,23),n,a,e[0],4096336452,6),a=h(a,r,i,n,e[7],1126891415,10),n=h(n,a,r,i,e[14],2878612391,15),i=h(i,n,a,r,e[5],4237533241,21),r=h(r,i,n,a,e[12],1700485571,6),a=h(a,r,i,n,e[3],2399980690,10),n=h(n,a,r,i,e[10],4293915773,15),i=h(i,n,a,r,e[1],2240044497,21),r=h(r,i,n,a,e[8],1873313359,6),a=h(a,r,i,n,e[15],4264355552,10),n=h(n,a,r,i,e[6],2734768916,15),i=h(i,n,a,r,e[13],1309151649,21),r=h(r,i,n,a,e[4],4149444226,6),a=h(a,r,i,n,e[11],3174756917,10),n=h(n,a,r,i,e[2],718787259,15),i=h(i,n,a,r,e[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+a|0},s.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 e=a.allocUnsafe(16);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e},e.exports=s},function(e,t,r){(function(t){function r(e){try{if(!t.localStorage)return!1}catch(e){return!1}var r=t.localStorage[e];return null!=r&&"true"===String(r).toLowerCase()}e.exports=function(e,t){if(r("noDeprecation"))return e;var i=!1;return function(){if(!i){if(r("throwDeprecation"))throw new Error(t);r("traceDeprecation")?console.trace(t):console.warn(t),i=!0}return e.apply(this,arguments)}}}).call(this,r(5))},function(e,t,r){"use strict";var i=r(16).codes.ERR_STREAM_PREMATURE_CLOSE;function n(){}e.exports=function e(t,r,a){if("function"==typeof r)return e(t,null,r);r||(r={}),a=function(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,i=new Array(r),n=0;n<r;n++)i[n]=arguments[n];e.apply(this,i)}}}(a||n);var o=r.readable||!1!==r.readable&&t.readable,s=r.writable||!1!==r.writable&&t.writable,f=function(){t.writable||d()},c=t._writableState&&t._writableState.finished,d=function(){s=!1,c=!0,o||a.call(t)},u=t._readableState&&t._readableState.endEmitted,h=function(){o=!1,u=!0,s||a.call(t)},l=function(e){a.call(t,e)},b=function(){var e;return o&&!u?(t._readableState&&t._readableState.ended||(e=new i),a.call(t,e)):s&&!c?(t._writableState&&t._writableState.ended||(e=new i),a.call(t,e)):void 0},p=function(){t.req.on("finish",d)};return!function(e){return e.setHeader&&"function"==typeof e.abort}(t)?s&&!t._writableState&&(t.on("end",f),t.on("close",f)):(t.on("complete",d),t.on("abort",b),t.req?p():t.on("request",p)),t.on("end",h),t.on("finish",d),!1!==r.error&&t.on("error",l),t.on("close",b),function(){t.removeListener("complete",d),t.removeListener("abort",b),t.removeListener("request",p),t.req&&t.req.removeListener("finish",d),t.removeListener("end",f),t.removeListener("close",f),t.removeListener("finish",d),t.removeListener("end",h),t.removeListener("error",l),t.removeListener("close",b)}}},function(e,t,r){"use strict";var i=r(2).Buffer,n=r(0),a=r(59),o=new Array(16),s=[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],f=[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],c=[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],d=[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],u=[0,1518500249,1859775393,2400959708,2840853838],h=[1352829926,1548603684,1836072691,2053994217,0];function l(){a.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function b(e,t){return e<<t|e>>>32-t}function p(e,t,r,i,n,a,o,s){return b(e+(t^r^i)+a+o|0,s)+n|0}function m(e,t,r,i,n,a,o,s){return b(e+(t&r|~t&i)+a+o|0,s)+n|0}function g(e,t,r,i,n,a,o,s){return b(e+((t|~r)^i)+a+o|0,s)+n|0}function v(e,t,r,i,n,a,o,s){return b(e+(t&i|r&~i)+a+o|0,s)+n|0}function y(e,t,r,i,n,a,o,s){return b(e+(t^(r|~i))+a+o|0,s)+n|0}n(l,a),l.prototype._update=function(){for(var e=o,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);for(var r=0|this._a,i=0|this._b,n=0|this._c,a=0|this._d,l=0|this._e,w=0|this._a,_=0|this._b,M=0|this._c,S=0|this._d,k=0|this._e,E=0;E<80;E+=1){var x,z;E<16?(x=p(r,i,n,a,l,e[s[E]],u[0],c[E]),z=y(w,_,M,S,k,e[f[E]],h[0],d[E])):E<32?(x=m(r,i,n,a,l,e[s[E]],u[1],c[E]),z=v(w,_,M,S,k,e[f[E]],h[1],d[E])):E<48?(x=g(r,i,n,a,l,e[s[E]],u[2],c[E]),z=g(w,_,M,S,k,e[f[E]],h[2],d[E])):E<64?(x=v(r,i,n,a,l,e[s[E]],u[3],c[E]),z=m(w,_,M,S,k,e[f[E]],h[3],d[E])):(x=y(r,i,n,a,l,e[s[E]],u[4],c[E]),z=p(w,_,M,S,k,e[f[E]],h[4],d[E])),r=l,l=a,a=b(n,10),n=i,i=x,w=k,k=S,S=b(M,10),M=_,_=z}var A=this._b+n+S|0;this._b=this._c+a+k|0,this._c=this._d+l+w|0,this._d=this._e+r+_|0,this._e=this._a+i+M|0,this._a=A},l.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 e=i.alloc?i.alloc(20):new i(20);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e.writeInt32LE(this._e,16),e},e.exports=l},function(e,t,r){(t=e.exports=function(e){e=e.toLowerCase();var r=t[e];if(!r)throw new Error(e+" is not supported (we accept pull requests)");return new r}).sha=r(134),t.sha1=r(135),t.sha224=r(136),t.sha256=r(66),t.sha384=r(137),t.sha512=r(67)},function(e,t,r){(t=e.exports=r(68)).Stream=t,t.Readable=t,t.Writable=r(40),t.Duplex=r(15),t.Transform=r(71),t.PassThrough=r(144)},function(e,t,r){var i=r(2),n=i.Buffer;function a(e,t){for(var r in e)t[r]=e[r]}function o(e,t,r){return n(e,t,r)}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?e.exports=i:(a(i,t),t.Buffer=o),a(n,o),o.from=function(e,t,r){if("number"==typeof e)throw new TypeError("Argument must not be a number");return n(e,t,r)},o.alloc=function(e,t,r){if("number"!=typeof e)throw new TypeError("Argument must be a number");var i=n(e);return void 0!==t?"string"==typeof r?i.fill(t,r):i.fill(t):i.fill(0),i},o.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return n(e)},o.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i.SlowBuffer(e)}},function(e,t,r){"use strict";(function(t,i,n){var a=r(26);function o(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,r){var i=e.entry;e.entry=null;for(;i;){var n=i.callback;t.pendingcb--,n(r),i=i.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}(t,e)}}e.exports=v;var s,f=!t.browser&&["v0.10","v0.9."].indexOf(t.version.slice(0,5))>-1?i:a.nextTick;v.WritableState=g;var c=Object.create(r(22));c.inherits=r(0);var d={deprecate:r(34)},u=r(69),h=r(39).Buffer,l=n.Uint8Array||function(){};var b,p=r(70);function m(){}function g(e,t){s=s||r(15),e=e||{};var i=t instanceof s;this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var n=e.highWaterMark,c=e.writableHighWaterMark,d=this.objectMode?16:16384;this.highWaterMark=n||0===n?n:i&&(c||0===c)?c:d,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var u=!1===e.decodeStrings;this.decodeStrings=!u,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var r=e._writableState,i=r.sync,n=r.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(r),t)!function(e,t,r,i,n){--t.pendingcb,r?(a.nextTick(n,i),a.nextTick(k,e,t),e._writableState.errorEmitted=!0,e.emit("error",i)):(n(i),e._writableState.errorEmitted=!0,e.emit("error",i),k(e,t))}(e,r,i,t,n);else{var o=M(r);o||r.corked||r.bufferProcessing||!r.bufferedRequest||_(e,r),i?f(w,e,r,o,n):w(e,r,o,n)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new o(this)}function v(e){if(s=s||r(15),!(b.call(v,this)||this instanceof s))return new v(e);this._writableState=new g(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),u.call(this)}function y(e,t,r,i,n,a,o){t.writelen=i,t.writecb=o,t.writing=!0,t.sync=!0,r?e._writev(n,t.onwrite):e._write(n,a,t.onwrite),t.sync=!1}function w(e,t,r,i){r||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,i(),k(e,t)}function _(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var i=t.bufferedRequestCount,n=new Array(i),a=t.corkedRequestsFree;a.entry=r;for(var s=0,f=!0;r;)n[s]=r,r.isBuf||(f=!1),r=r.next,s+=1;n.allBuffers=f,y(e,t,!0,t.length,n,"",a.finish),t.pendingcb++,t.lastBufferedRequest=null,a.next?(t.corkedRequestsFree=a.next,a.next=null):t.corkedRequestsFree=new o(t),t.bufferedRequestCount=0}else{for(;r;){var c=r.chunk,d=r.encoding,u=r.callback;if(y(e,t,!1,t.objectMode?1:c.length,c,d,u),r=r.next,t.bufferedRequestCount--,t.writing)break}null===r&&(t.lastBufferedRequest=null)}t.bufferedRequest=r,t.bufferProcessing=!1}function M(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function S(e,t){e._final((function(r){t.pendingcb--,r&&e.emit("error",r),t.prefinished=!0,e.emit("prefinish"),k(e,t)}))}function k(e,t){var r=M(t);return r&&(!function(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,a.nextTick(S,e,t)):(t.prefinished=!0,e.emit("prefinish")))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),r}c.inherits(v,u),g.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(g.prototype,"buffer",{get:d.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(b=Function.prototype[Symbol.hasInstance],Object.defineProperty(v,Symbol.hasInstance,{value:function(e){return!!b.call(this,e)||this===v&&(e&&e._writableState instanceof g)}})):b=function(e){return e instanceof this},v.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},v.prototype.write=function(e,t,r){var i,n=this._writableState,o=!1,s=!n.objectMode&&(i=e,h.isBuffer(i)||i instanceof l);return s&&!h.isBuffer(e)&&(e=function(e){return h.from(e)}(e)),"function"==typeof t&&(r=t,t=null),s?t="buffer":t||(t=n.defaultEncoding),"function"!=typeof r&&(r=m),n.ended?function(e,t){var r=new Error("write after end");e.emit("error",r),a.nextTick(t,r)}(this,r):(s||function(e,t,r,i){var n=!0,o=!1;return null===r?o=new TypeError("May not write null values to stream"):"string"==typeof r||void 0===r||t.objectMode||(o=new TypeError("Invalid non-string/buffer chunk")),o&&(e.emit("error",o),a.nextTick(i,o),n=!1),n}(this,n,e,r))&&(n.pendingcb++,o=function(e,t,r,i,n,a){if(!r){var o=function(e,t,r){e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=h.from(t,r));return t}(t,i,n);i!==o&&(r=!0,n="buffer",i=o)}var s=t.objectMode?1:i.length;t.length+=s;var f=t.length<t.highWaterMark;f||(t.needDrain=!0);if(t.writing||t.corked){var c=t.lastBufferedRequest;t.lastBufferedRequest={chunk:i,encoding:n,isBuf:r,callback:a,next:null},c?c.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else y(e,t,!1,s,i,n,a);return f}(this,n,s,e,t,r)),o},v.prototype.cork=function(){this._writableState.corked++},v.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||_(this,e))},v.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(v.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),v.prototype._write=function(e,t,r){r(new Error("_write() is not implemented"))},v.prototype._writev=null,v.prototype.end=function(e,t,r){var i=this._writableState;"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||i.finished||function(e,t,r){t.ending=!0,k(e,t),r&&(t.finished?a.nextTick(r):e.once("finish",r));t.ended=!0,e.writable=!1}(this,i,r)},Object.defineProperty(v.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),v.prototype.destroy=p.destroy,v.prototype._undestroy=p.undestroy,v.prototype._destroy=function(e,t){this.end(),t(e)}}).call(this,r(3),r(142).setImmediate,r(5))},function(e,t,r){t.pbkdf2=r(151),t.pbkdf2Sync=r(76)},function(e,t,r){"use strict";var i=r(6);function n(e){this.options=e,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}e.exports=n,n.prototype._init=function(){},n.prototype.update=function(e){return 0===e.length?[]:"decrypt"===this.type?this._updateDecrypt(e):this._updateEncrypt(e)},n.prototype._buffer=function(e,t){for(var r=Math.min(this.buffer.length-this.bufferOff,e.length-t),i=0;i<r;i++)this.buffer[this.bufferOff+i]=e[t+i];return this.bufferOff+=r,r},n.prototype._flushBuffer=function(e,t){return this._update(this.buffer,0,e,t),this.bufferOff=0,this.blockSize},n.prototype._updateEncrypt=function(e){var t=0,r=0,i=(this.bufferOff+e.length)/this.blockSize|0,n=new Array(i*this.blockSize);0!==this.bufferOff&&(t+=this._buffer(e,t),this.bufferOff===this.buffer.length&&(r+=this._flushBuffer(n,r)));for(var a=e.length-(e.length-t)%this.blockSize;t<a;t+=this.blockSize)this._update(e,t,n,r),r+=this.blockSize;for(;t<e.length;t++,this.bufferOff++)this.buffer[this.bufferOff]=e[t];return n},n.prototype._updateDecrypt=function(e){for(var t=0,r=0,i=Math.ceil((this.bufferOff+e.length)/this.blockSize)-1,n=new Array(i*this.blockSize);i>0;i--)t+=this._buffer(e,t),r+=this._flushBuffer(n,r);return t+=this._buffer(e,t),n},n.prototype.final=function(e){var t,r;return e&&(t=this.update(e)),r="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),t?t.concat(r):r},n.prototype._pad=function(e,t){if(0===t)return!1;for(;t<e.length;)e[t++]=0;return!0},n.prototype._finalEncrypt=function(){if(!this._pad(this.buffer,this.bufferOff))return[];var e=new Array(this.blockSize);return this._update(this.buffer,0,e,0),e},n.prototype._unpad=function(e){return e},n.prototype._finalDecrypt=function(){i.equal(this.bufferOff,this.blockSize,"Not enough data to decrypt");var e=new Array(this.blockSize);return this._flushBuffer(e,0),this._unpad(e)}},function(e,t,r){var i=r(157),n=r(165),a=r(82);t.createCipher=t.Cipher=i.createCipher,t.createCipheriv=t.Cipheriv=i.createCipheriv,t.createDecipher=t.Decipher=n.createDecipher,t.createDecipheriv=t.Decipheriv=n.createDecipheriv,t.listCiphers=t.getCiphers=function(){return Object.keys(a)}},function(e,t,r){var i={ECB:r(158),CBC:r(159),CFB:r(160),CFB8:r(161),CFB1:r(162),OFB:r(163),CTR:r(80),GCM:r(80)},n=r(82);for(var a in n)n[a].module=i[n[a].mode];e.exports=n},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,r){var i;function n(e){this.rand=e}if(e.exports=function(e){return i||(i=new n(null)),i.generate(e)},e.exports.Rand=n,n.prototype.generate=function(e){return this._rand(e)},n.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var t=new Uint8Array(e),r=0;r<t.length;r++)t[r]=this.rand.getByte();return t},"object"==typeof self)self.crypto&&self.crypto.getRandomValues?n.prototype._rand=function(e){var t=new Uint8Array(e);return self.crypto.getRandomValues(t),t}:self.msCrypto&&self.msCrypto.getRandomValues?n.prototype._rand=function(e){var t=new Uint8Array(e);return self.msCrypto.getRandomValues(t),t}:"object"==typeof window&&(n.prototype._rand=function(){throw new Error("Not implemented yet")});else try{var a=r(169);if("function"!=typeof a.randomBytes)throw new Error("Not supported");n.prototype._rand=function(e){return a.randomBytes(e)}}catch(e){}},function(e,t,r){"use strict";var i=r(19).codes.ERR_STREAM_PREMATURE_CLOSE;function n(){}e.exports=function e(t,r,a){if("function"==typeof r)return e(t,null,r);r||(r={}),a=function(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,i=new Array(r),n=0;n<r;n++)i[n]=arguments[n];e.apply(this,i)}}}(a||n);var o=r.readable||!1!==r.readable&&t.readable,s=r.writable||!1!==r.writable&&t.writable,f=function(){t.writable||d()},c=t._writableState&&t._writableState.finished,d=function(){s=!1,c=!0,o||a.call(t)},u=t._readableState&&t._readableState.endEmitted,h=function(){o=!1,u=!0,s||a.call(t)},l=function(e){a.call(t,e)},b=function(){var e;return o&&!u?(t._readableState&&t._readableState.ended||(e=new i),a.call(t,e)):s&&!c?(t._writableState&&t._writableState.ended||(e=new i),a.call(t,e)):void 0},p=function(){t.req.on("finish",d)};return!function(e){return e.setHeader&&"function"==typeof e.abort}(t)?s&&!t._writableState&&(t.on("end",f),t.on("close",f)):(t.on("complete",d),t.on("abort",b),t.req?p():t.on("request",p)),t.on("end",h),t.on("finish",d),!1!==r.error&&t.on("error",l),t.on("close",b),function(){t.removeListener("complete",d),t.removeListener("abort",b),t.removeListener("request",p),t.req&&t.req.removeListener("finish",d),t.removeListener("end",f),t.removeListener("close",f),t.removeListener("finish",d),t.removeListener("end",h),t.removeListener("error",l),t.removeListener("close",b)}}},function(e,t,r){(function(t){var i=r(182),n=r(10);function a(e){var t,r=e.modulus.byteLength();do{t=new i(n(r))}while(t.cmp(e.modulus)>=0||!t.umod(e.prime1)||!t.umod(e.prime2));return t}function o(e,r){var n=function(e){var t=a(e);return{blinder:t.toRed(i.mont(e.modulus)).redPow(new i(e.publicExponent)).fromRed(),unblinder:t.invm(e.modulus)}}(r),o=r.modulus.byteLength(),s=new i(e).mul(n.blinder).umod(r.modulus),f=s.toRed(i.mont(r.prime1)),c=s.toRed(i.mont(r.prime2)),d=r.coefficient,u=r.prime1,h=r.prime2,l=f.redPow(r.exponent1).fromRed(),b=c.redPow(r.exponent2).fromRed(),p=l.isub(b).imul(d).umod(u).imul(h);return b.iadd(p).imul(n.unblinder).umod(r.modulus).toArrayLike(t,"be",o)}o.getr=a,e.exports=o}).call(this,r(2).Buffer)},function(e,t,r){"use strict";var i,n=t,a=r(50),o=r(94),s=r(7).assert;function f(e){"short"===e.type?this.curve=new o.short(e):"edwards"===e.type?this.curve=new o.edwards(e):this.curve=new o.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,s(this.g.validate(),"Invalid curve"),s(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function c(e,t){Object.defineProperty(n,e,{configurable:!0,enumerable:!0,get:function(){var r=new f(t);return Object.defineProperty(n,e,{configurable:!0,enumerable:!0,value:r}),r}})}n.PresetCurve=f,c("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:a.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),c("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:a.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),c("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:a.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),c("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:a.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"]}),c("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:a.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"]}),c("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:a.sha256,gRed:!1,g:["9"]}),c("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:a.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{i=r(194)}catch(e){i=void 0}c("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:a.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",i]})},function(e,t,r){var i=t;i.utils=r(9),i.common=r(24),i.sha=r(188),i.ripemd=r(192),i.hmac=r(193),i.sha1=i.sha.sha1,i.sha256=i.sha.sha256,i.sha224=i.sha.sha224,i.sha384=i.sha.sha384,i.sha512=i.sha.sha512,i.ripemd160=i.ripemd.ripemd160},function(e,t,r){"use strict";(function(t){var i,n=r(2),a=n.Buffer,o={};for(i in n)n.hasOwnProperty(i)&&"SlowBuffer"!==i&&"Buffer"!==i&&(o[i]=n[i]);var s=o.Buffer={};for(i in a)a.hasOwnProperty(i)&&"allocUnsafe"!==i&&"allocUnsafeSlow"!==i&&(s[i]=a[i]);if(o.Buffer.prototype=a.prototype,s.from&&s.from!==Uint8Array.from||(s.from=function(e,t,r){if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type '+typeof e);if(e&&void 0===e.length)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);return a(e,t,r)}),s.alloc||(s.alloc=function(e,t,r){if("number"!=typeof e)throw new TypeError('The "size" argument must be of type number. Received type '+typeof e);if(e<0||e>=2*(1<<30))throw new RangeError('The value "'+e+'" is invalid for option "size"');var i=a(e);return t&&0!==t.length?"string"==typeof r?i.fill(t,r):i.fill(t):i.fill(0),i}),!o.kStringMaxLength)try{o.kStringMaxLength=t.binding("buffer").kStringMaxLength}catch(e){}o.constants||(o.constants={MAX_LENGTH:o.kMaxLength},o.kStringMaxLength&&(o.constants.MAX_STRING_LENGTH=o.kStringMaxLength)),e.exports=o}).call(this,r(3))},function(e,t,r){"use strict";const i=r(53).Reporter,n=r(25).EncoderBuffer,a=r(25).DecoderBuffer,o=r(6),s=["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"],f=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(s);function c(e,t,r){const i={};this._baseState=i,i.name=r,i.enc=e,i.parent=t||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())}e.exports=c;const d=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];c.prototype.clone=function(){const e=this._baseState,t={};d.forEach((function(r){t[r]=e[r]}));const r=new this.constructor(t.parent);return r._baseState=t,r},c.prototype._wrap=function(){const e=this._baseState;f.forEach((function(t){this[t]=function(){const r=new this.constructor(this);return e.children.push(r),r[t].apply(r,arguments)}}),this)},c.prototype._init=function(e){const t=this._baseState;o(null===t.parent),e.call(this),t.children=t.children.filter((function(e){return e._baseState.parent===this}),this),o.equal(t.children.length,1,"Root node can have only one child")},c.prototype._useArgs=function(e){const t=this._baseState,r=e.filter((function(e){return e instanceof this.constructor}),this);e=e.filter((function(e){return!(e instanceof this.constructor)}),this),0!==r.length&&(o(null===t.children),t.children=r,r.forEach((function(e){e._baseState.parent=this}),this)),0!==e.length&&(o(null===t.args),t.args=e,t.reverseArgs=e.map((function(e){if("object"!=typeof e||e.constructor!==Object)return e;const t={};return Object.keys(e).forEach((function(r){r==(0|r)&&(r|=0);const i=e[r];t[i]=r})),t})))},["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"].forEach((function(e){c.prototype[e]=function(){const t=this._baseState;throw new Error(e+" not implemented for encoding: "+t.enc)}})),s.forEach((function(e){c.prototype[e]=function(){const t=this._baseState,r=Array.prototype.slice.call(arguments);return o(null===t.tag),t.tag=e,this._useArgs(r),this}})),c.prototype.use=function(e){o(e);const t=this._baseState;return o(null===t.use),t.use=e,this},c.prototype.optional=function(){return this._baseState.optional=!0,this},c.prototype.def=function(e){const t=this._baseState;return o(null===t.default),t.default=e,t.optional=!0,this},c.prototype.explicit=function(e){const t=this._baseState;return o(null===t.explicit&&null===t.implicit),t.explicit=e,this},c.prototype.implicit=function(e){const t=this._baseState;return o(null===t.explicit&&null===t.implicit),t.implicit=e,this},c.prototype.obj=function(){const e=this._baseState,t=Array.prototype.slice.call(arguments);return e.obj=!0,0!==t.length&&this._useArgs(t),this},c.prototype.key=function(e){const t=this._baseState;return o(null===t.key),t.key=e,this},c.prototype.any=function(){return this._baseState.any=!0,this},c.prototype.choice=function(e){const t=this._baseState;return o(null===t.choice),t.choice=e,this._useArgs(Object.keys(e).map((function(t){return e[t]}))),this},c.prototype.contains=function(e){const t=this._baseState;return o(null===t.use),t.contains=e,this},c.prototype._decode=function(e,t){const r=this._baseState;if(null===r.parent)return e.wrapResult(r.children[0]._decode(e,t));let i,n=r.default,o=!0,s=null;if(null!==r.key&&(s=e.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(e,i,r.any),e.isError(o))return o}else{const i=e.save();try{null===r.choice?this._decodeGeneric(r.tag,e,t):this._decodeChoice(e,t),o=!0}catch(e){o=!1}e.restore(i)}}if(r.obj&&o&&(i=e.enterObject()),o){if(null!==r.explicit){const t=this._decodeTag(e,r.explicit);if(e.isError(t))return t;e=t}const i=e.offset;if(null===r.use&&null===r.choice){let t;r.any&&(t=e.save());const i=this._decodeTag(e,null!==r.implicit?r.implicit:r.tag,r.any);if(e.isError(i))return i;r.any?n=e.raw(t):e=i}if(t&&t.track&&null!==r.tag&&t.track(e.path(),i,e.length,"tagged"),t&&t.track&&null!==r.tag&&t.track(e.path(),e.offset,e.length,"content"),r.any||(n=null===r.choice?this._decodeGeneric(r.tag,e,t):this._decodeChoice(e,t)),e.isError(n))return n;if(r.any||null!==r.choice||null===r.children||r.children.forEach((function(r){r._decode(e,t)})),r.contains&&("octstr"===r.tag||"bitstr"===r.tag)){const i=new a(n);n=this._getUse(r.contains,e._reporterState.obj)._decode(i,t)}}return r.obj&&o&&(n=e.leaveObject(i)),null===r.key||null===n&&!0!==o?null!==s&&e.exitKey(s):e.leaveKey(s,r.key,n),n},c.prototype._decodeGeneric=function(e,t,r){const i=this._baseState;return"seq"===e||"set"===e?null:"seqof"===e||"setof"===e?this._decodeList(t,e,i.args[0],r):/str$/.test(e)?this._decodeStr(t,e,r):"objid"===e&&i.args?this._decodeObjid(t,i.args[0],i.args[1],r):"objid"===e?this._decodeObjid(t,null,null,r):"gentime"===e||"utctime"===e?this._decodeTime(t,e,r):"null_"===e?this._decodeNull(t,r):"bool"===e?this._decodeBool(t,r):"objDesc"===e?this._decodeStr(t,e,r):"int"===e||"enum"===e?this._decodeInt(t,i.args&&i.args[0],r):null!==i.use?this._getUse(i.use,t._reporterState.obj)._decode(t,r):t.error("unknown tag: "+e)},c.prototype._getUse=function(e,t){const r=this._baseState;return r.useDecoder=this._use(e,t),o(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},c.prototype._decodeChoice=function(e,t){const r=this._baseState;let i=null,n=!1;return Object.keys(r.choice).some((function(a){const o=e.save(),s=r.choice[a];try{const r=s._decode(e,t);if(e.isError(r))return!1;i={type:a,value:r},n=!0}catch(t){return e.restore(o),!1}return!0}),this),n?i:e.error("Choice not matched")},c.prototype._createEncoderBuffer=function(e){return new n(e,this.reporter)},c.prototype._encode=function(e,t,r){const i=this._baseState;if(null!==i.default&&i.default===e)return;const n=this._encodeValue(e,t,r);return void 0===n||this._skipDefault(n,t,r)?void 0:n},c.prototype._encodeValue=function(e,t,r){const n=this._baseState;if(null===n.parent)return n.children[0]._encode(e,t||new i);let a=null;if(this.reporter=t,n.optional&&void 0===e){if(null===n.default)return;e=n.default}let o=null,s=!1;if(n.any)a=this._createEncoderBuffer(e);else if(n.choice)a=this._encodeChoice(e,t);else if(n.contains)o=this._getUse(n.contains,r)._encode(e,t),s=!0;else if(n.children)o=n.children.map((function(r){if("null_"===r._baseState.tag)return r._encode(null,t,e);if(null===r._baseState.key)return t.error("Child should have a key");const i=t.enterKey(r._baseState.key);if("object"!=typeof e)return t.error("Child expected, but input is not object");const n=r._encode(e[r._baseState.key],t,e);return t.leaveKey(i),n}),this).filter((function(e){return e})),o=this._createEncoderBuffer(o);else if("seqof"===n.tag||"setof"===n.tag){if(!n.args||1!==n.args.length)return t.error("Too many args for : "+n.tag);if(!Array.isArray(e))return t.error("seqof/setof, but data is not Array");const r=this.clone();r._baseState.implicit=null,o=this._createEncoderBuffer(e.map((function(r){const i=this._baseState;return this._getUse(i.args[0],e)._encode(r,t)}),r))}else null!==n.use?a=this._getUse(n.use,r)._encode(e,t):(o=this._encodePrimitive(n.tag,e),s=!0);if(!n.any&&null===n.choice){const e=null!==n.implicit?n.implicit:n.tag,r=null===n.implicit?"universal":"context";null===e?null===n.use&&t.error("Tag could be omitted only for .use()"):null===n.use&&(a=this._encodeComposite(e,s,r,o))}return null!==n.explicit&&(a=this._encodeComposite(n.explicit,!1,"context",a)),a},c.prototype._encodeChoice=function(e,t){const r=this._baseState,i=r.choice[e.type];return i||o(!1,e.type+" not found in "+JSON.stringify(Object.keys(r.choice))),i._encode(e.value,t)},c.prototype._encodePrimitive=function(e,t){const r=this._baseState;if(/str$/.test(e))return this._encodeStr(t,e);if("objid"===e&&r.args)return this._encodeObjid(t,r.reverseArgs[0],r.args[1]);if("objid"===e)return this._encodeObjid(t,null,null);if("gentime"===e||"utctime"===e)return this._encodeTime(t,e);if("null_"===e)return this._encodeNull();if("int"===e||"enum"===e)return this._encodeInt(t,r.args&&r.reverseArgs[0]);if("bool"===e)return this._encodeBool(t);if("objDesc"===e)return this._encodeStr(t,e);throw new Error("Unsupported tag: "+e)},c.prototype._isNumstr=function(e){return/^[0-9 ]*$/.test(e)},c.prototype._isPrintstr=function(e){return/^[A-Za-z0-9 '()+,-./:=?]*$/.test(e)}},function(e,t,r){"use strict";const i=r(0);function n(e){this._reporterState={obj:null,path:[],options:e||{},errors:[]}}function a(e,t){this.path=e,this.rethrow(t)}t.Reporter=n,n.prototype.isError=function(e){return e instanceof a},n.prototype.save=function(){const e=this._reporterState;return{obj:e.obj,pathLen:e.path.length}},n.prototype.restore=function(e){const t=this._reporterState;t.obj=e.obj,t.path=t.path.slice(0,e.pathLen)},n.prototype.enterKey=function(e){return this._reporterState.path.push(e)},n.prototype.exitKey=function(e){const t=this._reporterState;t.path=t.path.slice(0,e-1)},n.prototype.leaveKey=function(e,t,r){const i=this._reporterState;this.exitKey(e),null!==i.obj&&(i.obj[t]=r)},n.prototype.path=function(){return this._reporterState.path.join("/")},n.prototype.enterObject=function(){const e=this._reporterState,t=e.obj;return e.obj={},t},n.prototype.leaveObject=function(e){const t=this._reporterState,r=t.obj;return t.obj=e,r},n.prototype.error=function(e){let t;const r=this._reporterState,i=e instanceof a;if(t=i?e:new a(r.path.map((function(e){return"["+JSON.stringify(e)+"]"})).join(""),e.message||e,e.stack),!r.options.partial)throw t;return i||r.errors.push(t),t},n.prototype.wrapResult=function(e){const t=this._reporterState;return t.options.partial?{result:this.isError(e)?null:e,errors:t.errors}:e},i(a,Error),a.prototype.rethrow=function(e){if(this.message=e+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,a),!this.stack)try{throw new Error(this.message)}catch(e){this.stack=e.stack}return this}},function(e,t,r){"use strict";function i(e){const t={};return Object.keys(e).forEach((function(r){(0|r)==r&&(r|=0);const i=e[r];t[i]=r})),t}t.tagClass={0:"universal",1:"application",2:"context",3:"private"},t.tagClassByName=i(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=i(t.tag)},function(e,t){var r={Array:function(e){return null!=e&&e.constructor===Array},Boolean:function(e){return"boolean"==typeof e},Function:function(e){return"function"==typeof e},Nil:function(e){return null==e},Number:function(e){return"number"==typeof e},Object:function(e){return"object"==typeof e},String:function(e){return"string"==typeof e},"":function(){return!0}};for(var i in r.Null=r.Nil,r)r[i].toJSON=function(e){return e}.bind(null,i);e.exports=r},function(e,t){var r={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},function(e,t,r){"use strict";(function(e){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(r(58)),a=i(r(122));function o(e){return new Uint8Array(e)}function s(e,t=!1){const r=e.toString("hex");return t?O(r):r}function f(e){return e.toString("utf8")}function c(e){return e.readUIntBE(0,e.length)}function d(e){return a.default(e)}function u(e,t=!1){return s(d(e),t)}function h(e){return f(d(e))}function l(e){return c(d(e))}function b(e){return Array.from(e).map(w).join("")}function p(t){return e.from(N(t),"hex")}function m(e){return o(p(e))}function g(e){return b(m(e))}function v(t){return e.from(t,"utf8")}function y(e){return o(v(e))}function w(e){return j((e>>>0).toString(2))}function _(e){return d(M(e))}function M(e){return new Uint8Array(q(e).map(e=>parseInt(e,2)))}function S(e,t){return u(M(e),t)}function k(e){return!("string"!=typeof e||!new RegExp(/^[01]+$/).test(e))&&e.length%8==0}function E(e,t){return!("string"!=typeof e||!e.match(/^0x[0-9A-Fa-f]*$/))&&(!t||e.length===2+2*t)}function x(t){return e.isBuffer(t)}function z(e){return n.default.strict(e)&&!x(e)}function A(e){return!z(e)&&!x(e)&&void 0!==e.byteLength}function I(e,t=8){const r=e%t;return r?(e-r)/t*t+t:e}function q(e,t=8){const r=j(e).match(new RegExp(`.{${t}}`,"gi"));return Array.from(r||[])}function R(e){return q(e).map(T).join("")}function j(e,t=8,r="0"){return B(e,I(e.length,t),r)}function B(e,t,r="0"){return P(e,t,!0,r)}function N(e){return e.replace(/^0x/,"")}function O(e){return e.startsWith("0x")?e:"0x"+e}function T(e){return e.split("").reverse().join("")}function P(e,t,r,i="0"){const n=t-e.length;let a=e;if(n>0){const t=i.repeat(n);a=r?t+e:e+t}return a}t.bufferToArray=o,t.bufferToHex=s,t.bufferToUtf8=f,t.bufferToNumber=c,t.bufferToBinary=function(e){return b(o(e))},t.arrayToBuffer=d,t.arrayToHex=u,t.arrayToUtf8=h,t.arrayToNumber=l,t.arrayToBinary=b,t.hexToBuffer=p,t.hexToArray=m,t.hexToUtf8=function(e){return f(p(e))},t.hexToNumber=function(e){return l(m(e))},t.hexToBinary=g,t.utf8ToBuffer=v,t.utf8ToArray=y,t.utf8ToHex=function(e,t=!1){return s(v(e),t)},t.utf8ToNumber=function(e){const t=parseInt(e,10);return function(e,t){if(!e)throw new Error(t)}(!function(e){return void 0===e}(t),"Number can only safely store up to 53 bits"),t},t.utf8ToBinary=function(e){return b(y(e))},t.numberToBuffer=function(e){return _(w(e))},t.numberToArray=function(e){return M(w(e))},t.numberToHex=function(e,t){return S(w(e),t)},t.numberToUtf8=function(e){return""+e},t.numberToBinary=w,t.binaryToBuffer=_,t.binaryToArray=M,t.binaryToHex=S,t.binaryToUtf8=function(e){return h(M(e))},t.binaryToNumber=function(e){return l(M(e))},t.isBinaryString=k,t.isHexString=E,t.isBuffer=x,t.isTypedArray=z,t.isArrayBuffer=A,t.getType=function(e){return x(e)?"buffer":z(e)?"typed-array":A(e)?"array-buffer":Array.isArray(e)?"array":typeof e},t.getEncoding=function(e){return k(e)?"binary":E(e)?"hex":"utf8"},t.concatBuffers=function(...t){return e.concat(t)},t.concatArrays=function(...e){let t=[];return e.forEach(e=>t=t.concat(Array.from(e))),new Uint8Array([...t])},t.trimLeft=function(e,t){const r=e.length-t;return r>0&&(e=e.slice(r)),e},t.trimRight=function(e,t){return e.slice(0,t)},t.calcByteLength=I,t.splitBytes=q,t.swapBytes=R,t.swapHex=function(e){return S(R(g(e)))},t.sanitizeBytes=j,t.padLeft=B,t.padRight=function(e,t,r="0"){return P(e,t,!1,r)},t.removeHexPrefix=N,t.addHexPrefix=O,t.sanitizeHex=function(e){return(e=j(e=N(e),2))&&(e=O(e)),e},t.removeHexLeadingZeros=function(e){const t=e.startsWith("0x");return e=(e=N(e)).startsWith("0")?e.substring(1):e,t?O(e):e}}).call(this,r(2).Buffer)},function(e,t){e.exports=n,n.strict=a,n.loose=o;var r=Object.prototype.toString,i={"[object Int8Array]":!0,"[object Int16Array]":!0,"[object Int32Array]":!0,"[object Uint8Array]":!0,"[object Uint8ClampedArray]":!0,"[object Uint16Array]":!0,"[object Uint32Array]":!0,"[object Float32Array]":!0,"[object Float64Array]":!0};function n(e){return a(e)||o(e)}function a(e){return e instanceof Int8Array||e instanceof Int16Array||e instanceof Int32Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Uint16Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array}function o(e){return i[r.call(e)]}},function(e,t,r){"use strict";var i=r(1).Buffer,n=r(126).Transform;function a(e){n.call(this),this._block=i.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}r(0)(a,n),a.prototype._transform=function(e,t,r){var i=null;try{this.update(e,t)}catch(e){i=e}r(i)},a.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(e){t=e}e(t)},a.prototype.update=function(e,t){if(function(e,t){if(!i.isBuffer(e)&&"string"!=typeof e)throw new TypeError(t+" must be a string or a buffer")}(e,"Data"),this._finalized)throw new Error("Digest already called");i.isBuffer(e)||(e=i.from(e,t));for(var r=this._block,n=0;this._blockOffset+e.length-n>=this._blockSize;){for(var a=this._blockOffset;a<this._blockSize;)r[a++]=e[n++];this._update(),this._blockOffset=0}for(;n<e.length;)r[this._blockOffset++]=e[n++];for(var o=0,s=8*e.length;s>0;++o)this._length[o]+=s,(s=this._length[o]/4294967296|0)>0&&(this._length[o]-=4294967296*s);return this},a.prototype._update=function(){throw new Error("_update is not implemented")},a.prototype.digest=function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var t=this._digest();void 0!==e&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return t},a.prototype._digest=function(){throw new Error("_digest is not implemented")},e.exports=a},function(e,t,r){"use strict";(function(t,i){var n;e.exports=E,E.ReadableState=k;r(13).EventEmitter;var a=function(e,t){return e.listeners(t).length},o=r(61),s=r(2).Buffer,f=t.Uint8Array||function(){};var c,d=r(127);c=d&&d.debuglog?d.debuglog("stream"):function(){};var u,h,l,b=r(128),p=r(62),m=r(63).getHighWaterMark,g=r(16).codes,v=g.ERR_INVALID_ARG_TYPE,y=g.ERR_STREAM_PUSH_AFTER_EOF,w=g.ERR_METHOD_NOT_IMPLEMENTED,_=g.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;r(0)(E,o);var M=p.errorOrDestroy,S=["error","close","destroy","pause","resume"];function k(e,t,i){n=n||r(17),e=e||{},"boolean"!=typeof i&&(i=t instanceof n),this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=m(this,e,"readableHighWaterMark",i),this.buffer=new b,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!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(u||(u=r(14).StringDecoder),this.decoder=new u(e.encoding),this.encoding=e.encoding)}function E(e){if(n=n||r(17),!(this instanceof E))return new E(e);var t=this instanceof n;this._readableState=new k(e,this,t),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),o.call(this)}function x(e,t,r,i,n){c("readableAddChunk",t);var a,o=e._readableState;if(null===t)o.reading=!1,function(e,t){if(c("onEofChunk"),t.ended)return;if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?I(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,q(e)))}(e,o);else if(n||(a=function(e,t){var r;i=t,s.isBuffer(i)||i instanceof f||"string"==typeof t||void 0===t||e.objectMode||(r=new v("chunk",["string","Buffer","Uint8Array"],t));var i;return r}(o,t)),a)M(e,a);else if(o.objectMode||t&&t.length>0)if("string"==typeof t||o.objectMode||Object.getPrototypeOf(t)===s.prototype||(t=function(e){return s.from(e)}(t)),i)o.endEmitted?M(e,new _):z(e,o,t,!0);else if(o.ended)M(e,new y);else{if(o.destroyed)return!1;o.reading=!1,o.decoder&&!r?(t=o.decoder.write(t),o.objectMode||0!==t.length?z(e,o,t,!1):R(e,o)):z(e,o,t,!1)}else i||(o.reading=!1,R(e,o));return!o.ended&&(o.length<o.highWaterMark||0===o.length)}function z(e,t,r,i){t.flowing&&0===t.length&&!t.sync?(t.awaitDrain=0,e.emit("data",r)):(t.length+=t.objectMode?1:r.length,i?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&I(e)),R(e,t)}Object.defineProperty(E.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),E.prototype.destroy=p.destroy,E.prototype._undestroy=p.undestroy,E.prototype._destroy=function(e,t){t(e)},E.prototype.push=function(e,t){var r,i=this._readableState;return i.objectMode?r=!0:"string"==typeof e&&((t=t||i.defaultEncoding)!==i.encoding&&(e=s.from(e,t),t=""),r=!0),x(this,e,t,!1,r)},E.prototype.unshift=function(e){return x(this,e,null,!0,!1)},E.prototype.isPaused=function(){return!1===this._readableState.flowing},E.prototype.setEncoding=function(e){u||(u=r(14).StringDecoder);var t=new u(e);this._readableState.decoder=t,this._readableState.encoding=this._readableState.decoder.encoding;for(var i=this._readableState.buffer.head,n="";null!==i;)n+=t.write(i.data),i=i.next;return this._readableState.buffer.clear(),""!==n&&this._readableState.buffer.push(n),this._readableState.length=n.length,this};function A(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=function(e){return e>=1073741824?e=1073741824:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function I(e){var t=e._readableState;c("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(c("emitReadable",t.flowing),t.emittedReadable=!0,i.nextTick(q,e))}function q(e){var t=e._readableState;c("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,T(e)}function R(e,t){t.readingMore||(t.readingMore=!0,i.nextTick(j,e,t))}function j(e,t){for(;!t.reading&&!t.ended&&(t.length<t.highWaterMark||t.flowing&&0===t.length);){var r=t.length;if(c("maybeReadMore read 0"),e.read(0),r===t.length)break}t.readingMore=!1}function B(e){var t=e._readableState;t.readableListening=e.listenerCount("readable")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function N(e){c("readable nexttick read 0"),e.read(0)}function O(e,t){c("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),T(e),t.flowing&&!t.reading&&e.read(0)}function T(e){var t=e._readableState;for(c("flow",t.flowing);t.flowing&&null!==e.read(););}function P(e,t){return 0===t.length?null:(t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r);var r}function L(e){var t=e._readableState;c("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,i.nextTick(D,t,e))}function D(e,t){if(c("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}function C(e,t){for(var r=0,i=e.length;r<i;r++)if(e[r]===t)return r;return-1}E.prototype.read=function(e){c("read",e),e=parseInt(e,10);var t=this._readableState,r=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&((0!==t.highWaterMark?t.length>=t.highWaterMark:t.length>0)||t.ended))return c("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?L(this):I(this),null;if(0===(e=A(e,t))&&t.ended)return 0===t.length&&L(this),null;var i,n=t.needReadable;return c("need readable",n),(0===t.length||t.length-e<t.highWaterMark)&&c("length less than watermark",n=!0),t.ended||t.reading?c("reading or ended",n=!1):n&&(c("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=A(r,t))),null===(i=e>0?P(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&L(this)),null!==i&&this.emit("data",i),i},E.prototype._read=function(e){M(this,new w("_read()"))},E.prototype.pipe=function(e,t){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=e;break;case 1:n.pipes=[n.pipes,e];break;default:n.pipes.push(e)}n.pipesCount+=1,c("pipe count=%d opts=%j",n.pipesCount,t);var o=(!t||!1!==t.end)&&e!==i.stdout&&e!==i.stderr?f:m;function s(t,i){c("onunpipe"),t===r&&i&&!1===i.hasUnpiped&&(i.hasUnpiped=!0,c("cleanup"),e.removeListener("close",b),e.removeListener("finish",p),e.removeListener("drain",d),e.removeListener("error",l),e.removeListener("unpipe",s),r.removeListener("end",f),r.removeListener("end",m),r.removeListener("data",h),u=!0,!n.awaitDrain||e._writableState&&!e._writableState.needDrain||d())}function f(){c("onend"),e.end()}n.endEmitted?i.nextTick(o):r.once("end",o),e.on("unpipe",s);var d=function(e){return function(){var t=e._readableState;c("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&a(e,"data")&&(t.flowing=!0,T(e))}}(r);e.on("drain",d);var u=!1;function h(t){c("ondata");var i=e.write(t);c("dest.write",i),!1===i&&((1===n.pipesCount&&n.pipes===e||n.pipesCount>1&&-1!==C(n.pipes,e))&&!u&&(c("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function l(t){c("onerror",t),m(),e.removeListener("error",l),0===a(e,"error")&&M(e,t)}function b(){e.removeListener("finish",p),m()}function p(){c("onfinish"),e.removeListener("close",b),m()}function m(){c("unpipe"),r.unpipe(e)}return r.on("data",h),function(e,t,r){if("function"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}(e,"error",l),e.once("close",b),e.once("finish",p),e.emit("pipe",r),n.flowing||(c("pipe resume"),r.resume()),e},E.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r)),this;if(!e){var i=t.pipes,n=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a<n;a++)i[a].emit("unpipe",this,{hasUnpiped:!1});return this}var o=C(t.pipes,e);return-1===o||(t.pipes.splice(o,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,r)),this},E.prototype.on=function(e,t){var r=o.prototype.on.call(this,e,t),n=this._readableState;return"data"===e?(n.readableListening=this.listenerCount("readable")>0,!1!==n.flowing&&this.resume()):"readable"===e&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,c("on readable",n.length,n.reading),n.length?I(this):n.reading||i.nextTick(N,this))),r},E.prototype.addListener=E.prototype.on,E.prototype.removeListener=function(e,t){var r=o.prototype.removeListener.call(this,e,t);return"readable"===e&&i.nextTick(B,this),r},E.prototype.removeAllListeners=function(e){var t=o.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||i.nextTick(B,this),t},E.prototype.resume=function(){var e=this._readableState;return e.flowing||(c("resume"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,i.nextTick(O,e,t))}(this,e)),e.paused=!1,this},E.prototype.pause=function(){return c("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(c("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},E.prototype.wrap=function(e){var t=this,r=this._readableState,i=!1;for(var n in e.on("end",(function(){if(c("wrapped end"),r.decoder&&!r.ended){var e=r.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on("data",(function(n){(c("wrapped data"),r.decoder&&(n=r.decoder.write(n)),r.objectMode&&null==n)||(r.objectMode||n&&n.length)&&(t.push(n)||(i=!0,e.pause()))})),e)void 0===this[n]&&"function"==typeof e[n]&&(this[n]=function(t){return function(){return e[t].apply(e,arguments)}}(n));for(var a=0;a<S.length;a++)e.on(S[a],this.emit.bind(this,S[a]));return this._read=function(t){c("wrapped _read",t),i&&(i=!1,e.resume())},this},"function"==typeof Symbol&&(E.prototype[Symbol.asyncIterator]=function(){return void 0===h&&(h=r(130)),h(this)}),Object.defineProperty(E.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(E.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(E.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}}),E._fromList=P,Object.defineProperty(E.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}),"function"==typeof Symbol&&(E.from=function(e,t){return void 0===l&&(l=r(131)),l(E,e,t)})}).call(this,r(5),r(3))},function(e,t,r){e.exports=r(13).EventEmitter},function(e,t,r){"use strict";(function(t){function r(e,t){n(e,t),i(e)}function i(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function n(e,t){e.emit("error",t)}e.exports={destroy:function(e,a){var o=this,s=this._readableState&&this._readableState.destroyed,f=this._writableState&&this._writableState.destroyed;return s||f?(a?a(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,t.nextTick(n,this,e)):t.nextTick(n,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!a&&e?o._writableState?o._writableState.errorEmitted?t.nextTick(i,o):(o._writableState.errorEmitted=!0,t.nextTick(r,o,e)):t.nextTick(r,o,e):a?(t.nextTick(i,o),a(e)):t.nextTick(i,o)})),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(e,t){var r=e._readableState,i=e._writableState;r&&r.autoDestroy||i&&i.autoDestroy?e.destroy(t):e.emit("error",t)}}}).call(this,r(3))},function(e,t,r){"use strict";var i=r(16).codes.ERR_INVALID_OPT_VALUE;e.exports={getHighWaterMark:function(e,t,r,n){var a=function(e,t,r){return null!=e.highWaterMark?e.highWaterMark:t?e[r]:null}(t,n,r);if(null!=a){if(!isFinite(a)||Math.floor(a)!==a||a<0)throw new i(n?r:"highWaterMark",a);return Math.floor(a)}return e.objectMode?16:16384}}},function(e,t,r){"use strict";(function(t,i){function n(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,r){var i=e.entry;e.entry=null;for(;i;){var n=i.callback;t.pendingcb--,n(r),i=i.next}t.corkedRequestsFree.next=e}(t,e)}}var a;e.exports=E,E.WritableState=k;var o={deprecate:r(34)},s=r(61),f=r(2).Buffer,c=t.Uint8Array||function(){};var d,u=r(62),h=r(63).getHighWaterMark,l=r(16).codes,b=l.ERR_INVALID_ARG_TYPE,p=l.ERR_METHOD_NOT_IMPLEMENTED,m=l.ERR_MULTIPLE_CALLBACK,g=l.ERR_STREAM_CANNOT_PIPE,v=l.ERR_STREAM_DESTROYED,y=l.ERR_STREAM_NULL_VALUES,w=l.ERR_STREAM_WRITE_AFTER_END,_=l.ERR_UNKNOWN_ENCODING,M=u.errorOrDestroy;function S(){}function k(e,t,o){a=a||r(17),e=e||{},"boolean"!=typeof o&&(o=t instanceof a),this.objectMode=!!e.objectMode,o&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=h(this,e,"writableHighWaterMark",o),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var s=!1===e.decodeStrings;this.decodeStrings=!s,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var r=e._writableState,n=r.sync,a=r.writecb;if("function"!=typeof a)throw new m;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(r),t)!function(e,t,r,n,a){--t.pendingcb,r?(i.nextTick(a,n),i.nextTick(R,e,t),e._writableState.errorEmitted=!0,M(e,n)):(a(n),e._writableState.errorEmitted=!0,M(e,n),R(e,t))}(e,r,n,t,a);else{var o=I(r)||e.destroyed;o||r.corked||r.bufferProcessing||!r.bufferedRequest||A(e,r),n?i.nextTick(z,e,r,o,a):z(e,r,o,a)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new n(this)}function E(e){var t=this instanceof(a=a||r(17));if(!t&&!d.call(E,this))return new E(e);this._writableState=new k(e,this,t),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),s.call(this)}function x(e,t,r,i,n,a,o){t.writelen=i,t.writecb=o,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new v("write")):r?e._writev(n,t.onwrite):e._write(n,a,t.onwrite),t.sync=!1}function z(e,t,r,i){r||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,i(),R(e,t)}function A(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var i=t.bufferedRequestCount,a=new Array(i),o=t.corkedRequestsFree;o.entry=r;for(var s=0,f=!0;r;)a[s]=r,r.isBuf||(f=!1),r=r.next,s+=1;a.allBuffers=f,x(e,t,!0,t.length,a,"",o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new n(t),t.bufferedRequestCount=0}else{for(;r;){var c=r.chunk,d=r.encoding,u=r.callback;if(x(e,t,!1,t.objectMode?1:c.length,c,d,u),r=r.next,t.bufferedRequestCount--,t.writing)break}null===r&&(t.lastBufferedRequest=null)}t.bufferedRequest=r,t.bufferProcessing=!1}function I(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function q(e,t){e._final((function(r){t.pendingcb--,r&&M(e,r),t.prefinished=!0,e.emit("prefinish"),R(e,t)}))}function R(e,t){var r=I(t);if(r&&(function(e,t){t.prefinished||t.finalCalled||("function"!=typeof e._final||t.destroyed?(t.prefinished=!0,e.emit("prefinish")):(t.pendingcb++,t.finalCalled=!0,i.nextTick(q,e,t)))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"),t.autoDestroy))){var n=e._readableState;(!n||n.autoDestroy&&n.endEmitted)&&e.destroy()}return r}r(0)(E,s),k.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(k.prototype,"buffer",{get:o.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(d=Function.prototype[Symbol.hasInstance],Object.defineProperty(E,Symbol.hasInstance,{value:function(e){return!!d.call(this,e)||this===E&&(e&&e._writableState instanceof k)}})):d=function(e){return e instanceof this},E.prototype.pipe=function(){M(this,new g)},E.prototype.write=function(e,t,r){var n,a=this._writableState,o=!1,s=!a.objectMode&&(n=e,f.isBuffer(n)||n instanceof c);return s&&!f.isBuffer(e)&&(e=function(e){return f.from(e)}(e)),"function"==typeof t&&(r=t,t=null),s?t="buffer":t||(t=a.defaultEncoding),"function"!=typeof r&&(r=S),a.ending?function(e,t){var r=new w;M(e,r),i.nextTick(t,r)}(this,r):(s||function(e,t,r,n){var a;return null===r?a=new y:"string"==typeof r||t.objectMode||(a=new b("chunk",["string","Buffer"],r)),!a||(M(e,a),i.nextTick(n,a),!1)}(this,a,e,r))&&(a.pendingcb++,o=function(e,t,r,i,n,a){if(!r){var o=function(e,t,r){e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=f.from(t,r));return t}(t,i,n);i!==o&&(r=!0,n="buffer",i=o)}var s=t.objectMode?1:i.length;t.length+=s;var c=t.length<t.highWaterMark;c||(t.needDrain=!0);if(t.writing||t.corked){var d=t.lastBufferedRequest;t.lastBufferedRequest={chunk:i,encoding:n,isBuf:r,callback:a,next:null},d?d.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else x(e,t,!1,s,i,n,a);return c}(this,a,s,e,t,r)),o},E.prototype.cork=function(){this._writableState.corked++},E.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.bufferProcessing||!e.bufferedRequest||A(this,e))},E.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new _(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(E.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(E.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),E.prototype._write=function(e,t,r){r(new p("_write()"))},E.prototype._writev=null,E.prototype.end=function(e,t,r){var n=this._writableState;return"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||function(e,t,r){t.ending=!0,R(e,t),r&&(t.finished?i.nextTick(r):e.once("finish",r));t.ended=!0,e.writable=!1}(this,n,r),this},Object.defineProperty(E.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(E.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),E.prototype.destroy=u.destroy,E.prototype._undestroy=u.undestroy,E.prototype._destroy=function(e,t){t(e)}}).call(this,r(5),r(3))},function(e,t,r){"use strict";e.exports=d;var i=r(16).codes,n=i.ERR_METHOD_NOT_IMPLEMENTED,a=i.ERR_MULTIPLE_CALLBACK,o=i.ERR_TRANSFORM_ALREADY_TRANSFORMING,s=i.ERR_TRANSFORM_WITH_LENGTH_0,f=r(17);function c(e,t){var r=this._transformState;r.transforming=!1;var i=r.writecb;if(null===i)return this.emit("error",new a);r.writechunk=null,r.writecb=null,null!=t&&this.push(t),i(e);var n=this._readableState;n.reading=!1,(n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}function d(e){if(!(this instanceof d))return new d(e);f.call(this,e),this._transformState={afterTransform:c.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.on("prefinish",u)}function u(){var e=this;"function"!=typeof this._flush||this._readableState.destroyed?h(this,null,null):this._flush((function(t,r){h(e,t,r)}))}function h(e,t,r){if(t)return e.emit("error",t);if(null!=r&&e.push(r),e._writableState.length)throw new s;if(e._transformState.transforming)throw new o;return e.push(null)}r(0)(d,f),d.prototype.push=function(e,t){return this._transformState.needTransform=!1,f.prototype.push.call(this,e,t)},d.prototype._transform=function(e,t,r){r(new n("_transform()"))},d.prototype._write=function(e,t,r){var i=this._transformState;if(i.writecb=r,i.writechunk=e,i.writeencoding=t,!i.transforming){var n=this._readableState;(i.needTransform||n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}},d.prototype._read=function(e){var t=this._transformState;null===t.writechunk||t.transforming?t.needTransform=!0:(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform))},d.prototype._destroy=function(e,t){f.prototype._destroy.call(this,e,(function(e){t(e)}))}},function(e,t,r){var i=r(0),n=r(18),a=r(1).Buffer,o=[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],s=new Array(64);function f(){this.init(),this._w=s,n.call(this,64,56)}function c(e,t,r){return r^e&(t^r)}function d(e,t,r){return e&t|r&(e|t)}function u(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function h(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function l(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}i(f,n),f.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},f.prototype._update=function(e){for(var t,r=this._w,i=0|this._a,n=0|this._b,a=0|this._c,s=0|this._d,f=0|this._e,b=0|this._f,p=0|this._g,m=0|this._h,g=0;g<16;++g)r[g]=e.readInt32BE(4*g);for(;g<64;++g)r[g]=0|(((t=r[g-2])>>>17|t<<15)^(t>>>19|t<<13)^t>>>10)+r[g-7]+l(r[g-15])+r[g-16];for(var v=0;v<64;++v){var y=m+h(f)+c(f,b,p)+o[v]+r[v]|0,w=u(i)+d(i,n,a)|0;m=p,p=b,b=f,f=s+y|0,s=a,a=n,n=i,i=y+w|0}this._a=i+this._a|0,this._b=n+this._b|0,this._c=a+this._c|0,this._d=s+this._d|0,this._e=f+this._e|0,this._f=b+this._f|0,this._g=p+this._g|0,this._h=m+this._h|0},f.prototype._hash=function(){var e=a.allocUnsafe(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e},e.exports=f},function(e,t,r){var i=r(0),n=r(18),a=r(1).Buffer,o=[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],s=new Array(160);function f(){this.init(),this._w=s,n.call(this,128,112)}function c(e,t,r){return r^e&(t^r)}function d(e,t,r){return e&t|r&(e|t)}function u(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function h(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function l(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function b(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function p(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function m(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function g(e,t){return e>>>0<t>>>0?1:0}i(f,n),f.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},f.prototype._update=function(e){for(var t=this._w,r=0|this._ah,i=0|this._bh,n=0|this._ch,a=0|this._dh,s=0|this._eh,f=0|this._fh,v=0|this._gh,y=0|this._hh,w=0|this._al,_=0|this._bl,M=0|this._cl,S=0|this._dl,k=0|this._el,E=0|this._fl,x=0|this._gl,z=0|this._hl,A=0;A<32;A+=2)t[A]=e.readInt32BE(4*A),t[A+1]=e.readInt32BE(4*A+4);for(;A<160;A+=2){var I=t[A-30],q=t[A-30+1],R=l(I,q),j=b(q,I),B=p(I=t[A-4],q=t[A-4+1]),N=m(q,I),O=t[A-14],T=t[A-14+1],P=t[A-32],L=t[A-32+1],D=j+T|0,C=R+O+g(D,j)|0;C=(C=C+B+g(D=D+N|0,N)|0)+P+g(D=D+L|0,L)|0,t[A]=C,t[A+1]=D}for(var U=0;U<160;U+=2){C=t[U],D=t[U+1];var F=d(r,i,n),K=d(w,_,M),J=u(r,w),Z=u(w,r),H=h(s,k),W=h(k,s),X=o[U],Y=o[U+1],V=c(s,f,v),G=c(k,E,x),$=z+W|0,Q=y+H+g($,z)|0;Q=(Q=(Q=Q+V+g($=$+G|0,G)|0)+X+g($=$+Y|0,Y)|0)+C+g($=$+D|0,D)|0;var ee=Z+K|0,te=J+F+g(ee,Z)|0;y=v,z=x,v=f,x=E,f=s,E=k,s=a+Q+g(k=S+$|0,S)|0,a=n,S=M,n=i,M=_,i=r,_=w,r=Q+te+g(w=$+ee|0,$)|0}this._al=this._al+w|0,this._bl=this._bl+_|0,this._cl=this._cl+M|0,this._dl=this._dl+S|0,this._el=this._el+k|0,this._fl=this._fl+E|0,this._gl=this._gl+x|0,this._hl=this._hl+z|0,this._ah=this._ah+r+g(this._al,w)|0,this._bh=this._bh+i+g(this._bl,_)|0,this._ch=this._ch+n+g(this._cl,M)|0,this._dh=this._dh+a+g(this._dl,S)|0,this._eh=this._eh+s+g(this._el,k)|0,this._fh=this._fh+f+g(this._fl,E)|0,this._gh=this._gh+v+g(this._gl,x)|0,this._hh=this._hh+y+g(this._hl,z)|0},f.prototype._hash=function(){var e=a.allocUnsafe(64);function t(t,r,i){e.writeInt32BE(t,i),e.writeInt32BE(r,i+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),t(this._gh,this._gl,48),t(this._hh,this._hl,56),e},e.exports=f},function(e,t,r){"use strict";(function(t,i){var n=r(26);e.exports=y;var a,o=r(56);y.ReadableState=v;r(13).EventEmitter;var s=function(e,t){return e.listeners(t).length},f=r(69),c=r(39).Buffer,d=t.Uint8Array||function(){};var u=Object.create(r(22));u.inherits=r(0);var h=r(139),l=void 0;l=h&&h.debuglog?h.debuglog("stream"):function(){};var b,p=r(140),m=r(70);u.inherits(y,f);var g=["error","close","destroy","pause","resume"];function v(e,t){e=e||{};var i=t instanceof(a=a||r(15));this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var n=e.highWaterMark,o=e.readableHighWaterMark,s=this.objectMode?16:16384;this.highWaterMark=n||0===n?n:i&&(o||0===o)?o:s,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new p,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.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(b||(b=r(14).StringDecoder),this.decoder=new b(e.encoding),this.encoding=e.encoding)}function y(e){if(a=a||r(15),!(this instanceof y))return new y(e);this._readableState=new v(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),f.call(this)}function w(e,t,r,i,n){var a,o=e._readableState;null===t?(o.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,S(e)}(e,o)):(n||(a=function(e,t){var r;i=t,c.isBuffer(i)||i instanceof d||"string"==typeof t||void 0===t||e.objectMode||(r=new TypeError("Invalid non-string/buffer chunk"));var i;return r}(o,t)),a?e.emit("error",a):o.objectMode||t&&t.length>0?("string"==typeof t||o.objectMode||Object.getPrototypeOf(t)===c.prototype||(t=function(e){return c.from(e)}(t)),i?o.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):_(e,o,t,!0):o.ended?e.emit("error",new Error("stream.push() after EOF")):(o.reading=!1,o.decoder&&!r?(t=o.decoder.write(t),o.objectMode||0!==t.length?_(e,o,t,!1):E(e,o)):_(e,o,t,!1))):i||(o.reading=!1));return function(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}(o)}function _(e,t,r,i){t.flowing&&0===t.length&&!t.sync?(e.emit("data",r),e.read(0)):(t.length+=t.objectMode?1:r.length,i?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&S(e)),E(e,t)}Object.defineProperty(y.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),y.prototype.destroy=m.destroy,y.prototype._undestroy=m.undestroy,y.prototype._destroy=function(e,t){this.push(null),t(e)},y.prototype.push=function(e,t){var r,i=this._readableState;return i.objectMode?r=!0:"string"==typeof e&&((t=t||i.defaultEncoding)!==i.encoding&&(e=c.from(e,t),t=""),r=!0),w(this,e,t,!1,r)},y.prototype.unshift=function(e){return w(this,e,null,!0,!1)},y.prototype.isPaused=function(){return!1===this._readableState.flowing},y.prototype.setEncoding=function(e){return b||(b=r(14).StringDecoder),this._readableState.decoder=new b(e),this._readableState.encoding=e,this};function M(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=function(e){return e>=8388608?e=8388608:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function S(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(l("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?n.nextTick(k,e):k(e))}function k(e){l("emit readable"),e.emit("readable"),I(e)}function E(e,t){t.readingMore||(t.readingMore=!0,n.nextTick(x,e,t))}function x(e,t){for(var r=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(l("maybeReadMore read 0"),e.read(0),r!==t.length);)r=t.length;t.readingMore=!1}function z(e){l("readable nexttick read 0"),e.read(0)}function A(e,t){t.reading||(l("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),I(e),t.flowing&&!t.reading&&e.read(0)}function I(e){var t=e._readableState;for(l("flow",t.flowing);t.flowing&&null!==e.read(););}function q(e,t){return 0===t.length?null:(t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):r=function(e,t,r){var i;e<t.head.data.length?(i=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):i=e===t.head.data.length?t.shift():r?function(e,t){var r=t.head,i=1,n=r.data;e-=n.length;for(;r=r.next;){var a=r.data,o=e>a.length?a.length:e;if(o===a.length?n+=a:n+=a.slice(0,e),0===(e-=o)){o===a.length?(++i,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=a.slice(o));break}++i}return t.length-=i,n}(e,t):function(e,t){var r=c.allocUnsafe(e),i=t.head,n=1;i.data.copy(r),e-=i.data.length;for(;i=i.next;){var a=i.data,o=e>a.length?a.length:e;if(a.copy(r,r.length-e,0,o),0===(e-=o)){o===a.length?(++n,i.next?t.head=i.next:t.head=t.tail=null):(t.head=i,i.data=a.slice(o));break}++n}return t.length-=n,r}(e,t);return i}(e,t.buffer,t.decoder),r);var r}function R(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,n.nextTick(j,t,e))}function j(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function B(e,t){for(var r=0,i=e.length;r<i;r++)if(e[r]===t)return r;return-1}y.prototype.read=function(e){l("read",e),e=parseInt(e,10);var t=this._readableState,r=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return l("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?R(this):S(this),null;if(0===(e=M(e,t))&&t.ended)return 0===t.length&&R(this),null;var i,n=t.needReadable;return l("need readable",n),(0===t.length||t.length-e<t.highWaterMark)&&l("length less than watermark",n=!0),t.ended||t.reading?l("reading or ended",n=!1):n&&(l("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=M(r,t))),null===(i=e>0?q(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&R(this)),null!==i&&this.emit("data",i),i},y.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},y.prototype.pipe=function(e,t){var r=this,a=this._readableState;switch(a.pipesCount){case 0:a.pipes=e;break;case 1:a.pipes=[a.pipes,e];break;default:a.pipes.push(e)}a.pipesCount+=1,l("pipe count=%d opts=%j",a.pipesCount,t);var f=(!t||!1!==t.end)&&e!==i.stdout&&e!==i.stderr?d:y;function c(t,i){l("onunpipe"),t===r&&i&&!1===i.hasUnpiped&&(i.hasUnpiped=!0,l("cleanup"),e.removeListener("close",g),e.removeListener("finish",v),e.removeListener("drain",u),e.removeListener("error",m),e.removeListener("unpipe",c),r.removeListener("end",d),r.removeListener("end",y),r.removeListener("data",p),h=!0,!a.awaitDrain||e._writableState&&!e._writableState.needDrain||u())}function d(){l("onend"),e.end()}a.endEmitted?n.nextTick(f):r.once("end",f),e.on("unpipe",c);var u=function(e){return function(){var t=e._readableState;l("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&s(e,"data")&&(t.flowing=!0,I(e))}}(r);e.on("drain",u);var h=!1;var b=!1;function p(t){l("ondata"),b=!1,!1!==e.write(t)||b||((1===a.pipesCount&&a.pipes===e||a.pipesCount>1&&-1!==B(a.pipes,e))&&!h&&(l("false write response, pause",r._readableState.awaitDrain),r._readableState.awaitDrain++,b=!0),r.pause())}function m(t){l("onerror",t),y(),e.removeListener("error",m),0===s(e,"error")&&e.emit("error",t)}function g(){e.removeListener("finish",v),y()}function v(){l("onfinish"),e.removeListener("close",g),y()}function y(){l("unpipe"),r.unpipe(e)}return r.on("data",p),function(e,t,r){if("function"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?o(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}(e,"error",m),e.once("close",g),e.once("finish",v),e.emit("pipe",r),a.flowing||(l("pipe resume"),r.resume()),e},y.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r)),this;if(!e){var i=t.pipes,n=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a<n;a++)i[a].emit("unpipe",this,r);return this}var o=B(t.pipes,e);return-1===o||(t.pipes.splice(o,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,r)),this},y.prototype.on=function(e,t){var r=f.prototype.on.call(this,e,t);if("data"===e)!1!==this._readableState.flowing&&this.resume();else if("readable"===e){var i=this._readableState;i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.emittedReadable=!1,i.reading?i.length&&S(this):n.nextTick(z,this))}return r},y.prototype.addListener=y.prototype.on,y.prototype.resume=function(){var e=this._readableState;return e.flowing||(l("resume"),e.flowing=!0,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,n.nextTick(A,e,t))}(this,e)),this},y.prototype.pause=function(){return l("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(l("pause"),this._readableState.flowing=!1,this.emit("pause")),this},y.prototype.wrap=function(e){var t=this,r=this._readableState,i=!1;for(var n in e.on("end",(function(){if(l("wrapped end"),r.decoder&&!r.ended){var e=r.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on("data",(function(n){(l("wrapped data"),r.decoder&&(n=r.decoder.write(n)),r.objectMode&&null==n)||(r.objectMode||n&&n.length)&&(t.push(n)||(i=!0,e.pause()))})),e)void 0===this[n]&&"function"==typeof e[n]&&(this[n]=function(t){return function(){return e[t].apply(e,arguments)}}(n));for(var a=0;a<g.length;a++)e.on(g[a],this.emit.bind(this,g[a]));return this._read=function(t){l("wrapped _read",t),i&&(i=!1,e.resume())},this},Object.defineProperty(y.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),y._fromList=q}).call(this,r(5),r(3))},function(e,t,r){e.exports=r(13).EventEmitter},function(e,t,r){"use strict";var i=r(26);function n(e,t){e.emit("error",t)}e.exports={destroy:function(e,t){var r=this,a=this._readableState&&this._readableState.destroyed,o=this._writableState&&this._writableState.destroyed;return a||o?(t?t(e):!e||this._writableState&&this._writableState.errorEmitted||i.nextTick(n,this,e),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!t&&e?(i.nextTick(n,r,e),r._writableState&&(r._writableState.errorEmitted=!0)):t&&t(e)})),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.finished=!1,this._writableState.errorEmitted=!1)}}},function(e,t,r){"use strict";e.exports=o;var i=r(15),n=Object.create(r(22));function a(e,t){var r=this._transformState;r.transforming=!1;var i=r.writecb;if(!i)return this.emit("error",new Error("write callback called multiple times"));r.writechunk=null,r.writecb=null,null!=t&&this.push(t),i(e);var n=this._readableState;n.reading=!1,(n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}function o(e){if(!(this instanceof o))return new o(e);i.call(this,e),this._transformState={afterTransform:a.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.on("prefinish",s)}function s(){var e=this;"function"==typeof this._flush?this._flush((function(t,r){f(e,t,r)})):f(this,null,null)}function f(e,t,r){if(t)return e.emit("error",t);if(null!=r&&e.push(r),e._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(e._transformState.transforming)throw new Error("Calling transform done when still transforming");return e.push(null)}n.inherits=r(0),n.inherits(o,i),o.prototype.push=function(e,t){return this._transformState.needTransform=!1,i.prototype.push.call(this,e,t)},o.prototype._transform=function(e,t,r){throw new Error("_transform() is not implemented")},o.prototype._write=function(e,t,r){var i=this._transformState;if(i.writecb=r,i.writechunk=e,i.writeencoding=t,!i.transforming){var n=this._readableState;(i.needTransform||n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}},o.prototype._read=function(e){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},o.prototype._destroy=function(e,t){var r=this;i.prototype._destroy.call(this,e,(function(e){t(e),r.emit("close")}))}},function(e,t,r){var i=r(33);e.exports=function(e){return(new i).update(e).digest()}},function(e){e.exports=JSON.parse('{"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"}}')},function(e,t){var r=Math.pow(2,30)-1;e.exports=function(e,t){if("number"!=typeof e)throw new TypeError("Iterations not a number");if(e<0)throw new TypeError("Bad iterations");if("number"!=typeof t)throw new TypeError("Key length not a number");if(t<0||t>r||t!=t)throw new TypeError("Bad key length")}},function(e,t,r){(function(t){var r;if(t.browser)r="utf-8";else if(t.version){r=parseInt(t.version.split(".")[0].slice(1),10)>=6?"utf-8":"binary"}else r="utf-8";e.exports=r}).call(this,r(3))},function(e,t,r){var i=r(72),n=r(36),a=r(37),o=r(1).Buffer,s=r(74),f=r(75),c=r(77),d=o.alloc(128),u={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function h(e,t,r){var s=function(e){function t(t){return a(e).update(t).digest()}return"rmd160"===e||"ripemd160"===e?function(e){return(new n).update(e).digest()}:"md5"===e?i:t}(e),f="sha512"===e||"sha384"===e?128:64;t.length>f?t=s(t):t.length<f&&(t=o.concat([t,d],f));for(var c=o.allocUnsafe(f+u[e]),h=o.allocUnsafe(f+u[e]),l=0;l<f;l++)c[l]=54^t[l],h[l]=92^t[l];var b=o.allocUnsafe(f+r+4);c.copy(b,0,0,f),this.ipad1=b,this.ipad2=c,this.opad=h,this.alg=e,this.blocksize=f,this.hash=s,this.size=u[e]}h.prototype.run=function(e,t){return e.copy(t,this.blocksize),this.hash(t).copy(this.opad,this.blocksize),this.hash(this.opad)},e.exports=function(e,t,r,i,n){s(r,i);var a=new h(n=n||"sha1",e=c(e,f,"Password"),(t=c(t,f,"Salt")).length),d=o.allocUnsafe(i),l=o.allocUnsafe(t.length+4);t.copy(l,0,0,t.length);for(var b=0,p=u[n],m=Math.ceil(i/p),g=1;g<=m;g++){l.writeUInt32BE(g,t.length);for(var v=a.run(l,a.ipad1),y=v,w=1;w<r;w++){y=a.run(y,a.ipad2);for(var _=0;_<p;_++)v[_]^=y[_]}v.copy(d,b),b+=p}return d}},function(e,t,r){var i=r(1).Buffer;e.exports=function(e,t,r){if(i.isBuffer(e))return e;if("string"==typeof e)return i.from(e,t);if(ArrayBuffer.isView(e))return i.from(e.buffer);throw new TypeError(r+" must be a string, a Buffer, a typed array or a DataView")}},function(e,t,r){"use strict";t.readUInt32BE=function(e,t){return(e[0+t]<<24|e[1+t]<<16|e[2+t]<<8|e[3+t])>>>0},t.writeUInt32BE=function(e,t,r){e[0+r]=t>>>24,e[1+r]=t>>>16&255,e[2+r]=t>>>8&255,e[3+r]=255&t},t.ip=function(e,t,r,i){for(var n=0,a=0,o=6;o>=0;o-=2){for(var s=0;s<=24;s+=8)n<<=1,n|=t>>>s+o&1;for(s=0;s<=24;s+=8)n<<=1,n|=e>>>s+o&1}for(o=6;o>=0;o-=2){for(s=1;s<=25;s+=8)a<<=1,a|=t>>>s+o&1;for(s=1;s<=25;s+=8)a<<=1,a|=e>>>s+o&1}r[i+0]=n>>>0,r[i+1]=a>>>0},t.rip=function(e,t,r,i){for(var n=0,a=0,o=0;o<4;o++)for(var s=24;s>=0;s-=8)n<<=1,n|=t>>>s+o&1,n<<=1,n|=e>>>s+o&1;for(o=4;o<8;o++)for(s=24;s>=0;s-=8)a<<=1,a|=t>>>s+o&1,a<<=1,a|=e>>>s+o&1;r[i+0]=n>>>0,r[i+1]=a>>>0},t.pc1=function(e,t,r,i){for(var n=0,a=0,o=7;o>=5;o--){for(var s=0;s<=24;s+=8)n<<=1,n|=t>>s+o&1;for(s=0;s<=24;s+=8)n<<=1,n|=e>>s+o&1}for(s=0;s<=24;s+=8)n<<=1,n|=t>>s+o&1;for(o=1;o<=3;o++){for(s=0;s<=24;s+=8)a<<=1,a|=t>>s+o&1;for(s=0;s<=24;s+=8)a<<=1,a|=e>>s+o&1}for(s=0;s<=24;s+=8)a<<=1,a|=e>>s+o&1;r[i+0]=n>>>0,r[i+1]=a>>>0},t.r28shl=function(e,t){return e<<t&268435455|e>>>28-t};var i=[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];t.pc2=function(e,t,r,n){for(var a=0,o=0,s=i.length>>>1,f=0;f<s;f++)a<<=1,a|=e>>>i[f]&1;for(f=s;f<i.length;f++)o<<=1,o|=t>>>i[f]&1;r[n+0]=a>>>0,r[n+1]=o>>>0},t.expand=function(e,t,r){var i=0,n=0;i=(1&e)<<5|e>>>27;for(var a=23;a>=15;a-=4)i<<=6,i|=e>>>a&63;for(a=11;a>=3;a-=4)n|=e>>>a&63,n<<=6;n|=(31&e)<<1|e>>>31,t[r+0]=i>>>0,t[r+1]=n>>>0};var n=[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];t.substitute=function(e,t){for(var r=0,i=0;i<4;i++){r<<=4,r|=n[64*i+(e>>>18-6*i&63)]}for(i=0;i<4;i++){r<<=4,r|=n[256+64*i+(t>>>18-6*i&63)]}return r>>>0};var a=[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];t.permute=function(e){for(var t=0,r=0;r<a.length;r++)t<<=1,t|=e>>>a[r]&1;return t>>>0},t.padSplit=function(e,t,r){for(var i=e.toString(2);i.length<t;)i="0"+i;for(var n=[],a=0;a<t;a+=r)n.push(i.slice(a,a+r));return n.join(" ")}},function(e,t,r){"use strict";var i=r(6),n=r(0),a=r(78),o=r(42);function s(){this.tmp=new Array(2),this.keys=null}function f(e){o.call(this,e);var t=new s;this._desState=t,this.deriveKeys(t,e.key)}n(f,o),e.exports=f,f.create=function(e){return new f(e)};var c=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];f.prototype.deriveKeys=function(e,t){e.keys=new Array(32),i.equal(t.length,this.blockSize,"Invalid key length");var r=a.readUInt32BE(t,0),n=a.readUInt32BE(t,4);a.pc1(r,n,e.tmp,0),r=e.tmp[0],n=e.tmp[1];for(var o=0;o<e.keys.length;o+=2){var s=c[o>>>1];r=a.r28shl(r,s),n=a.r28shl(n,s),a.pc2(r,n,e.keys,o)}},f.prototype._update=function(e,t,r,i){var n=this._desState,o=a.readUInt32BE(e,t),s=a.readUInt32BE(e,t+4);a.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],a.writeUInt32BE(r,o,i),a.writeUInt32BE(r,s,i+4)},f.prototype._pad=function(e,t){for(var r=e.length-t,i=t;i<e.length;i++)e[i]=r;return!0},f.prototype._unpad=function(e){for(var t=e[e.length-1],r=e.length-t;r<e.length;r++)i.equal(e[r],t);return e.slice(0,e.length-t)},f.prototype._encrypt=function(e,t,r,i,n){for(var o=t,s=r,f=0;f<e.keys.length;f+=2){var c=e.keys[f],d=e.keys[f+1];a.expand(s,e.tmp,0),c^=e.tmp[0],d^=e.tmp[1];var u=a.substitute(c,d),h=s;s=(o^a.permute(u))>>>0,o=h}a.rip(s,o,i,n)},f.prototype._decrypt=function(e,t,r,i,n){for(var o=r,s=t,f=e.keys.length-2;f>=0;f-=2){var c=e.keys[f],d=e.keys[f+1];a.expand(o,e.tmp,0),c^=e.tmp[0],d^=e.tmp[1];var u=a.substitute(c,d),h=o;o=(s^a.permute(u))>>>0,s=h}a.rip(o,s,i,n)}},function(e,t,r){var i=r(23),n=r(1).Buffer,a=r(81);function o(e){var t=e._cipher.encryptBlockRaw(e._prev);return a(e._prev),t}t.encrypt=function(e,t){var r=Math.ceil(t.length/16),a=e._cache.length;e._cache=n.concat([e._cache,n.allocUnsafe(16*r)]);for(var s=0;s<r;s++){var f=o(e),c=a+16*s;e._cache.writeUInt32BE(f[0],c+0),e._cache.writeUInt32BE(f[1],c+4),e._cache.writeUInt32BE(f[2],c+8),e._cache.writeUInt32BE(f[3],c+12)}var d=e._cache.slice(0,t.length);return e._cache=e._cache.slice(t.length),i(t,d)}},function(e,t){e.exports=function(e){for(var t,r=e.length;r--;){if(255!==(t=e.readUInt8(r))){t++,e.writeUInt8(t,r);break}e.writeUInt8(0,r)}}},function(e){e.exports=JSON.parse('{"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"}}')},function(e,t,r){var i=r(28),n=r(1).Buffer,a=r(12),o=r(0),s=r(164),f=r(23),c=r(81);function d(e,t,r,o){a.call(this);var f=n.alloc(4,0);this._cipher=new i.AES(t);var d=this._cipher.encryptBlock(f);this._ghash=new s(d),r=function(e,t,r){if(12===t.length)return e._finID=n.concat([t,n.from([0,0,0,1])]),n.concat([t,n.from([0,0,0,2])]);var i=new s(r),a=t.length,o=a%16;i.update(t),o&&(o=16-o,i.update(n.alloc(o,0))),i.update(n.alloc(8,0));var f=8*a,d=n.alloc(8);d.writeUIntBE(f,0,8),i.update(d),e._finID=i.state;var u=n.from(e._finID);return c(u),u}(this,r,d),this._prev=n.from(r),this._cache=n.allocUnsafe(0),this._secCache=n.allocUnsafe(0),this._decrypt=o,this._alen=0,this._len=0,this._mode=e,this._authTag=null,this._called=!1}o(d,a),d.prototype._update=function(e){if(!this._called&&this._alen){var t=16-this._alen%16;t<16&&(t=n.alloc(t,0),this._ghash.update(t))}this._called=!0;var r=this._mode.encrypt(this,e);return this._decrypt?this._ghash.update(e):this._ghash.update(r),this._len+=e.length,r},d.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var e=f(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function(e,t){var r=0;e.length!==t.length&&r++;for(var i=Math.min(e.length,t.length),n=0;n<i;++n)r+=e[n]^t[n];return r}(e,this._authTag))throw new Error("Unsupported state or unable to authenticate data");this._authTag=e,this._cipher.scrub()},d.prototype.getAuthTag=function(){if(this._decrypt||!n.isBuffer(this._authTag))throw new Error("Attempting to get auth tag in unsupported state");return this._authTag},d.prototype.setAuthTag=function(e){if(!this._decrypt)throw new Error("Attempting to set auth tag in unsupported state");this._authTag=e},d.prototype.setAAD=function(e){if(this._called)throw new Error("Attempting to set AAD in unsupported state");this._ghash.update(e),this._alen+=e.length},e.exports=d},function(e,t,r){var i=r(28),n=r(1).Buffer,a=r(12);function o(e,t,r,o){a.call(this),this._cipher=new i.AES(t),this._prev=n.from(r),this._cache=n.allocUnsafe(0),this._secCache=n.allocUnsafe(0),this._decrypt=o,this._mode=e}r(0)(o,a),o.prototype._update=function(e){return this._mode.encrypt(this,e,this._decrypt)},o.prototype._final=function(){this._cipher.scrub()},e.exports=o},function(e,t,r){var i=r(10);e.exports=v,v.simpleSieve=m,v.fermatTest=g;var n=r(4),a=new n(24),o=new(r(86)),s=new n(1),f=new n(2),c=new n(5),d=(new n(16),new n(8),new n(10)),u=new n(3),h=(new n(7),new n(11)),l=new n(4),b=(new n(12),null);function p(){if(null!==b)return b;var e=[];e[0]=2;for(var t=1,r=3;r<1048576;r+=2){for(var i=Math.ceil(Math.sqrt(r)),n=0;n<t&&e[n]<=i&&r%e[n]!=0;n++);t!==n&&e[n]<=i||(e[t++]=r)}return b=e,e}function m(e){for(var t=p(),r=0;r<t.length;r++)if(0===e.modn(t[r]))return 0===e.cmpn(t[r]);return!0}function g(e){var t=n.mont(e);return 0===f.toRed(t).redPow(e.subn(1)).fromRed().cmpn(1)}function v(e,t){if(e<16)return new n(2===t||5===t?[140,123]:[140,39]);var r,b;for(t=new n(t);;){for(r=new n(i(Math.ceil(e/8)));r.bitLength()>e;)r.ishrn(1);if(r.isEven()&&r.iadd(s),r.testn(1)||r.iadd(f),t.cmp(f)){if(!t.cmp(c))for(;r.mod(d).cmp(u);)r.iadd(l)}else for(;r.mod(a).cmp(h);)r.iadd(l);if(m(b=r.shrn(1))&&m(r)&&g(b)&&g(r)&&o.test(b)&&o.test(r))return r}}},function(e,t,r){var i=r(4),n=r(46);function a(e){this.rand=e||new n.Rand}e.exports=a,a.create=function(e){return new a(e)},a.prototype._randbelow=function(e){var t=e.bitLength(),r=Math.ceil(t/8);do{var n=new i(this.rand.generate(r))}while(n.cmp(e)>=0);return n},a.prototype._randrange=function(e,t){var r=t.sub(e);return e.add(this._randbelow(r))},a.prototype.test=function(e,t,r){var n=e.bitLength(),a=i.mont(e),o=new i(1).toRed(a);t||(t=Math.max(1,n/48|0));for(var s=e.subn(1),f=0;!s.testn(f);f++);for(var c=e.shrn(f),d=s.toRed(a);t>0;t--){var u=this._randrange(new i(2),s);r&&r(u);var h=u.toRed(a).redPow(c);if(0!==h.cmp(o)&&0!==h.cmp(d)){for(var l=1;l<f;l++){if(0===(h=h.redSqr()).cmp(o))return!1;if(0===h.cmp(d))break}if(l===f)return!1}}return!0},a.prototype.getDivisor=function(e,t){var r=e.bitLength(),n=i.mont(e),a=new i(1).toRed(n);t||(t=Math.max(1,r/48|0));for(var o=e.subn(1),s=0;!o.testn(s);s++);for(var f=e.shrn(s),c=o.toRed(n);t>0;t--){var d=this._randrange(new i(2),o),u=e.gcd(d);if(0!==u.cmpn(1))return u;var h=d.toRed(n).redPow(f);if(0!==h.cmp(a)&&0!==h.cmp(c)){for(var l=1;l<s;l++){if(0===(h=h.redSqr()).cmp(a))return h.fromRed().subn(1).gcd(e);if(0===h.cmp(c))break}if(l===s)return(h=h.redSqr()).fromRed().subn(1).gcd(e)}}return!1}},function(e,t,r){"use strict";(function(t,i){var n;e.exports=E,E.ReadableState=k;r(13).EventEmitter;var a=function(e,t){return e.listeners(t).length},o=r(88),s=r(2).Buffer,f=t.Uint8Array||function(){};var c,d=r(174);c=d&&d.debuglog?d.debuglog("stream"):function(){};var u,h,l,b=r(175),p=r(89),m=r(90).getHighWaterMark,g=r(19).codes,v=g.ERR_INVALID_ARG_TYPE,y=g.ERR_STREAM_PUSH_AFTER_EOF,w=g.ERR_METHOD_NOT_IMPLEMENTED,_=g.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;r(0)(E,o);var M=p.errorOrDestroy,S=["error","close","destroy","pause","resume"];function k(e,t,i){n=n||r(20),e=e||{},"boolean"!=typeof i&&(i=t instanceof n),this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=m(this,e,"readableHighWaterMark",i),this.buffer=new b,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!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(u||(u=r(14).StringDecoder),this.decoder=new u(e.encoding),this.encoding=e.encoding)}function E(e){if(n=n||r(20),!(this instanceof E))return new E(e);var t=this instanceof n;this._readableState=new k(e,this,t),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),o.call(this)}function x(e,t,r,i,n){c("readableAddChunk",t);var a,o=e._readableState;if(null===t)o.reading=!1,function(e,t){if(c("onEofChunk"),t.ended)return;if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?I(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,q(e)))}(e,o);else if(n||(a=function(e,t){var r;i=t,s.isBuffer(i)||i instanceof f||"string"==typeof t||void 0===t||e.objectMode||(r=new v("chunk",["string","Buffer","Uint8Array"],t));var i;return r}(o,t)),a)M(e,a);else if(o.objectMode||t&&t.length>0)if("string"==typeof t||o.objectMode||Object.getPrototypeOf(t)===s.prototype||(t=function(e){return s.from(e)}(t)),i)o.endEmitted?M(e,new _):z(e,o,t,!0);else if(o.ended)M(e,new y);else{if(o.destroyed)return!1;o.reading=!1,o.decoder&&!r?(t=o.decoder.write(t),o.objectMode||0!==t.length?z(e,o,t,!1):R(e,o)):z(e,o,t,!1)}else i||(o.reading=!1,R(e,o));return!o.ended&&(o.length<o.highWaterMark||0===o.length)}function z(e,t,r,i){t.flowing&&0===t.length&&!t.sync?(t.awaitDrain=0,e.emit("data",r)):(t.length+=t.objectMode?1:r.length,i?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&I(e)),R(e,t)}Object.defineProperty(E.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),E.prototype.destroy=p.destroy,E.prototype._undestroy=p.undestroy,E.prototype._destroy=function(e,t){t(e)},E.prototype.push=function(e,t){var r,i=this._readableState;return i.objectMode?r=!0:"string"==typeof e&&((t=t||i.defaultEncoding)!==i.encoding&&(e=s.from(e,t),t=""),r=!0),x(this,e,t,!1,r)},E.prototype.unshift=function(e){return x(this,e,null,!0,!1)},E.prototype.isPaused=function(){return!1===this._readableState.flowing},E.prototype.setEncoding=function(e){u||(u=r(14).StringDecoder);var t=new u(e);this._readableState.decoder=t,this._readableState.encoding=this._readableState.decoder.encoding;for(var i=this._readableState.buffer.head,n="";null!==i;)n+=t.write(i.data),i=i.next;return this._readableState.buffer.clear(),""!==n&&this._readableState.buffer.push(n),this._readableState.length=n.length,this};function A(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=function(e){return e>=1073741824?e=1073741824:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function I(e){var t=e._readableState;c("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(c("emitReadable",t.flowing),t.emittedReadable=!0,i.nextTick(q,e))}function q(e){var t=e._readableState;c("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,T(e)}function R(e,t){t.readingMore||(t.readingMore=!0,i.nextTick(j,e,t))}function j(e,t){for(;!t.reading&&!t.ended&&(t.length<t.highWaterMark||t.flowing&&0===t.length);){var r=t.length;if(c("maybeReadMore read 0"),e.read(0),r===t.length)break}t.readingMore=!1}function B(e){var t=e._readableState;t.readableListening=e.listenerCount("readable")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function N(e){c("readable nexttick read 0"),e.read(0)}function O(e,t){c("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),T(e),t.flowing&&!t.reading&&e.read(0)}function T(e){var t=e._readableState;for(c("flow",t.flowing);t.flowing&&null!==e.read(););}function P(e,t){return 0===t.length?null:(t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r);var r}function L(e){var t=e._readableState;c("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,i.nextTick(D,t,e))}function D(e,t){if(c("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}function C(e,t){for(var r=0,i=e.length;r<i;r++)if(e[r]===t)return r;return-1}E.prototype.read=function(e){c("read",e),e=parseInt(e,10);var t=this._readableState,r=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&((0!==t.highWaterMark?t.length>=t.highWaterMark:t.length>0)||t.ended))return c("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?L(this):I(this),null;if(0===(e=A(e,t))&&t.ended)return 0===t.length&&L(this),null;var i,n=t.needReadable;return c("need readable",n),(0===t.length||t.length-e<t.highWaterMark)&&c("length less than watermark",n=!0),t.ended||t.reading?c("reading or ended",n=!1):n&&(c("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=A(r,t))),null===(i=e>0?P(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&L(this)),null!==i&&this.emit("data",i),i},E.prototype._read=function(e){M(this,new w("_read()"))},E.prototype.pipe=function(e,t){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=e;break;case 1:n.pipes=[n.pipes,e];break;default:n.pipes.push(e)}n.pipesCount+=1,c("pipe count=%d opts=%j",n.pipesCount,t);var o=(!t||!1!==t.end)&&e!==i.stdout&&e!==i.stderr?f:m;function s(t,i){c("onunpipe"),t===r&&i&&!1===i.hasUnpiped&&(i.hasUnpiped=!0,c("cleanup"),e.removeListener("close",b),e.removeListener("finish",p),e.removeListener("drain",d),e.removeListener("error",l),e.removeListener("unpipe",s),r.removeListener("end",f),r.removeListener("end",m),r.removeListener("data",h),u=!0,!n.awaitDrain||e._writableState&&!e._writableState.needDrain||d())}function f(){c("onend"),e.end()}n.endEmitted?i.nextTick(o):r.once("end",o),e.on("unpipe",s);var d=function(e){return function(){var t=e._readableState;c("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&a(e,"data")&&(t.flowing=!0,T(e))}}(r);e.on("drain",d);var u=!1;function h(t){c("ondata");var i=e.write(t);c("dest.write",i),!1===i&&((1===n.pipesCount&&n.pipes===e||n.pipesCount>1&&-1!==C(n.pipes,e))&&!u&&(c("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function l(t){c("onerror",t),m(),e.removeListener("error",l),0===a(e,"error")&&M(e,t)}function b(){e.removeListener("finish",p),m()}function p(){c("onfinish"),e.removeListener("close",b),m()}function m(){c("unpipe"),r.unpipe(e)}return r.on("data",h),function(e,t,r){if("function"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}(e,"error",l),e.once("close",b),e.once("finish",p),e.emit("pipe",r),n.flowing||(c("pipe resume"),r.resume()),e},E.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r)),this;if(!e){var i=t.pipes,n=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a<n;a++)i[a].emit("unpipe",this,{hasUnpiped:!1});return this}var o=C(t.pipes,e);return-1===o||(t.pipes.splice(o,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,r)),this},E.prototype.on=function(e,t){var r=o.prototype.on.call(this,e,t),n=this._readableState;return"data"===e?(n.readableListening=this.listenerCount("readable")>0,!1!==n.flowing&&this.resume()):"readable"===e&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,c("on readable",n.length,n.reading),n.length?I(this):n.reading||i.nextTick(N,this))),r},E.prototype.addListener=E.prototype.on,E.prototype.removeListener=function(e,t){var r=o.prototype.removeListener.call(this,e,t);return"readable"===e&&i.nextTick(B,this),r},E.prototype.removeAllListeners=function(e){var t=o.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||i.nextTick(B,this),t},E.prototype.resume=function(){var e=this._readableState;return e.flowing||(c("resume"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,i.nextTick(O,e,t))}(this,e)),e.paused=!1,this},E.prototype.pause=function(){return c("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(c("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},E.prototype.wrap=function(e){var t=this,r=this._readableState,i=!1;for(var n in e.on("end",(function(){if(c("wrapped end"),r.decoder&&!r.ended){var e=r.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on("data",(function(n){(c("wrapped data"),r.decoder&&(n=r.decoder.write(n)),r.objectMode&&null==n)||(r.objectMode||n&&n.length)&&(t.push(n)||(i=!0,e.pause()))})),e)void 0===this[n]&&"function"==typeof e[n]&&(this[n]=function(t){return function(){return e[t].apply(e,arguments)}}(n));for(var a=0;a<S.length;a++)e.on(S[a],this.emit.bind(this,S[a]));return this._read=function(t){c("wrapped _read",t),i&&(i=!1,e.resume())},this},"function"==typeof Symbol&&(E.prototype[Symbol.asyncIterator]=function(){return void 0===h&&(h=r(177)),h(this)}),Object.defineProperty(E.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(E.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(E.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}}),E._fromList=P,Object.defineProperty(E.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}),"function"==typeof Symbol&&(E.from=function(e,t){return void 0===l&&(l=r(178)),l(E,e,t)})}).call(this,r(5),r(3))},function(e,t,r){e.exports=r(13).EventEmitter},function(e,t,r){"use strict";(function(t){function r(e,t){n(e,t),i(e)}function i(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function n(e,t){e.emit("error",t)}e.exports={destroy:function(e,a){var o=this,s=this._readableState&&this._readableState.destroyed,f=this._writableState&&this._writableState.destroyed;return s||f?(a?a(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,t.nextTick(n,this,e)):t.nextTick(n,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!a&&e?o._writableState?o._writableState.errorEmitted?t.nextTick(i,o):(o._writableState.errorEmitted=!0,t.nextTick(r,o,e)):t.nextTick(r,o,e):a?(t.nextTick(i,o),a(e)):t.nextTick(i,o)})),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(e,t){var r=e._readableState,i=e._writableState;r&&r.autoDestroy||i&&i.autoDestroy?e.destroy(t):e.emit("error",t)}}}).call(this,r(3))},function(e,t,r){"use strict";var i=r(19).codes.ERR_INVALID_OPT_VALUE;e.exports={getHighWaterMark:function(e,t,r,n){var a=function(e,t,r){return null!=e.highWaterMark?e.highWaterMark:t?e[r]:null}(t,n,r);if(null!=a){if(!isFinite(a)||Math.floor(a)!==a||a<0)throw new i(n?r:"highWaterMark",a);return Math.floor(a)}return e.objectMode?16:16384}}},function(e,t,r){"use strict";(function(t,i){function n(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,r){var i=e.entry;e.entry=null;for(;i;){var n=i.callback;t.pendingcb--,n(r),i=i.next}t.corkedRequestsFree.next=e}(t,e)}}var a;e.exports=E,E.WritableState=k;var o={deprecate:r(34)},s=r(88),f=r(2).Buffer,c=t.Uint8Array||function(){};var d,u=r(89),h=r(90).getHighWaterMark,l=r(19).codes,b=l.ERR_INVALID_ARG_TYPE,p=l.ERR_METHOD_NOT_IMPLEMENTED,m=l.ERR_MULTIPLE_CALLBACK,g=l.ERR_STREAM_CANNOT_PIPE,v=l.ERR_STREAM_DESTROYED,y=l.ERR_STREAM_NULL_VALUES,w=l.ERR_STREAM_WRITE_AFTER_END,_=l.ERR_UNKNOWN_ENCODING,M=u.errorOrDestroy;function S(){}function k(e,t,o){a=a||r(20),e=e||{},"boolean"!=typeof o&&(o=t instanceof a),this.objectMode=!!e.objectMode,o&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=h(this,e,"writableHighWaterMark",o),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var s=!1===e.decodeStrings;this.decodeStrings=!s,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var r=e._writableState,n=r.sync,a=r.writecb;if("function"!=typeof a)throw new m;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(r),t)!function(e,t,r,n,a){--t.pendingcb,r?(i.nextTick(a,n),i.nextTick(R,e,t),e._writableState.errorEmitted=!0,M(e,n)):(a(n),e._writableState.errorEmitted=!0,M(e,n),R(e,t))}(e,r,n,t,a);else{var o=I(r)||e.destroyed;o||r.corked||r.bufferProcessing||!r.bufferedRequest||A(e,r),n?i.nextTick(z,e,r,o,a):z(e,r,o,a)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new n(this)}function E(e){var t=this instanceof(a=a||r(20));if(!t&&!d.call(E,this))return new E(e);this._writableState=new k(e,this,t),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),s.call(this)}function x(e,t,r,i,n,a,o){t.writelen=i,t.writecb=o,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new v("write")):r?e._writev(n,t.onwrite):e._write(n,a,t.onwrite),t.sync=!1}function z(e,t,r,i){r||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,i(),R(e,t)}function A(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var i=t.bufferedRequestCount,a=new Array(i),o=t.corkedRequestsFree;o.entry=r;for(var s=0,f=!0;r;)a[s]=r,r.isBuf||(f=!1),r=r.next,s+=1;a.allBuffers=f,x(e,t,!0,t.length,a,"",o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new n(t),t.bufferedRequestCount=0}else{for(;r;){var c=r.chunk,d=r.encoding,u=r.callback;if(x(e,t,!1,t.objectMode?1:c.length,c,d,u),r=r.next,t.bufferedRequestCount--,t.writing)break}null===r&&(t.lastBufferedRequest=null)}t.bufferedRequest=r,t.bufferProcessing=!1}function I(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function q(e,t){e._final((function(r){t.pendingcb--,r&&M(e,r),t.prefinished=!0,e.emit("prefinish"),R(e,t)}))}function R(e,t){var r=I(t);if(r&&(function(e,t){t.prefinished||t.finalCalled||("function"!=typeof e._final||t.destroyed?(t.prefinished=!0,e.emit("prefinish")):(t.pendingcb++,t.finalCalled=!0,i.nextTick(q,e,t)))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"),t.autoDestroy))){var n=e._readableState;(!n||n.autoDestroy&&n.endEmitted)&&e.destroy()}return r}r(0)(E,s),k.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(k.prototype,"buffer",{get:o.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(d=Function.prototype[Symbol.hasInstance],Object.defineProperty(E,Symbol.hasInstance,{value:function(e){return!!d.call(this,e)||this===E&&(e&&e._writableState instanceof k)}})):d=function(e){return e instanceof this},E.prototype.pipe=function(){M(this,new g)},E.prototype.write=function(e,t,r){var n,a=this._writableState,o=!1,s=!a.objectMode&&(n=e,f.isBuffer(n)||n instanceof c);return s&&!f.isBuffer(e)&&(e=function(e){return f.from(e)}(e)),"function"==typeof t&&(r=t,t=null),s?t="buffer":t||(t=a.defaultEncoding),"function"!=typeof r&&(r=S),a.ending?function(e,t){var r=new w;M(e,r),i.nextTick(t,r)}(this,r):(s||function(e,t,r,n){var a;return null===r?a=new y:"string"==typeof r||t.objectMode||(a=new b("chunk",["string","Buffer"],r)),!a||(M(e,a),i.nextTick(n,a),!1)}(this,a,e,r))&&(a.pendingcb++,o=function(e,t,r,i,n,a){if(!r){var o=function(e,t,r){e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=f.from(t,r));return t}(t,i,n);i!==o&&(r=!0,n="buffer",i=o)}var s=t.objectMode?1:i.length;t.length+=s;var c=t.length<t.highWaterMark;c||(t.needDrain=!0);if(t.writing||t.corked){var d=t.lastBufferedRequest;t.lastBufferedRequest={chunk:i,encoding:n,isBuf:r,callback:a,next:null},d?d.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else x(e,t,!1,s,i,n,a);return c}(this,a,s,e,t,r)),o},E.prototype.cork=function(){this._writableState.corked++},E.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.bufferProcessing||!e.bufferedRequest||A(this,e))},E.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new _(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(E.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(E.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),E.prototype._write=function(e,t,r){r(new p("_write()"))},E.prototype._writev=null,E.prototype.end=function(e,t,r){var n=this._writableState;return"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||function(e,t,r){t.ending=!0,R(e,t),r&&(t.finished?i.nextTick(r):e.once("finish",r));t.ended=!0,e.writable=!1}(this,n,r),this},Object.defineProperty(E.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(E.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),E.prototype.destroy=u.destroy,E.prototype._undestroy=u.undestroy,E.prototype._destroy=function(e,t){t(e)}}).call(this,r(5),r(3))},function(e,t,r){"use strict";e.exports=d;var i=r(19).codes,n=i.ERR_METHOD_NOT_IMPLEMENTED,a=i.ERR_MULTIPLE_CALLBACK,o=i.ERR_TRANSFORM_ALREADY_TRANSFORMING,s=i.ERR_TRANSFORM_WITH_LENGTH_0,f=r(20);function c(e,t){var r=this._transformState;r.transforming=!1;var i=r.writecb;if(null===i)return this.emit("error",new a);r.writechunk=null,r.writecb=null,null!=t&&this.push(t),i(e);var n=this._readableState;n.reading=!1,(n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}function d(e){if(!(this instanceof d))return new d(e);f.call(this,e),this._transformState={afterTransform:c.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.on("prefinish",u)}function u(){var e=this;"function"!=typeof this._flush||this._readableState.destroyed?h(this,null,null):this._flush((function(t,r){h(e,t,r)}))}function h(e,t,r){if(t)return e.emit("error",t);if(null!=r&&e.push(r),e._writableState.length)throw new s;if(e._transformState.transforming)throw new o;return e.push(null)}r(0)(d,f),d.prototype.push=function(e,t){return this._transformState.needTransform=!1,f.prototype.push.call(this,e,t)},d.prototype._transform=function(e,t,r){r(new n("_transform()"))},d.prototype._write=function(e,t,r){var i=this._transformState;if(i.writecb=r,i.writechunk=e,i.writeencoding=t,!i.transforming){var n=this._readableState;(i.needTransform||n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}},d.prototype._read=function(e){var t=this._transformState;null===t.writechunk||t.transforming?t.needTransform=!0:(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform))},d.prototype._destroy=function(e,t){f.prototype._destroy.call(this,e,(function(e){t(e)}))}},function(e,t,r){"use strict";var i=t;function n(e){return 1===e.length?"0"+e:e}function a(e){for(var t="",r=0;r<e.length;r++)t+=n(e[r].toString(16));return t}i.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"!=typeof e){for(var i=0;i<e.length;i++)r[i]=0|e[i];return r}if("hex"===t){(e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e);for(i=0;i<e.length;i+=2)r.push(parseInt(e[i]+e[i+1],16))}else for(i=0;i<e.length;i++){var n=e.charCodeAt(i),a=n>>8,o=255&n;a?r.push(a,o):r.push(o)}return r},i.zero2=n,i.toHex=a,i.encode=function(e,t){return"hex"===t?a(e):e}},function(e,t,r){"use strict";var i=t;i.base=r(31),i.short=r(185),i.mont=r(186),i.edwards=r(187)},function(e,t,r){"use strict";var i=r(9).rotr32;function n(e,t,r){return e&t^~e&r}function a(e,t,r){return e&t^e&r^t&r}function o(e,t,r){return e^t^r}t.ft_1=function(e,t,r,i){return 0===e?n(t,r,i):1===e||3===e?o(t,r,i):2===e?a(t,r,i):void 0},t.ch32=n,t.maj32=a,t.p32=o,t.s0_256=function(e){return i(e,2)^i(e,13)^i(e,22)},t.s1_256=function(e){return i(e,6)^i(e,11)^i(e,25)},t.g0_256=function(e){return i(e,7)^i(e,18)^e>>>3},t.g1_256=function(e){return i(e,17)^i(e,19)^e>>>10}},function(e,t,r){"use strict";var i=r(9),n=r(24),a=r(95),o=r(6),s=i.sum32,f=i.sum32_4,c=i.sum32_5,d=a.ch32,u=a.maj32,h=a.s0_256,l=a.s1_256,b=a.g0_256,p=a.g1_256,m=n.BlockHash,g=[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 v(){if(!(this instanceof v))return new v;m.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=g,this.W=new Array(64)}i.inherits(v,m),e.exports=v,v.blockSize=512,v.outSize=256,v.hmacStrength=192,v.padLength=64,v.prototype._update=function(e,t){for(var r=this.W,i=0;i<16;i++)r[i]=e[t+i];for(;i<r.length;i++)r[i]=f(p(r[i-2]),r[i-7],b(r[i-15]),r[i-16]);var n=this.h[0],a=this.h[1],m=this.h[2],g=this.h[3],v=this.h[4],y=this.h[5],w=this.h[6],_=this.h[7];for(o(this.k.length===r.length),i=0;i<r.length;i++){var M=c(_,l(v),d(v,y,w),this.k[i],r[i]),S=s(h(n),u(n,a,m));_=w,w=y,y=v,v=s(g,M),g=m,m=a,a=n,n=s(M,S)}this.h[0]=s(this.h[0],n),this.h[1]=s(this.h[1],a),this.h[2]=s(this.h[2],m),this.h[3]=s(this.h[3],g),this.h[4]=s(this.h[4],v),this.h[5]=s(this.h[5],y),this.h[6]=s(this.h[6],w),this.h[7]=s(this.h[7],_)},v.prototype._digest=function(e){return"hex"===e?i.toHex32(this.h,"big"):i.split32(this.h,"big")}},function(e,t,r){"use strict";var i=r(9),n=r(24),a=r(6),o=i.rotr64_hi,s=i.rotr64_lo,f=i.shr64_hi,c=i.shr64_lo,d=i.sum64,u=i.sum64_hi,h=i.sum64_lo,l=i.sum64_4_hi,b=i.sum64_4_lo,p=i.sum64_5_hi,m=i.sum64_5_lo,g=n.BlockHash,v=[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 y(){if(!(this instanceof y))return new y;g.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=v,this.W=new Array(160)}function w(e,t,r,i,n){var a=e&r^~e&n;return a<0&&(a+=4294967296),a}function _(e,t,r,i,n,a){var o=t&i^~t&a;return o<0&&(o+=4294967296),o}function M(e,t,r,i,n){var a=e&r^e&n^r&n;return a<0&&(a+=4294967296),a}function S(e,t,r,i,n,a){var o=t&i^t&a^i&a;return o<0&&(o+=4294967296),o}function k(e,t){var r=o(e,t,28)^o(t,e,2)^o(t,e,7);return r<0&&(r+=4294967296),r}function E(e,t){var r=s(e,t,28)^s(t,e,2)^s(t,e,7);return r<0&&(r+=4294967296),r}function x(e,t){var r=o(e,t,14)^o(e,t,18)^o(t,e,9);return r<0&&(r+=4294967296),r}function z(e,t){var r=s(e,t,14)^s(e,t,18)^s(t,e,9);return r<0&&(r+=4294967296),r}function A(e,t){var r=o(e,t,1)^o(e,t,8)^f(e,t,7);return r<0&&(r+=4294967296),r}function I(e,t){var r=s(e,t,1)^s(e,t,8)^c(e,t,7);return r<0&&(r+=4294967296),r}function q(e,t){var r=o(e,t,19)^o(t,e,29)^f(e,t,6);return r<0&&(r+=4294967296),r}function R(e,t){var r=s(e,t,19)^s(t,e,29)^c(e,t,6);return r<0&&(r+=4294967296),r}i.inherits(y,g),e.exports=y,y.blockSize=1024,y.outSize=512,y.hmacStrength=192,y.padLength=128,y.prototype._prepareBlock=function(e,t){for(var r=this.W,i=0;i<32;i++)r[i]=e[t+i];for(;i<r.length;i+=2){var n=q(r[i-4],r[i-3]),a=R(r[i-4],r[i-3]),o=r[i-14],s=r[i-13],f=A(r[i-30],r[i-29]),c=I(r[i-30],r[i-29]),d=r[i-32],u=r[i-31];r[i]=l(n,a,o,s,f,c,d,u),r[i+1]=b(n,a,o,s,f,c,d,u)}},y.prototype._update=function(e,t){this._prepareBlock(e,t);var r=this.W,i=this.h[0],n=this.h[1],o=this.h[2],s=this.h[3],f=this.h[4],c=this.h[5],l=this.h[6],b=this.h[7],g=this.h[8],v=this.h[9],y=this.h[10],A=this.h[11],I=this.h[12],q=this.h[13],R=this.h[14],j=this.h[15];a(this.k.length===r.length);for(var B=0;B<r.length;B+=2){var N=R,O=j,T=x(g,v),P=z(g,v),L=w(g,v,y,A,I),D=_(g,v,y,A,I,q),C=this.k[B],U=this.k[B+1],F=r[B],K=r[B+1],J=p(N,O,T,P,L,D,C,U,F,K),Z=m(N,O,T,P,L,D,C,U,F,K);N=k(i,n),O=E(i,n),T=M(i,n,o,s,f),P=S(i,n,o,s,f,c);var H=u(N,O,T,P),W=h(N,O,T,P);R=I,j=q,I=y,q=A,y=g,A=v,g=u(l,b,J,Z),v=h(b,b,J,Z),l=f,b=c,f=o,c=s,o=i,s=n,i=u(J,Z,H,W),n=h(J,Z,H,W)}d(this.h,0,i,n),d(this.h,2,o,s),d(this.h,4,f,c),d(this.h,6,l,b),d(this.h,8,g,v),d(this.h,10,y,A),d(this.h,12,I,q),d(this.h,14,R,j)},y.prototype._digest=function(e){return"hex"===e?i.toHex32(this.h,"big"):i.split32(this.h,"big")}},function(e,t,r){(function(e){!function(e,t){"use strict";function i(e,t){if(!e)throw new Error(t||"Assertion failed")}function n(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function a(e,t,r){if(a.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==t&&"be"!==t||(r=t,t=10),this._init(e||0,t||10,r||"be"))}var o;"object"==typeof e?e.exports=a:t.BN=a,a.BN=a,a.wordSize=26;try{o=r(202).Buffer}catch(e){}function s(e,t,r){for(var n=0,a=Math.min(e.length,r),o=0,s=t;s<a;s++){var f,c=e.charCodeAt(s)-48;n<<=4,n|=f=c>=49&&c<=54?c-49+10:c>=17&&c<=22?c-17+10:c,o|=f}return i(!(240&o),"Invalid character in "+e),n}function f(e,t,r,n){for(var a=0,o=0,s=Math.min(e.length,r),f=t;f<s;f++){var c=e.charCodeAt(f)-48;a*=n,o=c>=49?c-49+10:c>=17?c-17+10:c,i(c>=0&&o<n,"Invalid character"),a+=o}return a}function c(e,t){e.words=t.words,e.length=t.length,e.negative=t.negative,e.red=t.red}if(a.isBN=function(e){return e instanceof a||null!==e&&"object"==typeof e&&e.constructor.wordSize===a.wordSize&&Array.isArray(e.words)},a.max=function(e,t){return e.cmp(t)>0?e:t},a.min=function(e,t){return e.cmp(t)<0?e:t},a.prototype._init=function(e,t,r){if("number"==typeof e)return this._initNumber(e,t,r);if("object"==typeof e)return this._initArray(e,t,r);"hex"===t&&(t=16),i(t===(0|t)&&t>=2&&t<=36);var n=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&n++,16===t?this._parseHex(e,n):this._parseBase(e,t,n),"-"===e[0]&&(this.negative=1),this._strip(),"le"===r&&this._initArray(this.toArray(),t,r)},a.prototype._initNumber=function(e,t,r){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(i(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),t,r)},a.prototype._initArray=function(e,t,r){if(i("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var a,o,s=0;if("be"===r)for(n=e.length-1,a=0;n>=0;n-=3)o=e[n]|e[n-1]<<8|e[n-2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if("le"===r)for(n=0,a=0;n<e.length;n+=3)o=e[n]|e[n+1]<<8|e[n+2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this._strip()},a.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var i,n,a=0;for(r=e.length-6,i=0;r>=t;r-=6)n=s(e,r,r+6),this.words[i]|=n<<a&67108863,this.words[i+1]|=n>>>26-a&4194303,(a+=24)>=26&&(a-=26,i++);r+6!==t&&(n=s(e,t,r+6),this.words[i]|=n<<a&67108863,this.words[i+1]|=n>>>26-a&4194303),this._strip()},a.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=t)i++;i--,n=n/t|0;for(var a=e.length-r,o=a%i,s=Math.min(a,a-o)+r,c=0,d=r;d<s;d+=i)c=f(e,d,d+i,t),this.imuln(n),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c);if(0!==o){var u=1;for(c=f(e,d,e.length,t),d=0;d<o;d++)u*=t;this.imuln(u),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c)}},a.prototype.copy=function(e){e.words=new Array(this.length);for(var t=0;t<this.length;t++)e.words[t]=this.words[t];e.length=this.length,e.negative=this.negative,e.red=this.red},a.prototype._move=function(e){c(e,this)},a.prototype.clone=function(){var e=new a(null);return this.copy(e),e},a.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},a.prototype._strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{a.prototype[Symbol.for("nodejs.util.inspect.custom")]=d}catch(e){a.prototype.inspect=d}else a.prototype.inspect=d;function d(){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"],h=[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];a.prototype.toString=function(e,t){var r;if(t=0|t||1,16===(e=e||10)||"hex"===e){r="";for(var n=0,a=0,o=0;o<this.length;o++){var s=this.words[o],f=(16777215&(s<<n|a)).toString(16);r=0!==(a=s>>>24-n&16777215)||o!==this.length-1?u[6-f.length]+f+r:f+r,(n+=2)>=26&&(n-=26,o--)}for(0!==a&&(r=a.toString(16)+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(e===(0|e)&&e>=2&&e<=36){var c=h[e],d=l[e];r="";var b=this.clone();for(b.negative=0;!b.isZero();){var p=b.modrn(d).toString(e);r=(b=b.idivn(d)).isZero()?p+r:u[c-p.length]+p+r}for(this.isZero()&&(r="0"+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},a.prototype.toJSON=function(){return this.toString(16,2)},o&&(a.prototype.toBuffer=function(e,t){return this.toArrayLike(o,e,t)}),a.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)};function b(e,t,r){r.negative=t.negative^e.negative;var i=e.length+t.length|0;r.length=i,i=i-1|0;var n=0|e.words[0],a=0|t.words[0],o=n*a,s=67108863&o,f=o/67108864|0;r.words[0]=s;for(var c=1;c<i;c++){for(var d=f>>>26,u=67108863&f,h=Math.min(c,t.length-1),l=Math.max(0,c-e.length+1);l<=h;l++){var b=c-l|0;d+=(o=(n=0|e.words[b])*(a=0|t.words[l])+u)/67108864|0,u=67108863&o}r.words[c]=0|u,f=0|d}return 0!==f?r.words[c]=0|f:r.length--,r._strip()}a.prototype.toArrayLike=function(e,t,r){this._strip();var n=this.byteLength(),a=r||Math.max(1,n);i(n<=a,"byte array longer than desired length"),i(a>0,"Requested array length <= 0");var o=function(e,t){return e.allocUnsafe?e.allocUnsafe(t):new e(t)}(e,a);return this["_toArrayLike"+("le"===t?"LE":"BE")](o,n),o},a.prototype._toArrayLikeLE=function(e,t){for(var r=0,i=0,n=0,a=0;n<this.length;n++){var o=this.words[n]<<a|i;e[r++]=255&o,r<e.length&&(e[r++]=o>>8&255),r<e.length&&(e[r++]=o>>16&255),6===a?(r<e.length&&(e[r++]=o>>24&255),i=0,a=0):(i=o>>>24,a+=2)}if(r<e.length)for(e[r++]=i;r<e.length;)e[r++]=0},a.prototype._toArrayLikeBE=function(e,t){for(var r=e.length-1,i=0,n=0,a=0;n<this.length;n++){var o=this.words[n]<<a|i;e[r--]=255&o,r>=0&&(e[r--]=o>>8&255),r>=0&&(e[r--]=o>>16&255),6===a?(r>=0&&(e[r--]=o>>24&255),i=0,a=0):(i=o>>>24,a+=2)}if(r>=0)for(e[r--]=i;r>=0;)e[r--]=0},Math.clz32?a.prototype._countBits=function(e){return 32-Math.clz32(e)}:a.prototype._countBits=function(e){var t=e,r=0;return t>=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},a.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 0==(8191&t)&&(r+=13,t>>>=13),0==(127&t)&&(r+=7,t>>>=7),0==(15&t)&&(r+=4,t>>>=4),0==(3&t)&&(r+=2,t>>>=2),0==(1&t)&&r++,r},a.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;t<this.length;t++){var r=this._zeroBits(this.words[t]);if(e+=r,26!==r)break}return e},a.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},a.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},a.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},a.prototype.isNeg=function(){return 0!==this.negative},a.prototype.neg=function(){return this.clone().ineg()},a.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},a.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var t=0;t<e.length;t++)this.words[t]=this.words[t]|e.words[t];return this._strip()},a.prototype.ior=function(e){return i(0==(this.negative|e.negative)),this.iuor(e)},a.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},a.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},a.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;r<t.length;r++)this.words[r]=this.words[r]&e.words[r];return this.length=t.length,this._strip()},a.prototype.iand=function(e){return i(0==(this.negative|e.negative)),this.iuand(e)},a.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},a.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},a.prototype.iuxor=function(e){var t,r;this.length>e.length?(t=this,r=e):(t=e,r=this);for(var i=0;i<r.length;i++)this.words[i]=t.words[i]^r.words[i];if(this!==t)for(;i<t.length;i++)this.words[i]=t.words[i];return this.length=t.length,this._strip()},a.prototype.ixor=function(e){return i(0==(this.negative|e.negative)),this.iuxor(e)},a.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},a.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},a.prototype.inotn=function(e){i("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),r=e%26;this._expand(t),r>0&&t--;for(var n=0;n<t;n++)this.words[n]=67108863&~this.words[n];return r>0&&(this.words[n]=~this.words[n]&67108863>>26-r),this._strip()},a.prototype.notn=function(e){return this.clone().inotn(e)},a.prototype.setn=function(e,t){i("number"==typeof e&&e>=0);var r=e/26|0,n=e%26;return this._expand(r+1),this.words[r]=t?this.words[r]|1<<n:this.words[r]&~(1<<n),this._strip()},a.prototype.iadd=function(e){var t,r,i;if(0!==this.negative&&0===e.negative)return this.negative=0,t=this.isub(e),this.negative^=1,this._normSign();if(0===this.negative&&0!==e.negative)return e.negative=0,t=this.isub(e),e.negative=1,t._normSign();this.length>e.length?(r=this,i=e):(r=e,i=this);for(var n=0,a=0;a<i.length;a++)t=(0|r.words[a])+(0|i.words[a])+n,this.words[a]=67108863&t,n=t>>>26;for(;0!==n&&a<r.length;a++)t=(0|r.words[a])+n,this.words[a]=67108863&t,n=t>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;a<r.length;a++)this.words[a]=r.words[a];return this},a.prototype.add=function(e){var t;return 0!==e.negative&&0===this.negative?(e.negative=0,t=this.sub(e),e.negative^=1,t):0===e.negative&&0!==this.negative?(this.negative=0,t=e.sub(this),this.negative=1,t):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},a.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,i,n=this.cmp(e);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=e):(r=e,i=this);for(var a=0,o=0;o<i.length;o++)a=(t=(0|r.words[o])-(0|i.words[o])+a)>>26,this.words[o]=67108863&t;for(;0!==a&&o<r.length;o++)a=(t=(0|r.words[o])+a)>>26,this.words[o]=67108863&t;if(0===a&&o<r.length&&r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this.length=Math.max(this.length,o),r!==this&&(this.negative=1),this._strip()},a.prototype.sub=function(e){return this.clone().isub(e)};var p=function(e,t,r){var i,n,a,o=e.words,s=t.words,f=r.words,c=0,d=0|o[0],u=8191&d,h=d>>>13,l=0|o[1],b=8191&l,p=l>>>13,m=0|o[2],g=8191&m,v=m>>>13,y=0|o[3],w=8191&y,_=y>>>13,M=0|o[4],S=8191&M,k=M>>>13,E=0|o[5],x=8191&E,z=E>>>13,A=0|o[6],I=8191&A,q=A>>>13,R=0|o[7],j=8191&R,B=R>>>13,N=0|o[8],O=8191&N,T=N>>>13,P=0|o[9],L=8191&P,D=P>>>13,C=0|s[0],U=8191&C,F=C>>>13,K=0|s[1],J=8191&K,Z=K>>>13,H=0|s[2],W=8191&H,X=H>>>13,Y=0|s[3],V=8191&Y,G=Y>>>13,$=0|s[4],Q=8191&$,ee=$>>>13,te=0|s[5],re=8191&te,ie=te>>>13,ne=0|s[6],ae=8191&ne,oe=ne>>>13,se=0|s[7],fe=8191&se,ce=se>>>13,de=0|s[8],ue=8191&de,he=de>>>13,le=0|s[9],be=8191&le,pe=le>>>13;r.negative=e.negative^t.negative,r.length=19;var me=(c+(i=Math.imul(u,U))|0)+((8191&(n=(n=Math.imul(u,F))+Math.imul(h,U)|0))<<13)|0;c=((a=Math.imul(h,F))+(n>>>13)|0)+(me>>>26)|0,me&=67108863,i=Math.imul(b,U),n=(n=Math.imul(b,F))+Math.imul(p,U)|0,a=Math.imul(p,F);var ge=(c+(i=i+Math.imul(u,J)|0)|0)+((8191&(n=(n=n+Math.imul(u,Z)|0)+Math.imul(h,J)|0))<<13)|0;c=((a=a+Math.imul(h,Z)|0)+(n>>>13)|0)+(ge>>>26)|0,ge&=67108863,i=Math.imul(g,U),n=(n=Math.imul(g,F))+Math.imul(v,U)|0,a=Math.imul(v,F),i=i+Math.imul(b,J)|0,n=(n=n+Math.imul(b,Z)|0)+Math.imul(p,J)|0,a=a+Math.imul(p,Z)|0;var ve=(c+(i=i+Math.imul(u,W)|0)|0)+((8191&(n=(n=n+Math.imul(u,X)|0)+Math.imul(h,W)|0))<<13)|0;c=((a=a+Math.imul(h,X)|0)+(n>>>13)|0)+(ve>>>26)|0,ve&=67108863,i=Math.imul(w,U),n=(n=Math.imul(w,F))+Math.imul(_,U)|0,a=Math.imul(_,F),i=i+Math.imul(g,J)|0,n=(n=n+Math.imul(g,Z)|0)+Math.imul(v,J)|0,a=a+Math.imul(v,Z)|0,i=i+Math.imul(b,W)|0,n=(n=n+Math.imul(b,X)|0)+Math.imul(p,W)|0,a=a+Math.imul(p,X)|0;var ye=(c+(i=i+Math.imul(u,V)|0)|0)+((8191&(n=(n=n+Math.imul(u,G)|0)+Math.imul(h,V)|0))<<13)|0;c=((a=a+Math.imul(h,G)|0)+(n>>>13)|0)+(ye>>>26)|0,ye&=67108863,i=Math.imul(S,U),n=(n=Math.imul(S,F))+Math.imul(k,U)|0,a=Math.imul(k,F),i=i+Math.imul(w,J)|0,n=(n=n+Math.imul(w,Z)|0)+Math.imul(_,J)|0,a=a+Math.imul(_,Z)|0,i=i+Math.imul(g,W)|0,n=(n=n+Math.imul(g,X)|0)+Math.imul(v,W)|0,a=a+Math.imul(v,X)|0,i=i+Math.imul(b,V)|0,n=(n=n+Math.imul(b,G)|0)+Math.imul(p,V)|0,a=a+Math.imul(p,G)|0;var we=(c+(i=i+Math.imul(u,Q)|0)|0)+((8191&(n=(n=n+Math.imul(u,ee)|0)+Math.imul(h,Q)|0))<<13)|0;c=((a=a+Math.imul(h,ee)|0)+(n>>>13)|0)+(we>>>26)|0,we&=67108863,i=Math.imul(x,U),n=(n=Math.imul(x,F))+Math.imul(z,U)|0,a=Math.imul(z,F),i=i+Math.imul(S,J)|0,n=(n=n+Math.imul(S,Z)|0)+Math.imul(k,J)|0,a=a+Math.imul(k,Z)|0,i=i+Math.imul(w,W)|0,n=(n=n+Math.imul(w,X)|0)+Math.imul(_,W)|0,a=a+Math.imul(_,X)|0,i=i+Math.imul(g,V)|0,n=(n=n+Math.imul(g,G)|0)+Math.imul(v,V)|0,a=a+Math.imul(v,G)|0,i=i+Math.imul(b,Q)|0,n=(n=n+Math.imul(b,ee)|0)+Math.imul(p,Q)|0,a=a+Math.imul(p,ee)|0;var _e=(c+(i=i+Math.imul(u,re)|0)|0)+((8191&(n=(n=n+Math.imul(u,ie)|0)+Math.imul(h,re)|0))<<13)|0;c=((a=a+Math.imul(h,ie)|0)+(n>>>13)|0)+(_e>>>26)|0,_e&=67108863,i=Math.imul(I,U),n=(n=Math.imul(I,F))+Math.imul(q,U)|0,a=Math.imul(q,F),i=i+Math.imul(x,J)|0,n=(n=n+Math.imul(x,Z)|0)+Math.imul(z,J)|0,a=a+Math.imul(z,Z)|0,i=i+Math.imul(S,W)|0,n=(n=n+Math.imul(S,X)|0)+Math.imul(k,W)|0,a=a+Math.imul(k,X)|0,i=i+Math.imul(w,V)|0,n=(n=n+Math.imul(w,G)|0)+Math.imul(_,V)|0,a=a+Math.imul(_,G)|0,i=i+Math.imul(g,Q)|0,n=(n=n+Math.imul(g,ee)|0)+Math.imul(v,Q)|0,a=a+Math.imul(v,ee)|0,i=i+Math.imul(b,re)|0,n=(n=n+Math.imul(b,ie)|0)+Math.imul(p,re)|0,a=a+Math.imul(p,ie)|0;var Me=(c+(i=i+Math.imul(u,ae)|0)|0)+((8191&(n=(n=n+Math.imul(u,oe)|0)+Math.imul(h,ae)|0))<<13)|0;c=((a=a+Math.imul(h,oe)|0)+(n>>>13)|0)+(Me>>>26)|0,Me&=67108863,i=Math.imul(j,U),n=(n=Math.imul(j,F))+Math.imul(B,U)|0,a=Math.imul(B,F),i=i+Math.imul(I,J)|0,n=(n=n+Math.imul(I,Z)|0)+Math.imul(q,J)|0,a=a+Math.imul(q,Z)|0,i=i+Math.imul(x,W)|0,n=(n=n+Math.imul(x,X)|0)+Math.imul(z,W)|0,a=a+Math.imul(z,X)|0,i=i+Math.imul(S,V)|0,n=(n=n+Math.imul(S,G)|0)+Math.imul(k,V)|0,a=a+Math.imul(k,G)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,ee)|0)+Math.imul(_,Q)|0,a=a+Math.imul(_,ee)|0,i=i+Math.imul(g,re)|0,n=(n=n+Math.imul(g,ie)|0)+Math.imul(v,re)|0,a=a+Math.imul(v,ie)|0,i=i+Math.imul(b,ae)|0,n=(n=n+Math.imul(b,oe)|0)+Math.imul(p,ae)|0,a=a+Math.imul(p,oe)|0;var Se=(c+(i=i+Math.imul(u,fe)|0)|0)+((8191&(n=(n=n+Math.imul(u,ce)|0)+Math.imul(h,fe)|0))<<13)|0;c=((a=a+Math.imul(h,ce)|0)+(n>>>13)|0)+(Se>>>26)|0,Se&=67108863,i=Math.imul(O,U),n=(n=Math.imul(O,F))+Math.imul(T,U)|0,a=Math.imul(T,F),i=i+Math.imul(j,J)|0,n=(n=n+Math.imul(j,Z)|0)+Math.imul(B,J)|0,a=a+Math.imul(B,Z)|0,i=i+Math.imul(I,W)|0,n=(n=n+Math.imul(I,X)|0)+Math.imul(q,W)|0,a=a+Math.imul(q,X)|0,i=i+Math.imul(x,V)|0,n=(n=n+Math.imul(x,G)|0)+Math.imul(z,V)|0,a=a+Math.imul(z,G)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,ee)|0)+Math.imul(k,Q)|0,a=a+Math.imul(k,ee)|0,i=i+Math.imul(w,re)|0,n=(n=n+Math.imul(w,ie)|0)+Math.imul(_,re)|0,a=a+Math.imul(_,ie)|0,i=i+Math.imul(g,ae)|0,n=(n=n+Math.imul(g,oe)|0)+Math.imul(v,ae)|0,a=a+Math.imul(v,oe)|0,i=i+Math.imul(b,fe)|0,n=(n=n+Math.imul(b,ce)|0)+Math.imul(p,fe)|0,a=a+Math.imul(p,ce)|0;var ke=(c+(i=i+Math.imul(u,ue)|0)|0)+((8191&(n=(n=n+Math.imul(u,he)|0)+Math.imul(h,ue)|0))<<13)|0;c=((a=a+Math.imul(h,he)|0)+(n>>>13)|0)+(ke>>>26)|0,ke&=67108863,i=Math.imul(L,U),n=(n=Math.imul(L,F))+Math.imul(D,U)|0,a=Math.imul(D,F),i=i+Math.imul(O,J)|0,n=(n=n+Math.imul(O,Z)|0)+Math.imul(T,J)|0,a=a+Math.imul(T,Z)|0,i=i+Math.imul(j,W)|0,n=(n=n+Math.imul(j,X)|0)+Math.imul(B,W)|0,a=a+Math.imul(B,X)|0,i=i+Math.imul(I,V)|0,n=(n=n+Math.imul(I,G)|0)+Math.imul(q,V)|0,a=a+Math.imul(q,G)|0,i=i+Math.imul(x,Q)|0,n=(n=n+Math.imul(x,ee)|0)+Math.imul(z,Q)|0,a=a+Math.imul(z,ee)|0,i=i+Math.imul(S,re)|0,n=(n=n+Math.imul(S,ie)|0)+Math.imul(k,re)|0,a=a+Math.imul(k,ie)|0,i=i+Math.imul(w,ae)|0,n=(n=n+Math.imul(w,oe)|0)+Math.imul(_,ae)|0,a=a+Math.imul(_,oe)|0,i=i+Math.imul(g,fe)|0,n=(n=n+Math.imul(g,ce)|0)+Math.imul(v,fe)|0,a=a+Math.imul(v,ce)|0,i=i+Math.imul(b,ue)|0,n=(n=n+Math.imul(b,he)|0)+Math.imul(p,ue)|0,a=a+Math.imul(p,he)|0;var Ee=(c+(i=i+Math.imul(u,be)|0)|0)+((8191&(n=(n=n+Math.imul(u,pe)|0)+Math.imul(h,be)|0))<<13)|0;c=((a=a+Math.imul(h,pe)|0)+(n>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,i=Math.imul(L,J),n=(n=Math.imul(L,Z))+Math.imul(D,J)|0,a=Math.imul(D,Z),i=i+Math.imul(O,W)|0,n=(n=n+Math.imul(O,X)|0)+Math.imul(T,W)|0,a=a+Math.imul(T,X)|0,i=i+Math.imul(j,V)|0,n=(n=n+Math.imul(j,G)|0)+Math.imul(B,V)|0,a=a+Math.imul(B,G)|0,i=i+Math.imul(I,Q)|0,n=(n=n+Math.imul(I,ee)|0)+Math.imul(q,Q)|0,a=a+Math.imul(q,ee)|0,i=i+Math.imul(x,re)|0,n=(n=n+Math.imul(x,ie)|0)+Math.imul(z,re)|0,a=a+Math.imul(z,ie)|0,i=i+Math.imul(S,ae)|0,n=(n=n+Math.imul(S,oe)|0)+Math.imul(k,ae)|0,a=a+Math.imul(k,oe)|0,i=i+Math.imul(w,fe)|0,n=(n=n+Math.imul(w,ce)|0)+Math.imul(_,fe)|0,a=a+Math.imul(_,ce)|0,i=i+Math.imul(g,ue)|0,n=(n=n+Math.imul(g,he)|0)+Math.imul(v,ue)|0,a=a+Math.imul(v,he)|0;var xe=(c+(i=i+Math.imul(b,be)|0)|0)+((8191&(n=(n=n+Math.imul(b,pe)|0)+Math.imul(p,be)|0))<<13)|0;c=((a=a+Math.imul(p,pe)|0)+(n>>>13)|0)+(xe>>>26)|0,xe&=67108863,i=Math.imul(L,W),n=(n=Math.imul(L,X))+Math.imul(D,W)|0,a=Math.imul(D,X),i=i+Math.imul(O,V)|0,n=(n=n+Math.imul(O,G)|0)+Math.imul(T,V)|0,a=a+Math.imul(T,G)|0,i=i+Math.imul(j,Q)|0,n=(n=n+Math.imul(j,ee)|0)+Math.imul(B,Q)|0,a=a+Math.imul(B,ee)|0,i=i+Math.imul(I,re)|0,n=(n=n+Math.imul(I,ie)|0)+Math.imul(q,re)|0,a=a+Math.imul(q,ie)|0,i=i+Math.imul(x,ae)|0,n=(n=n+Math.imul(x,oe)|0)+Math.imul(z,ae)|0,a=a+Math.imul(z,oe)|0,i=i+Math.imul(S,fe)|0,n=(n=n+Math.imul(S,ce)|0)+Math.imul(k,fe)|0,a=a+Math.imul(k,ce)|0,i=i+Math.imul(w,ue)|0,n=(n=n+Math.imul(w,he)|0)+Math.imul(_,ue)|0,a=a+Math.imul(_,he)|0;var ze=(c+(i=i+Math.imul(g,be)|0)|0)+((8191&(n=(n=n+Math.imul(g,pe)|0)+Math.imul(v,be)|0))<<13)|0;c=((a=a+Math.imul(v,pe)|0)+(n>>>13)|0)+(ze>>>26)|0,ze&=67108863,i=Math.imul(L,V),n=(n=Math.imul(L,G))+Math.imul(D,V)|0,a=Math.imul(D,G),i=i+Math.imul(O,Q)|0,n=(n=n+Math.imul(O,ee)|0)+Math.imul(T,Q)|0,a=a+Math.imul(T,ee)|0,i=i+Math.imul(j,re)|0,n=(n=n+Math.imul(j,ie)|0)+Math.imul(B,re)|0,a=a+Math.imul(B,ie)|0,i=i+Math.imul(I,ae)|0,n=(n=n+Math.imul(I,oe)|0)+Math.imul(q,ae)|0,a=a+Math.imul(q,oe)|0,i=i+Math.imul(x,fe)|0,n=(n=n+Math.imul(x,ce)|0)+Math.imul(z,fe)|0,a=a+Math.imul(z,ce)|0,i=i+Math.imul(S,ue)|0,n=(n=n+Math.imul(S,he)|0)+Math.imul(k,ue)|0,a=a+Math.imul(k,he)|0;var Ae=(c+(i=i+Math.imul(w,be)|0)|0)+((8191&(n=(n=n+Math.imul(w,pe)|0)+Math.imul(_,be)|0))<<13)|0;c=((a=a+Math.imul(_,pe)|0)+(n>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,i=Math.imul(L,Q),n=(n=Math.imul(L,ee))+Math.imul(D,Q)|0,a=Math.imul(D,ee),i=i+Math.imul(O,re)|0,n=(n=n+Math.imul(O,ie)|0)+Math.imul(T,re)|0,a=a+Math.imul(T,ie)|0,i=i+Math.imul(j,ae)|0,n=(n=n+Math.imul(j,oe)|0)+Math.imul(B,ae)|0,a=a+Math.imul(B,oe)|0,i=i+Math.imul(I,fe)|0,n=(n=n+Math.imul(I,ce)|0)+Math.imul(q,fe)|0,a=a+Math.imul(q,ce)|0,i=i+Math.imul(x,ue)|0,n=(n=n+Math.imul(x,he)|0)+Math.imul(z,ue)|0,a=a+Math.imul(z,he)|0;var Ie=(c+(i=i+Math.imul(S,be)|0)|0)+((8191&(n=(n=n+Math.imul(S,pe)|0)+Math.imul(k,be)|0))<<13)|0;c=((a=a+Math.imul(k,pe)|0)+(n>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,i=Math.imul(L,re),n=(n=Math.imul(L,ie))+Math.imul(D,re)|0,a=Math.imul(D,ie),i=i+Math.imul(O,ae)|0,n=(n=n+Math.imul(O,oe)|0)+Math.imul(T,ae)|0,a=a+Math.imul(T,oe)|0,i=i+Math.imul(j,fe)|0,n=(n=n+Math.imul(j,ce)|0)+Math.imul(B,fe)|0,a=a+Math.imul(B,ce)|0,i=i+Math.imul(I,ue)|0,n=(n=n+Math.imul(I,he)|0)+Math.imul(q,ue)|0,a=a+Math.imul(q,he)|0;var qe=(c+(i=i+Math.imul(x,be)|0)|0)+((8191&(n=(n=n+Math.imul(x,pe)|0)+Math.imul(z,be)|0))<<13)|0;c=((a=a+Math.imul(z,pe)|0)+(n>>>13)|0)+(qe>>>26)|0,qe&=67108863,i=Math.imul(L,ae),n=(n=Math.imul(L,oe))+Math.imul(D,ae)|0,a=Math.imul(D,oe),i=i+Math.imul(O,fe)|0,n=(n=n+Math.imul(O,ce)|0)+Math.imul(T,fe)|0,a=a+Math.imul(T,ce)|0,i=i+Math.imul(j,ue)|0,n=(n=n+Math.imul(j,he)|0)+Math.imul(B,ue)|0,a=a+Math.imul(B,he)|0;var Re=(c+(i=i+Math.imul(I,be)|0)|0)+((8191&(n=(n=n+Math.imul(I,pe)|0)+Math.imul(q,be)|0))<<13)|0;c=((a=a+Math.imul(q,pe)|0)+(n>>>13)|0)+(Re>>>26)|0,Re&=67108863,i=Math.imul(L,fe),n=(n=Math.imul(L,ce))+Math.imul(D,fe)|0,a=Math.imul(D,ce),i=i+Math.imul(O,ue)|0,n=(n=n+Math.imul(O,he)|0)+Math.imul(T,ue)|0,a=a+Math.imul(T,he)|0;var je=(c+(i=i+Math.imul(j,be)|0)|0)+((8191&(n=(n=n+Math.imul(j,pe)|0)+Math.imul(B,be)|0))<<13)|0;c=((a=a+Math.imul(B,pe)|0)+(n>>>13)|0)+(je>>>26)|0,je&=67108863,i=Math.imul(L,ue),n=(n=Math.imul(L,he))+Math.imul(D,ue)|0,a=Math.imul(D,he);var Be=(c+(i=i+Math.imul(O,be)|0)|0)+((8191&(n=(n=n+Math.imul(O,pe)|0)+Math.imul(T,be)|0))<<13)|0;c=((a=a+Math.imul(T,pe)|0)+(n>>>13)|0)+(Be>>>26)|0,Be&=67108863;var Ne=(c+(i=Math.imul(L,be))|0)+((8191&(n=(n=Math.imul(L,pe))+Math.imul(D,be)|0))<<13)|0;return c=((a=Math.imul(D,pe))+(n>>>13)|0)+(Ne>>>26)|0,Ne&=67108863,f[0]=me,f[1]=ge,f[2]=ve,f[3]=ye,f[4]=we,f[5]=_e,f[6]=Me,f[7]=Se,f[8]=ke,f[9]=Ee,f[10]=xe,f[11]=ze,f[12]=Ae,f[13]=Ie,f[14]=qe,f[15]=Re,f[16]=je,f[17]=Be,f[18]=Ne,0!==c&&(f[19]=c,r.length++),r};function m(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var i=0,n=0,a=0;a<r.length-1;a++){var o=n;n=0;for(var s=67108863&i,f=Math.min(a,t.length-1),c=Math.max(0,a-e.length+1);c<=f;c++){var d=a-c,u=(0|e.words[d])*(0|t.words[c]),h=67108863&u;s=67108863&(h=h+s|0),n+=(o=(o=o+(u/67108864|0)|0)+(h>>>26)|0)>>>26,o&=67108863}r.words[a]=s,i=o,o=n}return 0!==i?r.words[a]=i:r.length--,r._strip()}function g(e,t,r){return m(e,t,r)}function v(e,t){this.x=e,this.y=t}Math.imul||(p=b),a.prototype.mulTo=function(e,t){var r=this.length+e.length;return 10===this.length&&10===e.length?p(this,e,t):r<63?b(this,e,t):r<1024?m(this,e,t):g(this,e,t)},v.prototype.makeRBT=function(e){for(var t=new Array(e),r=a.prototype._countBits(e)-1,i=0;i<e;i++)t[i]=this.revBin(i,r,e);return t},v.prototype.revBin=function(e,t,r){if(0===e||e===r-1)return e;for(var i=0,n=0;n<t;n++)i|=(1&e)<<t-n-1,e>>=1;return i},v.prototype.permute=function(e,t,r,i,n,a){for(var o=0;o<a;o++)i[o]=t[e[o]],n[o]=r[e[o]]},v.prototype.transform=function(e,t,r,i,n,a){this.permute(a,e,t,r,i,n);for(var o=1;o<n;o<<=1)for(var s=o<<1,f=Math.cos(2*Math.PI/s),c=Math.sin(2*Math.PI/s),d=0;d<n;d+=s)for(var u=f,h=c,l=0;l<o;l++){var b=r[d+l],p=i[d+l],m=r[d+l+o],g=i[d+l+o],v=u*m-h*g;g=u*g+h*m,m=v,r[d+l]=b+m,i[d+l]=p+g,r[d+l+o]=b-m,i[d+l+o]=p-g,l!==s&&(v=f*u-c*h,h=f*h+c*u,u=v)}},v.prototype.guessLen13b=function(e,t){var r=1|Math.max(t,e),i=1&r,n=0;for(r=r/2|0;r;r>>>=1)n++;return 1<<n+1+i},v.prototype.conjugate=function(e,t,r){if(!(r<=1))for(var i=0;i<r/2;i++){var n=e[i];e[i]=e[r-i-1],e[r-i-1]=n,n=t[i],t[i]=-t[r-i-1],t[r-i-1]=-n}},v.prototype.normalize13b=function(e,t){for(var r=0,i=0;i<t/2;i++){var n=8192*Math.round(e[2*i+1]/t)+Math.round(e[2*i]/t)+r;e[i]=67108863&n,r=n<67108864?0:n/67108864|0}return e},v.prototype.convert13b=function(e,t,r,n){for(var a=0,o=0;o<t;o++)a+=0|e[o],r[2*o]=8191&a,a>>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*t;o<n;++o)r[o]=0;i(0===a),i(0==(-8192&a))},v.prototype.stub=function(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=0;return t},v.prototype.mulp=function(e,t,r){var i=2*this.guessLen13b(e.length,t.length),n=this.makeRBT(i),a=this.stub(i),o=new Array(i),s=new Array(i),f=new Array(i),c=new Array(i),d=new Array(i),u=new Array(i),h=r.words;h.length=i,this.convert13b(e.words,e.length,o,i),this.convert13b(t.words,t.length,c,i),this.transform(o,a,s,f,i,n),this.transform(c,a,d,u,i,n);for(var l=0;l<i;l++){var b=s[l]*d[l]-f[l]*u[l];f[l]=s[l]*u[l]+f[l]*d[l],s[l]=b}return this.conjugate(s,f,i),this.transform(s,f,h,a,i,n),this.conjugate(h,a,i),this.normalize13b(h,i),r.negative=e.negative^t.negative,r.length=e.length+t.length,r._strip()},a.prototype.mul=function(e){var t=new a(null);return t.words=new Array(this.length+e.length),this.mulTo(e,t)},a.prototype.mulf=function(e){var t=new a(null);return t.words=new Array(this.length+e.length),g(this,e,t)},a.prototype.imul=function(e){return this.clone().mulTo(e,this)},a.prototype.imuln=function(e){var t=e<0;t&&(e=-e),i("number"==typeof e),i(e<67108864);for(var r=0,n=0;n<this.length;n++){var a=(0|this.words[n])*e,o=(67108863&a)+(67108863&r);r>>=26,r+=a/67108864|0,r+=o>>>26,this.words[n]=67108863&o}return 0!==r&&(this.words[n]=r,this.length++),t?this.ineg():this},a.prototype.muln=function(e){return this.clone().imuln(e)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r<t.length;r++){var i=r/26|0,n=r%26;t[r]=e.words[i]>>>n&1}return t}(e);if(0===t.length)return new a(1);for(var r=this,i=0;i<t.length&&0===t[i];i++,r=r.sqr());if(++i<t.length)for(var n=r.sqr();i<t.length;i++,n=n.sqr())0!==t[i]&&(r=r.mul(n));return r},a.prototype.iushln=function(e){i("number"==typeof e&&e>=0);var t,r=e%26,n=(e-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(t=0;t<this.length;t++){var s=this.words[t]&a,f=(0|this.words[t])-s<<r;this.words[t]=f|o,o=s>>>26-r}o&&(this.words[t]=o,this.length++)}if(0!==n){for(t=this.length-1;t>=0;t--)this.words[t+n]=this.words[t];for(t=0;t<n;t++)this.words[t]=0;this.length+=n}return this._strip()},a.prototype.ishln=function(e){return i(0===this.negative),this.iushln(e)},a.prototype.iushrn=function(e,t,r){var n;i("number"==typeof e&&e>=0),n=t?(t-t%26)/26:0;var a=e%26,o=Math.min((e-a)/26,this.length),s=67108863^67108863>>>a<<a,f=r;if(n-=o,n=Math.max(0,n),f){for(var c=0;c<o;c++)f.words[c]=this.words[c];f.length=o}if(0===o);else if(this.length>o)for(this.length-=o,c=0;c<this.length;c++)this.words[c]=this.words[c+o];else this.words[0]=0,this.length=1;var d=0;for(c=this.length-1;c>=0&&(0!==d||c>=n);c--){var u=0|this.words[c];this.words[c]=d<<26-a|u>>>a,d=u&s}return f&&0!==d&&(f.words[f.length++]=d),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},a.prototype.ishrn=function(e,t,r){return i(0===this.negative),this.iushrn(e,t,r)},a.prototype.shln=function(e){return this.clone().ishln(e)},a.prototype.ushln=function(e){return this.clone().iushln(e)},a.prototype.shrn=function(e){return this.clone().ishrn(e)},a.prototype.ushrn=function(e){return this.clone().iushrn(e)},a.prototype.testn=function(e){i("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26,n=1<<t;return!(this.length<=r)&&!!(this.words[r]&n)},a.prototype.imaskn=function(e){i("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==t&&r++,this.length=Math.min(r,this.length),0!==t){var n=67108863^67108863>>>t<<t;this.words[this.length-1]&=n}return this._strip()},a.prototype.maskn=function(e){return this.clone().imaskn(e)},a.prototype.iaddn=function(e){return i("number"==typeof e),i(e<67108864),e<0?this.isubn(-e):0!==this.negative?1===this.length&&(0|this.words[0])<=e?(this.words[0]=e-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(e),this.negative=1,this):this._iaddn(e)},a.prototype._iaddn=function(e){this.words[0]+=e;for(var t=0;t<this.length&&this.words[t]>=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},a.prototype.isubn=function(e){if(i("number"==typeof e),i(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t<this.length&&this.words[t]<0;t++)this.words[t]+=67108864,this.words[t+1]-=1;return this._strip()},a.prototype.addn=function(e){return this.clone().iaddn(e)},a.prototype.subn=function(e){return this.clone().isubn(e)},a.prototype.iabs=function(){return this.negative=0,this},a.prototype.abs=function(){return this.clone().iabs()},a.prototype._ishlnsubmul=function(e,t,r){var n,a,o=e.length+r;this._expand(o);var s=0;for(n=0;n<e.length;n++){a=(0|this.words[n+r])+s;var f=(0|e.words[n])*t;s=((a-=67108863&f)>>26)-(f/67108864|0),this.words[n+r]=67108863&a}for(;n<this.length-r;n++)s=(a=(0|this.words[n+r])+s)>>26,this.words[n+r]=67108863&a;if(0===s)return this._strip();for(i(-1===s),s=0,n=0;n<this.length;n++)s=(a=-(0|this.words[n])+s)>>26,this.words[n]=67108863&a;return this.negative=1,this._strip()},a.prototype._wordDiv=function(e,t){var r=(this.length,e.length),i=this.clone(),n=e,o=0|n.words[n.length-1];0!==(r=26-this._countBits(o))&&(n=n.ushln(r),i.iushln(r),o=0|n.words[n.length-1]);var s,f=i.length-n.length;if("mod"!==t){(s=new a(null)).length=f+1,s.words=new Array(s.length);for(var c=0;c<s.length;c++)s.words[c]=0}var d=i.clone()._ishlnsubmul(n,1,f);0===d.negative&&(i=d,s&&(s.words[f]=1));for(var u=f-1;u>=0;u--){var h=67108864*(0|i.words[n.length+u])+(0|i.words[n.length+u-1]);for(h=Math.min(h/o|0,67108863),i._ishlnsubmul(n,h,u);0!==i.negative;)h--,i.negative=0,i._ishlnsubmul(n,1,u),i.isZero()||(i.negative^=1);s&&(s.words[u]=h)}return s&&s._strip(),i._strip(),"div"!==t&&0!==r&&i.iushrn(r),{div:s||null,mod:i}},a.prototype.divmod=function(e,t,r){return i(!e.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,t),"mod"!==t&&(n=s.div.neg()),"div"!==t&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(e)),{div:n,mod:o}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),t),"mod"!==t&&(n=s.div.neg()),{div:n,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),t),"div"!==t&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(e)),{div:s.div,mod:o}):e.length>this.length||this.cmp(e)<0?{div:new a(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new a(this.modrn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new a(this.modrn(e.words[0]))}:this._wordDiv(e,t);var n,o,s},a.prototype.div=function(e){return this.divmod(e,"div",!1).div},a.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},a.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},a.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,i=e.ushrn(1),n=e.andln(1),a=r.cmp(i);return a<0||1===n&&0===a?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},a.prototype.modrn=function(e){var t=e<0;t&&(e=-e),i(e<=67108863);for(var r=(1<<26)%e,n=0,a=this.length-1;a>=0;a--)n=(r*n+(0|this.words[a]))%e;return t?-n:n},a.prototype.modn=function(e){return this.modrn(e)},a.prototype.idivn=function(e){var t=e<0;t&&(e=-e),i(e<=67108863);for(var r=0,n=this.length-1;n>=0;n--){var a=(0|this.words[n])+67108864*r;this.words[n]=a/e|0,r=a%e}return this._strip(),t?this.ineg():this},a.prototype.divn=function(e){return this.clone().idivn(e)},a.prototype.egcd=function(e){i(0===e.negative),i(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var n=new a(1),o=new a(0),s=new a(0),f=new a(1),c=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++c;for(var d=r.clone(),u=t.clone();!t.isZero();){for(var h=0,l=1;0==(t.words[0]&l)&&h<26;++h,l<<=1);if(h>0)for(t.iushrn(h);h-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(d),o.isub(u)),n.iushrn(1),o.iushrn(1);for(var b=0,p=1;0==(r.words[0]&p)&&b<26;++b,p<<=1);if(b>0)for(r.iushrn(b);b-- >0;)(s.isOdd()||f.isOdd())&&(s.iadd(d),f.isub(u)),s.iushrn(1),f.iushrn(1);t.cmp(r)>=0?(t.isub(r),n.isub(s),o.isub(f)):(r.isub(t),s.isub(n),f.isub(o))}return{a:s,b:f,gcd:r.iushln(c)}},a.prototype._invmp=function(e){i(0===e.negative),i(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var n,o=new a(1),s=new a(0),f=r.clone();t.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,d=1;0==(t.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(t.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(f),o.iushrn(1);for(var u=0,h=1;0==(r.words[0]&h)&&u<26;++u,h<<=1);if(u>0)for(r.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(f),s.iushrn(1);t.cmp(r)>=0?(t.isub(r),o.isub(s)):(r.isub(t),s.isub(o))}return(n=0===t.cmpn(1)?o:s).cmpn(0)<0&&n.iadd(e),n},a.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var i=0;t.isEven()&&r.isEven();i++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=t.cmp(r);if(n<0){var a=t;t=r,r=a}else if(0===n||0===r.cmpn(1))break;t.isub(r)}return r.iushln(i)},a.prototype.invm=function(e){return this.egcd(e).a.umod(e)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(e){return this.words[0]&e},a.prototype.bincn=function(e){i("number"==typeof e);var t=e%26,r=(e-t)/26,n=1<<t;if(this.length<=r)return this._expand(r+1),this.words[r]|=n,this;for(var a=n,o=r;0!==a&&o<this.length;o++){var s=0|this.words[o];a=(s+=a)>>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(e){var t,r=e<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this._strip(),this.length>1)t=1;else{r&&(e=-e),i(e<=67108863,"Number is too big");var n=0|this.words[0];t=n===e?0:n<e?-1:1}return 0!==this.negative?0|-t:t},a.prototype.cmp=function(e){if(0!==this.negative&&0===e.negative)return-1;if(0===this.negative&&0!==e.negative)return 1;var t=this.ucmp(e);return 0!==this.negative?0|-t:t},a.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var t=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|e.words[r];if(i!==n){i<n?t=-1:i>n&&(t=1);break}}return t},a.prototype.gtn=function(e){return 1===this.cmpn(e)},a.prototype.gt=function(e){return 1===this.cmp(e)},a.prototype.gten=function(e){return this.cmpn(e)>=0},a.prototype.gte=function(e){return this.cmp(e)>=0},a.prototype.ltn=function(e){return-1===this.cmpn(e)},a.prototype.lt=function(e){return-1===this.cmp(e)},a.prototype.lten=function(e){return this.cmpn(e)<=0},a.prototype.lte=function(e){return this.cmp(e)<=0},a.prototype.eqn=function(e){return 0===this.cmpn(e)},a.prototype.eq=function(e){return 0===this.cmp(e)},a.red=function(e){return new E(e)},a.prototype.toRed=function(e){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},a.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(e){return this.red=e,this},a.prototype.forceRed=function(e){return i(!this.red,"Already a number in reduction context"),this._forceRed(e)},a.prototype.redAdd=function(e){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},a.prototype.redIAdd=function(e){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},a.prototype.redSub=function(e){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},a.prototype.redISub=function(e){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},a.prototype.redShl=function(e){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},a.prototype.redMul=function(e){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},a.prototype.redIMul=function(e){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},a.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(e){return i(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var y={k256:null,p224:null,p192:null,p25519:null};function w(e,t){this.name=e,this.p=new a(t,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function _(){w.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function M(){w.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function S(){w.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function k(){w.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(e){if("string"==typeof e){var t=a._prime(e);this.m=t.p,this.prime=t}else i(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function x(e){E.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(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)}w.prototype._tmp=function(){var e=new a(null);return e.words=new Array(Math.ceil(this.n/13)),e},w.prototype.ireduce=function(e){var t,r=e;do{this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(t>this.n);var i=t<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},w.prototype.split=function(e,t){e.iushrn(this.n,0,t)},w.prototype.imulK=function(e){return e.imul(this.k)},n(_,w),_.prototype.split=function(e,t){for(var r=Math.min(e.length,9),i=0;i<r;i++)t.words[i]=e.words[i];if(t.length=r,e.length<=9)return e.words[0]=0,void(e.length=1);var n=e.words[9];for(t.words[t.length++]=4194303&n,i=10;i<e.length;i++){var a=0|e.words[i];e.words[i-10]=(4194303&a)<<4|n>>>22,n=a}n>>>=22,e.words[i-10]=n,0===n&&e.length>10?e.length-=10:e.length-=9},_.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r<e.length;r++){var i=0|e.words[r];t+=977*i,e.words[r]=67108863&t,t=64*i+(t/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},n(M,w),n(S,w),n(k,w),k.prototype.imulK=function(e){for(var t=0,r=0;r<e.length;r++){var i=19*(0|e.words[r])+t,n=67108863&i;i>>>=26,e.words[r]=n,t=i}return 0!==t&&(e.words[e.length++]=t),e},a._prime=function(e){if(y[e])return y[e];var t;if("k256"===e)t=new _;else if("p224"===e)t=new M;else if("p192"===e)t=new S;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new k}return y[e]=t,t},E.prototype._verify1=function(e){i(0===e.negative,"red works only with positives"),i(e.red,"red works only with red numbers")},E.prototype._verify2=function(e,t){i(0==(e.negative|t.negative),"red works only with positives"),i(e.red&&e.red===t.red,"red works only with red numbers")},E.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):(c(e,e.umod(this.m)._forceRed(this)),e)},E.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},E.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},E.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},E.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},E.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},E.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},E.prototype.isqr=function(e){return this.imul(e,e.clone())},E.prototype.sqr=function(e){return this.mul(e,e)},E.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(i(t%2==1),3===t){var r=this.m.add(new a(1)).iushrn(2);return this.pow(e,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var s=new a(1).toRed(this),f=s.redNeg(),c=this.m.subn(1).iushrn(1),d=this.m.bitLength();for(d=new a(2*d*d).toRed(this);0!==this.pow(d,c).cmp(f);)d.redIAdd(f);for(var u=this.pow(d,n),h=this.pow(e,n.addn(1).iushrn(1)),l=this.pow(e,n),b=o;0!==l.cmp(s);){for(var p=l,m=0;0!==p.cmp(s);m++)p=p.redSqr();i(m<b);var g=this.pow(u,new a(1).iushln(b-m-1));h=h.redMul(g),u=g.redSqr(),l=l.redMul(u),b=m}return h},E.prototype.invm=function(e){var t=e._invmp(this.m);return 0!==t.negative?(t.negative=0,this.imod(t).redNeg()):this.imod(t)},E.prototype.pow=function(e,t){if(t.isZero())return new a(1).toRed(this);if(0===t.cmpn(1))return e.clone();var r=new Array(16);r[0]=new a(1).toRed(this),r[1]=e;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],e);var n=r[0],o=0,s=0,f=t.bitLength()%26;for(0===f&&(f=26),i=t.length-1;i>=0;i--){for(var c=t.words[i],d=f-1;d>=0;d--){var u=c>>d&1;n!==r[0]&&(n=this.sqr(n)),0!==u||0!==o?(o<<=1,o|=u,(4===++s||0===i&&0===d)&&(n=this.mul(n,r[o]),s=0,o=0)):s=0}f=26}return n},E.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},E.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},a.mont=function(e){return new x(e)},n(x,E),x.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},x.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},x.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),a=n;return n.cmp(this.m)>=0?a=n.isub(this.m):n.cmpn(0)<0&&(a=n.iadd(this.m)),a._forceRed(this)},x.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new a(0)._forceRed(this);var r=e.mul(t),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)},x.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,this)}).call(this,r(45)(e))},function(e,t,r){"use strict";const i=t;i.bignum=r(4),i.define=r(204).define,i.base=r(207),i.constants=r(208),i.decoders=r(102),i.encoders=r(100)},function(e,t,r){"use strict";const i=t;i.der=r(101),i.pem=r(205)},function(e,t,r){"use strict";const i=r(0),n=r(51).Buffer,a=r(52),o=r(54);function s(e){this.enc="der",this.name=e.name,this.entity=e,this.tree=new f,this.tree._init(e.body)}function f(e){a.call(this,"der",e)}function c(e){return e<10?"0"+e:e}e.exports=s,s.prototype.encode=function(e,t){return this.tree._encode(e,t).join()},i(f,a),f.prototype._encodeComposite=function(e,t,r,i){const a=function(e,t,r,i){let n;"seqof"===e?e="seq":"setof"===e&&(e="set");if(o.tagByName.hasOwnProperty(e))n=o.tagByName[e];else{if("number"!=typeof e||(0|e)!==e)return i.error("Unknown tag: "+e);n=e}if(n>=31)return i.error("Multi-octet tag encoding unsupported");t||(n|=32);return n|=o.tagClassByName[r||"universal"]<<6,n}(e,t,r,this.reporter);if(i.length<128){const e=n.alloc(2);return e[0]=a,e[1]=i.length,this._createEncoderBuffer([e,i])}let s=1;for(let e=i.length;e>=256;e>>=8)s++;const f=n.alloc(2+s);f[0]=a,f[1]=128|s;for(let e=1+s,t=i.length;t>0;e--,t>>=8)f[e]=255&t;return this._createEncoderBuffer([f,i])},f.prototype._encodeStr=function(e,t){if("bitstr"===t)return this._createEncoderBuffer([0|e.unused,e.data]);if("bmpstr"===t){const t=n.alloc(2*e.length);for(let r=0;r<e.length;r++)t.writeUInt16BE(e.charCodeAt(r),2*r);return this._createEncoderBuffer(t)}return"numstr"===t?this._isNumstr(e)?this._createEncoderBuffer(e):this.reporter.error("Encoding of string type: numstr supports only digits and space"):"printstr"===t?this._isPrintstr(e)?this._createEncoderBuffer(e):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(t)||"objDesc"===t?this._createEncoderBuffer(e):this.reporter.error("Encoding of string type: "+t+" unsupported")},f.prototype._encodeObjid=function(e,t,r){if("string"==typeof e){if(!t)return this.reporter.error("string objid given, but no values map found");if(!t.hasOwnProperty(e))return this.reporter.error("objid not found in values map");e=t[e].split(/[\s.]+/g);for(let t=0;t<e.length;t++)e[t]|=0}else if(Array.isArray(e)){e=e.slice();for(let t=0;t<e.length;t++)e[t]|=0}if(!Array.isArray(e))return this.reporter.error("objid() should be either array or string, got: "+JSON.stringify(e));if(!r){if(e[1]>=40)return this.reporter.error("Second objid identifier OOB");e.splice(0,2,40*e[0]+e[1])}let i=0;for(let t=0;t<e.length;t++){let r=e[t];for(i++;r>=128;r>>=7)i++}const a=n.alloc(i);let o=a.length-1;for(let t=e.length-1;t>=0;t--){let r=e[t];for(a[o--]=127&r;(r>>=7)>0;)a[o--]=128|127&r}return this._createEncoderBuffer(a)},f.prototype._encodeTime=function(e,t){let r;const i=new Date(e);return"gentime"===t?r=[c(i.getUTCFullYear()),c(i.getUTCMonth()+1),c(i.getUTCDate()),c(i.getUTCHours()),c(i.getUTCMinutes()),c(i.getUTCSeconds()),"Z"].join(""):"utctime"===t?r=[c(i.getUTCFullYear()%100),c(i.getUTCMonth()+1),c(i.getUTCDate()),c(i.getUTCHours()),c(i.getUTCMinutes()),c(i.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+t+" time is not supported yet"),this._encodeStr(r,"octstr")},f.prototype._encodeNull=function(){return this._createEncoderBuffer("")},f.prototype._encodeInt=function(e,t){if("string"==typeof e){if(!t)return this.reporter.error("String int or enum given, but no values map");if(!t.hasOwnProperty(e))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(e));e=t[e]}if("number"!=typeof e&&!n.isBuffer(e)){const t=e.toArray();!e.sign&&128&t[0]&&t.unshift(0),e=n.from(t)}if(n.isBuffer(e)){let t=e.length;0===e.length&&t++;const r=n.alloc(t);return e.copy(r),0===e.length&&(r[0]=0),this._createEncoderBuffer(r)}if(e<128)return this._createEncoderBuffer(e);if(e<256)return this._createEncoderBuffer([0,e]);let r=1;for(let t=e;t>=256;t>>=8)r++;const i=new Array(r);for(let t=i.length-1;t>=0;t--)i[t]=255&e,e>>=8;return 128&i[0]&&i.unshift(0),this._createEncoderBuffer(n.from(i))},f.prototype._encodeBool=function(e){return this._createEncoderBuffer(e?255:0)},f.prototype._use=function(e,t){return"function"==typeof e&&(e=e(t)),e._getEncoder("der").tree},f.prototype._skipDefault=function(e,t,r){const i=this._baseState;let n;if(null===i.default)return!1;const a=e.join();if(void 0===i.defaultBuffer&&(i.defaultBuffer=this._encodeValue(i.default,t,r).join()),a.length!==i.defaultBuffer.length)return!1;for(n=0;n<a.length;n++)if(a[n]!==i.defaultBuffer[n])return!1;return!0}},function(e,t,r){"use strict";const i=t;i.der=r(103),i.pem=r(206)},function(e,t,r){"use strict";const i=r(0),n=r(4),a=r(25).DecoderBuffer,o=r(52),s=r(54);function f(e){this.enc="der",this.name=e.name,this.entity=e,this.tree=new c,this.tree._init(e.body)}function c(e){o.call(this,"der",e)}function d(e,t){let r=e.readUInt8(t);if(e.isError(r))return r;const i=s.tagClass[r>>6],n=0==(32&r);if(31==(31&r)){let i=r;for(r=0;128==(128&i);){if(i=e.readUInt8(t),e.isError(i))return i;r<<=7,r|=127&i}}else r&=31;return{cls:i,primitive:n,tag:r,tagStr:s.tag[r]}}function u(e,t,r){let i=e.readUInt8(r);if(e.isError(i))return i;if(!t&&128===i)return null;if(0==(128&i))return i;const n=127&i;if(n>4)return e.error("length octect is too long");i=0;for(let t=0;t<n;t++){i<<=8;const t=e.readUInt8(r);if(e.isError(t))return t;i|=t}return i}e.exports=f,f.prototype.decode=function(e,t){return a.isDecoderBuffer(e)||(e=new a(e,t)),this.tree._decode(e,t)},i(c,o),c.prototype._peekTag=function(e,t,r){if(e.isEmpty())return!1;const i=e.save(),n=d(e,'Failed to peek tag: "'+t+'"');return e.isError(n)?n:(e.restore(i),n.tag===t||n.tagStr===t||n.tagStr+"of"===t||r)},c.prototype._decodeTag=function(e,t,r){const i=d(e,'Failed to decode tag of "'+t+'"');if(e.isError(i))return i;let n=u(e,i.primitive,'Failed to get length of "'+t+'"');if(e.isError(n))return n;if(!r&&i.tag!==t&&i.tagStr!==t&&i.tagStr+"of"!==t)return e.error('Failed to match tag: "'+t+'"');if(i.primitive||null!==n)return e.skip(n,'Failed to match body of: "'+t+'"');const a=e.save(),o=this._skipUntilEnd(e,'Failed to skip indefinite length body: "'+this.tag+'"');return e.isError(o)?o:(n=e.offset-a.offset,e.restore(a),e.skip(n,'Failed to match body of: "'+t+'"'))},c.prototype._skipUntilEnd=function(e,t){for(;;){const r=d(e,t);if(e.isError(r))return r;const i=u(e,r.primitive,t);if(e.isError(i))return i;let n;if(n=r.primitive||null!==i?e.skip(i):this._skipUntilEnd(e,t),e.isError(n))return n;if("end"===r.tagStr)break}},c.prototype._decodeList=function(e,t,r,i){const n=[];for(;!e.isEmpty();){const t=this._peekTag(e,"end");if(e.isError(t))return t;const a=r.decode(e,"der",i);if(e.isError(a)&&t)break;n.push(a)}return n},c.prototype._decodeStr=function(e,t){if("bitstr"===t){const t=e.readUInt8();return e.isError(t)?t:{unused:t,data:e.raw()}}if("bmpstr"===t){const t=e.raw();if(t.length%2==1)return e.error("Decoding of string type: bmpstr length mismatch");let r="";for(let e=0;e<t.length/2;e++)r+=String.fromCharCode(t.readUInt16BE(2*e));return r}if("numstr"===t){const t=e.raw().toString("ascii");return this._isNumstr(t)?t:e.error("Decoding of string type: numstr unsupported characters")}if("octstr"===t)return e.raw();if("objDesc"===t)return e.raw();if("printstr"===t){const t=e.raw().toString("ascii");return this._isPrintstr(t)?t:e.error("Decoding of string type: printstr unsupported characters")}return/str$/.test(t)?e.raw().toString():e.error("Decoding of string type: "+t+" unsupported")},c.prototype._decodeObjid=function(e,t,r){let i;const n=[];let a=0,o=0;for(;!e.isEmpty();)o=e.readUInt8(),a<<=7,a|=127&o,0==(128&o)&&(n.push(a),a=0);128&o&&n.push(a);const s=n[0]/40|0,f=n[0]%40;if(i=r?n:[s,f].concat(n.slice(1)),t){let e=t[i.join(" ")];void 0===e&&(e=t[i.join(".")]),void 0!==e&&(i=e)}return i},c.prototype._decodeTime=function(e,t){const r=e.raw().toString();let i,n,a,o,s,f;if("gentime"===t)i=0|r.slice(0,4),n=0|r.slice(4,6),a=0|r.slice(6,8),o=0|r.slice(8,10),s=0|r.slice(10,12),f=0|r.slice(12,14);else{if("utctime"!==t)return e.error("Decoding "+t+" time is not supported yet");i=0|r.slice(0,2),n=0|r.slice(2,4),a=0|r.slice(4,6),o=0|r.slice(6,8),s=0|r.slice(8,10),f=0|r.slice(10,12),i=i<70?2e3+i:1900+i}return Date.UTC(i,n-1,a,o,s,f,0)},c.prototype._decodeNull=function(){return null},c.prototype._decodeBool=function(e){const t=e.readUInt8();return e.isError(t)?t:0!==t},c.prototype._decodeInt=function(e,t){const r=e.raw();let i=new n(r);return t&&(i=t[i.toString(10)]||i),i},c.prototype._use=function(e,t){return"function"==typeof e&&(e=e(t)),e._getDecoder("der").tree}},function(e){e.exports=JSON.parse('{"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"}')},function(e,t,r){var i=r(11),n=r(1).Buffer;function a(e){var t=n.allocUnsafe(4);return t.writeUInt32BE(e,0),t}e.exports=function(e,t){for(var r,o=n.alloc(0),s=0;o.length<t;)r=a(s++),o=n.concat([o,i("sha1").update(e).update(r).digest()]);return o.slice(0,t)}},function(e,t){e.exports=function(e,t){for(var r=e.length,i=-1;++i<r;)e[i]^=t[i];return e}},function(e,t,r){var i=r(4),n=r(1).Buffer;e.exports=function(e,t){return n.from(e.toRed(i.mont(t.modulus)).redPow(new i(t.publicExponent)).fromRed().toArray())}},function(e,t,r){"use strict";(function(t){
/*!
 * batch-rng.js - batch rng for bcrypto
 * Copyright (c) 2019-2020, Christopher Jeffrey (MIT License).
 * https://github.com/bcoin-org/bcrypto
 *
 * Parts of this software are based on ElementsProject/secp256k1-zkp:
 *   Copyright (c) 2013, Pieter Wuille.
 *   https://github.com/ElementsProject/secp256k1-zkp
 *
 * Resources:
 *   https://github.com/ElementsProject/secp256k1-zkp/blob/11af701/src/modules/schnorrsig/main_impl.h#L166
 *   https://github.com/ElementsProject/secp256k1-zkp/blob/11af701/src/scalar_4x64_impl.h#L972
 *   https://github.com/ElementsProject/secp256k1-zkp/blob/11af701/src/scalar_8x32_impl.h#L747
 */
const i=r(8),n=r(21),a=r(222),o=r(110);e.exports=class{constructor(e,r=(e=>e)){this.curve=e,this.encode=r,this.hash=new o,this.chacha=new a,this.key=t.alloc(32,0),this.iv=t.alloc(8,0),this.cache=[new n(1),new n(1)]}init(e){i(Array.isArray(e)),this.hash.init();for(const[t,r,i]of e)this.hash.update(o.digest(t)),this.hash.update(r),this.hash.update(this.encode(i));return this.key=this.hash.final(),this.cache[0]=new n(1),this.cache[1]=new n(1),this}encrypt(e){const r=2*this.curve.scalarSize,i=t.alloc(r,0),n=i.slice(0,this.curve.scalarSize),a=i.slice(this.curve.scalarSize);return this.chacha.init(this.key,this.iv,e),this.chacha.encrypt(i),[this.curve.decodeScalar(n),this.curve.decodeScalar(a)]}refresh(e){let t=0;for(;;){this.iv[4]=t,this.iv[5]=t>>>8,this.iv[6]=t>>>16,this.iv[7]=t>>>24,t+=1;const[r,i]=this.encrypt(e);if(!(r.isZero()||r.cmp(this.curve.n)>=0)&&!(i.isZero()||i.cmp(this.curve.n)>=0)){this.cache[0]=r,this.cache[1]=i;break}}}generate(e){return i(e>>>0===e),1&e&&this.refresh(e>>>1),this.cache[1&e]}}}).call(this,r(2).Buffer)},function(e,t,r){"use strict";
/*!
 * custom.js - custom inspect symbol for bcrypto
 * Copyright (c) 2018-2019, Christopher Jeffrey (MIT License).
 * https://github.com/bcoin-org/bcrypto
 */t.custom="inspect"},function(e,t,r){"use strict";
/*!
 * sha256.js - sha256 for bcrypto
 * Copyright (c) 2017-2019, Christopher Jeffrey (MIT License).
 * https://github.com/bcoin-org/bcrypto
 */e.exports=r(224)},function(e,t,r){"use strict";(function(t){
/*!
 * hmac.js - hmac for bcrypto
 * Copyright (c) 2016-2019, Christopher Jeffrey (MIT License).
 * https://github.com/bcoin-org/bcrypto
 *
 * Parts of this software are based on indutny/hash.js:
 *   Copyright (c) 2014, Fedor Indutny (MIT License).
 *   https://github.com/indutny/hash.js
 *
 * Resources:
 *   https://en.wikipedia.org/wiki/HMAC
 *   https://tools.ietf.org/html/rfc2104
 *   https://github.com/indutny/hash.js/blob/master/lib/hash/hmac.js
 */
const i=r(8);e.exports=class{constructor(e,t,r=[],n=[]){i("function"==typeof e),i(t>>>0===t),i(Array.isArray(r)),i(Array.isArray(n)),this.hash=e,this.size=t,this.x=r,this.y=n,this.inner=new e,this.outer=new e}init(e){if(i(t.isBuffer(e)),e.length>this.size){const t=new(0,this.hash);t.init(...this.x),t.update(e),e=t.final(...this.y),i(e.length<=this.size)}const r=t.alloc(this.size);for(let t=0;t<e.length;t++)r[t]=54^e[t];for(let t=e.length;t<r.length;t++)r[t]=54;this.inner.init(...this.x),this.inner.update(r);for(let t=0;t<e.length;t++)r[t]=92^e[t];for(let t=e.length;t<r.length;t++)r[t]=92;return this.outer.init(...this.x),this.outer.update(r),this}update(e){return this.inner.update(e),this}final(){return this.outer.update(this.inner.final(...this.y)),this.outer.final(...this.y)}}}).call(this,r(2).Buffer)},function(e,t,r){"use strict";(function(e){
/*!
 * elliptic.js - elliptic curves for bcrypto
 * Copyright (c) 2018-2019, Christopher Jeffrey (MIT License).
 * https://github.com/bcoin-org/bcrypto
 *
 * Parts of this software are based on indutny/elliptic:
 *   Copyright (c) 2014, Fedor Indutny (MIT License).
 *   https://github.com/indutny/elliptic
 *
 * Formulas from DJB and Tanja Lange [EFD].
 *
 * References:
 *
 *   [GECC] Guide to Elliptic Curve Cryptography
 *     D. Hankerson, A. Menezes, and S. Vanstone
 *     https://tinyurl.com/guide-to-ecc
 *
 *   [GLV] Faster Point Multiplication on Elliptic Curves
 *     R. Gallant, R. Lambert, and S. Vanstone
 *     https://link.springer.com/content/pdf/10.1007/3-540-44647-8_11.pdf
 *
 *   [MONT1] Montgomery curves and the Montgomery ladder
 *     Daniel J. Bernstein, Tanja Lange
 *     https://eprint.iacr.org/2017/293.pdf
 *
 *   [SQUARED] Elligator Squared
 *     Mehdi Tibouchi
 *     https://eprint.iacr.org/2014/043.pdf
 *
 *   [SEC1] SEC 1 - Standards for Efficient Cryptography Group
 *     Certicom Research
 *     https://www.secg.org/sec1-v2.pdf
 *
 *   [SEC2] SEC 2: Recommended Elliptic Curve Domain Parameters
 *     Certicom Research
 *     https://www.secg.org/sec2-v2.pdf
 *
 *   [SIDE1] Elliptic Curves and Side-Channel Attacks
 *     Marc Joye
 *     https://pdfs.semanticscholar.org/8d69/9645033e25d74fcfd4cbf07a770d2e943e14.pdf
 *
 *   [BLIND] Side-Channel Analysis on Blinding Regular Scalar Multiplications
 *     B. Feix, M. Roussellet, A. Venelli
 *     https://eprint.iacr.org/2014/191.pdf
 *
 *   [ALT] Alternative Elliptic Curve Representations
 *     R. Struik
 *     https://tools.ietf.org/id/draft-ietf-lwig-curve-representations-02.html
 *
 *   [ARITH1] Arithmetic of Elliptic Curves
 *     Christophe Doche, Tanja Lange
 *     Handbook of Elliptic and Hyperelliptic Curve Cryptography
 *     Page 267, Section 13 (978-1-58488-518-4)
 *     https://hyperelliptic.org/HEHCC/index.html
 *
 *   [ARITH2] The Arithmetic of Elliptic Curves, 2nd Edition
 *     Joseph H. Silverman
 *     http://www.pdmi.ras.ru/~lowdimma/BSD/Silverman-Arithmetic_of_EC.pdf
 *
 *   [EFD] Explicit-Formulas Database
 *     Daniel J. Bernstein, Tanja Lange
 *     https://hyperelliptic.org/EFD/index.html
 *
 *   [SAFE] SafeCurves: choosing safe curves for elliptic-curve cryptography
 *     Daniel J. Bernstein
 *     https://safecurves.cr.yp.to/
 *
 *   [4GLV] Refinement of the Four-Dimensional GLV Method on Elliptic Curves
 *     Hairong Yi, Yuqing Zhu, and Dongdai Lin
 *     http://www.site.uottawa.ca/~cadams/papers/prepro/paper_19_slides.pdf
 *
 *   [SSWU1] Efficient Indifferentiable Hashing into Ordinary Elliptic Curves
 *     E. Brier, J. Coron, T. Icart, D. Madore, H. Randriam, M. Tibouchi
 *     https://eprint.iacr.org/2009/340.pdf
 *
 *   [SSWU2] Rational points on certain hyperelliptic curves over finite fields
 *     Maciej Ulas
 *     https://arxiv.org/abs/0706.1448
 *
 *   [H2EC] Hashing to Elliptic Curves
 *     A. Faz-Hernandez, S. Scott, N. Sullivan, R. S. Wahby, C. A. Wood
 *     https://git.io/JeWz6
 *     https://github.com/cfrg/draft-irtf-cfrg-hash-to-curve
 *
 *   [SVDW1] Construction of Rational Points on Elliptic Curves
 *     A. Shallue, C. E. van de Woestijne
 *     https://works.bepress.com/andrew_shallue/1/download/
 *
 *   [SVDW2] Indifferentiable Hashing to Barreto-Naehrig Curves
 *     Pierre-Alain Fouque, Mehdi Tibouchi
 *     https://www.di.ens.fr/~fouque/pub/latincrypt12.pdf
 *
 *   [SVDW3] Covert ECDH over secp256k1
 *     Pieter Wuille
 *     https://gist.github.com/sipa/29118d3fcfac69f9930d57433316c039
 *
 *   [MONT2] Montgomery Curve (wikipedia)
 *     https://en.wikipedia.org/wiki/Montgomery_curve
 *
 *   [MONT3] Montgomery Curves and their arithmetic
 *     C. Costello, B. Smith
 *     https://eprint.iacr.org/2017/212.pdf
 *
 *   [ELL2] Elliptic-curve points indistinguishable from uniform random strings
 *     D. Bernstein, M. Hamburg, A. Krasnova, T. Lange
 *     https://elligator.cr.yp.to/elligator-20130828.pdf
 *
 *   [RFC7748] Elliptic Curves for Security
 *     A. Langley, M. Hamburg, S. Turner
 *     https://tools.ietf.org/html/rfc7748
 *
 *   [TWISTED] Twisted Edwards Curves
 *     D. Bernstein, P. Birkner, M. Joye, T. Lange, C. Peters
 *     https://eprint.iacr.org/2008/013.pdf
 *
 *   [ELL1] Injective Encodings to Elliptic Curves
 *     P. Fouque, A. Joux, M. Tibouchi
 *     https://eprint.iacr.org/2013/373.pdf
 *
 *   [ISOGENY] Twisting Edwards curves with isogenies
 *     Mike Hamburg
 *     https://www.shiftleft.org/papers/isogeny/isogeny.pdf
 *
 *   [RFC8032] Edwards-Curve Digital Signature Algorithm (EdDSA)
 *     S. Josefsson, SJD AB, I. Liusvaara
 *     https://tools.ietf.org/html/rfc8032
 *
 *   [SCHNORR] Schnorr Signatures for secp256k1
 *     Pieter Wuille
 *     https://github.com/sipa/bips/blob/d194620/bip-schnorr.mediawiki
 *
 *   [BIP340] Schnorr Signatures for secp256k1
 *     Pieter Wuille, Jonas Nick, Tim Ruffing
 *     https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki
 *
 *   [JCEN12] Efficient Software Implementation of Public-Key Cryptography
 *            on Sensor Networks Using the MSP430X Microcontroller
 *     C. P. L. Gouvea, L. B. Oliveira, J. Lopez
 *     http://conradoplg.cryptoland.net/files/2010/12/jcen12.pdf
 *
 *   [FIPS186] Federal Information Processing Standards Publication
 *     National Institute of Standards and Technology
 *     https://tinyurl.com/fips-186-3
 *
 *   [RFC5639] Elliptic Curve Cryptography (ECC) Brainpool
 *             Standard Curves and Curve Generation
 *     M. Lochter, BSI, J. Merkle
 *     https://tools.ietf.org/html/rfc5639
 *
 *   [TWISTEQ] Twisted Edwards & Short Weierstrass Equivalence
 *     Christopher Jeffrey
 *     https://gist.github.com/chjj/16ba7fa08d64e8dda269a9fe5b2a8bbc
 *
 *   [ECPM] Elliptic Curve Point Multiplication (wikipedia)
 *     https://en.wikipedia.org/wiki/Elliptic_curve_point_multiplication
 */
const{custom:i}=r(109),n=r(21),a=0,o=1,s=2,f=3,c=[-3,-1,-5,-7,0,7,5,1,3];let d=0;class u{constructor(e,t,r){this.Point=null,this.id=null,this.uid=d++,this.ossl=null,this.type="base",this.endian="be",this.hash=null,this.prefix=null,this.context=!1,this.prime=null,this.p=null,this.red=null,this.fieldSize=0,this.fieldBits=0,this.adjustedSize=0,this.signBit=0,this.mask=0,this.n=null,this.h=null,this.q=null,this.z=null,this.g=null,this.nh=null,this.scalarSize=0,this.scalarBits=0,this.zero=null,this.one=null,this.two=null,this.three=null,this.four=null,this.i2=null,this.i3=null,this.i4=null,this.i6=null,this.torsion=null,this.endo=null,this.hi=null,this._init(e,t,r)}_init(t,r,i){j("function"==typeof t),j("string"==typeof r),j(i&&"object"==typeof i),j(null==i.red||i.red instanceof n.Red),j(null!=i.p,"Must pass a prime."),j(null==i.id||"string"==typeof i.id),j(null==i.ossl||"string"==typeof i.ossl),j(null==i.endian||"string"==typeof i.endian),j(null==i.hash||"string"==typeof i.hash),j(null==i.prefix||"string"==typeof i.prefix),j(null==i.context||"boolean"==typeof i.context),j(null==i.prime||"string"==typeof i.prime),j(null==i.torsion||Array.isArray(i.torsion)),this.Point=t,this.id=i.id||null,this.ossl=i.ossl||null,this.type=r,this.endian=i.endian||("short"===r?"be":"le"),this.hash=i.hash||null,this.prefix=i.prefix?e.from(i.prefix,"binary"):null,this.context=i.context||!1,this.prime=i.prime||null,this.p=n.fromJSON(i.p),i.red?this.red=i.red:(this.red=i.prime?n.red(i.prime):n.mont(this.p),this.red.precompute()),this.fieldSize=this.p.byteLength(),this.fieldBits=this.p.bitLength(),this.adjustedSize=this.fieldSize+(0==(7&this.fieldBits)),this.signBit=8*this.adjustedSize-1,this.mask=255,0!=(7&this.fieldBits)&&(this.mask=(1<<(7&this.fieldBits))-1),this.n=n.fromJSON(i.n||"0"),this.h=n.fromJSON(i.h||"1"),this.q=this.n.mul(this.h),this.z=n.fromJSON(i.z||"0").toRed(this.red),this.g=null,this.nh=this.n.ushrn(1),this.scalarSize=this.n.byteLength(),this.scalarBits=this.n.bitLength(),this.zero=new n(0).toRed(this.red),this.one=new n(1).toRed(this.red),this.two=new n(2).toRed(this.red),this.three=new n(3).toRed(this.red),this.four=new n(4).toRed(this.red),this.i2=this.two.redInvert(),this.i3=this.three.redInvert(),this.i4=this.i2.redSqr(),this.i6=this.i2.redMul(this.i3),this.torsion=new Array(this.h.word(0));for(let e=0;e<this.torsion.length;e++)this.torsion[e]=this.point();return this.endo=null,this.hi=null,this._scale=P(this._scale,this),this.isIsomorphic=P(this.isIsomorphic,this),this.isIsogenous=P(this.isIsogenous,this),j(this.p.sign()>0&&this.p.isOdd()),j(this.n.sign()>=0),j(this.h.sign()>0&&this.h.cmpn(255)<=0),j("be"===this.endian||"le"===this.endian),this}_finalize(e){if(j(e&&"object"==typeof e),this.g=e.g?this.pointFromJSON(e.g):this.point(),e.torsion){j(e.torsion.length===this.torsion.length);for(let t=0;t<this.torsion.length;t++)this.torsion[t]=this.pointFromJSON(e.torsion[t])}return this}_findTorsion(){j(!this.n.isZero());const e=this.h.word(0),t=this.one.redNeg(),r=[this.point()],i=new Set;let n=e;for(;r.length<n;){let e;t.redIAdd(this.one);try{e=this.pointFromX(t.clone())}catch(e){continue}try{e=e.mul(this.n)}catch(e){n=2;continue}if(!e.isInfinity()){e.normalize();for(const t of[e,e.neg()]){const e=t.key();i.has(e)||(r.push(t),i.add(e))}}}for(r.sort((e,t)=>e.cmp(t));r.length<e;)r.push(this.point());return r}_fixedMul(e,t){j(e instanceof h),j(t instanceof n),j(e.pre&&e.pre.windows);const{width:r,points:i}=e._getWindows(0,0),a=1<<r,o=(t.bitLength()+r-1)/r>>>0;let s=this.jpoint();for(let e=0;e<o;e++){const n=t.bits(e*r,r);s=s.add(i[e*a+n])}return t.isNeg()&&(s=s.neg()),s}_fixedNafMul(e,t){j(e instanceof h),j(t instanceof n),j(e.pre&&e.pre.doubles);const{step:r,points:i}=e._getDoubles(0,0),a=function(e,t,r,i){j(i>>>0===i);const n=q(e,t,r),a=Math.ceil(n.length/i),o=new Array(a);let s=0;for(let e=0;e<n.length;e+=i){let t=0;for(let r=e+i-1;r>=e;r--)t=(t<<1)+n[r];o[s++]=t}return j(s===a),o}(t,2,t.bitLength()+1,r),o=((1<<r+1)-(r%2==0?2:1))/3;let s=this.jpoint(),f=this.jpoint();for(let e=o;e>0;e--){for(let t=0;t<a.length;t++){const r=a[t];r===e?f=f.add(i[t]):r===-e&&(f=f.sub(i[t]))}s=s.add(f)}return s}_wnafMul(e,t,r){j(t instanceof h),j(r instanceof n);const{width:i,points:a}=t._safeNAF(e),o=q(r,i,r.bitLength()+1);let s=this.jpoint();for(let e=o.length-1;e>=0;e--){const t=o[e];e!==o.length-1&&(s=s.dbl()),t>0?s=s.add(a[t-1>>1]):t<0&&(s=s.sub(a[-t-1>>1]))}return s}_wnafMulAdd(e,t,r){j(e>>>0===e),j(Array.isArray(t)),j(Array.isArray(r)),j(t.length===r.length);const i=t.length,a=new Array(i),o=new Array(i);let s=0;for(let e=0;e<i;e++){const i=t[e],f=r[e];if(j(i instanceof h),j(f instanceof n),e>0&&i.type!==t[e-1].type)throw new Error("Cannot mix points.");a[e]=null,o[e]=null,s=Math.max(s,f.bitLength()+1)}let f=null,c=null,d=0;for(let e=0;e<i;e++){const i=t[e],n=r[e],u=i._getNAF(0);u?(a[d]=u.points,o[d]=q(n,u.width,s),d+=1):f?(a[d]=f._getJNAF(i),o[d]=R(c,n,s),f=null,c=null,d+=1):(f=i,c=n)}if(f){const t=f._safeNAF(e);a[d]=t.points,o[d]=q(c,t.width,s),d+=1}let u=this.jpoint();for(let e=s-1;e>=0;e--){e!==s-1&&(u=u.dbl());for(let t=0;t<d;t++){const r=o[t][e];r>0?u=u.add(a[t][r-1>>1]):r<0&&(u=u.sub(a[t][-r-1>>1]))}}return u}_endoWnafMulAdd(e,t){throw new Error("Not implemented.")}_scale(e,t){switch(j(e instanceof u),j(e.p.eq(this.p)),e.type){case"short":return this._scaleShort(e,t);case"mont":return this._scaleMont(e,t);case"edwards":return this._scaleEdwards(e,t);default:throw new Error("Not implemented.")}}_scaleShort(e,t){throw new Error("Not implemented.")}_scaleMont(e,t){throw new Error("Not implemented.")}_scaleEdwards(e,t){throw new Error("Not implemented.")}isElliptic(){throw new Error("Not implemented.")}jinv(){throw new Error("Not implemented.")}isComplete(){return!1}precompute(e){return j(!this.g.isInfinity(),"Must have base point."),j(!this.n.isZero(),"Must have order."),this.g.precompute(this.n.bitLength(),e),this}scalar(e,t,r){const i=new n(e,t,r);return j(!i.red),this.n.isZero()?i:i.imod(this.n)}field(e,t,r){const i=n.cast(e,t,r);return i.red?i.forceRed(this.red):i.toRed(this.red)}point(e,t){throw new Error("Not implemented.")}jpoint(e,t,r){throw new Error("Not implemented.")}xpoint(e,t){throw new Error("Not implemented.")}cpoint(e,t,r,i){if(j(e instanceof n),j(t instanceof n),j(r instanceof n),j(i instanceof n),t.isZero()||i.isZero())return this.point();const a=t.redMul(i).redInvert(),o=e.redMul(i).redMul(a),s=r.redMul(t).redMul(a);return this.point(o,s)}solveX2(e){throw new Error("Not implemented.")}solveX(e){return this.solveX2(e).redSqrt()}solveY2(e){throw new Error("Not implemented.")}solveY(e){return this.solveY2(e).redSqrt()}validate(e){throw new Error("Not implemented.")}pointFromX(e,t){throw new Error("Not implemented.")}pointFromY(e,t){throw new Error("Not implemented.")}isIsomorphic(e){throw new Error("Not implemented.")}isIsogenous(e){throw new Error("Not implemented.")}pointFromShort(e){throw new Error("Not implemented.")}pointFromMont(e,t){throw new Error("Not implemented.")}pointFromEdwards(e){throw new Error("Not implemented.")}pointFromUniform(e){throw new Error("Not implemented.")}pointToUniform(e){throw new Error("Not implemented.")}pointFromHash(t,r=!1){if(j(e.isBuffer(t)),j("boolean"==typeof r),t.length!==2*this.fieldSize)throw new Error("Invalid hash size.");const i=t.slice(0,this.fieldSize),n=t.slice(this.fieldSize),a=this.decodeUniform(i),o=this.decodeUniform(n),s=this.pointFromUniform(a),f=this.pointFromUniform(o),c=s.add(f);return r?c.mulH():c}pointToHash(t,r,i){j(t instanceof this.Point),j(r>>>0===r);const n=r%this.torsion.length,a=t.add(this.torsion[n]);for(;;){const t=this.randomField(i),r=this.pointFromUniform(t);if(r.neg().eq(r))continue;const n=a.sub(r),o=T(i);let s;try{s=this.pointToUniform(n,15&o)}catch(e){if("Invalid point."===e.message)continue;throw e}const f=this.encodeUniform(t,o>>>8),c=this.encodeUniform(s,o>>>16);return e.concat([f,c])}}randomScalar(e){const t=this.n.isZero()?this.p:this.n;return n.random(e,1,t)}randomField(e){return n.random(e,1,this.p).toRed(this.red)}randomPoint(e){let t;for(;;){const r=this.randomField(e),i=0!=(1&T(e));try{t=this.pointFromX(r,i)}catch(e){continue}return j(t.validate()),t.mulH()}}mulAll(e,t){return this.jmulAll(e,t)}jmulAll(e,t){return j(Array.isArray(e)),j(0===e.length||e[0]instanceof h),this.endo&&e.length>0&&e[0].type===a?this._endoWnafMulAdd(e,t):this._wnafMulAdd(5,e,t)}mulH(e){return j(e instanceof n),this.imulH(e.clone())}imulH(e){j(e instanceof n),j(!e.red);const t=this.h.word(0);if(0==(t&t-1)){const t=this.h.bitLength();return e.iushln(t-1).imod(this.n)}return e.imuln(t).imod(this.n)}normalizeAll(e){j(Array.isArray(e));const t=e.length,r=new Array(t);for(let i=0;i<t;i++){const t=e[i];j(t instanceof h),j(t.curve===this),t.type!==a?r[i]=t.z:r[i]=this.one}const i=this.red.invertAll(r),n=new Array(t);for(let r=0;r<t;r++)n[r]=e[r].scale(i[r]);return n}affinizeAll(e){return this.normalizeAll(e)}clamp(t){j(e.isBuffer(t)),j(t.length===this.scalarSize),j(this.scalarSize<=this.fieldSize);let r=7&this.fieldBits||8,i=0,n=this.scalarSize-1;return"be"===this.endian&&([i,n]=[n,i]),this.scalarSize<this.fieldSize&&(r=8),t[i]&=255&-this.h.word(0),t[n]&=(1<<r)-1,t[n]|=1<<r-1,t}splitHash(t){j(e.isBuffer(t)),j(t.length===2*this.adjustedSize),j(this.scalarSize<=this.adjustedSize);let r=0;"be"===this.endian&&(r=this.adjustedSize-this.scalarSize);const i=t.slice(r,r+this.scalarSize),n=t.slice(this.adjustedSize);return this.clamp(i),[i,n]}encodeField(e){return j(e instanceof n),j(!e.red),e.encode(this.endian,this.fieldSize)}decodeField(t){if(j(e.isBuffer(t)),t.length!==this.fieldSize)throw new Error("Invalid field element size.");return n.decode(t,this.endian)}encodeAdjusted(e){return j(e instanceof n),j(!e.red),e.encode(this.endian,this.adjustedSize)}decodeAdjusted(t){if(j(e.isBuffer(t)),t.length!==this.adjustedSize)throw new Error("Invalid field element size.");return n.decode(t,this.endian)}encodeScalar(e){return j(e instanceof n),j(!e.red),e.encode(this.endian,this.scalarSize)}decodeScalar(t){if(j(e.isBuffer(t)),t.length!==this.scalarSize)throw new Error("Invalid scalar size.");return n.decode(t,this.endian)}encodeClamped(e){return this.clamp(this.encodeScalar(e))}decodeClamped(t){if(j(e.isBuffer(t)),t.length!==this.scalarSize)throw new Error("Invalid scalar size.");const r=this.clamp(e.from(t));return n.decode(r,this.endian)}encodeUniform(e,t){j(e instanceof n),j(t>>>0===t);const r="le"===this.endian?this.fieldSize-1:0,i=e.fromRed().encode(this.endian,this.fieldSize);return i[r]|=t&~this.mask&255,i}decodeUniform(t){if(j(e.isBuffer(t)),t.length!==this.fieldSize)throw new Error("Invalid field size.");const r=n.decode(t,this.endian);return r.iumaskn(this.fieldBits),r.toRed(this.red)}encodePoint(e,t){return j(e instanceof h),e.encode(t)}decodePoint(e){throw new Error("Not implemented.")}encodeX(e){throw new Error("Not implemented.")}decodeX(e){throw new Error("Not implemented.")}decodeEven(e){throw new Error("Not implemented.")}decodeSquare(e){throw new Error("Not implemented.")}toShort(){throw new Error("Not implemented.")}toMont(e){throw new Error("Not implemented.")}toEdwards(e){throw new Error("Not implemented.")}pointToJSON(e,t){return j(e instanceof h),e.toJSON(t)}pointFromJSON(e){throw new Error("Not implemented.")}toJSON(e){let t,r,i,n,a;return"edwards"===this.type&&(t=this.prefix?this.prefix.toString():null,r=this.context),this.n.isZero()||(i=this.n.toJSON()),this.z.isZero()||(n=this.z.fromRed(),this.z.redIsHigh()&&n.isub(this.p),n=n.toString(16)),this.endo&&(a=this.endo.toJSON()),{id:this.id,ossl:this.ossl,type:this.type,endian:this.endian,hash:this.hash,prefix:t,context:r,prime:this.prime,p:this.p.toJSON(),a:void 0,b:void 0,d:void 0,n:i,h:this.h.toString(16),s:void 0,z:n,c:void 0,g:this.g.toJSON(e),endo:a}}static fromJSON(e){return new this(e)}}class h{constructor(e,t){j(e instanceof u),j(t>>>0===t),this.curve=e,this.type=t,this.pre=null}_init(){throw new Error("Not implemented.")}_safeNAF(e){if(j(e>>>0===e),this.pre&&this.pre.naf)return this.pre.naf;if(0===e)return null;const t=1<<e-2,r=new Array(t),i=this.toJ(),n=1===t?null:i.dbl();r[0]=i;for(let e=1;e<t;e++)r[e]=r[e-1].add(n);return new M(e,r)}_getNAF(e){if(j(e>>>0===e),this.pre&&this.pre.naf)return this.pre.naf;if(0===e)return null;const t=this._safeNAF(e).points,r=this.curve.affinizeAll(t);return new M(e,r)}_getWindows(e,t){if(j(e>>>0===e),j(t>>>0===t),this.pre&&this.pre.windows)return this.pre.windows;if(0===e)return null;const r=1<<e,i=(t+e-1)/e>>>0,n=new Array(i*r);let a=this.toJ();for(let t=0;t<i;t++){n[t*r]=this.curve.jpoint();for(let e=1;e<r;e++)n[t*r+e]=n[t*r+e-1].add(a);a=a.dblp(e)}const o=this.curve.affinizeAll(n);return new S(e,t,o)}_getDoubles(e,t){if(j(e>>>0===e),j(t>>>0===t),this.pre&&this.pre.doubles)return this.pre.doubles;if(0===e)return null;const r=Math.ceil(t/e)+1,i=new Array(r);let n=this.toJ(),a=0;i[a++]=n;for(let r=0;r<t;r+=e){for(let t=0;t<e;t++)n=n.dbl();i[a++]=n}j(a===r);const o=this.curve.affinizeAll(i);return new k(e,o)}_getBeta(){return null}_getBlinding(e){if(this.pre&&this.pre.blinding)return this.pre.blinding;if(!e)return null;if(this.curve.n.isZero())return null;const t=this.curve.randomScalar(e),r=this.mul(t);return new E(t,r)}_hasWindows(e){if(j(e instanceof n),!this.pre||!this.pre.windows)return!1;const{width:t,bits:r}=this.pre.windows,i=(r+t-1)/t>>>0;return e.bitLength()<=i*t}_hasDoubles(e){if(j(e instanceof n),!this.pre||!this.pre.doubles)return!1;const{step:t,points:r}=this.pre.doubles,i=e.bitLength()+1;return r.length>=Math.ceil(i/t)+1}_getJNAF(e){return j(e instanceof h),j(e.type===this.type),[this,this.add(e),this.sub(e),e]}_blind(e,t){if(j(e instanceof n),j(!e.red),this.pre&&this.pre.blinding){const{blind:t,unblind:r}=this.pre.blinding;return[this,e.sub(t),r]}if(!t)return[this,e,null];if(this.pre){if(this.curve.n.isZero())return[this,e,null];return[this,this.curve.randomScalar(t).mul(this.curve.n).iadd(e),null]}return[this.randomize(t),e,null]}clone(){throw new Error("Not implemented.")}precompute(e,t){return j(e>>>0===e),this.pre||(this.pre=new _),this.pre.naf||(this.pre.naf=this._getNAF(9)),this.pre.doubles||(this.pre.doubles=this._getDoubles(4,e+1)),this.pre.beta||(this.pre.beta=this._getBeta()),this.pre.blinding||(this.pre.blinding=this._getBlinding(t)),this}validate(){return this.curve.validate(this)}normalize(){return this}scale(e){throw new Error("Not implemented.")}randomize(e){const t=this.curve.randomField(e);return this.scale(t)}neg(){throw new Error("Not implemented.")}add(e){throw new Error("Not implemented.")}sub(e){return j(e instanceof h),this.add(e.neg())}dbl(){throw new Error("Not implemented.")}dblp(e){j(e>>>0===e);let t=this;for(let r=0;r<e;r++)t=t.dbl();return t}diffAddDbl(e,t){throw new Error("Not implemented.")}getX(){throw new Error("Not implemented.")}getY(){throw new Error("Not implemented.")}eq(e){throw new Error("Not implemented.")}cmp(e){throw new Error("Not implemented.")}isInfinity(){throw new Error("Not implemented.")}isOrder2(){throw new Error("Not implemented.")}isOdd(){throw new Error("Not implemented.")}isEven(){throw new Error("Not implemented.")}isSquare(){throw new Error("Not implemented.")}eqX(e){throw new Error("Not implemented.")}eqR(e){throw new Error("Not implemented.")}isSmall(){return!this.isInfinity()&&this.jmulH().isInfinity()}hasTorsion(){return!this.isInfinity()&&!this.jmul(this.curve.n).isInfinity()}order(){const{h:e,n:t}=this.curve;let r=this.toJ(),i=new n(1);for(;!r.isInfinity();){if(i.iaddn(1),i.cmp(e)>0){i=t.clone();break}r=r.add(this)}return i}mul(e){return this.jmul(e)}muln(e){return this.jmuln(e)}mulBlind(e,t){return this.jmulBlind(e,t)}mulAdd(e,t,r){return this.jmulAdd(e,t,r)}mulH(){return this.jmulH()}div(e){return this.jdiv(e)}divn(e){return this.jdivn(e)}divH(){return this.jdivH()}jmul(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo&&this.type===a?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(5,this,e)}jmuln(e){return j((0|e)===e),this.jmul(new n(e))}jmulBlind(e,t=null){const[r,i,n]=this._blind(e,t),a=r.jmul(i);return n?a.add(n):a}jmulAdd(e,t,r){return this.curve.endo&&this.type===a?this.curve._endoWnafMulAdd([this,t],[e,r]):this.curve._wnafMulAdd(5,[this,t],[e,r])}jmulH(){const e=this.curve.h.word(0);if(0==(e&e-1)){const e=this.curve.h.bitLength();return this.toJ().dblp(e-1)}return this.jmul(this.curve.h)}jdiv(e){return j(e instanceof n),j(!e.red),this.jmul(e.invert(this.curve.n))}jdivn(e){return j(!this.curve.n.isZero()),0===this.curve.h.cmpn(e)?this.jdivH():this.jdiv(new n(e))}jdivH(){return this.curve.n.isZero()||0===this.curve.h.cmpn(1)?this.toJ():(null===this.curve.hi&&(this.curve.hi=this.curve.h.invert(this.curve.n)),this.jmul(this.curve.hi))}toP(){return this.normalize()}toJ(){return this}toX(){return this}key(){if(this.isInfinity())return this.curve.uid+":oo";this.normalize();const e=this.getX().toString(16),t=this.getY().toString(16);return`${this.curve.uid}:${e},${t}`}encode(e){throw new Error("Not implemented.")}static decode(e,t){throw new Error("Not implemented.")}encodeX(){throw new Error("Not implemented.")}static decodeX(e,t){throw new Error("Not implemented.")}static decodeEven(e,t){throw new Error("Not implemented.")}static decodeSquare(e,t){throw new Error("Not implemented.")}toJSON(e){throw new Error("Not implemented.")}static fromJSON(e,t){throw new Error("Not implemented.")}[i](){return"<Point>"}}class l extends u{constructor(e){super(b,"short",e),this.a=n.fromJSON(e.a).toRed(this.red),this.b=n.fromJSON(e.b).toRed(this.red),this.c=n.fromJSON(e.c||"0").toRed(this.red),this.ai=this.a.isZero()?this.zero:this.a.redInvert(),this.zi=this.z.isZero()?this.zero:this.z.redInvert(),this.zeroA=this.a.isZero(),this.threeA=this.a.eq(this.three.redNeg()),this.redN=this.n.toRed(this.red),this.pmodn=this.p.clone(),this.highOrder=this.n.cmp(this.p)>=0,this.smallGap=!1,this._finalize(e)}_finalize(e){return super._finalize(e),null!=e.endo?this.endo=x.fromJSON(this,e.endo):this.endo=this._getEndomorphism(),this.n.isZero()||(this.pmodn=this.p.mod(this.n),this.smallGap=this.p.div(this.n).cmpn(1)<=0),this}static _isomorphism(e,t,r,i){if(j(e instanceof n),j(t instanceof n),j(r instanceof n),j(null==i||"boolean"==typeof i),j(!e.isZero()||!t.isZero()),r.isZero())throw new Error("Invalid coefficient.");if(e.isZero()){const i=r;return j(1===O(i.redDiv(t)).redJacobi()),[e.clone(),i.clone()]}if(t.isZero()){const i=r,n=i.redDiv(e).redSqrt();if(1!==n.redJacobi()&&n.redINeg(),1!==n.redJacobi())throw new Error("Invalid `a` coefficient.");return[i.clone(),t.clone()]}const a=r,o=a.redDiv(e),s=o.redSqrt();if(null!=i?s.redIsOdd()!==i&&s.redINeg():1!==s.redJacobi()&&s.redINeg(),1!==s.redJacobi())throw new Error("Invalid `a` coefficient.");const f=o.redMul(s),c=e.redMul(o),d=t.redMul(f);return j(c.eq(a)),[c,d]}_short(e,t){return l._isomorphism(this.a,this.b,e,t)}_mont(e,t){const[r,i]=this._findRS(t),n=i.redInvert(),a=r.redMuln(3).redMul(n);return null!=e?m._isomorphism(a,n,e):[a,n]}_edwards(e,t){const[r,i]=this._findRS(t),n=r.redMuln(3),a=i.redMuln(2),o=n.redAdd(a),s=n.redSub(a);return null!=e?y._isomorphism(o,s,e):[o,s]}_findRS(e){j(null==e||"boolean"==typeof e),j(this.h.word(0)>=4),j(!this.n.isZero());const t=this.one.redNeg();let r;for(;;){t.redIAdd(this.one);try{r=this.pointFromX(t.clone())}catch(e){continue}if(r=r.mul(this.n),!r.isInfinity()&&r.y.isZero())break}const i=r.x,n=i.redSqr().redMuln(3).redIAdd(this.a).redSqrt();return null!=e&&n.redIsOdd()!==e&&n.redINeg(),[i,n]}_scale0(e,t){if(j(this.a.isZero()===e.isZero()),j(this.b.isZero()===t.isZero()),this.a.isZero()){const e=this.b.redDiv(this.field(t)),r=O(e),i=r.redSqrt(),n=r.redMul(i);return j(n.redSqr().eq(e)),j(!i.isZero()),[r,n]}if(this.b.isZero()){const t=this.a.redDiv(this.field(e)),r=t.redSqrt();1!==r.redJacobi()&&r.redINeg();const i=r.redSqrt(),n=r.redMul(i);return j(n.redMul(i).eq(t)),j(!i.isZero()),[r,n]}const r=this.a.redDiv(this.field(e)),i=this.b.redDiv(this.field(t)),n=r.redSqrt();r.redMul(n).eq(i)||n.redINeg(),j(r.redMul(n).eq(i));const a=n.redSqrt(),o=n.redMul(a);return j(!a.isZero()),[n,o]}_scale1(e,t){const r=this.g.x.redDiv(this.field(e)),i=this.g.y.redDiv(this.field(t)),n=r.redSqrt();return r.redMul(n).eq(i)||n.redINeg(),j(r.redMul(n).eq(i)),j(!n.isZero()),[r,i]}_scaleShort(e){return j(e instanceof l),this.g.isInfinity()||e.g.isInfinity()?this._scale0(e.a,e.b):this._scale1(e.g.x,e.g.y)}_scaleMont(e){if(j(e instanceof m),this.g.isInfinity()||e.g.isInfinity()){const[t,r]=e._short();return this._scale0(t,r)}const{x:t,y:r}=e.g,i=t.redAdd(e.a3).redMul(e.bi),n=r.redMul(e.bi);return this._scale1(i,n)}_scaleEdwards(e){if(j(e instanceof y),this.g.isInfinity()||e.g.isInfinity()){const[t,r]=e._short();return this._scale0(t,r)}const{x:t,y:r,z:i}=e.g,n=e.a.redMuln(5),a=e.d.redMuln(5),o=e.d.redSub(e.a),s=a.redSub(e.a),f=e.d.redSub(n),c=r.redAdd(i),d=r.redSub(i),u=s.redMul(r).redIAdd(f.redMul(i)),h=d.redMuln(12),l=o.redMul(c).redMul(i),b=d.redMul(t).redIMuln(4),p=h.redMul(b).redInvert(),m=u.redMul(b).redMul(p),g=l.redMul(h).redMul(p);return this._scale1(m,g)}_getEndomorphism(e=0){if(this.n.isZero()||this.g.isInfinity())return null;if(!this.zeroA||1!==this.p.modrn(3)||1!==this.n.modrn(3))return null;const[t,r]=this._getEndoRoots(this.p),i=[t,r][1&e].toRed(this.red),[n,a]=this._getEndoRoots(this.n),o=this.point(this.g.x.redMul(i),this.g.y);let s;this.g.mul(n).eq(o)?s=n:(j(this.g.mul(a).eq(o)),s=a);const f=this._getEndoBasis(s),c=this._getEndoPrecomp(f);return new x(i,s,f,c)}_getEndoRoots(e){const t=e===this.p?this.red:n.mont(e),r=new n(2).toRed(t),i=new n(3).toRed(t),a=r.redInvert(),o=i.redNeg().redSqrt().redMul(a),s=o.redNeg();return[o.redSub(a).fromRed(),s.redSub(a).fromRed()].sort(n.cmp)}_getEndoBasis(e){const[t,r,i,n,a,o]=this._egcdSqrt(e),s=i,f=n.neg(),c=t.sqr().iadd(r.sqr()),d=a.sqr().iadd(o.sqr());let u,h;return c.cmp(d)<=0?(u=t,h=r.neg()):(u=a,h=o.neg()),[new z(s,f),new z(u,h)]}_egcdSqrt(e){j(e instanceof n),j(!e.red),j(e.sign()>0),j(this.n.sign()>0);const t=this.n.ushrn(this.n.bitLength()>>>1);let r,i,a,o,s,f=e,c=this.n.clone(),d=new n(1),u=new n(0),h=new n(0),l=new n(1),b=0,p=0;for(;!f.isZero()&&b<2;){const e=c.quo(f),n=c.sub(e.mul(f)),m=h.sub(e.mul(d)),g=l.sub(e.mul(u));0===p&&n.cmp(t)<0&&(r=s,i=d,a=n,o=m,p=1),s=n,c=f,f=n,h=d,d=m,l=u,u=g,b+=p}j(0!==p,"Could not find r < sqrt(n).");return[r,i,a,o,h,d]}_getEndoPrecomp(e){j(Array.isArray(e)),j(2===e.length),j(e[0]instanceof z),j(e[1]instanceof z);const[t,r]=e,i=t.a.mul(r.b).isub(t.b.mul(r.a)),n=i.bitLength(),a=n>=160;j(i.eq(this.n));let o,s,f=n+Math.ceil(n/2)+1;for(a&&(f-=63&f);f>n&&(o=r.b.ushln(f).divRound(i),s=t.b.ushln(f).divRound(i),!(o.ucmp(i)<0&&s.ucmp(i)<0));)f-=a?64:1;if(f<=n)throw new Error("Could not calculate g1 and g2.");return[f,o,s]}_endoSplit(e){j(e instanceof n),j(!e.red),j(!this.n.isZero());const[t,r]=this.endo.basis,i=r.b.mul(e).divRound(this.n),a=t.b.neg().mul(e).divRound(this.n),o=i.mul(t.a),s=a.mul(r.a),f=i.ineg().mul(t.b),c=a.mul(r.b);return[e.sub(o).isub(s),f.isub(c)]}_endoBeta(e){return j(e instanceof b),[e,e._getBeta()]}_endoWnafMulAdd(e,t){j(Array.isArray(e)),j(Array.isArray(t)),j(e.length===t.length),j(null!=this.endo);const r=e.length,i=new Array(2*r),n=new Array(2*r);for(let a=0;a<r;a++){const[r,o]=this._endoBeta(e[a]),[s,f]=this._endoSplit(t[a]);i[2*a+0]=r,n[2*a+0]=s,i[2*a+1]=o,n[2*a+1]=f}return this._wnafMulAdd(5,i,n)}_sswu(e){const{b:t,z:r,ai:i,zi:n,one:a}=this,o=r.redSqr(),s=t.redNeg().redMul(i),f=t.redMul(n).redMul(i),c=e.redSqr(),d=c.redSqr(),u=o.redMul(d).redIAdd(r.redMul(c)),h=u.isZero()?u:u.redInvert(),l=h.isZero()?f:s.redMul(a.redAdd(h)),b=r.redMul(c).redMul(l),p=this.solveY2(l),m=this.solveY2(b),g=0|p.redIsSquare(),v=[l,b][1^g],y=[p,m][1^g].redSqrt();return y.redIsOdd()!==e.redIsOdd()&&y.redINeg(),this.point(v,y)}_sswui(e,t){const{a:r,b:i,z:n}=this,{x:a,y:o}=e,s=3&t,f=r.redSqr().redMul(a.redSqr()),c=r.redMul(i).redMul(a).redIMuln(2),d=i.redSqr().redMuln(3),u=r.redMul(a).redIAdd(i),h=f.redISub(c).redISub(d).redSqrt(),l=u.redSub(h).redINeg(),b=u.redAdd(h).redINeg(),p=[u.redMul(n).redIMuln(2),i.redMul(n).redIMuln(2)][s>>>1],m=[l,b][1&s].redDivSqrt(p);return m.redIsOdd()!==o.redIsOdd()&&m.redINeg(),m}_svdwf(e){const{c:t,z:r,zi:i,i2:n,i3:a}=this,o=this.solveY2(r),s=a.redMul(i.redSqr()),f=e.redSqr(),c=f.redSqr(),d=f.redAdd(o),u=f.redMul(d),h=u.isZero()?u:u.redInvert(),l=c.redMul(h).redMul(t),b=d.redSqr().redMul(d),p=t.redSub(r).redMul(n).redISub(l),m=l.redSub(t.redAdd(r).redMul(n)),g=r.redSub(b.redMul(h).redMul(s)),v=this.solveY2(p),y=this.solveY2(m),w=this.solveY2(g),_=function(e,t){let r=e%t;r<0&&(t<0?r-=t:r+=t);return r}(((1|v.redJacobi())-1)*(1|y.redJacobi()),3);return[[p,m,g][_],[v,y,w][_]]}_svdw(e){const[t,r]=this._svdwf(e),i=r.redSqrt();return i.redIsOdd()!==e.redIsOdd()&&i.redINeg(),this.point(t,i)}_svdwi(e,t){const{b:r,c:i,z:n,zero:a,two:o}=this,{x:s,y:f}=e,c=3&t,d=n.redSqr(),u=d.redMul(n),h=d.redSqr(),l=u.redAdd(r),b=l.redMuln(2),p=s.redSqr(),m=s.redMuln(2).redIAdd(n),g=s.redMul(d),v=i.redSub(m),y=i.redAdd(m),w=p.redMul(d).redIAdd(h).redIMuln(9),_=s.redMul(u).redIMuln(18),M=l.redMul(s.redSub(n)).redIMuln(12),S=(c>=2?w.redISub(_).redIAdd(M).redSqrt():a).redMul(n),k=u.redISub(g).redIMuln(3).redISub(b),E=l.redMul(v),x=l.redMul(y),z=k.redAdd(S),A=k.redSub(S),I=[y,v,o,o][c],q=[E,x,z,A][c].redDivSqrt(I),[R]=this._svdwf(q);if(!R.eq(s))throw new Error("Invalid point.");return q.redIsOdd()!==f.redIsOdd()&&q.redINeg(),q}isElliptic(){const{a:e,b:t}=this,r=e.redSqr().redMul(e);return!t.redSqr().redMuln(27).redIAdd(r.redMuln(4)).isZero()}jinv(){const{a:e,b:t}=this,r=e.redSqr().redMul(e),i=t.redSqr(),n=r.redMuln(4),a=n.redMuln(1728),o=i.redMuln(27).redIAdd(n);if(o.isZero())throw new Error("Curve is not elliptic.");return a.redDiv(o).fromRed()}point(e,t){return new b(this,e,t)}jpoint(e,t,r){return new p(this,e,t,r)}solveX(e){if(j(e instanceof n),!this.a.isZero())throw new Error("Not implemented.");return N(e.redSqr().redSub(this.b))}solveY2(e){j(e instanceof n);const t=e.redSqr().redMul(e).redIAdd(this.b);return this.zeroA||(this.threeA?t.redIAdd(e.redMuln(-3)):t.redIAdd(this.a.redMul(e))),t}validate(e){if(j(e instanceof b),e.inf)return!0;const{x:t,y:r}=e,i=this.solveY2(t);return r.redSqr().eq(i)}pointFromX(e,t=null){j(e instanceof n),j(null==t||"boolean"==typeof t),e.red||(e=e.toRed(this.red));const r=this.solveY(e);if(null!=t){if(this.h.cmpn(1)>0&&r.isZero()&&t)throw new Error("Invalid point.");r.redIsOdd()!==t&&r.redINeg()}return this.point(e,r)}pointFromY(e,t=0){j(e instanceof n),j(t>>>0===t),e.red||(e=e.toRed(this.red));const r=this.solveX(e);if(t>=r.length)throw new Error("Invalid X coordinate index.");const i=r[t];return this.point(i,e)}isIsomorphic(e){if(j(e instanceof u),!e.p.eq(this.p))return!1;let t,r;try{[t,r]=this._scale(e)}catch(e){return!1}if("short"===e.type){const i=this.field(e.a).redMul(t.redSqr()),n=this.field(e.b).redMul(r.redSqr());return this.a.eq(i)&&this.b.eq(n)}if("mont"===e.type){const{a3:r,bi:i}=e,n=this.field(r.redMul(i)).redMul(t);return this.solveY2(n).isZero()}if("edwards"===e.type){const r=this.field(e.ad6).redMul(t);return this.solveY2(r).isZero()}return!1}isIsogenous(e){return j(e instanceof u),!1}pointFromShort(e){if(j(e instanceof b),this.isIsomorphic(e.curve)){if(e.isInfinity())return this.point();const[t,r]=this._scale(e.curve),i=this.field(e.x),n=this.field(e.y),a=i.redMul(t),o=n.redMul(r);return this.point(a,o)}throw new Error("Not implemented.")}pointFromMont(e){if(j(e instanceof g),this.isIsomorphic(e.curve)){if(e.isInfinity())return this.point();const{a3:t,bi:r}=e.curve,[i,n]=this._scale(e.curve),a=e.x.redAdd(t).redMul(r),o=e.y.redMul(r);return this.point(this.field(a).redMul(i),this.field(o).redMul(n))}throw new Error("Not implemented.")}pointFromEdwards(e){if(j(e instanceof w),this.isIsomorphic(e.curve)){const{a:t,d:r,ad6:i}=e.curve,[n,a]=this._scale(e.curve);if(e.isInfinity())return this.point();if(e.x.isZero()){const e=this.field(i).redMul(n);return this.point(e,this.zero)}const{x:o,y:s,z:f}=e,c=t.redMuln(5),d=r.redMuln(5),u=r.redSub(t),h=d.redSub(t),l=r.redSub(c),b=s.redAdd(f),p=s.redSub(f),m=h.redMul(s).redIAdd(l.redMul(f)),g=p.redMuln(12),v=u.redMul(b).redMul(f),y=p.redMul(o).redIMuln(4);return this.cpoint(this.field(m).redMul(n),this.field(g),this.field(v).redMul(a),this.field(y))}throw new Error("Not implemented.")}pointFromUniform(e){if(j(e instanceof n),this.z.isZero()||this.b.isZero())throw new Error("Not implemented.");if(!this.a.isZero())return this._sswu(e);if(!this.c.isZero())return this._svdw(e);throw new Error("Not implemented.")}pointToUniform(e,t){if(j(e instanceof b),j(t>>>0===t),this.z.isZero()||this.b.isZero())throw new Error("Not implemented.");if(e.isInfinity())throw new Error("Invalid point.");const r=(t>>>4&15)%this.torsion.length,i=e.add(this.torsion[r]);return B(()=>{if(!this.a.isZero())return this._sswui(i,t);if(!this.c.isZero())return this._svdwi(i,t);throw new Error("Not implemented.")})}mulAll(e,t){return super.mulAll(e,t).toP()}affinizeAll(e){const t=this.normalizeAll(e);for(let e=0;e<t.length;e++)t[e]=t[e].toP();return t}decodePoint(e){return b.decode(this,e)}encodeX(e){return j(e instanceof h),e.encodeX()}decodeEven(e){return b.decodeEven(this,e)}decodeSquare(e){return b.decodeSquare(this,e)}toShort(e,t,r=null){const[i,n]=this._short(e,t),a=new l({red:this.red,prime:this.prime,p:this.p,a:i,b:n,n:this.n,h:this.h});if(null!=r){const[,e]=a._scale(this);e.redIsOdd()!==r&&e.redINeg()}this.g.isInfinity()||(a.g=a.pointFromShort(this.g));for(let e=0;e<this.h.word(0);e++)a.torsion[e]=a.pointFromShort(this.torsion[e]);return a}toMont(e,t,r=null){const[i,n]=this._mont(e,t),a=new m({red:this.red,prime:this.prime,p:this.p,a:i,b:n,n:this.n,h:this.h});if(null!=r){const[,e]=this._scale(a);e.redIsOdd()!==r&&e.redINeg()}this.g.isInfinity()||(a.g=a.pointFromShort(this.g));for(let e=0;e<this.h.word(0);e++)a.torsion[e]=a.pointFromShort(this.torsion[e]);return a}toEdwards(e,t,r=null){const[i,n]=this._edwards(e,t),a=new y({red:this.red,prime:this.prime,p:this.p,a:i,d:n,n:this.n,h:this.h});if(null!=r){const[,e]=this._scale(a);e.redIsOdd()!==r&&e.redINeg()}if(this.g.isInfinity()||(a.g=a.pointFromShort(this.g),a.g.normalize()),a.isComplete())for(let e=0;e<this.h.word(0);e++)a.torsion[e]=a.pointFromShort(this.torsion[e]),a.torsion[e].normalize();return a}pointFromJSON(e){return b.fromJSON(this,e)}toJSON(e){const t=super.toJSON(e);return t.a=this.a.fromRed().toJSON(),t.b=this.b.fromRed().toJSON(),this.c.isZero()||(t.c=this.c.fromRed().toJSON()),t}}class b extends h{constructor(e,t,r){j(e instanceof l),super(e,a),this.x=this.curve.zero,this.y=this.curve.zero,this.inf=!0,null!=t&&this._init(t,r)}_init(e,t){j(e instanceof n),j(t instanceof n),this.x=e,this.y=t,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}_getBeta(){if(!this.curve.endo)return null;if(this.pre&&this.pre.beta)return this.pre.beta;const e=this.x.redMul(this.curve.endo.beta),t=this.curve.point(e,this.y);return this.pre&&(t.pre=this.pre.map(e=>{const t=e.x.redMul(this.curve.endo.beta);return this.curve.point(t,e.y)}),this.pre.beta=t),t}_getJNAF(e){if(j(e instanceof b),this.inf||e.inf)return super._getJNAF(e);const t=[this,null,null,e];return this.y.eq(e.y)?(t[1]=this.add(e),t[2]=this.toJ().sub(e)):this.y.eq(e.y.redNeg())?(t[1]=this.toJ().add(e),t[2]=this.sub(e)):(t[1]=this.toJ().add(e),t[2]=this.toJ().sub(e)),t}clone(){return this.inf?this.curve.point():this.curve.point(this.x,this.y)}scale(e){return this.toJ().scale(e)}neg(){return this.inf?this:this.curve.point(this.x,this.y.redNeg())}add(e){if(j(e instanceof b),this.inf)return e;if(e.inf)return this;if(this.x.eq(e.x))return this.y.eq(e.y)?this.dbl():this.curve.point();if(this.y.eq(e.y)){const t=this.x.redNeg().redISub(e.x),r=this.y.redNeg();return this.curve.point(t,r)}const t=this.x.redSub(e.x),r=this.y.redSub(e.y).redDiv(t),i=r.redSqr().redISub(this.x).redISub(e.x),n=r.redMul(this.x.redSub(i)).redISub(this.y);return this.curve.point(i,n)}dbl(){if(this.inf)return this;if(this.y.isZero())return this.curve.point();const e=this.x.redSqr().redIMuln(3).redIAdd(this.curve.a),t=this.y.redMuln(2),r=e.redDiv(t),i=r.redSqr().redISub(this.x).redISub(this.x),n=r.redMul(this.x.redSub(i)).redISub(this.y);return this.curve.point(i,n)}dblp(e){return this.toJ().dblp(e).toP()}getX(){if(this.inf)throw new Error("Invalid point.");return this.x.fromRed()}getY(){if(this.inf)throw new Error("Invalid point.");return this.y.fromRed()}eq(e){return j(e instanceof b),this===e||(this.inf?e.inf:!e.inf&&(this.x.eq(e.x)&&this.y.eq(e.y)))}cmp(e){return j(e instanceof b),this.inf&&!e.inf?-1:!this.inf&&e.inf?1:this.inf&&e.inf?0:this.order().cmp(e.order())||this.getX().cmp(e.getX())||this.getY().cmp(e.getY())}isInfinity(){return this.inf}isOrder2(){return!this.inf&&this.y.isZero()}isOdd(){return!this.inf&&this.y.redIsOdd()}isEven(){return!this.inf&&this.y.redIsEven()}isSquare(){return!this.inf&&-1!==this.y.redJacobi()}eqX(e){return j(e instanceof n),j(!e.red),!this.inf&&this.getX().eq(e)}eqR(e){return j(e instanceof n),j(!e.red),j(!this.curve.n.isZero()),!this.inf&&this.getX().imod(this.curve.n).eq(e)}mul(e){return super.mul(e).toP()}muln(e){return super.muln(e).toP()}mulBlind(e,t){return super.mulBlind(e,t).toP()}mulAdd(e,t,r){return super.mulAdd(e,t,r).toP()}mulH(){return super.mulH().toP()}div(e){return super.div(e).toP()}divn(e){return super.divn(e).toP()}divH(){return super.divH().toP()}toP(){return this}toJ(){return this.inf?this.curve.jpoint():this.curve.jpoint(this.x,this.y,this.curve.one)}encode(t){null==t&&(t=!0),j("boolean"==typeof t);const{fieldSize:r}=this.curve;if(this.inf)throw new Error("Invalid point.");if(t){const t=e.alloc(1+r),i=this.curve.encodeField(this.getX());return t[0]=2|this.y.redIsOdd(),i.copy(t,1),t}const i=e.alloc(1+2*r),n=this.curve.encodeField(this.getX()),a=this.curve.encodeField(this.getY());return i[0]=4,n.copy(i,1),a.copy(i,1+r),i}static decode(t,r){j(t instanceof l),j(e.isBuffer(r));const i=t.fieldSize;if(r.length<1+i)throw new Error("Not a point.");const n=r[0];switch(n){case 2:case 3:{if(r.length!==1+i)throw new Error("Invalid point size for compressed.");const e=t.decodeField(r.slice(1,1+i));if(e.cmp(t.p)>=0)throw new Error("Invalid point.");const a=t.pointFromX(e,3===n);return j(!a.isInfinity()),a}case 4:case 6:case 7:{if(r.length!==1+2*i)throw new Error("Invalid point size for uncompressed.");const e=t.decodeField(r.slice(1,1+i)),a=t.decodeField(r.slice(1+i,1+2*i));if(e.cmp(t.p)>=0||a.cmp(t.p)>=0)throw new Error("Invalid point.");if(4!==n&&n!==(6|a.isOdd()))throw new Error("Invalid hybrid encoding.");const o=t.point(e,a);if(!o.validate())throw new Error("Invalid point.");return j(!o.isInfinity()),o}default:throw new Error("Unknown point format.")}}encodeX(){return this.curve.encodeField(this.getX())}static decodeEven(e,t){j(e instanceof l);const r=e.decodeField(t);if(r.cmp(e.p)>=0)throw new Error("Invalid point.");return e.pointFromX(r,!1)}static decodeSquare(e,t){j(e instanceof l);const r=e.decodeField(t);if(r.cmp(e.p)>=0)throw new Error("Invalid point.");return e.pointFromX(r)}toJSON(e){if(this.inf)return[];const t=this.getX().toJSON(),r=this.getY().toJSON();return!0===e&&this.pre?[t,r,this.pre.toJSON()]:[t,r]}toPretty(){if(this.inf)return[];const e=2*this.curve.fieldSize;return[L(this.getX(),e),L(this.getY(),e)]}static fromJSON(e,t){if(j(e instanceof l),j(Array.isArray(t)),j(0===t.length||2===t.length||3===t.length),0===t.length)return e.point();const r=n.fromJSON(t[0]),i=n.fromJSON(t[1]),a=e.point(r,i);return t.length>2&&null!=t[2]&&(a.pre=_.fromJSON(a,t[2])),a}[i](){return this.inf?"<ShortPoint: Infinity>":"<ShortPoint: x="+this.x.fromRed().toString(16,2)+" y="+this.y.fromRed().toString(16,2)+">"}}class p extends h{constructor(e,t,r,i){j(e instanceof l),super(e,o),this.x=this.curve.one,this.y=this.curve.one,this.z=this.curve.zero,this.zOne=!1,null!=t&&this._init(t,r,i)}_init(e,t,r){j(e instanceof n),j(t instanceof n),j(null==r||r instanceof n),this.x=e,this.y=t,this.z=r||this.curve.one,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.eq(this.curve.one)}clone(){return this.curve.jpoint(this.x,this.y,this.z)}validate(){const{a:e,b:t}=this.curve;if(this.isInfinity())return!0;if(this.zOne)return this.curve.validate(this.toP());const r=this.y.redSqr(),i=this.x.redSqr().redMul(this.x),n=this.z.redSqr(),a=n.redSqr(),o=a.redMul(n),s=i.redIAdd(t.redMul(o));return this.curve.zeroA||(this.curve.threeA?s.redIAdd(a.redIMuln(-3).redMul(this.x)):s.redIAdd(e.redMul(a).redMul(this.x))),r.eq(s)}normalize(){if(this.zOne)return this;if(this.isInfinity())return this;const e=this.z.redInvert(),t=e.redSqr();return this.x=this.x.redMul(t),this.y=this.y.redMul(t).redMul(e),this.z=this.curve.one,this.zOne=!0,this}scale(e){if(j(e instanceof n),this.isInfinity())return this.curve.jpoint();const t=e.redSqr(),r=this.x.redMul(t),i=this.y.redMul(t).redMul(e),a=this.z.redMul(e);return this.curve.jpoint(r,i,a)}neg(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)}add(e){return j(e instanceof h),e.type===a?this._mixedAdd(e):this._add(e)}_add(e){return j(e instanceof p),this.isInfinity()?e:e.isInfinity()?this:this.zOne?e._addJA(this):e.zOne?this._addJA(e):this._addJJ(e)}_mixedAdd(e){return j(e instanceof b),this.isInfinity()?e.toJ():e.isInfinity()?this:this._addJA(e)}_addJJ(e){const t=this.z.redSqr(),r=e.z.redSqr(),i=this.x.redMul(r),n=e.x.redMul(t),a=this.y.redMul(e.z).redMul(r),o=e.y.redMul(this.z).redMul(t),s=n.redISub(i),f=o.redISub(a);if(s.isZero())return f.isZero()?this.dbl():this.curve.jpoint();const c=s.redSqr(),d=s.redMul(c),u=i.redMul(c),h=f.redSqr().redISub(d).redISub(u).redISub(u),l=f.redMul(u.redISub(h)).redISub(a.redMul(d)),b=this.z.redMul(e.z).redMul(s);return this.curve.jpoint(h,l,b)}_addJA(e){const t=this.z.redSqr(),r=e.x.redMul(t),i=e.y.redMul(this.z).redMul(t),n=r.redISub(this.x),a=i.redISub(this.y).redIMuln(2);if(n.isZero())return a.isZero()?this.dbl():this.curve.jpoint();const o=n.redMuln(2).redSqr(),s=n.redMul(o),f=this.x.redMul(o),c=a.redSqr().redISub(s).redISub(f).redISub(f),d=a.redMul(f.redISub(c)).redISub(this.y.redMul(s).redIMuln(2)),u=this.z.redMul(n).redIMuln(2);return this.curve.jpoint(c,d,u)}dbl(){return this.isInfinity()?this:this.y.isZero()?this.curve.jpoint():this.curve.zeroA?this._dbl0():this.curve.threeA?this._dbl3():this._dblJ()}_dblJ(){const e=this.x.redSqr(),t=this.y.redSqr(),r=this.z.redSqr(),i=this.x.redMul(t).redIMuln(4),n=e.redIMuln(3).redIAdd(this.curve.a.redMul(r.redSqr())),a=n.redSqr().redISub(i).redISub(i),o=a,s=n.redMul(i.redISub(a)).redISub(t.redSqr().redIMuln(8)),f=this.y.redMul(this.z).redIMuln(2);return this.curve.jpoint(o,s,f)}_dbl0(){const e=this.x.redSqr(),t=this.y.redSqr(),r=t.redSqr(),i=t.redIAdd(this.x).redSqr().redISub(e).redISub(r).redIMuln(2),n=e.redIMuln(3),a=n.redSqr().redISub(i).redISub(i),o=n.redMul(i.redISub(a)).redISub(r.redIMuln(8)),s=this.y.redMul(this.z).redIMuln(2);return this.curve.jpoint(a,o,s)}_dbl3(){const e=this.z.redSqr(),t=this.y.redSqr(),r=this.x.redMul(t),i=this.x.redSub(e),n=this.x.redAdd(e),a=i.redMul(n).redIMuln(3),o=r.redIMuln(4),s=o.redMuln(2),f=t.redSqr().redIMuln(8),c=a.redSqr().redISub(s),d=this.y.redAdd(this.z).redSqr().redISub(t).redISub(e),u=a.redMul(o.redISub(c)).redISub(f);return this.curve.jpoint(c,u,d)}getX(){if(this.isInfinity())throw new Error("Invalid point.");return this.normalize(),this.x.fromRed()}getY(){if(this.isInfinity())throw new Error("Invalid point.");return this.normalize(),this.y.fromRed()}eq(e){if(j(e instanceof p),this===e)return!0;if(this.isInfinity())return e.isInfinity();if(e.isInfinity())return!1;if(this.z.eq(e.z))return this.x.eq(e.x)&&this.y.eq(e.y);const t=this.z.redSqr(),r=e.z.redSqr(),i=this.x.redMul(r),n=e.x.redMul(t);if(!i.eq(n))return!1;const a=t.redMul(this.z),o=r.redMul(e.z),s=this.y.redMul(o),f=e.y.redMul(a);return s.eq(f)}cmp(e){j(e instanceof p);const t=this.isInfinity(),r=e.isInfinity();return t&&!r?-1:!t&&r?1:t&&r?0:this.order().cmp(e.order())||this.getX().cmp(e.getX())||this.getY().cmp(e.getY())}isInfinity(){return this.z.isZero()}isOrder2(){return!this.isInfinity()&&this.y.isZero()}isOdd(){return!this.isInfinity()&&(this.normalize(),this.y.redIsOdd())}isEven(){return!this.isInfinity()&&(this.normalize(),this.y.redIsEven())}isSquare(){return!this.isInfinity()&&-1!==this.y.redMul(this.z).redJacobi()}eqX(e){if(j(e instanceof n),j(!e.red),this.isInfinity())return!1;const t=this.z.redSqr(),r=e.toRed(this.curve.red).redMul(t);return this.x.eq(r)}eqR(e){if(j(e instanceof n),j(!e.red),!this.curve.smallGap)return this.toP().eqR(e);if(this.isInfinity())return!1;if(e.cmp(this.curve.p)>=0)return!1;const t=this.z.redSqr(),r=e.toRed(this.curve.red).redMul(t);if(this.x.eq(r))return!0;if(this.curve.highOrder)return!1;if(e.cmp(this.curve.pmodn)>=0)return!1;const i=this.curve.redN.redMul(t);return r.redIAdd(i),this.x.eq(r)}toP(){return this.isInfinity()?this.curve.point():(this.normalize(),this.curve.point(this.x,this.y))}toJ(){return this}encode(e){return this.toP().encode(e)}static decode(e,t){return b.decode(e,t).toJ()}encodeX(){return this.toP().encodeX()}static decodeEven(e,t){return b.decodeEven(e,t).toJ()}static decodeSquare(e,t){return b.decodeSquare(e,t).toJ()}toJSON(e){return this.toP().toJSON(e)}toPretty(){return this.toP().toPretty()}static fromJSON(e,t){return b.fromJSON(e,t).toJ()}[i](){return this.isInfinity()?"<JPoint: Infinity>":"<JPoint: x="+this.x.fromRed().toString(16,2)+" y="+this.y.fromRed().toString(16,2)+" z="+this.z.fromRed().toString(16,2)+">"}}class m extends u{constructor(e){super(g,"mont",e),this.a=n.fromJSON(e.a).toRed(this.red),this.b=n.fromJSON(e.b).toRed(this.red),this.bi=this.b.redInvert(),this.a2=this.a.redAdd(this.two),this.a24=this.a2.redMul(this.i4),this.a3=this.a.redMul(this.i3),this.a0=this.a.redMul(this.bi),this.b0=this.bi.redSqr(),this._finalize(e)}static _isomorphism(e,t,r){j(e instanceof n),j(t instanceof n),j(r instanceof n);const i=e.clone(),a=r.clone();if(1!==t.redDiv(r).redJacobi())throw new Error("Invalid `b` coefficient.");return[i,a]}_short(e,t){const{a:r,b:i,three:n}=this,a=r.redSqr(),o=a.redMul(r),s=i.redSqr(),f=s.redMul(i),c=n.redSub(a),d=s.redMuln(3),u=o.redMuln(2).redISub(r.redMuln(9)),h=f.redMuln(27),b=c.redDiv(d),p=u.redDiv(h);return null!=e?l._isomorphism(b,p,e,t):[b,p]}_mont(e){return m._isomorphism(this.a,this.b,e)}_edwards(e,t=!1){j("boolean"==typeof t);const{two:r,bi:i}=this,n=this.a.redAdd(r).redMul(i),a=this.a.redSub(r).redMul(i);return t&&n.swap(a),null!=e?y._isomorphism(n,a,e):[n,a]}_scaleShort(e){j(e instanceof l);const[t,r]=e._scale(this);return[this.field(t.redInvert()),this.field(r.redInvert())]}_scaleMont(e){return j(e instanceof m),this.g.isInfinity()||e.g.isInfinity()?this.field(e.b).redDivSqrt(this.b):this.g.y.redDiv(this.field(e.g.y))}_scaleEdwards(e,t){j(e instanceof y);const r=e._scale(this,t);return this.field(r)}_solveY0(e){j(e instanceof n);const t=this.a0,r=this.b0,i=e.redSqr();return i.redMul(e).redIAdd(t.redMul(i)).redIAdd(r.redMul(e))}_elligator2(e){const t=this.a0.redNeg(),r=this.one.redAdd(this.z.redMul(e.redSqr()));r.isZero()&&r.inject(this.one);const i=t.redMul(r.redInvert()),n=i.redNeg().redISub(this.a0),a=this._solveY0(i),o=this._solveY0(n),s=0|a.redIsSquare(),f=[i,n][1^s],c=[a,o][1^s].redSqrt();c.redIsOdd()!==e.redIsOdd()&&c.redINeg();const d=this.b.redMul(f),u=this.b.redMul(c);return this.point(d,u)}_invert2(e,t){const{x:r,y:i}=e,n=1&t,a=r.redMul(this.bi),o=i.redMul(this.bi),s=a.redAdd(this.a0),f=a,c=[s,f][n].redINeg(),d=[f,s][n].redMul(this.z),u=c.redDivSqrt(d);return u.redIsOdd()!==o.redIsOdd()&&u.redINeg(),u}isElliptic(){const e=this.a.redSqr();return!this.b.redMul(e.redSub(this.four)).isZero()}jinv(){const{a:e,three:t,four:r}=this,i=e.redSqr(),n=i.redSub(t).redPown(3).redIMuln(256),a=i.redSub(r);if(a.isZero())throw new Error("Curve is not elliptic.");return n.redDiv(a).fromRed()}point(e,t){return new g(this,e,t)}jpoint(e,t,r){return j(null==e&&null==t&&null==r),this.point()}xpoint(e,t){return new v(this,e,t)}solveY2(e){j(e instanceof n);const t=e.redSqr();return t.redMul(e).redIAdd(this.a.redMul(t)).redIAdd(e).redMul(this.bi)}validate(e){if(j(e instanceof g),e.isInfinity())return!0;const{x:t,y:r}=e,i=this.solveY2(t);return r.redSqr().eq(i)}pointFromX(e,t=null){j(e instanceof n),j(null==t||"boolean"==typeof t),e.red||(e=e.toRed(this.red));const r=this.solveY(e);if(null!=t){if(r.isZero()&&t)throw new Error("Invalid point.");r.redIsOdd()!==t&&r.redINeg()}return this.point(e,r)}isIsomorphic(e,t){if(j(e instanceof u),!e.p.eq(this.p))return!1;if("mont"===e.type){const t=this.field(e.a),r=this.field(e.b);if(!this.a.eq(t))return!1;if(this.b.isZero())return!1;return 1===r.redDiv(this.b).redJacobi()}return e.isIsomorphic(this,t)}isIsogenous(e){return j(e instanceof u),"mont"!==e.type&&e.isIsogenous(this)}pointFromShort(e){if(j(e instanceof b),this.isIsomorphic(e.curve)){if(e.isInfinity())return this.point();const{a3:t,b:r}=this,[i,n]=this._scale(e.curve),a=this.field(e.x).redMul(i),o=this.field(e.y).redMul(n),s=r.redMul(a).redISub(t),f=r.redMul(o);return this.point(s,f)}throw new Error("Not implemented.")}pointFromMont(e){if(j(e instanceof g),this.isIsomorphic(e.curve)){if(e.isInfinity())return this.point();const t=this._scale(e.curve),r=this.field(e.x),i=this.field(e.y),n=r,a=t.redMul(i);return this.point(n,a)}throw new Error("Not implemented.")}pointFromEdwards(e){j(e instanceof w),j(e.curve.p.eq(this.p));const t=this.field(e.x),r=this.field(e.y),i=this.field(e.z);if(this.isIsogenous(e.curve)){if(e.isInfinity())return this.point();if(e.x.isZero())return this.point(this.zero,this.zero);const n=i.redSqr().redIMuln(2),a=r.redSqr(),o=t.redSqr(),s=n.redISub(o).redISub(a).redMul(r),f=o.redMul(t);return this.cpoint(a,o,s,f)}if(this.isIsomorphic(e.curve,!0)){if(e.isInfinity())return this.point();if(e.x.isZero())return this.point(this.zero,this.zero);const n=this._scale(e.curve,!0),a=r.redAdd(i),o=r.redSub(i),s=n.redMul(i).redMul(a),f=t.redMul(o);return this.cpoint(a,o,s,f)}if(this.isIsomorphic(e.curve,!1)){if(e.isInfinity())return this.point();if(e.x.isZero())return this.point(this.zero,this.zero);const n=this._scale(e.curve,!1),a=i.redAdd(r),o=i.redSub(r),s=n.redMul(i).redMul(a),f=t.redMul(o);return this.cpoint(a,o,s,f)}throw new Error("Not implemented.")}pointFromUniform(e){if(j(e instanceof n),this.z.isZero()||this.a.isZero())throw new Error("Not implemented.");return this._elligator2(e)}pointToUniform(e,t){if(j(e instanceof g),j(t>>>0===t),this.z.isZero()||this.a.isZero())throw new Error("Not implemented.");if(e.isInfinity())throw new Error("Invalid point.");const r=(t>>>4&15)%this.torsion.length,i=e.add(this.torsion[r]);return B(()=>this._invert2(i,t))}decodePoint(e,t){return g.decode(this,e,t)}encodeX(e){return j(e instanceof v),e.encode()}decodeX(e){return v.decode(this,e)}toShort(e,t,r=null){const[i,n]=this._short(e,t),a=new l({red:this.red,prime:this.prime,p:this.p,a:i,b:n,n:this.n,h:this.h});if(null!=r){const[,e]=a._scale(this);e.redIsOdd()!==r&&e.redINeg()}this.g.isInfinity()||(a.g=a.pointFromMont(this.g));for(let e=0;e<this.h.word(0);e++)a.torsion[e]=a.pointFromMont(this.torsion[e]);return a}toMont(e,t=null){const[r,i]=this._mont(e),n=new m({red:this.red,prime:this.prime,p:this.p,a:r,b:i,n:this.n,h:this.h,z:this.z});if(null!=t){const e=n._scale(this);e.redIsOdd()!==t&&e.redINeg()}this.g.isInfinity()||(n.g=n.pointFromMont(this.g));for(let e=0;e<this.h.word(0);e++)n.torsion[e]=n.pointFromMont(this.torsion[e]);return n}toEdwards(e,t,r=null){const[i,n]=this._edwards(e,t),a=new y({red:this.red,prime:this.prime,p:this.p,a:i,d:n,n:this.n,h:this.h,z:this.z});if(null!=r){const e=a._scale(this,t);e.redIsOdd()!==r&&e.redINeg()}if(this.g.isInfinity()||(a.g=a.pointFromMont(this.g),a.g.normalize()),a.isComplete())for(let e=0;e<this.h.word(0);e++)a.torsion[e]=a.pointFromMont(this.torsion[e]),a.torsion[e].normalize();return a}pointFromJSON(e){return g.fromJSON(this,e)}toJSON(e){const t=super.toJSON(e);return t.a=this.a.fromRed().toJSON(),t.b=this.b.fromRed().toJSON(),t}}class g extends h{constructor(e,t,r){j(e instanceof m),super(e,a),this.x=this.curve.zero,this.y=this.curve.zero,this.inf=!0,null!=t&&this._init(t,r)}_init(e,t){j(e instanceof n),j(t instanceof n),this.x=e,this.y=t,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}clone(){return this.inf?this.curve.point():this.curve.point(this.x,this.y)}scale(e){return this.clone()}randomize(e){return this.clone()}neg(){return this.inf?this:this.curve.point(this.x,this.y.redNeg())}add(e){if(j(e instanceof g),this.inf)return e;if(e.inf)return this;if(this.x.eq(e.x))return this.y.eq(e.y)?this.dbl():this.curve.point();const t=e.x.redSub(this.x),r=e.y.redSub(this.y).redDiv(t),i=this.curve.b.redMul(r.redSqr()).redISub(this.curve.a).redISub(this.x).redISub(e.x),n=r.redMul(this.x.redSub(i)).redISub(this.y);return this.curve.point(i,n)}dbl(){if(this.inf)return this;if(this.y.isZero())return this.curve.point();const e=this.x.redSqr().redIMuln(3),t=this.curve.a.redMul(this.x).redIMuln(2),r=e.redIAdd(t).redIAdd(this.curve.one),i=this.curve.b.redMul(this.y).redIMuln(2),n=r.redDiv(i),a=this.curve.b.redMul(n.redSqr()).redISub(this.curve.a).redISub(this.x).redISub(this.x),o=n.redMul(this.x.redSub(a)).redISub(this.y);return this.curve.point(a,o)}getX(){if(this.inf)throw new Error("Invalid point.");return this.x.fromRed()}getY(){if(this.inf)throw new Error("Invalid point.");return this.y.fromRed()}eq(e){return j(e instanceof g),this===e||(this.inf?e.inf:!e.inf&&(this.x.eq(e.x)&&this.y.eq(e.y)))}cmp(e){return j(e instanceof g),this.inf&&!e.inf?-1:!this.inf&&e.inf?1:this.inf&&e.inf?0:this.order().cmp(e.order())||this.getX().cmp(e.getX())||this.getY().cmp(e.getY())}isInfinity(){return this.inf}isOrder2(){return!this.inf&&this.y.isZero()}isOdd(){return!this.inf&&this.y.redIsOdd()}isEven(){return!this.inf&&this.y.redIsEven()}toP(){return this}toJ(){return this}toX(){return this.inf?this.curve.xpoint():this.curve.xpoint(this.x,this.curve.one)}encode(){return this.toX().encode()}static decode(e,t,r){return j(e instanceof m),e.decodeX(t).toP(r)}toJSON(e){if(this.inf)return[];return[this.getX().toJSON(),this.getY().toJSON()]}toPretty(){if(this.inf)return[];const e=2*this.curve.fieldSize;return[L(this.getX(),e),L(this.getY(),e)]}static fromJSON(e,t){if(j(e instanceof m),j(Array.isArray(t)),j(0===t.length||2===t.length||3===t.length),0===t.length)return e.point();const r=n.fromJSON(t[0]),i=n.fromJSON(t[1]);return e.point(r,i)}[i](){return this.inf?"<MontPoint: Infinity>":"<MontPoint: x="+this.x.fromRed().toString(16,2)+" y="+this.y.fromRed().toString(16,2)+">"}}class v extends h{constructor(e,t,r){j(e instanceof m),super(e,s),this.x=this.curve.one,this.z=this.curve.zero,null!=t&&this._init(t,r)}_init(e,t){j(e instanceof n),j(null==t||t instanceof n),this.x=e,this.z=t||this.curve.one,this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red))}clone(){return this.curve.xpoint(this.x,this.z)}precompute(e,t){return this}validate(){if(this.isInfinity())return!0;const{x:e,z:t}=this,r=e.redSqr(),i=r.redMul(e),n=t.redSqr(),a=this.curve.a.redMul(r).redMul(t);return-1!==i.redIAdd(a).redIAdd(e.redMul(n)).redMul(this.curve.bi).redMul(t).redJacobi()}normalize(){return this.isInfinity()||this.z.eq(this.curve.one)||(this.x=this.x.redDiv(this.z),this.z=this.curve.one),this}scale(e){if(j(e instanceof n),this.isInfinity())return this.curve.xpoint();const t=this.x.redMul(e),r=this.z.redMul(e);return this.curve.xpoint(t,r)}neg(){return this}dbl(){const e=this.x.redAdd(this.z).redSqr(),t=this.x.redSub(this.z).redSqr(),r=e.redSub(t),i=e.redMul(t),n=r.redMul(t.redIAdd(this.curve.a24.redMul(r)));return this.curve.xpoint(i,n)}diffAddDbl(e,t){j(e instanceof v),j(t instanceof v);const r=e.x.redAdd(e.z),i=r.redSqr(),n=e.x.redSub(e.z),a=n.redSqr(),o=i.redSub(a),s=t.x.redAdd(t.z),f=t.x.redSub(t.z).redMul(r),c=s.redMul(n),d=this.z.redMul(f.redAdd(c).redSqr()),u=this.x.redMul(f.redISub(c).redSqr()),h=i.redMul(a),l=o.redMul(a.redIAdd(this.curve.a24.redMul(o)));return[this.curve.xpoint(h,l),this.curve.xpoint(d,u)]}getX(){if(this.isInfinity())throw new Error("Invalid point.");return this.normalize(),this.x.fromRed()}getY(e){return this.toP(e).getY()}eq(e){if(j(e instanceof v),this===e)return!0;if(this.isInfinity())return e.isInfinity();if(e.isInfinity())return!1;if(this.z.eq(e.z))return this.x.eq(e.x);const t=this.x.redMul(e.z),r=e.x.redMul(this.z);return t.eq(r)}cmp(e){j(e instanceof v);const t=this.isInfinity(),r=e.isInfinity();return t&&!r?-1:!t&&r?1:t&&r?0:this.order().cmp(e.order())||this.getX().cmp(e.getX())}isInfinity(){return this.z.isZero()}isOrder2(){return!this.isInfinity()&&this.x.isZero()}isOdd(){return!1}isEven(){return!1}hasTorsion(){return!this.isInfinity()&&(!!this.x.isZero()||super.hasTorsion())}order(){try{return this.toP().order()}catch(e){return new n(1)}}jmul(e){j(e instanceof n),j(!e.red);const t=e.bitLength();let r=this.curve.xpoint(),i=this;for(let n=t-1;n>=0;n--){0===e.bit(n)?[r,i]=this.diffAddDbl(r,i):[i,r]=this.diffAddDbl(i,r)}return r}jmulBlind(e,t){return t?this.randomize(t).jmul(e):this.jmul(e)}jmulAdd(e,t,r){throw new Error("Not implemented.")}toP(e=null){return j(null==e||"boolean"==typeof e),this.isInfinity()?this.curve.point():(this.normalize(),this.curve.pointFromX(this.x,e))}toJ(){return this}toX(){return this}key(){if(this.isInfinity())return this.curve.uid+":oo";this.normalize();const e=this.getX().toString(16);return`${this.curve.uid}:${e}`}encode(){return this.curve.encodeField(this.getX())}static decode(e,t){j(e instanceof m);const r=e.decodeField(t);r.iumaskn(e.fieldBits);const i=e.xpoint(r,e.one);return j(!i.isInfinity()),i}toJSON(e){return this.toP().toJSON(e)}toPretty(){return this.toP().toPretty()}static fromJSON(e,t){return g.fromJSON(e,t).toX()}[i](){return this.isInfinity()?"<XPoint: Infinity>":"<XPoint: x="+this.x.fromRed().toString(16,2)+" z="+this.z.fromRed().toString(16,2)+">"}}class y extends u{constructor(e){super(w,"edwards",e),this.a=n.fromJSON(e.a).toRed(this.red),this.d=n.fromJSON(e.d).toRed(this.red),this.s=n.fromJSON(e.s||"0").toRed(this.red),this.si=this.s.isZero()?this.zero:this.s.redInvert(),this.k=this.d.redMuln(2),this.smi=-this.d.redNeg().word(0),this.ad6=this.a.redAdd(this.d).redMul(this.i6),this.twisted=!this.a.eq(this.one),this.oneA=this.a.eq(this.one),this.mOneA=this.a.eq(this.one.redNeg()),this.smallD=null!=this.prime&&1===this.d.redNeg().length,this.alt=null,this._finalize(e)}static _isomorphism(e,t,r){j(e instanceof n),j(t instanceof n),j(r instanceof n);const i=r.clone(),a=r.redMul(t).redDiv(e);if(1!==e.redDiv(r).redJacobi())throw new Error("Invalid `a` coefficient.");return[i,a]}_short(e,t){const{a:r,d:i}=this,n=r.redSqr(),a=n.redMul(r),o=i.redSqr(),s=o.redMul(i),f=r.redMul(i).redIMuln(14),c=n.redMul(i),d=r.redMul(o),u=c.redIAdd(d).redIMuln(33),h=n.redAdd(f).redIAdd(o).redDivn(-48),b=u.redISub(a).redISub(s).redDivn(864);return null!=e?l._isomorphism(h,b,e,t):[h,b]}_mont(e,t=!1){let r,i;j("boolean"==typeof t),t?(r=this.d.redAdd(this.a),i=this.d.redSub(this.a)):(r=this.a.redAdd(this.d),i=this.a.redSub(this.d));const n=i.redInvert(),a=r.redMuln(2).redMul(n),o=n.redMuln(4);return null!=e?m._isomorphism(a,o,e):[a,o]}_edwards(e){return y._isomorphism(this.a,this.d,e)}_scaleShort(e){j(e instanceof l);const[t,r]=e._scale(this);return[this.field(t.redInvert()),this.field(r.redInvert())]}_scaleMont(e,t=!1){if(j(e instanceof m),j("boolean"==typeof t),this.g.isInfinity()||e.g.isInfinity()){const[r]=e._edwards(null,t);return this.field(r).redDivSqrt(this.a)}const r=e.g.x.redDiv(e.g.y);return this.g.x.redDiv(this.field(r))}_scaleEdwards(e){return j(e instanceof y),this.g.isInfinity()||e.g.isInfinity()?this.field(e.a).redDivSqrt(this.a):this.g.x.redDiv(this.field(e.g.x))}_mulA(e){return j(e instanceof n),this.oneA?e.clone():this.mOneA?e.redNeg():this.a.redMul(e)}_mulD(e){return j(e instanceof n),this.smallD?e.redMuln(this.smi):this.d.redMul(e)}_elligator1(e){const{s:t,si:r,i2:i,one:n,two:a}=this,o=r.redSqr().redIMuln(2),s=t.redSqr().redMul(i),f=s.redSqr(),c=o.redAdd(s),d=c.redSqr().redISub(a),u=o.redSub(n),h=n.redSub(e),l=n.redAdd(e),b=l.isZero()?l:h.redDiv(l),p=b.redSqr(),m=p.redMul(b),g=m.redMul(p).redAdd(d.redMul(m)).redIAdd(b),v=this.field(g.redJacobi()),y=this.field(p.redAdd(f).redJacobi()),w=v.redMul(y),_=v.redMul(b),M=v.redMul(g).redSqrt().redMul(w),S=n.redAdd(_),k=c.redMul(_),E=S.redSqr(),x=u.redMul(t).redMul(_).redMul(S),z=b.isZero()?this.one:M,A=k.redSub(E),I=k.redAdd(E);return this.cpoint(x,z,A,I)}_invert1(e,t){const{s:r,si:i,i2:n,one:a}=this,{x:o,y:s,z:f}=e,c=1&t,d=i.redSqr().redIMuln(2),u=r.redSqr().redMul(n),h=u.redSqr(),l=d.redAdd(u),b=d.redSub(a),p=s.redSub(f),m=s.redAdd(f).redIMuln(2),g=m.isZero()?m:p.redDiv(m),v=a.redAdd(g.redMul(l)),y=v.redSqr().redISub(a).redSqrt().redSub(v),w=a.redAdd(y),_=b.redMul(r).redMul(y).redMul(w).redMul(o.redMul(f)),M=y.redSqr().redIAdd(h),S=this.field(_.redMul(M).redJacobi()).redMul(y),k=a.redSub(S),E=a.redAdd(S),x=E.isZero()?E:k.redDiv(E);return x.redIsOdd()!==Boolean(c)&&x.redINeg(),x}_alt(){return this.alt||(this.alt=this.toMont()),this.alt}isElliptic(){const e=this.a.redMul(this.d),t=this.a.redSub(this.d);return!e.redMul(t).isZero()}jinv(){const{a:e,d:t}=this,r=e.redMul(t),i=e.redSub(t).redPown(4),n=e.redSqr(),a=t.redSqr(),o=n.redAdd(r.redMuln(14)).redIAdd(a).redPown(3).redIMuln(16),s=r.redMul(i);if(s.isZero())throw new Error("Curve is not elliptic.");return o.redDiv(s).fromRed()}isComplete(){return 1===this.a.redJacobi()&&-1===this.d.redJacobi()}point(e,t,r,i){return new w(this,e,t,r,i)}jpoint(e,t,r){return j(null==e&&null==t&&null==r),this.point()}cpoint(e,t,r,i){j(e instanceof n),j(t instanceof n),j(r instanceof n),j(i instanceof n);const a=e.redMul(i),o=r.redMul(t),s=t.redMul(i),f=e.redMul(r);return this.point(a,o,s,f)}solveX2(e){j(e instanceof n);const t=e.redSqr(),r=this._mulD(t).redISub(this.a);return t.redISub(this.one).redDiv(r)}solveX(e){const t=e.redSqr(),r=this._mulD(t).redISub(this.a);return t.redISub(this.one).redDivSqrt(r)}solveY2(e){j(e instanceof n);const t=e.redSqr(),r=this._mulA(t).redISub(this.one),i=this._mulD(t).redISub(this.one);return r.redDiv(i)}solveY(e){const t=e.redSqr(),r=this._mulA(t).redISub(this.one),i=this._mulD(t).redISub(this.one);return r.redDivSqrt(i)}validate(e){if(j(e instanceof w),e.zOne){const t=e.x.redSqr(),r=e.y.redSqr(),i=this._mulD(t).redMul(r),n=this._mulA(t).redIAdd(r),a=this.one.redAdd(i),o=e.t,s=e.x.redMul(e.y);return n.eq(a)&&o.eq(s)}const t=e.x.redSqr(),r=e.y.redSqr(),i=e.z.redSqr(),n=i.redSqr(),a=this._mulD(t).redMul(r),o=this._mulA(t).redIAdd(r).redMul(i),s=n.redIAdd(a),f=e.t.redMul(e.z),c=e.x.redMul(e.y);return o.eq(s)&&f.eq(c)}pointFromX(e,t=null){j(e instanceof n),j(null==t||"boolean"==typeof t),e.red||(e=e.toRed(this.red));const r=this.solveY(e);if(null!=t){if(r.isZero()&&t)throw new Error("Invalid point.");r.redIsOdd()!==t&&r.redINeg()}return this.point(e,r)}pointFromY(e,t=null){j(e instanceof n),j(null==t||"boolean"==typeof t),e.red||(e=e.toRed(this.red));const r=this.solveX(e);if(null!=t){if(r.isZero()&&t)throw new Error("Invalid point.");r.redIsOdd()!==t&&r.redINeg()}return this.point(r,e)}isIsomorphic(e,t=!1){if(j(e instanceof u),j("boolean"==typeof t),!e.p.eq(this.p))return!1;if("short"===e.type)return e.isIsomorphic(this);if("mont"===e.type){const r=this.field(e.a);let i,n;return t?(i=this.d.redAdd(this.a),n=this.d.redSub(this.a)):(i=this.a.redAdd(this.d),n=this.a.redSub(this.d)),r.redMul(n).eq(i.redIMuln(2))}if("edwards"===e.type){const t=this.field(e.a),r=this.field(e.d);return this.a.redMul(r).eq(t.redMul(this.d))}return!1}isIsogenous(e){if(j(e instanceof u),!e.p.eq(this.p))return!1;if("mont"===e.type){if(!this.a.eq(this.one))return!1;const t=this.field(e.a),r=this.field(e.b),i=this.two.redSub(this.d.redMuln(4));return t.eq(i)&&r.eq(this.one)}if("edwards"===e.type){const t=this.field(e.a),r=this.field(e.d);return t.eq(this.a.redNeg())&&r.eq(this.d.redSub(this.a))}return!1}pointFromShort(e){if(j(e instanceof b),this.isIsomorphic(e.curve)){if(e.isInfinity())return this.point();if(e.y.isZero())return this.point(this.zero,this.one.redNeg());const{a:t,d:r}=this,[i,n]=this._scale(e.curve),a=t.redMuln(5),o=r.redMuln(5),s=this.field(e.x).redMul(i),f=this.field(e.y).redMul(n),c=s.redMuln(6),d=s.redMuln(12),u=c.redSub(t).redISub(r),h=f.redMuln(6),l=d.redSub(a).redIAdd(r),b=d.redAdd(t).redISub(o);return this.cpoint(u,h,l,b)}throw new Error("Not implemented.")}pointFromMont(e){j(e instanceof g),j(e.curve.p.eq(this.p));const t=this.field(e.x),r=this.field(e.y);if(this.isIsogenous(e.curve)){if(e.isInfinity())return this.point();if(e.x.isZero())return this.point();const i=t.redSqr(),n=i.redMul(t),a=n.redMul(t),o=a.redMul(t),s=r.redSqr(),f=r.redMuln(4),c=i.redSub(this.one),d=i.redMuln(2),u=s.redMuln(4),h=n.redIMuln(2),l=t.redMul(s).redIMuln(4),b=i.redMul(s).redIMuln(2),p=s.redIMuln(2),m=f.redMul(c),g=a.redISub(d).redIAdd(u).redIAdd(this.one),v=o.redSub(h).redISub(l).redIAdd(t).redINeg(),y=o.redISub(b).redISub(h).redISub(p).redIAdd(t);return this.cpoint(m,g,v,y).divn(4)}if(this.isIsomorphic(e.curve,!0)){if(e.isInfinity())return this.point();if(e.x.isZero())return this.point(this.zero,this.one.redNeg());const i=this._scale(e.curve,!0).redMul(t),n=r,a=t.redAdd(this.one),o=t.redSub(this.one);return this.cpoint(i,n,a,o)}if(this.isIsomorphic(e.curve,!1)){if(e.isInfinity())return this.point();if(e.x.isZero())return this.point(this.zero,this.one.redNeg());const i=this._scale(e.curve,!1).redMul(t),n=r,a=t.redSub(this.one),o=t.redAdd(this.one);return this.cpoint(i,n,a,o)}throw new Error("Not implemented.")}pointFromEdwards(e){j(e instanceof w),j(e.curve.p.eq(this.p));const t=this.field(e.curve.a),r=this.field(e.x),i=this.field(e.y),n=this.field(e.z),a=this.field(e.t);if(this.isIsogenous(e.curve)){const e=r.redMul(i),a=r.redSqr(),o=i.redSqr(),s=n.redSqr(),f=t.redMul(a),c=e.redIMuln(2),d=o.redSub(f),u=o.redAdd(f),h=s.redIMuln(2).redISub(u),l=this.cpoint(c,d,u,h);return this.twisted?l:l.divn(4)}if(this.isIsomorphic(e.curve)){const t=this._scale(e.curve),o=t.redMul(r),s=i,f=n,c=t.redMul(a);return this.point(o,s,f,c)}throw new Error("Not implemented.")}pointFromUniform(e,t=null){j(e instanceof n),j(e.red===this.red),j(null==t||t instanceof m),t||(t=this._alt());const r=t.field(e),i=t.pointFromUniform(r);return this.pointFromMont(i)}pointToUniform(e,t,r=null){j(e instanceof w),j(t>>>0===t),j(null==r||r instanceof m),r||(r=this._alt());const i=(t>>4&15)%this.torsion.length,n=e.add(this.torsion[i]),a=r.pointFromEdwards(n),o=r.pointToUniform(a,15&t);return this.field(o)}pointFromHash(e,t,r=null){j(null==r||r instanceof m),r||(r=this._alt());const i=r.pointFromHash(e,t);return this.pointFromMont(i)}pointToHash(e,t,r,i=null){j(e instanceof w),j(t>>>0===t),j(null==i||i instanceof m),i||(i=this._alt());const n=t%this.torsion.length,a=e.add(this.torsion[n]),o=i.pointFromEdwards(a);return i.pointToHash(o,0,r)}decodePoint(e){return w.decode(this,e)}toShort(e,t,r=null){const[i,n]=this._short(e,t),a=new l({red:this.red,prime:this.prime,p:this.p,a:i,b:n,n:this.n,h:this.h});if(null!=r){const[,e]=a._scale(this);e.redIsOdd()!==r&&e.redINeg()}this.g.isInfinity()||(a.g=a.pointFromEdwards(this.g));for(let e=0;e<this.h.word(0);e++)a.torsion[e]=a.pointFromEdwards(this.torsion[e]);return a}toMont(e,t,r=null){const[i,n]=this._mont(e,t),a=new m({red:this.red,prime:this.prime,p:this.p,a:i,b:n,n:this.n,h:this.h,z:this.z});if(null!=r){const e=this._scale(a,t);e.redIsOdd()!==r&&e.redINeg()}this.g.isInfinity()||(a.g=a.pointFromEdwards(this.g));for(let e=0;e<this.h.word(0);e++)a.torsion[e]=a.pointFromEdwards(this.torsion[e]);return a}toEdwards(e,t=null){const[r,i]=this._edwards(e),n=new y({red:this.red,prime:this.prime,p:this.p,a:r,d:i,n:this.n,h:this.h,z:this.z});if(null!=t){const e=n._scale(this);e.redIsOdd()!==t&&e.redINeg()}if(this.g.isInfinity()||(n.g=n.pointFromEdwards(this.g),n.g.normalize()),n.isComplete())for(let e=0;e<this.h.word(0);e++)n.torsion[e]=n.pointFromEdwards(this.torsion[e]),n.torsion[e].normalize();return n}pointFromJSON(e){return w.fromJSON(this,e)}toJSON(e){const t=super.toJSON(e);return t.a=this.a.fromRed().toJSON(),t.d=this.d.fromRed().toJSON(),this.s.isZero()||(t.s=this.s.fromRed().toJSON()),t}}class w extends h{constructor(e,t,r,i,n){j(e instanceof y),super(e,f),this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0,null!=t&&this._init(t,r,i,n)}_init(e,t,r,i){j(e instanceof n),j(t instanceof n),j(null==r||r instanceof n),j(null==i||i instanceof n),this.x=e,this.y=t,this.z=r||this.curve.one,this.t=i||null,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.eq(this.curve.one),this._check(),this.t||(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redDiv(this.z)))}_check(){if(this.z.isZero())throw new Error("Invalid point.")}clone(){return this.curve.point(this.x,this.y,this.z,this.t)}normalize(){if(this.zOne)return this;const e=this.z.redInvert();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t=this.t.redMul(e),this.z=this.curve.one,this.zOne=!0,this}scale(e){j(e instanceof n);const t=this.x.redMul(e),r=this.y.redMul(e),i=this.z.redMul(e),a=this.t.redMul(e);return this.curve.point(t,r,i,a)}neg(){const e=this.x.redNeg(),t=this.y,r=this.z,i=this.t.redNeg();return this.curve.point(e,t,r,i)}add(e){return j(e instanceof w),this.isInfinity()?e:e.isInfinity()?this:this.zOne?e._add(this):this._add(e)}_add(e){return this.curve.mOneA?this._addM1(e):this._addA(e)}_addM1(e){const t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),r=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),i=this.t.redMul(this.curve.k).redMul(e.t),n=e.zOne?this.z.redAdd(this.z):this.z.redMul(e.z).redIMuln(2),a=r.redSub(t),o=n.redSub(i),s=n.redIAdd(i),f=r.redIAdd(t),c=a.redMul(o),d=s.redMul(f),u=a.redMul(f),h=o.redMul(s);return this.curve.point(c,d,h,u)}_addA(e){const t=this.x.redMul(e.x),r=this.y.redMul(e.y),i=this.curve._mulD(this.t).redMul(e.t),n=e.zOne?this.z.clone():this.z.redMul(e.z),a=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(t).redISub(r),o=n.redSub(i),s=n.redIAdd(i),f=r.redISub(this.curve._mulA(t)),c=a.redMul(o),d=s.redMul(f),u=a.redMul(f),h=o.redMul(s);return this.curve.point(c,d,h,u)}dbl(){return this.isInfinity()?this:this._dbl()}_dbl(){const e=this.x.redSqr(),t=this.y.redSqr(),r=this.zOne?this.curve.two:this.z.redSqr().redIMuln(2),i=this.curve._mulA(e),n=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),a=i.redAdd(t),o=a.redSub(r),s=i.redISub(t),f=n.redMul(o),c=a.redMul(s),d=n.redMul(s),u=o.redMul(a);return this.curve.point(f,c,u,d)}getX(){return this.normalize(),this.x.fromRed()}getY(){return this.normalize(),this.y.fromRed()}eq(e){if(j(e instanceof w),j(!this.z.isZero()),j(!e.z.isZero()),this===e)return!0;if(this.z.eq(e.z))return this.x.eq(e.x)&&this.y.eq(e.y);const t=this.x.redMul(e.z),r=e.x.redMul(this.z);if(!t.eq(r))return!1;const i=this.y.redMul(e.z),n=e.y.redMul(this.z);return i.eq(n)}cmp(e){return j(e instanceof w),this.order().cmp(e.order())||this.getY().cmp(e.getY())||this.getX().cmp(e.getX())}isInfinity(){return j(!this.z.isZero()),!!this.x.isZero()&&this.y.eq(this.z)}isOrder2(){return!this.isInfinity()&&this.x.isZero()}isOdd(){return this.normalize(),this.x.redIsOdd()}isEven(){return this.normalize(),this.x.redIsEven()}toP(){return this.normalize()}toJ(){return this}encode(){const e=this.getY();return e.setn(this.curve.signBit,this.x.redIsOdd()),this.curve.encodeAdjusted(e)}static decode(e,t){j(e instanceof y);const r=e.decodeAdjusted(t),i=0!==r.testn(e.signBit);if(r.setn(e.signBit,0),r.cmp(e.p)>=0)throw new Error("Invalid point.");return e.pointFromY(r,i)}toJSON(e){if(this.isInfinity())return[];const t=this.getX().toJSON(),r=this.getY().toJSON();return!0===e&&this.pre?[t,r,this.pre.toJSON()]:[t,r]}toPretty(){const e=2*this.curve.fieldSize;return[L(this.getX(),e),L(this.getY(),e)]}static fromJSON(e,t){if(j(e instanceof y),j(Array.isArray(t)),j(0===t.length||2===t.length||3===t.length),0===t.length)return e.point();const r=n.fromJSON(t[0]),i=n.fromJSON(t[1]),a=e.point(r,i);return t.length>2&&null!=t[2]&&(a.pre=_.fromJSON(a,t[2])),a}[i](){return this.isInfinity()?"<EdwardsPoint: Infinity>":"<EdwardsPoint: x="+this.x.fromRed().toString(16,2)+" y="+this.y.fromRed().toString(16,2)+" z="+this.z.fromRed().toString(16,2)+">"}}class _{constructor(){this.naf=null,this.windows=null,this.doubles=null,this.blinding=null,this.beta=null}map(e){j("function"==typeof e);const t=new this.constructor;return this.naf&&(t.naf=this.naf.map(e)),this.doubles&&(t.doubles=this.doubles.map(e)),t}toJSON(){return{naf:this.naf?this.naf.toJSON():null,windows:this.windows?this.windows.toJSON():null,doubles:this.doubles?this.doubles.toJSON():null,blinding:this.blinding?this.blinding.toJSON():void 0}}fromJSON(e,t){return j(e instanceof h),j(t&&"object"==typeof t),null!=t.naf&&(this.naf=M.fromJSON(e,t.naf)),null!=t.windows&&(this.windows=S.fromJSON(e,t.windows)),null!=t.doubles&&(this.doubles=k.fromJSON(e,t.doubles)),null!=t.blinding&&(this.blinding=E.fromJSON(e,t.blinding)),this}static fromJSON(e,t){return(new this).fromJSON(e,t)}}class M{constructor(e,t){this.width=e,this.points=t}map(e){j("function"==typeof e);const{width:t}=this,r=[];for(const t of this.points)r.push(e(t));return new this.constructor(t,r)}toJSON(){return{width:this.width,points:this.points.slice(1).map(e=>e.toJSON())}}static fromJSON(e,t){j(e instanceof h),j(t&&"object"==typeof t),j(t.width>>>0===t.width),j(Array.isArray(t.points));const{curve:r}=e,{width:i}=t,n=[e];for(const e of t.points)n.push(r.pointFromJSON(e));return new this(i,n)}}class S{constructor(e,t,r){this.width=e,this.bits=t,this.points=r}toJSON(){return{width:this.width,bits:this.bits,points:this.points.slice(1).map(e=>e.toJSON())}}static fromJSON(e,t){j(e instanceof h),j(t&&"object"==typeof t),j(t.width>>>0===t.width),j(t.bits>>>0===t.bits),j(Array.isArray(t.points));const{curve:r}=e,{width:i,bits:n}=t,a=[e];for(const e of t.points)a.push(r.pointFromJSON(e));return new this(i,n,a)}}class k{constructor(e,t){this.step=e,this.points=t}map(e){j("function"==typeof e);const{step:t}=this,r=[];for(const t of this.points)r.push(e(t));return new this.constructor(t,r)}toJSON(){return{step:this.step,points:this.points.slice(1).map(e=>e.toJSON())}}static fromJSON(e,t){j(e instanceof h),j(t&&"object"==typeof t),j(t.step>>>0===t.step),j(Array.isArray(t.points));const{curve:r}=e,{step:i}=t,n=[e];for(const e of t.points)n.push(r.pointFromJSON(e));return new this(i,n)}}class E{constructor(e,t){this.blind=e,this.unblind=t}toJSON(){return{blind:this.blind.toJSON(),unblind:this.unblind.toJSON()}}static fromJSON(e,t){j(e instanceof h),j(t&&"object"==typeof t);const{curve:r}=e;return new this(n.fromJSON(t.blind),r.pointFromJSON(t.unblind))}}class x{constructor(e,t,r,i){this.beta=e,this.lambda=t,this.basis=r,this.pre=i}toJSON(){return{beta:this.beta.fromRed().toJSON(),lambda:this.lambda.toJSON(),basis:[this.basis[0].toJSON(),this.basis[1].toJSON()],pre:[this.pre[0],this.pre[1].toJSON(),this.pre[2].toJSON()]}}static fromJSON(e,t){j(e instanceof u),j(t&&"object"==typeof t),j(Array.isArray(t.basis)),j(Array.isArray(t.pre)),j(2===t.basis.length),j(3===t.pre.length),j(t.pre[0]>>>0===t.pre[0]);return new this(n.fromJSON(t.beta).toRed(e.red),n.fromJSON(t.lambda),[z.fromJSON(t.basis[0]),z.fromJSON(t.basis[1])],[t.pre[0],n.fromJSON(t.pre[1]),n.fromJSON(t.pre[2])])}}class z{constructor(e,t){this.a=e,this.b=t}toJSON(){return{a:this.a.toJSON(),b:this.b.toJSON()}}static fromJSON(e){j(e&&"object"==typeof e);return new this(n.fromJSON(e.a),n.fromJSON(e.b))}}const A={__proto__:null,P192:class extends l{constructor(e){super({id:"P192",ossl:"prime192v1",type:"short",endian:"be",hash:"SHA256",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"],h:"1",z:"-5",g:[["188da80e b03090f6 7cbf20eb 43a18800","f4ff0afd 82ff1012"],["07192b95 ffc8da78 631011ed 6b24cdd5","73f977a1 1e794811"],e]})}},P224:class extends l{constructor(e){super({id:"P224",ossl:"secp224r1",type:"short",endian:"be",hash:"SHA256",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"],h:"1",z:"1f",g:[["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3","56c21122 343280d6 115c1d21"],["bd376388 b5f723fb 4c22dfe6 cd4375a0","5a074764 44d58199 85007e34"],e]})}},P256:class extends l{constructor(e){super({id:"P256",ossl:"prime256v1",type:"short",endian:"be",hash:"SHA256",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"],h:"1",z:"-a",g:[["6b17d1f2 e12c4247 f8bce6e5 63a440f2","77037d81 2deb33a0 f4a13945 d898c296"],["4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16","2bce3357 6b315ece cbb64068 37bf51f5"],e]})}},P384:class extends l{constructor(e){super({id:"P384",ossl:"secp384r1",type:"short",endian:"be",hash:"SHA384",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"],h:"1",z:"-c",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"],e]})}},P521:class extends l{constructor(e){super({id:"P521",ossl:"secp521r1",type:"short",endian:"be",hash:"SHA512",prime:"p521",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"],h:"1",z:"-4",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"],e]})}},SECP256K1:class extends l{constructor(e){super({id:"SECP256K1",ossl:"secp256k1",type:"short",endian:"be",hash:"SHA256",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",z:"1",c:["0a2d2ba9 3507f1df 233770c2 a797962c","c61f6d15 da14ecd4 7d8d27ae 1cd5f852"],g:[["79be667e f9dcbbac 55a06295 ce870b07","029bfcdb 2dce28d9 59f2815b 16f81798"],["483ada77 26a3c465 5da4fbfc 0e1108a8","fd17b448 a6855419 9c47d08f fb10d4b8"],e],endo:{beta:["7ae96a2b 657c0710 6e64479e ac3434e9","9cf04975 12f58995 c1396c28 719501ee"],lambda:["5363ad4c c05c30e0 a5261c02 8812645a","122e22ea 20816678 df02967c 1b23bd72"],basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],pre:[384,["3086d221 a7d46bcd e86c90e4 9284eb15","3daa8a14 71e8ca7f e893209a 45dbb031"],["-","e4437ed6 010e8828 6f547fa9 0abfe4c4","221208ac 9df506c6 1571b4ae 8ac47f71"]]}})}},BRAINPOOLP256:class extends l{constructor(e){super({id:"BRAINPOOLP256",ossl:"brainpoolP256r1",type:"short",endian:"be",hash:"SHA256",prime:null,p:["a9fb57db a1eea9bc 3e660a90 9d838d72","6e3bf623 d5262028 2013481d 1f6e5377"],a:["7d5a0975 fc2c3057 eef67530 417affe7","fb8055c1 26dc5c6c e94a4b44 f330b5d9"],b:["26dc5c6c e94a4b44 f330b5d9 bbd77cbf","95841629 5cf7e1ce 6bccdc18 ff8c07b6"],n:["a9fb57db a1eea9bc 3e660a90 9d838d71","8c397aa3 b561a6f7 901e0e82 974856a7"],h:"1",z:"-2",g:[["8bd2aeb9 cb7e57cb 2c4b482f fc81b7af","b9de27e1 e3bd23c2 3a4453bd 9ace3262"],["547ef835 c3dac4fd 97f8461a 14611dc9","c2774513 2ded8e54 5c1d54c7 2f046997"],e]})}},BRAINPOOLP384:class extends l{constructor(e){super({id:"BRAINPOOLP384",ossl:"brainpoolP384r1",type:"short",endian:"be",hash:"SHA384",prime:null,p:["8cb91e82 a3386d28 0f5d6f7e 50e641df","152f7109 ed5456b4 12b1da19 7fb71123","acd3a729 901d1a71 87470013 3107ec53"],a:["7bc382c6 3d8c150c 3c72080a ce05afa0","c2bea28e 4fb22787 139165ef ba91f90f","8aa5814a 503ad4eb 04a8c7dd 22ce2826"],b:["04a8c7dd 22ce2826 8b39b554 16f0447c","2fb77de1 07dcd2a6 2e880ea5 3eeb62d5","7cb43902 95dbc994 3ab78696 fa504c11"],n:["8cb91e82 a3386d28 0f5d6f7e 50e641df","152f7109 ed5456b3 1f166e6c ac0425a7","cf3ab6af 6b7fc310 3b883202 e9046565"],h:"1",z:"-5",g:[["1d1c64f0 68cf45ff a2a63a81 b7c13f6b","8847a3e7 7ef14fe3 db7fcafe 0cbd10e8","e826e034 36d646aa ef87b2e2 47d4af1e"],["8abe1d75 20f9c2a4 5cb1eb8e 95cfd552","62b70b29 feec5864 e19c054f f9912928","0e464621 77918111 42820341 263c5315"],e]})}},BRAINPOOLP512:class extends l{constructor(e){super({id:"BRAINPOOLP512",ossl:"brainpoolP512r1",type:"short",endian:"be",hash:"SHA512",prime:null,p:["aadd9db8 dbe9c48b 3fd4e6ae 33c9fc07","cb308db3 b3c9d20e d6639cca 70330871","7d4d9b00 9bc66842 aecda12a e6a380e6","2881ff2f 2d82c685 28aa6056 583a48f3"],a:["7830a331 8b603b89 e2327145 ac234cc5","94cbdd8d 3df91610 a83441ca ea9863bc","2ded5d5a a8253aa1 0a2ef1c9 8b9ac8b5","7f1117a7 2bf2c7b9 e7c1ac4d 77fc94ca"],b:["3df91610 a83441ca ea9863bc 2ded5d5a","a8253aa1 0a2ef1c9 8b9ac8b5 7f1117a7","2bf2c7b9 e7c1ac4d 77fc94ca dc083e67","984050b7 5ebae5dd 2809bd63 8016f723"],n:["aadd9db8 dbe9c48b 3fd4e6ae 33c9fc07","cb308db3 b3c9d20e d6639cca 70330870","553e5c41 4ca92619 41866119 7fac1047","1db1d381 085ddadd b5879682 9ca90069"],h:"1",z:"7",g:[["81aee4bd d82ed964 5a21322e 9c4c6a93","85ed9f70 b5d916c1 b43b62ee f4d0098e","ff3b1f78 e2d0d48d 50d1687b 93b97d5f","7c6d5047 406a5e68 8b352209 bcb9f822"],["7dde385d 566332ec c0eabfa9 cf7822fd","f209f700 24a57b1a a000c55b 881f8111","b2dcde49 4a5f485e 5bca4bd8 8a2763ae","d1ca2b2f a8f05406 78cd1e0f 3ad80892"],e]})}},X25519:class extends m{constructor(){super({id:"X25519",ossl:"X25519",type:"mont",endian:"le",hash:"SHA512",prime:"p25519",p:["7fffffff ffffffff ffffffff ffffffff","ffffffff ffffffff ffffffff ffffffed"],a:"76d06",b:"1",n:["10000000 00000000 00000000 00000000","14def9de a2f79cd6 5812631a 5cf5d3ed"],h:"8",z:"2",g:[["00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000009"],["5f51e65e 475f794b 1fe122d3 88b72eb3","6dc2b281 92839e4d d6163a5d 81312c14"]],torsion:[[],[["00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000"],["00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000"]],[["00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000001"],["6be4f497 f9a9c2af c21fa77a d7f4a6ef","635a11c7 284a9363 e9a248ef 9c884415"]],[["00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000001"],["141b0b68 06563d50 3de05885 280b5910","9ca5ee38 d7b56c9c 165db710 6377bbd8"]],[["57119fd0 dd4e22d8 868e1c58 c45c4404","5bef839c 55b1d0b1 248c50a3 bc959c5f"],["68c59389 3d458e64 31c6ca00 45fb5015","20a44346 8eaa68dd 0f103842 048065b7"]],[["57119fd0 dd4e22d8 868e1c58 c45c4404","5bef839c 55b1d0b1 248c50a3 bc959c5f"],["173a6c76 c2ba719b ce3935ff ba04afea","df5bbcb9 71559722 f0efc7bd fb7f9a36"]],[["00b8495f 16056286 fdb1329c eb8d09da","6ac49ff1 fae35616 aeb8413b 7c7aebe0"],["3931c129 569e83a5 29482c14 e628b457","933bfc29 ed801b4d 68871483 92507b1a"]],[["00b8495f 16056286 fdb1329c eb8d09da","6ac49ff1 fae35616 aeb8413b 7c7aebe0"],["46ce3ed6 a9617c5a d6b7d3eb 19d74ba8","6cc403d6 127fe4b2 9778eb7c 6daf84d3"]]]})}},X448:class extends m{constructor(){super({id:"X448",ossl:"X448",type:"mont",endian:"le",hash:"SHAKE256",prime:"p448",p:["ffffffff ffffffff ffffffff ffffffff","ffffffff ffffffff fffffffe ffffffff","ffffffff ffffffff ffffffff ffffffff","ffffffff ffffffff"],a:"262a6",b:"1",n:["3fffffff ffffffff ffffffff ffffffff","ffffffff ffffffff ffffffff 7cca23e9","c44edb49 aed63690 216cc272 8dc58f55","2378c292 ab5844f3"],h:"4",z:"-1",g:[["00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000005"],["7d235d12 95f5b1f6 6c98ab6e 58326fce","cbae5d34 f55545d0 60f75dc2 8df3f6ed","b8027e23 46430d21 1312c4b1 50677af7","6fd7223d 457b5b1a"]],torsion:[[],[["00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000000"],["00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000000"]],[["ffffffff ffffffff ffffffff ffffffff","ffffffff ffffffff fffffffe ffffffff","ffffffff ffffffff ffffffff ffffffff","ffffffff fffffffe"],["ba4d3a08 29b6112f 8812e51b a0bb2abe","bc1cb08e b48e5569 36ba50fd d2e7d68a","f8cb3216 0522425b 3f990812 abbe635a","d37a21e1 7551b193"]],[["ffffffff ffffffff ffffffff ffffffff","ffffffff ffffffff fffffffe ffffffff","ffffffff ffffffff ffffffff ffffffff","ffffffff fffffffe"],["45b2c5f7 d649eed0 77ed1ae4 5f44d541","43e34f71 4b71aa96 c945af01 2d182975","0734cde9 faddbda4 c066f7ed 54419ca5","2c85de1e 8aae4e6c"]]]})}},MONT448:class extends m{constructor(){super({id:"MONT448",ossl:null,type:"mont",endian:"le",hash:"SHAKE256",prime:"p448",p:["ffffffff ffffffff ffffffff ffffffff","ffffffff ffffffff fffffffe ffffffff","ffffffff ffffffff ffffffff ffffffff","ffffffff ffffffff"],a:["b2cf97d2 d43459a9 31ed36b1 fc4e3cb5","5d93f8d2 22746997 60ccffc6 49961ed6","c5b05fca c24864ed 6fb59697 931b78da","84ddecd8 ca2b5cfb"],b:"1",n:["3fffffff ffffffff ffffffff ffffffff","ffffffff ffffffff ffffffff 7cca23e9","c44edb49 aed63690 216cc272 8dc58f55","2378c292 ab5844f3"],h:"4",z:"-1",g:[["ac0d24cc c6c75cb0 eb71f81e 7a6edf51","48e88aee 009a2a24 e795687e c28e125a","3e6730a6 0d46367b aa7fe99d 152128dc","41321bc7 7817f059"],["5a4437f6 80c0d0db 9b061276 d5d0ffcc","e786ff33 b6a53d30 98746425 82e66f09","4433dae7 7244a6e2 6b11e905 7228f483","556c41a5 913f55fe"]],torsion:[[],[["00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000000"],["00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000000"]],[["ffffffff ffffffff ffffffff ffffffff","ffffffff ffffffff fffffffe ffffffff","ffffffff ffffffff ffffffff ffffffff","ffffffff fffffffe"],["bec92fd0 6da2acf2 b4e261e8 7cef0d34","22e75c18 3c589857 b71924e5 73c2f9ce","e18da5f2 466e2f39 3c2eedf0 f105a60a","b40c717d 4f1e1fd7"]],[["ffffffff ffffffff ffffffff ffffffff","ffffffff ffffffff fffffffe ffffffff","ffffffff ffffffff ffffffff ffffffff","ffffffff fffffffe"],["4136d02f 925d530d 4b1d9e17 8310f2cb","dd18a3e7 c3a767a8 48e6db19 8c3d0631","1e725a0d b991d0c6 c3d1120f 0efa59f5","4bf38e82 b0e1e028"]]]})}},ED25519:class extends y{constructor(e){super({id:"ED25519",ossl:"ED25519",type:"edwards",endian:"le",hash:"SHA512",prefix:"SigEd25519 no Ed25519 collisions",context:!1,prime:"p25519",p:["7fffffff ffffffff ffffffff ffffffff","ffffffff ffffffff ffffffff ffffffed"],a:"-1",d:["52036cee 2b6ffe73 8cc74079 7779e898","00700a4d 4141d8ab 75eb4dca 135978a3"],n:["10000000 00000000 00000000 00000000","14def9de a2f79cd6 5812631a 5cf5d3ed"],h:"8",z:"2",g:[["216936d3 cd6e53fe c0a4e231 fdd6dc5c","692cc760 9525a7b2 c9562d60 8f25d51a"],["66666666 66666666 66666666 66666666","66666666 66666666 66666666 66666658"],e],torsion:[[["00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000"],["00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000001"]],[["00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000"],["7fffffff ffffffff ffffffff ffffffff","ffffffff ffffffff ffffffff ffffffec"]],[["2b832480 4fc1df0b 2b4d0099 3dfbd7a7","2f431806 ad2fe478 c4ee1b27 4a0ea0b0"],["00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000"]],[["547cdb7f b03e20f4 d4b2ff66 c2042858","d0bce7f9 52d01b87 3b11e4d8 b5f15f3d"],["00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000"]],[["1fd5b9a0 06394a28 e9339932 38de4abb","5c193c70 13e5e238 dea14646 c545d14a"],["05fc536d 880238b1 3933c6d3 05acdfd5","f098eff2 89f4c345 b027b2c2 8f95e826"]],[["602a465f f9c6b5d7 16cc66cd c721b544","a3e6c38f ec1a1dc7 215eb9b9 3aba2ea3"],["05fc536d 880238b1 3933c6d3 05acdfd5","f098eff2 89f4c345 b027b2c2 8f95e826"]],[["1fd5b9a0 06394a28 e9339932 38de4abb","5c193c70 13e5e238 dea14646 c545d14a"],["7a03ac92 77fdc74e c6cc392c fa53202a","0f67100d 760b3cba 4fd84d3d 706a17c7"]],[["602a465f f9c6b5d7 16cc66cd c721b544","a3e6c38f ec1a1dc7 215eb9b9 3aba2ea3"],["7a03ac92 77fdc74e c6cc392c fa53202a","0f67100d 760b3cba 4fd84d3d 706a17c7"]]]})}},ISO448:class extends y{constructor(e){super({id:"ISO448",ossl:null,type:"edwards",endian:"le",hash:"SHAKE256",prefix:"SigEd448",context:!0,prime:"p448",p:["ffffffff ffffffff ffffffff ffffffff","ffffffff ffffffff fffffffe ffffffff","ffffffff ffffffff ffffffff ffffffff","ffffffff ffffffff"],a:"1",d:["d78b4bdc 7f0daf19 f24f38c2 9373a2cc","ad461572 42a50f37 809b1da3 412a12e7","9ccc9c81 264cfe9a d0809970 58fb61c4","243cc32d baa156b9"],n:["3fffffff ffffffff ffffffff ffffffff","ffffffff ffffffff ffffffff 7cca23e9","c44edb49 aed63690 216cc272 8dc58f55","2378c292 ab5844f3"],h:"4",z:"-1",g:[["79a70b2b 70400553 ae7c9df4 16c792c6","1128751a c9296924 0c25a07d 728bdc93","e21f7787 ed697224 9de732f3 8496cd11","69871309 3e9c04fc"],["7fffffff ffffffff ffffffff ffffffff","ffffffff ffffffff ffffffff 80000000","00000000 00000000 00000000 00000000","00000000 00000001"],e],torsion:[[["00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000000"],["00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000001"]],[["00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000000"],["ffffffff ffffffff ffffffff ffffffff","ffffffff ffffffff fffffffe ffffffff","ffffffff ffffffff ffffffff ffffffff","ffffffff fffffffe"]],[["00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000001"],["00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000000"]],[["ffffffff ffffffff ffffffff ffffffff","ffffffff ffffffff fffffffe ffffffff","ffffffff ffffffff ffffffff ffffffff","ffffffff fffffffe"],["00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000000"]]]})}},ED448:class extends y{constructor(e){super({id:"ED448",ossl:"ED448",type:"edwards",endian:"le",hash:"SHAKE256",prefix:"SigEd448",context:!0,prime:"p448",p:["ffffffff ffffffff ffffffff ffffffff","ffffffff ffffffff fffffffe ffffffff","ffffffff ffffffff ffffffff ffffffff","ffffffff ffffffff"],a:"1",d:["ffffffff ffffffff ffffffff ffffffff","ffffffff ffffffff fffffffe ffffffff","ffffffff ffffffff ffffffff ffffffff","ffffffff ffff6756"],n:["3fffffff ffffffff ffffffff ffffffff","ffffffff ffffffff ffffffff 7cca23e9","c44edb49 aed63690 216cc272 8dc58f55","2378c292 ab5844f3"],h:"4",z:"-1",g:[["4f1970c6 6bed0ded 221d15a6 22bf36da","9e146570 470f1767 ea6de324 a3d3a464","12ae1af7 2ab66511 433b80e1 8b00938e","2626a82b c70cc05e"],["693f4671 6eb6bc24 88762037 56c9c762","4bea7373 6ca39840 87789c1e 05a0c2d7","3ad3ff1c e67c39c4 fdbd132c 4ed7c8ad","9808795b f230fa14"],e],torsion:[[["00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000000"],["00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000001"]],[["00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000000"],["ffffffff ffffffff ffffffff ffffffff","ffffffff ffffffff fffffffe ffffffff","ffffffff ffffffff ffffffff ffffffff","ffffffff fffffffe"]],[["00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000001"],["00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000000"]],[["ffffffff ffffffff ffffffff ffffffff","ffffffff ffffffff fffffffe ffffffff","ffffffff ffffffff ffffffff ffffffff","ffffffff fffffffe"],["00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000000 00000000 00000000","00000000 00000000"]]]})}}},I={__proto__:null,P192:null,P224:null,P256:null,P384:null,P521:null,SECP256K1:null,BRAINPOOLP256:null,BRAINPOOLP384:null,BRAINPOOLP512:null,X25519:null,X448:null,MONT448:null,ED25519:null,ISO448:null,ED448:null};function q(e,t,r){j(e instanceof n),j(!e.red),j(t>>>0===t),j(r>>>0===r);const i=new Array(r),a=e.bitLength()+1,o=1|e.sign();j(a<=r);for(let e=0;e<r;e++)i[e]=0;let s,f=0,c=0;for(;f<a;)e.bit(f)!==c?(s=e.bits(f,t)+c,c=s>>t-1&1,s-=c<<t,i[f]=o*s,f+=t):f+=1;return j(0===c),i}function R(e,t,r){const i=function(e,t,r){j(e instanceof n),j(t instanceof n),j(!e.red),j(!t.red),j(r>>>0===r);const i=[new Array(r),new Array(r)],a=Math.max(e.bitLength(),t.bitLength())+1,o=1|e.sign(),s=1|t.sign();j(a<=r);let f=0,c=0;for(let r=0;r<a;r++){const n=e.bits(r,3),a=t.bits(r,3);let d=(3&n)+f&3,u=(3&a)+c&3,h=0,l=0;if(3===d&&(d=-1),3===u&&(u=-1),1&d){const e=(7&n)+f&7;h=3!==e&&5!==e||2!==u?d:-d}if(1&u){const e=(7&a)+c&7;l=3!==e&&5!==e||2!==d?u:-u}i[0][r]=h*o,i[1][r]=l*s,2*f===1+h&&(f=1-f),2*c===1+l&&(c=1-c)}for(let e=a;e<r;e++)i[0][e]=0,i[1][e]=0;return i}(e,t,r),a=new Array(r);for(let e=0;e<r;e++){const t=i[0][e],r=i[1][e];a[e]=c[3*(t+1)+(r+1)]}return a}function j(e,t){if(!e){const e=new Error(t||"Assertion failed");throw Error.captureStackTrace&&Error.captureStackTrace(e,j),e}}function B(e){j("function"==typeof e);try{return e()}catch(e){if("X is not a square mod P."===e.message||"Not invertible."===e.message)throw new Error("Invalid point.");throw e}}function N(e){const t=function(e){j(e instanceof n),j(e.red);const t=e.red.m;if(t.cmpn(3)<=0)return e.clone();if(2===t.modrn(3)){const r=t.ushln(1).isubn(1).idivn(3);return e.redPow(r)}const r=t.modrn(9);if(4===r){const r=t.ushln(1).iaddn(1).idivn(9),i=e.redPow(r);if(!i.redSqr().redMul(i).eq(e))throw new Error("X is not a cube mod P.");return i}if(7===r){const r=t.addn(2).idivn(9),i=e.redPow(r);if(!i.redSqr().redMul(i).eq(e))throw new Error("X is not a cube mod P.");return i}throw new Error("Not implemented.")}(e);if(1===e.red.m.modrn(3)){const r=new n(2).toRed(e.red),i=new n(3).toRed(e.red),a=r.redInvert(),o=i.redNeg().redSqrt().redMul(a),s=o.redNeg(),f=o.redSub(a),c=s.redSub(a),d=t.redMul(f),u=t.redMul(c);return[t,d,u]}return[t]}function O(e){for(const t of N(e))if(t.redJacobi()>=0)return t;throw new Error("X^(1/3) is not a square mod P.")}function T(e){return n.randomBits(e,32).toNumber()}function P(e,t){const r=new WeakMap;return function(i,n){const a=1&n,o=r.get(i);if(o&&null!==o[a])return o[a];const s=e.call(t,i,n);return r.has(i)||r.set(i,[null,null]),r.get(i)[a]=s,s}}function L(e,t){j(e instanceof n),j(t>>>0===t),7&t&&(t+=8-(7&t));const r=e.toString(16,t),i=[],a=[];j(0==(7&r.length));for(let e=0;e<r.length;e+=8)i.push(r.slice(e,e+8));for(let e=0;e<i.length;e+=4)a.push(i.slice(e,e+4).join(" "));return a}t.Curve=u,t.Point=h,t.ShortCurve=l,t.ShortPoint=b,t.JPoint=p,t.MontCurve=m,t.MontPoint=g,t.XPoint=v,t.EdwardsCurve=y,t.EdwardsPoint=w,t.curves=A,t.curve=function(e,...t){j("string"==typeof e);const r=e.toUpperCase();let i=I[r];if(!i){const n=A[r];if(!n)throw new Error(`Curve not found: "${e}".`);i=new n(...t),I[r]=i}return i},t.register=function(e,t){j("string"==typeof e),j("function"==typeof t);const r=e.toUpperCase();if(A[r])throw new Error(`Curve already registered: "${e}".`);A[r]=t,I[r]=null}}).call(this,r(2).Buffer)},function(e,t,r){"use strict";
/*!
 * random.js - random for bcrypto
 * Copyright (c) 2017-2019, Christopher Jeffrey (MIT License).
 * https://github.com/bcoin-org/bcrypto
 */e.exports=r(225)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i={};let n;t.wordlists=i,t._default=n;try{t._default=n=r(245),i.czech=n}catch(e){}try{t._default=n=r(246),i.chinese_simplified=n}catch(e){}try{t._default=n=r(247),i.chinese_traditional=n}catch(e){}try{t._default=n=r(248),i.korean=n}catch(e){}try{t._default=n=r(249),i.french=n}catch(e){}try{t._default=n=r(250),i.italian=n}catch(e){}try{t._default=n=r(251),i.spanish=n}catch(e){}try{t._default=n=r(252),i.japanese=n,i.JA=n}catch(e){}try{t._default=n=r(253),i.english=n,i.EN=n}catch(e){}},function(e,t,r){"use strict";var i=r(11),n=r(257);e.exports=n((function(e){var t=i("sha256").update(e).digest();return i("sha256").update(t).digest()}))},function(e,t,r){var i=r(55);function n(e){return e.name||e.toString().match(/function (.*?)\s*\(/)[1]}function a(e){return i.Nil(e)?"":n(e.constructor)}function o(e,t){Error.captureStackTrace&&Error.captureStackTrace(e,t)}function s(e){return i.Function(e)?e.toJSON?e.toJSON():n(e):i.Array(e)?"Array":e&&i.Object(e)?"Object":void 0!==e?e:""}function f(e,t,r){var n=function(e){return i.Function(e)?"":i.String(e)?JSON.stringify(e):e&&i.Object(e)?"":e}(t);return"Expected "+s(e)+", got"+(""!==r?" "+r:"")+(""!==n?" "+n:"")}function c(e,t,r){r=r||a(t),this.message=f(e,t,r),o(this,c),this.__type=e,this.__value=t,this.__valueTypeName=r}function d(e,t,r,i,n){e?(n=n||a(i),this.message=function(e,t,r,i,n){var a='" of type ';return"key"===t&&(a='" with key type '),f('property "'+s(r)+a+s(e),i,n)}(e,r,t,i,n)):this.message='Unexpected property "'+t+'"',o(this,c),this.__label=r,this.__property=t,this.__type=e,this.__value=i,this.__valueTypeName=n}c.prototype=Object.create(Error.prototype),c.prototype.constructor=c,d.prototype=Object.create(Error.prototype),d.prototype.constructor=c,e.exports={TfTypeError:c,TfPropertyTypeError:d,tfCustomError:function(e,t){return new c(e,{},t)},tfSubError:function(e,t,r){return e instanceof d?(t=t+"."+e.__property,e=new d(e.__type,t,e.__label,e.__value,e.__valueTypeName)):e instanceof c&&(e=new d(e.__type,t,r,e.__value,e.__valueTypeName)),o(e),e},tfJSON:s,getValueTypeName:a}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_STORAGE_KEY="MNEMONIC",t.DEFAULT_ENTROPY_LENGTH=16,t.DEFAULT_ELLIPTIC_CURVE="secp256k1"},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=r(119);!function(e){for(var r in e)t.hasOwnProperty(r)||(t[r]=e[r])}(r(117)),t.MnemonicKeyring=i.MnemonicKeyring,t.default=i.MnemonicKeyring},function(e,t,r){"use strict";(function(e){var i=this&&this.__awaiter||function(e,t,r,i){return new(r||(r=Promise))((function(n,a){function o(e){try{f(i.next(e))}catch(e){a(e)}}function s(e){try{f(i.throw(e))}catch(e){a(e)}}function f(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}f((i=i.apply(e,t||[])).next())}))},n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=n(r(57)),s=r(123),f=a(r(218)),c=a(r(229)),d=a(r(242)),u=n(r(244)),h=n(r(254)),l=r(117);class b{constructor(e,t){this.mnemonic=e,this.masterKey=t,this.mnemonic=e,this.masterKey=t}static generateMnemonic(e=l.DEFAULT_ENTROPY_LENGTH){return u.entropyToMnemonic(o.arrayToBuffer(s.randomBytes(e)))}static deriveMasterKey(e){return i(this,void 0,void 0,(function*(){if(!u.validateMnemonic(e))throw new Error("Invalid mnemonic provided!");const t=yield u.mnemonicToSeed(e);return h.fromSeed(t)}))}static init(e){return i(this,void 0,void 0,(function*(){const t=e.storageKey||l.DEFAULT_STORAGE_KEY,r=e.entropyLength||l.DEFAULT_ENTROPY_LENGTH;let i;i=void 0!==e.mnemonic?e.mnemonic:e.mnemonic||(void 0!==e.storage?yield e.storage.getItem(t):void 0)||this.generateMnemonic(r),void 0!==e.storage&&(yield e.storage.setItem(t,i));const n=yield this.deriveMasterKey(i);return new b(i,n)}))}getPrivateKey(e){return this.derivePrivateKey(this.masterKey,e)}getPublicKey(e,t=l.DEFAULT_ELLIPTIC_CURVE){const r=this.derivePrivateKey(this.masterKey,e);return this.derivePublicKey(r,t)}getKeyPair(e,t=l.DEFAULT_ELLIPTIC_CURVE){const r=this.derivePrivateKey(this.masterKey,e);return{privateKey:r,publicKey:this.derivePublicKey(r,t)}}derivePrivateKey(t,r){const i=t.derivePath(r);return d.default.encode(i.privateKey||e.from([]))}derivePublicKey(e,t=l.DEFAULT_ELLIPTIC_CURVE){let r;switch(t){case"ed25519":r=f.default.publicKeyCreate(d.default.decode(e),!0);break;case"secp256k1":r=c.default.publicKeyCreate(d.default.decode(e),!0);break;default:throw new Error("Elliptic curve not supported: "+t)}return d.default.encode(r)}}t.MnemonicKeyring=b}).call(this,r(2).Buffer)},function(e,t,r){"use strict";t.byteLength=function(e){var t=c(e),r=t[0],i=t[1];return 3*(r+i)/4-i},t.toByteArray=function(e){var t,r,i=c(e),o=i[0],s=i[1],f=new a(function(e,t,r){return 3*(t+r)/4-r}(0,o,s)),d=0,u=s>0?o-4:o;for(r=0;r<u;r+=4)t=n[e.charCodeAt(r)]<<18|n[e.charCodeAt(r+1)]<<12|n[e.charCodeAt(r+2)]<<6|n[e.charCodeAt(r+3)],f[d++]=t>>16&255,f[d++]=t>>8&255,f[d++]=255&t;2===s&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,f[d++]=255&t);1===s&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,f[d++]=t>>8&255,f[d++]=255&t);return f},t.fromByteArray=function(e){for(var t,r=e.length,n=r%3,a=[],o=0,s=r-n;o<s;o+=16383)a.push(d(e,o,o+16383>s?s:o+16383));1===n?(t=e[r-1],a.push(i[t>>2]+i[t<<4&63]+"==")):2===n&&(t=(e[r-2]<<8)+e[r-1],a.push(i[t>>10]+i[t>>4&63]+i[t<<2&63]+"="));return a.join("")};for(var i=[],n=[],a="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,f=o.length;s<f;++s)i[s]=o[s],n[o.charCodeAt(s)]=s;function c(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function d(e,t,r){for(var n,a,o=[],s=t;s<r;s+=3)n=(e[s]<<16&16711680)+(e[s+1]<<8&65280)+(255&e[s+2]),o.push(i[(a=n)>>18&63]+i[a>>12&63]+i[a>>6&63]+i[63&a]);return o.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},function(e,t){
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
t.read=function(e,t,r,i,n){var a,o,s=8*n-i-1,f=(1<<s)-1,c=f>>1,d=-7,u=r?n-1:0,h=r?-1:1,l=e[t+u];for(u+=h,a=l&(1<<-d)-1,l>>=-d,d+=s;d>0;a=256*a+e[t+u],u+=h,d-=8);for(o=a&(1<<-d)-1,a>>=-d,d+=i;d>0;o=256*o+e[t+u],u+=h,d-=8);if(0===a)a=1-c;else{if(a===f)return o?NaN:1/0*(l?-1:1);o+=Math.pow(2,i),a-=c}return(l?-1:1)*o*Math.pow(2,a-i)},t.write=function(e,t,r,i,n,a){var o,s,f,c=8*a-n-1,d=(1<<c)-1,u=d>>1,h=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,l=i?0:a-1,b=i?1:-1,p=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=d):(o=Math.floor(Math.log(t)/Math.LN2),t*(f=Math.pow(2,-o))<1&&(o--,f*=2),(t+=o+u>=1?h/f:h*Math.pow(2,1-u))*f>=2&&(o++,f/=2),o+u>=d?(s=0,o=d):o+u>=1?(s=(t*f-1)*Math.pow(2,n),o+=u):(s=t*Math.pow(2,u-1)*Math.pow(2,n),o=0));n>=8;e[r+l]=255&s,l+=b,s/=256,n-=8);for(o=o<<n|s,c+=n;c>0;e[r+l]=255&o,l+=b,o/=256,c-=8);e[r+l-b]|=128*p}},function(e,t,r){(function(t){var i=r(58).strict;e.exports=function(e){if(i(e)){var r=t.from(e.buffer);return e.byteLength!==e.buffer.byteLength&&(r=r.slice(e.byteOffset,e.byteOffset+e.byteLength)),r}return t.from(e)}}).call(this,r(2).Buffer)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.randomBytes=void 0;const i=r(124);function n(e){if(!i.isValidKeyLength(e))throw new Error("randomBytes - invalid key length: "+e);let t;return t=i.isBrowser()?i.browserRandomBytes(e):i.isNode()?i.nodeRandomBytes(e):i.fallbackRandomBytes(e),t}t.randomBytes=n,t.default=n},function(e,t,r){"use strict";(function(e,i){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.isValidKeyLength=t.isNode=t.isBrowser=t.browserRandomBytes=t.getSubtleCrypto=t.getBrowerCrypto=t.assert=t.fallbackRandomBytes=t.nodeRandomBytes=void 0;const a=n(r(125)),o=n(r(10)),s=r(57);function f(e){return o.default(e)}function c(){return(null==e?void 0:e.crypto)||(null==e?void 0:e.msCrypto)||{}}function d(){const e=c();return e.subtle||e.webkitSubtle}t.nodeRandomBytes=function(e){const t=a.default.randomBytes(e);return s.bufferToArray(t)},t.fallbackRandomBytes=f,t.assert=function(e,t){if(!e)throw new Error(t||"Assertion failed")},t.getBrowerCrypto=c,t.getSubtleCrypto=d,t.browserRandomBytes=function(e){const t=c();return void 0!==t.getRandomValues?t.getRandomValues(new Uint8Array(e)):f(e)},t.isBrowser=function(){return!!c()&&!!d()},t.isNode=function(){return void 0!==i&&void 0!==i.versions&&void 0!==i.versions.node},t.isValidKeyLength=function(e){return!(e<=0||e>1024||parseInt(String(e))!==e)}}).call(this,r(5),r(3))},function(e,t,r){"use strict";t.randomBytes=t.rng=t.pseudoRandomBytes=t.prng=r(10),t.createHash=t.Hash=r(11),t.createHmac=t.Hmac=r(27);var i=r(150),n=Object.keys(i),a=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(n);t.getHashes=function(){return a};var o=r(41);t.pbkdf2=o.pbkdf2,t.pbkdf2Sync=o.pbkdf2Sync;var s=r(152);t.Cipher=s.Cipher,t.createCipher=s.createCipher,t.Cipheriv=s.Cipheriv,t.createCipheriv=s.createCipheriv,t.Decipher=s.Decipher,t.createDecipher=s.createDecipher,t.Decipheriv=s.Decipheriv,t.createDecipheriv=s.createDecipheriv,t.getCiphers=s.getCiphers,t.listCiphers=s.listCiphers;var f=r(167);t.DiffieHellmanGroup=f.DiffieHellmanGroup,t.createDiffieHellmanGroup=f.createDiffieHellmanGroup,t.getDiffieHellman=f.getDiffieHellman,t.createDiffieHellman=f.createDiffieHellman,t.DiffieHellman=f.DiffieHellman;var c=r(172);t.createSign=c.createSign,t.Sign=c.Sign,t.createVerify=c.createVerify,t.Verify=c.Verify,t.createECDH=r(213);var d=r(214);t.publicEncrypt=d.publicEncrypt,t.privateEncrypt=d.privateEncrypt,t.publicDecrypt=d.publicDecrypt,t.privateDecrypt=d.privateDecrypt;var u=r(217);t.randomFill=u.randomFill,t.randomFillSync=u.randomFillSync,t.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join("\n"))},t.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}},function(e,t,r){(t=e.exports=r(60)).Stream=t,t.Readable=t,t.Writable=r(64),t.Duplex=r(17),t.Transform=r(65),t.PassThrough=r(132),t.finished=r(35),t.pipeline=r(133)},function(e,t){},function(e,t,r){"use strict";function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}var o=r(2).Buffer,s=r(129).inspect,f=s&&s.custom||"inspect";e.exports=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.head=null,this.tail=null,this.length=0}var t,r,c;return t=e,(r=[{key:"push",value:function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r}},{key:"concat",value:function(e){if(0===this.length)return o.alloc(0);for(var t,r,i,n=o.allocUnsafe(e>>>0),a=this.head,s=0;a;)t=a.data,r=n,i=s,o.prototype.copy.call(t,r,i),s+=a.data.length,a=a.next;return n}},{key:"consume",value:function(e,t){var r;return e<this.head.data.length?(r=this.head.data.slice(0,e),this.head.data=this.head.data.slice(e)):r=e===this.head.data.length?this.shift():t?this._getString(e):this._getBuffer(e),r}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(e){var t=this.head,r=1,i=t.data;for(e-=i.length;t=t.next;){var n=t.data,a=e>n.length?n.length:e;if(a===n.length?i+=n:i+=n.slice(0,e),0==(e-=a)){a===n.length?(++r,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=n.slice(a));break}++r}return this.length-=r,i}},{key:"_getBuffer",value:function(e){var t=o.allocUnsafe(e),r=this.head,i=1;for(r.data.copy(t),e-=r.data.length;r=r.next;){var n=r.data,a=e>n.length?n.length:e;if(n.copy(t,t.length-e,0,a),0==(e-=a)){a===n.length?(++i,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=n.slice(a));break}++i}return this.length-=i,t}},{key:f,value:function(e,t){return s(this,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},t,{depth:0,customInspect:!1}))}}])&&a(t.prototype,r),c&&a(t,c),e}()},function(e,t){},function(e,t,r){"use strict";(function(t){var i;function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var a=r(35),o=Symbol("lastResolve"),s=Symbol("lastReject"),f=Symbol("error"),c=Symbol("ended"),d=Symbol("lastPromise"),u=Symbol("handlePromise"),h=Symbol("stream");function l(e,t){return{value:e,done:t}}function b(e){var t=e[o];if(null!==t){var r=e[h].read();null!==r&&(e[d]=null,e[o]=null,e[s]=null,t(l(r,!1)))}}function p(e){t.nextTick(b,e)}var m=Object.getPrototypeOf((function(){})),g=Object.setPrototypeOf((n(i={get stream(){return this[h]},next:function(){var e=this,r=this[f];if(null!==r)return Promise.reject(r);if(this[c])return Promise.resolve(l(void 0,!0));if(this[h].destroyed)return new Promise((function(r,i){t.nextTick((function(){e[f]?i(e[f]):r(l(void 0,!0))}))}));var i,n=this[d];if(n)i=new Promise(function(e,t){return function(r,i){e.then((function(){t[c]?r(l(void 0,!0)):t[u](r,i)}),i)}}(n,this));else{var a=this[h].read();if(null!==a)return Promise.resolve(l(a,!1));i=new Promise(this[u])}return this[d]=i,i}},Symbol.asyncIterator,(function(){return this})),n(i,"return",(function(){var e=this;return new Promise((function(t,r){e[h].destroy(null,(function(e){e?r(e):t(l(void 0,!0))}))}))})),i),m);e.exports=function(e){var t,r=Object.create(g,(n(t={},h,{value:e,writable:!0}),n(t,o,{value:null,writable:!0}),n(t,s,{value:null,writable:!0}),n(t,f,{value:null,writable:!0}),n(t,c,{value:e._readableState.endEmitted,writable:!0}),n(t,u,{value:function(e,t){var i=r[h].read();i?(r[d]=null,r[o]=null,r[s]=null,e(l(i,!1))):(r[o]=e,r[s]=t)},writable:!0}),t));return r[d]=null,a(e,(function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var t=r[s];return null!==t&&(r[d]=null,r[o]=null,r[s]=null,t(e)),void(r[f]=e)}var i=r[o];null!==i&&(r[d]=null,r[o]=null,r[s]=null,i(l(void 0,!0))),r[c]=!0})),e.on("readable",p.bind(null,r)),r}}).call(this,r(3))},function(e,t){e.exports=function(){throw new Error("Readable.from is not available in the browser")}},function(e,t,r){"use strict";e.exports=n;var i=r(65);function n(e){if(!(this instanceof n))return new n(e);i.call(this,e)}r(0)(n,i),n.prototype._transform=function(e,t,r){r(null,e)}},function(e,t,r){"use strict";var i;var n=r(16).codes,a=n.ERR_MISSING_ARGS,o=n.ERR_STREAM_DESTROYED;function s(e){if(e)throw e}function f(e,t,n,a){a=function(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}(a);var s=!1;e.on("close",(function(){s=!0})),void 0===i&&(i=r(35)),i(e,{readable:t,writable:n},(function(e){if(e)return a(e);s=!0,a()}));var f=!1;return function(t){if(!s&&!f)return f=!0,function(e){return e.setHeader&&"function"==typeof e.abort}(e)?e.abort():"function"==typeof e.destroy?e.destroy():void a(t||new o("pipe"))}}function c(e){e()}function d(e,t){return e.pipe(t)}function u(e){return e.length?"function"!=typeof e[e.length-1]?s:e.pop():s}e.exports=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var i,n=u(t);if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new a("streams");var o=t.map((function(e,r){var a=r<t.length-1;return f(e,a,r>0,(function(e){i||(i=e),e&&o.forEach(c),a||(o.forEach(c),n(i))}))}));return t.reduce(d)}},function(e,t,r){var i=r(0),n=r(18),a=r(1).Buffer,o=[1518500249,1859775393,-1894007588,-899497514],s=new Array(80);function f(){this.init(),this._w=s,n.call(this,64,56)}function c(e){return e<<30|e>>>2}function d(e,t,r,i){return 0===e?t&r|~t&i:2===e?t&r|t&i|r&i:t^r^i}i(f,n),f.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},f.prototype._update=function(e){for(var t,r=this._w,i=0|this._a,n=0|this._b,a=0|this._c,s=0|this._d,f=0|this._e,u=0;u<16;++u)r[u]=e.readInt32BE(4*u);for(;u<80;++u)r[u]=r[u-3]^r[u-8]^r[u-14]^r[u-16];for(var h=0;h<80;++h){var l=~~(h/20),b=0|((t=i)<<5|t>>>27)+d(l,n,a,s)+f+r[h]+o[l];f=s,s=a,a=c(n),n=i,i=b}this._a=i+this._a|0,this._b=n+this._b|0,this._c=a+this._c|0,this._d=s+this._d|0,this._e=f+this._e|0},f.prototype._hash=function(){var e=a.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=f},function(e,t,r){var i=r(0),n=r(18),a=r(1).Buffer,o=[1518500249,1859775393,-1894007588,-899497514],s=new Array(80);function f(){this.init(),this._w=s,n.call(this,64,56)}function c(e){return e<<5|e>>>27}function d(e){return e<<30|e>>>2}function u(e,t,r,i){return 0===e?t&r|~t&i:2===e?t&r|t&i|r&i:t^r^i}i(f,n),f.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},f.prototype._update=function(e){for(var t,r=this._w,i=0|this._a,n=0|this._b,a=0|this._c,s=0|this._d,f=0|this._e,h=0;h<16;++h)r[h]=e.readInt32BE(4*h);for(;h<80;++h)r[h]=(t=r[h-3]^r[h-8]^r[h-14]^r[h-16])<<1|t>>>31;for(var l=0;l<80;++l){var b=~~(l/20),p=c(i)+u(b,n,a,s)+f+r[l]+o[b]|0;f=s,s=a,a=d(n),n=i,i=p}this._a=i+this._a|0,this._b=n+this._b|0,this._c=a+this._c|0,this._d=s+this._d|0,this._e=f+this._e|0},f.prototype._hash=function(){var e=a.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=f},function(e,t,r){var i=r(0),n=r(66),a=r(18),o=r(1).Buffer,s=new Array(64);function f(){this.init(),this._w=s,a.call(this,64,56)}i(f,n),f.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},f.prototype._hash=function(){var e=o.allocUnsafe(28);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e},e.exports=f},function(e,t,r){var i=r(0),n=r(67),a=r(18),o=r(1).Buffer,s=new Array(160);function f(){this.init(),this._w=s,a.call(this,128,112)}i(f,n),f.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},f.prototype._hash=function(){var e=o.allocUnsafe(48);function t(t,r,i){e.writeInt32BE(t,i),e.writeInt32BE(r,i+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),e},e.exports=f},function(e,t,r){e.exports=n;var i=r(13).EventEmitter;function n(){i.call(this)}r(0)(n,i),n.Readable=r(38),n.Writable=r(145),n.Duplex=r(146),n.Transform=r(147),n.PassThrough=r(148),n.Stream=n,n.prototype.pipe=function(e,t){var r=this;function n(t){e.writable&&!1===e.write(t)&&r.pause&&r.pause()}function a(){r.readable&&r.resume&&r.resume()}r.on("data",n),e.on("drain",a),e._isStdio||t&&!1===t.end||(r.on("end",s),r.on("close",f));var o=!1;function s(){o||(o=!0,e.end())}function f(){o||(o=!0,"function"==typeof e.destroy&&e.destroy())}function c(e){if(d(),0===i.listenerCount(this,"error"))throw e}function d(){r.removeListener("data",n),e.removeListener("drain",a),r.removeListener("end",s),r.removeListener("close",f),r.removeListener("error",c),e.removeListener("error",c),r.removeListener("end",d),r.removeListener("close",d),e.removeListener("close",d)}return r.on("error",c),e.on("error",c),r.on("end",d),r.on("close",d),e.on("close",d),e.emit("pipe",r),e}},function(e,t){},function(e,t,r){"use strict";var i=r(39).Buffer,n=r(141);e.exports=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.head=null,this.tail=null,this.length=0}return e.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r},e.prototype.concat=function(e){if(0===this.length)return i.alloc(0);if(1===this.length)return this.head.data;for(var t,r,n,a=i.allocUnsafe(e>>>0),o=this.head,s=0;o;)t=o.data,r=a,n=s,t.copy(r,n),s+=o.data.length,o=o.next;return a},e}(),n&&n.inspect&&n.inspect.custom&&(e.exports.prototype[n.inspect.custom]=function(){var e=n.inspect({length:this.length});return this.constructor.name+" "+e})},function(e,t){},function(e,t,r){(function(e){var i=void 0!==e&&e||"undefined"!=typeof self&&self||window,n=Function.prototype.apply;function a(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new a(n.call(setTimeout,i,arguments),clearTimeout)},t.setInterval=function(){return new a(n.call(setInterval,i,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},a.prototype.unref=a.prototype.ref=function(){},a.prototype.close=function(){this._clearFn.call(i,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},r(143),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,r(5))},function(e,t,r){(function(e,t){!function(e,r){"use strict";if(!e.setImmediate){var i,n,a,o,s,f=1,c={},d=!1,u=e.document,h=Object.getPrototypeOf&&Object.getPrototypeOf(e);h=h&&h.setTimeout?h:e,"[object process]"==={}.toString.call(e.process)?i=function(e){t.nextTick((function(){b(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,r=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=r,t}}()?e.MessageChannel?((a=new MessageChannel).port1.onmessage=function(e){b(e.data)},i=function(e){a.port2.postMessage(e)}):u&&"onreadystatechange"in u.createElement("script")?(n=u.documentElement,i=function(e){var t=u.createElement("script");t.onreadystatechange=function(){b(e),t.onreadystatechange=null,n.removeChild(t),t=null},n.appendChild(t)}):i=function(e){setTimeout(b,0,e)}:(o="setImmediate$"+Math.random()+"$",s=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(o)&&b(+t.data.slice(o.length))},e.addEventListener?e.addEventListener("message",s,!1):e.attachEvent("onmessage",s),i=function(t){e.postMessage(o+t,"*")}),h.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),r=0;r<t.length;r++)t[r]=arguments[r+1];var n={callback:e,args:t};return c[f]=n,i(f),f++},h.clearImmediate=l}function l(e){delete c[e]}function b(e){if(d)setTimeout(b,0,e);else{var t=c[e];if(t){d=!0;try{!function(e){var t=e.callback,r=e.args;switch(r.length){case 0:t();break;case 1:t(r[0]);break;case 2:t(r[0],r[1]);break;case 3:t(r[0],r[1],r[2]);break;default:t.apply(void 0,r)}}(t)}finally{l(e),d=!1}}}}}("undefined"==typeof self?void 0===e?this:e:self)}).call(this,r(5),r(3))},function(e,t,r){"use strict";e.exports=a;var i=r(71),n=Object.create(r(22));function a(e){if(!(this instanceof a))return new a(e);i.call(this,e)}n.inherits=r(0),n.inherits(a,i),a.prototype._transform=function(e,t,r){r(null,e)}},function(e,t,r){e.exports=r(40)},function(e,t,r){e.exports=r(15)},function(e,t,r){e.exports=r(38).Transform},function(e,t,r){e.exports=r(38).PassThrough},function(e,t,r){"use strict";var i=r(0),n=r(1).Buffer,a=r(12),o=n.alloc(128);function s(e,t){a.call(this,"digest"),"string"==typeof t&&(t=n.from(t)),this._alg=e,this._key=t,t.length>64?t=e(t):t.length<64&&(t=n.concat([t,o],64));for(var r=this._ipad=n.allocUnsafe(64),i=this._opad=n.allocUnsafe(64),s=0;s<64;s++)r[s]=54^t[s],i[s]=92^t[s];this._hash=[r]}i(s,a),s.prototype._update=function(e){this._hash.push(e)},s.prototype._final=function(){var e=this._alg(n.concat(this._hash));return this._alg(n.concat([this._opad,e]))},e.exports=s},function(e,t,r){e.exports=r(73)},function(e,t,r){(function(t,i){var n,a=r(1).Buffer,o=r(74),s=r(75),f=r(76),c=r(77),d=t.crypto&&t.crypto.subtle,u={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"},h=[];function l(e,t,r,i,n){return d.importKey("raw",e,{name:"PBKDF2"},!1,["deriveBits"]).then((function(e){return d.deriveBits({name:"PBKDF2",salt:t,iterations:r,hash:{name:n}},e,i<<3)})).then((function(e){return a.from(e)}))}e.exports=function(e,r,b,p,m,g){"function"==typeof m&&(g=m,m=void 0);var v=u[(m=m||"sha1").toLowerCase()];if(!v||"function"!=typeof t.Promise)return i.nextTick((function(){var t;try{t=f(e,r,b,p,m)}catch(e){return g(e)}g(null,t)}));if(o(b,p),e=c(e,s,"Password"),r=c(r,s,"Salt"),"function"!=typeof g)throw new Error("No callback provided to pbkdf2");!function(e,t){e.then((function(e){i.nextTick((function(){t(null,e)}))}),(function(e){i.nextTick((function(){t(e)}))}))}(function(e){if(t.process&&!t.process.browser)return Promise.resolve(!1);if(!d||!d.importKey||!d.deriveBits)return Promise.resolve(!1);if(void 0!==h[e])return h[e];var r=l(n=n||a.alloc(8),n,10,128,e).then((function(){return!0})).catch((function(){return!1}));return h[e]=r,r}(v).then((function(t){return t?l(e,r,b,p,v):f(e,r,b,p,m)})),g)}}).call(this,r(5),r(3))},function(e,t,r){var i=r(153),n=r(43),a=r(44),o=r(166),s=r(29);function f(e,t,r){if(e=e.toLowerCase(),a[e])return n.createCipheriv(e,t,r);if(o[e])return new i({key:t,iv:r,mode:e});throw new TypeError("invalid suite type")}function c(e,t,r){if(e=e.toLowerCase(),a[e])return n.createDecipheriv(e,t,r);if(o[e])return new i({key:t,iv:r,mode:e,decrypt:!0});throw new TypeError("invalid suite type")}t.createCipher=t.Cipher=function(e,t){var r,i;if(e=e.toLowerCase(),a[e])r=a[e].key,i=a[e].iv;else{if(!o[e])throw new TypeError("invalid suite type");r=8*o[e].key,i=o[e].iv}var n=s(t,!1,r,i);return f(e,n.key,n.iv)},t.createCipheriv=t.Cipheriv=f,t.createDecipher=t.Decipher=function(e,t){var r,i;if(e=e.toLowerCase(),a[e])r=a[e].key,i=a[e].iv;else{if(!o[e])throw new TypeError("invalid suite type");r=8*o[e].key,i=o[e].iv}var n=s(t,!1,r,i);return c(e,n.key,n.iv)},t.createDecipheriv=t.Decipheriv=c,t.listCiphers=t.getCiphers=function(){return Object.keys(o).concat(n.getCiphers())}},function(e,t,r){var i=r(12),n=r(154),a=r(0),o=r(1).Buffer,s={"des-ede3-cbc":n.CBC.instantiate(n.EDE),"des-ede3":n.EDE,"des-ede-cbc":n.CBC.instantiate(n.EDE),"des-ede":n.EDE,"des-cbc":n.CBC.instantiate(n.DES),"des-ecb":n.DES};function f(e){i.call(this);var t,r=e.mode.toLowerCase(),n=s[r];t=e.decrypt?"decrypt":"encrypt";var a=e.key;o.isBuffer(a)||(a=o.from(a)),"des-ede"!==r&&"des-ede-cbc"!==r||(a=o.concat([a,a.slice(0,8)]));var f=e.iv;o.isBuffer(f)||(f=o.from(f)),this._des=n.create({key:a,iv:f,type:t})}s.des=s["des-cbc"],s.des3=s["des-ede3-cbc"],e.exports=f,a(f,i),f.prototype._update=function(e){return o.from(this._des.update(e))},f.prototype._final=function(){return o.from(this._des.final())}},function(e,t,r){"use strict";t.utils=r(78),t.Cipher=r(42),t.DES=r(79),t.CBC=r(155),t.EDE=r(156)},function(e,t,r){"use strict";var i=r(6),n=r(0),a={};function o(e){i.equal(e.length,8,"Invalid IV length"),this.iv=new Array(8);for(var t=0;t<this.iv.length;t++)this.iv[t]=e[t]}t.instantiate=function(e){function t(t){e.call(this,t),this._cbcInit()}n(t,e);for(var r=Object.keys(a),i=0;i<r.length;i++){var o=r[i];t.prototype[o]=a[o]}return t.create=function(e){return new t(e)},t},a._cbcInit=function(){var e=new o(this.options.iv);this._cbcState=e},a._update=function(e,t,r,i){var n=this._cbcState,a=this.constructor.super_.prototype,o=n.iv;if("encrypt"===this.type){for(var s=0;s<this.blockSize;s++)o[s]^=e[t+s];a._update.call(this,o,0,r,i);for(s=0;s<this.blockSize;s++)o[s]=r[i+s]}else{a._update.call(this,e,t,r,i);for(s=0;s<this.blockSize;s++)r[i+s]^=o[s];for(s=0;s<this.blockSize;s++)o[s]=e[t+s]}}},function(e,t,r){"use strict";var i=r(6),n=r(0),a=r(42),o=r(79);function s(e,t){i.equal(t.length,24,"Invalid key length");var r=t.slice(0,8),n=t.slice(8,16),a=t.slice(16,24);this.ciphers="encrypt"===e?[o.create({type:"encrypt",key:r}),o.create({type:"decrypt",key:n}),o.create({type:"encrypt",key:a})]:[o.create({type:"decrypt",key:a}),o.create({type:"encrypt",key:n}),o.create({type:"decrypt",key:r})]}function f(e){a.call(this,e);var t=new s(this.type,this.options.key);this._edeState=t}n(f,a),e.exports=f,f.create=function(e){return new f(e)},f.prototype._update=function(e,t,r,i){var n=this._edeState;n.ciphers[0]._update(e,t,r,i),n.ciphers[1]._update(r,i,r,i),n.ciphers[2]._update(r,i,r,i)},f.prototype._pad=o.prototype._pad,f.prototype._unpad=o.prototype._unpad},function(e,t,r){var i=r(44),n=r(83),a=r(1).Buffer,o=r(84),s=r(12),f=r(28),c=r(29);function d(e,t,r){s.call(this),this._cache=new h,this._cipher=new f.AES(t),this._prev=a.from(r),this._mode=e,this._autopadding=!0}r(0)(d,s),d.prototype._update=function(e){var t,r;this._cache.add(e);for(var i=[];t=this._cache.get();)r=this._mode.encrypt(this,t),i.push(r);return a.concat(i)};var u=a.alloc(16,16);function h(){this.cache=a.allocUnsafe(0)}function l(e,t,r){var s=i[e.toLowerCase()];if(!s)throw new TypeError("invalid suite type");if("string"==typeof t&&(t=a.from(t)),t.length!==s.key/8)throw new TypeError("invalid key length "+t.length);if("string"==typeof r&&(r=a.from(r)),"GCM"!==s.mode&&r.length!==s.iv)throw new TypeError("invalid iv length "+r.length);return"stream"===s.type?new o(s.module,t,r):"auth"===s.type?new n(s.module,t,r):new d(s.module,t,r)}d.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return e=this._mode.encrypt(this,e),this._cipher.scrub(),e;if(!e.equals(u))throw this._cipher.scrub(),new Error("data not multiple of block length")},d.prototype.setAutoPadding=function(e){return this._autopadding=!!e,this},h.prototype.add=function(e){this.cache=a.concat([this.cache,e])},h.prototype.get=function(){if(this.cache.length>15){var e=this.cache.slice(0,16);return this.cache=this.cache.slice(16),e}return null},h.prototype.flush=function(){for(var e=16-this.cache.length,t=a.allocUnsafe(e),r=-1;++r<e;)t.writeUInt8(e,r);return a.concat([this.cache,t])},t.createCipheriv=l,t.createCipher=function(e,t){var r=i[e.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var n=c(t,!1,r.key,r.iv);return l(e,n.key,n.iv)}},function(e,t){t.encrypt=function(e,t){return e._cipher.encryptBlock(t)},t.decrypt=function(e,t){return e._cipher.decryptBlock(t)}},function(e,t,r){var i=r(23);t.encrypt=function(e,t){var r=i(t,e._prev);return e._prev=e._cipher.encryptBlock(r),e._prev},t.decrypt=function(e,t){var r=e._prev;e._prev=t;var n=e._cipher.decryptBlock(t);return i(n,r)}},function(e,t,r){var i=r(1).Buffer,n=r(23);function a(e,t,r){var a=t.length,o=n(t,e._cache);return e._cache=e._cache.slice(a),e._prev=i.concat([e._prev,r?t:o]),o}t.encrypt=function(e,t,r){for(var n,o=i.allocUnsafe(0);t.length;){if(0===e._cache.length&&(e._cache=e._cipher.encryptBlock(e._prev),e._prev=i.allocUnsafe(0)),!(e._cache.length<=t.length)){o=i.concat([o,a(e,t,r)]);break}n=e._cache.length,o=i.concat([o,a(e,t.slice(0,n),r)]),t=t.slice(n)}return o}},function(e,t,r){var i=r(1).Buffer;function n(e,t,r){var n=e._cipher.encryptBlock(e._prev)[0]^t;return e._prev=i.concat([e._prev.slice(1),i.from([r?t:n])]),n}t.encrypt=function(e,t,r){for(var a=t.length,o=i.allocUnsafe(a),s=-1;++s<a;)o[s]=n(e,t[s],r);return o}},function(e,t,r){var i=r(1).Buffer;function n(e,t,r){for(var i,n,o=-1,s=0;++o<8;)i=t&1<<7-o?128:0,s+=(128&(n=e._cipher.encryptBlock(e._prev)[0]^i))>>o%8,e._prev=a(e._prev,r?i:n);return s}function a(e,t){var r=e.length,n=-1,a=i.allocUnsafe(e.length);for(e=i.concat([e,i.from([t])]);++n<r;)a[n]=e[n]<<1|e[n+1]>>7;return a}t.encrypt=function(e,t,r){for(var a=t.length,o=i.allocUnsafe(a),s=-1;++s<a;)o[s]=n(e,t[s],r);return o}},function(e,t,r){(function(e){var i=r(23);function n(e){return e._prev=e._cipher.encryptBlock(e._prev),e._prev}t.encrypt=function(t,r){for(;t._cache.length<r.length;)t._cache=e.concat([t._cache,n(t)]);var a=t._cache.slice(0,r.length);return t._cache=t._cache.slice(r.length),i(r,a)}}).call(this,r(2).Buffer)},function(e,t,r){var i=r(1).Buffer,n=i.alloc(16,0);function a(e){var t=i.allocUnsafe(16);return t.writeUInt32BE(e[0]>>>0,0),t.writeUInt32BE(e[1]>>>0,4),t.writeUInt32BE(e[2]>>>0,8),t.writeUInt32BE(e[3]>>>0,12),t}function o(e){this.h=e,this.state=i.alloc(16,0),this.cache=i.allocUnsafe(0)}o.prototype.ghash=function(e){for(var t=-1;++t<e.length;)this.state[t]^=e[t];this._multiply()},o.prototype._multiply=function(){for(var e,t,r,i=[(e=this.h).readUInt32BE(0),e.readUInt32BE(4),e.readUInt32BE(8),e.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]),t=3;t>0;t--)i[t]=i[t]>>>1|(1&i[t-1])<<31;i[0]=i[0]>>>1,r&&(i[0]=i[0]^225<<24)}this.state=a(n)},o.prototype.update=function(e){var t;for(this.cache=i.concat([this.cache,e]);this.cache.length>=16;)t=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(t)},o.prototype.final=function(e,t){return this.cache.length&&this.ghash(i.concat([this.cache,n],16)),this.ghash(a([0,e,0,t])),this.state},e.exports=o},function(e,t,r){var i=r(83),n=r(1).Buffer,a=r(44),o=r(84),s=r(12),f=r(28),c=r(29);function d(e,t,r){s.call(this),this._cache=new u,this._last=void 0,this._cipher=new f.AES(t),this._prev=n.from(r),this._mode=e,this._autopadding=!0}function u(){this.cache=n.allocUnsafe(0)}function h(e,t,r){var s=a[e.toLowerCase()];if(!s)throw new TypeError("invalid suite type");if("string"==typeof r&&(r=n.from(r)),"GCM"!==s.mode&&r.length!==s.iv)throw new TypeError("invalid iv length "+r.length);if("string"==typeof t&&(t=n.from(t)),t.length!==s.key/8)throw new TypeError("invalid key length "+t.length);return"stream"===s.type?new o(s.module,t,r,!0):"auth"===s.type?new i(s.module,t,r,!0):new d(s.module,t,r)}r(0)(d,s),d.prototype._update=function(e){var t,r;this._cache.add(e);for(var i=[];t=this._cache.get(this._autopadding);)r=this._mode.decrypt(this,t),i.push(r);return n.concat(i)},d.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return function(e){var t=e[15];if(t<1||t>16)throw new Error("unable to decrypt data");var r=-1;for(;++r<t;)if(e[r+(16-t)]!==t)throw new Error("unable to decrypt data");if(16===t)return;return e.slice(0,16-t)}(this._mode.decrypt(this,e));if(e)throw new Error("data not multiple of block length")},d.prototype.setAutoPadding=function(e){return this._autopadding=!!e,this},u.prototype.add=function(e){this.cache=n.concat([this.cache,e])},u.prototype.get=function(e){var t;if(e){if(this.cache.length>16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t}else if(this.cache.length>=16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t;return null},u.prototype.flush=function(){if(this.cache.length)return this.cache},t.createDecipher=function(e,t){var r=a[e.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var i=c(t,!1,r.key,r.iv);return h(e,i.key,i.iv)},t.createDecipheriv=h},function(e,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}},function(e,t,r){(function(e){var i=r(85),n=r(170),a=r(171);var o={binary:!0,hex:!0,base64:!0};t.DiffieHellmanGroup=t.createDiffieHellmanGroup=t.getDiffieHellman=function(t){var r=new e(n[t].prime,"hex"),i=new e(n[t].gen,"hex");return new a(r,i)},t.createDiffieHellman=t.DiffieHellman=function t(r,n,s,f){return e.isBuffer(n)||void 0===o[n]?t(r,"binary",n,s):(n=n||"binary",f=f||"binary",s=s||new e([2]),e.isBuffer(s)||(s=new e(s,f)),"number"==typeof r?new a(i(r,s),s,!0):(e.isBuffer(r)||(r=new e(r,n)),new a(r,s,!0)))}}).call(this,r(2).Buffer)},function(e,t){},function(e,t){},function(e){e.exports=JSON.parse('{"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"}}')},function(e,t,r){(function(t){var i=r(4),n=new(r(86)),a=new i(24),o=new i(11),s=new i(10),f=new i(3),c=new i(7),d=r(85),u=r(10);function h(e,r){return r=r||"utf8",t.isBuffer(e)||(e=new t(e,r)),this._pub=new i(e),this}function l(e,r){return r=r||"utf8",t.isBuffer(e)||(e=new t(e,r)),this._priv=new i(e),this}e.exports=p;var b={};function p(e,t,r){this.setGenerator(t),this.__prime=new i(e),this._prime=i.mont(this.__prime),this._primeLen=e.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,r?(this.setPublicKey=h,this.setPrivateKey=l):this._primeCode=8}function m(e,r){var i=new t(e.toArray());return r?i.toString(r):i}Object.defineProperty(p.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=function(e,t){var r=t.toString("hex"),i=[r,e.toString(16)].join("_");if(i in b)return b[i];var u,h=0;if(e.isEven()||!d.simpleSieve||!d.fermatTest(e)||!n.test(e))return h+=1,h+="02"===r||"05"===r?8:4,b[i]=h,h;switch(n.test(e.shrn(1))||(h+=2),r){case"02":e.mod(a).cmp(o)&&(h+=8);break;case"05":(u=e.mod(s)).cmp(f)&&u.cmp(c)&&(h+=8);break;default:h+=4}return b[i]=h,h}(this.__prime,this.__gen)),this._primeCode}}),p.prototype.generateKeys=function(){return this._priv||(this._priv=new i(u(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},p.prototype.computeSecret=function(e){var r=(e=(e=new i(e)).toRed(this._prime)).redPow(this._priv).fromRed(),n=new t(r.toArray()),a=this.getPrime();if(n.length<a.length){var o=new t(a.length-n.length);o.fill(0),n=t.concat([o,n])}return n},p.prototype.getPublicKey=function(e){return m(this._pub,e)},p.prototype.getPrivateKey=function(e){return m(this._priv,e)},p.prototype.getPrime=function(e){return m(this.__prime,e)},p.prototype.getGenerator=function(e){return m(this._gen,e)},p.prototype.setGenerator=function(e,r){return r=r||"utf8",t.isBuffer(e)||(e=new t(e,r)),this.__gen=e,this._gen=new i(e),this}}).call(this,r(2).Buffer)},function(e,t,r){var i=r(1).Buffer,n=r(11),a=r(173),o=r(0),s=r(181),f=r(212),c=r(73);function d(e){a.Writable.call(this);var t=c[e];if(!t)throw new Error("Unknown message digest");this._hashType=t.hash,this._hash=n(t.hash),this._tag=t.id,this._signType=t.sign}function u(e){a.Writable.call(this);var t=c[e];if(!t)throw new Error("Unknown message digest");this._hash=n(t.hash),this._tag=t.id,this._signType=t.sign}function h(e){return new d(e)}function l(e){return new u(e)}Object.keys(c).forEach((function(e){c[e].id=i.from(c[e].id,"hex"),c[e.toLowerCase()]=c[e]})),o(d,a.Writable),d.prototype._write=function(e,t,r){this._hash.update(e),r()},d.prototype.update=function(e,t){return"string"==typeof e&&(e=i.from(e,t)),this._hash.update(e),this},d.prototype.sign=function(e,t){this.end();var r=this._hash.digest(),i=s(r,e,this._hashType,this._signType,this._tag);return t?i.toString(t):i},o(u,a.Writable),u.prototype._write=function(e,t,r){this._hash.update(e),r()},u.prototype.update=function(e,t){return"string"==typeof e&&(e=i.from(e,t)),this._hash.update(e),this},u.prototype.verify=function(e,t,r){"string"==typeof t&&(t=i.from(t,r)),this.end();var n=this._hash.digest();return f(t,n,e,this._signType,this._tag)},e.exports={Sign:h,Verify:l,createSign:h,createVerify:l}},function(e,t,r){(t=e.exports=r(87)).Stream=t,t.Readable=t,t.Writable=r(91),t.Duplex=r(20),t.Transform=r(92),t.PassThrough=r(179),t.finished=r(47),t.pipeline=r(180)},function(e,t){},function(e,t,r){"use strict";function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}var o=r(2).Buffer,s=r(176).inspect,f=s&&s.custom||"inspect";e.exports=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.head=null,this.tail=null,this.length=0}var t,r,c;return t=e,(r=[{key:"push",value:function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r}},{key:"concat",value:function(e){if(0===this.length)return o.alloc(0);for(var t,r,i,n=o.allocUnsafe(e>>>0),a=this.head,s=0;a;)t=a.data,r=n,i=s,o.prototype.copy.call(t,r,i),s+=a.data.length,a=a.next;return n}},{key:"consume",value:function(e,t){var r;return e<this.head.data.length?(r=this.head.data.slice(0,e),this.head.data=this.head.data.slice(e)):r=e===this.head.data.length?this.shift():t?this._getString(e):this._getBuffer(e),r}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(e){var t=this.head,r=1,i=t.data;for(e-=i.length;t=t.next;){var n=t.data,a=e>n.length?n.length:e;if(a===n.length?i+=n:i+=n.slice(0,e),0==(e-=a)){a===n.length?(++r,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=n.slice(a));break}++r}return this.length-=r,i}},{key:"_getBuffer",value:function(e){var t=o.allocUnsafe(e),r=this.head,i=1;for(r.data.copy(t),e-=r.data.length;r=r.next;){var n=r.data,a=e>n.length?n.length:e;if(n.copy(t,t.length-e,0,a),0==(e-=a)){a===n.length?(++i,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=n.slice(a));break}++i}return this.length-=i,t}},{key:f,value:function(e,t){return s(this,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},t,{depth:0,customInspect:!1}))}}])&&a(t.prototype,r),c&&a(t,c),e}()},function(e,t){},function(e,t,r){"use strict";(function(t){var i;function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var a=r(47),o=Symbol("lastResolve"),s=Symbol("lastReject"),f=Symbol("error"),c=Symbol("ended"),d=Symbol("lastPromise"),u=Symbol("handlePromise"),h=Symbol("stream");function l(e,t){return{value:e,done:t}}function b(e){var t=e[o];if(null!==t){var r=e[h].read();null!==r&&(e[d]=null,e[o]=null,e[s]=null,t(l(r,!1)))}}function p(e){t.nextTick(b,e)}var m=Object.getPrototypeOf((function(){})),g=Object.setPrototypeOf((n(i={get stream(){return this[h]},next:function(){var e=this,r=this[f];if(null!==r)return Promise.reject(r);if(this[c])return Promise.resolve(l(void 0,!0));if(this[h].destroyed)return new Promise((function(r,i){t.nextTick((function(){e[f]?i(e[f]):r(l(void 0,!0))}))}));var i,n=this[d];if(n)i=new Promise(function(e,t){return function(r,i){e.then((function(){t[c]?r(l(void 0,!0)):t[u](r,i)}),i)}}(n,this));else{var a=this[h].read();if(null!==a)return Promise.resolve(l(a,!1));i=new Promise(this[u])}return this[d]=i,i}},Symbol.asyncIterator,(function(){return this})),n(i,"return",(function(){var e=this;return new Promise((function(t,r){e[h].destroy(null,(function(e){e?r(e):t(l(void 0,!0))}))}))})),i),m);e.exports=function(e){var t,r=Object.create(g,(n(t={},h,{value:e,writable:!0}),n(t,o,{value:null,writable:!0}),n(t,s,{value:null,writable:!0}),n(t,f,{value:null,writable:!0}),n(t,c,{value:e._readableState.endEmitted,writable:!0}),n(t,u,{value:function(e,t){var i=r[h].read();i?(r[d]=null,r[o]=null,r[s]=null,e(l(i,!1))):(r[o]=e,r[s]=t)},writable:!0}),t));return r[d]=null,a(e,(function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var t=r[s];return null!==t&&(r[d]=null,r[o]=null,r[s]=null,t(e)),void(r[f]=e)}var i=r[o];null!==i&&(r[d]=null,r[o]=null,r[s]=null,i(l(void 0,!0))),r[c]=!0})),e.on("readable",p.bind(null,r)),r}}).call(this,r(3))},function(e,t){e.exports=function(){throw new Error("Readable.from is not available in the browser")}},function(e,t,r){"use strict";e.exports=n;var i=r(92);function n(e){if(!(this instanceof n))return new n(e);i.call(this,e)}r(0)(n,i),n.prototype._transform=function(e,t,r){r(null,e)}},function(e,t,r){"use strict";var i;var n=r(19).codes,a=n.ERR_MISSING_ARGS,o=n.ERR_STREAM_DESTROYED;function s(e){if(e)throw e}function f(e,t,n,a){a=function(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}(a);var s=!1;e.on("close",(function(){s=!0})),void 0===i&&(i=r(47)),i(e,{readable:t,writable:n},(function(e){if(e)return a(e);s=!0,a()}));var f=!1;return function(t){if(!s&&!f)return f=!0,function(e){return e.setHeader&&"function"==typeof e.abort}(e)?e.abort():"function"==typeof e.destroy?e.destroy():void a(t||new o("pipe"))}}function c(e){e()}function d(e,t){return e.pipe(t)}function u(e){return e.length?"function"!=typeof e[e.length-1]?s:e.pop():s}e.exports=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var i,n=u(t);if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new a("streams");var o=t.map((function(e,r){var a=r<t.length-1;return f(e,a,r>0,(function(e){i||(i=e),e&&o.forEach(c),a||(o.forEach(c),n(i))}))}));return t.reduce(d)}},function(e,t,r){var i=r(1).Buffer,n=r(27),a=r(48),o=r(30).ec,s=r(98),f=r(32),c=r(104);function d(e,t,r,a){if((e=i.from(e.toArray())).length<t.byteLength()){var o=i.alloc(t.byteLength()-e.length);e=i.concat([o,e])}var s=r.length,f=function(e,t){e=(e=u(e,t)).mod(t);var r=i.from(e.toArray());if(r.length<t.byteLength()){var n=i.alloc(t.byteLength()-r.length);r=i.concat([n,r])}return r}(r,t),c=i.alloc(s);c.fill(1);var d=i.alloc(s);return d=n(a,d).update(c).update(i.from([0])).update(e).update(f).digest(),c=n(a,d).update(c).digest(),{k:d=n(a,d).update(c).update(i.from([1])).update(e).update(f).digest(),v:c=n(a,d).update(c).digest()}}function u(e,t){var r=new s(e),i=(e.length<<3)-t.bitLength();return i>0&&r.ishrn(i),r}function h(e,t,r){var a,o;do{for(a=i.alloc(0);8*a.length<e.bitLength();)t.v=n(r,t.k).update(t.v).digest(),a=i.concat([a,t.v]);o=u(a,e),t.k=n(r,t.k).update(t.v).update(i.from([0])).digest(),t.v=n(r,t.k).update(t.v).digest()}while(-1!==o.cmp(e));return o}function l(e,t,r,i){return e.toRed(s.mont(r)).redPow(t).fromRed().mod(i)}e.exports=function(e,t,r,n,b){var p=f(t);if(p.curve){if("ecdsa"!==n&&"ecdsa/rsa"!==n)throw new Error("wrong private key type");return function(e,t){var r=c[t.curve.join(".")];if(!r)throw new Error("unknown curve "+t.curve.join("."));var n=new o(r).keyFromPrivate(t.privateKey).sign(e);return i.from(n.toDER())}(e,p)}if("dsa"===p.type){if("dsa"!==n)throw new Error("wrong private key type");return function(e,t,r){var n,a=t.params.priv_key,o=t.params.p,f=t.params.q,c=t.params.g,b=new s(0),p=u(e,f).mod(f),m=!1,g=d(a,f,e,r);for(;!1===m;)n=h(f,g,r),b=l(c,n,o,f),0===(m=n.invm(f).imul(p.add(a.mul(b))).mod(f)).cmpn(0)&&(m=!1,b=new s(0));return function(e,t){e=e.toArray(),t=t.toArray(),128&e[0]&&(e=[0].concat(e));128&t[0]&&(t=[0].concat(t));var r=[48,e.length+t.length+4,2,e.length];return r=r.concat(e,[2,t.length],t),i.from(r)}(b,m)}(e,p,r)}if("rsa"!==n&&"ecdsa/rsa"!==n)throw new Error("wrong private key type");e=i.concat([b,e]);for(var m=p.modulus.byteLength(),g=[0,1];e.length+g.length+1<m;)g.push(255);g.push(0);for(var v=-1;++v<e.length;)g.push(e[v]);return a(g,p)},e.exports.getKey=d,e.exports.makeKey=h},function(e,t,r){(function(e){!function(e,t){"use strict";function i(e,t){if(!e)throw new Error(t||"Assertion failed")}function n(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function a(e,t,r){if(a.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==t&&"be"!==t||(r=t,t=10),this._init(e||0,t||10,r||"be"))}var o;"object"==typeof e?e.exports=a:t.BN=a,a.BN=a,a.wordSize=26;try{o=r(183).Buffer}catch(e){}function s(e,t,r){for(var n=0,a=Math.min(e.length,r),o=0,s=t;s<a;s++){var f,c=e.charCodeAt(s)-48;n<<=4,n|=f=c>=49&&c<=54?c-49+10:c>=17&&c<=22?c-17+10:c,o|=f}return i(!(240&o),"Invalid character in "+e),n}function f(e,t,r,n){for(var a=0,o=0,s=Math.min(e.length,r),f=t;f<s;f++){var c=e.charCodeAt(f)-48;a*=n,o=c>=49?c-49+10:c>=17?c-17+10:c,i(c>=0&&o<n,"Invalid character"),a+=o}return a}function c(e,t){e.words=t.words,e.length=t.length,e.negative=t.negative,e.red=t.red}if(a.isBN=function(e){return e instanceof a||null!==e&&"object"==typeof e&&e.constructor.wordSize===a.wordSize&&Array.isArray(e.words)},a.max=function(e,t){return e.cmp(t)>0?e:t},a.min=function(e,t){return e.cmp(t)<0?e:t},a.prototype._init=function(e,t,r){if("number"==typeof e)return this._initNumber(e,t,r);if("object"==typeof e)return this._initArray(e,t,r);"hex"===t&&(t=16),i(t===(0|t)&&t>=2&&t<=36);var n=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&n++,16===t?this._parseHex(e,n):this._parseBase(e,t,n),"-"===e[0]&&(this.negative=1),this._strip(),"le"===r&&this._initArray(this.toArray(),t,r)},a.prototype._initNumber=function(e,t,r){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(i(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),t,r)},a.prototype._initArray=function(e,t,r){if(i("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var a,o,s=0;if("be"===r)for(n=e.length-1,a=0;n>=0;n-=3)o=e[n]|e[n-1]<<8|e[n-2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if("le"===r)for(n=0,a=0;n<e.length;n+=3)o=e[n]|e[n+1]<<8|e[n+2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this._strip()},a.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var i,n,a=0;for(r=e.length-6,i=0;r>=t;r-=6)n=s(e,r,r+6),this.words[i]|=n<<a&67108863,this.words[i+1]|=n>>>26-a&4194303,(a+=24)>=26&&(a-=26,i++);r+6!==t&&(n=s(e,t,r+6),this.words[i]|=n<<a&67108863,this.words[i+1]|=n>>>26-a&4194303),this._strip()},a.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=t)i++;i--,n=n/t|0;for(var a=e.length-r,o=a%i,s=Math.min(a,a-o)+r,c=0,d=r;d<s;d+=i)c=f(e,d,d+i,t),this.imuln(n),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c);if(0!==o){var u=1;for(c=f(e,d,e.length,t),d=0;d<o;d++)u*=t;this.imuln(u),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c)}},a.prototype.copy=function(e){e.words=new Array(this.length);for(var t=0;t<this.length;t++)e.words[t]=this.words[t];e.length=this.length,e.negative=this.negative,e.red=this.red},a.prototype._move=function(e){c(e,this)},a.prototype.clone=function(){var e=new a(null);return this.copy(e),e},a.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},a.prototype._strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{a.prototype[Symbol.for("nodejs.util.inspect.custom")]=d}catch(e){a.prototype.inspect=d}else a.prototype.inspect=d;function d(){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"],h=[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];a.prototype.toString=function(e,t){var r;if(t=0|t||1,16===(e=e||10)||"hex"===e){r="";for(var n=0,a=0,o=0;o<this.length;o++){var s=this.words[o],f=(16777215&(s<<n|a)).toString(16);r=0!==(a=s>>>24-n&16777215)||o!==this.length-1?u[6-f.length]+f+r:f+r,(n+=2)>=26&&(n-=26,o--)}for(0!==a&&(r=a.toString(16)+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(e===(0|e)&&e>=2&&e<=36){var c=h[e],d=l[e];r="";var b=this.clone();for(b.negative=0;!b.isZero();){var p=b.modrn(d).toString(e);r=(b=b.idivn(d)).isZero()?p+r:u[c-p.length]+p+r}for(this.isZero()&&(r="0"+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},a.prototype.toJSON=function(){return this.toString(16,2)},o&&(a.prototype.toBuffer=function(e,t){return this.toArrayLike(o,e,t)}),a.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)};function b(e,t,r){r.negative=t.negative^e.negative;var i=e.length+t.length|0;r.length=i,i=i-1|0;var n=0|e.words[0],a=0|t.words[0],o=n*a,s=67108863&o,f=o/67108864|0;r.words[0]=s;for(var c=1;c<i;c++){for(var d=f>>>26,u=67108863&f,h=Math.min(c,t.length-1),l=Math.max(0,c-e.length+1);l<=h;l++){var b=c-l|0;d+=(o=(n=0|e.words[b])*(a=0|t.words[l])+u)/67108864|0,u=67108863&o}r.words[c]=0|u,f=0|d}return 0!==f?r.words[c]=0|f:r.length--,r._strip()}a.prototype.toArrayLike=function(e,t,r){this._strip();var n=this.byteLength(),a=r||Math.max(1,n);i(n<=a,"byte array longer than desired length"),i(a>0,"Requested array length <= 0");var o=function(e,t){return e.allocUnsafe?e.allocUnsafe(t):new e(t)}(e,a);return this["_toArrayLike"+("le"===t?"LE":"BE")](o,n),o},a.prototype._toArrayLikeLE=function(e,t){for(var r=0,i=0,n=0,a=0;n<this.length;n++){var o=this.words[n]<<a|i;e[r++]=255&o,r<e.length&&(e[r++]=o>>8&255),r<e.length&&(e[r++]=o>>16&255),6===a?(r<e.length&&(e[r++]=o>>24&255),i=0,a=0):(i=o>>>24,a+=2)}if(r<e.length)for(e[r++]=i;r<e.length;)e[r++]=0},a.prototype._toArrayLikeBE=function(e,t){for(var r=e.length-1,i=0,n=0,a=0;n<this.length;n++){var o=this.words[n]<<a|i;e[r--]=255&o,r>=0&&(e[r--]=o>>8&255),r>=0&&(e[r--]=o>>16&255),6===a?(r>=0&&(e[r--]=o>>24&255),i=0,a=0):(i=o>>>24,a+=2)}if(r>=0)for(e[r--]=i;r>=0;)e[r--]=0},Math.clz32?a.prototype._countBits=function(e){return 32-Math.clz32(e)}:a.prototype._countBits=function(e){var t=e,r=0;return t>=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},a.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 0==(8191&t)&&(r+=13,t>>>=13),0==(127&t)&&(r+=7,t>>>=7),0==(15&t)&&(r+=4,t>>>=4),0==(3&t)&&(r+=2,t>>>=2),0==(1&t)&&r++,r},a.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;t<this.length;t++){var r=this._zeroBits(this.words[t]);if(e+=r,26!==r)break}return e},a.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},a.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},a.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},a.prototype.isNeg=function(){return 0!==this.negative},a.prototype.neg=function(){return this.clone().ineg()},a.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},a.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var t=0;t<e.length;t++)this.words[t]=this.words[t]|e.words[t];return this._strip()},a.prototype.ior=function(e){return i(0==(this.negative|e.negative)),this.iuor(e)},a.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},a.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},a.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;r<t.length;r++)this.words[r]=this.words[r]&e.words[r];return this.length=t.length,this._strip()},a.prototype.iand=function(e){return i(0==(this.negative|e.negative)),this.iuand(e)},a.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},a.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},a.prototype.iuxor=function(e){var t,r;this.length>e.length?(t=this,r=e):(t=e,r=this);for(var i=0;i<r.length;i++)this.words[i]=t.words[i]^r.words[i];if(this!==t)for(;i<t.length;i++)this.words[i]=t.words[i];return this.length=t.length,this._strip()},a.prototype.ixor=function(e){return i(0==(this.negative|e.negative)),this.iuxor(e)},a.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},a.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},a.prototype.inotn=function(e){i("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),r=e%26;this._expand(t),r>0&&t--;for(var n=0;n<t;n++)this.words[n]=67108863&~this.words[n];return r>0&&(this.words[n]=~this.words[n]&67108863>>26-r),this._strip()},a.prototype.notn=function(e){return this.clone().inotn(e)},a.prototype.setn=function(e,t){i("number"==typeof e&&e>=0);var r=e/26|0,n=e%26;return this._expand(r+1),this.words[r]=t?this.words[r]|1<<n:this.words[r]&~(1<<n),this._strip()},a.prototype.iadd=function(e){var t,r,i;if(0!==this.negative&&0===e.negative)return this.negative=0,t=this.isub(e),this.negative^=1,this._normSign();if(0===this.negative&&0!==e.negative)return e.negative=0,t=this.isub(e),e.negative=1,t._normSign();this.length>e.length?(r=this,i=e):(r=e,i=this);for(var n=0,a=0;a<i.length;a++)t=(0|r.words[a])+(0|i.words[a])+n,this.words[a]=67108863&t,n=t>>>26;for(;0!==n&&a<r.length;a++)t=(0|r.words[a])+n,this.words[a]=67108863&t,n=t>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;a<r.length;a++)this.words[a]=r.words[a];return this},a.prototype.add=function(e){var t;return 0!==e.negative&&0===this.negative?(e.negative=0,t=this.sub(e),e.negative^=1,t):0===e.negative&&0!==this.negative?(this.negative=0,t=e.sub(this),this.negative=1,t):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},a.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,i,n=this.cmp(e);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=e):(r=e,i=this);for(var a=0,o=0;o<i.length;o++)a=(t=(0|r.words[o])-(0|i.words[o])+a)>>26,this.words[o]=67108863&t;for(;0!==a&&o<r.length;o++)a=(t=(0|r.words[o])+a)>>26,this.words[o]=67108863&t;if(0===a&&o<r.length&&r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this.length=Math.max(this.length,o),r!==this&&(this.negative=1),this._strip()},a.prototype.sub=function(e){return this.clone().isub(e)};var p=function(e,t,r){var i,n,a,o=e.words,s=t.words,f=r.words,c=0,d=0|o[0],u=8191&d,h=d>>>13,l=0|o[1],b=8191&l,p=l>>>13,m=0|o[2],g=8191&m,v=m>>>13,y=0|o[3],w=8191&y,_=y>>>13,M=0|o[4],S=8191&M,k=M>>>13,E=0|o[5],x=8191&E,z=E>>>13,A=0|o[6],I=8191&A,q=A>>>13,R=0|o[7],j=8191&R,B=R>>>13,N=0|o[8],O=8191&N,T=N>>>13,P=0|o[9],L=8191&P,D=P>>>13,C=0|s[0],U=8191&C,F=C>>>13,K=0|s[1],J=8191&K,Z=K>>>13,H=0|s[2],W=8191&H,X=H>>>13,Y=0|s[3],V=8191&Y,G=Y>>>13,$=0|s[4],Q=8191&$,ee=$>>>13,te=0|s[5],re=8191&te,ie=te>>>13,ne=0|s[6],ae=8191&ne,oe=ne>>>13,se=0|s[7],fe=8191&se,ce=se>>>13,de=0|s[8],ue=8191&de,he=de>>>13,le=0|s[9],be=8191&le,pe=le>>>13;r.negative=e.negative^t.negative,r.length=19;var me=(c+(i=Math.imul(u,U))|0)+((8191&(n=(n=Math.imul(u,F))+Math.imul(h,U)|0))<<13)|0;c=((a=Math.imul(h,F))+(n>>>13)|0)+(me>>>26)|0,me&=67108863,i=Math.imul(b,U),n=(n=Math.imul(b,F))+Math.imul(p,U)|0,a=Math.imul(p,F);var ge=(c+(i=i+Math.imul(u,J)|0)|0)+((8191&(n=(n=n+Math.imul(u,Z)|0)+Math.imul(h,J)|0))<<13)|0;c=((a=a+Math.imul(h,Z)|0)+(n>>>13)|0)+(ge>>>26)|0,ge&=67108863,i=Math.imul(g,U),n=(n=Math.imul(g,F))+Math.imul(v,U)|0,a=Math.imul(v,F),i=i+Math.imul(b,J)|0,n=(n=n+Math.imul(b,Z)|0)+Math.imul(p,J)|0,a=a+Math.imul(p,Z)|0;var ve=(c+(i=i+Math.imul(u,W)|0)|0)+((8191&(n=(n=n+Math.imul(u,X)|0)+Math.imul(h,W)|0))<<13)|0;c=((a=a+Math.imul(h,X)|0)+(n>>>13)|0)+(ve>>>26)|0,ve&=67108863,i=Math.imul(w,U),n=(n=Math.imul(w,F))+Math.imul(_,U)|0,a=Math.imul(_,F),i=i+Math.imul(g,J)|0,n=(n=n+Math.imul(g,Z)|0)+Math.imul(v,J)|0,a=a+Math.imul(v,Z)|0,i=i+Math.imul(b,W)|0,n=(n=n+Math.imul(b,X)|0)+Math.imul(p,W)|0,a=a+Math.imul(p,X)|0;var ye=(c+(i=i+Math.imul(u,V)|0)|0)+((8191&(n=(n=n+Math.imul(u,G)|0)+Math.imul(h,V)|0))<<13)|0;c=((a=a+Math.imul(h,G)|0)+(n>>>13)|0)+(ye>>>26)|0,ye&=67108863,i=Math.imul(S,U),n=(n=Math.imul(S,F))+Math.imul(k,U)|0,a=Math.imul(k,F),i=i+Math.imul(w,J)|0,n=(n=n+Math.imul(w,Z)|0)+Math.imul(_,J)|0,a=a+Math.imul(_,Z)|0,i=i+Math.imul(g,W)|0,n=(n=n+Math.imul(g,X)|0)+Math.imul(v,W)|0,a=a+Math.imul(v,X)|0,i=i+Math.imul(b,V)|0,n=(n=n+Math.imul(b,G)|0)+Math.imul(p,V)|0,a=a+Math.imul(p,G)|0;var we=(c+(i=i+Math.imul(u,Q)|0)|0)+((8191&(n=(n=n+Math.imul(u,ee)|0)+Math.imul(h,Q)|0))<<13)|0;c=((a=a+Math.imul(h,ee)|0)+(n>>>13)|0)+(we>>>26)|0,we&=67108863,i=Math.imul(x,U),n=(n=Math.imul(x,F))+Math.imul(z,U)|0,a=Math.imul(z,F),i=i+Math.imul(S,J)|0,n=(n=n+Math.imul(S,Z)|0)+Math.imul(k,J)|0,a=a+Math.imul(k,Z)|0,i=i+Math.imul(w,W)|0,n=(n=n+Math.imul(w,X)|0)+Math.imul(_,W)|0,a=a+Math.imul(_,X)|0,i=i+Math.imul(g,V)|0,n=(n=n+Math.imul(g,G)|0)+Math.imul(v,V)|0,a=a+Math.imul(v,G)|0,i=i+Math.imul(b,Q)|0,n=(n=n+Math.imul(b,ee)|0)+Math.imul(p,Q)|0,a=a+Math.imul(p,ee)|0;var _e=(c+(i=i+Math.imul(u,re)|0)|0)+((8191&(n=(n=n+Math.imul(u,ie)|0)+Math.imul(h,re)|0))<<13)|0;c=((a=a+Math.imul(h,ie)|0)+(n>>>13)|0)+(_e>>>26)|0,_e&=67108863,i=Math.imul(I,U),n=(n=Math.imul(I,F))+Math.imul(q,U)|0,a=Math.imul(q,F),i=i+Math.imul(x,J)|0,n=(n=n+Math.imul(x,Z)|0)+Math.imul(z,J)|0,a=a+Math.imul(z,Z)|0,i=i+Math.imul(S,W)|0,n=(n=n+Math.imul(S,X)|0)+Math.imul(k,W)|0,a=a+Math.imul(k,X)|0,i=i+Math.imul(w,V)|0,n=(n=n+Math.imul(w,G)|0)+Math.imul(_,V)|0,a=a+Math.imul(_,G)|0,i=i+Math.imul(g,Q)|0,n=(n=n+Math.imul(g,ee)|0)+Math.imul(v,Q)|0,a=a+Math.imul(v,ee)|0,i=i+Math.imul(b,re)|0,n=(n=n+Math.imul(b,ie)|0)+Math.imul(p,re)|0,a=a+Math.imul(p,ie)|0;var Me=(c+(i=i+Math.imul(u,ae)|0)|0)+((8191&(n=(n=n+Math.imul(u,oe)|0)+Math.imul(h,ae)|0))<<13)|0;c=((a=a+Math.imul(h,oe)|0)+(n>>>13)|0)+(Me>>>26)|0,Me&=67108863,i=Math.imul(j,U),n=(n=Math.imul(j,F))+Math.imul(B,U)|0,a=Math.imul(B,F),i=i+Math.imul(I,J)|0,n=(n=n+Math.imul(I,Z)|0)+Math.imul(q,J)|0,a=a+Math.imul(q,Z)|0,i=i+Math.imul(x,W)|0,n=(n=n+Math.imul(x,X)|0)+Math.imul(z,W)|0,a=a+Math.imul(z,X)|0,i=i+Math.imul(S,V)|0,n=(n=n+Math.imul(S,G)|0)+Math.imul(k,V)|0,a=a+Math.imul(k,G)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,ee)|0)+Math.imul(_,Q)|0,a=a+Math.imul(_,ee)|0,i=i+Math.imul(g,re)|0,n=(n=n+Math.imul(g,ie)|0)+Math.imul(v,re)|0,a=a+Math.imul(v,ie)|0,i=i+Math.imul(b,ae)|0,n=(n=n+Math.imul(b,oe)|0)+Math.imul(p,ae)|0,a=a+Math.imul(p,oe)|0;var Se=(c+(i=i+Math.imul(u,fe)|0)|0)+((8191&(n=(n=n+Math.imul(u,ce)|0)+Math.imul(h,fe)|0))<<13)|0;c=((a=a+Math.imul(h,ce)|0)+(n>>>13)|0)+(Se>>>26)|0,Se&=67108863,i=Math.imul(O,U),n=(n=Math.imul(O,F))+Math.imul(T,U)|0,a=Math.imul(T,F),i=i+Math.imul(j,J)|0,n=(n=n+Math.imul(j,Z)|0)+Math.imul(B,J)|0,a=a+Math.imul(B,Z)|0,i=i+Math.imul(I,W)|0,n=(n=n+Math.imul(I,X)|0)+Math.imul(q,W)|0,a=a+Math.imul(q,X)|0,i=i+Math.imul(x,V)|0,n=(n=n+Math.imul(x,G)|0)+Math.imul(z,V)|0,a=a+Math.imul(z,G)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,ee)|0)+Math.imul(k,Q)|0,a=a+Math.imul(k,ee)|0,i=i+Math.imul(w,re)|0,n=(n=n+Math.imul(w,ie)|0)+Math.imul(_,re)|0,a=a+Math.imul(_,ie)|0,i=i+Math.imul(g,ae)|0,n=(n=n+Math.imul(g,oe)|0)+Math.imul(v,ae)|0,a=a+Math.imul(v,oe)|0,i=i+Math.imul(b,fe)|0,n=(n=n+Math.imul(b,ce)|0)+Math.imul(p,fe)|0,a=a+Math.imul(p,ce)|0;var ke=(c+(i=i+Math.imul(u,ue)|0)|0)+((8191&(n=(n=n+Math.imul(u,he)|0)+Math.imul(h,ue)|0))<<13)|0;c=((a=a+Math.imul(h,he)|0)+(n>>>13)|0)+(ke>>>26)|0,ke&=67108863,i=Math.imul(L,U),n=(n=Math.imul(L,F))+Math.imul(D,U)|0,a=Math.imul(D,F),i=i+Math.imul(O,J)|0,n=(n=n+Math.imul(O,Z)|0)+Math.imul(T,J)|0,a=a+Math.imul(T,Z)|0,i=i+Math.imul(j,W)|0,n=(n=n+Math.imul(j,X)|0)+Math.imul(B,W)|0,a=a+Math.imul(B,X)|0,i=i+Math.imul(I,V)|0,n=(n=n+Math.imul(I,G)|0)+Math.imul(q,V)|0,a=a+Math.imul(q,G)|0,i=i+Math.imul(x,Q)|0,n=(n=n+Math.imul(x,ee)|0)+Math.imul(z,Q)|0,a=a+Math.imul(z,ee)|0,i=i+Math.imul(S,re)|0,n=(n=n+Math.imul(S,ie)|0)+Math.imul(k,re)|0,a=a+Math.imul(k,ie)|0,i=i+Math.imul(w,ae)|0,n=(n=n+Math.imul(w,oe)|0)+Math.imul(_,ae)|0,a=a+Math.imul(_,oe)|0,i=i+Math.imul(g,fe)|0,n=(n=n+Math.imul(g,ce)|0)+Math.imul(v,fe)|0,a=a+Math.imul(v,ce)|0,i=i+Math.imul(b,ue)|0,n=(n=n+Math.imul(b,he)|0)+Math.imul(p,ue)|0,a=a+Math.imul(p,he)|0;var Ee=(c+(i=i+Math.imul(u,be)|0)|0)+((8191&(n=(n=n+Math.imul(u,pe)|0)+Math.imul(h,be)|0))<<13)|0;c=((a=a+Math.imul(h,pe)|0)+(n>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,i=Math.imul(L,J),n=(n=Math.imul(L,Z))+Math.imul(D,J)|0,a=Math.imul(D,Z),i=i+Math.imul(O,W)|0,n=(n=n+Math.imul(O,X)|0)+Math.imul(T,W)|0,a=a+Math.imul(T,X)|0,i=i+Math.imul(j,V)|0,n=(n=n+Math.imul(j,G)|0)+Math.imul(B,V)|0,a=a+Math.imul(B,G)|0,i=i+Math.imul(I,Q)|0,n=(n=n+Math.imul(I,ee)|0)+Math.imul(q,Q)|0,a=a+Math.imul(q,ee)|0,i=i+Math.imul(x,re)|0,n=(n=n+Math.imul(x,ie)|0)+Math.imul(z,re)|0,a=a+Math.imul(z,ie)|0,i=i+Math.imul(S,ae)|0,n=(n=n+Math.imul(S,oe)|0)+Math.imul(k,ae)|0,a=a+Math.imul(k,oe)|0,i=i+Math.imul(w,fe)|0,n=(n=n+Math.imul(w,ce)|0)+Math.imul(_,fe)|0,a=a+Math.imul(_,ce)|0,i=i+Math.imul(g,ue)|0,n=(n=n+Math.imul(g,he)|0)+Math.imul(v,ue)|0,a=a+Math.imul(v,he)|0;var xe=(c+(i=i+Math.imul(b,be)|0)|0)+((8191&(n=(n=n+Math.imul(b,pe)|0)+Math.imul(p,be)|0))<<13)|0;c=((a=a+Math.imul(p,pe)|0)+(n>>>13)|0)+(xe>>>26)|0,xe&=67108863,i=Math.imul(L,W),n=(n=Math.imul(L,X))+Math.imul(D,W)|0,a=Math.imul(D,X),i=i+Math.imul(O,V)|0,n=(n=n+Math.imul(O,G)|0)+Math.imul(T,V)|0,a=a+Math.imul(T,G)|0,i=i+Math.imul(j,Q)|0,n=(n=n+Math.imul(j,ee)|0)+Math.imul(B,Q)|0,a=a+Math.imul(B,ee)|0,i=i+Math.imul(I,re)|0,n=(n=n+Math.imul(I,ie)|0)+Math.imul(q,re)|0,a=a+Math.imul(q,ie)|0,i=i+Math.imul(x,ae)|0,n=(n=n+Math.imul(x,oe)|0)+Math.imul(z,ae)|0,a=a+Math.imul(z,oe)|0,i=i+Math.imul(S,fe)|0,n=(n=n+Math.imul(S,ce)|0)+Math.imul(k,fe)|0,a=a+Math.imul(k,ce)|0,i=i+Math.imul(w,ue)|0,n=(n=n+Math.imul(w,he)|0)+Math.imul(_,ue)|0,a=a+Math.imul(_,he)|0;var ze=(c+(i=i+Math.imul(g,be)|0)|0)+((8191&(n=(n=n+Math.imul(g,pe)|0)+Math.imul(v,be)|0))<<13)|0;c=((a=a+Math.imul(v,pe)|0)+(n>>>13)|0)+(ze>>>26)|0,ze&=67108863,i=Math.imul(L,V),n=(n=Math.imul(L,G))+Math.imul(D,V)|0,a=Math.imul(D,G),i=i+Math.imul(O,Q)|0,n=(n=n+Math.imul(O,ee)|0)+Math.imul(T,Q)|0,a=a+Math.imul(T,ee)|0,i=i+Math.imul(j,re)|0,n=(n=n+Math.imul(j,ie)|0)+Math.imul(B,re)|0,a=a+Math.imul(B,ie)|0,i=i+Math.imul(I,ae)|0,n=(n=n+Math.imul(I,oe)|0)+Math.imul(q,ae)|0,a=a+Math.imul(q,oe)|0,i=i+Math.imul(x,fe)|0,n=(n=n+Math.imul(x,ce)|0)+Math.imul(z,fe)|0,a=a+Math.imul(z,ce)|0,i=i+Math.imul(S,ue)|0,n=(n=n+Math.imul(S,he)|0)+Math.imul(k,ue)|0,a=a+Math.imul(k,he)|0;var Ae=(c+(i=i+Math.imul(w,be)|0)|0)+((8191&(n=(n=n+Math.imul(w,pe)|0)+Math.imul(_,be)|0))<<13)|0;c=((a=a+Math.imul(_,pe)|0)+(n>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,i=Math.imul(L,Q),n=(n=Math.imul(L,ee))+Math.imul(D,Q)|0,a=Math.imul(D,ee),i=i+Math.imul(O,re)|0,n=(n=n+Math.imul(O,ie)|0)+Math.imul(T,re)|0,a=a+Math.imul(T,ie)|0,i=i+Math.imul(j,ae)|0,n=(n=n+Math.imul(j,oe)|0)+Math.imul(B,ae)|0,a=a+Math.imul(B,oe)|0,i=i+Math.imul(I,fe)|0,n=(n=n+Math.imul(I,ce)|0)+Math.imul(q,fe)|0,a=a+Math.imul(q,ce)|0,i=i+Math.imul(x,ue)|0,n=(n=n+Math.imul(x,he)|0)+Math.imul(z,ue)|0,a=a+Math.imul(z,he)|0;var Ie=(c+(i=i+Math.imul(S,be)|0)|0)+((8191&(n=(n=n+Math.imul(S,pe)|0)+Math.imul(k,be)|0))<<13)|0;c=((a=a+Math.imul(k,pe)|0)+(n>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,i=Math.imul(L,re),n=(n=Math.imul(L,ie))+Math.imul(D,re)|0,a=Math.imul(D,ie),i=i+Math.imul(O,ae)|0,n=(n=n+Math.imul(O,oe)|0)+Math.imul(T,ae)|0,a=a+Math.imul(T,oe)|0,i=i+Math.imul(j,fe)|0,n=(n=n+Math.imul(j,ce)|0)+Math.imul(B,fe)|0,a=a+Math.imul(B,ce)|0,i=i+Math.imul(I,ue)|0,n=(n=n+Math.imul(I,he)|0)+Math.imul(q,ue)|0,a=a+Math.imul(q,he)|0;var qe=(c+(i=i+Math.imul(x,be)|0)|0)+((8191&(n=(n=n+Math.imul(x,pe)|0)+Math.imul(z,be)|0))<<13)|0;c=((a=a+Math.imul(z,pe)|0)+(n>>>13)|0)+(qe>>>26)|0,qe&=67108863,i=Math.imul(L,ae),n=(n=Math.imul(L,oe))+Math.imul(D,ae)|0,a=Math.imul(D,oe),i=i+Math.imul(O,fe)|0,n=(n=n+Math.imul(O,ce)|0)+Math.imul(T,fe)|0,a=a+Math.imul(T,ce)|0,i=i+Math.imul(j,ue)|0,n=(n=n+Math.imul(j,he)|0)+Math.imul(B,ue)|0,a=a+Math.imul(B,he)|0;var Re=(c+(i=i+Math.imul(I,be)|0)|0)+((8191&(n=(n=n+Math.imul(I,pe)|0)+Math.imul(q,be)|0))<<13)|0;c=((a=a+Math.imul(q,pe)|0)+(n>>>13)|0)+(Re>>>26)|0,Re&=67108863,i=Math.imul(L,fe),n=(n=Math.imul(L,ce))+Math.imul(D,fe)|0,a=Math.imul(D,ce),i=i+Math.imul(O,ue)|0,n=(n=n+Math.imul(O,he)|0)+Math.imul(T,ue)|0,a=a+Math.imul(T,he)|0;var je=(c+(i=i+Math.imul(j,be)|0)|0)+((8191&(n=(n=n+Math.imul(j,pe)|0)+Math.imul(B,be)|0))<<13)|0;c=((a=a+Math.imul(B,pe)|0)+(n>>>13)|0)+(je>>>26)|0,je&=67108863,i=Math.imul(L,ue),n=(n=Math.imul(L,he))+Math.imul(D,ue)|0,a=Math.imul(D,he);var Be=(c+(i=i+Math.imul(O,be)|0)|0)+((8191&(n=(n=n+Math.imul(O,pe)|0)+Math.imul(T,be)|0))<<13)|0;c=((a=a+Math.imul(T,pe)|0)+(n>>>13)|0)+(Be>>>26)|0,Be&=67108863;var Ne=(c+(i=Math.imul(L,be))|0)+((8191&(n=(n=Math.imul(L,pe))+Math.imul(D,be)|0))<<13)|0;return c=((a=Math.imul(D,pe))+(n>>>13)|0)+(Ne>>>26)|0,Ne&=67108863,f[0]=me,f[1]=ge,f[2]=ve,f[3]=ye,f[4]=we,f[5]=_e,f[6]=Me,f[7]=Se,f[8]=ke,f[9]=Ee,f[10]=xe,f[11]=ze,f[12]=Ae,f[13]=Ie,f[14]=qe,f[15]=Re,f[16]=je,f[17]=Be,f[18]=Ne,0!==c&&(f[19]=c,r.length++),r};function m(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var i=0,n=0,a=0;a<r.length-1;a++){var o=n;n=0;for(var s=67108863&i,f=Math.min(a,t.length-1),c=Math.max(0,a-e.length+1);c<=f;c++){var d=a-c,u=(0|e.words[d])*(0|t.words[c]),h=67108863&u;s=67108863&(h=h+s|0),n+=(o=(o=o+(u/67108864|0)|0)+(h>>>26)|0)>>>26,o&=67108863}r.words[a]=s,i=o,o=n}return 0!==i?r.words[a]=i:r.length--,r._strip()}function g(e,t,r){return m(e,t,r)}function v(e,t){this.x=e,this.y=t}Math.imul||(p=b),a.prototype.mulTo=function(e,t){var r=this.length+e.length;return 10===this.length&&10===e.length?p(this,e,t):r<63?b(this,e,t):r<1024?m(this,e,t):g(this,e,t)},v.prototype.makeRBT=function(e){for(var t=new Array(e),r=a.prototype._countBits(e)-1,i=0;i<e;i++)t[i]=this.revBin(i,r,e);return t},v.prototype.revBin=function(e,t,r){if(0===e||e===r-1)return e;for(var i=0,n=0;n<t;n++)i|=(1&e)<<t-n-1,e>>=1;return i},v.prototype.permute=function(e,t,r,i,n,a){for(var o=0;o<a;o++)i[o]=t[e[o]],n[o]=r[e[o]]},v.prototype.transform=function(e,t,r,i,n,a){this.permute(a,e,t,r,i,n);for(var o=1;o<n;o<<=1)for(var s=o<<1,f=Math.cos(2*Math.PI/s),c=Math.sin(2*Math.PI/s),d=0;d<n;d+=s)for(var u=f,h=c,l=0;l<o;l++){var b=r[d+l],p=i[d+l],m=r[d+l+o],g=i[d+l+o],v=u*m-h*g;g=u*g+h*m,m=v,r[d+l]=b+m,i[d+l]=p+g,r[d+l+o]=b-m,i[d+l+o]=p-g,l!==s&&(v=f*u-c*h,h=f*h+c*u,u=v)}},v.prototype.guessLen13b=function(e,t){var r=1|Math.max(t,e),i=1&r,n=0;for(r=r/2|0;r;r>>>=1)n++;return 1<<n+1+i},v.prototype.conjugate=function(e,t,r){if(!(r<=1))for(var i=0;i<r/2;i++){var n=e[i];e[i]=e[r-i-1],e[r-i-1]=n,n=t[i],t[i]=-t[r-i-1],t[r-i-1]=-n}},v.prototype.normalize13b=function(e,t){for(var r=0,i=0;i<t/2;i++){var n=8192*Math.round(e[2*i+1]/t)+Math.round(e[2*i]/t)+r;e[i]=67108863&n,r=n<67108864?0:n/67108864|0}return e},v.prototype.convert13b=function(e,t,r,n){for(var a=0,o=0;o<t;o++)a+=0|e[o],r[2*o]=8191&a,a>>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*t;o<n;++o)r[o]=0;i(0===a),i(0==(-8192&a))},v.prototype.stub=function(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=0;return t},v.prototype.mulp=function(e,t,r){var i=2*this.guessLen13b(e.length,t.length),n=this.makeRBT(i),a=this.stub(i),o=new Array(i),s=new Array(i),f=new Array(i),c=new Array(i),d=new Array(i),u=new Array(i),h=r.words;h.length=i,this.convert13b(e.words,e.length,o,i),this.convert13b(t.words,t.length,c,i),this.transform(o,a,s,f,i,n),this.transform(c,a,d,u,i,n);for(var l=0;l<i;l++){var b=s[l]*d[l]-f[l]*u[l];f[l]=s[l]*u[l]+f[l]*d[l],s[l]=b}return this.conjugate(s,f,i),this.transform(s,f,h,a,i,n),this.conjugate(h,a,i),this.normalize13b(h,i),r.negative=e.negative^t.negative,r.length=e.length+t.length,r._strip()},a.prototype.mul=function(e){var t=new a(null);return t.words=new Array(this.length+e.length),this.mulTo(e,t)},a.prototype.mulf=function(e){var t=new a(null);return t.words=new Array(this.length+e.length),g(this,e,t)},a.prototype.imul=function(e){return this.clone().mulTo(e,this)},a.prototype.imuln=function(e){var t=e<0;t&&(e=-e),i("number"==typeof e),i(e<67108864);for(var r=0,n=0;n<this.length;n++){var a=(0|this.words[n])*e,o=(67108863&a)+(67108863&r);r>>=26,r+=a/67108864|0,r+=o>>>26,this.words[n]=67108863&o}return 0!==r&&(this.words[n]=r,this.length++),t?this.ineg():this},a.prototype.muln=function(e){return this.clone().imuln(e)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r<t.length;r++){var i=r/26|0,n=r%26;t[r]=e.words[i]>>>n&1}return t}(e);if(0===t.length)return new a(1);for(var r=this,i=0;i<t.length&&0===t[i];i++,r=r.sqr());if(++i<t.length)for(var n=r.sqr();i<t.length;i++,n=n.sqr())0!==t[i]&&(r=r.mul(n));return r},a.prototype.iushln=function(e){i("number"==typeof e&&e>=0);var t,r=e%26,n=(e-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(t=0;t<this.length;t++){var s=this.words[t]&a,f=(0|this.words[t])-s<<r;this.words[t]=f|o,o=s>>>26-r}o&&(this.words[t]=o,this.length++)}if(0!==n){for(t=this.length-1;t>=0;t--)this.words[t+n]=this.words[t];for(t=0;t<n;t++)this.words[t]=0;this.length+=n}return this._strip()},a.prototype.ishln=function(e){return i(0===this.negative),this.iushln(e)},a.prototype.iushrn=function(e,t,r){var n;i("number"==typeof e&&e>=0),n=t?(t-t%26)/26:0;var a=e%26,o=Math.min((e-a)/26,this.length),s=67108863^67108863>>>a<<a,f=r;if(n-=o,n=Math.max(0,n),f){for(var c=0;c<o;c++)f.words[c]=this.words[c];f.length=o}if(0===o);else if(this.length>o)for(this.length-=o,c=0;c<this.length;c++)this.words[c]=this.words[c+o];else this.words[0]=0,this.length=1;var d=0;for(c=this.length-1;c>=0&&(0!==d||c>=n);c--){var u=0|this.words[c];this.words[c]=d<<26-a|u>>>a,d=u&s}return f&&0!==d&&(f.words[f.length++]=d),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},a.prototype.ishrn=function(e,t,r){return i(0===this.negative),this.iushrn(e,t,r)},a.prototype.shln=function(e){return this.clone().ishln(e)},a.prototype.ushln=function(e){return this.clone().iushln(e)},a.prototype.shrn=function(e){return this.clone().ishrn(e)},a.prototype.ushrn=function(e){return this.clone().iushrn(e)},a.prototype.testn=function(e){i("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26,n=1<<t;return!(this.length<=r)&&!!(this.words[r]&n)},a.prototype.imaskn=function(e){i("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==t&&r++,this.length=Math.min(r,this.length),0!==t){var n=67108863^67108863>>>t<<t;this.words[this.length-1]&=n}return this._strip()},a.prototype.maskn=function(e){return this.clone().imaskn(e)},a.prototype.iaddn=function(e){return i("number"==typeof e),i(e<67108864),e<0?this.isubn(-e):0!==this.negative?1===this.length&&(0|this.words[0])<=e?(this.words[0]=e-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(e),this.negative=1,this):this._iaddn(e)},a.prototype._iaddn=function(e){this.words[0]+=e;for(var t=0;t<this.length&&this.words[t]>=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},a.prototype.isubn=function(e){if(i("number"==typeof e),i(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t<this.length&&this.words[t]<0;t++)this.words[t]+=67108864,this.words[t+1]-=1;return this._strip()},a.prototype.addn=function(e){return this.clone().iaddn(e)},a.prototype.subn=function(e){return this.clone().isubn(e)},a.prototype.iabs=function(){return this.negative=0,this},a.prototype.abs=function(){return this.clone().iabs()},a.prototype._ishlnsubmul=function(e,t,r){var n,a,o=e.length+r;this._expand(o);var s=0;for(n=0;n<e.length;n++){a=(0|this.words[n+r])+s;var f=(0|e.words[n])*t;s=((a-=67108863&f)>>26)-(f/67108864|0),this.words[n+r]=67108863&a}for(;n<this.length-r;n++)s=(a=(0|this.words[n+r])+s)>>26,this.words[n+r]=67108863&a;if(0===s)return this._strip();for(i(-1===s),s=0,n=0;n<this.length;n++)s=(a=-(0|this.words[n])+s)>>26,this.words[n]=67108863&a;return this.negative=1,this._strip()},a.prototype._wordDiv=function(e,t){var r=(this.length,e.length),i=this.clone(),n=e,o=0|n.words[n.length-1];0!==(r=26-this._countBits(o))&&(n=n.ushln(r),i.iushln(r),o=0|n.words[n.length-1]);var s,f=i.length-n.length;if("mod"!==t){(s=new a(null)).length=f+1,s.words=new Array(s.length);for(var c=0;c<s.length;c++)s.words[c]=0}var d=i.clone()._ishlnsubmul(n,1,f);0===d.negative&&(i=d,s&&(s.words[f]=1));for(var u=f-1;u>=0;u--){var h=67108864*(0|i.words[n.length+u])+(0|i.words[n.length+u-1]);for(h=Math.min(h/o|0,67108863),i._ishlnsubmul(n,h,u);0!==i.negative;)h--,i.negative=0,i._ishlnsubmul(n,1,u),i.isZero()||(i.negative^=1);s&&(s.words[u]=h)}return s&&s._strip(),i._strip(),"div"!==t&&0!==r&&i.iushrn(r),{div:s||null,mod:i}},a.prototype.divmod=function(e,t,r){return i(!e.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,t),"mod"!==t&&(n=s.div.neg()),"div"!==t&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(e)),{div:n,mod:o}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),t),"mod"!==t&&(n=s.div.neg()),{div:n,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),t),"div"!==t&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(e)),{div:s.div,mod:o}):e.length>this.length||this.cmp(e)<0?{div:new a(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new a(this.modrn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new a(this.modrn(e.words[0]))}:this._wordDiv(e,t);var n,o,s},a.prototype.div=function(e){return this.divmod(e,"div",!1).div},a.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},a.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},a.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,i=e.ushrn(1),n=e.andln(1),a=r.cmp(i);return a<0||1===n&&0===a?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},a.prototype.modrn=function(e){var t=e<0;t&&(e=-e),i(e<=67108863);for(var r=(1<<26)%e,n=0,a=this.length-1;a>=0;a--)n=(r*n+(0|this.words[a]))%e;return t?-n:n},a.prototype.modn=function(e){return this.modrn(e)},a.prototype.idivn=function(e){var t=e<0;t&&(e=-e),i(e<=67108863);for(var r=0,n=this.length-1;n>=0;n--){var a=(0|this.words[n])+67108864*r;this.words[n]=a/e|0,r=a%e}return this._strip(),t?this.ineg():this},a.prototype.divn=function(e){return this.clone().idivn(e)},a.prototype.egcd=function(e){i(0===e.negative),i(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var n=new a(1),o=new a(0),s=new a(0),f=new a(1),c=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++c;for(var d=r.clone(),u=t.clone();!t.isZero();){for(var h=0,l=1;0==(t.words[0]&l)&&h<26;++h,l<<=1);if(h>0)for(t.iushrn(h);h-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(d),o.isub(u)),n.iushrn(1),o.iushrn(1);for(var b=0,p=1;0==(r.words[0]&p)&&b<26;++b,p<<=1);if(b>0)for(r.iushrn(b);b-- >0;)(s.isOdd()||f.isOdd())&&(s.iadd(d),f.isub(u)),s.iushrn(1),f.iushrn(1);t.cmp(r)>=0?(t.isub(r),n.isub(s),o.isub(f)):(r.isub(t),s.isub(n),f.isub(o))}return{a:s,b:f,gcd:r.iushln(c)}},a.prototype._invmp=function(e){i(0===e.negative),i(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var n,o=new a(1),s=new a(0),f=r.clone();t.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,d=1;0==(t.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(t.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(f),o.iushrn(1);for(var u=0,h=1;0==(r.words[0]&h)&&u<26;++u,h<<=1);if(u>0)for(r.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(f),s.iushrn(1);t.cmp(r)>=0?(t.isub(r),o.isub(s)):(r.isub(t),s.isub(o))}return(n=0===t.cmpn(1)?o:s).cmpn(0)<0&&n.iadd(e),n},a.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var i=0;t.isEven()&&r.isEven();i++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=t.cmp(r);if(n<0){var a=t;t=r,r=a}else if(0===n||0===r.cmpn(1))break;t.isub(r)}return r.iushln(i)},a.prototype.invm=function(e){return this.egcd(e).a.umod(e)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(e){return this.words[0]&e},a.prototype.bincn=function(e){i("number"==typeof e);var t=e%26,r=(e-t)/26,n=1<<t;if(this.length<=r)return this._expand(r+1),this.words[r]|=n,this;for(var a=n,o=r;0!==a&&o<this.length;o++){var s=0|this.words[o];a=(s+=a)>>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(e){var t,r=e<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this._strip(),this.length>1)t=1;else{r&&(e=-e),i(e<=67108863,"Number is too big");var n=0|this.words[0];t=n===e?0:n<e?-1:1}return 0!==this.negative?0|-t:t},a.prototype.cmp=function(e){if(0!==this.negative&&0===e.negative)return-1;if(0===this.negative&&0!==e.negative)return 1;var t=this.ucmp(e);return 0!==this.negative?0|-t:t},a.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var t=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|e.words[r];if(i!==n){i<n?t=-1:i>n&&(t=1);break}}return t},a.prototype.gtn=function(e){return 1===this.cmpn(e)},a.prototype.gt=function(e){return 1===this.cmp(e)},a.prototype.gten=function(e){return this.cmpn(e)>=0},a.prototype.gte=function(e){return this.cmp(e)>=0},a.prototype.ltn=function(e){return-1===this.cmpn(e)},a.prototype.lt=function(e){return-1===this.cmp(e)},a.prototype.lten=function(e){return this.cmpn(e)<=0},a.prototype.lte=function(e){return this.cmp(e)<=0},a.prototype.eqn=function(e){return 0===this.cmpn(e)},a.prototype.eq=function(e){return 0===this.cmp(e)},a.red=function(e){return new E(e)},a.prototype.toRed=function(e){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},a.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(e){return this.red=e,this},a.prototype.forceRed=function(e){return i(!this.red,"Already a number in reduction context"),this._forceRed(e)},a.prototype.redAdd=function(e){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},a.prototype.redIAdd=function(e){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},a.prototype.redSub=function(e){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},a.prototype.redISub=function(e){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},a.prototype.redShl=function(e){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},a.prototype.redMul=function(e){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},a.prototype.redIMul=function(e){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},a.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(e){return i(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var y={k256:null,p224:null,p192:null,p25519:null};function w(e,t){this.name=e,this.p=new a(t,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function _(){w.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function M(){w.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function S(){w.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function k(){w.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(e){if("string"==typeof e){var t=a._prime(e);this.m=t.p,this.prime=t}else i(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function x(e){E.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(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)}w.prototype._tmp=function(){var e=new a(null);return e.words=new Array(Math.ceil(this.n/13)),e},w.prototype.ireduce=function(e){var t,r=e;do{this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(t>this.n);var i=t<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},w.prototype.split=function(e,t){e.iushrn(this.n,0,t)},w.prototype.imulK=function(e){return e.imul(this.k)},n(_,w),_.prototype.split=function(e,t){for(var r=Math.min(e.length,9),i=0;i<r;i++)t.words[i]=e.words[i];if(t.length=r,e.length<=9)return e.words[0]=0,void(e.length=1);var n=e.words[9];for(t.words[t.length++]=4194303&n,i=10;i<e.length;i++){var a=0|e.words[i];e.words[i-10]=(4194303&a)<<4|n>>>22,n=a}n>>>=22,e.words[i-10]=n,0===n&&e.length>10?e.length-=10:e.length-=9},_.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r<e.length;r++){var i=0|e.words[r];t+=977*i,e.words[r]=67108863&t,t=64*i+(t/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},n(M,w),n(S,w),n(k,w),k.prototype.imulK=function(e){for(var t=0,r=0;r<e.length;r++){var i=19*(0|e.words[r])+t,n=67108863&i;i>>>=26,e.words[r]=n,t=i}return 0!==t&&(e.words[e.length++]=t),e},a._prime=function(e){if(y[e])return y[e];var t;if("k256"===e)t=new _;else if("p224"===e)t=new M;else if("p192"===e)t=new S;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new k}return y[e]=t,t},E.prototype._verify1=function(e){i(0===e.negative,"red works only with positives"),i(e.red,"red works only with red numbers")},E.prototype._verify2=function(e,t){i(0==(e.negative|t.negative),"red works only with positives"),i(e.red&&e.red===t.red,"red works only with red numbers")},E.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):(c(e,e.umod(this.m)._forceRed(this)),e)},E.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},E.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},E.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},E.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},E.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},E.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},E.prototype.isqr=function(e){return this.imul(e,e.clone())},E.prototype.sqr=function(e){return this.mul(e,e)},E.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(i(t%2==1),3===t){var r=this.m.add(new a(1)).iushrn(2);return this.pow(e,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var s=new a(1).toRed(this),f=s.redNeg(),c=this.m.subn(1).iushrn(1),d=this.m.bitLength();for(d=new a(2*d*d).toRed(this);0!==this.pow(d,c).cmp(f);)d.redIAdd(f);for(var u=this.pow(d,n),h=this.pow(e,n.addn(1).iushrn(1)),l=this.pow(e,n),b=o;0!==l.cmp(s);){for(var p=l,m=0;0!==p.cmp(s);m++)p=p.redSqr();i(m<b);var g=this.pow(u,new a(1).iushln(b-m-1));h=h.redMul(g),u=g.redSqr(),l=l.redMul(u),b=m}return h},E.prototype.invm=function(e){var t=e._invmp(this.m);return 0!==t.negative?(t.negative=0,this.imod(t).redNeg()):this.imod(t)},E.prototype.pow=function(e,t){if(t.isZero())return new a(1).toRed(this);if(0===t.cmpn(1))return e.clone();var r=new Array(16);r[0]=new a(1).toRed(this),r[1]=e;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],e);var n=r[0],o=0,s=0,f=t.bitLength()%26;for(0===f&&(f=26),i=t.length-1;i>=0;i--){for(var c=t.words[i],d=f-1;d>=0;d--){var u=c>>d&1;n!==r[0]&&(n=this.sqr(n)),0!==u||0!==o?(o<<=1,o|=u,(4===++s||0===i&&0===d)&&(n=this.mul(n,r[o]),s=0,o=0)):s=0}f=26}return n},E.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},E.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},a.mont=function(e){return new x(e)},n(x,E),x.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},x.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},x.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),a=n;return n.cmp(this.m)>=0?a=n.isub(this.m):n.cmpn(0)<0&&(a=n.iadd(this.m)),a._forceRed(this)},x.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new a(0)._forceRed(this);var r=e.mul(t),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)},x.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,this)}).call(this,r(45)(e))},function(e,t){},function(e){e.exports=JSON.parse('{"name":"elliptic","version":"6.5.3","description":"EC cryptography","main":"lib/elliptic.js","files":["lib"],"scripts":{"jscs":"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js","jshint":"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js","lint":"npm run jscs && npm run jshint","unit":"istanbul test _mocha --reporter=spec test/index.js","test":"npm run lint && npm run unit","version":"grunt dist && git add dist/"},"repository":{"type":"git","url":"git@github.com:indutny/elliptic"},"keywords":["EC","Elliptic","curve","Cryptography"],"author":"Fedor Indutny <fedor@indutny.com>","license":"MIT","bugs":{"url":"https://github.com/indutny/elliptic/issues"},"homepage":"https://github.com/indutny/elliptic","devDependencies":{"brfs":"^1.4.3","coveralls":"^3.0.8","grunt":"^1.0.4","grunt-browserify":"^5.0.0","grunt-cli":"^1.2.0","grunt-contrib-connect":"^1.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-mocha-istanbul":"^3.0.1","grunt-saucelabs":"^9.0.1","istanbul":"^0.4.2","jscs":"^3.0.7","jshint":"^2.10.3","mocha":"^6.2.2"},"dependencies":{"bn.js":"^4.4.0","brorand":"^1.0.1","hash.js":"^1.0.0","hmac-drbg":"^1.0.0","inherits":"^2.0.1","minimalistic-assert":"^1.0.0","minimalistic-crypto-utils":"^1.0.0"}}')},function(e,t,r){"use strict";var i=r(7),n=r(4),a=r(0),o=r(31),s=i.assert;function f(e){o.call(this,"short",e),this.a=new n(e.a,16).toRed(this.red),this.b=new n(e.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(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function c(e,t,r,i){o.BasePoint.call(this,e,"affine"),null===t&&null===r?(this.x=null,this.y=null,this.inf=!0):(this.x=new n(t,16),this.y=new n(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 d(e,t,r,i){o.BasePoint.call(this,e,"jacobian"),null===t&&null===r&&null===i?(this.x=this.curve.one,this.y=this.curve.one,this.z=new n(0)):(this.x=new n(t,16),this.y=new n(r,16),this.z=new n(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}a(f,o),e.exports=f,f.prototype._getEndomorphism=function(e){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var t,r;if(e.beta)t=new n(e.beta,16).toRed(this.red);else{var i=this._getEndoRoots(this.p);t=(t=i[0].cmp(i[1])<0?i[0]:i[1]).toRed(this.red)}if(e.lambda)r=new n(e.lambda,16);else{var a=this._getEndoRoots(this.n);0===this.g.mul(a[0]).x.cmp(this.g.x.redMul(t))?r=a[0]:(r=a[1],s(0===this.g.mul(r).x.cmp(this.g.x.redMul(t))))}return{beta:t,lambda:r,basis:e.basis?e.basis.map((function(e){return{a:new n(e.a,16),b:new n(e.b,16)}})):this._getEndoBasis(r)}}},f.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:n.mont(e),r=new n(2).toRed(t).redInvm(),i=r.redNeg(),a=new n(3).toRed(t).redNeg().redSqrt().redMul(r);return[i.redAdd(a).fromRed(),i.redSub(a).fromRed()]},f.prototype._getEndoBasis=function(e){for(var t,r,i,a,o,s,f,c,d,u=this.n.ushrn(Math.floor(this.n.bitLength()/2)),h=e,l=this.n.clone(),b=new n(1),p=new n(0),m=new n(0),g=new n(1),v=0;0!==h.cmpn(0);){var y=l.div(h);c=l.sub(y.mul(h)),d=m.sub(y.mul(b));var w=g.sub(y.mul(p));if(!i&&c.cmp(u)<0)t=f.neg(),r=b,i=c.neg(),a=d;else if(i&&2==++v)break;f=c,l=h,h=c,m=b,b=d,g=p,p=w}o=c.neg(),s=d;var _=i.sqr().add(a.sqr());return o.sqr().add(s.sqr()).cmp(_)>=0&&(o=t,s=r),i.negative&&(i=i.neg(),a=a.neg()),o.negative&&(o=o.neg(),s=s.neg()),[{a:i,b:a},{a:o,b:s}]},f.prototype._endoSplit=function(e){var t=this.endo.basis,r=t[0],i=t[1],n=i.b.mul(e).divRound(this.n),a=r.b.neg().mul(e).divRound(this.n),o=n.mul(r.a),s=a.mul(i.a),f=n.mul(r.b),c=a.mul(i.b);return{k1:e.sub(o).sub(s),k2:f.add(c).neg()}},f.prototype.pointFromX=function(e,t){(e=new n(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),i=r.redSqrt();if(0!==i.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var a=i.fromRed().isOdd();return(t&&!a||!t&&a)&&(i=i.redNeg()),this.point(e,i)},f.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,r=e.y,i=this.a.redMul(t),n=t.redSqr().redMul(t).redIAdd(i).redIAdd(this.b);return 0===r.redSqr().redISub(n).cmpn(0)},f.prototype._endoWnafMulAdd=function(e,t,r){for(var i=this._endoWnafT1,n=this._endoWnafT2,a=0;a<e.length;a++){var o=this._endoSplit(t[a]),s=e[a],f=s._getBeta();o.k1.negative&&(o.k1.ineg(),s=s.neg(!0)),o.k2.negative&&(o.k2.ineg(),f=f.neg(!0)),i[2*a]=s,i[2*a+1]=f,n[2*a]=o.k1,n[2*a+1]=o.k2}for(var c=this._wnafMulAdd(1,i,n,2*a,r),d=0;d<2*a;d++)i[d]=null,n[d]=null;return c},a(c,o.BasePoint),f.prototype.point=function(e,t,r){return new c(this,e,t,r)},f.prototype.pointFromJSON=function(e,t){return c.fromJSON(this,e,t)},c.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var t=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var r=this.curve,i=function(e){return r.point(e.x.redMul(r.endo.beta),e.y)};e.beta=t,t.precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(i)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(i)}}}return t}},c.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]},c.fromJSON=function(e,t,r){"string"==typeof t&&(t=JSON.parse(t));var i=e.point(t[0],t[1],r);if(!t[2])return i;function n(t){return e.point(t[0],t[1],r)}var a=t[2];return i.precomputed={beta:null,doubles:a.doubles&&{step:a.doubles.step,points:[i].concat(a.doubles.points.map(n))},naf:a.naf&&{wnd:a.naf.wnd,points:[i].concat(a.naf.points.map(n))}},i},c.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)+">"},c.prototype.isInfinity=function(){return this.inf},c.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var r=t.redSqr().redISub(this.x).redISub(e.x),i=t.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,i)},c.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,r=this.x.redSqr(),i=e.redInvm(),n=r.redAdd(r).redIAdd(r).redIAdd(t).redMul(i),a=n.redSqr().redISub(this.x.redAdd(this.x)),o=n.redMul(this.x.redSub(a)).redISub(this.y);return this.curve.point(a,o)},c.prototype.getX=function(){return this.x.fromRed()},c.prototype.getY=function(){return this.y.fromRed()},c.prototype.mul=function(e){return e=new n(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},c.prototype.mulAdd=function(e,t,r){var i=[this,t],n=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(i,n):this.curve._wnafMulAdd(1,i,n,2)},c.prototype.jmulAdd=function(e,t,r){var i=[this,t],n=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(i,n,!0):this.curve._wnafMulAdd(1,i,n,2,!0)},c.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},c.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var r=this.precomputed,i=function(e){return e.neg()};t.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 t},c.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},a(d,o.BasePoint),f.prototype.jpoint=function(e,t,r){return new d(this,e,t,r)},d.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),r=this.x.redMul(t),i=this.y.redMul(t).redMul(e);return this.curve.point(r,i)},d.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},d.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),r=this.z.redSqr(),i=this.x.redMul(t),n=e.x.redMul(r),a=this.y.redMul(t.redMul(e.z)),o=e.y.redMul(r.redMul(this.z)),s=i.redSub(n),f=a.redSub(o);if(0===s.cmpn(0))return 0!==f.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var c=s.redSqr(),d=c.redMul(s),u=i.redMul(c),h=f.redSqr().redIAdd(d).redISub(u).redISub(u),l=f.redMul(u.redISub(h)).redISub(a.redMul(d)),b=this.z.redMul(e.z).redMul(s);return this.curve.jpoint(h,l,b)},d.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),r=this.x,i=e.x.redMul(t),n=this.y,a=e.y.redMul(t).redMul(this.z),o=r.redSub(i),s=n.redSub(a);if(0===o.cmpn(0))return 0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var f=o.redSqr(),c=f.redMul(o),d=r.redMul(f),u=s.redSqr().redIAdd(c).redISub(d).redISub(d),h=s.redMul(d.redISub(u)).redISub(n.redMul(c)),l=this.z.redMul(o);return this.curve.jpoint(u,h,l)},d.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var t=this,r=0;r<e;r++)t=t.dbl();return t}var i=this.curve.a,n=this.curve.tinv,a=this.x,o=this.y,s=this.z,f=s.redSqr().redSqr(),c=o.redAdd(o);for(r=0;r<e;r++){var d=a.redSqr(),u=c.redSqr(),h=u.redSqr(),l=d.redAdd(d).redIAdd(d).redIAdd(i.redMul(f)),b=a.redMul(u),p=l.redSqr().redISub(b.redAdd(b)),m=b.redISub(p),g=l.redMul(m);g=g.redIAdd(g).redISub(h);var v=c.redMul(s);r+1<e&&(f=f.redMul(h)),a=p,s=v,c=g}return this.curve.jpoint(a,c.redMul(n),s)},d.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},d.prototype._zeroDbl=function(){var e,t,r;if(this.zOne){var i=this.x.redSqr(),n=this.y.redSqr(),a=n.redSqr(),o=this.x.redAdd(n).redSqr().redISub(i).redISub(a);o=o.redIAdd(o);var s=i.redAdd(i).redIAdd(i),f=s.redSqr().redISub(o).redISub(o),c=a.redIAdd(a);c=(c=c.redIAdd(c)).redIAdd(c),e=f,t=s.redMul(o.redISub(f)).redISub(c),r=this.y.redAdd(this.y)}else{var d=this.x.redSqr(),u=this.y.redSqr(),h=u.redSqr(),l=this.x.redAdd(u).redSqr().redISub(d).redISub(h);l=l.redIAdd(l);var b=d.redAdd(d).redIAdd(d),p=b.redSqr(),m=h.redIAdd(h);m=(m=m.redIAdd(m)).redIAdd(m),e=p.redISub(l).redISub(l),t=b.redMul(l.redISub(e)).redISub(m),r=(r=this.y.redMul(this.z)).redIAdd(r)}return this.curve.jpoint(e,t,r)},d.prototype._threeDbl=function(){var e,t,r;if(this.zOne){var i=this.x.redSqr(),n=this.y.redSqr(),a=n.redSqr(),o=this.x.redAdd(n).redSqr().redISub(i).redISub(a);o=o.redIAdd(o);var s=i.redAdd(i).redIAdd(i).redIAdd(this.curve.a),f=s.redSqr().redISub(o).redISub(o);e=f;var c=a.redIAdd(a);c=(c=c.redIAdd(c)).redIAdd(c),t=s.redMul(o.redISub(f)).redISub(c),r=this.y.redAdd(this.y)}else{var d=this.z.redSqr(),u=this.y.redSqr(),h=this.x.redMul(u),l=this.x.redSub(d).redMul(this.x.redAdd(d));l=l.redAdd(l).redIAdd(l);var b=h.redIAdd(h),p=(b=b.redIAdd(b)).redAdd(b);e=l.redSqr().redISub(p),r=this.y.redAdd(this.z).redSqr().redISub(u).redISub(d);var m=u.redSqr();m=(m=(m=m.redIAdd(m)).redIAdd(m)).redIAdd(m),t=l.redMul(b.redISub(e)).redISub(m)}return this.curve.jpoint(e,t,r)},d.prototype._dbl=function(){var e=this.curve.a,t=this.x,r=this.y,i=this.z,n=i.redSqr().redSqr(),a=t.redSqr(),o=r.redSqr(),s=a.redAdd(a).redIAdd(a).redIAdd(e.redMul(n)),f=t.redAdd(t),c=(f=f.redIAdd(f)).redMul(o),d=s.redSqr().redISub(c.redAdd(c)),u=c.redISub(d),h=o.redSqr();h=(h=(h=h.redIAdd(h)).redIAdd(h)).redIAdd(h);var l=s.redMul(u).redISub(h),b=r.redAdd(r).redMul(i);return this.curve.jpoint(d,l,b)},d.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),t=this.y.redSqr(),r=this.z.redSqr(),i=t.redSqr(),n=e.redAdd(e).redIAdd(e),a=n.redSqr(),o=this.x.redAdd(t).redSqr().redISub(e).redISub(i),s=(o=(o=(o=o.redIAdd(o)).redAdd(o).redIAdd(o)).redISub(a)).redSqr(),f=i.redIAdd(i);f=(f=(f=f.redIAdd(f)).redIAdd(f)).redIAdd(f);var c=n.redIAdd(o).redSqr().redISub(a).redISub(s).redISub(f),d=t.redMul(c);d=(d=d.redIAdd(d)).redIAdd(d);var u=this.x.redMul(s).redISub(d);u=(u=u.redIAdd(u)).redIAdd(u);var h=this.y.redMul(c.redMul(f.redISub(c)).redISub(o.redMul(s)));h=(h=(h=h.redIAdd(h)).redIAdd(h)).redIAdd(h);var l=this.z.redAdd(o).redSqr().redISub(r).redISub(s);return this.curve.jpoint(u,h,l)},d.prototype.mul=function(e,t){return e=new n(e,t),this.curve._wnafMul(this,e)},d.prototype.eq=function(e){if("affine"===e.type)return this.eq(e.toJ());if(this===e)return!0;var t=this.z.redSqr(),r=e.z.redSqr();if(0!==this.x.redMul(r).redISub(e.x.redMul(t)).cmpn(0))return!1;var i=t.redMul(this.z),n=r.redMul(e.z);return 0===this.y.redMul(n).redISub(e.y.redMul(i)).cmpn(0)},d.prototype.eqXToP=function(e){var t=this.z.redSqr(),r=e.toRed(this.curve.red).redMul(t);if(0===this.x.cmp(r))return!0;for(var i=e.clone(),n=this.curve.redN.redMul(t);;){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}},d.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)+">"},d.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},function(e,t,r){"use strict";var i=r(4),n=r(0),a=r(31),o=r(7);function s(e){a.call(this,"mont",e),this.a=new i(e.a,16).toRed(this.red),this.b=new i(e.b,16).toRed(this.red),this.i4=new i(4).toRed(this.red).redInvm(),this.two=new i(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function f(e,t,r){a.BasePoint.call(this,e,"projective"),null===t&&null===r?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new i(t,16),this.z=new i(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}n(s,a),e.exports=s,s.prototype.validate=function(e){var t=e.normalize().x,r=t.redSqr(),i=r.redMul(t).redAdd(r.redMul(this.a)).redAdd(t);return 0===i.redSqrt().redSqr().cmp(i)},n(f,a.BasePoint),s.prototype.decodePoint=function(e,t){return this.point(o.toArray(e,t),1)},s.prototype.point=function(e,t){return new f(this,e,t)},s.prototype.pointFromJSON=function(e){return f.fromJSON(this,e)},f.prototype.precompute=function(){},f.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},f.fromJSON=function(e,t){return new f(e,t[0],t[1]||e.one)},f.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)+">"},f.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},f.prototype.dbl=function(){var e=this.x.redAdd(this.z).redSqr(),t=this.x.redSub(this.z).redSqr(),r=e.redSub(t),i=e.redMul(t),n=r.redMul(t.redAdd(this.curve.a24.redMul(r)));return this.curve.point(i,n)},f.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},f.prototype.diffAdd=function(e,t){var r=this.x.redAdd(this.z),i=this.x.redSub(this.z),n=e.x.redAdd(e.z),a=e.x.redSub(e.z).redMul(r),o=n.redMul(i),s=t.z.redMul(a.redAdd(o).redSqr()),f=t.x.redMul(a.redISub(o).redSqr());return this.curve.point(s,f)},f.prototype.mul=function(e){for(var t=e.clone(),r=this,i=this.curve.point(null,null),n=[];0!==t.cmpn(0);t.iushrn(1))n.push(t.andln(1));for(var a=n.length-1;a>=0;a--)0===n[a]?(r=r.diffAdd(i,this),i=i.dbl()):(i=r.diffAdd(i,this),r=r.dbl());return i},f.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},f.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},f.prototype.eq=function(e){return 0===this.getX().cmp(e.getX())},f.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},f.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},function(e,t,r){"use strict";var i=r(7),n=r(4),a=r(0),o=r(31),s=i.assert;function f(e){this.twisted=1!=(0|e.a),this.mOneA=this.twisted&&-1==(0|e.a),this.extended=this.mOneA,o.call(this,"edwards",e),this.a=new n(e.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new n(e.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new n(e.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),s(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|e.c)}function c(e,t,r,i,a){o.BasePoint.call(this,e,"projective"),null===t&&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 n(t,16),this.y=new n(r,16),this.z=i?new n(i,16):this.curve.one,this.t=a&&new n(a,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()))))}a(f,o),e.exports=f,f.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)},f.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)},f.prototype.jpoint=function(e,t,r,i){return this.point(e,t,r,i)},f.prototype.pointFromX=function(e,t){(e=new n(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr(),i=this.c2.redSub(this.a.redMul(r)),a=this.one.redSub(this.c2.redMul(this.d).redMul(r)),o=i.redMul(a.redInvm()),s=o.redSqrt();if(0!==s.redSqr().redSub(o).cmp(this.zero))throw new Error("invalid point");var f=s.fromRed().isOdd();return(t&&!f||!t&&f)&&(s=s.redNeg()),this.point(e,s)},f.prototype.pointFromY=function(e,t){(e=new n(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr(),i=r.redSub(this.c2),a=r.redMul(this.d).redMul(this.c2).redSub(this.a),o=i.redMul(a.redInvm());if(0===o.cmp(this.zero)){if(t)throw new Error("invalid point");return this.point(this.zero,e)}var s=o.redSqrt();if(0!==s.redSqr().redSub(o).cmp(this.zero))throw new Error("invalid point");return s.fromRed().isOdd()!==t&&(s=s.redNeg()),this.point(s,e)},f.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var t=e.x.redSqr(),r=e.y.redSqr(),i=t.redMul(this.a).redAdd(r),n=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(r)));return 0===i.cmp(n)},a(c,o.BasePoint),f.prototype.pointFromJSON=function(e){return c.fromJSON(this,e)},f.prototype.point=function(e,t,r,i){return new c(this,e,t,r,i)},c.fromJSON=function(e,t){return new c(e,t[0],t[1],t[2])},c.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)+">"},c.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},c.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);var i=this.curve._mulA(e),n=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),a=i.redAdd(t),o=a.redSub(r),s=i.redSub(t),f=n.redMul(o),c=a.redMul(s),d=n.redMul(s),u=o.redMul(a);return this.curve.point(f,c,u,d)},c.prototype._projDbl=function(){var e,t,r,i=this.x.redAdd(this.y).redSqr(),n=this.x.redSqr(),a=this.y.redSqr();if(this.curve.twisted){var o=(c=this.curve._mulA(n)).redAdd(a);if(this.zOne)e=i.redSub(n).redSub(a).redMul(o.redSub(this.curve.two)),t=o.redMul(c.redSub(a)),r=o.redSqr().redSub(o).redSub(o);else{var s=this.z.redSqr(),f=o.redSub(s).redISub(s);e=i.redSub(n).redISub(a).redMul(f),t=o.redMul(c.redSub(a)),r=o.redMul(f)}}else{var c=n.redAdd(a);s=this.curve._mulC(this.z).redSqr(),f=c.redSub(s).redSub(s);e=this.curve._mulC(i.redISub(c)).redMul(f),t=this.curve._mulC(c).redMul(n.redISub(a)),r=c.redMul(f)}return this.curve.point(e,t,r)},c.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},c.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),r=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),i=this.t.redMul(this.curve.dd).redMul(e.t),n=this.z.redMul(e.z.redAdd(e.z)),a=r.redSub(t),o=n.redSub(i),s=n.redAdd(i),f=r.redAdd(t),c=a.redMul(o),d=s.redMul(f),u=a.redMul(f),h=o.redMul(s);return this.curve.point(c,d,h,u)},c.prototype._projAdd=function(e){var t,r,i=this.z.redMul(e.z),n=i.redSqr(),a=this.x.redMul(e.x),o=this.y.redMul(e.y),s=this.curve.d.redMul(a).redMul(o),f=n.redSub(s),c=n.redAdd(s),d=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(a).redISub(o),u=i.redMul(f).redMul(d);return this.curve.twisted?(t=i.redMul(c).redMul(o.redSub(this.curve._mulA(a))),r=f.redMul(c)):(t=i.redMul(c).redMul(o.redSub(a)),r=this.curve._mulC(f).redMul(c)),this.curve.point(u,t,r)},c.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},c.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},c.prototype.mulAdd=function(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,!1)},c.prototype.jmulAdd=function(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,!0)},c.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this},c.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},c.prototype.getX=function(){return this.normalize(),this.x.fromRed()},c.prototype.getY=function(){return this.normalize(),this.y.fromRed()},c.prototype.eq=function(e){return this===e||0===this.getX().cmp(e.getX())&&0===this.getY().cmp(e.getY())},c.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(t))return!0;for(var r=e.clone(),i=this.curve.redN.redMul(this.z);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(i),0===this.x.cmp(t))return!0}},c.prototype.toP=c.prototype.normalize,c.prototype.mixedAdd=c.prototype.add},function(e,t,r){"use strict";t.sha1=r(189),t.sha224=r(190),t.sha256=r(96),t.sha384=r(191),t.sha512=r(97)},function(e,t,r){"use strict";var i=r(9),n=r(24),a=r(95),o=i.rotl32,s=i.sum32,f=i.sum32_5,c=a.ft_1,d=n.BlockHash,u=[1518500249,1859775393,2400959708,3395469782];function h(){if(!(this instanceof h))return new h;d.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}i.inherits(h,d),e.exports=h,h.blockSize=512,h.outSize=160,h.hmacStrength=80,h.padLength=64,h.prototype._update=function(e,t){for(var r=this.W,i=0;i<16;i++)r[i]=e[t+i];for(;i<r.length;i++)r[i]=o(r[i-3]^r[i-8]^r[i-14]^r[i-16],1);var n=this.h[0],a=this.h[1],d=this.h[2],h=this.h[3],l=this.h[4];for(i=0;i<r.length;i++){var b=~~(i/20),p=f(o(n,5),c(b,a,d,h),l,r[i],u[b]);l=h,h=d,d=o(a,30),a=n,n=p}this.h[0]=s(this.h[0],n),this.h[1]=s(this.h[1],a),this.h[2]=s(this.h[2],d),this.h[3]=s(this.h[3],h),this.h[4]=s(this.h[4],l)},h.prototype._digest=function(e){return"hex"===e?i.toHex32(this.h,"big"):i.split32(this.h,"big")}},function(e,t,r){"use strict";var i=r(9),n=r(96);function a(){if(!(this instanceof a))return new a;n.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}i.inherits(a,n),e.exports=a,a.blockSize=512,a.outSize=224,a.hmacStrength=192,a.padLength=64,a.prototype._digest=function(e){return"hex"===e?i.toHex32(this.h.slice(0,7),"big"):i.split32(this.h.slice(0,7),"big")}},function(e,t,r){"use strict";var i=r(9),n=r(97);function a(){if(!(this instanceof a))return new a;n.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}i.inherits(a,n),e.exports=a,a.blockSize=1024,a.outSize=384,a.hmacStrength=192,a.padLength=128,a.prototype._digest=function(e){return"hex"===e?i.toHex32(this.h.slice(0,12),"big"):i.split32(this.h.slice(0,12),"big")}},function(e,t,r){"use strict";var i=r(9),n=r(24),a=i.rotl32,o=i.sum32,s=i.sum32_3,f=i.sum32_4,c=n.BlockHash;function d(){if(!(this instanceof d))return new d;c.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function u(e,t,r,i){return e<=15?t^r^i:e<=31?t&r|~t&i:e<=47?(t|~r)^i:e<=63?t&i|r&~i:t^(r|~i)}function h(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function l(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}i.inherits(d,c),t.ripemd160=d,d.blockSize=512,d.outSize=160,d.hmacStrength=192,d.padLength=64,d.prototype._update=function(e,t){for(var r=this.h[0],i=this.h[1],n=this.h[2],c=this.h[3],d=this.h[4],v=r,y=i,w=n,_=c,M=d,S=0;S<80;S++){var k=o(a(f(r,u(S,i,n,c),e[b[S]+t],h(S)),m[S]),d);r=d,d=c,c=a(n,10),n=i,i=k,k=o(a(f(v,u(79-S,y,w,_),e[p[S]+t],l(S)),g[S]),M),v=M,M=_,_=a(w,10),w=y,y=k}k=s(this.h[1],n,_),this.h[1]=s(this.h[2],c,M),this.h[2]=s(this.h[3],d,v),this.h[3]=s(this.h[4],r,y),this.h[4]=s(this.h[0],i,w),this.h[0]=k},d.prototype._digest=function(e){return"hex"===e?i.toHex32(this.h,"little"):i.split32(this.h,"little")};var b=[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],p=[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],m=[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],g=[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]},function(e,t,r){"use strict";var i=r(9),n=r(6);function a(e,t,r){if(!(this instanceof a))return new a(e,t,r);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(i.toArray(t,r))}e.exports=a,a.prototype._init=function(e){e.length>this.blockSize&&(e=(new this.Hash).update(e).digest()),n(e.length<=this.blockSize);for(var t=e.length;t<this.blockSize;t++)e.push(0);for(t=0;t<e.length;t++)e[t]^=54;for(this.inner=(new this.Hash).update(e),t=0;t<e.length;t++)e[t]^=106;this.outer=(new this.Hash).update(e)},a.prototype.update=function(e,t){return this.inner.update(e,t),this},a.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)}},function(e,t){e.exports={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(e,t,r){"use strict";var i=r(4),n=r(196),a=r(7),o=r(49),s=r(46),f=a.assert,c=r(197),d=r(198);function u(e){if(!(this instanceof u))return new u(e);"string"==typeof e&&(f(o.hasOwnProperty(e),"Unknown curve "+e),e=o[e]),e instanceof o.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}e.exports=u,u.prototype.keyPair=function(e){return new c(this,e)},u.prototype.keyFromPrivate=function(e,t){return c.fromPrivate(this,e,t)},u.prototype.keyFromPublic=function(e,t){return c.fromPublic(this,e,t)},u.prototype.genKeyPair=function(e){e||(e={});for(var t=new n({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||s(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),a=this.n.sub(new i(2));;){var o=new i(t.generate(r));if(!(o.cmp(a)>0))return o.iaddn(1),this.keyFromPrivate(o)}},u.prototype._truncateToN=function(e,t){var r=8*e.byteLength()-this.n.bitLength();return r>0&&(e=e.ushrn(r)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},u.prototype.sign=function(e,t,r,a){"object"==typeof r&&(a=r,r=null),a||(a={}),t=this.keyFromPrivate(t,r),e=this._truncateToN(new i(e,16));for(var o=this.n.byteLength(),s=t.getPrivate().toArray("be",o),f=e.toArray("be",o),c=new n({hash:this.hash,entropy:s,nonce:f,pers:a.pers,persEnc:a.persEnc||"utf8"}),u=this.n.sub(new i(1)),h=0;;h++){var l=a.k?a.k(h):new i(c.generate(this.n.byteLength()));if(!((l=this._truncateToN(l,!0)).cmpn(1)<=0||l.cmp(u)>=0)){var b=this.g.mul(l);if(!b.isInfinity()){var p=b.getX(),m=p.umod(this.n);if(0!==m.cmpn(0)){var g=l.invm(this.n).mul(m.mul(t.getPrivate()).iadd(e));if(0!==(g=g.umod(this.n)).cmpn(0)){var v=(b.getY().isOdd()?1:0)|(0!==p.cmp(m)?2:0);return a.canonical&&g.cmp(this.nh)>0&&(g=this.n.sub(g),v^=1),new d({r:m,s:g,recoveryParam:v})}}}}}},u.prototype.verify=function(e,t,r,n){e=this._truncateToN(new i(e,16)),r=this.keyFromPublic(r,n);var a=(t=new d(t,"hex")).r,o=t.s;if(a.cmpn(1)<0||a.cmp(this.n)>=0)return!1;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;var s,f=o.invm(this.n),c=f.mul(e).umod(this.n),u=f.mul(a).umod(this.n);return this.curve._maxwellTrick?!(s=this.g.jmulAdd(c,r.getPublic(),u)).isInfinity()&&s.eqXToP(a):!(s=this.g.mulAdd(c,r.getPublic(),u)).isInfinity()&&0===s.getX().umod(this.n).cmp(a)},u.prototype.recoverPubKey=function(e,t,r,n){f((3&r)===r,"The recovery param is more than two bits"),t=new d(t,n);var a=this.n,o=new i(e),s=t.r,c=t.s,u=1&r,h=r>>1;if(s.cmp(this.curve.p.umod(this.curve.n))>=0&&h)throw new Error("Unable to find sencond key candinate");s=h?this.curve.pointFromX(s.add(this.curve.n),u):this.curve.pointFromX(s,u);var l=t.r.invm(a),b=a.sub(o).mul(l).umod(a),p=c.mul(l).umod(a);return this.g.mulAdd(b,s,p)},u.prototype.getKeyRecoveryParam=function(e,t,r,i){if(null!==(t=new d(t,i)).recoveryParam)return t.recoveryParam;for(var n=0;n<4;n++){var a;try{a=this.recoverPubKey(e,t,n)}catch(e){continue}if(a.eq(r))return n}throw new Error("Unable to find valid recovery factor")}},function(e,t,r){"use strict";var i=r(50),n=r(93),a=r(6);function o(e){if(!(this instanceof o))return new o(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=n.toArray(e.entropy,e.entropyEnc||"hex"),r=n.toArray(e.nonce,e.nonceEnc||"hex"),i=n.toArray(e.pers,e.persEnc||"hex");a(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,r,i)}e.exports=o,o.prototype._init=function(e,t,r){var i=e.concat(t).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},o.prototype._hmac=function(){return new i.hmac(this.hash,this.K)},o.prototype._update=function(e){var t=this._hmac().update(this.V).update([0]);e&&(t=t.update(e)),this.K=t.digest(),this.V=this._hmac().update(this.V).digest(),e&&(this.K=this._hmac().update(this.V).update([1]).update(e).digest(),this.V=this._hmac().update(this.V).digest())},o.prototype.reseed=function(e,t,r,i){"string"!=typeof t&&(i=r,r=t,t=null),e=n.toArray(e,t),r=n.toArray(r,i),a(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(r||[])),this._reseed=1},o.prototype.generate=function(e,t,r,i){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(i=r,r=t,t=null),r&&(r=n.toArray(r,i||"hex"),this._update(r));for(var a=[];a.length<e;)this.V=this._hmac().update(this.V).digest(),a=a.concat(this.V);var o=a.slice(0,e);return this._update(r),this._reseed++,n.encode(o,t)}},function(e,t,r){"use strict";var i=r(4),n=r(7).assert;function a(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}e.exports=a,a.fromPublic=function(e,t,r){return t instanceof a?t:new a(e,{pub:t,pubEnc:r})},a.fromPrivate=function(e,t,r){return t instanceof a?t:new a(e,{priv:t,privEnc:r})},a.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.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"}},a.prototype.getPublic=function(e,t){return"string"==typeof e&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub},a.prototype.getPrivate=function(e){return"hex"===e?this.priv.toString(16,2):this.priv},a.prototype._importPrivate=function(e,t){this.priv=new i(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},a.prototype._importPublic=function(e,t){if(e.x||e.y)return"mont"===this.ec.curve.type?n(e.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||n(e.x&&e.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(e.x,e.y));this.pub=this.ec.curve.decodePoint(e,t)},a.prototype.derive=function(e){return e.mul(this.priv).getX()},a.prototype.sign=function(e,t,r){return this.ec.sign(e,this,t,r)},a.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},a.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"}},function(e,t,r){"use strict";var i=r(4),n=r(7),a=n.assert;function o(e,t){if(e instanceof o)return e;this._importDER(e,t)||(a(e.r&&e.s,"Signature without r or s"),this.r=new i(e.r,16),this.s=new i(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}function s(){this.place=0}function f(e,t){var r=e[t.place++];if(!(128&r))return r;var i=15&r;if(0===i||i>4)return!1;for(var n=0,a=0,o=t.place;a<i;a++,o++)n<<=8,n|=e[o],n>>>=0;return!(n<=127)&&(t.place=o,n)}function c(e){for(var t=0,r=e.length-1;!e[t]&&!(128&e[t+1])&&t<r;)t++;return 0===t?e:e.slice(t)}function d(e,t){if(t<128)e.push(t);else{var r=1+(Math.log(t)/Math.LN2>>>3);for(e.push(128|r);--r;)e.push(t>>>(r<<3)&255);e.push(t)}}e.exports=o,o.prototype._importDER=function(e,t){e=n.toArray(e,t);var r=new s;if(48!==e[r.place++])return!1;var a=f(e,r);if(!1===a)return!1;if(a+r.place!==e.length)return!1;if(2!==e[r.place++])return!1;var o=f(e,r);if(!1===o)return!1;var c=e.slice(r.place,o+r.place);if(r.place+=o,2!==e[r.place++])return!1;var d=f(e,r);if(!1===d)return!1;if(e.length!==d+r.place)return!1;var u=e.slice(r.place,d+r.place);if(0===c[0]){if(!(128&c[1]))return!1;c=c.slice(1)}if(0===u[0]){if(!(128&u[1]))return!1;u=u.slice(1)}return this.r=new i(c),this.s=new i(u),this.recoveryParam=null,!0},o.prototype.toDER=function(e){var t=this.r.toArray(),r=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&r[0]&&(r=[0].concat(r)),t=c(t),r=c(r);!(r[0]||128&r[1]);)r=r.slice(1);var i=[2];d(i,t.length),(i=i.concat(t)).push(2),d(i,r.length);var a=i.concat(r),o=[48];return d(o,a.length),o=o.concat(a),n.encode(o,e)}},function(e,t,r){"use strict";var i=r(50),n=r(49),a=r(7),o=a.assert,s=a.parseBytes,f=r(200),c=r(201);function d(e){if(o("ed25519"===e,"only tested with ed25519 so far"),!(this instanceof d))return new d(e);e=n[e].curve;this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=i.sha512}e.exports=d,d.prototype.sign=function(e,t){e=s(e);var r=this.keyFromSecret(t),i=this.hashInt(r.messagePrefix(),e),n=this.g.mul(i),a=this.encodePoint(n),o=this.hashInt(a,r.pubBytes(),e).mul(r.priv()),f=i.add(o).umod(this.curve.n);return this.makeSignature({R:n,S:f,Rencoded:a})},d.prototype.verify=function(e,t,r){e=s(e),t=this.makeSignature(t);var i=this.keyFromPublic(r),n=this.hashInt(t.Rencoded(),i.pubBytes(),e),a=this.g.mul(t.S());return t.R().add(i.pub().mul(n)).eq(a)},d.prototype.hashInt=function(){for(var e=this.hash(),t=0;t<arguments.length;t++)e.update(arguments[t]);return a.intFromLE(e.digest()).umod(this.curve.n)},d.prototype.keyFromPublic=function(e){return f.fromPublic(this,e)},d.prototype.keyFromSecret=function(e){return f.fromSecret(this,e)},d.prototype.makeSignature=function(e){return e instanceof c?e:new c(this,e)},d.prototype.encodePoint=function(e){var t=e.getY().toArray("le",this.encodingLength);return t[this.encodingLength-1]|=e.getX().isOdd()?128:0,t},d.prototype.decodePoint=function(e){var t=(e=a.parseBytes(e)).length-1,r=e.slice(0,t).concat(-129&e[t]),i=0!=(128&e[t]),n=a.intFromLE(r);return this.curve.pointFromY(n,i)},d.prototype.encodeInt=function(e){return e.toArray("le",this.encodingLength)},d.prototype.decodeInt=function(e){return a.intFromLE(e)},d.prototype.isPoint=function(e){return e instanceof this.pointClass}},function(e,t,r){"use strict";var i=r(7),n=i.assert,a=i.parseBytes,o=i.cachedProperty;function s(e,t){this.eddsa=e,this._secret=a(t.secret),e.isPoint(t.pub)?this._pub=t.pub:this._pubBytes=a(t.pub)}s.fromPublic=function(e,t){return t instanceof s?t:new s(e,{pub:t})},s.fromSecret=function(e,t){return t instanceof s?t:new s(e,{secret:t})},s.prototype.secret=function(){return this._secret},o(s,"pubBytes",(function(){return this.eddsa.encodePoint(this.pub())})),o(s,"pub",(function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),o(s,"privBytes",(function(){var e=this.eddsa,t=this.hash(),r=e.encodingLength-1,i=t.slice(0,e.encodingLength);return i[0]&=248,i[r]&=127,i[r]|=64,i})),o(s,"priv",(function(){return this.eddsa.decodeInt(this.privBytes())})),o(s,"hash",(function(){return this.eddsa.hash().update(this.secret()).digest()})),o(s,"messagePrefix",(function(){return this.hash().slice(this.eddsa.encodingLength)})),s.prototype.sign=function(e){return n(this._secret,"KeyPair can only verify"),this.eddsa.sign(e,this)},s.prototype.verify=function(e,t){return this.eddsa.verify(e,t,this)},s.prototype.getSecret=function(e){return n(this._secret,"KeyPair is public only"),i.encode(this.secret(),e)},s.prototype.getPublic=function(e){return i.encode(this.pubBytes(),e)},e.exports=s},function(e,t,r){"use strict";var i=r(4),n=r(7),a=n.assert,o=n.cachedProperty,s=n.parseBytes;function f(e,t){this.eddsa=e,"object"!=typeof t&&(t=s(t)),Array.isArray(t)&&(t={R:t.slice(0,e.encodingLength),S:t.slice(e.encodingLength)}),a(t.R&&t.S,"Signature without R or S"),e.isPoint(t.R)&&(this._R=t.R),t.S instanceof i&&(this._S=t.S),this._Rencoded=Array.isArray(t.R)?t.R:t.Rencoded,this._Sencoded=Array.isArray(t.S)?t.S:t.Sencoded}o(f,"S",(function(){return this.eddsa.decodeInt(this.Sencoded())})),o(f,"R",(function(){return this.eddsa.decodePoint(this.Rencoded())})),o(f,"Rencoded",(function(){return this.eddsa.encodePoint(this.R())})),o(f,"Sencoded",(function(){return this.eddsa.encodeInt(this.S())})),f.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},f.prototype.toHex=function(){return n.encode(this.toBytes(),"hex").toUpperCase()},e.exports=f},function(e,t){},function(e,t,r){"use strict";var i=r(99);t.certificate=r(209);var n=i.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())}));t.RSAPrivateKey=n;var a=i.define("RSAPublicKey",(function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())}));t.RSAPublicKey=a;var o=i.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(s),this.key("subjectPublicKey").bitstr())}));t.PublicKey=o;var s=i.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())})),f=i.define("PrivateKeyInfo",(function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(s),this.key("subjectPrivateKey").octstr())}));t.PrivateKey=f;var c=i.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())}));t.EncryptedPrivateKey=c;var d=i.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())}));t.DSAPrivateKey=d,t.DSAparam=i.define("DSAparam",(function(){this.int()}));var u=i.define("ECPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(h),this.key("publicKey").optional().explicit(1).bitstr())}));t.ECPrivateKey=u;var h=i.define("ECParameters",(function(){this.choice({namedCurve:this.objid()})}));t.signature=i.define("signature",(function(){this.seq().obj(this.key("r").int(),this.key("s").int())}))},function(e,t,r){"use strict";const i=r(100),n=r(102),a=r(0);function o(e,t){this.name=e,this.body=t,this.decoders={},this.encoders={}}t.define=function(e,t){return new o(e,t)},o.prototype._createNamed=function(e){const t=this.name;function r(e){this._initNamed(e,t)}return a(r,e),r.prototype._initNamed=function(t,r){e.call(this,t,r)},new r(this)},o.prototype._getDecoder=function(e){return e=e||"der",this.decoders.hasOwnProperty(e)||(this.decoders[e]=this._createNamed(n[e])),this.decoders[e]},o.prototype.decode=function(e,t,r){return this._getDecoder(t).decode(e,r)},o.prototype._getEncoder=function(e){return e=e||"der",this.encoders.hasOwnProperty(e)||(this.encoders[e]=this._createNamed(i[e])),this.encoders[e]},o.prototype.encode=function(e,t,r){return this._getEncoder(t).encode(e,r)}},function(e,t,r){"use strict";const i=r(0),n=r(101);function a(e){n.call(this,e),this.enc="pem"}i(a,n),e.exports=a,a.prototype.encode=function(e,t){const r=n.prototype.encode.call(this,e).toString("base64"),i=["-----BEGIN "+t.label+"-----"];for(let e=0;e<r.length;e+=64)i.push(r.slice(e,e+64));return i.push("-----END "+t.label+"-----"),i.join("\n")}},function(e,t,r){"use strict";const i=r(0),n=r(51).Buffer,a=r(103);function o(e){a.call(this,e),this.enc="pem"}i(o,a),e.exports=o,o.prototype.decode=function(e,t){const r=e.toString().split(/[\r\n]+/g),i=t.label.toUpperCase(),o=/^-----(BEGIN|END) ([^-]+)-----$/;let s=-1,f=-1;for(let e=0;e<r.length;e++){const t=r[e].match(o);if(null!==t&&t[2]===i){if(-1!==s){if("END"!==t[1])break;f=e;break}if("BEGIN"!==t[1])break;s=e}}if(-1===s||-1===f)throw new Error("PEM section not found for: "+i);const c=r.slice(s+1,f).join("");c.replace(/[^a-z0-9+/=]+/gi,"");const d=n.from(c,"base64");return a.prototype.decode.call(this,d,t)}},function(e,t,r){"use strict";const i=t;i.Reporter=r(53).Reporter,i.DecoderBuffer=r(25).DecoderBuffer,i.EncoderBuffer=r(25).EncoderBuffer,i.Node=r(52)},function(e,t,r){"use strict";const i=t;i._reverse=function(e){const t={};return Object.keys(e).forEach((function(r){(0|r)==r&&(r|=0);const i=e[r];t[i]=r})),t},i.der=r(54)},function(e,t,r){"use strict";var i=r(99),n=i.define("Time",(function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})})),a=i.define("AttributeTypeValue",(function(){this.seq().obj(this.key("type").objid(),this.key("value").any())})),o=i.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())})),s=i.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(o),this.key("subjectPublicKey").bitstr())})),f=i.define("RelativeDistinguishedName",(function(){this.setof(a)})),c=i.define("RDNSequence",(function(){this.seqof(f)})),d=i.define("Name",(function(){this.choice({rdnSequence:this.use(c)})})),u=i.define("Validity",(function(){this.seq().obj(this.key("notBefore").use(n),this.key("notAfter").use(n))})),h=i.define("Extension",(function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())})),l=i.define("TBSCertificate",(function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(o),this.key("issuer").use(d),this.key("validity").use(u),this.key("subject").use(d),this.key("subjectPublicKeyInfo").use(s),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(h).optional())})),b=i.define("X509Certificate",(function(){this.seq().obj(this.key("tbsCertificate").use(l),this.key("signatureAlgorithm").use(o),this.key("signatureValue").bitstr())}));e.exports=b},function(e){e.exports=JSON.parse('{"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"}')},function(e,t,r){var i=/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,n=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,a=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r+/=]+)-----END \1-----$/m,o=r(29),s=r(43),f=r(1).Buffer;e.exports=function(e,t){var r,c=e.toString(),d=c.match(i);if(d){var u="aes"+d[1],h=f.from(d[2],"hex"),l=f.from(d[3].replace(/[\r\n]/g,""),"base64"),b=o(t,h.slice(0,8),parseInt(d[1],10)).key,p=[],m=s.createDecipheriv(u,b,h);p.push(m.update(l)),p.push(m.final()),r=f.concat(p)}else{var g=c.match(a);r=f.from(g[2].replace(/[\r\n]/g,""),"base64")}return{tag:c.match(n)[1],data:r}}},function(e,t,r){var i=r(1).Buffer,n=r(98),a=r(30).ec,o=r(32),s=r(104);function f(e,t){if(e.cmpn(0)<=0)throw new Error("invalid sig");if(e.cmp(t)>=t)throw new Error("invalid sig")}e.exports=function(e,t,r,c,d){var u=o(r);if("ec"===u.type){if("ecdsa"!==c&&"ecdsa/rsa"!==c)throw new Error("wrong public key type");return function(e,t,r){var i=s[r.data.algorithm.curve.join(".")];if(!i)throw new Error("unknown curve "+r.data.algorithm.curve.join("."));var n=new a(i),o=r.data.subjectPrivateKey.data;return n.verify(t,e,o)}(e,t,u)}if("dsa"===u.type){if("dsa"!==c)throw new Error("wrong public key type");return function(e,t,r){var i=r.data.p,a=r.data.q,s=r.data.g,c=r.data.pub_key,d=o.signature.decode(e,"der"),u=d.s,h=d.r;f(u,a),f(h,a);var l=n.mont(i),b=u.invm(a);return 0===s.toRed(l).redPow(new n(t).mul(b).mod(a)).fromRed().mul(c.toRed(l).redPow(h.mul(b).mod(a)).fromRed()).mod(i).mod(a).cmp(h)}(e,t,u)}if("rsa"!==c&&"ecdsa/rsa"!==c)throw new Error("wrong public key type");t=i.concat([d,t]);for(var h=u.modulus.byteLength(),l=[1],b=0;t.length+l.length+2<h;)l.push(255),b++;l.push(0);for(var p=-1;++p<t.length;)l.push(t[p]);l=i.from(l);var m=n.mont(u.modulus);e=(e=new n(e).toRed(m)).redPow(new n(u.publicExponent)),e=i.from(e.fromRed().toArray());var g=b<8?1:0;for(h=Math.min(e.length,l.length),e.length!==l.length&&(g=1),p=-1;++p<h;)g|=e[p]^l[p];return 0===g}},function(e,t,r){(function(t){var i=r(30),n=r(4);e.exports=function(e){return new o(e)};var a={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 o(e){this.curveType=a[e],this.curveType||(this.curveType={name:e}),this.curve=new i.ec(this.curveType.name),this.keys=void 0}function s(e,r,i){Array.isArray(e)||(e=e.toArray());var n=new t(e);if(i&&n.length<i){var a=new t(i-n.length);a.fill(0),n=t.concat([a,n])}return r?n.toString(r):n}a.p224=a.secp224r1,a.p256=a.secp256r1=a.prime256v1,a.p192=a.secp192r1=a.prime192v1,a.p384=a.secp384r1,a.p521=a.secp521r1,o.prototype.generateKeys=function(e,t){return this.keys=this.curve.genKeyPair(),this.getPublicKey(e,t)},o.prototype.computeSecret=function(e,r,i){return r=r||"utf8",t.isBuffer(e)||(e=new t(e,r)),s(this.curve.keyFromPublic(e).getPublic().mul(this.keys.getPrivate()).getX(),i,this.curveType.byteLength)},o.prototype.getPublicKey=function(e,t){var r=this.keys.getPublic("compressed"===t,!0);return"hybrid"===t&&(r[r.length-1]%2?r[0]=7:r[0]=6),s(r,e)},o.prototype.getPrivateKey=function(e){return s(this.keys.getPrivate(),e)},o.prototype.setPublicKey=function(e,r){return r=r||"utf8",t.isBuffer(e)||(e=new t(e,r)),this.keys._importPublic(e),this},o.prototype.setPrivateKey=function(e,r){r=r||"utf8",t.isBuffer(e)||(e=new t(e,r));var i=new n(e);return i=i.toString(16),this.keys=this.curve.genKeyPair(),this.keys._importPrivate(i),this}}).call(this,r(2).Buffer)},function(e,t,r){t.publicEncrypt=r(215),t.privateDecrypt=r(216),t.privateEncrypt=function(e,r){return t.publicEncrypt(e,r,!0)},t.publicDecrypt=function(e,r){return t.privateDecrypt(e,r,!0)}},function(e,t,r){var i=r(32),n=r(10),a=r(11),o=r(105),s=r(106),f=r(4),c=r(107),d=r(48),u=r(1).Buffer;e.exports=function(e,t,r){var h;h=e.padding?e.padding:r?1:4;var l,b=i(e);if(4===h)l=function(e,t){var r=e.modulus.byteLength(),i=t.length,c=a("sha1").update(u.alloc(0)).digest(),d=c.length,h=2*d;if(i>r-h-2)throw new Error("message too long");var l=u.alloc(r-i-h-2),b=r-d-1,p=n(d),m=s(u.concat([c,l,u.alloc(1,1),t],b),o(p,b)),g=s(p,o(m,d));return new f(u.concat([u.alloc(1),g,m],r))}(b,t);else if(1===h)l=function(e,t,r){var i,a=t.length,o=e.modulus.byteLength();if(a>o-11)throw new Error("message too long");i=r?u.alloc(o-a-3,255):function(e){var t,r=u.allocUnsafe(e),i=0,a=n(2*e),o=0;for(;i<e;)o===a.length&&(a=n(2*e),o=0),(t=a[o++])&&(r[i++]=t);return r}(o-a-3);return new f(u.concat([u.from([0,r?1:2]),i,u.alloc(1),t],o))}(b,t,r);else{if(3!==h)throw new Error("unknown padding");if((l=new f(t)).cmp(b.modulus)>=0)throw new Error("data too long for modulus")}return r?d(l,b):c(l,b)}},function(e,t,r){var i=r(32),n=r(105),a=r(106),o=r(4),s=r(48),f=r(11),c=r(107),d=r(1).Buffer;e.exports=function(e,t,r){var u;u=e.padding?e.padding:r?1:4;var h,l=i(e),b=l.modulus.byteLength();if(t.length>b||new o(t).cmp(l.modulus)>=0)throw new Error("decryption error");h=r?c(new o(t),l):s(t,l);var p=d.alloc(b-h.length);if(h=d.concat([p,h],b),4===u)return function(e,t){var r=e.modulus.byteLength(),i=f("sha1").update(d.alloc(0)).digest(),o=i.length;if(0!==t[0])throw new Error("decryption error");var s=t.slice(1,o+1),c=t.slice(o+1),u=a(s,n(c,o)),h=a(c,n(u,r-o-1));if(function(e,t){e=d.from(e),t=d.from(t);var r=0,i=e.length;e.length!==t.length&&(r++,i=Math.min(e.length,t.length));var n=-1;for(;++n<i;)r+=e[n]^t[n];return r}(i,h.slice(0,o)))throw new Error("decryption error");var l=o;for(;0===h[l];)l++;if(1!==h[l++])throw new Error("decryption error");return h.slice(l)}(l,h);if(1===u)return function(e,t,r){var i=t.slice(0,2),n=2,a=0;for(;0!==t[n++];)if(n>=t.length){a++;break}var o=t.slice(2,n-1);("0002"!==i.toString("hex")&&!r||"0001"!==i.toString("hex")&&r)&&a++;o.length<8&&a++;if(a)throw new Error("decryption error");return t.slice(n)}(0,h,r);if(3===u)return h;throw new Error("unknown padding")}},function(e,t,r){"use strict";(function(e,i){function n(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}var a=r(1),o=r(10),s=a.Buffer,f=a.kMaxLength,c=e.crypto||e.msCrypto,d=Math.pow(2,32)-1;function u(e,t){if("number"!=typeof e||e!=e)throw new TypeError("offset must be a number");if(e>d||e<0)throw new TypeError("offset must be a uint32");if(e>f||e>t)throw new RangeError("offset out of range")}function h(e,t,r){if("number"!=typeof e||e!=e)throw new TypeError("size must be a number");if(e>d||e<0)throw new TypeError("size must be a uint32");if(e+t>r||e>f)throw new RangeError("buffer too small")}function l(e,t,r,n){if(i.browser){var a=e.buffer,s=new Uint8Array(a,t,r);return c.getRandomValues(s),n?void i.nextTick((function(){n(null,e)})):e}if(!n)return o(r).copy(e,t),e;o(r,(function(r,i){if(r)return n(r);i.copy(e,t),n(null,e)}))}c&&c.getRandomValues||!i.browser?(t.randomFill=function(t,r,i,n){if(!(s.isBuffer(t)||t instanceof e.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof r)n=r,r=0,i=t.length;else if("function"==typeof i)n=i,i=t.length-r;else if("function"!=typeof n)throw new TypeError('"cb" argument must be a function');return u(r,t.length),h(i,r,t.length),l(t,r,i,n)},t.randomFillSync=function(t,r,i){void 0===r&&(r=0);if(!(s.isBuffer(t)||t instanceof e.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');u(r,t.length),void 0===i&&(i=t.length-r);return h(i,r,t.length),l(t,r,i)}):(t.randomFill=n,t.randomFillSync=n)}).call(this,r(5),r(3))},function(e,t,r){"use strict";
/*!
 * ed25519.js - ed25519 for bcrypto
 * Copyright (c) 2017-2019, Christopher Jeffrey (MIT License).
 * https://github.com/bcoin-org/bcrypto
 */e.exports=r(219)},function(e,t,r){"use strict";
/*!
 * ed25519.js - ed25519 for bcrypto
 * Copyright (c) 2018-2019, Christopher Jeffrey (MIT License).
 * https://github.com/bcoin-org/bcrypto
 *
 * Resources:
 *   https://en.wikipedia.org/wiki/EdDSA#Ed25519
 *   https://ed25519.cr.yp.to/ed25519-20110926.pdf
 *   https://tools.ietf.org/html/rfc8032#section-5.1
 */const i=r(220),n=r(226),a=r(228);e.exports=new i("ED25519","X25519",null,n,a)},function(e,t,r){"use strict";(function(t){
/*!
 * eddsa.js - EdDSA for bcrypto
 * Copyright (c) 2018-2019, Christopher Jeffrey (MIT License).
 * https://github.com/bcoin-org/bcrypto
 *
 * Parts of this software are based on indutny/elliptic:
 *   Copyright (c) 2014, Fedor Indutny (MIT License).
 *   https://github.com/indutny/elliptic
 *
 * References:
 *
 *   [EDDSA] High-speed high-security signatures
 *     D. J. Bernstein, N. Duif, T. Lange, P. Schwabe, B. Yang
 *     https://ed25519.cr.yp.to/ed25519-20110926.pdf
 *
 *   [RFC8032] Edwards-Curve Digital Signature Algorithm (EdDSA)
 *     S. Josefsson, I. Liusvaara
 *     https://tools.ietf.org/html/rfc8032
 *
 * Implementation Notes:
 *
 *   - In contrast to the ECDSA backend, we allow points at
 *     infinity (in all functions).
 *
 *   - Mike Hamburg's Ed448-Goldilocks rejects both infinity as
 *     well as the torsion point (0, -1). We do not replicate
 *     this behavior.
 *
 *   - For Ed25519, we do "cofactor-less" verification by default.
 *     This means torsion components will affect the result of the
 *     verification.
 *
 *   - For Ed448, we do cofactor verification by default to mimic
 *     OpenSSL and Mike Hamburg's Ed448-Goldilocks implementation.
 *
 *   - `verifySingle`/`verifyBatch` do cofactor verification. Do
 *     not use `verifyBatch` expecting the same results as the
 *     regular `verify` call[1]. This will not be the case for
 *     Ed25519.
 *
 *   - All functions are completely unaware of points of small
 *     order and torsion components (in other words, points will
 *     not be explicitly checked for this, anywhere).
 *
 *   - `deriveWithScalar` and `exchangeWithScalar` automatically
 *     clamp scalars before multiplying (meaning torsion components
 *     are removed from the result and points of small order will
 *     be normalized to infinity).
 *
 *   - The HD function, `publicKeyTweakMul`, _does not_ clamp
 *     automatically. It is possible to end up with a torsion
 *     component in the resulting point (assuming the input
 *     point had one).
 *
 *   - Ed448-Goldilocks is 4-isogenous to Curve448. This means
 *     that when converting to Curve448, small order points will
 *     be normalized to (0, 0). When converting back to Ed448,
 *     any small order points will be normalized to infinity,
 *     and any torsion components will be removed completely.
 *     Also note that when converting back, the implementation
 *     needs to divide the point by 4. This is a major perf hit,
 *     so treat `x448.publicKeyConvert` as if it were a point
 *     multiplication.
 *
 *   - Elligators should not be used with Edwards curves. As
 *     Tibouchi notes[2], regular public keys will map to
 *     _distinguishable_ field elements as they are always in
 *     the primary subgroup. Either the Ristretto Elligator[3],
 *     or a prime order curve with an Elligator Squared[2]
 *     construction are suitable alternatives here.
 *
 *   - These notes also spell out why you should avoid using
 *     Edwards curves on a blockchain[4].
 *
 *   [1] https://moderncrypto.org/mail-archive/curves/2016/000836.html
 *   [2] https://eprint.iacr.org/2014/043.pdf
 *   [3] https://ristretto.group/formulas/elligator.html
 *   [4] https://src.getmonero.org/2017/05/17/disclosure-of-a-major-bug-in-cryptonote-based-currencies.html
 */
const i=r(8),n=r(108),a=r(21),o=r(112),s=r(113);class f{constructor(e){this.curve=e.curve,this.hash=new e.hash}init(e,r){return i(null==e||"boolean"==typeof e),i(t.isBuffer(r)),r.length>255&&(r=r.slice(0,255)),this.hash.init(),(this.curve.context||null!=e||r.length>0)&&(this.curve.prefix&&this.hash.update(this.curve.prefix),this.hash.update(c(e)),this.hash.update(c(r.length)),this.hash.update(r)),this}update(e){return this.hash.update(e),this}final(){const e=this.hash.final(2*this.curve.adjustedSize);return a.decode(e,this.curve.endian).imod(this.curve.n)}}function c(e){const r=t.alloc(1);return r[0]=255&e,r}e.exports=class{constructor(e,t,r,n,a){i("string"==typeof e),i(!t||"string"==typeof t),i(!r||"string"==typeof r),i(n),this.id=e,this.type="eddsa",this.mid=t||null,this.eid=r||null,this.hash=n,this.native=0,this._pre=a||null,this._curve=null,this._mont=null,this._iso=null,this._rng=null}get curve(){return this._curve||(this._curve=o.curve(this.id,this._pre),this._curve.precompute(s),this._pre=null),this._curve}get mont(){return this.mid&&!this._mont&&(this._mont=o.curve(this.mid)),this._mont}get iso(){return this.eid?(this._iso||(this._iso=o.curve(this.eid)),this._iso):this.mont}get rng(){return this._rng||(this._rng=new n(this.curve)),this._rng}get size(){return this.curve.adjustedSize}get bits(){return this.curve.fieldBits}hashNonce(e,t,r,i){const n=new f(this);return n.init(r,i),n.update(e),n.update(t),n.final()}hashChallenge(e,t,r,i,n){const a=new f(this);return a.init(i,n),a.update(e),a.update(t),a.update(r),a.final()}privateKeyGenerate(){return s.randomBytes(this.curve.adjustedSize)}scalarGenerate(){const e=s.randomBytes(this.curve.scalarSize);return this.curve.clamp(e)}privateKeyExpand(e){i(t.isBuffer(e)),i(e.length===this.curve.adjustedSize);const r=this.hash.digest(e,2*this.curve.adjustedSize);return this.curve.splitHash(r)}privateKeyConvert(e){const[t]=this.privateKeyExpand(e);return t}privateKeyVerify(e){return i(t.isBuffer(e)),e.length===this.curve.adjustedSize}scalarVerify(e){return i(t.isBuffer(e)),e.length===this.curve.scalarSize}scalarIsZero(e){let r;i(t.isBuffer(e));try{r=this.curve.decodeScalar(e).imod(this.curve.n)}catch(e){return!1}return r.isZero()}scalarClamp(e){return i(t.isBuffer(e)),i(e.length===this.curve.scalarSize),this.curve.clamp(t.from(e))}privateKeyExport(e){const r=this.publicKeyCreate(e),{x:i,y:n}=this.publicKeyExport(r);return{d:t.from(e),x:i,y:n}}privateKeyImport(e){if(i(e&&"object"==typeof e),i(t.isBuffer(e.d)),e.d.length!==this.curve.adjustedSize)throw new Error("Invalid private key.");return t.from(e.d)}scalarTweakAdd(e,t){const r=this.curve.decodeScalar(e),i=this.curve.decodeScalar(t),n=r.add(i).imod(this.curve.n);return this.curve.encodeScalar(n)}scalarTweakMul(e,t){const r=this.curve.decodeScalar(e),i=this.curve.decodeScalar(t),n=r.mul(i).imod(this.curve.n);return this.curve.encodeScalar(n)}scalarReduce(e){const t=this.curve.decodeScalar(e).imod(this.curve.n);return this.curve.encodeScalar(t)}scalarNegate(e){const t=this.curve.decodeScalar(e).imod(this.curve.n).neg().imod(this.curve.n);return this.curve.encodeScalar(t)}scalarInvert(e){const t=this.curve.decodeScalar(e).imod(this.curve.n);if(t.isZero())return this.curve.encodeScalar(t);const r=t.invert(this.curve.n);return this.curve.encodeScalar(r)}publicKeyCreate(e){const t=this.privateKeyConvert(e);return this.publicKeyFromScalar(t)}publicKeyFromScalar(e){const t=this.curve.decodeScalar(e).imod(this.curve.n);return this.curve.g.mulBlind(t).encode()}publicKeyConvert(e){if(!this.mont)throw new Error("No equivalent montgomery curve.");const t=this.curve.decodePoint(e);return this.mont.pointFromEdwards(t).encode()}publicKeyFromUniform(e){const t=this.curve.decodeUniform(e);return this.curve.pointFromUniform(t,this.iso).encode()}publicKeyToUniform(e,t=s.randomInt()){const r=this.curve.decodePoint(e),i=this.curve.pointToUniform(r,t,this.iso);return this.curve.encodeUniform(i,t>>>8)}publicKeyFromHash(e,t=!1){return this.curve.pointFromHash(e,t,this.iso).encode()}publicKeyToHash(e,t=s.randomInt()){const r=this.curve.decodePoint(e);return this.curve.pointToHash(r,t,s,this.iso)}publicKeyVerify(e){i(t.isBuffer(e));try{this.curve.decodePoint(e)}catch(e){return!1}return!0}publicKeyIsInfinity(e){let r;i(t.isBuffer(e));try{r=this.curve.decodePoint(e)}catch(e){return!1}return r.isInfinity()}publicKeyIsSmall(e){let r;i(t.isBuffer(e));try{r=this.curve.decodePoint(e)}catch(e){return!1}return r.isSmall()}publicKeyHasTorsion(e){let r;i(t.isBuffer(e));try{r=this.curve.decodePoint(e)}catch(e){return!1}return r.hasTorsion()}publicKeyExport(e){const{x:t,y:r}=this.curve.decodePoint(e);return{x:this.curve.encodeField(t.fromRed()),y:this.curve.encodeField(r.fromRed())}}publicKeyImport(e){i(e&&"object"==typeof e);let t,r=null,n=null;if(null!=e.x&&(r=a.decode(e.x,this.curve.endian),r.cmp(this.curve.p)>=0))throw new Error("Invalid point.");if(null!=e.y&&(n=a.decode(e.y,this.curve.endian),n.cmp(this.curve.p)>=0))throw new Error("Invalid point.");if(r&&n){if(t=this.curve.point(r,n),!t.validate())throw new Error("Invalid point.")}else if(r)t=this.curve.pointFromX(r,e.sign);else{if(!n)throw new Error("Invalid point.");t=this.curve.pointFromY(n,e.sign)}return t.encode()}publicKeyTweakAdd(e,t){const r=this.curve.decodeScalar(t).imod(this.curve.n),i=this.curve.decodePoint(e);return this.curve.g.mul(r).add(i).encode()}publicKeyTweakMul(e,t){const r=this.curve.decodeScalar(t);return this.curve.decodePoint(e).mul(r).encode()}publicKeyCombine(e){i(Array.isArray(e));let t=this.curve.point();for(const r of e){const e=this.curve.decodePoint(r);t=t.add(e)}return t.encode()}publicKeyNegate(e){return this.curve.decodePoint(e).neg().encode()}sign(e,t,r,i){const[n,a]=this.privateKeyExpand(t);return this.signWithScalar(e,n,a,r,i)}signWithScalar(e,r,n,a,o){null==o&&(o=t.alloc(0)),i(t.isBuffer(e)),i(t.isBuffer(n)),i(n.length===this.curve.adjustedSize);const{n:s}=this.curve,f=this.curve.g,c=this.hashNonce(n,e,a,o),d=f.mulBlind(c).encode(),u=this.curve.decodeScalar(r),h=f.mulBlind(u).encode(),l=this.hashChallenge(d,h,e,a,o),b=c.add(l.mul(u)).imod(s);return t.concat([d,this.curve.encodeAdjusted(b)])}signTweakAdd(e,t,r,i,n){const[a,o]=this.privateKeyExpand(t),s=this.scalarTweakAdd(a,r),f=this.hash.multi(o,r,null,2*this.curve.adjustedSize).slice(0,this.curve.adjustedSize);return this.signWithScalar(e,s,f,i,n)}signTweakMul(e,t,r,i,n){const[a,o]=this.privateKeyExpand(t),s=this.scalarTweakMul(a,r),f=this.hash.multi(o,r,null,2*this.curve.adjustedSize).slice(0,this.curve.adjustedSize);return this.signWithScalar(e,s,f,i,n)}verify(e,r,n,a,o){if(null==o&&(o=t.alloc(0)),i(t.isBuffer(e)),i(t.isBuffer(r)),i(t.isBuffer(n)),i(null==a||"boolean"==typeof a),i(t.isBuffer(o)),r.length!==2*this.curve.adjustedSize)return!1;if(n.length!==this.curve.adjustedSize)return!1;try{return this._verify(e,r,n,a,o)}catch(e){return!1}}_verify(e,t,r,i,n){const{n:a}=this.curve,o=this.curve.g,s=t.slice(0,this.curve.adjustedSize),f=t.slice(this.curve.adjustedSize),c=this.curve.decodePoint(s),d=this.curve.decodeAdjusted(f),u=this.curve.decodePoint(r);if(d.cmp(a)>=0)return!1;const h=this.hashChallenge(s,r,e,i,n);return o.mulAdd(d,u.neg(),h).eq(c)}verifySingle(e,r,n,a,o){if(null==o&&(o=t.alloc(0)),i(t.isBuffer(e)),i(t.isBuffer(r)),i(t.isBuffer(n)),i(null==a||"boolean"==typeof a),i(t.isBuffer(o)),r.length!==2*this.curve.adjustedSize)return!1;if(n.length!==this.curve.adjustedSize)return!1;try{return this._verifySingle(e,r,n,a,o)}catch(e){return!1}}_verifySingle(e,t,r,i,n){const{n:a}=this.curve,o=this.curve.g,s=t.slice(0,this.curve.adjustedSize),f=t.slice(this.curve.adjustedSize),c=this.curve.decodePoint(s),d=this.curve.decodeAdjusted(f),u=this.curve.decodePoint(r);if(d.cmp(a)>=0)return!1;const h=this.hashChallenge(s,r,e,i,n),l=this.curve.imulH(d),b=u.mulH(),p=c.mulH();return o.mulAdd(l,b.neg(),h).eq(p)}verifyBatch(e,r,n){null==n&&(n=t.alloc(0)),i(Array.isArray(e)),i(null==r||"boolean"==typeof r),i(t.isBuffer(n));for(const r of e){i(Array.isArray(r)&&3===r.length);const[e,n,a]=r;if(i(t.isBuffer(e)),i(t.isBuffer(n)),i(t.isBuffer(a)),n.length!==2*this.curve.adjustedSize)return!1;if(a.length!==this.curve.adjustedSize)return!1}try{return this._verifyBatch(e,r,n)}catch(e){return!1}}_verifyBatch(e,t,r){const{n:i}=this.curve,n=this.curve.g,o=new Array(1+2*e.length),s=new Array(1+2*e.length),f=new a(0);this.rng.init(e),o[0]=n,s[0]=f;for(let n=0;n<e.length;n++){const[a,c,d]=e[n],u=c.slice(0,this.curve.adjustedSize),h=c.slice(this.curve.adjustedSize),l=this.curve.decodePoint(u),b=this.curve.decodeAdjusted(h),p=this.curve.decodePoint(d);if(b.cmp(i)>=0)return!1;const m=this.hashChallenge(u,d,a,t,r),g=this.rng.generate(n),v=m.mul(g).imod(i);f.iadd(b.mul(g)).imod(i),o[1+2*n+0]=l.mulH(),s[1+2*n+0]=g,o[1+2*n+1]=p.mulH(),s[1+2*n+1]=v}return this.curve.imulH(f.ineg()),this.curve.mulAll(o,s).isInfinity()}derive(e,t){const r=this.privateKeyConvert(t);return this.deriveWithScalar(e,r)}deriveWithScalar(e,t){const r=this.curve.decodePoint(e),i=this.curve.decodeClamped(t),n=r.mulBlind(i,s);if(n.isInfinity())throw new Error("Invalid point.");return n.encode()}}}).call(this,r(2).Buffer)},function(e,t,r){"use strict";(function(t){
/*!
 * bn.js - big numbers for bcrypto
 * Copyright (c) 2018-2019, Christopher Jeffrey (MIT License).
 * https://github.com/bcoin-org/bcrypto
 *
 * Parts of this software are based on indutny/bn.js:
 *   Copyright (c) 2015, Fedor Indutny (MIT License).
 *   https://github.com/indutny/bn.js
 *
 * Parts of this software are based on golang/go:
 *   Copyright (c) 2009, The Go Authors. All rights reserved.
 *   https://github.com/golang/go
 *
 * Parts of this software are based on openssl/openssl:
 *   Copyright (c) 1998-2018, The OpenSSL Project (Apache License v2.0).
 *   Copyright (c) 1995-1998, Eric A. Young, Tim J. Hudson. All rights reserved.
 *   https://github.com/openssl/openssl
 *
 * Parts of this software are based on libgmp:
 *   Copyright (c) 1991-1997, 1999-2014, Free Software Foundation, Inc.
 *   https://gmplib.org/
 *
 * Parts of this software are based on v8/v8:
 *   Copyright (c) 2017, The V8 Project Authors (BSD-Style License).
 *   https://github.com/v8/v8
 *
 * Resources:
 *   https://github.com/indutny/bn.js/blob/master/lib/bn.js
 *   https://github.com/indutny/miller-rabin/blob/master/lib/mr.js
 *   https://github.com/golang/go/blob/master/src/math/big/int.go
 *   https://github.com/golang/go/blob/master/src/math/big/nat.go
 *   https://github.com/golang/go/blob/master/src/math/big/prime.go
 *   https://github.com/openssl/openssl/tree/master/crypto/bn
 *   https://github.com/openssl/openssl/blob/master/crypto/bn/bn_kron.c
 *   https://github.com/gnutls/nettle/blob/master/mini-gmp.c
 *   https://github.com/v8/v8/blob/master/src/objects/bigint.cc
 */
const{custom:i}=r(109),n=["","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"],a=[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],o=[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],s={p192:null,p224:null,p521:null,k256:null,p251:null,p25519:null,p448:null},f=0,c=1,d=2,u=3,h=4,l=7,b="function"==typeof BigInt;class p{constructor(e,t,r){this.words=[0],this.length=1,this.negative=0,this.red=null,this.from(e,t,r)}_iadd(e,t){let r=0,i=0;for(e.length<t.length&&([e,t]=[t,e]),e!==this&&this._alloc(e.length);i<t.length;i++){const n=(0|e.words[i])+(0|t.words[i])+r;this.words[i]=67108863&n,r=n>>>26}for(;0!==r&&i<e.length;i++){const t=(0|e.words[i])+r;this.words[i]=67108863&t,r=t>>>26}if(this.length=e.length,0!==r)this._alloc(this.length+1),this.words[this.length++]=r;else if(e!==this)for(;i<e.length;i++)this.words[i]=e.words[i];return this}_iaddn(e){if(this.words[0]+=e,this.words[0]<67108864)return this;let t=0;for(this._alloc(this.length+1),this.words[this.length]=0;t<this.length&&this.words[t]>=67108864;t++)this.words[t]-=67108864,this.words[t+1]+=1;return this.length=Math.max(this.length,t+1),this}iadd(e){if(j(p.isBN(e),"num","bignum"),this.negative===e.negative)this._iadd(this,e);else{const t=this.ucmp(e);if(0===t)return this.words[0]=0,this.length=1,this.negative=0,this;t<0?(this._isub(e,this),this.negative^=1):this._isub(this,e)}return this}iaddn(e){j(D(e),"num","smi");const t=e<0|0;return t&&(e=-e),this.negative===t?this._iaddn(e):1===this.length&&this.words[0]<e?(this.words[0]=e-this.words[0],this.negative^=1):this._isubn(e),this}add(e){return j(p.isBN(e),"num","bignum"),e.length>this.length?e.clone().iadd(this):this.clone().iadd(e)}addn(e){return this.clone().iaddn(e)}_isub(e,t){let r=0,i=0;for(R(e.length>=t.length),e!==this&&this._alloc(e.length);i<t.length;i++){const n=(0|e.words[i])-(0|t.words[i])+r;r=n>>26,this.words[i]=67108863&n}for(;0!==r&&i<e.length;i++){const t=(0|e.words[i])+r;r=t>>26,this.words[i]=67108863&t}if(R(0===r),e!==this)for(;i<e.length;i++)this.words[i]=e.words[i];return this.length=Math.max(this.length,i),this._strip()}_isubn(e){if(this.words[0]-=e,this.words[0]>=0)return this._normalize();R(1!==this.length),this._alloc(this.length+1);for(let e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.words[this.length]=0,this._strip()}isub(e){if(j(p.isBN(e),"num","bignum"),this.negative!==e.negative)this._iadd(this,e);else{const t=this.ucmp(e);if(0===t)return this.words[0]=0,this.length=1,this.negative=0,this;t<0?(this._isub(e,this),this.negative^=1):this._isub(this,e)}return this}isubn(e){j(D(e),"num","smi");const t=e<0|0;return t&&(e=-e),this.negative!==t?this._iaddn(e):1===this.length&&this.words[0]<e?(this.words[0]=e-this.words[0],this.negative^=1):this._isubn(e),this}sub(e){return this.clone().isub(e)}subn(e){return this.clone().isubn(e)}_mul(e,t){if(j(p.isBN(e),"num","bignum"),j(p.isBN(t),"out","bignum"),10===this.length&&10===e.length)return X(this,e,t);const r=this.length+e.length;return r<63?H(this,e,t):r<1024?W(this,e,t):function(e,t,r){if(!b||e.length+t.length>82595519)return W(e,t,r);const i=BigInt(0),n=BigInt(67108863),a=BigInt(26);let o=e.toBigInt()*t.toBigInt();const s=o<i|0;s&&(o=-o);let f=0;for(;o>i;)r.words[f++]=Number(o&n),o>>=a;0===f&&(r.words[f++]=0);return r.length=f,r.negative=s,r}(this,e,t)}imul(e){return this.mul(e)._move(this)}imuln(e){j(D(e),"num","smi");const t=e<0|0;t&&(e=-e);let r=0;for(let t=0;t<this.length;t++){const i=this.words[t]*e,n=(67108863&i)+(67108863&r);r>>=26,r+=i/67108864|0,r+=n>>>26,this.words[t]=67108863&n}return this.negative^=t,0!==r?(this._alloc(this.length+1),this.words[this.length++]=r):this._strip(),this}mul(e){j(p.isBN(e),"num","bignum");const t=this.length+e.length,r=new p;r.words=new Array(t);for(let e=0;e<t;e++)r.words[e]=0;return this._mul(e,r)}muln(e){return this.clone().imuln(e)}mulShift(e,t){j(p.isBN(e),"num","bignum"),j(t>>>0===t,"bits","uint32");const r=this.mul(e),i=r.utestn(t-1);return r.iushrn(t),this.negative^e.negative?r.isubn(i):r.iaddn(i)}_div(e,t){j(p.isBN(e),"num","bignum"),R((t&l)===t),R(t!==f);const r=this,i=e;if(T(!i.isZero()),r.isZero())return[new p(0),new p(0)];const n=r.negative,a=i.negative;r.negative=0,i.negative=0;let o=null,s=null;return r.ucmp(i)<0?(t&c&&(o=new p(0)),t&d&&(s=r.clone())):1===i.length?(t&c&&(o=r.quon(i.words[0])),t&d&&(s=r.remn(i.words[0]))):[o,s]=r._wordDiv(i,t),r.negative=n,i.negative=a,t&c&&(o.negative=r.negative^i.negative,o._normalize()),t&d&&(s.negative=r.negative,s._normalize()),t&h&&(t&c&&(R(0!=(t&d)),0!==s.negative&&(0!==i.negative?o.iaddn(1):o.isubn(1))),t&d&&0!==s.negative&&(0!==i.negative?s.isub(i):s.iadd(i))),[o,s]}_wordDiv(e,t){let r,i=this.clone(),n=e,a=null;const o=0|n.words[n.length-1],s=26-U(o);0!==s?(n=n.clone(),i.iushln(s),n.iushln(s),r=0|n.words[n.length-1]):r=o;const f=i.length-n.length;if(R(f>=0),t&c){a=new p(0),a.length=f+1,a.words=new Array(a.length);for(let e=0;e<a.length;e++)a.words[e]=0}const u=i.clone();u._ishlnsubmul(n,1,f),0===u.negative&&(a&&(a.words[f]=1),i=u);for(let e=f-1;e>=0;e--){const t=(67108864*i.words[n.length+e]+i.words[n.length+e-1])/r|0;let o=Math.min(t,67108863);for(i._ishlnsubmul(n,o,e);0!==i.negative;)o-=1,i.negative=0,i._ishlnsubmul(n,1,e),i.ineg();a&&(a.words[e]=o)}return a&&a._strip(),t&d&&0!==s&&i.iushrn(s),[a,i]}_ishlnsubmul(e,t,r){let i=0,n=0;for(this._expand(e.length+r);n<e.length;n++){const a=(0|this.words[n+r])+i,o=e.words[n]*t,s=a-(67108863&o);i=(s>>26)-(o/67108864|0),this.words[n+r]=67108863&s}for(;n<this.length-r;n++){const e=(0|this.words[n+r])+i;i=e>>26,this.words[n+r]=67108863&e}if(0===i)return this._strip();R(-1===i),i=0;for(let e=0;e<this.length;e++){const t=-(0|this.words[e])+i;i=t>>26,this.words[e]=67108863&t}return this.negative=1,this._strip()}quorem(e){return this._div(e,u)}iquo(e){return this.quo(e)._move(this)}iquon(e){j(D(e),"num","smi"),T(0!==e);const t=e<0|0;t&&(e=-e);let r=0;for(let t=this.length-1;t>=0;t--){const i=(0|this.words[t])+67108864*r;this.words[t]=i/e|0,r=i%e}return this.negative^=t,this._strip()}quo(e){return this._div(e,c)[0]}quon(e){return this.clone().iquon(e)}irem(e){return this.rem(e)._move(this)}iremn(e){let t=this.remrn(e);return t<0&&(t=-t),this.words[0]=t,this.length=1,this._normalize()}rem(e){return this._div(e,d)[1]}remn(e){return this.clone().iremn(e)}remrn(e){j(D(e),"num","smi"),T(0!==e),e<0&&(e=-e);const t=(1<<26)%e;let r=0;for(let i=this.length-1;i>=0;i--)r=(t*r+(0|this.words[i]))%e;return 0!==this.negative?0|-r:r}divmod(e){return this._div(e,u|h)}idiv(e){return this.div(e)._move(this)}idivn(e){if(0===this.negative)return this.iquon(e);const t=this.remrn(e);return this.iquon(e),t<0&&(e<0?this.iaddn(1):this.isubn(1)),this}div(e){return this._div(e,u|h)[0]}divn(e){return this.clone().idivn(e)}imod(e){return this.ucmp(e)<0?(0!==this.negative&&(this._isub(e,this),this.negative=0),this):this.mod(e)._move(this)}imodn(e){return this.words[0]=this.modrn(e),this.length=1,this.negative=0,this}mod(e){return this._div(e,d|h)[1]}modn(e){return this.clone().imodn(e)}modrn(e){j(D(e),"num","smi");let t=this.remrn(e);return t<0&&(e<0?t-=e:t+=e),t}divRound(e){const[t,r]=this.quorem(e);if(r.isZero())return t;const i=1&e.words[0];e.iushrn(1);const n=r.ucmp(e);return e.iushln(1),e.words[0]|=i,n<0||e.isOdd()&&0===n?t:this.negative^e.negative?t.isubn(1):t.iaddn(1)}ipow(e){return this.pow(e)._move(this)}ipown(e){return this.pown(e)._move(this)}pow(e){j(p.isBN(e),"num","bignum");let t=U(e.words[e.length-1]),r=new p(1);for(let i=e.length-1;i>=0;i--){const n=e.words[i];for(let e=t-1;e>=0;e--)r=r.sqr(),n>>e&1&&(r=r.mul(this));t=26}return r}pown(e){if(j(D(e),"num","smi"),e<0&&(e=-e),0===e)return new p(1);if(1===e)return this.clone();let t=this;for(let r=U(e)-2;r>=0;r--)t=t.sqr(),e>>r&1&&(t=t.mul(this));return t}isqr(){return this.imul(this)}sqr(){return this.mul(this)}_rootrem(e,t){if(j(e>>>0===e,"num","uint32"),0===e)throw new RangeError("Zeroth root.");if(~e&this.negative)throw new RangeError("Negative with even root.");if(this.ucmpn(1)<=0)return[this.clone(),new p(0)];let r,i,n=new p(0),a=p.shift(1,this.bitLength()/e+1|0);if(0!==this.negative&&a.ineg(),2===e)do{n=a,a=this.quo(n),a.iadd(n),a.iushrn(1)}while(a.ucmp(n)<0);else do{n=a,a=n.pown(e-1),a=this.quo(a),r=n.muln(e-1),a.iadd(r),a=a.quon(e)}while(a.ucmp(n)<0);return t&&(a=n.pown(e),i=this.sub(a)),[n,i]}rootrem(e){return this._rootrem(e,1)}iroot(e){return this.root(e)._move(this)}root(e){return this._rootrem(e,0)[0]}isPower(e){if(j(e>>>0===e,"num","uint32"),0===e||~e&this.negative)return!1;const[,t]=this.rootrem(e);return 0===t.sign()}sqrtrem(){return this.rootrem(2)}isqrt(){return this.sqrt()._move(this)}sqrt(){return this.root(2)}isSquare(){return this.isPower(2)}iand(e){j(p.isBN(e),"num","bignum");let t=this,r=e;if(t===r)return t;if(0==(t.negative|r.negative))return t.iuand(r);if(1==(t.negative&r.negative))return t.iaddn(1),r.iaddn(1),t.iuor(r),t.isubn(1),r.isubn(1),t;0!==t.negative&&([t,r]=[r.clone(),t]);const i=t.bitLength();return r.iaddn(1),r.inotn(i),t.iuand(r),r.inotn(i),r.isubn(1),t._move(this)}iandn(e){return j(D(e),"num","smi"),0!=(this.negative|e<0)?this.iand(new p(e)):(this.words[0]&=e,this.length=1,this)}and(e){return this.clone().iand(e)}andn(e){return this.clone().iandn(e)}andrn(e){if(j(D(e),"num","smi"),0!=(this.negative|e<0)){const t=this.iand(new p(e));if(t.length>1)throw new RangeError("Number exceeds 26 bits.");return 0!==t.negative?-t.words[0]:t.words[0]}return this.words[0]&e}iuand(e){j(p.isBN(e),"num","bignum"),this.length=Math.min(this.length,e.length);for(let t=0;t<this.length;t++)this.words[t]&=e.words[t];return this._strip()}iuandn(e){return j(D(e),"num","smi"),this.words[0]&=Math.abs(e),this.length=1,this._normalize()}uand(e){return this.clone().iuand(e)}uandn(e){return this.clone().iuandn(e)}uandrn(e){j(D(e),"num","smi");const t=this.words[0]&Math.abs(e);return 0!==this.negative?0|-t:t}ior(e){j(p.isBN(e),"num","bignum");let t=this,r=e;return t===r?t:0==(t.negative|r.negative)?t.iuor(r):1==(t.negative&r.negative)?(t.iaddn(1),r.iaddn(1),t.iuand(r),t.isubn(1),r.isubn(1),t):(r=r.clone(),0!==t.negative&&([t,r]=[r,t]),r.iaddn(1),t.inotn(r.bitLength()),r.iuand(t),r.isubn(1),r._move(this))}iorn(e){return j(D(e),"num","smi"),0!=(this.negative|e<0)?this.ior(new p(e)):(this.words[0]|=e,this)}or(e){return this.clone().ior(e)}orn(e){return this.clone().iorn(e)}iuor(e){j(p.isBN(e),"num","bignum"),this._expand(e.length);for(let t=0;t<e.length;t++)this.words[t]|=e.words[t];return this}iuorn(e){return j(D(e),"num","smi"),this.words[0]|=Math.abs(e),this}uor(e){return this.clone().iuor(e)}uorn(e){return this.clone().iuorn(e)}ixor(e){j(p.isBN(e),"num","bignum");let t=this,r=e;return t===r?(t.words[0]=0,t.length=1,t.negative=0,t):0==(t.negative|r.negative)?t.iuxor(r):1==(t.negative&r.negative)?(t.iaddn(1),r.iaddn(1),t.iuxor(r),t.ineg(),r.isubn(1),t):(0!==t.negative&&([t,r]=[r.clone(),t]),r.iaddn(1),t.iuxor(r),t.iaddn(1),t.ineg(),r.isubn(1),t._move(this))}ixorn(e){return j(D(e),"num","smi"),0!=(this.negative|e<0)?this.ixor(new p(e)):(this.words[0]^=e,this)}xor(e){return this.clone().ixor(e)}xorn(e){return this.clone().ixorn(e)}iuxor(e){j(p.isBN(e),"num","bignum");let t=this,r=e;t.length<r.length&&([t,r]=[r,t]);let i=0;for(;i<r.length;i++)this.words[i]=t.words[i]^r.words[i];if(t!==this)for(this._alloc(t.length);i<t.length;i++)this.words[i]=t.words[i];return this.length=t.length,this._strip()}iuxorn(e){return j(D(e),"num","smi"),this.words[0]^=Math.abs(e),this._normalize()}uxor(e){return this.clone().iuxor(e)}uxorn(e){return this.clone().iuxorn(e)}inot(){return 0!==this.negative?this.ineg().isubn(1):this.iaddn(1).ineg(),this}not(){return this.clone().inot()}inotn(e){j(e>>>0===e,"width","uint32");const t=e%26;let r=Math.ceil(e/26),i=0;for(this._expand(r),t>0&&(r-=1);i<r;i++)this.words[i]^=67108863;return t>0&&(this.words[i]^=(1<<t)-1),this._strip()}notn(e){return this.clone().inotn(e)}ishl(e){return j(p.isBN(e),"bits","bignum"),j(e.bitLength()<=32,"bits","uint32"),this.ishln(e.toNumber())}ishln(e){return this.iushln(e)}shl(e){return this.clone().ishl(e)}shln(e){return this.clone().ishln(e)}iushl(e){return j(p.isBN(e),"bits","bignum"),j(e.bitLength()<=32,"bits","uint32"),this.iushln(e.toNumber())}iushln(e){j(e>>>0===e,"bits","uint32");const t=e%26,r=(e-t)/26,i=(1<<t)-1<<26-t;if(0!==t){let e=0;for(let r=0;r<this.length;r++){const n=this.words[r]&i,a=(0|this.words[r])-n<<t;this.words[r]=a|e,e=n>>>26-t}0!==e&&(this._alloc(this.length+1),this.words[this.length++]=e)}if(0!==r){this._alloc(this.length+r);for(let e=this.length-1;e>=0;e--)this.words[e+r]=this.words[e];for(let e=0;e<r;e++)this.words[e]=0;this.length+=r}return this._strip()}ushl(e){return this.clone().iushl(e)}ushln(e){return this.clone().iushln(e)}_split(e,t){const r=e%26,i=Math.min((e-r)/26,this.length),n=(1<<r)-1;if(t){t._alloc(i);for(let e=0;e<i;e++)t.words[e]=this.words[e];t.length=i}if(0===i);else if(this.length>i){this.length-=i;for(let e=0;e<this.length;e++)this.words[e]=this.words[e+i]}else this.words[0]=0,this.length=1;let a=0;if(0!==r)for(let e=this.length-1;e>=0;e--){const t=0|this.words[e];this.words[e]=a<<26-r|t>>>r,a=t&n}return t&&(0!==a?(t._alloc(t.length+1),t.words[t.length++]=a):(0===t.length&&(t.words[t.length++]=0),t._strip())),this._strip()}ishr(e){return j(p.isBN(e),"bits","bignum"),j(e.bitLength()<=32,"bits","uint32"),this.ishrn(e.toNumber())}ishrn(e){return j(e>>>0===e,"bits","uint32"),0!==this.negative?(this.iaddn(1),this.iushrn(e),this.isubn(1),this):this.iushrn(e)}shr(e){return this.clone().ishr(e)}shrn(e){return this.clone().ishrn(e)}iushr(e){return j(p.isBN(e),"bits","bignum"),j(e.bitLength()<=32,"bits","uint32"),this.iushrn(e.toNumber())}iushrn(e){return j(e>>>0===e,"bits","uint32"),this._split(e,null)}ushr(e){return this.clone().iushr(e)}ushrn(e){return this.clone().iushrn(e)}setn(e,t){return j(e>>>0===e,"bit","uint32"),0!==this.negative?(this.iaddn(1),this.usetn(e,!t),this.isubn(1),this):this.usetn(e,t)}usetn(e,t){j(e>>>0===e,"bit","uint32");const r=e%26,i=(e-r)/26;return this._expand(i+1),t?this.words[i]|=1<<r:this.words[i]&=~(1<<r),this._strip()}testn(e){j(e>>>0===e,"bit","uint32");const t=e%26,r=(e-t)/26;if(this.length<=r)return this.negative;const i=this.words[r],n=i>>t&1;if(0!==this.negative){if(t>0&&i&(1<<t)-1)return 1^n;let e=r;for(;e--;)if(this.words[e]>0)return 1^n}return n}utestn(e){j(e>>>0===e,"bit","uint32");const t=e%26,r=(e-t)/26;return this.length<=r?0:this.words[r]>>t&1}imaskn(e){return j(e>>>0===e,"bits","uint32"),0!==this.negative&&(this.iaddn(1),this.inotn(e+1),this.ineg()),this.iumaskn(e)}maskn(e){return this.clone().imaskn(e)}iumaskn(e){j(e>>>0===e,"bits","uint32");const t=e%26;let r=(e-t)/26;return this.length<=r?this:(0!==t&&(r+=1),this.length=Math.min(r,this.length),0!==t&&(this.words[this.length-1]&=(1<<t)-1),0===this.length&&(this.words[this.length++]=0),this._strip())}umaskn(e){return this.clone().iumaskn(e)}andln(e){return this.words[0]&e}bit(e){return this.utestn(e)}bits(e,t){j(e>>>0===e,"pos","uint32"),j(t>>>0===t,"width","uint32"),j(t<=26,"width","width");const r=e%26,i=(e-r)/26;if(i>=this.length)return 0;let n=this.words[i]>>r&(1<<t)-1;if(r+t>26&&i+1<this.length){const e=r+t-26;n|=(this.words[i+1]&(1<<e)-1)<<26-r}return n}ineg(){return this.isZero()||(this.negative^=1),this}neg(){return this.clone().ineg()}iabs(){return this.negative=0,this}abs(){return this.clone().iabs()}cmp(e){if(j(p.isBN(e),"num","bignum"),this.negative!==e.negative)return e.negative-this.negative;const t=this.ucmp(e);return 0!==this.negative?0|-t:t}cmpn(e){j(D(e),"num","smi");const t=e<0|0;if(this.negative!==t)return t-this.negative;const r=this.ucmpn(e);return 0!==this.negative?0|-r:r}eq(e){return 0===this.cmp(e)}eqn(e){return 0===this.cmpn(e)}gt(e){return this.cmp(e)>0}gtn(e){return this.cmpn(e)>0}gte(e){return this.cmp(e)>=0}gten(e){return this.cmpn(e)>=0}lt(e){return this.cmp(e)<0}ltn(e){return this.cmpn(e)<0}lte(e){return this.cmp(e)<=0}lten(e){return this.cmpn(e)<=0}sign(){return 0!==this.negative?-1:1===this.length&&0===this.words[0]?0:1}isZero(){return 1===this.length&&0===this.words[0]}isNeg(){return 0!==this.negative}isPos(){return 0===this.negative}isOdd(){return 1==(1&this.words[0])}isEven(){return 0==(1&this.words[0])}ucmp(e){if(j(p.isBN(e),"num","bignum"),this.length<e.length)return-1;if(this.length>e.length)return 1;for(let t=this.length-1;t>=0;t--){const r=0|this.words[t],i=0|e.words[t];if(r!==i)return(r>i)-(r<i)}return 0}ucmpn(e){if(j(D(e),"num","smi"),this.length>1)return 1;const t=0|this.words[0];return e<0&&(e=-e),(t>e)-(t<e)}legendre(e){const t=b?p.red(e):p.mont(e);return this.toRed(t).redLegendre()}jacobi(e){if(j(p.isBN(e),"num","bignum"),e.isZero()||e.isEven())throw new Error("jacobi: `num` must be odd.");let t=this._cloneNormal(),r=e.clone(),i=1;for(r.isNeg()&&(t.isNeg()&&(i=-1),r.ineg()),(t.isNeg()||t.ucmp(r)>=0)&&t.imod(r);!t.isZero();){if(1&t._makeOdd()){const e=r.andln(7);3!==e&&5!==e||(i=-i)}t.ucmp(r)<0&&([t,r]=[r,t],3===t.andln(3)&&3===r.andln(3)&&(i=-i)),t._isub(t,r).iushrn(1);const e=r.andln(7);3!==e&&5!==e||(i=-i)}return 0!==r.cmpn(1)?0:i}kronecker(e){j(p.isBN(e),"num","bignum");const t=[0,1,0,-1,0,-1,0,1];let r=this._cloneNormal(),i=e.clone(),n=1;if(i.isZero())return 0===r.ucmpn(1)?n:0;if(!r.isOdd()&&!i.isOdd())return 0;for(1&i._makeOdd()&&(n=t[r.andln(7)]),i.isNeg()&&(r.isNeg()&&(n=-n),i.ineg());!r.isZero();){1&r._makeOdd()&&(n*=t[i.andln(7)]);(r.words[0]^67108863*r.negative)&i.words[0]&2&&(n=-n),i.imod(r),[r,i]=[i,r],i.negative=0}return 0!==i.cmpn(1)?0:n}igcd(e){return this.gcd(e)._move(this)}gcd(e){if(j(p.isBN(e),"num","bignum"),this.isZero())return e.abs();if(e.isZero())return this.abs();let t=this.clone(),r=e.clone();t.negative=0,r.negative=0;const i=t._factor2(r);for(0!==i&&(t.iushrn(i),r.iushrn(i));;){t._makeOdd(),r._makeOdd();const e=t.ucmp(r);if(e<0)[t,r]=[r,t];else if(0===e||0===r.ucmpn(1))break;t._isub(t,r)}return r.iushln(i)}ilcm(e){return this.lcm(e)._move(this)}lcm(e){return j(p.isBN(e),"num","bignum"),this.isZero()||e.isZero()?new p(0):this.quo(this.gcd(e)).mul(e).iabs()}egcd(e){if(j(p.isBN(e),"num","bignum"),this.isZero())return[new p(0),new p(e.sign()),e.abs()];if(e.isZero())return[new p(this.sign()),new p(0),this.abs()];const t=this.clone(),r=e.clone();t.negative=0,r.negative=0;const i=new p(1),n=new p(0),a=new p(0),o=new p(1),s=t._factor2(r);s>0&&(t.iushrn(s),r.iushrn(s));const f=t.clone(),c=r.clone();for(;!t.isZero();){let e=t._makeOdd(),s=r._makeOdd();for(;e--;)(i.isOdd()||n.isOdd())&&(i.iadd(c),n.isub(f)),i.iushrn(1),n.iushrn(1);for(;s--;)(a.isOdd()||o.isOdd())&&(a.iadd(c),o.isub(f)),a.iushrn(1),o.iushrn(1);t.cmp(r)>=0?(t.isub(r),i.isub(a),n.isub(o)):(r.isub(t),a.isub(i),o.isub(n))}return 0!==this.negative&&a.ineg(),0!==e.negative&&o.ineg(),[a,o,r.iushln(s)]}iinvert(e){return this.invert(e)._move(this)}invert(e){if(j(p.isBN(e),"num","bignum"),B(e.sign()>0,"invert"),e.isOdd())return this._invertp(e);if(0===e.cmpn(1))throw new RangeError("Not invertible.");const[t,,r]=this.egcd(e);if(0!==r.cmpn(1))throw new RangeError("Not invertible.");return t.imod(e)}ifermat(e){return this.fermat(e)._move(this)}fermat(e){const t=b?p.red(e):p.mont(e);return this.toRed(t).redFermat().fromRed()}ipowm(e,t,r){return this.powm(e,t,r)._move(this)}powm(e,t,r){const i=!b&&r?p.mont(t):p.red(t);return this.toRed(i).redPow(e).fromRed()}ipowmn(e,t,r){return this.powmn(e,t,r)._move(this)}powmn(e,t,r){const i=r?p.mont(t):p.red(t);return this.toRed(i).redPown(e).fromRed()}isqrtm(e){return this.sqrtm(e)._move(this)}sqrtm(e){let t;return j(p.isBN(e),"p","bignum"),t=3===e.andln(3)||5===e.andln(7)?p.red(e):p.mont(e),this.toRed(t).redSqrt().fromRed()}isqrtpq(e,t){return this.sqrtpq(e,t)._move(this)}sqrtpq(e,t){const r=this.sqrtm(e),i=this.sqrtm(t),[n,a]=e.egcd(t),o=i.mul(n).mul(e),s=r.mul(a).mul(t),f=e.mul(t);return o.iadd(s).imod(f)}isPrime(e,t,r){return j(t>>>0===t,"reps","uint32"),!!this.isPrimeMR(e,t+1,!0)&&!!this.isPrimeLucas(r)}isPrimeMR(e,t,r=!1){j(t>>>0===t,"reps","uint32"),j(t>0,"reps","integer"),j("boolean"==typeof r,"force2","boolean");const i=this;if(i.cmpn(7)<0)return 0===i.cmpn(2)||0===i.cmpn(3)||0===i.cmpn(5);if(i.isEven())return!1;const n=i.subn(1),a=n.subn(2),o=n.zeroBits(),s=n.ushrn(o),f=p.red(i),c=n.toRed(f),d=new p(1).toRed(f);e:for(let i=0;i<t;i++){let n;i===t-1&&r?n=new p(2):(n=p.random(e,0,a),n.iaddn(2));let u=n.toRed(f).redPow(s);if(0!==u.cmp(d)&&0!==u.cmp(c)){for(let e=1;e<o;e++){if(u=u.redSqr(),0===u.cmp(c))continue e;if(0===u.cmp(d))return!1}return!1}}return!0}isPrimeLucas(e=0){j(e>>>0===e,"limit","uint32");const t=this;if(t.cmpn(1)<=0)return!1;if(t.isEven())return 0===t.cmpn(2);let r=3;for(;;){if(r>1e4)throw new Error(`Cannot find (D/n) = -1 for ${t.toString(10)}.`);if(0!==e&&r>e)return!1;const i=new p(r*r-4).jacobi(t);if(-1===i)break;if(0===i)return 0===t.cmpn(r+2);if(40===r&&t.isSquare())return!1;r+=1}const i=t.addn(1),n=i._makeOdd();let a=new p(2),o=new p(r);for(let e=i.bitLength();e>=0;e--)i.utestn(e)?(a=a.mul(o).isubn(r).imod(t),o=o.sqr().isubn(2).imod(t)):(o=o.mul(a).isubn(r).imod(t),a=a.sqr().isubn(2).imod(t));if(0===a.cmpn(2)||0===a.cmp(t.subn(2))){const e=a.muln(r).imod(t),i=o.ushln(1).imod(t);if(0===e.cmp(i))return!0}for(let e=0;e<n-1;e++){if(a.isZero())return!0;if(0===a.cmpn(2))return!1;a=a.sqr().isubn(2).imod(t)}return!1}toTwos(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()}fromTwos(e){return j(e>>>0===e,"width","uint32"),B(e>0,"width"),this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()}toRed(e){if(j(e instanceof z,"ctx","reduction context"),this.red)throw new Error("Already in reduction context.");return e.convertTo(this)}fromRed(){return N(this.red,"fromRed"),this.red.convertFrom(this)}forceRed(e){if(j(e instanceof z,"ctx","reduction context"),this.red){if(!e.m.eq(this.red.m)||e.mont!==this.red.mont)throw new Error("Already in reduction context.")}else B(0===this.negative,"red"),B(this.ucmp(e.m)<0,"red");return this.clone()._forceRed(e)}redIAdd(e){return j(p.isBN(e),"num","bignum"),N(this.red,"redIAdd"),this.red.iadd(this,e)}redAdd(e){return j(p.isBN(e),"num","bignum"),N(this.red,"redAdd"),this.red.add(this,e)}redIAddn(e){return j(D(e),"num","smi"),N(this.red,"redIAddn"),this.red.iaddn(this,e)}redAddn(e){return j(D(e),"num","smi"),N(this.red,"redAddn"),this.red.addn(this,e)}redISub(e){return j(p.isBN(e),"num","bignum"),N(this.red,"redISub"),this.red.isub(this,e)}redSub(e){return j(p.isBN(e),"num","bignum"),N(this.red,"redSub"),this.red.sub(this,e)}redISubn(e){return j(D(e),"num","smi"),N(this.red,"redISubn"),this.red.isubn(this,e)}redSubn(e){return j(D(e),"num","smi"),N(this.red,"redSubn"),this.red.subn(this,e)}redIMul(e){return j(p.isBN(e),"num","bignum"),N(this.red,"redIMul"),this.red.imul(this,e)}redMul(e){return j(p.isBN(e),"num","bignum"),N(this.red,"redMul"),this.red.mul(this,e)}redIMuln(e){return j(D(e),"num","smi"),N(this.red,"redIMuln"),this.red.imuln(this,e)}redMuln(e){return j(D(e),"num","smi"),N(this.red,"redMuln"),this.red.muln(this,e)}redIDiv(e){return j(p.isBN(e),"num","bignum"),N(this.red,"redIDiv"),this.red.idiv(this,e)}redDiv(e){return j(p.isBN(e),"num","bignum"),N(this.red,"redDiv"),this.red.div(this,e)}redIDivn(e){return j(D(e),"num","smi"),N(this.red,"redIDivn"),this.red.idivn(this,e)}redDivn(e){return j(D(e),"num","smi"),N(this.red,"redDivn"),this.red.divn(this,e)}redIPow(e){return j(p.isBN(e),"num","bignum"),N(this.red,"redIPow"),O(!e.red,"redIPow"),this.red.ipow(this,e)}redPow(e){return j(p.isBN(e),"num","bignum"),N(this.red,"redPow"),O(!e.red,"redPow"),this.red.pow(this,e)}redIPown(e){return j(D(e),"num","smi"),N(this.red,"redIPown"),this.red.ipown(this,e)}redPown(e){return j(D(e),"num","smi"),N(this.red,"redPown"),this.red.pown(this,e)}redISqr(){return N(this.red,"redISqr"),this.red.isqr(this)}redSqr(){return N(this.red,"redSqr"),this.red.sqr(this)}redISqrt(){return N(this.red,"redISqrt"),this.red.isqrt(this)}redSqrt(){return N(this.red,"redSqrt"),this.red.sqrt(this)}redIDivSqrt(e){return N(this.red,"redIDivSqrt"),this.red.idivsqrt(this,e)}redDivSqrt(e){return N(this.red,"redDivSqrt"),this.red.divsqrt(this,e)}redIsSquare(){return N(this.red,"redIsSquare"),this.red.isSquare(this)}redIShl(e){return j(p.isBN(e),"num","bignum"),N(this.red,"redIShl"),O(!e.red,"redIShl"),this.red.ishl(this,e)}redShl(e){return j(p.isBN(e),"num","bignum"),N(this.red,"redShl"),O(!e.red,"redShl"),this.red.shl(this,e)}redIShln(e){return j(e>>>0===e,"num","uint32"),N(this.red,"redIShln"),this.red.ishln(this,e)}redShln(e){return j(e>>>0===e,"num","uint32"),N(this.red,"redShln"),this.red.shln(this,e)}redINeg(){return N(this.red,"redINeg"),this.red.ineg(this)}redNeg(){return N(this.red,"redNeg"),this.red.neg(this)}redEq(e){return j(p.isBN(e),"num","bignum"),N(this.red,"redEq"),this.red.eq(this,e)}redEqn(e){return j(D(e),"num","smi"),N(this.red,"redEqn"),this.red.eqn(this,e)}redIsHigh(){return N(this.red,"redIsHigh"),this.red.isHigh(this)}redIsLow(){return N(this.red,"redIsLow"),this.red.isLow(this)}redIsOdd(){return N(this.red,"redIsOdd"),this.red.isOdd(this)}redIsEven(){return N(this.red,"redIsEven"),this.red.isEven(this)}redLegendre(){return N(this.red,"redLegendre"),this.red.legendre(this)}redJacobi(){return N(this.red,"redJacobi"),this.red.jacobi(this)}redKronecker(){return N(this.red,"redKronecker"),this.red.kronecker(this)}redIInvert(){return N(this.red,"redIInvert"),this.red.iinvert(this)}redInvert(){return N(this.red,"redInvert"),this.red.invert(this)}redIFermat(){return N(this.red,"redIFermat"),this.red.ifermat(this)}redFermat(){return N(this.red,"redFermat"),this.red.fermat(this)}_move(e){return e.words=this.words,e.length=this.length,e.negative=this.negative,e.red=this.red,e}_alloc(e){for(;this.words.length<e;)this.words.push(0);return this}_expand(e){for(this._alloc(e);this.length<e;)this.words[this.length++]=0;return this}_strip(){for(;this.length>1&&0===this.words[this.length-1];)this.length-=1;return this._normalize()}_normalize(){return R(this.length>0),1===this.length&&0===this.words[0]&&(this.negative=0),this}_check(){return R(this.length>0),R(this.length<=this.words.length),1===this.length?(0===this.words[0]&&R(0===this.negative),this):(R(0!==this.words[this.length-1]),this)}_invertp(e){if(j(p.isBN(e),"p","bignum"),B(e.sign()>0,"invert"),R(e.isOdd()),0===e.cmpn(1))throw new RangeError("Not invertible.");const t=this.clone(),r=e.clone(),i=new p(1),n=new p(0);for((t.isNeg()||t.ucmp(r)>=0)&&t.imod(r);!t.isZero();){let a=t._makeOdd(),o=r._makeOdd();for(;a--;)i.isOdd()&&i._iadd(i,e),i.iushrn(1);for(;o--;)n.isOdd()&&n._iadd(n,e),n.iushrn(1);t.ucmp(r)>=0?(t._isub(t,r),i.ucmp(n)<0?(i._isub(n,i),i._isub(e,i)):i._isub(i,n)):(r._isub(r,t),n.ucmp(i)<0?(n._isub(i,n),n._isub(e,n)):n._isub(n,i))}if(0!==r.cmpn(1))throw new RangeError("Not invertible.");return R(0===n.negative),R(n.ucmp(e)<0),n}_makeOdd(){const e=this.zeroBits();return e>0&&this.iushrn(e),e}_factor2(e){if(1&(this.words[0]|e.words[0]))return 0;const t=Math.min(this.length,e.length);let r=0;for(let i=0;i<t;i++){const t=F(this.words[i]|e.words[i]);if(r+=t,26!==t)break}return r}_cloneNormal(){return this.red?this.fromRed():this.clone()}_forceRed(e){return this.red=e,this}clone(){const e=new p;e.words=new Array(this.length);for(let t=0;t<this.length;t++)e.words[t]=this.words[t];return e.length=this.length,e.negative=this.negative,e.red=this.red,e}inject(e){j(p.isBN(e),"num","bignum"),this._alloc(e.length);for(let t=0;t<e.length;t++)this.words[t]=e.words[t];return this.length=e.length,this.negative=e.negative,this.red=e.red,this}set(e,t){return this.fromNumber(e,t)}swap(e){j(p.isBN(e),"num","bignum");const t=this,r=e;return[t.words,r.words]=[r.words,t.words],[t.length,r.length]=[r.length,t.length],[t.negative,r.negative]=[r.negative,t.negative],[t.red,r.red]=[r.red,t.red],t}reverse(){const e=this.negative;return this.fromBuffer(this.toBuffer("be"),"le"),this.negative=e,this}byteLength(){return Math.ceil(this.bitLength()/8)}bitLength(){const e=U(this.words[this.length-1]);return 26*(this.length-1)+e}zeroBits(){if(this.isZero())return 0;if(this.isOdd())return 0;let e=0;for(let t=0;t<this.length;t++){const r=F(this.words[t]);if(e+=r,26!==r)break}return e}isSafe(){return this.length<=2||3===this.length&&1===this.words[2]}word(e){return j(e>>>0===e,"pos","uint32"),e>=this.length?0:this.words[e]}[i](){let e="BN";return this.red&&(e="BN-R"),`<${e}: ${this.toString(10)}>`}toNumber(){let e=this.words[0];if(2===this.length)e+=67108864*this.words[1];else if(3===this.length&&1===this.words[2])e+=4503599627370496+67108864*this.words[1];else if(this.length>2)throw new RangeError("Number can only safely store up to 53 bits.");return 0!==this.negative?-e:e}toDouble(){let e=0;for(let t=this.length-1;t>=0;t--)e=67108864*e+this.words[t];return 0!==this.negative?-e:e}valueOf(){return this.toDouble()}toBigInt(){if(!b)throw new Error("BigInt is not supported!");const e=BigInt(52),t=BigInt(26);let r=this.length-1,i=BigInt(0);for(;r>=1;r-=2){const t=67108864*this.words[r],n=this.words[r-1];i=i<<e|BigInt(t+n)}return r>=0&&(i=i<<t|BigInt(this.words[0])),0!==this.negative?-i:i}toBool(){return!this.isZero()}toString(e,t){if(null==t&&(t=0),0===t&&(t=1),j((e=C(e))>>>0===e,"base","uint32"),j(t>>>0===t,"padding","uint32"),e<2||e>36)throw new RangeError("Base ranges between 2 and 36.");if(this._check(),16===e){let e="",r=0,i=0;for(let t=0;t<this.length;t++){const a=this.words[t],o=(16777215&(a<<r|i)).toString(16);i=a>>>24-r&16777215,e=0!==i||t!==this.length-1?n[6-o.length]+o+e:o+e,r+=2,r>=26&&(r-=26,t-=1)}for(0!==i&&(e=i.toString(16)+e);e.length%t!=0;)e="0"+e;return 0!==this.negative&&(e="-"+e),e}const r=a[e-1],i=o[e-1],s=this.clone();let f="";for(s.negative=0;!s.isZero();){const t=s.remrn(i).toString(e);s.iquon(i),f=s.isZero()?t+f:n[r-t.length]+t+f}for(this.isZero()&&(f="0");f.length%t!=0;)f="0"+f;return 0!==this.negative&&(f="-"+f),f}toJSON(){return this.toString(16,2)}toArray(e,t){return this.toArrayLike(Array,e,t)}toBuffer(e,r){return this.toArrayLike(t,e,r)}toArrayLike(e,t,r){null==t&&(t="be"),null==r&&(r=0),j("function"==typeof e,"ArrayType","function"),j("be"===t||"le"===t,"endian","endianness"),j(r>>>0===r,"length","uint32"),this._check();const i=this.byteLength(),n=r||Math.max(1,i);if(i>n)throw new RangeError("Byte array longer than desired length.");const a=function(e,t){return e.allocUnsafeSlow?e.allocUnsafeSlow(t):new e(t)}(e,n);if("be"===t){let e=a.length-1,t=0;for(let r=0;r<this.length;r++){const i=(3&r)<<1,n=this.words[r]<<i|t;a[e--]=255&n,e>=0&&(a[e--]=n>>>8&255),e>=0&&(a[e--]=n>>>16&255),6===i?(e>=0&&(a[e--]=n>>>24&255),t=0):t=n>>>24}if(e>=0){for(a[e--]=t;e>=0;)a[e--]=0;t=0}R(0===t)}else{let e=0,t=0;for(let r=0;r<this.length;r++){const i=(3&r)<<1,n=this.words[r]<<i|t;a[e++]=255&n,e<a.length&&(a[e++]=n>>>8&255),e<a.length&&(a[e++]=n>>>16&255),6===i?(e<a.length&&(a[e++]=n>>>24&255),t=0):t=n>>>24}if(e<a.length){for(a[e++]=t;e<a.length;)a[e++]=0;t=0}R(0===t)}return a}encode(e,t){return this.toBuffer(e,t)}of(e,t){return this.fromNumber(e,t)}fromNumber(e,t){null==t&&(t="be"),j(L(e),"num","integer"),j("be"===t||"le"===t,"endian","endianness");const r=e<0|0;return r&&(e=-e),e<67108864?(this.words[0]=67108863&e,this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(this.words=[67108863&e,e/67108864&67108863,1],this.length=3),this.negative=r,"le"===t&&this.reverse(),this}fromDouble(e,t){null==t&&(t="be"),j("number"==typeof e,"num","double"),j("be"===t||"le"===t,"endian","endianness"),isFinite(e)||(e=0);const r=e<=-1|0;for(e<0&&(e=-e),e=Math.floor(e),this.words=[];e>0;){const t=e%67108864,r=(e-t)/67108864;this.words.push(t),e=r}return 0===this.words.length&&this.words.push(0),this.length=this.words.length,this.negative=r,"le"===t&&this.reverse(),this}fromBigInt(e,t){if(null==t&&(t="be"),j("bigint"==typeof e,"num","bigint"),j("be"===t||"le"===t,"endian","endianness"),!b)throw new Error("BigInt is not supported!");const r=e<BigInt(0)|0;return this._fromHex(e.toString(16),r),this.negative=r,"le"===t&&this.reverse(),this}fromBool(e){return j("boolean"==typeof e,"value","boolean"),this.words[0]=0|e,this.length=1,this.negative=0,this}fromString(e,t,r){if("le"!==t&&"be"!==t||([t,r]=[r,t]),t=C(t),null==r&&(r="be"),j("string"==typeof e,"string","string"),j(t>>>0===t,"base","uint32"),j("be"===r||"le"===r,"endian","endianness"),t<2||t>36)throw new Error("Base ranges between 2 and 36.");let i=0;return(e=e.replace(/\s+/g,"")).length>0&&45===e.charCodeAt(0)&&(i=1),16===t?this._fromHex(e,i):this._fromBase(e,t,i),this.negative=i,this._normalize(),"le"===r&&this.reverse(),this}_fromHex(e,t){this.length=Math.max(2,Math.ceil((e.length-t)/6)),this.words=new Array(this.length);for(let e=0;e<this.length;e++)this.words[e]=0;let r=0,i=e.length-6,n=0;for(;i>=t;i-=6){const t=K(e,i,i+6);this.words[n]|=t<<r&67108863,this.words[n+1]|=t>>>26-r&4194303,r+=24,r>=26&&(r-=26,n+=1)}if(i+6!==t){const a=K(e,t,i+6);this.words[n]|=a<<r&67108863,this.words[n+1]|=a>>>26-r&4194303}return this._strip()}_fromBase(e,t,r){this.words[0]=0,this.length=1,this.negative=0;let i=0,n=1;for(;n<=67108863;n*=t)i+=1;i-=1,n=n/t|0;const a=e.length-r,o=a%i,s=Math.min(a,a-o)+r;let f=r;for(;f<s;f+=i){const r=J(e,f,f+i,t);this.imuln(n),this._iaddn(r)}if(0!==o){const r=Math.pow(t,o),i=J(e,f,e.length,t);this.imuln(r),this._iaddn(i)}return this}fromJSON(e){if(p.isBN(e))return e.red?e.fromRed():e.clone();if(Array.isArray(e)){for(const t of e)j("string"==typeof t,"chunk","string");e=e.join("")}return this.fromString(e,16)}fromBN(e){return this.inject(e)}fromArray(e,t){return j(Array.isArray(e),"data","array"),this.fromArrayLike(e,t)}fromBuffer(e,r){return j(t.isBuffer(e),"data","buffer"),this.fromArrayLike(e,r)}fromArrayLike(e,t){if(null==t&&(t="be"),j(e&&e.length>>>0===e.length,"data","array-like"),j("be"===t||"le"===t,"endian","endianness"),0===e.length)return this.words[0]=0,this.length=1,this.negative=0,this;this.length=Math.max(2,Math.ceil(e.length/3)),this.words=new Array(this.length),this.negative=0;for(let e=0;e<this.length;e++)this.words[e]=0;const r=e.length%3;let i=0,n=0,a=0;if("be"===t){for(let t=e.length-1;t>=2;t-=3){const r=e[t]|e[t-1]<<8|e[t-2]<<16;this.words[n]|=r<<i&67108863,this.words[n+1]=r>>>26-i&67108863,i+=24,i>=26&&(i-=26,n+=1)}switch(r){case 2:a=e[1]|e[0]<<8;break;case 1:a=e[0]}}else{const t=e.length-r;for(let r=0;r<t;r+=3){const t=e[r]|e[r+1]<<8|e[r+2]<<16;this.words[n]|=t<<i&67108863,this.words[n+1]=t>>>26-i&67108863,i+=24,i>=26&&(i-=26,n+=1)}switch(r){case 2:a=e[t]|e[t+1]<<8;break;case 1:a=e[t]}}return r>0&&(this.words[n]|=a<<i&67108863,this.words[n+1]=a>>>26-i&67108863),this._strip()}decode(e,t){return this.fromBuffer(e,t)}from(e,t,r){if(null==e)return this;if("le"!==t&&"be"!==t||([t,r]=[r,t]),"number"==typeof e)return this.fromNumber(e,r);if("bigint"==typeof e)return this.fromBigInt(e,r);if("string"==typeof e)return this.fromString(e,t,r);if("object"==typeof e){if(p.isBN(e))return this.fromBN(e,r);if(e.length>>>0===e.length)return this.fromArrayLike(e,r)}if("boolean"==typeof e)return this.fromBool(e);throw new TypeError("Non-numeric object passed to BN.")}static min(...e){let t=null;for(const r of e)j(p.isBN(r),"num","bignum"),(!t||r.cmp(t)<0)&&(t=r);return t||new p(0)}static max(...e){let t=null;for(const r of e)j(p.isBN(r),"num","bignum"),(!t||r.cmp(t)>0)&&(t=r);return t||new p(0)}static cmp(e,t){return j(p.isBN(e),"a","bignum"),e.cmp(t)}static ucmp(e,t){return j(p.isBN(e),"a","bignum"),e.ucmp(t)}static red(e){return new z(e)}static barrett(e){return new A(e)}static mont(e){return new I(e)}static _prime(e){if(s[e])return s[e];let t;if("p192"===e)t=new w;else if("p224"===e)t=new _;else if("p521"===e)t=new M;else if("k256"===e)t=new S;else if("p251"===e)t=new k;else if("p25519"===e)t=new E;else{if("p448"!==e)throw new Error(`Unknown prime: "${e}".`);t=new x}return s[e]=t,t}static prime(e){return p._prime(e).p.clone()}static pow(e,t){return 2===e?p.shift(1,t):(new p).fromNumber(e).pown(t)}static shift(e,t){return 1===e?new p(0).usetn(t,1):(new p).fromNumber(e).ishln(t)}static mask(e){return p.shift(1,e).isubn(1)}static randomBits(e,r){if(j(null!=e,"rng","rng"),j(r>>>0===r,"bits","uint32"),"object"==typeof e){j("function"==typeof e.randomBytes,"rng","rng");const i=r+7>>>3,n=8*i,a=e.randomBytes(i);if(j(t.isBuffer(a),"bytes","buffer"),a.length!==i)throw new RangeError("Invalid number of bytes returned from RNG.");const o=p.fromBuffer(a);return n>r&&o.iushrn(n-r),o}j("function"==typeof e,"rng","rng");const i=e(r);if(j(p.isBN(i),"num","bignum"),B(0===i.negative,"RNG"),O(!i.red,"RNG"),i.bitLength()>r)throw new RangeError("Invalid number of bits returned from RNG.");return i}static random(e,t,r){if(t=p.cast(t,16),r=p.cast(r,16),t.cmp(r)>0)throw new RangeError("Minimum cannot be greater than maximum.");const i=r.sub(t).iabs(),n=i.bitLength();if(0===n)return t.clone();for(;;){const r=p.randomBits(e,n);if(!(r.cmp(i)>=0))return r.iadd(t),r}}static of(e,t){return(new p).of(e,t)}static fromNumber(e,t){return(new p).fromNumber(e,t)}static fromDouble(e,t){return(new p).fromDouble(e,t)}static fromBigInt(e,t){return(new p).fromBigInt(e,t)}static fromBool(e){return(new p).fromBool(e)}static fromString(e,t,r){return(new p).fromString(e,t,r)}static fromJSON(e){return(new p).fromJSON(e)}static fromBN(e){return(new p).fromBN(e)}static fromArray(e,t){return(new p).fromArray(e,t)}static fromBuffer(e,t){return(new p).fromBuffer(e,t)}static fromArrayLike(e,t){return(new p).fromArrayLike(e,t)}static decode(e,t){return(new p).decode(e,t)}static from(e,t,r){return(new p).from(e,t,r)}static cast(e,t,r){return p.isBN(e)?e:new p(e,t,r)}static isBN(e){return e instanceof p}}p.BN=p,p.wordSize=26,p.native=0;class m{constructor(e,t){this.name=e,this.p=new p(t,16),this.n=this.p.bitLength(),this.k=p.shift(1,this.n).isub(this.p),this.lo=this.p.clone(),this.one=this.p.clone()}ireduce(e){const t=0!==e.negative;let r=e.bitLength();for(R(r<=2*this.n),e.negative=0;r>this.n;)this.split(e,this.lo),this.imulK(e),e._iadd(e,this.lo),r=e.bitLength();const i=r<this.n?-1:e.ucmp(this.p);return 0===i?(e.words[0]=0,e.length=1):i>0&&e._isub(e,this.p),t&&!e.isZero()&&e._isub(this.p,e),e}split(e,t){e._split(this.n,t)}imulK(e){return e.imul(this.k)}pm2(e){throw new Error("Not implemented.")}fermat(e){return this.pm2(e)}}class g extends m{constructor(e,t){super(e,t)}pm3d4(e){throw new Error("Not implemented.")}pp1d4(e){throw new Error("Not implemented.")}sqrt(e){const{red:t}=e,r=this.pp1d4(e);if(!t.sqr(r).eq(e))throw new P(r);return r}divsqrt(e,t){const{red:r}=e,i=r.sqr(e),n=r.mul(i,e),a=r.mul(n,i),o=r.mul(r.sqr(t),t),s=this.pm3d4(r.mul(a,o)),f=r.mul(r.mul(n,t),s);if(r.mul(t,r.sqr(f)).eq(e))return f;throw new P(f)}}class v extends m{constructor(e,t,r){super(e,t),this.sm1=new p(r,16)}pm5d8(e){throw new Error("Not implemented.")}pp3d8(e){throw new Error("Not implemented.")}sqrt(e){const{red:t}=e,r=this.sm1._forceRed(t),i=this.pp3d8(e);if(t.sqr(i).eq(e))return i;const n=t.mul(i,r);if(t.sqr(n).eq(e))return n;throw new P(i)}divsqrt(e,t){const{red:r}=e,i=this.sm1._forceRed(r),n=r.mul(r.sqr(t),t),a=r.mul(r.sqr(n),t),o=this.pm5d8(r.mul(e,a)),s=r.mul(r.mul(e,n),o),f=r.mul(t,r.sqr(s));if(f.eq(e))return s;const c=r.ineg(f);if(c.eq(e))return r.mul(s,i);if(c.eq(r.mul(e,i)))throw new P(r.mul(s,i));throw new P(s)}}class y extends m{constructor(e,t,r){super(e,t),this.g=new p(r,16),this.z=this.p.subn(1).zeroBits()}powS(e){throw new Error("Not implemented.")}powE(e){throw new Error("Not implemented.")}sqrt(e){const{red:t}=e;switch(t.jacobi(e)){case-1:throw new P(e);case 0:return e.clone()}let r=this.g._forceRed(t),i=this.powE(e),n=this.powS(e),a=this.z;for(;;){let e=n,o=0;for(;0!==e.cmpn(1)&&o<a;)e=t.sqr(e),o+=1;if(0===o)break;R(o<a),e=t.sqrn(r,a-o-1),r=t.sqr(e),i=t.mul(i,e),n=t.mul(n,r),a=o}return i}divsqrt(e,t){const{red:r}=e;if(t.isZero())throw new P(t);return this.sqrt(r.div(e,t))}}class w extends g{constructor(){super("p192","ffffffff ffffffff ffffffff fffffffeffffffff ffffffff")}imulK(e){const t=this.one.inject(e);return e.iushln(64)._iadd(e,t)}core(e){const{red:t}=e,r=t.sqrnmul(e,1,e),i=t.sqrnmul(r,1,e),n=t.sqrnmul(i,3,i),a=t.sqrnmul(n,6,n),o=t.sqrnmul(a,12,a),s=t.sqrnmul(o,6,n),f=t.sqrnmul(s,1,e),c=t.sqrnmul(f,31,f),d=t.sqrnmul(c,62,c),u=t.sqrnmul(d,3,i),h=t.sqrn(u,1);return t.sqrnmul(h,62,c)}pm3d4(e){return this.core(e)}pm2(e){const{red:t}=e,r=this.core(e),i=t.sqrn(r,1);return t.sqrnmul(i,1,e)}pp1d4(e){const{red:t}=e,r=t.sqrnmul(e,1,e),i=t.sqrnmul(r,2,r),n=t.sqrnmul(i,4,i),a=t.sqrnmul(n,8,n),o=t.sqrnmul(a,16,a),s=t.sqrnmul(o,32,o),f=t.sqrnmul(s,64,s);return t.sqrn(f,62)}}class _ extends y{constructor(){super("p224","ffffffff ffffffff ffffffff ffffffff00000000 00000000 00000001","6a0fec67 8598a792 0c55b2d4 0b2d6ffbbea3d8ce f3fb3632 dc691b74")}imulK(e){const t=this.one.inject(e);return e.iushln(96)._isub(e,t)}powS(e){const{red:t}=e,r=t.sqrnmul(e,1,e),i=t.sqrnmul(r,2,r),n=t.sqrnmul(i,4,i),a=t.sqrnmul(n,8,n),o=t.sqrnmul(a,16,a),s=t.sqrnmul(o,32,o);return t.sqrnmul(s,64,s)}powE(e){const{red:t}=e;return t.sqrn(e,127)}pm2(e){const{red:t}=e,r=t.sqrnmul(e,1,e),i=t.sqrnmul(r,1,e),n=t.sqrnmul(i,3,i),a=t.sqrnmul(n,6,n),o=t.sqrnmul(a,12,a),s=t.sqrnmul(o,24,o),f=t.sqrnmul(s,48,s),c=t.sqrnmul(f,24,o),d=t.sqrnmul(c,6,n),u=t.sqrnmul(d,1,e),h=t.sqrn(u,1);return t.sqrnmul(h,96,f)}}class M extends g{constructor(){super("p521","000001ff ffffffff ffffffff ffffffffffffffff ffffffff ffffffff ffffffffffffffff ffffffff ffffffff ffffffffffffffff ffffffff ffffffff ffffffffffffffff")}imulK(e){return e}core(e){const{red:t}=e,r=t.sqrnmul(e,1,e),i=t.sqrnmul(r,1,e),n=t.sqrnmul(i,3,i),a=t.sqrnmul(n,1,e),o=t.sqrnmul(a,1,e),s=t.sqrnmul(o,8,o),f=t.sqrnmul(s,16,s),c=t.sqrnmul(f,32,f),d=t.sqrnmul(c,64,c),u=t.sqrnmul(d,128,d),h=t.sqrnmul(u,256,u);return t.sqrnmul(h,7,a)}pm3d4(e){return this.core(e)}pm2(e){const{red:t}=e,r=this.core(e),i=t.sqrn(r,1);return t.sqrnmul(i,1,e)}pp1d4(e){const{red:t}=e;return t.sqrn(e,519)}}class S extends g{constructor(){super("k256","ffffffff ffffffff ffffffff ffffffffffffffff ffffffff fffffffe fffffc2f")}split(e,t){const r=Math.min(e.length,9);t._alloc(r+1);for(let i=0;i<r;i++)t.words[i]=e.words[i];if(t.length=r,e.length<=9)return t._strip(),e.words[0]=0,void(e.length=1);let i=e.words[9],n=10;for(t.words[t.length++]=4194303&i,t._strip();n<e.length;n++){const t=0|e.words[n];e.words[n-10]=(4194303&t)<<4|i>>>22,i=t}i>>>=22,e.words[n-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9,e._strip()}imulK(e){e._expand(e.length+2);let t=0;for(let r=0;r<e.length;r++){const i=e.words[r];t+=977*i,e.words[r]=67108863&t,t=64*i+Math.floor(t/67108864)}return 0===e.words[e.length-1]&&(e.length-=1,0===e.words[e.length-1]&&(e.length-=1)),e}core(e,t){const{red:r}=e,i=r.sqrnmul(t,1,e),n=r.sqrnmul(i,3,i),a=r.sqrnmul(n,3,i),o=r.sqrnmul(a,2,t),s=r.sqrnmul(o,11,o),f=r.sqrnmul(s,22,s),c=r.sqrnmul(f,44,f),d=r.sqrnmul(c,88,c),u=r.sqrnmul(d,44,f),h=r.sqrnmul(u,3,i),l=r.sqrn(h,1),b=r.sqrnmul(l,22,s);return r.sqrn(b,4)}pm3d4(e){const{red:t}=e,r=t.sqrnmul(e,1,e),i=this.core(e,r),n=t.sqrnmul(i,1,e),a=t.sqrn(n,1);return t.sqrnmul(a,2,r)}pm2(e){const{red:t}=e,r=t.sqrnmul(e,1,e),i=this.core(e,r),n=t.sqrnmul(i,1,e),a=t.sqrn(n,1),o=t.sqrnmul(a,2,r),s=t.sqrn(o,1);return t.sqrnmul(s,1,e)}pp1d4(e){const{red:t}=e,r=t.sqrnmul(e,1,e),i=this.core(e,r),n=t.sqrnmul(i,2,r);return t.sqrn(n,2)}}class k extends g{constructor(){super("p251","07ffffff ffffffff ffffffff ffffffffffffffff ffffffff ffffffff fffffff7")}imulK(e){if(e.isZero())return e;let t=0;for(let r=0;r<e.length;r++){const i=9*e.words[r]+t;t=i>>>26,e.words[r]=67108863&i}return 0!==t&&(e._alloc(e.length+1),e.words[e.length++]=t),e}core(e){const{red:t}=e,r=t.sqrnmul(e,1,e),i=t.sqrnmul(r,1,e),n=t.sqrnmul(i,3,i),a=t.sqrnmul(n,6,n),o=t.sqrnmul(a,12,a),s=t.sqrnmul(o,24,o),f=t.sqrnmul(s,48,s),c=t.sqrnmul(f,96,f),d=t.sqrnmul(c,48,s),u=t.sqrnmul(d,6,n);return t.sqrnmul(u,1,e)}pm3d4(e){const{red:t}=e,r=this.core(e),i=t.sqrn(r,1);return t.sqrnmul(i,1,e)}pm2(e){const{red:t}=e,r=this.core(e),i=t.sqrn(r,1),n=t.sqrnmul(i,1,e),a=t.sqrn(n,1);return t.sqrnmul(a,1,e)}pp1d4(e){const{red:t}=e,r=this.core(e),i=t.sqrnmul(r,1,e);return t.sqrn(i,1)}}class E extends v{constructor(){super("p25519","7fffffff ffffffff ffffffff ffffffffffffffff ffffffff ffffffff ffffffed","2b832480 4fc1df0b 2b4d0099 3dfbd7a72f431806 ad2fe478 c4ee1b27 4a0ea0b0")}imulK(e){let t=0;for(let r=0;r<e.length;r++){const i=19*e.words[r]+t;t=i>>>26,e.words[r]=67108863&i}return 0!==t&&(e._alloc(e.length+1),e.words[e.length++]=t),e}core(e,t){const{red:r}=e,i=r.sqrnmul(t,2,t),n=r.sqrnmul(i,1,e),a=r.sqrnmul(n,5,n),o=r.sqrnmul(a,10,a),s=r.sqrnmul(o,20,o),f=r.sqrnmul(s,10,a),c=r.sqrnmul(f,50,f),d=r.sqrnmul(c,100,c);return r.sqrnmul(d,50,f)}pm5d8(e){const{red:t}=e,r=t.sqrnmul(e,1,e),i=this.core(e,r),n=t.sqrn(i,1);return t.sqrnmul(n,1,e)}pm2(e){const{red:t}=e,r=t.sqrnmul(e,1,e),i=this.core(e,r),n=t.sqrn(i,1),a=t.sqrnmul(n,1,e),o=t.sqrn(a,1);return t.sqrnmul(o,2,r)}pp3d8(e){const{red:t}=e,r=t.sqrnmul(e,1,e),i=this.core(e,r),n=t.sqrnmul(i,1,e);return t.sqrn(n,1)}}class x extends g{constructor(){super("p448","ffffffff ffffffff ffffffff ffffffffffffffff ffffffff fffffffe ffffffffffffffff ffffffff ffffffff ffffffffffffffff ffffffff")}imulK(e){const t=this.one.inject(e);return e.iushln(224)._iadd(e,t)}core(e,t){const{red:r}=e,i=r.sqrnmul(t,1,e),n=r.sqrnmul(i,3,i),a=r.sqrnmul(n,3,i),o=r.sqrnmul(a,2,t),s=r.sqrnmul(o,11,o),f=r.sqrnmul(s,22,s),c=r.sqrnmul(f,44,f),d=r.sqrnmul(c,88,c),u=r.sqrnmul(d,44,f);return r.sqrnmul(u,2,t)}pm3d4(e){const{red:t}=e,r=t.sqrnmul(e,1,e),i=this.core(e,r),n=t.sqrnmul(i,1,e),a=t.sqrn(n,1);return t.sqrnmul(a,222,i)}pm2(e){const{red:t}=e,r=this.pm3d4(e),i=t.sqrn(r,1);return t.sqrnmul(i,1,e)}pp1d4(e){const{red:t}=e,r=t.sqrnmul(e,1,e),i=this.core(e,r),n=t.sqrnmul(i,2,r);return t.sqrn(n,222)}}class z{constructor(e){let t=null;"string"==typeof e&&(t=p._prime(e),e=t.p),j(p.isBN(e),"m","bignum"),O(!e.red,"reduction"),B(e.sign()>0,"reduction"),this.m=e,this.prime=t,this.mb=null,this.sm1=null}_verify1(e){B(0===e.negative,"red"),N(null!=e.red,"red")}_verify2(e,t){B(0==(e.negative|t.negative),"red"),N(null!=e.red&&e.red===t.red,"red")}get mont(){return!1}precompute(){if(null===this.sm1&&5===this.m.andln(7))if(this.prime)this.sm1=this.prime.sm1.clone()._forceRed(this);else{const e=new p(2).toRed(this),t=this.m.subn(1).iushrn(2);this.sm1=this.pow(e,t)}return this}convertTo(e){const t=e.mod(this.m);return t.red=this,t}convertFrom(e){const t=e.clone();return t.red=null,t}intTo(e){return e}intFrom(e){return e}imod(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.imod(this.m)._forceRed(this)}iadd(e,t){return this._verify2(e,t),e._iadd(e,t),e.ucmp(this.m)>=0&&e._isub(e,this.m),e}add(e,t){return e.length<t.length?this.iadd(t.clone(),e):this.iadd(e.clone(),t)}iaddn(e,t){return this._verify1(e),t<0?this.isubn(e,-t):(1===this.m.length&&(t%=this.m.words[0]),e._iaddn(t),e.ucmp(this.m)>=0&&e._isub(e,this.m),e)}addn(e,t){return this.iaddn(e.clone(),t)}isub(e,t){this._verify2(e,t);const r=e.ucmp(t);return 0===r?(e.words[0]=0,e.length=1,e):(r<0?(e._isub(t,e),e._isub(this.m,e)):e._isub(e,t),e)}sub(e,t){return this.isub(e.clone(),t)}isubn(e,t){return this._verify1(e),t<0?this.iaddn(e,-t):(1===this.m.length&&(t%=this.m.words[0]),1===e.length&&e.words[0]<t?(e.words[0]=t-e.words[0],e._isub(this.m,e)):e._isubn(t),e)}subn(e,t){return this.isubn(e.clone(),t)}imul(e,t){return this._verify2(e,t),this.imod(e.imul(t))}mul(e,t){return this._verify2(e,t),this.imod(e.mul(t))}imuln(e,t){if(this._verify1(e),e.isZero())return e;if(0===t)return e.words[0]=0,e.length=1,e;const r=t<0;if(r&&(t=-t),1===this.m.length&&(t%=this.m.words[0]),e.imuln(t),t<=16)for(;e.ucmp(this.m)>=0;)e._isub(e,this.m);else this.imod(e);return r&&this.ineg(e),e}muln(e,t){return this.imuln(e.clone(),t)}idiv(e,t){return this.div(e,t)._move(e)}div(e,t){return this.mul(e,this.invert(t))}idivn(e,t){return this.divn(e,t)._move(e)}divn(e,t){return this.div(e,this.convertTo(new p(t)))}ipow(e,t){return this.pow(e,t)._move(e)}pow(e,t){return this._verify1(e),t.isNeg()&&(e=this.invert(e)),1===t.length?this.pown(e,t.words[0]):b&&!this.prime?this.powInt(e,t):this.powNum(e,t)}powNum(e,t){const r=new p(1).toRed(this),i=new Array(8),n=this.sqr(e);i[0]=e;for(let e=1;e<8;e++)i[e]=this.mul(i[e-1],n);let a=t.bitLength(),o=r;for(;a>=4;){let e=4,n=t.bits(a-e,e);if(n<8)o=this.sqr(o),a-=1;else{for(;0==(1&n);)e-=1,n>>=1;o===r?o=i[n>>1].clone():(o=this.sqrn(o,e),o=this.mul(o,i[n>>1])),a-=e}}if(a>0){const r=t.bits(0,a);for(;a--;)o=this.sqr(o),r>>a&1&&(o=this.mul(o,e))}return o}powInt(e,t){null===this.mb&&(this.mb=this.m.toBigInt());const r=function(e,t,r){const i=BigInt(1),n=new Array(8),a=e*e%r;n[0]=e;for(let e=1;e<8;e++)n[e]=n[e-1]*a%r;let o=t.bitLength(),s=i;for(;o>=4;){let e=4,a=t.bits(o-e,e);if(a<8)s=s*s%r,o-=1;else{for(;0==(1&a);)e-=1,a>>=1;s===i?s=n[a>>1]:(s=Z(s,e,r),s=s*n[a>>1]%r),o-=e}}if(o>0){const i=t.bits(0,o);for(;o--;)s=s*s%r,i>>o&1&&(s=s*e%r)}return s}(this.intFrom(e.toBigInt()),t,this.mb),i=this.intTo(r);return p.fromBigInt(i)._forceRed(this)}sqrn(e,t){for(;t--;)e=this.sqr(e);return e}sqrnmul(e,t,r){return this.mul(this.sqrn(e,t),r)}ipown(e,t){return this.pown(e,t)._move(e)}pown(e,t){if(this._verify1(e),t<0&&(e=this.invert(e),t=-t),0===t)return new p(1).toRed(this);if(1===t)return e.clone();let r=e;for(let i=U(t)-2;i>=0;i--)r=this.sqr(r),t>>i&1&&(r=this.mul(r,e));return r}isqr(e){return this.imul(e,e)}sqr(e){return this.mul(e,e)}isqrt(e){return this.sqrt(e)._move(e)}sqrt(e){return this._verify1(e),this.prime?this.prime.sqrt(e):3===this.m.andln(3)?this.sqrt3mod4(e):5===this.m.andln(7)?null!=this.sm1?this.sqrt5mod8sm1(e):this.sqrt5mod8(e):this.sqrt0(e)}sqrt3mod4(e){const t=this.m.addn(1).iushrn(2),r=this.pow(e,t);if(!this.sqr(r).eq(e))throw new P(r);return r}sqrt5mod8(e){const t=new p(1).toRed(this),r=this.m.ushrn(3),i=this.add(e,e),n=this.pow(i,r),a=this.mul(i,this.sqr(n)),o=this.mul(this.mul(n,e),this.isub(a,t));if(!this.sqr(o).eq(e))throw new P(o);return o}sqrt5mod8sm1(e){const t=this.m.addn(3).iushrn(3),r=this.pow(e,t);if(this.sqr(r).eq(e))return r;const i=this.mul(r,this.sm1);if(this.sqr(i).eq(e))return i;throw new P(r)}sqrt0(e){if(0===this.m.cmpn(1)||!this.m.isOdd())throw new Error("Invalid prime.");switch(this.jacobi(e)){case-1:throw new P(e);case 0:return e.clone()}const t=new p(1).toRed(this),r=this.m.subn(1),i=r._makeOdd(),n=new p(2).toRed(this);for(;-1!==this.jacobi(n);)this.iadd(n,t);let a=this.pow(n,r),o=this.pow(e,r),s=this.pow(e,r.iaddn(1).iushrn(1)),f=i;for(;;){let e=o,r=0;for(;!e.eq(t)&&r<f;)e=this.sqr(e),r+=1;if(0===r)break;R(r<f),e=this.sqrn(a,f-r-1),a=this.sqr(e),s=this.mul(s,e),o=this.mul(o,a),f=r}return s}idivsqrt(e,t){return this.divsqrt(e,t)._move(e)}divsqrt(e,t){if(this._verify2(e,t),e.isZero()&&t.isZero())throw new P(t);if(this.prime)return this.prime.divsqrt(e,t);if(3===this.m.andln(3))return this.divsqrt3mod4(e,t);if(null!=this.sm1&&5===this.m.andln(7))return this.divsqrt5mod8(e,t);if(t.isZero())throw new P(t);return this.sqrt(this.div(e,t))}divsqrt3mod4(e,t){const r=this.m.subn(3).iushrn(2),i=this.sqr(e),n=this.mul(i,e),a=this.mul(n,i),o=this.mul(this.sqr(t),t),s=this.pow(this.mul(a,o),r),f=this.mul(this.mul(n,t),s);if(this.mul(t,this.sqr(f)).eq(e))return f;throw new P(f)}divsqrt5mod8(e,t){const r=this.m.subn(5).iushrn(3),i=this.mul(this.sqr(t),t),n=this.mul(this.sqr(i),t),a=this.pow(this.mul(e,n),r),o=this.mul(this.mul(e,i),a),s=this.mul(t,this.sqr(o));if(s.eq(e))return o;const f=this.ineg(s);if(f.eq(e))return this.mul(o,this.sm1);if(f.eq(this.mul(e,this.sm1)))throw new P(this.mul(o,this.sm1));throw new P(o)}isSquare(e){return this.m.isOdd()?this.jacobi(e)>=0:this.kronecker(e)>=0}ishl(e,t){return this._verify1(e),this.imod(e.iushl(t))}shl(e,t){return this.ishl(e.clone(),t)}ishln(e,t){if(this._verify1(e),e.iushln(t),t<=4)for(;e.ucmp(this.m)>=0;)e._isub(e,this.m);else this.imod(e);return e}shln(e,t){return this.ishln(e.clone(),t)}ineg(e){return this._verify1(e),e.isZero()||e._isub(this.m,e),e}neg(e){return this.ineg(e.clone())}eq(e,t){return this._verify2(e,t),0===e.ucmp(t)}eqn(e,t){if(this._verify1(e),1===this.m.length)return(t%=this.m.words[0])<0&&(t+=this.m.words[0]),0===e.ucmpn(t);if(t<0){this.m._isubn(-t);const r=e.ucmp(this.m);return this.m._iaddn(-t),0===r}return 0===e.ucmpn(t)}isHigh(e){return!this.isLow(e)}isLow(e){return this._verify1(e),e.ucmp(this.m.ushrn(1))<=0}isOdd(e){return this._verify1(e),e.isOdd()}isEven(e){return this._verify1(e),e.isEven()}legendre(e){if(this._verify1(e),this.m.isEven())throw new Error("legendre: `num` must be odd.");const t=this.m.subn(1).iushrn(1),r=this.pow(e,t);if(r.isZero())return 0;const i=new p(1).toRed(this);if(r.eq(i))return 1;if(r.eq(this.ineg(i)))return-1;throw new Error("Invalid prime.")}jacobi(e){return this._verify1(e),e.jacobi(this.m)}kronecker(e){return this._verify1(e),e.kronecker(this.m)}iinvert(e){return this.invert(e)._move(e)}invert(e){return this._verify1(e),e.invert(this.m)._forceRed(this)}ifermat(e){return this.fermat(e)._move(e)}fermat(e){if(this._verify1(e),e.isZero()||0===this.m.cmpn(1))throw new RangeError("Not invertible.");return this.prime?this.prime.fermat(e):this.pow(e,this.m.subn(2))}invertAll(e){j(Array.isArray(e),"elems","array");for(const t of e)j(p.isBN(t),"elem","bignum"),this._verify1(t);if(0===this.m.cmpn(1)||this.m.isEven())throw new RangeError("Not invertible.");const t=e.length,r=new Array(t);if(0===t)return r;let i=new p(1).toRed(this);for(let n=0;n<t;n++)e[n].isZero()?r[n]=e[n].clone():(r[n]=i,i=this.mul(i,e[n]));i=this.invert(i);for(let n=t-1;n>=0;n--)e[n].isZero()||(r[n]=this.mul(i,r[n]),i=this.mul(i,e[n]));return r}[i](){return this.prime?`<Red: ${this.prime.name}>`:`<Red: ${this.m.toString(10)}>`}}class A extends z{constructor(e){super(e),this.prime=null,this.n=this.m.bitLength(),this.n%26!=0&&(this.n+=26-this.n%26),this.k=2*this.n,this.w=this.k/26,this.b=p.shift(1,this.k).div(this.m)}convertTo(e){return e.length>this.w?super.convertTo(e):this.imod(e.clone())}_shift(e){let t=0,r=this.w;for(;r<e.length;)e.words[t++]=e.words[r++];0===t&&(e.words[t++]=0),e.length=t}imod(e){const t=e.negative;R(e.length<=this.w),e.negative=0;const r=e.mul(this.b);return this._shift(r),e._isub(e,r.mul(this.m)),e.ucmp(this.m)>=0&&e._isub(e,this.m),t&&!e.isZero()&&e._isub(this.m,e),e.red=this,e}}class I extends z{constructor(e){super(e),this.prime=null,this.n=26*this.m.length,this.r=p.shift(1,this.n),this.r2=p.shift(1,2*this.n).imod(this.m),this.ri=this.r.invert(this.m),this.mi=this.r.mul(this.ri).isubn(1).div(this.m),this.rib=null}get mont(){return!0}convertTo(e){return e.isNeg()||e.ucmp(this.m)>=0?this.imod(e.ushln(this.n)):this.mul(e,this.r2)}convertFrom(e){const t=this.mul(e,new p(1));return t.red=null,t}intTo(e){return(e<<BigInt(this.n))%this.mb}intFrom(e){return null===this.rib&&(this.rib=this.ri.toBigInt()),e*this.rib%this.mb}iaddn(e,t){return this.iadd(e,this.convertTo(new p(t)))}isubn(e,t){return this.isub(e,this.convertTo(new p(t)))}imul(e,t){return this.mul(e,t)._move(e)}mul(e,t){if(e.isZero()||t.isZero())return new p(0)._forceRed(this);const r=e.mul(t),i=r.umaskn(this.n).mul(this.mi).iumaskn(this.n),n=r.iadd(i.mul(this.m)).iushrn(this.n);return n.ucmp(this.m)>=0&&n._isub(n,this.m),n._forceRed(this)}imuln(e,t){if(this._verify1(e),e.isZero())return e;if(0===t)return e.words[0]=0,e.length=1,e;const r=t<0;r&&(t=-t),1===this.m.length&&(t%=this.m.words[0]);const i=U(t);if(i>5)this.imul(e,this.convertTo(new p(t)));else if(0==(t&t-1))for(let t=0;t<i-1;t++)this.iadd(e,e);else{const r=e.clone();for(let n=i-2;n>=0;n--)this.iadd(e,e),t>>n&1&&this.iadd(e,r)}return r&&this.ineg(e),e}eqn(e,t){return this._verify1(e),0===t?e.isZero():0===e.ucmp(this.convertTo(new p(t)))}isLow(e){return this._verify1(e),this.convertFrom(e).ucmp(this.m.ushrn(1))<=0}isOdd(e){return this._verify1(e),this.convertFrom(e).isOdd()}isEven(e){return this._verify1(e),this.convertFrom(e).isEven()}invert(e){return this._verify1(e),this.imod(e.invert(this.m).mul(this.r2))}}function q(e,t,r){const i=new e(t);return e.captureStackTrace&&e.captureStackTrace(i,r),i}function R(e,t){if(!e){throw q(Error,t||"Assertion failed.",R)}}function j(e,t,r){if(!e){throw q(TypeError,`"${t}" must be a(n) ${r}.`,j)}}function B(e,t){if(!e){throw q(RangeError,`"${t}" only works with positive numbers.`,B)}}function N(e,t){if(!e){throw q(TypeError,`"${t}" only works with red numbers.`,N)}}function O(e,t){if(!e){throw q(TypeError,`"${t}" only works with normal numbers.`,O)}}function T(e){if(!e){throw q(RangeError,"Cannot divide by zero.",T)}}class P extends Error{constructor(e){super(),this.name="SquareRootError",this.message="X is not a square mod P.",this.result=e.fromRed(),Error.captureStackTrace&&Error.captureStackTrace(this,P)}}function L(e){return Number.isSafeInteger(e)}function D(e){return L(e)&&e>=-67108863&&e<=67108863}function C(e){if(null==e)return 10;if("number"==typeof e)return e;switch(e){case"bin":return 2;case"oct":return 8;case"dec":return 10;case"hex":return 16}return 0}function U(e){if(Math.clz32)return 32-Math.clz32(e);let t=e,r=0;return t>=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t}function F(e){if(0===e)return 26;let t=e,r=0;return 0==(8191&t)&&(r+=13,t>>>=13),0==(127&t)&&(r+=7,t>>>=7),0==(15&t)&&(r+=4,t>>>=4),0==(3&t)&&(r+=2,t>>>=2),0==(1&t)&&(r+=1),r}function K(e,t,r){const i=Math.min(e.length,r);let n=0,a=0;for(let r=t;r<i;r++){const t=e.charCodeAt(r)-48;let i;n<<=4,i=t>=49&&t<=54?t-49+10:t>=17&&t<=22?t-17+10:t,n|=i,a|=i}if(-16&a)throw new Error("Invalid string.");return n}function J(e,t,r,i){const n=Math.min(e.length,r);let a=0;for(let r=t;r<n;r++){const t=e.charCodeAt(r)-48;let n;if(a*=i,n=t>=49?t-49+10:t>=17?t-17+10:t,t<0||t>207||n>=i)throw new Error("Invalid string.");a+=n}return a}function Z(e,t,r){for(let i=0;i<t;i++)e=e*e%r;return e}function H(e,t,r){const i=e.length+t.length;r.negative=e.negative^t.negative,r._alloc(i),r.length=i;const n=e.words[0]*t.words[0],a=67108863&n;let o=n/67108864|0,s=1;for(r.words[0]=a;s<r.length-1;s++){let i=o>>>26,n=67108863&o;const a=Math.max(0,s-e.length+1),f=Math.min(s,t.length-1);for(let r=a;r<=f;r++){const a=s-r,o=e.words[a]*t.words[r]+n;i+=o/67108864|0,n=67108863&o}r.words[s]=0|n,o=0|i}return 0!==o?r.words[s]=0|o:r.length-=1,r._strip()}function W(e,t,r){const i=e.length+t.length;r.negative=e.negative^t.negative,r._alloc(i),r.length=i;let n=0,a=0,o=0;for(;o<r.length-1;o++){let i=a;a=0;let s=67108863&n;const f=Math.max(0,o-e.length+1),c=Math.min(o,t.length-1);for(let r=f;r<=c;r++){const n=o-r,f=e.words[n]*t.words[r];let c=67108863&f;i=i+(f/67108864|0)|0,c=c+s|0,s=67108863&c,i=i+(c>>>26)|0,a+=i>>>26,i&=67108863}r.words[o]=s,n=i,i=a}return 0!==n?r.words[o]=n:r.length-=1,r._strip()}function X(e,t,r){const i=e.words,n=t.words,a=r.words,o=0|i[0],s=8191&o,f=o>>>13,c=0|i[1],d=8191&c,u=c>>>13,h=0|i[2],l=8191&h,b=h>>>13,p=0|i[3],m=8191&p,g=p>>>13,v=0|i[4],y=8191&v,w=v>>>13,_=0|i[5],M=8191&_,S=_>>>13,k=0|i[6],E=8191&k,x=k>>>13,z=0|i[7],A=8191&z,I=z>>>13,q=0|i[8],R=8191&q,j=q>>>13,B=0|i[9],N=8191&B,O=B>>>13,T=0|n[0],P=8191&T,L=T>>>13,D=0|n[1],C=8191&D,U=D>>>13,F=0|n[2],K=8191&F,J=F>>>13,Z=0|n[3],H=8191&Z,W=Z>>>13,X=0|n[4],Y=8191&X,V=X>>>13,G=0|n[5],$=8191&G,Q=G>>>13,ee=0|n[6],te=8191&ee,re=ee>>>13,ie=0|n[7],ne=8191&ie,ae=ie>>>13,oe=0|n[8],se=8191&oe,fe=oe>>>13,ce=0|n[9],de=8191&ce,ue=ce>>>13;let he,le,be,pe=0;r.negative=e.negative^t.negative,r._alloc(20),r.length=19,he=Math.imul(s,P),le=Math.imul(s,L),le=le+Math.imul(f,P)|0,be=Math.imul(f,L);let me=(pe+he|0)+((8191&le)<<13)|0;pe=(be+(le>>>13)|0)+(me>>>26)|0,me&=67108863,he=Math.imul(d,P),le=Math.imul(d,L),le=le+Math.imul(u,P)|0,be=Math.imul(u,L),he=he+Math.imul(s,C)|0,le=le+Math.imul(s,U)|0,le=le+Math.imul(f,C)|0,be=be+Math.imul(f,U)|0;let ge=(pe+he|0)+((8191&le)<<13)|0;pe=(be+(le>>>13)|0)+(ge>>>26)|0,ge&=67108863,he=Math.imul(l,P),le=Math.imul(l,L),le=le+Math.imul(b,P)|0,be=Math.imul(b,L),he=he+Math.imul(d,C)|0,le=le+Math.imul(d,U)|0,le=le+Math.imul(u,C)|0,be=be+Math.imul(u,U)|0,he=he+Math.imul(s,K)|0,le=le+Math.imul(s,J)|0,le=le+Math.imul(f,K)|0,be=be+Math.imul(f,J)|0;let ve=(pe+he|0)+((8191&le)<<13)|0;pe=(be+(le>>>13)|0)+(ve>>>26)|0,ve&=67108863,he=Math.imul(m,P),le=Math.imul(m,L),le=le+Math.imul(g,P)|0,be=Math.imul(g,L),he=he+Math.imul(l,C)|0,le=le+Math.imul(l,U)|0,le=le+Math.imul(b,C)|0,be=be+Math.imul(b,U)|0,he=he+Math.imul(d,K)|0,le=le+Math.imul(d,J)|0,le=le+Math.imul(u,K)|0,be=be+Math.imul(u,J)|0,he=he+Math.imul(s,H)|0,le=le+Math.imul(s,W)|0,le=le+Math.imul(f,H)|0,be=be+Math.imul(f,W)|0;let ye=(pe+he|0)+((8191&le)<<13)|0;pe=(be+(le>>>13)|0)+(ye>>>26)|0,ye&=67108863,he=Math.imul(y,P),le=Math.imul(y,L),le=le+Math.imul(w,P)|0,be=Math.imul(w,L),he=he+Math.imul(m,C)|0,le=le+Math.imul(m,U)|0,le=le+Math.imul(g,C)|0,be=be+Math.imul(g,U)|0,he=he+Math.imul(l,K)|0,le=le+Math.imul(l,J)|0,le=le+Math.imul(b,K)|0,be=be+Math.imul(b,J)|0,he=he+Math.imul(d,H)|0,le=le+Math.imul(d,W)|0,le=le+Math.imul(u,H)|0,be=be+Math.imul(u,W)|0,he=he+Math.imul(s,Y)|0,le=le+Math.imul(s,V)|0,le=le+Math.imul(f,Y)|0,be=be+Math.imul(f,V)|0;let we=(pe+he|0)+((8191&le)<<13)|0;pe=(be+(le>>>13)|0)+(we>>>26)|0,we&=67108863,he=Math.imul(M,P),le=Math.imul(M,L),le=le+Math.imul(S,P)|0,be=Math.imul(S,L),he=he+Math.imul(y,C)|0,le=le+Math.imul(y,U)|0,le=le+Math.imul(w,C)|0,be=be+Math.imul(w,U)|0,he=he+Math.imul(m,K)|0,le=le+Math.imul(m,J)|0,le=le+Math.imul(g,K)|0,be=be+Math.imul(g,J)|0,he=he+Math.imul(l,H)|0,le=le+Math.imul(l,W)|0,le=le+Math.imul(b,H)|0,be=be+Math.imul(b,W)|0,he=he+Math.imul(d,Y)|0,le=le+Math.imul(d,V)|0,le=le+Math.imul(u,Y)|0,be=be+Math.imul(u,V)|0,he=he+Math.imul(s,$)|0,le=le+Math.imul(s,Q)|0,le=le+Math.imul(f,$)|0,be=be+Math.imul(f,Q)|0;let _e=(pe+he|0)+((8191&le)<<13)|0;pe=(be+(le>>>13)|0)+(_e>>>26)|0,_e&=67108863,he=Math.imul(E,P),le=Math.imul(E,L),le=le+Math.imul(x,P)|0,be=Math.imul(x,L),he=he+Math.imul(M,C)|0,le=le+Math.imul(M,U)|0,le=le+Math.imul(S,C)|0,be=be+Math.imul(S,U)|0,he=he+Math.imul(y,K)|0,le=le+Math.imul(y,J)|0,le=le+Math.imul(w,K)|0,be=be+Math.imul(w,J)|0,he=he+Math.imul(m,H)|0,le=le+Math.imul(m,W)|0,le=le+Math.imul(g,H)|0,be=be+Math.imul(g,W)|0,he=he+Math.imul(l,Y)|0,le=le+Math.imul(l,V)|0,le=le+Math.imul(b,Y)|0,be=be+Math.imul(b,V)|0,he=he+Math.imul(d,$)|0,le=le+Math.imul(d,Q)|0,le=le+Math.imul(u,$)|0,be=be+Math.imul(u,Q)|0,he=he+Math.imul(s,te)|0,le=le+Math.imul(s,re)|0,le=le+Math.imul(f,te)|0,be=be+Math.imul(f,re)|0;let Me=(pe+he|0)+((8191&le)<<13)|0;pe=(be+(le>>>13)|0)+(Me>>>26)|0,Me&=67108863,he=Math.imul(A,P),le=Math.imul(A,L),le=le+Math.imul(I,P)|0,be=Math.imul(I,L),he=he+Math.imul(E,C)|0,le=le+Math.imul(E,U)|0,le=le+Math.imul(x,C)|0,be=be+Math.imul(x,U)|0,he=he+Math.imul(M,K)|0,le=le+Math.imul(M,J)|0,le=le+Math.imul(S,K)|0,be=be+Math.imul(S,J)|0,he=he+Math.imul(y,H)|0,le=le+Math.imul(y,W)|0,le=le+Math.imul(w,H)|0,be=be+Math.imul(w,W)|0,he=he+Math.imul(m,Y)|0,le=le+Math.imul(m,V)|0,le=le+Math.imul(g,Y)|0,be=be+Math.imul(g,V)|0,he=he+Math.imul(l,$)|0,le=le+Math.imul(l,Q)|0,le=le+Math.imul(b,$)|0,be=be+Math.imul(b,Q)|0,he=he+Math.imul(d,te)|0,le=le+Math.imul(d,re)|0,le=le+Math.imul(u,te)|0,be=be+Math.imul(u,re)|0,he=he+Math.imul(s,ne)|0,le=le+Math.imul(s,ae)|0,le=le+Math.imul(f,ne)|0,be=be+Math.imul(f,ae)|0;let Se=(pe+he|0)+((8191&le)<<13)|0;pe=(be+(le>>>13)|0)+(Se>>>26)|0,Se&=67108863,he=Math.imul(R,P),le=Math.imul(R,L),le=le+Math.imul(j,P)|0,be=Math.imul(j,L),he=he+Math.imul(A,C)|0,le=le+Math.imul(A,U)|0,le=le+Math.imul(I,C)|0,be=be+Math.imul(I,U)|0,he=he+Math.imul(E,K)|0,le=le+Math.imul(E,J)|0,le=le+Math.imul(x,K)|0,be=be+Math.imul(x,J)|0,he=he+Math.imul(M,H)|0,le=le+Math.imul(M,W)|0,le=le+Math.imul(S,H)|0,be=be+Math.imul(S,W)|0,he=he+Math.imul(y,Y)|0,le=le+Math.imul(y,V)|0,le=le+Math.imul(w,Y)|0,be=be+Math.imul(w,V)|0,he=he+Math.imul(m,$)|0,le=le+Math.imul(m,Q)|0,le=le+Math.imul(g,$)|0,be=be+Math.imul(g,Q)|0,he=he+Math.imul(l,te)|0,le=le+Math.imul(l,re)|0,le=le+Math.imul(b,te)|0,be=be+Math.imul(b,re)|0,he=he+Math.imul(d,ne)|0,le=le+Math.imul(d,ae)|0,le=le+Math.imul(u,ne)|0,be=be+Math.imul(u,ae)|0,he=he+Math.imul(s,se)|0,le=le+Math.imul(s,fe)|0,le=le+Math.imul(f,se)|0,be=be+Math.imul(f,fe)|0;let ke=(pe+he|0)+((8191&le)<<13)|0;pe=(be+(le>>>13)|0)+(ke>>>26)|0,ke&=67108863,he=Math.imul(N,P),le=Math.imul(N,L),le=le+Math.imul(O,P)|0,be=Math.imul(O,L),he=he+Math.imul(R,C)|0,le=le+Math.imul(R,U)|0,le=le+Math.imul(j,C)|0,be=be+Math.imul(j,U)|0,he=he+Math.imul(A,K)|0,le=le+Math.imul(A,J)|0,le=le+Math.imul(I,K)|0,be=be+Math.imul(I,J)|0,he=he+Math.imul(E,H)|0,le=le+Math.imul(E,W)|0,le=le+Math.imul(x,H)|0,be=be+Math.imul(x,W)|0,he=he+Math.imul(M,Y)|0,le=le+Math.imul(M,V)|0,le=le+Math.imul(S,Y)|0,be=be+Math.imul(S,V)|0,he=he+Math.imul(y,$)|0,le=le+Math.imul(y,Q)|0,le=le+Math.imul(w,$)|0,be=be+Math.imul(w,Q)|0,he=he+Math.imul(m,te)|0,le=le+Math.imul(m,re)|0,le=le+Math.imul(g,te)|0,be=be+Math.imul(g,re)|0,he=he+Math.imul(l,ne)|0,le=le+Math.imul(l,ae)|0,le=le+Math.imul(b,ne)|0,be=be+Math.imul(b,ae)|0,he=he+Math.imul(d,se)|0,le=le+Math.imul(d,fe)|0,le=le+Math.imul(u,se)|0,be=be+Math.imul(u,fe)|0,he=he+Math.imul(s,de)|0,le=le+Math.imul(s,ue)|0,le=le+Math.imul(f,de)|0,be=be+Math.imul(f,ue)|0;let Ee=(pe+he|0)+((8191&le)<<13)|0;pe=(be+(le>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,he=Math.imul(N,C),le=Math.imul(N,U),le=le+Math.imul(O,C)|0,be=Math.imul(O,U),he=he+Math.imul(R,K)|0,le=le+Math.imul(R,J)|0,le=le+Math.imul(j,K)|0,be=be+Math.imul(j,J)|0,he=he+Math.imul(A,H)|0,le=le+Math.imul(A,W)|0,le=le+Math.imul(I,H)|0,be=be+Math.imul(I,W)|0,he=he+Math.imul(E,Y)|0,le=le+Math.imul(E,V)|0,le=le+Math.imul(x,Y)|0,be=be+Math.imul(x,V)|0,he=he+Math.imul(M,$)|0,le=le+Math.imul(M,Q)|0,le=le+Math.imul(S,$)|0,be=be+Math.imul(S,Q)|0,he=he+Math.imul(y,te)|0,le=le+Math.imul(y,re)|0,le=le+Math.imul(w,te)|0,be=be+Math.imul(w,re)|0,he=he+Math.imul(m,ne)|0,le=le+Math.imul(m,ae)|0,le=le+Math.imul(g,ne)|0,be=be+Math.imul(g,ae)|0,he=he+Math.imul(l,se)|0,le=le+Math.imul(l,fe)|0,le=le+Math.imul(b,se)|0,be=be+Math.imul(b,fe)|0,he=he+Math.imul(d,de)|0,le=le+Math.imul(d,ue)|0,le=le+Math.imul(u,de)|0,be=be+Math.imul(u,ue)|0;let xe=(pe+he|0)+((8191&le)<<13)|0;pe=(be+(le>>>13)|0)+(xe>>>26)|0,xe&=67108863,he=Math.imul(N,K),le=Math.imul(N,J),le=le+Math.imul(O,K)|0,be=Math.imul(O,J),he=he+Math.imul(R,H)|0,le=le+Math.imul(R,W)|0,le=le+Math.imul(j,H)|0,be=be+Math.imul(j,W)|0,he=he+Math.imul(A,Y)|0,le=le+Math.imul(A,V)|0,le=le+Math.imul(I,Y)|0,be=be+Math.imul(I,V)|0,he=he+Math.imul(E,$)|0,le=le+Math.imul(E,Q)|0,le=le+Math.imul(x,$)|0,be=be+Math.imul(x,Q)|0,he=he+Math.imul(M,te)|0,le=le+Math.imul(M,re)|0,le=le+Math.imul(S,te)|0,be=be+Math.imul(S,re)|0,he=he+Math.imul(y,ne)|0,le=le+Math.imul(y,ae)|0,le=le+Math.imul(w,ne)|0,be=be+Math.imul(w,ae)|0,he=he+Math.imul(m,se)|0,le=le+Math.imul(m,fe)|0,le=le+Math.imul(g,se)|0,be=be+Math.imul(g,fe)|0,he=he+Math.imul(l,de)|0,le=le+Math.imul(l,ue)|0,le=le+Math.imul(b,de)|0,be=be+Math.imul(b,ue)|0;let ze=(pe+he|0)+((8191&le)<<13)|0;pe=(be+(le>>>13)|0)+(ze>>>26)|0,ze&=67108863,he=Math.imul(N,H),le=Math.imul(N,W),le=le+Math.imul(O,H)|0,be=Math.imul(O,W),he=he+Math.imul(R,Y)|0,le=le+Math.imul(R,V)|0,le=le+Math.imul(j,Y)|0,be=be+Math.imul(j,V)|0,he=he+Math.imul(A,$)|0,le=le+Math.imul(A,Q)|0,le=le+Math.imul(I,$)|0,be=be+Math.imul(I,Q)|0,he=he+Math.imul(E,te)|0,le=le+Math.imul(E,re)|0,le=le+Math.imul(x,te)|0,be=be+Math.imul(x,re)|0,he=he+Math.imul(M,ne)|0,le=le+Math.imul(M,ae)|0,le=le+Math.imul(S,ne)|0,be=be+Math.imul(S,ae)|0,he=he+Math.imul(y,se)|0,le=le+Math.imul(y,fe)|0,le=le+Math.imul(w,se)|0,be=be+Math.imul(w,fe)|0,he=he+Math.imul(m,de)|0,le=le+Math.imul(m,ue)|0,le=le+Math.imul(g,de)|0,be=be+Math.imul(g,ue)|0;let Ae=(pe+he|0)+((8191&le)<<13)|0;pe=(be+(le>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,he=Math.imul(N,Y),le=Math.imul(N,V),le=le+Math.imul(O,Y)|0,be=Math.imul(O,V),he=he+Math.imul(R,$)|0,le=le+Math.imul(R,Q)|0,le=le+Math.imul(j,$)|0,be=be+Math.imul(j,Q)|0,he=he+Math.imul(A,te)|0,le=le+Math.imul(A,re)|0,le=le+Math.imul(I,te)|0,be=be+Math.imul(I,re)|0,he=he+Math.imul(E,ne)|0,le=le+Math.imul(E,ae)|0,le=le+Math.imul(x,ne)|0,be=be+Math.imul(x,ae)|0,he=he+Math.imul(M,se)|0,le=le+Math.imul(M,fe)|0,le=le+Math.imul(S,se)|0,be=be+Math.imul(S,fe)|0,he=he+Math.imul(y,de)|0,le=le+Math.imul(y,ue)|0,le=le+Math.imul(w,de)|0,be=be+Math.imul(w,ue)|0;let Ie=(pe+he|0)+((8191&le)<<13)|0;pe=(be+(le>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,he=Math.imul(N,$),le=Math.imul(N,Q),le=le+Math.imul(O,$)|0,be=Math.imul(O,Q),he=he+Math.imul(R,te)|0,le=le+Math.imul(R,re)|0,le=le+Math.imul(j,te)|0,be=be+Math.imul(j,re)|0,he=he+Math.imul(A,ne)|0,le=le+Math.imul(A,ae)|0,le=le+Math.imul(I,ne)|0,be=be+Math.imul(I,ae)|0,he=he+Math.imul(E,se)|0,le=le+Math.imul(E,fe)|0,le=le+Math.imul(x,se)|0,be=be+Math.imul(x,fe)|0,he=he+Math.imul(M,de)|0,le=le+Math.imul(M,ue)|0,le=le+Math.imul(S,de)|0,be=be+Math.imul(S,ue)|0;let qe=(pe+he|0)+((8191&le)<<13)|0;pe=(be+(le>>>13)|0)+(qe>>>26)|0,qe&=67108863,he=Math.imul(N,te),le=Math.imul(N,re),le=le+Math.imul(O,te)|0,be=Math.imul(O,re),he=he+Math.imul(R,ne)|0,le=le+Math.imul(R,ae)|0,le=le+Math.imul(j,ne)|0,be=be+Math.imul(j,ae)|0,he=he+Math.imul(A,se)|0,le=le+Math.imul(A,fe)|0,le=le+Math.imul(I,se)|0,be=be+Math.imul(I,fe)|0,he=he+Math.imul(E,de)|0,le=le+Math.imul(E,ue)|0,le=le+Math.imul(x,de)|0,be=be+Math.imul(x,ue)|0;let Re=(pe+he|0)+((8191&le)<<13)|0;pe=(be+(le>>>13)|0)+(Re>>>26)|0,Re&=67108863,he=Math.imul(N,ne),le=Math.imul(N,ae),le=le+Math.imul(O,ne)|0,be=Math.imul(O,ae),he=he+Math.imul(R,se)|0,le=le+Math.imul(R,fe)|0,le=le+Math.imul(j,se)|0,be=be+Math.imul(j,fe)|0,he=he+Math.imul(A,de)|0,le=le+Math.imul(A,ue)|0,le=le+Math.imul(I,de)|0,be=be+Math.imul(I,ue)|0;let je=(pe+he|0)+((8191&le)<<13)|0;pe=(be+(le>>>13)|0)+(je>>>26)|0,je&=67108863,he=Math.imul(N,se),le=Math.imul(N,fe),le=le+Math.imul(O,se)|0,be=Math.imul(O,fe),he=he+Math.imul(R,de)|0,le=le+Math.imul(R,ue)|0,le=le+Math.imul(j,de)|0,be=be+Math.imul(j,ue)|0;let Be=(pe+he|0)+((8191&le)<<13)|0;pe=(be+(le>>>13)|0)+(Be>>>26)|0,Be&=67108863,he=Math.imul(N,de),le=Math.imul(N,ue),le=le+Math.imul(O,de)|0,be=Math.imul(O,ue);let Ne=(pe+he|0)+((8191&le)<<13)|0;return pe=(be+(le>>>13)|0)+(Ne>>>26)|0,Ne&=67108863,a[0]=me,a[1]=ge,a[2]=ve,a[3]=ye,a[4]=we,a[5]=_e,a[6]=Me,a[7]=Se,a[8]=ke,a[9]=Ee,a[10]=xe,a[11]=ze,a[12]=Ae,a[13]=Ie,a[14]=qe,a[15]=Re,a[16]=je,a[17]=Be,a[18]=Ne,0!==pe&&(a[19]=pe,r.length+=1),r}Math.imul||(X=H),p.Red=z,e.exports=p}).call(this,r(2).Buffer)},function(e,t,r){"use strict";
/*!
 * chacha20.js - chacha20 for bcrypto
 * Copyright (c) 2017-2019, Christopher Jeffrey (MIT License).
 * https://github.com/bcoin-org/bcrypto
 */e.exports=r(223)},function(e,t,r){"use strict";(function(t){
/*!
 * chacha20.js - chacha20 for bcrypto
 * Copyright (c) 2016-2019, Christopher Jeffrey (MIT License).
 * https://github.com/bcoin-org/bcrypto
 *
 * Resources
 *   https://en.wikipedia.org/wiki/Chacha20
 *   https://tools.ietf.org/html/rfc7539#section-2
 *   https://cr.yp.to/chacha.html
 */
const i=r(8),n=0===new Int8Array(new Int16Array([1]).buffer)[0];class a{constructor(){this.state=new Uint32Array(16),this.stream=new Uint32Array(16),this.bytes=new Uint8Array(this.stream.buffer),this.pos=-1,n&&(this.bytes=t.alloc(64))}init(e,r,n){if(null==n&&(n=0),i(t.isBuffer(e)),i(t.isBuffer(r)),i(Number.isSafeInteger(n)),16!==e.length&&32!==e.length)throw new RangeError("Invalid key size.");if(r.length>=24&&(e=a.derive(e,r.slice(0,16)),r=r.slice(16)),this.state[0]=1634760805,this.state[1]=e.length<32?824206446:857760878,this.state[2]=e.length<32?2036477238:2036477234,this.state[3]=1797285236,this.state[4]=f(e,0),this.state[5]=f(e,4),this.state[6]=f(e,8),this.state[7]=f(e,12),this.state[8]=f(e,16%e.length),this.state[9]=f(e,20%e.length),this.state[10]=f(e,24%e.length),this.state[11]=f(e,28%e.length),this.state[12]=n>>>0,8===r.length)this.state[13]=n/4294967296>>>0,this.state[14]=f(r,0),this.state[15]=f(r,4);else if(12===r.length)this.state[13]=f(r,0),this.state[14]=f(r,4),this.state[15]=f(r,8);else{if(16!==r.length)throw new RangeError("Invalid nonce size.");this.state[12]=f(r,0),this.state[13]=f(r,4),this.state[14]=f(r,8),this.state[15]=f(r,12)}return this.pos=0,this}encrypt(e){if(i(t.isBuffer(e)),-1===this.pos)throw new Error("Context is not initialized.");for(let t=0;t<e.length;t++)0==(63&this.pos)&&(this._block(),this.pos=0),e[t]^=this.bytes[this.pos++];return e}_block(){for(let e=0;e<16;e++)this.stream[e]=this.state[e];for(let e=0;e<10;e++)o(this.stream,0,4,8,12),o(this.stream,1,5,9,13),o(this.stream,2,6,10,14),o(this.stream,3,7,11,15),o(this.stream,0,5,10,15),o(this.stream,1,6,11,12),o(this.stream,2,7,8,13),o(this.stream,3,4,9,14);for(let e=0;e<16;e++)this.stream[e]+=this.state[e];if(n)for(let e=0;e<16;e++)c(this.bytes,this.stream[e],4*e);this.state[12]+=1,0===this.state[12]&&(this.state[13]+=1)}destroy(){for(let e=0;e<16;e++)this.state[e]=0,this.stream[e]=0;if(n)for(let e=0;e<64;e++)this.bytes[e]=0;return this.pos=-1,this}static derive(e,r){if(i(t.isBuffer(e)),i(t.isBuffer(r)),16!==e.length&&32!==e.length)throw new RangeError("Invalid key size.");if(16!==r.length)throw new RangeError("Invalid nonce size.");const n=new Uint32Array(16);n[0]=1634760805,n[1]=e.length<32?824206446:857760878,n[2]=e.length<32?2036477238:2036477234,n[3]=1797285236,n[4]=f(e,0),n[5]=f(e,4),n[6]=f(e,8),n[7]=f(e,12),n[8]=f(e,16%e.length),n[9]=f(e,20%e.length),n[10]=f(e,24%e.length),n[11]=f(e,28%e.length),n[12]=f(r,0),n[13]=f(r,4),n[14]=f(r,8),n[15]=f(r,12);for(let e=0;e<10;e++)o(n,0,4,8,12),o(n,1,5,9,13),o(n,2,6,10,14),o(n,3,7,11,15),o(n,0,5,10,15),o(n,1,6,11,12),o(n,2,7,8,13),o(n,3,4,9,14);const a=t.alloc(32);return c(a,n[0],0),c(a,n[1],4),c(a,n[2],8),c(a,n[3],12),c(a,n[12],16),c(a,n[13],20),c(a,n[14],24),c(a,n[15],28),a}}function o(e,t,r,i,n){e[t]+=e[r],e[n]=s(e[n]^e[t],16),e[i]+=e[n],e[r]=s(e[r]^e[i],12),e[t]+=e[r],e[n]=s(e[n]^e[t],8),e[i]+=e[n],e[r]=s(e[r]^e[i],7)}function s(e,t){return e<<t|e>>>32-t}function f(e,t){return e[t++]+256*e[t++]+65536*e[t++]+16777216*e[t]}function c(e,t,r){return e[r++]=t,t>>>=8,e[r++]=t,t>>>=8,e[r++]=t,t>>>=8,e[r++]=t,r}a.native=0,e.exports=a}).call(this,r(2).Buffer)},function(e,t,r){"use strict";(function(t){
/*!
 * sha256.js - SHA256 implementation for bcrypto
 * Copyright (c) 2016-2019, Christopher Jeffrey (MIT License).
 * https://github.com/bcoin-org/bcrypto
 *
 * Parts of this software are based on indutny/hash.js:
 *   Copyright (c) 2014, Fedor Indutny (MIT License).
 *   https://github.com/indutny/hash.js
 *
 * Resources:
 *   https://en.wikipedia.org/wiki/SHA-2
 *   https://tools.ietf.org/html/rfc4634
 *   https://github.com/indutny/hash.js/blob/master/lib/hash/sha/256.js
 */
const i=r(8),n=r(111),a=t.alloc(8,0),o=t.alloc(64,0);o[0]=128;const s=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);class f{constructor(){this.state=new Uint32Array(8),this.msg=new Uint32Array(64),this.block=t.alloc(64),this.size=-1}init(){return this.state[0]=1779033703,this.state[1]=3144134277,this.state[2]=1013904242,this.state[3]=2773480762,this.state[4]=1359893119,this.state[5]=2600822924,this.state[6]=528734635,this.state[7]=1541459225,this.size=0,this}update(e){return i(t.isBuffer(e)),this._update(e,e.length),this}final(){return this._final(t.alloc(32))}_update(e,t){i(-1!==this.size,"Context is not initialized.");let r=63&this.size,n=0;if(this.size+=t,r>0){let i=64-r;if(i>t&&(i=t),e.copy(this.block,r,n,n+i),r+=i,t-=i,n+=i,r<64)return;this._transform(this.block,0)}for(;t>=64;)this._transform(e,n),n+=64,t-=64;t>0&&e.copy(this.block,0,n,n+t)}_final(e){i(-1!==this.size,"Context is not initialized.");const t=63&this.size,r=8*this.size;b(a,r*(1/4294967296)>>>0,0),b(a,r>>>0,4),this._update(o,1+(119-t&63)),this._update(a,8);for(let t=0;t<8;t++)b(e,this.state[t],4*t),this.state[t]=0;for(let e=0;e<64;e++)this.msg[e]=0;for(let e=0;e<64;e++)this.block[e]=0;return this.size=-1,e}_transform(e,t){const r=this.msg;let i=this.state[0],n=this.state[1],a=this.state[2],o=this.state[3],f=this.state[4],b=this.state[5],p=this.state[6],m=this.state[7],g=0;for(;g<16;g++)r[g]=(y=t+4*g,16777216*(v=e)[y++]+65536*v[y++]+256*v[y++]+v[y]);for(var v,y,w;g<64;g++)r[g]=(((w=r[g-2])>>>17|w<<15)^(w>>>19|w<<13)^w>>>10)+r[g-7]+u(r[g-15])+r[g-16];for(g=0;g<64;g++){const e=m+d(f)+h(f,b,p)+s[g]+r[g],t=c(i)+l(i,n,a);m=p,p=b,b=f,f=o+e>>>0,o=a,a=n,n=i,i=e+t>>>0}this.state[0]+=i,this.state[1]+=n,this.state[2]+=a,this.state[3]+=o,this.state[4]+=f,this.state[5]+=b,this.state[6]+=p,this.state[7]+=m}static hash(){return new f}static hmac(){return new n(f,64)}static digest(e){return f.ctx.init().update(e).final()}static root(e,r){return i(t.isBuffer(e)&&32===e.length),i(t.isBuffer(r)&&32===r.length),f.ctx.init().update(e).update(r).final()}static multi(e,t,r){const{ctx:i}=f;return i.init(),i.update(e),i.update(t),r&&i.update(r),i.final()}static mac(e,t){return f.hmac().init(t).update(e).final()}}function c(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function d(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function u(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}function h(e,t,r){return r^e&(t^r)}function l(e,t,r){return e&t|r&(e|t)}function b(e,t,r){return e[r++]=t>>>24,e[r++]=t>>>16,e[r++]=t>>>8,e[r++]=t,r}f.native=0,f.id="SHA256",f.size=32,f.bits=256,f.blockSize=64,f.zero=t.alloc(32,0),f.ctx=new f,e.exports=f}).call(this,r(2).Buffer)},function(e,t,r){"use strict";(function(e,i){
/*!
 * random.js - random number generator for bcrypto
 * Copyright (c) 2014-2019, Christopher Jeffrey (MIT License).
 * https://github.com/bcoin-org/bcrypto
 *
 * Resources:
 *   https://wiki.openssl.org/index.php/Random_Numbers
 *   https://csrc.nist.gov/projects/random-bit-generation/
 *   http://www.pcg-random.org/posts/bounded-rands.html
 *   https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues
 */
const n=r(8),a=e.crypto||e.msCrypto,o=a&&"function"==typeof a.getRandomValues,s=o?a.getRandomValues.bind(a):null,f=new Uint32Array(16);let c=0;function d(){return 0==(15&c)&&(u(f),c=0),f[c++]}function u(e){if(!o)throw new Error("Entropy source not available.");return s(e)}function h(e,t,r){if(n(i.isBuffer(e)),n(e.buffer instanceof ArrayBuffer),n(e.byteOffset>>>0===e.byteOffset),n(e.byteLength>>>0===e.byteLength),n(t>>>0===t),n(r>>>0===r),n(t+r<=e.byteLength),r>2**31-1)throw new RangeError('The value "size" is out of range.');const a=e.byteOffset+t,o=new Uint8Array(e.buffer,a,r);if(o.length>65536)for(let e=0;e<o.length;e+=65536){let t=e+65536;t>o.length&&(t=o.length),u(o.subarray(e,t))}else o.length>0&&u(o)}t.native=0,t.randomBytes=function(e){n(e>>>0===e);const t=i.alloc(e);return h(t,0,e),t},t.randomFill=function(e,t,r){return n(i.isBuffer(e)),null==t&&(t=0),n(t>>>0===t),null==r&&(r=e.length-t),n(r>>>0===r),n(t+r<=e.length),h(e,t,r),e},t.randomInt=d,t.randomRange=function(e,t){n(e>>>0===e),n(t>>>0===t),n(t>=e);const r=t-e;if(0===r)return e;const i=-r>>>0;let a,o;do{a=d(),o=a%r}while(a-o>i);return o+e}}).call(this,r(5),r(2).Buffer)},function(e,t,r){"use strict";
/*!
 * sha512.js - sha512 for bcrypto
 * Copyright (c) 2017-2019, Christopher Jeffrey (MIT License).
 * https://github.com/bcoin-org/bcrypto
 */e.exports=r(227)},function(e,t,r){"use strict";(function(t){
/*!
 * sha512.js - SHA512 implementation for bcrypto
 * Copyright (c) 2017-2019, Christopher Jeffrey (MIT License).
 * https://github.com/bcoin-org/bcrypto
 *
 * Parts of this software are based on indutny/hash.js:
 *   Copyright (c) 2014, Fedor Indutny (MIT License).
 *   https://github.com/indutny/hash.js
 *
 * Resources:
 *   https://en.wikipedia.org/wiki/SHA-2
 *   https://tools.ietf.org/html/rfc4634
 *   https://github.com/indutny/hash.js/blob/master/lib/hash/sha/512.js
 */
const i=r(8),n=r(111),a=t.alloc(16,0),o=t.alloc(128,0);o[0]=128;const s=new Uint32Array([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]);class f{constructor(){this.state=new Uint32Array(16),this.msg=new Uint32Array(160),this.block=t.alloc(128),this.size=-1}init(){return this.state[0]=1779033703,this.state[1]=4089235720,this.state[2]=3144134277,this.state[3]=2227873595,this.state[4]=1013904242,this.state[5]=4271175723,this.state[6]=2773480762,this.state[7]=1595750129,this.state[8]=1359893119,this.state[9]=2917565137,this.state[10]=2600822924,this.state[11]=725511199,this.state[12]=528734635,this.state[13]=4215389547,this.state[14]=1541459225,this.state[15]=327033209,this.size=0,this}update(e){return i(t.isBuffer(e)),this._update(e,e.length),this}final(){return this._final(t.alloc(64))}_update(e,t){i(-1!==this.size,"Context is not initialized.");let r=127&this.size,n=0;if(this.size+=t,r>0){let i=128-r;if(i>t&&(i=t),e.copy(this.block,r,n,n+i),r+=i,t-=i,n+=i,r<128)return;this._transform(this.block,0)}for(;t>=128;)this._transform(e,n),n+=128,t-=128;t>0&&e.copy(this.block,0,n,n+t)}_final(e){i(-1!==this.size,"Context is not initialized.");const t=127&this.size,r=8*this.size;j(a,r*(1/4294967296)>>>0,8),j(a,r>>>0,12),this._update(o,1+(239-t&127)),this._update(a,16);for(let t=0;t<16;t++)j(e,this.state[t],4*t),this.state[t]=0;for(let e=0;e<160;e++)this.msg[e]=0;for(let e=0;e<128;e++)this.block[e]=0;return this.size=-1,e}_prepare(e,t){const r=this.msg;let i=0;for(;i<32;i++)r[i]=(a=t+4*i,16777216*(n=e)[a++]+65536*n[a++]+256*n[a++]+n[a]);for(var n,a;i<160;i+=2){const e=q(r[i-4],r[i-3]),t=R(r[i-4],r[i-3]),n=r[i-14],a=r[i-13],o=A(r[i-30],r[i-29]),s=I(r[i-30],r[i-29]),f=r[i-32],c=r[i-31];r[i+0]=h(e,t,n,a,o,s,f,c),r[i+1]=l(e,t,n,a,o,s,f,c)}}_transform(e,t){const r=this.msg;this._prepare(e,t);let i=this.state[0],n=this.state[1],a=this.state[2],o=this.state[3],f=this.state[4],h=this.state[5],l=this.state[6],m=this.state[7],g=this.state[8],v=this.state[9],y=this.state[10],A=this.state[11],I=this.state[12],q=this.state[13],R=this.state[14],j=this.state[15];for(let e=0;e<r.length;e+=2){let t=R,c=j,B=x(g,v),N=z(g,v);const O=w(g,v,y,A,I,q),T=_(g,v,y,A,I,q),P=s[e+0],L=s[e+1],D=r[e+0],C=r[e+1],U=b(t,c,B,N,O,T,P,L,D,C),F=p(t,c,B,N,O,T,P,L,D,C);t=k(i,n),c=E(i,n),B=M(i,n,a,o,f,h),N=S(i,n,a,o,f,h);const K=d(t,c,B,N),J=u(t,c,B,N);R=I,j=q,I=y,q=A,y=g,A=v,g=d(l,m,U,F),v=u(m,m,U,F),l=f,m=h,f=a,h=o,a=i,o=n,i=d(U,F,K,J),n=u(U,F,K,J)}c(this.state,0,i,n),c(this.state,2,a,o),c(this.state,4,f,h),c(this.state,6,l,m),c(this.state,8,g,v),c(this.state,10,y,A),c(this.state,12,I,q),c(this.state,14,R,j)}static hash(){return new f}static hmac(){return new n(f,128)}static digest(e){return f.ctx.init().update(e).final()}static root(e,r){return i(t.isBuffer(e)&&64===e.length),i(t.isBuffer(r)&&64===r.length),f.ctx.init().update(e).update(r).final()}static multi(e,t,r){const{ctx:i}=f;return i.init(),i.update(e),i.update(t),r&&i.update(r),i.final()}static mac(e,t){return f.hmac().init(t).update(e).final()}}function c(e,t,r,i){const n=e[t+0],a=i+e[t+1]>>>0,o=(a<i)+r+n;e[t+0]=o>>>0,e[t+1]=a}function d(e,t,r,i){return(t+i>>>0<t)+e+r>>>0}function u(e,t,r,i){return t+i>>>0}function h(e,t,r,i,n,a,o,s){let f=0,c=t;c=c+i>>>0,f+=c<t,c=c+a>>>0,f+=c<a,c=c+s>>>0,f+=c<s;return e+r+n+o+f>>>0}function l(e,t,r,i,n,a,o,s){return t+i+a+s>>>0}function b(e,t,r,i,n,a,o,s,f,c){let d=0,u=t;u=u+i>>>0,d+=u<t,u=u+a>>>0,d+=u<a,u=u+s>>>0,d+=u<s,u=u+c>>>0,d+=u<c;return e+r+n+o+f+d>>>0}function p(e,t,r,i,n,a,o,s,f,c){return t+i+a+s+c>>>0}function m(e,t,r){return(t<<32-r|e>>>r)>>>0}function g(e,t,r){return(e<<32-r|t>>>r)>>>0}function v(e,t,r){return e>>>r}function y(e,t,r){return(e<<32-r|t>>>r)>>>0}function w(e,t,r,i,n,a){return(e&r^~e&n)>>>0}function _(e,t,r,i,n,a){return(t&i^~t&a)>>>0}function M(e,t,r,i,n,a){return(e&r^e&n^r&n)>>>0}function S(e,t,r,i,n,a){return(t&i^t&a^i&a)>>>0}function k(e,t){return(m(e,t,28)^m(t,e,2)^m(t,e,7))>>>0}function E(e,t){return(g(e,t,28)^g(t,e,2)^g(t,e,7))>>>0}function x(e,t){return(m(e,t,14)^m(e,t,18)^m(t,e,9))>>>0}function z(e,t){return(g(e,t,14)^g(e,t,18)^g(t,e,9))>>>0}function A(e,t){return(m(e,t,1)^m(e,t,8)^v(e,0,7))>>>0}function I(e,t){return(g(e,t,1)^g(e,t,8)^y(e,t,7))>>>0}function q(e,t){return(m(e,t,19)^m(t,e,29)^v(e,0,6))>>>0}function R(e,t){return(g(e,t,19)^g(t,e,29)^y(e,t,6))>>>0}function j(e,t,r){return e[r++]=t>>>24,e[r++]=t>>>16,e[r++]=t>>>8,e[r++]=t,r}f.native=0,f.id="SHA512",f.size=64,f.bits=512,f.blockSize=128,f.zero=t.alloc(64,0),f.ctx=new f,e.exports=f}).call(this,r(2).Buffer)},function(e){e.exports=JSON.parse('{"naf":{"width":9,"points":[["67ae9c4a22928f491ff4ae743edac83a6343981981624886ac62485fd3f8e25c","1267b1d177ee69aba126a18e60269ef79f16ec176724030402c3684878f5b4d4"],["49fda73eade3587bfcef7cf7d12da5de5c2819f93e1be1a591409cc0322ef233","5f4825b298feae6fe02c6e148992466631282eca89430b5d10d21f83d676c8ed"],["14568685fcf4bd4ee9e3ee194b1d810783e809f3bbf1ce955855981af50e4107","31c563e32b47d52f87ce6468dd36ad41f0882b46f7abf23d12c4c4b59f4062b8"],["357cc970c80071651bf336e06f9422b886d80e5c2e4e0294d3e023065185715c","7f3d23c2c2dd0df4b2befce956f2d2fd1f789013236e4430c74e44845522f1c0"],["14e528b1154be417b6cf078dd6712438d381a5b2c593d552ff2fd2c1207cf3cb","2d9082313f21ab975a6f7ce340ff0fce1258591c3c9c58d4308f2dc36a033713"],["107427e0d5f366ccdb33adf0282d304f8843e3e88d22b7b83780e073b7c05fed","12dbb00ded538b7478466022d2da89b83740cfb2289a272387efe1aeea401f80"],["4f162deaec2ec435dc5ac6f95d20419ed9631374770189cb90617f3e66a18dc1","12cbfb2d04ff22f55162f70164d29331ace5af18a19a9aa1946d4cc4ad2e5cdf"],["7dc52d5a7db816e9b850741ea2fd72918d94985b85a20b4dc5597853a876df6a","6f6d2bca60003ef9f24ac245cc919fb717b188723b34f901cd6cfe9bec97be04"],["1d81f74a5ba45c7022e8c140d763b9c1b0e281a5304696e74f791a3a04a94472","3f185a93d95a4347227c5bb6ddd65cf42e1830823f435f3083fe6102691d55b9"],["6f0ac78e5eb90e87958588f9d47541edf252cb1dde3d073cc45e3e7ef9365716","6628d116b7975ae5f323e5ddf4f8cc35ae06d5c5c7d8a56effc66051336d289e"],["2188ac423c67db5625915e05222a391bcaf91f05d9b7cc2cab5798b2d2e14d95","23240c559c57b79a4df69a23fc46e50504277b1fa49369ab663d79782b33c0ee"],["794241471ed9ceb009384b370cb8790fca98552ecb822dc06b19362c36353455","71e918c03cdfca7207772e8d18ee8f9d92d79a0a83f378912362bc68d311dcd0"],["163bc180c22dfc5da23c5c052107bba93a88b4360aa1d4e729611d8f5a7f8079","631107a6ba83f7458194b9766a0a54f638ca20daf800384dbae1498677501939"],["39a32a30f3eb1da0eb7e3903b8ace3da3890b24b61a3a9e79db663b5db0f7a5d","4d4c54675dc1f1c9a1af9ca0010045dc803c16af345823136dd203715d67c491"],["38085391a0e2831f59c33fcce7591515784d359925f11ff958e0e4658efac0e9","42918001a829f49b5634e34ab7fac21b30e24660669ed91955cc31944a19e62a"],["5e3573b049d6135ffbbbbd9a480617434f2455b4a591f719e91153eeb75a32a1","54bc665420c789da1105d53983c1a0fc33bcc2690cd9b37d6566e21a85892871"],["7ed068b25b82c05fdc0e46bd80a357f3acd2f5c3b9330bc8d474e5b28270f6eb","01da83a187da8ccca704d46557a462551d70df7f943a681c3b97b1db6a21b7d3"],["05ca3370e7516f6686111b72650aab4c5484407f14b515ade03951c6a14a0aa3","6f407fc537b95277966e7f0f5e64b86904bf7baee091cee6011a3611834c6903"],["624cb312b698bbd6dbca79b8d2b53cb5d8b3ab33c19306e87c18211f095ab9c3","5b3336b2751e97c793731ac9b9a2243b6229f6d0bbea6b619395d0e5200bd8a3"],["1ddf6ece608fe2901b34b7e4f47cfcb75e947e293c704d8121b11a31a051b5f9","5e2dc58e9a48a749ce5296d229cfb34f96a147a8246d2e9844d52b52112ea94e"],["396b384f3d61cfc060308fbb1c941ebc9418e2d9abd81316e08d625f48c0e101","7223e5f7b66d1ca24962bac273a7aa6618cc60cb8a64a8837e0261107e7ad644"],["53cc3dca3410277fb38d75e4ac0dde8e77a99c817170dbc9696cffe7890fbd50","2592a3aafce64d7c69f4de468d5d5aa19845f5ca08f64a0a40e37d23ececbbe1"],["34705fe600f5aed77b29d3eacdffcd45d886904156d43dc550bb7fc889cc1368","299153c141a8950ffbcc8e9352993e642fa39a476200dd4acf42e158dbe3b01e"],["5969255bd089181b991fce96b1792ba330a14f8a0b061f8118c9c336b8504618","680a805fa0ae93c2a12b193517fb1147d355547e4ab18a9d6ca21575bbb4d7a4"],["27d1d57fa8808d3d452df14bda4248b37902752163b1fd499a92456c59918ecb","0a42f1c0f4c5d7de9e82904f0b4ff63988d31fedb8aad9d8ae009c7a1dff09c3"],["0811d14bfdfdcf2144edd9cf55bce584a9ba17aec3eac8aaa82987ad703d9b8a","42bea70d46f3ee0df0ec77d24c5495ea56ada2e0415920470c4746b68306376e"],["4de090761b863cb0f0650297f154a8e66d00c5119c38e5dd05303d905d527a4a","5eef0efd105361ce198a30e09e7e7edffbe3d70189e63ca68cf6057b9772baa8"],["1d45517858ce45556aaee056ebab7e0ef3dc9ae3740aed570f3e76bfb4fc4817","0b5a9d8fe8b7ccb04c0a5ef77798a3ec6e1bc1138604eb05e83844f0d4c5c699"],["4285edbe9117f30aae1ef5ee419eb1d472106c6b3d7f3ce3701e39324b0eeafc","503aa6104a682bcf2c0a60c84f4c22b50b0caa0fed8db87dedc7173eae04bdbd"],["3ef830cbeff9b79039b1b6bd9bb52bbcfa56d008d91b9703ea1c80351f8687d6","62349ff5d8dbd216a874769eec152ef9734bea9240eed623992c7553dc8ee4c8"],["649a996e6d4d3b60ccb526939ed8929134107e03e2fd4648eaa2fa9830822c1a","1648311b942fe95d492a1ace5e5235c1aea860d036d2475cc8964cd1acedee9c"],["3a95596d97770d050d1ecc075d58a74f5fe6b4b8222740534ba22c8be73f9d56","15a80cdcc03317a830fa4a7461de6bac136993e0a797f83b405c161a34c98fd7"],["2d265d3fe1c88903ca93685209418deec5af886bf0d9fdb3f499d831cbb76ce1","08376fb0663d3aa220948612b519af4a6a1f956622b15a305fb2e60a84210b3c"],["642cb15498d8c6b25803f3e56b98e2ea185ac808cbeab5eb0a610ed5babb9385","21b5ca5020a9e5a2334c0bee15193ea16c909963ffa6e1d93df4b239abeaeb3e"],["38e576301ff6cdd0822a19c6d610d445d3967e2bada903abb6220f68c6e79bef","458fe689e31a24952d2817dda4349109c1b26ef31699fa36c4f8389eeb60eac0"],["372bec78d75011a0ef2233cd08790a7f15c1ec1e3a78cac8d6652678641780db","32e9e47cf2f48612ed3e2c2006ea0c0c8476d3562aa88cefb67ec97abdb538e8"],["1aa3756aabcc3eb65afee34e0a15dd67bfb9fb199eb131f4cc6a3ca9ec4d1c77","42333e27831add6eb49af80e17347c63c26dd684758096ee3dbdbe03a49159ae"],["38db16447d79d3590c4a36e20286beadfbae91a4eed2e5e7dd4f975ac0537dc5","1c48ccaed60ec12ce862ea71165bba7df1739845df2a857f4ef0a0f714f96daa"],["176b78984cddfddef90bae619c6a98e951d9a7ac7d6af218ae7e76b273212fb7","7b5b93eda77443f366e2a127abe12212aad8536767ec1c5861143f777db85852"],["042d154bf7b4a7bd73897ae528c6bc552ea58d74f8109e8e4052d3e9d38bb0f6","42d1831323e279f9f7ee9e3470ba20ca7edc3245eca5d8ffa182de120a71fc90"],["1f8d28dd4f286a8d0687b626b01204434bf5874a9550d6e375116490c154e108","1ce82e2360367e06f41757fd45239f9bc2c61609139446b09b55a9c43da98bb8"],["613eb914c015076e9ae8356bf508c289e50b1c87d9e2546f6e406362e248e5e5","3edbaafcd8c41ef4aa18b254137d201a2ef0ca4ca28807156bc949e920b97353"],["27bf43826bf0310b4b3e3a405eff790a1d77a8d48b04891246cff8e193cb03a9","16a24d749cc1d234fbe8af9cfd782c3aaa5869d6db0afa7b4d4c67037514f2ea"],["769a6a59746d7bead417bdd9c3b5f5ae1dbd924083ffd9e88df7714f57a675c2","22dc1267cfb2b41c590abb7dc3df45619af688d0421f2bdfb50748335ec5da25"],["795734ee4fcc24194219d25d41a2889cdb942f765848e9df63bff0b158c7224d","756420ab5c71127d39d2e79907634a177af0e483e08484ea4d7b76f7100669b5"],["644d12fc5e7fcac5aeb5911d8240971a99fc59fdd2903f46958e6896aefbcf46","173450789fcd40172e8124fea56f7aedad2ee13fa8fc5209cc8cb572175216dc"],["5deca767ef17b9e8d4f351f5c8ad1fcc50e97a2ed687516bf5210679fd6c1110","4ddf2207da12f700708089989da016f3307ce5721c9e27c952599d67898aa396"],["296dcb24cb3185d037a94bef93c97cacd09fc7050ba8472da59d4a689d9d2848","0b17dc85a4acf73833fab728f15abccac97cd09e57975bd996d3e1dd8b060f7b"],["408a3f1af2e77dfe94f8e225b40dfc146abb1002db7bcf15fde61c1a6cf1b93f","4f01ec38854c15a879e7c7924f048e2ec951dcdf04a614088b68fbcc0954e1c8"],["07d2d9234970cdc9483e0a7c5ec52c49077c440e0a993a1e624f90b8fafbbf07","6ac2190030c210ae3e07b9239f6ee7affba263866ee7831a564c511f703f2295"],["2982d553002082320aa899b9b6887e40dedf11868fa931689795d93d58452873","215e16ca447978624cad0ea6bf45aada4eca914425ee275db2a26e980dc349b6"],["1d8649515cb49e136d2895b6276569e5c711fe1a343eeb5a3daaa8d0e7b42d1a","5b21e2f2978f343a3e9ec3316cdc111af3b55f34afa5fc3fcbf6c26c1bb7fb6c"],["5460df4d607147939cdbc04dbdcbdffd37c5eafdd501b50a67213a23ee724a97","69dfc7004263ccb52487d34ab134b80bb3030273999739cb9cdc16d71b9abcd8"],["24623476f0af9f42ca15a0697ad23abeaf5ed9dc4d2b44f7e8175486598125bb","6aebe4a1a22d9e31194dcde6d33ff3af77dda15c22b2ecba9329849b8c042687"],["64e507a02bfd8a8413117bac253b17f94b2911681ebc07c92da0de6a651dd538","513ac992d72b463da110afb612fbae36590248a0507d845ee95fab2d1caa03a4"],["47f3bd11324f6bee230a22a5bb06a3ccddbc0473b810689efaeef894a654bf0e","7e05db9b3ff886bf32608dfc8d14eaa91e2e2ef230e7c75618060e4285c492be"],["4a6d22703a7045d02d656015ea2d168385d42963a739a895e4fd87b3e55c5e0f","4c58d7a8c6ded0451798e51f16ffa5b637a87aa5defb119ba868d8cccf61776d"],["3e22af70a548097244d7798964598172a90391f84c59b04cea7af283ba368eb5","689d8b7cda23b8dea197c5119fbbbd81dd4b59a36cc283dbe292b5b6519a2968"],["61a6ba2ca42d9d557b3a2ff0867c1b8bb8fc40192d31ff637431a302bc065a10","63d805f5a79f845ea2915a25cf0a8cab2e0255212a1bd3c8852b25579b63721d"],["03d963eeae48556e88305f91c478efcfd2168c346b9ba185884ec8621e8cb414","74b75cc839a944ad8c639719d20fd9d48d2099ef24c8633eabec7a9ec1e7e183"],["0f04da69e0202f7b44c58b103c88de09a0599951fedb17e7f2152d6b93a58ae9","1fbc1c9cd03c4cfd46e8e90019debf86e8036587eade038346f91070c800b8c4"],["797899e488353ed0c6666aff11913b33be0190833766e809b2a68cbc671a9cfe","5dd70a33ff94a84b3fe660f7070e6179e86b5c846689265bf985ce424b8909cc"],["735b64bb872606510e4e7d57833eb7ffdc4aa0dbaa242439806be68379f77cdd","384aaaee3ca7ba2436fcb65910859ca5ec30c10af11df7d777d287bc1a2bce2c"],["6f6ea532a62cf4766f55a0a72a86b55e73fe9d3328ee94bfc271e122f99dc1ac","61d8203ef6da5d0b584541c02331c7f58617cf8d4f26d11776236ce8b113ac10"],["5d99a2a3d4aed730b827b68ed836a9910dce4e7b93faf456981ad6cd85748773","7eeacf5680fb6108a8b7edb45f7134644111b08e17c236469685af5a79474b9e"],["31d0b4bb57bd7b69363c064a49bf3c3b9d7635bcc287e7b3059d3d99fd8382e8","1592e581034e13d47d02b8966f5359097e652391be8fb1e803f4219a22aba2c0"],["424cf5c498bbbe8fa7e5c3247049cc3f45946d0e5f38c44a36a6c84b60a84aa0","34acd712d334a2315dc8fd00c5c9b7c5c9f29bca27380a018882a5ab4a0fcb43"],["33a6ae0522936ba774837aa7959972f9804e3ef02ae84c8039be6595598be247","37022798cc08be9b4ded34c1c5062ab3a26081d375cadf517972fb48135a6602"],["5939635b72aeba595b5f6e376d11a3e07d4b1153ab4d0a7ab267b8bcc47cc3cb","382162eb33db2322cbe01a38fa4d13720b6d8edfaf8116a628725ef4293a6c27"],["3649e78d2ae9fb0ee86b691c27386efce4f3e383790e3cfee2bd59c2e85c4036","09b0d9e0dd82e697b9be9d61ce0d1410e281122b483125c48f7942b22f5d5be4"],["62c7585d1677b7619d8200175346ec99118416d8fdf0103730d165934e96a973","5fef7955ee07304429995433a468d68dec4ecf6b08bbe8cd06869080094044de"],["0c94537d311e17f5b0c58989b5be7e40c88b978a8c074a1e9bb07a713f77f6d3","6deaaa5001bcbbbe9ae436fe42f7042ce74fbf83c14058427fad4587ed33c4e2"],["6f5c6894a8d3877312e608c11809c15dffec3df551711095c8cfc810533e1b3e","74eadab9389b40d6ac6cc0d6e333d628ced60a9ef7617751c20630d23477af7b"],["4e16e88e171f9a07e11f97bba65c0fe5483501f255343afb3335ed47fbcee08f","41bcd7dd328871247cb7995bc6bd2e1961e94b0fb12e5fb2f264f9ad2cf47d4c"],["65d8484cef146e6c232fb262c2ac8200a52c63ccec26ff6f038aa5c74982c741","67283346bbae9391952b141e57ca8e3a36f0363d3b81b1c0f2b3c30a92c74235"],["1c588485b64be8cb99bf97f065e75a82138ea2e035ba90b63745354e9cf729f8","7c9a18d6ebf5465a197989cfb9b5b2a66a5402f46c4708ac04187c6b157a0d77"],["2c80c4ad0aebcafab7e9d2519a329f8a1c7df21cb6b1acec7403c0204d6dce71","7f8e62983160756e35356df95d44467e621c7274372997ca74a9fb760b4db36f"],["1e1e5fc87fa2c49e2c44d5718e3d73c73a91a64ac1374652080bd9004291b9c6","153828e90ed8d94c0f86e0eb54ccb31073cd29ed62c34cd9f2dbc5d98872e597"],["0ce0488a30ed446d445efb1bd21ba32ec3d05d538e6393bc0e58e0849ad57129","7278074ac66ac779136f4d6a334b27633645dea0fc98d137e3dbd4015d12b5a1"],["01a6b81f7285f293f19ba019b009aed8280ce285af42fab91e87fb0bbfa6dea4","60f910dc7c9a82e7836f36acfe7ec26b9babfa8bf26b2945b3c1a43b0c19b4dc"],["79b4ce3c6990023859646690c9ea800174902acfa1aad7ff34eca032dbde7150","53a1053d3fc6c749bf8a928854f392d09fa851ba963ca661bffbe74f012ba45b"],["220ee355b5c39c1901ed34c0f50f7778ad1bedcd7259ae167c16514ffe333498","05fd9374986e1e06035dbfada0117035b96b159354262f2b2695af1256d6aa2a"],["1e2f97d2cb4a19ca40403b364253da71f65d2d4665894267e3c6a9db8b4a3a18","22804fb035acb519210ff99ed7a974a725d896a77933789b4dd45a37dea3466d"],["35b8699fa20987876ac3b3086965b05f8cc809d71cab45e017c68ac96e24ed5b","155079de21981778dc438353bf2c6a65967a1a33ebb74c866fb42f4e3cce3e39"],["3cb40c55f5f19c52958e8c4ecd9c459b1d3268b3971b2286d3e58d1fc6b6a6bd","379e1f1f59df05c74485615b87441ba6203f0cdddc6873a883d4cc6dd1b75921"],["6ad916290e0d003ce5c961679f77704dcd768589d7cb728c60f56852031803bf","1e602b4a6725832a56944234f84c4f85f79911b55beef903549089925f2ccbea"],["7c0162492ae668160aa56a60e8bd43ec088555f750d2223cc37362dead5de123","34e60b446eae100d4c3abc6cb02e4ca559457fb5a9030a290a2568fa4cbf118f"],["354c25bf7b3e83dd0c5e1f39b82e3567edeb5337634056c1091cd6a016caacdf","7abb271ef121630f85a9a1049b3ad78d5b889f533b37a713b8801de46770fc3a"],["1e581a4bcf7504f33f4342b2097504d13f9b5a27f4790a6cdde1242209862850","2164d56564360fd2b5dba2f2c6ef1045ab448c3b60b2f2196c2f74625fc39e07"],["533b56f18283ee79b9a180b887c298961bd9aaa6fa3ef97fcb0d5688e694bc3d","6011366753812df2bce83634a92dbac18dd1cffdbf9a97fa1b1d5b49e0026764"],["4b508b94e6e2e6cd260a20664ea7d727ad20587b63ebe826032e0d20cdc6627b","1e8ecd6ff5aabae78172a0214d07a5013992d133af58afa74049de726df2a6c4"],["3398c0c0219f5ac87a8c73fcd17b89311d120a53f5231cb761030c194fed4265","025b234a1dc8662c068c4ba903939c2f79f3f7a3ae64e5edbf667b13599142d9"],["5941a17b04cd3465031cb6745cb94eed24e1ff8d38a6e832f1637ae8e89c78e6","5309792c546b6cda458be331957763b5adb5d535d54a4a61023678faa2ee02ee"],["2cb490d2c0047fcbaffe1df26640bee73c158af6fec91343d606ce9d124a20c9","2e2952ebf089200aebfa3947f241e2fe85797afebdc1ea06d9d26de1b446a964"],["79305236b583232a91c63c7d9ca3750be7ee21711e4d6d257c39ae398212bde1","6f9ecdfa953e302c2014fd8512405e4be0d48302acd15e93936e8dba7d01053b"],["57d9fcb884b94664f35387fa6665cd9bc8136f90d804d77416ea99c3c653ee63","14197e65f0a3599c0b9fcef75b5fbb93580d1b2457b59fb70ce7b9bac88d0fbc"],["6d99df2c28c9fa1e38acddefd3e0931109143d873f3330377a9926bdacdd6523","2f21987905f397f092fc56c5ccd301a1e6afa3c4611627e25017b2e68d07c150"],["749d19591f1755bd481fa12a288166aac42911654c8c551395b265116269ceb9","7ec145aa7558d0342cd87b1750933cb6f3717e727a86a1cc1f2b0c274213688d"],["340f7f5ae19292957902635a5786d14fa38036b324ae759da501e32b8c4073f1","64e231a413f1379a26f4e8223ff91fe2ccd865549571d3c6c28871964b40a0ea"],["4aa33e00bf6e92cac4e84384e5dde0727394233afd5d24d357a8afeb94b08109","3385bb4fbc441937ee01b671d506227a654fd6c1c532cf5221710c6c56ec7e21"],["34b2ffca05f01088de266306c5cc122661e9308eab16929774e58565afc0e4eb","7662faf0f70e82c062c2b835fc6da3353d3cb20b80611ffa6ef2982cf62fa605"],["820fcb51326f1536ddb8dc1052aa198406c7e48f2c81e7664d15f8f9d3715e","756574c23bb01170b97d9fa1663a8ff2f5b97eaa5cd53f34140c1bcec8c262d9"],["0861d7e84cec6d6e33641ff6c85202fc0e9160797809ddc2193802499caf05d3","34936e0a5dc7e2a6217d475fbb8c1c607fb8b3565908a04fd5948abdd399c59f"],["5b4a1dc887ef684d7b4b165b70acb70842a2fa105935af15ecb4a097e33b8f2b","54d21511c05805e5298a72372b8289e9d59c46dc8b5c368bbfda620b68aa652c"],["755493ed60b13f03f9c019362a5af73fb49842dd6916e2572b1b6a312cd20cfc","0750bcbf7e449cec422b93ace1489e1b177d4dbbaa781d315c74d54bb444e9a9"],["5f1c341065b6a81ed2edb6bc38ba81b4c2e3fe2058e5baa13e1406eb2c5b4b4b","6179ebfa7f8086f26820fc99ca2f94c1be19bca672d79cea5b02a836119e06ba"],["1915024ee86acfba3f61ced9707521197195166fb1c4639bf3b3fcf0bf0ded46","5f2e0547032221d2b00937cf524590e3d90901ef0286ea0b032c1a81461b6d92"],["4e942d95930f38c8786ff4a8e576e7a29fb7627afe1fff91cda5006ba0624f5d","45902f695d512d70ce4c1e0520c0060896b94e14d2960b2fcf2ed5e138e0217b"],["63e45f3d91ab915d412bbaa17d1d249e1a1445077fbfaa6be7d35041c5116a91","46dad5a4ec2ad0b86938f5e09f1c03b53b660fc5137648b08527cd20708003da"],["5e2ddd2175417f72c9962c503ac5adf94ed11f28b9d41fccb6a4512886f3cc87","3523b218478911145af1dc431feb7db0a04066eb6e2ade3c7b67d11bc55323aa"],["62ff30a6b179a26e7247a8312cb3af3289e5d722f76a29f203aa623889aa05ec","562beb7999019346beaa80dfd5b95d614e1ff96c1cb1037f65c44997b797d066"],["14988b5d62084fb8335c2f261cdeddc1b634b09cedfce713ff5f0a0bb588a556","447068731fb98e821b8e413b3b48f2d1c8bea308f05aac877006b0f4c3b0cab3"],["1ac777f708a5942cc434236920e82ccc6af920c0a0676712255aa7082b37a5b6","52a6f88d92af1887c781501c6e3a88169a2831b74aefd416f22b47e8335ce317"],["5959792833b71bd5042b78e42212af671f5f87a08eafd8cdde2dcec8140e4bb3","41ce94633eabb8a1b08fac66f762997ed8c9e2af3558e1f6586ad6a5bf5b7b64"],["4464a7962e6722b457336fe98c91765b1ff178f9e892e90129e65fa7688a0607","3d1510b92fd33c501f058a7a86bddedf1b83f9b6e4f04829d321117013f891fe"],["62906d81e7f800e662519f4324ab4c8aac197661c729eed3e744d09efe721c08","4b68efb5b1b709ab86e3253d70bee87ba07875c04a64ecf7e35cd8cdc6c0f7d8"],["4300ff025ac78ef36e58ee7d0d732cf76cd0929fe265b3a093a57f23fc326757","2f92880570846ff2e90d91f16bce3705c9c3ca8011cc543091463b623e4b3c01"],["5427ba28d94652527a9b0c76f57a451e46bdc06cbc8a2481df17f66ffb1524e3","547a97c4afc8d1f74a5d51f7e524f68472f589cc0b396b21368628721537d722"],["424c4493810bfd5e3ffa21776326d8ff62bf8fe74504d7a2db5d3f74e5ce1015","74d0daa832d40405d01551a58b330ffc5abd5356230d6d7cabeb5b1a55046f32"],["54e10980d81b4ae8778896684295fa5c5475e8d68ec2a26e1b0a65383507b3cd","6b1eb48da6886c4d88cea720e9dc8b0d8c51a8f0e1943afa31a40eeb553c0676"],["732eb9e9ebb556e9f024c5574166738f4707b0fd005f568212ab575c1db71ddb","1fc6b00c89e48114d6b13d9920a0c78093994f2b08df147bdbb56bead2cea165"],["74029c04b34b7f314855fee42a04d0ddfdeb92ef3bf7cff629928a97733d96fb","501f63a252dfbc090733b5a208bfe08f81c91419ce3d2d6c0de8cdc5a5625014"],["04524402ebb71a60bf1055001000203a6d4917f112e50dd766cdd7b718a6edd7","71c9e2d15cdc47c565a696ffbe55277570930ed7ade13b9a254059365d5bf338"],["2555c620a50f2bbeeacac66228a96941fa733aa6070855331613578ed7c12794","2b3c1bc5cda7f93242561dbf7572237ac43bf013553230633a5e18b7e71597e5"],["555ea607b0ad18afaf70d7450543d7ffb5b883a3cad3e2778826ca97bf3211a6","6df903158f51aa530d411720a760f8ad0ce9904d54955fda74a349be58eddf5f"],["4db3cfa284207a250a9c83e1fec07e804d70065da586ff2c2a7d2bcb92e6fca6","2a4fbf1c51dc0b2a7783db2be3bd35c2d6462470c88c8b73ae3ce8503fa07154"],["5174e33ffdf28a87184a4d6427d821cbaa3b88ac293a90ca7e1eeae8c5050b16","315ca6bc8e35e4a3d06f89e1db1575b16197963ee8e64746fa998ccd403561cc"]]},"doubles":{"step":4,"points":[["23a4860627e53aeeb8e22b1508249c9109578d33e7bf237459b2596d6c28f9f8","709696f2827fc3729f980f2e3aad6e78b06a11ff8e079c27d87aab37c16727eb"],["5e7e07ed4e1decbfe6e9cbc126905449d4b578fbb561576d20b8bcdd0cc2a556","0f55755c51f102796bf5ebaa81d3260e7d1b3d9ac127d9a80e142031566cf6c7"],["7d13c0248b891b47eb524f2692008e2f97b199bac426cb5902b9003a29ded6ea","59a976ab2c01a81a91f1a56c75ccc77a9e1e9e878e9fe9c3952080a6805b20d5"],["5de7faa2ee4e70132f541f79ca07cd54a39fe1347a6844d19e9d678a8411a565","2c9f23641e1c2e0aab8ea9926b432d92c0e8bc08901d6ff6df85e4cef854ec36"],["06b349eebfed4dad4a805b63a6ed2231a565cda752d9477ff427dd9a8c9ab5ed","07a09289ff3e1f9aab68aa374c48df65f550c2323607b97744dee990608b64f8"],["0af367956af630266b1cc760154256ed79da960dddca9d72a1e8cf27d8d43a77","21108d900134d3b3708dd28ace96b0b23dda9100e4b6a62a8131bd2f2ba408c5"],["1e45a60140a3b2dee9b8dc6ff307154a1b410bcd38e0e38fb10b2f6da1afbe2b","0e730da473dffd60d2f3241a85e68acb47d26e5043ad047d893f072c8dda0a76"],["4d1e116d136158c5ddabd4276832800f2c081c1072de6f2d931797a46abc0cbb","6d415be49d4e35b65cc51354b5008f8c43e84b7b5e8a4b84f44e1efb10c9b91a"],["2b6b892ae94b454b2c2d92bb947fc4d506d173d281779c2c153c001ded42d3d0","7f1cf64e0e180fc4d6e12c1b5c5285f376e979616a52c94a0dea4d48c5880cd2"],["0f6c3a96e0032a9394337a02ffb2c83ba70efb8f566feab530fc90fa3b4710e5","3d4e97e286378675038a4b58e84224ee515e1d6697ac79389f78479be167635a"],["52ee53b981dfbc41ddaa5ddc2754c4175f4811aa45f8e2b19a425657c238a83e","7eb0a1be3400dec87b388cad51613957643cdf0595b891cc6f925fb36da7f1c3"],["52a837bc7a7bc9459bcc2ecf80f74d9ed99def0342e18cfbe8e799fbc504fd52","50d6460185d8924e5485f23f36a98c86053514d163547adab6fe91478a411196"],["6b2bd5d00fab38ceca21a27d6aaec82626b14b555d859527718f8ca404eba4","727340c27a15f6ab3d80547f0827c56ab1ba33bc30d1ef3909ea9a3af10c67e5"],["71dd75fe35761c01a48597ec730bc33237902fd4ad8612cbed1031eebdf40de4","39674a4532078e34378667beae5cb55f814ead9bbaf7e01b3b69533e9f88a411"],["57426aefc21be9ccf162e23d25ac3002ba8534351e65613f870f690f2fd46cf5","6b45b002fb4e8a6f59a6ffb006ed71f75434217333b266325204c7d1ac2e1f34"],["6222bd88bf2df9d5d44b60cfb4a08a960078db7ed51a35eb3e0b6b8ff4eda202","0325bb42ea4ed025dd6bdaed261b7c4f5410b608ba902b068f1efa5782e45313"],["71ac99647b61b9eca6f0c23432a518f738aee708d5932d4ef0f172240250a226","3a96c2c028ebe5f48913be30147e41bc5e1cab9595d5404138a9aa1b5574cf25"],["1f6a1fd8cc0e05b2742ba0fc0369b5247670543637dd033e64dbce90b2f23e9f","779964401ee869a9b31c0ef874a86440ba85d25c2ce932bd31a0865869605e19"],["22e2c039067920c42980dcb3a905fc91601c2b34e819ce1532ada4a5fc39d5cc","631cf9945a09bf26d7e595b3f8e3390696870512820df63c5418577089e1a8bb"],["608de273a9f6a534219d7aaede3cf65a81e4dc03d7a2765eced1d2b7be4610f4","3b31d0113f98d81ab1312fb2837aa9c8dcc7960f84eb371358c6d841f67144fa"],["3f748617ca63ab3e44c6e34f63e7328ea56a2a146da34368a57dca181254fe02","0fed89e6420fc47b3938a2891ba9acee4cbb2899ee4e9ca15a13dc527dc1641e"],["69d98b5ecc35d56c97c0bf312955d199befe116b417d70f5f57e2dfd0af81ce5","3e26d487fbfe36ab44e0ca3b248fe94bce92a69b8154d50e2d5481f8259f4e8e"],["1e34443347f9e627b3531157faab6eaca1bc3114df4a1423cc12bf8417b5d622","295955a5ed061eca7f87b9485666ba9489ec20a9c484224dc920350bb4a6fc79"],["51f4ff8c599b1c96da82941520a9f5abf4a31eb8b84fc95056145ceb3b5775d0","35ac9588d46e41f3f6f99aee3852eeb4b12e807807d4bd1b7f8406b0d7863ac1"],["3faa2a093a19a02424f65a10955101f4dc015c43b2dfce8e001507abd741b845","7a1de10dacfda389ca663b15574bdc8ae8c5b6e7cee647e77b11ddbfc6eb8edc"],["1924416956ea2c1269062588569b18178011ea7cba1a3266284f48aa01d5a90f","0c8e28127b7dcdd206fb6fee96eb88cfc7db7319826ac8cdb8b1fb8adaf021de"],["49761c57ce3c8c4f1435d495903e2f536f3be3712e76af8d0b5a8b7d1ebc8fac","3225035e1065094ef32d7f3e7a6f8ff2748025f96e0c0b44eb35576b61e150a8"],["4339fa86a23242851a16afc3ab05b352a7b4bf53599a49dd7e29d364fc3a757b","6d07cc3462bae9160bbebb997510817040767faa9dbd13f158a5fe8a63a34b0e"],["6bda13918dcbaf8529d6326ae7a9c278b72417c2188c5ea4f062fc50639295fb","2c3fa803b162ee887d0d97a6734866f992f846625f314117075da54bb6c20a36"],["4da4821314574d4fed4dcf692c8b15b99b73f13633210333ce7871359b6e6424","314016034673d2d20529bc93a2dab6e462bcb5f66e1f4a6bf2170759a40a6e65"],["0b2cea0029ee963c0034b61bf19e384435f14554a7d297b5144838c38e375586","47ea95da28d39aaade5edb8ed941c687603cfdd1508776e96d6683199e99daea"],["4c27afff3c45f32c952d3984e14e29a098e685c9c2e723e5fc8047ae60b7e824","5f2c99e6526dc87d95f11eb626c29c3a90d0be1e51a4c49e5bbabd114bf5a66b"],["53e2a4ed1bbb48bd016c524a02f797654cfc969849f867681da94e341f377534","5a2334fdda642732a3c9520ce06581aa7f0f082882554c37b8d390a25a9bd559"],["7b8d2c823baafe0d878a55e8af1db150dec85b1424a4901f9beffd3a6196e3d6","1c45a557b3624f9b89ed15b3c3e1a065f1b453d948f7cf45d9494483f8af0c85"],["78877b5d8777410997dacaeea59400fc9db4421fac02c4282301c67d35fb7ffe","0341b46c328333e4484ce8607619014d41775c408c88856d2f9e19812d90fbf5"],["2b556bbc070b5c4bae9e575836d1d68ee9fbe800448c0d2c233f78185eed3f91","7ba01332807ebd892e00ddb368c0fa1b3f19b5b32efd90b178d984e1d7174d6f"],["0f72556998b0044799f0fd03210ded3d984e3843bbaf3c1d5d692bc94d43c4e7","16c19c5037c103d447caef4efe6bd81a490e7c668f6870f1b080863b5315df5e"],["1cd96ef237b213cd446f13b3ec40d32ecc593bc6ea71e77efc284341a5f3da1a","7a626aeb91efcb5f9777264f5e17ced8b411f68c713673ef0f184a5ccd60dbe3"],["31a75b21cb532622a7caf9e29e652ac4e47b1450edf6655acaf3797b55a7ca46","77006e7cf104982f8865081a2ff8a6911546755e31c3586353b0bd0826c5d790"],["543d84cb04fb2bf787b7aa382eaab5cd8d050ad8ee52aa8a285b945652014031","0358fdc5b63ed49e693d838f182b275846f42dd49a42ec2e6e932ba4de59ef20"],["0a2818f5f5d8937800c30ac6b847db2cdef655b864126302249144a5a15b205a","187c76a49af10851bb049ba97c0fbbb14b2621522a4e8d9670ea46e56c9a1bd6"],["7efb45d3a2851109d7a8d50ddb08fe308bbf674c019b965cdad4570a141e648a","0fe1198b11a1bf56867091c69d71f8b7792257dda321d43652e818acd0c28cda"],["472e960dd122a534f52377235350549df4a1dd7a08cfc580bff5fb4b0a70aa7b","10585d04fc529fef4c0c0776154fc7ebbaedbae8a99937e47598d0578932b7cc"],["04892cfff7f94ff7f07c1241e3ac4945bc46ea9d6a3c1c3adbce109a9afceb6a","3ae2aa25e2555135a7a3251c11a3f8eebe81758bc1c3e2cbc6e6ca461a543130"],["2401d311a3abfd2583f1c6aa519c1f18ff730a0abf730ddcc9c9739b04d8a85e","653224f3488cae1ae19a414a9932035a2bf2c46803b5532bbb645e62387ee34d"],["0ea2c846a535a115972161612a192588d92d68a3c9050eae91b2817b94e68325","3b82a8337b05f11bbac176a113be183a50a0331f3d3116f24b971b5a8b0d031b"],["0fb3f87c2c6c89c65b74299b77f3736546a8b9e41b19197476bff27354e1c128","1034d42c15a2bfe3e682fad49dbc2812caadf0c584bc30b51625b85d74e9d5f7"],["1bc7af1e38185e7c2d8d04371c7e177d7a9ddee1b81d7d26db7ad644c7dad28d","61d909d855661f2f7a5eef87795dc0491d027e12631b270fcaf2f65900314833"],["469d0960dbd0ef9c91c4597ccf7c209549b187ff63bd378b7dac577198d74a4d","0b5f21c7f86832241f2157c288bdc9394f83f8d57457f6d9f6b345e4909478cb"],["5e9ac4ab2f4a3c3526e1317f913d69e3826fe862efd0c80d9310319170c5cbeb","505f00fa8aee03ccbd2f33529ae1e4e4bcf2644fe673d0b0290ec32be5b51bab"],["11cd80e1fdcbc565efed81d17f3f54643ffeed1cff38f3825e115adbd82759f1","43f11943f7ef3fa68b980fee45e98134f1df22263b2d14419d61ffe62822dbe0"],["3328bc121616a9477165ed282053d203c24f4826076c638a2c6723d42c9bfadb","2bbf3f26c21b5cb273e5f4f0114c6718c5eb7291939b7697c74333cdfafac039"],["0ba774bb605dd804cae6887e81f6bd2c59e024fac8bf5f5c48a841a037c28398","54ba013ad2d04dcdfb5a151b7347ee9a10067ddd0a3907e9bc337a77bf911321"],["1074ff0267662dc2b4ce65aaa0229c375a3d0d843ce9349233949581c869b64c","299be0decb680ec28923da4d049770107d42c180b460da13a7b1efc7e6d5b022"],["25ed76d78c87c3bd64b4331902c5a853734283e25f19f320295667b80a340d35","179b5f92f545c7b326b3a63fb0b32a0f52b4159988436d5af50c1d0d76373947"],["75d942c04210dcde5d1bd4fabfc732d3f95568e399382c0423c83c41cb05dc3f","696cc14856cdc13c8fd7e2c5771731cbf38e3fad47a424679765c4874e35ab2d"],["5d9324f56975477d5945599eeeccec67708c996cd3f3f2818bf2591507e3502a","10985a3cfd573205281aec24e2c8b41f5cd8cdfc9d7be34675cf306bbe1b4f6a"],["7511066c0e12105a7b937c7ecef367d5afe6e621e5cabf4e490b09b7ada7ee07","604df365b8391cbca8848f88daa700b770da5bb136f70bfb0a3ea33ba386fcd5"],["2596e5b3cf5494e60d2a750d03c66abc2e0183af53620b893f9cf9fc3b76dc26","68a0a7ac9a0cc093884a6b84f45a2cde595194e0f48dbd566fa78a3174b182fe"],["28bd38d44030dd9ca028b2a2f31a795f4c7a5e85a785df7847e3d525e99d4787","552dd7405c4183733ad3c4e7ccb999b4fed81b7a4444aab499d41d6d78d5bbfc"],["59233a3346f61135f431f96cf0197e24ad38240b222c010a6ce538cf4c24347b","3cce55908611d2b93f221613f09cfc4dbcd2e2b609233eea5439ad1908a10b20"],["5830f025f1078d408948f73096af97de1e9e70b3be85890acb21132c34ff961f","67d451752c2433ffe66e47242e301e56db2b2f8203553cab9de717e25793d41e"],["6a0c8b194571e874b82d904da36d43096bbe36d512e24ff8dcb2b00b57ffd3ec","5f85adb7749cc735ec838bcccfe7d4b52902c6132998d7ac8e032cad031c42b8"],["53b3f967bff8760948dec5e9282f35d1434a5503790b9012e17faefbe7c4d699","404462283c8664a17daa5b4059dcd10e2699fd86d0140de9f3e8ad0566098ae5"]]}}')},function(e,t,r){"use strict";
/*!
 * secp256k1.js - secp256k1 for bcrypto
 * Copyright (c) 2014-2015, Fedor Indutny (MIT License)
 * Copyright (c) 2014-2019, Christopher Jeffrey (MIT License).
 * https://github.com/bcoin-org/bcrypto
 */e.exports=r(230)},function(e,t,r){"use strict";
/*!
 * secp256k1.js - secp256k1 for bcrypto
 * Copyright (c) 2014-2015, Fedor Indutny (MIT License)
 * Copyright (c) 2014-2019, Christopher Jeffrey (MIT License).
 * https://github.com/bcoin-org/bcrypto
 */const i=r(231),n=r(110),a=r(241);e.exports=new i("SECP256K1",n,n,a)},function(e,t,r){"use strict";(function(t){
/*!
 * ecdsa.js - ECDSA for bcrypto
 * Copyright (c) 2018-2019, Christopher Jeffrey (MIT License).
 * https://github.com/bcoin-org/bcrypto
 *
 * Parts of this software are based on indutny/elliptic:
 *   Copyright (c) 2014, Fedor Indutny (MIT License).
 *   https://github.com/indutny/elliptic
 *
 * References:
 *
 *   [SEC1] SEC 1: Elliptic Curve Cryptography, Version 2.0
 *     Certicom Research
 *     http://www.secg.org/sec1-v2.pdf
 *
 *   [FIPS186] Suite B Implementer's Guide to FIPS 186-3 (ECDSA)
 *     https://tinyurl.com/fips186-guide
 *
 *   [GECC] Guide to Elliptic Curve Cryptography
 *     D. Hankerson, A. Menezes, and S. Vanstone
 *     https://tinyurl.com/guide-to-ecc
 *
 *   [RFC6979] Deterministic Usage of the Digital Signature
 *             Algorithm (DSA) and Elliptic Curve Digital
 *             Signature Algorithm (ECDSA)
 *     T. Pornin
 *     https://tools.ietf.org/html/rfc6979
 */
const i=r(8),n=r(21),a=r(113),o=r(232),s=r(238),f=r(239),c=r(112);e.exports=class{constructor(e,t,r,n){i("string"==typeof e),i(t),i(r),this.id=e,this.type="ecdsa",this.hash=t,this.xof=r,this.native=0,this._pre=n||null,this._curve=null,this._schnorr=null}get curve(){return this._curve||(this._curve=c.curve(this.id,this._pre),this._curve.precompute(a),this._pre=null),this._curve}get schnorr(){return this._schnorr||(this._schnorr=new s(this.curve,this.xof)),this._schnorr}get size(){return this.curve.fieldSize}get bits(){return this.curve.fieldBits}privateKeyGenerate(){const e=this.curve.randomScalar(a);return this.curve.encodeScalar(e)}privateKeyVerify(e){let r;i(t.isBuffer(e));try{r=this.curve.decodeScalar(e)}catch(e){return!1}return!r.isZero()&&r.cmp(this.curve.n)<0}privateKeyExport(e){const r=this.publicKeyCreate(e,!1),{x:i,y:n}=this.publicKeyExport(r);return{d:t.from(e),x:i,y:n}}privateKeyImport(e){i(e&&"object"==typeof e);const t=n.decode(e.d,this.curve.endian);if(t.isZero()||t.cmp(this.curve.n)>=0)throw new Error("Invalid private key.");return this.curve.encodeScalar(t)}privateKeyTweakAdd(e,t){const r=this.curve.decodeScalar(t);if(r.cmp(this.curve.n)>=0)throw new Error("Invalid scalar.");const i=this.curve.decodeScalar(e);if(i.isZero()||i.cmp(this.curve.n)>=0)throw new Error("Invalid private key.");const n=i.add(r).imod(this.curve.n);if(n.isZero())throw new Error("Invalid private key.");return this.curve.encodeScalar(n)}privateKeyTweakMul(e,t){const r=this.curve.decodeScalar(t);if(r.isZero()||r.cmp(this.curve.n)>=0)throw new Error("Invalid scalar.");const i=this.curve.decodeScalar(e);if(i.isZero()||i.cmp(this.curve.n)>=0)throw new Error("Invalid private key.");const n=i.mul(r).imod(this.curve.n);if(n.isZero())throw new Error("Invalid private key.");return this.curve.encodeScalar(n)}privateKeyNegate(e){const t=this.curve.decodeScalar(e);if(t.isZero()||t.cmp(this.curve.n)>=0)throw new Error("Invalid private key.");const r=t.neg().imod(this.curve.n);return this.curve.encodeScalar(r)}privateKeyInvert(e){const t=this.curve.decodeScalar(e);if(t.isZero()||t.cmp(this.curve.n)>=0)throw new Error("Invalid private key.");const r=t.invert(this.curve.n);return this.curve.encodeScalar(r)}publicKeyCreate(e,t){const r=this.curve.decodeScalar(e);if(r.isZero()||r.cmp(this.curve.n)>=0)throw new Error("Invalid private key.");return this.curve.g.mulBlind(r).encode(t)}publicKeyConvert(e,t){return this.curve.decodePoint(e).encode(t)}publicKeyFromUniform(e,t){const r=this.curve.decodeUniform(e);return this.curve.pointFromUniform(r).encode(t)}publicKeyToUniform(e,t=a.randomInt()){const r=this.curve.decodePoint(e),i=this.curve.pointToUniform(r,t);return this.curve.encodeUniform(i,t>>>8)}publicKeyFromHash(e,t){return this.curve.pointFromHash(e).encode(t)}publicKeyToHash(e){const t=this.curve.decodePoint(e);return this.curve.pointToHash(t,0,a)}publicKeyVerify(e){i(t.isBuffer(e));try{this.curve.decodePoint(e)}catch(e){return!1}return!0}publicKeyExport(e){const{x:t,y:r}=this.curve.decodePoint(e);return{x:this.curve.encodeField(t.fromRed()),y:this.curve.encodeField(r.fromRed())}}publicKeyImport(e,t){i(e&&"object"==typeof e);const r=n.decode(e.x,this.curve.endian);if(r.cmp(this.curve.p)>=0)throw new Error("Invalid point.");if(null!=e.y){const i=n.decode(e.y,this.curve.endian);if(i.cmp(this.curve.p)>=0)throw new Error("Invalid point.");const a=this.curve.point(r,i);if(!a.validate())throw new Error("Invalid point.");return a.encode(t)}return this.curve.pointFromX(r,e.sign).encode(t)}publicKeyTweakAdd(e,t,r){const i=this.curve.decodeScalar(t);if(i.cmp(this.curve.n)>=0)throw new Error("Invalid scalar.");const n=this.curve.decodePoint(e);return this.curve.g.jmul(i).add(n).encode(r)}publicKeyTweakMul(e,t,r){const i=this.curve.decodeScalar(t);if(i.isZero()||i.cmp(this.curve.n)>=0)throw new Error("Invalid scalar.");return this.curve.decodePoint(e).mul(i).encode(r)}publicKeyCombine(e,t){i(Array.isArray(e));let r=this.curve.jpoint();for(const t of e){const e=this.curve.decodePoint(t);r=r.add(e)}return r.encode(t)}publicKeyNegate(e,t){return this.curve.decodePoint(e).neg().encode(t)}signatureNormalize(e){const[t,r]=this._decodeCompact(e);return r.cmp(this.curve.nh)>0&&r.ineg().imod(this.curve.n),this._encodeCompact(t,r)}signatureNormalizeDER(e){const[t,r]=this._decodeDER(e,!1);return r.cmp(this.curve.nh)>0&&r.ineg().imod(this.curve.n),this._encodeDER(t,r)}signatureExport(e){const[t,r]=this._decodeCompact(e);return this._encodeDER(t,r)}signatureImport(e){const[t,r]=this._decodeDER(e,!1);return this._encodeCompact(t,r)}isLowS(e){let r;i(t.isBuffer(e));try{[,r]=this._decodeCompact(e)}catch(e){return!1}return r.cmp(this.curve.nh)<=0}isLowDER(e){let r;i(t.isBuffer(e));try{[,r]=this._decodeDER(e,!1)}catch(e){return!1}return r.cmp(this.curve.nh)<=0}sign(e,t){const[r,i]=this._sign(e,t);return this._encodeCompact(r,i)}signRecoverable(e,t){const[r,i,n]=this._sign(e,t);return[this._encodeCompact(r,i),n]}signDER(e,t){const[r,i]=this._sign(e,t);return this._encodeDER(r,i)}signRecoverableDER(e,t){const[r,i,n]=this._sign(e,t);return[this._encodeDER(r,i),n]}_sign(e,t){const{n:r,nh:i}=this.curve,n=this.curve.g,o=this.curve.decodeScalar(t);if(o.isZero()||o.cmp(r)>=0)throw new Error("Invalid private key.");const s=this._reduce(e),c=this.curve.encodeScalar(s),d=new f(this.hash,t,c);for(;;){const e=d.generate(this.curve.scalarSize),t=this._truncate(e);if(t.isZero()||t.cmp(r)>=0)continue;const f=n.mulBlind(t);if(f.isInfinity())continue;const c=f.getX(),u=c.mod(r);if(u.isZero())continue;const h=this.curve.randomScalar(a),l=t.mul(h).fermat(r),b=o.mul(h).imod(r),p=s.mul(h).imod(r),m=u.mul(b).iadd(p).imod(r).mul(l).imod(r);if(m.isZero())continue;let g=f.isOdd()|!c.eq(u)<<1;return m.cmp(i)>0&&(m.ineg().imod(r),g^=1),[u,m,g]}}verify(e,r,n){let a,o;i(t.isBuffer(e)),i(t.isBuffer(r)),i(t.isBuffer(n));try{[a,o]=this._decodeCompact(r)}catch(e){return!1}try{return this._verify(e,a,o,n)}catch(e){return!1}}verifyDER(e,r,n){let a,o;i(t.isBuffer(e)),i(t.isBuffer(r)),i(t.isBuffer(n));try{[a,o]=this._decodeDER(r,!1)}catch(e){return!1}try{return this._verify(e,a,o,n)}catch(e){return!1}}_verify(e,t,r,i){const{n:n}=this.curve,a=this.curve.g,o=this._reduce(e),s=this.curve.decodePoint(i);if(t.isZero()||t.cmp(n)>=0)return!1;if(r.isZero()||r.cmp(n)>=0)return!1;const f=r.invert(n),c=o.mul(f).imod(n),d=t.mul(f).imod(n);return a.jmulAdd(c,s,d).eqR(t)}recover(e,r,n,a){let o,s,f;i(t.isBuffer(e)),i(t.isBuffer(r)),i(n>>>0===n),i((3&n)===n,"The recovery param is more than two bits.");try{[o,s]=this._decodeCompact(r)}catch(e){return null}try{f=this._recover(e,o,s,n)}catch(e){return null}return f.encode(a)}recoverDER(e,r,n,a){let o,s,f;i(t.isBuffer(e)),i(t.isBuffer(r)),i(n>>>0===n),i((3&n)===n,"The recovery param is more than two bits.");try{[o,s]=this._decodeDER(r,!1)}catch(e){return null}try{f=this._recover(e,o,s,n)}catch(e){return null}return f.encode(a)}_recover(e,t,r,i){const{n:n,pmodn:a}=this.curve,o=this.curve.g,s=this._reduce(e);if(t.isZero()||t.cmp(n)>=0)throw new Error("Invalid R value.");if(r.isZero()||r.cmp(n)>=0)throw new Error("Invalid S value.");const f=0!=(1&i);let c=t;if(i>>>1){if(this.curve.highOrder)throw new Error("Invalid high bit.");if(c.cmp(a)>=0)throw new Error("Invalid R value.");c=c.add(n)}const d=this.curve.pointFromX(c,f),u=t.invert(n),h=s.mul(u).ineg().imod(n),l=r.mul(u).imod(n),b=o.mulAdd(h,d,l);if(b.isInfinity())throw new Error("Invalid point.");return b}derive(e,t,r){const i=this.curve.decodePoint(e),n=this.curve.decodeScalar(t);if(n.isZero()||n.cmp(this.curve.n)>=0)throw new Error("Invalid private key.");if(this.curve.h.cmpn(1)>0&&i.isSmall())throw new Error("Invalid point.");return i.mulBlind(n,a).encode(r)}schnorrSign(e,t){return this.schnorr.sign(e,t)}schnorrVerify(e,t,r){return this.schnorr.verify(e,t,r)}schnorrVerifyBatch(e){return this.schnorr.verifyBatch(e)}_encodeCompact(e,r){return t.concat([this.curve.encodeScalar(e),this.curve.encodeScalar(r)])}_decodeCompact(e){i(t.isBuffer(e));const{n:r}=this.curve,n=this.curve.scalarSize;if(e.length!==2*n)throw new Error("Invalid signature size.");const a=e.slice(0,n),o=e.slice(n,2*n),s=this.curve.decodeScalar(a),f=this.curve.decodeScalar(o);if(s.cmp(r)>=0||f.cmp(r)>=0)throw new Error("Invalid signature.");return[s,f]}_encodeDER(e,r){const n=o.sizeInt(e)+o.sizeInt(r),a=t.alloc(o.sizeSeq(n));let s=0;return s=o.writeSeq(a,s,n),s=o.writeInt(a,s,e),s=o.writeInt(a,s,r),i(s===a.length),a}_decodeDER(e,r){i(t.isBuffer(e)),i("boolean"==typeof r);const{n:n}=this.curve;let a,s,f=0;if(f=o.readSeq(e,f,r),[a,f]=o.readInt(e,f,r),[s,f]=o.readInt(e,f,r),r&&f!==e.length)throw new Error("Trailing bytes.");if(a.cmp(n)>=0||s.cmp(n)>=0)throw new Error("Invalid signature.");return[a,s]}_truncate(e){i(t.isBuffer(e));const r=this.curve.n.bitLength(),a=r+7>>>3;e.length>a&&(e=e.slice(0,a));const o=n.decode(e,this.curve.endian),s=8*e.length-r;return s>0&&o.iushrn(s),o}_reduce(e){return this._truncate(e).imod(this.curve.n)}}}).call(this,r(2).Buffer)},function(e,t,r){"use strict";(function(e){
/*!
 * asn1.js - asn1 parsing for bcrypto
 * Copyright (c) 2020, Christopher Jeffrey (MIT License).
 * https://github.com/bcoin-org/bcrypto
 */
const i=r(233),n=r(21);function a(t,r,n){if(i(e.isBuffer(t)),i(r>>>0===r),i("boolean"==typeof n),r>=t.length)throw new Error("Invalid size.");const a=t[r],o=127&a;if(r+=1,0==(128&a))return[o,r];if(n&&0===o)throw new Error("Indefinite length.");let s=0;for(let e=0;e<o;e++){i(r<t.length);const e=t[r];if(r+=1,s>=1<<24)throw new Error("Length too large.");if(s*=256,s+=e,n&&0===s)throw new Error("Unexpected leading zeroes.")}if(n&&s<128)throw new Error("Non-minimal length.");return[s,r]}function o(t,r,o=!0){if(i(e.isBuffer(t)),i(r>>>0===r),i("boolean"==typeof o),r>=t.length||2!==t[r])throw new Error("Invalid integer tag.");let s;if(r+=1,[s,r]=a(t,r,o),r+s>t.length)throw new Error("Integer body out of bounds.");if(o){if(0===s)throw new Error("Zero length integer.");if(128&t[r])throw new Error("Integers must be positive.");if(s>1&&0===t[r]&&0==(128&t[r+1]))throw new Error("Unexpected leading zeroes.")}for(;s>0&&0===t[r];)r+=1,s-=1;if(s>2048)throw new Error("Invalid integer size.");return[n.decode(t.slice(r,r+s)),r+=s]}function s(e){return i(e>>>0===e),e<=127?1:e<=255?2:(i(e<=65535),3)}function f(t,r,n){return i(e.isBuffer(t)),i(r>>>0===r),i(n>>>0===n),n<=127?t[r++]=n:n<=255?(t[r++]=129,t[r++]=n):(i(n<=65535),t[r++]=130,t[r++]=n>>8,t[r++]=255&n),i(r<=t.length),r}t.readSize=a,t.readSeq=function(t,r,n=!0){if(i(e.isBuffer(t)),i(r>>>0===r),i("boolean"==typeof n),r>=t.length||48!==t[r])throw new Error("Invalid sequence tag.");let o;if(r+=1,[o,r]=a(t,r,n),n&&r+o!==t.length)throw new Error("Trailing bytes.");return r},t.readInt=o,t.readVersion=function(t,r,n,a=!0){let s;if(i(e.isBuffer(t)),i(r>>>0===r),i((255&n)===n),i("boolean"==typeof a),[s,r]=o(t,r,a),0!==s.cmpn(n))throw new Error("Invalid version.");return r},t.sizeSize=s,t.sizeSeq=function(e){return 1+s(e)+e},t.sizeInt=function(e){i(e instanceof n);const t=e.bitLength();let r=t+7>>>3;return t>0&&0==(7&t)&&(r+=e.testn(t-1)),0===t&&(r=1),1+s(r)+r},t.sizeVersion=function(e){return i((255&e)===e),3},t.writeSize=f,t.writeSeq=function(t,r,n){return i(e.isBuffer(t)),i(r>>>0===r),t[r++]=48,f(t,r,n)},t.writeInt=function(t,r,a){i(e.isBuffer(t)),i(r>>>0===r),i(a instanceof n);const o=a.bitLength();let s=o+7>>>3,c=0;return o>0&&0==(7&o)&&(c=a.testn(o-1)),0===o&&(s=1),t[r++]=2,r=f(t,r,c+s),c&&(t[r++]=0),0!==o?a.encode().copy(t,r):t[r]=0,i((r+=s)<=t.length),r},t.writeVersion=function(t,r,n){return i(e.isBuffer(t)),i(r>>>0===r),i((255&n)===n),i(r+3<=t.length),t[r++]=2,t[r++]=1,t[r++]=n,r}}).call(this,r(2).Buffer)},function(e,t,r){"use strict";(function(t){var i=r(234);
/*!
 * The buffer module from node.js, for the browser.
 *
 * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
 * @license  MIT
 */function n(e,t){if(e===t)return 0;for(var r=e.length,i=t.length,n=0,a=Math.min(r,i);n<a;++n)if(e[n]!==t[n]){r=e[n],i=t[n];break}return r<i?-1:i<r?1:0}function a(e){return t.Buffer&&"function"==typeof t.Buffer.isBuffer?t.Buffer.isBuffer(e):!(null==e||!e._isBuffer)}var o=r(235),s=Object.prototype.hasOwnProperty,f=Array.prototype.slice,c="foo"===function(){}.name;function d(e){return Object.prototype.toString.call(e)}function u(e){return!a(e)&&("function"==typeof t.ArrayBuffer&&("function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):!!e&&(e instanceof DataView||!!(e.buffer&&e.buffer instanceof ArrayBuffer))))}var h=e.exports=v,l=/\s*function\s+([^\(\s]*)\s*/;function b(e){if(o.isFunction(e)){if(c)return e.name;var t=e.toString().match(l);return t&&t[1]}}function p(e,t){return"string"==typeof e?e.length<t?e:e.slice(0,t):e}function m(e){if(c||!o.isFunction(e))return o.inspect(e);var t=b(e);return"[Function"+(t?": "+t:"")+"]"}function g(e,t,r,i,n){throw new h.AssertionError({message:r,actual:e,expected:t,operator:i,stackStartFunction:n})}function v(e,t){e||g(e,!0,t,"==",h.ok)}function y(e,t,r,i){if(e===t)return!0;if(a(e)&&a(t))return 0===n(e,t);if(o.isDate(e)&&o.isDate(t))return e.getTime()===t.getTime();if(o.isRegExp(e)&&o.isRegExp(t))return e.source===t.source&&e.global===t.global&&e.multiline===t.multiline&&e.lastIndex===t.lastIndex&&e.ignoreCase===t.ignoreCase;if(null!==e&&"object"==typeof e||null!==t&&"object"==typeof t){if(u(e)&&u(t)&&d(e)===d(t)&&!(e instanceof Float32Array||e instanceof Float64Array))return 0===n(new Uint8Array(e.buffer),new Uint8Array(t.buffer));if(a(e)!==a(t))return!1;var s=(i=i||{actual:[],expected:[]}).actual.indexOf(e);return-1!==s&&s===i.expected.indexOf(t)||(i.actual.push(e),i.expected.push(t),function(e,t,r,i){if(null==e||null==t)return!1;if(o.isPrimitive(e)||o.isPrimitive(t))return e===t;if(r&&Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;var n=w(e),a=w(t);if(n&&!a||!n&&a)return!1;if(n)return e=f.call(e),t=f.call(t),y(e,t,r);var s,c,d=S(e),u=S(t);if(d.length!==u.length)return!1;for(d.sort(),u.sort(),c=d.length-1;c>=0;c--)if(d[c]!==u[c])return!1;for(c=d.length-1;c>=0;c--)if(s=d[c],!y(e[s],t[s],r,i))return!1;return!0}(e,t,r,i))}return r?e===t:e==t}function w(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function _(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function M(e,t,r,i){var n;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(i=r,r=null),n=function(e){var t;try{e()}catch(e){t=e}return t}(t),i=(r&&r.name?" ("+r.name+").":".")+(i?" "+i:"."),e&&!n&&g(n,r,"Missing expected exception"+i);var a="string"==typeof i,s=!e&&n&&!r;if((!e&&o.isError(n)&&a&&_(n,r)||s)&&g(n,r,"Got unwanted exception"+i),e&&n&&r&&!_(n,r)||!e&&n)throw n}h.AssertionError=function(e){this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=function(e){return p(m(e.actual),128)+" "+e.operator+" "+p(m(e.expected),128)}(this),this.generatedMessage=!0);var t=e.stackStartFunction||g;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var r=new Error;if(r.stack){var i=r.stack,n=b(t),a=i.indexOf("\n"+n);if(a>=0){var o=i.indexOf("\n",a+1);i=i.substring(o+1)}this.stack=i}}},o.inherits(h.AssertionError,Error),h.fail=g,h.ok=v,h.equal=function(e,t,r){e!=t&&g(e,t,r,"==",h.equal)},h.notEqual=function(e,t,r){e==t&&g(e,t,r,"!=",h.notEqual)},h.deepEqual=function(e,t,r){y(e,t,!1)||g(e,t,r,"deepEqual",h.deepEqual)},h.deepStrictEqual=function(e,t,r){y(e,t,!0)||g(e,t,r,"deepStrictEqual",h.deepStrictEqual)},h.notDeepEqual=function(e,t,r){y(e,t,!1)&&g(e,t,r,"notDeepEqual",h.notDeepEqual)},h.notDeepStrictEqual=function e(t,r,i){y(t,r,!0)&&g(t,r,i,"notDeepStrictEqual",e)},h.strictEqual=function(e,t,r){e!==t&&g(e,t,r,"===",h.strictEqual)},h.notStrictEqual=function(e,t,r){e===t&&g(e,t,r,"!==",h.notStrictEqual)},h.throws=function(e,t,r){M(!0,e,t,r)},h.doesNotThrow=function(e,t,r){M(!1,e,t,r)},h.ifError=function(e){if(e)throw e},h.strict=i((function e(t,r){t||g(t,!0,r,"==",e)}),h,{equal:h.strictEqual,deepEqual:h.deepStrictEqual,notEqual:h.notStrictEqual,notDeepEqual:h.notDeepStrictEqual}),h.strict.strict=h.strict;var S=Object.keys||function(e){var t=[];for(var r in e)s.call(e,r)&&t.push(r);return t}}).call(this,r(5))},function(e,t,r){"use strict";
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/var i=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;function o(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var i={};return"abcdefghijklmnopqrst".split("").forEach((function(e){i[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},i)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var r,s,f=o(e),c=1;c<arguments.length;c++){for(var d in r=Object(arguments[c]))n.call(r,d)&&(f[d]=r[d]);if(i){s=i(r);for(var u=0;u<s.length;u++)a.call(r,s[u])&&(f[s[u]]=r[s[u]])}}return f}},function(e,t,r){(function(e){var i=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),r={},i=0;i<t.length;i++)r[t[i]]=Object.getOwnPropertyDescriptor(e,t[i]);return r},n=/%[sdj%]/g;t.format=function(e){if(!g(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(s(arguments[r]));return t.join(" ")}r=1;for(var i=arguments,a=i.length,o=String(e).replace(n,(function(e){if("%%"===e)return"%";if(r>=a)return e;switch(e){case"%s":return String(i[r++]);case"%d":return Number(i[r++]);case"%j":try{return JSON.stringify(i[r++])}catch(e){return"[Circular]"}default:return e}})),f=i[r];r<a;f=i[++r])p(f)||!w(f)?o+=" "+f:o+=" "+s(f);return o},t.deprecate=function(r,i){if(void 0!==e&&!0===e.noDeprecation)return r;if(void 0===e)return function(){return t.deprecate(r,i).apply(this,arguments)};var n=!1;return function(){if(!n){if(e.throwDeprecation)throw new Error(i);e.traceDeprecation?console.trace(i):console.error(i),n=!0}return r.apply(this,arguments)}};var a,o={};function s(e,r){var i={seen:[],stylize:c};return arguments.length>=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),b(r)?i.showHidden=r:r&&t._extend(i,r),v(i.showHidden)&&(i.showHidden=!1),v(i.depth)&&(i.depth=2),v(i.colors)&&(i.colors=!1),v(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=f),d(i,e,i.depth)}function f(e,t){var r=s.styles[t];return r?"["+s.colors[r][0]+"m"+e+"["+s.colors[r][1]+"m":e}function c(e,t){return e}function d(e,r,i){if(e.customInspect&&r&&S(r.inspect)&&r.inspect!==t.inspect&&(!r.constructor||r.constructor.prototype!==r)){var n=r.inspect(i,e);return g(n)||(n=d(e,n,i)),n}var a=function(e,t){if(v(t))return e.stylize("undefined","undefined");if(g(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(m(t))return e.stylize(""+t,"number");if(b(t))return e.stylize(""+t,"boolean");if(p(t))return e.stylize("null","null")}(e,r);if(a)return a;var o=Object.keys(r),s=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(r)),M(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return u(r);if(0===o.length){if(S(r)){var f=r.name?": "+r.name:"";return e.stylize("[Function"+f+"]","special")}if(y(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(_(r))return e.stylize(Date.prototype.toString.call(r),"date");if(M(r))return u(r)}var c,w="",k=!1,E=["{","}"];(l(r)&&(k=!0,E=["[","]"]),S(r))&&(w=" [Function"+(r.name?": "+r.name:"")+"]");return y(r)&&(w=" "+RegExp.prototype.toString.call(r)),_(r)&&(w=" "+Date.prototype.toUTCString.call(r)),M(r)&&(w=" "+u(r)),0!==o.length||k&&0!=r.length?i<0?y(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),c=k?function(e,t,r,i,n){for(var a=[],o=0,s=t.length;o<s;++o)A(t,String(o))?a.push(h(e,t,r,i,String(o),!0)):a.push("");return n.forEach((function(n){n.match(/^\d+$/)||a.push(h(e,t,r,i,n,!0))})),a}(e,r,i,s,o):o.map((function(t){return h(e,r,i,s,t,k)})),e.seen.pop(),function(e,t,r){if(e.reduce((function(e,t){return t.indexOf("\n")>=0&&0,e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n  ")+" "+r[1];return r[0]+t+" "+e.join(", ")+" "+r[1]}(c,w,E)):E[0]+w+E[1]}function u(e){return"["+Error.prototype.toString.call(e)+"]"}function h(e,t,r,i,n,a){var o,s,f;if((f=Object.getOwnPropertyDescriptor(t,n)||{value:t[n]}).get?s=f.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):f.set&&(s=e.stylize("[Setter]","special")),A(i,n)||(o="["+n+"]"),s||(e.seen.indexOf(f.value)<0?(s=p(r)?d(e,f.value,null):d(e,f.value,r-1)).indexOf("\n")>-1&&(s=a?s.split("\n").map((function(e){return"  "+e})).join("\n").substr(2):"\n"+s.split("\n").map((function(e){return"   "+e})).join("\n")):s=e.stylize("[Circular]","special")),v(o)){if(a&&n.match(/^\d+$/))return s;(o=JSON.stringify(""+n)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+s}function l(e){return Array.isArray(e)}function b(e){return"boolean"==typeof e}function p(e){return null===e}function m(e){return"number"==typeof e}function g(e){return"string"==typeof e}function v(e){return void 0===e}function y(e){return w(e)&&"[object RegExp]"===k(e)}function w(e){return"object"==typeof e&&null!==e}function _(e){return w(e)&&"[object Date]"===k(e)}function M(e){return w(e)&&("[object Error]"===k(e)||e instanceof Error)}function S(e){return"function"==typeof e}function k(e){return Object.prototype.toString.call(e)}function E(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(r){if(v(a)&&(a=e.env.NODE_DEBUG||""),r=r.toUpperCase(),!o[r])if(new RegExp("\\b"+r+"\\b","i").test(a)){var i=e.pid;o[r]=function(){var e=t.format.apply(t,arguments);console.error("%s %d: %s",r,i,e)}}else o[r]=function(){};return o[r]},t.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=l,t.isBoolean=b,t.isNull=p,t.isNullOrUndefined=function(e){return null==e},t.isNumber=m,t.isString=g,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=v,t.isRegExp=y,t.isObject=w,t.isDate=_,t.isError=M,t.isFunction=S,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=r(236);var x=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function z(){var e=new Date,t=[E(e.getHours()),E(e.getMinutes()),E(e.getSeconds())].join(":");return[e.getDate(),x[e.getMonth()],t].join(" ")}function A(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){console.log("%s - %s",z(),t.format.apply(t,arguments))},t.inherits=r(237),t._extend=function(e,t){if(!t||!w(t))return e;for(var r=Object.keys(t),i=r.length;i--;)e[r[i]]=t[r[i]];return e};var I="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function q(e,t){if(!e){var r=new Error("Promise was rejected with a falsy value");r.reason=e,e=r}return t(e)}t.promisify=function(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');if(I&&e[I]){var t;if("function"!=typeof(t=e[I]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(t,I,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var t,r,i=new Promise((function(e,i){t=e,r=i})),n=[],a=0;a<arguments.length;a++)n.push(arguments[a]);n.push((function(e,i){e?r(e):t(i)}));try{e.apply(this,n)}catch(e){r(e)}return i}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),I&&Object.defineProperty(t,I,{value:t,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(t,i(e))},t.promisify.custom=I,t.callbackify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');function r(){for(var r=[],i=0;i<arguments.length;i++)r.push(arguments[i]);var n=r.pop();if("function"!=typeof n)throw new TypeError("The last argument must be of type Function");var a=this,o=function(){return n.apply(a,arguments)};t.apply(this,r).then((function(t){e.nextTick(o,null,t)}),(function(t){e.nextTick(q,t,o)}))}return Object.setPrototypeOf(r,Object.getPrototypeOf(t)),Object.defineProperties(r,i(t)),r}}).call(this,r(3))},function(e,t){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}},function(e,t,r){"use strict";(function(t){
/*!
 * schnorr-legacy.js - bip-schnorr for bcrypto
 * Copyright (c) 2019-2020, Christopher Jeffrey (MIT License).
 * https://github.com/bcoin-org/bcrypto
 *
 * Parts of this software are based on sipa/bip-schnorr:
 *   Copyright (c) 2018-2019, Pieter Wuille (2-clause BSD License).
 *   https://github.com/sipa/bips/blob/d194620/bip-schnorr/reference.py
 *
 * Parts of this software are based on ElementsProject/secp256k1-zkp:
 *   Copyright (c) 2013, Pieter Wuille.
 *   https://github.com/ElementsProject/secp256k1-zkp
 *
 * Resources:
 *   https://github.com/sipa/bips/blob/d194620/bip-schnorr.mediawiki
 *   https://github.com/sipa/bips/blob/d194620/bip-schnorr/reference.py
 *   https://github.com/sipa/bips/blob/d194620/bip-schnorr/test-vectors.csv
 *   https://github.com/ElementsProject/secp256k1-zkp/tree/11af701/src/modules/schnorrsig
 *   https://github.com/bitcoincashorg/bitcoincash.org/blob/master/spec/2019-05-15-schnorr.md
 *
 * References:
 *
 *   [SCHNORR] Schnorr Signatures for secp256k1
 *     Pieter Wuille
 *     https://github.com/sipa/bips/blob/d194620/bip-schnorr.mediawiki
 *
 *   [CASH] Schnorr Signature specification
 *     Mark B. Lundeberg
 *     https://github.com/bitcoincashorg/bitcoincash.org/blob/master/spec/2019-05-15-schnorr.md
 */
const i=r(8),n=r(108),a=r(21);e.exports=class{constructor(e,t){this.curve=e,this.hash=t,this.rng=new n(this.curve,this.encode.bind(this))}check(){if(3!==this.curve.p.andln(3))throw new Error(`Schnorr is not supported for ${this.curve.id}.`)}encode(e){i(t.isBuffer(e));const{fieldSize:r}=this.curve;if(e.length===1+r)return e;if(e.length!==1+2*r)throw new Error("Invalid point.");const n=t.alloc(1+r);return n[0]=2|1&e[e.length-1],e.copy(n,1,1,1+r),n}hashInt(...e){const t=new this.hash;t.init();for(const r of e)t.update(r);let r=t.final(this.curve.scalarSize);r.length>this.curve.scalarSize&&(r=r.slice(0,this.curve.scalarSize));const i=a.decode(r,this.curve.endian);return i.iumaskn(this.curve.scalarBits),i.imod(this.curve.n)}hashNonce(e,t){return this.hashInt(e,t)}hashChallenge(e,t,r){return this.hashInt(e,this.encode(t),r)}sign(e,r){return i(t.isBuffer(e)),this.check(),this._sign(e,r)}_sign(e,r){const{n:i}=this.curve,n=this.curve.g,a=this.curve.decodeScalar(r);if(a.isZero()||a.cmp(i)>=0)throw new Error("Invalid private key.");const o=n.mulBlind(a),s=this.hashNonce(r,e);if(s.isZero())throw new Error("Signing failed (k' = 0).");const f=n.mulBlind(s);f.isSquare()||s.ineg().imod(i);const c=f.encodeX(),d=o.encode(),u=this.hashChallenge(c,d,e),h=s.add(u.mul(a)).imod(i);return t.concat([c,this.curve.encodeScalar(h)])}verify(e,r,n){if(i(t.isBuffer(e)),i(t.isBuffer(r)),i(t.isBuffer(n)),this.check(),r.length!==this.curve.fieldSize+this.curve.scalarSize)return!1;try{return this._verify(e,r,n)}catch(e){return!1}}_verify(e,t,r){const{p:i,n:n}=this.curve,a=this.curve.g,o=t.slice(0,this.curve.fieldSize),s=t.slice(this.curve.fieldSize),f=this.curve.decodeField(o),c=this.curve.decodeScalar(s),d=this.curve.decodePoint(r);if(f.cmp(i)>=0||c.cmp(n)>=0)return!1;const u=this.hashChallenge(o,r,e),h=a.jmulAdd(c,d,u.ineg().imod(n));return!!h.isSquare()&&!!h.eqX(f)}verifyBatch(e){i(Array.isArray(e)),this.check();for(const r of e){i(Array.isArray(r)&&3===r.length);const[e,n,a]=r;if(i(t.isBuffer(e)),i(t.isBuffer(n)),i(t.isBuffer(a)),n.length!==this.curve.fieldSize+this.curve.scalarSize)return!1}try{return this._verifyBatch(e)}catch(e){return!1}}_verifyBatch(e){const{n:t}=this.curve,r=this.curve.g,i=new Array(1+2*e.length),n=new Array(1+2*e.length),o=new a(0);this.rng.init(e),i[0]=r,n[0]=o;for(let r=0;r<e.length;r++){const[a,s,f]=e[r],c=s.slice(0,this.curve.fieldSize),d=s.slice(this.curve.fieldSize),u=this.curve.decodeSquare(c),h=this.curve.decodeScalar(d),l=this.curve.decodePoint(f);if(h.cmp(t)>=0)return!1;const b=this.hashChallenge(c,f,a),p=this.rng.generate(r),m=b.mul(p).imod(t);o.iadd(h.mul(p)).imod(t),i[1+2*r+0]=u,n[1+2*r+0]=p,i[1+2*r+1]=l,n[1+2*r+1]=m}return o.ineg().imod(t),this.curve.jmulAll(i,n).isInfinity()}}}).call(this,r(2).Buffer)},function(e,t,r){"use strict";
/*!
 * hmac-drbg.js - hmac-drbg for bcrypto
 * Copyright (c) 2017-2019, Christopher Jeffrey (MIT License).
 * https://github.com/bcoin-org/bcrypto
 */e.exports=r(240)},function(e,t,r){"use strict";(function(t){
/*!
 * hmac-drbg.js - hmac-drbg implementation for bcrypto
 * Copyright (c) 2017-2019, Christopher Jeffrey (MIT License).
 * https://github.com/bcoin-org/bcrypto
 *
 * Parts of this software are based on indutny/hmac-drbg:
 *   Copyright Fedor Indutny, 2017.
 *   https://github.com/indutny/hmac-drbg
 *
 * Resources:
 *   https://tools.ietf.org/html/rfc6979
 *   https://csrc.nist.gov/publications/detail/sp/800-90a/archive/2012-01-23
 *   https://github.com/indutny/hmac-drbg/blob/master/lib/hmac-drbg.js
 */
const i=r(8),n=t.from([0]),a=t.from([1]);class o{constructor(e,r,n,a){i(e&&"string"==typeof e.id),this.hash=e,this.minEntropy="SHA1"===e.id?10:24,this.K=t.alloc(e.size),this.V=t.alloc(e.size),this.rounds=0,r&&this.init(r,n,a)}init(e,r,n){null==r&&(r=t.alloc(0)),null==n&&(n=t.alloc(0)),i(t.isBuffer(e)),i(t.isBuffer(r)),i(t.isBuffer(n));for(let e=0;e<this.V.length;e++)this.K[e]=0,this.V[e]=1;const a=t.concat([e,r,n]);if(a.length<this.minEntropy)throw new Error("Not enough entropy.");return this.update(a),this.rounds=1,this}reseed(e,r){if(null==r&&(r=t.alloc(0)),i(t.isBuffer(e)),i(t.isBuffer(r)),0===this.rounds)throw new Error("DRBG not initialized.");const n=t.concat([e,r]);if(n.length<this.minEntropy)throw new Error("Not enough entropy.");return this.update(n),this.rounds=1,this}generate(e,r){if(i(e>>>0===e),i(null==r||t.isBuffer(r)),0===this.rounds)throw new Error("DRBG not initialized.");if(this.rounds>281474976710656)throw new Error("Reseed is required.");r&&r.length>0&&this.update(r);const n=Math.ceil(e/this.hash.size),a=t.alloc(n*this.hash.size);for(let e=0;e<n;e++)this.V=this.mac(this.V),this.V.copy(a,e*this.hash.size);return this.update(r),this.rounds+=1,a.slice(0,e)}randomBytes(e){return this.generate(e)}mac(e){return this.hash.mac(e,this.K)}hmac(){return this.hash.hmac().init(this.K)}update(e){i(null==e||t.isBuffer(e));const r=this.hmac();if(r.update(this.V),r.update(n),e&&r.update(e),this.K=r.final(),this.V=this.mac(this.V),e&&e.length>0){const t=this.hmac();t.update(this.V),t.update(a),t.update(e),this.K=t.final(),this.V=this.mac(this.V)}return this}}o.native=0,e.exports=o}).call(this,r(2).Buffer)},function(e){e.exports=JSON.parse('{"naf":{"width":9,"points":[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","0ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","02de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","02972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","0d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["049370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","091b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","0673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["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","0a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","09414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["078c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","04f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","073867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["0336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","060660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","0b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["04e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["0c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","021ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["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","0c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","09731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","0cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["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","0712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]},"doubles":{"step":4,"points":[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","04e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["06f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["0948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","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","0e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","067c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["0928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","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","0d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["08ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]}}')},function(e,t,r){"use strict";
/*!
 * base16.js - base16 for bcrypto
 * Copyright (c) 2019, Christopher Jeffrey (MIT License).
 * https://github.com/bcoin-org/bcrypto
 */e.exports=r(243)},function(e,t,r){"use strict";(function(e){
/*!
 * base16.js - base16 for javascript
 * Copyright (c) 2019, Christopher Jeffrey (MIT License).
 * https://github.com/bcoin-org/bcrypto
 *
 * Resources:
 *   https://tools.ietf.org/html/rfc4648
 */
const i=r(8),n=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,-1,-1,-1,-1,-1,-1,-1,10,11,12,13,14,15,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,11,12,13,14,15,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1];function a(t,r){i(e.isBuffer(t));let n=t.length,a=r<0?n-1:0,o="";for(;n--;)o+="0123456789abcdef"[t[a]>>4],o+="0123456789abcdef"[15&t[a]],a+=r;return o}function o(t,r){i("string"==typeof t);let a=t.length,o=r<0?a-2:0,s=0,f=0;if(1&a)throw new Error("Invalid hex string.");a>>>=1,r*=2;const c=e.alloc(a);for(;a--;){const e=t.charCodeAt(o+0),i=t.charCodeAt(o+1),a=n[127&e],d=n[127&i];f|=e|i|a|d,c[s++]=a<<4|d,o+=r}if(4294967168&f)throw new Error("Invalid hex string.");return c}function s(e){if(i("string"==typeof e),1&e.length)return!1;for(let t=0;t<e.length;t++){const r=e.charCodeAt(t);if(65408&r)return!1;if(-1===n[r])return!1}return!0}t.native=0,t.encode=function(e){return a(e,1)},t.decode=function(e){return o(e,1)},t.test=function(e){return s(e)},t.encodeLE=function(e){return a(e,-1)},t.decodeLE=function(e){return o(e,-1)},t.testLE=function(e){return s(e)}}).call(this,r(2).Buffer)},function(e,t,r){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});const i=r(11),n=r(41),a=r(10),o=r(114);let s=o._default;const f="A wordlist is required but a default could not be found.\nPlease explicitly pass a 2048 word array explicitly.";function c(e){return(e||"").normalize("NFKD")}function d(e,t,r){for(;e.length<r;)e=t+e;return e}function u(e){return parseInt(e,2)}function h(e){return e.map(e=>d(e.toString(2),"0",8)).join("")}function l(e){const t=8*e.length/32,r=i("sha256").update(e).digest();return h(Array.from(r)).slice(0,t)}function b(e){return"mnemonic"+(e||"")}function p(t,r){if(!(r=r||s))throw new Error(f);const i=c(t).split(" ");if(i.length%3!=0)throw new Error("Invalid mnemonic");const n=i.map(e=>{const t=r.indexOf(e);if(-1===t)throw new Error("Invalid mnemonic");return d(t.toString(2),"0",11)}).join(""),a=32*Math.floor(n.length/33),o=n.slice(0,a),h=n.slice(a),b=o.match(/(.{1,8})/g).map(u);if(b.length<16)throw new Error("Invalid entropy");if(b.length>32)throw new Error("Invalid entropy");if(b.length%4!=0)throw new Error("Invalid entropy");const p=e.from(b);if(l(p)!==h)throw new Error("Invalid mnemonic checksum");return p.toString("hex")}function m(t,r){if(e.isBuffer(t)||(t=e.from(t,"hex")),!(r=r||s))throw new Error(f);if(t.length<16)throw new TypeError("Invalid entropy");if(t.length>32)throw new TypeError("Invalid entropy");if(t.length%4!=0)throw new TypeError("Invalid entropy");const i=(h(Array.from(t))+l(t)).match(/(.{1,11})/g).map(e=>{const t=u(e);return r[t]});return"あいこくしん"===r[0]?i.join(" "):i.join(" ")}t.mnemonicToSeedSync=function(t,r){const i=e.from(c(t),"utf8"),a=e.from(b(c(r)),"utf8");return n.pbkdf2Sync(i,a,2048,64,"sha512")},t.mnemonicToSeed=function(t,r){return Promise.resolve().then(()=>function(e,t,r,i,a){return Promise.resolve().then(()=>new Promise((o,s)=>{n.pbkdf2(e,t,r,i,a,(e,t)=>e?s(e):o(t))}))}(e.from(c(t),"utf8"),e.from(b(c(r)),"utf8"),2048,64,"sha512"))},t.mnemonicToEntropy=p,t.entropyToMnemonic=m,t.generateMnemonic=function(e,t,r){if((e=e||128)%32!=0)throw new TypeError("Invalid entropy");return m((t=t||a)(e/8),r)},t.validateMnemonic=function(e,t){try{p(e,t)}catch(e){return!1}return!0},t.setDefaultWordlist=function(e){const t=o.wordlists[e];if(!t)throw new Error('Could not find wordlist for language "'+e+'"');s=t},t.getDefaultWordlist=function(){if(!s)throw new Error("No Default Wordlist set");return Object.keys(o.wordlists).filter(e=>"JA"!==e&&"EN"!==e&&o.wordlists[e].every((e,t)=>e===s[t]))[0]};var g=r(114);t.wordlists=g.wordlists}).call(this,r(2).Buffer)},function(e){e.exports=JSON.parse('["abdikace","abeceda","adresa","agrese","akce","aktovka","alej","alkohol","amputace","ananas","andulka","anekdota","anketa","antika","anulovat","archa","arogance","asfalt","asistent","aspirace","astma","astronom","atlas","atletika","atol","autobus","azyl","babka","bachor","bacil","baculka","badatel","bageta","bagr","bahno","bakterie","balada","baletka","balkon","balonek","balvan","balza","bambus","bankomat","barbar","baret","barman","baroko","barva","baterka","batoh","bavlna","bazalka","bazilika","bazuka","bedna","beran","beseda","bestie","beton","bezinka","bezmoc","beztak","bicykl","bidlo","biftek","bikiny","bilance","biograf","biolog","bitva","bizon","blahobyt","blatouch","blecha","bledule","blesk","blikat","blizna","blokovat","bloudit","blud","bobek","bobr","bodlina","bodnout","bohatost","bojkot","bojovat","bokorys","bolest","borec","borovice","bota","boubel","bouchat","bouda","boule","bourat","boxer","bradavka","brambora","branka","bratr","brepta","briketa","brko","brloh","bronz","broskev","brunetka","brusinka","brzda","brzy","bublina","bubnovat","buchta","buditel","budka","budova","bufet","bujarost","bukvice","buldok","bulva","bunda","bunkr","burza","butik","buvol","buzola","bydlet","bylina","bytovka","bzukot","capart","carevna","cedr","cedule","cejch","cejn","cela","celer","celkem","celnice","cenina","cennost","cenovka","centrum","cenzor","cestopis","cetka","chalupa","chapadlo","charita","chata","chechtat","chemie","chichot","chirurg","chlad","chleba","chlubit","chmel","chmura","chobot","chochol","chodba","cholera","chomout","chopit","choroba","chov","chrapot","chrlit","chrt","chrup","chtivost","chudina","chutnat","chvat","chvilka","chvost","chyba","chystat","chytit","cibule","cigareta","cihelna","cihla","cinkot","cirkus","cisterna","citace","citrus","cizinec","cizost","clona","cokoliv","couvat","ctitel","ctnost","cudnost","cuketa","cukr","cupot","cvaknout","cval","cvik","cvrkot","cyklista","daleko","dareba","datel","datum","dcera","debata","dechovka","decibel","deficit","deflace","dekl","dekret","demokrat","deprese","derby","deska","detektiv","dikobraz","diktovat","dioda","diplom","disk","displej","divadlo","divoch","dlaha","dlouho","dluhopis","dnes","dobro","dobytek","docent","dochutit","dodnes","dohled","dohoda","dohra","dojem","dojnice","doklad","dokola","doktor","dokument","dolar","doleva","dolina","doma","dominant","domluvit","domov","donutit","dopad","dopis","doplnit","doposud","doprovod","dopustit","dorazit","dorost","dort","dosah","doslov","dostatek","dosud","dosyta","dotaz","dotek","dotknout","doufat","doutnat","dovozce","dozadu","doznat","dozorce","drahota","drak","dramatik","dravec","draze","drdol","drobnost","drogerie","drozd","drsnost","drtit","drzost","duben","duchovno","dudek","duha","duhovka","dusit","dusno","dutost","dvojice","dvorec","dynamit","ekolog","ekonomie","elektron","elipsa","email","emise","emoce","empatie","epizoda","epocha","epopej","epos","esej","esence","eskorta","eskymo","etiketa","euforie","evoluce","exekuce","exkurze","expedice","exploze","export","extrakt","facka","fajfka","fakulta","fanatik","fantazie","farmacie","favorit","fazole","federace","fejeton","fenka","fialka","figurant","filozof","filtr","finance","finta","fixace","fjord","flanel","flirt","flotila","fond","fosfor","fotbal","fotka","foton","frakce","freska","fronta","fukar","funkce","fyzika","galeje","garant","genetika","geolog","gilotina","glazura","glejt","golem","golfista","gotika","graf","gramofon","granule","grep","gril","grog","groteska","guma","hadice","hadr","hala","halenka","hanba","hanopis","harfa","harpuna","havran","hebkost","hejkal","hejno","hejtman","hektar","helma","hematom","herec","herna","heslo","hezky","historik","hladovka","hlasivky","hlava","hledat","hlen","hlodavec","hloh","hloupost","hltat","hlubina","hluchota","hmat","hmota","hmyz","hnis","hnojivo","hnout","hoblina","hoboj","hoch","hodiny","hodlat","hodnota","hodovat","hojnost","hokej","holinka","holka","holub","homole","honitba","honorace","horal","horda","horizont","horko","horlivec","hormon","hornina","horoskop","horstvo","hospoda","hostina","hotovost","houba","houf","houpat","houska","hovor","hradba","hranice","hravost","hrazda","hrbolek","hrdina","hrdlo","hrdost","hrnek","hrobka","hromada","hrot","hrouda","hrozen","hrstka","hrubost","hryzat","hubenost","hubnout","hudba","hukot","humr","husita","hustota","hvozd","hybnost","hydrant","hygiena","hymna","hysterik","idylka","ihned","ikona","iluze","imunita","infekce","inflace","inkaso","inovace","inspekce","internet","invalida","investor","inzerce","ironie","jablko","jachta","jahoda","jakmile","jakost","jalovec","jantar","jarmark","jaro","jasan","jasno","jatka","javor","jazyk","jedinec","jedle","jednatel","jehlan","jekot","jelen","jelito","jemnost","jenom","jepice","jeseter","jevit","jezdec","jezero","jinak","jindy","jinoch","jiskra","jistota","jitrnice","jizva","jmenovat","jogurt","jurta","kabaret","kabel","kabinet","kachna","kadet","kadidlo","kahan","kajak","kajuta","kakao","kaktus","kalamita","kalhoty","kalibr","kalnost","kamera","kamkoliv","kamna","kanibal","kanoe","kantor","kapalina","kapela","kapitola","kapka","kaple","kapota","kapr","kapusta","kapybara","karamel","karotka","karton","kasa","katalog","katedra","kauce","kauza","kavalec","kazajka","kazeta","kazivost","kdekoliv","kdesi","kedluben","kemp","keramika","kino","klacek","kladivo","klam","klapot","klasika","klaun","klec","klenba","klepat","klesnout","klid","klima","klisna","klobouk","klokan","klopa","kloub","klubovna","klusat","kluzkost","kmen","kmitat","kmotr","kniha","knot","koalice","koberec","kobka","kobliha","kobyla","kocour","kohout","kojenec","kokos","koktejl","kolaps","koleda","kolize","kolo","komando","kometa","komik","komnata","komora","kompas","komunita","konat","koncept","kondice","konec","konfese","kongres","konina","konkurs","kontakt","konzerva","kopanec","kopie","kopnout","koprovka","korbel","korektor","kormidlo","koroptev","korpus","koruna","koryto","korzet","kosatec","kostka","kotel","kotleta","kotoul","koukat","koupelna","kousek","kouzlo","kovboj","koza","kozoroh","krabice","krach","krajina","kralovat","krasopis","kravata","kredit","krejcar","kresba","kreveta","kriket","kritik","krize","krkavec","krmelec","krmivo","krocan","krok","kronika","kropit","kroupa","krovka","krtek","kruhadlo","krupice","krutost","krvinka","krychle","krypta","krystal","kryt","kudlanka","kufr","kujnost","kukla","kulajda","kulich","kulka","kulomet","kultura","kuna","kupodivu","kurt","kurzor","kutil","kvalita","kvasinka","kvestor","kynolog","kyselina","kytara","kytice","kytka","kytovec","kyvadlo","labrador","lachtan","ladnost","laik","lakomec","lamela","lampa","lanovka","lasice","laso","lastura","latinka","lavina","lebka","leckdy","leden","lednice","ledovka","ledvina","legenda","legie","legrace","lehce","lehkost","lehnout","lektvar","lenochod","lentilka","lepenka","lepidlo","letadlo","letec","letmo","letokruh","levhart","levitace","levobok","libra","lichotka","lidojed","lidskost","lihovina","lijavec","lilek","limetka","linie","linka","linoleum","listopad","litina","litovat","lobista","lodivod","logika","logoped","lokalita","loket","lomcovat","lopata","lopuch","lord","losos","lotr","loudal","louh","louka","louskat","lovec","lstivost","lucerna","lucifer","lump","lusk","lustrace","lvice","lyra","lyrika","lysina","madam","madlo","magistr","mahagon","majetek","majitel","majorita","makak","makovice","makrela","malba","malina","malovat","malvice","maminka","mandle","manko","marnost","masakr","maskot","masopust","matice","matrika","maturita","mazanec","mazivo","mazlit","mazurka","mdloba","mechanik","meditace","medovina","melasa","meloun","mentolka","metla","metoda","metr","mezera","migrace","mihnout","mihule","mikina","mikrofon","milenec","milimetr","milost","mimika","mincovna","minibar","minomet","minulost","miska","mistr","mixovat","mladost","mlha","mlhovina","mlok","mlsat","mluvit","mnich","mnohem","mobil","mocnost","modelka","modlitba","mohyla","mokro","molekula","momentka","monarcha","monokl","monstrum","montovat","monzun","mosaz","moskyt","most","motivace","motorka","motyka","moucha","moudrost","mozaika","mozek","mozol","mramor","mravenec","mrkev","mrtvola","mrzet","mrzutost","mstitel","mudrc","muflon","mulat","mumie","munice","muset","mutace","muzeum","muzikant","myslivec","mzda","nabourat","nachytat","nadace","nadbytek","nadhoz","nadobro","nadpis","nahlas","nahnat","nahodile","nahradit","naivita","najednou","najisto","najmout","naklonit","nakonec","nakrmit","nalevo","namazat","namluvit","nanometr","naoko","naopak","naostro","napadat","napevno","naplnit","napnout","naposled","naprosto","narodit","naruby","narychlo","nasadit","nasekat","naslepo","nastat","natolik","navenek","navrch","navzdory","nazvat","nebe","nechat","necky","nedaleko","nedbat","neduh","negace","nehet","nehoda","nejen","nejprve","neklid","nelibost","nemilost","nemoc","neochota","neonka","nepokoj","nerost","nerv","nesmysl","nesoulad","netvor","neuron","nevina","nezvykle","nicota","nijak","nikam","nikdy","nikl","nikterak","nitro","nocleh","nohavice","nominace","nora","norek","nositel","nosnost","nouze","noviny","novota","nozdra","nuda","nudle","nuget","nutit","nutnost","nutrie","nymfa","obal","obarvit","obava","obdiv","obec","obehnat","obejmout","obezita","obhajoba","obilnice","objasnit","objekt","obklopit","oblast","oblek","obliba","obloha","obluda","obnos","obohatit","obojek","obout","obrazec","obrna","obruba","obrys","obsah","obsluha","obstarat","obuv","obvaz","obvinit","obvod","obvykle","obyvatel","obzor","ocas","ocel","ocenit","ochladit","ochota","ochrana","ocitnout","odboj","odbyt","odchod","odcizit","odebrat","odeslat","odevzdat","odezva","odhadce","odhodit","odjet","odjinud","odkaz","odkoupit","odliv","odluka","odmlka","odolnost","odpad","odpis","odplout","odpor","odpustit","odpykat","odrazka","odsoudit","odstup","odsun","odtok","odtud","odvaha","odveta","odvolat","odvracet","odznak","ofina","ofsajd","ohlas","ohnisko","ohrada","ohrozit","ohryzek","okap","okenice","oklika","okno","okouzlit","okovy","okrasa","okres","okrsek","okruh","okupant","okurka","okusit","olejnina","olizovat","omak","omeleta","omezit","omladina","omlouvat","omluva","omyl","onehdy","opakovat","opasek","operace","opice","opilost","opisovat","opora","opozice","opravdu","oproti","orbital","orchestr","orgie","orlice","orloj","ortel","osada","oschnout","osika","osivo","oslava","oslepit","oslnit","oslovit","osnova","osoba","osolit","ospalec","osten","ostraha","ostuda","ostych","osvojit","oteplit","otisk","otop","otrhat","otrlost","otrok","otruby","otvor","ovanout","ovar","oves","ovlivnit","ovoce","oxid","ozdoba","pachatel","pacient","padouch","pahorek","pakt","palanda","palec","palivo","paluba","pamflet","pamlsek","panenka","panika","panna","panovat","panstvo","pantofle","paprika","parketa","parodie","parta","paruka","paryba","paseka","pasivita","pastelka","patent","patrona","pavouk","pazneht","pazourek","pecka","pedagog","pejsek","peklo","peloton","penalta","pendrek","penze","periskop","pero","pestrost","petarda","petice","petrolej","pevnina","pexeso","pianista","piha","pijavice","pikle","piknik","pilina","pilnost","pilulka","pinzeta","pipeta","pisatel","pistole","pitevna","pivnice","pivovar","placenta","plakat","plamen","planeta","plastika","platit","plavidlo","plaz","plech","plemeno","plenta","ples","pletivo","plevel","plivat","plnit","plno","plocha","plodina","plomba","plout","pluk","plyn","pobavit","pobyt","pochod","pocit","poctivec","podat","podcenit","podepsat","podhled","podivit","podklad","podmanit","podnik","podoba","podpora","podraz","podstata","podvod","podzim","poezie","pohanka","pohnutka","pohovor","pohroma","pohyb","pointa","pojistka","pojmout","pokazit","pokles","pokoj","pokrok","pokuta","pokyn","poledne","polibek","polknout","poloha","polynom","pomalu","pominout","pomlka","pomoc","pomsta","pomyslet","ponechat","ponorka","ponurost","popadat","popel","popisek","poplach","poprosit","popsat","popud","poradce","porce","porod","porucha","poryv","posadit","posed","posila","poskok","poslanec","posoudit","pospolu","postava","posudek","posyp","potah","potkan","potlesk","potomek","potrava","potupa","potvora","poukaz","pouto","pouzdro","povaha","povidla","povlak","povoz","povrch","povstat","povyk","povzdech","pozdrav","pozemek","poznatek","pozor","pozvat","pracovat","prahory","praktika","prales","praotec","praporek","prase","pravda","princip","prkno","probudit","procento","prodej","profese","prohra","projekt","prolomit","promile","pronikat","propad","prorok","prosba","proton","proutek","provaz","prskavka","prsten","prudkost","prut","prvek","prvohory","psanec","psovod","pstruh","ptactvo","puberta","puch","pudl","pukavec","puklina","pukrle","pult","pumpa","punc","pupen","pusa","pusinka","pustina","putovat","putyka","pyramida","pysk","pytel","racek","rachot","radiace","radnice","radon","raft","ragby","raketa","rakovina","rameno","rampouch","rande","rarach","rarita","rasovna","rastr","ratolest","razance","razidlo","reagovat","reakce","recept","redaktor","referent","reflex","rejnok","reklama","rekord","rekrut","rektor","reputace","revize","revma","revolver","rezerva","riskovat","riziko","robotika","rodokmen","rohovka","rokle","rokoko","romaneto","ropovod","ropucha","rorejs","rosol","rostlina","rotmistr","rotoped","rotunda","roubenka","roucho","roup","roura","rovina","rovnice","rozbor","rozchod","rozdat","rozeznat","rozhodce","rozinka","rozjezd","rozkaz","rozloha","rozmar","rozpad","rozruch","rozsah","roztok","rozum","rozvod","rubrika","ruchadlo","rukavice","rukopis","ryba","rybolov","rychlost","rydlo","rypadlo","rytina","ryzost","sadista","sahat","sako","samec","samizdat","samota","sanitka","sardinka","sasanka","satelit","sazba","sazenice","sbor","schovat","sebranka","secese","sedadlo","sediment","sedlo","sehnat","sejmout","sekera","sekta","sekunda","sekvoje","semeno","seno","servis","sesadit","seshora","seskok","seslat","sestra","sesuv","sesypat","setba","setina","setkat","setnout","setrvat","sever","seznam","shoda","shrnout","sifon","silnice","sirka","sirotek","sirup","situace","skafandr","skalisko","skanzen","skaut","skeptik","skica","skladba","sklenice","sklo","skluz","skoba","skokan","skoro","skripta","skrz","skupina","skvost","skvrna","slabika","sladidlo","slanina","slast","slavnost","sledovat","slepec","sleva","slezina","slib","slina","sliznice","slon","sloupek","slovo","sluch","sluha","slunce","slupka","slza","smaragd","smetana","smilstvo","smlouva","smog","smrad","smrk","smrtka","smutek","smysl","snad","snaha","snob","sobota","socha","sodovka","sokol","sopka","sotva","souboj","soucit","soudce","souhlas","soulad","soumrak","souprava","soused","soutok","souviset","spalovna","spasitel","spis","splav","spodek","spojenec","spolu","sponzor","spornost","spousta","sprcha","spustit","sranda","sraz","srdce","srna","srnec","srovnat","srpen","srst","srub","stanice","starosta","statika","stavba","stehno","stezka","stodola","stolek","stopa","storno","stoupat","strach","stres","strhnout","strom","struna","studna","stupnice","stvol","styk","subjekt","subtropy","suchar","sudost","sukno","sundat","sunout","surikata","surovina","svah","svalstvo","svetr","svatba","svazek","svisle","svitek","svoboda","svodidlo","svorka","svrab","sykavka","sykot","synek","synovec","sypat","sypkost","syrovost","sysel","sytost","tabletka","tabule","tahoun","tajemno","tajfun","tajga","tajit","tajnost","taktika","tamhle","tampon","tancovat","tanec","tanker","tapeta","tavenina","tazatel","technika","tehdy","tekutina","telefon","temnota","tendence","tenista","tenor","teplota","tepna","teprve","terapie","termoska","textil","ticho","tiskopis","titulek","tkadlec","tkanina","tlapka","tleskat","tlukot","tlupa","tmel","toaleta","topinka","topol","torzo","touha","toulec","tradice","traktor","tramp","trasa","traverza","trefit","trest","trezor","trhavina","trhlina","trochu","trojice","troska","trouba","trpce","trpitel","trpkost","trubec","truchlit","truhlice","trus","trvat","tudy","tuhnout","tuhost","tundra","turista","turnaj","tuzemsko","tvaroh","tvorba","tvrdost","tvrz","tygr","tykev","ubohost","uboze","ubrat","ubrousek","ubrus","ubytovna","ucho","uctivost","udivit","uhradit","ujednat","ujistit","ujmout","ukazatel","uklidnit","uklonit","ukotvit","ukrojit","ulice","ulita","ulovit","umyvadlo","unavit","uniforma","uniknout","upadnout","uplatnit","uplynout","upoutat","upravit","uran","urazit","usednout","usilovat","usmrtit","usnadnit","usnout","usoudit","ustlat","ustrnout","utahovat","utkat","utlumit","utonout","utopenec","utrousit","uvalit","uvolnit","uvozovka","uzdravit","uzel","uzenina","uzlina","uznat","vagon","valcha","valoun","vana","vandal","vanilka","varan","varhany","varovat","vcelku","vchod","vdova","vedro","vegetace","vejce","velbloud","veletrh","velitel","velmoc","velryba","venkov","veranda","verze","veselka","veskrze","vesnice","vespodu","vesta","veterina","veverka","vibrace","vichr","videohra","vidina","vidle","vila","vinice","viset","vitalita","vize","vizitka","vjezd","vklad","vkus","vlajka","vlak","vlasec","vlevo","vlhkost","vliv","vlnovka","vloupat","vnucovat","vnuk","voda","vodivost","vodoznak","vodstvo","vojensky","vojna","vojsko","volant","volba","volit","volno","voskovka","vozidlo","vozovna","vpravo","vrabec","vracet","vrah","vrata","vrba","vrcholek","vrhat","vrstva","vrtule","vsadit","vstoupit","vstup","vtip","vybavit","vybrat","vychovat","vydat","vydra","vyfotit","vyhledat","vyhnout","vyhodit","vyhradit","vyhubit","vyjasnit","vyjet","vyjmout","vyklopit","vykonat","vylekat","vymazat","vymezit","vymizet","vymyslet","vynechat","vynikat","vynutit","vypadat","vyplatit","vypravit","vypustit","vyrazit","vyrovnat","vyrvat","vyslovit","vysoko","vystavit","vysunout","vysypat","vytasit","vytesat","vytratit","vyvinout","vyvolat","vyvrhel","vyzdobit","vyznat","vzadu","vzbudit","vzchopit","vzdor","vzduch","vzdychat","vzestup","vzhledem","vzkaz","vzlykat","vznik","vzorek","vzpoura","vztah","vztek","xylofon","zabrat","zabydlet","zachovat","zadarmo","zadusit","zafoukat","zahltit","zahodit","zahrada","zahynout","zajatec","zajet","zajistit","zaklepat","zakoupit","zalepit","zamezit","zamotat","zamyslet","zanechat","zanikat","zaplatit","zapojit","zapsat","zarazit","zastavit","zasunout","zatajit","zatemnit","zatknout","zaujmout","zavalit","zavelet","zavinit","zavolat","zavrtat","zazvonit","zbavit","zbrusu","zbudovat","zbytek","zdaleka","zdarma","zdatnost","zdivo","zdobit","zdroj","zdvih","zdymadlo","zelenina","zeman","zemina","zeptat","zezadu","zezdola","zhatit","zhltnout","zhluboka","zhotovit","zhruba","zima","zimnice","zjemnit","zklamat","zkoumat","zkratka","zkumavka","zlato","zlehka","zloba","zlom","zlost","zlozvyk","zmapovat","zmar","zmatek","zmije","zmizet","zmocnit","zmodrat","zmrzlina","zmutovat","znak","znalost","znamenat","znovu","zobrazit","zotavit","zoubek","zoufale","zplodit","zpomalit","zprava","zprostit","zprudka","zprvu","zrada","zranit","zrcadlo","zrnitost","zrno","zrovna","zrychlit","zrzavost","zticha","ztratit","zubovina","zubr","zvednout","zvenku","zvesela","zvon","zvrat","zvukovod","zvyk"]')},function(e){e.exports=JSON.parse('["的","一","是","在","不","了","有","和","人","这","中","大","为","上","个","国","我","以","要","他","时","来","用","们","生","到","作","地","于","出","就","分","对","成","会","可","主","发","年","动","同","工","也","能","下","过","子","说","产","种","面","而","方","后","多","定","行","学","法","所","民","得","经","十","三","之","进","着","等","部","度","家","电","力","里","如","水","化","高","自","二","理","起","小","物","现","实","加","量","都","两","体","制","机","当","使","点","从","业","本","去","把","性","好","应","开","它","合","还","因","由","其","些","然","前","外","天","政","四","日","那","社","义","事","平","形","相","全","表","间","样","与","关","各","重","新","线","内","数","正","心","反","你","明","看","原","又","么","利","比","或","但","质","气","第","向","道","命","此","变","条","只","没","结","解","问","意","建","月","公","无","系","军","很","情","者","最","立","代","想","已","通","并","提","直","题","党","程","展","五","果","料","象","员","革","位","入","常","文","总","次","品","式","活","设","及","管","特","件","长","求","老","头","基","资","边","流","路","级","少","图","山","统","接","知","较","将","组","见","计","别","她","手","角","期","根","论","运","农","指","几","九","区","强","放","决","西","被","干","做","必","战","先","回","则","任","取","据","处","队","南","给","色","光","门","即","保","治","北","造","百","规","热","领","七","海","口","东","导","器","压","志","世","金","增","争","济","阶","油","思","术","极","交","受","联","什","认","六","共","权","收","证","改","清","美","再","采","转","更","单","风","切","打","白","教","速","花","带","安","场","身","车","例","真","务","具","万","每","目","至","达","走","积","示","议","声","报","斗","完","类","八","离","华","名","确","才","科","张","信","马","节","话","米","整","空","元","况","今","集","温","传","土","许","步","群","广","石","记","需","段","研","界","拉","林","律","叫","且","究","观","越","织","装","影","算","低","持","音","众","书","布","复","容","儿","须","际","商","非","验","连","断","深","难","近","矿","千","周","委","素","技","备","半","办","青","省","列","习","响","约","支","般","史","感","劳","便","团","往","酸","历","市","克","何","除","消","构","府","称","太","准","精","值","号","率","族","维","划","选","标","写","存","候","毛","亲","快","效","斯","院","查","江","型","眼","王","按","格","养","易","置","派","层","片","始","却","专","状","育","厂","京","识","适","属","圆","包","火","住","调","满","县","局","照","参","红","细","引","听","该","铁","价","严","首","底","液","官","德","随","病","苏","失","尔","死","讲","配","女","黄","推","显","谈","罪","神","艺","呢","席","含","企","望","密","批","营","项","防","举","球","英","氧","势","告","李","台","落","木","帮","轮","破","亚","师","围","注","远","字","材","排","供","河","态","封","另","施","减","树","溶","怎","止","案","言","士","均","武","固","叶","鱼","波","视","仅","费","紧","爱","左","章","早","朝","害","续","轻","服","试","食","充","兵","源","判","护","司","足","某","练","差","致","板","田","降","黑","犯","负","击","范","继","兴","似","余","坚","曲","输","修","故","城","夫","够","送","笔","船","占","右","财","吃","富","春","职","觉","汉","画","功","巴","跟","虽","杂","飞","检","吸","助","升","阳","互","初","创","抗","考","投","坏","策","古","径","换","未","跑","留","钢","曾","端","责","站","简","述","钱","副","尽","帝","射","草","冲","承","独","令","限","阿","宣","环","双","请","超","微","让","控","州","良","轴","找","否","纪","益","依","优","顶","础","载","倒","房","突","坐","粉","敌","略","客","袁","冷","胜","绝","析","块","剂","测","丝","协","诉","念","陈","仍","罗","盐","友","洋","错","苦","夜","刑","移","频","逐","靠","混","母","短","皮","终","聚","汽","村","云","哪","既","距","卫","停","烈","央","察","烧","迅","境","若","印","洲","刻","括","激","孔","搞","甚","室","待","核","校","散","侵","吧","甲","游","久","菜","味","旧","模","湖","货","损","预","阻","毫","普","稳","乙","妈","植","息","扩","银","语","挥","酒","守","拿","序","纸","医","缺","雨","吗","针","刘","啊","急","唱","误","训","愿","审","附","获","茶","鲜","粮","斤","孩","脱","硫","肥","善","龙","演","父","渐","血","欢","械","掌","歌","沙","刚","攻","谓","盾","讨","晚","粒","乱","燃","矛","乎","杀","药","宁","鲁","贵","钟","煤","读","班","伯","香","介","迫","句","丰","培","握","兰","担","弦","蛋","沉","假","穿","执","答","乐","谁","顺","烟","缩","征","脸","喜","松","脚","困","异","免","背","星","福","买","染","井","概","慢","怕","磁","倍","祖","皇","促","静","补","评","翻","肉","践","尼","衣","宽","扬","棉","希","伤","操","垂","秋","宜","氢","套","督","振","架","亮","末","宪","庆","编","牛","触","映","雷","销","诗","座","居","抓","裂","胞","呼","娘","景","威","绿","晶","厚","盟","衡","鸡","孙","延","危","胶","屋","乡","临","陆","顾","掉","呀","灯","岁","措","束","耐","剧","玉","赵","跳","哥","季","课","凯","胡","额","款","绍","卷","齐","伟","蒸","殖","永","宗","苗","川","炉","岩","弱","零","杨","奏","沿","露","杆","探","滑","镇","饭","浓","航","怀","赶","库","夺","伊","灵","税","途","灭","赛","归","召","鼓","播","盘","裁","险","康","唯","录","菌","纯","借","糖","盖","横","符","私","努","堂","域","枪","润","幅","哈","竟","熟","虫","泽","脑","壤","碳","欧","遍","侧","寨","敢","彻","虑","斜","薄","庭","纳","弹","饲","伸","折","麦","湿","暗","荷","瓦","塞","床","筑","恶","户","访","塔","奇","透","梁","刀","旋","迹","卡","氯","遇","份","毒","泥","退","洗","摆","灰","彩","卖","耗","夏","择","忙","铜","献","硬","予","繁","圈","雪","函","亦","抽","篇","阵","阴","丁","尺","追","堆","雄","迎","泛","爸","楼","避","谋","吨","野","猪","旗","累","偏","典","馆","索","秦","脂","潮","爷","豆","忽","托","惊","塑","遗","愈","朱","替","纤","粗","倾","尚","痛","楚","谢","奋","购","磨","君","池","旁","碎","骨","监","捕","弟","暴","割","贯","殊","释","词","亡","壁","顿","宝","午","尘","闻","揭","炮","残","冬","桥","妇","警","综","招","吴","付","浮","遭","徐","您","摇","谷","赞","箱","隔","订","男","吹","园","纷","唐","败","宋","玻","巨","耕","坦","荣","闭","湾","键","凡","驻","锅","救","恩","剥","凝","碱","齿","截","炼","麻","纺","禁","废","盛","版","缓","净","睛","昌","婚","涉","筒","嘴","插","岸","朗","庄","街","藏","姑","贸","腐","奴","啦","惯","乘","伙","恢","匀","纱","扎","辩","耳","彪","臣","亿","璃","抵","脉","秀","萨","俄","网","舞","店","喷","纵","寸","汗","挂","洪","贺","闪","柬","爆","烯","津","稻","墙","软","勇","像","滚","厘","蒙","芳","肯","坡","柱","荡","腿","仪","旅","尾","轧","冰","贡","登","黎","削","钻","勒","逃","障","氨","郭","峰","币","港","伏","轨","亩","毕","擦","莫","刺","浪","秘","援","株","健","售","股","岛","甘","泡","睡","童","铸","汤","阀","休","汇","舍","牧","绕","炸","哲","磷","绩","朋","淡","尖","启","陷","柴","呈","徒","颜","泪","稍","忘","泵","蓝","拖","洞","授","镜","辛","壮","锋","贫","虚","弯","摩","泰","幼","廷","尊","窗","纲","弄","隶","疑","氏","宫","姐","震","瑞","怪","尤","琴","循","描","膜","违","夹","腰","缘","珠","穷","森","枝","竹","沟","催","绳","忆","邦","剩","幸","浆","栏","拥","牙","贮","礼","滤","钠","纹","罢","拍","咱","喊","袖","埃","勤","罚","焦","潜","伍","墨","欲","缝","姓","刊","饱","仿","奖","铝","鬼","丽","跨","默","挖","链","扫","喝","袋","炭","污","幕","诸","弧","励","梅","奶","洁","灾","舟","鉴","苯","讼","抱","毁","懂","寒","智","埔","寄","届","跃","渡","挑","丹","艰","贝","碰","拔","爹","戴","码","梦","芽","熔","赤","渔","哭","敬","颗","奔","铅","仲","虎","稀","妹","乏","珍","申","桌","遵","允","隆","螺","仓","魏","锐","晓","氮","兼","隐","碍","赫","拨","忠","肃","缸","牵","抢","博","巧","壳","兄","杜","讯","诚","碧","祥","柯","页","巡","矩","悲","灌","龄","伦","票","寻","桂","铺","圣","恐","恰","郑","趣","抬","荒","腾","贴","柔","滴","猛","阔","辆","妻","填","撤","储","签","闹","扰","紫","砂","递","戏","吊","陶","伐","喂","疗","瓶","婆","抚","臂","摸","忍","虾","蜡","邻","胸","巩","挤","偶","弃","槽","劲","乳","邓","吉","仁","烂","砖","租","乌","舰","伴","瓜","浅","丙","暂","燥","橡","柳","迷","暖","牌","秧","胆","详","簧","踏","瓷","谱","呆","宾","糊","洛","辉","愤","竞","隙","怒","粘","乃","绪","肩","籍","敏","涂","熙","皆","侦","悬","掘","享","纠","醒","狂","锁","淀","恨","牲","霸","爬","赏","逆","玩","陵","祝","秒","浙","貌","役","彼","悉","鸭","趋","凤","晨","畜","辈","秩","卵","署","梯","炎","滩","棋","驱","筛","峡","冒","啥","寿","译","浸","泉","帽","迟","硅","疆","贷","漏","稿","冠","嫩","胁","芯","牢","叛","蚀","奥","鸣","岭","羊","凭","串","塘","绘","酵","融","盆","锡","庙","筹","冻","辅","摄","袭","筋","拒","僚","旱","钾","鸟","漆","沈","眉","疏","添","棒","穗","硝","韩","逼","扭","侨","凉","挺","碗","栽","炒","杯","患","馏","劝","豪","辽","勃","鸿","旦","吏","拜","狗","埋","辊","掩","饮","搬","骂","辞","勾","扣","估","蒋","绒","雾","丈","朵","姆","拟","宇","辑","陕","雕","偿","蓄","崇","剪","倡","厅","咬","驶","薯","刷","斥","番","赋","奉","佛","浇","漫","曼","扇","钙","桃","扶","仔","返","俗","亏","腔","鞋","棱","覆","框","悄","叔","撞","骗","勘","旺","沸","孤","吐","孟","渠","屈","疾","妙","惜","仰","狠","胀","谐","抛","霉","桑","岗","嘛","衰","盗","渗","脏","赖","涌","甜","曹","阅","肌","哩","厉","烃","纬","毅","昨","伪","症","煮","叹","钉","搭","茎","笼","酷","偷","弓","锥","恒","杰","坑","鼻","翼","纶","叙","狱","逮","罐","络","棚","抑","膨","蔬","寺","骤","穆","冶","枯","册","尸","凸","绅","坯","牺","焰","轰","欣","晋","瘦","御","锭","锦","丧","旬","锻","垄","搜","扑","邀","亭","酯","迈","舒","脆","酶","闲","忧","酚","顽","羽","涨","卸","仗","陪","辟","惩","杭","姚","肚","捉","飘","漂","昆","欺","吾","郎","烷","汁","呵","饰","萧","雅","邮","迁","燕","撒","姻","赴","宴","烦","债","帐","斑","铃","旨","醇","董","饼","雏","姿","拌","傅","腹","妥","揉","贤","拆","歪","葡","胺","丢","浩","徽","昂","垫","挡","览","贪","慰","缴","汪","慌","冯","诺","姜","谊","凶","劣","诬","耀","昏","躺","盈","骑","乔","溪","丛","卢","抹","闷","咨","刮","驾","缆","悟","摘","铒","掷","颇","幻","柄","惠","惨","佳","仇","腊","窝","涤","剑","瞧","堡","泼","葱","罩","霍","捞","胎","苍","滨","俩","捅","湘","砍","霞","邵","萄","疯","淮","遂","熊","粪","烘","宿","档","戈","驳","嫂","裕","徙","箭","捐","肠","撑","晒","辨","殿","莲","摊","搅","酱","屏","疫","哀","蔡","堵","沫","皱","畅","叠","阁","莱","敲","辖","钩","痕","坝","巷","饿","祸","丘","玄","溜","曰","逻","彭","尝","卿","妨","艇","吞","韦","怨","矮","歇"]')},function(e){e.exports=JSON.parse('["的","一","是","在","不","了","有","和","人","這","中","大","為","上","個","國","我","以","要","他","時","來","用","們","生","到","作","地","於","出","就","分","對","成","會","可","主","發","年","動","同","工","也","能","下","過","子","說","產","種","面","而","方","後","多","定","行","學","法","所","民","得","經","十","三","之","進","著","等","部","度","家","電","力","裡","如","水","化","高","自","二","理","起","小","物","現","實","加","量","都","兩","體","制","機","當","使","點","從","業","本","去","把","性","好","應","開","它","合","還","因","由","其","些","然","前","外","天","政","四","日","那","社","義","事","平","形","相","全","表","間","樣","與","關","各","重","新","線","內","數","正","心","反","你","明","看","原","又","麼","利","比","或","但","質","氣","第","向","道","命","此","變","條","只","沒","結","解","問","意","建","月","公","無","系","軍","很","情","者","最","立","代","想","已","通","並","提","直","題","黨","程","展","五","果","料","象","員","革","位","入","常","文","總","次","品","式","活","設","及","管","特","件","長","求","老","頭","基","資","邊","流","路","級","少","圖","山","統","接","知","較","將","組","見","計","別","她","手","角","期","根","論","運","農","指","幾","九","區","強","放","決","西","被","幹","做","必","戰","先","回","則","任","取","據","處","隊","南","給","色","光","門","即","保","治","北","造","百","規","熱","領","七","海","口","東","導","器","壓","志","世","金","增","爭","濟","階","油","思","術","極","交","受","聯","什","認","六","共","權","收","證","改","清","美","再","採","轉","更","單","風","切","打","白","教","速","花","帶","安","場","身","車","例","真","務","具","萬","每","目","至","達","走","積","示","議","聲","報","鬥","完","類","八","離","華","名","確","才","科","張","信","馬","節","話","米","整","空","元","況","今","集","溫","傳","土","許","步","群","廣","石","記","需","段","研","界","拉","林","律","叫","且","究","觀","越","織","裝","影","算","低","持","音","眾","書","布","复","容","兒","須","際","商","非","驗","連","斷","深","難","近","礦","千","週","委","素","技","備","半","辦","青","省","列","習","響","約","支","般","史","感","勞","便","團","往","酸","歷","市","克","何","除","消","構","府","稱","太","準","精","值","號","率","族","維","劃","選","標","寫","存","候","毛","親","快","效","斯","院","查","江","型","眼","王","按","格","養","易","置","派","層","片","始","卻","專","狀","育","廠","京","識","適","屬","圓","包","火","住","調","滿","縣","局","照","參","紅","細","引","聽","該","鐵","價","嚴","首","底","液","官","德","隨","病","蘇","失","爾","死","講","配","女","黃","推","顯","談","罪","神","藝","呢","席","含","企","望","密","批","營","項","防","舉","球","英","氧","勢","告","李","台","落","木","幫","輪","破","亞","師","圍","注","遠","字","材","排","供","河","態","封","另","施","減","樹","溶","怎","止","案","言","士","均","武","固","葉","魚","波","視","僅","費","緊","愛","左","章","早","朝","害","續","輕","服","試","食","充","兵","源","判","護","司","足","某","練","差","致","板","田","降","黑","犯","負","擊","范","繼","興","似","餘","堅","曲","輸","修","故","城","夫","夠","送","筆","船","佔","右","財","吃","富","春","職","覺","漢","畫","功","巴","跟","雖","雜","飛","檢","吸","助","昇","陽","互","初","創","抗","考","投","壞","策","古","徑","換","未","跑","留","鋼","曾","端","責","站","簡","述","錢","副","盡","帝","射","草","衝","承","獨","令","限","阿","宣","環","雙","請","超","微","讓","控","州","良","軸","找","否","紀","益","依","優","頂","礎","載","倒","房","突","坐","粉","敵","略","客","袁","冷","勝","絕","析","塊","劑","測","絲","協","訴","念","陳","仍","羅","鹽","友","洋","錯","苦","夜","刑","移","頻","逐","靠","混","母","短","皮","終","聚","汽","村","雲","哪","既","距","衛","停","烈","央","察","燒","迅","境","若","印","洲","刻","括","激","孔","搞","甚","室","待","核","校","散","侵","吧","甲","遊","久","菜","味","舊","模","湖","貨","損","預","阻","毫","普","穩","乙","媽","植","息","擴","銀","語","揮","酒","守","拿","序","紙","醫","缺","雨","嗎","針","劉","啊","急","唱","誤","訓","願","審","附","獲","茶","鮮","糧","斤","孩","脫","硫","肥","善","龍","演","父","漸","血","歡","械","掌","歌","沙","剛","攻","謂","盾","討","晚","粒","亂","燃","矛","乎","殺","藥","寧","魯","貴","鐘","煤","讀","班","伯","香","介","迫","句","豐","培","握","蘭","擔","弦","蛋","沉","假","穿","執","答","樂","誰","順","煙","縮","徵","臉","喜","松","腳","困","異","免","背","星","福","買","染","井","概","慢","怕","磁","倍","祖","皇","促","靜","補","評","翻","肉","踐","尼","衣","寬","揚","棉","希","傷","操","垂","秋","宜","氫","套","督","振","架","亮","末","憲","慶","編","牛","觸","映","雷","銷","詩","座","居","抓","裂","胞","呼","娘","景","威","綠","晶","厚","盟","衡","雞","孫","延","危","膠","屋","鄉","臨","陸","顧","掉","呀","燈","歲","措","束","耐","劇","玉","趙","跳","哥","季","課","凱","胡","額","款","紹","卷","齊","偉","蒸","殖","永","宗","苗","川","爐","岩","弱","零","楊","奏","沿","露","桿","探","滑","鎮","飯","濃","航","懷","趕","庫","奪","伊","靈","稅","途","滅","賽","歸","召","鼓","播","盤","裁","險","康","唯","錄","菌","純","借","糖","蓋","橫","符","私","努","堂","域","槍","潤","幅","哈","竟","熟","蟲","澤","腦","壤","碳","歐","遍","側","寨","敢","徹","慮","斜","薄","庭","納","彈","飼","伸","折","麥","濕","暗","荷","瓦","塞","床","築","惡","戶","訪","塔","奇","透","梁","刀","旋","跡","卡","氯","遇","份","毒","泥","退","洗","擺","灰","彩","賣","耗","夏","擇","忙","銅","獻","硬","予","繁","圈","雪","函","亦","抽","篇","陣","陰","丁","尺","追","堆","雄","迎","泛","爸","樓","避","謀","噸","野","豬","旗","累","偏","典","館","索","秦","脂","潮","爺","豆","忽","托","驚","塑","遺","愈","朱","替","纖","粗","傾","尚","痛","楚","謝","奮","購","磨","君","池","旁","碎","骨","監","捕","弟","暴","割","貫","殊","釋","詞","亡","壁","頓","寶","午","塵","聞","揭","炮","殘","冬","橋","婦","警","綜","招","吳","付","浮","遭","徐","您","搖","谷","贊","箱","隔","訂","男","吹","園","紛","唐","敗","宋","玻","巨","耕","坦","榮","閉","灣","鍵","凡","駐","鍋","救","恩","剝","凝","鹼","齒","截","煉","麻","紡","禁","廢","盛","版","緩","淨","睛","昌","婚","涉","筒","嘴","插","岸","朗","莊","街","藏","姑","貿","腐","奴","啦","慣","乘","夥","恢","勻","紗","扎","辯","耳","彪","臣","億","璃","抵","脈","秀","薩","俄","網","舞","店","噴","縱","寸","汗","掛","洪","賀","閃","柬","爆","烯","津","稻","牆","軟","勇","像","滾","厘","蒙","芳","肯","坡","柱","盪","腿","儀","旅","尾","軋","冰","貢","登","黎","削","鑽","勒","逃","障","氨","郭","峰","幣","港","伏","軌","畝","畢","擦","莫","刺","浪","秘","援","株","健","售","股","島","甘","泡","睡","童","鑄","湯","閥","休","匯","舍","牧","繞","炸","哲","磷","績","朋","淡","尖","啟","陷","柴","呈","徒","顏","淚","稍","忘","泵","藍","拖","洞","授","鏡","辛","壯","鋒","貧","虛","彎","摩","泰","幼","廷","尊","窗","綱","弄","隸","疑","氏","宮","姐","震","瑞","怪","尤","琴","循","描","膜","違","夾","腰","緣","珠","窮","森","枝","竹","溝","催","繩","憶","邦","剩","幸","漿","欄","擁","牙","貯","禮","濾","鈉","紋","罷","拍","咱","喊","袖","埃","勤","罰","焦","潛","伍","墨","欲","縫","姓","刊","飽","仿","獎","鋁","鬼","麗","跨","默","挖","鏈","掃","喝","袋","炭","污","幕","諸","弧","勵","梅","奶","潔","災","舟","鑑","苯","訟","抱","毀","懂","寒","智","埔","寄","屆","躍","渡","挑","丹","艱","貝","碰","拔","爹","戴","碼","夢","芽","熔","赤","漁","哭","敬","顆","奔","鉛","仲","虎","稀","妹","乏","珍","申","桌","遵","允","隆","螺","倉","魏","銳","曉","氮","兼","隱","礙","赫","撥","忠","肅","缸","牽","搶","博","巧","殼","兄","杜","訊","誠","碧","祥","柯","頁","巡","矩","悲","灌","齡","倫","票","尋","桂","鋪","聖","恐","恰","鄭","趣","抬","荒","騰","貼","柔","滴","猛","闊","輛","妻","填","撤","儲","簽","鬧","擾","紫","砂","遞","戲","吊","陶","伐","餵","療","瓶","婆","撫","臂","摸","忍","蝦","蠟","鄰","胸","鞏","擠","偶","棄","槽","勁","乳","鄧","吉","仁","爛","磚","租","烏","艦","伴","瓜","淺","丙","暫","燥","橡","柳","迷","暖","牌","秧","膽","詳","簧","踏","瓷","譜","呆","賓","糊","洛","輝","憤","競","隙","怒","粘","乃","緒","肩","籍","敏","塗","熙","皆","偵","懸","掘","享","糾","醒","狂","鎖","淀","恨","牲","霸","爬","賞","逆","玩","陵","祝","秒","浙","貌","役","彼","悉","鴨","趨","鳳","晨","畜","輩","秩","卵","署","梯","炎","灘","棋","驅","篩","峽","冒","啥","壽","譯","浸","泉","帽","遲","矽","疆","貸","漏","稿","冠","嫩","脅","芯","牢","叛","蝕","奧","鳴","嶺","羊","憑","串","塘","繪","酵","融","盆","錫","廟","籌","凍","輔","攝","襲","筋","拒","僚","旱","鉀","鳥","漆","沈","眉","疏","添","棒","穗","硝","韓","逼","扭","僑","涼","挺","碗","栽","炒","杯","患","餾","勸","豪","遼","勃","鴻","旦","吏","拜","狗","埋","輥","掩","飲","搬","罵","辭","勾","扣","估","蔣","絨","霧","丈","朵","姆","擬","宇","輯","陝","雕","償","蓄","崇","剪","倡","廳","咬","駛","薯","刷","斥","番","賦","奉","佛","澆","漫","曼","扇","鈣","桃","扶","仔","返","俗","虧","腔","鞋","棱","覆","框","悄","叔","撞","騙","勘","旺","沸","孤","吐","孟","渠","屈","疾","妙","惜","仰","狠","脹","諧","拋","黴","桑","崗","嘛","衰","盜","滲","臟","賴","湧","甜","曹","閱","肌","哩","厲","烴","緯","毅","昨","偽","症","煮","嘆","釘","搭","莖","籠","酷","偷","弓","錐","恆","傑","坑","鼻","翼","綸","敘","獄","逮","罐","絡","棚","抑","膨","蔬","寺","驟","穆","冶","枯","冊","屍","凸","紳","坯","犧","焰","轟","欣","晉","瘦","禦","錠","錦","喪","旬","鍛","壟","搜","撲","邀","亭","酯","邁","舒","脆","酶","閒","憂","酚","頑","羽","漲","卸","仗","陪","闢","懲","杭","姚","肚","捉","飄","漂","昆","欺","吾","郎","烷","汁","呵","飾","蕭","雅","郵","遷","燕","撒","姻","赴","宴","煩","債","帳","斑","鈴","旨","醇","董","餅","雛","姿","拌","傅","腹","妥","揉","賢","拆","歪","葡","胺","丟","浩","徽","昂","墊","擋","覽","貪","慰","繳","汪","慌","馮","諾","姜","誼","兇","劣","誣","耀","昏","躺","盈","騎","喬","溪","叢","盧","抹","悶","諮","刮","駕","纜","悟","摘","鉺","擲","頗","幻","柄","惠","慘","佳","仇","臘","窩","滌","劍","瞧","堡","潑","蔥","罩","霍","撈","胎","蒼","濱","倆","捅","湘","砍","霞","邵","萄","瘋","淮","遂","熊","糞","烘","宿","檔","戈","駁","嫂","裕","徙","箭","捐","腸","撐","曬","辨","殿","蓮","攤","攪","醬","屏","疫","哀","蔡","堵","沫","皺","暢","疊","閣","萊","敲","轄","鉤","痕","壩","巷","餓","禍","丘","玄","溜","曰","邏","彭","嘗","卿","妨","艇","吞","韋","怨","矮","歇"]')},function(e){e.exports=JSON.parse('["가격","가끔","가난","가능","가득","가르침","가뭄","가방","가상","가슴","가운데","가을","가이드","가입","가장","가정","가족","가죽","각오","각자","간격","간부","간섭","간장","간접","간판","갈등","갈비","갈색","갈증","감각","감기","감소","감수성","감자","감정","갑자기","강남","강당","강도","강력히","강변","강북","강사","강수량","강아지","강원도","강의","강제","강조","같이","개구리","개나리","개방","개별","개선","개성","개인","객관적","거실","거액","거울","거짓","거품","걱정","건강","건물","건설","건조","건축","걸음","검사","검토","게시판","게임","겨울","견해","결과","결국","결론","결석","결승","결심","결정","결혼","경계","경고","경기","경력","경복궁","경비","경상도","경영","경우","경쟁","경제","경주","경찰","경치","경향","경험","계곡","계단","계란","계산","계속","계약","계절","계층","계획","고객","고구려","고궁","고급","고등학생","고무신","고민","고양이","고장","고전","고집","고춧가루","고통","고향","곡식","골목","골짜기","골프","공간","공개","공격","공군","공급","공기","공동","공무원","공부","공사","공식","공업","공연","공원","공장","공짜","공책","공통","공포","공항","공휴일","과목","과일","과장","과정","과학","관객","관계","관광","관념","관람","관련","관리","관습","관심","관점","관찰","광경","광고","광장","광주","괴로움","굉장히","교과서","교문","교복","교실","교양","교육","교장","교직","교통","교환","교훈","구경","구름","구멍","구별","구분","구석","구성","구속","구역","구입","구청","구체적","국가","국기","국내","국립","국물","국민","국수","국어","국왕","국적","국제","국회","군대","군사","군인","궁극적","권리","권위","권투","귀국","귀신","규정","규칙","균형","그날","그냥","그늘","그러나","그룹","그릇","그림","그제서야","그토록","극복","극히","근거","근교","근래","근로","근무","근본","근원","근육","근처","글씨","글자","금강산","금고","금년","금메달","금액","금연","금요일","금지","긍정적","기간","기관","기념","기능","기독교","기둥","기록","기름","기법","기본","기분","기쁨","기숙사","기술","기억","기업","기온","기운","기원","기적","기준","기침","기혼","기획","긴급","긴장","길이","김밥","김치","김포공항","깍두기","깜빡","깨달음","깨소금","껍질","꼭대기","꽃잎","나들이","나란히","나머지","나물","나침반","나흘","낙엽","난방","날개","날씨","날짜","남녀","남대문","남매","남산","남자","남편","남학생","낭비","낱말","내년","내용","내일","냄비","냄새","냇물","냉동","냉면","냉방","냉장고","넥타이","넷째","노동","노란색","노력","노인","녹음","녹차","녹화","논리","논문","논쟁","놀이","농구","농담","농민","농부","농업","농장","농촌","높이","눈동자","눈물","눈썹","뉴욕","느낌","늑대","능동적","능력","다방","다양성","다음","다이어트","다행","단계","단골","단독","단맛","단순","단어","단위","단점","단체","단추","단편","단풍","달걀","달러","달력","달리","닭고기","담당","담배","담요","담임","답변","답장","당근","당분간","당연히","당장","대규모","대낮","대단히","대답","대도시","대략","대량","대륙","대문","대부분","대신","대응","대장","대전","대접","대중","대책","대출","대충","대통령","대학","대한민국","대합실","대형","덩어리","데이트","도대체","도덕","도둑","도망","도서관","도심","도움","도입","도자기","도저히","도전","도중","도착","독감","독립","독서","독일","독창적","동화책","뒷모습","뒷산","딸아이","마누라","마늘","마당","마라톤","마련","마무리","마사지","마약","마요네즈","마을","마음","마이크","마중","마지막","마찬가지","마찰","마흔","막걸리","막내","막상","만남","만두","만세","만약","만일","만점","만족","만화","많이","말기","말씀","말투","맘대로","망원경","매년","매달","매력","매번","매스컴","매일","매장","맥주","먹이","먼저","먼지","멀리","메일","며느리","며칠","면담","멸치","명단","명령","명예","명의","명절","명칭","명함","모금","모니터","모델","모든","모범","모습","모양","모임","모조리","모집","모퉁이","목걸이","목록","목사","목소리","목숨","목적","목표","몰래","몸매","몸무게","몸살","몸속","몸짓","몸통","몹시","무관심","무궁화","무더위","무덤","무릎","무슨","무엇","무역","무용","무조건","무지개","무척","문구","문득","문법","문서","문제","문학","문화","물가","물건","물결","물고기","물론","물리학","물음","물질","물체","미국","미디어","미사일","미술","미역","미용실","미움","미인","미팅","미혼","민간","민족","민주","믿음","밀가루","밀리미터","밑바닥","바가지","바구니","바나나","바늘","바닥","바닷가","바람","바이러스","바탕","박물관","박사","박수","반대","반드시","반말","반발","반성","반응","반장","반죽","반지","반찬","받침","발가락","발걸음","발견","발달","발레","발목","발바닥","발생","발음","발자국","발전","발톱","발표","밤하늘","밥그릇","밥맛","밥상","밥솥","방금","방면","방문","방바닥","방법","방송","방식","방안","방울","방지","방학","방해","방향","배경","배꼽","배달","배드민턴","백두산","백색","백성","백인","백제","백화점","버릇","버섯","버튼","번개","번역","번지","번호","벌금","벌레","벌써","범위","범인","범죄","법률","법원","법적","법칙","베이징","벨트","변경","변동","변명","변신","변호사","변화","별도","별명","별일","병실","병아리","병원","보관","보너스","보라색","보람","보름","보상","보안","보자기","보장","보전","보존","보통","보편적","보험","복도","복사","복숭아","복습","볶음","본격적","본래","본부","본사","본성","본인","본질","볼펜","봉사","봉지","봉투","부근","부끄러움","부담","부동산","부문","부분","부산","부상","부엌","부인","부작용","부장","부정","부족","부지런히","부친","부탁","부품","부회장","북부","북한","분노","분량","분리","분명","분석","분야","분위기","분필","분홍색","불고기","불과","불교","불꽃","불만","불법","불빛","불안","불이익","불행","브랜드","비극","비난","비닐","비둘기","비디오","비로소","비만","비명","비밀","비바람","비빔밥","비상","비용","비율","비중","비타민","비판","빌딩","빗물","빗방울","빗줄기","빛깔","빨간색","빨래","빨리","사건","사계절","사나이","사냥","사람","사랑","사립","사모님","사물","사방","사상","사생활","사설","사슴","사실","사업","사용","사월","사장","사전","사진","사촌","사춘기","사탕","사투리","사흘","산길","산부인과","산업","산책","살림","살인","살짝","삼계탕","삼국","삼십","삼월","삼촌","상관","상금","상대","상류","상반기","상상","상식","상업","상인","상자","상점","상처","상추","상태","상표","상품","상황","새벽","색깔","색연필","생각","생명","생물","생방송","생산","생선","생신","생일","생활","서랍","서른","서명","서민","서비스","서양","서울","서적","서점","서쪽","서클","석사","석유","선거","선물","선배","선생","선수","선원","선장","선전","선택","선풍기","설거지","설날","설렁탕","설명","설문","설사","설악산","설치","설탕","섭씨","성공","성당","성명","성별","성인","성장","성적","성질","성함","세금","세미나","세상","세월","세종대왕","세탁","센터","센티미터","셋째","소규모","소극적","소금","소나기","소년","소득","소망","소문","소설","소속","소아과","소용","소원","소음","소중히","소지품","소질","소풍","소형","속담","속도","속옷","손가락","손길","손녀","손님","손등","손목","손뼉","손실","손질","손톱","손해","솔직히","솜씨","송아지","송이","송편","쇠고기","쇼핑","수건","수년","수단","수돗물","수동적","수면","수명","수박","수상","수석","수술","수시로","수업","수염","수영","수입","수준","수집","수출","수컷","수필","수학","수험생","수화기","숙녀","숙소","숙제","순간","순서","순수","순식간","순위","숟가락","술병","술집","숫자","스님","스물","스스로","스승","스웨터","스위치","스케이트","스튜디오","스트레스","스포츠","슬쩍","슬픔","습관","습기","승객","승리","승부","승용차","승진","시각","시간","시골","시금치","시나리오","시댁","시리즈","시멘트","시민","시부모","시선","시설","시스템","시아버지","시어머니","시월","시인","시일","시작","시장","시절","시점","시중","시즌","시집","시청","시합","시험","식구","식기","식당","식량","식료품","식물","식빵","식사","식생활","식초","식탁","식품","신고","신규","신념","신문","신발","신비","신사","신세","신용","신제품","신청","신체","신화","실감","실내","실력","실례","실망","실수","실습","실시","실장","실정","실질적","실천","실체","실컷","실태","실패","실험","실현","심리","심부름","심사","심장","심정","심판","쌍둥이","씨름","씨앗","아가씨","아나운서","아드님","아들","아쉬움","아스팔트","아시아","아울러","아저씨","아줌마","아직","아침","아파트","아프리카","아픔","아홉","아흔","악기","악몽","악수","안개","안경","안과","안내","안녕","안동","안방","안부","안주","알루미늄","알코올","암시","암컷","압력","앞날","앞문","애인","애정","액수","앨범","야간","야단","야옹","약간","약국","약속","약수","약점","약품","약혼녀","양념","양력","양말","양배추","양주","양파","어둠","어려움","어른","어젯밤","어쨌든","어쩌다가","어쩐지","언니","언덕","언론","언어","얼굴","얼른","얼음","얼핏","엄마","업무","업종","업체","엉덩이","엉망","엉터리","엊그제","에너지","에어컨","엔진","여건","여고생","여관","여군","여권","여대생","여덟","여동생","여든","여론","여름","여섯","여성","여왕","여인","여전히","여직원","여학생","여행","역사","역시","역할","연결","연구","연극","연기","연락","연설","연세","연속","연습","연애","연예인","연인","연장","연주","연출","연필","연합","연휴","열기","열매","열쇠","열심히","열정","열차","열흘","염려","엽서","영국","영남","영상","영양","영역","영웅","영원히","영하","영향","영혼","영화","옆구리","옆방","옆집","예감","예금","예방","예산","예상","예선","예술","예습","예식장","예약","예전","예절","예정","예컨대","옛날","오늘","오락","오랫동안","오렌지","오로지","오른발","오븐","오십","오염","오월","오전","오직","오징어","오페라","오피스텔","오히려","옥상","옥수수","온갖","온라인","온몸","온종일","온통","올가을","올림픽","올해","옷차림","와이셔츠","와인","완성","완전","왕비","왕자","왜냐하면","왠지","외갓집","외국","외로움","외삼촌","외출","외침","외할머니","왼발","왼손","왼쪽","요금","요일","요즘","요청","용기","용서","용어","우산","우선","우승","우연히","우정","우체국","우편","운동","운명","운반","운전","운행","울산","울음","움직임","웃어른","웃음","워낙","원고","원래","원서","원숭이","원인","원장","원피스","월급","월드컵","월세","월요일","웨이터","위반","위법","위성","위원","위험","위협","윗사람","유난히","유럽","유명","유물","유산","유적","유치원","유학","유행","유형","육군","육상","육십","육체","은행","음력","음료","음반","음성","음식","음악","음주","의견","의논","의문","의복","의식","의심","의외로","의욕","의원","의학","이것","이곳","이념","이놈","이달","이대로","이동","이렇게","이력서","이론적","이름","이민","이발소","이별","이불","이빨","이상","이성","이슬","이야기","이용","이웃","이월","이윽고","이익","이전","이중","이튿날","이틀","이혼","인간","인격","인공","인구","인근","인기","인도","인류","인물","인생","인쇄","인연","인원","인재","인종","인천","인체","인터넷","인하","인형","일곱","일기","일단","일대","일등","일반","일본","일부","일상","일생","일손","일요일","일월","일정","일종","일주일","일찍","일체","일치","일행","일회용","임금","임무","입대","입력","입맛","입사","입술","입시","입원","입장","입학","자가용","자격","자극","자동","자랑","자부심","자식","자신","자연","자원","자율","자전거","자정","자존심","자판","작가","작년","작성","작업","작용","작은딸","작품","잔디","잔뜩","잔치","잘못","잠깐","잠수함","잠시","잠옷","잠자리","잡지","장관","장군","장기간","장래","장례","장르","장마","장면","장모","장미","장비","장사","장소","장식","장애인","장인","장점","장차","장학금","재능","재빨리","재산","재생","재작년","재정","재채기","재판","재학","재활용","저것","저고리","저곳","저녁","저런","저렇게","저번","저울","저절로","저축","적극","적당히","적성","적용","적응","전개","전공","전기","전달","전라도","전망","전문","전반","전부","전세","전시","전용","전자","전쟁","전주","전철","전체","전통","전혀","전후","절대","절망","절반","절약","절차","점검","점수","점심","점원","점점","점차","접근","접시","접촉","젓가락","정거장","정도","정류장","정리","정말","정면","정문","정반대","정보","정부","정비","정상","정성","정오","정원","정장","정지","정치","정확히","제공","제과점","제대로","제목","제발","제법","제삿날","제안","제일","제작","제주도","제출","제품","제한","조각","조건","조금","조깅","조명","조미료","조상","조선","조용히","조절","조정","조직","존댓말","존재","졸업","졸음","종교","종로","종류","종소리","종업원","종종","종합","좌석","죄인","주관적","주름","주말","주머니","주먹","주문","주민","주방","주변","주식","주인","주일","주장","주전자","주택","준비","줄거리","줄기","줄무늬","중간","중계방송","중국","중년","중단","중독","중반","중부","중세","중소기업","중순","중앙","중요","중학교","즉석","즉시","즐거움","증가","증거","증권","증상","증세","지각","지갑","지경","지극히","지금","지급","지능","지름길","지리산","지방","지붕","지식","지역","지우개","지원","지적","지점","지진","지출","직선","직업","직원","직장","진급","진동","진로","진료","진리","진짜","진찰","진출","진통","진행","질문","질병","질서","짐작","집단","집안","집중","짜증","찌꺼기","차남","차라리","차량","차림","차별","차선","차츰","착각","찬물","찬성","참가","참기름","참새","참석","참여","참외","참조","찻잔","창가","창고","창구","창문","창밖","창작","창조","채널","채점","책가방","책방","책상","책임","챔피언","처벌","처음","천국","천둥","천장","천재","천천히","철도","철저히","철학","첫날","첫째","청년","청바지","청소","청춘","체계","체력","체온","체육","체중","체험","초등학생","초반","초밥","초상화","초순","초여름","초원","초저녁","초점","초청","초콜릿","촛불","총각","총리","총장","촬영","최근","최상","최선","최신","최악","최종","추석","추억","추진","추천","추측","축구","축소","축제","축하","출근","출발","출산","출신","출연","출입","출장","출판","충격","충고","충돌","충분히","충청도","취업","취직","취향","치약","친구","친척","칠십","칠월","칠판","침대","침묵","침실","칫솔","칭찬","카메라","카운터","칼국수","캐릭터","캠퍼스","캠페인","커튼","컨디션","컬러","컴퓨터","코끼리","코미디","콘서트","콜라","콤플렉스","콩나물","쾌감","쿠데타","크림","큰길","큰딸","큰소리","큰아들","큰어머니","큰일","큰절","클래식","클럽","킬로","타입","타자기","탁구","탁자","탄생","태권도","태양","태풍","택시","탤런트","터널","터미널","테니스","테스트","테이블","텔레비전","토론","토마토","토요일","통계","통과","통로","통신","통역","통일","통장","통제","통증","통합","통화","퇴근","퇴원","퇴직금","튀김","트럭","특급","특별","특성","특수","특징","특히","튼튼히","티셔츠","파란색","파일","파출소","판결","판단","판매","판사","팔십","팔월","팝송","패션","팩스","팩시밀리","팬티","퍼센트","페인트","편견","편의","편지","편히","평가","평균","평생","평소","평양","평일","평화","포스터","포인트","포장","포함","표면","표정","표준","표현","품목","품질","풍경","풍속","풍습","프랑스","프린터","플라스틱","피곤","피망","피아노","필름","필수","필요","필자","필통","핑계","하느님","하늘","하드웨어","하룻밤","하반기","하숙집","하순","하여튼","하지만","하천","하품","하필","학과","학교","학급","학기","학년","학력","학번","학부모","학비","학생","학술","학습","학용품","학원","학위","학자","학점","한계","한글","한꺼번에","한낮","한눈","한동안","한때","한라산","한마디","한문","한번","한복","한식","한여름","한쪽","할머니","할아버지","할인","함께","함부로","합격","합리적","항공","항구","항상","항의","해결","해군","해답","해당","해물","해석","해설","해수욕장","해안","핵심","핸드백","햄버거","햇볕","햇살","행동","행복","행사","행운","행위","향기","향상","향수","허락","허용","헬기","현관","현금","현대","현상","현실","현장","현재","현지","혈액","협력","형부","형사","형수","형식","형제","형태","형편","혜택","호기심","호남","호랑이","호박","호텔","호흡","혹시","홀로","홈페이지","홍보","홍수","홍차","화면","화분","화살","화요일","화장","화학","확보","확인","확장","확정","환갑","환경","환영","환율","환자","활기","활동","활발히","활용","활짝","회견","회관","회복","회색","회원","회장","회전","횟수","횡단보도","효율적","후반","후춧가루","훈련","훨씬","휴식","휴일","흉내","흐름","흑백","흑인","흔적","흔히","흥미","흥분","희곡","희망","희생","흰색","힘껏"]')},function(e){e.exports=JSON.parse('["abaisser","abandon","abdiquer","abeille","abolir","aborder","aboutir","aboyer","abrasif","abreuver","abriter","abroger","abrupt","absence","absolu","absurde","abusif","abyssal","académie","acajou","acarien","accabler","accepter","acclamer","accolade","accroche","accuser","acerbe","achat","acheter","aciduler","acier","acompte","acquérir","acronyme","acteur","actif","actuel","adepte","adéquat","adhésif","adjectif","adjuger","admettre","admirer","adopter","adorer","adoucir","adresse","adroit","adulte","adverbe","aérer","aéronef","affaire","affecter","affiche","affreux","affubler","agacer","agencer","agile","agiter","agrafer","agréable","agrume","aider","aiguille","ailier","aimable","aisance","ajouter","ajuster","alarmer","alchimie","alerte","algèbre","algue","aliéner","aliment","alléger","alliage","allouer","allumer","alourdir","alpaga","altesse","alvéole","amateur","ambigu","ambre","aménager","amertume","amidon","amiral","amorcer","amour","amovible","amphibie","ampleur","amusant","analyse","anaphore","anarchie","anatomie","ancien","anéantir","angle","angoisse","anguleux","animal","annexer","annonce","annuel","anodin","anomalie","anonyme","anormal","antenne","antidote","anxieux","apaiser","apéritif","aplanir","apologie","appareil","appeler","apporter","appuyer","aquarium","aqueduc","arbitre","arbuste","ardeur","ardoise","argent","arlequin","armature","armement","armoire","armure","arpenter","arracher","arriver","arroser","arsenic","artériel","article","aspect","asphalte","aspirer","assaut","asservir","assiette","associer","assurer","asticot","astre","astuce","atelier","atome","atrium","atroce","attaque","attentif","attirer","attraper","aubaine","auberge","audace","audible","augurer","aurore","automne","autruche","avaler","avancer","avarice","avenir","averse","aveugle","aviateur","avide","avion","aviser","avoine","avouer","avril","axial","axiome","badge","bafouer","bagage","baguette","baignade","balancer","balcon","baleine","balisage","bambin","bancaire","bandage","banlieue","bannière","banquier","barbier","baril","baron","barque","barrage","bassin","bastion","bataille","bateau","batterie","baudrier","bavarder","belette","bélier","belote","bénéfice","berceau","berger","berline","bermuda","besace","besogne","bétail","beurre","biberon","bicycle","bidule","bijou","bilan","bilingue","billard","binaire","biologie","biopsie","biotype","biscuit","bison","bistouri","bitume","bizarre","blafard","blague","blanchir","blessant","blinder","blond","bloquer","blouson","bobard","bobine","boire","boiser","bolide","bonbon","bondir","bonheur","bonifier","bonus","bordure","borne","botte","boucle","boueux","bougie","boulon","bouquin","bourse","boussole","boutique","boxeur","branche","brasier","brave","brebis","brèche","breuvage","bricoler","brigade","brillant","brioche","brique","brochure","broder","bronzer","brousse","broyeur","brume","brusque","brutal","bruyant","buffle","buisson","bulletin","bureau","burin","bustier","butiner","butoir","buvable","buvette","cabanon","cabine","cachette","cadeau","cadre","caféine","caillou","caisson","calculer","calepin","calibre","calmer","calomnie","calvaire","camarade","caméra","camion","campagne","canal","caneton","canon","cantine","canular","capable","caporal","caprice","capsule","capter","capuche","carabine","carbone","caresser","caribou","carnage","carotte","carreau","carton","cascade","casier","casque","cassure","causer","caution","cavalier","caverne","caviar","cédille","ceinture","céleste","cellule","cendrier","censurer","central","cercle","cérébral","cerise","cerner","cerveau","cesser","chagrin","chaise","chaleur","chambre","chance","chapitre","charbon","chasseur","chaton","chausson","chavirer","chemise","chenille","chéquier","chercher","cheval","chien","chiffre","chignon","chimère","chiot","chlorure","chocolat","choisir","chose","chouette","chrome","chute","cigare","cigogne","cimenter","cinéma","cintrer","circuler","cirer","cirque","citerne","citoyen","citron","civil","clairon","clameur","claquer","classe","clavier","client","cligner","climat","clivage","cloche","clonage","cloporte","cobalt","cobra","cocasse","cocotier","coder","codifier","coffre","cogner","cohésion","coiffer","coincer","colère","colibri","colline","colmater","colonel","combat","comédie","commande","compact","concert","conduire","confier","congeler","connoter","consonne","contact","convexe","copain","copie","corail","corbeau","cordage","corniche","corpus","correct","cortège","cosmique","costume","coton","coude","coupure","courage","couteau","couvrir","coyote","crabe","crainte","cravate","crayon","créature","créditer","crémeux","creuser","crevette","cribler","crier","cristal","critère","croire","croquer","crotale","crucial","cruel","crypter","cubique","cueillir","cuillère","cuisine","cuivre","culminer","cultiver","cumuler","cupide","curatif","curseur","cyanure","cycle","cylindre","cynique","daigner","damier","danger","danseur","dauphin","débattre","débiter","déborder","débrider","débutant","décaler","décembre","déchirer","décider","déclarer","décorer","décrire","décupler","dédale","déductif","déesse","défensif","défiler","défrayer","dégager","dégivrer","déglutir","dégrafer","déjeuner","délice","déloger","demander","demeurer","démolir","dénicher","dénouer","dentelle","dénuder","départ","dépenser","déphaser","déplacer","déposer","déranger","dérober","désastre","descente","désert","désigner","désobéir","dessiner","destrier","détacher","détester","détourer","détresse","devancer","devenir","deviner","devoir","diable","dialogue","diamant","dicter","différer","digérer","digital","digne","diluer","dimanche","diminuer","dioxyde","directif","diriger","discuter","disposer","dissiper","distance","divertir","diviser","docile","docteur","dogme","doigt","domaine","domicile","dompter","donateur","donjon","donner","dopamine","dortoir","dorure","dosage","doseur","dossier","dotation","douanier","double","douceur","douter","doyen","dragon","draper","dresser","dribbler","droiture","duperie","duplexe","durable","durcir","dynastie","éblouir","écarter","écharpe","échelle","éclairer","éclipse","éclore","écluse","école","économie","écorce","écouter","écraser","écrémer","écrivain","écrou","écume","écureuil","édifier","éduquer","effacer","effectif","effigie","effort","effrayer","effusion","égaliser","égarer","éjecter","élaborer","élargir","électron","élégant","éléphant","élève","éligible","élitisme","éloge","élucider","éluder","emballer","embellir","embryon","émeraude","émission","emmener","émotion","émouvoir","empereur","employer","emporter","emprise","émulsion","encadrer","enchère","enclave","encoche","endiguer","endosser","endroit","enduire","énergie","enfance","enfermer","enfouir","engager","engin","englober","énigme","enjamber","enjeu","enlever","ennemi","ennuyeux","enrichir","enrobage","enseigne","entasser","entendre","entier","entourer","entraver","énumérer","envahir","enviable","envoyer","enzyme","éolien","épaissir","épargne","épatant","épaule","épicerie","épidémie","épier","épilogue","épine","épisode","épitaphe","époque","épreuve","éprouver","épuisant","équerre","équipe","ériger","érosion","erreur","éruption","escalier","espadon","espèce","espiègle","espoir","esprit","esquiver","essayer","essence","essieu","essorer","estime","estomac","estrade","étagère","étaler","étanche","étatique","éteindre","étendoir","éternel","éthanol","éthique","ethnie","étirer","étoffer","étoile","étonnant","étourdir","étrange","étroit","étude","euphorie","évaluer","évasion","éventail","évidence","éviter","évolutif","évoquer","exact","exagérer","exaucer","exceller","excitant","exclusif","excuse","exécuter","exemple","exercer","exhaler","exhorter","exigence","exiler","exister","exotique","expédier","explorer","exposer","exprimer","exquis","extensif","extraire","exulter","fable","fabuleux","facette","facile","facture","faiblir","falaise","fameux","famille","farceur","farfelu","farine","farouche","fasciner","fatal","fatigue","faucon","fautif","faveur","favori","fébrile","féconder","fédérer","félin","femme","fémur","fendoir","féodal","fermer","féroce","ferveur","festival","feuille","feutre","février","fiasco","ficeler","fictif","fidèle","figure","filature","filetage","filière","filleul","filmer","filou","filtrer","financer","finir","fiole","firme","fissure","fixer","flairer","flamme","flasque","flatteur","fléau","flèche","fleur","flexion","flocon","flore","fluctuer","fluide","fluvial","folie","fonderie","fongible","fontaine","forcer","forgeron","formuler","fortune","fossile","foudre","fougère","fouiller","foulure","fourmi","fragile","fraise","franchir","frapper","frayeur","frégate","freiner","frelon","frémir","frénésie","frère","friable","friction","frisson","frivole","froid","fromage","frontal","frotter","fruit","fugitif","fuite","fureur","furieux","furtif","fusion","futur","gagner","galaxie","galerie","gambader","garantir","gardien","garnir","garrigue","gazelle","gazon","géant","gélatine","gélule","gendarme","général","génie","genou","gentil","géologie","géomètre","géranium","germe","gestuel","geyser","gibier","gicler","girafe","givre","glace","glaive","glisser","globe","gloire","glorieux","golfeur","gomme","gonfler","gorge","gorille","goudron","gouffre","goulot","goupille","gourmand","goutte","graduel","graffiti","graine","grand","grappin","gratuit","gravir","grenat","griffure","griller","grimper","grogner","gronder","grotte","groupe","gruger","grutier","gruyère","guépard","guerrier","guide","guimauve","guitare","gustatif","gymnaste","gyrostat","habitude","hachoir","halte","hameau","hangar","hanneton","haricot","harmonie","harpon","hasard","hélium","hématome","herbe","hérisson","hermine","héron","hésiter","heureux","hiberner","hibou","hilarant","histoire","hiver","homard","hommage","homogène","honneur","honorer","honteux","horde","horizon","horloge","hormone","horrible","houleux","housse","hublot","huileux","humain","humble","humide","humour","hurler","hydromel","hygiène","hymne","hypnose","idylle","ignorer","iguane","illicite","illusion","image","imbiber","imiter","immense","immobile","immuable","impact","impérial","implorer","imposer","imprimer","imputer","incarner","incendie","incident","incliner","incolore","indexer","indice","inductif","inédit","ineptie","inexact","infini","infliger","informer","infusion","ingérer","inhaler","inhiber","injecter","injure","innocent","inoculer","inonder","inscrire","insecte","insigne","insolite","inspirer","instinct","insulter","intact","intense","intime","intrigue","intuitif","inutile","invasion","inventer","inviter","invoquer","ironique","irradier","irréel","irriter","isoler","ivoire","ivresse","jaguar","jaillir","jambe","janvier","jardin","jauger","jaune","javelot","jetable","jeton","jeudi","jeunesse","joindre","joncher","jongler","joueur","jouissif","journal","jovial","joyau","joyeux","jubiler","jugement","junior","jupon","juriste","justice","juteux","juvénile","kayak","kimono","kiosque","label","labial","labourer","lacérer","lactose","lagune","laine","laisser","laitier","lambeau","lamelle","lampe","lanceur","langage","lanterne","lapin","largeur","larme","laurier","lavabo","lavoir","lecture","légal","léger","légume","lessive","lettre","levier","lexique","lézard","liasse","libérer","libre","licence","licorne","liège","lièvre","ligature","ligoter","ligue","limer","limite","limonade","limpide","linéaire","lingot","lionceau","liquide","lisière","lister","lithium","litige","littoral","livreur","logique","lointain","loisir","lombric","loterie","louer","lourd","loutre","louve","loyal","lubie","lucide","lucratif","lueur","lugubre","luisant","lumière","lunaire","lundi","luron","lutter","luxueux","machine","magasin","magenta","magique","maigre","maillon","maintien","mairie","maison","majorer","malaxer","maléfice","malheur","malice","mallette","mammouth","mandater","maniable","manquant","manteau","manuel","marathon","marbre","marchand","mardi","maritime","marqueur","marron","marteler","mascotte","massif","matériel","matière","matraque","maudire","maussade","mauve","maximal","méchant","méconnu","médaille","médecin","méditer","méduse","meilleur","mélange","mélodie","membre","mémoire","menacer","mener","menhir","mensonge","mentor","mercredi","mérite","merle","messager","mesure","métal","météore","méthode","métier","meuble","miauler","microbe","miette","mignon","migrer","milieu","million","mimique","mince","minéral","minimal","minorer","minute","miracle","miroiter","missile","mixte","mobile","moderne","moelleux","mondial","moniteur","monnaie","monotone","monstre","montagne","monument","moqueur","morceau","morsure","mortier","moteur","motif","mouche","moufle","moulin","mousson","mouton","mouvant","multiple","munition","muraille","murène","murmure","muscle","muséum","musicien","mutation","muter","mutuel","myriade","myrtille","mystère","mythique","nageur","nappe","narquois","narrer","natation","nation","nature","naufrage","nautique","navire","nébuleux","nectar","néfaste","négation","négliger","négocier","neige","nerveux","nettoyer","neurone","neutron","neveu","niche","nickel","nitrate","niveau","noble","nocif","nocturne","noirceur","noisette","nomade","nombreux","nommer","normatif","notable","notifier","notoire","nourrir","nouveau","novateur","novembre","novice","nuage","nuancer","nuire","nuisible","numéro","nuptial","nuque","nutritif","obéir","objectif","obliger","obscur","observer","obstacle","obtenir","obturer","occasion","occuper","océan","octobre","octroyer","octupler","oculaire","odeur","odorant","offenser","officier","offrir","ogive","oiseau","oisillon","olfactif","olivier","ombrage","omettre","onctueux","onduler","onéreux","onirique","opale","opaque","opérer","opinion","opportun","opprimer","opter","optique","orageux","orange","orbite","ordonner","oreille","organe","orgueil","orifice","ornement","orque","ortie","osciller","osmose","ossature","otarie","ouragan","ourson","outil","outrager","ouvrage","ovation","oxyde","oxygène","ozone","paisible","palace","palmarès","palourde","palper","panache","panda","pangolin","paniquer","panneau","panorama","pantalon","papaye","papier","papoter","papyrus","paradoxe","parcelle","paresse","parfumer","parler","parole","parrain","parsemer","partager","parure","parvenir","passion","pastèque","paternel","patience","patron","pavillon","pavoiser","payer","paysage","peigne","peintre","pelage","pélican","pelle","pelouse","peluche","pendule","pénétrer","pénible","pensif","pénurie","pépite","péplum","perdrix","perforer","période","permuter","perplexe","persil","perte","peser","pétale","petit","pétrir","peuple","pharaon","phobie","phoque","photon","phrase","physique","piano","pictural","pièce","pierre","pieuvre","pilote","pinceau","pipette","piquer","pirogue","piscine","piston","pivoter","pixel","pizza","placard","plafond","plaisir","planer","plaque","plastron","plateau","pleurer","plexus","pliage","plomb","plonger","pluie","plumage","pochette","poésie","poète","pointe","poirier","poisson","poivre","polaire","policier","pollen","polygone","pommade","pompier","ponctuel","pondérer","poney","portique","position","posséder","posture","potager","poteau","potion","pouce","poulain","poumon","pourpre","poussin","pouvoir","prairie","pratique","précieux","prédire","préfixe","prélude","prénom","présence","prétexte","prévoir","primitif","prince","prison","priver","problème","procéder","prodige","profond","progrès","proie","projeter","prologue","promener","propre","prospère","protéger","prouesse","proverbe","prudence","pruneau","psychose","public","puceron","puiser","pulpe","pulsar","punaise","punitif","pupitre","purifier","puzzle","pyramide","quasar","querelle","question","quiétude","quitter","quotient","racine","raconter","radieux","ragondin","raideur","raisin","ralentir","rallonge","ramasser","rapide","rasage","ratisser","ravager","ravin","rayonner","réactif","réagir","réaliser","réanimer","recevoir","réciter","réclamer","récolter","recruter","reculer","recycler","rédiger","redouter","refaire","réflexe","réformer","refrain","refuge","régalien","région","réglage","régulier","réitérer","rejeter","rejouer","relatif","relever","relief","remarque","remède","remise","remonter","remplir","remuer","renard","renfort","renifler","renoncer","rentrer","renvoi","replier","reporter","reprise","reptile","requin","réserve","résineux","résoudre","respect","rester","résultat","rétablir","retenir","réticule","retomber","retracer","réunion","réussir","revanche","revivre","révolte","révulsif","richesse","rideau","rieur","rigide","rigoler","rincer","riposter","risible","risque","rituel","rival","rivière","rocheux","romance","rompre","ronce","rondin","roseau","rosier","rotatif","rotor","rotule","rouge","rouille","rouleau","routine","royaume","ruban","rubis","ruche","ruelle","rugueux","ruiner","ruisseau","ruser","rustique","rythme","sabler","saboter","sabre","sacoche","safari","sagesse","saisir","salade","salive","salon","saluer","samedi","sanction","sanglier","sarcasme","sardine","saturer","saugrenu","saumon","sauter","sauvage","savant","savonner","scalpel","scandale","scélérat","scénario","sceptre","schéma","science","scinder","score","scrutin","sculpter","séance","sécable","sécher","secouer","sécréter","sédatif","séduire","seigneur","séjour","sélectif","semaine","sembler","semence","séminal","sénateur","sensible","sentence","séparer","séquence","serein","sergent","sérieux","serrure","sérum","service","sésame","sévir","sevrage","sextuple","sidéral","siècle","siéger","siffler","sigle","signal","silence","silicium","simple","sincère","sinistre","siphon","sirop","sismique","situer","skier","social","socle","sodium","soigneux","soldat","soleil","solitude","soluble","sombre","sommeil","somnoler","sonde","songeur","sonnette","sonore","sorcier","sortir","sosie","sottise","soucieux","soudure","souffle","soulever","soupape","source","soutirer","souvenir","spacieux","spatial","spécial","sphère","spiral","stable","station","sternum","stimulus","stipuler","strict","studieux","stupeur","styliste","sublime","substrat","subtil","subvenir","succès","sucre","suffixe","suggérer","suiveur","sulfate","superbe","supplier","surface","suricate","surmener","surprise","sursaut","survie","suspect","syllabe","symbole","symétrie","synapse","syntaxe","système","tabac","tablier","tactile","tailler","talent","talisman","talonner","tambour","tamiser","tangible","tapis","taquiner","tarder","tarif","tartine","tasse","tatami","tatouage","taupe","taureau","taxer","témoin","temporel","tenaille","tendre","teneur","tenir","tension","terminer","terne","terrible","tétine","texte","thème","théorie","thérapie","thorax","tibia","tiède","timide","tirelire","tiroir","tissu","titane","titre","tituber","toboggan","tolérant","tomate","tonique","tonneau","toponyme","torche","tordre","tornade","torpille","torrent","torse","tortue","totem","toucher","tournage","tousser","toxine","traction","trafic","tragique","trahir","train","trancher","travail","trèfle","tremper","trésor","treuil","triage","tribunal","tricoter","trilogie","triomphe","tripler","triturer","trivial","trombone","tronc","tropical","troupeau","tuile","tulipe","tumulte","tunnel","turbine","tuteur","tutoyer","tuyau","tympan","typhon","typique","tyran","ubuesque","ultime","ultrason","unanime","unifier","union","unique","unitaire","univers","uranium","urbain","urticant","usage","usine","usuel","usure","utile","utopie","vacarme","vaccin","vagabond","vague","vaillant","vaincre","vaisseau","valable","valise","vallon","valve","vampire","vanille","vapeur","varier","vaseux","vassal","vaste","vecteur","vedette","végétal","véhicule","veinard","véloce","vendredi","vénérer","venger","venimeux","ventouse","verdure","vérin","vernir","verrou","verser","vertu","veston","vétéran","vétuste","vexant","vexer","viaduc","viande","victoire","vidange","vidéo","vignette","vigueur","vilain","village","vinaigre","violon","vipère","virement","virtuose","virus","visage","viseur","vision","visqueux","visuel","vital","vitesse","viticole","vitrine","vivace","vivipare","vocation","voguer","voile","voisin","voiture","volaille","volcan","voltiger","volume","vorace","vortex","voter","vouloir","voyage","voyelle","wagon","xénon","yacht","zèbre","zénith","zeste","zoologie"]')},function(e){e.exports=JSON.parse('["abaco","abbaglio","abbinato","abete","abisso","abolire","abrasivo","abrogato","accadere","accenno","accusato","acetone","achille","acido","acqua","acre","acrilico","acrobata","acuto","adagio","addebito","addome","adeguato","aderire","adipe","adottare","adulare","affabile","affetto","affisso","affranto","aforisma","afoso","africano","agave","agente","agevole","aggancio","agire","agitare","agonismo","agricolo","agrumeto","aguzzo","alabarda","alato","albatro","alberato","albo","albume","alce","alcolico","alettone","alfa","algebra","aliante","alibi","alimento","allagato","allegro","allievo","allodola","allusivo","almeno","alogeno","alpaca","alpestre","altalena","alterno","alticcio","altrove","alunno","alveolo","alzare","amalgama","amanita","amarena","ambito","ambrato","ameba","america","ametista","amico","ammasso","ammenda","ammirare","ammonito","amore","ampio","ampliare","amuleto","anacardo","anagrafe","analista","anarchia","anatra","anca","ancella","ancora","andare","andrea","anello","angelo","angolare","angusto","anima","annegare","annidato","anno","annuncio","anonimo","anticipo","anzi","apatico","apertura","apode","apparire","appetito","appoggio","approdo","appunto","aprile","arabica","arachide","aragosta","araldica","arancio","aratura","arazzo","arbitro","archivio","ardito","arenile","argento","argine","arguto","aria","armonia","arnese","arredato","arringa","arrosto","arsenico","arso","artefice","arzillo","asciutto","ascolto","asepsi","asettico","asfalto","asino","asola","aspirato","aspro","assaggio","asse","assoluto","assurdo","asta","astenuto","astice","astratto","atavico","ateismo","atomico","atono","attesa","attivare","attorno","attrito","attuale","ausilio","austria","autista","autonomo","autunno","avanzato","avere","avvenire","avviso","avvolgere","azione","azoto","azzimo","azzurro","babele","baccano","bacino","baco","badessa","badilata","bagnato","baita","balcone","baldo","balena","ballata","balzano","bambino","bandire","baraonda","barbaro","barca","baritono","barlume","barocco","basilico","basso","batosta","battuto","baule","bava","bavosa","becco","beffa","belgio","belva","benda","benevole","benigno","benzina","bere","berlina","beta","bibita","bici","bidone","bifido","biga","bilancia","bimbo","binocolo","biologo","bipede","bipolare","birbante","birra","biscotto","bisesto","bisnonno","bisonte","bisturi","bizzarro","blando","blatta","bollito","bonifico","bordo","bosco","botanico","bottino","bozzolo","braccio","bradipo","brama","branca","bravura","bretella","brevetto","brezza","briglia","brillante","brindare","broccolo","brodo","bronzina","brullo","bruno","bubbone","buca","budino","buffone","buio","bulbo","buono","burlone","burrasca","bussola","busta","cadetto","caduco","calamaro","calcolo","calesse","calibro","calmo","caloria","cambusa","camerata","camicia","cammino","camola","campale","canapa","candela","cane","canino","canotto","cantina","capace","capello","capitolo","capogiro","cappero","capra","capsula","carapace","carcassa","cardo","carisma","carovana","carretto","cartolina","casaccio","cascata","caserma","caso","cassone","castello","casuale","catasta","catena","catrame","cauto","cavillo","cedibile","cedrata","cefalo","celebre","cellulare","cena","cenone","centesimo","ceramica","cercare","certo","cerume","cervello","cesoia","cespo","ceto","chela","chiaro","chicca","chiedere","chimera","china","chirurgo","chitarra","ciao","ciclismo","cifrare","cigno","cilindro","ciottolo","circa","cirrosi","citrico","cittadino","ciuffo","civetta","civile","classico","clinica","cloro","cocco","codardo","codice","coerente","cognome","collare","colmato","colore","colposo","coltivato","colza","coma","cometa","commando","comodo","computer","comune","conciso","condurre","conferma","congelare","coniuge","connesso","conoscere","consumo","continuo","convegno","coperto","copione","coppia","copricapo","corazza","cordata","coricato","cornice","corolla","corpo","corredo","corsia","cortese","cosmico","costante","cottura","covato","cratere","cravatta","creato","credere","cremoso","crescita","creta","criceto","crinale","crisi","critico","croce","cronaca","crostata","cruciale","crusca","cucire","cuculo","cugino","cullato","cupola","curatore","cursore","curvo","cuscino","custode","dado","daino","dalmata","damerino","daniela","dannoso","danzare","datato","davanti","davvero","debutto","decennio","deciso","declino","decollo","decreto","dedicato","definito","deforme","degno","delegare","delfino","delirio","delta","demenza","denotato","dentro","deposito","derapata","derivare","deroga","descritto","deserto","desiderio","desumere","detersivo","devoto","diametro","dicembre","diedro","difeso","diffuso","digerire","digitale","diluvio","dinamico","dinnanzi","dipinto","diploma","dipolo","diradare","dire","dirotto","dirupo","disagio","discreto","disfare","disgelo","disposto","distanza","disumano","dito","divano","divelto","dividere","divorato","doblone","docente","doganale","dogma","dolce","domato","domenica","dominare","dondolo","dono","dormire","dote","dottore","dovuto","dozzina","drago","druido","dubbio","dubitare","ducale","duna","duomo","duplice","duraturo","ebano","eccesso","ecco","eclissi","economia","edera","edicola","edile","editoria","educare","egemonia","egli","egoismo","egregio","elaborato","elargire","elegante","elencato","eletto","elevare","elfico","elica","elmo","elsa","eluso","emanato","emblema","emesso","emiro","emotivo","emozione","empirico","emulo","endemico","enduro","energia","enfasi","enoteca","entrare","enzima","epatite","epilogo","episodio","epocale","eppure","equatore","erario","erba","erboso","erede","eremita","erigere","ermetico","eroe","erosivo","errante","esagono","esame","esanime","esaudire","esca","esempio","esercito","esibito","esigente","esistere","esito","esofago","esortato","esoso","espanso","espresso","essenza","esso","esteso","estimare","estonia","estroso","esultare","etilico","etnico","etrusco","etto","euclideo","europa","evaso","evidenza","evitato","evoluto","evviva","fabbrica","faccenda","fachiro","falco","famiglia","fanale","fanfara","fango","fantasma","fare","farfalla","farinoso","farmaco","fascia","fastoso","fasullo","faticare","fato","favoloso","febbre","fecola","fede","fegato","felpa","feltro","femmina","fendere","fenomeno","fermento","ferro","fertile","fessura","festivo","fetta","feudo","fiaba","fiducia","fifa","figurato","filo","finanza","finestra","finire","fiore","fiscale","fisico","fiume","flacone","flamenco","flebo","flemma","florido","fluente","fluoro","fobico","focaccia","focoso","foderato","foglio","folata","folclore","folgore","fondente","fonetico","fonia","fontana","forbito","forchetta","foresta","formica","fornaio","foro","fortezza","forzare","fosfato","fosso","fracasso","frana","frassino","fratello","freccetta","frenata","fresco","frigo","frollino","fronde","frugale","frutta","fucilata","fucsia","fuggente","fulmine","fulvo","fumante","fumetto","fumoso","fune","funzione","fuoco","furbo","furgone","furore","fuso","futile","gabbiano","gaffe","galateo","gallina","galoppo","gambero","gamma","garanzia","garbo","garofano","garzone","gasdotto","gasolio","gastrico","gatto","gaudio","gazebo","gazzella","geco","gelatina","gelso","gemello","gemmato","gene","genitore","gennaio","genotipo","gergo","ghepardo","ghiaccio","ghisa","giallo","gilda","ginepro","giocare","gioiello","giorno","giove","girato","girone","gittata","giudizio","giurato","giusto","globulo","glutine","gnomo","gobba","golf","gomito","gommone","gonfio","gonna","governo","gracile","grado","grafico","grammo","grande","grattare","gravoso","grazia","greca","gregge","grifone","grigio","grinza","grotta","gruppo","guadagno","guaio","guanto","guardare","gufo","guidare","ibernato","icona","identico","idillio","idolo","idra","idrico","idrogeno","igiene","ignaro","ignorato","ilare","illeso","illogico","illudere","imballo","imbevuto","imbocco","imbuto","immane","immerso","immolato","impacco","impeto","impiego","importo","impronta","inalare","inarcare","inattivo","incanto","incendio","inchino","incisivo","incluso","incontro","incrocio","incubo","indagine","india","indole","inedito","infatti","infilare","inflitto","ingaggio","ingegno","inglese","ingordo","ingrosso","innesco","inodore","inoltrare","inondato","insano","insetto","insieme","insonnia","insulina","intasato","intero","intonaco","intuito","inumidire","invalido","invece","invito","iperbole","ipnotico","ipotesi","ippica","iride","irlanda","ironico","irrigato","irrorare","isolato","isotopo","isterico","istituto","istrice","italia","iterare","labbro","labirinto","lacca","lacerato","lacrima","lacuna","laddove","lago","lampo","lancetta","lanterna","lardoso","larga","laringe","lastra","latenza","latino","lattuga","lavagna","lavoro","legale","leggero","lembo","lentezza","lenza","leone","lepre","lesivo","lessato","lesto","letterale","leva","levigato","libero","lido","lievito","lilla","limatura","limitare","limpido","lineare","lingua","liquido","lira","lirica","lisca","lite","litigio","livrea","locanda","lode","logica","lombare","londra","longevo","loquace","lorenzo","loto","lotteria","luce","lucidato","lumaca","luminoso","lungo","lupo","luppolo","lusinga","lusso","lutto","macabro","macchina","macero","macinato","madama","magico","maglia","magnete","magro","maiolica","malafede","malgrado","malinteso","malsano","malto","malumore","mana","mancia","mandorla","mangiare","manifesto","mannaro","manovra","mansarda","mantide","manubrio","mappa","maratona","marcire","maretta","marmo","marsupio","maschera","massaia","mastino","materasso","matricola","mattone","maturo","mazurca","meandro","meccanico","mecenate","medesimo","meditare","mega","melassa","melis","melodia","meninge","meno","mensola","mercurio","merenda","merlo","meschino","mese","messere","mestolo","metallo","metodo","mettere","miagolare","mica","micelio","michele","microbo","midollo","miele","migliore","milano","milite","mimosa","minerale","mini","minore","mirino","mirtillo","miscela","missiva","misto","misurare","mitezza","mitigare","mitra","mittente","mnemonico","modello","modifica","modulo","mogano","mogio","mole","molosso","monastero","monco","mondina","monetario","monile","monotono","monsone","montato","monviso","mora","mordere","morsicato","mostro","motivato","motosega","motto","movenza","movimento","mozzo","mucca","mucosa","muffa","mughetto","mugnaio","mulatto","mulinello","multiplo","mummia","munto","muovere","murale","musa","muscolo","musica","mutevole","muto","nababbo","nafta","nanometro","narciso","narice","narrato","nascere","nastrare","naturale","nautica","naviglio","nebulosa","necrosi","negativo","negozio","nemmeno","neofita","neretto","nervo","nessuno","nettuno","neutrale","neve","nevrotico","nicchia","ninfa","nitido","nobile","nocivo","nodo","nome","nomina","nordico","normale","norvegese","nostrano","notare","notizia","notturno","novella","nucleo","nulla","numero","nuovo","nutrire","nuvola","nuziale","oasi","obbedire","obbligo","obelisco","oblio","obolo","obsoleto","occasione","occhio","occidente","occorrere","occultare","ocra","oculato","odierno","odorare","offerta","offrire","offuscato","oggetto","oggi","ognuno","olandese","olfatto","oliato","oliva","ologramma","oltre","omaggio","ombelico","ombra","omega","omissione","ondoso","onere","onice","onnivoro","onorevole","onta","operato","opinione","opposto","oracolo","orafo","ordine","orecchino","orefice","orfano","organico","origine","orizzonte","orma","ormeggio","ornativo","orologio","orrendo","orribile","ortensia","ortica","orzata","orzo","osare","oscurare","osmosi","ospedale","ospite","ossa","ossidare","ostacolo","oste","otite","otre","ottagono","ottimo","ottobre","ovale","ovest","ovino","oviparo","ovocito","ovunque","ovviare","ozio","pacchetto","pace","pacifico","padella","padrone","paese","paga","pagina","palazzina","palesare","pallido","palo","palude","pandoro","pannello","paolo","paonazzo","paprica","parabola","parcella","parere","pargolo","pari","parlato","parola","partire","parvenza","parziale","passivo","pasticca","patacca","patologia","pattume","pavone","peccato","pedalare","pedonale","peggio","peloso","penare","pendice","penisola","pennuto","penombra","pensare","pentola","pepe","pepita","perbene","percorso","perdonato","perforare","pergamena","periodo","permesso","perno","perplesso","persuaso","pertugio","pervaso","pesatore","pesista","peso","pestifero","petalo","pettine","petulante","pezzo","piacere","pianta","piattino","piccino","picozza","piega","pietra","piffero","pigiama","pigolio","pigro","pila","pilifero","pillola","pilota","pimpante","pineta","pinna","pinolo","pioggia","piombo","piramide","piretico","pirite","pirolisi","pitone","pizzico","placebo","planare","plasma","platano","plenario","pochezza","poderoso","podismo","poesia","poggiare","polenta","poligono","pollice","polmonite","polpetta","polso","poltrona","polvere","pomice","pomodoro","ponte","popoloso","porfido","poroso","porpora","porre","portata","posa","positivo","possesso","postulato","potassio","potere","pranzo","prassi","pratica","precluso","predica","prefisso","pregiato","prelievo","premere","prenotare","preparato","presenza","pretesto","prevalso","prima","principe","privato","problema","procura","produrre","profumo","progetto","prolunga","promessa","pronome","proposta","proroga","proteso","prova","prudente","prugna","prurito","psiche","pubblico","pudica","pugilato","pugno","pulce","pulito","pulsante","puntare","pupazzo","pupilla","puro","quadro","qualcosa","quasi","querela","quota","raccolto","raddoppio","radicale","radunato","raffica","ragazzo","ragione","ragno","ramarro","ramingo","ramo","randagio","rantolare","rapato","rapina","rappreso","rasatura","raschiato","rasente","rassegna","rastrello","rata","ravveduto","reale","recepire","recinto","recluta","recondito","recupero","reddito","redimere","regalato","registro","regola","regresso","relazione","remare","remoto","renna","replica","reprimere","reputare","resa","residente","responso","restauro","rete","retina","retorica","rettifica","revocato","riassunto","ribadire","ribelle","ribrezzo","ricarica","ricco","ricevere","riciclato","ricordo","ricreduto","ridicolo","ridurre","rifasare","riflesso","riforma","rifugio","rigare","rigettato","righello","rilassato","rilevato","rimanere","rimbalzo","rimedio","rimorchio","rinascita","rincaro","rinforzo","rinnovo","rinomato","rinsavito","rintocco","rinuncia","rinvenire","riparato","ripetuto","ripieno","riportare","ripresa","ripulire","risata","rischio","riserva","risibile","riso","rispetto","ristoro","risultato","risvolto","ritardo","ritegno","ritmico","ritrovo","riunione","riva","riverso","rivincita","rivolto","rizoma","roba","robotico","robusto","roccia","roco","rodaggio","rodere","roditore","rogito","rollio","romantico","rompere","ronzio","rosolare","rospo","rotante","rotondo","rotula","rovescio","rubizzo","rubrica","ruga","rullino","rumine","rumoroso","ruolo","rupe","russare","rustico","sabato","sabbiare","sabotato","sagoma","salasso","saldatura","salgemma","salivare","salmone","salone","saltare","saluto","salvo","sapere","sapido","saporito","saraceno","sarcasmo","sarto","sassoso","satellite","satira","satollo","saturno","savana","savio","saziato","sbadiglio","sbalzo","sbancato","sbarra","sbattere","sbavare","sbendare","sbirciare","sbloccato","sbocciato","sbrinare","sbruffone","sbuffare","scabroso","scadenza","scala","scambiare","scandalo","scapola","scarso","scatenare","scavato","scelto","scenico","scettro","scheda","schiena","sciarpa","scienza","scindere","scippo","sciroppo","scivolo","sclerare","scodella","scolpito","scomparto","sconforto","scoprire","scorta","scossone","scozzese","scriba","scrollare","scrutinio","scuderia","scultore","scuola","scuro","scusare","sdebitare","sdoganare","seccatura","secondo","sedano","seggiola","segnalato","segregato","seguito","selciato","selettivo","sella","selvaggio","semaforo","sembrare","seme","seminato","sempre","senso","sentire","sepolto","sequenza","serata","serbato","sereno","serio","serpente","serraglio","servire","sestina","setola","settimana","sfacelo","sfaldare","sfamato","sfarzoso","sfaticato","sfera","sfida","sfilato","sfinge","sfocato","sfoderare","sfogo","sfoltire","sforzato","sfratto","sfruttato","sfuggito","sfumare","sfuso","sgabello","sgarbato","sgonfiare","sgorbio","sgrassato","sguardo","sibilo","siccome","sierra","sigla","signore","silenzio","sillaba","simbolo","simpatico","simulato","sinfonia","singolo","sinistro","sino","sintesi","sinusoide","sipario","sisma","sistole","situato","slitta","slogatura","sloveno","smarrito","smemorato","smentito","smeraldo","smilzo","smontare","smottato","smussato","snellire","snervato","snodo","sobbalzo","sobrio","soccorso","sociale","sodale","soffitto","sogno","soldato","solenne","solido","sollazzo","solo","solubile","solvente","somatico","somma","sonda","sonetto","sonnifero","sopire","soppeso","sopra","sorgere","sorpasso","sorriso","sorso","sorteggio","sorvolato","sospiro","sosta","sottile","spada","spalla","spargere","spatola","spavento","spazzola","specie","spedire","spegnere","spelatura","speranza","spessore","spettrale","spezzato","spia","spigoloso","spillato","spinoso","spirale","splendido","sportivo","sposo","spranga","sprecare","spronato","spruzzo","spuntino","squillo","sradicare","srotolato","stabile","stacco","staffa","stagnare","stampato","stantio","starnuto","stasera","statuto","stelo","steppa","sterzo","stiletto","stima","stirpe","stivale","stizzoso","stonato","storico","strappo","stregato","stridulo","strozzare","strutto","stuccare","stufo","stupendo","subentro","succoso","sudore","suggerito","sugo","sultano","suonare","superbo","supporto","surgelato","surrogato","sussurro","sutura","svagare","svedese","sveglio","svelare","svenuto","svezia","sviluppo","svista","svizzera","svolta","svuotare","tabacco","tabulato","tacciare","taciturno","tale","talismano","tampone","tannino","tara","tardivo","targato","tariffa","tarpare","tartaruga","tasto","tattico","taverna","tavolata","tazza","teca","tecnico","telefono","temerario","tempo","temuto","tendone","tenero","tensione","tentacolo","teorema","terme","terrazzo","terzetto","tesi","tesserato","testato","tetro","tettoia","tifare","tigella","timbro","tinto","tipico","tipografo","tiraggio","tiro","titanio","titolo","titubante","tizio","tizzone","toccare","tollerare","tolto","tombola","tomo","tonfo","tonsilla","topazio","topologia","toppa","torba","tornare","torrone","tortora","toscano","tossire","tostatura","totano","trabocco","trachea","trafila","tragedia","tralcio","tramonto","transito","trapano","trarre","trasloco","trattato","trave","treccia","tremolio","trespolo","tributo","tricheco","trifoglio","trillo","trincea","trio","tristezza","triturato","trivella","tromba","trono","troppo","trottola","trovare","truccato","tubatura","tuffato","tulipano","tumulto","tunisia","turbare","turchino","tuta","tutela","ubicato","uccello","uccisore","udire","uditivo","uffa","ufficio","uguale","ulisse","ultimato","umano","umile","umorismo","uncinetto","ungere","ungherese","unicorno","unificato","unisono","unitario","unte","uovo","upupa","uragano","urgenza","urlo","usanza","usato","uscito","usignolo","usuraio","utensile","utilizzo","utopia","vacante","vaccinato","vagabondo","vagliato","valanga","valgo","valico","valletta","valoroso","valutare","valvola","vampata","vangare","vanitoso","vano","vantaggio","vanvera","vapore","varano","varcato","variante","vasca","vedetta","vedova","veduto","vegetale","veicolo","velcro","velina","velluto","veloce","venato","vendemmia","vento","verace","verbale","vergogna","verifica","vero","verruca","verticale","vescica","vessillo","vestale","veterano","vetrina","vetusto","viandante","vibrante","vicenda","vichingo","vicinanza","vidimare","vigilia","vigneto","vigore","vile","villano","vimini","vincitore","viola","vipera","virgola","virologo","virulento","viscoso","visione","vispo","vissuto","visura","vita","vitello","vittima","vivanda","vivido","viziare","voce","voga","volatile","volere","volpe","voragine","vulcano","zampogna","zanna","zappato","zattera","zavorra","zefiro","zelante","zelo","zenzero","zerbino","zibetto","zinco","zircone","zitto","zolla","zotico","zucchero","zufolo","zulu","zuppa"]')},function(e){e.exports=JSON.parse('["ábaco","abdomen","abeja","abierto","abogado","abono","aborto","abrazo","abrir","abuelo","abuso","acabar","academia","acceso","acción","aceite","acelga","acento","aceptar","ácido","aclarar","acné","acoger","acoso","activo","acto","actriz","actuar","acudir","acuerdo","acusar","adicto","admitir","adoptar","adorno","aduana","adulto","aéreo","afectar","afición","afinar","afirmar","ágil","agitar","agonía","agosto","agotar","agregar","agrio","agua","agudo","águila","aguja","ahogo","ahorro","aire","aislar","ajedrez","ajeno","ajuste","alacrán","alambre","alarma","alba","álbum","alcalde","aldea","alegre","alejar","alerta","aleta","alfiler","alga","algodón","aliado","aliento","alivio","alma","almeja","almíbar","altar","alteza","altivo","alto","altura","alumno","alzar","amable","amante","amapola","amargo","amasar","ámbar","ámbito","ameno","amigo","amistad","amor","amparo","amplio","ancho","anciano","ancla","andar","andén","anemia","ángulo","anillo","ánimo","anís","anotar","antena","antiguo","antojo","anual","anular","anuncio","añadir","añejo","año","apagar","aparato","apetito","apio","aplicar","apodo","aporte","apoyo","aprender","aprobar","apuesta","apuro","arado","araña","arar","árbitro","árbol","arbusto","archivo","arco","arder","ardilla","arduo","área","árido","aries","armonía","arnés","aroma","arpa","arpón","arreglo","arroz","arruga","arte","artista","asa","asado","asalto","ascenso","asegurar","aseo","asesor","asiento","asilo","asistir","asno","asombro","áspero","astilla","astro","astuto","asumir","asunto","atajo","ataque","atar","atento","ateo","ático","atleta","átomo","atraer","atroz","atún","audaz","audio","auge","aula","aumento","ausente","autor","aval","avance","avaro","ave","avellana","avena","avestruz","avión","aviso","ayer","ayuda","ayuno","azafrán","azar","azote","azúcar","azufre","azul","baba","babor","bache","bahía","baile","bajar","balanza","balcón","balde","bambú","banco","banda","baño","barba","barco","barniz","barro","báscula","bastón","basura","batalla","batería","batir","batuta","baúl","bazar","bebé","bebida","bello","besar","beso","bestia","bicho","bien","bingo","blanco","bloque","blusa","boa","bobina","bobo","boca","bocina","boda","bodega","boina","bola","bolero","bolsa","bomba","bondad","bonito","bono","bonsái","borde","borrar","bosque","bote","botín","bóveda","bozal","bravo","brazo","brecha","breve","brillo","brinco","brisa","broca","broma","bronce","brote","bruja","brusco","bruto","buceo","bucle","bueno","buey","bufanda","bufón","búho","buitre","bulto","burbuja","burla","burro","buscar","butaca","buzón","caballo","cabeza","cabina","cabra","cacao","cadáver","cadena","caer","café","caída","caimán","caja","cajón","cal","calamar","calcio","caldo","calidad","calle","calma","calor","calvo","cama","cambio","camello","camino","campo","cáncer","candil","canela","canguro","canica","canto","caña","cañón","caoba","caos","capaz","capitán","capote","captar","capucha","cara","carbón","cárcel","careta","carga","cariño","carne","carpeta","carro","carta","casa","casco","casero","caspa","castor","catorce","catre","caudal","causa","cazo","cebolla","ceder","cedro","celda","célebre","celoso","célula","cemento","ceniza","centro","cerca","cerdo","cereza","cero","cerrar","certeza","césped","cetro","chacal","chaleco","champú","chancla","chapa","charla","chico","chiste","chivo","choque","choza","chuleta","chupar","ciclón","ciego","cielo","cien","cierto","cifra","cigarro","cima","cinco","cine","cinta","ciprés","circo","ciruela","cisne","cita","ciudad","clamor","clan","claro","clase","clave","cliente","clima","clínica","cobre","cocción","cochino","cocina","coco","código","codo","cofre","coger","cohete","cojín","cojo","cola","colcha","colegio","colgar","colina","collar","colmo","columna","combate","comer","comida","cómodo","compra","conde","conejo","conga","conocer","consejo","contar","copa","copia","corazón","corbata","corcho","cordón","corona","correr","coser","cosmos","costa","cráneo","cráter","crear","crecer","creído","crema","cría","crimen","cripta","crisis","cromo","crónica","croqueta","crudo","cruz","cuadro","cuarto","cuatro","cubo","cubrir","cuchara","cuello","cuento","cuerda","cuesta","cueva","cuidar","culebra","culpa","culto","cumbre","cumplir","cuna","cuneta","cuota","cupón","cúpula","curar","curioso","curso","curva","cutis","dama","danza","dar","dardo","dátil","deber","débil","década","decir","dedo","defensa","definir","dejar","delfín","delgado","delito","demora","denso","dental","deporte","derecho","derrota","desayuno","deseo","desfile","desnudo","destino","desvío","detalle","detener","deuda","día","diablo","diadema","diamante","diana","diario","dibujo","dictar","diente","dieta","diez","difícil","digno","dilema","diluir","dinero","directo","dirigir","disco","diseño","disfraz","diva","divino","doble","doce","dolor","domingo","don","donar","dorado","dormir","dorso","dos","dosis","dragón","droga","ducha","duda","duelo","dueño","dulce","dúo","duque","durar","dureza","duro","ébano","ebrio","echar","eco","ecuador","edad","edición","edificio","editor","educar","efecto","eficaz","eje","ejemplo","elefante","elegir","elemento","elevar","elipse","élite","elixir","elogio","eludir","embudo","emitir","emoción","empate","empeño","empleo","empresa","enano","encargo","enchufe","encía","enemigo","enero","enfado","enfermo","engaño","enigma","enlace","enorme","enredo","ensayo","enseñar","entero","entrar","envase","envío","época","equipo","erizo","escala","escena","escolar","escribir","escudo","esencia","esfera","esfuerzo","espada","espejo","espía","esposa","espuma","esquí","estar","este","estilo","estufa","etapa","eterno","ética","etnia","evadir","evaluar","evento","evitar","exacto","examen","exceso","excusa","exento","exigir","exilio","existir","éxito","experto","explicar","exponer","extremo","fábrica","fábula","fachada","fácil","factor","faena","faja","falda","fallo","falso","faltar","fama","familia","famoso","faraón","farmacia","farol","farsa","fase","fatiga","fauna","favor","fax","febrero","fecha","feliz","feo","feria","feroz","fértil","fervor","festín","fiable","fianza","fiar","fibra","ficción","ficha","fideo","fiebre","fiel","fiera","fiesta","figura","fijar","fijo","fila","filete","filial","filtro","fin","finca","fingir","finito","firma","flaco","flauta","flecha","flor","flota","fluir","flujo","flúor","fobia","foca","fogata","fogón","folio","folleto","fondo","forma","forro","fortuna","forzar","fosa","foto","fracaso","frágil","franja","frase","fraude","freír","freno","fresa","frío","frito","fruta","fuego","fuente","fuerza","fuga","fumar","función","funda","furgón","furia","fusil","fútbol","futuro","gacela","gafas","gaita","gajo","gala","galería","gallo","gamba","ganar","gancho","ganga","ganso","garaje","garza","gasolina","gastar","gato","gavilán","gemelo","gemir","gen","género","genio","gente","geranio","gerente","germen","gesto","gigante","gimnasio","girar","giro","glaciar","globo","gloria","gol","golfo","goloso","golpe","goma","gordo","gorila","gorra","gota","goteo","gozar","grada","gráfico","grano","grasa","gratis","grave","grieta","grillo","gripe","gris","grito","grosor","grúa","grueso","grumo","grupo","guante","guapo","guardia","guerra","guía","guiño","guion","guiso","guitarra","gusano","gustar","haber","hábil","hablar","hacer","hacha","hada","hallar","hamaca","harina","haz","hazaña","hebilla","hebra","hecho","helado","helio","hembra","herir","hermano","héroe","hervir","hielo","hierro","hígado","higiene","hijo","himno","historia","hocico","hogar","hoguera","hoja","hombre","hongo","honor","honra","hora","hormiga","horno","hostil","hoyo","hueco","huelga","huerta","hueso","huevo","huida","huir","humano","húmedo","humilde","humo","hundir","huracán","hurto","icono","ideal","idioma","ídolo","iglesia","iglú","igual","ilegal","ilusión","imagen","imán","imitar","impar","imperio","imponer","impulso","incapaz","índice","inerte","infiel","informe","ingenio","inicio","inmenso","inmune","innato","insecto","instante","interés","íntimo","intuir","inútil","invierno","ira","iris","ironía","isla","islote","jabalí","jabón","jamón","jarabe","jardín","jarra","jaula","jazmín","jefe","jeringa","jinete","jornada","joroba","joven","joya","juerga","jueves","juez","jugador","jugo","juguete","juicio","junco","jungla","junio","juntar","júpiter","jurar","justo","juvenil","juzgar","kilo","koala","labio","lacio","lacra","lado","ladrón","lagarto","lágrima","laguna","laico","lamer","lámina","lámpara","lana","lancha","langosta","lanza","lápiz","largo","larva","lástima","lata","látex","latir","laurel","lavar","lazo","leal","lección","leche","lector","leer","legión","legumbre","lejano","lengua","lento","leña","león","leopardo","lesión","letal","letra","leve","leyenda","libertad","libro","licor","líder","lidiar","lienzo","liga","ligero","lima","límite","limón","limpio","lince","lindo","línea","lingote","lino","linterna","líquido","liso","lista","litera","litio","litro","llaga","llama","llanto","llave","llegar","llenar","llevar","llorar","llover","lluvia","lobo","loción","loco","locura","lógica","logro","lombriz","lomo","lonja","lote","lucha","lucir","lugar","lujo","luna","lunes","lupa","lustro","luto","luz","maceta","macho","madera","madre","maduro","maestro","mafia","magia","mago","maíz","maldad","maleta","malla","malo","mamá","mambo","mamut","manco","mando","manejar","manga","maniquí","manjar","mano","manso","manta","mañana","mapa","máquina","mar","marco","marea","marfil","margen","marido","mármol","marrón","martes","marzo","masa","máscara","masivo","matar","materia","matiz","matriz","máximo","mayor","mazorca","mecha","medalla","medio","médula","mejilla","mejor","melena","melón","memoria","menor","mensaje","mente","menú","mercado","merengue","mérito","mes","mesón","meta","meter","método","metro","mezcla","miedo","miel","miembro","miga","mil","milagro","militar","millón","mimo","mina","minero","mínimo","minuto","miope","mirar","misa","miseria","misil","mismo","mitad","mito","mochila","moción","moda","modelo","moho","mojar","molde","moler","molino","momento","momia","monarca","moneda","monja","monto","moño","morada","morder","moreno","morir","morro","morsa","mortal","mosca","mostrar","motivo","mover","móvil","mozo","mucho","mudar","mueble","muela","muerte","muestra","mugre","mujer","mula","muleta","multa","mundo","muñeca","mural","muro","músculo","museo","musgo","música","muslo","nácar","nación","nadar","naipe","naranja","nariz","narrar","nasal","natal","nativo","natural","náusea","naval","nave","navidad","necio","néctar","negar","negocio","negro","neón","nervio","neto","neutro","nevar","nevera","nicho","nido","niebla","nieto","niñez","niño","nítido","nivel","nobleza","noche","nómina","noria","norma","norte","nota","noticia","novato","novela","novio","nube","nuca","núcleo","nudillo","nudo","nuera","nueve","nuez","nulo","número","nutria","oasis","obeso","obispo","objeto","obra","obrero","observar","obtener","obvio","oca","ocaso","océano","ochenta","ocho","ocio","ocre","octavo","octubre","oculto","ocupar","ocurrir","odiar","odio","odisea","oeste","ofensa","oferta","oficio","ofrecer","ogro","oído","oír","ojo","ola","oleada","olfato","olivo","olla","olmo","olor","olvido","ombligo","onda","onza","opaco","opción","ópera","opinar","oponer","optar","óptica","opuesto","oración","orador","oral","órbita","orca","orden","oreja","órgano","orgía","orgullo","oriente","origen","orilla","oro","orquesta","oruga","osadía","oscuro","osezno","oso","ostra","otoño","otro","oveja","óvulo","óxido","oxígeno","oyente","ozono","pacto","padre","paella","página","pago","país","pájaro","palabra","palco","paleta","pálido","palma","paloma","palpar","pan","panal","pánico","pantera","pañuelo","papá","papel","papilla","paquete","parar","parcela","pared","parir","paro","párpado","parque","párrafo","parte","pasar","paseo","pasión","paso","pasta","pata","patio","patria","pausa","pauta","pavo","payaso","peatón","pecado","pecera","pecho","pedal","pedir","pegar","peine","pelar","peldaño","pelea","peligro","pellejo","pelo","peluca","pena","pensar","peñón","peón","peor","pepino","pequeño","pera","percha","perder","pereza","perfil","perico","perla","permiso","perro","persona","pesa","pesca","pésimo","pestaña","pétalo","petróleo","pez","pezuña","picar","pichón","pie","piedra","pierna","pieza","pijama","pilar","piloto","pimienta","pino","pintor","pinza","piña","piojo","pipa","pirata","pisar","piscina","piso","pista","pitón","pizca","placa","plan","plata","playa","plaza","pleito","pleno","plomo","pluma","plural","pobre","poco","poder","podio","poema","poesía","poeta","polen","policía","pollo","polvo","pomada","pomelo","pomo","pompa","poner","porción","portal","posada","poseer","posible","poste","potencia","potro","pozo","prado","precoz","pregunta","premio","prensa","preso","previo","primo","príncipe","prisión","privar","proa","probar","proceso","producto","proeza","profesor","programa","prole","promesa","pronto","propio","próximo","prueba","público","puchero","pudor","pueblo","puerta","puesto","pulga","pulir","pulmón","pulpo","pulso","puma","punto","puñal","puño","pupa","pupila","puré","quedar","queja","quemar","querer","queso","quieto","química","quince","quitar","rábano","rabia","rabo","ración","radical","raíz","rama","rampa","rancho","rango","rapaz","rápido","rapto","rasgo","raspa","rato","rayo","raza","razón","reacción","realidad","rebaño","rebote","recaer","receta","rechazo","recoger","recreo","recto","recurso","red","redondo","reducir","reflejo","reforma","refrán","refugio","regalo","regir","regla","regreso","rehén","reino","reír","reja","relato","relevo","relieve","relleno","reloj","remar","remedio","remo","rencor","rendir","renta","reparto","repetir","reposo","reptil","res","rescate","resina","respeto","resto","resumen","retiro","retorno","retrato","reunir","revés","revista","rey","rezar","rico","riego","rienda","riesgo","rifa","rígido","rigor","rincón","riñón","río","riqueza","risa","ritmo","rito","rizo","roble","roce","rociar","rodar","rodeo","rodilla","roer","rojizo","rojo","romero","romper","ron","ronco","ronda","ropa","ropero","rosa","rosca","rostro","rotar","rubí","rubor","rudo","rueda","rugir","ruido","ruina","ruleta","rulo","rumbo","rumor","ruptura","ruta","rutina","sábado","saber","sabio","sable","sacar","sagaz","sagrado","sala","saldo","salero","salir","salmón","salón","salsa","salto","salud","salvar","samba","sanción","sandía","sanear","sangre","sanidad","sano","santo","sapo","saque","sardina","sartén","sastre","satán","sauna","saxofón","sección","seco","secreto","secta","sed","seguir","seis","sello","selva","semana","semilla","senda","sensor","señal","señor","separar","sepia","sequía","ser","serie","sermón","servir","sesenta","sesión","seta","setenta","severo","sexo","sexto","sidra","siesta","siete","siglo","signo","sílaba","silbar","silencio","silla","símbolo","simio","sirena","sistema","sitio","situar","sobre","socio","sodio","sol","solapa","soldado","soledad","sólido","soltar","solución","sombra","sondeo","sonido","sonoro","sonrisa","sopa","soplar","soporte","sordo","sorpresa","sorteo","sostén","sótano","suave","subir","suceso","sudor","suegra","suelo","sueño","suerte","sufrir","sujeto","sultán","sumar","superar","suplir","suponer","supremo","sur","surco","sureño","surgir","susto","sutil","tabaco","tabique","tabla","tabú","taco","tacto","tajo","talar","talco","talento","talla","talón","tamaño","tambor","tango","tanque","tapa","tapete","tapia","tapón","taquilla","tarde","tarea","tarifa","tarjeta","tarot","tarro","tarta","tatuaje","tauro","taza","tazón","teatro","techo","tecla","técnica","tejado","tejer","tejido","tela","teléfono","tema","temor","templo","tenaz","tender","tener","tenis","tenso","teoría","terapia","terco","término","ternura","terror","tesis","tesoro","testigo","tetera","texto","tez","tibio","tiburón","tiempo","tienda","tierra","tieso","tigre","tijera","tilde","timbre","tímido","timo","tinta","tío","típico","tipo","tira","tirón","titán","títere","título","tiza","toalla","tobillo","tocar","tocino","todo","toga","toldo","tomar","tono","tonto","topar","tope","toque","tórax","torero","tormenta","torneo","toro","torpedo","torre","torso","tortuga","tos","tosco","toser","tóxico","trabajo","tractor","traer","tráfico","trago","traje","tramo","trance","trato","trauma","trazar","trébol","tregua","treinta","tren","trepar","tres","tribu","trigo","tripa","triste","triunfo","trofeo","trompa","tronco","tropa","trote","trozo","truco","trueno","trufa","tubería","tubo","tuerto","tumba","tumor","túnel","túnica","turbina","turismo","turno","tutor","ubicar","úlcera","umbral","unidad","unir","universo","uno","untar","uña","urbano","urbe","urgente","urna","usar","usuario","útil","utopía","uva","vaca","vacío","vacuna","vagar","vago","vaina","vajilla","vale","válido","valle","valor","válvula","vampiro","vara","variar","varón","vaso","vecino","vector","vehículo","veinte","vejez","vela","velero","veloz","vena","vencer","venda","veneno","vengar","venir","venta","venus","ver","verano","verbo","verde","vereda","verja","verso","verter","vía","viaje","vibrar","vicio","víctima","vida","vídeo","vidrio","viejo","viernes","vigor","vil","villa","vinagre","vino","viñedo","violín","viral","virgo","virtud","visor","víspera","vista","vitamina","viudo","vivaz","vivero","vivir","vivo","volcán","volumen","volver","voraz","votar","voto","voz","vuelo","vulgar","yacer","yate","yegua","yema","yerno","yeso","yodo","yoga","yogur","zafiro","zanja","zapato","zarza","zona","zorro","zumo","zurdo"]')},function(e){e.exports=JSON.parse('["あいこくしん","あいさつ","あいだ","あおぞら","あかちゃん","あきる","あけがた","あける","あこがれる","あさい","あさひ","あしあと","あじわう","あずかる","あずき","あそぶ","あたえる","あたためる","あたりまえ","あたる","あつい","あつかう","あっしゅく","あつまり","あつめる","あてな","あてはまる","あひる","あぶら","あぶる","あふれる","あまい","あまど","あまやかす","あまり","あみもの","あめりか","あやまる","あゆむ","あらいぐま","あらし","あらすじ","あらためる","あらゆる","あらわす","ありがとう","あわせる","あわてる","あんい","あんがい","あんこ","あんぜん","あんてい","あんない","あんまり","いいだす","いおん","いがい","いがく","いきおい","いきなり","いきもの","いきる","いくじ","いくぶん","いけばな","いけん","いこう","いこく","いこつ","いさましい","いさん","いしき","いじゅう","いじょう","いじわる","いずみ","いずれ","いせい","いせえび","いせかい","いせき","いぜん","いそうろう","いそがしい","いだい","いだく","いたずら","いたみ","いたりあ","いちおう","いちじ","いちど","いちば","いちぶ","いちりゅう","いつか","いっしゅん","いっせい","いっそう","いったん","いっち","いってい","いっぽう","いてざ","いてん","いどう","いとこ","いない","いなか","いねむり","いのち","いのる","いはつ","いばる","いはん","いびき","いひん","いふく","いへん","いほう","いみん","いもうと","いもたれ","いもり","いやがる","いやす","いよかん","いよく","いらい","いらすと","いりぐち","いりょう","いれい","いれもの","いれる","いろえんぴつ","いわい","いわう","いわかん","いわば","いわゆる","いんげんまめ","いんさつ","いんしょう","いんよう","うえき","うえる","うおざ","うがい","うかぶ","うかべる","うきわ","うくらいな","うくれれ","うけたまわる","うけつけ","うけとる","うけもつ","うける","うごかす","うごく","うこん","うさぎ","うしなう","うしろがみ","うすい","うすぎ","うすぐらい","うすめる","うせつ","うちあわせ","うちがわ","うちき","うちゅう","うっかり","うつくしい","うったえる","うつる","うどん","うなぎ","うなじ","うなずく","うなる","うねる","うのう","うぶげ","うぶごえ","うまれる","うめる","うもう","うやまう","うよく","うらがえす","うらぐち","うらない","うりあげ","うりきれ","うるさい","うれしい","うれゆき","うれる","うろこ","うわき","うわさ","うんこう","うんちん","うんてん","うんどう","えいえん","えいが","えいきょう","えいご","えいせい","えいぶん","えいよう","えいわ","えおり","えがお","えがく","えきたい","えくせる","えしゃく","えすて","えつらん","えのぐ","えほうまき","えほん","えまき","えもじ","えもの","えらい","えらぶ","えりあ","えんえん","えんかい","えんぎ","えんげき","えんしゅう","えんぜつ","えんそく","えんちょう","えんとつ","おいかける","おいこす","おいしい","おいつく","おうえん","おうさま","おうじ","おうせつ","おうたい","おうふく","おうべい","おうよう","おえる","おおい","おおう","おおどおり","おおや","おおよそ","おかえり","おかず","おがむ","おかわり","おぎなう","おきる","おくさま","おくじょう","おくりがな","おくる","おくれる","おこす","おこなう","おこる","おさえる","おさない","おさめる","おしいれ","おしえる","おじぎ","おじさん","おしゃれ","おそらく","おそわる","おたがい","おたく","おだやか","おちつく","おっと","おつり","おでかけ","おとしもの","おとなしい","おどり","おどろかす","おばさん","おまいり","おめでとう","おもいで","おもう","おもたい","おもちゃ","おやつ","おやゆび","およぼす","おらんだ","おろす","おんがく","おんけい","おんしゃ","おんせん","おんだん","おんちゅう","おんどけい","かあつ","かいが","がいき","がいけん","がいこう","かいさつ","かいしゃ","かいすいよく","かいぜん","かいぞうど","かいつう","かいてん","かいとう","かいふく","がいへき","かいほう","かいよう","がいらい","かいわ","かえる","かおり","かかえる","かがく","かがし","かがみ","かくご","かくとく","かざる","がぞう","かたい","かたち","がちょう","がっきゅう","がっこう","がっさん","がっしょう","かなざわし","かのう","がはく","かぶか","かほう","かほご","かまう","かまぼこ","かめれおん","かゆい","かようび","からい","かるい","かろう","かわく","かわら","がんか","かんけい","かんこう","かんしゃ","かんそう","かんたん","かんち","がんばる","きあい","きあつ","きいろ","ぎいん","きうい","きうん","きえる","きおう","きおく","きおち","きおん","きかい","きかく","きかんしゃ","ききて","きくばり","きくらげ","きけんせい","きこう","きこえる","きこく","きさい","きさく","きさま","きさらぎ","ぎじかがく","ぎしき","ぎじたいけん","ぎじにってい","ぎじゅつしゃ","きすう","きせい","きせき","きせつ","きそう","きぞく","きぞん","きたえる","きちょう","きつえん","ぎっちり","きつつき","きつね","きてい","きどう","きどく","きない","きなが","きなこ","きぬごし","きねん","きのう","きのした","きはく","きびしい","きひん","きふく","きぶん","きぼう","きほん","きまる","きみつ","きむずかしい","きめる","きもだめし","きもち","きもの","きゃく","きやく","ぎゅうにく","きよう","きょうりゅう","きらい","きらく","きりん","きれい","きれつ","きろく","ぎろん","きわめる","ぎんいろ","きんかくじ","きんじょ","きんようび","ぐあい","くいず","くうかん","くうき","くうぐん","くうこう","ぐうせい","くうそう","ぐうたら","くうふく","くうぼ","くかん","くきょう","くげん","ぐこう","くさい","くさき","くさばな","くさる","くしゃみ","くしょう","くすのき","くすりゆび","くせげ","くせん","ぐたいてき","くださる","くたびれる","くちこみ","くちさき","くつした","ぐっすり","くつろぐ","くとうてん","くどく","くなん","くねくね","くのう","くふう","くみあわせ","くみたてる","くめる","くやくしょ","くらす","くらべる","くるま","くれる","くろう","くわしい","ぐんかん","ぐんしょく","ぐんたい","ぐんて","けあな","けいかく","けいけん","けいこ","けいさつ","げいじゅつ","けいたい","げいのうじん","けいれき","けいろ","けおとす","けおりもの","げきか","げきげん","げきだん","げきちん","げきとつ","げきは","げきやく","げこう","げこくじょう","げざい","けさき","げざん","けしき","けしごむ","けしょう","げすと","けたば","けちゃっぷ","けちらす","けつあつ","けつい","けつえき","けっこん","けつじょ","けっせき","けってい","けつまつ","げつようび","げつれい","けつろん","げどく","けとばす","けとる","けなげ","けなす","けなみ","けぬき","げねつ","けねん","けはい","げひん","けぶかい","げぼく","けまり","けみかる","けむし","けむり","けもの","けらい","けろけろ","けわしい","けんい","けんえつ","けんお","けんか","げんき","けんげん","けんこう","けんさく","けんしゅう","けんすう","げんそう","けんちく","けんてい","けんとう","けんない","けんにん","げんぶつ","けんま","けんみん","けんめい","けんらん","けんり","こあくま","こいぬ","こいびと","ごうい","こうえん","こうおん","こうかん","ごうきゅう","ごうけい","こうこう","こうさい","こうじ","こうすい","ごうせい","こうそく","こうたい","こうちゃ","こうつう","こうてい","こうどう","こうない","こうはい","ごうほう","ごうまん","こうもく","こうりつ","こえる","こおり","ごかい","ごがつ","ごかん","こくご","こくさい","こくとう","こくない","こくはく","こぐま","こけい","こける","ここのか","こころ","こさめ","こしつ","こすう","こせい","こせき","こぜん","こそだて","こたい","こたえる","こたつ","こちょう","こっか","こつこつ","こつばん","こつぶ","こてい","こてん","ことがら","ことし","ことば","ことり","こなごな","こねこね","このまま","このみ","このよ","ごはん","こひつじ","こふう","こふん","こぼれる","ごまあぶら","こまかい","ごますり","こまつな","こまる","こむぎこ","こもじ","こもち","こもの","こもん","こやく","こやま","こゆう","こゆび","こよい","こよう","こりる","これくしょん","ころっけ","こわもて","こわれる","こんいん","こんかい","こんき","こんしゅう","こんすい","こんだて","こんとん","こんなん","こんびに","こんぽん","こんまけ","こんや","こんれい","こんわく","ざいえき","さいかい","さいきん","ざいげん","ざいこ","さいしょ","さいせい","ざいたく","ざいちゅう","さいてき","ざいりょう","さうな","さかいし","さがす","さかな","さかみち","さがる","さぎょう","さくし","さくひん","さくら","さこく","さこつ","さずかる","ざせき","さたん","さつえい","ざつおん","ざっか","ざつがく","さっきょく","ざっし","さつじん","ざっそう","さつたば","さつまいも","さてい","さといも","さとう","さとおや","さとし","さとる","さのう","さばく","さびしい","さべつ","さほう","さほど","さます","さみしい","さみだれ","さむけ","さめる","さやえんどう","さゆう","さよう","さよく","さらだ","ざるそば","さわやか","さわる","さんいん","さんか","さんきゃく","さんこう","さんさい","ざんしょ","さんすう","さんせい","さんそ","さんち","さんま","さんみ","さんらん","しあい","しあげ","しあさって","しあわせ","しいく","しいん","しうち","しえい","しおけ","しかい","しかく","じかん","しごと","しすう","じだい","したうけ","したぎ","したて","したみ","しちょう","しちりん","しっかり","しつじ","しつもん","してい","してき","してつ","じてん","じどう","しなぎれ","しなもの","しなん","しねま","しねん","しのぐ","しのぶ","しはい","しばかり","しはつ","しはらい","しはん","しひょう","しふく","じぶん","しへい","しほう","しほん","しまう","しまる","しみん","しむける","じむしょ","しめい","しめる","しもん","しゃいん","しゃうん","しゃおん","じゃがいも","しやくしょ","しゃくほう","しゃけん","しゃこ","しゃざい","しゃしん","しゃせん","しゃそう","しゃたい","しゃちょう","しゃっきん","じゃま","しゃりん","しゃれい","じゆう","じゅうしょ","しゅくはく","じゅしん","しゅっせき","しゅみ","しゅらば","じゅんばん","しょうかい","しょくたく","しょっけん","しょどう","しょもつ","しらせる","しらべる","しんか","しんこう","じんじゃ","しんせいじ","しんちく","しんりん","すあげ","すあし","すあな","ずあん","すいえい","すいか","すいとう","ずいぶん","すいようび","すうがく","すうじつ","すうせん","すおどり","すきま","すくう","すくない","すける","すごい","すこし","ずさん","すずしい","すすむ","すすめる","すっかり","ずっしり","ずっと","すてき","すてる","すねる","すのこ","すはだ","すばらしい","ずひょう","ずぶぬれ","すぶり","すふれ","すべて","すべる","ずほう","すぼん","すまい","すめし","すもう","すやき","すらすら","するめ","すれちがう","すろっと","すわる","すんぜん","すんぽう","せあぶら","せいかつ","せいげん","せいじ","せいよう","せおう","せかいかん","せきにん","せきむ","せきゆ","せきらんうん","せけん","せこう","せすじ","せたい","せたけ","せっかく","せっきゃく","ぜっく","せっけん","せっこつ","せっさたくま","せつぞく","せつだん","せつでん","せっぱん","せつび","せつぶん","せつめい","せつりつ","せなか","せのび","せはば","せびろ","せぼね","せまい","せまる","せめる","せもたれ","せりふ","ぜんあく","せんい","せんえい","せんか","せんきょ","せんく","せんげん","ぜんご","せんさい","せんしゅ","せんすい","せんせい","せんぞ","せんたく","せんちょう","せんてい","せんとう","せんぬき","せんねん","せんぱい","ぜんぶ","ぜんぽう","せんむ","せんめんじょ","せんもん","せんやく","せんゆう","せんよう","ぜんら","ぜんりゃく","せんれい","せんろ","そあく","そいとげる","そいね","そうがんきょう","そうき","そうご","そうしん","そうだん","そうなん","そうび","そうめん","そうり","そえもの","そえん","そがい","そげき","そこう","そこそこ","そざい","そしな","そせい","そせん","そそぐ","そだてる","そつう","そつえん","そっかん","そつぎょう","そっけつ","そっこう","そっせん","そっと","そとがわ","そとづら","そなえる","そなた","そふぼ","そぼく","そぼろ","そまつ","そまる","そむく","そむりえ","そめる","そもそも","そよかぜ","そらまめ","そろう","そんかい","そんけい","そんざい","そんしつ","そんぞく","そんちょう","ぞんび","ぞんぶん","そんみん","たあい","たいいん","たいうん","たいえき","たいおう","だいがく","たいき","たいぐう","たいけん","たいこ","たいざい","だいじょうぶ","だいすき","たいせつ","たいそう","だいたい","たいちょう","たいてい","だいどころ","たいない","たいねつ","たいのう","たいはん","だいひょう","たいふう","たいへん","たいほ","たいまつばな","たいみんぐ","たいむ","たいめん","たいやき","たいよう","たいら","たいりょく","たいる","たいわん","たうえ","たえる","たおす","たおる","たおれる","たかい","たかね","たきび","たくさん","たこく","たこやき","たさい","たしざん","だじゃれ","たすける","たずさわる","たそがれ","たたかう","たたく","ただしい","たたみ","たちばな","だっかい","だっきゃく","だっこ","だっしゅつ","だったい","たてる","たとえる","たなばた","たにん","たぬき","たのしみ","たはつ","たぶん","たべる","たぼう","たまご","たまる","だむる","ためいき","ためす","ためる","たもつ","たやすい","たよる","たらす","たりきほんがん","たりょう","たりる","たると","たれる","たれんと","たろっと","たわむれる","だんあつ","たんい","たんおん","たんか","たんき","たんけん","たんご","たんさん","たんじょうび","だんせい","たんそく","たんたい","だんち","たんてい","たんとう","だんな","たんにん","だんねつ","たんのう","たんぴん","だんぼう","たんまつ","たんめい","だんれつ","だんろ","だんわ","ちあい","ちあん","ちいき","ちいさい","ちえん","ちかい","ちから","ちきゅう","ちきん","ちけいず","ちけん","ちこく","ちさい","ちしき","ちしりょう","ちせい","ちそう","ちたい","ちたん","ちちおや","ちつじょ","ちてき","ちてん","ちぬき","ちぬり","ちのう","ちひょう","ちへいせん","ちほう","ちまた","ちみつ","ちみどろ","ちめいど","ちゃんこなべ","ちゅうい","ちゆりょく","ちょうし","ちょさくけん","ちらし","ちらみ","ちりがみ","ちりょう","ちるど","ちわわ","ちんたい","ちんもく","ついか","ついたち","つうか","つうじょう","つうはん","つうわ","つかう","つかれる","つくね","つくる","つけね","つける","つごう","つたえる","つづく","つつじ","つつむ","つとめる","つながる","つなみ","つねづね","つのる","つぶす","つまらない","つまる","つみき","つめたい","つもり","つもる","つよい","つるぼ","つるみく","つわもの","つわり","てあし","てあて","てあみ","ていおん","ていか","ていき","ていけい","ていこく","ていさつ","ていし","ていせい","ていたい","ていど","ていねい","ていひょう","ていへん","ていぼう","てうち","ておくれ","てきとう","てくび","でこぼこ","てさぎょう","てさげ","てすり","てそう","てちがい","てちょう","てつがく","てつづき","でっぱ","てつぼう","てつや","でぬかえ","てぬき","てぬぐい","てのひら","てはい","てぶくろ","てふだ","てほどき","てほん","てまえ","てまきずし","てみじか","てみやげ","てらす","てれび","てわけ","てわたし","でんあつ","てんいん","てんかい","てんき","てんぐ","てんけん","てんごく","てんさい","てんし","てんすう","でんち","てんてき","てんとう","てんない","てんぷら","てんぼうだい","てんめつ","てんらんかい","でんりょく","でんわ","どあい","といれ","どうかん","とうきゅう","どうぐ","とうし","とうむぎ","とおい","とおか","とおく","とおす","とおる","とかい","とかす","ときおり","ときどき","とくい","とくしゅう","とくてん","とくに","とくべつ","とけい","とける","とこや","とさか","としょかん","とそう","とたん","とちゅう","とっきゅう","とっくん","とつぜん","とつにゅう","とどける","ととのえる","とない","となえる","となり","とのさま","とばす","どぶがわ","とほう","とまる","とめる","ともだち","ともる","どようび","とらえる","とんかつ","どんぶり","ないかく","ないこう","ないしょ","ないす","ないせん","ないそう","なおす","ながい","なくす","なげる","なこうど","なさけ","なたでここ","なっとう","なつやすみ","ななおし","なにごと","なにもの","なにわ","なのか","なふだ","なまいき","なまえ","なまみ","なみだ","なめらか","なめる","なやむ","ならう","ならび","ならぶ","なれる","なわとび","なわばり","にあう","にいがた","にうけ","におい","にかい","にがて","にきび","にくしみ","にくまん","にげる","にさんかたんそ","にしき","にせもの","にちじょう","にちようび","にっか","にっき","にっけい","にっこう","にっさん","にっしょく","にっすう","にっせき","にってい","になう","にほん","にまめ","にもつ","にやり","にゅういん","にりんしゃ","にわとり","にんい","にんか","にんき","にんげん","にんしき","にんずう","にんそう","にんたい","にんち","にんてい","にんにく","にんぷ","にんまり","にんむ","にんめい","にんよう","ぬいくぎ","ぬかす","ぬぐいとる","ぬぐう","ぬくもり","ぬすむ","ぬまえび","ぬめり","ぬらす","ぬんちゃく","ねあげ","ねいき","ねいる","ねいろ","ねぐせ","ねくたい","ねくら","ねこぜ","ねこむ","ねさげ","ねすごす","ねそべる","ねだん","ねつい","ねっしん","ねつぞう","ねったいぎょ","ねぶそく","ねふだ","ねぼう","ねほりはほり","ねまき","ねまわし","ねみみ","ねむい","ねむたい","ねもと","ねらう","ねわざ","ねんいり","ねんおし","ねんかん","ねんきん","ねんぐ","ねんざ","ねんし","ねんちゃく","ねんど","ねんぴ","ねんぶつ","ねんまつ","ねんりょう","ねんれい","のいず","のおづま","のがす","のきなみ","のこぎり","のこす","のこる","のせる","のぞく","のぞむ","のたまう","のちほど","のっく","のばす","のはら","のべる","のぼる","のみもの","のやま","のらいぬ","のらねこ","のりもの","のりゆき","のれん","のんき","ばあい","はあく","ばあさん","ばいか","ばいく","はいけん","はいご","はいしん","はいすい","はいせん","はいそう","はいち","ばいばい","はいれつ","はえる","はおる","はかい","ばかり","はかる","はくしゅ","はけん","はこぶ","はさみ","はさん","はしご","ばしょ","はしる","はせる","ぱそこん","はそん","はたん","はちみつ","はつおん","はっかく","はづき","はっきり","はっくつ","はっけん","はっこう","はっさん","はっしん","はったつ","はっちゅう","はってん","はっぴょう","はっぽう","はなす","はなび","はにかむ","はぶらし","はみがき","はむかう","はめつ","はやい","はやし","はらう","はろうぃん","はわい","はんい","はんえい","はんおん","はんかく","はんきょう","ばんぐみ","はんこ","はんしゃ","はんすう","はんだん","ぱんち","ぱんつ","はんてい","はんとし","はんのう","はんぱ","はんぶん","はんぺん","はんぼうき","はんめい","はんらん","はんろん","ひいき","ひうん","ひえる","ひかく","ひかり","ひかる","ひかん","ひくい","ひけつ","ひこうき","ひこく","ひさい","ひさしぶり","ひさん","びじゅつかん","ひしょ","ひそか","ひそむ","ひたむき","ひだり","ひたる","ひつぎ","ひっこし","ひっし","ひつじゅひん","ひっす","ひつぜん","ぴったり","ぴっちり","ひつよう","ひてい","ひとごみ","ひなまつり","ひなん","ひねる","ひはん","ひびく","ひひょう","ひほう","ひまわり","ひまん","ひみつ","ひめい","ひめじし","ひやけ","ひやす","ひよう","びょうき","ひらがな","ひらく","ひりつ","ひりょう","ひるま","ひるやすみ","ひれい","ひろい","ひろう","ひろき","ひろゆき","ひんかく","ひんけつ","ひんこん","ひんしゅ","ひんそう","ぴんち","ひんぱん","びんぼう","ふあん","ふいうち","ふうけい","ふうせん","ぷうたろう","ふうとう","ふうふ","ふえる","ふおん","ふかい","ふきん","ふくざつ","ふくぶくろ","ふこう","ふさい","ふしぎ","ふじみ","ふすま","ふせい","ふせぐ","ふそく","ぶたにく","ふたん","ふちょう","ふつう","ふつか","ふっかつ","ふっき","ふっこく","ぶどう","ふとる","ふとん","ふのう","ふはい","ふひょう","ふへん","ふまん","ふみん","ふめつ","ふめん","ふよう","ふりこ","ふりる","ふるい","ふんいき","ぶんがく","ぶんぐ","ふんしつ","ぶんせき","ふんそう","ぶんぽう","へいあん","へいおん","へいがい","へいき","へいげん","へいこう","へいさ","へいしゃ","へいせつ","へいそ","へいたく","へいてん","へいねつ","へいわ","へきが","へこむ","べにいろ","べにしょうが","へらす","へんかん","べんきょう","べんごし","へんさい","へんたい","べんり","ほあん","ほいく","ぼうぎょ","ほうこく","ほうそう","ほうほう","ほうもん","ほうりつ","ほえる","ほおん","ほかん","ほきょう","ぼきん","ほくろ","ほけつ","ほけん","ほこう","ほこる","ほしい","ほしつ","ほしゅ","ほしょう","ほせい","ほそい","ほそく","ほたて","ほたる","ぽちぶくろ","ほっきょく","ほっさ","ほったん","ほとんど","ほめる","ほんい","ほんき","ほんけ","ほんしつ","ほんやく","まいにち","まかい","まかせる","まがる","まける","まこと","まさつ","まじめ","ますく","まぜる","まつり","まとめ","まなぶ","まぬけ","まねく","まほう","まもる","まゆげ","まよう","まろやか","まわす","まわり","まわる","まんが","まんきつ","まんぞく","まんなか","みいら","みうち","みえる","みがく","みかた","みかん","みけん","みこん","みじかい","みすい","みすえる","みせる","みっか","みつかる","みつける","みてい","みとめる","みなと","みなみかさい","みねらる","みのう","みのがす","みほん","みもと","みやげ","みらい","みりょく","みわく","みんか","みんぞく","むいか","むえき","むえん","むかい","むかう","むかえ","むかし","むぎちゃ","むける","むげん","むさぼる","むしあつい","むしば","むじゅん","むしろ","むすう","むすこ","むすぶ","むすめ","むせる","むせん","むちゅう","むなしい","むのう","むやみ","むよう","むらさき","むりょう","むろん","めいあん","めいうん","めいえん","めいかく","めいきょく","めいさい","めいし","めいそう","めいぶつ","めいれい","めいわく","めぐまれる","めざす","めした","めずらしい","めだつ","めまい","めやす","めんきょ","めんせき","めんどう","もうしあげる","もうどうけん","もえる","もくし","もくてき","もくようび","もちろん","もどる","もらう","もんく","もんだい","やおや","やける","やさい","やさしい","やすい","やすたろう","やすみ","やせる","やそう","やたい","やちん","やっと","やっぱり","やぶる","やめる","ややこしい","やよい","やわらかい","ゆうき","ゆうびんきょく","ゆうべ","ゆうめい","ゆけつ","ゆしゅつ","ゆせん","ゆそう","ゆたか","ゆちゃく","ゆでる","ゆにゅう","ゆびわ","ゆらい","ゆれる","ようい","ようか","ようきゅう","ようじ","ようす","ようちえん","よかぜ","よかん","よきん","よくせい","よくぼう","よけい","よごれる","よさん","よしゅう","よそう","よそく","よっか","よてい","よどがわく","よねつ","よやく","よゆう","よろこぶ","よろしい","らいう","らくがき","らくご","らくさつ","らくだ","らしんばん","らせん","らぞく","らたい","らっか","られつ","りえき","りかい","りきさく","りきせつ","りくぐん","りくつ","りけん","りこう","りせい","りそう","りそく","りてん","りねん","りゆう","りゅうがく","りよう","りょうり","りょかん","りょくちゃ","りょこう","りりく","りれき","りろん","りんご","るいけい","るいさい","るいじ","るいせき","るすばん","るりがわら","れいかん","れいぎ","れいせい","れいぞうこ","れいとう","れいぼう","れきし","れきだい","れんあい","れんけい","れんこん","れんさい","れんしゅう","れんぞく","れんらく","ろうか","ろうご","ろうじん","ろうそく","ろくが","ろこつ","ろじうら","ろしゅつ","ろせん","ろてん","ろめん","ろれつ","ろんぎ","ろんぱ","ろんぶん","ろんり","わかす","わかめ","わかやま","わかれる","わしつ","わじまし","わすれもの","わらう","われる"]')},function(e){e.exports=JSON.parse('["abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse","access","accident","account","accuse","achieve","acid","acoustic","acquire","across","act","action","actor","actress","actual","adapt","add","addict","address","adjust","admit","adult","advance","advice","aerobic","affair","afford","afraid","again","age","agent","agree","ahead","aim","air","airport","aisle","alarm","album","alcohol","alert","alien","all","alley","allow","almost","alone","alpha","already","also","alter","always","amateur","amazing","among","amount","amused","analyst","anchor","ancient","anger","angle","angry","animal","ankle","announce","annual","another","answer","antenna","antique","anxiety","any","apart","apology","appear","apple","approve","april","arch","arctic","area","arena","argue","arm","armed","armor","army","around","arrange","arrest","arrive","arrow","art","artefact","artist","artwork","ask","aspect","assault","asset","assist","assume","asthma","athlete","atom","attack","attend","attitude","attract","auction","audit","august","aunt","author","auto","autumn","average","avocado","avoid","awake","aware","away","awesome","awful","awkward","axis","baby","bachelor","bacon","badge","bag","balance","balcony","ball","bamboo","banana","banner","bar","barely","bargain","barrel","base","basic","basket","battle","beach","bean","beauty","because","become","beef","before","begin","behave","behind","believe","below","belt","bench","benefit","best","betray","better","between","beyond","bicycle","bid","bike","bind","biology","bird","birth","bitter","black","blade","blame","blanket","blast","bleak","bless","blind","blood","blossom","blouse","blue","blur","blush","board","boat","body","boil","bomb","bone","bonus","book","boost","border","boring","borrow","boss","bottom","bounce","box","boy","bracket","brain","brand","brass","brave","bread","breeze","brick","bridge","brief","bright","bring","brisk","broccoli","broken","bronze","broom","brother","brown","brush","bubble","buddy","budget","buffalo","build","bulb","bulk","bullet","bundle","bunker","burden","burger","burst","bus","business","busy","butter","buyer","buzz","cabbage","cabin","cable","cactus","cage","cake","call","calm","camera","camp","can","canal","cancel","candy","cannon","canoe","canvas","canyon","capable","capital","captain","car","carbon","card","cargo","carpet","carry","cart","case","cash","casino","castle","casual","cat","catalog","catch","category","cattle","caught","cause","caution","cave","ceiling","celery","cement","census","century","cereal","certain","chair","chalk","champion","change","chaos","chapter","charge","chase","chat","cheap","check","cheese","chef","cherry","chest","chicken","chief","child","chimney","choice","choose","chronic","chuckle","chunk","churn","cigar","cinnamon","circle","citizen","city","civil","claim","clap","clarify","claw","clay","clean","clerk","clever","click","client","cliff","climb","clinic","clip","clock","clog","close","cloth","cloud","clown","club","clump","cluster","clutch","coach","coast","coconut","code","coffee","coil","coin","collect","color","column","combine","come","comfort","comic","common","company","concert","conduct","confirm","congress","connect","consider","control","convince","cook","cool","copper","copy","coral","core","corn","correct","cost","cotton","couch","country","couple","course","cousin","cover","coyote","crack","cradle","craft","cram","crane","crash","crater","crawl","crazy","cream","credit","creek","crew","cricket","crime","crisp","critic","crop","cross","crouch","crowd","crucial","cruel","cruise","crumble","crunch","crush","cry","crystal","cube","culture","cup","cupboard","curious","current","curtain","curve","cushion","custom","cute","cycle","dad","damage","damp","dance","danger","daring","dash","daughter","dawn","day","deal","debate","debris","decade","december","decide","decline","decorate","decrease","deer","defense","define","defy","degree","delay","deliver","demand","demise","denial","dentist","deny","depart","depend","deposit","depth","deputy","derive","describe","desert","design","desk","despair","destroy","detail","detect","develop","device","devote","diagram","dial","diamond","diary","dice","diesel","diet","differ","digital","dignity","dilemma","dinner","dinosaur","direct","dirt","disagree","discover","disease","dish","dismiss","disorder","display","distance","divert","divide","divorce","dizzy","doctor","document","dog","doll","dolphin","domain","donate","donkey","donor","door","dose","double","dove","draft","dragon","drama","drastic","draw","dream","dress","drift","drill","drink","drip","drive","drop","drum","dry","duck","dumb","dune","during","dust","dutch","duty","dwarf","dynamic","eager","eagle","early","earn","earth","easily","east","easy","echo","ecology","economy","edge","edit","educate","effort","egg","eight","either","elbow","elder","electric","elegant","element","elephant","elevator","elite","else","embark","embody","embrace","emerge","emotion","employ","empower","empty","enable","enact","end","endless","endorse","enemy","energy","enforce","engage","engine","enhance","enjoy","enlist","enough","enrich","enroll","ensure","enter","entire","entry","envelope","episode","equal","equip","era","erase","erode","erosion","error","erupt","escape","essay","essence","estate","eternal","ethics","evidence","evil","evoke","evolve","exact","example","excess","exchange","excite","exclude","excuse","execute","exercise","exhaust","exhibit","exile","exist","exit","exotic","expand","expect","expire","explain","expose","express","extend","extra","eye","eyebrow","fabric","face","faculty","fade","faint","faith","fall","false","fame","family","famous","fan","fancy","fantasy","farm","fashion","fat","fatal","father","fatigue","fault","favorite","feature","february","federal","fee","feed","feel","female","fence","festival","fetch","fever","few","fiber","fiction","field","figure","file","film","filter","final","find","fine","finger","finish","fire","firm","first","fiscal","fish","fit","fitness","fix","flag","flame","flash","flat","flavor","flee","flight","flip","float","flock","floor","flower","fluid","flush","fly","foam","focus","fog","foil","fold","follow","food","foot","force","forest","forget","fork","fortune","forum","forward","fossil","foster","found","fox","fragile","frame","frequent","fresh","friend","fringe","frog","front","frost","frown","frozen","fruit","fuel","fun","funny","furnace","fury","future","gadget","gain","galaxy","gallery","game","gap","garage","garbage","garden","garlic","garment","gas","gasp","gate","gather","gauge","gaze","general","genius","genre","gentle","genuine","gesture","ghost","giant","gift","giggle","ginger","giraffe","girl","give","glad","glance","glare","glass","glide","glimpse","globe","gloom","glory","glove","glow","glue","goat","goddess","gold","good","goose","gorilla","gospel","gossip","govern","gown","grab","grace","grain","grant","grape","grass","gravity","great","green","grid","grief","grit","grocery","group","grow","grunt","guard","guess","guide","guilt","guitar","gun","gym","habit","hair","half","hammer","hamster","hand","happy","harbor","hard","harsh","harvest","hat","have","hawk","hazard","head","health","heart","heavy","hedgehog","height","hello","helmet","help","hen","hero","hidden","high","hill","hint","hip","hire","history","hobby","hockey","hold","hole","holiday","hollow","home","honey","hood","hope","horn","horror","horse","hospital","host","hotel","hour","hover","hub","huge","human","humble","humor","hundred","hungry","hunt","hurdle","hurry","hurt","husband","hybrid","ice","icon","idea","identify","idle","ignore","ill","illegal","illness","image","imitate","immense","immune","impact","impose","improve","impulse","inch","include","income","increase","index","indicate","indoor","industry","infant","inflict","inform","inhale","inherit","initial","inject","injury","inmate","inner","innocent","input","inquiry","insane","insect","inside","inspire","install","intact","interest","into","invest","invite","involve","iron","island","isolate","issue","item","ivory","jacket","jaguar","jar","jazz","jealous","jeans","jelly","jewel","job","join","joke","journey","joy","judge","juice","jump","jungle","junior","junk","just","kangaroo","keen","keep","ketchup","key","kick","kid","kidney","kind","kingdom","kiss","kit","kitchen","kite","kitten","kiwi","knee","knife","knock","know","lab","label","labor","ladder","lady","lake","lamp","language","laptop","large","later","latin","laugh","laundry","lava","law","lawn","lawsuit","layer","lazy","leader","leaf","learn","leave","lecture","left","leg","legal","legend","leisure","lemon","lend","length","lens","leopard","lesson","letter","level","liar","liberty","library","license","life","lift","light","like","limb","limit","link","lion","liquid","list","little","live","lizard","load","loan","lobster","local","lock","logic","lonely","long","loop","lottery","loud","lounge","love","loyal","lucky","luggage","lumber","lunar","lunch","luxury","lyrics","machine","mad","magic","magnet","maid","mail","main","major","make","mammal","man","manage","mandate","mango","mansion","manual","maple","marble","march","margin","marine","market","marriage","mask","mass","master","match","material","math","matrix","matter","maximum","maze","meadow","mean","measure","meat","mechanic","medal","media","melody","melt","member","memory","mention","menu","mercy","merge","merit","merry","mesh","message","metal","method","middle","midnight","milk","million","mimic","mind","minimum","minor","minute","miracle","mirror","misery","miss","mistake","mix","mixed","mixture","mobile","model","modify","mom","moment","monitor","monkey","monster","month","moon","moral","more","morning","mosquito","mother","motion","motor","mountain","mouse","move","movie","much","muffin","mule","multiply","muscle","museum","mushroom","music","must","mutual","myself","mystery","myth","naive","name","napkin","narrow","nasty","nation","nature","near","neck","need","negative","neglect","neither","nephew","nerve","nest","net","network","neutral","never","news","next","nice","night","noble","noise","nominee","noodle","normal","north","nose","notable","note","nothing","notice","novel","now","nuclear","number","nurse","nut","oak","obey","object","oblige","obscure","observe","obtain","obvious","occur","ocean","october","odor","off","offer","office","often","oil","okay","old","olive","olympic","omit","once","one","onion","online","only","open","opera","opinion","oppose","option","orange","orbit","orchard","order","ordinary","organ","orient","original","orphan","ostrich","other","outdoor","outer","output","outside","oval","oven","over","own","owner","oxygen","oyster","ozone","pact","paddle","page","pair","palace","palm","panda","panel","panic","panther","paper","parade","parent","park","parrot","party","pass","patch","path","patient","patrol","pattern","pause","pave","payment","peace","peanut","pear","peasant","pelican","pen","penalty","pencil","people","pepper","perfect","permit","person","pet","phone","photo","phrase","physical","piano","picnic","picture","piece","pig","pigeon","pill","pilot","pink","pioneer","pipe","pistol","pitch","pizza","place","planet","plastic","plate","play","please","pledge","pluck","plug","plunge","poem","poet","point","polar","pole","police","pond","pony","pool","popular","portion","position","possible","post","potato","pottery","poverty","powder","power","practice","praise","predict","prefer","prepare","present","pretty","prevent","price","pride","primary","print","priority","prison","private","prize","problem","process","produce","profit","program","project","promote","proof","property","prosper","protect","proud","provide","public","pudding","pull","pulp","pulse","pumpkin","punch","pupil","puppy","purchase","purity","purpose","purse","push","put","puzzle","pyramid","quality","quantum","quarter","question","quick","quit","quiz","quote","rabbit","raccoon","race","rack","radar","radio","rail","rain","raise","rally","ramp","ranch","random","range","rapid","rare","rate","rather","raven","raw","razor","ready","real","reason","rebel","rebuild","recall","receive","recipe","record","recycle","reduce","reflect","reform","refuse","region","regret","regular","reject","relax","release","relief","rely","remain","remember","remind","remove","render","renew","rent","reopen","repair","repeat","replace","report","require","rescue","resemble","resist","resource","response","result","retire","retreat","return","reunion","reveal","review","reward","rhythm","rib","ribbon","rice","rich","ride","ridge","rifle","right","rigid","ring","riot","ripple","risk","ritual","rival","river","road","roast","robot","robust","rocket","romance","roof","rookie","room","rose","rotate","rough","round","route","royal","rubber","rude","rug","rule","run","runway","rural","sad","saddle","sadness","safe","sail","salad","salmon","salon","salt","salute","same","sample","sand","satisfy","satoshi","sauce","sausage","save","say","scale","scan","scare","scatter","scene","scheme","school","science","scissors","scorpion","scout","scrap","screen","script","scrub","sea","search","season","seat","second","secret","section","security","seed","seek","segment","select","sell","seminar","senior","sense","sentence","series","service","session","settle","setup","seven","shadow","shaft","shallow","share","shed","shell","sheriff","shield","shift","shine","ship","shiver","shock","shoe","shoot","shop","short","shoulder","shove","shrimp","shrug","shuffle","shy","sibling","sick","side","siege","sight","sign","silent","silk","silly","silver","similar","simple","since","sing","siren","sister","situate","six","size","skate","sketch","ski","skill","skin","skirt","skull","slab","slam","sleep","slender","slice","slide","slight","slim","slogan","slot","slow","slush","small","smart","smile","smoke","smooth","snack","snake","snap","sniff","snow","soap","soccer","social","sock","soda","soft","solar","soldier","solid","solution","solve","someone","song","soon","sorry","sort","soul","sound","soup","source","south","space","spare","spatial","spawn","speak","special","speed","spell","spend","sphere","spice","spider","spike","spin","spirit","split","spoil","sponsor","spoon","sport","spot","spray","spread","spring","spy","square","squeeze","squirrel","stable","stadium","staff","stage","stairs","stamp","stand","start","state","stay","steak","steel","stem","step","stereo","stick","still","sting","stock","stomach","stone","stool","story","stove","strategy","street","strike","strong","struggle","student","stuff","stumble","style","subject","submit","subway","success","such","sudden","suffer","sugar","suggest","suit","summer","sun","sunny","sunset","super","supply","supreme","sure","surface","surge","surprise","surround","survey","suspect","sustain","swallow","swamp","swap","swarm","swear","sweet","swift","swim","swing","switch","sword","symbol","symptom","syrup","system","table","tackle","tag","tail","talent","talk","tank","tape","target","task","taste","tattoo","taxi","teach","team","tell","ten","tenant","tennis","tent","term","test","text","thank","that","theme","then","theory","there","they","thing","this","thought","three","thrive","throw","thumb","thunder","ticket","tide","tiger","tilt","timber","time","tiny","tip","tired","tissue","title","toast","tobacco","today","toddler","toe","together","toilet","token","tomato","tomorrow","tone","tongue","tonight","tool","tooth","top","topic","topple","torch","tornado","tortoise","toss","total","tourist","toward","tower","town","toy","track","trade","traffic","tragic","train","transfer","trap","trash","travel","tray","treat","tree","trend","trial","tribe","trick","trigger","trim","trip","trophy","trouble","truck","true","truly","trumpet","trust","truth","try","tube","tuition","tumble","tuna","tunnel","turkey","turn","turtle","twelve","twenty","twice","twin","twist","two","type","typical","ugly","umbrella","unable","unaware","uncle","uncover","under","undo","unfair","unfold","unhappy","uniform","unique","unit","universe","unknown","unlock","until","unusual","unveil","update","upgrade","uphold","upon","upper","upset","urban","urge","usage","use","used","useful","useless","usual","utility","vacant","vacuum","vague","valid","valley","valve","van","vanish","vapor","various","vast","vault","vehicle","velvet","vendor","venture","venue","verb","verify","version","very","vessel","veteran","viable","vibrant","vicious","victory","video","view","village","vintage","violin","virtual","virus","visa","visit","visual","vital","vivid","vocal","voice","void","volcano","volume","vote","voyage","wage","wagon","wait","walk","wall","walnut","want","warfare","warm","warrior","wash","wasp","waste","water","wave","way","wealth","weapon","wear","weasel","weather","web","wedding","weekend","weird","welcome","west","wet","whale","what","wheat","wheel","when","where","whip","whisper","wide","width","wife","wild","will","win","window","wine","wing","wink","winner","winter","wire","wisdom","wise","wish","witness","wolf","woman","wonder","wood","wool","word","work","world","worry","worth","wrap","wreck","wrestle","wrist","write","wrong","yard","year","yellow","you","young","youth","zebra","zero","zone","zoo"]')},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(255);t.fromSeed=i.fromSeed,t.fromBase58=i.fromBase58,t.fromPublicKey=i.fromPublicKey,t.fromPrivateKey=i.fromPrivateKey},function(e,t,r){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});const i=r(256),n=r(115),a=r(260),o=r(262),s=r(264),f=o.BufferN(32),c=o.compile({wif:o.UInt8,bip32:{public:o.UInt32,private:o.UInt32}}),d={messagePrefix:"Bitcoin Signed Message:\n",bech32:"bc",bip32:{public:76067358,private:76066276},pubKeyHash:0,scriptHash:5,wif:128},u=Math.pow(2,31)-1;function h(e){return o.String(e)&&null!==e.match(/^(m\/)?(\d+'?\/)*\d+'?$/)}function l(e){return o.UInt32(e)&&e<=u}class b{constructor(e,t,r,i,n=0,a=0,s=0){this.__D=e,this.__Q=t,this.chainCode=r,this.network=i,this.__DEPTH=n,this.__INDEX=a,this.__PARENT_FINGERPRINT=s,o(c,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=a.pointFromScalar(this.__D,!0)),this.__Q}get privateKey(){return this.__D}get identifier(){return i.hash160(this.publicKey)}get fingerprint(){return this.identifier.slice(0,4)}get compressed(){return!0}isNeutered(){return void 0===this.__D}neutered(){return g(this.publicKey,this.chainCode,this.network,this.depth,this.index,this.parentFingerprint)}toBase58(){const t=this.network,r=this.isNeutered()?t.bip32.public:t.bip32.private,i=e.allocUnsafe(78);return i.writeUInt32BE(r,0),i.writeUInt8(this.depth,4),i.writeUInt32BE(this.parentFingerprint,5),i.writeUInt32BE(this.index,9),this.chainCode.copy(i,13),this.isNeutered()?this.publicKey.copy(i,45):(i.writeUInt8(0,45),this.privateKey.copy(i,46)),n.encode(i)}toWIF(){if(!this.privateKey)throw new TypeError("Missing private key");return s.encode(this.network.wif,this.privateKey,!0)}derive(t){o(o.UInt32,t);const r=t>=2147483648,n=e.allocUnsafe(37);if(r){if(this.isNeutered())throw new TypeError("Missing private key for hardened child key");n[0]=0,this.privateKey.copy(n,1),n.writeUInt32BE(t,33)}else this.publicKey.copy(n,0),n.writeUInt32BE(t,33);const s=i.hmacSHA512(this.chainCode,n),f=s.slice(0,32),c=s.slice(32);if(!a.isPrivate(f))return this.derive(t+1);let d;if(this.isNeutered()){const e=a.pointAddScalar(this.publicKey,f,!0);if(null===e)return this.derive(t+1);d=g(e,c,this.network,this.depth+1,t,this.fingerprint.readUInt32BE(0))}else{const e=a.privateAdd(this.privateKey,f);if(null==e)return this.derive(t+1);d=m(e,c,this.network,this.depth+1,t,this.fingerprint.readUInt32BE(0))}return d}deriveHardened(e){return o(l,e),this.derive(e+2147483648)}derivePath(e){o(h,e);let t=e.split("/");if("m"===t[0]){if(this.parentFingerprint)throw new TypeError("Expected master, got child");t=t.slice(1)}return t.reduce((e,t)=>{let r;return"'"===t.slice(-1)?(r=parseInt(t.slice(0,-1),10),e.deriveHardened(r)):(r=parseInt(t,10),e.derive(r))},this)}sign(t,r){if(!this.privateKey)throw new Error("Missing private key");if(void 0===r&&(r=this.lowR),!1===r)return a.sign(t,this.privateKey);{let r=a.sign(t,this.privateKey);const i=e.alloc(32,0);let n=0;for(;r[0]>127;)n++,i.writeUIntLE(n,0,6),r=a.signWithEntropy(t,this.privateKey,i);return r}}verify(e,t){return a.verify(e,this.publicKey,t)}}function p(e,t,r){return m(e,t,r)}function m(e,t,r,i,n,s){if(o({privateKey:f,chainCode:f},{privateKey:e,chainCode:t}),r=r||d,!a.isPrivate(e))throw new TypeError("Private key not in range [1, n)");return new b(e,void 0,t,r,i,n,s)}function g(e,t,r,i,n,s){if(o({publicKey:o.BufferN(33),chainCode:f},{publicKey:e,chainCode:t}),r=r||d,!a.isPoint(e))throw new TypeError("Point is not on the curve");return new b(void 0,e,t,r,i,n,s)}t.fromBase58=function(e,t){const r=n.decode(e);if(78!==r.length)throw new TypeError("Invalid buffer length");t=t||d;const i=r.readUInt32BE(0);if(i!==t.bip32.private&&i!==t.bip32.public)throw new TypeError("Invalid network version");const a=r[4],o=r.readUInt32BE(5);if(0===a&&0!==o)throw new TypeError("Invalid parent fingerprint");const s=r.readUInt32BE(9);if(0===a&&0!==s)throw new TypeError("Invalid index");const f=r.slice(13,45);let c;if(i===t.bip32.private){if(0!==r.readUInt8(45))throw new TypeError("Invalid private key");c=m(r.slice(46,78),f,t,a,s,o)}else{c=g(r.slice(45,78),f,t,a,s,o)}return c},t.fromPrivateKey=p,t.fromPublicKey=function(e,t,r){return g(e,t,r)},t.fromSeed=function(t,r){if(o(o.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");r=r||d;const n=i.hmacSHA512(e.from("Bitcoin seed","utf8"),t);return p(n.slice(0,32),n.slice(32),r)}}).call(this,r(2).Buffer)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=r(11),n=r(27);t.hash160=function(e){const t=i("sha256").update(e).digest();try{return i("rmd160").update(t).digest()}catch(e){return i("ripemd160").update(t).digest()}},t.hmacSHA512=function(e,t){return n("sha512",e).update(t).digest()}},function(e,t,r){"use strict";var i=r(258),n=r(1).Buffer;e.exports=function(e){function t(t){var r=t.slice(0,-4),i=t.slice(-4),n=e(r);if(!(i[0]^n[0]|i[1]^n[1]|i[2]^n[2]|i[3]^n[3]))return r}return{encode:function(t){var r=e(t);return i.encode(n.concat([t,r],t.length+4))},decode:function(e){var r=t(i.decode(e));if(!r)throw new Error("Invalid checksum");return r},decodeUnsafe:function(e){var r=i.decodeUnsafe(e);if(r)return t(r)}}}},function(e,t,r){var i=r(259);e.exports=i("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz")},function(e,t,r){"use strict";var i=r(1).Buffer;e.exports=function(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),r=0;r<t.length;r++)t[r]=255;for(var n=0;n<e.length;n++){var a=e.charAt(n),o=a.charCodeAt(0);if(255!==t[o])throw new TypeError(a+" is ambiguous");t[o]=n}var s=e.length,f=e.charAt(0),c=Math.log(s)/Math.log(256),d=Math.log(256)/Math.log(s);function u(e){if("string"!=typeof e)throw new TypeError("Expected String");if(0===e.length)return i.alloc(0);var r=0;if(" "!==e[r]){for(var n=0,a=0;e[r]===f;)n++,r++;for(var o=(e.length-r)*c+1>>>0,d=new Uint8Array(o);e[r];){var u=t[e.charCodeAt(r)];if(255===u)return;for(var h=0,l=o-1;(0!==u||h<a)&&-1!==l;l--,h++)u+=s*d[l]>>>0,d[l]=u%256>>>0,u=u/256>>>0;if(0!==u)throw new Error("Non-zero carry");a=h,r++}if(" "!==e[r]){for(var b=o-a;b!==o&&0===d[b];)b++;var p=i.allocUnsafe(n+(o-b));p.fill(0,0,n);for(var m=n;b!==o;)p[m++]=d[b++];return p}}}return{encode:function(t){if((Array.isArray(t)||t instanceof Uint8Array)&&(t=i.from(t)),!i.isBuffer(t))throw new TypeError("Expected Buffer");if(0===t.length)return"";for(var r=0,n=0,a=0,o=t.length;a!==o&&0===t[a];)a++,r++;for(var c=(o-a)*d+1>>>0,u=new Uint8Array(c);a!==o;){for(var h=t[a],l=0,b=c-1;(0!==h||l<n)&&-1!==b;b--,l++)h+=256*u[b]>>>0,u[b]=h%s>>>0,h=h/s>>>0;if(0!==h)throw new Error("Non-zero carry");n=l,a++}for(var p=c-n;p!==c&&0===u[p];)p++;for(var m=f.repeat(r);p<c;++p)m+=e.charAt(u[p]);return m},decodeUnsafe:u,decode:function(e){var t=u(e);if(t)return t;throw new Error("Non-base"+s+" character")}}}},function(e,t,r){(function(t){const i=r(4),n=new(0,r(30).ec)("secp256k1"),a=r(261),o=t.alloc(32,0),s=t.from("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141","hex"),f=t.from("fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f","hex"),c=n.curve.n,d=c.shrn(1),u=n.curve.g;function h(e){return t.isBuffer(e)&&32===e.length}function l(e){return!!h(e)&&e.compare(s)<0}function b(e){if(!t.isBuffer(e))return!1;if(e.length<33)return!1;const r=e[0],i=e.slice(1,33);if(0===i.compare(o))return!1;if(i.compare(f)>=0)return!1;if((2===r||3===r)&&33===e.length){try{w(e)}catch(e){return!1}return!0}const n=e.slice(33);return 0!==n.compare(o)&&(!(n.compare(f)>=0)&&(4===r&&65===e.length))}function p(e){return 4!==e[0]}function m(e){return!!h(e)&&(e.compare(o)>0&&e.compare(s)<0)}function g(e,t){return void 0===e&&void 0!==t?p(t):void 0===e||e}function v(e){return new i(e)}function y(e){return e.toArrayLike(t,"be",32)}function w(e){return n.curve.decodePoint(e)}function _(e,r){return t.from(e._encode(r))}function M(e,r,i){if(!h(e))throw new TypeError("Expected Hash");if(!m(r))throw new TypeError("Expected Private");if(void 0!==i&&!h(i))throw new TypeError("Expected Extra Data (32 bytes)");const n=v(r),o=v(e);let s,f;a(e,r,(function(e){const t=v(e),r=u.mul(t);return!r.isInfinity()&&(s=r.x.umod(c),0!==s.isZero()&&(f=t.invm(c).mul(o.add(n.mul(s))).umod(c),0!==f.isZero()))}),m,i),f.cmp(d)>0&&(f=c.sub(f));const l=t.allocUnsafe(64);return y(s).copy(l,0),y(f).copy(l,32),l}e.exports={isPoint:b,isPointCompressed:function(e){return!!b(e)&&p(e)},isPrivate:m,pointAdd:function(e,t,r){if(!b(e))throw new TypeError("Expected Point");if(!b(t))throw new TypeError("Expected Point");const i=w(e),n=w(t),a=i.add(n);return a.isInfinity()?null:_(a,g(r,e))},pointAddScalar:function(e,t,r){if(!b(e))throw new TypeError("Expected Point");if(!l(t))throw new TypeError("Expected Tweak");const i=g(r,e),n=w(e);if(0===t.compare(o))return _(n,i);const a=v(t),s=u.mul(a),f=n.add(s);return f.isInfinity()?null:_(f,i)},pointCompress:function(e,t){if(!b(e))throw new TypeError("Expected Point");const r=w(e);if(r.isInfinity())throw new TypeError("Expected Point");return _(r,g(t,e))},pointFromScalar:function(e,t){if(!m(e))throw new TypeError("Expected Private");const r=v(e),i=u.mul(r);return i.isInfinity()?null:_(i,g(t))},pointMultiply:function(e,t,r){if(!b(e))throw new TypeError("Expected Point");if(!l(t))throw new TypeError("Expected Tweak");const i=g(r,e),n=w(e),a=v(t),o=n.mul(a);return o.isInfinity()?null:_(o,i)},privateAdd:function(e,t){if(!m(e))throw new TypeError("Expected Private");if(!l(t))throw new TypeError("Expected Tweak");const r=v(e),i=v(t),n=y(r.add(i).umod(c));return m(n)?n:null},privateSub:function(e,t){if(!m(e))throw new TypeError("Expected Private");if(!l(t))throw new TypeError("Expected Tweak");const r=v(e),i=v(t),n=y(r.sub(i).umod(c));return m(n)?n:null},sign:function(e,t){return M(e,t)},signWithEntropy:function(e,t,r){return M(e,t,r)},verify:function(e,r,i,n){if(!h(e))throw new TypeError("Expected Hash");if(!b(r))throw new TypeError("Expected Point");if(!function(e){const r=e.slice(0,32),i=e.slice(32,64);return t.isBuffer(e)&&64===e.length&&r.compare(s)<0&&i.compare(s)<0}(i))throw new TypeError("Expected Signature");const a=w(r),o=v(i.slice(0,32)),f=v(i.slice(32,64));if(n&&f.cmp(d)>0)return!1;if(o.gtn(0)<=0)return!1;if(f.gtn(0)<=0)return!1;const l=v(e),p=f.invm(c),m=l.mul(p).umod(c),g=o.mul(p).umod(c),y=u.mulAdd(m,a,g);return!y.isInfinity()&&y.x.umod(c).eq(o)}}}).call(this,r(2).Buffer)},function(e,t,r){(function(t){const i=r(27),n=t.alloc(1,1),a=t.alloc(1,0);e.exports=function(e,r,o,s,f){let c=t.alloc(32,0),d=t.alloc(32,1);c=i("sha256",c).update(d).update(a).update(r).update(e).update(f||"").digest(),d=i("sha256",c).update(d).digest(),c=i("sha256",c).update(d).update(n).update(r).update(e).update(f||"").digest(),d=i("sha256",c).update(d).digest(),d=i("sha256",c).update(d).digest();let u=d;for(;!s(u)||!o(u);)c=i("sha256",c).update(d).update(a).digest(),d=i("sha256",c).update(d).digest(),d=i("sha256",c).update(d).digest(),u=d;return u}}).call(this,r(2).Buffer)},function(e,t,r){var i=r(116),n=r(55),a=i.tfJSON,o=i.TfTypeError,s=i.TfPropertyTypeError,f=i.tfSubError,c=i.getValueTypeName,d={arrayOf:function(e,t){function r(r,i){return!!n.Array(r)&&(!n.Nil(r)&&(!(void 0!==t.minLength&&r.length<t.minLength)&&(!(void 0!==t.maxLength&&r.length>t.maxLength)&&((void 0===t.length||r.length===t.length)&&r.every((function(t,r){try{return h(e,t,i)}catch(e){throw f(e,r)}}))))))}return e=u(e),t=t||{},r.toJSON=function(){var r="["+a(e)+"]";return void 0!==t.length?r+="{"+t.length+"}":void 0===t.minLength&&void 0===t.maxLength||(r+="{"+(void 0===t.minLength?0:t.minLength)+","+(void 0===t.maxLength?1/0:t.maxLength)+"}"),r},r},maybe:function e(t){function r(r,i){return n.Nil(r)||t(r,i,e)}return t=u(t),r.toJSON=function(){return"?"+a(t)},r},map:function(e,t){function r(r,i){if(!n.Object(r))return!1;if(n.Nil(r))return!1;for(var a in r){try{t&&h(t,a,i)}catch(e){throw f(e,a,"key")}try{var o=r[a];h(e,o,i)}catch(e){throw f(e,a)}}return!0}return e=u(e),t&&(t=u(t)),r.toJSON=t?function(){return"{"+a(t)+": "+a(e)+"}"}:function(){return"{"+a(e)+"}"},r},object:function(e){var t={};for(var r in e)t[r]=u(e[r]);function i(e,r){if(!n.Object(e))return!1;if(n.Nil(e))return!1;var i;try{for(i in t){h(t[i],e[i],r)}}catch(e){throw f(e,i)}if(r)for(i in e)if(!t[i])throw new s(void 0,i);return!0}return i.toJSON=function(){return a(t)},i},anyOf:function(){var e=[].slice.call(arguments).map(u);function t(t,r){return e.some((function(e){try{return h(e,t,r)}catch(e){return!1}}))}return t.toJSON=function(){return e.map(a).join("|")},t},allOf:function(){var e=[].slice.call(arguments).map(u);function t(t,r){return e.every((function(e){try{return h(e,t,r)}catch(e){return!1}}))}return t.toJSON=function(){return e.map(a).join(" & ")},t},quacksLike:function(e){function t(t){return e===c(t)}return t.toJSON=function(){return e},t},tuple:function(){var e=[].slice.call(arguments).map(u);function t(t,r){return!n.Nil(t)&&(!n.Nil(t.length)&&((!r||t.length===e.length)&&e.every((function(e,i){try{return h(e,t[i],r)}catch(e){throw f(e,i)}}))))}return t.toJSON=function(){return"("+e.map(a).join(", ")+")"},t},value:function(e){function t(t){return t===e}return t.toJSON=function(){return e},t}};function u(e){if(n.String(e))return"?"===e[0]?d.maybe(e.slice(1)):n[e]||d.quacksLike(e);if(e&&n.Object(e)){if(n.Array(e)){if(1!==e.length)throw new TypeError("Expected compile() parameter of type Array of length 1");return d.arrayOf(e[0])}return d.object(e)}return n.Function(e)?e:d.value(e)}function h(e,t,r,i){if(n.Function(e)){if(e(t,r))return!0;throw new o(i||e,t)}return h(u(e),t,r)}for(var l in d.oneOf=d.anyOf,n)h[l]=n[l];for(l in d)h[l]=d[l];var b=r(263);for(l in b)h[l]=b[l];h.compile=u,h.TfTypeError=o,h.TfPropertyTypeError=s,e.exports=h},function(e,t,r){(function(t){var i=r(55),n=r(116);function a(e){return t.isBuffer(e)}function o(e){return"string"==typeof e&&/^([0-9a-f]{2})+$/i.test(e)}function s(e,t){var r=e.toJSON();function i(i){if(!e(i))return!1;if(i.length===t)return!0;throw n.tfCustomError(r+"(Length: "+t+")",r+"(Length: "+i.length+")")}return i.toJSON=function(){return r},i}var f=s.bind(null,i.Array),c=s.bind(null,a),d=s.bind(null,o),u=s.bind(null,i.String);var h=Math.pow(2,53)-1;var l={ArrayN:f,Buffer:a,BufferN:c,Finite:function(e){return"number"==typeof e&&isFinite(e)},Hex:o,HexN:d,Int8:function(e){return e<<24>>24===e},Int16:function(e){return e<<16>>16===e},Int32:function(e){return(0|e)===e},Int53:function(e){return"number"==typeof e&&e>=-h&&e<=h&&Math.floor(e)===e},Range:function(e,t,r){function n(i,n){return r(i,n)&&i>e&&i<t}return r=r||i.Number,n.toJSON=function(){return`${r.toJSON()} between [${e}, ${t}]`},n},StringN:u,UInt8:function(e){return(255&e)===e},UInt16:function(e){return(65535&e)===e},UInt32:function(e){return e>>>0===e},UInt53:function(e){return"number"==typeof e&&e>=0&&e<=h&&Math.floor(e)===e}};for(var b in l)l[b].toJSON=function(e){return e}.bind(null,b);e.exports=l}).call(this,r(2).Buffer)},function(e,t,r){(function(t){var i=r(115);function n(e,t){if(void 0!==t&&e[0]!==t)throw new Error("Invalid network version");if(33===e.length)return{version:e[0],privateKey:e.slice(1,33),compressed:!1};if(34!==e.length)throw new Error("Invalid WIF length");if(1!==e[33])throw new Error("Invalid compression flag");return{version:e[0],privateKey:e.slice(1,33),compressed:!0}}function a(e,r,i){var n=new t(i?34:33);return n.writeUInt8(e,0),r.copy(n,1),i&&(n[33]=1),n}e.exports={decode:function(e,t){return n(i.decode(e),t)},decodeRaw:n,encode:function(e,t,r){return"number"==typeof e?i.encode(a(e,t,r)):i.encode(a(e.version,e.privateKey,e.compressed))},encodeRaw:a}}).call(this,r(2).Buffer)}])}));