diff --git a/.travis.yml b/.travis.yml
index 0b91a8b..085dafc 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,6 +1,7 @@
language: node_js
node_js:
- "node"
+ - "7"
- "6"
- "5"
- "4"
diff --git a/LICENCE b/LICENCE
index a5d1b40..60045e8 100644
--- a/LICENCE
+++ b/LICENCE
@@ -1,4 +1,4 @@
-The MIT Expat Licence.
+The MIT Licence.
Copyright (c) 2012 Michael Mclaughlin
diff --git a/README.md b/README.md
index 228021c..cafd7d0 100644
--- a/README.md
+++ b/README.md
@@ -128,7 +128,6 @@ The other arithmetic operations always give the exact result.
```javascript
BigNumber.config({ DECIMAL_PLACES: 10, ROUNDING_MODE: 4 })
-// Alternatively, BigNumber.config( 10, 4 );
x = new BigNumber(2);
y = new BigNumber(3);
@@ -244,63 +243,69 @@ See [LICENCE](https://github.com/MikeMcl/bignumber.js/blob/master/LICENCE).
## Change Log
-####2.4.0
+#### 3.0.0
+* 09/11/2016
+* Remove `require('crypto')` - leave it to the user.
+* Add `BigNumber.set` as `BigNumber.config` alias.
+* Default `POW_PRECISION` to `0`.
+
+#### 2.4.0
* 14/07/2016
* #97 Add exports to support ES6 imports.
-####2.3.0
+#### 2.3.0
* 07/03/2016
* #86 Add modulus parameter to `toPower`.
-####2.2.0
+#### 2.2.0
* 03/03/2016
* #91 Permit larger JS integers.
-####2.1.4
+#### 2.1.4
* 15/12/2015
* Correct UMD.
-####2.1.3
+#### 2.1.3
* 13/12/2015
* Refactor re global object and crypto availability when bundling.
-####2.1.2
+#### 2.1.2
* 10/12/2015
* Bugfix: `window.crypto` not assigned to `crypto`.
-####2.1.1
+#### 2.1.1
* 09/12/2015
* Prevent code bundler from adding `crypto` shim.
-####2.1.0
+#### 2.1.0
* 26/10/2015
* For `valueOf` and `toJSON`, include the minus sign with negative zero.
-####2.0.8
+#### 2.0.8
* 2/10/2015
* Internal round function bugfix.
-####2.0.6
+#### 2.0.6
* 31/03/2015
* Add bower.json. Tweak division after in-depth review.
-####2.0.5
+#### 2.0.5
* 25/03/2015
* Amend README. Remove bitcoin address.
-####2.0.4
+#### 2.0.4
* 25/03/2015
* Critical bugfix #58: division.
-####2.0.3
+#### 2.0.3
* 18/02/2015
* Amend README. Add source map.
-####2.0.2
+#### 2.0.2
* 18/02/2015
* Correct links.
-####2.0.1
+#### 2.0.1
* 18/02/2015
* Add `max`, `min`, `precision`, `random`, `shift`, `toDigits` and `truncated` methods.
* Add the short-forms: `add`, `mul`, `sd`, `sub` and `trunc`.
@@ -313,7 +318,7 @@ See [LICENCE](https://github.com/MikeMcl/bignumber.js/blob/master/LICENCE).
* Improve code quality.
* Improve documentation.
-####2.0.0
+#### 2.0.0
* 29/12/2014
* Add `dividedToIntegerBy`, `isInteger` and `toFormat` methods.
* Remove the following short-forms: `isF`, `isZ`, `toE`, `toF`, `toFr`, `toN`, `toP`, `toS`.
@@ -321,42 +326,42 @@ See [LICENCE](https://github.com/MikeMcl/bignumber.js/blob/master/LICENCE).
* Add fast path for integers to BigNumber constructor.
* Incorporate the library into the online documentation.
-####1.5.0
+#### 1.5.0
* 13/11/2014
* Add `toJSON` and `decimalPlaces` methods.
-####1.4.1
+#### 1.4.1
* 08/06/2014
* Amend README.
-####1.4.0
+#### 1.4.0
* 08/05/2014
* Add `toNumber`.
-####1.3.0
+#### 1.3.0
* 08/11/2013
* Ensure correct rounding of `sqrt` in all, rather than almost all, cases.
* Maximum radix to 64.
-####1.2.1
+#### 1.2.1
* 17/10/2013
* Sign of zero when x < 0 and x + (-x) = 0.
-####1.2.0
+#### 1.2.0
* 19/9/2013
* Throw Error objects for stack.
-####1.1.1
+#### 1.1.1
* 22/8/2013
* Show original value in constructor error message.
-####1.1.0
+#### 1.1.0
* 1/8/2013
* Allow numbers with trailing radix point.
-####1.0.1
+#### 1.0.1
* Bugfix: error messages with incorrect method name
-####1.0.0
+#### 1.0.0
* 8/11/2012
* Initial release
diff --git a/bignumber.js b/bignumber.js
index dadaa3e..a9aad66 100644
--- a/bignumber.js
+++ b/bignumber.js
@@ -1,10 +1,10 @@
-/*! bignumber.js v2.4.0 https://github.com/MikeMcl/bignumber.js/LICENCE */
+/*! bignumber.js v3.0.0 https://github.com/MikeMcl/bignumber.js/LICENCE */
;(function (globalObj) {
'use strict';
/*
- bignumber.js v2.4.0
+ bignumber.js v3.0.0
A JavaScript library for arbitrary-precision arithmetic.
https://github.com/MikeMcl/bignumber.js
Copyright (c) 2016 Michael Mclaughlin
diff --git a/bignumber.js.map b/bignumber.js.map
index 0a45181..4bcfb2a 100644
--- a/bignumber.js.map
+++ b/bignumber.js.map
@@ -1 +1 @@
-{"version":3,"file":"bignumber.min.js","sources":["bignumber.js"],"names":["globalObj","constructorFactory","configObj","BigNumber","n","b","c","e","i","num","len","str","x","this","ERRORS","raise","isValidInt","id","round","DECIMAL_PLACES","ROUNDING_MODE","RegExp","ALPHABET","slice","test","parseNumeric","s","replace","length","tooManyDigits","charCodeAt","convertBase","isNumeric","indexOf","search","substring","MAX_SAFE_INTEGER","mathfloor","MAX_EXP","MIN_EXP","LOG_BASE","push","baseOut","baseIn","sign","d","k","r","xc","y","dp","rm","toLowerCase","POW_PRECISION","pow","toBaseOut","toFixedPoint","coeffToString","pop","div","unshift","charAt","format","caller","c0","ne","roundingMode","toString","TO_EXP_NEG","toExponential","maxOrMin","args","method","m","isArray","call","intValidatorWithErrors","min","max","name","truncate","normalise","j","msg","val","error","Error","sd","ni","rd","pows10","POWS_TEN","out","mathceil","BASE","P","prototype","ONE","TO_EXP_POS","CRYPTO","MODULO_MODE","FORMAT","decimalSeparator","groupSeparator","groupSize","secondaryGroupSize","fractionGroupSeparator","fractionGroupSize","another","ROUND_UP","ROUND_DOWN","ROUND_CEIL","ROUND_FLOOR","ROUND_HALF_UP","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_CEIL","ROUND_HALF_FLOOR","EUCLID","config","v","p","a","arguments","o","has","hasOwnProperty","MAX","intValidatorNoErrors","notBool","cryptoObj","lt","gt","random","pow2_53","random53bitInt","Math","rand","getRandomValues","Uint32Array","randomBytes","copy","shift","multiply","base","temp","xlo","xhi","carry","klo","SQRT_BASE","khi","compare","aL","bL","cmp","subtract","more","prod","prodL","q","qc","rem","remL","rem0","xi","xL","yc0","yL","yz","yc","NaN","bitFloor","basePrefix","dotAfter","dotBefore","isInfinityOrNaN","whitespaceOrPlus","isNaN","p1","p2","absoluteValue","abs","ceil","comparedTo","decimalPlaces","dividedBy","dividedToIntegerBy","divToInt","equals","eq","floor","greaterThan","greaterThanOrEqualTo","gte","isFinite","isInteger","isInt","isNegative","isNeg","isZero","lessThan","lessThanOrEqualTo","lte","minus","sub","t","xLTy","plus","xe","ye","reverse","modulo","mod","times","negated","neg","add","precision","z","squareRoot","sqrt","rep","half","mul","xcL","ycL","ylo","yhi","zc","sqrtBase","toDigits","toFixed","toFormat","arr","split","g1","g2","intPart","fractionPart","intDigits","substr","toFraction","md","d0","d2","exp","n0","n1","d1","toNumber","toPower","parseFloat","toPrecision","truncated","trunc","valueOf","toJSON","l","obj","Object","arrL","crypto","define","amd","module","exports","require","self","Function"],"mappings":";CAEC,SAAWA,GACR,YAuCA,SAASC,GAAmBC,GAiHxB,QAASC,GAAWC,EAAGC,GACnB,GAAIC,GAAGC,EAAGC,EAAGC,EAAKC,EAAKC,EACnBC,EAAIC,IAGR,MAAQD,YAAaT,IAIjB,MADIW,IAAQC,EAAO,GAAI,+BAAgCX,GAChD,GAAID,GAAWC,EAAGC,EAK7B,IAAU,MAALA,GAAcW,EAAYX,EAAG,EAAG,GAAIY,EAAI,QA4BtC,CAMH,GALAZ,EAAQ,EAAJA,EACJM,EAAMP,EAAI,GAIA,IAALC,EAED,MADAO,GAAI,GAAIT,GAAWC,YAAaD,GAAYC,EAAIO,GACzCO,EAAON,EAAGO,EAAiBP,EAAEL,EAAI,EAAGa,EAK/C,KAAOX,EAAkB,gBAALL,KAAuB,EAAJA,GAAS,IAC7C,GAAMiB,QAAQ,OAAUf,EAAI,IAAMgB,EAASC,MAAO,EAAGlB,GAAM,MAC1D,SAAWC,EAAI,MAAU,GAAJD,EAAS,IAAM,IAAOmB,KAAKb,GAChD,MAAOc,GAAcb,EAAGD,EAAKF,EAAKJ,EAGlCI,IACAG,EAAEc,EAAY,EAAR,EAAItB,GAAUO,EAAMA,EAAIY,MAAM,GAAI,IAAO,EAE1CT,GAAUH,EAAIgB,QAAS,YAAa,IAAKC,OAAS,IAGnDb,EAAOE,EAAIY,EAAezB,GAI9BK,GAAM,GAENG,EAAEc,EAA0B,KAAtBf,EAAImB,WAAW,IAAcnB,EAAMA,EAAIY,MAAM,GAAI,IAAO,EAGlEZ,EAAMoB,EAAapB,EAAK,GAAIN,EAAGO,EAAEc,OA9DmB,CAGpD,GAAKtB,YAAaD,GAKd,MAJAS,GAAEc,EAAItB,EAAEsB,EACRd,EAAEL,EAAIH,EAAEG,EACRK,EAAEN,GAAMF,EAAIA,EAAEE,GAAMF,EAAEmB,QAAUnB,OAChCa,EAAK,EAIT,KAAOR,EAAkB,gBAALL,KAAuB,EAAJA,GAAS,EAAI,CAIhD,GAHAQ,EAAEc,EAAY,EAAR,EAAItB,GAAUA,GAAKA,EAAG,IAAO,EAG9BA,MAAQA,EAAI,CACb,IAAMG,EAAI,EAAGC,EAAIJ,EAAGI,GAAK,GAAIA,GAAK,GAAID,KAItC,MAHAK,GAAEL,EAAIA,EACNK,EAAEN,GAAKF,QACPa,EAAK,GAITN,EAAMP,EAAI,OACP,CACH,IAAM4B,EAAUR,KAAMb,EAAMP,EAAI,IAAO,MAAOqB,GAAcb,EAAGD,EAAKF,EACpEG,GAAEc,EAA0B,KAAtBf,EAAImB,WAAW,IAAcnB,EAAMA,EAAIY,MAAM,GAAI,IAAO,GAwDtE,KAhBOhB,EAAII,EAAIsB,QAAQ,MAAS,KAAKtB,EAAMA,EAAIgB,QAAS,IAAK,MAGtDnB,EAAIG,EAAIuB,OAAQ,OAAW,GAGrB,EAAJ3B,IAAQA,EAAIC,GACjBD,IAAMI,EAAIY,MAAOf,EAAI,GACrBG,EAAMA,EAAIwB,UAAW,EAAG3B,IACZ,EAAJD,IAGRA,EAAII,EAAIiB,QAINpB,EAAI,EAAyB,KAAtBG,EAAImB,WAAWtB,GAAWA,KAGvC,IAAME,EAAMC,EAAIiB,OAAkC,KAA1BjB,EAAImB,aAAapB,KAGzC,GAFAC,EAAMA,EAAIY,MAAOf,EAAGE,EAAM,GActB,GAXAA,EAAMC,EAAIiB,OAILnB,GAAOK,GAAUJ,EAAM,KAAQN,EAAIgC,GAAoBhC,IAAMiC,EAAUjC,KACxEW,EAAOE,EAAIY,EAAejB,EAAEc,EAAItB,GAGpCG,EAAIA,EAAIC,EAAI,EAGPD,EAAI+B,EAGL1B,EAAEN,EAAIM,EAAEL,EAAI,SAGT,IAASgC,EAAJhC,EAGRK,EAAEN,GAAMM,EAAEL,EAAI,OACX,CAWH,GAVAK,EAAEL,EAAIA,EACNK,EAAEN,KAMFE,GAAMD,EAAI,GAAMiC,EACP,EAAJjC,IAAQC,GAAKgC,GAET9B,EAAJF,EAAU,CAGX,IAFIA,GAAGI,EAAEN,EAAEmC,MAAO9B,EAAIY,MAAO,EAAGf,IAE1BE,GAAO8B,EAAc9B,EAAJF,GACnBI,EAAEN,EAAEmC,MAAO9B,EAAIY,MAAOf,EAAGA,GAAKgC,GAGlC7B,GAAMA,EAAIY,MAAMf,GAChBA,EAAIgC,EAAW7B,EAAIiB,WAEnBpB,IAAKE,CAGT,MAAQF,IAAKG,GAAO,KACpBC,EAAEN,EAAEmC,MAAO9B,OAKfC,GAAEN,GAAMM,EAAEL,EAAI,EAGlBU,GAAK,EAgVT,QAASc,GAAapB,EAAK+B,EAASC,EAAQC,GACxC,GAAIC,GAAGtC,EAAGuC,EAAGC,EAAGnC,EAAGoC,EAAIC,EACnBzC,EAAIG,EAAIsB,QAAS,KACjBiB,EAAK/B,EACLgC,EAAK/B,CA0BT,KAxBc,GAATuB,IAAchC,EAAMA,EAAIyC,eAGxB5C,GAAK,IACNsC,EAAIO,EAGJA,EAAgB,EAChB1C,EAAMA,EAAIgB,QAAS,IAAK,IACxBsB,EAAI,GAAI9C,GAAUwC,GAClB/B,EAAIqC,EAAEK,IAAK3C,EAAIiB,OAASpB,GACxB6C,EAAgBP,EAIhBG,EAAE3C,EAAIiD,EAAWC,EAAcC,EAAe7C,EAAEN,GAAKM,EAAEL,GAAK,GAAImC,GAChEO,EAAE1C,EAAI0C,EAAE3C,EAAEsB,QAIdoB,EAAKO,EAAW5C,EAAKgC,EAAQD,GAC7BnC,EAAIuC,EAAIE,EAAGpB,OAGQ,GAAXoB,IAAKF,GAASE,EAAGU,OACzB,IAAMV,EAAG,GAAK,MAAO,GA2BrB,IAzBS,EAAJxC,IACCD,GAEFK,EAAEN,EAAI0C,EACNpC,EAAEL,EAAIA,EAGNK,EAAEc,EAAIkB,EACNhC,EAAI+C,EAAK/C,EAAGqC,EAAGC,EAAIC,EAAIT,GACvBM,EAAKpC,EAAEN,EACPyC,EAAInC,EAAEmC,EACNxC,EAAIK,EAAEL,GAGVsC,EAAItC,EAAI2C,EAAK,EAGb1C,EAAIwC,EAAGH,GACPC,EAAIJ,EAAU,EACdK,EAAIA,GAAS,EAAJF,GAAsB,MAAbG,EAAGH,EAAI,GAEzBE,EAAS,EAALI,GAAgB,MAAL3C,GAAauC,KAAe,GAANI,GAAWA,IAAQvC,EAAEc,EAAI,EAAI,EAAI,IACzDlB,EAAIsC,GAAKtC,GAAKsC,IAAY,GAANK,GAAWJ,GAAW,GAANI,GAAuB,EAAZH,EAAGH,EAAI,IACtDM,IAAQvC,EAAEc,EAAI,EAAI,EAAI,IAE1B,EAAJmB,IAAUG,EAAG,GAGdrC,EAAMoC,EAAIS,EAAc,KAAMN,GAAO,QAClC,CAGH,GAFAF,EAAGpB,OAASiB,EAERE,EAGA,MAAQL,IAAWM,IAAKH,GAAKH,GACzBM,EAAGH,GAAK,EAEFA,MACAtC,EACFyC,EAAGY,QAAQ,GAMvB,KAAMd,EAAIE,EAAGpB,QAASoB,IAAKF,KAG3B,IAAMtC,EAAI,EAAGG,EAAM,GAASmC,GAALtC,EAAQG,GAAOW,EAASuC,OAAQb,EAAGxC,OAC1DG,EAAM6C,EAAc7C,EAAKJ,GAI7B,MAAOI,GA4QX,QAASmD,GAAQ1D,EAAGI,EAAG2C,EAAIY,GACvB,GAAIC,GAAIzD,EAAG0D,EAAIvD,EAAKC,CAKpB,IAHAwC,EAAW,MAANA,GAAcnC,EAAYmC,EAAI,EAAG,EAAGY,EAAQG,GACxC,EAALf,EAAS/B,GAEPhB,EAAEE,EAAI,MAAOF,GAAE+D,UAIrB,IAHAH,EAAK5D,EAAEE,EAAE,GACT2D,EAAK7D,EAAEG,EAEG,MAALC,EACDG,EAAM8C,EAAerD,EAAEE,GACvBK,EAAgB,IAAVoD,GAA0B,IAAVA,GAAsBK,GAANH,EAClCI,EAAe1D,EAAKsD,GACpBT,EAAc7C,EAAKsD,OAevB,IAbA7D,EAAIc,EAAO,GAAIf,GAAUC,GAAII,EAAG2C,GAGhC5C,EAAIH,EAAEG,EAENI,EAAM8C,EAAerD,EAAEE,GACvBI,EAAMC,EAAIiB,OAOK,IAAVmC,GAA0B,IAAVA,IAAuBxD,GAALC,GAAe4D,GAAL7D,GAAoB,CAGjE,KAAcC,EAANE,EAASC,GAAO,IAAKD,KAC7BC,EAAM0D,EAAe1D,EAAKJ,OAQ1B,IAJAC,GAAKyD,EACLtD,EAAM6C,EAAc7C,EAAKJ,GAGpBA,EAAI,EAAIG,GACT,KAAOF,EAAI,EAAI,IAAMG,GAAO,IAAKH,IAAKG,GAAO,UAG7C,IADAH,GAAKD,EAAIG,EACJF,EAAI,EAEL,IADKD,EAAI,GAAKG,IAAMC,GAAO,KACnBH,IAAKG,GAAO,KAMpC,MAAOP,GAAEsB,EAAI,GAAKsC,EAAK,IAAMrD,EAAMA,EAKvC,QAAS2D,GAAUC,EAAMC,GACrB,GAAIC,GAAGrE,EACHI,EAAI,CAKR,KAHKkE,EAASH,EAAK,MAAOA,EAAOA,EAAK,IACtCE,EAAI,GAAItE,GAAWoE,EAAK,MAEd/D,EAAI+D,EAAK3C,QAAU,CAIzB,GAHAxB,EAAI,GAAID,GAAWoE,EAAK/D,KAGlBJ,EAAEsB,EAAI,CACR+C,EAAIrE,CACJ,OACQoE,EAAOG,KAAMF,EAAGrE,KACxBqE,EAAIrE,GAIZ,MAAOqE,GAQX,QAASG,GAAwBxE,EAAGyE,EAAKC,EAAKf,EAAQgB,GAMlD,OALSF,EAAJzE,GAAWA,EAAI0E,GAAO1E,GAAK4E,EAAS5E,KACrCW,EAAOgD,GAAUgB,GAAQ,mBACjBF,EAAJzE,GAAWA,EAAI0E,EAAM,gBAAkB,mBAAqB1E,IAG7D,EAQX,QAAS6E,GAAW7E,EAAGE,EAAGC,GAKtB,IAJA,GAAIC,GAAI,EACJ0E,EAAI5E,EAAEsB,QAGDtB,IAAI4E,GAAI5E,EAAEoD,OAGnB,IAAMwB,EAAI5E,EAAE,GAAI4E,GAAK,GAAIA,GAAK,GAAI1E,KAkBlC,OAfOD,EAAIC,EAAID,EAAIiC,EAAW,GAAMF,EAGhClC,EAAEE,EAAIF,EAAEG,EAAI,KAGAgC,EAAJhC,EAGRH,EAAEE,GAAMF,EAAEG,EAAI,IAEdH,EAAEG,EAAIA,EACNH,EAAEE,EAAIA,GAGHF,EAmDX,QAASW,GAAOgD,EAAQoB,EAAKC,GACzB,GAAIC,GAAQ,GAAIC,QACZ,gBACA,MACA,SACA,MACA,WACA,KACA,KACA,MACA,KACA,MACA,QACA,MACA,OACA,YACA,SACA,QACA,QACA,QACA,WACA,gBACA,UACA,WACA,aACA,MACA,cACA,WACA,aACFvB,GAAU,MAAQoB,EAAM,KAAOC,EAIjC,MAFAC,GAAMN,KAAO,kBACb9D,EAAK,EACCoE,EAQV,QAASnE,GAAON,EAAG2E,EAAIpC,EAAIJ,GACvB,GAAIF,GAAGrC,EAAG0E,EAAGpC,EAAG1C,EAAGoF,EAAIC,EACnBzC,EAAKpC,EAAEN,EACPoF,EAASC,CAGb,IAAI3C,EAAI,CAQJ4C,EAAK,CAGD,IAAM/C,EAAI,EAAGC,EAAIE,EAAG,GAAIF,GAAK,GAAIA,GAAK,GAAID,KAI1C,GAHArC,EAAI+E,EAAK1C,EAGA,EAAJrC,EACDA,GAAKgC,EACL0C,EAAIK,EACJnF,EAAI4C,EAAIwC,EAAK,GAGbC,EAAKrF,EAAIsF,EAAQ7C,EAAIqC,EAAI,GAAM,GAAK,MAIpC,IAFAM,EAAKK,GAAYrF,EAAI,GAAMgC,GAEtBgD,GAAMxC,EAAGpB,OAAS,CAEnB,IAAImB,EASA,KAAM6C,EANN,MAAQ5C,EAAGpB,QAAU4D,EAAIxC,EAAGP,KAAK,IACjCrC,EAAIqF,EAAK,EACT5C,EAAI,EACJrC,GAAKgC,EACL0C,EAAI1E,EAAIgC,EAAW,MAIpB,CAIH,IAHApC,EAAI0C,EAAIE,EAAGwC,GAGL3C,EAAI,EAAGC,GAAK,GAAIA,GAAK,GAAID,KAG/BrC,GAAKgC,EAIL0C,EAAI1E,EAAIgC,EAAWK,EAGnB4C,EAAS,EAAJP,EAAQ,EAAI9E,EAAIsF,EAAQ7C,EAAIqC,EAAI,GAAM,GAAK,EAmBxD,GAfAnC,EAAIA,GAAU,EAALwC,GAKO,MAAdvC,EAAGwC,EAAK,KAAoB,EAAJN,EAAQ9E,EAAIA,EAAIsF,EAAQ7C,EAAIqC,EAAI,IAE1DnC,EAAS,EAALI,GACEsC,GAAM1C,KAAe,GAANI,GAAWA,IAAQvC,EAAEc,EAAI,EAAI,EAAI,IAClD+D,EAAK,GAAW,GAANA,IAAmB,GAANtC,GAAWJ,GAAW,GAANI,IAGnC3C,EAAI,EAAI0E,EAAI,EAAI9E,EAAIsF,EAAQ7C,EAAIqC,GAAM,EAAIlC,EAAGwC,EAAK,IAAO,GAAO,GAClErC,IAAQvC,EAAEc,EAAI,EAAI,EAAI,IAElB,EAAL6D,IAAWvC,EAAG,GAiBf,MAhBAA,GAAGpB,OAAS,EAERmB,GAGAwC,GAAM3E,EAAEL,EAAI,EAGZyC,EAAG,GAAK0C,GAAUlD,EAAW+C,EAAK/C,GAAaA,GAC/C5B,EAAEL,GAAKgF,GAAM,GAIbvC,EAAG,GAAKpC,EAAEL,EAAI,EAGXK,CAkBX,IAdU,GAALJ,GACDwC,EAAGpB,OAAS4D,EACZ1C,EAAI,EACJ0C,MAEAxC,EAAGpB,OAAS4D,EAAK,EACjB1C,EAAI4C,EAAQlD,EAAWhC,GAIvBwC,EAAGwC,GAAMN,EAAI,EAAI7C,EAAWjC,EAAIsF,EAAQ7C,EAAIqC,GAAMQ,EAAOR,IAAOpC,EAAI,GAIpEC,EAEA,OAAY,CAGR,GAAW,GAANyC,EAAU,CAGX,IAAMhF,EAAI,EAAG0E,EAAIlC,EAAG,GAAIkC,GAAK,GAAIA,GAAK,GAAI1E,KAE1C,IADA0E,EAAIlC,EAAG,IAAMF,EACPA,EAAI,EAAGoC,GAAK,GAAIA,GAAK,GAAIpC,KAG1BtC,GAAKsC,IACNlC,EAAEL,IACGyC,EAAG,IAAM8C,IAAO9C,EAAG,GAAK,GAGjC,OAGA,GADAA,EAAGwC,IAAO1C,EACLE,EAAGwC,IAAOM,EAAO,KACtB9C,GAAGwC,KAAQ,EACX1C,EAAI,EAMhB,IAAMtC,EAAIwC,EAAGpB,OAAoB,IAAZoB,IAAKxC,GAAUwC,EAAGU,QAItC9C,EAAEL,EAAI+B,EACP1B,EAAEN,EAAIM,EAAEL,EAAI,KAGJK,EAAEL,EAAIgC,IACd3B,EAAEN,GAAMM,EAAEL,EAAI,IAItB,MAAOK,GAnzCX,GAAI+C,GAGA1C,EAAK,EACL8E,EAAI5F,EAAU6F,UACdC,EAAM,GAAI9F,GAAU,GAYpBgB,EAAiB,GAejBC,EAAgB,EAMhBgD,EAAa,GAIb8B,EAAa,GAMb3D,EAAU,KAKVD,EAAU,IAGVxB,GAAS,EAGTE,EAAa4D,EAGbuB,GAAS,EAoBTC,EAAc,EAId/C,EAAgB,IAGhBgD,GACIC,iBAAkB,IAClBC,eAAgB,IAChBC,UAAW,EACXC,mBAAoB,EACpBC,uBAAwB,IACxBC,kBAAmB,EAi3E3B,OA5rEAxG,GAAUyG,QAAU3G,EAEpBE,EAAU0G,SAAW,EACrB1G,EAAU2G,WAAa,EACvB3G,EAAU4G,WAAa,EACvB5G,EAAU6G,YAAc,EACxB7G,EAAU8G,cAAgB,EAC1B9G,EAAU+G,gBAAkB,EAC5B/G,EAAUgH,gBAAkB,EAC5BhH,EAAUiH,gBAAkB,EAC5BjH,EAAUkH,iBAAmB,EAC7BlH,EAAUmH,OAAS,EAoCnBnH,EAAUoH,OAAS,WACf,GAAIC,GAAGC,EACHjH,EAAI,EACJuC,KACA2E,EAAIC,UACJC,EAAIF,EAAE,GACNG,EAAMD,GAAiB,gBAALA,GACd,WAAc,MAAKA,GAAEE,eAAeL,GAA4B,OAAdD,EAAII,EAAEH,IAA1C,QACd,WAAc,MAAKC,GAAE9F,OAASpB,EAA6B,OAAhBgH,EAAIE,EAAElH,MAAnC,OA6GtB,OAxGKqH,GAAKJ,EAAI,mBAAsBzG,EAAYwG,EAAG,EAAGO,EAAK,EAAGN,KAC1DtG,EAAqB,EAAJqG,GAErBzE,EAAE0E,GAAKtG,EAKF0G,EAAKJ,EAAI,kBAAqBzG,EAAYwG,EAAG,EAAG,EAAG,EAAGC,KACvDrG,EAAoB,EAAJoG,GAEpBzE,EAAE0E,GAAKrG,EAMFyG,EAAKJ,EAAI,oBAEL/C,EAAQ8C,GACJxG,EAAYwG,EAAE,IAAKO,EAAK,EAAG,EAAGN,IAAOzG,EAAYwG,EAAE,GAAI,EAAGO,EAAK,EAAGN,KACnErD,EAAoB,EAAPoD,EAAE,GACftB,EAAoB,EAAPsB,EAAE,IAEXxG,EAAYwG,GAAIO,EAAKA,EAAK,EAAGN,KACrCrD,IAAgB8B,EAAkC,GAAf,EAAJsB,GAASA,EAAIA,MAGpDzE,EAAE0E,IAAOrD,EAAY8B,GAOhB2B,EAAKJ,EAAI,WAEL/C,EAAQ8C,GACJxG,EAAYwG,EAAE,IAAKO,EAAK,GAAI,EAAGN,IAAOzG,EAAYwG,EAAE,GAAI,EAAGO,EAAK,EAAGN,KACpElF,EAAiB,EAAPiF,EAAE,GACZlF,EAAiB,EAAPkF,EAAE,IAERxG,EAAYwG,GAAIO,EAAKA,EAAK,EAAGN,KAC5B,EAAJD,EAAQjF,IAAaD,EAA+B,GAAf,EAAJkF,GAASA,EAAIA,IAC1C1G,GAAQC,EAAO,EAAG0G,EAAI,kBAAmBD,KAG1DzE,EAAE0E,IAAOlF,EAASD,GAIbuF,EAAKJ,EAAI,YAELD,MAAQA,GAAW,IAANA,GAAiB,IAANA,GACzBvG,EAAK,EACLD,GAAeF,IAAW0G,GAAM5C,EAAyBoD,GAClDlH,GACPC,EAAO,EAAG0G,EAAIQ,EAAST,IAG/BzE,EAAE0E,GAAK3G,EAKF+G,EAAKJ,EAAI,YAELD,MAAQA,GAAW,IAANA,GAAiB,IAANA,GACzBrB,KAAaqB,IAAKU,GACbV,IAAMrB,GAAUrF,GAASC,EAAO,EAAG,qBAAsBmH,IACvDpH,GACPC,EAAO,EAAG0G,EAAIQ,EAAST,IAG/BzE,EAAE0E,GAAKtB,EAKF0B,EAAKJ,EAAI,gBAAmBzG,EAAYwG,EAAG,EAAG,EAAG,EAAGC,KACrDrB,EAAkB,EAAJoB,GAElBzE,EAAE0E,GAAKrB,EAKFyB,EAAKJ,EAAI,kBAAqBzG,EAAYwG,EAAG,EAAGO,EAAK,EAAGN,KACzDpE,EAAoB,EAAJmE,GAEpBzE,EAAE0E,GAAKpE,EAIFwE,EAAKJ,EAAI,YAEO,gBAALD,GACRnB,EAASmB,EACF1G,GACPC,EAAO,EAAG0G,EAAI,iBAAkBD,IAGxCzE,EAAE0E,GAAKpB,EAEAtD,GASX5C,EAAU2E,IAAM,WAAc,MAAOR,GAAUqD,UAAW5B,EAAEoC,KAQ5DhI,EAAU0E,IAAM,WAAc,MAAOP,GAAUqD,UAAW5B,EAAEqC,KAc5DjI,EAAUkI,OAAS,WACf,GAAIC,GAAU,iBAMVC,EAAkBC,KAAKH,SAAWC,EAAW,QAC7C,WAAc,MAAOjG,GAAWmG,KAAKH,SAAWC,IAChD,WAAc,MAA2C,UAAlB,WAAhBE,KAAKH,SAAwB,IACjC,QAAhBG,KAAKH,SAAsB,GAElC,OAAO,UAAUnF,GACb,GAAIwE,GAAGrH,EAAGE,EAAGuC,EAAG0E,EACZhH,EAAI,EACJF,KACAmI,EAAO,GAAItI,GAAU8F,EAKzB,IAHA/C,EAAW,MAANA,GAAelC,EAAYkC,EAAI,EAAG6E,EAAK,IAA6B,EAAL7E,EAAjB/B,EACnD2B,EAAI+C,EAAU3C,EAAKV,GAEf2D,EAGA,GAAK+B,GAAaA,EAAUQ,gBAAkB,CAI1C,IAFAhB,EAAIQ,EAAUQ,gBAAiB,GAAIC,aAAa7F,GAAK,IAEzCA,EAAJtC,GAQJgH,EAAW,OAAPE,EAAElH,IAAgBkH,EAAElH,EAAI,KAAO,IAM9BgH,GAAK,MACNnH,EAAI6H,EAAUQ,gBAAiB,GAAIC,aAAY,IAC/CjB,EAAElH,GAAKH,EAAE,GACTqH,EAAElH,EAAI,GAAKH,EAAE,KAKbC,EAAEmC,KAAM+E,EAAI,MACZhH,GAAK,EAGbA,GAAIsC,EAAI,MAGL,IAAKoF,GAAaA,EAAUU,YAAc,CAK7C,IAFAlB,EAAIQ,EAAUU,YAAa9F,GAAK,GAEpBA,EAAJtC,GAMJgH,EAAsB,iBAAP,GAAPE,EAAElH,IAA6C,cAAXkH,EAAElH,EAAI,GAC/B,WAAXkH,EAAElH,EAAI,GAAkC,SAAXkH,EAAElH,EAAI,IACnCkH,EAAElH,EAAI,IAAM,KAASkH,EAAElH,EAAI,IAAM,GAAMkH,EAAElH,EAAI,GAEhDgH,GAAK,KACNU,EAAUU,YAAY,GAAGC,KAAMnB,EAAGlH,IAIlCF,EAAEmC,KAAM+E,EAAI,MACZhH,GAAK,EAGbA,GAAIsC,EAAI,MACDhC,IACPC,EAAO,GAAI,qBAAsBmH,EAKzC,KAAK1H,EAED,KAAYsC,EAAJtC,GACJgH,EAAIe,IACK,KAAJf,IAAWlH,EAAEE,KAAOgH,EAAI,KAcrC,KAVA1E,EAAIxC,IAAIE,GACR0C,GAAMV,EAGDM,GAAKI,IACNsE,EAAI7B,EAASnD,EAAWU,GACxB5C,EAAEE,GAAK6B,EAAWS,EAAI0E,GAAMA,GAIf,IAATlH,EAAEE,GAAUF,EAAEoD,MAAOlD,KAG7B,GAAS,EAAJA,EACDF,GAAMC,EAAI,OACP,CAGH,IAAMA,EAAI,GAAc,IAATD,EAAE,GAAUA,EAAEwI,QAASvI,GAAKiC,GAG3C,IAAMhC,EAAI,EAAGgH,EAAIlH,EAAE,GAAIkH,GAAK,GAAIA,GAAK,GAAIhH,KAGhCgC,EAAJhC,IAAeD,GAAKiC,EAAWhC,GAKxC,MAFAiI,GAAKlI,EAAIA,EACTkI,EAAKnI,EAAIA,EACFmI,MAqGf9E,EAAM,WAGF,QAASoF,GAAUnI,EAAGkC,EAAGkG,GACrB,GAAIvE,GAAGwE,EAAMC,EAAKC,EACdC,EAAQ,EACR5I,EAAII,EAAEgB,OACNyH,EAAMvG,EAAIwG,EACVC,EAAMzG,EAAIwG,EAAY,CAE1B,KAAM1I,EAAIA,EAAEW,QAASf,KACjB0I,EAAMtI,EAAEJ,GAAK8I,EACbH,EAAMvI,EAAEJ,GAAK8I,EAAY,EACzB7E,EAAI8E,EAAML,EAAMC,EAAME,EACtBJ,EAAOI,EAAMH,EAAUzE,EAAI6E,EAAcA,EAAcF,EACvDA,GAAUH,EAAOD,EAAO,IAAQvE,EAAI6E,EAAY,GAAMC,EAAMJ,EAC5DvI,EAAEJ,GAAKyI,EAAOD,CAKlB,OAFII,IAAOxI,EAAEgD,QAAQwF,GAEdxI,EAGX,QAAS4I,GAAS9B,EAAGrH,EAAGoJ,EAAIC,GACxB,GAAIlJ,GAAGmJ,CAEP,IAAKF,GAAMC,EACPC,EAAMF,EAAKC,EAAK,EAAI,OAGpB,KAAMlJ,EAAImJ,EAAM,EAAOF,EAAJjJ,EAAQA,IAEvB,GAAKkH,EAAElH,IAAMH,EAAEG,GAAK,CAChBmJ,EAAMjC,EAAElH,GAAKH,EAAEG,GAAK,EAAI,EACxB,OAIZ,MAAOmJ,GAGX,QAASC,GAAUlC,EAAGrH,EAAGoJ,EAAIT,GAIzB,IAHA,GAAIxI,GAAI,EAGAiJ,KACJ/B,EAAE+B,IAAOjJ,EACTA,EAAIkH,EAAE+B,GAAMpJ,EAAEoJ,GAAM,EAAI,EACxB/B,EAAE+B,GAAMjJ,EAAIwI,EAAOtB,EAAE+B,GAAMpJ,EAAEoJ,EAIjC,OAAS/B,EAAE,IAAMA,EAAE9F,OAAS,EAAG8F,EAAEoB,UAIrC,MAAO,UAAWlI,EAAGqC,EAAGC,EAAIC,EAAI6F,GAC5B,GAAIW,GAAKpJ,EAAGC,EAAGqJ,EAAMzJ,EAAG0J,EAAMC,EAAOC,EAAGC,EAAIC,EAAKC,EAAMC,EAAMC,EAAIC,EAAIC,EACjEC,EAAIC,EACJ/I,EAAId,EAAEc,GAAKuB,EAAEvB,EAAI,EAAI,GACrBsB,EAAKpC,EAAEN,EACPoK,EAAKzH,EAAE3C,CAGX,MAAM0C,GAAOA,EAAG,IAAO0H,GAAOA,EAAG,IAE7B,MAAO,IAAIvK,GAGRS,EAAEc,GAAMuB,EAAEvB,IAAOsB,GAAK0H,GAAM1H,EAAG,IAAM0H,EAAG,GAAMA,GAG7C1H,GAAe,GAATA,EAAG,KAAY0H,EAAS,EAAJhJ,EAAQA,EAAI,EAHciJ,IAoB5D,KAbAX,EAAI,GAAI7J,GAAUuB,GAClBuI,EAAKD,EAAE1J,KACPC,EAAIK,EAAEL,EAAI0C,EAAE1C,EACZmB,EAAIwB,EAAK3C,EAAI,EAEPyI,IACFA,EAAOlD,EACPvF,EAAIqK,EAAUhK,EAAEL,EAAIiC,GAAaoI,EAAU3H,EAAE1C,EAAIiC,GACjDd,EAAIA,EAAIc,EAAW,GAKjBhC,EAAI,EAAGkK,EAAGlK,KAAQwC,EAAGxC,IAAM,GAAKA,KAGtC,GAFKkK,EAAGlK,IAAOwC,EAAGxC,IAAM,IAAMD,IAErB,EAAJmB,EACDuI,EAAGxH,KAAK,GACRoH,GAAO,MACJ,CAwBH,IAvBAS,EAAKtH,EAAGpB,OACR4I,EAAKE,EAAG9I,OACRpB,EAAI,EACJkB,GAAK,EAILtB,EAAIiC,EAAW2G,GAAS0B,EAAG,GAAK,IAI3BtK,EAAI,IACLsK,EAAK3B,EAAU2B,EAAItK,EAAG4I,GACtBhG,EAAK+F,EAAU/F,EAAI5C,EAAG4I,GACtBwB,EAAKE,EAAG9I,OACR0I,EAAKtH,EAAGpB,QAGZyI,EAAKG,EACLN,EAAMlH,EAAGzB,MAAO,EAAGiJ,GACnBL,EAAOD,EAAItI,OAGI4I,EAAPL,EAAWD,EAAIC,KAAU,GACjCM,EAAKC,EAAGnJ,QACRkJ,EAAG7G,QAAQ,GACX2G,EAAMG,EAAG,GACJA,EAAG,IAAM1B,EAAO,GAAIuB,GAIzB,GAAG,CAOC,GANAnK,EAAI,EAGJuJ,EAAMH,EAASkB,EAAIR,EAAKM,EAAIL,GAGjB,EAANR,EAAU,CAkBX,GAdAS,EAAOF,EAAI,GACNM,GAAML,IAAOC,EAAOA,EAAOpB,GAASkB,EAAI,IAAM,IAGnD9J,EAAIiC,EAAW+H,EAAOG,GAUjBnK,EAAI,EAeL,IAZIA,GAAK4I,IAAM5I,EAAI4I,EAAO,GAG1Bc,EAAOf,EAAU2B,EAAItK,EAAG4I,GACxBe,EAAQD,EAAKlI,OACbuI,EAAOD,EAAItI,OAOkC,GAArC4H,EAASM,EAAMI,EAAKH,EAAOI,IAC/B/J,IAGAwJ,EAAUE,EAAWC,EAALS,EAAaC,EAAKC,EAAIX,EAAOf,GAC7Ce,EAAQD,EAAKlI,OACb+H,EAAM,MAQA,IAALvJ,IAGDuJ,EAAMvJ,EAAI,GAId0J,EAAOY,EAAGnJ,QACVwI,EAAQD,EAAKlI,MAUjB,IAPauI,EAARJ,GAAeD,EAAKlG,QAAQ,GAGjCgG,EAAUM,EAAKJ,EAAMK,EAAMnB,GAC3BmB,EAAOD,EAAItI,OAGC,IAAP+H,EAMD,KAAQH,EAASkB,EAAIR,EAAKM,EAAIL,GAAS,GACnC/J,IAGAwJ,EAAUM,EAAUC,EAALK,EAAYC,EAAKC,EAAIP,EAAMnB,GAC1CmB,EAAOD,EAAItI,WAGH,KAAR+H,IACRvJ,IACA8J,GAAO,GAIXD,GAAGzJ,KAAOJ,EAGL8J,EAAI,GACLA,EAAIC,KAAUnH,EAAGqH,IAAO,GAExBH,GAAQlH,EAAGqH,IACXF,EAAO,UAEHE,IAAOC,GAAgB,MAAVJ,EAAI,KAAgBxI,IAE7CmI,GAAiB,MAAVK,EAAI,GAGLD,EAAG,IAAKA,EAAGnB,QAGrB,GAAKE,GAAQlD,EAAO,CAGhB,IAAMtF,EAAI,EAAGkB,EAAIuI,EAAG,GAAIvI,GAAK,GAAIA,GAAK,GAAIlB,KAC1CU,EAAO8I,EAAG9G,GAAO8G,EAAEzJ,EAAIC,EAAID,EAAIiC,EAAW,GAAM,EAAGW,EAAI0G,OAIvDG,GAAEzJ,EAAIA,EACNyJ,EAAEjH,GAAK8G,CAGX,OAAOG,OAgJfvI,EAAe,WACX,GAAIoJ,GAAa,8BACbC,EAAW,cACXC,EAAY,cACZC,EAAkB,qBAClBC,EAAmB,4BAEvB,OAAO,UAAWrK,EAAGD,EAAKF,EAAKJ,GAC3B,GAAI2I,GACAtH,EAAIjB,EAAME,EAAMA,EAAIgB,QAASsJ,EAAkB,GAGnD,IAAKD,EAAgBxJ,KAAKE,GACtBd,EAAEc,EAAIwJ,MAAMxJ,GAAK,KAAW,EAAJA,EAAQ,GAAK,MAClC,CACH,IAAMjB,IAGFiB,EAAIA,EAAEC,QAASkJ,EAAY,SAAWpG,EAAG0G,EAAIC,GAEzC,MADApC,GAAoC,MAA3BoC,EAAKA,EAAGhI,eAAyB,GAAW,KAANgI,EAAY,EAAI,EACvD/K,GAAKA,GAAK2I,EAAYvE,EAAL0G,IAGzB9K,IACA2I,EAAO3I,EAGPqB,EAAIA,EAAEC,QAASmJ,EAAU,MAAOnJ,QAASoJ,EAAW,SAGnDpK,GAAOe,GAAI,MAAO,IAAIvB,GAAWuB,EAAGsH,EAKzClI,IAAQC,EAAOE,EAAI,SAAYZ,EAAI,SAAWA,EAAI,IAAO,UAAWM,GACxEC,EAAEc,EAAI,KAGVd,EAAEN,EAAIM,EAAEL,EAAI,KACZU,EAAK,MAmNb8E,EAAEsF,cAAgBtF,EAAEuF,IAAM,WACtB,GAAI1K,GAAI,GAAIT,GAAUU,KAEtB,OADKD,GAAEc,EAAI,IAAId,EAAEc,EAAI,GACdd,GAQXmF,EAAEwF,KAAO,WACL,MAAOrK,GAAO,GAAIf,GAAUU,MAAOA,KAAKN,EAAI,EAAG,IAWnDwF,EAAEyF,WAAazF,EAAE4D,IAAM,SAAW1G,EAAG5C,GAEjC,MADAY,GAAK,EACEuI,EAAS3I,KAAM,GAAIV,GAAW8C,EAAG5C,KAQ5C0F,EAAE0F,cAAgB1F,EAAE7C,GAAK,WACrB,GAAI9C,GAAGoH,EACHlH,EAAIO,KAAKP,CAEb,KAAMA,EAAI,MAAO,KAIjB,IAHAF,IAAQoH,EAAIlH,EAAEsB,OAAS,GAAMgJ,EAAU/J,KAAKN,EAAIiC,IAAeA,EAG1DgF,EAAIlH,EAAEkH,GAAK,KAAQA,EAAI,IAAM,EAAGA,GAAK,GAAIpH,KAG9C,MAFS,GAAJA,IAAQA,EAAI,GAEVA,GAwBX2F,EAAE2F,UAAY3F,EAAEpC,IAAM,SAAWV,EAAG5C,GAEhC,MADAY,GAAK,EACE0C,EAAK9C,KAAM,GAAIV,GAAW8C,EAAG5C,GAAKc,EAAgBC,IAQ7D2E,EAAE4F,mBAAqB5F,EAAE6F,SAAW,SAAW3I,EAAG5C,GAE9C,MADAY,GAAK,EACE0C,EAAK9C,KAAM,GAAIV,GAAW8C,EAAG5C,GAAK,EAAG,IAQhD0F,EAAE8F,OAAS9F,EAAE+F,GAAK,SAAW7I,EAAG5C,GAE5B,MADAY,GAAK,EAC6C,IAA3CuI,EAAS3I,KAAM,GAAIV,GAAW8C,EAAG5C,KAQ5C0F,EAAEgG,MAAQ,WACN,MAAO7K,GAAO,GAAIf,GAAUU,MAAOA,KAAKN,EAAI,EAAG,IAQnDwF,EAAEiG,YAAcjG,EAAEqC,GAAK,SAAWnF,EAAG5C,GAEjC,MADAY,GAAK,EACEuI,EAAS3I,KAAM,GAAIV,GAAW8C,EAAG5C,IAAQ,GAQpD0F,EAAEkG,qBAAuBlG,EAAEmG,IAAM,SAAWjJ,EAAG5C,GAE3C,MADAY,GAAK,EACqD,KAAjDZ,EAAImJ,EAAS3I,KAAM,GAAIV,GAAW8C,EAAG5C,MAAuB,IAANA,GAQnE0F,EAAEoG,SAAW,WACT,QAAStL,KAAKP,GAOlByF,EAAEqG,UAAYrG,EAAEsG,MAAQ,WACpB,QAASxL,KAAKP,GAAKsK,EAAU/J,KAAKN,EAAIiC,GAAa3B,KAAKP,EAAEsB,OAAS,GAOvEmE,EAAEmF,MAAQ,WACN,OAAQrK,KAAKa,GAOjBqE,EAAEuG,WAAavG,EAAEwG,MAAQ,WACrB,MAAO1L,MAAKa,EAAI,GAOpBqE,EAAEyG,OAAS,WACP,QAAS3L,KAAKP,GAAkB,GAAbO,KAAKP,EAAE,IAQ9ByF,EAAE0G,SAAW1G,EAAEoC,GAAK,SAAWlF,EAAG5C,GAE9B,MADAY,GAAK,EACEuI,EAAS3I,KAAM,GAAIV,GAAW8C,EAAG5C,IAAQ,GAQpD0F,EAAE2G,kBAAoB3G,EAAE4G,IAAM,SAAW1J,EAAG5C,GAExC,MADAY,GAAK,EACqD,MAAjDZ,EAAImJ,EAAS3I,KAAM,GAAIV,GAAW8C,EAAG5C,MAAwB,IAANA,GAwBpE0F,EAAE6G,MAAQ7G,EAAE8G,IAAM,SAAW5J,EAAG5C,GAC5B,GAAIG,GAAG0E,EAAG4H,EAAGC,EACTnM,EAAIC,KACJ6G,EAAI9G,EAAEc,CAOV,IALAT,EAAK,GACLgC,EAAI,GAAI9C,GAAW8C,EAAG5C,GACtBA,EAAI4C,EAAEvB,GAGAgG,IAAMrH,EAAI,MAAO,IAAIF,GAAUwK,IAGrC,IAAKjD,GAAKrH,EAEN,MADA4C,GAAEvB,GAAKrB,EACAO,EAAEoM,KAAK/J,EAGlB,IAAIgK,GAAKrM,EAAEL,EAAIiC,EACX0K,EAAKjK,EAAE1C,EAAIiC,EACXQ,EAAKpC,EAAEN,EACPoK,EAAKzH,EAAE3C,CAEX,KAAM2M,IAAOC,EAAK,CAGd,IAAMlK,IAAO0H,EAAK,MAAO1H,IAAOC,EAAEvB,GAAKrB,EAAG4C,GAAM,GAAI9C,GAAWuK,EAAK9J,EAAI+J,IAGxE,KAAM3H,EAAG,KAAO0H,EAAG,GAGf,MAAOA,GAAG,IAAOzH,EAAEvB,GAAKrB,EAAG4C,GAAM,GAAI9C,GAAW6C,EAAG,GAAKpC,EAGrC,GAAjBQ,GAAsB,EAAI,GASpC,GALA6L,EAAKrC,EAASqC,GACdC,EAAKtC,EAASsC,GACdlK,EAAKA,EAAGzB,QAGHmG,EAAIuF,EAAKC,EAAK,CAaf,KAXKH,EAAW,EAAJrF,IACRA,GAAKA,EACLoF,EAAI9J,IAEJkK,EAAKD,EACLH,EAAIpC,GAGRoC,EAAEK,UAGI9M,EAAIqH,EAAGrH,IAAKyM,EAAErK,KAAK,IACzBqK,EAAEK,cAMF,KAFAjI,GAAM6H,GAASrF,EAAI1E,EAAGpB,SAAavB,EAAIqK,EAAG9I,SAAa8F,EAAIrH,EAErDqH,EAAIrH,EAAI,EAAO6E,EAAJ7E,EAAOA,IAEpB,GAAK2C,EAAG3C,IAAMqK,EAAGrK,GAAK,CAClB0M,EAAO/J,EAAG3C,GAAKqK,EAAGrK,EAClB,OAYZ,GANI0M,IAAMD,EAAI9J,EAAIA,EAAK0H,EAAIA,EAAKoC,EAAG7J,EAAEvB,GAAKuB,EAAEvB,GAE5CrB,GAAM6E,EAAIwF,EAAG9I,SAAapB,EAAIwC,EAAGpB,QAI5BvB,EAAI,EAAI,KAAQA,IAAK2C,EAAGxC,KAAO,GAIpC,IAHAH,EAAIyF,EAAO,EAGHZ,EAAIwC,GAAK,CAEb,GAAK1E,IAAKkC,GAAKwF,EAAGxF,GAAK,CACnB,IAAM1E,EAAI0E,EAAG1E,IAAMwC,IAAKxC,GAAIwC,EAAGxC,GAAKH,KAClC2C,EAAGxC,GACLwC,EAAGkC,IAAMY,EAGb9C,EAAGkC,IAAMwF,EAAGxF,GAIhB,KAAiB,GAATlC,EAAG,GAASA,EAAG8F,UAAWoE,GAGlC,MAAMlK,GAAG,GAWFiC,EAAWhC,EAAGD,EAAIkK,IAPrBjK,EAAEvB,EAAqB,GAAjBN,EAAqB,GAAK,EAChC6B,EAAE3C,GAAM2C,EAAE1C,EAAI,GACP0C,IA8Bf8C,EAAEqH,OAASrH,EAAEsH,IAAM,SAAWpK,EAAG5C,GAC7B,GAAI2J,GAAGtI,EACHd,EAAIC,IAMR,OAJAI,GAAK,GACLgC,EAAI,GAAI9C,GAAW8C,EAAG5C,IAGhBO,EAAEN,IAAM2C,EAAEvB,GAAKuB,EAAE3C,IAAM2C,EAAE3C,EAAE,GACtB,GAAIH,GAAUwK,MAGZ1H,EAAE3C,GAAKM,EAAEN,IAAMM,EAAEN,EAAE,GACrB,GAAIH,GAAUS,IAGL,GAAfwF,GAID1E,EAAIuB,EAAEvB,EACNuB,EAAEvB,EAAI,EACNsI,EAAIrG,EAAK/C,EAAGqC,EAAG,EAAG,GAClBA,EAAEvB,EAAIA,EACNsI,EAAEtI,GAAKA,GAEPsI,EAAIrG,EAAK/C,EAAGqC,EAAG,EAAGmD,GAGfxF,EAAEgM,MAAO5C,EAAEsD,MAAMrK,MAQ5B8C,EAAEwH,QAAUxH,EAAEyH,IAAM,WAChB,GAAI5M,GAAI,GAAIT,GAAUU,KAEtB,OADAD,GAAEc,GAAKd,EAAEc,GAAK,KACPd,GAwBXmF,EAAEiH,KAAOjH,EAAE0H,IAAM,SAAWxK,EAAG5C,GAC3B,GAAIyM,GACAlM,EAAIC,KACJ6G,EAAI9G,EAAEc,CAOV,IALAT,EAAK,GACLgC,EAAI,GAAI9C,GAAW8C,EAAG5C,GACtBA,EAAI4C,EAAEvB,GAGAgG,IAAMrH,EAAI,MAAO,IAAIF,GAAUwK,IAGpC,IAAKjD,GAAKrH,EAEP,MADA4C,GAAEvB,GAAKrB,EACAO,EAAEgM,MAAM3J,EAGnB,IAAIgK,GAAKrM,EAAEL,EAAIiC,EACX0K,EAAKjK,EAAE1C,EAAIiC,EACXQ,EAAKpC,EAAEN,EACPoK,EAAKzH,EAAE3C,CAEX,KAAM2M,IAAOC,EAAK,CAGd,IAAMlK,IAAO0H,EAAK,MAAO,IAAIvK,GAAWuH,EAAI,EAI5C,KAAM1E,EAAG,KAAO0H,EAAG,GAAK,MAAOA,GAAG,GAAKzH,EAAI,GAAI9C,GAAW6C,EAAG,GAAKpC,EAAQ,EAAJ8G,GAQ1E,GALAuF,EAAKrC,EAASqC,GACdC,EAAKtC,EAASsC,GACdlK,EAAKA,EAAGzB,QAGHmG,EAAIuF,EAAKC,EAAK,CAUf,IATKxF,EAAI,GACLwF,EAAKD,EACLH,EAAIpC,IAEJhD,GAAKA,EACLoF,EAAI9J,GAGR8J,EAAEK,UACMzF,IAAKoF,EAAErK,KAAK,IACpBqK,EAAEK,UAUN,IAPAzF,EAAI1E,EAAGpB,OACPvB,EAAIqK,EAAG9I,OAGM,EAAR8F,EAAIrH,IAAQyM,EAAIpC,EAAIA,EAAK1H,EAAIA,EAAK8J,EAAGzM,EAAIqH,GAGxCA,EAAI,EAAGrH,GACTqH,GAAM1E,IAAK3C,GAAK2C,EAAG3C,GAAKqK,EAAGrK,GAAKqH,GAAM5B,EAAO,EAC7C9C,EAAG3C,IAAMyF,CAUb,OAPI4B,KACA1E,EAAGY,QAAQ8D,KACTwF,GAKCjI,EAAWhC,EAAGD,EAAIkK,IAS7BnH,EAAE2H,UAAY3H,EAAER,GAAK,SAAUoI,GAC3B,GAAIvN,GAAGoH,EACH5G,EAAIC,KACJP,EAAIM,EAAEN,CAQV,IALU,MAALqN,GAAaA,MAAQA,GAAW,IAANA,GAAiB,IAANA,IAClC7M,GAAQC,EAAO,GAAI,WAAakH,EAAS0F,GACxCA,KAAOA,IAAIA,EAAI,QAGlBrN,EAAI,MAAO,KAIjB,IAHAkH,EAAIlH,EAAEsB,OAAS,EACfxB,EAAIoH,EAAIhF,EAAW,EAEdgF,EAAIlH,EAAEkH,GAAK,CAGZ,KAAQA,EAAI,IAAM,EAAGA,GAAK,GAAIpH,KAG9B,IAAMoH,EAAIlH,EAAE,GAAIkH,GAAK,GAAIA,GAAK,GAAIpH,MAKtC,MAFKuN,IAAK/M,EAAEL,EAAI,EAAIH,IAAIA,EAAIQ,EAAEL,EAAI,GAE3BH,GAiBX2F,EAAE7E,MAAQ,SAAWgC,EAAIC,GACrB,GAAI/C,GAAI,GAAID,GAAUU,KAOtB,QALW,MAANqC,GAAclC,EAAYkC,EAAI,EAAG6E,EAAK,MACvC7G,EAAOd,IAAK8C,EAAKrC,KAAKN,EAAI,EAAS,MAAN4C,GAC1BnC,EAAYmC,EAAI,EAAG,EAAG,GAAIe,GAAsC,EAALf,EAAhB/B,GAG3ChB,GAgBX2F,EAAE+C,MAAQ,SAAUhG,GAChB,GAAI1C,GAAIS,IACR,OAAOG,GAAY8B,GAAIV,EAAkBA,EAAkB,GAAI,YAG3DhC,EAAEkN,MAAO,KAAOtI,EAASlC,IACzB,GAAI3C,GAAWC,EAAEE,GAAKF,EAAEE,EAAE,MAAa8B,EAALU,GAAyBA,EAAIV,GAC7DhC,EAAEsB,GAAU,EAAJoB,EAAQ,EAAI,EAAI,GACxB1C,IAeV2F,EAAE6H,WAAa7H,EAAE8H,KAAO,WACpB,GAAIpJ,GAAGrE,EAAG2C,EAAG+K,EAAKhB,EACdlM,EAAIC,KACJP,EAAIM,EAAEN,EACNoB,EAAId,EAAEc,EACNnB,EAAIK,EAAEL,EACN2C,EAAK/B,EAAiB,EACtB4M,EAAO,GAAI5N,GAAU,MAGzB,IAAW,IAANuB,IAAYpB,IAAMA,EAAE,GACrB,MAAO,IAAIH,IAAYuB,GAAS,EAAJA,KAAYpB,GAAKA,EAAE,IAAOqK,IAAMrK,EAAIM,EAAI,EAAI,EA8B5E,IA1BAc,EAAI8G,KAAKqF,MAAOjN,GAIN,GAALc,GAAUA,GAAK,EAAI,GACpBtB,EAAIqD,EAAcnD,IACXF,EAAEwB,OAASrB,GAAM,GAAK,IAAIH,GAAK,KACtCsB,EAAI8G,KAAKqF,KAAKzN,GACdG,EAAIqK,GAAYrK,EAAI,GAAM,IAAY,EAAJA,GAASA,EAAI,GAE1CmB,GAAK,EAAI,EACVtB,EAAI,KAAOG,GAEXH,EAAIsB,EAAE2C,gBACNjE,EAAIA,EAAEmB,MAAO,EAAGnB,EAAE6B,QAAQ,KAAO,GAAM1B,GAG3CwC,EAAI,GAAI5C,GAAUC,IAElB2C,EAAI,GAAI5C,GAAWuB,EAAI,IAOtBqB,EAAEzC,EAAE,GAML,IALAC,EAAIwC,EAAExC,EACNmB,EAAInB,EAAI2C,EACC,EAAJxB,IAAQA,EAAI,KAOb,GAHAoL,EAAI/J,EACJA,EAAIgL,EAAKT,MAAOR,EAAEE,KAAMrJ,EAAK/C,EAAGkM,EAAG5J,EAAI,KAElCO,EAAeqJ,EAAExM,GAAMiB,MAAO,EAAGG,MAAUtB,EAC3CqD,EAAeV,EAAEzC,IAAMiB,MAAO,EAAGG,GAAM,CAWxC,GANKqB,EAAExC,EAAIA,KAAMmB,EACjBtB,EAAIA,EAAEmB,MAAOG,EAAI,EAAGA,EAAI,GAKd,QAALtB,IAAgB0N,GAAY,QAAL1N,GAgBrB,IAIIA,KAAOA,EAAEmB,MAAM,IAAqB,KAAfnB,EAAEyD,OAAO,MAGjC3C,EAAO6B,EAAGA,EAAExC,EAAIY,EAAiB,EAAG,GACpCsD,GAAK1B,EAAEuK,MAAMvK,GAAG+I,GAAGlL,GAGvB,OAvBA,IAAMkN,IACF5M,EAAO4L,EAAGA,EAAEvM,EAAIY,EAAiB,EAAG,GAE/B2L,EAAEQ,MAAMR,GAAGhB,GAAGlL,IAAK,CACpBmC,EAAI+J,CACJ,OAIR5J,GAAM,EACNxB,GAAK,EACLoM,EAAM,EAkBtB,MAAO5M,GAAO6B,EAAGA,EAAExC,EAAIY,EAAiB,EAAGC,EAAeqD,IAwB9DsB,EAAEuH,MAAQvH,EAAEiI,IAAM,SAAW/K,EAAG5C,GAC5B,GAAIC,GAAGC,EAAGC,EAAG0E,EAAGpC,EAAG2B,EAAGwJ,EAAK/E,EAAKC,EAAK+E,EAAKC,EAAKC,EAAKC,EAChDrF,EAAMsF,EACN1N,EAAIC,KACJmC,EAAKpC,EAAEN,EACPoK,GAAOzJ,EAAK,GAAIgC,EAAI,GAAI9C,GAAW8C,EAAG5C,IAAMC,CAGhD,MAAM0C,GAAO0H,GAAO1H,EAAG,IAAO0H,EAAG,IAmB7B,OAhBM9J,EAAEc,IAAMuB,EAAEvB,GAAKsB,IAAOA,EAAG,KAAO0H,GAAMA,IAAOA,EAAG,KAAO1H,EACzDC,EAAE3C,EAAI2C,EAAE1C,EAAI0C,EAAEvB,EAAI,MAElBuB,EAAEvB,GAAKd,EAAEc,EAGHsB,GAAO0H,GAKTzH,EAAE3C,GAAK,GACP2C,EAAE1C,EAAI,GALN0C,EAAE3C,EAAI2C,EAAE1C,EAAI,MASb0C,CAYX,KATA1C,EAAIqK,EAAUhK,EAAEL,EAAIiC,GAAaoI,EAAU3H,EAAE1C,EAAIiC,GACjDS,EAAEvB,GAAKd,EAAEc,EACTuM,EAAMjL,EAAGpB,OACTsM,EAAMxD,EAAG9I,OAGEsM,EAAND,IAAYI,EAAKrL,EAAIA,EAAK0H,EAAIA,EAAK2D,EAAI7N,EAAIyN,EAAKA,EAAMC,EAAKA,EAAM1N,GAGhEA,EAAIyN,EAAMC,EAAKG,KAAS7N,IAAK6N,EAAG5L,KAAK,IAK3C,IAHAuG,EAAOlD,EACPwI,EAAWhF,EAEL9I,EAAI0N,IAAO1N,GAAK,GAAK,CAKvB,IAJAF,EAAI,EACJ6N,EAAMzD,EAAGlK,GAAK8N,EACdF,EAAM1D,EAAGlK,GAAK8N,EAAW,EAEnBxL,EAAImL,EAAK/I,EAAI1E,EAAIsC,EAAGoC,EAAI1E,GAC1B0I,EAAMlG,IAAKF,GAAKwL,EAChBnF,EAAMnG,EAAGF,GAAKwL,EAAW,EACzB7J,EAAI2J,EAAMlF,EAAMC,EAAMgF,EACtBjF,EAAMiF,EAAMjF,EAAUzE,EAAI6J,EAAaA,EAAaD,EAAGnJ,GAAK5E,EAC5DA,GAAM4I,EAAMF,EAAO,IAAQvE,EAAI6J,EAAW,GAAMF,EAAMjF,EACtDkF,EAAGnJ,KAAOgE,EAAMF,CAGpBqF,GAAGnJ,GAAK5E,EASZ,MANIA,KACEC,EAEF8N,EAAGvF,QAGA7D,EAAWhC,EAAGoL,EAAI9N,IAgB7BwF,EAAEwI,SAAW,SAAWhJ,EAAIpC,GACxB,GAAI/C,GAAI,GAAID,GAAUU,KAGtB,OAFA0E,GAAW,MAANA,GAAevE,EAAYuE,EAAI,EAAGwC,EAAK,GAAI,aAA4B,EAALxC,EAAP,KAChEpC,EAAW,MAANA,GAAenC,EAAYmC,EAAI,EAAG,EAAG,GAAIe,GAAsC,EAALf,EAAhB/B,EACxDmE,EAAKrE,EAAOd,EAAGmF,EAAIpC,GAAO/C,GAgBrC2F,EAAE1B,cAAgB,SAAWnB,EAAIC,GAC7B,MAAOW,GAAQjD,KACP,MAANqC,GAAclC,EAAYkC,EAAI,EAAG6E,EAAK,MAAS7E,EAAK,EAAI,KAAMC,EAAI,KAmBxE4C,EAAEyI,QAAU,SAAWtL,EAAIC,GACvB,MAAOW,GAAQjD,KAAY,MAANqC,GAAclC,EAAYkC,EAAI,EAAG6E,EAAK,MACrD7E,EAAKrC,KAAKN,EAAI,EAAI,KAAM4C,EAAI,KA0BtC4C,EAAE0I,SAAW,SAAWvL,EAAIC,GACxB,GAAIxC,GAAMmD,EAAQjD,KAAY,MAANqC,GAAclC,EAAYkC,EAAI,EAAG6E,EAAK,MACxD7E,EAAKrC,KAAKN,EAAI,EAAI,KAAM4C,EAAI,GAElC,IAAKtC,KAAKP,EAAI,CACV,GAAIE,GACAkO,EAAM/N,EAAIgO,MAAM,KAChBC,GAAMvI,EAAOG,UACbqI,GAAMxI,EAAOI,mBACbF,EAAiBF,EAAOE,eACxBuI,EAAUJ,EAAI,GACdK,EAAeL,EAAI,GACnBnC,EAAQ1L,KAAKa,EAAI,EACjBsN,EAAYzC,EAAQuC,EAAQvN,MAAM,GAAKuN,EACvCpO,EAAMsO,EAAUpN,MAIpB,IAFIiN,IAAIrO,EAAIoO,EAAIA,EAAKC,EAAIA,EAAKrO,EAAGE,GAAOF,GAEnCoO,EAAK,GAAKlO,EAAM,EAAI,CAIrB,IAHAF,EAAIE,EAAMkO,GAAMA,EAChBE,EAAUE,EAAUC,OAAQ,EAAGzO,GAEnBE,EAAJF,EAASA,GAAKoO,EAClBE,GAAWvI,EAAiByI,EAAUC,OAAQzO,EAAGoO,EAGhDC,GAAK,IAAIC,GAAWvI,EAAiByI,EAAUzN,MAAMf,IACtD+L,IAAOuC,EAAU,IAAMA,GAG/BnO,EAAMoO,EACFD,EAAUzI,EAAOC,mBAAuBuI,GAAMxI,EAAOM,mBACnDoI,EAAapN,QAAS,GAAIN,QAAQ,OAASwN,EAAK,OAAQ,KACxD,KAAOxI,EAAOK,wBACdqI,GACFD,EAGR,MAAOnO,IAgBXoF,EAAEmJ,WAAa,SAAUC,GACrB,GAAIT,GAAKU,EAAIC,EAAI9O,EAAG+O,EAAKlP,EAAGmP,EAAIvF,EAAGtI,EAC/BoB,EAAIhC,EACJF,EAAIC,KACJmC,EAAKpC,EAAEN,EACPuC,EAAI,GAAI1C,GAAU8F,GAClBuJ,EAAKJ,EAAK,GAAIjP,GAAU8F,GACxBwJ,EAAKF,EAAK,GAAIpP,GAAU8F,EAoB5B,IAlBW,MAANkJ,IACDrO,GAAS,EACTV,EAAI,GAAID,GAAUgP,GAClBrO,EAASgC,KAEDA,EAAI1C,EAAEiM,UAAajM,EAAE+H,GAAGlC,MAExBnF,GACAC,EAAO,GACL,oBAAuB+B,EAAI,eAAiB,kBAAoBqM,GAKtEA,GAAMrM,GAAK1C,EAAEE,GAAKY,EAAOd,EAAGA,EAAEG,EAAI,EAAG,GAAI2L,IAAIjG,GAAO7F,EAAI,QAI1D4C,EAAK,MAAOpC,GAAEuD,UAgBpB,KAfAzC,EAAI+B,EAAcT,GAIlBzC,EAAIsC,EAAEtC,EAAImB,EAAEE,OAAShB,EAAEL,EAAI,EAC3BsC,EAAEvC,EAAE,GAAKqF,GAAY2J,EAAM/O,EAAIiC,GAAa,EAAIA,EAAW8M,EAAMA,GACjEH,GAAMA,GAAM/O,EAAEuJ,IAAI9G,GAAK,EAAMtC,EAAI,EAAIsC,EAAI2M,EAAOpP,EAEhDkP,EAAMhN,EACNA,EAAU,EAAI,EACdlC,EAAI,GAAID,GAAUuB,GAGlB6N,EAAGjP,EAAE,GAAK,EAGN0J,EAAIrG,EAAKvD,EAAGyC,EAAG,EAAG,GAClBwM,EAAKD,EAAGpC,KAAMhD,EAAEsD,MAAMmC,IACH,GAAdJ,EAAG1F,IAAIwF,IACZC,EAAKK,EACLA,EAAKJ,EACLG,EAAKD,EAAGvC,KAAMhD,EAAEsD,MAAO+B,EAAKG,IAC5BD,EAAKF,EACLxM,EAAIzC,EAAEwM,MAAO5C,EAAEsD,MAAO+B,EAAKxM,IAC3BzC,EAAIiP,CAgBR,OAbAA,GAAK1L,EAAKwL,EAAGvC,MAAMwC,GAAKK,EAAI,EAAG,GAC/BF,EAAKA,EAAGvC,KAAMqC,EAAG/B,MAAMkC,IACvBJ,EAAKA,EAAGpC,KAAMqC,EAAG/B,MAAMmC,IACvBF,EAAG7N,EAAI8N,EAAG9N,EAAId,EAAEc,EAChBnB,GAAK,EAGLmO,EAAM/K,EAAK6L,EAAIC,EAAIlP,EAAGa,GAAgBwL,MAAMhM,GAAG0K,MAAM3B,IAC/ChG,EAAK4L,EAAIH,EAAI7O,EAAGa,GAAgBwL,MAAMhM,GAAG0K,OAAU,GAC7CkE,EAAGrL,WAAYsL,EAAGtL,aAClBoL,EAAGpL,WAAYiL,EAAGjL,YAE9B7B,EAAUgN,EACHZ,GAOX3I,EAAE2J,SAAW,WACT,OAAQ7O,MAsBZkF,EAAE4J,QAAU5J,EAAEzC,IAAM,SAAWlD,EAAGqE,GAC9B,GAAI3B,GAAGG,EAAG0K,EACNnN,EAAI6B,EAAe,EAAJjC,GAASA,GAAKA,GAC7BQ,EAAIC,IAQR,IANU,MAAL4D,IACDxD,EAAK,GACLwD,EAAI,GAAItE,GAAUsE,KAIhBzD,EAAYZ,GAAIgC,EAAkBA,EAAkB,GAAI,eACzD+J,SAAS/L,IAAMI,EAAI4B,IAAsBhC,GAAK,IAC/CwP,WAAWxP,IAAMA,KAAQA,EAAIuK,OAAgB,GAALvK,EAExC,MADA0C,GAAI0F,KAAKlF,KAAM1C,EAAGR,GACX,GAAID,GAAWsE,EAAI3B,EAAI2B,EAAI3B,EAuBtC,KApBI2B,EACKrE,EAAI,GAAKQ,EAAEwH,GAAGnC,IAAQrF,EAAEyL,SAAW5H,EAAE2D,GAAGnC,IAAQxB,EAAE4H,QACnDzL,EAAIA,EAAEyM,IAAI5I,IAEVkJ,EAAIlJ,EAGJA,EAAI,MAEDpB,IAMPP,EAAI+C,EAAUxC,EAAgBb,EAAW,IAG7CS,EAAI,GAAI9C,GAAU8F,KAEN,CACR,GAAKzF,EAAI,EAAI,CAET,GADAyC,EAAIA,EAAEqK,MAAM1M,IACNqC,EAAE3C,EAAI,KACRwC,GACKG,EAAE3C,EAAEsB,OAASkB,IAAIG,EAAE3C,EAAEsB,OAASkB,GAC5B2B,IACPxB,EAAIA,EAAEoK,IAAI5I,IAKlB,GADAjE,EAAI6B,EAAW7B,EAAI,IACbA,EAAI,KACVI,GAAIA,EAAE0M,MAAM1M,GACRkC,EACKlC,EAAEN,GAAKM,EAAEN,EAAEsB,OAASkB,IAAIlC,EAAEN,EAAEsB,OAASkB,GACnC2B,IACP7D,EAAIA,EAAEyM,IAAI5I,IAIlB,MAAIA,GAAUxB,GACL,EAAJ7C,IAAQ6C,EAAIgD,EAAItC,IAAIV,IAElB0K,EAAI1K,EAAEoK,IAAIM,GAAK7K,EAAI5B,EAAO+B,EAAGI,EAAejC,GAAkB6B,IAkBzE8C,EAAE8J,YAAc,SAAWtK,EAAIpC,GAC3B,MAAOW,GAAQjD,KAAY,MAAN0E,GAAcvE,EAAYuE,EAAI,EAAGwC,EAAK,GAAI,aACtD,EAALxC,EAAS,KAAMpC,EAAI,KAgB3B4C,EAAE5B,SAAW,SAAU9D,GACnB,GAAIM,GACAP,EAAIS,KACJa,EAAItB,EAAEsB,EACNnB,EAAIH,EAAEG,CAyBV,OAtBW,QAANA,EAEGmB,GACAf,EAAM,WACG,EAAJe,IAAQf,EAAM,IAAMA,IAEzBA,EAAM,OAGVA,EAAM8C,EAAerD,EAAEE,GAOnBK,EALM,MAALN,GAAcW,EAAYX,EAAG,EAAG,GAAI,GAAI,QAKnC0B,EAAayB,EAAc7C,EAAKJ,GAAS,EAAJF,EAAO,GAAIqB,GAJ3C0C,GAAL7D,GAAmBA,GAAK2F,EAC1B7B,EAAe1D,EAAKJ,GACpBiD,EAAc7C,EAAKJ,GAKlB,EAAJmB,GAAStB,EAAEE,EAAE,KAAKK,EAAM,IAAMA,IAGhCA,GAQXoF,EAAE+J,UAAY/J,EAAEgK,MAAQ,WACpB,MAAO7O,GAAO,GAAIf,GAAUU,MAAOA,KAAKN,EAAI,EAAG,IASnDwF,EAAEiK,QAAUjK,EAAEkK,OAAS,WACnB,GAAItP,GACAP,EAAIS,KACJN,EAAIH,EAAEG,CAEV,OAAW,QAANA,EAAoBH,EAAE+D,YAE3BxD,EAAM8C,EAAerD,EAAEE,GAEvBK,EAAWyD,GAAL7D,GAAmBA,GAAK2F,EACxB7B,EAAe1D,EAAKJ,GACpBiD,EAAc7C,EAAKJ,GAElBH,EAAEsB,EAAI,EAAI,IAAMf,EAAMA,IAcf,MAAbT,GAAoBC,EAAUoH,OAAOrH,GAEnCC,EAOX,QAASyK,GAASxK,GACd,GAAII,GAAQ,EAAJJ,CACR,OAAOA,GAAI,GAAKA,IAAMI,EAAIA,EAAIA,EAAI,EAKtC,QAASiD,GAAciE,GAMnB,IALA,GAAIhG,GAAGiM,EACHnN,EAAI,EACJ0E,EAAIwC,EAAE9F,OACNmB,EAAI2E,EAAE,GAAK,GAEHxC,EAAJ1E,GAAS,CAGb,IAFAkB,EAAIgG,EAAElH,KAAO,GACbmN,EAAInL,EAAWd,EAAEE,OACT+L,IAAKjM,EAAI,IAAMA,GACvBqB,GAAKrB,EAIT,IAAMwD,EAAInC,EAAEnB,OAA8B,KAAtBmB,EAAEjB,aAAaoD,KACnC,MAAOnC,GAAExB,MAAO,EAAG2D,EAAI,GAAK,GAKhC,QAASsE,GAAS5I,EAAGqC,GACjB,GAAIyE,GAAGrH,EACH2C,EAAKpC,EAAEN,EACPoK,EAAKzH,EAAE3C,EACPE,EAAII,EAAEc,EACNwD,EAAIjC,EAAEvB,EACNoB,EAAIlC,EAAEL,EACN2P,EAAIjN,EAAE1C,CAGV,KAAMC,IAAM0E,EAAI,MAAO,KAMvB,IAJAwC,EAAI1E,IAAOA,EAAG,GACd3C,EAAIqK,IAAOA,EAAG,GAGThD,GAAKrH,EAAI,MAAOqH,GAAIrH,EAAI,GAAK6E,EAAI1E,CAGtC,IAAKA,GAAK0E,EAAI,MAAO1E,EAMrB,IAJAkH,EAAQ,EAAJlH,EACJH,EAAIyC,GAAKoN,GAGHlN,IAAO0H,EAAK,MAAOrK,GAAI,GAAK2C,EAAK0E,EAAI,EAAI,EAG/C,KAAMrH,EAAI,MAAOyC,GAAIoN,EAAIxI,EAAI,EAAI,EAKjC,KAHAxC,GAAMpC,EAAIE,EAAGpB,SAAasO,EAAIxF,EAAG9I,QAAWkB,EAAIoN,EAG1C1P,EAAI,EAAO0E,EAAJ1E,EAAOA,IAAM,GAAKwC,EAAGxC,IAAMkK,EAAGlK,GAAK,MAAOwC,GAAGxC,GAAKkK,EAAGlK,GAAKkH,EAAI,EAAI,EAG/E,OAAO5E,IAAKoN,EAAI,EAAIpN,EAAIoN,EAAIxI,EAAI,EAAI,GASxC,QAASM,GAAsB5H,EAAGyE,EAAKC,GACnC,OAAS1E,EAAI4E,EAAS5E,KAAQyE,GAAYC,GAAL1E,EAIzC,QAASsE,GAAQyL,GACb,MAA8C,kBAAvCC,OAAOpK,UAAU7B,SAASQ,KAAKwL,GAS1C,QAAS5M,GAAW5C,EAAKgC,EAAQD,GAO7B,IANA,GAAIwC,GAEAmL,EADA3B,GAAO,GAEPlO,EAAI,EACJE,EAAMC,EAAIiB,OAEFlB,EAAJF,GAAW,CACf,IAAM6P,EAAO3B,EAAI9M,OAAQyO,IAAQ3B,EAAI2B,IAAS1N,GAG9C,IAFA+L,EAAKxJ,EAAI,IAAO5D,EAASW,QAAStB,EAAIkD,OAAQrD,MAEtC0E,EAAIwJ,EAAI9M,OAAQsD,IAEfwJ,EAAIxJ,GAAKxC,EAAU,IACD,MAAdgM,EAAIxJ,EAAI,KAAawJ,EAAIxJ,EAAI,GAAK,GACvCwJ,EAAIxJ,EAAI,IAAMwJ,EAAIxJ,GAAKxC,EAAU,EACjCgM,EAAIxJ,IAAMxC,GAKtB,MAAOgM,GAAIvB,UAIf,QAAS9I,GAAe1D,EAAKJ,GACzB,OAASI,EAAIiB,OAAS,EAAIjB,EAAIkD,OAAO,GAAK,IAAMlD,EAAIY,MAAM,GAAKZ,IACvD,EAAJJ,EAAQ,IAAM,MAASA,EAI/B,QAASiD,GAAc7C,EAAKJ,GACxB,GAAIG,GAAKiN,CAGT,IAAS,EAAJpN,EAAQ,CAGT,IAAMoN,EAAI,OAAQpN,EAAGoN,GAAK,KAC1BhN,EAAMgN,EAAIhN,MAOV,IAHAD,EAAMC,EAAIiB,SAGHrB,EAAIG,EAAM,CACb,IAAMiN,EAAI,IAAKpN,GAAKG,IAAOH,EAAGoN,GAAK,KACnChN,GAAOgN,MACKjN,GAAJH,IACRI,EAAMA,EAAIY,MAAO,EAAGhB,GAAM,IAAMI,EAAIY,MAAMhB,GAIlD,OAAOI,GAIX,QAASqE,GAAS5E,GAEd,MADAA,GAAIwP,WAAWxP,GACJ,EAAJA,EAAQyF,EAASzF,GAAKiC,EAAUjC,GAvoF3C,GAAID,GAAW+H,EAAWzG,EACtBO,EAAY,uCACZ6D,EAAW2C,KAAK+C,KAChBlJ,EAAYmG,KAAKuD,MACjB9D,EAAU,iCACV/D,EAAe,gBACfrC,EAAgB,kDAChBP,EAAW,mEACXwE,EAAO,KACPtD,EAAW,GACXJ,EAAmB,iBAEnBuD,GAAY,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,MAC7E2D,EAAY,IAOZvB,EAAM,GA+nFV,IA7nFsB,mBAAVuI,UAAwBpI,EAAYoI,QAwnFhDnQ,EAAYF,IACZE,EAAAA,WAAoBA,EAAUA,UAAYA,EAIpB,kBAAVoQ,SAAwBA,OAAOC,IACvCD,OAAQ,WAAc,MAAOpQ,SAG1B,IAAsB,mBAAVsQ,SAAyBA,OAAOC,SAI/C,GAHAD,OAAOC,QAAUvQ,GAGX+H,EAAY,IAAMA,EAAYyI,QAAQ,UAAkB,MAAOpQ,SAI/DP,KAAYA,EAA2B,mBAAR4Q,MAAsBA,KAAOC,SAAS,kBAC3E7Q,EAAUG,UAAYA,GAE3BU"}
\ No newline at end of file
+{"version":3,"file":"bignumber.min.js","sources":["bignumber.js"],"names":["e","n","a","t","r","i","o","u","s","l","this","z","I","V","C","L","B","P","RegExp","N","slice","test","h","replace","length","v","charCodeAt","E","c","g","indexOf","search","substring","O","d","G","$","y","push","p","m","w","toLowerCase","W","pow","f","pop","U","unshift","charAt","D","toString","q","F","call","_","x","Error","name","R","b","M","prototype","T","k","j","H","J","decimalSeparator","groupSeparator","groupSize","secondaryGroupSize","fractionGroupSeparator","fractionGroupSize","another","ROUND_UP","ROUND_DOWN","ROUND_CEIL","ROUND_FLOOR","ROUND_HALF_UP","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_CEIL","ROUND_HALF_FLOOR","EUCLID","config","set","arguments","hasOwnProperty","A","crypto","getRandomValues","randomBytes","max","lt","min","gt","random","Math","Uint32Array","copy","shift","S","NaN","isNaN","absoluteValue","abs","ceil","comparedTo","cmp","decimalPlaces","dp","dividedBy","div","dividedToIntegerBy","divToInt","equals","eq","floor","greaterThan","greaterThanOrEqualTo","gte","isFinite","isInteger","isInt","isNegative","isNeg","isZero","lessThan","lessThanOrEqualTo","lte","minus","sub","plus","reverse","modulo","mod","times","negated","neg","add","precision","sd","round","squareRoot","sqrt","toExponential","mul","toDigits","toFixed","toFormat","split","substr","toFraction","toNumber","toPower","parseFloat","toPrecision","truncated","trunc","valueOf","toJSON","Object","BigNumber","define","amd","module","exports","self","Function"],"mappings":"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"}
\ No newline at end of file
diff --git a/bignumber.min.js b/bignumber.min.js
index 5dc9d5b..7234ae8 100644
--- a/bignumber.min.js
+++ b/bignumber.min.js
@@ -1,3 +1,3 @@
-/* bignumber.js v2.4.0 https://github.com/MikeMcl/bignumber.js/LICENCE */
-!function(e){"use strict";function n(e){function a(e,n){var t,r,i,o,u,s,f=this;if(!(f instanceof a))return j&&L(26,"constructor call without new",e),new a(e,n);if(null!=n&&H(n,2,64,M,"base")){if(n=0|n,s=e+"",10==n)return f=new a(e instanceof a?e:s),U(f,P+f.e+1,B);if((o="number"==typeof e)&&0*e!=0||!new RegExp("^-?"+(t="["+b.slice(0,n)+"]+")+"(?:\\."+t+")?$",37>n?"i":"").test(s))return g(f,s,o,n);o?(f.s=0>1/e?(s=s.slice(1),-1):1,j&&s.replace(/^0\.0*|\./,"").length>15&&L(M,N,e),o=!1):f.s=45===s.charCodeAt(0)?(s=s.slice(1),-1):1,s=D(s,10,n,f.s)}else{if(e instanceof a)return f.s=e.s,f.e=e.e,f.c=(e=e.c)?e.slice():e,void(M=0);if((o="number"==typeof e)&&0*e==0){if(f.s=0>1/e?(e=-e,-1):1,e===~~e){for(r=0,i=e;i>=10;i/=10,r++);return f.e=r,f.c=[e],void(M=0)}s=e+""}else{if(!p.test(s=e+""))return g(f,s,o);f.s=45===s.charCodeAt(0)?(s=s.slice(1),-1):1}}for((r=s.indexOf("."))>-1&&(s=s.replace(".","")),(i=s.search(/e/i))>0?(0>r&&(r=i),r+=+s.slice(i+1),s=s.substring(0,i)):0>r&&(r=s.length),i=0;48===s.charCodeAt(i);i++);for(u=s.length;48===s.charCodeAt(--u););if(s=s.slice(i,u+1))if(u=s.length,o&&j&&u>15&&(e>S||e!==m(e))&&L(M,N,f.s*e),r=r-i-1,r>z)f.c=f.e=null;else if(G>r)f.c=[f.e=0];else{if(f.e=r,f.c=[],i=(r+1)%y,0>r&&(i+=y),u>i){for(i&&f.c.push(+s.slice(0,i)),u-=y;u>i;)f.c.push(+s.slice(i,i+=y));s=s.slice(i),i=y-s.length}else i-=u;for(;i--;s+="0");f.c.push(+s)}else f.c=[f.e=0];M=0}function D(e,n,t,i){var o,u,f,c,h,g,p,d=e.indexOf("."),m=P,w=B;for(37>t&&(e=e.toLowerCase()),d>=0&&(f=J,J=0,e=e.replace(".",""),p=new a(t),h=p.pow(e.length-d),J=f,p.c=s(l(r(h.c),h.e),10,n),p.e=p.c.length),g=s(e,t,n),u=f=g.length;0==g[--f];g.pop());if(!g[0])return"0";if(0>d?--u:(h.c=g,h.e=u,h.s=i,h=C(h,p,m,w,n),g=h.c,c=h.r,u=h.e),o=u+m+1,d=g[o],f=n/2,c=c||0>o||null!=g[o+1],c=4>w?(null!=d||c)&&(0==w||w==(h.s<0?3:2)):d>f||d==f&&(4==w||c||6==w&&1&g[o-1]||w==(h.s<0?8:7)),1>o||!g[0])e=c?l("1",-m):"0";else{if(g.length=o,c)for(--n;++g[--o]>n;)g[o]=0,o||(++u,g.unshift(1));for(f=g.length;!g[--f];);for(d=0,e="";f>=d;e+=b.charAt(g[d++]));e=l(e,u)}return e}function F(e,n,t,i){var o,u,s,c,h;if(t=null!=t&&H(t,0,8,i,v)?0|t:B,!e.c)return e.toString();if(o=e.c[0],s=e.e,null==n)h=r(e.c),h=19==i||24==i&&k>=s?f(h,s):l(h,s);else if(e=U(new a(e),n,t),u=e.e,h=r(e.c),c=h.length,19==i||24==i&&(u>=n||k>=u)){for(;n>c;h+="0",c++);h=f(h,u)}else if(n-=s,h=l(h,u),u+1>c){if(--n>0)for(h+=".";n--;h+="0");}else if(n+=u-c,n>0)for(u+1==c&&(h+=".");n--;h+="0");return e.s<0&&o?"-"+h:h}function _(e,n){var t,r,i=0;for(u(e[0])&&(e=e[0]),t=new a(e[0]);++ie||e>t||e!=c(e))&&L(r,(i||"decimal places")+(n>e||e>t?" out of range":" not an integer"),e),!0}function I(e,n,t){for(var r=1,i=n.length;!n[--i];n.pop());for(i=n[0];i>=10;i/=10,r++);return(t=r+t*y-1)>z?e.c=e.e=null:G>t?e.c=[e.e=0]:(e.e=t,e.c=n),e}function L(e,n,t){var r=new Error(["new BigNumber","cmp","config","div","divToInt","eq","gt","gte","lt","lte","minus","mod","plus","precision","random","round","shift","times","toDigits","toExponential","toFixed","toFormat","toFraction","pow","toPrecision","toString","BigNumber"][e]+"() "+n+": "+t);throw r.name="BigNumber Error",M=0,r}function U(e,n,t,r){var i,o,u,s,f,l,c,a=e.c,h=R;if(a){e:{for(i=1,s=a[0];s>=10;s/=10,i++);if(o=n-i,0>o)o+=y,u=n,f=a[l=0],c=f/h[i-u-1]%10|0;else if(l=d((o+1)/y),l>=a.length){if(!r)break e;for(;a.length<=l;a.push(0));f=c=0,i=1,o%=y,u=o-y+1}else{for(f=s=a[l],i=1;s>=10;s/=10,i++);o%=y,u=o-y+i,c=0>u?0:f/h[i-u-1]%10|0}if(r=r||0>n||null!=a[l+1]||(0>u?f:f%h[i-u-1]),r=4>t?(c||r)&&(0==t||t==(e.s<0?3:2)):c>5||5==c&&(4==t||r||6==t&&(o>0?u>0?f/h[i-u]:0:a[l-1])%10&1||t==(e.s<0?8:7)),1>n||!a[0])return a.length=0,r?(n-=e.e+1,a[0]=h[(y-n%y)%y],e.e=-n||0):a[0]=e.e=0,e;if(0==o?(a.length=l,s=1,l--):(a.length=l+1,s=h[y-o],a[l]=u>0?m(f/h[i-u]%h[u])*s:0),r)for(;;){if(0==l){for(o=1,u=a[0];u>=10;u/=10,o++);for(u=a[0]+=s,s=1;u>=10;u/=10,s++);o!=s&&(e.e++,a[0]==O&&(a[0]=1));break}if(a[l]+=s,a[l]!=O)break;a[l--]=0,s=1}for(o=a.length;0===a[--o];a.pop());}e.e>z?e.c=e.e=null:e.et?null!=(e=i[t++]):void 0};return f(n="DECIMAL_PLACES")&&H(e,0,E,2,n)&&(P=0|e),r[n]=P,f(n="ROUNDING_MODE")&&H(e,0,8,2,n)&&(B=0|e),r[n]=B,f(n="EXPONENTIAL_AT")&&(u(e)?H(e[0],-E,0,2,n)&&H(e[1],0,E,2,n)&&(k=0|e[0],$=0|e[1]):H(e,-E,E,2,n)&&(k=-($=0|(0>e?-e:e)))),r[n]=[k,$],f(n="RANGE")&&(u(e)?H(e[0],-E,-1,2,n)&&H(e[1],1,E,2,n)&&(G=0|e[0],z=0|e[1]):H(e,-E,E,2,n)&&(0|e?G=-(z=0|(0>e?-e:e)):j&&L(2,n+" cannot be zero",e))),r[n]=[G,z],f(n="ERRORS")&&(e===!!e||1===e||0===e?(M=0,H=(j=!!e)?x:o):j&&L(2,n+w,e)),r[n]=j,f(n="CRYPTO")&&(e===!!e||1===e||0===e?(V=!(!e||!h),e&&!V&&j&&L(2,"crypto unavailable",h)):j&&L(2,n+w,e)),r[n]=V,f(n="MODULO_MODE")&&H(e,0,9,2,n)&&(W=0|e),r[n]=W,f(n="POW_PRECISION")&&H(e,0,E,2,n)&&(J=0|e),r[n]=J,f(n="FORMAT")&&("object"==typeof e?X=e:j&&L(2,n+" not an object",e)),r[n]=X,r},a.max=function(){return _(arguments,T.lt)},a.min=function(){return _(arguments,T.gt)},a.random=function(){var e=9007199254740992,n=Math.random()*e&2097151?function(){return m(Math.random()*e)}:function(){return 8388608*(1073741824*Math.random()|0)+(8388608*Math.random()|0)};return function(e){var t,r,i,o,u,s=0,f=[],l=new a(q);if(e=null!=e&&H(e,0,E,14)?0|e:P,o=d(e/y),V)if(h&&h.getRandomValues){for(t=h.getRandomValues(new Uint32Array(o*=2));o>s;)u=131072*t[s]+(t[s+1]>>>11),u>=9e15?(r=h.getRandomValues(new Uint32Array(2)),t[s]=r[0],t[s+1]=r[1]):(f.push(u%1e14),s+=2);s=o/2}else if(h&&h.randomBytes){for(t=h.randomBytes(o*=7);o>s;)u=281474976710656*(31&t[s])+1099511627776*t[s+1]+4294967296*t[s+2]+16777216*t[s+3]+(t[s+4]<<16)+(t[s+5]<<8)+t[s+6],u>=9e15?h.randomBytes(7).copy(t,s):(f.push(u%1e14),s+=7);s=o/7}else j&&L(14,"crypto unavailable",h);if(!s)for(;o>s;)u=n(),9e15>u&&(f[s++]=u%1e14);for(o=f[--s],e%=y,o&&e&&(u=R[y-e],f[s]=m(o/u)*u);0===f[s];f.pop(),s--);if(0>s)f=[i=0];else{for(i=-1;0===f[0];f.shift(),i-=y);for(s=1,u=f[0];u>=10;u/=10,s++);y>s&&(i-=y-s)}return l.e=i,l.c=f,l}}(),C=function(){function e(e,n,t){var r,i,o,u,s=0,f=e.length,l=n%A,c=n/A|0;for(e=e.slice();f--;)o=e[f]%A,u=e[f]/A|0,r=c*o+u*l,i=l*o+r%A*A+s,s=(i/t|0)+(r/A|0)+c*u,e[f]=i%t;return s&&e.unshift(s),e}function n(e,n,t,r){var i,o;if(t!=r)o=t>r?1:-1;else for(i=o=0;t>i;i++)if(e[i]!=n[i]){o=e[i]>n[i]?1:-1;break}return o}function r(e,n,t,r){for(var i=0;t--;)e[t]-=i,i=e[t]1;e.shift());}return function(i,o,u,s,f){var l,c,h,g,p,d,w,v,N,b,S,R,A,E,D,F,_,x=i.s==o.s?1:-1,I=i.c,L=o.c;if(!(I&&I[0]&&L&&L[0]))return new a(i.s&&o.s&&(I?!L||I[0]!=L[0]:L)?I&&0==I[0]||!L?0*x:x/0:NaN);for(v=new a(x),N=v.c=[],c=i.e-o.e,x=u+c+1,f||(f=O,c=t(i.e/y)-t(o.e/y),x=x/y|0),h=0;L[h]==(I[h]||0);h++);if(L[h]>(I[h]||0)&&c--,0>x)N.push(1),g=!0;else{for(E=I.length,F=L.length,h=0,x+=2,p=m(f/(L[0]+1)),p>1&&(L=e(L,p,f),I=e(I,p,f),F=L.length,E=I.length),A=F,b=I.slice(0,F),S=b.length;F>S;b[S++]=0);_=L.slice(),_.unshift(0),D=L[0],L[1]>=f/2&&D++;do{if(p=0,l=n(L,b,F,S),0>l){if(R=b[0],F!=S&&(R=R*f+(b[1]||0)),p=m(R/D),p>1)for(p>=f&&(p=f-1),d=e(L,p,f),w=d.length,S=b.length;1==n(d,b,w,S);)p--,r(d,w>F?_:L,w,f),w=d.length,l=1;else 0==p&&(l=p=1),d=L.slice(),w=d.length;if(S>w&&d.unshift(0),r(b,d,S,f),S=b.length,-1==l)for(;n(L,b,F,S)<1;)p++,r(b,S>F?_:L,S,f),S=b.length}else 0===l&&(p++,b=[0]);N[h++]=p,b[0]?b[S++]=I[A]||0:(b=[I[A]],S=1)}while((A++=10;x/=10,h++);U(v,u+(v.e=h+c*y-1)+1,s,g)}else v.e=c,v.r=+g;return v}}(),g=function(){var e=/^(-?)0([xbo])(?=\w[\w.]*$)/i,n=/^([^.]+)\.$/,t=/^\.([^.]+)$/,r=/^-?(Infinity|NaN)$/,i=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(o,u,s,f){var l,c=s?u:u.replace(i,"");if(r.test(c))o.s=isNaN(c)?null:0>c?-1:1;else{if(!s&&(c=c.replace(e,function(e,n,t){return l="x"==(t=t.toLowerCase())?16:"b"==t?2:8,f&&f!=l?e:n}),f&&(l=f,c=c.replace(n,"$1").replace(t,"0.$1")),u!=c))return new a(c,l);j&&L(M,"not a"+(f?" base "+f:"")+" number",u),o.s=null}o.c=o.e=null,M=0}}(),T.absoluteValue=T.abs=function(){var e=new a(this);return e.s<0&&(e.s=1),e},T.ceil=function(){return U(new a(this),this.e+1,2)},T.comparedTo=T.cmp=function(e,n){return M=1,i(this,new a(e,n))},T.decimalPlaces=T.dp=function(){var e,n,r=this.c;if(!r)return null;if(e=((n=r.length-1)-t(this.e/y))*y,n=r[n])for(;n%10==0;n/=10,e--);return 0>e&&(e=0),e},T.dividedBy=T.div=function(e,n){return M=3,C(this,new a(e,n),P,B)},T.dividedToIntegerBy=T.divToInt=function(e,n){return M=4,C(this,new a(e,n),0,1)},T.equals=T.eq=function(e,n){return M=5,0===i(this,new a(e,n))},T.floor=function(){return U(new a(this),this.e+1,3)},T.greaterThan=T.gt=function(e,n){return M=6,i(this,new a(e,n))>0},T.greaterThanOrEqualTo=T.gte=function(e,n){return M=7,1===(n=i(this,new a(e,n)))||0===n},T.isFinite=function(){return!!this.c},T.isInteger=T.isInt=function(){return!!this.c&&t(this.e/y)>this.c.length-2},T.isNaN=function(){return!this.s},T.isNegative=T.isNeg=function(){return this.s<0},T.isZero=function(){return!!this.c&&0==this.c[0]},T.lessThan=T.lt=function(e,n){return M=8,i(this,new a(e,n))<0},T.lessThanOrEqualTo=T.lte=function(e,n){return M=9,-1===(n=i(this,new a(e,n)))||0===n},T.minus=T.sub=function(e,n){var r,i,o,u,s=this,f=s.s;if(M=10,e=new a(e,n),n=e.s,!f||!n)return new a(NaN);if(f!=n)return e.s=-n,s.plus(e);var l=s.e/y,c=e.e/y,h=s.c,g=e.c;if(!l||!c){if(!h||!g)return h?(e.s=-n,e):new a(g?s:NaN);if(!h[0]||!g[0])return g[0]?(e.s=-n,e):new a(h[0]?s:3==B?-0:0)}if(l=t(l),c=t(c),h=h.slice(),f=l-c){for((u=0>f)?(f=-f,o=h):(c=l,o=g),o.reverse(),n=f;n--;o.push(0));o.reverse()}else for(i=(u=(f=h.length)<(n=g.length))?f:n,f=n=0;i>n;n++)if(h[n]!=g[n]){u=h[n]0)for(;n--;h[r++]=0);for(n=O-1;i>f;){if(h[--i]0?(s=u,r=l):(o=-o,r=f),r.reverse();o--;r.push(0));r.reverse()}for(o=f.length,n=l.length,0>o-n&&(r=l,l=f,f=r,n=o),o=0;n;)o=(f[--n]=f[n]+l[n]+o)/O|0,f[n]%=O;return o&&(f.unshift(o),++s),I(e,f,s)},T.precision=T.sd=function(e){var n,t,r=this,i=r.c;if(null!=e&&e!==!!e&&1!==e&&0!==e&&(j&&L(13,"argument"+w,e),e!=!!e&&(e=null)),!i)return null;if(t=i.length-1,n=t*y+1,t=i[t]){for(;t%10==0;t/=10,n--);for(t=i[0];t>=10;t/=10,n++);}return e&&r.e+1>n&&(n=r.e+1),n},T.round=function(e,n){var t=new a(this);return(null==e||H(e,0,E,15))&&U(t,~~e+this.e+1,null!=n&&H(n,0,8,15,v)?0|n:B),t},T.shift=function(e){var n=this;return H(e,-S,S,16,"argument")?n.times("1e"+c(e)):new a(n.c&&n.c[0]&&(-S>e||e>S)?n.s*(0>e?0:1/0):n)},T.squareRoot=T.sqrt=function(){var e,n,i,o,u,s=this,f=s.c,l=s.s,c=s.e,h=P+4,g=new a("0.5");if(1!==l||!f||!f[0])return new a(!l||0>l&&(!f||f[0])?NaN:f?s:1/0);if(l=Math.sqrt(+s),0==l||l==1/0?(n=r(f),(n.length+c)%2==0&&(n+="0"),l=Math.sqrt(n),c=t((c+1)/2)-(0>c||c%2),l==1/0?n="1e"+c:(n=l.toExponential(),n=n.slice(0,n.indexOf("e")+1)+c),i=new a(n)):i=new a(l+""),i.c[0])for(c=i.e,l=c+h,3>l&&(l=0);;)if(u=i,i=g.times(u.plus(C(s,u,h,1))),r(u.c).slice(0,l)===(n=r(i.c)).slice(0,l)){if(i.el&&(m=b,b=S,S=m,o=l,l=g,g=o),o=l+g,m=[];o--;m.push(0));for(w=O,v=A,o=g;--o>=0;){for(r=0,p=S[o]%v,d=S[o]/v|0,s=l,u=o+s;u>o;)c=b[--s]%v,h=b[s]/v|0,f=d*c+h*p,c=p*c+f%v*v+m[u]+r,r=(c/w|0)+(f/v|0)+d*h,m[u--]=c%w;m[u]=r}return r?++i:m.shift(),I(e,m,i)},T.toDigits=function(e,n){var t=new a(this);return e=null!=e&&H(e,1,E,18,"precision")?0|e:null,n=null!=n&&H(n,0,8,18,v)?0|n:B,e?U(t,e,n):t},T.toExponential=function(e,n){return F(this,null!=e&&H(e,0,E,19)?~~e+1:null,n,19)},T.toFixed=function(e,n){return F(this,null!=e&&H(e,0,E,20)?~~e+this.e+1:null,n,20)},T.toFormat=function(e,n){var t=F(this,null!=e&&H(e,0,E,21)?~~e+this.e+1:null,n,21);if(this.c){var r,i=t.split("."),o=+X.groupSize,u=+X.secondaryGroupSize,s=X.groupSeparator,f=i[0],l=i[1],c=this.s<0,a=c?f.slice(1):f,h=a.length;if(u&&(r=o,o=u,u=r,h-=r),o>0&&h>0){for(r=h%o||o,f=a.substr(0,r);h>r;r+=o)f+=s+a.substr(r,o);u>0&&(f+=s+a.slice(r)),c&&(f="-"+f)}t=l?f+X.decimalSeparator+((u=+X.fractionGroupSize)?l.replace(new RegExp("\\d{"+u+"}\\B","g"),"$&"+X.fractionGroupSeparator):l):f}return t},T.toFraction=function(e){var n,t,i,o,u,s,f,l,c,h=j,g=this,p=g.c,d=new a(q),m=t=new a(q),w=f=new a(q);if(null!=e&&(j=!1,s=new a(e),j=h,(!(h=s.isInt())||s.lt(q))&&(j&&L(22,"max denominator "+(h?"out of range":"not an integer"),e),e=!h&&s.c&&U(s,s.e+1,1).gte(q)?s:null)),!p)return g.toString();for(c=r(p),o=d.e=c.length-g.e-1,d.c[0]=R[(u=o%y)<0?y+u:u],e=!e||s.cmp(d)>0?o>0?d:m:s,u=z,z=1/0,s=new a(c),f.c[0]=0;l=C(s,d,0,1),i=t.plus(l.times(w)),1!=i.cmp(e);)t=w,w=i,m=f.plus(l.times(i=m)),f=i,d=s.minus(l.times(i=d)),s=i;return i=C(e.minus(t),w,0,1),f=f.plus(i.times(m)),t=t.plus(i.times(w)),f.s=m.s=g.s,o*=2,n=C(m,w,o,B).minus(g).abs().cmp(C(f,t,o,B).minus(g).abs())<1?[m.toString(),w.toString()]:[f.toString(),t.toString()],z=u,n},T.toNumber=function(){return+this},T.toPower=T.pow=function(e,n){var t,r,i,o=m(0>e?-e:+e),u=this;if(null!=n&&(M=23,n=new a(n)),!H(e,-S,S,23,"exponent")&&(!isFinite(e)||o>S&&(e/=0)||parseFloat(e)!=e&&!(e=NaN))||0==e)return t=Math.pow(+u,e),new a(n?t%n:t);for(n?e>1&&u.gt(q)&&u.isInt()&&n.gt(q)&&n.isInt()?u=u.mod(n):(i=n,n=null):J&&(t=d(J/y+2)),r=new a(q);;){if(o%2){if(r=r.times(u),!r.c)break;t?r.c.length>t&&(r.c.length=t):n&&(r=r.mod(n))}if(o=m(o/2),!o)break;u=u.times(u),t?u.c&&u.c.length>t&&(u.c.length=t):n&&(u=u.mod(n))}return n?r:(0>e&&(r=q.div(r)),i?r.mod(i):t?U(r,J,B):r)},T.toPrecision=function(e,n){return F(this,null!=e&&H(e,1,E,24,"precision")?0|e:null,n,24)},T.toString=function(e){var n,t=this,i=t.s,o=t.e;return null===o?i?(n="Infinity",0>i&&(n="-"+n)):n="NaN":(n=r(t.c),n=null!=e&&H(e,2,64,25,"base")?D(l(n,o),0|e,10,i):k>=o||o>=$?f(n,o):l(n,o),0>i&&t.c[0]&&(n="-"+n)),n},T.truncated=T.trunc=function(){return U(new a(this),this.e+1,1)},T.valueOf=T.toJSON=function(){var e,n=this,t=n.e;return null===t?n.toString():(e=r(n.c),e=k>=t||t>=$?f(e,t):l(e,t),n.s<0?"-"+e:e)},null!=e&&a.config(e),a}function t(e){var n=0|e;return e>0||e===n?n:n-1}function r(e){for(var n,t,r=1,i=e.length,o=e[0]+"";i>r;){for(n=e[r++]+"",t=y-n.length;t--;n="0"+n);o+=n}for(i=o.length;48===o.charCodeAt(--i););return o.slice(0,i+1||1)}function i(e,n){var t,r,i=e.c,o=n.c,u=e.s,s=n.s,f=e.e,l=n.e;if(!u||!s)return null;if(t=i&&!i[0],r=o&&!o[0],t||r)return t?r?0:-s:u;if(u!=s)return u;if(t=0>u,r=f==l,!i||!o)return r?0:!i^t?1:-1;if(!r)return f>l^t?1:-1;for(s=(f=i.length)<(l=o.length)?f:l,u=0;s>u;u++)if(i[u]!=o[u])return i[u]>o[u]^t?1:-1;return f==l?0:f>l^t?1:-1}function o(e,n,t){return(e=c(e))>=n&&t>=e}function u(e){return"[object Array]"==Object.prototype.toString.call(e)}function s(e,n,t){for(var r,i,o=[0],u=0,s=e.length;s>u;){for(i=o.length;i--;o[i]*=n);for(o[r=0]+=b.indexOf(e.charAt(u++));rt-1&&(null==o[r+1]&&(o[r+1]=0),o[r+1]+=o[r]/t|0,o[r]%=t)}return o.reverse()}function f(e,n){return(e.length>1?e.charAt(0)+"."+e.slice(1):e)+(0>n?"e":"e+")+n}function l(e,n){var t,r;if(0>n){for(r="0.";++n;r+="0");e=r+e}else if(t=e.length,++n>t){for(r="0",n-=t;--n;r+="0");e+=r}else t>n&&(e=e.slice(0,n)+"."+e.slice(n));return e}function c(e){return e=parseFloat(e),0>e?d(e):m(e)}var a,h,g,p=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,d=Math.ceil,m=Math.floor,w=" not a boolean or binary digit",v="rounding mode",N="number type has more than 15 significant digits",b="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_",O=1e14,y=14,S=9007199254740991,R=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],A=1e7,E=1e9;if("undefined"!=typeof crypto&&(h=crypto),a=n(),a["default"]=a.BigNumber=a,"function"==typeof define&&define.amd)define(function(){return a});else if("undefined"!=typeof module&&module.exports){if(module.exports=a,!h)try{h=require("crypto")}catch(D){}}else e||(e="undefined"!=typeof self?self:Function("return this")()),e.BigNumber=a}(this);
+/* bignumber.js v3.0.0 https://github.com/MikeMcl/bignumber.js/LICENCE */
+!function(e){"use strict";function n(e){function a(e,n){var t,r,i,o,u,s,l=this;if(!(l instanceof a))return z&&I(26,"constructor call without new",e),new a(e,n);if(null!=n&&V(n,2,64,C,"base")){if(n=0|n,s=e+"",10==n)return l=new a(e instanceof a?e:s),L(l,B+l.e+1,P);if((o="number"==typeof e)&&0*e!=0||!new RegExp("^-?"+(t="["+N.slice(0,n)+"]+")+"(?:\\."+t+")?$",37>n?"i":"").test(s))return h(l,s,o,n);o?(l.s=0>1/e?(s=s.slice(1),-1):1,z&&s.replace(/^0\.0*|\./,"").length>15&&I(C,v,e),o=!1):l.s=45===s.charCodeAt(0)?(s=s.slice(1),-1):1,s=E(s,10,n,l.s)}else{if(e instanceof a)return l.s=e.s,l.e=e.e,l.c=(e=e.c)?e.slice():e,void(C=0);if((o="number"==typeof e)&&0*e==0){if(l.s=0>1/e?(e=-e,-1):1,e===~~e){for(r=0,i=e;i>=10;i/=10,r++);return l.e=r,l.c=[e],void(C=0)}s=e+""}else{if(!g.test(s=e+""))return h(l,s,o);l.s=45===s.charCodeAt(0)?(s=s.slice(1),-1):1}}for((r=s.indexOf("."))>-1&&(s=s.replace(".","")),(i=s.search(/e/i))>0?(0>r&&(r=i),r+=+s.slice(i+1),s=s.substring(0,i)):0>r&&(r=s.length),i=0;48===s.charCodeAt(i);i++);for(u=s.length;48===s.charCodeAt(--u););if(s=s.slice(i,u+1))if(u=s.length,o&&z&&u>15&&(e>O||e!==d(e))&&I(C,v,l.s*e),r=r-i-1,r>G)l.c=l.e=null;else if($>r)l.c=[l.e=0];else{if(l.e=r,l.c=[],i=(r+1)%y,0>r&&(i+=y),u>i){for(i&&l.c.push(+s.slice(0,i)),u-=y;u>i;)l.c.push(+s.slice(i,i+=y));s=s.slice(i),i=y-s.length}else i-=u;for(;i--;s+="0");l.c.push(+s)}else l.c=[l.e=0];C=0}function E(e,n,t,i){var o,u,l,c,h,g,p,d=e.indexOf("."),m=B,w=P;for(37>t&&(e=e.toLowerCase()),d>=0&&(l=W,W=0,e=e.replace(".",""),p=new a(t),h=p.pow(e.length-d),W=l,p.c=s(f(r(h.c),h.e),10,n),p.e=p.c.length),g=s(e,t,n),u=l=g.length;0==g[--l];g.pop());if(!g[0])return"0";if(0>d?--u:(h.c=g,h.e=u,h.s=i,h=U(h,p,m,w,n),g=h.c,c=h.r,u=h.e),o=u+m+1,d=g[o],l=n/2,c=c||0>o||null!=g[o+1],c=4>w?(null!=d||c)&&(0==w||w==(h.s<0?3:2)):d>l||d==l&&(4==w||c||6==w&&1&g[o-1]||w==(h.s<0?8:7)),1>o||!g[0])e=c?f("1",-m):"0";else{if(g.length=o,c)for(--n;++g[--o]>n;)g[o]=0,o||(++u,g.unshift(1));for(l=g.length;!g[--l];);for(d=0,e="";l>=d;e+=N.charAt(g[d++]));e=f(e,u)}return e}function D(e,n,t,i){var o,u,s,c,h;if(t=null!=t&&V(t,0,8,i,w)?0|t:P,!e.c)return e.toString();if(o=e.c[0],s=e.e,null==n)h=r(e.c),h=19==i||24==i&&q>=s?l(h,s):f(h,s);else if(e=L(new a(e),n,t),u=e.e,h=r(e.c),c=h.length,19==i||24==i&&(u>=n||q>=u)){for(;n>c;h+="0",c++);h=l(h,u)}else if(n-=s,h=f(h,u),u+1>c){if(--n>0)for(h+=".";n--;h+="0");}else if(n+=u-c,n>0)for(u+1==c&&(h+=".");n--;h+="0");return e.s<0&&o?"-"+h:h}function F(e,n){var t,r,i=0;for(u(e[0])&&(e=e[0]),t=new a(e[0]);++ie||e>t||e!=c(e))&&I(r,(i||"decimal places")+(n>e||e>t?" out of range":" not an integer"),e),!0}function x(e,n,t){for(var r=1,i=n.length;!n[--i];n.pop());for(i=n[0];i>=10;i/=10,r++);return(t=r+t*y-1)>G?e.c=e.e=null:$>t?e.c=[e.e=0]:(e.e=t,e.c=n),e}function I(e,n,t){var r=new Error(["new BigNumber","cmp","config","div","divToInt","eq","gt","gte","lt","lte","minus","mod","plus","precision","random","round","shift","times","toDigits","toExponential","toFixed","toFormat","toFraction","pow","toPrecision","toString","BigNumber"][e]+"() "+n+": "+t);throw r.name="BigNumber Error",C=0,r}function L(e,n,t,r){var i,o,u,s,l,f,c,a=e.c,h=R;if(a){e:{for(i=1,s=a[0];s>=10;s/=10,i++);if(o=n-i,0>o)o+=y,u=n,l=a[f=0],c=l/h[i-u-1]%10|0;else if(f=p((o+1)/y),f>=a.length){if(!r)break e;for(;a.length<=f;a.push(0));l=c=0,i=1,o%=y,u=o-y+1}else{for(l=s=a[f],i=1;s>=10;s/=10,i++);o%=y,u=o-y+i,c=0>u?0:l/h[i-u-1]%10|0}if(r=r||0>n||null!=a[f+1]||(0>u?l:l%h[i-u-1]),r=4>t?(c||r)&&(0==t||t==(e.s<0?3:2)):c>5||5==c&&(4==t||r||6==t&&(o>0?u>0?l/h[i-u]:0:a[f-1])%10&1||t==(e.s<0?8:7)),1>n||!a[0])return a.length=0,r?(n-=e.e+1,a[0]=h[(y-n%y)%y],e.e=-n||0):a[0]=e.e=0,e;if(0==o?(a.length=f,s=1,f--):(a.length=f+1,s=h[y-o],a[f]=u>0?d(l/h[i-u]%h[u])*s:0),r)for(;;){if(0==f){for(o=1,u=a[0];u>=10;u/=10,o++);for(u=a[0]+=s,s=1;u>=10;u/=10,s++);o!=s&&(e.e++,a[0]==b&&(a[0]=1));break}if(a[f]+=s,a[f]!=b)break;a[f--]=0,s=1}for(o=a.length;0===a[--o];a.pop());}e.e>G?e.c=e.e=null:e.e<$&&(e.c=[e.e=0])}return e}var U,C=0,M=a.prototype,T=new a(1),B=20,P=4,q=-7,k=21,$=-1e7,G=1e7,z=!0,V=_,j=!1,H=1,W=0,J={decimalSeparator:".",groupSeparator:",",groupSize:3,secondaryGroupSize:0,fractionGroupSeparator:" ",fractionGroupSize:0};return a.another=n,a.ROUND_UP=0,a.ROUND_DOWN=1,a.ROUND_CEIL=2,a.ROUND_FLOOR=3,a.ROUND_HALF_UP=4,a.ROUND_HALF_DOWN=5,a.ROUND_HALF_EVEN=6,a.ROUND_HALF_CEIL=7,a.ROUND_HALF_FLOOR=8,a.EUCLID=9,a.config=a.set=function(){var e,n,t=0,r={},i=arguments,s=i[0],l=s&&"object"==typeof s?function(){return s.hasOwnProperty(n)?null!=(e=s[n]):void 0}:function(){return i.length>t?null!=(e=i[t++]):void 0};return l(n="DECIMAL_PLACES")&&V(e,0,A,2,n)&&(B=0|e),r[n]=B,l(n="ROUNDING_MODE")&&V(e,0,8,2,n)&&(P=0|e),r[n]=P,l(n="EXPONENTIAL_AT")&&(u(e)?V(e[0],-A,0,2,n)&&V(e[1],0,A,2,n)&&(q=0|e[0],k=0|e[1]):V(e,-A,A,2,n)&&(q=-(k=0|(0>e?-e:e)))),r[n]=[q,k],l(n="RANGE")&&(u(e)?V(e[0],-A,-1,2,n)&&V(e[1],1,A,2,n)&&($=0|e[0],G=0|e[1]):V(e,-A,A,2,n)&&(0|e?$=-(G=0|(0>e?-e:e)):z&&I(2,n+" cannot be zero",e))),r[n]=[$,G],l(n="ERRORS")&&(e===!!e||1===e||0===e?(C=0,V=(z=!!e)?_:o):z&&I(2,n+m,e)),r[n]=z,l(n="CRYPTO")&&(e===!0||e===!1||1===e||0===e?e?(e="undefined"==typeof crypto,!e&&crypto&&(crypto.getRandomValues||crypto.randomBytes)?j=!0:z?I(2,"crypto unavailable",e?void 0:crypto):j=!1):j=!1:z&&I(2,n+m,e)),r[n]=j,l(n="MODULO_MODE")&&V(e,0,9,2,n)&&(H=0|e),r[n]=H,l(n="POW_PRECISION")&&V(e,0,A,2,n)&&(W=0|e),r[n]=W,l(n="FORMAT")&&("object"==typeof e?J=e:z&&I(2,n+" not an object",e)),r[n]=J,r},a.max=function(){return F(arguments,M.lt)},a.min=function(){return F(arguments,M.gt)},a.random=function(){var e=9007199254740992,n=Math.random()*e&2097151?function(){return d(Math.random()*e)}:function(){return 8388608*(1073741824*Math.random()|0)+(8388608*Math.random()|0)};return function(e){var t,r,i,o,u,s=0,l=[],f=new a(T);if(e=null!=e&&V(e,0,A,14)?0|e:B,o=p(e/y),j)if(crypto.getRandomValues){for(t=crypto.getRandomValues(new Uint32Array(o*=2));o>s;)u=131072*t[s]+(t[s+1]>>>11),u>=9e15?(r=crypto.getRandomValues(new Uint32Array(2)),t[s]=r[0],t[s+1]=r[1]):(l.push(u%1e14),s+=2);s=o/2}else if(crypto.randomBytes){for(t=crypto.randomBytes(o*=7);o>s;)u=281474976710656*(31&t[s])+1099511627776*t[s+1]+4294967296*t[s+2]+16777216*t[s+3]+(t[s+4]<<16)+(t[s+5]<<8)+t[s+6],u>=9e15?crypto.randomBytes(7).copy(t,s):(l.push(u%1e14),s+=7);s=o/7}else j=!1,z&&I(14,"crypto unavailable",crypto.getRandomValues||crypto.randomBytes);if(!j)for(;o>s;)u=n(),9e15>u&&(l[s++]=u%1e14);for(o=l[--s],e%=y,o&&e&&(u=R[y-e],l[s]=d(o/u)*u);0===l[s];l.pop(),s--);if(0>s)l=[i=0];else{for(i=-1;0===l[0];l.shift(),i-=y);for(s=1,u=l[0];u>=10;u/=10,s++);y>s&&(i-=y-s)}return f.e=i,f.c=l,f}}(),U=function(){function e(e,n,t){var r,i,o,u,s=0,l=e.length,f=n%S,c=n/S|0;for(e=e.slice();l--;)o=e[l]%S,u=e[l]/S|0,r=c*o+u*f,i=f*o+r%S*S+s,s=(i/t|0)+(r/S|0)+c*u,e[l]=i%t;return s&&e.unshift(s),e}function n(e,n,t,r){var i,o;if(t!=r)o=t>r?1:-1;else for(i=o=0;t>i;i++)if(e[i]!=n[i]){o=e[i]>n[i]?1:-1;break}return o}function r(e,n,t,r){for(var i=0;t--;)e[t]-=i,i=e[t]1;e.shift());}return function(i,o,u,s,l){var f,c,h,g,p,m,w,v,N,O,R,S,A,E,D,F,_,x=i.s==o.s?1:-1,I=i.c,U=o.c;if(!(I&&I[0]&&U&&U[0]))return new a(i.s&&o.s&&(I?!U||I[0]!=U[0]:U)?I&&0==I[0]||!U?0*x:x/0:NaN);for(v=new a(x),N=v.c=[],c=i.e-o.e,x=u+c+1,l||(l=b,c=t(i.e/y)-t(o.e/y),x=x/y|0),h=0;U[h]==(I[h]||0);h++);if(U[h]>(I[h]||0)&&c--,0>x)N.push(1),g=!0;else{for(E=I.length,F=U.length,h=0,x+=2,p=d(l/(U[0]+1)),p>1&&(U=e(U,p,l),I=e(I,p,l),F=U.length,E=I.length),A=F,O=I.slice(0,F),R=O.length;F>R;O[R++]=0);_=U.slice(),_.unshift(0),D=U[0],U[1]>=l/2&&D++;do{if(p=0,f=n(U,O,F,R),0>f){if(S=O[0],F!=R&&(S=S*l+(O[1]||0)),p=d(S/D),p>1)for(p>=l&&(p=l-1),m=e(U,p,l),w=m.length,R=O.length;1==n(m,O,w,R);)p--,r(m,w>F?_:U,w,l),w=m.length,f=1;else 0==p&&(f=p=1),m=U.slice(),w=m.length;if(R>w&&m.unshift(0),r(O,m,R,l),R=O.length,-1==f)for(;n(U,O,F,R)<1;)p++,r(O,R>F?_:U,R,l),R=O.length}else 0===f&&(p++,O=[0]);N[h++]=p,O[0]?O[R++]=I[A]||0:(O=[I[A]],R=1)}while((A++=10;x/=10,h++);L(v,u+(v.e=h+c*y-1)+1,s,g)}else v.e=c,v.r=+g;return v}}(),h=function(){var e=/^(-?)0([xbo])(?=\w[\w.]*$)/i,n=/^([^.]+)\.$/,t=/^\.([^.]+)$/,r=/^-?(Infinity|NaN)$/,i=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(o,u,s,l){var f,c=s?u:u.replace(i,"");if(r.test(c))o.s=isNaN(c)?null:0>c?-1:1;else{if(!s&&(c=c.replace(e,function(e,n,t){return f="x"==(t=t.toLowerCase())?16:"b"==t?2:8,l&&l!=f?e:n}),l&&(f=l,c=c.replace(n,"$1").replace(t,"0.$1")),u!=c))return new a(c,f);z&&I(C,"not a"+(l?" base "+l:"")+" number",u),o.s=null}o.c=o.e=null,C=0}}(),M.absoluteValue=M.abs=function(){var e=new a(this);return e.s<0&&(e.s=1),e},M.ceil=function(){return L(new a(this),this.e+1,2)},M.comparedTo=M.cmp=function(e,n){return C=1,i(this,new a(e,n))},M.decimalPlaces=M.dp=function(){var e,n,r=this.c;if(!r)return null;if(e=((n=r.length-1)-t(this.e/y))*y,n=r[n])for(;n%10==0;n/=10,e--);return 0>e&&(e=0),e},M.dividedBy=M.div=function(e,n){return C=3,U(this,new a(e,n),B,P)},M.dividedToIntegerBy=M.divToInt=function(e,n){return C=4,U(this,new a(e,n),0,1)},M.equals=M.eq=function(e,n){return C=5,0===i(this,new a(e,n))},M.floor=function(){return L(new a(this),this.e+1,3)},M.greaterThan=M.gt=function(e,n){return C=6,i(this,new a(e,n))>0},M.greaterThanOrEqualTo=M.gte=function(e,n){return C=7,1===(n=i(this,new a(e,n)))||0===n},M.isFinite=function(){return!!this.c},M.isInteger=M.isInt=function(){return!!this.c&&t(this.e/y)>this.c.length-2},M.isNaN=function(){return!this.s},M.isNegative=M.isNeg=function(){return this.s<0},M.isZero=function(){return!!this.c&&0==this.c[0]},M.lessThan=M.lt=function(e,n){return C=8,i(this,new a(e,n))<0},M.lessThanOrEqualTo=M.lte=function(e,n){return C=9,-1===(n=i(this,new a(e,n)))||0===n},M.minus=M.sub=function(e,n){var r,i,o,u,s=this,l=s.s;if(C=10,e=new a(e,n),n=e.s,!l||!n)return new a(NaN);if(l!=n)return e.s=-n,s.plus(e);var f=s.e/y,c=e.e/y,h=s.c,g=e.c;if(!f||!c){if(!h||!g)return h?(e.s=-n,e):new a(g?s:NaN);if(!h[0]||!g[0])return g[0]?(e.s=-n,e):new a(h[0]?s:3==P?-0:0)}if(f=t(f),c=t(c),h=h.slice(),l=f-c){for((u=0>l)?(l=-l,o=h):(c=f,o=g),o.reverse(),n=l;n--;o.push(0));o.reverse()}else for(i=(u=(l=h.length)<(n=g.length))?l:n,l=n=0;i>n;n++)if(h[n]!=g[n]){u=h[n]0)for(;n--;h[r++]=0);for(n=b-1;i>l;){if(h[--i]0?(s=u,r=f):(o=-o,r=l),r.reverse();o--;r.push(0));r.reverse()}for(o=l.length,n=f.length,0>o-n&&(r=f,f=l,l=r,n=o),o=0;n;)o=(l[--n]=l[n]+f[n]+o)/b|0,l[n]%=b;return o&&(l.unshift(o),++s),x(e,l,s)},M.precision=M.sd=function(e){var n,t,r=this,i=r.c;if(null!=e&&e!==!!e&&1!==e&&0!==e&&(z&&I(13,"argument"+m,e),e!=!!e&&(e=null)),!i)return null;if(t=i.length-1,n=t*y+1,t=i[t]){for(;t%10==0;t/=10,n--);for(t=i[0];t>=10;t/=10,n++);}return e&&r.e+1>n&&(n=r.e+1),n},M.round=function(e,n){var t=new a(this);return(null==e||V(e,0,A,15))&&L(t,~~e+this.e+1,null!=n&&V(n,0,8,15,w)?0|n:P),t},M.shift=function(e){var n=this;return V(e,-O,O,16,"argument")?n.times("1e"+c(e)):new a(n.c&&n.c[0]&&(-O>e||e>O)?n.s*(0>e?0:1/0):n)},M.squareRoot=M.sqrt=function(){var e,n,i,o,u,s=this,l=s.c,f=s.s,c=s.e,h=B+4,g=new a("0.5");if(1!==f||!l||!l[0])return new a(!f||0>f&&(!l||l[0])?NaN:l?s:1/0);if(f=Math.sqrt(+s),0==f||f==1/0?(n=r(l),(n.length+c)%2==0&&(n+="0"),f=Math.sqrt(n),c=t((c+1)/2)-(0>c||c%2),f==1/0?n="1e"+c:(n=f.toExponential(),n=n.slice(0,n.indexOf("e")+1)+c),i=new a(n)):i=new a(f+""),i.c[0])for(c=i.e,f=c+h,3>f&&(f=0);;)if(u=i,i=g.times(u.plus(U(s,u,h,1))),r(u.c).slice(0,f)===(n=r(i.c)).slice(0,f)){if(i.ef&&(m=O,O=R,R=m,o=f,f=g,g=o),o=f+g,m=[];o--;m.push(0));for(w=b,v=S,o=g;--o>=0;){for(r=0,p=R[o]%v,d=R[o]/v|0,s=f,u=o+s;u>o;)c=O[--s]%v,h=O[s]/v|0,l=d*c+h*p,c=p*c+l%v*v+m[u]+r,r=(c/w|0)+(l/v|0)+d*h,m[u--]=c%w;m[u]=r}return r?++i:m.shift(),x(e,m,i)},M.toDigits=function(e,n){var t=new a(this);return e=null!=e&&V(e,1,A,18,"precision")?0|e:null,n=null!=n&&V(n,0,8,18,w)?0|n:P,e?L(t,e,n):t},M.toExponential=function(e,n){return D(this,null!=e&&V(e,0,A,19)?~~e+1:null,n,19)},M.toFixed=function(e,n){return D(this,null!=e&&V(e,0,A,20)?~~e+this.e+1:null,n,20)},M.toFormat=function(e,n){var t=D(this,null!=e&&V(e,0,A,21)?~~e+this.e+1:null,n,21);if(this.c){var r,i=t.split("."),o=+J.groupSize,u=+J.secondaryGroupSize,s=J.groupSeparator,l=i[0],f=i[1],c=this.s<0,a=c?l.slice(1):l,h=a.length;if(u&&(r=o,o=u,u=r,h-=r),o>0&&h>0){for(r=h%o||o,l=a.substr(0,r);h>r;r+=o)l+=s+a.substr(r,o);u>0&&(l+=s+a.slice(r)),c&&(l="-"+l)}t=f?l+J.decimalSeparator+((u=+J.fractionGroupSize)?f.replace(new RegExp("\\d{"+u+"}\\B","g"),"$&"+J.fractionGroupSeparator):f):l}return t},M.toFraction=function(e){var n,t,i,o,u,s,l,f,c,h=z,g=this,p=g.c,d=new a(T),m=t=new a(T),w=l=new a(T);if(null!=e&&(z=!1,s=new a(e),z=h,(!(h=s.isInt())||s.lt(T))&&(z&&I(22,"max denominator "+(h?"out of range":"not an integer"),e),e=!h&&s.c&&L(s,s.e+1,1).gte(T)?s:null)),!p)return g.toString();for(c=r(p),o=d.e=c.length-g.e-1,d.c[0]=R[(u=o%y)<0?y+u:u],e=!e||s.cmp(d)>0?o>0?d:m:s,u=G,G=1/0,s=new a(c),l.c[0]=0;f=U(s,d,0,1),i=t.plus(f.times(w)),1!=i.cmp(e);)t=w,w=i,m=l.plus(f.times(i=m)),l=i,d=s.minus(f.times(i=d)),s=i;return i=U(e.minus(t),w,0,1),l=l.plus(i.times(m)),t=t.plus(i.times(w)),l.s=m.s=g.s,o*=2,n=U(m,w,o,P).minus(g).abs().cmp(U(l,t,o,P).minus(g).abs())<1?[m.toString(),w.toString()]:[l.toString(),t.toString()],G=u,n},M.toNumber=function(){return+this},M.toPower=M.pow=function(e,n){var t,r,i,o=d(0>e?-e:+e),u=this;if(null!=n&&(C=23,n=new a(n)),!V(e,-O,O,23,"exponent")&&(!isFinite(e)||o>O&&(e/=0)||parseFloat(e)!=e&&!(e=NaN))||0==e)return t=Math.pow(+u,e),new a(n?t%n:t);for(n?e>1&&u.gt(T)&&u.isInt()&&n.gt(T)&&n.isInt()?u=u.mod(n):(i=n,n=null):W&&(t=p(W/y+2)),r=new a(T);;){if(o%2){if(r=r.times(u),!r.c)break;t?r.c.length>t&&(r.c.length=t):n&&(r=r.mod(n))}if(o=d(o/2),!o)break;u=u.times(u),t?u.c&&u.c.length>t&&(u.c.length=t):n&&(u=u.mod(n))}return n?r:(0>e&&(r=T.div(r)),i?r.mod(i):t?L(r,W,P):r)},M.toPrecision=function(e,n){return D(this,null!=e&&V(e,1,A,24,"precision")?0|e:null,n,24)},M.toString=function(e){var n,t=this,i=t.s,o=t.e;return null===o?i?(n="Infinity",0>i&&(n="-"+n)):n="NaN":(n=r(t.c),n=null!=e&&V(e,2,64,25,"base")?E(f(n,o),0|e,10,i):q>=o||o>=k?l(n,o):f(n,o),0>i&&t.c[0]&&(n="-"+n)),n},M.truncated=M.trunc=function(){return L(new a(this),this.e+1,1)},M.valueOf=M.toJSON=function(){var e,n=this,t=n.e;return null===t?n.toString():(e=r(n.c),e=q>=t||t>=k?l(e,t):f(e,t),n.s<0?"-"+e:e)},null!=e&&a.config(e),a}function t(e){var n=0|e;return e>0||e===n?n:n-1}function r(e){for(var n,t,r=1,i=e.length,o=e[0]+"";i>r;){for(n=e[r++]+"",t=y-n.length;t--;n="0"+n);o+=n}for(i=o.length;48===o.charCodeAt(--i););return o.slice(0,i+1||1)}function i(e,n){var t,r,i=e.c,o=n.c,u=e.s,s=n.s,l=e.e,f=n.e;if(!u||!s)return null;if(t=i&&!i[0],r=o&&!o[0],t||r)return t?r?0:-s:u;if(u!=s)return u;if(t=0>u,r=l==f,!i||!o)return r?0:!i^t?1:-1;if(!r)return l>f^t?1:-1;for(s=(l=i.length)<(f=o.length)?l:f,u=0;s>u;u++)if(i[u]!=o[u])return i[u]>o[u]^t?1:-1;return l==f?0:l>f^t?1:-1}function o(e,n,t){return(e=c(e))>=n&&t>=e}function u(e){return"[object Array]"==Object.prototype.toString.call(e)}function s(e,n,t){for(var r,i,o=[0],u=0,s=e.length;s>u;){for(i=o.length;i--;o[i]*=n);for(o[r=0]+=N.indexOf(e.charAt(u++));rt-1&&(null==o[r+1]&&(o[r+1]=0),o[r+1]+=o[r]/t|0,o[r]%=t)}return o.reverse()}function l(e,n){return(e.length>1?e.charAt(0)+"."+e.slice(1):e)+(0>n?"e":"e+")+n}function f(e,n){var t,r;if(0>n){for(r="0.";++n;r+="0");e=r+e}else if(t=e.length,++n>t){for(r="0",n-=t;--n;r+="0");e+=r}else t>n&&(e=e.slice(0,n)+"."+e.slice(n));return e}function c(e){return e=parseFloat(e),0>e?p(e):d(e)}var a,h,g=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,p=Math.ceil,d=Math.floor,m=" not a boolean or binary digit",w="rounding mode",v="number type has more than 15 significant digits",N="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_",b=1e14,y=14,O=9007199254740991,R=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],S=1e7,A=1e9;a=n(),a["default"]=a.BigNumber=a,"function"==typeof define&&define.amd?define(function(){return a}):"undefined"!=typeof module&&module.exports?module.exports=a:(e||(e="undefined"!=typeof self?self:Function("return this")()),e.BigNumber=a)}(this);
//# sourceMappingURL=bignumber.js.map
\ No newline at end of file
diff --git a/bower.json b/bower.json
index 91ad615..f8ca978 100644
--- a/bower.json
+++ b/bower.json
@@ -1,7 +1,7 @@
{
"name": "bignumber.js",
"main": "bignumber.js",
- "version": "2.4.0",
+ "version": "3.0.0",
"homepage": "https://github.com/MikeMcl/bignumber.js",
"authors": [
"Michael Mclaughlin "
diff --git a/doc/API.html b/doc/API.html
index 7dc947f..8d0fa00 100644
--- a/doc/API.html
+++ b/doc/API.html
@@ -326,12 +326,12 @@ BN.config({ DECIMAL_PLACES: 9 })
- configconfig([obj]) ⇒ object
+ configset([obj]) ⇒ object
obj
: object: an object that contains some or all of the following
properties.
- Configures the 'global' settings for this particular BigNumber constructor.
+ Configures the settings for this particular BigNumber constructor.
Note: the configuration can also be supplied as an argument list, see below.
DECIMAL_PLACES
@@ -346,6 +346,7 @@ BN.config({ DECIMAL_PLACES: 9 })
-
BigNumber.config({ DECIMAL_PLACES: 5 })
+BigNumber.set({ DECIMAL_PLACES: 5 }) // equivalent
BigNumber.config(5) // equivalent
@@ -587,7 +588,7 @@ BigNumber.config({ MODULO_MODE: 9 }) // equivalent
POW_PRECISION
-
number: integer,
0
to 1e+9
inclusive.
- Default value: 100
+ Default value: 0
-
The maximum number of significant digits of the result of the power operation
@@ -1633,13 +1634,13 @@ z = new BigNumber(-0)
As the number of digits of the result of the power operation can grow so large so quickly,
e.g. 123.45610000 has over
50000
digits, the number of significant
digits calculated is limited to the value of the
- POW_PRECISION
setting (default value:
- 100
) unless a modulus m
is specified.
+ POW_PRECISION
setting (unless a modulus
+ m
is specified).
- Set POW_PRECISION
to 0
for an
- unlimited number of significant digits to be calculated (this will cause the method to slow
- dramatically for larger exponents).
+ By default POW_PRECISION
is set to 0
.
+ This means that an unlimited number of significant digits will be calculated, and that the
+ method's performance will decrease dramatically for larger exponents.
Negative exponents will be calculated to the number of decimal places specified by
diff --git a/package.json b/package.json
index 7964966..7cd8dbc 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "bignumber.js",
"description": "A library for arbitrary-precision decimal and non-decimal arithmetic",
- "version": "2.4.0",
+ "version": "3.0.0",
"keywords": [
"arbitrary",
"precision",
@@ -31,6 +31,6 @@
"license": "MIT",
"scripts": {
"test": "node ./test/every-test.js",
- "build": "uglifyjs bignumber.js --source-map bignumber.js.map -c -m -o bignumber.min.js --preamble \"/* bignumber.js v2.4.0 https://github.com/MikeMcl/bignumber.js/LICENCE */\""
+ "build": "uglifyjs bignumber.js --source-map bignumber.js.map -c -m -o bignumber.min.js --preamble \"/* bignumber.js v3.0.0 https://github.com/MikeMcl/bignumber.js/LICENCE */\""
}
}