@bitgo/abstract-eth 22.3.4 → 22.4.0
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/CHANGELOG.md +14 -0
- package/dist/src/abstractEthLikeCoin.d.ts +0 -2
- package/dist/src/abstractEthLikeCoin.d.ts.map +1 -1
- package/dist/src/abstractEthLikeCoin.js +3 -3
- package/dist/src/abstractEthLikeNewCoins.d.ts +1 -3
- package/dist/src/abstractEthLikeNewCoins.d.ts.map +1 -1
- package/dist/src/abstractEthLikeNewCoins.js +1 -1
- package/dist/src/ethLikeToken.js +1 -1
- package/dist/src/lib/index.js +18 -8
- package/dist/src/lib/keyPair.js +1 -1
- package/dist/src/lib/transaction.js +2 -2
- package/dist/src/lib/transactionBuilder.js +18 -8
- package/dist/src/lib/transferBuilder.d.ts +1 -3
- package/dist/src/lib/transferBuilder.d.ts.map +1 -1
- package/dist/src/lib/transferBuilder.js +19 -9
- package/dist/src/lib/transferBuilders/baseNFTTransferBuilder.js +2 -2
- package/dist/src/lib/transferBuilders/transferBuilderERC1155.js +1 -1
- package/dist/src/lib/transferBuilders/transferBuilderERC721.js +1 -1
- package/dist/src/lib/types.js +1 -1
- package/dist/src/lib/utils.d.ts +0 -2
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +36 -37
- package/dist/test/unit/coin.js +23 -14
- package/dist/test/unit/token.js +2 -3
- package/dist/test/unit/transaction.js +2 -3
- package/dist/test/unit/transactionBuilder/addressInitialization.js +7 -8
- package/dist/test/unit/transactionBuilder/send.js +20 -11
- package/dist/test/unit/transactionBuilder/walletInitialization.js +9 -10
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -7
|
@@ -15,18 +15,29 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
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
|
+
})();
|
|
25
35
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
37
|
};
|
|
28
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.
|
|
39
|
+
exports.runSendTests = runSendTests;
|
|
40
|
+
exports.testSendFundsTransaction = testSendFundsTransaction;
|
|
30
41
|
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
31
42
|
const ethereumjs_abi_1 = __importDefault(require("ethereumjs-abi"));
|
|
32
43
|
const should_1 = __importDefault(require("should"));
|
|
@@ -160,7 +171,6 @@ function runSendTests(coinName, txBuilder, getBuilder, testData) {
|
|
|
160
171
|
});
|
|
161
172
|
});
|
|
162
173
|
}
|
|
163
|
-
exports.runSendTests = runSendTests;
|
|
164
174
|
async function testSendFundsTransaction(tx, operationHash, txParams, testData) {
|
|
165
175
|
const { recipient, amount, contractAddress, expireTime, sequenceId } = txParams;
|
|
166
176
|
should_1.default.equal(tx.toJson().chainId, testData.TXDATA.chainId);
|
|
@@ -184,5 +194,4 @@ async function testSendFundsTransaction(tx, operationHash, txParams, testData) {
|
|
|
184
194
|
const senderKey = new src_1.KeyPair({ prv: testData.PRIVATE_KEY_1 });
|
|
185
195
|
ethUtil.bufferToHex(senderAddress).should.equal(senderKey.getAddress());
|
|
186
196
|
}
|
|
187
|
-
exports.testSendFundsTransaction = testSendFundsTransaction;
|
|
188
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Rlc3QvdW5pdC90cmFuc2FjdGlvbkJ1aWxkZXIvc2VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhDQUFtRTtBQUNuRSxvRUFBeUM7QUFDekMsb0RBQTRCO0FBQzVCLHlEQUEyQztBQUMzQyxzQ0FBK0U7QUFFL0UsU0FBZ0IsWUFBWSxDQUFDLFFBQWdCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxRQUFRO0lBQzVFLFFBQVEsQ0FBQyxHQUFHLFFBQVEsMkJBQTJCLEVBQUUsR0FBRyxFQUFFO1FBQ3BELFFBQVEsQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLEVBQUU7WUFDckMsSUFBSSxHQUFHLENBQUM7WUFDUixJQUFJLGVBQWUsQ0FBQztZQUNwQixNQUFNLHNCQUFzQixHQUFHLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQztZQUNqRSxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQzNCLE1BQU0sZ0JBQWdCLEdBQUcsVUFBVSxFQUFtQjtnQkFDcEQsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDN0IsTUFBTSxFQUFFLG9CQUFvQixFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLElBQUEsd0JBQWtCLEVBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzlGLE1BQU0sZUFBZSxHQUFHO29CQUN0QixDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDO29CQUN4RDt3QkFDRSxHQUFHLFFBQVEsQ0FBQyxRQUFRLFFBQVE7d0JBQzVCLElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQzt3QkFDOUMsTUFBTTt3QkFDTixJQUFJLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7d0JBQ3RFLFVBQVU7d0JBQ1YsVUFBVTtxQkFDWDtpQkFDRixDQUFDO2dCQUNGLE9BQU8sd0JBQVcsQ0FBQyxZQUFZLENBQUMsR0FBRyxlQUFlLENBQUMsQ0FBQztZQUN0RCxDQUFDLENBQUM7WUFFRixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLGVBQWUsR0FBRyw0Q0FBNEMsQ0FBQztnQkFDL0QsU0FBUyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQXVCLENBQUM7Z0JBQ25ELEdBQUcsR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQWEsQ0FBQztnQkFDbkQsU0FBUyxDQUFDLEdBQUcsQ0FBQztvQkFDWixHQUFHLEVBQUUsWUFBWTtvQkFDakIsUUFBUSxFQUFFLFVBQVU7aUJBQ3JCLENBQUMsQ0FBQztnQkFDSCxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNyQixTQUFTLENBQUMsSUFBSSxDQUFDLDBCQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3JDLFNBQVMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDdEMsQ0FBQyxDQUFDLENBQUM7WUFFSCxFQUFFLENBQUMsMEJBQTBCLEVBQUUsS0FBSyxJQUFJLEVBQUU7Z0JBQ3hDLE1BQU0sU0FBUyxHQUFHLDRDQUE0QyxDQUFDO2dCQUMvRCxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUM7Z0JBQzVCLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQztnQkFDOUIsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDO2dCQUNyQixTQUFTO3FCQUNOLFFBQVEsRUFBRTtxQkFDVixNQUFNLENBQUMsTUFBTSxDQUFDO3FCQUNkLEVBQUUsQ0FBQyxTQUFTLENBQUM7cUJBQ2IsY0FBYyxDQUFDLFVBQVUsQ0FBQztxQkFDMUIsa0JBQWtCLENBQUMsVUFBVSxDQUFDO3FCQUM5QixHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ1osU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztnQkFDaEQsTUFBTSxFQUFFLEdBQUcsTUFBTSxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ25DLGdCQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDM0QsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsUUFBUSxDQUFDLHdCQUF3QixDQUFDLENBQUM7Z0JBQ3hFLGdCQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNyQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDbEMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUM7Z0JBQ3BELGdCQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUV6QyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDbkMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQy9DLGdCQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUUxQyxNQUFNLElBQUksR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDO2dCQUM5QixNQUFNLEVBQ0osRUFBRSxFQUNGLE1BQU0sRUFBRSxZQUFZLEVBQ3BCLFVBQVUsRUFBRSxnQkFBZ0IsRUFDNUIsVUFBVSxFQUFFLGdCQUFnQixHQUM3QixHQUFHLElBQUEsd0JBQWtCLEVBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzdCLGdCQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDNUIsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUNuQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsQ0FBQztnQkFDM0MsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDN0MsQ0FBQyxDQUFDLENBQUM7WUFFSCxFQUFFLENBQUMsd0NBQXdDLEVBQUUsS0FBSyxJQUFJLEVBQUU7Z0JBQ3RELFNBQVM7cUJBQ04sUUFBUSxFQUFFO3FCQUNWLE1BQU0sQ0FBQyxHQUFHLENBQUM7cUJBQ1gsRUFBRSxDQUFDLDRDQUE0QyxDQUFDO3FCQUNoRCxjQUFjLENBQUMsVUFBVSxDQUFDO3FCQUMxQixrQkFBa0IsQ0FBQyxDQUFDLENBQUM7cUJBQ3JCLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDWixTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLFFBQVEsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO2dCQUNoRCxNQUFNLEVBQUUsR0FBRyxNQUFNLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDbkMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsUUFBUSxDQUFDLDZCQUE2QixDQUFDLENBQUM7WUFDL0UsQ0FBQyxDQUFDLENBQUM7WUFFSCxFQUFFLENBQUMsMEJBQTBCLEVBQUUsS0FBSyxJQUFJLEVBQUU7Z0JBQ3hDLE1BQU0sU0FBUyxHQUFHLDRDQUE0QyxDQUFDO2dCQUMvRCxNQUFNLGVBQWUsR0FBRyw0Q0FBNEMsQ0FBQztnQkFDckUsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQWEsQ0FBQztnQkFDekQsU0FBUyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDcEMsU0FBUztxQkFDTixRQUFRLEVBQUU7cUJBQ1YsSUFBSSxDQUFDLHNCQUFzQixDQUFDO3FCQUM1QixNQUFNLENBQUMsTUFBTSxDQUFDO3FCQUNkLEVBQUUsQ0FBQyxTQUFTLENBQUM7cUJBQ2IsY0FBYyxDQUFDLFVBQVUsQ0FBQztxQkFDMUIsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO3FCQUNyQixHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ1osU0FBUyxDQUFDLElBQUksQ0FBQztvQkFDYixHQUFHLEVBQUUsUUFBUSxDQUFDLGFBQWE7aUJBQzVCLENBQUMsQ0FBQztnQkFDSCxNQUFNLEVBQUUsR0FBRyxNQUFNLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDbkMsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzNDLGdCQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO2dCQUN2RSxnQkFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDckMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xDLGdCQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDO2dCQUNwRCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDekMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztnQkFFeEQsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ25DLGdCQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUMvQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDMUMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztnQkFFekQsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUEsd0JBQWtCLEVBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUUzRCxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUNsRCxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ25GLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ3pELE1BQU0sU0FBUyxHQUFHLElBQUksYUFBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLFFBQVEsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO2dCQUMvRCxPQUFPLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7WUFDMUUsQ0FBQyxDQUFDLENBQUM7WUFFSCxFQUFFLENBQUMsMkNBQTJDLEVBQUUsS0FBSyxJQUFJLEVBQUU7Z0JBQ3pELFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLENBQUM7Z0JBQ2pELE1BQU0sRUFBRSxHQUFHLE1BQU0sU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNuQyxNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDM0MsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsUUFBUSxDQUFDLHVCQUF1QixDQUFDLENBQUM7Z0JBRXZFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFBLHdCQUFrQixFQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDM0QsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDbEQsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNsRixNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUN6RCxNQUFNLFNBQVMsR0FBRyxJQUFJLGFBQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztnQkFDL0QsT0FBTyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1lBQzFFLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUEvSUQsb0NBK0lDO0FBRU0sS0FBSyxVQUFVLHdCQUF3QixDQUFDLEVBQU8sRUFBRSxhQUFxQixFQUFFLFFBQVEsRUFBRSxRQUFhO0lBQ3BHLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEdBQUcsUUFBUSxDQUFDO0lBQ2hGLGdCQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzRCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxRQUFRLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUN4RSxnQkFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNyQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNsQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxlQUFlLENBQUMsQ0FBQztJQUNwRCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztJQUV6QyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNuQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztJQUMvQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztJQUUxQyxNQUFNLElBQUksR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDO0lBQzlCLE1BQU0sRUFDSixFQUFFLEVBQ0YsTUFBTSxFQUFFLFlBQVksRUFDcEIsVUFBVSxFQUFFLGdCQUFnQixFQUM1QixVQUFVLEVBQUUsZ0JBQWdCLEVBQzVCLFNBQVMsR0FDVixHQUFHLElBQUEsd0JBQWtCLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFFN0IsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzVCLGdCQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUMzQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUMzQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDM0csTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN6RCxNQUFNLFNBQVMsR0FBRyxJQUFJLGFBQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUMvRCxPQUFPLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7QUFDMUUsQ0FBQztBQS9CRCw0REErQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUsIEJhc2VUcmFuc2FjdGlvbiB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgRXRoZXJldW1BYmkgZnJvbSAnZXRoZXJldW1qcy1hYmknO1xuaW1wb3J0IHNob3VsZCBmcm9tICdzaG91bGQnO1xuaW1wb3J0ICogYXMgZXRoVXRpbCBmcm9tICdldGhlcmV1bWpzLXV0aWwnO1xuaW1wb3J0IHsgZGVjb2RlVHJhbnNmZXJEYXRhLCBLZXlQYWlyLCBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuLi8uLi8uLi9zcmMnO1xuXG5leHBvcnQgZnVuY3Rpb24gcnVuU2VuZFRlc3RzKGNvaW5OYW1lOiBzdHJpbmcsIHR4QnVpbGRlciwgZ2V0QnVpbGRlciwgdGVzdERhdGEpIHtcbiAgZGVzY3JpYmUoYCR7Y29pbk5hbWV9IHRyYW5zYWN0aW9uIGJ1aWxkZXIgc2VuZGAsICgpID0+IHtcbiAgICBkZXNjcmliZSgnc2hvdWxkIHNpZ24gYW5kIGJ1aWxkJywgKCkgPT4ge1xuICAgICAgbGV0IGtleTtcbiAgICAgIGxldCBjb250cmFjdEFkZHJlc3M7XG4gICAgICBjb25zdCBuZXR3b3JrVG9rZW5JZGVudGlmaWVyID0gdGVzdERhdGEuTkVUV09SS19UT0tFTl9JREVOVElGSUVSO1xuICAgICAgY29uc3QgY29pbiA9IHRlc3REYXRhLkNPSU47XG4gICAgICBjb25zdCBnZXRPcGVyYXRpb25IYXNoID0gZnVuY3Rpb24gKHR4OiBCYXNlVHJhbnNhY3Rpb24pOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB7IGRhdGEgfSA9IHR4LnRvSnNvbigpO1xuICAgICAgICBjb25zdCB7IHRva2VuQ29udHJhY3RBZGRyZXNzLCBleHBpcmVUaW1lLCBzZXF1ZW5jZUlkLCBhbW91bnQsIHRvIH0gPSBkZWNvZGVUcmFuc2ZlckRhdGEoZGF0YSk7XG4gICAgICAgIGNvbnN0IG9wZXJhdGlvblBhcmFtcyA9IFtcbiAgICAgICAgICBbJ3N0cmluZycsICdhZGRyZXNzJywgJ3VpbnQnLCAnYWRkcmVzcycsICd1aW50JywgJ3VpbnQnXSxcbiAgICAgICAgICBbXG4gICAgICAgICAgICBgJHt0ZXN0RGF0YS5DSEFJTl9JRH0tRVJDMjBgLFxuICAgICAgICAgICAgbmV3IGV0aFV0aWwuQk4oZXRoVXRpbC5zdHJpcEhleFByZWZpeCh0byksIDE2KSxcbiAgICAgICAgICAgIGFtb3VudCxcbiAgICAgICAgICAgIG5ldyBldGhVdGlsLkJOKGV0aFV0aWwuc3RyaXBIZXhQcmVmaXgodG9rZW5Db250cmFjdEFkZHJlc3MgfHwgJycpLCAxNiksXG4gICAgICAgICAgICBleHBpcmVUaW1lLFxuICAgICAgICAgICAgc2VxdWVuY2VJZCxcbiAgICAgICAgICBdLFxuICAgICAgICBdO1xuICAgICAgICByZXR1cm4gRXRoZXJldW1BYmkuc29saWRpdHlTSEEzKC4uLm9wZXJhdGlvblBhcmFtcyk7XG4gICAgICB9O1xuXG4gICAgICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICAgICAgY29udHJhY3RBZGRyZXNzID0gJzB4OGY5NzdlOTEyZWY1MDA1NDhhMGMzYmU2ZGRkZTk4OTlmMTE5OWI4MSc7XG4gICAgICAgIHR4QnVpbGRlciA9IGdldEJ1aWxkZXIoY29pbikgYXMgVHJhbnNhY3Rpb25CdWlsZGVyO1xuICAgICAgICBrZXkgPSB0ZXN0RGF0YS5LRVlQQUlSX1BSVi5nZXRLZXlzKCkucHJ2IGFzIHN0cmluZztcbiAgICAgICAgdHhCdWlsZGVyLmZlZSh7XG4gICAgICAgICAgZmVlOiAnMTAwMDAwMDAwMCcsXG4gICAgICAgICAgZ2FzTGltaXQ6ICcxMjEwMDAwMCcsXG4gICAgICAgIH0pO1xuICAgICAgICB0eEJ1aWxkZXIuY291bnRlcigyKTtcbiAgICAgICAgdHhCdWlsZGVyLnR5cGUoVHJhbnNhY3Rpb25UeXBlLlNlbmQpO1xuICAgICAgICB0eEJ1aWxkZXIuY29udHJhY3QoY29udHJhY3RBZGRyZXNzKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnYSBzZW5kIGZ1bmRzIHRyYW5zYWN0aW9uJywgYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCByZWNpcGllbnQgPSAnMHgxOTY0NTAzMmM3ZjE1MzMzOTVkNDRhNjI5NDYyZTc1MTA4NGQzZTRjJztcbiAgICAgICAgY29uc3QgYW1vdW50ID0gJzEwMDAwMDAwMDAnO1xuICAgICAgICBjb25zdCBleHBpcmVUaW1lID0gMTU5MDA2NjcyODtcbiAgICAgICAgY29uc3Qgc2VxdWVuY2VJZCA9IDU7XG4gICAgICAgIHR4QnVpbGRlclxuICAgICAgICAgIC50cmFuc2ZlcigpXG4gICAgICAgICAgLmFtb3VudChhbW91bnQpXG4gICAgICAgICAgLnRvKHJlY2lwaWVudClcbiAgICAgICAgICAuZXhwaXJhdGlvblRpbWUoZXhwaXJlVGltZSlcbiAgICAgICAgICAuY29udHJhY3RTZXF1ZW5jZUlkKHNlcXVlbmNlSWQpXG4gICAgICAgICAgLmtleShrZXkpO1xuICAgICAgICB0eEJ1aWxkZXIuc2lnbih7IGtleTogdGVzdERhdGEuUFJJVkFURV9LRVlfMSB9KTtcbiAgICAgICAgY29uc3QgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKHR4LnRvSnNvbigpLmNoYWluSWQsIHRlc3REYXRhLlRYREFUQS5jaGFpbklkKTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCksIHRlc3REYXRhLlNFTkRfVFhfQlJPQURDQVNUX0xFR0FDWSk7XG4gICAgICAgIHNob3VsZC5lcXVhbCh0eC5zaWduYXR1cmUubGVuZ3RoLCAyKTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKHR4LmlucHV0cy5sZW5ndGgsIDEpO1xuICAgICAgICBzaG91bGQuZXF1YWwodHguaW5wdXRzWzBdLmFkZHJlc3MsIGNvbnRyYWN0QWRkcmVzcyk7XG4gICAgICAgIHNob3VsZC5lcXVhbCh0eC5pbnB1dHNbMF0udmFsdWUsIGFtb3VudCk7XG5cbiAgICAgICAgc2hvdWxkLmVxdWFsKHR4Lm91dHB1dHMubGVuZ3RoLCAxKTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKHR4Lm91dHB1dHNbMF0uYWRkcmVzcywgcmVjaXBpZW50KTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKHR4Lm91dHB1dHNbMF0udmFsdWUsIGFtb3VudCk7XG5cbiAgICAgICAgY29uc3QgZGF0YSA9IHR4LnRvSnNvbigpLmRhdGE7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICB0byxcbiAgICAgICAgICBhbW91bnQ6IHBhcnNlZEFtb3VudCxcbiAgICAgICAgICBleHBpcmVUaW1lOiBwYXJzZWRFeHBpcmVUaW1lLFxuICAgICAgICAgIHNlcXVlbmNlSWQ6IHBhcnNlZFNlcXVlbmNlSWQsXG4gICAgICAgIH0gPSBkZWNvZGVUcmFuc2ZlckRhdGEoZGF0YSk7XG4gICAgICAgIHNob3VsZC5lcXVhbCh0bywgcmVjaXBpZW50KTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKHBhcnNlZEFtb3VudCwgYW1vdW50KTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKHBhcnNlZEV4cGlyZVRpbWUsIGV4cGlyZVRpbWUpO1xuICAgICAgICBzaG91bGQuZXF1YWwocGFyc2VkU2VxdWVuY2VJZCwgc2VxdWVuY2VJZCk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ2Egc2VuZCBmdW5kcyB3aXRoIGFtb3VudCAwIHRyYW5zYWN0aW9uJywgYXN5bmMgKCkgPT4ge1xuICAgICAgICB0eEJ1aWxkZXJcbiAgICAgICAgICAudHJhbnNmZXIoKVxuICAgICAgICAgIC5hbW91bnQoJzAnKVxuICAgICAgICAgIC50bygnMHgxOTY0NTAzMmM3ZjE1MzMzOTVkNDRhNjI5NDYyZTc1MTA4NGQzZTRjJylcbiAgICAgICAgICAuZXhwaXJhdGlvblRpbWUoMTU5MDA2NjcyOClcbiAgICAgICAgICAuY29udHJhY3RTZXF1ZW5jZUlkKDUpXG4gICAgICAgICAgLmtleShrZXkpO1xuICAgICAgICB0eEJ1aWxkZXIuc2lnbih7IGtleTogdGVzdERhdGEuUFJJVkFURV9LRVlfMSB9KTtcbiAgICAgICAgY29uc3QgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCksIHRlc3REYXRhLlNFTkRfVFhfQU1PVU5UX1pFUk9fQlJPQURDQVNUKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnYSBzZW5kIHRva2VuIHRyYW5zYWN0aW9uJywgYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCByZWNpcGllbnQgPSAnMHg3MmMyYzhlMDhiZjkxZDc1NWNkN2QyNmI0OWEyZWUzZGM5OWRlMWI5JztcbiAgICAgICAgY29uc3QgY29udHJhY3RBZGRyZXNzID0gJzB4ZGY3ZGVjYjFiYWE4ZjUyOWYwYzg5ODJjYmI0YmU1MDM1NzE5NTI5OSc7XG4gICAgICAgIGNvbnN0IGFtb3VudCA9ICcxMDAnO1xuICAgICAgICBjb25zdCBrZXkgPSB0ZXN0RGF0YS5LRVlQQUlSX1BSVi5nZXRLZXlzKCkucHJ2IGFzIHN0cmluZztcbiAgICAgICAgdHhCdWlsZGVyLmNvbnRyYWN0KGNvbnRyYWN0QWRkcmVzcyk7XG4gICAgICAgIHR4QnVpbGRlclxuICAgICAgICAgIC50cmFuc2ZlcigpXG4gICAgICAgICAgLmNvaW4obmV0d29ya1Rva2VuSWRlbnRpZmllcilcbiAgICAgICAgICAuYW1vdW50KGFtb3VudClcbiAgICAgICAgICAudG8ocmVjaXBpZW50KVxuICAgICAgICAgIC5leHBpcmF0aW9uVGltZSgxNTkwMDY2NzI4KVxuICAgICAgICAgIC5jb250cmFjdFNlcXVlbmNlSWQoNSlcbiAgICAgICAgICAua2V5KGtleSk7XG4gICAgICAgIHR4QnVpbGRlci5zaWduKHtcbiAgICAgICAgICBrZXk6IHRlc3REYXRhLlBSSVZBVEVfS0VZXzEsXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgICAgICBjb25zdCBvcGVyYXRpb25IYXNoID0gZ2V0T3BlcmF0aW9uSGFzaCh0eCk7XG4gICAgICAgIHNob3VsZC5lcXVhbCh0eC50b0Jyb2FkY2FzdEZvcm1hdCgpLCB0ZXN0RGF0YS5TRU5EX1RPS0VOX1RYX0JST0FEQ0FTVCk7XG4gICAgICAgIHNob3VsZC5lcXVhbCh0eC5zaWduYXR1cmUubGVuZ3RoLCAyKTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKHR4LmlucHV0cy5sZW5ndGgsIDEpO1xuICAgICAgICBzaG91bGQuZXF1YWwodHguaW5wdXRzWzBdLmFkZHJlc3MsIGNvbnRyYWN0QWRkcmVzcyk7XG4gICAgICAgIHNob3VsZC5lcXVhbCh0eC5pbnB1dHNbMF0udmFsdWUsIGFtb3VudCk7XG4gICAgICAgIHNob3VsZC5lcXVhbCh0eC5pbnB1dHNbMF0uY29pbiwgbmV0d29ya1Rva2VuSWRlbnRpZmllcik7XG5cbiAgICAgICAgc2hvdWxkLmVxdWFsKHR4Lm91dHB1dHMubGVuZ3RoLCAxKTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKHR4Lm91dHB1dHNbMF0uYWRkcmVzcywgcmVjaXBpZW50KTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKHR4Lm91dHB1dHNbMF0udmFsdWUsIGFtb3VudCk7XG4gICAgICAgIHNob3VsZC5lcXVhbCh0eC5vdXRwdXRzWzBdLmNvaW4sIG5ldHdvcmtUb2tlbklkZW50aWZpZXIpO1xuXG4gICAgICAgIGNvbnN0IHsgc2lnbmF0dXJlIH0gPSBkZWNvZGVUcmFuc2ZlckRhdGEodHgudG9Kc29uKCkuZGF0YSk7XG5cbiAgICAgICAgY29uc3QgeyB2LCByLCBzIH0gPSBldGhVdGlsLmZyb21ScGNTaWcoc2lnbmF0dXJlKTtcbiAgICAgICAgY29uc3Qgc2VuZGVyUHViS2V5ID0gZXRoVXRpbC5lY3JlY292ZXIoQnVmZmVyLmZyb20ob3BlcmF0aW9uSGFzaCwgJ2hleCcpLCB2LCByLCBzKTtcbiAgICAgICAgY29uc3Qgc2VuZGVyQWRkcmVzcyA9IGV0aFV0aWwucHViVG9BZGRyZXNzKHNlbmRlclB1YktleSk7XG4gICAgICAgIGNvbnN0IHNlbmRlcktleSA9IG5ldyBLZXlQYWlyKHsgcHJ2OiB0ZXN0RGF0YS5QUklWQVRFX0tFWV8xIH0pO1xuICAgICAgICBldGhVdGlsLmJ1ZmZlclRvSGV4KHNlbmRlckFkZHJlc3MpLnNob3VsZC5lcXVhbChzZW5kZXJLZXkuZ2V0QWRkcmVzcygpKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnYSBzZW5kIHRva2VuIHRyYW5zYWN0aW9ucyBmcm9tIHNlcmlhbGl6ZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgICAgIHR4QnVpbGRlci5mcm9tKHRlc3REYXRhLlNFTkRfVE9LRU5fVFhfQlJPQURDQVNUKTtcbiAgICAgICAgY29uc3QgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgICAgICAgY29uc3Qgb3BlcmF0aW9uSGFzaCA9IGdldE9wZXJhdGlvbkhhc2godHgpO1xuICAgICAgICBzaG91bGQuZXF1YWwodHgudG9Ccm9hZGNhc3RGb3JtYXQoKSwgdGVzdERhdGEuU0VORF9UT0tFTl9UWF9CUk9BRENBU1QpO1xuXG4gICAgICAgIGNvbnN0IHsgc2lnbmF0dXJlIH0gPSBkZWNvZGVUcmFuc2ZlckRhdGEodHgudG9Kc29uKCkuZGF0YSk7XG4gICAgICAgIGNvbnN0IHsgdiwgciwgcyB9ID0gZXRoVXRpbC5mcm9tUnBjU2lnKHNpZ25hdHVyZSk7XG4gICAgICAgIGNvbnN0IHNlbmRlclB1YktleSA9IGV0aFV0aWwuZWNyZWNvdmVyKEJ1ZmZlci5mcm9tKG9wZXJhdGlvbkhhc2ggfHwgJycpLCB2LCByLCBzKTtcbiAgICAgICAgY29uc3Qgc2VuZGVyQWRkcmVzcyA9IGV0aFV0aWwucHViVG9BZGRyZXNzKHNlbmRlclB1YktleSk7XG4gICAgICAgIGNvbnN0IHNlbmRlcktleSA9IG5ldyBLZXlQYWlyKHsgcHJ2OiB0ZXN0RGF0YS5QUklWQVRFX0tFWV8xIH0pO1xuICAgICAgICBldGhVdGlsLmJ1ZmZlclRvSGV4KHNlbmRlckFkZHJlc3MpLnNob3VsZC5lcXVhbChzZW5kZXJLZXkuZ2V0QWRkcmVzcygpKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRlc3RTZW5kRnVuZHNUcmFuc2FjdGlvbih0eDogYW55LCBvcGVyYXRpb25IYXNoOiBzdHJpbmcsIHR4UGFyYW1zLCB0ZXN0RGF0YTogYW55KSB7XG4gIGNvbnN0IHsgcmVjaXBpZW50LCBhbW91bnQsIGNvbnRyYWN0QWRkcmVzcywgZXhwaXJlVGltZSwgc2VxdWVuY2VJZCB9ID0gdHhQYXJhbXM7XG4gIHNob3VsZC5lcXVhbCh0eC50b0pzb24oKS5jaGFpbklkLCB0ZXN0RGF0YS5UWERBVEEuY2hhaW5JZCk7XG4gIHNob3VsZC5lcXVhbCh0eC50b0Jyb2FkY2FzdEZvcm1hdCgpLCB0ZXN0RGF0YS5TRU5EX1RYX0JST0FEQ0FTVF9MRUdBQ1kpO1xuICBzaG91bGQuZXF1YWwodHguc2lnbmF0dXJlLmxlbmd0aCwgMik7XG4gIHNob3VsZC5lcXVhbCh0eC5pbnB1dHMubGVuZ3RoLCAxKTtcbiAgc2hvdWxkLmVxdWFsKHR4LmlucHV0c1swXS5hZGRyZXNzLCBjb250cmFjdEFkZHJlc3MpO1xuICBzaG91bGQuZXF1YWwodHguaW5wdXRzWzBdLnZhbHVlLCBhbW91bnQpO1xuXG4gIHNob3VsZC5lcXVhbCh0eC5vdXRwdXRzLmxlbmd0aCwgMSk7XG4gIHNob3VsZC5lcXVhbCh0eC5vdXRwdXRzWzBdLmFkZHJlc3MsIHJlY2lwaWVudCk7XG4gIHNob3VsZC5lcXVhbCh0eC5vdXRwdXRzWzBdLnZhbHVlLCBhbW91bnQpO1xuXG4gIGNvbnN0IGRhdGEgPSB0eC50b0pzb24oKS5kYXRhO1xuICBjb25zdCB7XG4gICAgdG8sXG4gICAgYW1vdW50OiBwYXJzZWRBbW91bnQsXG4gICAgZXhwaXJlVGltZTogcGFyc2VkRXhwaXJlVGltZSxcbiAgICBzZXF1ZW5jZUlkOiBwYXJzZWRTZXF1ZW5jZUlkLFxuICAgIHNpZ25hdHVyZSxcbiAgfSA9IGRlY29kZVRyYW5zZmVyRGF0YShkYXRhKTtcblxuICBzaG91bGQuZXF1YWwodG8sIHJlY2lwaWVudCk7XG4gIHNob3VsZC5lcXVhbChwYXJzZWRBbW91bnQsIGFtb3VudCk7XG4gIHNob3VsZC5lcXVhbChwYXJzZWRFeHBpcmVUaW1lLCBleHBpcmVUaW1lKTtcbiAgc2hvdWxkLmVxdWFsKHBhcnNlZFNlcXVlbmNlSWQsIHNlcXVlbmNlSWQpO1xuICBjb25zdCB7IHYsIHIsIHMgfSA9IGV0aFV0aWwuZnJvbVJwY1NpZyhzaWduYXR1cmUpO1xuICBjb25zdCBzZW5kZXJQdWJLZXkgPSBldGhVdGlsLmVjcmVjb3ZlcihCdWZmZXIuZnJvbShldGhVdGlsLnN0cmlwSGV4UHJlZml4KG9wZXJhdGlvbkhhc2gpLCAnaGV4JyksIHYsIHIsIHMpO1xuICBjb25zdCBzZW5kZXJBZGRyZXNzID0gZXRoVXRpbC5wdWJUb0FkZHJlc3Moc2VuZGVyUHViS2V5KTtcbiAgY29uc3Qgc2VuZGVyS2V5ID0gbmV3IEtleVBhaXIoeyBwcnY6IHRlc3REYXRhLlBSSVZBVEVfS0VZXzEgfSk7XG4gIGV0aFV0aWwuYnVmZmVyVG9IZXgoc2VuZGVyQWRkcmVzcykuc2hvdWxkLmVxdWFsKHNlbmRlcktleS5nZXRBZGRyZXNzKCkpO1xufVxuIl19
|
|
197
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Rlc3QvdW5pdC90cmFuc2FjdGlvbkJ1aWxkZXIvc2VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1BLG9DQStJQztBQUVELDREQStCQztBQXRMRCw4Q0FBbUU7QUFDbkUsb0VBQXlDO0FBQ3pDLG9EQUE0QjtBQUM1Qix5REFBMkM7QUFDM0Msc0NBQStFO0FBRS9FLFNBQWdCLFlBQVksQ0FBQyxRQUFnQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUTtJQUM1RSxRQUFRLENBQUMsR0FBRyxRQUFRLDJCQUEyQixFQUFFLEdBQUcsRUFBRTtRQUNwRCxRQUFRLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxFQUFFO1lBQ3JDLElBQUksR0FBRyxDQUFDO1lBQ1IsSUFBSSxlQUFlLENBQUM7WUFDcEIsTUFBTSxzQkFBc0IsR0FBRyxRQUFRLENBQUMsd0JBQXdCLENBQUM7WUFDakUsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztZQUMzQixNQUFNLGdCQUFnQixHQUFHLFVBQVUsRUFBbUI7Z0JBQ3BELE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQzdCLE1BQU0sRUFBRSxvQkFBb0IsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFBLHdCQUFrQixFQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM5RixNQUFNLGVBQWUsR0FBRztvQkFDdEIsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQztvQkFDeEQ7d0JBQ0UsR0FBRyxRQUFRLENBQUMsUUFBUSxRQUFRO3dCQUM1QixJQUFJLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFD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QVMsR0FBRyxJQUFJLGFBQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUMvRCxPQUFPLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7QUFDMUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSwgQmFzZVRyYW5zYWN0aW9uIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCBFdGhlcmV1bUFiaSBmcm9tICdldGhlcmV1bWpzLWFiaSc7XG5pbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5pbXBvcnQgKiBhcyBldGhVdGlsIGZyb20gJ2V0aGVyZXVtanMtdXRpbCc7XG5pbXBvcnQgeyBkZWNvZGVUcmFuc2ZlckRhdGEsIEtleVBhaXIsIFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4uLy4uLy4uL3NyYyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBydW5TZW5kVGVzdHMoY29pbk5hbWU6IHN0cmluZywgdHhCdWlsZGVyLCBnZXRCdWlsZGVyLCB0ZXN0RGF0YSkge1xuICBkZXNjcmliZShgJHtjb2luTmFtZX0gdHJhbnNhY3Rpb24gYnVpbGRlciBzZW5kYCwgKCkgPT4ge1xuICAgIGRlc2NyaWJlKCdzaG91bGQgc2lnbiBhbmQgYnVpbGQnLCAoKSA9PiB7XG4gICAgICBsZXQga2V5O1xuICAgICAgbGV0IGNvbnRyYWN0QWRkcmVzcztcbiAgICAgIGNvbnN0IG5ldHdvcmtUb2tlbklkZW50aWZpZXIgPSB0ZXN0RGF0YS5ORVRXT1JLX1RPS0VOX0lERU5USUZJRVI7XG4gICAgICBjb25zdCBjb2luID0gdGVzdERhdGEuQ09JTjtcbiAgICAgIGNvbnN0IGdldE9wZXJhdGlvbkhhc2ggPSBmdW5jdGlvbiAodHg6IEJhc2VUcmFuc2FjdGlvbik6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHsgZGF0YSB9ID0gdHgudG9Kc29uKCk7XG4gICAgICAgIGNvbnN0IHsgdG9rZW5Db250cmFjdEFkZHJlc3MsIGV4cGlyZVRpbWUsIHNlcXVlbmNlSWQsIGFtb3VudCwgdG8gfSA9IGRlY29kZVRyYW5zZmVyRGF0YShkYXRhKTtcbiAgICAgICAgY29uc3Qgb3BlcmF0aW9uUGFyYW1zID0gW1xuICAgICAgICAgIFsnc3RyaW5nJywgJ2FkZHJlc3MnLCAndWludCcsICdhZGRyZXNzJywgJ3VpbnQnLCAndWludCddLFxuICAgICAgICAgIFtcbiAgICAgICAgICAgIGAke3Rlc3REYXRhLkNIQUlOX0lEfS1FUkMyMGAsXG4gICAgICAgICAgICBuZXcgZXRoVXRpbC5CTihldGhVdGlsLnN0cmlwSGV4UHJlZml4KHRvKSwgMTYpLFxuICAgICAgICAgICAgYW1vdW50LFxuICAgICAgICAgICAgbmV3IGV0aFV0aWwuQk4oZXRoVXRpbC5zdHJpcEhleFByZWZpeCh0b2tlbkNvbnRyYWN0QWRkcmVzcyB8fCAnJyksIDE2KSxcbiAgICAgICAgICAgIGV4cGlyZVRpbWUsXG4gICAgICAgICAgICBzZXF1ZW5jZUlkLFxuICAgICAgICAgIF0sXG4gICAgICAgIF07XG4gICAgICAgIHJldHVybiBFdGhlcmV1bUFiaS5zb2xpZGl0eVNIQTMoLi4ub3BlcmF0aW9uUGFyYW1zKTtcbiAgICAgIH07XG5cbiAgICAgIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgICAgICBjb250cmFjdEFkZHJlc3MgPSAnMHg4Zjk3N2U5MTJlZjUwMDU0OGEwYzNiZTZkZGRlOTg5OWYxMTk5YjgxJztcbiAgICAgICAgdHhCdWlsZGVyID0gZ2V0QnVpbGRlcihjb2luKSBhcyBUcmFuc2FjdGlvbkJ1aWxkZXI7XG4gICAgICAgIGtleSA9IHRlc3REYXRhLktFWVBBSVJfUFJWLmdldEtleXMoKS5wcnYgYXMgc3RyaW5nO1xuICAgICAgICB0eEJ1aWxkZXIuZmVlKHtcbiAgICAgICAgICBmZWU6ICcxMDAwMDAwMDAwJyxcbiAgICAgICAgICBnYXNMaW1pdDogJzEyMTAwMDAwJyxcbiAgICAgICAgfSk7XG4gICAgICAgIHR4QnVpbGRlci5jb3VudGVyKDIpO1xuICAgICAgICB0eEJ1aWxkZXIudHlwZShUcmFuc2FjdGlvblR5cGUuU2VuZCk7XG4gICAgICAgIHR4QnVpbGRlci5jb250cmFjdChjb250cmFjdEFkZHJlc3MpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdhIHNlbmQgZnVuZHMgdHJhbnNhY3Rpb24nLCBhc3luYyAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlY2lwaWVudCA9ICcweDE5NjQ1MDMyYzdmMTUzMzM5NWQ0NGE2Mjk0NjJlNzUxMDg0ZDNlNGMnO1xuICAgICAgICBjb25zdCBhbW91bnQgPSAnMTAwMDAwMDAwMCc7XG4gICAgICAgIGNvbnN0IGV4cGlyZVRpbWUgPSAxNTkwMDY2NzI4O1xuICAgICAgICBjb25zdCBzZXF1ZW5jZUlkID0gNTtcbiAgICAgICAgdHhCdWlsZGVyXG4gICAgICAgICAgLnRyYW5zZmVyKClcbiAgICAgICAgICAuYW1vdW50KGFtb3VudClcbiAgICAgICAgICAudG8ocmVjaXBpZW50KVxuICAgICAgICAgIC5leHBpcmF0aW9uVGltZShleHBpcmVUaW1lKVxuICAgICAgICAgIC5jb250cmFjdFNlcXVlbmNlSWQoc2VxdWVuY2VJZClcbiAgICAgICAgICAua2V5KGtleSk7XG4gICAgICAgIHR4QnVpbGRlci5zaWduKHsga2V5OiB0ZXN0RGF0YS5QUklWQVRFX0tFWV8xIH0pO1xuICAgICAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgICAgICBzaG91bGQuZXF1YWwodHgudG9Kc29uKCkuY2hhaW5JZCwgdGVzdERhdGEuVFhEQVRBLmNoYWluSWQpO1xuICAgICAgICBzaG91bGQuZXF1YWwodHgudG9Ccm9hZGNhc3RGb3JtYXQoKSwgdGVzdERhdGEuU0VORF9UWF9CUk9BRENBU1RfTEVHQUNZKTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKHR4LnNpZ25hdHVyZS5sZW5ndGgsIDIpO1xuICAgICAgICBzaG91bGQuZXF1YWwodHguaW5wdXRzLmxlbmd0aCwgMSk7XG4gICAgICAgIHNob3VsZC5lcXVhbCh0eC5pbnB1dHNbMF0uYWRkcmVzcywgY29udHJhY3RBZGRyZXNzKTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKHR4LmlucHV0c1swXS52YWx1ZSwgYW1vdW50KTtcblxuICAgICAgICBzaG91bGQuZXF1YWwodHgub3V0cHV0cy5sZW5ndGgsIDEpO1xuICAgICAgICBzaG91bGQuZXF1YWwodHgub3V0cHV0c1swXS5hZGRyZXNzLCByZWNpcGllbnQpO1xuICAgICAgICBzaG91bGQuZXF1YWwodHgub3V0cHV0c1swXS52YWx1ZSwgYW1vdW50KTtcblxuICAgICAgICBjb25zdCBkYXRhID0gdHgudG9Kc29uKCkuZGF0YTtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgIHRvLFxuICAgICAgICAgIGFtb3VudDogcGFyc2VkQW1vdW50LFxuICAgICAgICAgIGV4cGlyZVRpbWU6IHBhcnNlZEV4cGlyZVRpbWUsXG4gICAgICAgICAgc2VxdWVuY2VJZDogcGFyc2VkU2VxdWVuY2VJZCxcbiAgICAgICAgfSA9IGRlY29kZVRyYW5zZmVyRGF0YShkYXRhKTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKHRvLCByZWNpcGllbnQpO1xuICAgICAgICBzaG91bGQuZXF1YWwocGFyc2VkQW1vdW50LCBhbW91bnQpO1xuICAgICAgICBzaG91bGQuZXF1YWwocGFyc2VkRXhwaXJlVGltZSwgZXhwaXJlVGltZSk7XG4gICAgICAgIHNob3VsZC5lcXVhbChwYXJzZWRTZXF1ZW5jZUlkLCBzZXF1ZW5jZUlkKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnYSBzZW5kIGZ1bmRzIHdpdGggYW1vdW50IDAgdHJhbnNhY3Rpb24nLCBhc3luYyAoKSA9PiB7XG4gICAgICAgIHR4QnVpbGRlclxuICAgICAgICAgIC50cmFuc2ZlcigpXG4gICAgICAgICAgLmFtb3VudCgnMCcpXG4gICAgICAgICAgLnRvKCcweDE5NjQ1MDMyYzdmMTUzMzM5NWQ0NGE2Mjk0NjJlNzUxMDg0ZDNlNGMnKVxuICAgICAgICAgIC5leHBpcmF0aW9uVGltZSgxNTkwMDY2NzI4KVxuICAgICAgICAgIC5jb250cmFjdFNlcXVlbmNlSWQoNSlcbiAgICAgICAgICAua2V5KGtleSk7XG4gICAgICAgIHR4QnVpbGRlci5zaWduKHsga2V5OiB0ZXN0RGF0YS5QUklWQVRFX0tFWV8xIH0pO1xuICAgICAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgICAgICBzaG91bGQuZXF1YWwodHgudG9Ccm9hZGNhc3RGb3JtYXQoKSwgdGVzdERhdGEuU0VORF9UWF9BTU9VTlRfWkVST19CUk9BRENBU1QpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdhIHNlbmQgdG9rZW4gdHJhbnNhY3Rpb24nLCBhc3luYyAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlY2lwaWVudCA9ICcweDcyYzJjOGUwOGJmOTFkNzU1Y2Q3ZDI2YjQ5YTJlZTNkYzk5ZGUxYjknO1xuICAgICAgICBjb25zdCBjb250cmFjdEFkZHJlc3MgPSAnMHhkZjdkZWNiMWJhYThmNTI5ZjBjODk4MmNiYjRiZTUwMzU3MTk1Mjk5JztcbiAgICAgICAgY29uc3QgYW1vdW50ID0gJzEwMCc7XG4gICAgICAgIGNvbnN0IGtleSA9IHRlc3REYXRhLktFWVBBSVJfUFJWLmdldEtleXMoKS5wcnYgYXMgc3RyaW5nO1xuICAgICAgICB0eEJ1aWxkZXIuY29udHJhY3QoY29udHJhY3RBZGRyZXNzKTtcbiAgICAgICAgdHhCdWlsZGVyXG4gICAgICAgICAgLnRyYW5zZmVyKClcbiAgICAgICAgICAuY29pbihuZXR3b3JrVG9rZW5JZGVudGlmaWVyKVxuICAgICAgICAgIC5hbW91bnQoYW1vdW50KVxuICAgICAgICAgIC50byhyZWNpcGllbnQpXG4gICAgICAgICAgLmV4cGlyYXRpb25UaW1lKDE1OTAwNjY3MjgpXG4gICAgICAgICAgLmNvbnRyYWN0U2VxdWVuY2VJZCg1KVxuICAgICAgICAgIC5rZXkoa2V5KTtcbiAgICAgICAgdHhCdWlsZGVyLnNpZ24oe1xuICAgICAgICAgIGtleTogdGVzdERhdGEuUFJJVkFURV9LRVlfMSxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgICAgIGNvbnN0IG9wZXJhdGlvbkhhc2ggPSBnZXRPcGVyYXRpb25IYXNoKHR4KTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCksIHRlc3REYXRhLlNFTkRfVE9LRU5fVFhfQlJPQURDQVNUKTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKHR4LnNpZ25hdHVyZS5sZW5ndGgsIDIpO1xuICAgICAgICBzaG91bGQuZXF1YWwodHguaW5wdXRzLmxlbmd0aCwgMSk7XG4gICAgICAgIHNob3VsZC5lcXVhbCh0eC5pbnB1dHNbMF0uYWRkcmVzcywgY29udHJhY3RBZGRyZXNzKTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKHR4LmlucHV0c1swXS52YWx1ZSwgYW1vdW50KTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKHR4LmlucHV0c1swXS5jb2luLCBuZXR3b3JrVG9rZW5JZGVudGlmaWVyKTtcblxuICAgICAgICBzaG91bGQuZXF1YWwodHgub3V0cHV0cy5sZW5ndGgsIDEpO1xuICAgICAgICBzaG91bGQuZXF1YWwodHgub3V0cHV0c1swXS5hZGRyZXNzLCByZWNpcGllbnQpO1xuICAgICAgICBzaG91bGQuZXF1YWwodHgub3V0cHV0c1swXS52YWx1ZSwgYW1vdW50KTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKHR4Lm91dHB1dHNbMF0uY29pbiwgbmV0d29ya1Rva2VuSWRlbnRpZmllcik7XG5cbiAgICAgICAgY29uc3QgeyBzaWduYXR1cmUgfSA9IGRlY29kZVRyYW5zZmVyRGF0YSh0eC50b0pzb24oKS5kYXRhKTtcblxuICAgICAgICBjb25zdCB7IHYsIHIsIHMgfSA9IGV0aFV0aWwuZnJvbVJwY1NpZyhzaWduYXR1cmUpO1xuICAgICAgICBjb25zdCBzZW5kZXJQdWJLZXkgPSBldGhVdGlsLmVjcmVjb3ZlcihCdWZmZXIuZnJvbShvcGVyYXRpb25IYXNoLCAnaGV4JyksIHYsIHIsIHMpO1xuICAgICAgICBjb25zdCBzZW5kZXJBZGRyZXNzID0gZXRoVXRpbC5wdWJUb0FkZHJlc3Moc2VuZGVyUHViS2V5KTtcbiAgICAgICAgY29uc3Qgc2VuZGVyS2V5ID0gbmV3IEtleVBhaXIoeyBwcnY6IHRlc3REYXRhLlBSSVZBVEVfS0VZXzEgfSk7XG4gICAgICAgIGV0aFV0aWwuYnVmZmVyVG9IZXgoc2VuZGVyQWRkcmVzcykuc2hvdWxkLmVxdWFsKHNlbmRlcktleS5nZXRBZGRyZXNzKCkpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdhIHNlbmQgdG9rZW4gdHJhbnNhY3Rpb25zIGZyb20gc2VyaWFsaXplZCcsIGFzeW5jICgpID0+IHtcbiAgICAgICAgdHhCdWlsZGVyLmZyb20odGVzdERhdGEuU0VORF9UT0tFTl9UWF9CUk9BRENBU1QpO1xuICAgICAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgICAgICBjb25zdCBvcGVyYXRpb25IYXNoID0gZ2V0T3BlcmF0aW9uSGFzaCh0eCk7XG4gICAgICAgIHNob3VsZC5lcXVhbCh0eC50b0Jyb2FkY2FzdEZvcm1hdCgpLCB0ZXN0RGF0YS5TRU5EX1RPS0VOX1RYX0JST0FEQ0FTVCk7XG5cbiAgICAgICAgY29uc3QgeyBzaWduYXR1cmUgfSA9IGRlY29kZVRyYW5zZmVyRGF0YSh0eC50b0pzb24oKS5kYXRhKTtcbiAgICAgICAgY29uc3QgeyB2LCByLCBzIH0gPSBldGhVdGlsLmZyb21ScGNTaWcoc2lnbmF0dXJlKTtcbiAgICAgICAgY29uc3Qgc2VuZGVyUHViS2V5ID0gZXRoVXRpbC5lY3JlY292ZXIoQnVmZmVyLmZyb20ob3BlcmF0aW9uSGFzaCB8fCAnJyksIHYsIHIsIHMpO1xuICAgICAgICBjb25zdCBzZW5kZXJBZGRyZXNzID0gZXRoVXRpbC5wdWJUb0FkZHJlc3Moc2VuZGVyUHViS2V5KTtcbiAgICAgICAgY29uc3Qgc2VuZGVyS2V5ID0gbmV3IEtleVBhaXIoeyBwcnY6IHRlc3REYXRhLlBSSVZBVEVfS0VZXzEgfSk7XG4gICAgICAgIGV0aFV0aWwuYnVmZmVyVG9IZXgoc2VuZGVyQWRkcmVzcykuc2hvdWxkLmVxdWFsKHNlbmRlcktleS5nZXRBZGRyZXNzKCkpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdGVzdFNlbmRGdW5kc1RyYW5zYWN0aW9uKHR4OiBhbnksIG9wZXJhdGlvbkhhc2g6IHN0cmluZywgdHhQYXJhbXMsIHRlc3REYXRhOiBhbnkpIHtcbiAgY29uc3QgeyByZWNpcGllbnQsIGFtb3VudCwgY29udHJhY3RBZGRyZXNzLCBleHBpcmVUaW1lLCBzZXF1ZW5jZUlkIH0gPSB0eFBhcmFtcztcbiAgc2hvdWxkLmVxdWFsKHR4LnRvSnNvbigpLmNoYWluSWQsIHRlc3REYXRhLlRYREFUQS5jaGFpbklkKTtcbiAgc2hvdWxkLmVxdWFsKHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCksIHRlc3REYXRhLlNFTkRfVFhfQlJPQURDQVNUX0xFR0FDWSk7XG4gIHNob3VsZC5lcXVhbCh0eC5zaWduYXR1cmUubGVuZ3RoLCAyKTtcbiAgc2hvdWxkLmVxdWFsKHR4LmlucHV0cy5sZW5ndGgsIDEpO1xuICBzaG91bGQuZXF1YWwodHguaW5wdXRzWzBdLmFkZHJlc3MsIGNvbnRyYWN0QWRkcmVzcyk7XG4gIHNob3VsZC5lcXVhbCh0eC5pbnB1dHNbMF0udmFsdWUsIGFtb3VudCk7XG5cbiAgc2hvdWxkLmVxdWFsKHR4Lm91dHB1dHMubGVuZ3RoLCAxKTtcbiAgc2hvdWxkLmVxdWFsKHR4Lm91dHB1dHNbMF0uYWRkcmVzcywgcmVjaXBpZW50KTtcbiAgc2hvdWxkLmVxdWFsKHR4Lm91dHB1dHNbMF0udmFsdWUsIGFtb3VudCk7XG5cbiAgY29uc3QgZGF0YSA9IHR4LnRvSnNvbigpLmRhdGE7XG4gIGNvbnN0IHtcbiAgICB0byxcbiAgICBhbW91bnQ6IHBhcnNlZEFtb3VudCxcbiAgICBleHBpcmVUaW1lOiBwYXJzZWRFeHBpcmVUaW1lLFxuICAgIHNlcXVlbmNlSWQ6IHBhcnNlZFNlcXVlbmNlSWQsXG4gICAgc2lnbmF0dXJlLFxuICB9ID0gZGVjb2RlVHJhbnNmZXJEYXRhKGRhdGEpO1xuXG4gIHNob3VsZC5lcXVhbCh0bywgcmVjaXBpZW50KTtcbiAgc2hvdWxkLmVxdWFsKHBhcnNlZEFtb3VudCwgYW1vdW50KTtcbiAgc2hvdWxkLmVxdWFsKHBhcnNlZEV4cGlyZVRpbWUsIGV4cGlyZVRpbWUpO1xuICBzaG91bGQuZXF1YWwocGFyc2VkU2VxdWVuY2VJZCwgc2VxdWVuY2VJZCk7XG4gIGNvbnN0IHsgdiwgciwgcyB9ID0gZXRoVXRpbC5mcm9tUnBjU2lnKHNpZ25hdHVyZSk7XG4gIGNvbnN0IHNlbmRlclB1YktleSA9IGV0aFV0aWwuZWNyZWNvdmVyKEJ1ZmZlci5mcm9tKGV0aFV0aWwuc3RyaXBIZXhQcmVmaXgob3BlcmF0aW9uSGFzaCksICdoZXgnKSwgdiwgciwgcyk7XG4gIGNvbnN0IHNlbmRlckFkZHJlc3MgPSBldGhVdGlsLnB1YlRvQWRkcmVzcyhzZW5kZXJQdWJLZXkpO1xuICBjb25zdCBzZW5kZXJLZXkgPSBuZXcgS2V5UGFpcih7IHBydjogdGVzdERhdGEuUFJJVkFURV9LRVlfMSB9KTtcbiAgZXRoVXRpbC5idWZmZXJUb0hleChzZW5kZXJBZGRyZXNzKS5zaG91bGQuZXF1YWwoc2VuZGVyS2V5LmdldEFkZHJlc3MoKSk7XG59XG4iXX0=
|
|
@@ -3,7 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.testInitTransaction = testInitTransaction;
|
|
7
|
+
exports.testWalletInitTransaction = testWalletInitTransaction;
|
|
8
|
+
exports.testSignedInitTransaction = testSignedInitTransaction;
|
|
9
|
+
exports.testUnsignedInitTransaction = testUnsignedInitTransaction;
|
|
10
|
+
exports.testUnsignedInitTransactionFromSerialized = testUnsignedInitTransactionFromSerialized;
|
|
11
|
+
exports.testFinalVCheck = testFinalVCheck;
|
|
12
|
+
exports.testRecoveryWalletDeployment = testRecoveryWalletDeployment;
|
|
13
|
+
exports.testRecoveryTransactionWithoutData = testRecoveryTransactionWithoutData;
|
|
7
14
|
const should_1 = __importDefault(require("should"));
|
|
8
15
|
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
9
16
|
function addOwner(txBuilder, testData) {
|
|
@@ -25,7 +32,6 @@ async function testInitTransaction(txBuilder, testData) {
|
|
|
25
32
|
should_1.default.equal(tx.toBroadcastFormat(), testData.TX_BROADCAST);
|
|
26
33
|
});
|
|
27
34
|
}
|
|
28
|
-
exports.testInitTransaction = testInitTransaction;
|
|
29
35
|
async function testWalletInitTransaction(txBuilder, testData) {
|
|
30
36
|
it('a wallet initialization transaction with nonce 0', async () => {
|
|
31
37
|
addOwner(txBuilder, testData);
|
|
@@ -40,7 +46,6 @@ async function testWalletInitTransaction(txBuilder, testData) {
|
|
|
40
46
|
should_1.default.equal(txJson.chainId, testData.TXDATA.chainId);
|
|
41
47
|
});
|
|
42
48
|
}
|
|
43
|
-
exports.testWalletInitTransaction = testWalletInitTransaction;
|
|
44
49
|
async function testSignedInitTransaction(newTxBuilder, testData) {
|
|
45
50
|
it('a signed init transaction from serialized', async () => {
|
|
46
51
|
newTxBuilder.from(testData.TX_BROADCAST);
|
|
@@ -54,7 +59,6 @@ async function testSignedInitTransaction(newTxBuilder, testData) {
|
|
|
54
59
|
should_1.default.exist(txJson.from);
|
|
55
60
|
});
|
|
56
61
|
}
|
|
57
|
-
exports.testSignedInitTransaction = testSignedInitTransaction;
|
|
58
62
|
async function testUnsignedInitTransaction(txBuilder, newTxBuilder, testData) {
|
|
59
63
|
it('an unsigned init transaction from serialized with 0-prefixed address', async () => {
|
|
60
64
|
addOwner(txBuilder, testData);
|
|
@@ -65,7 +69,6 @@ async function testUnsignedInitTransaction(txBuilder, newTxBuilder, testData) {
|
|
|
65
69
|
should_1.default.equal(newTx.toBroadcastFormat(), serialized);
|
|
66
70
|
});
|
|
67
71
|
}
|
|
68
|
-
exports.testUnsignedInitTransaction = testUnsignedInitTransaction;
|
|
69
72
|
async function testUnsignedInitTransactionFromSerialized(txBuilder, newTxBuilder, testData) {
|
|
70
73
|
it('an unsigned init transaction from serialized', async () => {
|
|
71
74
|
addOwner(txBuilder, testData);
|
|
@@ -76,7 +79,6 @@ async function testUnsignedInitTransactionFromSerialized(txBuilder, newTxBuilder
|
|
|
76
79
|
should_1.default.equal(newTx.toBroadcastFormat(), serialized);
|
|
77
80
|
});
|
|
78
81
|
}
|
|
79
|
-
exports.testUnsignedInitTransactionFromSerialized = testUnsignedInitTransactionFromSerialized;
|
|
80
82
|
async function testFinalVCheck(txBuilder, testData) {
|
|
81
83
|
it('an unsigned transaction with final v check', async () => {
|
|
82
84
|
addOwner(txBuilder, testData);
|
|
@@ -84,7 +86,6 @@ async function testFinalVCheck(txBuilder, testData) {
|
|
|
84
86
|
should_1.default.equal(tx.toJson().v, testData.FINAL_V);
|
|
85
87
|
});
|
|
86
88
|
}
|
|
87
|
-
exports.testFinalVCheck = testFinalVCheck;
|
|
88
89
|
async function testRecoveryWalletDeployment(txBuilder, testData) {
|
|
89
90
|
it('wallet deployment transaction for recovery', async () => {
|
|
90
91
|
txBuilder.type(sdk_core_1.TransactionType.RecoveryWalletDeployment);
|
|
@@ -105,7 +106,6 @@ async function testRecoveryWalletDeployment(txBuilder, testData) {
|
|
|
105
106
|
should_1.default.exists(tx.toBroadcastFormat());
|
|
106
107
|
});
|
|
107
108
|
}
|
|
108
|
-
exports.testRecoveryWalletDeployment = testRecoveryWalletDeployment;
|
|
109
109
|
async function testRecoveryTransactionWithoutData(txBuilder) {
|
|
110
110
|
it('fail when data is not passed recovery', async () => {
|
|
111
111
|
txBuilder.type(sdk_core_1.TransactionType.RecoveryWalletDeployment);
|
|
@@ -121,5 +121,4 @@ async function testRecoveryTransactionWithoutData(txBuilder) {
|
|
|
121
121
|
await txBuilder.build().should.be.rejectedWith('Invalid transaction: missing contract call data field');
|
|
122
122
|
});
|
|
123
123
|
}
|
|
124
|
-
exports.testRecoveryTransactionWithoutData = testRecoveryTransactionWithoutData;
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0SW5pdGlhbGl6YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvdHJhbnNhY3Rpb25CdWlsZGVyL3dhbGxldEluaXRpYWxpemF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9EQUE0QjtBQUM1Qiw4Q0FBa0Q7QUFHbEQsU0FBUyxRQUFRLENBQUMsU0FBNkIsRUFBRSxRQUFRO0lBQ3ZELFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BDLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BDLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ3RDLENBQUM7QUFFTSxLQUFLLFVBQVUsbUJBQW1CLENBQUMsU0FBNkIsRUFBRSxRQUFhO0lBQ3BGLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxLQUFLLElBQUksRUFBRTtRQUNuQyxRQUFRLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzlCLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFFaEQsTUFBTSxFQUFFLEdBQUcsTUFBTSxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFbkMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDBCQUFlLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUMzRCxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDM0IsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM1QyxnQkFBTSxD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QUMsMEJBQWUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ3pELFNBQVMsQ0FBQyxHQUFHLENBQUM7WUFDWixPQUFPLEVBQUU7Z0JBQ1AsWUFBWSxFQUFFLEtBQUs7Z0JBQ25CLG9CQUFvQixFQUFFLElBQUk7YUFDM0I7WUFDRCxHQUFHLEVBQUUsS0FBSztZQUNWLFFBQVEsRUFBRSxPQUFPO1NBQ2xCLENBQUMsQ0FBQztRQUNILFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckIsTUFBTSxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsdURBQXVELENBQUMsQ0FBQztJQUMxRyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFkRCxnRkFjQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzaG91bGQgZnJvbSAnc2hvdWxkJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuLi8uLi8uLi9zcmMnO1xuXG5mdW5jdGlvbiBhZGRPd25lcih0eEJ1aWxkZXI6IFRyYW5zYWN0aW9uQnVpbGRlciwgdGVzdERhdGEpIHtcbiAgdHhCdWlsZGVyLm93bmVyKHRlc3REYXRhLkFDQ09VTlRfMSk7XG4gIHR4QnVpbGRlci5vd25lcih0ZXN0RGF0YS5BQ0NPVU5UXzIpO1xuICB0eEJ1aWxkZXIub3duZXIodGVzdERhdGEuQUNDT1VOVF8zKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRlc3RJbml0VHJhbnNhY3Rpb24odHhCdWlsZGVyOiBUcmFuc2FjdGlvbkJ1aWxkZXIsIHRlc3REYXRhOiBhbnkpIHtcbiAgaXQoJ2FuIGluaXQgdHJhbnNhY3Rpb24nLCBhc3luYyAoKSA9PiB7XG4gICAgYWRkT3duZXIodHhCdWlsZGVyLCB0ZXN0RGF0YSk7XG4gICAgdHhCdWlsZGVyLnNpZ24oeyBrZXk6IHRlc3REYXRhLlBSSVZBVEVfS0VZXzEgfSk7XG5cbiAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuXG4gICAgdHgudHlwZS5zaG91bGQuZXF1YWwoVHJhbnNhY3Rpb25UeXBlLldhbGxldEluaXRpYWxpemF0aW9uKTtcbiAgICBjb25zdCB0eEpzb24gPSB0eC50b0pzb24oKTtcbiAgICB0eEpzb24uZ2FzTGltaXQuc2hvdWxkLmVxdWFsKCc2ODAwMDAwJyk7XG4gICAgdHhKc29uLmdhc1ByaWNlLnNob3VsZC5lcXVhbCgnMTAwMDAwMDAwMDAnKTtcbiAgICBzaG91bGQuZXF1YWwodHhKc29uLm5vbmNlLCAxKTtcbiAgICBzaG91bGQuZXF1YWwodHhKc29uLmNoYWluSWQsIHRlc3REYXRhLlRYREFUQS5jaGFpbklkKTtcbiAgICBzaG91bGQuZXF1YWwodHgudG9Ccm9hZGNhc3RGb3JtYXQoKSwgdGVzdERhdGEuVFhfQlJPQURDQVNUKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB0ZXN0V2FsbGV0SW5pdFRyYW5zYWN0aW9uKHR4QnVpbGRlcjogVHJhbnNhY3Rpb25CdWlsZGVyLCB0ZXN0RGF0YTogYW55KSB7XG4gIGl0KCdhIHdhbGxldCBpbml0aWFsaXphdGlvbiB0cmFuc2FjdGlvbiB3aXRoIG5vbmNlIDAnLCBhc3luYyAoKSA9PiB7XG4gICAgYWRkT3duZXIodHhCdWlsZGVyLCB0ZXN0RGF0YSk7XG4gICAgdHhCdWlsZGVyLmNvdW50ZXIoMCk7XG4gICAgdHhCdWlsZGVyLnNpZ24oeyBrZXk6IHRlc3REYXRhLlBSSVZBVEVfS0VZXzEgfSk7XG4gICAgY29uc3QgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcblxuICAgIHR4LnR5cGUuc2hvdWxkLmVxdWFsKFRyYW5zYWN0aW9uVHlwZS5XYWxsZXRJbml0aWFsaXphdGlvbik7XG4gICAgY29uc3QgdHhKc29uID0gdHgudG9Kc29uKCk7XG4gICAgdHhKc29uLmdhc0xpbWl0LnNob3VsZC5lcXVhbCgnNjgwMDAwMCcpO1xuICAgIHR4SnNvbi5nYXNQcmljZS5zaG91bGQuZXF1YWwoJzEwMDAwMDAwMDAwJyk7XG4gICAgc2hvdWxkLmVxdWFsKHR4SnNvbi5ub25jZSwgMCk7XG4gICAgc2hvdWxkLmVxdWFsKHR4SnNvbi5jaGFpbklkLCB0ZXN0RGF0YS5UWERBVEEuY2hhaW5JZCk7XG4gIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdGVzdFNpZ25lZEluaXRUcmFuc2FjdGlvbihuZXdUeEJ1aWxkZXI6IFRyYW5zYWN0aW9uQnVpbGRlciwgdGVzdERhdGE6IGFueSkge1xuICBpdCgnYSBzaWduZWQgaW5pdCB0cmFuc2FjdGlvbiBmcm9tIHNlcmlhbGl6ZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgbmV3VHhCdWlsZGVyLmZyb20odGVzdERhdGEuVFhfQlJPQURDQVNUKTtcbiAgICBjb25zdCBuZXdUeCA9IGF3YWl0IG5ld1R4QnVpbGRlci5idWlsZCgpO1xuICAgIHNob3VsZC5lcXVhbChuZXdUeC50b0Jyb2FkY2FzdEZvcm1hdCgpLCB0ZXN0RGF0YS5UWF9CUk9BRENBU1QpO1xuICAgIHNob3VsZC5lcXVhbChuZXdUeC5pZCwgdGVzdERhdGEuRVhQRUNURURfTkVXX1RYX0lEKTtcbiAgICBjb25zdCB0eEpzb24gPSBuZXdUeC50b0pzb24oKTtcbiAgICBzaG91bGQuZXhpc3QodHhKc29uLnYpO1xuICAgIHNob3VsZC5leGlzdCh0eEpzb24ucik7XG4gICAgc2hvdWxkLmV4aXN0KHR4SnNvbi5zKTtcbiAgICBzaG91bGQuZXhpc3QodHhKc29uLmZyb20pO1xuICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRlc3RVbnNpZ25lZEluaXRUcmFuc2FjdGlvbihcbiAgdHhCdWlsZGVyOiBUcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIG5ld1R4QnVpbGRlcjogVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0ZXN0RGF0YTogYW55XG4pIHtcbiAgaXQoJ2FuIHVuc2lnbmVkIGluaXQgdHJhbnNhY3Rpb24gZnJvbSBzZXJpYWxpemVkIHdpdGggMC1wcmVmaXhlZCBhZGRyZXNzJywgYXN5bmMgKCkgPT4ge1xuICAgIGFkZE93bmVyKHR4QnVpbGRlciwgdGVzdERhdGEpO1xuICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgY29uc3Qgc2VyaWFsaXplZCA9IHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCk7XG4gICAgbmV3VHhCdWlsZGVyLmZyb20oc2VyaWFsaXplZCk7XG4gICAgY29uc3QgbmV3VHggPSBhd2FpdCBuZXdUeEJ1aWxkZXIuYnVpbGQoKTtcbiAgICBzaG91bGQuZXF1YWwobmV3VHgudG9Ccm9hZGNhc3RGb3JtYXQoKSwgc2VyaWFsaXplZCk7XG4gIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdGVzdFVuc2lnbmVkSW5pdFRyYW5zYWN0aW9uRnJvbVNlcmlhbGl6ZWQoXG4gIHR4QnVpbGRlcjogVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBuZXdUeEJ1aWxkZXI6IFRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdGVzdERhdGE6IGFueVxuKSB7XG4gIGl0KCdhbiB1bnNpZ25lZCBpbml0IHRyYW5zYWN0aW9uIGZyb20gc2VyaWFsaXplZCcsIGFzeW5jICgpID0+IHtcbiAgICBhZGRPd25lcih0eEJ1aWxkZXIsIHRlc3REYXRhKTtcbiAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgIGNvbnN0IHNlcmlhbGl6ZWQgPSB0eC50b0Jyb2FkY2FzdEZvcm1hdCgpO1xuICAgIG5ld1R4QnVpbGRlci5mcm9tKHNlcmlhbGl6ZWQpO1xuICAgIGNvbnN0IG5ld1R4ID0gYXdhaXQgbmV3VHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgc2hvdWxkLmVxdWFsKG5ld1R4LnRvQnJvYWRjYXN0Rm9ybWF0KCksIHNlcmlhbGl6ZWQpO1xuICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRlc3RGaW5hbFZDaGVjayh0eEJ1aWxkZXI6IFRyYW5zYWN0aW9uQnVpbGRlciwgdGVzdERhdGE6IGFueSkge1xuICBpdCgnYW4gdW5zaWduZWQgdHJhbnNhY3Rpb24gd2l0aCBmaW5hbCB2IGNoZWNrJywgYXN5bmMgKCkgPT4ge1xuICAgIGFkZE93bmVyKHR4QnVpbGRlciwgdGVzdERhdGEpO1xuICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgc2hvdWxkLmVxdWFsKHR4LnRvSnNvbigpLnYsIHRlc3REYXRhLkZJTkFMX1YpO1xuICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRlc3RSZWNvdmVyeVdhbGxldERlcGxveW1lbnQodHhCdWlsZGVyOiBUcmFuc2FjdGlvbkJ1aWxkZXIsIHRlc3REYXRhOiBhbnkpIHtcbiAgaXQoJ3dhbGxldCBkZXBsb3ltZW50IHRyYW5zYWN0aW9uIGZvciByZWNvdmVyeScsIGFzeW5jICgpID0+IHtcbiAgICB0eEJ1aWxkZXIudHlwZShUcmFuc2FjdGlvblR5cGUuUmVjb3ZlcnlXYWxsZXREZXBsb3ltZW50KTtcbiAgICB0eEJ1aWxkZXIuZGF0YSh0ZXN0RGF0YS5SRUNPVkVSWV9XQUxMRVRfQllURV9DT0RFKTtcbiAgICB0eEJ1aWxkZXIuZmVlKHtcbiAgICAgIGVpcDE1NTk6IHtcbiAgICAgICAgbWF4RmVlUGVyR2FzOiAnMTAwJyxcbiAgICAgICAgbWF4UHJpb3JpdHlGZWVQZXJHYXM6ICcxMCcsXG4gICAgICB9LFxuICAgICAgZmVlOiAnMTAwJyxcbiAgICAgIGdhc0xpbWl0OiAnMTAwMDAnLFxuICAgIH0pO1xuICAgIHR4QnVpbGRlci5jb3VudGVyKDEpO1xuICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgY29uc3QgdHhKc29uID0gdHgudG9Kc29uKCk7XG4gICAgc2hvdWxkLmVxdWFsKHR4SnNvbi5fdHlwZSwgJ0VJUDE1NTknKTtcbiAgICBzaG91bGQuZXF1YWwodHhKc29uLmdhc0xpbWl0LCAnMTAwMDAnKTtcbiAgICBzaG91bGQuZXhpc3RzKHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCkpO1xuICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRlc3RSZWNvdmVyeVRyYW5zYWN0aW9uV2l0aG91dERhdGEodHhCdWlsZGVyOiBUcmFuc2FjdGlvbkJ1aWxkZXIpIHtcbiAgaXQoJ2ZhaWwgd2hlbiBkYXRhIGlzIG5vdCBwYXNzZWQgcmVjb3ZlcnknLCBhc3luYyAoKSA9PiB7XG4gICAgdHhCdWlsZGVyLnR5cGUoVHJhbnNhY3Rpb25UeXBlLlJlY292ZXJ5V2FsbGV0RGVwbG95bWVudCk7XG4gICAgdHhCdWlsZGVyLmZlZSh7XG4gICAgICBlaXAxNTU5OiB7XG4gICAgICAgIG1heEZlZVBlckdhczogJzEwMCcsXG4gICAgICAgIG1heFByaW9yaXR5RmVlUGVyR2FzOiAnMTAnLFxuICAgICAgfSxcbiAgICAgIGZlZTogJzEwMCcsXG4gICAgICBnYXNMaW1pdDogJzEwMDAwJyxcbiAgICB9KTtcbiAgICB0eEJ1aWxkZXIuY291bnRlcigxKTtcbiAgICBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKS5zaG91bGQuYmUucmVqZWN0ZWRXaXRoKCdJbnZhbGlkIHRyYW5zYWN0aW9uOiBtaXNzaW5nIGNvbnRyYWN0IGNhbGwgZGF0YSBmaWVsZCcpO1xuICB9KTtcbn1cbiJdfQ==
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0SW5pdGlhbGl6YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvdHJhbnNhY3Rpb25CdWlsZGVyL3dhbGxldEluaXRpYWxpemF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBVUEsa0RBZUM7QUFFRCw4REFjQztBQUVELDhEQVlDO0FBRUQsa0VBYUM7QUFFRCw4RkFhQztBQUVELDBDQU1DO0FBRUQsb0VBbUJDO0FBRUQsZ0ZBY0M7QUFsSUQsb0RBQTRCO0FBQzVCLDhDQUFrRDtBQUdsRCxTQUFTLFFBQVEsQ0FBQyxTQUE2QixFQUFFLFFBQVE7SUFDdkQsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDdEMsQ0FBQztBQUVNLEtBQUssVUFBVSxtQkFBbUIsQ0FBQyxTQUE2QixFQUFFLFFBQWE7SUFDcEYsRUFBRSxDQUFDLHFCQUFxQixFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ25DLFFBQVEsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDOUIsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUVoRCxNQUFNLEVBQUUsR0FBRyxNQUFNLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVuQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsMEJBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzNELE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMzQixNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMs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QUMsSUFBSSxDQUFDLDBCQUFlLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUN6RCxTQUFTLENBQUMsR0FBRyxDQUFDO1lBQ1osT0FBTyxFQUFFO2dCQUNQLFlBQVksRUFBRSxLQUFLO2dCQUNuQixvQkFBb0IsRUFBRSxJQUFJO2FBQzNCO1lBQ0QsR0FBRyxFQUFFLEtBQUs7WUFDVixRQUFRLEVBQUUsT0FBTztTQUNsQixDQUFDLENBQUM7UUFDSCxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JCLE1BQU0sU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLHVEQUF1RCxDQUFDLENBQUM7SUFDMUcsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHNob3VsZCBmcm9tICdzaG91bGQnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4uLy4uLy4uL3NyYyc7XG5cbmZ1bmN0aW9uIGFkZE93bmVyKHR4QnVpbGRlcjogVHJhbnNhY3Rpb25CdWlsZGVyLCB0ZXN0RGF0YSkge1xuICB0eEJ1aWxkZXIub3duZXIodGVzdERhdGEuQUNDT1VOVF8xKTtcbiAgdHhCdWlsZGVyLm93bmVyKHRlc3REYXRhLkFDQ09VTlRfMik7XG4gIHR4QnVpbGRlci5vd25lcih0ZXN0RGF0YS5BQ0NPVU5UXzMpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdGVzdEluaXRUcmFuc2FjdGlvbih0eEJ1aWxkZXI6IFRyYW5zYWN0aW9uQnVpbGRlciwgdGVzdERhdGE6IGFueSkge1xuICBpdCgnYW4gaW5pdCB0cmFuc2FjdGlvbicsIGFzeW5jICgpID0+IHtcbiAgICBhZGRPd25lcih0eEJ1aWxkZXIsIHRlc3REYXRhKTtcbiAgICB0eEJ1aWxkZXIuc2lnbih7IGtleTogdGVzdERhdGEuUFJJVkFURV9LRVlfMSB9KTtcblxuICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG5cbiAgICB0eC50eXBlLnNob3VsZC5lcXVhbChUcmFuc2FjdGlvblR5cGUuV2FsbGV0SW5pdGlhbGl6YXRpb24pO1xuICAgIGNvbnN0IHR4SnNvbiA9IHR4LnRvSnNvbigpO1xuICAgIHR4SnNvbi5nYXNMaW1pdC5zaG91bGQuZXF1YWwoJzY4MDAwMDAnKTtcbiAgICB0eEpzb24uZ2FzUHJpY2Uuc2hvdWxkLmVxdWFsKCcxMDAwMDAwMDAwMCcpO1xuICAgIHNob3VsZC5lcXVhbCh0eEpzb24ubm9uY2UsIDEpO1xuICAgIHNob3VsZC5lcXVhbCh0eEpzb24uY2hhaW5JZCwgdGVzdERhdGEuVFhEQVRBLmNoYWluSWQpO1xuICAgIHNob3VsZC5lcXVhbCh0eC50b0Jyb2FkY2FzdEZvcm1hdCgpLCB0ZXN0RGF0YS5UWF9CUk9BRENBU1QpO1xuICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRlc3RXYWxsZXRJbml0VHJhbnNhY3Rpb24odHhCdWlsZGVyOiBUcmFuc2FjdGlvbkJ1aWxkZXIsIHRlc3REYXRhOiBhbnkpIHtcbiAgaXQoJ2Egd2FsbGV0IGluaXRpYWxpemF0aW9uIHRyYW5zYWN0aW9uIHdpdGggbm9uY2UgMCcsIGFzeW5jICgpID0+IHtcbiAgICBhZGRPd25lcih0eEJ1aWxkZXIsIHRlc3REYXRhKTtcbiAgICB0eEJ1aWxkZXIuY291bnRlcigwKTtcbiAgICB0eEJ1aWxkZXIuc2lnbih7IGtleTogdGVzdERhdGEuUFJJVkFURV9LRVlfMSB9KTtcbiAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuXG4gICAgdHgudHlwZS5zaG91bGQuZXF1YWwoVHJhbnNhY3Rpb25UeXBlLldhbGxldEluaXRpYWxpemF0aW9uKTtcbiAgICBjb25zdCB0eEpzb24gPSB0eC50b0pzb24oKTtcbiAgICB0eEpzb24uZ2FzTGltaXQuc2hvdWxkLmVxdWFsKCc2ODAwMDAwJyk7XG4gICAgdHhKc29uLmdhc1ByaWNlLnNob3VsZC5lcXVhbCgnMTAwMDAwMDAwMDAnKTtcbiAgICBzaG91bGQuZXF1YWwodHhKc29uLm5vbmNlLCAwKTtcbiAgICBzaG91bGQuZXF1YWwodHhKc29uLmNoYWluSWQsIHRlc3REYXRhLlRYREFUQS5jaGFpbklkKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB0ZXN0U2lnbmVkSW5pdFRyYW5zYWN0aW9uKG5ld1R4QnVpbGRlcjogVHJhbnNhY3Rpb25CdWlsZGVyLCB0ZXN0RGF0YTogYW55KSB7XG4gIGl0KCdhIHNpZ25lZCBpbml0IHRyYW5zYWN0aW9uIGZyb20gc2VyaWFsaXplZCcsIGFzeW5jICgpID0+IHtcbiAgICBuZXdUeEJ1aWxkZXIuZnJvbSh0ZXN0RGF0YS5UWF9CUk9BRENBU1QpO1xuICAgIGNvbnN0IG5ld1R4ID0gYXdhaXQgbmV3VHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgc2hvdWxkLmVxdWFsKG5ld1R4LnRvQnJvYWRjYXN0Rm9ybWF0KCksIHRlc3REYXRhLlRYX0JST0FEQ0FTVCk7XG4gICAgc2hvdWxkLmVxdWFsKG5ld1R4LmlkLCB0ZXN0RGF0YS5FWFBFQ1RFRF9ORVdfVFhfSUQpO1xuICAgIGNvbnN0IHR4SnNvbiA9IG5ld1R4LnRvSnNvbigpO1xuICAgIHNob3VsZC5leGlzdCh0eEpzb24udik7XG4gICAgc2hvdWxkLmV4aXN0KHR4SnNvbi5yKTtcbiAgICBzaG91bGQuZXhpc3QodHhKc29uLnMpO1xuICAgIHNob3VsZC5leGlzdCh0eEpzb24uZnJvbSk7XG4gIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdGVzdFVuc2lnbmVkSW5pdFRyYW5zYWN0aW9uKFxuICB0eEJ1aWxkZXI6IFRyYW5zYWN0aW9uQnVpbGRlcixcbiAgbmV3VHhCdWlsZGVyOiBUcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRlc3REYXRhOiBhbnlcbikge1xuICBpdCgnYW4gdW5zaWduZWQgaW5pdCB0cmFuc2FjdGlvbiBmcm9tIHNlcmlhbGl6ZWQgd2l0aCAwLXByZWZpeGVkIGFkZHJlc3MnLCBhc3luYyAoKSA9PiB7XG4gICAgYWRkT3duZXIodHhCdWlsZGVyLCB0ZXN0RGF0YSk7XG4gICAgY29uc3QgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgICBjb25zdCBzZXJpYWxpemVkID0gdHgudG9Ccm9hZGNhc3RGb3JtYXQoKTtcbiAgICBuZXdUeEJ1aWxkZXIuZnJvbShzZXJpYWxpemVkKTtcbiAgICBjb25zdCBuZXdUeCA9IGF3YWl0IG5ld1R4QnVpbGRlci5idWlsZCgpO1xuICAgIHNob3VsZC5lcXVhbChuZXdUeC50b0Jyb2FkY2FzdEZvcm1hdCgpLCBzZXJpYWxpemVkKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB0ZXN0VW5zaWduZWRJbml0VHJhbnNhY3Rpb25Gcm9tU2VyaWFsaXplZChcbiAgdHhCdWlsZGVyOiBUcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIG5ld1R4QnVpbGRlcjogVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0ZXN0RGF0YTogYW55XG4pIHtcbiAgaXQoJ2FuIHVuc2lnbmVkIGluaXQgdHJhbnNhY3Rpb24gZnJvbSBzZXJpYWxpemVkJywgYXN5bmMgKCkgPT4ge1xuICAgIGFkZE93bmVyKHR4QnVpbGRlciwgdGVzdERhdGEpO1xuICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgY29uc3Qgc2VyaWFsaXplZCA9IHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCk7XG4gICAgbmV3VHhCdWlsZGVyLmZyb20oc2VyaWFsaXplZCk7XG4gICAgY29uc3QgbmV3VHggPSBhd2FpdCBuZXdUeEJ1aWxkZXIuYnVpbGQoKTtcbiAgICBzaG91bGQuZXF1YWwobmV3VHgudG9Ccm9hZGNhc3RGb3JtYXQoKSwgc2VyaWFsaXplZCk7XG4gIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdGVzdEZpbmFsVkNoZWNrKHR4QnVpbGRlcjogVHJhbnNhY3Rpb25CdWlsZGVyLCB0ZXN0RGF0YTogYW55KSB7XG4gIGl0KCdhbiB1bnNpZ25lZCB0cmFuc2FjdGlvbiB3aXRoIGZpbmFsIHYgY2hlY2snLCBhc3luYyAoKSA9PiB7XG4gICAgYWRkT3duZXIodHhCdWlsZGVyLCB0ZXN0RGF0YSk7XG4gICAgY29uc3QgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgICBzaG91bGQuZXF1YWwodHgudG9Kc29uKCkudiwgdGVzdERhdGEuRklOQUxfVik7XG4gIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdGVzdFJlY292ZXJ5V2FsbGV0RGVwbG95bWVudCh0eEJ1aWxkZXI6IFRyYW5zYWN0aW9uQnVpbGRlciwgdGVzdERhdGE6IGFueSkge1xuICBpdCgnd2FsbGV0IGRlcGxveW1lbnQgdHJhbnNhY3Rpb24gZm9yIHJlY292ZXJ5JywgYXN5bmMgKCkgPT4ge1xuICAgIHR4QnVpbGRlci50eXBlKFRyYW5zYWN0aW9uVHlwZS5SZWNvdmVyeVdhbGxldERlcGxveW1lbnQpO1xuICAgIHR4QnVpbGRlci5kYXRhKHRlc3REYXRhLlJFQ09WRVJZX1dBTExFVF9CWVRFX0NPREUpO1xuICAgIHR4QnVpbGRlci5mZWUoe1xuICAgICAgZWlwMTU1OToge1xuICAgICAgICBtYXhGZWVQZXJHYXM6ICcxMDAnLFxuICAgICAgICBtYXhQcmlvcml0eUZlZVBlckdhczogJzEwJyxcbiAgICAgIH0sXG4gICAgICBmZWU6ICcxMDAnLFxuICAgICAgZ2FzTGltaXQ6ICcxMDAwMCcsXG4gICAgfSk7XG4gICAgdHhCdWlsZGVyLmNvdW50ZXIoMSk7XG4gICAgY29uc3QgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgICBjb25zdCB0eEpzb24gPSB0eC50b0pzb24oKTtcbiAgICBzaG91bGQuZXF1YWwodHhKc29uLl90eXBlLCAnRUlQMTU1OScpO1xuICAgIHNob3VsZC5lcXVhbCh0eEpzb24uZ2FzTGltaXQsICcxMDAwMCcpO1xuICAgIHNob3VsZC5leGlzdHModHgudG9Ccm9hZGNhc3RGb3JtYXQoKSk7XG4gIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdGVzdFJlY292ZXJ5VHJhbnNhY3Rpb25XaXRob3V0RGF0YSh0eEJ1aWxkZXI6IFRyYW5zYWN0aW9uQnVpbGRlcikge1xuICBpdCgnZmFpbCB3aGVuIGRhdGEgaXMgbm90IHBhc3NlZCByZWNvdmVyeScsIGFzeW5jICgpID0+IHtcbiAgICB0eEJ1aWxkZXIudHlwZShUcmFuc2FjdGlvblR5cGUuUmVjb3ZlcnlXYWxsZXREZXBsb3ltZW50KTtcbiAgICB0eEJ1aWxkZXIuZmVlKHtcbiAgICAgIGVpcDE1NTk6IHtcbiAgICAgICAgbWF4RmVlUGVyR2FzOiAnMTAwJyxcbiAgICAgICAgbWF4UHJpb3JpdHlGZWVQZXJHYXM6ICcxMCcsXG4gICAgICB9LFxuICAgICAgZmVlOiAnMTAwJyxcbiAgICAgIGdhc0xpbWl0OiAnMTAwMDAnLFxuICAgIH0pO1xuICAgIHR4QnVpbGRlci5jb3VudGVyKDEpO1xuICAgIGF3YWl0IHR4QnVpbGRlci5idWlsZCgpLnNob3VsZC5iZS5yZWplY3RlZFdpdGgoJ0ludmFsaWQgdHJhbnNhY3Rpb246IG1pc3NpbmcgY29udHJhY3QgY2FsbCBkYXRhIGZpZWxkJyk7XG4gIH0pO1xufVxuIl19
|