!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.OAUTH3_crypto_fallback=e()}}(function(){return function e(t,r,i){function n(a,s){if(!r[a]){if(!t[a]){var o="function"==typeof require&&require;if(!s&&o)return o(a,!0);if(f)return f(a,!0);var h=new Error("Cannot find module '"+a+"'");throw h.code="MODULE_NOT_FOUND",h}var c=r[a]={exports:{}};t[a][0].call(c.exports,function(e){var r=t[a][1][e];return n(r||e)},c,c.exports,e,t,r,i)}return r[a].exports}for(var f="function"==typeof require&&require,a=0;ar)throw new Error("EC signature number bigger than expected");throw new Error('invalid size "'+r+'" converting BigNumber to Buffer')}function o(e){return s(e).toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=*$/,"")}function h(){var e=m.genKeyPair(),t={key_ops:["verify"],kty:"EC",crv:"P-256",x:o(e.getPublic().getX()),y:o(e.getPublic().getY())},r=JSON.parse(JSON.stringify(t));return r.key_ops=["sign"],r.d=o(e.getPrivate()),{privateKey:r,publicKey:t}}function c(e,r){var n=m.keyFromPrivate(t(e.d,"base64")),f=n.sign(i(r));return t.concat([s(f.r,32),s(f.s,32)])}function d(e,r,n){var f=m.keyFromPublic({x:t(e.x,"base64"),y:t(e.y,"base64")}),a={r:t(n.slice(0,n.length/2)),s:t(n.slice(n.length/2))};return f.verify(i(r),a)}function u(e){return function(){var t=arguments;return new OAUTH3.PromiseA(function(r){r(e.apply(null,t))})}}var l=e("create-hash"),b=e("pbkdf2"),p=e("browserify-aes"),m=e("elliptic/lib/elliptic/ec")("p256");r.sha256=u(i),r.pbkdf2=u(n),r.encrypt=u(f),r.decrypt=u(a),r.sign=u(c),r.verify=u(d),r.genEcdsaKeyPair=u(h)}()}).call(this,e("buffer").Buffer)},{"browserify-aes":8,buffer:23,"create-hash":26,"elliptic/lib/elliptic/ec":37,pbkdf2:61}],2:[function(e,t,r){"use strict";function i(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===e[t-2]?2:"="===e[t-1]?1:0}function n(e){return 3*e.length/4-i(e)}function f(e){var t,r,n,f,a,s,o=e.length;a=i(e),s=new d(3*o/4-a),n=a>0?o-4:o;var h=0;for(t=0,r=0;t>16&255,s[h++]=f>>8&255,s[h++]=255&f;return 2===a?(f=c[e.charCodeAt(t)]<<2|c[e.charCodeAt(t+1)]>>4,s[h++]=255&f):1===a&&(f=c[e.charCodeAt(t)]<<10|c[e.charCodeAt(t+1)]<<4|c[e.charCodeAt(t+2)]>>2,s[h++]=f>>8&255,s[h++]=255&f),s}function a(e){return h[e>>18&63]+h[e>>12&63]+h[e>>6&63]+h[63&e]}function s(e,t,r){for(var i,n=[],f=t;fo?o:a+16383));return 1===i?(t=e[r-1],n+=h[t>>2],n+=h[t<<4&63],n+="=="):2===i&&(t=(e[r-2]<<8)+e[r-1],n+=h[t>>10],n+=h[t>>4&63],n+=h[t<<2&63],n+="="),f.push(n),f.join("")}r.byteLength=n,r.toByteArray=f,r.fromByteArray=o;for(var h=[],c=[],d="undefined"!=typeof Uint8Array?Uint8Array:Array,u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",l=0,b=u.length;l=49&&a<=54?a-49+10:a>=17&&a<=22?a-17+10:15&a}return i}function s(e,t,r,i){for(var n=0,f=Math.min(e.length,r),a=t;a=49?s-49+10:s>=17?s-17+10:s}return n}function o(e){for(var t=new Array(e.bitLength()),r=0;r>>n}return t}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],f=0|t.words[0],a=n*f,s=67108863&a,o=a/67108864|0;r.words[0]=s;for(var h=1;h>>26,d=67108863&o,u=Math.min(h,t.length-1),l=Math.max(0,h-e.length+1);l<=u;l++){var b=h-l|0;n=0|e.words[b],f=0|t.words[l],a=n*f+d,c+=a/67108864|0,d=67108863&a}r.words[h]=0|d,o=0|c}return 0!==o?r.words[h]=0|o:r.length--,r.strip()}function c(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var i=0,n=0,f=0;f>>26)|0,n+=a>>>26,a&=67108863}r.words[f]=s,i=a,a=n}return 0!==i?r.words[f]=i:r.length--,r.strip()}function d(e,t,r){return(new u).mulp(e,t,r)}function u(e,t){this.x=e,this.y=t}function l(e,t){this.name=e,this.p=new f(t,16),this.n=this.p.bitLength(),this.k=new f(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){l.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function p(){l.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function m(){l.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function v(){l.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function g(e){if("string"==typeof e){var t=f._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 y(e){g.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new f(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)}"object"==typeof t?t.exports=f:r.BN=f,f.BN=f,f.wordSize=26;var w;try{w=e("buffer").Buffer}catch(e){}f.isBN=function(e){return e instanceof f||null!==e&&"object"==typeof e&&e.constructor.wordSize===f.wordSize&&Array.isArray(e.words)},f.max=function(e,t){return e.cmp(t)>0?e:t},f.min=function(e,t){return e.cmp(t)<0?e:t},f.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),e=e.toString().replace(/\s+/g,"");var n=0;"-"===e[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)},f.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)},f.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=0;n-=3)a=e[n]|e[n-1]<<8|e[n-2]<<16,this.words[f]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,f++);else if("le"===r)for(n=0,f=0;n>>26-s&67108863,(s+=24)>=26&&(s-=26,f++);return this.strip()},f.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var r=0;r=t;r-=6)n=a(e,r,r+6),this.words[i]|=n<>>26-f&4194303,(f+=24)>=26&&(f-=26,i++);r+6!==t&&(n=a(e,t,r+6),this.words[i]|=n<>>26-f&4194303),this.strip()},f.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 f=e.length-r,a=f%i,o=Math.min(f,f-a)+r,h=0,c=r;c1&&0===this.words[this.length-1];)this.length--;return this._normSign()},f.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},f.prototype.inspect=function(){return(this.red?""};var _=["","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"],M=[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],S=[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];f.prototype.toString=function(e,t){e=e||10,t=0|t||1;var r;if(16===e||"hex"===e){r="";for(var n=0,f=0,a=0;a>>24-n&16777215,r=0!==f||a!==this.length-1?_[6-o.length]+o+r:o+r,n+=2,n>=26&&(n-=26,a--)}for(0!==f&&(r=f.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=M[e],c=S[e];r="";var d=this.clone();for(d.negative=0;!d.isZero();){var u=d.modn(c).toString(e);d=d.idivn(c),r=d.isZero()?u+r:_[h-u.length]+u+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")},f.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},f.prototype.toJSON=function(){return this.toString(16)},f.prototype.toBuffer=function(e,t){return i(void 0!==w),this.toArrayLike(w,e,t)},f.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},f.prototype.toArrayLike=function(e,t,r){var n=this.byteLength(),f=r||Math.max(1,n);i(n<=f,"byte array longer than desired length"),i(f>0,"Requested array length <= 0"),this.strip();var a,s,o="le"===t,h=new e(f),c=this.clone();if(o){for(s=0;!c.isZero();s++)a=c.andln(255),c.iushrn(8),h[s]=a;for(;s=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},f.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},f.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},f.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},f.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},f.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;re.length?this.clone().iand(e):e.clone().iand(this)},f.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},f.prototype.iuxor=function(e){var t,r;this.length>e.length?(t=this,r=e):(t=e,r=this);for(var i=0;ie.length?this.clone().ixor(e):e.clone().ixor(this)},f.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},f.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;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},f.prototype.notn=function(e){return this.clone().inotn(e)},f.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<e.length?(r=this,i=e):(r=e,i=this);for(var n=0,f=0;f>>26;for(;0!==n&&f>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;fe.length?this.clone().iadd(e):e.clone().iadd(this)},f.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=this.cmp(e);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;var i,n;r>0?(i=this,n=e):(i=e,n=this);for(var f=0,a=0;a>26,this.words[a]=67108863&t;for(;0!==f&&a>26,this.words[a]=67108863&t;if(0===f&&a>>13,l=0|a[1],b=8191&l,p=l>>>13,m=0|a[2],v=8191&m,g=m>>>13,y=0|a[3],w=8191&y,_=y>>>13,M=0|a[4],S=8191&M,A=M>>>13,x=0|a[5],E=8191&x,k=x>>>13,I=0|a[6],B=8191&I,R=I>>>13,z=0|a[7],j=8191&z,L=z>>>13,C=0|a[8],q=8191&C,T=C>>>13,P=0|a[9],N=8191&P,O=P>>>13,U=0|s[0],F=8191&U,D=U>>>13,X=0|s[1],W=8191&X,V=X>>>13,H=0|s[2],J=8191&H,Z=H>>>13,K=0|s[3],Y=8191&K,G=K>>>13,$=0|s[4],Q=8191&$,ee=$>>>13,te=0|s[5],re=8191&te,ie=te>>>13,ne=0|s[6],fe=8191&ne,ae=ne>>>13,se=0|s[7],oe=8191&se,he=se>>>13,ce=0|s[8],de=8191&ce,ue=ce>>>13,le=0|s[9],be=8191&le,pe=le>>>13;r.negative=e.negative^t.negative,r.length=19,i=Math.imul(d,F),n=Math.imul(d,D),n=n+Math.imul(u,F)|0,f=Math.imul(u,D);var me=(h+i|0)+((8191&n)<<13)|0;h=(f+(n>>>13)|0)+(me>>>26)|0,me&=67108863,i=Math.imul(b,F),n=Math.imul(b,D),n=n+Math.imul(p,F)|0,f=Math.imul(p,D),i=i+Math.imul(d,W)|0,n=n+Math.imul(d,V)|0,n=n+Math.imul(u,W)|0,f=f+Math.imul(u,V)|0;var ve=(h+i|0)+((8191&n)<<13)|0;h=(f+(n>>>13)|0)+(ve>>>26)|0,ve&=67108863,i=Math.imul(v,F),n=Math.imul(v,D),n=n+Math.imul(g,F)|0,f=Math.imul(g,D),i=i+Math.imul(b,W)|0,n=n+Math.imul(b,V)|0,n=n+Math.imul(p,W)|0,f=f+Math.imul(p,V)|0,i=i+Math.imul(d,J)|0,n=n+Math.imul(d,Z)|0,n=n+Math.imul(u,J)|0,f=f+Math.imul(u,Z)|0;var ge=(h+i|0)+((8191&n)<<13)|0;h=(f+(n>>>13)|0)+(ge>>>26)|0,ge&=67108863,i=Math.imul(w,F),n=Math.imul(w,D),n=n+Math.imul(_,F)|0,f=Math.imul(_,D),i=i+Math.imul(v,W)|0,n=n+Math.imul(v,V)|0,n=n+Math.imul(g,W)|0,f=f+Math.imul(g,V)|0,i=i+Math.imul(b,J)|0,n=n+Math.imul(b,Z)|0,n=n+Math.imul(p,J)|0,f=f+Math.imul(p,Z)|0,i=i+Math.imul(d,Y)|0,n=n+Math.imul(d,G)|0,n=n+Math.imul(u,Y)|0,f=f+Math.imul(u,G)|0;var ye=(h+i|0)+((8191&n)<<13)|0;h=(f+(n>>>13)|0)+(ye>>>26)|0,ye&=67108863,i=Math.imul(S,F),n=Math.imul(S,D),n=n+Math.imul(A,F)|0,f=Math.imul(A,D),i=i+Math.imul(w,W)|0,n=n+Math.imul(w,V)|0,n=n+Math.imul(_,W)|0,f=f+Math.imul(_,V)|0,i=i+Math.imul(v,J)|0,n=n+Math.imul(v,Z)|0,n=n+Math.imul(g,J)|0,f=f+Math.imul(g,Z)|0,i=i+Math.imul(b,Y)|0,n=n+Math.imul(b,G)|0,n=n+Math.imul(p,Y)|0,f=f+Math.imul(p,G)|0,i=i+Math.imul(d,Q)|0,n=n+Math.imul(d,ee)|0,n=n+Math.imul(u,Q)|0,f=f+Math.imul(u,ee)|0;var we=(h+i|0)+((8191&n)<<13)|0;h=(f+(n>>>13)|0)+(we>>>26)|0,we&=67108863,i=Math.imul(E,F),n=Math.imul(E,D),n=n+Math.imul(k,F)|0,f=Math.imul(k,D),i=i+Math.imul(S,W)|0,n=n+Math.imul(S,V)|0,n=n+Math.imul(A,W)|0,f=f+Math.imul(A,V)|0,i=i+Math.imul(w,J)|0,n=n+Math.imul(w,Z)|0,n=n+Math.imul(_,J)|0,f=f+Math.imul(_,Z)|0,i=i+Math.imul(v,Y)|0,n=n+Math.imul(v,G)|0,n=n+Math.imul(g,Y)|0,f=f+Math.imul(g,G)|0,i=i+Math.imul(b,Q)|0,n=n+Math.imul(b,ee)|0,n=n+Math.imul(p,Q)|0,f=f+Math.imul(p,ee)|0,i=i+Math.imul(d,re)|0,n=n+Math.imul(d,ie)|0,n=n+Math.imul(u,re)|0,f=f+Math.imul(u,ie)|0;var _e=(h+i|0)+((8191&n)<<13)|0;h=(f+(n>>>13)|0)+(_e>>>26)|0,_e&=67108863,i=Math.imul(B,F),n=Math.imul(B,D),n=n+Math.imul(R,F)|0,f=Math.imul(R,D),i=i+Math.imul(E,W)|0,n=n+Math.imul(E,V)|0,n=n+Math.imul(k,W)|0,f=f+Math.imul(k,V)|0,i=i+Math.imul(S,J)|0,n=n+Math.imul(S,Z)|0,n=n+Math.imul(A,J)|0,f=f+Math.imul(A,Z)|0,i=i+Math.imul(w,Y)|0,n=n+Math.imul(w,G)|0,n=n+Math.imul(_,Y)|0,f=f+Math.imul(_,G)|0,i=i+Math.imul(v,Q)|0,n=n+Math.imul(v,ee)|0,n=n+Math.imul(g,Q)|0,f=f+Math.imul(g,ee)|0,i=i+Math.imul(b,re)|0,n=n+Math.imul(b,ie)|0,n=n+Math.imul(p,re)|0,f=f+Math.imul(p,ie)|0,i=i+Math.imul(d,fe)|0,n=n+Math.imul(d,ae)|0,n=n+Math.imul(u,fe)|0,f=f+Math.imul(u,ae)|0;var Me=(h+i|0)+((8191&n)<<13)|0;h=(f+(n>>>13)|0)+(Me>>>26)|0,Me&=67108863,i=Math.imul(j,F),n=Math.imul(j,D),n=n+Math.imul(L,F)|0,f=Math.imul(L,D),i=i+Math.imul(B,W)|0,n=n+Math.imul(B,V)|0,n=n+Math.imul(R,W)|0,f=f+Math.imul(R,V)|0,i=i+Math.imul(E,J)|0,n=n+Math.imul(E,Z)|0,n=n+Math.imul(k,J)|0,f=f+Math.imul(k,Z)|0,i=i+Math.imul(S,Y)|0,n=n+Math.imul(S,G)|0,n=n+Math.imul(A,Y)|0,f=f+Math.imul(A,G)|0,i=i+Math.imul(w,Q)|0,n=n+Math.imul(w,ee)|0,n=n+Math.imul(_,Q)|0,f=f+Math.imul(_,ee)|0,i=i+Math.imul(v,re)|0,n=n+Math.imul(v,ie)|0,n=n+Math.imul(g,re)|0,f=f+Math.imul(g,ie)|0,i=i+Math.imul(b,fe)|0,n=n+Math.imul(b,ae)|0,n=n+Math.imul(p,fe)|0,f=f+Math.imul(p,ae)|0,i=i+Math.imul(d,oe)|0,n=n+Math.imul(d,he)|0,n=n+Math.imul(u,oe)|0,f=f+Math.imul(u,he)|0;var Se=(h+i|0)+((8191&n)<<13)|0;h=(f+(n>>>13)|0)+(Se>>>26)|0,Se&=67108863,i=Math.imul(q,F),n=Math.imul(q,D),n=n+Math.imul(T,F)|0,f=Math.imul(T,D),i=i+Math.imul(j,W)|0,n=n+Math.imul(j,V)|0,n=n+Math.imul(L,W)|0,f=f+Math.imul(L,V)|0,i=i+Math.imul(B,J)|0,n=n+Math.imul(B,Z)|0,n=n+Math.imul(R,J)|0,f=f+Math.imul(R,Z)|0,i=i+Math.imul(E,Y)|0,n=n+Math.imul(E,G)|0,n=n+Math.imul(k,Y)|0,f=f+Math.imul(k,G)|0,i=i+Math.imul(S,Q)|0,n=n+Math.imul(S,ee)|0,n=n+Math.imul(A,Q)|0,f=f+Math.imul(A,ee)|0,i=i+Math.imul(w,re)|0,n=n+Math.imul(w,ie)|0,n=n+Math.imul(_,re)|0,f=f+Math.imul(_,ie)|0,i=i+Math.imul(v,fe)|0,n=n+Math.imul(v,ae)|0,n=n+Math.imul(g,fe)|0,f=f+Math.imul(g,ae)|0,i=i+Math.imul(b,oe)|0,n=n+Math.imul(b,he)|0,n=n+Math.imul(p,oe)|0,f=f+Math.imul(p,he)|0,i=i+Math.imul(d,de)|0,n=n+Math.imul(d,ue)|0,n=n+Math.imul(u,de)|0,f=f+Math.imul(u,ue)|0;var Ae=(h+i|0)+((8191&n)<<13)|0;h=(f+(n>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,i=Math.imul(N,F),n=Math.imul(N,D),n=n+Math.imul(O,F)|0,f=Math.imul(O,D),i=i+Math.imul(q,W)|0,n=n+Math.imul(q,V)|0,n=n+Math.imul(T,W)|0,f=f+Math.imul(T,V)|0,i=i+Math.imul(j,J)|0,n=n+Math.imul(j,Z)|0,n=n+Math.imul(L,J)|0,f=f+Math.imul(L,Z)|0,i=i+Math.imul(B,Y)|0,n=n+Math.imul(B,G)|0,n=n+Math.imul(R,Y)|0,f=f+Math.imul(R,G)|0,i=i+Math.imul(E,Q)|0,n=n+Math.imul(E,ee)|0,n=n+Math.imul(k,Q)|0,f=f+Math.imul(k,ee)|0,i=i+Math.imul(S,re)|0,n=n+Math.imul(S,ie)|0,n=n+Math.imul(A,re)|0,f=f+Math.imul(A,ie)|0,i=i+Math.imul(w,fe)|0,n=n+Math.imul(w,ae)|0,n=n+Math.imul(_,fe)|0,f=f+Math.imul(_,ae)|0,i=i+Math.imul(v,oe)|0,n=n+Math.imul(v,he)|0,n=n+Math.imul(g,oe)|0,f=f+Math.imul(g,he)|0,i=i+Math.imul(b,de)|0,n=n+Math.imul(b,ue)|0,n=n+Math.imul(p,de)|0,f=f+Math.imul(p,ue)|0,i=i+Math.imul(d,be)|0,n=n+Math.imul(d,pe)|0,n=n+Math.imul(u,be)|0,f=f+Math.imul(u,pe)|0;var xe=(h+i|0)+((8191&n)<<13)|0;h=(f+(n>>>13)|0)+(xe>>>26)|0,xe&=67108863,i=Math.imul(N,W),n=Math.imul(N,V),n=n+Math.imul(O,W)|0,f=Math.imul(O,V),i=i+Math.imul(q,J)|0,n=n+Math.imul(q,Z)|0,n=n+Math.imul(T,J)|0,f=f+Math.imul(T,Z)|0,i=i+Math.imul(j,Y)|0,n=n+Math.imul(j,G)|0,n=n+Math.imul(L,Y)|0,f=f+Math.imul(L,G)|0,i=i+Math.imul(B,Q)|0,n=n+Math.imul(B,ee)|0,n=n+Math.imul(R,Q)|0,f=f+Math.imul(R,ee)|0,i=i+Math.imul(E,re)|0,n=n+Math.imul(E,ie)|0,n=n+Math.imul(k,re)|0,f=f+Math.imul(k,ie)|0,i=i+Math.imul(S,fe)|0,n=n+Math.imul(S,ae)|0,n=n+Math.imul(A,fe)|0,f=f+Math.imul(A,ae)|0,i=i+Math.imul(w,oe)|0,n=n+Math.imul(w,he)|0,n=n+Math.imul(_,oe)|0,f=f+Math.imul(_,he)|0,i=i+Math.imul(v,de)|0,n=n+Math.imul(v,ue)|0,n=n+Math.imul(g,de)|0,f=f+Math.imul(g,ue)|0,i=i+Math.imul(b,be)|0,n=n+Math.imul(b,pe)|0,n=n+Math.imul(p,be)|0,f=f+Math.imul(p,pe)|0;var Ee=(h+i|0)+((8191&n)<<13)|0;h=(f+(n>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,i=Math.imul(N,J),n=Math.imul(N,Z),n=n+Math.imul(O,J)|0,f=Math.imul(O,Z),i=i+Math.imul(q,Y)|0,n=n+Math.imul(q,G)|0,n=n+Math.imul(T,Y)|0,f=f+Math.imul(T,G)|0,i=i+Math.imul(j,Q)|0,n=n+Math.imul(j,ee)|0,n=n+Math.imul(L,Q)|0,f=f+Math.imul(L,ee)|0,i=i+Math.imul(B,re)|0,n=n+Math.imul(B,ie)|0,n=n+Math.imul(R,re)|0,f=f+Math.imul(R,ie)|0,i=i+Math.imul(E,fe)|0,n=n+Math.imul(E,ae)|0,n=n+Math.imul(k,fe)|0,f=f+Math.imul(k,ae)|0,i=i+Math.imul(S,oe)|0,n=n+Math.imul(S,he)|0,n=n+Math.imul(A,oe)|0,f=f+Math.imul(A,he)|0,i=i+Math.imul(w,de)|0,n=n+Math.imul(w,ue)|0,n=n+Math.imul(_,de)|0,f=f+Math.imul(_,ue)|0,i=i+Math.imul(v,be)|0,n=n+Math.imul(v,pe)|0,n=n+Math.imul(g,be)|0,f=f+Math.imul(g,pe)|0;var ke=(h+i|0)+((8191&n)<<13)|0;h=(f+(n>>>13)|0)+(ke>>>26)|0,ke&=67108863,i=Math.imul(N,Y),n=Math.imul(N,G),n=n+Math.imul(O,Y)|0,f=Math.imul(O,G),i=i+Math.imul(q,Q)|0,n=n+Math.imul(q,ee)|0,n=n+Math.imul(T,Q)|0,f=f+Math.imul(T,ee)|0,i=i+Math.imul(j,re)|0,n=n+Math.imul(j,ie)|0,n=n+Math.imul(L,re)|0,f=f+Math.imul(L,ie)|0,i=i+Math.imul(B,fe)|0,n=n+Math.imul(B,ae)|0,n=n+Math.imul(R,fe)|0,f=f+Math.imul(R,ae)|0,i=i+Math.imul(E,oe)|0,n=n+Math.imul(E,he)|0,n=n+Math.imul(k,oe)|0,f=f+Math.imul(k,he)|0,i=i+Math.imul(S,de)|0,n=n+Math.imul(S,ue)|0,n=n+Math.imul(A,de)|0,f=f+Math.imul(A,ue)|0,i=i+Math.imul(w,be)|0,n=n+Math.imul(w,pe)|0,n=n+Math.imul(_,be)|0,f=f+Math.imul(_,pe)|0;var Ie=(h+i|0)+((8191&n)<<13)|0;h=(f+(n>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,i=Math.imul(N,Q),n=Math.imul(N,ee),n=n+Math.imul(O,Q)|0,f=Math.imul(O,ee),i=i+Math.imul(q,re)|0,n=n+Math.imul(q,ie)|0,n=n+Math.imul(T,re)|0,f=f+Math.imul(T,ie)|0,i=i+Math.imul(j,fe)|0,n=n+Math.imul(j,ae)|0,n=n+Math.imul(L,fe)|0,f=f+Math.imul(L,ae)|0,i=i+Math.imul(B,oe)|0,n=n+Math.imul(B,he)|0,n=n+Math.imul(R,oe)|0,f=f+Math.imul(R,he)|0,i=i+Math.imul(E,de)|0,n=n+Math.imul(E,ue)|0,n=n+Math.imul(k,de)|0,f=f+Math.imul(k,ue)|0,i=i+Math.imul(S,be)|0,n=n+Math.imul(S,pe)|0,n=n+Math.imul(A,be)|0,f=f+Math.imul(A,pe)|0;var Be=(h+i|0)+((8191&n)<<13)|0;h=(f+(n>>>13)|0)+(Be>>>26)|0,Be&=67108863,i=Math.imul(N,re),n=Math.imul(N,ie),n=n+Math.imul(O,re)|0,f=Math.imul(O,ie),i=i+Math.imul(q,fe)|0,n=n+Math.imul(q,ae)|0,n=n+Math.imul(T,fe)|0,f=f+Math.imul(T,ae)|0,i=i+Math.imul(j,oe)|0,n=n+Math.imul(j,he)|0,n=n+Math.imul(L,oe)|0,f=f+Math.imul(L,he)|0,i=i+Math.imul(B,de)|0,n=n+Math.imul(B,ue)|0,n=n+Math.imul(R,de)|0,f=f+Math.imul(R,ue)|0,i=i+Math.imul(E,be)|0,n=n+Math.imul(E,pe)|0,n=n+Math.imul(k,be)|0,f=f+Math.imul(k,pe)|0;var Re=(h+i|0)+((8191&n)<<13)|0;h=(f+(n>>>13)|0)+(Re>>>26)|0,Re&=67108863,i=Math.imul(N,fe),n=Math.imul(N,ae),n=n+Math.imul(O,fe)|0,f=Math.imul(O,ae),i=i+Math.imul(q,oe)|0,n=n+Math.imul(q,he)|0,n=n+Math.imul(T,oe)|0,f=f+Math.imul(T,he)|0,i=i+Math.imul(j,de)|0,n=n+Math.imul(j,ue)|0,n=n+Math.imul(L,de)|0,f=f+Math.imul(L,ue)|0,i=i+Math.imul(B,be)|0,n=n+Math.imul(B,pe)|0,n=n+Math.imul(R,be)|0,f=f+Math.imul(R,pe)|0;var ze=(h+i|0)+((8191&n)<<13)|0;h=(f+(n>>>13)|0)+(ze>>>26)|0,ze&=67108863,i=Math.imul(N,oe),n=Math.imul(N,he),n=n+Math.imul(O,oe)|0,f=Math.imul(O,he),i=i+Math.imul(q,de)|0,n=n+Math.imul(q,ue)|0,n=n+Math.imul(T,de)|0,f=f+Math.imul(T,ue)|0,i=i+Math.imul(j,be)|0,n=n+Math.imul(j,pe)|0,n=n+Math.imul(L,be)|0,f=f+Math.imul(L,pe)|0;var je=(h+i|0)+((8191&n)<<13)|0;h=(f+(n>>>13)|0)+(je>>>26)|0,je&=67108863,i=Math.imul(N,de),n=Math.imul(N,ue),n=n+Math.imul(O,de)|0,f=Math.imul(O,ue),i=i+Math.imul(q,be)|0,n=n+Math.imul(q,pe)|0,n=n+Math.imul(T,be)|0,f=f+Math.imul(T,pe)|0;var Le=(h+i|0)+((8191&n)<<13)|0;h=(f+(n>>>13)|0)+(Le>>>26)|0,Le&=67108863,i=Math.imul(N,be),n=Math.imul(N,pe),n=n+Math.imul(O,be)|0,f=Math.imul(O,pe);var Ce=(h+i|0)+((8191&n)<<13)|0;return h=(f+(n>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,o[0]=me,o[1]=ve,o[2]=ge,o[3]=ye,o[4]=we,o[5]=_e,o[6]=Me,o[7]=Se,o[8]=Ae,o[9]=xe,o[10]=Ee,o[11]=ke,o[12]=Ie,o[13]=Be,o[14]=Re,o[15]=ze,o[16]=je,o[17]=Le,o[18]=Ce,0!==h&&(o[19]=h,r.length++),r};Math.imul||(A=h),f.prototype.mulTo=function(e,t){var r=this.length+e.length;return 10===this.length&&10===e.length?A(this,e,t):r<63?h(this,e,t):r<1024?c(this,e,t):d(this,e,t)},u.prototype.makeRBT=function(e){for(var t=new Array(e),r=f.prototype._countBits(e)-1,i=0;i>=1;return i},u.prototype.permute=function(e,t,r,i,n,f){for(var a=0;a>>=1)n++;return 1<>>=13,r[2*a+1]=8191&f,f>>>=13;for(a=2*t;a>=26,t+=n/67108864|0,t+=f>>>26,this.words[r]=67108863&f}return 0!==t&&(this.words[r]=t,this.length++),this},f.prototype.muln=function(e){return this.clone().imuln(e)},f.prototype.sqr=function(){return this.mul(this)},f.prototype.isqr=function(){return this.imul(this.clone())},f.prototype.pow=function(e){var t=o(e);if(0===t.length)return new f(1);for(var r=this,i=0;i=0);var t,r=e%26,n=(e-r)/26,f=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(t=0;t>>26-r}a&&(this.words[t]=a,this.length++)}if(0!==n){for(t=this.length-1;t>=0;t--)this.words[t+n]=this.words[t];for(t=0;t=0);var n;n=t?(t-t%26)/26:0;var f=e%26,a=Math.min((e-f)/26,this.length),s=67108863^67108863>>>f<a)for(this.length-=a,h=0;h=0&&(0!==c||h>=n);h--){var d=0|this.words[h];this.words[h]=c<<26-f|d>>>f,c=d&s}return o&&0!==c&&(o.words[o.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},f.prototype.ishrn=function(e,t,r){return i(0===this.negative),this.iushrn(e,t,r)},f.prototype.shln=function(e){return this.clone().ishln(e)},f.prototype.ushln=function(e){return this.clone().iushln(e)},f.prototype.shrn=function(e){return this.clone().ishrn(e)},f.prototype.ushrn=function(e){return this.clone().iushrn(e)},f.prototype.testn=function(e){i("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26,n=1<=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<=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},f.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>26)-(o/67108864|0),this.words[n+r]=67108863&a}for(;n>26,this.words[n+r]=67108863&a;if(0===s)return this.strip();for(i(s===-1),s=0,n=0;n>26,this.words[n]=67108863&a;return this.negative=1,this.strip()},f.prototype._wordDiv=function(e,t){var r=this.length-e.length,i=this.clone(),n=e,a=0|n.words[n.length-1];0!==(r=26-this._countBits(a))&&(n=n.ushln(r),i.iushln(r),a=0|n.words[n.length-1]);var s,o=i.length-n.length;if("mod"!==t){s=new f(null),s.length=o+1,s.words=new Array(s.length);for(var h=0;h=0;d--){var u=67108864*(0|i.words[n.length+d])+(0|i.words[n.length+d-1]);for(u=Math.min(u/a|0,67108863),i._ishlnsubmul(n,u,d);0!==i.negative;)u--,i.negative=0,i._ishlnsubmul(n,1,d),i.isZero()||(i.negative^=1);s&&(s.words[d]=u)}return s&&s.strip(),i.strip(),"div"!==t&&0!==r&&i.iushrn(r),{div:s||null,mod:i}},f.prototype.divmod=function(e,t,r){if(i(!e.isZero()),this.isZero())return{div:new f(0),mod:new f(0)};var n,a,s;return 0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,t),"mod"!==t&&(n=s.div.neg()),"div"!==t&&(a=s.mod.neg(),r&&0!==a.negative&&a.iadd(e)),{div:n,mod:a}):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&&(a=s.mod.neg(),r&&0!==a.negative&&a.isub(e)),{div:s.div,mod:a}):e.length>this.length||this.cmp(e)<0?{div:new f(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new f(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new f(this.modn(e.words[0]))}:this._wordDiv(e,t)},f.prototype.div=function(e){return this.divmod(e,"div",!1).div},f.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},f.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},f.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),f=r.cmp(i);return f<0||1===n&&0===f?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},f.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},f.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()},f.prototype.divn=function(e){return this.clone().idivn(e)},f.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 f(1),a=new f(0),s=new f(0),o=new f(1),h=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++h;for(var c=r.clone(),d=t.clone();!t.isZero();){for(var u=0,l=1;0==(t.words[0]&l)&&u<26;++u,l<<=1);if(u>0)for(t.iushrn(u);u-- >0;)(n.isOdd()||a.isOdd())&&(n.iadd(c),a.isub(d)),n.iushrn(1),a.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()||o.isOdd())&&(s.iadd(c),o.isub(d)),s.iushrn(1),o.iushrn(1);t.cmp(r)>=0?(t.isub(r),n.isub(s),a.isub(o)):(r.isub(t),s.isub(n),o.isub(a))}return{a:s,b:o,gcd:r.iushln(h)}},f.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=new f(1),a=new f(0),s=r.clone();t.cmpn(1)>0&&r.cmpn(1)>0;){for(var o=0,h=1;0==(t.words[0]&h)&&o<26;++o,h<<=1);if(o>0)for(t.iushrn(o);o-- >0;)n.isOdd()&&n.iadd(s),n.iushrn(1);for(var c=0,d=1;0==(r.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(r.iushrn(c);c-- >0;)a.isOdd()&&a.iadd(s),a.iushrn(1);t.cmp(r)>=0?(t.isub(r),n.isub(a)):(r.isub(t),a.isub(n))}var u;return u=0===t.cmpn(1)?n:a,u.cmpn(0)<0&&u.iadd(e),u},f.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 f=t;t=r,r=f}else if(0===n||0===r.cmpn(1))break;t.isub(r)}return r.iushln(i)},f.prototype.invm=function(e){return this.egcd(e).a.umod(e)},f.prototype.isEven=function(){return 0==(1&this.words[0])},f.prototype.isOdd=function(){return 1==(1&this.words[0])},f.prototype.andln=function(e){return this.words[0]&e},f.prototype.bincn=function(e){i("number"==typeof e);var t=e%26,r=(e-t)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==f&&(this.words[a]=f,this.length++),this},f.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},f.prototype.cmpn=function(e){var t=e<0;if(0!==this.negative&&!t)return-1;if(0===this.negative&&t)return 1;this.strip();var r;if(this.length>1)r=1;else{t&&(e=-e),i(e<=67108863,"Number is too big");var n=0|this.words[0];r=n===e?0:ne.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|e.words[r];if(i!==n){in&&(t=1);break}}return t},f.prototype.gtn=function(e){return 1===this.cmpn(e)},f.prototype.gt=function(e){return 1===this.cmp(e)},f.prototype.gten=function(e){return this.cmpn(e)>=0},f.prototype.gte=function(e){return this.cmp(e)>=0},f.prototype.ltn=function(e){return this.cmpn(e)===-1},f.prototype.lt=function(e){return this.cmp(e)===-1},f.prototype.lten=function(e){return this.cmpn(e)<=0},f.prototype.lte=function(e){return this.cmp(e)<=0},f.prototype.eqn=function(e){return 0===this.cmpn(e)},f.prototype.eq=function(e){return 0===this.cmp(e)},f.red=function(e){return new g(e)},f.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)},f.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},f.prototype._forceRed=function(e){return this.red=e,this},f.prototype.forceRed=function(e){return i(!this.red,"Already a number in reduction context"),this._forceRed(e)},f.prototype.redAdd=function(e){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},f.prototype.redIAdd=function(e){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},f.prototype.redSub=function(e){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},f.prototype.redISub=function(e){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},f.prototype.redShl=function(e){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},f.prototype.redMul=function(e){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},f.prototype.redIMul=function(e){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},f.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},f.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},f.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},f.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},f.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},f.prototype.redPow=function(e){return i(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var x={k256:null,p224:null,p192:null,p25519:null};l.prototype._tmp=function(){var e=new f(null);return e.words=new Array(Math.ceil(this.n/13)),e},l.prototype.ireduce=function(e){var t,r=e;do{this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),t=r.bitLength()}while(t>this.n);var i=t0?r.isub(this.p):r.strip(),r},l.prototype.split=function(e,t){e.iushrn(this.n,0,t)},l.prototype.imulK=function(e){return e.imul(this.k)},n(b,l),b.prototype.split=function(e,t){for(var r=Math.min(e.length,9),i=0;i>>22,n=f}n>>>=22,e.words[i-10]=n,0===n&&e.length>10?e.length-=10:e.length-=9},b.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>>=26,e.words[r]=n,t=i}return 0!==t&&(e.words[e.length++]=t),e},f._prime=function(e){if(x[e])return x[e];var t;if("k256"===e)t=new b;else if("p224"===e)t=new p;else if("p192"===e)t=new m;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new v}return x[e]=t,t},g.prototype._verify1=function(e){i(0===e.negative,"red works only with positives"),i(e.red,"red works only with red numbers")},g.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")},g.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},g.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},g.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)},g.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},g.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)},g.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},g.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},g.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},g.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},g.prototype.isqr=function(e){return this.imul(e,e.clone())},g.prototype.sqr=function(e){return this.mul(e,e)},g.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 f(1)).iushrn(2);return this.pow(e,r)}for(var n=this.m.subn(1),a=0;!n.isZero()&&0===n.andln(1);)a++,n.iushrn(1);i(!n.isZero());var s=new f(1).toRed(this),o=s.redNeg(),h=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new f(2*c*c).toRed(this);0!==this.pow(c,h).cmp(o);)c.redIAdd(o);for(var d=this.pow(c,n),u=this.pow(e,n.addn(1).iushrn(1)),l=this.pow(e,n),b=a;0!==l.cmp(s);){for(var p=l,m=0;0!==p.cmp(s);m++)p=p.redSqr();i(m=0;i--){for(var h=t.words[i],c=o-1;c>=0;c--){var d=h>>c&1;n!==r[0]&&(n=this.sqr(n)),0!==d||0!==a?(a<<=1,a|=d,(4===++s||0===i&&0===c)&&(n=this.mul(n,r[a]),s=0,a=0)):s=0}o=26}return n},g.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},g.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},f.mont=function(e){return new y(e)},n(y,g),y.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},y.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},y.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),f=n;return n.cmp(this.m)>=0?f=n.isub(this.m):n.cmpn(0)<0&&(f=n.iadd(this.m)),f._forceRed(this)},y.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new f(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),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)},y.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===t||t,this)},{}],4:[function(e,t,r){function i(e){this.rand=e}var n;if(t.exports=function(e){return n||(n=new i(null)),n.generate(e)},t.exports.Rand=i,i.prototype.generate=function(e){return this._rand(e)},i.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var t=new Uint8Array(e),r=0;rs||e<0?(t=Math.abs(e)%s,e<0?s-t:t):e}function i(e){for(;0>>8^255&r^99,this.SBOX[n]=r,this.INV_SBOX[r]=n,f=e[n],a=e[f],s=e[a],i=257*e[r]^16843008*r,this.SUB_MIX[0][n]=i<<24|i>>>8,this.SUB_MIX[1][n]=i<<16|i>>>16,this.SUB_MIX[2][n]=i<<8|i>>>24,this.SUB_MIX[3][n]=i,i=16843009*s^65537*a^257*f^16843008*n,this.INV_SUB_MIX[0][r]=i<<24|i>>>8,this.INV_SUB_MIX[1][r]=i<<16|i>>>16,this.INV_SUB_MIX[2][r]=i<<8|i>>>24,this.INV_SUB_MIX[3][r]=i,0===n?n=o=1:(n=f^e[e[e[s^f]]],o^=e[e[o]]);return!0};var o=new n;a.blockSize=16,a.prototype.blockSize=a.blockSize,a.keySize=32,a.prototype.keySize=a.keySize,a.prototype._doReset=function(){var e,t,r,i,n,f;for(r=this._key,t=r.length,this._nRounds=t+6,n=4*(this._nRounds+1),this._keySchedule=[],i=0;i>>24,f=o.SBOX[f>>>24]<<24|o.SBOX[f>>>16&255]<<16|o.SBOX[f>>>8&255]<<8|o.SBOX[255&f],f^=o.RCON[i/t|0]<<24):t>6&&i%t==4&&(f=o.SBOX[f>>>24]<<24|o.SBOX[f>>>16&255]<<16|o.SBOX[f>>>8&255]<<8|o.SBOX[255&f]),this._keySchedule[i-t]^f);for(this._invKeySchedule=[],e=0;e>>24]]^o.INV_SUB_MIX[1][o.SBOX[f>>>16&255]]^o.INV_SUB_MIX[2][o.SBOX[f>>>8&255]]^o.INV_SUB_MIX[3][o.SBOX[255&f]];return!0},a.prototype.encryptBlock=function(t){t=f(new e(t));var r=this._doCryptBlock(t,this._keySchedule,o.SUB_MIX,o.SBOX),i=new e(16);return i.writeUInt32BE(r[0],0),i.writeUInt32BE(r[1],4),i.writeUInt32BE(r[2],8),i.writeUInt32BE(r[3],12),i},a.prototype.decryptBlock=function(t){t=f(new e(t));var r=[t[3],t[1]];t[1]=r[0],t[3]=r[1];var i=this._doCryptBlock(t,this._invKeySchedule,o.INV_SUB_MIX,o.INV_SBOX),n=new e(16);return n.writeUInt32BE(i[0],0),n.writeUInt32BE(i[3],4),n.writeUInt32BE(i[2],8),n.writeUInt32BE(i[1],12),n},a.prototype.scrub=function(){i(this._keySchedule),i(this._invKeySchedule),i(this._key)},a.prototype._doCryptBlock=function(e,r,i,n){var f,a,s,o,h,c,d,u,l;a=e[0]^r[0],s=e[1]^r[1],o=e[2]^r[2],h=e[3]^r[3],f=4;for(var b=1;b>>24]^i[1][s>>>16&255]^i[2][o>>>8&255]^i[3][255&h]^r[f++],d=i[0][s>>>24]^i[1][o>>>16&255]^i[2][h>>>8&255]^i[3][255&a]^r[f++],u=i[0][o>>>24]^i[1][h>>>16&255]^i[2][a>>>8&255]^i[3][255&s]^r[f++],l=i[0][h>>>24]^i[1][a>>>16&255]^i[2][s>>>8&255]^i[3][255&o]^r[f++],a=c,s=d,o=u,h=l;return c=(n[a>>>24]<<24|n[s>>>16&255]<<16|n[o>>>8&255]<<8|n[255&h])^r[f++],d=(n[s>>>24]<<24|n[o>>>16&255]<<16|n[h>>>8&255]<<8|n[255&a])^r[f++],u=(n[o>>>24]<<24|n[h>>>16&255]<<16|n[a>>>8&255]<<8|n[255&s])^r[f++],l=(n[h>>>24]<<24|n[a>>>16&255]<<16|n[s>>>8&255]<<8|n[255&o])^r[f++],[t(c),t(d),t(u),t(l)]},r.AES=a}).call(this,e("buffer").Buffer)},{buffer:23}],7:[function(e,t,r){(function(r){function i(e,t,n,s){if(!(this instanceof i))return new i(e,t,n);a.call(this),this._finID=r.concat([n,new r([0,0,0,1])]),n=r.concat([n,new r([0,0,0,2])]),this._cipher=new f.AES(t),this._prev=new r(n.length),this._cache=new r(""),this._secCache=new r(""),this._decrypt=s,this._alen=0,this._len=0,n.copy(this._prev),this._mode=e;var h=new r(4);h.fill(0),this._ghash=new o(this._cipher.encryptBlock(h)),this._authTag=null,this._called=!1}function n(e,t){var r=0;e.length!==t.length&&r++;for(var i=Math.min(e.length,t.length),n=-1;++n16)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},n.prototype.flush=function(){if(this.cache.length)return this.cache};var p={ECB:e("./modes/ecb"),CBC:e("./modes/cbc"),CFB:e("./modes/cfb"),CFB8:e("./modes/cfb8"),CFB1:e("./modes/cfb1"),OFB:e("./modes/ofb"),CTR:e("./modes/ctr"),GCM:e("./modes/ctr")};r.createDecipher=s,r.createDecipheriv=a}).call(this,e("buffer").Buffer)},{"./aes":6,"./authCipher":7,"./modes":12,"./modes/cbc":13,"./modes/cfb":14,"./modes/cfb1":15,"./modes/cfb8":16,"./modes/ctr":17,"./modes/ecb":18,"./modes/ofb":19,"./streamCipher":20,buffer:23,"cipher-base":24,evp_bytestokey:47,inherits:56}],10:[function(e,t,r){(function(t){function i(e,r,f){if(!(this instanceof i))return new i(e,r,f);o.call(this),this._cache=new n,this._cipher=new s.AES(r),this._prev=new t(f.length),f.copy(this._prev),this._mode=e,this._autopadding=!0}function n(){if(!(this instanceof n))return new n;this.cache=new t("")}function f(e,r,n){var f=c[e.toLowerCase()];if(!f)throw new TypeError("invalid suite type");if("string"==typeof n&&(n=new t(n)),"string"==typeof r&&(r=new t(r)),r.length!==f.key/8)throw new TypeError("invalid key length "+r.length);if(n.length!==f.iv)throw new TypeError("invalid iv length "+n.length);return"stream"===f.type?new u(b[f.mode],r,n):"auth"===f.type?new l(b[f.mode],r,n):new i(b[f.mode],r,n)}function a(e,t){var r=c[e.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var i=d(t,!1,r.key,r.iv);return f(e,i.key,i.iv)}var s=e("./aes"),o=e("cipher-base"),h=e("inherits"),c=e("./modes"),d=e("evp_bytestokey"),u=e("./streamCipher"),l=e("./authCipher");h(i,o),i.prototype._update=function(e){this._cache.add(e);for(var r,i,n=[];r=this._cache.get();)i=this._mode.encrypt(this,r),n.push(i);return t.concat(n)},i.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return e=this._mode.encrypt(this,e),this._cipher.scrub(),e;if("10101010101010101010101010101010"!==e.toString("hex"))throw this._cipher.scrub(),new Error("data not multiple of block length")},i.prototype.setAutoPadding=function(e){return this._autopadding=!!e,this},n.prototype.add=function(e){this.cache=t.concat([this.cache,e])},n.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},n.prototype.flush=function(){for(var e=16-this.cache.length,r=new t(e),i=-1;++io||e<0?(t=Math.abs(e)%o,e<0?o-t:t):e}function a(e,t){return[e[0]^t[0],e[1]^t[1],e[2]^t[2],e[3]^t[3]]}var s=new e(16);s.fill(0),t.exports=r,r.prototype.ghash=function(e){for(var t=-1;++t0;e--)f[e]=f[e]>>>1|(1&f[e-1])<<31;f[0]=f[0]>>>1,r&&(f[0]=f[0]^225<<24)}this.state=n(s)},r.prototype.update=function(t){this.cache=e.concat([this.cache,t]);for(var r;this.cache.length>=16;)r=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(r)},r.prototype.final=function(t,r){return this.cache.length&&this.ghash(e.concat([this.cache,s],16)),this.ghash(n([0,t,0,r])),this.state};var o=Math.pow(2,32)}).call(this,e("buffer").Buffer)},{buffer:23}],12:[function(e,t,r){r["aes-128-ecb"]={cipher:"AES",key:128,iv:0,mode:"ECB",type:"block"},r["aes-192-ecb"]={cipher:"AES",key:192,iv:0,mode:"ECB",type:"block"},r["aes-256-ecb"]={cipher:"AES",key:256,iv:0,mode:"ECB",type:"block"},r["aes-128-cbc"]={cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},r["aes-192-cbc"]={cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},r["aes-256-cbc"]={cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},r.aes128=r["aes-128-cbc"],r.aes192=r["aes-192-cbc"],r.aes256=r["aes-256-cbc"],r["aes-128-cfb"]={cipher:"AES",key:128,iv:16,mode:"CFB",type:"stream"},r["aes-192-cfb"]={cipher:"AES",key:192,iv:16,mode:"CFB",type:"stream"},r["aes-256-cfb"]={cipher:"AES",key:256,iv:16,mode:"CFB",type:"stream"},r["aes-128-cfb8"]={cipher:"AES",key:128,iv:16,mode:"CFB8",type:"stream"},r["aes-192-cfb8"]={cipher:"AES",key:192,iv:16,mode:"CFB8",type:"stream"},r["aes-256-cfb8"]={cipher:"AES",key:256,iv:16,mode:"CFB8",type:"stream"},r["aes-128-cfb1"]={cipher:"AES",key:128,iv:16,mode:"CFB1",type:"stream"},r["aes-192-cfb1"]={cipher:"AES",key:192,iv:16,mode:"CFB1",type:"stream"},r["aes-256-cfb1"]={cipher:"AES",key:256,iv:16,mode:"CFB1",type:"stream"},r["aes-128-ofb"]={cipher:"AES",key:128,iv:16,mode:"OFB",type:"stream"},r["aes-192-ofb"]={cipher:"AES",key:192,iv:16,mode:"OFB",type:"stream"},r["aes-256-ofb"]={cipher:"AES",key:256,iv:16,mode:"OFB",type:"stream"},r["aes-128-ctr"]={cipher:"AES",key:128,iv:16,mode:"CTR",type:"stream"},r["aes-192-ctr"]={cipher:"AES",key:192,iv:16,mode:"CTR",type:"stream"},r["aes-256-ctr"]={cipher:"AES",key:256,iv:16,mode:"CTR",type:"stream"},r["aes-128-gcm"]={cipher:"AES",key:128,iv:12,mode:"GCM",type:"auth"},r["aes-192-gcm"]={cipher:"AES",key:192,iv:12,mode:"GCM",type:"auth"},r["aes-256-gcm"]={cipher:"AES",key:256,iv:12,mode:"GCM",type:"auth"}},{}],13:[function(e,t,r){var i=e("buffer-xor");r.encrypt=function(e,t){var r=i(t,e._prev);return e._prev=e._cipher.encryptBlock(r),e._prev},r.decrypt=function(e,t){var r=e._prev;e._prev=t;var n=e._cipher.decryptBlock(t);return i(n,r)}},{"buffer-xor":22}],14:[function(e,t,r){(function(t){function i(e,r,i){var f=r.length,a=n(r,e._cache);return e._cache=e._cache.slice(f),e._prev=t.concat([e._prev,i?r:a]),a}var n=e("buffer-xor");r.encrypt=function(e,r,n){for(var f,a=new t("");r.length;){if(0===e._cache.length&&(e._cache=e._cipher.encryptBlock(e._prev),e._prev=new t("")),!(e._cache.length<=r.length)){a=t.concat([a,i(e,r,n)]);break}f=e._cache.length,a=t.concat([a,i(e,r.slice(0,f),n)]),r=r.slice(f)}return a}}).call(this,e("buffer").Buffer)},{buffer:23,"buffer-xor":22}],15:[function(e,t,r){(function(e){function t(e,t,r){for(var n,f,a,s=-1,o=0;++s<8;)n=e._cipher.encryptBlock(e._prev),f=t&1<<7-s?128:0,a=n[0]^f,o+=(128&a)>>s%8,e._prev=i(e._prev,r?f:a);return o}function i(t,r){var i=t.length,n=-1,f=new e(t.length);for(t=e.concat([t,new e([r])]);++n>7;return f}r.encrypt=function(r,i,n){for(var f=i.length,a=new e(f),s=-1;++sa)throw new RangeError("size is too large");var i=r,f=t;void 0===f&&(i=void 0,f=0);var s=new n(e);if("string"==typeof f)for(var o=new n(f,i),h=o.length,c=-1;++ca)throw new RangeError("size is too large");return new n(e)},r.from=function(e,r,i){if("function"==typeof n.from&&(!t.Uint8Array||Uint8Array.from!==n.from))return n.from(e,r,i);if("number"==typeof e)throw new TypeError('"value" argument must not be a number');if("string"==typeof e)return new n(e,r);if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer){var f=r;if(1===arguments.length)return new n(e);void 0===f&&(f=0);var a=i;if(void 0===a&&(a=e.byteLength-f),f>=e.byteLength)throw new RangeError("'offset' is out of bounds");if(a>e.byteLength-f)throw new RangeError("'length' is out of bounds");return new n(e.slice(f,f+a))}if(n.isBuffer(e)){var s=new n(e.length);return e.copy(s,0,0,e.length),s}if(e){if(Array.isArray(e)||"undefined"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||"length"in e)return new n(e);if("Buffer"===e.type&&Array.isArray(e.data))return new n(e.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")},r.allocUnsafeSlow=function(e){if("function"==typeof n.allocUnsafeSlow)return n.allocUnsafeSlow(e);if("number"!=typeof e)throw new TypeError("size must be a number");if(e>=a)throw new RangeError("size is too large");return new f(e)}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{buffer:23}],22:[function(e,t,r){(function(e){t.exports=function(t,r){for(var i=Math.min(t.length,r.length),n=new e(i),f=0;fK)throw new RangeError("Invalid typed array length");var t=new Uint8Array(e);return t.__proto__=n.prototype,t}function n(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 o(e)}return f(e,t,r)}function f(e,t,r){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return e instanceof ArrayBuffer?d(e,t,r):"string"==typeof e?h(e,t):u(e)}function a(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 s(e,t,r){return a(e),e<=0?i(e):void 0!==t?"string"==typeof r?i(e).fill(t,r):i(e).fill(t):i(e)}function o(e){return a(e),i(e<0?0:0|l(e))}function h(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!n.isEncoding(t))throw new TypeError('"encoding" must be a valid string encoding');var r=0|p(e,t),f=i(r),a=f.write(e,t);return a!==r&&(f=f.slice(0,a)),f}function c(e){for(var t=e.length<0?0:0|l(e.length),r=i(t),n=0;n=K)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+K.toString(16)+" bytes");return 0|e}function b(e){return+e!=e&&(e=0),n.alloc(+e)}function p(e,t){if(n.isBuffer(e))return e.length;if(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 F(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return W(e).length;default:if(i)return F(e).length;t=(""+t).toLowerCase(),i=!0}}function m(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,r<=t)return"";for(e||(e="utf8");;)switch(e){case"hex":return z(this,t,r);case"utf8":case"utf-8":return k(this,t,r);case"ascii":return B(this,t,r);case"latin1":case"binary":return R(this,t,r);case"base64":return E(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return j(this,t,r);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function v(e,t,r){var i=e[t];e[t]=e[r],e[r]=i}function g(e,t,r,i,f){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=f?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(f)return-1;r=e.length-1}else if(r<0){if(!f)return-1;r=0}if("string"==typeof t&&(t=n.from(t,i)),n.isBuffer(t))return 0===t.length?-1:y(e,t,r,i,f);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?f?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):y(e,[t],r,i,f);throw new TypeError("val must be string, number or Buffer")}function y(e,t,r,i,n){function f(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}var a=1,s=e.length,o=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;a=2,s/=2,o/=2,r/=2}var h;if(n){var c=-1;for(h=r;hs&&(r=s-o),h=r;h>=0;h--){for(var d=!0,u=0;un&&(i=n):i=n;var f=t.length;if(f%2!=0)throw new TypeError("Invalid hex string");i>f/2&&(i=f/2);for(var a=0;a239?4:f>223?3:f>191?2:1;if(n+s<=r){var o,h,c,d;switch(s){case 1:f<128&&(a=f);break;case 2:o=e[n+1],128==(192&o)&&(d=(31&f)<<6|63&o)>127&&(a=d);break;case 3:o=e[n+1],h=e[n+2],128==(192&o)&&128==(192&h)&&(d=(15&f)<<12|(63&o)<<6|63&h)>2047&&(d<55296||d>57343)&&(a=d);break;case 4:o=e[n+1],h=e[n+2],c=e[n+3],128==(192&o)&&128==(192&h)&&128==(192&c)&&(d=(15&f)<<18|(63&o)<<12|(63&h)<<6|63&c)>65535&&d<1114112&&(a=d)}}null===a?(a=65533,s=1):a>65535&&(a-=65536,i.push(a>>>10&1023|55296),a=56320|1023&a),i.push(a),n+=s}return I(i)}function I(e){var t=e.length;if(t<=Y)return String.fromCharCode.apply(String,e);for(var r="",i=0;ii)&&(r=i);for(var n="",f=t;fr)throw new RangeError("Trying to access beyond buffer length")}function C(e,t,r,i,f,a){if(!n.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>f||te.length)throw new RangeError("Index out of range")}function q(e,t,r,i,n,f){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,n){return t=+t,r>>>=0,n||q(e,t,r,4,3.4028234663852886e38,-3.4028234663852886e38),Z.write(e,t,r,i,23,4),r+4}function P(e,t,r,i,n){return t=+t,r>>>=0,n||q(e,t,r,8,1.7976931348623157e308,-1.7976931348623157e308),Z.write(e,t,r,i,52,8),r+8}function N(e){if(e=O(e).replace(G,""),e.length<2)return"";for(;e.length%4!=0;)e+="=";return e}function O(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function U(e){return e<16?"0"+e.toString(16):e.toString(16)}function F(e,t){t=t||1/0;for(var r,i=e.length,n=null,f=[],a=0;a55295&&r<57344){if(!n){if(r>56319){(t-=3)>-1&&f.push(239,191,189);continue}if(a+1===i){(t-=3)>-1&&f.push(239,191,189);continue}n=r;continue}if(r<56320){(t-=3)>-1&&f.push(239,191,189),n=r;continue}r=65536+(n-55296<<10|r-56320)}else n&&(t-=3)>-1&&f.push(239,191,189);if(n=null,r<128){if((t-=1)<0)break;f.push(r)}else if(r<2048){if((t-=2)<0)break;f.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;f.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;f.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return f}function D(e){for(var t=[],r=0;r>8,n=r%256,f.push(n),f.push(i);return f}function W(e){return J.toByteArray(N(e))}function V(e,t,r,i){for(var n=0;n=t.length||n>=e.length);++n)t[n+r]=e[n];return n}function H(e){return e!==e}var J=e("base64-js"),Z=e("ieee754");r.Buffer=n,r.SlowBuffer=b,r.INSPECT_MAX_BYTES=50;var K=2147483647;r.kMaxLength=K,n.TYPED_ARRAY_SUPPORT=function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()}catch(e){return!1}}(),n.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),"undefined"!=typeof Symbol&&Symbol.species&&n[Symbol.species]===n&&Object.defineProperty(n,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),n.poolSize=8192,n.from=function(e,t,r){return f(e,t,r)},n.prototype.__proto__=Uint8Array.prototype,n.__proto__=Uint8Array,n.alloc=function(e,t,r){return s(e,t,r)},n.allocUnsafe=function(e){return o(e)},n.allocUnsafeSlow=function(e){return o(e)},n.isBuffer=function(e){return null!=e&&e._isBuffer===!0},n.compare=function(e,t){if(!n.isBuffer(e)||!n.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var r=e.length,i=t.length,f=0,a=Math.min(r,i);f0&&(e=this.toString("hex",0,t).match(/.{2}/g).join(" "),this.length>t&&(e+=" ... ")),""},n.prototype.compare=function(e,t,r,i,f){if(!n.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===f&&(f=this.length),t<0||r>e.length||i<0||f>this.length)throw new RangeError("out of range index");if(i>=f&&t>=r)return 0;if(i>=f)return-1;if(t>=r)return 1;if(t>>>=0,r>>>=0,i>>>=0,f>>>=0,this===e)return 0;for(var a=f-i,s=r-t,o=Math.min(a,s),h=this.slice(i,f),c=e.slice(t,r),d=0;d>>=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 f=!1;;)switch(i){case"hex":return w(this,e,t,r);case"utf8":case"utf-8":return _(this,e,t,r);case"ascii":return M(this,e,t,r);case"latin1":case"binary":return S(this,e,t,r);case"base64":return A(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,e,t,r);default:if(f)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),f=!0}},n.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Y=4096;n.prototype.slice=function(e,t){var r=this.length;e=~~e,t=void 0===t?r:~~t,e<0?(e+=r)<0&&(e=0):e>r&&(e=r),t<0?(t+=r)<0&&(t=0):t>r&&(t=r),t>>=0,t>>>=0,r||L(e,t,this.length);for(var i=this[e],n=1,f=0;++f>>=0,t>>>=0,r||L(e,t,this.length);for(var i=this[e+--t],n=1;t>0&&(n*=256);)i+=this[e+--t]*n;return i},n.prototype.readUInt8=function(e,t){return e>>>=0,t||L(e,1,this.length),this[e]},n.prototype.readUInt16LE=function(e,t){return e>>>=0,t||L(e,2,this.length),this[e]|this[e+1]<<8},n.prototype.readUInt16BE=function(e,t){return e>>>=0,t||L(e,2,this.length),this[e]<<8|this[e+1]},n.prototype.readUInt32LE=function(e,t){return e>>>=0,t||L(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},n.prototype.readUInt32BE=function(e,t){return e>>>=0,t||L(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},n.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||L(e,t,this.length);for(var i=this[e],n=1,f=0;++f=n&&(i-=Math.pow(2,8*t)),i},n.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||L(e,t,this.length);for(var i=t,n=1,f=this[e+--i];i>0&&(n*=256);)f+=this[e+--i]*n;return n*=128,f>=n&&(f-=Math.pow(2,8*t)),f},n.prototype.readInt8=function(e,t){return e>>>=0,t||L(e,1,this.length),128&this[e]?(255-this[e]+1)*-1:this[e]},n.prototype.readInt16LE=function(e,t){e>>>=0,t||L(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},n.prototype.readInt16BE=function(e,t){e>>>=0,t||L(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},n.prototype.readInt32LE=function(e,t){return e>>>=0,t||L(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},n.prototype.readInt32BE=function(e,t){return e>>>=0,t||L(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},n.prototype.readFloatLE=function(e,t){return e>>>=0,t||L(e,4,this.length),Z.read(this,e,!0,23,4)},n.prototype.readFloatBE=function(e,t){return e>>>=0,t||L(e,4,this.length),Z.read(this,e,!1,23,4)},n.prototype.readDoubleLE=function(e,t){return e>>>=0,t||L(e,8,this.length),Z.read(this,e,!0,52,8)},n.prototype.readDoubleBE=function(e,t){return e>>>=0,t||L(e,8,this.length),Z.read(this,e,!1,52,8)},n.prototype.writeUIntLE=function(e,t,r,i){if(e=+e,t>>>=0,r>>>=0,!i){C(this,e,t,r,Math.pow(2,8*r)-1,0)}var n=1,f=0;for(this[t]=255&e;++f>>=0,r>>>=0,!i){C(this,e,t,r,Math.pow(2,8*r)-1,0)}var n=r-1,f=1;for(this[t+n]=255&e;--n>=0&&(f*=256);)this[t+n]=e/f&255;return t+r},n.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||C(this,e,t,1,255,0),this[t]=255&e,t+1},n.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||C(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},n.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||C(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},n.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||C(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},n.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||C(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},n.prototype.writeIntLE=function(e,t,r,i){if(e=+e,t>>>=0,!i){var n=Math.pow(2,8*r-1);C(this,e,t,r,n-1,-n)}var f=0,a=1,s=0;for(this[t]=255&e;++f>0)-s&255;return t+r},n.prototype.writeIntBE=function(e,t,r,i){if(e=+e,t>>>=0,!i){var n=Math.pow(2,8*r-1);C(this,e,t,r,n-1,-n)}var f=r-1,a=1,s=0;for(this[t+f]=255&e;--f>=0&&(a*=256);)e<0&&0===s&&0!==this[t+f+1]&&(s=1),this[t+f]=(e/a>>0)-s&255;return t+r},n.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||C(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},n.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||C(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},n.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||C(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},n.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||C(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},n.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||C(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},n.prototype.writeFloatLE=function(e,t,r){return T(this,e,t,!0,r)},n.prototype.writeFloatBE=function(e,t,r){return T(this,e,t,!1,r)},n.prototype.writeDoubleLE=function(e,t,r){return P(this,e,t,!0,r)},n.prototype.writeDoubleBE=function(e,t,r){return P(this,e,t,!1,r)},n.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=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=0;--n)e[n+t]=this[n+r];else if(f<1e3)for(n=0;n>>=0,r=void 0===r?this.length:r>>>0,e||(e=0);var a;if("number"==typeof e)for(a=t;a>5]|=128<>>9<<4)]=t;for(var r=1732584193,i=-271733879,n=-1732584194,c=271733878,d=0;d>16)+(t>>16)+(r>>16)<<16|65535&r}function c(e,t){return e<>>32-t}var d=e("./helpers");t.exports=function(e){return d.hash(e,i,16)}},{"./helpers":27}],29:[function(e,t,r){(function(r){"use strict";function i(e,t){a.call(this),e=e.toLowerCase(),"string"==typeof t&&(t=new r(t));var i="sha512"===e||"sha384"===e?128:64;this._alg=e,this._key=t,t.length>i?t=n(e).update(t).digest():t.length0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function n(e,t){this.curve=e,this.type=t,this.precomputed=null}var f=e("bn.js"),a=e("../../elliptic"),s=a.utils,o=s.getNAF,h=s.getJSF,c=s.assert;t.exports=i,i.prototype.point=function(){throw new Error("Not implemented")},i.prototype.validate=function(){throw new Error("Not implemented")},i.prototype._fixedNafMul=function(e,t){c(e.precomputed);var r=e._getDoubles(),i=o(t,1),n=(1<=a;t--)s=(s<<1)+i[t];f.push(s)}for(var h=this.jpoint(null,null,null),d=this.jpoint(null,null,null),u=n;u>0;u--){for(var a=0;a=0;s--){for(var t=0;s>=0&&0===f[s];s--)t++;if(s>=0&&t++,a=a.dblp(t),s<0)break;var h=f[s];c(0!==h),a="affine"===e.type?h>0?a.mixedAdd(n[h-1>>1]):a.mixedAdd(n[-h-1>>1].neg()):h>0?a.add(n[h-1>>1]):a.add(n[-h-1>>1].neg())}return"affine"===e.type?a.toP():a},i.prototype._wnafMulAdd=function(e,t,r,i,n){for(var f=this._wnafT1,a=this._wnafT2,s=this._wnafT3,c=0,d=0;d=1;d-=2){var b=d-1,p=d;if(1===f[b]&&1===f[p]){var m=[t[b],null,null,t[p]];0===t[b].y.cmp(t[p].y)?(m[1]=t[b].add(t[p]),m[2]=t[b].toJ().mixedAdd(t[p].neg())):0===t[b].y.cmp(t[p].y.redNeg())?(m[1]=t[b].toJ().mixedAdd(t[p]),m[2]=t[b].add(t[p].neg())):(m[1]=t[b].toJ().mixedAdd(t[p]),m[2]=t[b].toJ().mixedAdd(t[p].neg()));var v=[-3,-1,-5,-7,0,7,5,1,3],g=h(r[b],r[p]);c=Math.max(g[0].length,c),s[b]=new Array(c),s[p]=new Array(c);for(var y=0;y=0;d--){for(var A=0;d>=0;){for(var x=!0,y=0;y=0&&A++,M=M.dblp(A),d<0)break;for(var y=0;y0?u=a[y][E-1>>1]:E<0&&(u=a[y][-E-1>>1].neg()),M="affine"===u.type?M.mixedAdd(u):M.add(u))}}for(var d=0;d=Math.ceil((e.bitLength()+1)/t.step)},n.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],i=this,n=0;n":""},n.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&0===this.y.cmp(this.z)},n.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),f=i.redAdd(t),a=f.redSub(r),s=i.redSub(t),o=n.redMul(a),h=f.redMul(s),c=n.redMul(s),d=a.redMul(f);return this.curve.point(o,h,d,c)},n.prototype._projDbl=function(){var e,t,r,i=this.x.redAdd(this.y).redSqr(),n=this.x.redSqr(),f=this.y.redSqr();if(this.curve.twisted){var a=this.curve._mulA(n),s=a.redAdd(f);if(this.zOne)e=i.redSub(n).redSub(f).redMul(s.redSub(this.curve.two)),t=s.redMul(a.redSub(f)),r=s.redSqr().redSub(s).redSub(s);else{var o=this.z.redSqr(),h=s.redSub(o).redISub(o);e=i.redSub(n).redISub(f).redMul(h),t=s.redMul(a.redSub(f)),r=s.redMul(h)}}else{var a=n.redAdd(f),o=this.curve._mulC(this.c.redMul(this.z)).redSqr(),h=a.redSub(o).redSub(o);e=this.curve._mulC(i.redISub(a)).redMul(h),t=this.curve._mulC(a).redMul(n.redISub(f)),r=a.redMul(h)}return this.curve.point(e,t,r)},n.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},n.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)),f=r.redSub(t),a=n.redSub(i),s=n.redAdd(i),o=r.redAdd(t),h=f.redMul(a),c=s.redMul(o),d=f.redMul(o),u=a.redMul(s);return this.curve.point(h,c,u,d)},n.prototype._projAdd=function(e){var t,r,i=this.z.redMul(e.z),n=i.redSqr(),f=this.x.redMul(e.x),a=this.y.redMul(e.y),s=this.curve.d.redMul(f).redMul(a),o=n.redSub(s),h=n.redAdd(s),c=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(f).redISub(a),d=i.redMul(o).redMul(c);return this.curve.twisted?(t=i.redMul(h).redMul(a.redSub(this.curve._mulA(f))),r=o.redMul(h)):(t=i.redMul(h).redMul(a.redSub(f)),r=this.curve._mulC(o).redMul(h)),this.curve.point(d,t,r)},n.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},n.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},n.prototype.mulAdd=function(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,!1)},n.prototype.jmulAdd=function(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,!0)},n.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},n.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},n.prototype.getX=function(){return this.normalize(),this.x.fromRed()},n.prototype.getY=function(){return this.normalize(),this.y.fromRed()},n.prototype.eq=function(e){return this===e||0===this.getX().cmp(e.getX())&&0===this.getY().cmp(e.getY())},n.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}return!1},n.prototype.toP=n.prototype.normalize,n.prototype.mixedAdd=n.prototype.add},{"../../elliptic":30,"../curve":33,"bn.js":3,inherits:56}],33:[function(e,t,r){"use strict";var i=r;i.base=e("./base"),i.short=e("./short"),i.mont=e("./mont"),i.edwards=e("./edwards")},{"./base":31,"./edwards":32,"./mont":34,"./short":35}],34:[function(e,t,r){"use strict";function i(e){o.call(this,"mont",e),this.a=new a(e.a,16).toRed(this.red),this.b=new a(e.b,16).toRed(this.red),this.i4=new a(4).toRed(this.red).redInvm(),this.two=new a(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function n(e,t,r){o.BasePoint.call(this,e,"projective"),null===t&&null===r?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new a(t,16),this.z=new a(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}var f=e("../curve"),a=e("bn.js"),s=e("inherits"),o=f.base,h=e("../../elliptic"),c=h.utils;s(i,o),t.exports=i,i.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)},s(n,o.BasePoint),i.prototype.decodePoint=function(e,t){return this.point(c.toArray(e,t),1)},i.prototype.point=function(e,t){return new n(this,e,t)},i.prototype.pointFromJSON=function(e){return n.fromJSON(this,e)},n.prototype.precompute=function(){},n.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},n.fromJSON=function(e,t){return new n(e,t[0],t[1]||e.one)},n.prototype.inspect=function(){return this.isInfinity()?"":""},n.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},n.prototype.dbl=function(){var e=this.x.redAdd(this.z),t=e.redSqr(),r=this.x.redSub(this.z),i=r.redSqr(),n=t.redSub(i),f=t.redMul(i),a=n.redMul(i.redAdd(this.curve.a24.redMul(n)));return this.curve.point(f,a)},n.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},n.prototype.diffAdd=function(e,t){var r=this.x.redAdd(this.z),i=this.x.redSub(this.z),n=e.x.redAdd(e.z),f=e.x.redSub(e.z),a=f.redMul(r),s=n.redMul(i),o=t.z.redMul(a.redAdd(s).redSqr()),h=t.x.redMul(a.redISub(s).redSqr());return this.curve.point(o,h)},n.prototype.mul=function(e){for(var t=e.clone(),r=this,i=this.curve.point(null,null),n=this,f=[];0!==t.cmpn(0);t.iushrn(1))f.push(t.andln(1));for(var a=f.length-1;a>=0;a--)0===f[a]?(r=r.diffAdd(i,n),i=i.dbl()):(i=r.diffAdd(i,n),r=r.dbl());return i},n.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},n.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},n.prototype.eq=function(e){return 0===this.getX().cmp(e.getX())},n.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},n.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},{"../../elliptic":30,"../curve":33,"bn.js":3,inherits:56}],35:[function(e,t,r){"use strict";function i(e){c.call(this,"short",e),this.a=new o(e.a,16).toRed(this.red),this.b=new o(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 n(e,t,r,i){c.BasePoint.call(this,e,"affine"),null===t&&null===r?(this.x=null,this.y=null,this.inf=!0):(this.x=new o(t,16),this.y=new o(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 f(e,t,r,i){c.BasePoint.call(this,e,"jacobian"),null===t&&null===r&&null===i?(this.x=this.curve.one,this.y=this.curve.one,this.z=new o(0)):(this.x=new o(t,16),this.y=new o(r,16),this.z=new o(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}var a=e("../curve"),s=e("../../elliptic"),o=e("bn.js"),h=e("inherits"),c=a.base,d=s.utils.assert;h(i,c),t.exports=i,i.prototype._getEndomorphism=function(e){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var t,r;if(e.beta)t=new o(e.beta,16).toRed(this.red);else{var i=this._getEndoRoots(this.p);t=i[0].cmp(i[1])<0?i[0]:i[1],t=t.toRed(this.red)}if(e.lambda)r=new o(e.lambda,16);else{var n=this._getEndoRoots(this.n);0===this.g.mul(n[0]).x.cmp(this.g.x.redMul(t))?r=n[0]:(r=n[1],d(0===this.g.mul(r).x.cmp(this.g.x.redMul(t))))}var f;return f=e.basis?e.basis.map(function(e){return{a:new o(e.a,16),b:new o(e.b,16)}}):this._getEndoBasis(r),{beta:t,lambda:r,basis:f}}},i.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:o.mont(e),r=new o(2).toRed(t).redInvm(),i=r.redNeg(),n=new o(3).toRed(t).redNeg().redSqrt().redMul(r);return[i.redAdd(n).fromRed(),i.redSub(n).fromRed()]},i.prototype._getEndoBasis=function(e){for(var t,r,i,n,f,a,s,h,c,d=this.n.ushrn(Math.floor(this.n.bitLength()/2)),u=e,l=this.n.clone(),b=new o(1),p=new o(0),m=new o(0),v=new o(1),g=0;0!==u.cmpn(0);){var y=l.div(u);h=l.sub(y.mul(u)),c=m.sub(y.mul(b));var w=v.sub(y.mul(p));if(!i&&h.cmp(d)<0)t=s.neg(),r=b,i=h.neg(),n=c;else if(i&&2==++g)break;s=h,l=u,u=h,m=b,b=c,v=p,p=w}f=h.neg(),a=c;var _=i.sqr().add(n.sqr());return f.sqr().add(a.sqr()).cmp(_)>=0&&(f=t,a=r),i.negative&&(i=i.neg(),n=n.neg()),f.negative&&(f=f.neg(),a=a.neg()),[{a:i,b:n},{a:f,b:a}]},i.prototype._endoSplit=function(e){var t=this.endo.basis,r=t[0],i=t[1],n=i.b.mul(e).divRound(this.n),f=r.b.neg().mul(e).divRound(this.n),a=n.mul(r.a),s=f.mul(i.a),o=n.mul(r.b),h=f.mul(i.b);return{k1:e.sub(a).sub(s),k2:o.add(h).neg()}},i.prototype.pointFromX=function(e,t){e=new o(e,16),e.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 n=i.fromRed().isOdd();return(t&&!n||!t&&n)&&(i=i.redNeg()),this.point(e,i)},i.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)},i.prototype._endoWnafMulAdd=function(e,t,r){for(var i=this._endoWnafT1,n=this._endoWnafT2,f=0;f":""},n.prototype.isInfinity=function(){return this.inf},n.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)},n.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),f=n.redSqr().redISub(this.x.redAdd(this.x)),a=n.redMul(this.x.redSub(f)).redISub(this.y);return this.curve.point(f,a)},n.prototype.getX=function(){return this.x.fromRed()},n.prototype.getY=function(){return this.y.fromRed()},n.prototype.mul=function(e){return e=new o(e,16),this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},n.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)},n.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)},n.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))},n.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},n.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},h(f,c.BasePoint),i.prototype.jpoint=function(e,t,r){return new f(this,e,t,r)},f.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)},f.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},f.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),f=this.y.redMul(t.redMul(e.z)),a=e.y.redMul(r.redMul(this.z)),s=i.redSub(n),o=f.redSub(a);if(0===s.cmpn(0))return 0!==o.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var h=s.redSqr(),c=h.redMul(s),d=i.redMul(h),u=o.redSqr().redIAdd(c).redISub(d).redISub(d),l=o.redMul(d.redISub(u)).redISub(f.redMul(c)),b=this.z.redMul(e.z).redMul(s);return this.curve.jpoint(u,l,b)},f.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,f=e.y.redMul(t).redMul(this.z),a=r.redSub(i),s=n.redSub(f);if(0===a.cmpn(0))return 0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var o=a.redSqr(),h=o.redMul(a),c=r.redMul(o),d=s.redSqr().redIAdd(h).redISub(c).redISub(c),u=s.redMul(c.redISub(d)).redISub(n.redMul(h)),l=this.z.redMul(a);return this.curve.jpoint(d,u,l)},f.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=0)return!1;if(r.redIAdd(n),0===this.x.cmp(r))return!0}return!1},f.prototype.inspect=function(){return this.isInfinity()?"":""},f.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},{"../../elliptic":30,"../curve":33,"bn.js":3,inherits:56}],36:[function(e,t,r){"use strict";function i(e){"short"===e.type?this.curve=new s.curve.short(e):"edwards"===e.type?this.curve=new s.curve.edwards(e):this.curve=new s.curve.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,o(this.g.validate(),"Invalid curve"),o(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function n(e,t){Object.defineProperty(f,e,{configurable:!0,enumerable:!0,get:function(){var r=new i(t);return Object.defineProperty(f,e,{configurable:!0,enumerable:!0,value:r}),r}})}var f=r,a=e("hash.js"),s=e("../elliptic"),o=s.utils.assert;f.PresetCurve=i,n("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"]}),n("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"]}),n("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"]}),n("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"]}),n("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"]}),n("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"]}),n("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"]});var h;try{h=e("./precomputed/secp256k1")}catch(e){h=void 0}n("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",h]})},{"../elliptic":30,"./precomputed/secp256k1":43,"hash.js":48}],37:[function(e,t,r){"use strict";function i(e){if(!(this instanceof i))return new i(e);"string"==typeof e&&(o(a.curves.hasOwnProperty(e),"Unknown curve "+e),e=a.curves[e]),e instanceof a.curves.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}var n=e("bn.js"),f=e("hmac-drbg"),a=e("../../elliptic"),s=a.utils,o=s.assert,h=e("./key"),c=e("./signature");t.exports=i,i.prototype.keyPair=function(e){return new h(this,e)},i.prototype.keyFromPrivate=function(e,t){return h.fromPrivate(this,e,t)},i.prototype.keyFromPublic=function(e,t){return h.fromPublic(this,e,t)},i.prototype.genKeyPair=function(e){e||(e={});for(var t=new f({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||a.rand(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),i=this.n.sub(new n(2));;){var s=new n(t.generate(r));if(!(s.cmp(i)>0))return s.iaddn(1),this.keyFromPrivate(s)}},i.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},i.prototype.sign=function(e,t,r,i){"object"==typeof r&&(i=r,r=null),i||(i={}),t=this.keyFromPrivate(t,r),e=this._truncateToN(new n(e,16));for(var a=this.n.byteLength(),s=t.getPrivate().toArray("be",a),o=e.toArray("be",a),h=new f({hash:this.hash,entropy:s,nonce:o,pers:i.pers,persEnc:i.persEnc||"utf8"}),d=this.n.sub(new n(1)),u=0;!0;u++){var l=i.k?i.k(u):new n(h.generate(this.n.byteLength()));if(l=this._truncateToN(l,!0),!(l.cmpn(1)<=0||l.cmp(d)>=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 v=l.invm(this.n).mul(m.mul(t.getPrivate()).iadd(e));if(v=v.umod(this.n),0!==v.cmpn(0)){var g=(b.getY().isOdd()?1:0)|(0!==p.cmp(m)?2:0);return i.canonical&&v.cmp(this.nh)>0&&(v=this.n.sub(v),g^=1),new c({r:m,s:v,recoveryParam:g})}}}}}},i.prototype.verify=function(e,t,r,i){e=this._truncateToN(new n(e,16)),r=this.keyFromPublic(r,i),t=new c(t,"hex");var f=t.r,a=t.s;if(f.cmpn(1)<0||f.cmp(this.n)>=0)return!1;if(a.cmpn(1)<0||a.cmp(this.n)>=0)return!1;var s=a.invm(this.n),o=s.mul(e).umod(this.n),h=s.mul(f).umod(this.n);if(!this.curve._maxwellTrick){var d=this.g.mulAdd(o,r.getPublic(),h);return!d.isInfinity()&&0===d.getX().umod(this.n).cmp(f)}var d=this.g.jmulAdd(o,r.getPublic(),h);return!d.isInfinity()&&d.eqXToP(f)},i.prototype.recoverPubKey=function(e,t,r,i){o((3&r)===r,"The recovery param is more than two bits"),t=new c(t,i);var f=this.n,a=new n(e),s=t.r,h=t.s,d=1&r,u=r>>1;if(s.cmp(this.curve.p.umod(this.curve.n))>=0&&u)throw new Error("Unable to find sencond key candinate");s=u?this.curve.pointFromX(s.add(this.curve.n),d):this.curve.pointFromX(s,d);var l=t.r.invm(f),b=f.sub(a).mul(l).umod(f),p=h.mul(l).umod(f);return this.g.mulAdd(b,s,p)},i.prototype.getKeyRecoveryParam=function(e,t,r,i){if(t=new c(t,i), null!==t.recoveryParam)return t.recoveryParam;for(var n=0;n<4;n++){var f;try{f=this.recoverPubKey(e,t,n)}catch(e){continue}if(f.eq(r))return n}throw new Error("Unable to find valid recovery factor")}},{"../../elliptic":30,"./key":38,"./signature":39,"bn.js":3,"hmac-drbg":54}],38:[function(e,t,r){"use strict";function i(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)}var n=e("bn.js"),f=e("../../elliptic"),a=f.utils,s=a.assert;t.exports=i,i.fromPublic=function(e,t,r){return t instanceof i?t:new i(e,{pub:t,pubEnc:r})},i.fromPrivate=function(e,t,r){return t instanceof i?t:new i(e,{priv:t,privEnc:r})},i.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"}},i.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},i.prototype.getPrivate=function(e){return"hex"===e?this.priv.toString(16,2):this.priv},i.prototype._importPrivate=function(e,t){this.priv=new n(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},i.prototype._importPublic=function(e,t){if(e.x||e.y)return"mont"===this.ec.curve.type?s(e.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||s(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)},i.prototype.derive=function(e){return e.mul(this.priv).getX()},i.prototype.sign=function(e,t,r){return this.ec.sign(e,this,t,r)},i.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},i.prototype.inspect=function(){return""}},{"../../elliptic":30,"bn.js":3}],39:[function(e,t,r){"use strict";function i(e,t){if(e instanceof i)return e;this._importDER(e,t)||(d(e.r&&e.s,"Signature without r or s"),this.r=new o(e.r,16),this.s=new o(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}function n(){this.place=0}function f(e,t){var r=e[t.place++];if(!(128&r))return r;for(var i=15&r,n=0,f=0,a=t.place;f>>3);for(e.push(128|r);--r;)e.push(t>>>(r<<3)&255);e.push(t)}var o=e("bn.js"),h=e("../../elliptic"),c=h.utils,d=c.assert;t.exports=i,i.prototype._importDER=function(e,t){e=c.toArray(e,t);var r=new n;if(48!==e[r.place++])return!1;if(f(e,r)+r.place!==e.length)return!1;if(2!==e[r.place++])return!1;var i=f(e,r),a=e.slice(r.place,i+r.place);if(r.place+=i,2!==e[r.place++])return!1;var s=f(e,r);if(e.length!==s+r.place)return!1;var h=e.slice(r.place,s+r.place);return 0===a[0]&&128&a[1]&&(a=a.slice(1)),0===h[0]&&128&h[1]&&(h=h.slice(1)),this.r=new o(a),this.s=new o(h),this.recoveryParam=null,!0},i.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=a(t),r=a(r);!(r[0]||128&r[1]);)r=r.slice(1);var i=[2];s(i,t.length),i=i.concat(t),i.push(2),s(i,r.length);var n=i.concat(r),f=[48];return s(f,n.length),f=f.concat(n),c.encode(f,e)}},{"../../elliptic":30,"bn.js":3}],40:[function(e,t,r){"use strict";function i(e){if(s("ed25519"===e,"only tested with ed25519 so far"),!(this instanceof i))return new i(e);var e=f.curves[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=n.sha512}var n=e("hash.js"),f=e("../../elliptic"),a=f.utils,s=a.assert,o=a.parseBytes,h=e("./key"),c=e("./signature");t.exports=i,i.prototype.sign=function(e,t){e=o(e);var r=this.keyFromSecret(t),i=this.hashInt(r.messagePrefix(),e),n=this.g.mul(i),f=this.encodePoint(n),a=this.hashInt(f,r.pubBytes(),e).mul(r.priv()),s=i.add(a).umod(this.curve.n);return this.makeSignature({R:n,S:s,Rencoded:f})},i.prototype.verify=function(e,t,r){e=o(e),t=this.makeSignature(t);var i=this.keyFromPublic(r),n=this.hashInt(t.Rencoded(),i.pubBytes(),e),f=this.g.mul(t.S());return t.R().add(i.pub().mul(n)).eq(f)},i.prototype.hashInt=function(){for(var e=this.hash(),t=0;t=0;){var f;if(n.isOdd()){var a=n.andln(i-1);f=a>(i>>1)-1?(i>>1)-a:a,n.isubn(f)}else f=0;r.push(f);for(var s=0!==n.cmpn(0)&&0===n.andln(i-1)?t+1:1,o=1;o0||t.cmpn(-n)>0;){var f=e.andln(3)+i&3,a=t.andln(3)+n&3;3===f&&(f=-1),3===a&&(a=-1);var s;if(0==(1&f))s=0;else{var o=e.andln(7)+i&7;s=3!==o&&5!==o||2!==a?f:-f}r[0].push(s);var h;if(0==(1&a))h=0;else{var o=t.andln(7)+n&7;h=3!==o&&5!==o||2!==f?a:-a}r[1].push(h),2*i===s+1&&(i=1-i),2*n===h+1&&(n=1-n),e.iushrn(1),t.iushrn(1)}return r}function f(e,t,r){var i="_"+t;e.prototype[t]=function(){return void 0!==this[i]?this[i]:this[i]=r.call(this)}}function a(e){return"string"==typeof e?o.toArray(e,"hex"):e}function s(e){return new h(e,"hex","le")}var o=r,h=e("bn.js"),c=e("minimalistic-assert"),d=e("minimalistic-crypto-utils");o.assert=c,o.toArray=d.toArray,o.zero2=d.zero2,o.toHex=d.toHex,o.encode=d.encode,o.getNAF=i,o.getJSF=n,o.cachedProperty=f,o.parseBytes=a,o.intFromLE=s},{"bn.js":3,"minimalistic-assert":59,"minimalistic-crypto-utils":60}],45:[function(e,t,r){t.exports={_args:[[{raw:"elliptic@^6.4.0",scope:null,escapedName:"elliptic",name:"elliptic",rawSpec:"^6.4.0",spec:">=6.4.0 <7.0.0",type:"range"},"/Users/aj/git.daplie.com/OAuth3/oauth3.js"]],_from:"elliptic@>=6.4.0 <7.0.0",_id:"elliptic@6.4.0",_inCache:!0,_location:"/elliptic",_nodeVersion:"7.0.0",_npmOperationalInternal:{host:"packages-18-east.internal.npmjs.com",tmp:"tmp/elliptic-6.4.0.tgz_1487798866428_0.30510620190761983"},_npmUser:{name:"indutny",email:"fedor@indutny.com"},_npmVersion:"3.10.8",_phantomChildren:{},_requested:{raw:"elliptic@^6.4.0",scope:null,escapedName:"elliptic",name:"elliptic",rawSpec:"^6.4.0",spec:">=6.4.0 <7.0.0",type:"range"},_requiredBy:["/","/browserify-sign","/create-ecdh"],_resolved:"https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz",_shasum:"cac9af8762c85836187003c8dfe193e5e2eae5df",_shrinkwrap:null,_spec:"elliptic@^6.4.0",_where:"/Users/aj/git.daplie.com/OAuth3/oauth3.js",author:{name:"Fedor Indutny",email:"fedor@indutny.com"},bugs:{url:"https://github.com/indutny/elliptic/issues"},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"},description:"EC cryptography",devDependencies:{brfs:"^1.4.3",coveralls:"^2.11.3",grunt:"^0.4.5","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":"^8.6.2",istanbul:"^0.4.2",jscs:"^2.9.0",jshint:"^2.6.0",mocha:"^2.1.0"},directories:{},dist:{shasum:"cac9af8762c85836187003c8dfe193e5e2eae5df",tarball:"https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz"},files:["lib"],gitHead:"6b0d2b76caae91471649c8e21f0b1d3ba0f96090",homepage:"https://github.com/indutny/elliptic",keywords:["EC","Elliptic","curve","Cryptography"],license:"MIT",main:"lib/elliptic.js",maintainers:[{name:"indutny",email:"fedor@indutny.com"}],name:"elliptic",optionalDependencies:{},readme:"ERROR: No README data found!",repository:{type:"git",url:"git+ssh://git@github.com/indutny/elliptic.git"},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",test:"npm run lint && npm run unit",unit:"istanbul test _mocha --reporter=spec test/index.js",version:"grunt dist && git add dist/"},version:"6.4.0"}},{}],46:[function(e,t,r){function i(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function n(e){return"function"==typeof e}function f(e){return"number"==typeof e}function a(e){return"object"==typeof e&&null!==e}function s(e){return void 0===e}t.exports=i,i.EventEmitter=i,i.prototype._events=void 0,i.prototype._maxListeners=void 0,i.defaultMaxListeners=10,i.prototype.setMaxListeners=function(e){if(!f(e)||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},i.prototype.emit=function(e){var t,r,i,f,o,h;if(this._events||(this._events={}),"error"===e&&(!this._events.error||a(this._events.error)&&!this._events.error.length)){if((t=arguments[1])instanceof Error)throw t;var c=new Error('Uncaught, unspecified "error" event. ('+t+")");throw c.context=t,c}if(r=this._events[e],s(r))return!1;if(n(r))switch(arguments.length){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:f=Array.prototype.slice.call(arguments,1),r.apply(this,f)}else if(a(r))for(f=Array.prototype.slice.call(arguments,1),h=r.slice(),i=h.length,o=0;o0&&this._events[e].length>r&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},i.prototype.on=i.prototype.addListener,i.prototype.once=function(e,t){function r(){this.removeListener(e,r),i||(i=!0,t.apply(this,arguments))}if(!n(t))throw TypeError("listener must be a function");var i=!1;return r.listener=t,this.on(e,r),this},i.prototype.removeListener=function(e,t){var r,i,f,s;if(!n(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(r=this._events[e],f=r.length,i=-1,r===t||n(r.listener)&&r.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(a(r)){for(s=f;s-- >0;)if(r[s]===t||r[s].listener&&r[s].listener===t){i=s;break}if(i<0)return this;1===r.length?(r.length=0,delete this._events[e]):r.splice(i,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},i.prototype.removeAllListeners=function(e){var t,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r=this._events[e],n(r))this.removeListener(e,r);else if(r)for(;r.length;)this.removeListener(e,r[r.length-1]);return delete this._events[e],this},i.prototype.listeners=function(e){return this._events&&this._events[e]?n(this._events[e])?[this._events[e]]:this._events[e].slice():[]},i.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(n(t))return 1;if(t)return t.length}return 0},i.listenerCount=function(e,t){return e.listenerCount(t)}},{}],47:[function(e,t,r){(function(r){function i(e,t,i,f){r.isBuffer(e)||(e=new r(e,"binary")),t&&!r.isBuffer(t)&&(t=new r(t,"binary")),i/=8,f=f||0;for(var a,s,o=0,h=0,c=new r(i),d=new r(f),u=0,l=[];;){if(u++>0&&l.push(a),l.push(e),t&&l.push(t),a=n(r.concat(l)),l=[],s=0,i>0)for(;;){if(0===i)break;if(s===a.length)break;c[o++]=a[s],i--,s++}if(f>0&&s!==a.length)for(;;){if(0===f)break;if(s===a.length)break;d[h++]=a[s],f--,s++}if(0===i&&0===f)break}for(s=0;s=this._delta8){e=this.pending;var r=e.length%this._delta8;this.pending=e.slice(e.length-r,e.length),0===this.pending.length&&(this.pending=null),e=f.join32(e,0,e.length-r,this.endian);for(var i=0;i>>24&255,i[n++]=e>>>16&255,i[n++]=e>>>8&255,i[n++]=255&e}else{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;for(var f=8;fthis.blockSize&&(e=(new this.Hash).update(e).digest()),a(e.length<=this.blockSize);for(var t=e.length;t>>3}function b(e){return z(e,17)^z(e,19)^e>>>10}function p(e,t,r,i){return 0===e?o(t,r,i):1===e||3===e?c(t,r,i):2===e?h(t,r,i):void 0}function m(e,t,r,i,n,f){var a=e&r^~e&n;return a<0&&(a+=4294967296),a}function v(e,t,r,i,n,f){var a=t&i^~t&f;return a<0&&(a+=4294967296),a}function g(e,t,r,i,n,f){var a=e&r^e&n^r&n;return a<0&&(a+=4294967296),a}function y(e,t,r,i,n,f){var a=t&i^t&f^i&f;return a<0&&(a+=4294967296),a}function w(e,t){var r=T(e,t,28),i=T(t,e,2),n=T(t,e,7),f=r^i^n;return f<0&&(f+=4294967296),f}function _(e,t){var r=P(e,t,28),i=P(t,e,2),n=P(t,e,7),f=r^i^n;return f<0&&(f+=4294967296),f}function M(e,t){var r=T(e,t,14),i=T(e,t,18),n=T(t,e,9),f=r^i^n;return f<0&&(f+=4294967296),f}function S(e,t){var r=P(e,t,14),i=P(e,t,18),n=P(t,e,9),f=r^i^n;return f<0&&(f+=4294967296),f}function A(e,t){var r=T(e,t,1),i=T(e,t,8),n=N(e,t,7),f=r^i^n;return f<0&&(f+=4294967296),f}function x(e,t){var r=P(e,t,1),i=P(e,t,8),n=O(e,t,7),f=r^i^n;return f<0&&(f+=4294967296),f}function E(e,t){var r=T(e,t,19),i=T(t,e,29),n=N(e,t,6),f=r^i^n ;return f<0&&(f+=4294967296),f}function k(e,t){var r=P(e,t,19),i=P(t,e,29),n=O(e,t,6),f=r^i^n;return f<0&&(f+=4294967296),f}var I=e("../hash"),B=I.utils,R=B.assert,z=B.rotr32,j=B.rotl32,L=B.sum32,C=B.sum32_4,q=B.sum32_5,T=B.rotr64_hi,P=B.rotr64_lo,N=B.shr64_hi,O=B.shr64_lo,U=B.sum64,F=B.sum64_hi,D=B.sum64_lo,X=B.sum64_4_hi,W=B.sum64_4_lo,V=B.sum64_5_hi,H=B.sum64_5_lo,J=I.common.BlockHash,Z=[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],K=[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],Y=[1518500249,1859775393,2400959708,3395469782];B.inherits(i,J),r.sha256=i,i.blockSize=512,i.outSize=256,i.hmacStrength=192,i.padLength=64,i.prototype._update=function(e,t){for(var r=this.W,i=0;i<16;i++)r[i]=e[t+i];for(;i>8,a=255&n;f?r.push(f,a):r.push(a)}else for(var i=0;i>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function a(e,t){for(var r="",i=0;i>>0}return f}function c(e,t){for(var r=new Array(4*e.length),i=0,n=0;i>>24,r[n+1]=f>>>16&255,r[n+2]=f>>>8&255,r[n+3]=255&f):(r[n+3]=f>>>24,r[n+2]=f>>>16&255,r[n+1]=f>>>8&255,r[n]=255&f)}return r}function d(e,t){return e>>>t|e<<32-t}function u(e,t){return e<>>32-t}function l(e,t){return e+t>>>0}function b(e,t,r){return e+t+r>>>0}function p(e,t,r,i){return e+t+r+i>>>0}function m(e,t,r,i,n){return e+t+r+i+n>>>0}function v(e,t){if(!e)throw new Error(t||"Assertion failed")}function g(e,t,r,i){var n=e[t],f=e[t+1],a=i+f>>>0,s=(a>>0,e[t+1]=a}function y(e,t,r,i){return(t+i>>>0>>0}function w(e,t,r,i){return t+i>>>0}function _(e,t,r,i,n,f,a,s){var o=0,h=t;return h=h+i>>>0,o+=h>>0,o+=h>>0,o+=h>>0}function M(e,t,r,i,n,f,a,s){return t+i+f+s>>>0}function S(e,t,r,i,n,f,a,s,o,h){var c=0,d=t;return d=d+i>>>0,c+=d>>0,c+=d>>0,c+=d>>0,c+=d>>0}function A(e,t,r,i,n,f,a,s,o,h){return t+i+f+s+h>>>0}function x(e,t,r){return(t<<32-r|e>>>r)>>>0}function E(e,t,r){return(e<<32-r|t>>>r)>>>0}function k(e,t,r){return e>>>r}function I(e,t,r){return(e<<32-r|t>>>r)>>>0}var B=r,R=e("inherits");B.toArray=i,B.toHex=n,B.htonl=f,B.toHex32=a,B.zero2=s,B.zero8=o,B.join32=h,B.split32=c,B.rotr32=d,B.rotl32=u,B.sum32=l,B.sum32_3=b,B.sum32_4=p,B.sum32_5=m,B.assert=v,B.inherits=R,r.sum64=g,r.sum64_hi=y,r.sum64_lo=w,r.sum64_4_hi=_,r.sum64_4_lo=M,r.sum64_5_hi=S,r.sum64_5_lo=A,r.rotr64_hi=x,r.rotr64_lo=E,r.shr64_hi=k,r.shr64_lo=I},{inherits:56}],54:[function(e,t,r){"use strict";function i(e){if(!(this instanceof i))return new i(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=f.toArray(e.entropy,e.entropyEnc||"hex"),r=f.toArray(e.nonce,e.nonceEnc||"hex"),n=f.toArray(e.pers,e.persEnc||"hex");a(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,r,n)}var n=e("hash.js"),f=e("minimalistic-crypto-utils"),a=e("minimalistic-assert");t.exports=i,i.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.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(r||[])),this.reseed=1},i.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=f.toArray(r,i||"hex"),this._update(r));for(var n=[];n.length>1,c=-7,d=r?n-1:0,u=r?-1:1,l=e[t+d];for(d+=u,f=l&(1<<-c)-1,l>>=-c,c+=s;c>0;f=256*f+e[t+d],d+=u,c-=8);for(a=f&(1<<-c)-1,f>>=-c,c+=i;c>0;a=256*a+e[t+d],d+=u,c-=8);if(0===f)f=1-h;else{if(f===o)return a?NaN:1/0*(l?-1:1);a+=Math.pow(2,i),f-=h}return(l?-1:1)*a*Math.pow(2,f-i)},r.write=function(e,t,r,i,n,f){var a,s,o,h=8*f-n-1,c=(1<>1,u=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,l=i?0:f-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,a=c):(a=Math.floor(Math.log(t)/Math.LN2),t*(o=Math.pow(2,-a))<1&&(a--,o*=2),t+=a+d>=1?u/o:u*Math.pow(2,1-d),t*o>=2&&(a++,o/=2),a+d>=c?(s=0,a=c):a+d>=1?(s=(t*o-1)*Math.pow(2,n),a+=d):(s=t*Math.pow(2,d-1)*Math.pow(2,n),a=0));n>=8;e[r+l]=255&s,l+=b,s/=256,n-=8);for(a=a<0;e[r+l]=255&a,l+=b,a/=256,h-=8);e[r+l-b]|=128*p}},{}],56:[function(e,t,r){"function"==typeof Object.create?t.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}},{}],57:[function(e,t,r){function i(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function n(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&i(e.slice(0,0))}t.exports=function(e){return null!=e&&(i(e)||n(e)||!!e._isBuffer)}},{}],58:[function(e,t,r){var i={}.toString;t.exports=Array.isArray||function(e){return"[object Array]"==i.call(e)}},{}],59:[function(e,t,r){function i(e,t){if(!e)throw new Error(t||"Assertion failed")}t.exports=i,i.equal=function(e,t,r){if(e!=t)throw new Error(r||"Assertion failed: "+e+" != "+t)}},{}],60:[function(e,t,r){"use strict";function i(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"!=typeof e){for(var i=0;i>8,a=255&n;f?r.push(f,a):r.push(a)}return r}function n(e){return 1===e.length?"0"+e:e}function f(e){for(var t="",r=0;r=6?"utf-8":"binary"}r.pbkdf2Sync=function(e,t,r,s,o){i.isBuffer(e)||(e=new i(e,a)),i.isBuffer(t)||(t=new i(t,a)),f(r,s),o=o||"sha1";var h,c=1,d=new i(s),u=new i(t.length+4);t.copy(u,0,0,t.length);for(var l,b,p=1;p<=c;p++){u.writeUInt32BE(p,t.length);var m=n(o,e).update(u).digest();h||(h=m.length,b=new i(h),c=Math.ceil(s/h),l=s-(c-1)*h),m.copy(b,0,0,h);for(var v=1;vi||t!==t)throw new TypeError("Bad key length")}},{}],63:[function(e,t,r){(function(e){"use strict";function r(t,r,i,n){if("function"!=typeof t)throw new TypeError('"callback" argument must be a function');var f,a,s=arguments.length;switch(s){case 0:case 1:return e.nextTick(t);case 2:return e.nextTick(function(){t.call(null,r)});case 3:return e.nextTick(function(){t.call(null,r,i)});case 4:return e.nextTick(function(){t.call(null,r,i,n)});default:for(f=new Array(s-1),a=0;a1)for(var r=1;r0)if(t.ended&&!n){var a=new Error("stream.push() after EOF");e.emit("error",a)}else if(t.endEmitted&&n){var o=new Error("stream.unshift() after end event");e.emit("error",o)}else{var h;!t.decoder||n||i||(r=t.decoder.write(r),h=!t.objectMode&&0===r.length),n||(t.reading=!1),h||(t.flowing&&0===t.length&&!t.sync?(e.emit("data",r),e.read(0)):(t.length+=t.objectMode?1:r.length,n?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&u(e))),b(e,t)}else n||(t.reading=!1);return s(t)}function s(e){return!e.ended&&(e.needReadable||e.length=F?e=F:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function h(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=o(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function c(e,t){var r=null;return C.isBuffer(t)||"string"==typeof t||null===t||void 0===t||e.objectMode||(r=new TypeError("Invalid non-string/buffer chunk")),r}function d(e,t){if(!t.ended){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,u(e)}}function u(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(N("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?R(l,e):l(e))}function l(e){N("emit readable"),e.emit("readable"),w(e)}function b(e,t){t.readingMore||(t.readingMore=!0,R(p,e,t))}function p(e,t){for(var r=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=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=M(e,t.buffer,t.decoder),r}function M(e,t,r){var i;return ef.length?f.length:e;if(a===f.length?n+=f:n+=f.slice(0,e),0===(e-=a)){a===f.length?(++i,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=f.slice(a));break}++i}return t.length-=i,n}function A(e,t){var r=q.allocUnsafe(e),i=t.head,n=1;for(i.data.copy(r),e-=i.data.length;i=i.next;){var f=i.data,a=e>f.length?f.length:e;if(f.copy(r,r.length-e,0,a),0===(e-=a)){a===f.length?(++n,i.next?t.head=i.next:t.head=t.tail=null):(t.head=i,i.data=f.slice(a));break}++n}return t.length-=n,r}function x(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,R(E,t,e))}function E(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function k(e,t){for(var r=0,i=e.length;r=t.highWaterMark||t.ended))return N("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?x(this):u(this),null;if(0===(e=h(e,t))&&t.ended)return 0===t.length&&x(this),null;var i=t.needReadable;N("need readable",i),(0===t.length||t.length-e0?_(e,t):null,null===n?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&x(this)),null!==n&&this.emit("data",n),n},f.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},f.prototype.pipe=function(e,t){function n(e){N("onunpipe"),e===u&&a()}function f(){N("onend"),e.end()}function a(){N("cleanup"),e.removeListener("close",h),e.removeListener("finish",c),e.removeListener("drain",v),e.removeListener("error",o),e.removeListener("unpipe",n),u.removeListener("end",f),u.removeListener("end",a),u.removeListener("data",s),g=!0,!l.awaitDrain||e._writableState&&!e._writableState.needDrain||v()}function s(t){N("ondata"),y=!1,!1!==e.write(t)||y||((1===l.pipesCount&&l.pipes===e||l.pipesCount>1&&I(l.pipes,e)!==-1)&&!g&&(N("false write response, pause",u._readableState.awaitDrain),u._readableState.awaitDrain++,y=!0),u.pause())}function o(t){N("onerror",t),d(),e.removeListener("error",o),0===L(e,"error")&&e.emit("error",t)}function h(){e.removeListener("finish",c),d()}function c(){N("onfinish"),e.removeListener("close",h),d()}function d(){N("unpipe"),u.unpipe(e)}var u=this,l=this._readableState;switch(l.pipesCount){case 0:l.pipes=e;break;case 1:l.pipes=[l.pipes,e];break;default:l.pipes.push(e)}l.pipesCount+=1,N("pipe count=%d opts=%j",l.pipesCount,t);var b=(!t||t.end!==!1)&&e!==r.stdout&&e!==r.stderr,p=b?f:a;l.endEmitted?R(p):u.once("end",p),e.on("unpipe",n);var v=m(u);e.on("drain",v);var g=!1,y=!1;return u.on("data",s),i(e,"error",o),e.once("close",h),e.once("finish",c),e.emit("pipe",u),l.flowing||(N("pipe resume"),u.resume()),e},f.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this),this);if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var n=0;n-1?setImmediate:A;a.WritableState=f;var E=e("core-util-is");E.inherits=e("inherits");var k,I={deprecate:e("util-deprecate")};!function(){try{k=e("stream")}catch(e){}finally{k||(k=e("events").EventEmitter)}}();var B=e("buffer").Buffer,R=e("buffer-shims");E.inherits(a,k),f.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(f.prototype,"buffer",{get:I.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.")})}catch(e){}}();var z;"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(z=Function.prototype[Symbol.hasInstance],Object.defineProperty(a,Symbol.hasInstance,{value:function(e){return!!z.call(this,e)||e&&e._writableState instanceof f}})):z=function(e){return e instanceof this},a.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},a.prototype.write=function(e,t,r){var n=this._writableState,f=!1,a=B.isBuffer(e);return"function"==typeof t&&(r=t,t=null),a?t="buffer":t||(t=n.defaultEncoding),"function"!=typeof r&&(r=i),n.ended?s(this,r):(a||o(this,n,e,r))&&(n.pendingcb++,f=c(this,n,a,e,t,r)),f},a.prototype.cork=function(){this._writableState.corked++},a.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||v(this,e))},a.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},a.prototype._write=function(e,t,r){r(new Error("_write() is not implemented"))},a.prototype._writev=null,a.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&&void 0!==e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||i.finished||_(this,i,r)}}).call(this,e("_process"))},{"./_stream_duplex":66,_process:64,buffer:23,"buffer-shims":21,"core-util-is":25,events:46,inherits:56,"process-nextick-args":63,"util-deprecate":87}],71:[function(e,t,r){"use strict";function i(){this.head=null,this.tail=null,this.length=0}var n=(e("buffer").Buffer,e("buffer-shims"));t.exports=i,i.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},i.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},i.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}},i.prototype.clear=function(){this.head=this.tail=null,this.length=0},i.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},i.prototype.concat=function(e){if(0===this.length)return n.alloc(0);if(1===this.length)return this.head.data;for(var t=n.allocUnsafe(e>>>0),r=this.head,i=0;r;)r.data.copy(t,i),i+=r.data.length,r=r.next;return t}},{buffer:23,"buffer-shims":21}],72:[function(e,t,r){t.exports=e("./lib/_stream_passthrough.js")},{"./lib/_stream_passthrough.js":67}],73:[function(e,t,r){(function(i){var n=function(){try{return e("stream")}catch(e){}}();r=t.exports=e("./lib/_stream_readable.js"),r.Stream=n||r,r.Readable=r,r.Writable=e("./lib/_stream_writable.js"),r.Duplex=e("./lib/_stream_duplex.js"),r.Transform=e("./lib/_stream_transform.js"),r.PassThrough=e("./lib/_stream_passthrough.js"),!i.browser&&"disable"===i.env.READABLE_STREAM&&n&&(t.exports=n)}).call(this,e("_process"))},{"./lib/_stream_duplex.js":66,"./lib/_stream_passthrough.js":67,"./lib/_stream_readable.js":68,"./lib/_stream_transform.js":69,"./lib/_stream_writable.js":70,_process:64}],74:[function(e,t,r){t.exports=e("./lib/_stream_transform.js")},{"./lib/_stream_transform.js":69}],75:[function(e,t,r){t.exports=e("./lib/_stream_writable.js")},{"./lib/_stream_writable.js":70}],76:[function(e,t,r){(function(e){function r(e){for(var t=[],r=0,i=0;r>>5]|=e[r]<<24-i%32;return t}function i(e){for(var t=[],r=0;r<32*e.length;r+=8)t.push(e[r>>>5]>>>24-r%32&255);return t}function n(e,t,r){for(var i=0;i<16;i++){var n=r+i,d=t[n];t[n]=16711935&(d<<8|d>>>24)|4278255360&(d<<24|d>>>8)}var g,y,w,_,M,S,A,x,E,k;S=g=e[0],A=y=e[1],x=w=e[2],E=_=e[3],k=M=e[4];var I;for(i=0;i<80;i+=1)I=g+t[r+u[i]]|0,I+=i<16?f(y,w,_)+m[0]:i<32?a(y,w,_)+m[1]:i<48?s(y,w,_)+m[2]:i<64?o(y,w,_)+m[3]:h(y,w,_)+m[4],I|=0,I=c(I,b[i]),I=I+M|0,g=M,M=_,_=c(w,10),w=y,y=I,I=S+t[r+l[i]]|0,I+=i<16?h(A,x,E)+v[0]:i<32?o(A,x,E)+v[1]:i<48?s(A,x,E)+v[2]:i<64?a(A,x,E)+v[3]:f(A,x,E)+v[4],I|=0,I=c(I,p[i]),I=I+k|0,S=k,k=E,E=c(x,10),x=A,A=I;I=e[1]+w+E|0,e[1]=e[2]+_+k|0,e[2]=e[3]+M+S|0,e[3]=e[4]+g+A|0,e[4]=e[0]+y+x|0,e[0]=I}function f(e,t,r){return e^t^r}function a(e,t,r){return e&t|~e&r}function s(e,t,r){return(e|~t)^r}function o(e,t,r){return e&r|t&~r}function h(e,t,r){return e^(t|~r)}function c(e,t){return e<>>32-t}function d(t){var f=[1732584193,4023233417,2562383102,271733878,3285377520];"string"==typeof t&&(t=new e(t,"utf8"));var a=r(t),s=8*t.length,o=8*t.length;a[s>>>5]|=128<<24-s%32,a[14+(s+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8);for(var h=0;h>>24)|4278255360&(c<<24|c>>>8)}var d=i(f);return new e(d)}var u=[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],l=[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],b=[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],p=[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],m=[0,1518500249,1859775393,2400959708,2840853838],v=[1352829926,1548603684,1836072691,2053994217,0];t.exports=d}).call(this,e("buffer").Buffer)},{buffer:23}],77:[function(e,t,r){(function(e){function r(t,r){this._block=new e(t),this._finalSize=r,this._blockSize=t,this._len=0,this._s=0}r.prototype.update=function(t,r){"string"==typeof t&&(r=r||"utf8",t=new e(t,r));for(var i=this._len+=t.length,n=this._s||0,f=0,a=this._block;n=8*this._finalSize&&(this._update(this._block),this._block.fill(0)),this._block.writeInt32BE(t,this._blockSize-4);var r=this._update(this._block)||this._hash();return e?r.toString(e):r},r.prototype._update=function(){throw new Error("_update must be implemented by subclass")},t.exports=r}).call(this,e("buffer").Buffer)},{buffer:23}],78:[function(e,t,r){var r=t.exports=function(e){e=e.toLowerCase();var t=r[e];if(!t)throw new Error(e+" is not supported (we accept pull requests)");return new t};r.sha=e("./sha"),r.sha1=e("./sha1"),r.sha224=e("./sha224"),r.sha256=e("./sha256"),r.sha384=e("./sha384"),r.sha512=e("./sha512")},{"./sha":79,"./sha1":80,"./sha224":81,"./sha256":82,"./sha384":83,"./sha512":84}],79:[function(e,t,r){(function(r){function i(){this.init(),this._w=c,o.call(this,64,56)}function n(e){return e<<5|e>>>27}function f(e){return e<<30|e>>>2}function a(e,t,r,i){return 0===e?t&r|~t&i:2===e?t&r|t&i|r&i:t^r^i}var s=e("inherits"),o=e("./hash"),h=[1518500249,1859775393,-1894007588,-899497514],c=new Array(80);s(i,o),i.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},i.prototype._update=function(e){for(var t=this._w,r=0|this._a,i=0|this._b,s=0|this._c,o=0|this._d,c=0|this._e,d=0;d<16;++d)t[d]=e.readInt32BE(4*d);for(;d<80;++d)t[d]=t[d-3]^t[d-8]^t[d-14]^t[d-16];for(var u=0;u<80;++u){var l=~~(u/20),b=n(r)+a(l,i,s,o)+c+t[u]+h[l]|0;c=o,o=s,s=f(i),i=r,r=b}this._a=r+this._a|0,this._b=i+this._b|0,this._c=s+this._c|0,this._d=o+this._d|0,this._e=c+this._e|0},i.prototype._hash=function(){var e=new r(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},t.exports=i}).call(this,e("buffer").Buffer)},{"./hash":77,buffer:23,inherits:56}],80:[function(e,t,r){(function(r){function i(){this.init(),this._w=d,h.call(this,64,56)}function n(e){return e<<1|e>>>31}function f(e){return e<<5|e>>>27}function a(e){return e<<30|e>>>2}function s(e,t,r,i){return 0===e?t&r|~t&i:2===e?t&r|t&i|r&i:t^r^i}var o=e("inherits"),h=e("./hash"),c=[1518500249,1859775393,-1894007588,-899497514],d=new Array(80);o(i,h),i.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},i.prototype._update=function(e){for(var t=this._w,r=0|this._a,i=0|this._b,o=0|this._c,h=0|this._d,d=0|this._e,u=0;u<16;++u)t[u]=e.readInt32BE(4*u);for(;u<80;++u)t[u]=n(t[u-3]^t[u-8]^t[u-14]^t[u-16]);for(var l=0;l<80;++l){var b=~~(l/20),p=f(r)+s(b,i,o,h)+d+t[l]+c[b]|0;d=h,h=o,o=a(i),i=r,r=p}this._a=r+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=h+this._d|0,this._e=d+this._e|0},i.prototype._hash=function(){var e=new r(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},t.exports=i}).call(this,e("buffer").Buffer)},{"./hash":77,buffer:23,inherits:56}],81:[function(e,t,r){(function(r){function i(){this.init(),this._w=s,a.call(this,64,56)}var n=e("inherits"),f=e("./sha256"),a=e("./hash"),s=new Array(64);n(i,f),i.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},i.prototype._hash=function(){var e=new r(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},t.exports=i}).call(this,e("buffer").Buffer)},{"./hash":77,"./sha256":82,buffer:23,inherits:56}],82:[function(e,t,r){(function(r){function i(){this.init(),this._w=l,d.call(this,64,56)}function n(e,t,r){return r^e&(t^r)}function f(e,t,r){return e&t|r&(e|t)}function a(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function s(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function o(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}function h(e){return(e>>>17|e<<15)^(e>>>19|e<<13)^e>>>10}var c=e("inherits"),d=e("./hash"),u=[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],l=new Array(64);c(i,d),i.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},i.prototype._update=function(e){for(var t=this._w,r=0|this._a,i=0|this._b,c=0|this._c,d=0|this._d,l=0|this._e,b=0|this._f,p=0|this._g,m=0|this._h,v=0;v<16;++v)t[v]=e.readInt32BE(4*v);for(;v<64;++v)t[v]=h(t[v-2])+t[v-7]+o(t[v-15])+t[v-16]|0;for(var g=0;g<64;++g){var y=m+s(l)+n(l,b,p)+u[g]+t[g]|0,w=a(r)+f(r,i,c)|0;m=p,p=b,b=l,l=d+y|0,d=c,c=i,i=r,r=y+w|0}this._a=r+this._a|0,this._b=i+this._b|0,this._c=c+this._c|0,this._d=d+this._d|0,this._e=l+this._e|0,this._f=b+this._f|0,this._g=p+this._g|0,this._h=m+this._h|0},i.prototype._hash=function(){var e=new r(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},t.exports=i}).call(this,e("buffer").Buffer)},{"./hash":77,buffer:23,inherits:56}],83:[function(e,t,r){(function(r){function i(){this.init(),this._w=s,a.call(this,128,112)}var n=e("inherits"),f=e("./sha512"),a=e("./hash"),s=new Array(160);n(i,f),i.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},i.prototype._hash=function(){function e(e,r,i){t.writeInt32BE(e,i),t.writeInt32BE(r,i+4)}var t=new r(48);return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),t},t.exports=i}).call(this,e("buffer").Buffer)},{"./hash":77,"./sha512":84,buffer:23,inherits:56}],84:[function(e,t,r){(function(r){function i(){this.init(),this._w=m,b.call(this,128,112)}function n(e,t,r){return r^e&(t^r)}function f(e,t,r){return e&t|r&(e|t)}function a(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function s(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function o(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function h(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function c(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function d(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function u(e,t){return e>>>0>>0?1:0}var l=e("inherits"),b=e("./hash"),p=[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],m=new Array(160);l(i,b),i.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},i.prototype._update=function(e){for(var t=this._w,r=0|this._ah,i=0|this._bh,l=0|this._ch,b=0|this._dh,m=0|this._eh,v=0|this._fh,g=0|this._gh,y=0|this._hh,w=0|this._al,_=0|this._bl,M=0|this._cl,S=0|this._dl,A=0|this._el,x=0|this._fl,E=0|this._gl,k=0|this._hl,I=0;I<32;I+=2)t[I]=e.readInt32BE(4*I),t[I+1]=e.readInt32BE(4*I+4);for(;I<160;I+=2){var B=t[I-30],R=t[I-30+1],z=o(B,R),j=h(R,B);B=t[I-4],R=t[I-4+1];var L=c(B,R),C=d(R,B),q=t[I-14],T=t[I-14+1],P=t[I-32],N=t[I-32+1],O=j+T|0,U=z+q+u(O,j)|0;O=O+C|0,U=U+L+u(O,C)|0,O=O+N|0,U=U+P+u(O,N)|0,t[I]=U,t[I+1]=O}for(var F=0;F<160;F+=2){U=t[F],O=t[F+1];var D=f(r,i,l),X=f(w,_,M),W=a(r,w),V=a(w,r),H=s(m,A),J=s(A,m),Z=p[F],K=p[F+1],Y=n(m,v,g),G=n(A,x,E),$=k+J|0,Q=y+H+u($,k)|0;$=$+G|0,Q=Q+Y+u($,G)|0,$=$+K|0,Q=Q+Z+u($,K)|0,$=$+O|0,Q=Q+U+u($,O)|0;var ee=V+X|0,te=W+D+u(ee,V)|0;y=g,k=E,g=v,E=x,v=m,x=A,A=S+$|0,m=b+Q+u(A,S)|0,b=l,S=M,l=i,M=_,i=r,_=w,w=$+ee|0,r=Q+te+u(w,$)|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+A|0,this._fl=this._fl+x|0,this._gl=this._gl+E|0,this._hl=this._hl+k|0,this._ah=this._ah+r+u(this._al,w)|0,this._bh=this._bh+i+u(this._bl,_)|0,this._ch=this._ch+l+u(this._cl,M)|0,this._dh=this._dh+b+u(this._dl,S)|0,this._eh=this._eh+m+u(this._el,A)|0,this._fh=this._fh+v+u(this._fl,x)|0,this._gh=this._gh+g+u(this._gl,E)|0,this._hh=this._hh+y+u(this._hl,k)|0},i.prototype._hash=function(){function e(e,r,i){t.writeInt32BE(e,i),t.writeInt32BE(r,i+4)}var t=new r(64);return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),e(this._gh,this._gl,48),e(this._hh,this._hl,56),t},t.exports=i}).call(this,e("buffer").Buffer)},{"./hash":77,buffer:23,inherits:56}],85:[function(e,t,r){function i(){n.call(this)}t.exports=i;var n=e("events").EventEmitter;e("inherits")(i,n),i.Readable=e("readable-stream/readable.js"),i.Writable=e("readable-stream/writable.js"),i.Duplex=e("readable-stream/duplex.js"),i.Transform=e("readable-stream/transform.js"),i.PassThrough=e("readable-stream/passthrough.js"),i.Stream=i,i.prototype.pipe=function(e,t){function r(t){e.writable&&!1===e.write(t)&&h.pause&&h.pause()}function i(){h.readable&&h.resume&&h.resume()}function f(){c||(c=!0,e.end())}function a(){c||(c=!0,"function"==typeof e.destroy&&e.destroy())}function s(e){if(o(),0===n.listenerCount(this,"error"))throw e}function o(){h.removeListener("data",r),e.removeListener("drain",i),h.removeListener("end",f),h.removeListener("close",a),h.removeListener("error",s),e.removeListener("error",s),h.removeListener("end",o),h.removeListener("close",o),e.removeListener("close",o)}var h=this;h.on("data",r),e.on("drain",i),e._isStdio||t&&t.end===!1||(h.on("end",f),h.on("close",a));var c=!1;return h.on("error",s),e.on("error",s),h.on("end",o),h.on("close",o),e.on("close",o),e.emit("pipe",h),e}},{events:46,inherits:56,"readable-stream/duplex.js":65,"readable-stream/passthrough.js":72,"readable-stream/readable.js":73,"readable-stream/transform.js":74,"readable-stream/writable.js":75}],86:[function(e,t,r){function i(e){if(e&&!o(e))throw new Error("Unknown encoding: "+e)}function n(e){return e.toString(this.encoding)}function f(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function a(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}var s=e("buffer").Buffer,o=s.isEncoding||function(e){switch(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}},h=r.StringDecoder=function(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),i(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=f;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=a;break;default:return void(this.write=n)}this.charBuffer=new s(6),this.charReceived=0,this.charLength=0};h.prototype.write=function(e){for(var t="";this.charLength;){var r=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,r),this.charReceived+=r,this.charReceived=55296&&i<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=""}this.detectIncompleteChar(e);var n=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,n),n-=this.charReceived),t+=e.toString(this.encoding,0,n);var n=t.length-1,i=t.charCodeAt(n);if(i>=55296&&i<=56319){var f=this.surrogateSize;return this.charLength+=f,this.charReceived+=f,this.charBuffer.copy(this.charBuffer,f,0,f),e.copy(this.charBuffer,0,0,f),t.substring(0,n)}return t},h.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var r=e[e.length-t];if(1==t&&r>>5==6){this.charLength=2;break}if(t<=2&&r>>4==14){this.charLength=3;break}if(t<=3&&r>>3==30){this.charLength=4;break}}this.charReceived=t},h.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var r=this.charReceived,i=this.charBuffer,n=this.encoding;t+=i.slice(0,r).toString(n)}return t}},{buffer:23}],87:[function(e,t,r){(function(e){function r(e,t){function r(){if(!n){if(i("throwDeprecation"))throw new Error(t);i("traceDeprecation")?console.trace(t):console.warn(t),n=!0}return e.apply(this,arguments)}if(i("noDeprecation"))return e;var n=!1;return r}function i(t){try{if(!e.localStorage)return!1}catch(e){return!1}var r=e.localStorage[t];return null!=r&&"true"===String(r).toLowerCase()}t.exports=r}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1])(1)});