@bitgo-beta/sdk-coin-celo 1.1.1-beta.2 → 1.1.1-beta.2000

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/src/celo.d.ts +4 -1
  2. package/dist/src/celo.d.ts.map +1 -1
  3. package/dist/src/celo.js +16 -1
  4. package/dist/src/celoToken.d.ts +1 -1
  5. package/dist/src/celoToken.d.ts.map +1 -1
  6. package/dist/src/celoToken.js +3 -3
  7. package/dist/src/index.d.ts +1 -0
  8. package/dist/src/index.d.ts.map +1 -1
  9. package/dist/src/index.js +7 -2
  10. package/dist/src/lib/index.d.ts +2 -1
  11. package/dist/src/lib/index.d.ts.map +1 -1
  12. package/dist/src/lib/index.js +28 -12
  13. package/dist/src/lib/resources.d.ts.map +1 -1
  14. package/dist/src/lib/resources.js +10 -7
  15. package/dist/src/lib/stakingBuilder.js +37 -23
  16. package/dist/src/lib/testnetTransactionBuilder.d.ts +15 -0
  17. package/dist/src/lib/testnetTransactionBuilder.d.ts.map +1 -0
  18. package/dist/src/lib/testnetTransactionBuilder.js +68 -0
  19. package/dist/src/lib/transactionBuilder.d.ts +5 -4
  20. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  21. package/dist/src/lib/transactionBuilder.js +25 -11
  22. package/dist/src/lib/utils.d.ts +0 -10
  23. package/dist/src/lib/utils.d.ts.map +1 -1
  24. package/dist/src/lib/utils.js +3 -72
  25. package/dist/src/register.d.ts +3 -0
  26. package/dist/src/register.d.ts.map +1 -0
  27. package/dist/src/register.js +15 -0
  28. package/dist/src/tcelo.d.ts +2 -0
  29. package/dist/src/tcelo.d.ts.map +1 -1
  30. package/dist/src/tcelo.js +6 -1
  31. package/dist/test/resources/celo.d.ts +75 -0
  32. package/dist/test/resources/celo.d.ts.map +1 -0
  33. package/dist/test/resources/celo.js +93 -0
  34. package/dist/test/unit/celo.d.ts +2 -0
  35. package/dist/test/unit/celo.d.ts.map +1 -0
  36. package/dist/test/unit/celo.js +42 -0
  37. package/dist/test/unit/celoToken.d.ts +2 -0
  38. package/dist/test/unit/celoToken.d.ts.map +1 -0
  39. package/dist/test/unit/celoToken.js +31 -0
  40. package/dist/test/unit/getBuilder.d.ts +3 -0
  41. package/dist/test/unit/getBuilder.d.ts.map +1 -0
  42. package/dist/test/unit/getBuilder.js +10 -0
  43. package/dist/test/unit/stakingBuilder.d.ts +2 -0
  44. package/dist/test/unit/stakingBuilder.d.ts.map +1 -0
  45. package/dist/test/unit/stakingBuilder.js +247 -0
  46. package/dist/test/unit/transactionBuilder/addressInitialization.d.ts +2 -0
  47. package/dist/test/unit/transactionBuilder/addressInitialization.d.ts.map +1 -0
  48. package/dist/test/unit/transactionBuilder/addressInitialization.js +107 -0
  49. package/dist/test/unit/transactionBuilder/send.d.ts +2 -0
  50. package/dist/test/unit/transactionBuilder/send.d.ts.map +1 -0
  51. package/dist/test/unit/transactionBuilder/send.js +379 -0
  52. package/dist/test/unit/transactionBuilder/singleSigSend.d.ts +2 -0
  53. package/dist/test/unit/transactionBuilder/singleSigSend.d.ts.map +1 -0
  54. package/dist/test/unit/transactionBuilder/singleSigSend.js +86 -0
  55. package/dist/test/unit/transactionBuilder/staking.d.ts +2 -0
  56. package/dist/test/unit/transactionBuilder/staking.d.ts.map +1 -0
  57. package/dist/test/unit/transactionBuilder/staking.js +345 -0
  58. package/dist/test/unit/transactionBuilder/walletInitialization.d.ts +2 -0
  59. package/dist/test/unit/transactionBuilder/walletInitialization.d.ts.map +1 -0
  60. package/dist/test/unit/transactionBuilder/walletInitialization.js +135 -0
  61. package/dist/test/unit/transferBuilder.d.ts +2 -0
  62. package/dist/test/unit/transferBuilder.d.ts.map +1 -0
  63. package/dist/test/unit/transferBuilder.js +102 -0
  64. package/dist/tsconfig.tsbuildinfo +1 -0
  65. package/package.json +18 -17
  66. package/.eslintignore +0 -5
  67. package/.mocharc.yml +0 -8
  68. package/CHANGELOG.md +0 -38
  69. package/dist/src/lib/transaction.d.ts +0 -9
  70. package/dist/src/lib/transaction.d.ts.map +0 -1
  71. package/dist/src/lib/transaction.js +0 -37
  72. package/dist/src/lib/types.d.ts +0 -51
  73. package/dist/src/lib/types.d.ts.map +0 -1
  74. package/dist/src/lib/types.js +0 -223
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.TestnetTransactionBuilder = void 0;
37
+ const ethUtil = __importStar(require("ethereumjs-util"));
38
+ const abstract_eth_1 = require("@bitgo-beta/abstract-eth");
39
+ const transactionBuilder_1 = require("./transactionBuilder");
40
+ class TestnetTransactionBuilder extends transactionBuilder_1.TransactionBuilder {
41
+ constructor(_coinConfig) {
42
+ super(_coinConfig);
43
+ this.transaction = new abstract_eth_1.Transaction(_coinConfig, this._common);
44
+ }
45
+ /**
46
+ * Get the final v value. Final v is described in EIP-155.
47
+ *
48
+ * @protected for internal use when the enableFinalVField flag is true.
49
+ */
50
+ getFinalV() {
51
+ return ethUtil.addHexPrefix(this._common.chainIdBN().muln(2).addn(35).toString(16));
52
+ }
53
+ /** @inheritdoc */
54
+ fromImplementation(rawTransaction) {
55
+ let tx;
56
+ if (/^0x?[0-9a-f]{1,}$/.test(rawTransaction.toLowerCase())) {
57
+ tx = abstract_eth_1.Transaction.fromSerialized(this._coinConfig, this._common, rawTransaction);
58
+ this.loadBuilderInput(tx.toJson());
59
+ }
60
+ else {
61
+ const txData = JSON.parse(rawTransaction);
62
+ tx = new abstract_eth_1.Transaction(this._coinConfig, txData);
63
+ }
64
+ return tx;
65
+ }
66
+ }
67
+ exports.TestnetTransactionBuilder = TestnetTransactionBuilder;
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdG5ldFRyYW5zYWN0aW9uQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdGVzdG5ldFRyYW5zYWN0aW9uQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx5REFBMkM7QUFDM0MsMkRBQXVEO0FBRXZELDZEQUEwRDtBQUUxRCxNQUFhLHlCQUEwQixTQUFRLHVDQUFrQjtJQUMvRCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksMEJBQVcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRDs7OztPQUlHO0lBQ08sU0FBUztRQUNqQixPQUFPLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFRCxrQkFBa0I7SUFDUixrQkFBa0IsQ0FBQyxjQUFzQjtRQUNqRCxJQUFJLEVBQWUsQ0FBQztRQUNwQixJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQzNELEVBQUUsR0FBRywwQkFBVyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7WUFDaEYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3JDLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUMxQyxFQUFFLEdBQUcsSUFBSSwwQkFBVyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDakQsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztDQUNGO0FBM0JELDhEQTJCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGV0aFV0aWwgZnJvbSAnZXRoZXJldW1qcy11dGlsJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3QtZXRoJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcblxuZXhwb3J0IGNsYXNzIFRlc3RuZXRUcmFuc2FjdGlvbkJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy50cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbihfY29pbkNvbmZpZywgdGhpcy5fY29tbW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGZpbmFsIHYgdmFsdWUuIEZpbmFsIHYgaXMgZGVzY3JpYmVkIGluIEVJUC0xNTUuXG4gICAqXG4gICAqIEBwcm90ZWN0ZWQgZm9yIGludGVybmFsIHVzZSB3aGVuIHRoZSBlbmFibGVGaW5hbFZGaWVsZCBmbGFnIGlzIHRydWUuXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0RmluYWxWKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGV0aFV0aWwuYWRkSGV4UHJlZml4KHRoaXMuX2NvbW1vbi5jaGFpbklkQk4oKS5tdWxuKDIpLmFkZG4oMzUpLnRvU3RyaW5nKDE2KSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIGxldCB0eDogVHJhbnNhY3Rpb247XG4gICAgaWYgKC9eMHg/WzAtOWEtZl17MSx9JC8udGVzdChyYXdUcmFuc2FjdGlvbi50b0xvd2VyQ2FzZSgpKSkge1xuICAgICAgdHggPSBUcmFuc2FjdGlvbi5mcm9tU2VyaWFsaXplZCh0aGlzLl9jb2luQ29uZmlnLCB0aGlzLl9jb21tb24sIHJhd1RyYW5zYWN0aW9uKTtcbiAgICAgIHRoaXMubG9hZEJ1aWxkZXJJbnB1dCh0eC50b0pzb24oKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHR4RGF0YSA9IEpTT04ucGFyc2UocmF3VHJhbnNhY3Rpb24pO1xuICAgICAgdHggPSBuZXcgVHJhbnNhY3Rpb24odGhpcy5fY29pbkNvbmZpZywgdHhEYXRhKTtcbiAgICB9XG4gICAgcmV0dXJuIHR4O1xuICB9XG59XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
+ import { Transaction } from '@bitgo-beta/abstract-eth';
2
3
  import { TransactionBuilder as EthTransactionBuilder, TxData } from '@bitgo-beta/sdk-coin-eth';
3
4
  import { TransactionType } from '@bitgo-beta/sdk-core';
4
- import { Transaction } from './transaction';
5
5
  import { StakingBuilder } from './stakingBuilder';
6
6
  import { TransferBuilder } from './transferBuilder';
