@super-protocol/sdk-js 2.1.7-beta.0 → 2.1.7-beta.1
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.
- package/dist/cjs/TIIGenerator.d.ts +2 -0
- package/dist/cjs/TIIGenerator.js +28 -16
- package/dist/cjs/contracts/abi.d.ts +107 -33
- package/dist/cjs/contracts/abi.js +131 -34
- package/dist/cjs/crypto/Crypto.d.ts +2 -1
- package/dist/cjs/crypto/Crypto.js +10 -2
- package/dist/cjs/crypto/nodejs/ECIES.d.ts +5 -3
- package/dist/cjs/crypto/nodejs/ECIES.js +26 -5
- package/dist/cjs/models/Order.js +14 -32
- package/dist/cjs/staticModels/Orders.js +31 -58
- package/dist/cjs/types/Order.d.ts +22 -2
- package/dist/cjs/types/Order.js +45 -2
- package/dist/cjs/utils/helpers/index.d.ts +1 -0
- package/dist/cjs/utils/helpers/index.js +2 -1
- package/dist/cjs/utils/helpers/orderHelpers.d.ts +12 -0
- package/dist/cjs/utils/helpers/orderHelpers.js +42 -0
- package/dist/mjs/TIIGenerator.d.ts +2 -0
- package/dist/mjs/TIIGenerator.js +28 -16
- package/dist/mjs/contracts/abi.d.ts +107 -33
- package/dist/mjs/contracts/abi.js +131 -34
- package/dist/mjs/crypto/Crypto.d.ts +2 -1
- package/dist/mjs/crypto/Crypto.js +10 -2
- package/dist/mjs/crypto/nodejs/ECIES.d.ts +5 -3
- package/dist/mjs/crypto/nodejs/ECIES.js +27 -6
- package/dist/mjs/models/Order.js +15 -33
- package/dist/mjs/staticModels/Orders.js +12 -39
- package/dist/mjs/types/Order.d.ts +22 -2
- package/dist/mjs/types/Order.js +42 -1
- package/dist/mjs/utils/helpers/index.d.ts +1 -0
- package/dist/mjs/utils/helpers/index.js +2 -1
- package/dist/mjs/utils/helpers/orderHelpers.d.ts +12 -0
- package/dist/mjs/utils/helpers/orderHelpers.js +34 -0
- package/package.json +4 -4
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
/// <reference types="node" />
|
|
3
3
|
/// <reference types="node" />
|
|
4
|
-
import { Encryption, Hash } from '@super-protocol/dto-js';
|
|
4
|
+
import { Encryption, Hash, EncryptionKey } from '@super-protocol/dto-js';
|
|
5
5
|
import fs from 'fs';
|
|
6
6
|
import { Readable } from 'stream';
|
|
7
7
|
declare class Crypto {
|
|
@@ -50,5 +50,6 @@ declare class Crypto {
|
|
|
50
50
|
* @returns Hash structure with hash itself hash algorithm and encoding
|
|
51
51
|
*/
|
|
52
52
|
static createHash(inputStream: Readable, hashInfo: Omit<Hash, 'hash'>): Promise<Hash>;
|
|
53
|
+
static getPublicKey(privateKey: EncryptionKey): EncryptionKey;
|
|
53
54
|
}
|
|
54
55
|
export default Crypto;
|
|
@@ -64,7 +64,7 @@ class Crypto {
|
|
|
64
64
|
case dto_js_1.CryptoAlgorithm.ARIA:
|
|
65
65
|
return ARIA_js_1.default.decrypt(encryption);
|
|
66
66
|
case dto_js_1.CryptoAlgorithm.ECIES:
|
|
67
|
-
return
|
|
67
|
+
return ECIES_js_1.default.decrypt(encryption);
|
|
68
68
|
case dto_js_1.CryptoAlgorithm.RSAHybrid:
|
|
69
69
|
return RSA_Hybrid_js_1.default.decrypt(encryption);
|
|
70
70
|
default:
|
|
@@ -95,6 +95,14 @@ class Crypto {
|
|
|
95
95
|
? NativeCrypto_js_1.default.createHashFromBuffer(param1, algo, encoding)
|
|
96
96
|
: await NativeCrypto_js_1.default.createHashFromStream(param1, algo, encoding);
|
|
97
97
|
}
|
|
98
|
+
static getPublicKey(privateKey) {
|
|
99
|
+
switch (privateKey.algo) {
|
|
100
|
+
case dto_js_1.CryptoAlgorithm.ECIES:
|
|
101
|
+
return ECIES_js_1.default.getPublicKeyEncryption(privateKey);
|
|
102
|
+
default:
|
|
103
|
+
throw Error(`${privateKey.algo} algorithm not supported`);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
98
106
|
}
|
|
99
107
|
exports.default = Crypto;
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3J5cHRvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NyeXB0by9DcnlwdG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtREFTZ0M7QUFFaEMsNkRBQWtDO0FBQ2xDLCtEQUFvQztBQUNwQyxpRUFBc0M7QUFDdEMsMkVBQStDO0FBQy9DLCtFQUFvRDtBQUdwRCxNQUFNLE1BQU07SUFDVjs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBZSxFQUFFLFVBQXNCO1FBQzFELFFBQVEsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3hCLEtBQUssd0JBQWUsQ0FBQyxHQUFHO2dCQUN0QixPQUFPLE1BQU0sZ0JBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBRWhELEtBQUssd0JBQWUsQ0FBQyxJQUFJO2dCQUN2QixPQUFPLE1BQU0saUJBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBRWpELEtBQUssd0JBQWUsQ0FBQyxLQUFLO2dCQUN4QixPQUFPLE1BQU0sa0JBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBRWxELEtBQUssd0JBQWUsQ0FBQyxTQUFTO2dCQUM1QixPQUFPLE1BQU0sdUJBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBRXREO2dCQUNFLE1BQU0sS0FBSyxDQUFDLEdBQUcsVUFBVSxDQUFDLElBQUksMEJBQTBCLENBQUMsQ0FBQztRQUM5RCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FDL0IsV0FBMEIsRUFDMUIsWUFBNEIsRUFDNUIsVUFBc0I7UUFFdEIsUUFBUSxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDeEIsS0FBSyx3QkFBZSxDQUFD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
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { ECIESEncryption, Encryption } from '@super-protocol/dto-js';
|
|
1
|
+
import { ECIESEncryption, Encryption, EncryptionKey } from '@super-protocol/dto-js';
|
|
2
2
|
declare class ECIES {
|
|
3
|
-
static encrypt(content: string, encryption: Encryption):
|
|
4
|
-
static decrypt(encryption: ECIESEncryption):
|
|
3
|
+
static encrypt(content: string, encryption: Encryption): ECIESEncryption;
|
|
4
|
+
static decrypt(encryption: ECIESEncryption): string;
|
|
5
|
+
static getPublicFromPrivate(privateKey: Pick<EncryptionKey, 'key' | 'encoding'>): string;
|
|
6
|
+
static getPublicKeyEncryption: (encryption: EncryptionKey) => EncryptionKey;
|
|
5
7
|
}
|
|
6
8
|
export default ECIES;
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const dto_js_1 = require("@super-protocol/dto-js");
|
|
7
7
|
const crypto_1 = __importDefault(require("crypto"));
|
|
8
8
|
class ECIES {
|
|
9
|
-
static
|
|
9
|
+
static encrypt(content, encryption) {
|
|
10
10
|
if (!encryption.key)
|
|
11
11
|
throw Error('Encryption key is not provided');
|
|
12
12
|
const ecdh = crypto_1.default.createECDH('secp256k1');
|
|
@@ -14,7 +14,7 @@ class ECIES {
|
|
|
14
14
|
const epk = ecdh.getPublicKey();
|
|
15
15
|
const pk = ecdh.computeSecret(Buffer.from(encryption.key, encryption.encoding));
|
|
16
16
|
const hash = crypto_1.default.createHash('sha512').update(pk).digest();
|
|
17
|
-
const cipherKey = hash.
|
|
17
|
+
const cipherKey = hash.subarray(0, 32), macKey = hash.subarray(32);
|
|
18
18
|
const iv = crypto_1.default.randomBytes(16);
|
|
19
19
|
const cipher = crypto_1.default.createCipheriv('aes-256-cbc', cipherKey, iv);
|
|
20
20
|
let ct = cipher.update(content);
|
|
@@ -30,7 +30,7 @@ class ECIES {
|
|
|
30
30
|
ciphertext: ct.toString(encryption.encoding),
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
|
-
static
|
|
33
|
+
static decrypt(encryption) {
|
|
34
34
|
if (!encryption.key)
|
|
35
35
|
throw Error('Decryption key is not provided');
|
|
36
36
|
const iv = Buffer.from(encryption.iv, encryption.encoding), epk = Buffer.from(encryption.ephemPublicKey, encryption.encoding), ct = Buffer.from(encryption.ciphertext, encryption.encoding), mac = Buffer.from(encryption.mac, encryption.encoding);
|
|
@@ -38,7 +38,7 @@ class ECIES {
|
|
|
38
38
|
ecdh.setPrivateKey(Buffer.from(encryption.key, encryption.encoding));
|
|
39
39
|
const pk = ecdh.computeSecret(epk);
|
|
40
40
|
const hash = crypto_1.default.createHash('sha512').update(pk).digest();
|
|
41
|
-
const cipherKey = hash.
|
|
41
|
+
const cipherKey = hash.subarray(0, 32), macKey = hash.subarray(32);
|
|
42
42
|
const m = crypto_1.default
|
|
43
43
|
.createHmac('sha256', macKey)
|
|
44
44
|
.update(Buffer.concat([iv, epk, ct]))
|
|
@@ -51,6 +51,27 @@ class ECIES {
|
|
|
51
51
|
const result = Buffer.concat([pt, decipher.final()]);
|
|
52
52
|
return result.toString('binary');
|
|
53
53
|
}
|
|
54
|
+
static getPublicFromPrivate(privateKey) {
|
|
55
|
+
const ecdh = crypto_1.default.createECDH('secp256k1');
|
|
56
|
+
ecdh.setPrivateKey(Buffer.from(privateKey.key, privateKey.encoding));
|
|
57
|
+
return ecdh.getPublicKey(privateKey.encoding);
|
|
58
|
+
}
|
|
59
|
+
static getPublicKeyEncryption = (encryption) => {
|
|
60
|
+
if (encryption.algo !== dto_js_1.CryptoAlgorithm.ECIES) {
|
|
61
|
+
throw Error('Only ECIES result encryption is supported');
|
|
62
|
+
}
|
|
63
|
+
if (encryption.encoding !== dto_js_1.Encoding.base64) {
|
|
64
|
+
throw new Error('Only base64 result encryption is supported');
|
|
65
|
+
}
|
|
66
|
+
if (!encryption.key) {
|
|
67
|
+
throw new Error('Encryption private key is not provided');
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
algo: encryption.algo,
|
|
71
|
+
encoding: encryption.encoding,
|
|
72
|
+
key: this.getPublicFromPrivate(encryption),
|
|
73
|
+
};
|
|
74
|
+
};
|
|
54
75
|
}
|
|
55
76
|
exports.default = ECIES;
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRUNJRVMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY3J5cHRvL25vZGVqcy9FQ0lFUy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1EQU1nQztBQUNoQyxvREFBNEI7QUFFNUIsTUFBTSxLQUFLO0lBQ0YsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFlLEVBQUUsVUFBc0I7UUFDM0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHO1lBQUUsTUFBTSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUVuRSxNQUFNLElBQUksR0FBRyxnQkFBTSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUU1QyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRWhDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBRWhGLE1BQU0sSUFBSSxHQUFHLGdCQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUU3RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFDcEMsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDN0IsTUFBTSxFQUFFLEdBQUcsZ0JBQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFbEMsTUFBTSxNQUFNLEdBQUcsZ0JBQU0sQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuRSxJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFB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
|
package/dist/cjs/models/Order.js
CHANGED
|
@@ -15,7 +15,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
const index_js_1 = require("../types/index.js");
|
|
16
16
|
const logger_js_1 = __importDefault(require("../logger.js"));
|
|
17
17
|
const helper_js_1 = require("../utils/helper.js");
|
|
18
|
-
const utils_js_1 = require("ethers/lib/utils.js");
|
|
19
18
|
const index_js_2 = require("../connectors/index.js");
|
|
20
19
|
const TeeOffers_js_1 = __importDefault(require("../staticModels/TeeOffers.js"));
|
|
21
20
|
const TxManager_js_1 = __importDefault(require("../utils/TxManager.js"));
|
|
@@ -80,12 +79,9 @@ class Order {
|
|
|
80
79
|
}
|
|
81
80
|
const orderInfoParams = await Order.contract.methods.getOrder(this.id).call();
|
|
82
81
|
const orderArgs = await Order.contract.methods.getOrderArgs(this.id).call();
|
|
83
|
-
const
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
status: orderInfoParams[1].status.toString(),
|
|
87
|
-
};
|
|
88
|
-
return (this.orderInfo = orderInfo);
|
|
82
|
+
const cleanedOrderInfo = (0, helper_js_1.cleanWeb3Data)(orderInfoParams[1]);
|
|
83
|
+
const finalOrderInfo = (0, index_js_1.orderInfoFromRaw)(cleanedOrderInfo, (0, helper_js_1.cleanWeb3Data)(orderArgs));
|
|
84
|
+
return (this.orderInfo = finalOrderInfo);
|
|
89
85
|
}
|
|
90
86
|
async checkIfOrderExistsWithInterval() {
|
|
91
87
|
const offerExists = await (0, index_js_3.tryWithInterval)({
|
|
@@ -308,27 +304,16 @@ class Order {
|
|
|
308
304
|
async createSubOrder(subOrderInfo, slots, blockParentOrder, deposit, transactionOptions, checkTxBeforeSend = false) {
|
|
309
305
|
(0, helper_js_1.checkIfActionAccountInitialized)(transactionOptions);
|
|
310
306
|
deposit = deposit ?? '0';
|
|
311
|
-
const
|
|
312
|
-
|
|
313
|
-
externalId: (0, utils_js_1.formatBytes32String)(subOrderInfo.externalId),
|
|
314
|
-
};
|
|
307
|
+
const args = subOrderInfo.args;
|
|
308
|
+
const preparedInfo = (0, index_js_1.orderInfoToRaw)(subOrderInfo);
|
|
315
309
|
const params = {
|
|
316
310
|
blockParentOrder,
|
|
317
311
|
deposit,
|
|
318
312
|
};
|
|
319
|
-
const { args, ...restPreparedInfo } = preparedInfo;
|
|
320
313
|
if (checkTxBeforeSend) {
|
|
321
|
-
await TxManager_js_1.default.dryRun(Order.contract.methods.createSubOrder(this.id,
|
|
322
|
-
...restPreparedInfo,
|
|
323
|
-
expectedPrice: restPreparedInfo.expectedPrice ?? '0',
|
|
324
|
-
maxPriceSlippage: restPreparedInfo.maxPriceSlippage ?? '0',
|
|
325
|
-
}, slots, args, params), transactionOptions);
|
|
314
|
+
await TxManager_js_1.default.dryRun(Order.contract.methods.createSubOrder(this.id, preparedInfo, slots, args, params), transactionOptions);
|
|
326
315
|
}
|
|
327
|
-
await TxManager_js_1.default.execute(Order.contract.methods.createSubOrder(this.id,
|
|
328
|
-
...restPreparedInfo,
|
|
329
|
-
expectedPrice: restPreparedInfo.expectedPrice ?? '0',
|
|
330
|
-
maxPriceSlippage: restPreparedInfo.maxPriceSlippage ?? '0',
|
|
331
|
-
}, slots, args, params), transactionOptions);
|
|
316
|
+
await TxManager_js_1.default.execute(Order.contract.methods.createSubOrder(this.id, preparedInfo, slots, args, params), transactionOptions);
|
|
332
317
|
}
|
|
333
318
|
/**
|
|
334
319
|
* Function for creating pack of sub orders (wokflow) for current order
|
|
@@ -343,17 +328,14 @@ class Order {
|
|
|
343
328
|
}
|
|
344
329
|
const promises = [];
|
|
345
330
|
for (let orderInfoIndex = 0; orderInfoIndex < subOrdersInfo.length; orderInfoIndex++) {
|
|
346
|
-
const
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
expectedPrice: subOrdersInfo[orderInfoIndex].expectedPrice ?? '0',
|
|
350
|
-
maxPriceSlippage: subOrdersInfo[orderInfoIndex].maxPriceSlippage ?? '0',
|
|
351
|
-
};
|
|
331
|
+
const { blocking, deposit, ...orderInfo } = subOrdersInfo[orderInfoIndex];
|
|
332
|
+
const args = orderInfo.args;
|
|
333
|
+
const preparedInfo = (0, index_js_1.orderInfoToRaw)(orderInfo);
|
|
352
334
|
const params = {
|
|
353
|
-
blockParentOrder:
|
|
354
|
-
deposit
|
|
335
|
+
blockParentOrder: blocking,
|
|
336
|
+
deposit,
|
|
355
337
|
};
|
|
356
|
-
const transactionCall = Order.contract.methods.createSubOrder(this.id, preparedInfo, subOrdersSlots[orderInfoIndex],
|
|
338
|
+
const transactionCall = Order.contract.methods.createSubOrder(this.id, preparedInfo, subOrdersSlots[orderInfoIndex], args, params);
|
|
357
339
|
promises.push(TxManager_js_1.default.execute(transactionCall, transactionOptions));
|
|
358
340
|
}
|
|
359
341
|
return (await Promise.all(promises)).map((tx) => tx.transactionHash);
|
|
@@ -540,4 +522,4 @@ __decorate([
|
|
|
540
522
|
__metadata("design:returntype", Promise)
|
|
541
523
|
], Order.prototype, "createSubOrders", null);
|
|
542
524
|
exports.default = Order;
|
|
543
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL09yZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0RBZ0IyQjtBQUczQiw2REFBc0M7QUFFdEMsa0RBTzRCO0FBQzVCLGtEQUEwRDtBQUMxRCxxREFBdUY7QUFDdkYsZ0ZBQXFEO0FBQ3JELHlFQUE4QztBQUM5Qyx3REFBNEQ7QUFDNUQsa0RBQWlHO0FBRWpHLE1BQU0sS0FBSztJQUNELE1BQU0sQ0FBQyxRQUFRLENBQXVCO0lBQ3RDLE1BQU0sQ0FBb0I7SUFFM0IsYUFBYSxDQUFjO0lBQzNCLFNBQVMsQ0FBYTtJQUN0QixXQUFXLENBQWU7SUFDMUIsU0FBUyxDQUFrQjtJQUMzQixXQUFXLENBQWdCO0lBQzNCLFFBQVEsQ0FBVTtJQUNsQixPQUFPLENBQVc7SUFDbEIsU0FBUyxDQUFVO0lBQ25CLEVBQUUsQ0FBZTtJQUV4QixZQUFZLE9BQXFCO1FBQy9CLElBQUksQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEIsS0FBSyxDQUFDLFFBQVEsR0FBRyw4QkFBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuRSxDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxtQkFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRDs7T0FFRztJQUNJLE9BQU87UUFDWixPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksaUJBQWlCO1FBQ3RCLE9BQU8s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
|
|
525
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL09yZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0RBbUIyQjtBQUczQiw2REFBc0M7QUFFdEMsa0RBTzRCO0FBQzVCLHFEQUF1RjtBQUN2RixnRkFBcUQ7QUFDckQseUVBQThDO0FBQzlDLHdEQUE0RDtBQUM1RCxrREFBaUc7QUFFakcsTUFBTSxLQUFLO0lBQ0QsTUFBTSxDQUFDLFFBQVEsQ0FBdUI7SUFDdEMsTUFBTSxDQUFvQjtJQUUzQixhQUFhLENBQWM7SUFDM0IsU0FBUyxDQUFhO0lBQ3RCLFdBQVcsQ0FBZTtJQUMxQixTQUFTLENBQWtCO0lBQzNCLFdBQVcsQ0FBZ0I7SUFDM0IsUUFBUSxDQUFVO0lBQ2xCLE9BQU8sQ0FBVztJQUNsQixTQUFTLENBQVU7SUFDbkIsRUFBRSxDQUFlO0lBRXhCLFlBQVksT0FBcUI7UUFDL0IsSUFBSSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNwQixLQUFLLENBQUMsUUFBUSxHQUFHLDhCQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25FLENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLG1CQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVEOztPQUVHO0lBQ0ksT0FBTztRQUNaLE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxpQkFBaUI7UUFDdEIsT0FBTyxLQUFLLENBQUMsUUFB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
|