bignumber.min.js 18.1 KB
/* bignumber.js v9.0.1 https://github.com/MikeMcl/bignumber.js/LICENCE.md */!function(e){"use strict";var r,C=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,M=Math.ceil,G=Math.floor,k="[BigNumber Error] ",F=k+"Number primitive has more than 15 significant digits: ",q=1e14,j=14,$=9007199254740991,z=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],H=1e7,V=1e9;function W(e){var r=0|e;return 0<e||e===r?r:r-1}function X(e){for(var r,n,t=1,i=e.length,o=e[0]+"";t<i;){for(r=e[t++]+"",n=j-r.length;n--;r="0"+r);o+=r}for(i=o.length;48===o.charCodeAt(--i););return o.slice(0,i+1||1)}function Y(e,r){var n,t,i=e.c,o=r.c,s=e.s,f=r.s,u=e.e,l=r.e;if(!s||!f)return null;if(n=i&&!i[0],t=o&&!o[0],n||t)return n?t?0:-f:s;if(s!=f)return s;if(n=s<0,t=u==l,!i||!o)return t?0:!i^n?1:-1;if(!t)return l<u^n?1:-1;for(f=(u=i.length)<(l=o.length)?u:l,s=0;s<f;s++)if(i[s]!=o[s])return i[s]>o[s]^n?1:-1;return u==l?0:l<u^n?1:-1}function J(e,r,n,t){if(e<r||n<e||e!==G(e))throw Error(k+(t||"Argument")+("number"==typeof e?e<r||n<e?" out of range: ":" not an integer: ":" not a primitive number: ")+String(e))}function Z(e){var r=e.c.length-1;return W(e.e/j)==r&&e.c[r]%2!=0}function K(e,r){return(1<e.length?e.charAt(0)+"."+e.slice(1):e)+(r<0?"e":"e+")+r}function Q(e,r,n){var t,i;if(r<0){for(i=n+".";++r;i+=n);e=i+e}else if(++r>(t=e.length)){for(i=n,r-=t;--r;i+=n);e+=i}else r<t&&(e=e.slice(0,r)+"."+e.slice(r));return e}(r=function e(r){var d,a,h,n,l,m,s,f,u,c,g,t=_.prototype={constructor:_,toString:null,valueOf:null},w=new _(1),v=20,N=4,p=-7,O=21,y=-1e7,b=1e7,E=!1,o=1,A=0,S={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},R="0123456789abcdefghijklmnopqrstuvwxyz";function _(e,r){var n,t,i,o,s,f,u,l,c=this;if(!(c instanceof _))return new _(e,r);if(null==r){if(e&&!0===e._isBigNumber)return c.s=e.s,void(!e.c||e.e>b?c.c=c.e=null:e.e<y?c.c=[c.e=0]:(c.e=e.e,c.c=e.c.slice()));if((f="number"==typeof e)&&0*e==0){if(c.s=1/e<0?(e=-e,-1):1,e===~~e){for(o=0,s=e;10<=s;s/=10,o++);return void(b<o?c.c=c.e=null:(c.e=o,c.c=[e]))}l=String(e)}else{if(!C.test(l=String(e)))return h(c,l,f);c.s=45==l.charCodeAt(0)?(l=l.slice(1),-1):1}-1<(o=l.indexOf("."))&&(l=l.replace(".","")),0<(s=l.search(/e/i))?(o<0&&(o=s),o+=+l.slice(s+1),l=l.substring(0,s)):o<0&&(o=l.length)}else{if(J(r,2,R.length,"Base"),10==r)return I(c=new _(e),v+c.e+1,N);if(l=String(e),f="number"==typeof e){if(0*e!=0)return h(c,l,f,r);if(c.s=1/e<0?(l=l.slice(1),-1):1,_.DEBUG&&15<l.replace(/^0\.0*|\./,"").length)throw Error(F+e)}else c.s=45===l.charCodeAt(0)?(l=l.slice(1),-1):1;for(n=R.slice(0,r),o=s=0,u=l.length;s<u;s++)if(n.indexOf(t=l.charAt(s))<0){if("."==t){if(o<s){o=u;continue}}else if(!i&&(l==l.toUpperCase()&&(l=l.toLowerCase())||l==l.toLowerCase()&&(l=l.toUpperCase()))){i=!0,s=-1,o=0;continue}return h(c,String(e),f,r)}f=!1,-1<(o=(l=a(l,r,10,c.s)).indexOf("."))?l=l.replace(".",""):o=l.length}for(s=0;48===l.charCodeAt(s);s++);for(u=l.length;48===l.charCodeAt(--u););if(l=l.slice(s,++u)){if(u-=s,f&&_.DEBUG&&15<u&&($<e||e!==G(e)))throw Error(F+c.s*e);if((o=o-s-1)>b)c.c=c.e=null;else if(o<y)c.c=[c.e=0];else{if(c.e=o,c.c=[],s=(o+1)%j,o<0&&(s+=j),s<u){for(s&&c.c.push(+l.slice(0,s)),u-=j;s<u;)c.c.push(+l.slice(s,s+=j));s=j-(l=l.slice(s)).length}else s-=u;for(;s--;l+="0");c.c.push(+l)}}else c.c=[c.e=0]}function B(e,r,n,t){for(var i,o,s=[0],f=0,u=e.length;f<u;){for(o=s.length;o--;s[o]*=r);for(s[0]+=t.indexOf(e.charAt(f++)),i=0;i<s.length;i++)s[i]>n-1&&(null==s[i+1]&&(s[i+1]=0),s[i+1]+=s[i]/n|0,s[i]%=n)}return s.reverse()}function D(e,r,n){var t,i,o,s,f=0,u=e.length,l=r%H,c=r/H|0;for(e=e.slice();u--;)f=((i=l*(o=e[u]%H)+(t=c*o+(s=e[u]/H|0)*l)%H*H+f)/n|0)+(t/H|0)+c*s,e[u]=i%n;return f&&(e=[f].concat(e)),e}function P(e,r,n,t){var i,o;if(n!=t)o=t<n?1:-1;else for(i=o=0;i<n;i++)if(e[i]!=r[i]){o=e[i]>r[i]?1:-1;break}return o}function x(e,r,n,t){for(var i=0;n--;)e[n]-=i,i=e[n]<r[n]?1:0,e[n]=i*t+e[n]-r[n];for(;!e[0]&&1<e.length;e.splice(0,1));}function i(e,r,n,t){var i,o,s,f,u;if(null==n?n=N:J(n,0,8),!e.c)return e.toString();if(i=e.c[0],s=e.e,null==r)u=X(e.c),u=1==t||2==t&&(s<=p||O<=s)?K(u,s):Q(u,s,"0");else if(o=(e=I(new _(e),r,n)).e,f=(u=X(e.c)).length,1==t||2==t&&(r<=o||o<=p)){for(;f<r;u+="0",f++);u=K(u,o)}else if(r-=s,u=Q(u,o,"0"),f<o+1){if(0<--r)for(u+=".";r--;u+="0");}else if(0<(r+=o-f))for(o+1==f&&(u+=".");r--;u+="0");return e.s<0&&i?"-"+u:u}function L(e,r){for(var n,t=1,i=new _(e[0]);t<e.length;t++){if(!(n=new _(e[t])).s){i=n;break}r.call(i,n)&&(i=n)}return i}function U(e,r,n){for(var t=1,i=r.length;!r[--i];r.pop());for(i=r[0];10<=i;i/=10,t++);return(n=t+n*j-1)>b?e.c=e.e=null:n<y?e.c=[e.e=0]:(e.e=n,e.c=r),e}function I(e,r,n,t){var i,o,s,f,u,l,c,a=e.c,h=z;if(a){e:{for(i=1,f=a[0];10<=f;f/=10,i++);if((o=r-i)<0)o+=j,s=r,c=(u=a[l=0])/h[i-s-1]%10|0;else if((l=M((o+1)/j))>=a.length){if(!t)break e;for(;a.length<=l;a.push(0));u=c=0,s=(o%=j)-j+(i=1)}else{for(u=f=a[l],i=1;10<=f;f/=10,i++);c=(s=(o%=j)-j+i)<0?0:u/h[i-s-1]%10|0}if(t=t||r<0||null!=a[l+1]||(s<0?u:u%h[i-s-1]),t=n<4?(c||t)&&(0==n||n==(e.s<0?3:2)):5<c||5==c&&(4==n||t||6==n&&(0<o?0<s?u/h[i-s]:0:a[l-1])%10&1||n==(e.s<0?8:7)),r<1||!a[0])return a.length=0,t?(r-=e.e+1,a[0]=h[(j-r%j)%j],e.e=-r||0):a[0]=e.e=0,e;if(0==o?(a.length=l,f=1,l--):(a.length=l+1,f=h[j-o],a[l]=0<s?G(u/h[i-s]%h[s])*f:0),t)for(;;){if(0==l){for(o=1,s=a[0];10<=s;s/=10,o++);for(s=a[0]+=f,f=1;10<=s;s/=10,f++);o!=f&&(e.e++,a[0]==q&&(a[0]=1));break}if(a[l]+=f,a[l]!=q)break;a[l--]=0,f=1}for(o=a.length;0===a[--o];a.pop());}e.e>b?e.c=e.e=null:e.e<y&&(e.c=[e.e=0])}return e}function T(e){var r,n=e.e;return null===n?e.toString():(r=X(e.c),r=n<=p||O<=n?K(r,n):Q(r,n,"0"),e.s<0?"-"+r:r)}return _.clone=e,_.ROUND_UP=0,_.ROUND_DOWN=1,_.ROUND_CEIL=2,_.ROUND_FLOOR=3,_.ROUND_HALF_UP=4,_.ROUND_HALF_DOWN=5,_.ROUND_HALF_EVEN=6,_.ROUND_HALF_CEIL=7,_.ROUND_HALF_FLOOR=8,_.EUCLID=9,_.config=_.set=function(e){var r,n;if(null!=e){if("object"!=typeof e)throw Error(k+"Object expected: "+e);if(e.hasOwnProperty(r="DECIMAL_PLACES")&&(J(n=e[r],0,V,r),v=n),e.hasOwnProperty(r="ROUNDING_MODE")&&(J(n=e[r],0,8,r),N=n),e.hasOwnProperty(r="EXPONENTIAL_AT")&&((n=e[r])&&n.pop?(J(n[0],-V,0,r),J(n[1],0,V,r),p=n[0],O=n[1]):(J(n,-V,V,r),p=-(O=n<0?-n:n))),e.hasOwnProperty(r="RANGE"))if((n=e[r])&&n.pop)J(n[0],-V,-1,r),J(n[1],1,V,r),y=n[0],b=n[1];else{if(J(n,-V,V,r),!n)throw Error(k+r+" cannot be zero: "+n);y=-(b=n<0?-n:n)}if(e.hasOwnProperty(r="CRYPTO")){if((n=e[r])!==!!n)throw Error(k+r+" not true or false: "+n);if(n){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw E=!n,Error(k+"crypto unavailable");E=n}else E=n}if(e.hasOwnProperty(r="MODULO_MODE")&&(J(n=e[r],0,9,r),o=n),e.hasOwnProperty(r="POW_PRECISION")&&(J(n=e[r],0,V,r),A=n),e.hasOwnProperty(r="FORMAT")){if("object"!=typeof(n=e[r]))throw Error(k+r+" not an object: "+n);S=n}if(e.hasOwnProperty(r="ALPHABET")){if("string"!=typeof(n=e[r])||/^.?$|[+\-.\s]|(.).*\1/.test(n))throw Error(k+r+" invalid: "+n);R=n}}return{DECIMAL_PLACES:v,ROUNDING_MODE:N,EXPONENTIAL_AT:[p,O],RANGE:[y,b],CRYPTO:E,MODULO_MODE:o,POW_PRECISION:A,FORMAT:S,ALPHABET:R}},_.isBigNumber=function(e){if(!e||!0!==e._isBigNumber)return!1;if(!_.DEBUG)return!0;var r,n,t=e.c,i=e.e,o=e.s;e:if("[object Array]"=={}.toString.call(t)){if((1===o||-1===o)&&-V<=i&&i<=V&&i===G(i)){if(0===t[0]){if(0===i&&1===t.length)return!0;break e}if((r=(i+1)%j)<1&&(r+=j),String(t[0]).length==r){for(r=0;r<t.length;r++)if((n=t[r])<0||q<=n||n!==G(n))break e;if(0!==n)return!0}}}else if(null===t&&null===i&&(null===o||1===o||-1===o))return!0;throw Error(k+"Invalid BigNumber: "+e)},_.maximum=_.max=function(){return L(arguments,t.lt)},_.minimum=_.min=function(){return L(arguments,t.gt)},_.random=(n=9007199254740992,l=Math.random()*n&2097151?function(){return G(Math.random()*n)}:function(){return 8388608*(1073741824*Math.random()|0)+(8388608*Math.random()|0)},function(e){var r,n,t,i,o,s=0,f=[],u=new _(w);if(null==e?e=v:J(e,0,V),i=M(e/j),E)if(crypto.getRandomValues){for(r=crypto.getRandomValues(new Uint32Array(i*=2));s<i;)9e15<=(o=131072*r[s]+(r[s+1]>>>11))?(n=crypto.getRandomValues(new Uint32Array(2)),r[s]=n[0],r[s+1]=n[1]):(f.push(o%1e14),s+=2);s=i/2}else{if(!crypto.randomBytes)throw E=!1,Error(k+"crypto unavailable");for(r=crypto.randomBytes(i*=7);s<i;)9e15<=(o=281474976710656*(31&r[s])+1099511627776*r[s+1]+4294967296*r[s+2]+16777216*r[s+3]+(r[s+4]<<16)+(r[s+5]<<8)+r[s+6])?crypto.randomBytes(7).copy(r,s):(f.push(o%1e14),s+=7);s=i/7}if(!E)for(;s<i;)(o=l())<9e15&&(f[s++]=o%1e14);for(i=f[--s],e%=j,i&&e&&(o=z[j-e],f[s]=G(i/o)*o);0===f[s];f.pop(),s--);if(s<0)f=[t=0];else{for(t=-1;0===f[0];f.splice(0,1),t-=j);for(s=1,o=f[0];10<=o;o/=10,s++);s<j&&(t-=j-s)}return u.e=t,u.c=f,u}),_.sum=function(){for(var e=1,r=arguments,n=new _(r[0]);e<r.length;)n=n.plus(r[e++]);return n},m="0123456789",a=function(e,r,n,t,i){var o,s,f,u,l,c,a,h,g=e.indexOf("."),p=v,w=N;for(0<=g&&(u=A,A=0,e=e.replace(".",""),c=(h=new _(r)).pow(e.length-g),A=u,h.c=B(Q(X(c.c),c.e,"0"),10,n,m),h.e=h.c.length),f=u=(a=B(e,r,n,i?(o=R,m):(o=m,R))).length;0==a[--u];a.pop());if(!a[0])return o.charAt(0);if(g<0?--f:(c.c=a,c.e=f,c.s=t,a=(c=d(c,h,p,w,n)).c,l=c.r,f=c.e),g=a[s=f+p+1],u=n/2,l=l||s<0||null!=a[s+1],l=w<4?(null!=g||l)&&(0==w||w==(c.s<0?3:2)):u<g||g==u&&(4==w||l||6==w&&1&a[s-1]||w==(c.s<0?8:7)),s<1||!a[0])e=l?Q(o.charAt(1),-p,o.charAt(0)):o.charAt(0);else{if(a.length=s,l)for(--n;++a[--s]>n;)a[s]=0,s||(++f,a=[1].concat(a));for(u=a.length;!a[--u];);for(g=0,e="";g<=u;e+=o.charAt(a[g++]));e=Q(e,f,o.charAt(0))}return e},d=function(e,r,n,t,i){var o,s,f,u,l,c,a,h,g,p,w,d,m,v,N,O,y,b=e.s==r.s?1:-1,E=e.c,A=r.c;if(!(E&&E[0]&&A&&A[0]))return new _(e.s&&r.s&&(E?!A||E[0]!=A[0]:A)?E&&0==E[0]||!A?0*b:b/0:NaN);for(g=(h=new _(b)).c=[],b=n+(s=e.e-r.e)+1,i||(i=q,s=W(e.e/j)-W(r.e/j),b=b/j|0),f=0;A[f]==(E[f]||0);f++);if(A[f]>(E[f]||0)&&s--,b<0)g.push(1),u=!0;else{for(v=E.length,O=A.length,b+=2,1<(l=G(i/(A[f=0]+1)))&&(A=D(A,l,i),E=D(E,l,i),O=A.length,v=E.length),m=O,w=(p=E.slice(0,O)).length;w<O;p[w++]=0);y=A.slice(),y=[0].concat(y),N=A[0],A[1]>=i/2&&N++;do{if(l=0,(o=P(A,p,O,w))<0){if(d=p[0],O!=w&&(d=d*i+(p[1]||0)),1<(l=G(d/N)))for(i<=l&&(l=i-1),a=(c=D(A,l,i)).length,w=p.length;1==P(c,p,a,w);)l--,x(c,O<a?y:A,a,i),a=c.length,o=1;else 0==l&&(o=l=1),a=(c=A.slice()).length;if(a<w&&(c=[0].concat(c)),x(p,c,w,i),w=p.length,-1==o)for(;P(A,p,O,w)<1;)l++,x(p,O<w?y:A,w,i),w=p.length}else 0===o&&(l++,p=[0]);g[f++]=l,p[0]?p[w++]=E[m]||0:(p=[E[m]],w=1)}while((m++<v||null!=p[0])&&b--);u=null!=p[0],g[0]||g.splice(0,1)}if(i==q){for(f=1,b=g[0];10<=b;b/=10,f++);I(h,n+(h.e=f+s*j-1)+1,t,u)}else h.e=s,h.r=+u;return h},s=/^(-?)0([xbo])(?=\w[\w.]*$)/i,f=/^([^.]+)\.$/,u=/^\.([^.]+)$/,c=/^-?(Infinity|NaN)$/,g=/^\s*\+(?=[\w.])|^\s+|\s+$/g,h=function(e,r,n,t){var i,o=n?r:r.replace(g,"");if(c.test(o))e.s=isNaN(o)?null:o<0?-1:1;else{if(!n&&(o=o.replace(s,function(e,r,n){return i="x"==(n=n.toLowerCase())?16:"b"==n?2:8,t&&t!=i?e:r}),t&&(i=t,o=o.replace(f,"$1").replace(u,"0.$1")),r!=o))return new _(o,i);if(_.DEBUG)throw Error(k+"Not a"+(t?" base "+t:"")+" number: "+r);e.s=null}e.c=e.e=null},t.absoluteValue=t.abs=function(){var e=new _(this);return e.s<0&&(e.s=1),e},t.comparedTo=function(e,r){return Y(this,new _(e,r))},t.decimalPlaces=t.dp=function(e,r){var n,t,i;if(null!=e)return J(e,0,V),null==r?r=N:J(r,0,8),I(new _(this),e+this.e+1,r);if(!(n=this.c))return null;if(t=((i=n.length-1)-W(this.e/j))*j,i=n[i])for(;i%10==0;i/=10,t--);return t<0&&(t=0),t},t.dividedBy=t.div=function(e,r){return d(this,new _(e,r),v,N)},t.dividedToIntegerBy=t.idiv=function(e,r){return d(this,new _(e,r),0,1)},t.exponentiatedBy=t.pow=function(e,r){var n,t,i,o,s,f,u,l,c=this;if((e=new _(e)).c&&!e.isInteger())throw Error(k+"Exponent not an integer: "+T(e));if(null!=r&&(r=new _(r)),s=14<e.e,!c.c||!c.c[0]||1==c.c[0]&&!c.e&&1==c.c.length||!e.c||!e.c[0])return l=new _(Math.pow(+T(c),s?2-Z(e):+T(e))),r?l.mod(r):l;if(f=e.s<0,r){if(r.c?!r.c[0]:!r.s)return new _(NaN);(t=!f&&c.isInteger()&&r.isInteger())&&(c=c.mod(r))}else{if(9<e.e&&(0<c.e||c.e<-1||(0==c.e?1<c.c[0]||s&&24e7<=c.c[1]:c.c[0]<8e13||s&&c.c[0]<=9999975e7)))return o=c.s<0&&Z(e)?-0:0,-1<c.e&&(o=1/o),new _(f?1/o:o);A&&(o=M(A/j+2))}for(u=s?(n=new _(.5),f&&(e.s=1),Z(e)):(i=Math.abs(+T(e)))%2,l=new _(w);;){if(u){if(!(l=l.times(c)).c)break;o?l.c.length>o&&(l.c.length=o):t&&(l=l.mod(r))}if(i){if(0===(i=G(i/2)))break;u=i%2}else if(I(e=e.times(n),e.e+1,1),14<e.e)u=Z(e);else{if(0==(i=+T(e)))break;u=i%2}c=c.times(c),o?c.c&&c.c.length>o&&(c.c.length=o):t&&(c=c.mod(r))}return t?l:(f&&(l=w.div(l)),r?l.mod(r):o?I(l,A,N,void 0):l)},t.integerValue=function(e){var r=new _(this);return null==e?e=N:J(e,0,8),I(r,r.e+1,e)},t.isEqualTo=t.eq=function(e,r){return 0===Y(this,new _(e,r))},t.isFinite=function(){return!!this.c},t.isGreaterThan=t.gt=function(e,r){return 0<Y(this,new _(e,r))},t.isGreaterThanOrEqualTo=t.gte=function(e,r){return 1===(r=Y(this,new _(e,r)))||0===r},t.isInteger=function(){return!!this.c&&W(this.e/j)>this.c.length-2},t.isLessThan=t.lt=function(e,r){return Y(this,new _(e,r))<0},t.isLessThanOrEqualTo=t.lte=function(e,r){return-1===(r=Y(this,new _(e,r)))||0===r},t.isNaN=function(){return!this.s},t.isNegative=function(){return this.s<0},t.isPositive=function(){return 0<this.s},t.isZero=function(){return!!this.c&&0==this.c[0]},t.minus=function(e,r){var n,t,i,o,s=this,f=s.s;if(r=(e=new _(e,r)).s,!f||!r)return new _(NaN);if(f!=r)return e.s=-r,s.plus(e);var u=s.e/j,l=e.e/j,c=s.c,a=e.c;if(!u||!l){if(!c||!a)return c?(e.s=-r,e):new _(a?s:NaN);if(!c[0]||!a[0])return a[0]?(e.s=-r,e):new _(c[0]?s:3==N?-0:0)}if(u=W(u),l=W(l),c=c.slice(),f=u-l){for((i=(o=f<0)?(f=-f,c):(l=u,a)).reverse(),r=f;r--;i.push(0));i.reverse()}else for(t=(o=(f=c.length)<(r=a.length))?f:r,f=r=0;r<t;r++)if(c[r]!=a[r]){o=c[r]<a[r];break}if(o&&(i=c,c=a,a=i,e.s=-e.s),0<(r=(t=a.length)-(n=c.length)))for(;r--;c[n++]=0);for(r=q-1;f<t;){if(c[--t]<a[t]){for(n=t;n&&!c[--n];c[n]=r);--c[n],c[t]+=q}c[t]-=a[t]}for(;0==c[0];c.splice(0,1),--l);return c[0]?U(e,c,l):(e.s=3==N?-1:1,e.c=[e.e=0],e)},t.modulo=t.mod=function(e,r){var n,t,i=this;return e=new _(e,r),!i.c||!e.s||e.c&&!e.c[0]?new _(NaN):!e.c||i.c&&!i.c[0]?new _(i):(9==o?(t=e.s,e.s=1,n=d(i,e,0,3),e.s=t,n.s*=t):n=d(i,e,0,o),(e=i.minus(n.times(e))).c[0]||1!=o||(e.s=i.s),e)},t.multipliedBy=t.times=function(e,r){var n,t,i,o,s,f,u,l,c,a,h,g,p,w,d,m=this,v=m.c,N=(e=new _(e,r)).c;if(!(v&&N&&v[0]&&N[0]))return!m.s||!e.s||v&&!v[0]&&!N||N&&!N[0]&&!v?e.c=e.e=e.s=null:(e.s*=m.s,v&&N?(e.c=[0],e.e=0):e.c=e.e=null),e;for(t=W(m.e/j)+W(e.e/j),e.s*=m.s,(u=v.length)<(a=N.length)&&(p=v,v=N,N=p,i=u,u=a,a=i),i=u+a,p=[];i--;p.push(0));for(w=q,d=H,i=a;0<=--i;){for(n=0,h=N[i]%d,g=N[i]/d|0,o=i+(s=u);i<o;)n=((l=h*(l=v[--s]%d)+(f=g*l+(c=v[s]/d|0)*h)%d*d+p[o]+n)/w|0)+(f/d|0)+g*c,p[o--]=l%w;p[o]=n}return n?++t:p.splice(0,1),U(e,p,t)},t.negated=function(){var e=new _(this);return e.s=-e.s||null,e},t.plus=function(e,r){var n,t=this,i=t.s;if(r=(e=new _(e,r)).s,!i||!r)return new _(NaN);if(i!=r)return e.s=-r,t.minus(e);var o=t.e/j,s=e.e/j,f=t.c,u=e.c;if(!o||!s){if(!f||!u)return new _(i/0);if(!f[0]||!u[0])return u[0]?e:new _(f[0]?t:0*i)}if(o=W(o),s=W(s),f=f.slice(),i=o-s){for((n=0<i?(s=o,u):(i=-i,f)).reverse();i--;n.push(0));n.reverse()}for((i=f.length)-(r=u.length)<0&&(n=u,u=f,f=n,r=i),i=0;r;)i=(f[--r]=f[r]+u[r]+i)/q|0,f[r]=q===f[r]?0:f[r]%q;return i&&(f=[i].concat(f),++s),U(e,f,s)},t.precision=t.sd=function(e,r){var n,t,i;if(null!=e&&e!==!!e)return J(e,1,V),null==r?r=N:J(r,0,8),I(new _(this),e,r);if(!(n=this.c))return null;if(t=(i=n.length-1)*j+1,i=n[i]){for(;i%10==0;i/=10,t--);for(i=n[0];10<=i;i/=10,t++);}return e&&this.e+1>t&&(t=this.e+1),t},t.shiftedBy=function(e){return J(e,-$,$),this.times("1e"+e)},t.squareRoot=t.sqrt=function(){var e,r,n,t,i,o=this,s=o.c,f=o.s,u=o.e,l=v+4,c=new _("0.5");if(1!==f||!s||!s[0])return new _(!f||f<0&&(!s||s[0])?NaN:s?o:1/0);if((n=0==(f=Math.sqrt(+T(o)))||f==1/0?(((r=X(s)).length+u)%2==0&&(r+="0"),f=Math.sqrt(+r),u=W((u+1)/2)-(u<0||u%2),new _(r=f==1/0?"5e"+u:(r=f.toExponential()).slice(0,r.indexOf("e")+1)+u)):new _(f+"")).c[0])for((f=(u=n.e)+l)<3&&(f=0);;)if(i=n,n=c.times(i.plus(d(o,i,l,1))),X(i.c).slice(0,f)===(r=X(n.c)).slice(0,f)){if(n.e<u&&--f,"9999"!=(r=r.slice(f-3,f+1))&&(t||"4999"!=r)){+r&&(+r.slice(1)||"5"!=r.charAt(0))||(I(n,n.e+v+2,1),e=!n.times(n).eq(o));break}if(!t&&(I(i,i.e+v+2,0),i.times(i).eq(o))){n=i;break}l+=4,f+=4,t=1}return I(n,n.e+v+1,N,e)},t.toExponential=function(e,r){return null!=e&&(J(e,0,V),e++),i(this,e,r,1)},t.toFixed=function(e,r){return null!=e&&(J(e,0,V),e=e+this.e+1),i(this,e,r)},t.toFormat=function(e,r,n){var t;if(null==n)null!=e&&r&&"object"==typeof r?(n=r,r=null):e&&"object"==typeof e?(n=e,e=r=null):n=S;else if("object"!=typeof n)throw Error(k+"Argument not an object: "+n);if(t=this.toFixed(e,r),this.c){var i,o=t.split("."),s=+n.groupSize,f=+n.secondaryGroupSize,u=n.groupSeparator||"",l=o[0],c=o[1],a=this.s<0,h=a?l.slice(1):l,g=h.length;if(f&&(i=s,s=f,g-=f=i),0<s&&0<g){for(i=g%s||s,l=h.substr(0,i);i<g;i+=s)l+=u+h.substr(i,s);0<f&&(l+=u+h.slice(i)),a&&(l="-"+l)}t=c?l+(n.decimalSeparator||"")+((f=+n.fractionGroupSize)?c.replace(new RegExp("\\d{"+f+"}\\B","g"),"$&"+(n.fractionGroupSeparator||"")):c):l}return(n.prefix||"")+t+(n.suffix||"")},t.toFraction=function(e){var r,n,t,i,o,s,f,u,l,c,a,h,g=this,p=g.c;if(null!=e&&(!(f=new _(e)).isInteger()&&(f.c||1!==f.s)||f.lt(w)))throw Error(k+"Argument "+(f.isInteger()?"out of range: ":"not an integer: ")+T(f));if(!p)return new _(g);for(r=new _(w),l=n=new _(w),t=u=new _(w),h=X(p),o=r.e=h.length-g.e-1,r.c[0]=z[(s=o%j)<0?j+s:s],e=!e||0<f.comparedTo(r)?0<o?r:l:f,s=b,b=1/0,f=new _(h),u.c[0]=0;c=d(f,r,0,1),1!=(i=n.plus(c.times(t))).comparedTo(e);)n=t,t=i,l=u.plus(c.times(i=l)),u=i,r=f.minus(c.times(i=r)),f=i;return i=d(e.minus(n),t,0,1),u=u.plus(i.times(l)),n=n.plus(i.times(t)),u.s=l.s=g.s,a=d(l,t,o*=2,N).minus(g).abs().comparedTo(d(u,n,o,N).minus(g).abs())<1?[l,t]:[u,n],b=s,a},t.toNumber=function(){return+T(this)},t.toPrecision=function(e,r){return null!=e&&J(e,1,V),i(this,e,r,2)},t.toString=function(e){var r,n=this,t=n.s,i=n.e;return null===i?t?(r="Infinity",t<0&&(r="-"+r)):r="NaN":(r=null==e?i<=p||O<=i?K(X(n.c),i):Q(X(n.c),i,"0"):10===e?Q(X((n=I(new _(n),v+i+1,N)).c),n.e,"0"):(J(e,2,R.length,"Base"),a(Q(X(n.c),i,"0"),10,e,t,!0)),t<0&&n.c[0]&&(r="-"+r)),r},t.valueOf=t.toJSON=function(){return T(this)},t._isBigNumber=!0,null!=r&&_.set(r),_}()).default=r.BigNumber=r,"function"==typeof define&&define.amd?define(function(){return r}):"undefined"!=typeof module&&module.exports?module.exports=r:(e=e||("undefined"!=typeof self&&self?self:window)).BigNumber=r}(this);