7
7
  export declare class TransactionBuilder extends EthTransactionBuilder {
@@ -76,10 +76,11 @@ export declare class TransactionBuilder extends EthTransactionBuilder {
76
76
  private buildLockStakeTransaction;
77
77
  private buildStakingTransaction;
78
78
  /**
79
- * Get the final v value. Final v is described in EIP-155.
79
+ * The value to send along with this transaction. 0 by default
80
80
  *
81
- * @protected for internal use when the enableFinalVField flag is true.
81
+ * @param {string} value The value to send along with this transaction
82
82
  */
83
- protected getFinalV(): string;
83
+ value(value: string): void;
84
+ validatePrecision(value: string, context?: string): void;
84
85
  }
85
86
  //# sourceMappingURL=transactionBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,kBAAkB,IAAI,qBAAqB,EAAE,MAAM,EAA2B,MAAM,0BAA0B,CAAC;AACxH,OAAO,EAAyB,eAAe,EAAyB,MAAM,sBAAsB,CAAC;AACrG,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,qBAAa,kBAAmB,SAAQ,qBAAqB;IAE3D,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,SAAS,CAAC,SAAS,EAAE,eAAe,CAAC;gBAEzB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAM7C,kBAAkB;IAClB,IAAI,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IAKjC,SAAS,CAAC,kBAAkB,IAAI,MAAM;IActC,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAYjE,SAAS,CAAC,wBAAwB,CAAC,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI;IAoB/F;;;;;OAKG;IACH,SAAS,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM;IAUtD;;;;;OAKG;IACH,IAAI,IAAI,cAAc;IAQtB;;;;;OAKG;IACH,IAAI,IAAI,cAAc;IAQtB;;;;;OAKG;IACH,QAAQ,IAAI,cAAc;IAQ1B;;;;;OAKG;IACH,MAAM,IAAI,cAAc;IAQxB;;;;;OAKG;IACH,MAAM,IAAI,cAAc;IAQxB;;;;;OAKG;IACH,QAAQ,IAAI,cAAc;IAQ1B,kBAAkB;IAClB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,eAAe;IAUxC;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,yBAAyB;IASjC,OAAO,CAAC,uBAAuB;IAQ/B;;;;OAIG;IACH,SAAS,CAAC,SAAS,IAAI,MAAM;CAI9B"}
1
+ {"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,kBAAkB,IAAI,qBAAqB,EAAE,MAAM,EAA2B,MAAM,0BAA0B,CAAC;AACxH,OAAO,EAAyB,eAAe,EAAyB,MAAM,sBAAsB,CAAC;AACrG,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,qBAAa,kBAAmB,SAAQ,qBAAqB;IAE3D,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,SAAS,CAAC,SAAS,EAAE,eAAe,CAAC;gBAEzB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAM7C,kBAAkB;IAClB,IAAI,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IAKjC,SAAS,CAAC,kBAAkB,IAAI,MAAM;IActC,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAYjE,SAAS,CAAC,wBAAwB,CAAC,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI;IAoB/F;;;;;OAKG;IACH,SAAS,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM;IAUtD;;;;;OAKG;IACH,IAAI,IAAI,cAAc;IAQtB;;;;;OAKG;IACH,IAAI,IAAI,cAAc;IAQtB;;;;;OAKG;IACH,QAAQ,IAAI,cAAc;IAQ1B;;;;;OAKG;IACH,MAAM,IAAI,cAAc;IAQxB;;;;;OAKG;IACH,MAAM,IAAI,cAAc;IAQxB;;;;;OAKG;IACH,QAAQ,IAAI,cAAc;IAQ1B,kBAAkB;IAClB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,eAAe;IAUxC;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,yBAAyB;IASjC,OAAO,CAAC,uBAAuB;IAQ/B;;;;OAIG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;CAezD"}
@@ -5,18 +5,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.TransactionBuilder = void 0;
7
7
  const ethereumjs_abi_1 = __importDefault(require("ethereumjs-abi"));
8
+ const abstract_eth_1 = require("@bitgo-beta/abstract-eth");
8
9
  const sdk_coin_eth_1 = require("@bitgo-beta/sdk-coin-eth");
9
10
  const sdk_core_1 = require("@bitgo-beta/sdk-core");
10
- const transaction_1 = require("./transaction");
11
11
  const stakingBuilder_1 = require("./stakingBuilder");
12
12
  const utils_1 = require("./utils");
13
13
  const transferBuilder_1 = require("./transferBuilder");
14
- const ethereumjs_util_1 = require("ethereumjs-util");
14
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
15
15
  class TransactionBuilder extends sdk_coin_eth_1.TransactionBuilder {
16
16
  constructor(_coinConfig) {
17
17
  super(_coinConfig);
18
- this._common = utils_1.getCommon(this._coinConfig.network.type);
19
- this.transaction = new transaction_1.Transaction(this._coinConfig, this._common);
18
+ this._common = (0, utils_1.getCommon)(this._coinConfig.network.type);
19
+ this.transaction = new abstract_eth_1.Transaction(this._coinConfig, this._common);
20
20
  }
21
21
  /** @inheritdoc */
22
22
  type(type) {
@@ -40,12 +40,12 @@ class TransactionBuilder extends sdk_coin_eth_1.TransactionBuilder {
40
40
  fromImplementation(rawTransaction) {
41
41
  let tx;
42
42
  if (/^0x?[0-9a-f]{1,}$/.test(rawTransaction.toLowerCase())) {
43
- tx = transaction_1.Transaction.fromSerialized(this._coinConfig, this._common, rawTransaction);
43
+ tx = abstract_eth_1.Transaction.fromSerialized(this._coinConfig, this._common, rawTransaction);
44
44
  super.loadBuilderInput(tx.toJson());
45
45
  }
46
46
  else {
47
47
  const txData = JSON.parse(rawTransaction);
48
- tx = new transaction_1.Transaction(this._coinConfig, this._common, txData);
48
+ tx = new abstract_eth_1.Transaction(this._coinConfig, this._common, txData);
49
49
  }
50
50
  return tx;
51
51
  }
@@ -196,13 +196,27 @@ class TransactionBuilder extends sdk_coin_eth_1.TransactionBuilder {
196
196
  return data;
197
197
  }
198
198
  /**
199
- * Get the final v value. Final v is described in EIP-155.
199
+ * The value to send along with this transaction. 0 by default
200
200
  *
201
- * @protected for internal use when the enableFinalVField flag is true.
201
+ * @param {string} value The value to send along with this transaction
202
202
  */
203
- getFinalV() {
204
- return ethereumjs_util_1.addHexPrefix(this._common.chainIdBN().toString(16));
203
+ value(value) {
204
+ this.validatePrecision(value, 'Value');
205
+ this._value = value;
206
+ }
207
+ validatePrecision(value, context) {
208
+ context = context ? context + ' ' : '';
209
+ const valueNumber = Number(value);
210
+ // the Celo library internally converts the string value to a number and converts to hex, which can result in a loss of precision for numbers with >= 15 significant digits
211
+ const valueBigNumber = new bignumber_js_1.default(valueNumber.toString(16), 16);
212
+ if (isNaN(valueNumber)) {
213
+ throw new sdk_core_1.BuildTransactionError(`${context}${value} is not a valid number`);
214
+ }
215
+ else if (!valueBigNumber.isEqualTo(valueNumber)) {
216
+ // TODO(BG-62714): remove this check once the celo library is fixed
217
+ throw new sdk_core_1.BuildTransactionError(`${context}${value} cannot be represented by a JS number, please try using fewer significant digits. We are working to support all values in the future.`);
218
+ }
205
219
  }
206
220
  }
207
221
  exports.TransactionBuilder = TransactionBuilder;
208
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0Esb0VBQXlDO0FBQ3pDLDJEQUF3SDtBQUN4SCxtREFBcUc7QUFDckcsK0NBQTRDO0FBQzVDLHFEQUFrRDtBQUVsRCxtQ0FBMEQ7QUFDMUQsdURBQW9EO0FBQ3BELHFEQUErQztBQUUvQyxNQUFhLGtCQUFtQixTQUFRLGlDQUFxQjtJQUszRCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLGlCQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLHlCQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixJQUFJLENBQUMsSUFBcUI7UUFDeEIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQztJQUNuQyxDQUFDO0lBRVMsa0JBQWtCO1FBQzFCLFFBQVEsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNsQixLQUFLLDBCQUFlLENBQUMsV0FBVztnQkFDOUIsT0FBTyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztZQUMxQyxLQUFLLDBCQUFlLENBQUMsYUFBYSxDQUFDO1lBQ25DLEtBQUssMEJBQWUsQ0FBQyxXQUFXLENBQUM7WUFDakMsS0FBSywwQkFBZSxDQUFDLGFBQWEsQ0FBQztZQUNuQyxLQUFLLDBCQUFlLENBQUMsZUFBZSxDQUFDO1lBQ3JDLEtBQUssMEJBQWUsQ0FBQyxlQUFlO2dCQUNsQyxPQUFP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QUMsT0FBTyxDQUFDO1FBRXhCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7O09BSUc7SUFDTyxTQUFTO1FBQ2pCLE9BQU8sOEJBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7Q0FFRjtBQTlORCxnREE4TkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgRXRoZXJldW1BYmkgZnJvbSAnZXRoZXJldW1qcy1hYmknO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIGFzIEV0aFRyYW5zYWN0aW9uQnVpbGRlciwgVHhEYXRhLCB3YWxsZXRTaW1wbGVDb25zdHJ1Y3RvciB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWV0aCc7XG5pbXBvcnQgeyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsIFRyYW5zYWN0aW9uVHlwZSwgU3Rha2luZ09wZXJhdGlvblR5cGVzIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFN0YWtpbmdCdWlsZGVyIH0gZnJvbSAnLi9zdGFraW5nQnVpbGRlcic7XG5pbXBvcnQgeyBTdGFraW5nQ2FsbCB9IGZyb20gJy4vc3Rha2luZ0NhbGwnO1xuaW1wb3J0IHsgZ2V0Q29tbW9uLCB3YWxsZXRTaW1wbGVCeXRlQ29kZSB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2ZlckJ1aWxkZXInO1xuaW1wb3J0IHsgYWRkSGV4UHJlZml4IH0gZnJvbSAnZXRoZXJldW1qcy11dGlsJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQnVpbGRlciBleHRlbmRzIEV0aFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIC8vIFN0YWtpbmcgc3BlY2lmaWMgcGFyYW1ldGVyc1xuICBwcml2YXRlIF9zdGFraW5nQnVpbGRlcj86IFN0YWtpbmdCdWlsZGVyO1xuICBwcm90ZWN0ZWQgX3RyYW5zZmVyOiBUcmFuc2ZlckJ1aWxkZXI7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX2NvbW1vbiA9IGdldENvbW1vbih0aGlzLl9jb2luQ29uZmlnLm5ldHdvcmsudHlwZSk7XG4gICAgdGhpcy50cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnLCB0aGlzLl9jb21tb24pO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHR5cGUodHlwZTogVHJhbnNhY3Rpb25UeXBlKTogdm9pZCB7XG4gICAgc3VwZXIudHlwZSh0eXBlKTtcbiAgICB0aGlzLl9zdGFraW5nQnVpbGRlciA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRUcmFuc2FjdGlvbkRhdGEoKTogVHhEYXRhIHtcbiAgICBzd2l0Y2ggKHRoaXMuX3R5cGUpIHtcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdMb2NrOlxuICAgICAgICByZXR1cm4gdGhpcy5idWlsZExvY2tTdGFrZVRyYW5zYWN0aW9uKCk7XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nVW5sb2NrOlxuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1ZvdGU6XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nVW52b3RlOlxuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0FjdGl2YXRlOlxuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1dpdGhkcmF3OlxuICAgICAgICByZXR1cm4gdGhpcy5idWlsZFN0YWtpbmdUcmFuc2FjdGlvbigpO1xuICAgIH1cbiAgICByZXR1cm4gc3VwZXIuZ2V0VHJhbnNhY3Rpb25EYXRhKCk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIGxldCB0eDogVHJhbnNhY3Rpb247XG4gICAgaWYgKC9eMHg/WzAtOWEtZl17MSx9JC8udGVzdChyYXdUcmFuc2FjdGlvbi50b0xvd2VyQ2FzZSgpKSkge1xuICAgICAgdHggPSBUcmFuc2FjdGlvbi5mcm9tU2VyaWFsaXplZCh0aGlzLl9jb2luQ29uZmlnLCB0aGlzLl9jb21tb24sIHJhd1RyYW5zYWN0aW9uKTtcbiAgICAgIHN1cGVyLmxvYWRCdWlsZGVySW5wdXQodHgudG9Kc29uKCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB0eERhdGEgPSBKU09OLnBhcnNlKHJhd1RyYW5zYWN0aW9uKTtcbiAgICAgIHR4ID0gbmV3IFRyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcsIHRoaXMuX2NvbW1vbiwgdHhEYXRhKTtcbiAgICB9XG4gICAgcmV0dXJuIHR4O1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldFRyYW5zYWN0aW9uVHlwZUZpZWxkcyhkZWNvZGVkVHlwZTogVHJhbnNhY3Rpb25UeXBlLCB0cmFuc2FjdGlvbkpzb246IFR4RGF0YSk6IHZvaWQge1xuICAgIHN3aXRjaCAoZGVjb2RlZFR5cGUpIHtcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdMb2NrOlxuICAgICAgICB0aGlzLl9zdGFraW5nQnVpbGRlciA9IG5ldyBTdGFraW5nQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKVxuICAgICAgICAgIC50eXBlKFN0YWtpbmdPcGVyYXRpb25UeXBlcy5MT0NLKVxuICAgICAgICAgIC5hbW91bnQodHJhbnNhY3Rpb25Kc29uLnZhbHVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nVW5sb2NrOlxuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1ZvdGU6XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nVW52b3RlOlxuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0FjdGl2YXRlOlxuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1dpdGhkcmF3OlxuICAgICAgICB0aGlzLl9zdGFraW5nQnVpbGRlciA9IG5ldyBTdGFraW5nQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnLCB0cmFuc2FjdGlvbkpzb24uZGF0YSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgc3VwZXIuc2V0VHJhbnNhY3Rpb25UeXBlRmllbGRzKGRlY29kZWRUeXBlLCB0cmFuc2FjdGlvbkpzb24pO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgc21hcnQgY29udHJhY3QgZW5jb2RlZCBkYXRhXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IGFkZHJlc3NlcyAtIHRoZSBjb250cmFjdCBzaWduZXJzXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IC0gdGhlIHNtYXJ0IGNvbnRyYWN0IGVuY29kZWQgZGF0YVxuICAgKi9cbiAgcHJvdGVjdGVkIGdldENvbnRyYWN0RGF0YShhZGRyZXNzZXM6IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgICBjb25zdCBwYXJhbXMgPSBbYWRkcmVzc2VzXTtcbiAgICBjb25zdCByZXN1bHRFbmNvZGVkUGFyYW1ldGVycyA9IEV0aGVyZXVtQWJpLnJhd0VuY29kZSh3YWxsZXRTaW1wbGVDb25zdHJ1Y3RvciwgcGFyYW1zKVxuICAgICAgLnRvU3RyaW5nKCdoZXgnKVxuICAgICAgLnJlcGxhY2UoJzB4JywgJycpO1xuICAgIHJldHVybiB3YWxsZXRTaW1wbGVCeXRlQ29kZSArIHJlc3VsdEVuY29kZWRQYXJhbWV0ZXJzO1xuICB9XG5cbiAgLy8gcmVnaW9uIFN0YWtlIG1ldGhvZHNcblxuICAvKipcbiAgICogR2V0cyB0aGUgc3Rha2luZyBsb2NrIGJ1aWxkZXIgaWYgZXhpc3QsIG9yIGNyZWF0ZXMgYSBuZXcgb25lIGZvciB0aGlzIHRyYW5zYWN0aW9uIGFuZCByZXR1cm5zIGl0XG4gICAqIHJlcXVpcmVzOiBhbW91bnRcbiAgICpcbiAgICogQHJldHVybnMge1N0YWtpbmdCdWlsZGVyfSB0aGUgc3Rha2luZyBidWlsZGVyXG4gICAqL1xuICBsb2NrKCk6IFN0YWtpbmdCdWlsZGVyIHtcbiAgICBpZiAodGhpcy5fdHlwZSAhPT0gVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdMb2NrKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdMb2NrIGNhbiBvbmx5IGJlIHNldCBmb3IgU3Rha2luZyBMb2NrIHRyYW5zYWN0aW9ucyB0eXBlJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZ2V0QnVpbGRlcihTdGFraW5nT3BlcmF0aW9uVHlwZXMuTE9DSyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgc3Rha2luZyB2b3RlIGJ1aWxkZXIgaWYgZXhpc3QsIG9yIGNyZWF0ZXMgYSBuZXcgb25lIGZvciB0aGlzIHRyYW5zYWN0aW9uIGFuZCByZXR1cm5zIGl0XG4gICAqIHJlcXVpcmVzOiBncm91cCwgbGVzc2VyLCBncmVhdGVyLCBhbW91bnRcbiAgICpcbiAgICogQHJldHVybnMge1N0YWtpbmdCdWlsZGVyfSB0aGUgc3Rha2luZyBidWlsZGVyXG4gICAqL1xuICB2b3RlKCk6IFN0YWtpbmdCdWlsZGVyIHtcbiAgICBpZiAodGhpcy5fdHlwZSAhPT0gVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdWb3RlKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdWb3RlcyBjYW4gb25seSBiZSBzZXQgZm9yIGEgc3Rha2luZyB0cmFuc2FjdGlvbicpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmdldEJ1aWxkZXIoU3Rha2luZ09wZXJhdGlvblR5cGVzLlZPVEUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHN0YWtpbmcgYWN0aXZhdGUgYnVpbGRlciBpZiBleGlzdCwgb3IgY3JlYXRlcyBhIG5ldyBvbmUgZm9yIHRoaXMgdHJhbnNhY3Rpb24gYW5kIHJldHVybnMgaXRcbiAgICogcmVxdWlyZXM6IGdyb3VwXG4gICAqXG4gICAqIEByZXR1cm5zIHtTdGFraW5nQnVpbGRlcn0gdGhlIHN0YWtpbmcgYnVpbGRlclxuICAgKi9cbiAgYWN0aXZhdGUoKTogU3Rha2luZ0J1aWxkZXIge1xuICAgIGlmICh0aGlzLl90eXBlICE9PSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0FjdGl2YXRlKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdBY3RpdmF0aW9uIGNhbiBvbmx5IGJlIHNldCBmb3IgYSBzdGFraW5nIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZ2V0QnVpbGRlcihTdGFraW5nT3BlcmF0aW9uVHlwZXMuQUNUSVZBVEUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHN0YWtpbmcgdW5sb2NrIGJ1aWxkZXIgaWYgZXhpc3QsIG9yIGNyZWF0ZXMgYSBuZXcgb25lIGZvciB0aGlzIHRyYW5zYWN0aW9uIGFuZCByZXR1cm5zIGl0XG4gICAqIHJlcXVpcmVzOiBhbW91bnRcbiAgICpcbiAgICogQHJldHVybnMge1N0YWtpbmdCdWlsZGVyfSB0aGUgc3Rha2luZyBidWlsZGVyXG4gICAqL1xuICB1bmxvY2soKTogU3Rha2luZ0J1aWxkZXIge1xuICAgIGlmICh0aGlzLl90eXBlICE9PSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1VubG9jaykge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignVW5sb2NrIGNhbiBvbmx5IGJlIHNldCBmb3IgU3Rha2luZyBVbmxvY2sgdHJhbnNhY3Rpb25zIHR5cGUnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5nZXRCdWlsZGVyKFN0YWtpbmdPcGVyYXRpb25UeXBlcy5VTkxPQ0spO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHN0YWtpbmcgdW52b3RlIGJ1aWxkZXIgaWYgZXhpc3QsIG9yIGNyZWF0ZXMgYSBuZXcgb25lIGZvciB0aGlzIHRyYW5zYWN0aW9uIGFuZCByZXR1cm5zIGl0XG4gICAqIHJlcXVpcmVzOiBncm91cCwgbGVzc2VyLCBncmVhdGVyLCBhbW91bnQsIGluZGV4XG4gICAqXG4gICAqIEByZXR1cm5zIHtTdGFraW5nQnVpbGRlcn0gdGhlIHN0YWtpbmcgYnVpbGRlclxuICAgKi9cbiAgdW52b3RlKCk6IFN0YWtpbmdCdWlsZGVyIHtcbiAgICBpZiAodGhpcy5fdHlwZSAhPT0gVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdVbnZvdGUpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ1Vudm90ZSBjYW4gb25seSBiZSBzZXQgZm9yIGEgc3Rha2luZyB0cmFuc2FjdGlvbicpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmdldEJ1aWxkZXIoU3Rha2luZ09wZXJhdGlvblR5cGVzLlVOVk9URSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgc3Rha2luZyB3aXRoZHJhdyBidWlsZGVyIGlmIGV4aXN0LCBvciBjcmVhdGVzIGEgbmV3IG9uZSBmb3IgdGhpcyB0cmFuc2FjdGlvbiBhbmQgcmV0dXJucyBpdFxuICAgKiByZXF1aXJlczogaW5kZXggKHVubG9jayBsaXN0KVxuICAgKlxuICAgKiBAcmV0dXJucyB7U3Rha2luZ0J1aWxkZXJ9IHRoZSBzdGFraW5nIGJ1aWxkZXJcbiAgICovXG4gIHdpdGhkcmF3KCk6IFN0YWtpbmdCdWlsZGVyIHtcbiAgICBpZiAodGhpcy5fdHlwZSAhPT0gVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdXaXRoZHJhdykge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignV2l0aGRyYXcgY2FuIG9ubHkgYmUgc2V0IGZvciBhIHN0YWtpbmcgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5nZXRCdWlsZGVyKFN0YWtpbmdPcGVyYXRpb25UeXBlcy5XSVRIRFJBVyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdHJhbnNmZXIoZGF0YT86IHN0cmluZyk6IFRyYW5zZmVyQnVpbGRlciB7XG4gICAgaWYgKHRoaXMuX3R5cGUgIT09IFRyYW5zYWN0aW9uVHlwZS5TZW5kKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdUcmFuc2ZlcnMgY2FuIG9ubHkgYmUgc2V0IGZvciBzZW5kIHRyYW5zYWN0aW9ucycpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX3RyYW5zZmVyKSB7XG4gICAgICB0aGlzLl90cmFuc2ZlciA9IG5ldyBUcmFuc2ZlckJ1aWxkZXIoZGF0YSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl90cmFuc2ZlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGFwcHJvcHJpYXRlIGJ1aWxkZXIgZm9yIHRoZSBzZWxlY3RlZCB0eXBlXG4gICAqXG4gICAqIEBwYXJhbSB7U3Rha2luZ09wZXJhdGlvblR5cGVzfSB0eXBlIHRoZSBzZWxlY3RlZCB0eXBlIGZvciB0aGUgc3Rha2luZyBidWlsZGVyXG4gICAqIEByZXR1cm5zIHtTdGFraW5nQnVpbGRlcn0gdGhlIHN0YWtpbmcgYnVpbGRlciBmb3IgdGhlIHNlbGVjdGVkIHR5cGVcbiAgICovXG4gIHByaXZhdGUgZ2V0QnVpbGRlcih0eXBlOiBTdGFraW5nT3BlcmF0aW9uVHlwZXMpOiBTdGFraW5nQnVpbGRlciB7XG4gICAgaWYgKCF0aGlzLl9zdGFraW5nQnVpbGRlcikge1xuICAgICAgdGhpcy5fc3Rha2luZ0J1aWxkZXIgPSBuZXcgU3Rha2luZ0J1aWxkZXIodGhpcy5fY29pbkNvbmZpZykudHlwZSh0eXBlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fc3Rha2luZ0J1aWxkZXI7XG4gIH1cblxuICBwcml2YXRlIGdldFN0YWtpbmcoKTogU3Rha2luZ0NhbGwge1xuICAgIGlmICghdGhpcy5fc3Rha2luZ0J1aWxkZXIpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ05vIHN0YWtpbmcgaW5mb3JtYXRpb24gc2V0Jyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9zdGFraW5nQnVpbGRlci5idWlsZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZExvY2tTdGFrZVRyYW5zYWN0aW9uKCk6IFR4RGF0YSB7XG4gICAgY29uc3Qgc3Rha2UgPSB0aGlzLmdldFN0YWtpbmcoKTtcbiAgICBjb25zdCBkYXRhID0gdGhpcy5idWlsZEJhc2Uoc3Rha2Uuc2VyaWFsaXplKCkpO1xuICAgIGRhdGEudG8gPSBzdGFrZS5hZGRyZXNzO1xuICAgIGRhdGEudmFsdWUgPSBzdGFrZS5hbW91bnQ7XG5cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRTdGFraW5nVHJhbnNhY3Rpb24oKTogVHhEYXRhIHtcbiAgICBjb25zdCBzdGFrZSA9IHRoaXMuZ2V0U3Rha2luZygpO1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLmJ1aWxkQmFzZShzdGFrZS5zZXJpYWxpemUoKSk7XG4gICAgZGF0YS50byA9IHN0YWtlLmFkZHJlc3M7XG5cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGZpbmFsIHYgdmFsdWUuIEZpbmFsIHYgaXMgZGVzY3JpYmVkIGluIEVJUC0xNTUuXG4gICAqXG4gICAqIEBwcm90ZWN0ZWQgZm9yIGludGVybmFsIHVzZSB3aGVuIHRoZSBlbmFibGVGaW5hbFZGaWVsZCBmbGFnIGlzIHRydWUuXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0RmluYWxWKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGFkZEhleFByZWZpeCh0aGlzLl9jb21tb24uY2hhaW5JZEJOKCkudG9TdHJpbmcoMTYpKTtcbiAgfVxuICAvLyBlbmRyZWdpb25cbn1cbiJdfQ==
222
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0Esb0VBQXlDO0FBQ3pDLDJEQUF1RDtBQUN2RCwyREFBd0g7QUFDeEgsbURBQXFHO0FBQ3JHLHFEQUFrRDtBQUVsRCxtQ0FBMEQ7QUFDMUQsdURBQW9EO0FBQ3BELGdFQUFxQztBQUVyQyxNQUFhLGtCQUFtQixTQUFRLGlDQUFxQjtJQUszRCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUEsaUJBQVMsRUFBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksMEJBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLElBQUksQ0FBQyxJQUFxQjtRQUN4QixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDO0lBQ25DLENBQUM7SUFFUyxrQkFBa0I7UUFDMUIsUUFBUSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbkIsS0FBSywwQkFBZSxDQUFDLFdBQVc7Z0JBQzlCLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7WUFDMUMsS0FBSywwQkFBZSxDQUFDLGFBQWEsQ0FBQztZQUNuQyxLQUFLLDBCQUFlLENBQUMsV0FBVyxDQUFDO1lBQ2pDLEtBQUssMEJBQWUsQ0FBQyxhQUFhLENBQUM7WUFDbkMsS0FBSywwQkFBZSxDQUFDLGVBQWUsQ0FBQztZQUNyQyxLQUFLLDBCQUFlLENBQUMsZUFBZTtn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Q29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgRXRoZXJldW1BYmkgZnJvbSAnZXRoZXJldW1qcy1hYmknO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC1ldGgnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIGFzIEV0aFRyYW5zYWN0aW9uQnVpbGRlciwgVHhEYXRhLCB3YWxsZXRTaW1wbGVDb25zdHJ1Y3RvciB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWV0aCc7XG5pbXBvcnQgeyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsIFRyYW5zYWN0aW9uVHlwZSwgU3Rha2luZ09wZXJhdGlvblR5cGVzIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgU3Rha2luZ0J1aWxkZXIgfSBmcm9tICcuL3N0YWtpbmdCdWlsZGVyJztcbmltcG9ydCB7IFN0YWtpbmdDYWxsIH0gZnJvbSAnLi9zdGFraW5nQ2FsbCc7XG5pbXBvcnQgeyBnZXRDb21tb24sIHdhbGxldFNpbXBsZUJ5dGVDb2RlIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkJ1aWxkZXIgZXh0ZW5kcyBFdGhUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAvLyBTdGFraW5nIHNwZWNpZmljIHBhcmFtZXRlcnNcbiAgcHJpdmF0ZSBfc3Rha2luZ0J1aWxkZXI/OiBTdGFraW5nQnVpbGRlcjtcbiAgcHJvdGVjdGVkIF90cmFuc2ZlcjogVHJhbnNmZXJCdWlsZGVyO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl9jb21tb24gPSBnZXRDb21tb24odGhpcy5fY29pbkNvbmZpZy5uZXR3b3JrLnR5cGUpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24gPSBuZXcgVHJhbnNhY3Rpb24odGhpcy5fY29pbkNvbmZpZywgdGhpcy5fY29tbW9uKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB0eXBlKHR5cGU6IFRyYW5zYWN0aW9uVHlwZSk6IHZvaWQge1xuICAgIHN1cGVyLnR5cGUodHlwZSk7XG4gICAgdGhpcy5fc3Rha2luZ0J1aWxkZXIgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0VHJhbnNhY3Rpb25EYXRhKCk6IFR4RGF0YSB7XG4gICAgc3dpdGNoICh0aGlzLl90eXBlKSB7XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nTG9jazpcbiAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRMb2NrU3Rha2VUcmFuc2FjdGlvbigpO1xuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1VubG9jazpcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdWb3RlOlxuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1Vudm90ZTpcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdBY3RpdmF0ZTpcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdXaXRoZHJhdzpcbiAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRTdGFraW5nVHJhbnNhY3Rpb24oKTtcbiAgICB9XG4gICAgcmV0dXJuIHN1cGVyLmdldFRyYW5zYWN0aW9uRGF0YSgpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFRyYW5zYWN0aW9uIHtcbiAgICBsZXQgdHg6IFRyYW5zYWN0aW9uO1xuICAgIGlmICgvXjB4P1swLTlhLWZdezEsfSQvLnRlc3QocmF3VHJhbnNhY3Rpb24udG9Mb3dlckNhc2UoKSkpIHtcbiAgICAgIHR4ID0gVHJhbnNhY3Rpb24uZnJvbVNlcmlhbGl6ZWQodGhpcy5fY29pbkNvbmZpZywgdGhpcy5fY29tbW9uLCByYXdUcmFuc2FjdGlvbik7XG4gICAgICBzdXBlci5sb2FkQnVpbGRlcklucHV0KHR4LnRvSnNvbigpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdHhEYXRhID0gSlNPTi5wYXJzZShyYXdUcmFuc2FjdGlvbik7XG4gICAgICB0eCA9IG5ldyBUcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnLCB0aGlzLl9jb21tb24sIHR4RGF0YSk7XG4gICAgfVxuICAgIHJldHVybiB0eDtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRUcmFuc2FjdGlvblR5cGVGaWVsZHMoZGVjb2RlZFR5cGU6IFRyYW5zYWN0aW9uVHlwZSwgdHJhbnNhY3Rpb25Kc29uOiBUeERhdGEpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKGRlY29kZWRUeXBlKSB7XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nTG9jazpcbiAgICAgICAgdGhpcy5fc3Rha2luZ0J1aWxkZXIgPSBuZXcgU3Rha2luZ0J1aWxkZXIodGhpcy5fY29pbkNvbmZpZylcbiAgICAgICAgICAudHlwZShTdGFraW5nT3BlcmF0aW9uVHlwZXMuTE9DSylcbiAgICAgICAgICAuYW1vdW50KHRyYW5zYWN0aW9uSnNvbi52YWx1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1VubG9jazpcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdWb3RlOlxuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1Vudm90ZTpcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdBY3RpdmF0ZTpcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdXaXRoZHJhdzpcbiAgICAgICAgdGhpcy5fc3Rha2luZ0J1aWxkZXIgPSBuZXcgU3Rha2luZ0J1aWxkZXIodGhpcy5fY29pbkNvbmZpZywgdHJhbnNhY3Rpb25Kc29uLmRhdGEpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHN1cGVyLnNldFRyYW5zYWN0aW9uVHlwZUZpZWxkcyhkZWNvZGVkVHlwZSwgdHJhbnNhY3Rpb25Kc29uKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHNtYXJ0IGNvbnRyYWN0IGVuY29kZWQgZGF0YVxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBhZGRyZXNzZXMgLSB0aGUgY29udHJhY3Qgc2lnbmVyc1xuICAgKiBAcmV0dXJucyB7c3RyaW5nfSAtIHRoZSBzbWFydCBjb250cmFjdCBlbmNvZGVkIGRhdGFcbiAgICovXG4gIHByb3RlY3RlZCBnZXRDb250cmFjdERhdGEoYWRkcmVzc2VzOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gICAgY29uc3QgcGFyYW1zID0gW2FkZHJlc3Nlc107XG4gICAgY29uc3QgcmVzdWx0RW5jb2RlZFBhcmFtZXRlcnMgPSBFdGhlcmV1bUFiaS5yYXdFbmNvZGUod2FsbGV0U2ltcGxlQ29uc3RydWN0b3IsIHBhcmFtcylcbiAgICAgIC50b1N0cmluZygnaGV4JylcbiAgICAgIC5yZXBsYWNlKCcweCcsICcnKTtcbiAgICByZXR1cm4gd2FsbGV0U2ltcGxlQnl0ZUNvZGUgKyByZXN1bHRFbmNvZGVkUGFyYW1ldGVycztcbiAgfVxuXG4gIC8vIHJlZ2lvbiBTdGFrZSBtZXRob2RzXG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHN0YWtpbmcgbG9jayBidWlsZGVyIGlmIGV4aXN0LCBvciBjcmVhdGVzIGEgbmV3IG9uZSBmb3IgdGhpcyB0cmFuc2FjdGlvbiBhbmQgcmV0dXJucyBpdFxuICAgKiByZXF1aXJlczogYW1vdW50XG4gICAqXG4gICAqIEByZXR1cm5zIHtTdGFraW5nQnVpbGRlcn0gdGhlIHN0YWtpbmcgYnVpbGRlclxuICAgKi9cbiAgbG9jaygpOiBTdGFraW5nQnVpbGRlciB7XG4gICAgaWYgKHRoaXMuX3R5cGUgIT09IFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nTG9jaykge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignTG9jayBjYW4gb25seSBiZSBzZXQgZm9yIFN0YWtpbmcgTG9jayB0cmFuc2FjdGlvbnMgdHlwZScpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmdldEJ1aWxkZXIoU3Rha2luZ09wZXJhdGlvblR5cGVzLkxPQ0spO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHN0YWtpbmcgdm90ZSBidWlsZGVyIGlmIGV4aXN0LCBvciBjcmVhdGVzIGEgbmV3IG9uZSBmb3IgdGhpcyB0cmFuc2FjdGlvbiBhbmQgcmV0dXJucyBpdFxuICAgKiByZXF1aXJlczogZ3JvdXAsIGxlc3NlciwgZ3JlYXRlciwgYW1vdW50XG4gICAqXG4gICAqIEByZXR1cm5zIHtTdGFraW5nQnVpbGRlcn0gdGhlIHN0YWtpbmcgYnVpbGRlclxuICAgKi9cbiAgdm90ZSgpOiBTdGFraW5nQnVpbGRlciB7XG4gICAgaWYgKHRoaXMuX3R5cGUgIT09IFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nVm90ZSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignVm90ZXMgY2FuIG9ubHkgYmUgc2V0IGZvciBhIHN0YWtpbmcgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5nZXRCdWlsZGVyKFN0YWtpbmdPcGVyYXRpb25UeXBlcy5WT1RFKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBzdGFraW5nIGFjdGl2YXRlIGJ1aWxkZXIgaWYgZXhpc3QsIG9yIGNyZWF0ZXMgYSBuZXcgb25lIGZvciB0aGlzIHRyYW5zYWN0aW9uIGFuZCByZXR1cm5zIGl0XG4gICAqIHJlcXVpcmVzOiBncm91cFxuICAgKlxuICAgKiBAcmV0dXJucyB7U3Rha2luZ0J1aWxkZXJ9IHRoZSBzdGFraW5nIGJ1aWxkZXJcbiAgICovXG4gIGFjdGl2YXRlKCk6IFN0YWtpbmdCdWlsZGVyIHtcbiAgICBpZiAodGhpcy5fdHlwZSAhPT0gVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdBY3RpdmF0ZSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignQWN0aXZhdGlvbiBjYW4gb25seSBiZSBzZXQgZm9yIGEgc3Rha2luZyB0cmFuc2FjdGlvbicpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmdldEJ1aWxkZXIoU3Rha2luZ09wZXJhdGlvblR5cGVzLkFDVElWQVRFKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBzdGFraW5nIHVubG9jayBidWlsZGVyIGlmIGV4aXN0LCBvciBjcmVhdGVzIGEgbmV3IG9uZSBmb3IgdGhpcyB0cmFuc2FjdGlvbiBhbmQgcmV0dXJucyBpdFxuICAgKiByZXF1aXJlczogYW1vdW50XG4gICAqXG4gICAqIEByZXR1cm5zIHtTdGFraW5nQnVpbGRlcn0gdGhlIHN0YWtpbmcgYnVpbGRlclxuICAgKi9cbiAgdW5sb2NrKCk6IFN0YWtpbmdCdWlsZGVyIHtcbiAgICBpZiAodGhpcy5fdHlwZSAhPT0gVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdVbmxvY2spIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ1VubG9jayBjYW4gb25seSBiZSBzZXQgZm9yIFN0YWtpbmcgVW5sb2NrIHRyYW5zYWN0aW9ucyB0eXBlJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZ2V0QnVpbGRlcihTdGFraW5nT3BlcmF0aW9uVHlwZXMuVU5MT0NLKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBzdGFraW5nIHVudm90ZSBidWlsZGVyIGlmIGV4aXN0LCBvciBjcmVhdGVzIGEgbmV3IG9uZSBmb3IgdGhpcyB0cmFuc2FjdGlvbiBhbmQgcmV0dXJucyBpdFxuICAgKiByZXF1aXJlczogZ3JvdXAsIGxlc3NlciwgZ3JlYXRlciwgYW1vdW50LCBpbmRleFxuICAgKlxuICAgKiBAcmV0dXJucyB7U3Rha2luZ0J1aWxkZXJ9IHRoZSBzdGFraW5nIGJ1aWxkZXJcbiAgICovXG4gIHVudm90ZSgpOiBTdGFraW5nQnVpbGRlciB7XG4gICAgaWYgKHRoaXMuX3R5cGUgIT09IFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nVW52b3RlKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdVbnZvdGUgY2FuIG9ubHkgYmUgc2V0IGZvciBhIHN0YWtpbmcgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5nZXRCdWlsZGVyKFN0YWtpbmdPcGVyYXRpb25UeXBlcy5VTlZPVEUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHN0YWtpbmcgd2l0aGRyYXcgYnVpbGRlciBpZiBleGlzdCwgb3IgY3JlYXRlcyBhIG5ldyBvbmUgZm9yIHRoaXMgdHJhbnNhY3Rpb24gYW5kIHJldHVybnMgaXRcbiAgICogcmVxdWlyZXM6IGluZGV4ICh1bmxvY2sgbGlzdClcbiAgICpcbiAgICogQHJldHVybnMge1N0YWtpbmdCdWlsZGVyfSB0aGUgc3Rha2luZyBidWlsZGVyXG4gICAqL1xuICB3aXRoZHJhdygpOiBTdGFraW5nQnVpbGRlciB7XG4gICAgaWYgKHRoaXMuX3R5cGUgIT09IFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nV2l0aGRyYXcpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ1dpdGhkcmF3IGNhbiBvbmx5IGJlIHNldCBmb3IgYSBzdGFraW5nIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZ2V0QnVpbGRlcihTdGFraW5nT3BlcmF0aW9uVHlwZXMuV0lUSERSQVcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHRyYW5zZmVyKGRhdGE/OiBzdHJpbmcpOiBUcmFuc2ZlckJ1aWxkZXIge1xuICAgIGlmICh0aGlzLl90eXBlICE9PSBUcmFuc2FjdGlvblR5cGUuU2VuZCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignVHJhbnNmZXJzIGNhbiBvbmx5IGJlIHNldCBmb3Igc2VuZCB0cmFuc2FjdGlvbnMnKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLl90cmFuc2Zlcikge1xuICAgICAgdGhpcy5fdHJhbnNmZXIgPSBuZXcgVHJhbnNmZXJCdWlsZGVyKGRhdGEpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fdHJhbnNmZXI7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBhcHByb3ByaWF0ZSBidWlsZGVyIGZvciB0aGUgc2VsZWN0ZWQgdHlwZVxuICAgKlxuICAgKiBAcGFyYW0ge1N0YWtpbmdPcGVyYXRpb25UeXBlc30gdHlwZSB0aGUgc2VsZWN0ZWQgdHlwZSBmb3IgdGhlIHN0YWtpbmcgYnVpbGRlclxuICAgKiBAcmV0dXJucyB7U3Rha2luZ0J1aWxkZXJ9IHRoZSBzdGFraW5nIGJ1aWxkZXIgZm9yIHRoZSBzZWxlY3RlZCB0eXBlXG4gICAqL1xuICBwcml2YXRlIGdldEJ1aWxkZXIodHlwZTogU3Rha2luZ09wZXJhdGlvblR5cGVzKTogU3Rha2luZ0J1aWxkZXIge1xuICAgIGlmICghdGhpcy5fc3Rha2luZ0J1aWxkZXIpIHtcbiAgICAgIHRoaXMuX3N0YWtpbmdCdWlsZGVyID0gbmV3IFN0YWtpbmdCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpLnR5cGUodHlwZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3N0YWtpbmdCdWlsZGVyO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdGFraW5nKCk6IFN0YWtpbmdDYWxsIHtcbiAgICBpZiAoIXRoaXMuX3N0YWtpbmdCdWlsZGVyKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdObyBzdGFraW5nIGluZm9ybWF0aW9uIHNldCcpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fc3Rha2luZ0J1aWxkZXIuYnVpbGQoKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRMb2NrU3Rha2VUcmFuc2FjdGlvbigpOiBUeERhdGEge1xuICAgIGNvbnN0IHN0YWtlID0gdGhpcy5nZXRTdGFraW5nKCk7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMuYnVpbGRCYXNlKHN0YWtlLnNlcmlhbGl6ZSgpKTtcbiAgICBkYXRhLnRvID0gc3Rha2UuYWRkcmVzcztcbiAgICBkYXRhLnZhbHVlID0gc3Rha2UuYW1vdW50O1xuXG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkU3Rha2luZ1RyYW5zYWN0aW9uKCk6IFR4RGF0YSB7XG4gICAgY29uc3Qgc3Rha2UgPSB0aGlzLmdldFN0YWtpbmcoKTtcbiAgICBjb25zdCBkYXRhID0gdGhpcy5idWlsZEJhc2Uoc3Rha2Uuc2VyaWFsaXplKCkpO1xuICAgIGRhdGEudG8gPSBzdGFrZS5hZGRyZXNzO1xuXG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHZhbHVlIHRvIHNlbmQgYWxvbmcgd2l0aCB0aGlzIHRyYW5zYWN0aW9uLiAwIGJ5IGRlZmF1bHRcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlIFRoZSB2YWx1ZSB0byBzZW5kIGFsb25nIHdpdGggdGhpcyB0cmFuc2FjdGlvblxuICAgKi9cbiAgdmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudmFsaWRhdGVQcmVjaXNpb24odmFsdWUsICdWYWx1ZScpO1xuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gIH1cblxuICB2YWxpZGF0ZVByZWNpc2lvbih2YWx1ZTogc3RyaW5nLCBjb250ZXh0Pzogc3RyaW5nKTogdm9pZCB7XG4gICAgY29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0ICsgJyAnIDogJyc7XG4gICAgY29uc3QgdmFsdWVOdW1iZXIgPSBOdW1iZXIodmFsdWUpO1xuICAgIC8vIHRoZSBDZWxvIGxpYnJhcnkgaW50ZXJuYWxseSBjb252ZXJ0cyB0aGUgc3RyaW5nIHZhbHVlIHRvIGEgbnVtYmVyIGFuZCBjb252ZXJ0cyB0byBoZXgsIHdoaWNoIGNhbiByZXN1bHQgaW4gYSBsb3NzIG9mIHByZWNpc2lvbiBmb3IgbnVtYmVycyB3aXRoID49IDE1IHNpZ25pZmljYW50IGRpZ2l0c1xuICAgIGNvbnN0IHZhbHVlQmlnTnVtYmVyID0gbmV3IEJpZ051bWJlcih2YWx1ZU51bWJlci50b1N0cmluZygxNiksIDE2KTtcbiAgICBpZiAoaXNOYU4odmFsdWVOdW1iZXIpKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKGAke2NvbnRleHR9JHt2YWx1ZX0gaXMgbm90IGEgdmFsaWQgbnVtYmVyYCk7XG4gICAgfSBlbHNlIGlmICghdmFsdWVCaWdOdW1iZXIuaXNFcXVhbFRvKHZhbHVlTnVtYmVyKSkge1xuICAgICAgLy8gVE9ETyhCRy02MjcxNCk6IHJlbW92ZSB0aGlzIGNoZWNrIG9uY2UgdGhlIGNlbG8gbGlicmFyeSBpcyBmaXhlZFxuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgICAgYCR7Y29udGV4dH0ke3ZhbHVlfSBjYW5ub3QgYmUgcmVwcmVzZW50ZWQgYnkgYSBKUyBudW1iZXIsIHBsZWFzZSB0cnkgdXNpbmcgZmV3ZXIgc2lnbmlmaWNhbnQgZGlnaXRzLiBXZSBhcmUgd29ya2luZyB0byBzdXBwb3J0IGFsbCB2YWx1ZXMgaW4gdGhlIGZ1dHVyZS5gXG4gICAgICApO1xuICAgIH1cbiAgfVxuICAvLyBlbmRyZWdpb25cbn1cbiJdfQ==
@@ -1,15 +1,5 @@
1
1
  import { NetworkType } from '@bitgo-beta/statics';
2
2
  import EthereumCommon from '@ethereumjs/common';
3
- import { LegacyTxData } from '@bitgo-beta/sdk-coin-eth';
4
- /**
5
- * Celo transaction deserialization based on code
6
- * from @celo/contractkit/lib/utils/signing-utils
7
- * github: https://github.com/celo-org/celo-monorepo/tree/master/packages/contractkit
8
- *
9
- * @param {string} serializedTx the serialized transaction
10
- * @returns {LegacyTxData} the deserialized transaction
11
- */
12
- export declare function deserialize(serializedTx: string): LegacyTxData;
13
3
  /**
14
4
  * @param network
15
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAIhD,OAAO,EAAsB,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAI5E;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,CAkC9D;AAOD;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAM9D;AASD,eAAO,MAAM,oBAAoB,6rVAC2pV,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAShD;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAM9D;AASD,eAAO,MAAM,oBAAoB,6rVAC2pV,CAAC"}
@@ -1,78 +1,10 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
2
  Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.walletSimpleByteCode = exports.getCommon = exports.deserialize = void 0;
3
+ exports.walletSimpleByteCode = void 0;
4
+ exports.getCommon = getCommon;
26
5
  const statics_1 = require("@bitgo-beta/statics");
27
- const wallet_base_1 = require("@celo/wallet-base");
28
- const ethers = __importStar(require("ethers"));
29
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
30
- const sdk_coin_eth_1 = require("@bitgo-beta/sdk-coin-eth");
31
6
  const sdk_core_1 = require("@bitgo-beta/sdk-core");
32
7
  const resources_1 = require("./resources");
33
- /**
34
- * Celo transaction deserialization based on code
35
- * from @celo/contractkit/lib/utils/signing-utils
36
- * github: https://github.com/celo-org/celo-monorepo/tree/master/packages/contractkit
37
- *
38
- * @param {string} serializedTx the serialized transaction
39
- * @returns {LegacyTxData} the deserialized transaction
40
- */
41
- function deserialize(serializedTx) {
42
- try {
43
- const decodedTx = ethers.utils.RLP.decode(serializedTx);
44
- decodedTx.splice(3, 3); // remove unused feeCurrency, gatewayFeeRecipient and gatewayFee
45
- const [nonce, gasPrice, gasLimit, to, value, data, v, r, s] = decodedTx;
46
- let chainId = v;
47
- let from;
48
- if (r !== '0x' && s !== '0x') {
49
- const [tx, sender] = wallet_base_1.recoverTransaction(serializedTx);
50
- from = sender;
51
- chainId = tx.chainId;
52
- }
53
- const celoTx = {
54
- _type: sdk_coin_eth_1.ETHTransactionType.LEGACY,
55
- nonce: nonce.toLowerCase() === '0x' ? 0 : parseInt(nonce, 16),
56
- gasPrice: gasPrice.toLowerCase() === '0x' ? '0' : new bignumber_js_1.default(gasPrice, 16).toString(),
57
- gasLimit: gasLimit.toLowerCase() === '0x' ? '0' : new bignumber_js_1.default(gasLimit, 16).toString(),
58
- value: value.toLowerCase() === '0x' ? '0' : new bignumber_js_1.default(value, 16).toString(),
59
- data,
60
- chainId,
61
- from,
62
- v,
63
- r,
64
- s,
65
- };
66
- if (to !== '0x') {
67
- celoTx.to = to;
68
- }
69
- return celoTx;
70
- }
71
- catch {
72
- throw new sdk_core_1.ParseTransactionError('Invalid serialized transaction');
73
- }
74
- }
75
- exports.deserialize = deserialize;
76
8
  const commons = new Map([
77
9
  [statics_1.NetworkType.MAINNET, resources_1.mainnetCommon],
78
10
  [statics_1.NetworkType.TESTNET, resources_1.testnetCommon],
@@ -87,7 +19,6 @@ function getCommon(network) {
87
19
  }
88
20
  return common;
89
21
  }
90
- exports.getCommon = getCommon;
91
22
  /*
92
23
  Steps to reproduce:
93
24
  Checkout https://github.com/bitgo/eth-multisig-v2
@@ -96,4 +27,4 @@ exports.getCommon = getCommon;
96
27
  cat CeloWalletSimple.bin
97
28
  */
98
29
  exports.walletSimpleByteCode = '0x60606040526000600160006101000a81548160ff021916908315150217905550341561002a57600080fd5b60405161155b38038061155b833981016040528080518201919050506003815114151561005657600080fd5b806000908051906020019061006c929190610073565b5050610140565b8280548282559060005260206000209081019282156100ec579160200282015b828111156100eb5782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190610093565b5b5090506100f991906100fd565b5090565b61013d91905b8082111561013957600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600101610103565b5090565b90565b61140c8061014f6000396000f300606060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630dcd7a6c146101335780632079fb9a146101e95780632da034091461024c57806339125215146102a45780637df73e271461037e578063a0b7967b146103cf578063a68a76cc146103f8578063abe3219c1461044d578063fc0f392d1461047a575b6000341115610131577f6e89d517057028190560dd200cf6bf792842861353d1173761dfa362e1c133f03334600036604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001828103825284848281815260200192508082843782019150509550505050505060405180910390a15b005b341561013e57600080fd5b6101e7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061048f565b005b34156101f457600080fd5b61020a6004808035906020019091905050610668565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561025757600080fd5b6102a2600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506106a7565b005b34156102af57600080fd5b61037c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610773565b005b341561038957600080fd5b6103b5600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a72565b604051808215151515815260200191505060405180910390f35b34156103da57600080fd5b6103e2610b16565b6040518082815260200191505060405180910390f35b341561040357600080fd5b61040b610b70565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561045857600080fd5b610460610b95565b604051808215151515815260200191505060405180910390f35b341561048557600080fd5b61048d610ba8565b005b60008061049b33610a72565b15156104a657600080fd5b878787878760405180807f43454c4f2d455243323000000000000000000000000000000000000000000000815250600a018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140183815260200182815260200195505050505050604051809103902091506105898883858888610c3b565b508590508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb89896000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561063857600080fd5b6102c65a03f1151561064957600080fd5b50505060405180519050151561065e57600080fd5b5050505050505050565b60008181548110151561067757fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006106b233610a72565b15156106bd57600080fd5b8290508073ffffffffffffffffffffffffffffffffffffffff16633ef13367836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b151561075a57600080fd5b6102c65a03f1151561076b57600080fd5b505050505050565b60008061077f33610a72565b151561078a57600080fd5b878787878760405180807f43454c4f000000000000000000000000000000000000000000000000000000008152506004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140185815260200184805190602001908083835b602083101515610833578051825260208201915060208101905060208303925061080e565b6001836020036101000a038019825116818451168082178552505050505050905001838152602001828152602001955050505050506040518091039020915061087f8883858888610c3b565b90508773ffffffffffffffffffffffffffffffffffffffff16878760405180828051906020019080838360005b838110156108c75780820151818401526020810190506108ac565b50505050905090810190601f1680156108f45780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f192505050151561091857600080fd5b7f59bed9ab5d78073465dd642a9e3e76dfdb7d53bcae9d09df7d0b8f5234d5a8063382848b8b8b604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185600019166000191681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610a29578082015181840152602081019050610a0e565b50505050905090810190601f168015610a565780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a15050505050505050565b600080600090505b600080549050811015610b0b578273ffffffffffffffffffffffffffffffffffffffff16600082815481101515610aad57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610afe5760019150610b10565b8080600101915050610a7a565b600091505b50919050565b6000806000809150600090505b600a811015610b655781600282600a81101515610b3c57fe5b01541115610b5857600281600a81101515610b5357fe5b015491505b8080600101915050610b23565b600182019250505090565b6000610b7a610e90565b604051809103906000f0801515610b9057600080fd5b905090565b600160009054906101000a900460ff1681565b610bb133610a72565b1515610bbc57600080fd5b60018060006101000a81548160ff0219169083151502179055507f0909e8f76a4fd3e970f2eaef56c0ee6dfaf8b87c5b8d3f56ffce78e825a9115733604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b600080610c488686610ce6565b9050600160009054906101000a900460ff168015610c6c5750610c6a87610a72565b155b15610c7657600080fd5b42841015610c8357600080fd5b610c8c83610db9565b610c9581610a72565b1515610ca057600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610cd957600080fd5b8091505095945050505050565b60008060008060418551141515610cfc57600080fd5b602085015192506040850151915060ff6041860151169050601b8160ff161015610d2757601b810190505b600186828585604051600081526020016040526000604051602001526040518085600019166000191681526020018460ff1660ff16815260200183600019166000191681526020018260001916600019168152602001945050505050602060405160208103908084039060008661646e5a03f11515610da557600080fd5b505060206040510351935050505092915050565b600080610dc533610a72565b1515610dd057600080fd5b60009150600090505b600a811015610e385782600282600a81101515610df257fe5b01541415610dff57600080fd5b600282600a81101515610e0e57fe5b0154600282600a81101515610e1f57fe5b01541015610e2b578091505b8080600101915050610dd9565b600282600a81101515610e4757fe5b0154831015610e5557600080fd5b612710600283600a81101515610e6757fe5b015401831115610e7657600080fd5b82600283600a81101515610e8657fe5b0181905550505050565b60405161054080610ea18339019056006060604052341561000f57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506104e28061005e6000396000f300606060405260043610610056576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062821de3146101475780633ef133671461019c5780636b9f96ea146101d5575b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f1935050505015156100b757600080fd5b7f69b31548dea9b3b707b4dff357d326e3e9348b24e7a6080a218a6edeeec48f9b3334600036604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001828103825284848281815260200192508082843782019150509550505050505060405180910390a1005b341561015257600080fd5b61015a6101ea565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101a757600080fd5b6101d3600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061020f565b005b34156101e057600080fd5b6101e861043c565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561026f57600080fd5b8392503091508273ffffffffffffffffffffffffffffffffffffffff166370a08231836000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561031857600080fd5b6102c65a03f1151561032957600080fd5b505050604051805190509050600081141561034357610436565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561040f57600080fd5b6102c65a03f1151561042057600080fd5b50505060405180519050151561043557600080fd5b5b50505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f1935050505015156104b457600080fd5b5600a165627a7a7230582042193b8fa36bb211143819a525fe07f597a57ac51bda735499ecebe2eda648870029a165627a7a7230582011b3e786820bbf974fbf8802c6bfd0fb44ab2ec30ed9018b91aad7503cd214aa0029';
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpREFBa0Q7QUFFbEQsbURBQXVEO0FBQ3ZELCtDQUFpQztBQUNqQyxnRUFBcUM7QUFDckMsMkRBQTRFO0FBQzVFLG1EQUFzRjtBQUN0RiwyQ0FBMkQ7QUFFM0Q7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLFdBQVcsQ0FBQyxZQUFvQjtJQUM5QyxJQUFJO1FBQ0YsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hELFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0VBQWdFO1FBQ3hGLE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQztRQUN4RSxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxJQUFJLENBQUM7UUFDVCxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRTtZQUM1QixNQUFNLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxHQUFHLGdDQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3RELElBQUksR0FBRyxNQUFNLENBQUM7WUFDZCxPQUFPLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQztTQUN0QjtRQUNELE1BQU0sTUFBTSxHQUFpQjtZQUMzQixLQUFLLEVBQUUsaUNBQWtCLENBQUMsTUFBTTtZQUNoQyxLQUFLLEVBQUUsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUM3RCxRQUFRLEVBQUUsUUFBUSxDQUFDLFdBQVcsRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLHNCQUFTLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtZQUN4RixRQUFRLEVBQUUsUUFBUSxDQUFDLFdBQVcsRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLHNCQUFTLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtZQUN4RixLQUFLLEVBQUUsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLHNCQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtZQUMvRSxJQUFJO1lBQ0osT0FBTztZQUNQLElBQUk7WUFDSixDQUFDO1lBQ0QsQ0FBQztZQUNELENBQUM7U0FDRixDQUFDO1FBRUYsSUFBSSxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ2YsTUFBTSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7U0FDaEI7UUFFRCxPQUFPLE1BQU0sQ0FBQztLQUNmO0lBQUMsTUFBTTtRQUNOLE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0tBQ25FO0FBQ0gsQ0FBQztBQWxDRCxrQ0FrQ0M7QUFFRCxNQUFNLE9BQU8sR0FBcUMsSUFBSSxHQUFHLENBQThCO0lBQ3JGLENBQUMscUJBQVcsQ0FBQyxPQUFPLEVBQUUseUJBQWEsQ0FBQztJQUNwQyxDQUFDLHFCQUFXLENBQUMsT0FBTyxFQUFFLHlCQUFhLENBQUM7Q0FDckMsQ0FBQyxDQUFDO0FBRUg7O0dBRUc7QUFDSCxTQUFnQixTQUFTLENBQUMsT0FBb0I7SUFDNUMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwQyxJQUFJLENBQUMsTUFBTSxFQUFFO1FBQ1gsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHNDQUFzQyxDQUFDLENBQUM7S0FDM0U7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBTkQsOEJBTUM7QUFFRDs7Ozs7O0VBTUU7QUFDVyxRQUFBLG9CQUFvQixHQUMvQiwwclZBQTByVixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmV0d29ya1R5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCBFdGhlcmV1bUNvbW1vbiBmcm9tICdAZXRoZXJldW1qcy9jb21tb24nO1xuaW1wb3J0IHsgcmVjb3ZlclRyYW5zYWN0aW9uIH0gZnJvbSAnQGNlbG8vd2FsbGV0LWJhc2UnO1xuaW1wb3J0ICogYXMgZXRoZXJzIGZyb20gJ2V0aGVycyc7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgeyBFVEhUcmFuc2FjdGlvblR5cGUsIExlZ2FjeVR4RGF0YSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWV0aCc7XG5pbXBvcnQgeyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciwgUGFyc2VUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgbWFpbm5ldENvbW1vbiwgdGVzdG5ldENvbW1vbiB9IGZyb20gJy4vcmVzb3VyY2VzJztcblxuLyoqXG4gKiBDZWxvIHRyYW5zYWN0aW9uIGRlc2VyaWFsaXphdGlvbiBiYXNlZCBvbiBjb2RlXG4gKiBmcm9tIEBjZWxvL2NvbnRyYWN0a2l0L2xpYi91dGlscy9zaWduaW5nLXV0aWxzXG4gKiBnaXRodWI6IGh0dHBzOi8vZ2l0aHViLmNvbS9jZWxvLW9yZy9jZWxvLW1vbm9yZXBvL3RyZWUvbWFzdGVyL3BhY2thZ2VzL2NvbnRyYWN0a2l0XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHNlcmlhbGl6ZWRUeCB0aGUgc2VyaWFsaXplZCB0cmFuc2FjdGlvblxuICogQHJldHVybnMge0xlZ2FjeVR4RGF0YX0gdGhlIGRlc2VyaWFsaXplZCB0cmFuc2FjdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVzZXJpYWxpemUoc2VyaWFsaXplZFR4OiBzdHJpbmcpOiBMZWdhY3lUeERhdGEge1xuICB0cnkge1xuICAgIGNvbnN0IGRlY29kZWRUeCA9IGV0aGVycy51dGlscy5STFAuZGVjb2RlKHNlcmlhbGl6ZWRUeCk7XG4gICAgZGVjb2RlZFR4LnNwbGljZSgzLCAzKTsgLy8gcmVtb3ZlIHVudXNlZCBmZWVDdXJyZW5jeSwgZ2F0ZXdheUZlZVJlY2lwaWVudCBhbmQgZ2F0ZXdheUZlZVxuICAgIGNvbnN0IFtub25jZSwgZ2FzUHJpY2UsIGdhc0xpbWl0LCB0bywgdmFsdWUsIGRhdGEsIHYsIHIsIHNdID0gZGVjb2RlZFR4O1xuICAgIGxldCBjaGFpbklkID0gdjtcbiAgICBsZXQgZnJvbTtcbiAgICBpZiAociAhPT0gJzB4JyAmJiBzICE9PSAnMHgnKSB7XG4gICAgICBjb25zdCBbdHgsIHNlbmRlcl0gPSByZWNvdmVyVHJhbnNhY3Rpb24oc2VyaWFsaXplZFR4KTtcbiAgICAgIGZyb20gPSBzZW5kZXI7XG4gICAgICBjaGFpbklkID0gdHguY2hhaW5JZDtcbiAgICB9XG4gICAgY29uc3QgY2Vsb1R4OiBMZWdhY3lUeERhdGEgPSB7XG4gICAgICBfdHlwZTogRVRIVHJhbnNhY3Rpb25UeXBlLkxFR0FDWSxcbiAgICAgIG5vbmNlOiBub25jZS50b0xvd2VyQ2FzZSgpID09PSAnMHgnID8gMCA6IHBhcnNlSW50KG5vbmNlLCAxNiksXG4gICAgICBnYXNQcmljZTogZ2FzUHJpY2UudG9Mb3dlckNhc2UoKSA9PT0gJzB4JyA/ICcwJyA6IG5ldyBCaWdOdW1iZXIoZ2FzUHJpY2UsIDE2KS50b1N0cmluZygpLFxuICAgICAgZ2FzTGltaXQ6IGdhc0xpbWl0LnRvTG93ZXJDYXNlKCkgPT09ICcweCcgPyAnMCcgOiBuZXcgQmlnTnVtYmVyKGdhc0xpbWl0LCAxNikudG9TdHJpbmcoKSxcbiAgICAgIHZhbHVlOiB2YWx1ZS50b0xvd2VyQ2FzZSgpID09PSAnMHgnID8gJzAnIDogbmV3IEJpZ051bWJlcih2YWx1ZSwgMTYpLnRvU3RyaW5nKCksXG4gICAgICBkYXRhLFxuICAgICAgY2hhaW5JZCxcbiAgICAgIGZyb20sXG4gICAgICB2LFxuICAgICAgcixcbiAgICAgIHMsXG4gICAgfTtcblxuICAgIGlmICh0byAhPT0gJzB4Jykge1xuICAgICAgY2Vsb1R4LnRvID0gdG87XG4gICAgfVxuXG4gICAgcmV0dXJuIGNlbG9UeDtcbiAgfSBjYXRjaCB7XG4gICAgdGhyb3cgbmV3IFBhcnNlVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBzZXJpYWxpemVkIHRyYW5zYWN0aW9uJyk7XG4gIH1cbn1cblxuY29uc3QgY29tbW9uczogTWFwPE5ldHdvcmtUeXBlLCBFdGhlcmV1bUNvbW1vbj4gPSBuZXcgTWFwPE5ldHdvcmtUeXBlLCBFdGhlcmV1bUNvbW1vbj4oW1xuICBbTmV0d29ya1R5cGUuTUFJTk5FVCwgbWFpbm5ldENvbW1vbl0sXG4gIFtOZXR3b3JrVHlwZS5URVNUTkVULCB0ZXN0bmV0Q29tbW9uXSxcbl0pO1xuXG4vKipcbiAqIEBwYXJhbSBuZXR3b3JrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb21tb24obmV0d29yazogTmV0d29ya1R5cGUpOiBFdGhlcmV1bUNvbW1vbiB7XG4gIGNvbnN0IGNvbW1vbiA9IGNvbW1vbnMuZ2V0KG5ldHdvcmspO1xuICBpZiAoIWNvbW1vbikge1xuICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignTWlzc2luZyBuZXR3b3JrIGNvbW1vbiBjb25maWd1cmF0aW9uJyk7XG4gIH1cbiAgcmV0dXJuIGNvbW1vbjtcbn1cblxuLypcbiAgU3RlcHMgdG8gcmVwcm9kdWNlOlxuICBDaGVja291dCBodHRwczovL2dpdGh1Yi5jb20vYml0Z28vZXRoLW11bHRpc2lnLXYyXG4gIG5wbSBpbnN0YWxsIC1nIHNvbGNAMC40LjE4XG4gIHNvbGNqcyAtLWJpbiAuL2NvbnRyYWN0cy9jb2lucy9DZWxvV2FsbGV0U2ltcGxlLnNvbCAuL2NvbnRyYWN0cy9Gb3J3YXJkZXIuc29sIC4vY29udHJhY3RzL0VSQzIwSW50ZXJmYWNlLnNvbFxuICBjYXQgQ2Vsb1dhbGxldFNpbXBsZS5iaW5cbiovXG5leHBvcnQgY29uc3Qgd2FsbGV0U2ltcGxlQnl0ZUNvZGUgPVxuICAnMHg2MDYwNjA0MDUyNjAwMDYwMDE2MDAwNjEwMTAwMGE4MTU0ODE2MGZmMDIxOTE2OTA4MzE1MTUwMjE3OTA1NTUwMzQxNTYxMDAyYTU3NjAwMDgwZmQ1YjYwNDA1MTYxMTU1YjM4MDM4MDYxMTU1YjgzMzk4MTAxNjA0MDUyODA4MDUxODIwMTkxOTA1MDUwNjAwMzgxNTExNDE1MTU2MTAwNTY1NzYwMDA4MGZkNWI4MDYwMDA5MDgwNTE5MDYwMjAwMTkwNjEwMDZjOTI5MTkwNjEwMDczNTY1YjUwNTA2MTAxNDA1NjViODI4MDU0ODI4MjU1OTA2MDAwNTI2MDIwNjAwMDIwOTA4MTAxOTI4MjE1NjEwMGVjNTc5MTYwMjAwMjgyMDE1YjgyODExMTE1NjEwMGViNTc4MjUxODI2MDAwNjEwMTAwMGE4MTU0ODE3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYwMjE5MTY5MDgzNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTYwMjE3OTA1NTUwOTE2MDIwMDE5MTkwNjAwMTAxOTA2MTAwOTM1NjViNWI1MDkwNTA2MTAwZjk5MTkwNjEwMGZkNTY1YjUwOTA1NjViNjEwMTNkOTE5MDViODA4MjExMTU2MTAxMzk1NzYwMDA4MTgxNjEwMTAwMGE4MTU0OTA3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYwMjE5MTY5MDU1NTA2MDAxMDE2MTAxMDM1NjViNTA5MDU2NWI5MDU2NWI2MTE0MGM4MDYxMDE0ZjYwMDAzOTYwMDBmMzAwNjA2MDYwNDA1MjYwMDQzNjEwNjEwMDk5NTc2MDAwMzU3YzAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MDA0NjNmZmZmZmZmZjE2ODA2MzBkY2Q3YTZjMTQ2MTAxMzM1NzgwNjMyMDc5ZmI5YTE0NjEwMWU5NTc4MDYzMmRhMDM0MDkxNDYxMDI0YzU3ODA2MzM5MTI1MjE1MTQ2MTAyYTQ1NzgwNjM3ZGY3M2UyNzE0NjEwMzdlNTc4MDYzYTBiNzk2N2IxNDYxMDNjZjU3ODA2M2E2OGE3NmNjMTQ2MTAzZjg1NzgwNjNhYmUzMjE5YzE0NjEwNDRkNTc4MDYzZmMwZjM5MmQxNDYxMDQ3YTU3NWI2MDAwMzQxMTE1NjEwMTMxNTc3ZjZlODlkNTE3MDU3MDI4MTkwNTYwZGQyMDBjZjZiZjc5Mjg0Mjg2MTM1M2QxMTczNzYxZGZhMzYyZTFjMTMzZjAzMzM0NjAwMDM2NjA0MDUxODA4NTczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY4MTUyNjAyMDAxODQ4MTUyNjAyMDAxODA2MDIwMDE4MjgxMDM4MjUyODQ4NDgyODE4MTUyNjAyMDAxOTI1MDgwODI4NDM3ODIwMTkxNTA1MDk1NTA1MDUwNTA1MDUwNjA0MDUxODA5MTAzOTBhMTViMDA1YjM0MTU2MTAxM2U1NzYwMDA4MGZkNWI2MTAxZTc2MDA0ODA4MDM1NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY5MDYwMjAwMTkwOTE5MDgwMzU5MDYwMjAwMTkwOTE5MDgwMzU3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjkwNjAyMDAxOTA5MTkwODAzNTkwNjAyMDAxOTA5MTkwODAzNTkwNjAyMDAxOTA5MTkwODAzNTkwNjAyMDAxOTA4MjAxODAzNTkwNjAyMDAxOTA4MDgwNjAxZjAxNjAyMDgwOTEwNDAyNjAyMDAxNjA0MDUxOTA4MTAxNjA0MDUyODA5MzkyOTE5MDgxODE1MjYwMjAwMTgzODM4MDgyODQzNzgyMDE5MTUwNTA1MDUwNTA1MDkxOTA1MDUwNjEwNDhmNTY1YjAwNWIzNDE1NjEwMWY0NTc2MDAwODBmZDViNjEwMjBhNjAwNDgwODAzNTkwNjAyMDAxOTA5MTkwNTA1MDYxMDY2ODU2NWI2MDQwNTE4MDgyNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjgxNTI2MDIwMDE5MTUwNTA2MDQwNTE4MDkxMDM5MGYzNWIzNDE1NjEwMjU3NTc2MDAwODBmZDViNjEwMmEyNjAwNDgwODAzNTczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2OTA2MDIwMDE5MDkxOTA4MDM1NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY5MDYwMjAwMTkwOTE5MDUwNTA2MTA2YTc1NjViMDA1YjM0MTU2MTAyYWY1NzYwMDA4MGZkNWI2MTAzN2M2MDA0ODA4MDM1NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY5MDYwMjAwMTkwOTE5MDgwMzU5MDYwMjAwMTkwOTE5MDgwMzU5MDYwMjAwMTkwODIwMTgwMzU5MDYwMjAwMTkwODA4MDYwMWYwMTYwMjA4MDkxMDQwMjYwMjAwMTYwNDA1MTkwODEwMTYwNDA1MjgwOTM5MjkxOTA4MTgxNTI2MDIwMDE4MzgzODA4Mjg0Mzc4MjAxOTE1MDUwNTA1MDUwNTA5MTkwODAzNTkwNjAyMDAxOTA5MTkwODAzNTkwNjAyMDAxOTA5MTkwODAzNTkwNjAyMDAxOTA4MjAxODAzNTkwNjAyMDAxOTA4MDgwNjAxZjAxNjAyMDgwOTEwNDAyNjAyMDAxNjA0MDUxOTA4MTAxNjA0MDUyODA5MzkyOTE5MDgxODE1MjYwMjAwMTgzODM4MDgyODQzNzgyMDE5MTUwNTA1MDUwNTA1MDkxOTA1MDUwNjEwNzczNTY1YjAwNWIzNDE1NjEwMzg5NTc2MDAwODBmZDViNjEwM2I1NjAwNDgwODAzNTczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2OTA2MDIwMDE5MDkxOTA1MDUwNjEwYTcyNTY1YjYwNDA1MTgwODIxNTE1MTUxNTgxNTI2MDIwMDE5MTUwNTA2MDQwNTE4MDkxMDM5MGYzNWIzNDE1NjEwM2RhNTc2MDAwODBmZDViNjEwM2UyNjEwYjE2NTY1YjYwNDA1MTgwODI4MTUyNjAyMDAxOTE1MDUwNjA0MDUxODA5MTAzOTBmMzViMzQxNTYxMDQwMzU3NjAwMDgwZmQ1YjYxMDQwYjYxMGI3MDU2NWI2MDQwNTE4MDgyNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjgxNTI2MDIwMDE5MTUwNTA2MDQwNTE4MDkxMDM5MGYzNWIzNDE1NjEwNDU4NTc2MDAwODBmZDViNjEwNDYwNjEwYjk1NTY1YjYwNDA1MTgwODIxNTE1MTUxNTgxNTI2MDIwMDE5MTUwNTA2MDQwNTE4MDkxMDM5MGYzNWIzNDE1NjEwNDg1NTc2MDAwODBmZDViNjEwNDhkNjEwYmE4NTY1YjAwNWI2MDAwODA2MTA0OWIzMzYxMGE3MjU2NWIxNTE1NjEwNGE2NTc2MDAwODBmZDViODc4Nzg3ODc4NzYwNDA1MTgwODA3ZjQzNDU0YzRmMmQ0NTUyNDMzMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MTUyNTA2MDBhMDE4NjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY2YzAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI4MTUyNjAxNDAxODU4MTUyNjAyMDAxODQ3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NmMwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyODE1MjYwMTQwMTgzODE1MjYwMjAwMTgyODE1MjYwMjAwMTk1NTA1MDUwNTA1MDUwNjA0MDUxODA5MTAzOTAyMDkxNTA2MTA1ODk4ODgzODU4ODg4NjEwYzNiNTY1YjUwODU5MDUwODA3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjYzYTkwNTljYmI4OTg5NjAwMDYwNDA1MTYwMjAwMTUyNjA0MDUxODM2M2ZmZmZmZmZmMTY3YzAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjgxNTI2MDA0MDE4MDgzNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjgxNTI2MDIwMDE4MjgxNTI2MDIwMDE5MjUwNTA1MDYwMjA2MDQwNTE4MDgzMDM4MTYwMDA4NzgwM2IxNTE1NjEwNjM4NTc2MDAwODBmZDViNjEwMmM2NWEwM2YxMTUxNTYxMDY0OTU3NjAwMDgwZmQ1YjUwNTA1MDYwNDA1MTgwNTE5MDUwMTUxNTYxMDY1ZTU3NjAwMDgwZmQ1YjUwNTA1MDUwNTA1MDUwNTA1NjViNjAwMDgxODE1NDgxMTAxNTE1NjEwNjc3NTdmZTViOTA2MDAwNTI2MDIwNjAwMDIwOTAwMTYwMDA5MTUwNTQ5MDYxMDEwMDBhOTAwNDczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2ODE1NjViNjAwMDYxMDZiMjMzNjEwYTcyNTY1YjE1MTU2MTA2YmQ1NzYwMDA4MGZkNWI4MjkwNTA4MDczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NjMzZWYxMzM2NzgzNjA0MDUxODI2M2ZmZmZmZmZmMTY3YzAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjgxNTI2MDA0MDE4MDgyNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjgxNTI2MDIwMDE5MTUwNTA2MDAwNjA0MDUxODA4MzAzODE2MDAwODc4MDNiMTUxNTYxMDc1YTU3NjAwMDgwZmQ1YjYxMDJjNjVhMDNmMTE1MTU2MTA3NmI1NzYwMDA4MGZkNWI1MDUwNTA1MDUwNTA1NjViNjAwMDgwNjEwNzdmMzM2MTBhNzI1NjViMTUxNTYxMDc4YTU3NjAwMDgwZmQ1Yjg3ODc4Nzg3ODc2MDQwNTE4MDgwN2Y0MzQ1NGM0ZjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODE1MjUwNjAwNDAxODY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NmMwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyODE1MjYwMTQwMTg1ODE1MjYwMjAwMTg0ODA1MTkwNjAyMDAxOTA4MDgzODM1YjYwMjA4MzEwMTUxNTYxMDgzMzU3ODA1MTgyNTI2MDIwODIwMTkxNTA2MDIwODEwMTkwNTA2MDIwODMwMzkyNTA2MTA4MGU1NjViNjAwMTgzNjAyMDAzNjEwMTAwMGEwMzgwMTk4MjUxMTY4MTg0NTExNjgwODIxNzg1NTI1MDUwNTA1MDUwNTA5MDUwMDE4MzgxNTI2MDIwMDE4MjgxNTI2MDIwMDE5NTUwNTA1MDUwNTA1MDYwNDA1MTgwOTEwMzkwMjA5MTUwNjEwODdmODg4Mzg1ODg4ODYxMGMzYjU2NWI5MDUwODc3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjg3ODc2MDQwNTE4MDgyODA1MTkwNjAyMDAxOTA4MDgzODM2MDAwNWI4MzgxMTAxNTYxMDhjNzU3ODA4MjAxNTE4MTg0MDE1MjYwMjA4MTAxOTA1MDYxMDhhYzU2NWI1MDUwNTA1MDkwNTA5MDgxMDE5MDYwMWYxNjgwMTU2MTA4ZjQ1NzgwODIwMzgwNTE2MDAxODM2MDIwMDM2MTAxMDAwYTAzMTkxNjgxNTI2MDIwMDE5MTUwNWI1MDkxNTA1MDYwMDA2MDQwNTE4MDgzMDM4MTg1ODc2MTg3OTY1YTAzZjE5MjUwNTA1MDE1MTU2MTA5MTg1NzYwMDA4MGZkNWI3ZjU5YmVkOWFiNWQ3ODA3MzQ2NWRkNjQyYTllM2U3NmRmZGI3ZDUzYmNhZTlkMDlkZjdkMGI4ZjUyMzRkNWE4MDYzMzgyODQ4YjhiOGI2MDQwNTE4MDg3NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjgxNTI2MDIwMDE4NjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY4MTUyNjAyMDAxODU2MDAwMTkxNjYwMDAxOTE2ODE1MjYwMjAwMTg0NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjgxNTI2MDIwMDE4MzgxNTI2MDIwMDE4MDYwMjAwMTgyODEwMzgyNTI4MzgxODE1MTgxNTI2MDIwMDE5MTUwODA1MTkwNjAyMDAxOTA4MDgzODM2MDAwNWI4MzgxMTAxNTYxMGEyOTU3ODA4MjAxNTE4MTg0MDE1MjYwMjA4MTAxOTA1MDYxMGEwZTU2NWI1MDUwNTA1MDkwNTA5MDgxMDE5MDYwMWYxNjgwMTU2MTBhNTY1NzgwODIwMzgwNTE2MDAxODM2MDIwMDM2MTAxMDAwYTAzMTkxNjgxNTI2MDIwMDE5MTUwNWI1MDk3NTA1MDUwNTA1MDUwNTA1MDYwNDA1MTgwOTEwMzkwYTE1MDUwNTA1MDUwNTA1MDUwNTY1YjYwMDA4MDYwMDA5MDUwNWI2MDAwODA1NDkwNTA4MTEwMTU2MTBiMGI1NzgyNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY2MDAwODI4MTU0ODExMDE1MTU2MTBhYWQ1N2ZlNWI5MDYwMDA1MjYwMjA2MDAwMjA5MDAxNjAwMDkwNTQ5MDYxMDEwMDBhOTAwNDczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTYxNDE1NjEwYWZlNTc2MDAxOTE1MDYxMGIxMDU2NWI4MDgwNjAwMTAxOTE1MDUwNjEwYTdhNTY1YjYwMDA5MTUwNWI1MDkxOTA1MDU2NWI2MDAwODA2MDAwODA5MTUwNjAwMDkwNTA1YjYwMGE4MTEwMTU2MTBiNjU1NzgxNjAwMjgyNjAwYTgxMTAxNTE1NjEwYjNjNTdmZTViMDE1NDExMTU2MTBiNTg1NzYwMDI4MTYwMGE4MTEwMTUxNTYxMGI1MzU3ZmU1YjAxNTQ5MTUwNWI4MDgwNjAwMTAxOTE1MDUwNjEwYjIzNTY1YjYwMDE4MjAxOTI1MDUwNTA5MDU2NWI2MDAwNjEwYjdhNjEwZTkwNTY1YjYwNDA1MTgwOTEwMzkwNjAwMGYwODAxNTE1NjEwYjkwNTc2MDAwODBmZDViOTA1MDkwNTY1YjYwMDE2MDAwOTA1NDkwNjEwMTAwMGE5MDA0NjBmZjE2ODE1NjViNjEwYmIxMzM2MTBhNzI1NjViMTUxNTYxMGJiYzU3NjAwMDgwZmQ1YjYwMDE4MDYwMDA2MTAxMDAwYTgxNTQ4MTYwZmYwMjE5MTY5MDgzMTUxNTAyMTc5MDU1NTA3ZjA5MDllOGY3NmE0ZmQzZTk3MGYyZWFlZjU2YzBlZTZkZmFmOGI4N2M1YjhkM2Y1NmZmY2U3OGU4MjVhOTExNTczMzYwNDA1MTgwODI3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2ODE1MjYwMjAwMTkxNTA1MDYwNDA1MTgwOTEwMzkwYTE1NjViNjAwMDgwNjEwYzQ4ODY4NjYxMGNlNjU2NWI5MDUwNjAwMTYwMDA5MDU0OTA2MTAxMDAwYTkwMDQ2MGZmMTY4MDE1NjEwYzZjNTc1MDYxMGM2YTg3NjEwYTcyNTY1YjE1NWIxNTYxMGM3NjU3NjAwMDgwZmQ1YjQyODQxMDE1NjEwYzgzNTc2MDAwODBmZDViNjEwYzhjODM2MTBkYjk1NjViNjEwYzk1ODE2MTBhNzI1NjViMTUxNTYxMGNhMDU3NjAwMDgwZmQ1YjMzNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY4MTczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2MTQxNTYxMGNkOTU3NjAwMDgwZmQ1YjgwOTE1MDUwOTU5NDUwNTA1MDUwNTA1NjViNjAwMDgwNjAwMDgwNjA0MTg1NTExNDE1MTU2MTBjZmM1NzYwMDA4MGZkNWI2MDIwODUwMTUxOTI1MDYwNDA4NTAxNTE5MTUwNjBmZjYwNDE4NjAxNTExNjkwNTA2MDFiODE2MGZmMTYxMDE1NjEwZDI3NTc2MDFiODEwMTkwNTA1YjYwMDE4NjgyODU4NTYwNDA1MTYwMDA4MTUyNjAyMDAxNjA0MDUyNjAwMDYwNDA1MTYwMjAwMTUyNjA0MDUxODA4NTYwMDAxOTE2NjAwMDE5MTY4MTUyNjAyMDAxODQ2MGZmMTY2MGZmMTY4MTUyNjAyMDAxODM2MDAwMTkxNjYwMDAxOTE2ODE1MjYwMjAwMTgyNjAwMDE5MTY2MDAwMTkxNjgxNTI2MDIwMDE5NDUwNTA1MDUwNTA2MDIwNjA0MDUxNjAyMDgxMDM5MDgwODQwMzkwNjAwMDg2NjE2NDZlNWEwM2YxMTUxNTYxMGRhNTU3NjAwMDgwZmQ1YjUwNTA2MDIwNjA0MDUxMDM1MTkzNTA1MDUwNTA5MjkxNTA1MDU2NWI2MDAwODA2MTBkYzUzMzYxMGE3MjU2NWIxNTE1NjEwZGQwNTc2MDAwODBmZDViNjAwMDkxNTA2MDAwOTA1MDViNjAwYTgxMTAxNTYxMGUzODU3ODI2MDAyODI2MDBhODExMDE1MTU2MTBkZjI1N2ZlNWIwMTU0MTQxNTYxMGRmZjU3NjAwMDgwZmQ1YjYwMDI4MjYwMGE4MTEwMTUxNTYxMGUwZTU3ZmU1YjAxNTQ2MDAyODI2MDBhODExMDE1MTU2MTBlMWY1N2ZlNWIwMTU0MTAxNTYxMGUyYjU3ODA5MTUwNWI4MDgwNjAwMTAxOTE1MDUwNjEwZGQ5NTY1YjYwMDI4MjYwMGE4MTEwMTUxNTYxMGU0NzU3ZmU1YjAxNTQ4MzEwMTU2MTBlNTU1NzYwMDA4MGZkNWI2MTI3MTA2MDAyODM2MDBhODExMDE1MTU2MTBlNjc1N2ZlNWIwMTU0MDE4MzExMTU2MTBlNzY1NzYwMDA4MGZkNWI4MjYwMDI4MzYwMGE4MTEwMTUxNTYxMGU4NjU3ZmU1YjAxODE5MDU1NTA1MDUwNTA1NjViNjA0MDUxNjEwNTQwODA2MTBlYTE4MzM5MDE5MDU2MDA2MDYwNjA0MDUyMzQxNTYxMDAwZjU3NjAwMDgwZmQ1YjMzNjAwMDgwNjEwMTAwMGE4MTU0ODE3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYwMjE5MTY5MDgzNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTYwMjE3OTA1NTUwNjEwNGUyODA2MTAwNWU2MDAwMzk2MDAwZjMwMDYwNjA2MDQwNTI2MDA0MzYxMDYxMDA1NjU3NjAwMDM1N2MwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTAwNDYzZmZmZmZmZmYxNjgwNjI4MjFkZTMxNDYxMDE0NzU3ODA2MzNlZjEzMzY3MTQ2MTAxOWM1NzgwNjM2YjlmOTZlYTE0NjEwMWQ1NTc1YjYwMDA4MDkwNTQ5MDYxMDEwMDBhOTAwNDczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY2MTA4ZmMzNDkwODExNTAyOTA2MDQwNTE2MDAwNjA0MDUxODA4MzAzODE4NTg4ODhmMTkzNTA1MDUwNTAxNTE1NjEwMGI3NTc2MDAwODBmZDViN2Y2OWIzMTU0OGRlYTliM2I3MDdiNGRmZjM1N2QzMjZlM2U5MzQ4YjI0ZTdhNjA4MGEyMThhNmVkZWVlYzQ4ZjliMzMzNDYwMDAzNjYwNDA1MTgwODU3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2ODE1MjYwMjAwMTg0ODE1MjYwMjAwMTgwNjAyMDAxODI4MTAzODI1Mjg0ODQ4MjgxODE1MjYwMjAwMTkyNTA4MDgyODQzNzgyMDE5MTUwNTA5NTUwNTA1MDUwNTA1MDYwNDA1MTgwOTEwMzkwYTEwMDViMzQxNTYxMDE1MjU3NjAwMDgwZmQ1YjYxMDE1YTYxMDFlYTU2NWI2MDQwNTE4MDgyNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjgxNTI2MDIwMDE5MTUwNTA2MDQwNTE4MDkxMDM5MGYzNWIzNDE1NjEwMWE3NTc2MDAwODBmZDViNjEwMWQzNjAwNDgwODAzNTczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2OTA2MDIwMDE5MDkxOTA1MDUwNjEwMjBmNTY1YjAwNWIzNDE1NjEwMWUwNTc2MDAwODBmZDViNjEwMWU4NjEwNDNjNTY1YjAwNWI2MDAwODA5MDU0OTA2MTAxMDAwYTkwMDQ3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjgxNTY1YjYwMDA4MDYwMDA4MDYwMDA5MDU0OTA2MTAxMDAwYTkwMDQ3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2MzM3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjE0MTUxNTYxMDI2ZjU3NjAwMDgwZmQ1YjgzOTI1MDMwOTE1MDgyNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY2MzcwYTA4MjMxODM2MDAwNjA0MDUxNjAyMDAxNTI2MDQwNTE4MjYzZmZmZmZmZmYxNjdjMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyODE1MjYwMDQwMTgwODI3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2ODE1MjYwMjAwMTkxNTA1MDYwMjA2MDQwNTE4MDgzMDM4MTYwMDA4NzgwM2IxNTE1NjEwMzE4NTc2MDAwODBmZDViNjEwMmM2NWEwM2YxMTUxNTYxMDMyOTU3NjAwMDgwZmQ1YjUwNTA1MDYwNDA1MTgwNTE5MDUwOTA1MDYwMDA4MTE0MTU2MTAzNDM1NzYxMDQzNjU2NWI4MjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NjNhOTA1OWNiYjYwMDA4MDkwNTQ5MDYxMDEwMDBhOTAwNDczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2ODM2MDAwNjA0MDUxNjAyMDAxNTI2MDQwNTE4MzYzZmZmZmZmZmYxNjdjMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyODE1MjYwMDQwMTgwODM3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2ODE1MjYwMjAwMTgyODE1MjYwMjAwMTkyNTA1MDUwNjAyMDYwNDA1MTgwODMwMzgxNjAwMDg3ODAzYjE1MTU2MTA0MGY1NzYwMDA4MGZkNWI2MTAyYzY1YTAzZjExNTE1NjEwNDIwNTc2MDAwODBmZDViNTA1MDUwNjA0MDUxODA1MTkwNTAxNTE1NjEwNDM1NTc2MDAwODBmZDViNWI1MDUwNTA1MDU2NWI2MDAwODA5MDU0OTA2MTAxMDAwYTkwMDQ3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NjEwOGZjMzA3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjMxOTA4MTE1MDI5MDYwNDA1MTYwMDA2MDQwNTE4MDgzMDM4MTg1ODg4OGYxOTM1MDUwNTA1MDE1MTU2MTA0YjQ1NzYwMDA4MGZkNWI1NjAwYTE2NTYyN2E3YTcyMzA1ODIwNDIxOTNiOGZhMzZiYjIxMTE0MzgxOWE1MjVmZTA3ZjU5N2E1N2FjNTFiZGE3MzU0OTllY2ViZTJlZGE2NDg4NzAwMjlhMTY1NjI3YTdhNzIzMDU4MjAxMWIzZTc4NjgyMGJiZjk3NGZiZjg4MDJjNmJmZDBmYjQ0YWIyZWMzMGVkOTAxOGI5MWFhZDc1MDNjZDIxNGFhMDAyOSc7XG4iXX0=
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWFBLDhCQU1DO0FBbkJELGlEQUFrRDtBQUVsRCxtREFBK0Q7QUFDL0QsMkNBQTJEO0FBRTNELE1BQU0sT0FBTyxHQUFxQyxJQUFJLEdBQUcsQ0FBOEI7SUFDckYsQ0FBQyxxQkFBVyxDQUFDLE9BQU8sRUFBRSx5QkFBYSxDQUFDO0lBQ3BDLENBQUMscUJBQVcsQ0FBQyxPQUFPLEVBQUUseUJBQWEsQ0FBQztDQUNyQyxDQUFDLENBQUM7QUFFSDs7R0FFRztBQUNILFNBQWdCLFNBQVMsQ0FBQyxPQUFvQjtJQUM1QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNaLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQ7Ozs7OztFQU1FO0FBQ1csUUFBQSxvQkFBb0IsR0FDL0IsMHJWQUEwclYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5ldHdvcmtUeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgRXRoZXJldW1Db21tb24gZnJvbSAnQGV0aGVyZXVtanMvY29tbW9uJztcbmltcG9ydCB7IEludmFsaWRUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgbWFpbm5ldENvbW1vbiwgdGVzdG5ldENvbW1vbiB9IGZyb20gJy4vcmVzb3VyY2VzJztcblxuY29uc3QgY29tbW9uczogTWFwPE5ldHdvcmtUeXBlLCBFdGhlcmV1bUNvbW1vbj4gPSBuZXcgTWFwPE5ldHdvcmtUeXBlLCBFdGhlcmV1bUNvbW1vbj4oW1xuICBbTmV0d29ya1R5cGUuTUFJTk5FVCwgbWFpbm5ldENvbW1vbl0sXG4gIFtOZXR3b3JrVHlwZS5URVNUTkVULCB0ZXN0bmV0Q29tbW9uXSxcbl0pO1xuXG4vKipcbiAqIEBwYXJhbSBuZXR3b3JrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb21tb24obmV0d29yazogTmV0d29ya1R5cGUpOiBFdGhlcmV1bUNvbW1vbiB7XG4gIGNvbnN0IGNvbW1vbiA9IGNvbW1vbnMuZ2V0KG5ldHdvcmspO1xuICBpZiAoIWNvbW1vbikge1xuICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignTWlzc2luZyBuZXR3b3JrIGNvbW1vbiBjb25maWd1cmF0aW9uJyk7XG4gIH1cbiAgcmV0dXJuIGNvbW1vbjtcbn1cblxuLypcbiAgU3RlcHMgdG8gcmVwcm9kdWNlOlxuICBDaGVja291dCBodHRwczovL2dpdGh1Yi5jb20vYml0Z28vZXRoLW11bHRpc2lnLXYyXG4gIG5wbSBpbnN0YWxsIC1nIHNvbGNAMC40LjE4XG4gIHNvbGNqcyAtLWJpbiAuL2NvbnRyYWN0cy9jb2lucy9DZWxvV2FsbGV0U2ltcGxlLnNvbCAuL2NvbnRyYWN0cy9Gb3J3YXJkZXIuc29sIC4vY29udHJhY3RzL0VSQzIwSW50ZXJmYWNlLnNvbFxuICBjYXQgQ2Vsb1dhbGxldFNpbXBsZS5iaW5cbiovXG5leHBvcnQgY29uc3Qgd2FsbGV0U2ltcGxlQnl0ZUNvZGUgPVxuICAnMHg2MDYwNjA0MDUyNjAwMDYwMDE2MDAwNjEwMTAwMGE4MTU0ODE2MGZmMDIxOTE2OTA4MzE1MTUwMjE3OTA1NTUwMzQxNTYxMDAyYTU3NjAwMDgwZmQ1YjYwNDA1MTYxMTU1YjM4MDM4MDYxMTU1YjgzMzk4MTAxNjA0MDUyODA4MDUxODIwMTkxOTA1MDUwNjAwMzgxNTExNDE1MTU2MTAwNTY1NzYwMDA4MGZkNWI4MDYwMDA5MDgwNTE5MDYwMjAwMTkwNjEwMDZjOTI5MTkwNjEwMDczNTY1YjUwNTA2MTAxNDA1NjViODI4MDU0ODI4MjU1OTA2MDAwNTI2MDIwNjAwMDIwOTA4MTAxOTI4MjE1NjEwMGVjNTc5MTYwMjAwMjgyMDE1YjgyODExMTE1NjEwMGViNTc4MjUxODI2MDAwNjEwMTAwMGE4MTU0ODE3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYwMjE5MTY5MDgzNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTYwMjE3OTA1NTUwOTE2MDIwMDE5MTkwNjAwMTAxOTA2MTAwOTM1NjViNWI1MDkwNTA2MTAwZjk5MTkwNjEwMGZkNTY1YjUwOTA1NjViNjEwMTNkOTE5MDViODA4MjExMTU2MTAxMzk1NzYwMDA4MTgxNjEwMTAwMGE4MTU0OTA3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYwMjE5MTY5MDU1NTA2MDAxMDE2MTAxMDM1NjViNTA5MDU2NWI5MDU2NWI2MTE0MGM4MDYxMDE0ZjYwMDAzOTYwMDBmMzAwNjA2MDYwNDA1MjYwMDQzNjEwNjEwMDk5NTc2MDAwMzU3YzAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MDA0NjNmZmZmZmZmZjE2ODA2MzBkY2Q3YTZjMTQ2MTAxMzM1NzgwNjMyMDc5ZmI5YTE0NjEwMWU5NTc4MDYzMmRhMDM0MDkxNDYxMDI0YzU3ODA2MzM5MTI1MjE1MTQ2MTAyYTQ1NzgwNjM3ZGY3M2UyNzE0NjEwMzdlNTc4MDYzYTBiNzk2N2IxNDYxMDNjZjU3ODA2M2E2OGE3NmNjMTQ2MTAzZjg1NzgwNjNhYmUzMjE5YzE0NjEwNDRkNTc4MDYzZmMwZjM5MmQxNDYxMDQ3YTU3NWI2MDAwMzQxMTE1NjEwMTMxNTc3ZjZlODlkNTE3MDU3MDI4MTkwNTYwZGQyMDBjZjZiZjc5Mjg0Mjg2MTM1M2QxMTczNzYxZGZhMzYyZTFjMTMzZjAzMzM0NjAwMDM2NjA0MDUxODA4NTczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY4MTUyNjAyMDAxODQ4MTUyNjAyMDAxODA2MDIwMDE4MjgxMDM4MjUyODQ4NDgyODE4MTUyNjAyMDAxOTI1MDgwODI4NDM3ODIwMTkxNTA1MDk1NTA1MDUwNTA1MDUwNjA0MDUxODA5MTAzOTBhMTViMDA1YjM0MTU2MTAxM2U1NzYwMDA4MGZkNWI2MTAxZTc2MDA0ODA4MDM1NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY5MDYwMjAwMTkwOTE5MDgwMzU5MDYwMjAwMTkwOTE5MDgwMzU3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjkwNjAyMDAxOTA5MTkwODAzNTkwNjAyMDAxOTA5MTkwODAzNTkwNjAyMDAxOTA5MTkwODAzNTkwNjAyMDAxOTA4MjAxODAzNTkwNjAyMDAxOTA4MDgwNjAxZjAxNjAyMDgwOTEwNDAyNjAyMDAxNjA0MDUxOTA4MTAxNjA0MDUyODA5MzkyOTE5MDgxODE1MjYwMjAwMTgzODM4MDgyODQzNzgyMDE5MTUwNTA1MDUwNTA1MDkxOTA1MDUwNjEwNDhmNTY1YjAwNWIzNDE1NjEwMWY0NTc2MDAwODBmZDViNjEwMjBhNjAwNDgwODAzNTkwNjAyMDAxOTA5MTkwNTA1MDYxMDY2ODU2NWI2MDQwNTE4MDgyNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjgxNTI2MDIwMDE5MTUwNTA2MDQwNTE4MDkxMDM5MGYzNWIzNDE1NjEwMjU3NTc2MDAwODBmZDViNjEwMmEyNjAwNDgwODAzNTczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2OTA2MDIwMDE5MDkxOTA4MDM1NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY5MDYwMjAwMTkwOTE5MDUwNTA2MTA2YTc1NjViMDA1YjM0MTU2MTAyYWY1NzYwMDA4MGZkNWI2MTAzN2M2MDA0ODA4MDM1NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY5MDYwMjAwMTkwOTE5MDgwMzU5MDYwMjAwMTkwOTE5MDgwMzU5MDYwMjAwMTkwODIwMTgwMzU5MDYwMjAwMTkwODA4MDYwMWYwMTYwMjA4MDkxMDQwMjYwMjAwMTYwNDA1MTkwODEwMTYwNDA1MjgwOTM5MjkxOTA4MTgxNTI2MDIwMDE4MzgzODA4Mjg0Mzc4MjAxOTE1MDUwNTA1MDUwNTA5MTkwODAzNTkwNjAyMDAxOTA5MTkwODAzNTkwNjAyMDAxOTA5MTkwODAzNTkwNjAyMDAxOTA4MjAxODAzNTkwNjAyMDAxOTA4MDgwNjAxZjAxNjAyMDgwOTEwNDAyNjAyMDAxNjA0MDUxOTA4MTAxNjA0MDUyODA5MzkyOTE5MDgxODE1MjYwMjAwMTgzODM4MDgyODQzNzgyMDE5MTUwNTA1MDUwNTA1MDkxOTA1MDUwNjEwNzczNTY1YjAwNWIzNDE1NjEwMzg5NTc2MDAwODBmZDViNjEwM2I1NjAwNDgwODAzNTczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2OTA2MDIwMDE5MDkxOTA1MDUwNjEwYTcyNTY1YjYwNDA1MTgwODIxNTE1MTUxNTgxNTI2MDIwMDE5MTUwNTA2MDQwNTE4MDkxMDM5MGYzNWIzNDE1NjEwM2RhNTc2MDAwODBmZDViNjEwM2UyNjEwYjE2NTY1YjYwNDA1MTgwODI4MTUyNjAyMDAxOTE1MDUwNjA0MDUxODA5MTAzOTBmMzViMzQxNTYxMDQwMzU3NjAwMDgwZmQ1YjYxMDQwYjYxMGI3MDU2NWI2MDQwNTE4MDgyNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjgxNTI2MDIwMDE5MTUwNTA2MDQwNTE4MDkxMDM5MGYzNWIzNDE1NjEwNDU4NTc2MDAwODBmZDViNjEwNDYwNjEwYjk1NTY1YjYwNDA1MTgwODIxNTE1MTUxNTgxNTI2MDIwMDE5MTUwNTA2MDQwNTE4MDkxMDM5MGYzNWIzNDE1NjEwNDg1NTc2MDAwODBmZDViNjEwNDhkNjEwYmE4NTY1YjAwNWI2MDAwODA2MTA0OWIzMzYxMGE3MjU2NWIxNTE1NjEwNGE2NTc2MDAwODBmZDViODc4Nzg3ODc4NzYwNDA1MTgwODA3ZjQzNDU0YzRmMmQ0NTUyNDMzMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MTUyNTA2MDBhMDE4NjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY2YzAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI4MTUyNjAxNDAxODU4MTUyNjAyMDAxODQ3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NmMwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyODE1MjYwMTQwMTgzODE1MjYwMjAwMTgyODE1MjYwMjAwMTk1NTA1MDUwNTA1MDUwNjA0MDUxODA5MTAzOTAyMDkxNTA2MTA1ODk4ODgzODU4ODg4NjEwYzNiNTY1YjUwODU5MDUwODA3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjYzYTkwNTljYmI4OTg5NjAwMDYwNDA1MTYwMjAwMTUyNjA0MDUxODM2M2ZmZmZmZmZmMTY3YzAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjgxNTI2MDA0MDE4MDgzNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjgxNTI2MDIwMDE4MjgxNTI2MDIwMDE5MjUwNTA1MDYwMjA2MDQwNTE4MDgzMDM4MTYwMDA4NzgwM2IxNTE1NjEwNjM4NTc2MDAwODBmZDViNjEwMmM2NWEwM2YxMTUxNTYxMDY0OTU3NjAwMDgwZmQ1YjUwNTA1MDYwNDA1MTgwNTE5MDUwMTUxNTYxMDY1ZTU3NjAwMDgwZmQ1YjUwNTA1MDUwNTA1MDUwNTA1NjViNjAwMDgxODE1NDgxMTAxNTE1NjEwNjc3NTdmZTViOTA2MDAwNTI2MDIwNjAwMDIwOTAwMTYwMDA5MTUwNTQ5MDYxMDEwMDBhOTAwNDczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2ODE1NjViNjAwMDYxMDZiMjMzNjEwYTcyNTY1YjE1MTU2MTA2YmQ1NzYwMDA4MGZkNWI4MjkwNTA4MDczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NjMzZWYxMzM2NzgzNjA0MDUxODI2M2ZmZmZmZmZmMTY3YzAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjgxNTI2MDA0MDE4MDgyNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjgxNTI2MDIwMDE5MTUwNTA2MDAwNjA0MDUxODA4MzAzODE2MDAwODc4MDNiMTUxNTYxMDc1YTU3NjAwMDgwZmQ1YjYxMDJjNjVhMDNmMTE1MTU2MTA3NmI1NzYwMDA4MGZkNWI1MDUwNTA1MDUwNTA1NjViNjAwMDgwNjEwNzdmMzM2MTBhNzI1NjViMTUxNTYxMDc4YTU3NjAwMDgwZmQ1Yjg3ODc4Nzg3ODc2MDQwNTE4MDgwN2Y0MzQ1NGM0ZjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODE1MjUwNjAwNDAxODY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NmMwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyODE1MjYwMTQwMTg1ODE1MjYwMjAwMTg0ODA1MTkwNjAyMDAxOTA4MDgzODM1YjYwMjA4MzEwMTUxNTYxMDgzMzU3ODA1MTgyNTI2MDIwODIwMTkxNTA2MDIwODEwMTkwNTA2MDIwODMwMzkyNTA2MTA4MGU1NjViNjAwMTgzNjAyMDAzNjEwMTAwMGEwMzgwMTk4MjUxMTY4MTg0NTExNjgwODIxNzg1NTI1MDUwNTA1MDUwNTA5MDUwMDE4MzgxNTI2MDIwMDE4MjgxNTI2MDIwMDE5NTUwNTA1MDUwNTA1MDYwNDA1MTgwOTEwMzkwMjA5MTUwNjEwODdmODg4Mzg1ODg4ODYxMGMzYjU2NWI5MDUwODc3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjg3ODc2MDQwNTE4MDgyODA1MTkwNjAyMDAxOTA4MDgzODM2MDAwNWI4MzgxMTAxNTYxMDhjNzU3ODA4MjAxNTE4MTg0MDE1MjYwMjA4MTAxOTA1MDYxMDhhYzU2NWI1MDUwNTA1MDkwNTA5MDgxMDE5MDYwMWYxNjgwMTU2MTA4ZjQ1NzgwODIwMzgwNTE2MDAxODM2MDIwMDM2MTAxMDAwYTAzMTkxNjgxNTI2MDIwMDE5MTUwNWI1MDkxNTA1MDYwMDA2MDQwNTE4MDgzMDM4MTg1ODc2MTg3OTY1YTAzZjE5MjUwNTA1MDE1MTU2MTA5MTg1NzYwMDA4MGZkNWI3ZjU5YmVkOWFiNWQ3ODA3MzQ2NWRkNjQyYTllM2U3NmRmZGI3ZDUzYmNhZTlkMDlkZjdkMGI4ZjUyMzRkNWE4MDYzMzgyODQ4YjhiOGI2MDQwNTE4MDg3NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjgxNTI2MDIwMDE4NjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY4MTUyNjAyMDAxODU2MDAwMTkxNjYwMDAxOTE2ODE1MjYwMjAwMTg0NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjgxNTI2MDIwMDE4MzgxNTI2MDIwMDE4MDYwMjAwMTgyODEwMzgyNTI4MzgxODE1MTgxNTI2MDIwMDE5MTUwODA1MTkwNjAyMDAxOTA4MDgzODM2MDAwNWI4MzgxMTAxNTYxMGEyOTU3ODA4MjAxNTE4MTg0MDE1MjYwMjA4MTAxOTA1MDYxMGEwZTU2NWI1MDUwNTA1MDkwNTA5MDgxMDE5MDYwMWYxNjgwMTU2MTBhNTY1NzgwODIwMzgwNTE2MDAxODM2MDIwMDM2MTAxMDAwYTAzMTkxNjgxNTI2MDIwMDE5MTUwNWI1MDk3NTA1MDUwNTA1MDUwNTA1MDYwNDA1MTgwOTEwMzkwYTE1MDUwNTA1MDUwNTA1MDUwNTY1YjYwMDA4MDYwMDA5MDUwNWI2MDAwODA1NDkwNTA4MTEwMTU2MTBiMGI1NzgyNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY2MDAwODI4MTU0ODExMDE1MTU2MTBhYWQ1N2ZlNWI5MDYwMDA1MjYwMjA2MDAwMjA5MDAxNjAwMDkwNTQ5MDYxMDEwMDBhOTAwNDczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTYxNDE1NjEwYWZlNTc2MDAxOTE1MDYxMGIxMDU2NWI4MDgwNjAwMTAxOTE1MDUwNjEwYTdhNTY1YjYwMDA5MTUwNWI1MDkxOTA1MDU2NWI2MDAwODA2MDAwODA5MTUwNjAwMDkwNTA1YjYwMGE4MTEwMTU2MTBiNjU1NzgxNjAwMjgyNjAwYTgxMTAxNTE1NjEwYjNjNTdmZTViMDE1NDExMTU2MTBiNTg1NzYwMDI4MTYwMGE4MTEwMTUxNTYxMGI1MzU3ZmU1YjAxNTQ5MTUwNWI4MDgwNjAwMTAxOTE1MDUwNjEwYjIzNTY1YjYwMDE4MjAxOTI1MDUwNTA5MDU2NWI2MDAwNjEwYjdhNjEwZTkwNTY1YjYwNDA1MTgwOTEwMzkwNjAwMGYwODAxNTE1NjEwYjkwNTc2MDAwODBmZDViOTA1MDkwNTY1YjYwMDE2MDAwOTA1NDkwNjEwMTAwMGE5MDA0NjBmZjE2ODE1NjViNjEwYmIxMzM2MTBhNzI1NjViMTUxNTYxMGJiYzU3NjAwMDgwZmQ1YjYwMDE4MDYwMDA2MTAxMDAwYTgxNTQ4MTYwZmYwMjE5MTY5MDgzMTUxNTAyMTc5MDU1NTA3ZjA5MDllOGY3NmE0ZmQzZTk3MGYyZWFlZjU2YzBlZTZkZmFmOGI4N2M1YjhkM2Y1NmZmY2U3OGU4MjVhOTExNTczMzYwNDA1MTgwODI3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2ODE1MjYwMjAwMTkxNTA1MDYwNDA1MTgwOTEwMzkwYTE1NjViNjAwMDgwNjEwYzQ4ODY4NjYxMGNlNjU2NWI5MDUwNjAwMTYwMDA5MDU0OTA2MTAxMDAwYTkwMDQ2MGZmMTY4MDE1NjEwYzZjNTc1MDYxMGM2YTg3NjEwYTcyNTY1YjE1NWIxNTYxMGM3NjU3NjAwMDgwZmQ1YjQyODQxMDE1NjEwYzgzNTc2MDAwODBmZDViNjEwYzhjODM2MTBkYjk1NjViNjEwYzk1ODE2MTBhNzI1NjViMTUxNTYxMGNhMDU3NjAwMDgwZmQ1YjMzNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY4MTczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2MTQxNTYxMGNkOTU3NjAwMDgwZmQ1YjgwOTE1MDUwOTU5NDUwNTA1MDUwNTA1NjViNjAwMDgwNjAwMDgwNjA0MTg1NTExNDE1MTU2MTBjZmM1NzYwMDA4MGZkNWI2MDIwODUwMTUxOTI1MDYwNDA4NTAxNTE5MTUwNjBmZjYwNDE4NjAxNTExNjkwNTA2MDFiODE2MGZmMTYxMDE1NjEwZDI3NTc2MDFiODEwMTkwNTA1YjYwMDE4NjgyODU4NTYwNDA1MTYwMDA4MTUyNjAyMDAxNjA0MDUyNjAwMDYwNDA1MTYwMjAwMTUyNjA0MDUxODA4NTYwMDAxOTE2NjAwMDE5MTY4MTUyNjAyMDAxODQ2MGZmMTY2MGZmMTY4MTUyNjAyMDAxODM2MDAwMTkxNjYwMDAxOTE2ODE1MjYwMjAwMTgyNjAwMDE5MTY2MDAwMTkxNjgxNTI2MDIwMDE5NDUwNTA1MDUwNTA2MDIwNjA0MDUxNjAyMDgxMDM5MDgwODQwMzkwNjAwMDg2NjE2NDZlNWEwM2YxMTUxNTYxMGRhNTU3NjAwMDgwZmQ1YjUwNTA2MDIwNjA0MDUxMDM1MTkzNTA1MDUwNTA5MjkxNTA1MDU2NWI2MDAwODA2MTBkYzUzMzYxMGE3MjU2NWIxNTE1NjEwZGQwNTc2MDAwODBmZDViNjAwMDkxNTA2MDAwOTA1MDViNjAwYTgxMTAxNTYxMGUzODU3ODI2MDAyODI2MDBhODExMDE1MTU2MTBkZjI1N2ZlNWIwMTU0MTQxNTYxMGRmZjU3NjAwMDgwZmQ1YjYwMDI4MjYwMGE4MTEwMTUxNTYxMGUwZTU3ZmU1YjAxNTQ2MDAyODI2MDBhODExMDE1MTU2MTBlMWY1N2ZlNWIwMTU0MTAxNTYxMGUyYjU3ODA5MTUwNWI4MDgwNjAwMTAxOTE1MDUwNjEwZGQ5NTY1YjYwMDI4MjYwMGE4MTEwMTUxNTYxMGU0NzU3ZmU1YjAxNTQ4MzEwMTU2MTBlNTU1NzYwMDA4MGZkNWI2MTI3MTA2MDAyODM2MDBhODExMDE1MTU2MTBlNjc1N2ZlNWIwMTU0MDE4MzExMTU2MTBlNzY1NzYwMDA4MGZkNWI4MjYwMDI4MzYwMGE4MTEwMTUxNTYxMGU4NjU3ZmU1YjAxODE5MDU1NTA1MDUwNTA1NjViNjA0MDUxNjEwNTQwODA2MTBlYTE4MzM5MDE5MDU2MDA2MDYwNjA0MDUyMzQxNTYxMDAwZjU3NjAwMDgwZmQ1YjMzNjAwMDgwNjEwMTAwMGE4MTU0ODE3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYwMjE5MTY5MDgzNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTYwMjE3OTA1NTUwNjEwNGUyODA2MTAwNWU2MDAwMzk2MDAwZjMwMDYwNjA2MDQwNTI2MDA0MzYxMDYxMDA1NjU3NjAwMDM1N2MwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTAwNDYzZmZmZmZmZmYxNjgwNjI4MjFkZTMxNDYxMDE0NzU3ODA2MzNlZjEzMzY3MTQ2MTAxOWM1NzgwNjM2YjlmOTZlYTE0NjEwMWQ1NTc1YjYwMDA4MDkwNTQ5MDYxMDEwMDBhOTAwNDczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY2MTA4ZmMzNDkwODExNTAyOTA2MDQwNTE2MDAwNjA0MDUxODA4MzAzODE4NTg4ODhmMTkzNTA1MDUwNTAxNTE1NjEwMGI3NTc2MDAwODBmZDViN2Y2OWIzMTU0OGRlYTliM2I3MDdiNGRmZjM1N2QzMjZlM2U5MzQ4YjI0ZTdhNjA4MGEyMThhNmVkZWVlYzQ4ZjliMzMzNDYwMDAzNjYwNDA1MTgwODU3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2ODE1MjYwMjAwMTg0ODE1MjYwMjAwMTgwNjAyMDAxODI4MTAzODI1Mjg0ODQ4MjgxODE1MjYwMjAwMTkyNTA4MDgyODQzNzgyMDE5MTUwNTA5NTUwNTA1MDUwNTA1MDYwNDA1MTgwOTEwMzkwYTEwMDViMzQxNTYxMDE1MjU3NjAwMDgwZmQ1YjYxMDE1YTYxMDFlYTU2NWI2MDQwNTE4MDgyNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjgxNTI2MDIwMDE5MTUwNTA2MDQwNTE4MDkxMDM5MGYzNWIzNDE1NjEwMWE3NTc2MDAwODBmZDViNjEwMWQzNjAwNDgwODAzNTczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2OTA2MDIwMDE5MDkxOTA1MDUwNjEwMjBmNTY1YjAwNWIzNDE1NjEwMWUwNTc2MDAwODBmZDViNjEwMWU4NjEwNDNjNTY1YjAwNWI2MDAwODA5MDU0OTA2MTAxMDAwYTkwMDQ3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjgxNTY1YjYwMDA4MDYwMDA4MDYwMDA5MDU0OTA2MTAxMDAwYTkwMDQ3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2MzM3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjE0MTUxNTYxMDI2ZjU3NjAwMDgwZmQ1YjgzOTI1MDMwOTE1MDgyNzNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTY2MzcwYTA4MjMxODM2MDAwNjA0MDUxNjAyMDAxNTI2MDQwNTE4MjYzZmZmZmZmZmYxNjdjMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyODE1MjYwMDQwMTgwODI3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2ODE1MjYwMjAwMTkxNTA1MDYwMjA2MDQwNTE4MDgzMDM4MTYwMDA4NzgwM2IxNTE1NjEwMzE4NTc2MDAwODBmZDViNjEwMmM2NWEwM2YxMTUxNTYxMDMyOTU3NjAwMDgwZmQ1YjUwNTA1MDYwNDA1MTgwNTE5MDUwOTA1MDYwMDA4MTE0MTU2MTAzNDM1NzYxMDQzNjU2NWI4MjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NjNhOTA1OWNiYjYwMDA4MDkwNTQ5MDYxMDEwMDBhOTAwNDczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2ODM2MDAwNjA0MDUxNjAyMDAxNTI2MDQwNTE4MzYzZmZmZmZmZmYxNjdjMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyODE1MjYwMDQwMTgwODM3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2ODE1MjYwMjAwMTgyODE1MjYwMjAwMTkyNTA1MDUwNjAyMDYwNDA1MTgwODMwMzgxNjAwMDg3ODAzYjE1MTU2MTA0MGY1NzYwMDA4MGZkNWI2MTAyYzY1YTAzZjExNTE1NjEwNDIwNTc2MDAwODBmZDViNTA1MDUwNjA0MDUxODA1MTkwNTAxNTE1NjEwNDM1NTc2MDAwODBmZDViNWI1MDUwNTA1MDU2NWI2MDAwODA5MDU0OTA2MTAxMDAwYTkwMDQ3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjczZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjE2NjEwOGZjMzA3M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNjMxOTA4MTE1MDI5MDYwNDA1MTYwMDA2MDQwNTE4MDgzMDM4MTg1ODg4OGYxOTM1MDUwNTA1MDE1MTU2MTA0YjQ1NzYwMDA4MGZkNWI1NjAwYTE2NTYyN2E3YTcyMzA1ODIwNDIxOTNiOGZhMzZiYjIxMTE0MzgxOWE1MjVmZTA3ZjU5N2E1N2FjNTFiZGE3MzU0OTllY2ViZTJlZGE2NDg4NzAwMjlhMTY1NjI3YTdhNzIzMDU4MjAxMWIzZTc4NjgyMGJiZjk3NGZiZjg4MDJjNmJmZDBmYjQ0YWIyZWMzMGVkOTAxOGI5MWFhZDc1MDNjZDIxNGFhMDAyOSc7XG4iXX0=
@@ -0,0 +1,3 @@
1
+ import { BitGoBase } from '@bitgo-beta/sdk-core';
2
+ export declare const register: (sdk: BitGoBase) => void;
3
+ //# sourceMappingURL=register.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAKjD,eAAO,MAAM,QAAQ,QAAS,SAAS,KAAG,IAMzC,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.register = void 0;
4
+ const celo_1 = require("./celo");
5
+ const celoToken_1 = require("./celoToken");
6
+ const tcelo_1 = require("./tcelo");
7
+ const register = (sdk) => {
8
+ sdk.register('celo', celo_1.Celo.createInstance);
9
+ sdk.register('tcelo', tcelo_1.Tcelo.createInstance);
10
+ celoToken_1.CeloToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
11
+ sdk.register(name, coinConstructor);
12
+ });
13
+ };
14
+ exports.register = register;
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsaUNBQThCO0FBQzlCLDJDQUF3QztBQUN4QyxtQ0FBZ0M7QUFFekIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFjLEVBQVEsRUFBRTtJQUMvQyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxXQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDMUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsYUFBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzVDLHFCQUFTLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFO1FBQ3hFLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3RDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBTlcsUUFBQSxRQUFRLFlBTW5CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQ2VsbyB9IGZyb20gJy4vY2Vsbyc7XG5pbXBvcnQgeyBDZWxvVG9rZW4gfSBmcm9tICcuL2NlbG9Ub2tlbic7XG5pbXBvcnQgeyBUY2VsbyB9IGZyb20gJy4vdGNlbG8nO1xuXG5leHBvcnQgY29uc3QgcmVnaXN0ZXIgPSAoc2RrOiBCaXRHb0Jhc2UpOiB2b2lkID0+IHtcbiAgc2RrLnJlZ2lzdGVyKCdjZWxvJywgQ2Vsby5jcmVhdGVJbnN0YW5jZSk7XG4gIHNkay5yZWdpc3RlcigndGNlbG8nLCBUY2Vsby5jcmVhdGVJbnN0YW5jZSk7XG4gIENlbG9Ub2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICBzZGsucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgfSk7XG59O1xuIl19
@@ -4,8 +4,10 @@
4
4
  import { BaseCoin, BitGoBase } from '@bitgo-beta/sdk-core';
5
5
  import { BaseCoin as StaticsBaseCoin } from '@bitgo-beta/statics';
6
6
  import { Celo } from './celo';
7
+ import { TestnetTransactionBuilder } from './lib';
7
8
  export declare class Tcelo extends Celo {
8
9
  protected constructor(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>);
9
10
  static createInstance(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>): BaseCoin;
11
+ protected getTransactionBuilder(): TestnetTransactionBuilder;
10
12
  }
11
13
  //# sourceMappingURL=tcelo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tcelo.d.ts","sourceRoot":"","sources":["../../src/tcelo.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,qBAAa,KAAM,SAAQ,IAAI;IAC7B,SAAS,aAAa,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAI/E,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;CAG3F"}
1
+ {"version":3,"file":"tcelo.d.ts","sourceRoot":"","sources":["../../src/tcelo.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAS,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,yBAAyB,EAAE,MAAM,OAAO,CAAC;AAElD,qBAAa,KAAM,SAAQ,IAAI;IAC7B,SAAS,aAAa,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAI/E,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;IAI1F,SAAS,CAAC,qBAAqB,IAAI,yBAAyB;CAG7D"}
package/dist/src/tcelo.js CHANGED
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Tcelo = void 0;
4
+ const statics_1 = require("@bitgo-beta/statics");
4
5
  const celo_1 = require("./celo");
6
+ const lib_1 = require("./lib");
5
7
  class Tcelo extends celo_1.Celo {
6
8
  constructor(bitgo, staticsCoin) {
7
9
  super(bitgo, staticsCoin);
@@ -9,6 +11,9 @@ class Tcelo extends celo_1.Celo {
9
11
  static createInstance(bitgo, staticsCoin) {
10
12
  return new Tcelo(bitgo, staticsCoin);
11
13
  }
14
+ getTransactionBuilder() {
15
+ return new lib_1.TestnetTransactionBuilder(statics_1.coins.get(this.getBaseChain()));
16
+ }
12
17
  }
13
18
  exports.Tcelo = Tcelo;
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNlbG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGNlbG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS0EsaUNBQThCO0FBRTlCLE1BQWEsS0FBTSxTQUFRLFdBQUk7SUFDN0IsWUFBc0IsS0FBZ0IsRUFBRSxXQUF1QztRQUM3RSxLQUFLLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQWdCLEVBQUUsV0FBdUM7UUFDN0UsT0FBTyxJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDdkMsQ0FBQztDQUNGO0FBUkQsc0JBUUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICovXG5pbXBvcnQgeyBCYXNlQ29pbiwgQml0R29CYXNlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgU3RhdGljc0Jhc2VDb2luIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBDZWxvIH0gZnJvbSAnLi9jZWxvJztcblxuZXhwb3J0IGNsYXNzIFRjZWxvIGV4dGVuZHMgQ2VsbyB7XG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pIHtcbiAgICBzdXBlcihiaXRnbywgc3RhdGljc0NvaW4pO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUluc3RhbmNlKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPik6IEJhc2VDb2luIHtcbiAgICByZXR1cm4gbmV3IFRjZWxvKGJpdGdvLCBzdGF0aWNzQ29pbik7XG4gIH1cbn1cbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNlbG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGNlbG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsaURBQXlFO0FBQ3pFLGlDQUE4QjtBQUM5QiwrQkFBa0Q7QUFFbEQsTUFBYSxLQUFNLFNBQVEsV0FBSTtJQUM3QixZQUFzQixLQUFnQixFQUFFLFdBQXVDO1FBQzdFLEtBQUssQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBZ0IsRUFBRSxXQUF1QztRQUM3RSxPQUFPLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRVMscUJBQXFCO1FBQzdCLE9BQU8sSUFBSSwrQkFBeUIsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztDQUNGO0FBWkQsc0JBWUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICovXG5pbXBvcnQgeyBCYXNlQ29pbiwgQml0R29CYXNlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgU3RhdGljc0Jhc2VDb2luLCBjb2lucyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgQ2VsbyB9IGZyb20gJy4vY2Vsbyc7XG5pbXBvcnQgeyBUZXN0bmV0VHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi9saWInO1xuXG5leHBvcnQgY2xhc3MgVGNlbG8gZXh0ZW5kcyBDZWxvIHtcbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPikge1xuICAgIHN1cGVyKGJpdGdvLCBzdGF0aWNzQ29pbik7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlSW5zdGFuY2UoYml0Z286IEJpdEdvQmFzZSwgc3RhdGljc0NvaW4/OiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+KTogQmFzZUNvaW4ge1xuICAgIHJldHVybiBuZXcgVGNlbG8oYml0Z28sIHN0YXRpY3NDb2luKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRUcmFuc2FjdGlvbkJ1aWxkZXIoKTogVGVzdG5ldFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBUZXN0bmV0VHJhbnNhY3Rpb25CdWlsZGVyKGNvaW5zLmdldCh0aGlzLmdldEJhc2VDaGFpbigpKSk7XG4gIH1cbn1cbiJdfQ==