@bitgo/sdk-coin-eth 25.14.0 → 25.15.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.
|
@@ -13,6 +13,10 @@ const transactionBuilder_1 = require("@bitgo/abstract-eth/test/unit/transactionB
|
|
|
13
13
|
describe('ETH Flush NFT Tests (from abstract-eth)', () => {
|
|
14
14
|
(0, transactionBuilder_1.runFlushNftTests)('eth', getBuilder_1.getBuilder);
|
|
15
15
|
});
|
|
16
|
+
// Run the shared FlushERC7984ForwarderToken tests from abstract-eth
|
|
17
|
+
describe('ETH FlushERC7984ForwarderToken Tests (from abstract-eth)', () => {
|
|
18
|
+
(0, transactionBuilder_1.runFlushERC7984Tests)('eth', getBuilder_1.getBuilder);
|
|
19
|
+
});
|
|
16
20
|
describe('Eth Transaction builder flush tokens (ETH-specific)', function () {
|
|
17
21
|
const defaultKeyPair = new src_1.KeyPair({
|
|
18
22
|
prv: 'FAC4D04AA0025ECF200D74BC9B5E4616E4B8338B69B61362AAAD49F76E68EF28',
|
|
@@ -278,4 +282,4 @@ describe('Eth Transaction builder flush tokens (ETH-specific)', function () {
|
|
|
278
282
|
});
|
|
279
283
|
});
|
|
280
284
|
});
|
|
281
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx1c2hUb2tlbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvdHJhbnNhY3Rpb25CdWlsZGVyL2ZsdXNoVG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLDhDQUFrRDtBQUNsRCxzQ0FPc0I7QUFDdEIsOENBQTJDO0FBQzNDLHNEQUFzRDtBQUN0RCx5RkFBb0Y7QUFFcEYsbURBQW1EO0FBQ25ELFFBQVEsQ0FBQyx5Q0FBeUMsRUFBRSxHQUFHLEVBQUU7SUFDdkQsSUFBQSxxQ0FBZ0IsRUFBQyxLQUFLLEVBQUUsdUJBQVUsQ0FBQyxDQUFDO0FBQ3RDLENBQUMsQ0FBQyxDQUFDO0FBRUgsUUFBUSxDQUFDLHFEQUFxRCxFQUFFO0lBQzlELE1BQU0sY0FBYyxHQUFHLElBQUksYUFBTyxDQUFDO1FBQ2pDLEdBQUcsRUFBRSxrRUFBa0U7S0FDeEUsQ0FBQyxDQUFDO0lBWUgsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLFdBQVcsT0FBMkI7UUFDbEUsTUFBTSxTQUFTLEdBQVEsSUFBQSx1QkFBVSxFQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsMEJBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUU1QyxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMzQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUVELElBQUksT0FBTyxDQUFDLFlBQVksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN2QyxTQUFTLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMvQyxDQUFDO1FBRUQsSUFBSSxPQUFPLENBQUMsR0FBRyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzlCLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcs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QyxDQUFDO2dCQUNYLFlBQVksRUFBRSw0Q0FBNEM7Z0JBQzFELGVBQWUsRUFBRSw0Q0FBNEM7YUFDOUQsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHNob3VsZCBmcm9tICdzaG91bGQnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7XG4gIEVUSFRyYW5zYWN0aW9uVHlwZSxcbiAgRmVlLFxuICBmbHVzaEZvcndhcmRlclRva2Vuc01ldGhvZElkLFxuICBmbHVzaEZvcndhcmRlclRva2Vuc01ldGhvZElkVjQsXG4gIEtleVBhaXIsXG4gIFRyYW5zYWN0aW9uLFxufSBmcm9tICcuLi8uLi8uLi9zcmMnO1xuaW1wb3J0IHsgZ2V0QnVpbGRlciB9IGZyb20gJy4uL2dldEJ1aWxkZXInO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1pbnRlcm5hbC1tb2R1bGVzXG5pbXBvcnQgeyBydW5GbHVzaE5mdFRlc3RzIH0gZnJvbSAnQGJpdGdvL2Fic3RyYWN0LWV0aC90ZXN0L3VuaXQvdHJhbnNhY3Rpb25CdWlsZGVyJztcblxuLy8gUnVuIHRoZSBzaGFyZWQgZmx1c2ggTkZUIHRlc3RzIGZyb20gYWJzdHJhY3QtZXRoXG5kZXNjcmliZSgnRVRIIEZsdXNoIE5GVCBUZXN0cyAoZnJvbSBhYnN0cmFjdC1ldGgpJywgKCkgPT4ge1xuICBydW5GbHVzaE5mdFRlc3RzKCdldGgnLCBnZXRCdWlsZGVyKTtcbn0pO1xuXG5kZXNjcmliZSgnRXRoIFRyYW5zYWN0aW9uIGJ1aWxkZXIgZmx1c2ggdG9rZW5zIChFVEgtc3BlY2lmaWMpJywgZnVuY3Rpb24gKCkge1xuICBjb25zdCBkZWZhdWx0S2V5UGFpciA9IG5ldyBLZXlQYWlyKHtcbiAgICBwcnY6ICdGQUM0RDA0QUEwMDI1RUNGMjAwRDc0QkM5QjVFNDYxNkU0QjgzMzhCNjlCNjEzNjJBQUFENDlGNzZFNjhFRjI4JyxcbiAgfSk7XG5cbiAgaW50ZXJmYWNlIEZsdXNoVG9rZW5zRGV0YWlscyB7XG4gICAgZm9yd2FyZGVyQWRkcmVzcz86IHN0cmluZztcbiAgICB0b2tlbkFkZHJlc3M/OiBzdHJpbmc7XG4gICAgY29udHJhY3RBZGRyZXNzPzogc3RyaW5nO1xuICAgIGNvdW50ZXI/OiBudW1iZXI7XG4gICAgZmVlPzogRmVlO1xuICAgIGtleT86IEtleVBhaXI7XG4gICAgZm9yd2FyZGVyVmVyc2lvbj86IG51bWJlcjtcbiAgfVxuXG4gIGNvbnN0IGJ1aWxkVHJhbnNhY3Rpb24gPSBhc3luYyBmdW5jdGlvbiAoZGV0YWlsczogRmx1c2hUb2tlbnNEZXRhaWxzKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIGNvbnN0IHR4QnVpbGRlcjogYW55ID0gZ2V0QnVpbGRlcigndGV0aCcpO1xuICAgIHR4QnVpbGRlci50eXBlKFRyYW5zYWN0aW9uVHlwZS5GbHVzaFRva2Vucyk7XG5cbiAgICBpZiAoZGV0YWlscy5mb3J3YXJkZXJBZGRyZXNzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHR4QnVpbGRlci5mb3J3YXJkZXJBZGRyZXNzKGRldGFpbHMuZm9yd2FyZGVyQWRkcmVzcyk7XG4gICAgfVxuXG4gICAgaWYgKGRldGFpbHMudG9rZW5BZGRyZXNzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHR4QnVpbGRlci50b2tlbkFkZHJlc3MoZGV0YWlscy50b2tlbkFkZHJlc3MpO1xuICAgIH1cblxuICAgIGlmIChkZXRhaWxzLmZlZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0eEJ1aWxkZXIuZmVlKGRldGFpbHMuZmVlKTtcbiAgICB9XG5cbiAgICBpZiAoZGV0YWlscy5jb250cmFjdEFkZHJlc3MgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdHhCdWlsZGVyLmNvbnRyYWN0KGRldGFpbHMuY29udHJhY3RBZGRyZXNzKTtcbiAgICB9XG5cbiAgICBpZiAoZGV0YWlscy5jb3VudGVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHR4QnVpbGRlci5jb3VudGVyKGRldGFpbHMuY291bnRlcik7XG4gICAgfVxuXG4gICAgaWYgKGRldGFpbHMua2V5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHR4QnVpbGRlci5zaWduKHsga2V5OiBkZXRhaWxzLmtleS5nZXRLZXlzKCkucHJ2IH0pO1xuICAgIH1cblxuICAgIGlmIChkZXRhaWxzLmZvcndhcmRlclZlcnNpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgdHhCdWlsZGVyLmZvcndhcmRlclZlcnNpb24oZGV0YWlscy5mb3J3YXJkZXJWZXJzaW9uKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gIH07XG5cbiAgZGVzY3JpYmUoJ3Nob3VsZCBidWlsZCcsICgpID0+IHtcbiAgICBpdCgnYSB3YWxsZXQgZmx1c2ggZm9yd2FyZGVyIHRyYW5zYWN0aW9uJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdHggPSBhd2FpdCBidWlsZFRyYW5zYWN0aW9uKHtcbiAgICAgICAgZmVlOiB7XG4gICAgICAgICAgZmVlOiAnMTAnLFxuICAgICAgICAgIGdhc0xpbWl0OiAnMTAwMCcsXG4gICAgICAgIH0sXG4gICAgICAgIGNvdW50ZXI6IDEsXG4gICAgICAgIGZvcndhcmRlckFkZHJlc3M6ICcweDUzYjhlOTFiYjNiOGY2MThiNWYwMTAwNGVmMTA4ZjEzNGYyMTk1NzMnLFxuICAgICAgICB0b2tlbkFkZHJlc3M6ICcweGJjZjkzNWQyMDZjYTMyOTI5ZTFiODg3YTA3ZWQyNDBmMGQ4Y2NkMjInLFxuICAgICAgICBjb250cmFjdEFkZHJlc3M6ICcweDhmOTc3ZTkxMmVmNTAwNTQ4YTBjM2JlNmRkZGU5ODk5ZjExOTliODEnLFxuICAgICAgfSk7XG5cbiAgICAgIHR4LnR5cGUuc2hvdWxkLmVxdWFsKFRyYW5zYWN0aW9uVHlwZS5GbHVzaFRva2Vucyk7XG4gICAgICBjb25zdCB0eEpzb24gPSB0eC50b0pzb24oKTtcbiAgICAgIHR4SnNvbi5nYXNMaW1pdC5zaG91bGQuZXF1YWwoJzEwMDAnKTtcbiAgICAgIHR4SnNvbi5fdHlwZS5zaG91bGQuZXF1YWxzKEVUSFRyYW5zYWN0aW9uVHlwZS5MRUdBQ1kpO1xuICAgICAgdHhKc29uLmdhc1ByaWNlIS5zaG91bGQuZXF1YWwoJzEwJyk7XG4gICAgICBzaG91bGQuZXF1YWwodHhKc29uLm5vbmNlLCAxKTtcbiAgICAgIHR4SnNvbi5kYXRhLnNob3VsZC5zdGFydFdpdGgoZmx1c2hGb3J3YXJkZXJUb2tlbnNNZXRob2RJZCk7XG4gICAgfSk7XG5cbiAgICBpdCgnYSB3YWxsZXQgZmx1c2ggZm9yd2FyZGVyIHRyYW5zYWN0aW9uIHdpdGggZWlwMTU1OSBmZWUgbW9kZWwnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB0eCA9IGF3YWl0IGJ1aWxkVHJhbnNhY3Rpb24oe1xuICAgICAgICBmZWU6IHtcbiAgICAgICAgICBmZWU6ICczMCcsXG4gICAgICAgICAgZWlwMTU1OToge1xuICAgICAgICAgICAgbWF4UHJpb3JpdHlGZWVQZXJHYXM6ICc1JyxcbiAgICAgICAgICAgIG1heEZlZVBlckdhczogJzMwJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGdhc0xpbWl0OiAnMTAwMCcsXG4gICAgICAgIH0sXG4gICAgICAgIGNvdW50ZXI6IDEsXG4gICAgICAgIGZvcndhcmRlckFkZHJlc3M6ICcweDUzYjhlOTFiYjNiOGY2MThiNWYwMTAwNGVmMTA4ZjEzNGYyMTk1NzMnLFxuICAgICAgICB0b2tlbkFkZHJlc3M6ICcweGJjZjkzNWQyMDZjYTMyOTI5ZTFiODg3YTA3ZWQyNDBmMGQ4Y2NkMjInLFxuICAgICAgICBjb250cmFjdEFkZHJlc3M6ICcweDhmOTc3ZTkxMmVmNTAwNTQ4YTBjM2JlNmRkZGU5ODk5ZjExOTliODEnLFxuICAgICAgfSk7XG5cbiAgICAgIHR4LnR5cGUuc2hvdWxkLmVxdWFsKFRyYW5zYWN0aW9uVHlwZS5GbHVzaFRva2Vucyk7XG4gICAgICBjb25zdCB0eEpzb24gPSB0eC50b0pzb24oKTtcbiAgICAgIHR4SnNvbi5nYXNMaW1pdC5zaG91bGQuZXF1YWwoJzEwMDAnKTtcbiAgICAgIHR4SnNvbi5fdHlwZS5zaG91bGQuZXF1YWxzKEVUSFRyYW5zYWN0aW9uVHlwZS5FSVAxNTU5KTtcbiAgICAgIHR4SnNvbi5tYXhGZWVQZXJHYXMhLnNob3VsZC5lcXVhbCgnMzAnKTtcbiAgICAgIHR4SnNvbi5tYXhQcmlvcml0eUZlZVBlckdhcyEuc2hvdWxkLmVxdWFsKCc1Jyk7XG4gICAgICBzaG91bGQuZXF1YWwodHhKc29uLm5vbmNlLCAxKTtcbiAgICAgIHR4SnNvbi5kYXRhLnNob3VsZC5zdGFydFdpdGgoZmx1c2hGb3J3YXJkZXJUb2tlbnNNZXRob2RJZCk7XG4gICAgfSk7XG5cbiAgICBpdCgnYSB3YWxsZXQgZmx1c2ggZm9yd2FyZGVyIHRyYW5zYWN0aW9uIHdpdGggbm9uY2UgMCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgYnVpbGRUcmFuc2FjdGlvbih7XG4gICAgICAgIGZlZToge1xuICAgICAgICAgIGZlZTogJzEwJyxcbiAgICAgICAgICBnYXNMaW1pdDogJzEwMDAnLFxuICAgICAgICB9LFxuICAgICAgICBjb3VudGVyOiAwLFxuICAgICAgICBmb3J3YXJkZXJBZGRyZXNzOiAnMHg1M2I4ZTkxYmIzYjhmNjE4YjVmMDEwMDRlZjEwOGYxMzRmMjE5NTczJyxcbiAgICAgICAgdG9rZW5BZGRyZXNzOiAnMHhiY2Y5MzVkMjA2Y2EzMjkyOWUxYjg4N2EwN2VkMjQwZjBkOGNjZDIyJyxcbiAgICAgICAgY29udHJhY3RBZGRyZXNzOiAnMHg4Zjk3N2U5MTJlZjUwMDU0OGEwYzNiZTZkZGRlOTg5OWYxMTk5YjgxJyxcbiAgICAgIH0pO1xuXG4gICAgICB0eC50eXBlLnNob3VsZC5lcXVhbChUcmFuc2FjdGlvblR5cGUuRmx1c2hUb2tlbnMpO1xuICAgICAgY29uc3QgdHhKc29uID0gdHgudG9Kc29uKCk7XG4gICAgICB0eEpzb24uZ2FzTGltaXQuc2hvdWxkLmVxdWFsKCcxMDAwJyk7XG4gICAgICB0eEpzb24uX3R5cGUuc2hvdWxkLmVxdWFscyhFVEhUcmFuc2FjdGlvblR5cGUuTEVHQUNZKTtcbiAgICAgIHR4SnNvbi5nYXNQcmljZSEuc2hvdWxkLmVxdWFsKCcxMCcpO1xuICAgICAgc2hvdWxkLmVxdWFsKHR4SnNvbi5ub25jZSwgMCk7XG4gICAgICB0eEpzb24uZGF0YS5zaG91bGQuc3RhcnRXaXRoKGZsdXNoRm9yd2FyZGVyVG9rZW5zTWV0aG9kSWQpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2Egd2FsbGV0IGZsdXNoIGZvcndhcmRlciB0cmFuc2FjdGlvbiB3aXRoIGZvcndhcmRlciBWZXJzaW9uIDQnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB0eCA9IGF3YWl0IGJ1aWxkVHJhbnNhY3Rpb24oe1xuICAgICAgICBmZWU6IHtcbiAgICAgICAgICBmZWU6ICcxMCcsXG4gICAgICAgICAgZ2FzTGltaXQ6ICcxMDAwJyxcbiAgICAgICAgfSxcbiAgICAgICAgY291bnRlcjogMCxcbiAgICAgICAgZm9yd2FyZGVyQWRkcmVzczogJzB4NTNiOGU5MWJiM2I4ZjYxOGI1ZjAxMDA0ZWYxMDhmMTM0ZjIxOTU3MycsXG4gICAgICAgIHRva2VuQWRkcmVzczogJzB4YmNmOTM1ZDIwNmNhMzI5MjllMWI4ODdhMDdlZDI0MGYwZDhjY2QyMicsXG4gICAgICAgIGNvbnRyYWN0QWRkcmVzczogJzB4NTNiOGU5MWJiM2I4ZjYxOGI1ZjAxMDA0ZWYxMDhmMTM0ZjIxOTU3MycsXG4gICAgICAgIGZvcndhcmRlclZlcnNpb246IDQsXG4gICAgICB9KTtcblxuICAgICAgdHgudHlwZS5zaG91bGQuZXF1YWwoVHJhbnNhY3Rpb25UeXBlLkZsdXNoVG9rZW5zKTtcbiAgICAgIGNvbnN0IHR4SnNvbiA9IHR4LnRvSnNvbigpO1xuICAgICAgdHhKc29uLmdhc0xpbWl0LnNob3VsZC5lcXVhbCgnMTAwMCcpO1xuICAgICAgdHhKc29uLl90eXBlLnNob3VsZC5lcXVhbHMoRVRIVHJhbnNhY3Rpb25UeXBlLkxFR0FDWSk7XG4gICAgICBzaG91bGQuZXF1YWwodHhKc29uLm5vbmNlLCAwKTtcbiAgICAgIHR4SnNvbi5kYXRhLnNob3VsZC5zdGFydFdpdGgoZmx1c2hGb3J3YXJkZXJUb2tlbnNNZXRob2RJZFY0KTtcbiAgICB9KTtcblxuICAgIGl0KCdkZWNvZGUgd2FsbGV0IGZsdXNoIGZvcndhcmRlciB0cmFuc2FjdGlvbiB3aXRoIGZvcndhcmRlciBWZXJzaW9uIDQnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB0eCA9IGF3YWl0IGJ1aWxkVHJhbnNhY3Rpb24oe1xuICAgICAgICBmZWU6IHtcbiAgICAgICAgICBmZWU6ICcxMCcsXG4gICAgICAgICAgZ2FzTGltaXQ6ICcxMDAwJyxcbiAgICAgICAgfSxcbiAgICAgICAgY291bnRlcjogMCxcbiAgICAgICAgZm9yd2FyZGVyQWRkcmVzczogJzB4NTNiOGU5MWJiM2I4ZjYxOGI1ZjAxMDA0ZWYxMDhmMTM0ZjIxOTU3MycsXG4gICAgICAgIHRva2VuQWRkcmVzczogJzB4YmNmOTM1ZDIwNmNhMzI5MjllMWI4ODdhMDdlZDI0MGYwZDhjY2QyMicsXG4gICAgICAgIGNvbnRyYWN0QWRkcmVzczogJzB4NTNiOGU5MWJiM2I4ZjYxOGI1ZjAxMDA0ZWYxMDhmMTM0ZjIxOTU3MycsXG4gICAgICAgIGZvcndhcmRlclZlcnNpb246IDQsXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHR4QnVpZGVyRnJvbVJhdzogYW55ID0gZ2V0QnVpbGRlcigndGV0aCcpO1xuICAgICAgdHhCdWlkZXJGcm9tUmF3LmZyb20odHgudG9Ccm9hZGNhc3RGb3JtYXQoKSk7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0eEJ1aWRlckZyb21SYXcuYnVpbGQoKTtcbiAgICAgIGNvbnN0IHR4SnNvbiA9IHJlc3VsdC50b0pzb24oKTtcbiAgICAgIHR4SnNvbi50by5zaG91bGQuZXF1YWwoJzB4NTNiOGU5MWJiM2I4ZjYxOGI1ZjAxMDA0ZWYxMDhmMTM0ZjIxOTU3MycpO1xuICAgICAgdHhKc29uLmRhdGEuc2hvdWxkLmNvbnRhaW5FcWwoJ2JjZjkzNWQyMDZjYTMyOTI5ZTFiODg3YTA3ZWQyNDBmMGQ4Y2NkMjInKTtcbiAgICB9KTtcblxuICAgIGl0KCdkZWNvZGUgd2FsbGV0IGZsdXNoIGZvcndhcmRlciB0cmFuc2FjdGlvbiB3aXRoIGZvcndhcmRlciBWZXJzaW9uIDwgNCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgYnVpbGRUcmFuc2FjdGlvbih7XG4gICAgICAgIGZlZToge1xuICAgICAgICAgIGZlZTogJzEwJyxcbiAgICAgICAgICBnYXNMaW1pdDogJzEwMDAnLFxuICAgICAgICB9LFxuICAgICAgICBjb3VudGVyOiAwLFxuICAgICAgICBmb3J3YXJkZXJBZGRyZXNzOiAnMHg1M2I4ZTkxYmIzYjhmNjE4YjVmMDEwMDRlZjEwOGYxMzRmMjE5NTczJyxcbiAgICAgICAgdG9rZW5BZGRyZXNzOiAnMHhiY2Y5MzVkMjA2Y2EzMjkyOWUxYjg4N2EwN2VkMjQwZjBkOGNjZDIyJyxcbiAgICAgICAgY29udHJhY3RBZGRyZXNzOiAnMHg4Zjk3N2U5MTJlZjUwMDU0OGEwYzNiZTZkZGRlOTg5OWYxMTk5YjgxJyxcbiAgICAgICAgZm9yd2FyZGVyVmVyc2lvbjogMixcbiAgICAgIH0pO1xuICAgICAgY29uc3QgdHhCdWlkZXJGcm9tUmF3OiBhbnkgPSBnZXRCdWlsZGVyKCd0ZXRoJyk7XG4gICAgICB0eEJ1aWRlckZyb21SYXcuZnJvbSh0eC50b0Jyb2FkY2FzdEZvcm1hdCgpKTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHR4QnVpZGVyRnJvbVJhdy5idWlsZCgpO1xuICAgICAgY29uc3QgdHhKc29uID0gcmVzdWx0LnRvSnNvbigpO1xuICAgICAgdHhKc29uLnRvLnNob3VsZC5lcXVhbCgnMHg4Zjk3N2U5MTJlZjUwMDU0OGEwYzNiZTZkZGRlOTg5OWYxMTk5YjgxJyk7XG4gICAgICB0eEpzb24uZGF0YS5zaG91bGQuY29udGFpbkVxbCgnYmNmOTM1ZDIwNmNhMzI5MjllMWI4ODdhMDdlZDI0MGYwZDhjY2QyMicpO1xuICAgICAgdHhKc29uLmRhdGEuc2hvdWxkLmNvbnRhaW5FcWwoJzUzYjhlOTFiYjNiOGY2MThiNWYwMTAwNGVmMTA4ZjEzNGYyMTk1NzMnKTtcbiAgICB9KTtcblxuICAgIGl0KCdhbiB1bnNpZ25lZCBmbHVzaCB0cmFuc2FjdGlvbiBmcm9tIHNlcmlhbGl6ZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB0eCA9IGF3YWl0IGJ1aWxkVHJhbnNhY3Rpb24oe1xuICAgICAgICBmZWU6IHtcbiAgICAgICAgICBmZWU6ICcxMCcsXG4gICAgICAgICAgZ2FzTGltaXQ6ICcxMDAwJyxcbiAgICAgICAgfSxcbiAgICAgICAgY291bnRlcjogMCxcbiAgICAgICAgZm9yd2FyZGVyQWRkcmVzczogJzB4NTNiOGU5MWJiM2I4ZjYxOGI1ZjAxMDA0ZWYxMDhmMTM0ZjIxOTU3MycsXG4gICAgICAgIHRva2VuQWRkcmVzczogJzB4YmNmOTM1ZDIwNmNhMzI5MjllMWI4ODdhMDdlZDI0MGYwZDhjY2QyMicsXG4gICAgICAgIGNvbnRyYWN0QWRkcmVzczogJzB4OGY5NzdlOTEyZWY1MDA1NDhhMGMzYmU2ZGRkZTk4OTlmMTE5OWI4MScsXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHNlcmlhbGl6ZWQgPSB0eC50b0Jyb2FkY2FzdEZvcm1hdCgpO1xuXG4gICAgICAvLyBub3cgcmVidWlsZCBmcm9tIHRoZSBzaWduZWQgc2VyaWFsaXplZCB0eCBhbmQgbWFrZSBzdXJlIGl0IHN0YXlzIHRoZSBzYW1lXG4gICAgICBjb25zdCBuZXdUeEJ1aWxkZXI6IGFueSA9IGdldEJ1aWxkZXIoJ3RldGgnKTtcbiAgICAgIG5ld1R4QnVpbGRlci5mcm9tKHNlcmlhbGl6ZWQpO1xuICAgICAgY29uc3QgbmV3VHggPSBhd2FpdCBuZXdUeEJ1aWxkZXIuYnVpbGQoKTtcbiAgICAgIHNob3VsZC5lcXVhbChuZXdUeC50b0Jyb2FkY2FzdEZvcm1hdCgpLCBzZXJpYWxpemVkKTtcbiAgICAgIG5ld1R4LnRvSnNvbigpLmRhdGEuc2hvdWxkLnN0YXJ0V2l0aChmbHVzaEZvcndhcmRlclRva2Vuc01ldGhvZElkKTtcbiAgICAgIHNob3VsZC5lcXVhbChuZXdUeC50b0pzb24oKS52LCAnMHg3NycpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2Egc2lnbmVkIGZsdXNoIHRyYW5zYWN0aW9uIGZyb20gc2VyaWFsaXplZCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgYnVpbGRUcmFuc2FjdGlvbih7XG4gICAgICAgIGZlZToge1xuICAgICAgICAgIGZlZTogJzEwJyxcbiAgICAgICAgICBnYXNMaW1pdDogJzEwMDAnLFxuICAgICAgICB9LFxuICAgICAgICBjb3VudGVyOiAwLFxuICAgICAgICBmb3J3YXJkZXJBZGRyZXNzOiAnMHg1M2I4ZTkxYmIzYjhmNjE4YjVmMDEwMDRlZjEwOGYxMzRmMjE5NTczJyxcbiAgICAgICAgdG9rZW5BZGRyZXNzOiAnMHhiY2Y5MzVkMjA2Y2EzMjkyOWUxYjg4N2EwN2VkMjQwZjBkOGNjZDIyJyxcbiAgICAgICAgY29udHJhY3RBZGRyZXNzOiAnMHg4Zjk3N2U5MTJlZjUwMDU0OGEwYzNiZTZkZGRlOTg5OWYxMTk5YjgxJyxcbiAgICAgICAga2V5OiBkZWZhdWx0S2V5UGFpcixcbiAgICAgIH0pO1xuICAgICAgY29uc3Qgc2VyaWFsaXplZCA9IHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCk7XG5cbiAgICAgIC8vIG5vdyByZWJ1aWxkIGZyb20gdGhlIHNpZ25lZCBzZXJpYWxpemVkIHR4IGFuZCBtYWtlIHN1cmUgaXQgc3RheXMgdGhlIHNhbWVcbiAgICAgIGNvbnN0IG5ld1R4QnVpbGRlcjogYW55ID0gZ2V0QnVpbGRlcigndGV0aCcpO1xuICAgICAgbmV3VHhCdWlsZGVyLmZyb20oc2VyaWFsaXplZCk7XG4gICAgICBjb25zdCBuZXdUeCA9IGF3YWl0IG5ld1R4QnVpbGRlci5idWlsZCgpO1xuICAgICAgc2hvdWxkLmVxdWFsKG5ld1R4LnRvQnJvYWRjYXN0Rm9ybWF0KCksIHNlcmlhbGl6ZWQpO1xuICAgICAgc2hvdWxkLmVxdWFsKG5ld1R4LmlkLCAnMHg1YmZkNGM2YjlhZTlkZmJjOWUwNjIyNDdjMGRlYmU0ZTFjNjg3MGE3NmM0MjBjZTdmNmUzMzUzOTA0MjBkY2Q2Jyk7XG4gICAgICBjb25zdCB0eEpzb24gPSBuZXdUeC50b0pzb24oKTtcbiAgICAgIHNob3VsZC5leGlzdCh0eEpzb24udik7XG4gICAgICBzaG91bGQuZXhpc3QodHhKc29uLnIpO1xuICAgICAgc2hvdWxkLmV4aXN0KHR4SnNvbi5zKTtcbiAgICAgIHNob3VsZC5leGlzdCh0eEpzb24uZnJvbSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdzaG91bGQgZmFpbCB0byBidWlsZCcsICgpID0+IHtcbiAgICBpdCgnYSB0cmFuc2FjdGlvbiB3aXRob3V0IGZlZScsIGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IGJ1aWxkVHJhbnNhY3Rpb24oe1xuICAgICAgICBjb3VudGVyOiAwLFxuICAgICAgICBmb3J3YXJkZXJBZGRyZXNzOiAnMHg1M2I4ZTkxYmIzYjhmNjE4YjVmMDEwMDRlZjEwOGYxMzRmMjE5NTczJyxcbiAgICAgICAgdG9rZW5BZGRyZXNzOiAnMHhiY2Y5MzVkMjA2Y2EzMjkyOWUxYjg4N2EwN2VkMjQwZjBkOGNjZDIyJyxcbiAgICAgICAgY29udHJhY3RBZGRyZXNzOiAnMHg4Zjk3N2U5MTJlZjUwMDU0OGEwYzNiZTZkZGRlOTg5OWYxMTk5YjgxJyxcbiAgICAgIH0pLnNob3VsZC5iZS5yZWplY3RlZFdpdGgoJ0ludmFsaWQgdHJhbnNhY3Rpb246IG1pc3NpbmcgZmVlJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnYSB0cmFuc2FjdGlvbiB3aXRob3V0IGNvbnRyYWN0QWRkcmVzcycsIGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IGJ1aWxkVHJhbnNhY3Rpb24oe1xuICAgICAgICBmZWU6IHtcbiAgICAgICAgICBmZWU6ICcxMCcsXG4gICAgICAgICAgZ2FzTGltaXQ6ICcxMCcsXG4gICAgICAgIH0sXG4gICAgICAgIGNvdW50ZXI6IDAsXG4gICAgICAgIGZvcndhcmRlckFkZHJlc3M6ICcweDUzYjhlOTFiYjNiOGY2MThiNWYwMTAwNGVmMTA4ZjEzNGYyMTk1NzMnLFxuICAgICAgICB0b2tlbkFkZHJlc3M6ICcweGJjZjkzNWQyMDZjYTMyOTI5ZTFiODg3YTA3ZWQyNDBmMGQ4Y2NkMjInLFxuICAgICAgfSkuc2hvdWxkLmJlLnJlamVjdGVkV2l0aCgnSW52YWxpZCB0cmFuc2FjdGlvbjogbWlzc2luZyBjb250cmFjdCBhZGRyZXNzJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnYSB3YWxsZXQgZmx1c2ggZm9yd2FyZGVyIFY0IHRyYW5zYWN0aW9uIHdpdGggZGlmZmVyZW50IGNvbnRyYWN0IGFkZHJlc3MnLCBhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCBidWlsZFRyYW5zYWN0aW9uKHtcbiAgICAgICAgZmVlOiB7XG4gICAgICAgICAgZmVlOiAnMTAnLFxuICAgICAgICAgIGdhc0xpbWl0OiAnMTAwMCcsXG4gICAgICAgIH0sXG4gICAgICAgIGNvdW50ZXI6IDAsXG4gICAgICAgIGZvcndhcmRlckFkZHJlc3M6ICcweDUzYjhlOTFiYjNiOGY2MThiNWYwMTAwNGVmMTA4ZjEzNGYyMTk1NzMnLFxuICAgICAgICB0b2tlbkFkZHJlc3M6ICcweGJjZjkzNWQyMDZjYTMyOTI5ZTFiODg3YTA3ZWQyNDBmMGQ4Y2NkMjInLFxuICAgICAgICBjb250cmFjdEFkZHJlc3M6ICcweDhmOTc3ZTkxMmVmNTAwNTQ4YTBjM2JlNmRkZGU5ODk5ZjExOTliODEnLFxuICAgICAgICBmb3J3YXJkZXJWZXJzaW9uOiA0LFxuICAgICAgfSkuc2hvdWxkLmJlLnJlamVjdGVkV2l0aCgnSW52YWxpZCBjb250cmFjdCBhZGRyZXNzOiAweDhmOTc3ZTkxMmVmNTAwNTQ4YTBjM2JlNmRkZGU5ODk5ZjExOTliODEnKTtcbiAgICB9KTtcblxuICAgIGl0KCdhIHRyYW5zYWN0aW9uIHdpdGhvdXQgdG9rZW5BZGRyZXNzJywgYXN5bmMgKCkgPT4ge1xuICAgICAgYXdhaXQgYnVpbGRUcmFuc2FjdGlvbih7XG4gICAgICAgIGZlZToge1xuICAgICAgICAgIGZlZTogJzEwJyxcbiAgICAgICAgICBnYXNMaW1pdDogJzEwJyxcbiAgICAgICAgfSxcbiAgICAgICAgY291bnRlcjogMCxcbiAgICAgICAgZm9yd2FyZGVyQWRkcmVzczogJzB4NTNiOGU5MWJiM2I4ZjYxOGI1ZjAxMDA0ZWYxMDhmMTM0ZjIxOTU3MycsXG4gICAgICAgIGNvbnRyYWN0QWRkcmVzczogJzB4OGY5NzdlOTEyZWY1MDA1NDhhMGMzYmU2ZGRkZTk4OTlmMTE5OWI4MScsXG4gICAgICB9KS5zaG91bGQuYmUucmVqZWN0ZWRXaXRoKCdJbnZhbGlkIHRyYW5zYWN0aW9uOiBtaXNzaW5nIHRva2VuIGFkZHJlc3MnKTtcbiAgICB9KTtcblxuICAgIGl0KCdhIHRyYW5zYWN0aW9uIHdpdGhvdXQgZm9yd2FyZGVyQWRkcmVzcycsIGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IGJ1aWxkVHJhbnNhY3Rpb24oe1xuICAgICAgICBmZWU6IHtcbiAgICAgICAgICBmZWU6ICcxMCcsXG4gICAgICAgICAgZ2FzTGltaXQ6ICcxMCcsXG4gICAgICAgIH0sXG4gICAgICAgIGNvdW50ZXI6IDAsXG4gICAgICAgIHRva2VuQWRkcmVzczogJzB4YmNmOTM1ZDIwNmNhMzI5MjllMWI4ODdhMDdlZDI0MGYwZDhjY2QyMicsXG4gICAgICAgIGNvbnRyYWN0QWRkcmVzczogJzB4OGY5NzdlOTEyZWY1MDA1NDhhMGMzYmU2ZGRkZTk4OTlmMTE5OWI4MScsXG4gICAgICB9KS5zaG91bGQuYmUucmVqZWN0ZWRXaXRoKCdJbnZhbGlkIHRyYW5zYWN0aW9uOiBtaXNzaW5nIGZvcndhcmRlciBhZGRyZXNzJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnYSB0cmFuc2FjdGlvbiB3aXRoIGludmFsaWQgY291bnRlcicsIGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IGJ1aWxkVHJhbnNhY3Rpb24oe1xuICAgICAgICBmZWU6IHtcbiAgICAgICAgICBmZWU6ICcxMCcsXG4gICAgICAgICAgZ2FzTGltaXQ6ICcxMCcsXG4gICAgICAgIH0sXG4gICAgICAgIGNvdW50ZXI6IC0xLFxuICAgICAgICB0b2tlbkFkZHJlc3M6ICcweGJjZjkzNWQyMDZjYTMyOTI5ZTFiODg3YTA3ZWQyNDBmMGQ4Y2NkMjInLFxuICAgICAgICBjb250cmFjdEFkZHJlc3M6ICcweDhmOTc3ZTkxMmVmNTAwNTQ4YTBjM2JlNmRkZGU5ODk5ZjExOTliODEnLFxuICAgICAgfSkuc2hvdWxkLmJlLnJlamVjdGVkV2l0aCgnSW52YWxpZCBjb3VudGVyOiAtMScpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
|
285
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx1c2hUb2tlbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvdHJhbnNhY3Rpb25CdWlsZGVyL2ZsdXNoVG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLDhDQUFrRDtBQUNsRCxzQ0FPc0I7QUFDdEIsOENBQTJDO0FBQzNDLHNEQUFzRDtBQUN0RCx5RkFBMEc7QUFFMUcsbURBQW1EO0FBQ25ELFFBQVEsQ0FBQyx5Q0FBeUMsRUFBRSxHQUFHLEVBQUU7SUFDdkQsSUFBQSxxQ0FBZ0IsRUFBQyxLQUFLLEVBQUUsdUJBQVUsQ0FBQyxDQUFDO0FBQ3RDLENBQUMsQ0FBQyxDQUFDO0FBRUgsb0VBQW9FO0FBQ3BFLFFBQVEsQ0FBQywwREFBMEQsRUFBRSxHQUFHLEVBQUU7SUFDeEUsSUFBQSx5Q0FBb0IsRUFBQyxLQUFLLEVBQUUsdUJBQVUsQ0FBQyxDQUFDO0FBQzFDLENBQUMsQ0FBQyxDQUFDO0FBRUgsUUFBUSxDQUFDLHFEQUFxRCxFQUFFO0lBQzlELE1BQU0sY0FBYyxHQUFHLElBQUksYUFBTyxDQUFDO1FBQ2pDLEdBQUcsRUFBRSxrRUFBa0U7S0FDeEUsQ0FBQyxDQUFDO0lBWUgsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLFdBQVcsT0FBMkI7UUFDbEUsTUFBTSxTQUFTLEdBQVEsSUFBQSx1QkFBVSxFQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsMEJBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUU1QyxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMzQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUVELElBQUksT0FBTyxDQUFDLFlBQVksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN2QyxTQUFTLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMvQyxDQUFDO1FBRUQsSUFBSSxPQUFPLENBQUMsR0FBRyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzlCLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLENBQUM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxlQUFlLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDMUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDOUMsQ0FBQztRQUVELElBQUksT0FBTyxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNsQyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBRUQsSUFBSSxPQUFPLENBQUMsR0FBRyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzlCLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMzQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUVELE9BQU8sTUFBTSxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakMsQ0FBQyxDQUFDO0lBRUYsUUFBUSxDQUFDLGNBQWMsRUFBRSxHQUFHLEVBQUU7UUFDNUIsRUFBRSxDQUFDLHNDQUFzQyxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ3BELE1BQU0sRUFBRSxHQUFHLE1BQU0sZ0JBQWdCLENBQUM7Z0JBQ2hDLEdBQUcsRUFBRTtvQkFDSCxHQUFHLEVBQUUsSUFBSTtvQkFDVCxRQUFRLEVBQUUsTUFBTTtpQkFDakI7Z0JBQ0QsT0FBTyxFQUFFLENBQUM7Z0JBQ1YsZ0JBQWdCLEVBQUUsNENBQTRDO2dCQUM5RCxZQUFZLEVBQUUsNENBQTRDO2dCQUMxRCxlQUFlLEVBQUUsNENBQTRDO2FBQzlELENBQUMsQ0FBQztZQUVILEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQywwQkFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2xELE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMzQixNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDckMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLHdCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RELE1BQU0sQ0FBQyxRQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzlCLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxrQ0FBNEIsQ0FBQyxDQUFDO1FBQzdELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDZEQUE2RCxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQzNFLE1BQU0sRUFBRSxHQUFHLE1BQU0sZ0JBQWdCLENBQUM7Z0JBQ2hDLEdBQUcsRUFBRTtvQkFDSCxHQUFHLEVBQUUsSUFBSTtvQkFDVCxPQUFPLEVBQUU7d0JBQ1Asb0JBQW9CLEVBQUUsR0FBRzt3QkFDekIsWUFBWSxFQUFFLElBQUk7cUJBQ25CO29CQUNELFFBQVEsRUFBRSxNQUFNO2lCQUNqQjtnQkFDRCxPQUFPLEVBQUUsQ0FBQztnQkFDVixnQkFBZ0IsRUFBRSw0Q0FBNEM7Z0JBQzlELFlBQVksRUFBRSw0Q0FBNEM7Z0JBQzFELGVBQWUsRUFBRSw0Q0FBNEM7YUFDOUQsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDBCQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDbEQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzNCLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNyQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsd0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdkQsTUFBTSxDQUFDLFlBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3hDLE1BQU0sQ0FBQyxvQkFBcUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQy9DLGdCQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDOUIsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGtDQUE0QixDQUFDLENBQUM7UUFDN0QsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsbURBQW1ELEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDakUsTUFBTSxFQUFFLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQztnQkFDaEMsR0FBRyxFQUFFO29CQUNILEdBQUcsRUFBRSxJQUFJO29CQUNULFFBQVEsRUFBRSxNQUFNO2lCQUNqQjtnQkFDRCxPQUFPLEVBQUUsQ0FBQztnQkFDVixnQkFBZ0IsRUFBRSw0Q0FBNEM7Z0JBQzlELFlBQVksRUFBRSw0Q0FBNEM7Z0JBQzFELGVBQWUsRUFBRSw0Q0FBNEM7YUFDOUQsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDBCQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDbEQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzNCLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNyQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsd0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdEQsTUFBTSxDQUFDLFFBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BDLGdCQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDOUIsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGtDQUE0QixDQUFDLENBQUM7UUFDN0QsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsK0RBQStELEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDN0UsTUFBTSxFQUFFLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQztnQkFDaEMsR0FBRyxFQUFFO29CQUNILEdBQUcsRUFBRSxJQUFJO29CQUNULFFBQVEsRUFBRSxNQUFNO2lCQUNqQjtnQkFDRCxPQUFPLEVBQUUsQ0FBQztnQkFDVixnQkFBZ0IsRUFBRSw0Q0FBNEM7Z0JBQzlELFlBQVksRUFBRSw0Q0FBNEM7Z0JBQzFELGVBQWUsRUFBRSw0Q0FBNEM7Z0JBQzdELGdCQUFnQixFQUFFLENBQUM7YUFDcEIsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDBCQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDbEQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzNCLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNyQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsd0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdEQsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM5QixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsb0NBQThCLENBQUMsQ0FBQztRQUMvRCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxvRUFBb0UsRUFBRSxLQUFLLElBQUksRUFBRTtZQUNsRixNQUFNLEVBQUUsR0FBRyxNQUFNLGdCQUFnQixDQUFDO2dCQUNoQyxHQUFHLEVBQUU7b0JBQ0gsR0FBRyxFQUFFLElBQUk7b0JBQ1QsUUFBUSxFQUFFLE1BQU07aUJBQ2pCO2dCQUNELE9BQU8sRUFBRSxDQUFDO2dCQUNWLGdCQUFnQixFQUFFLDRDQUE0QztnQkFDOUQsWUFBWSxFQUFFLDRDQUE0QztnQkFDMUQsZUFBZSxFQUFFLDRDQUE0QztnQkFDN0QsZ0JBQWdCLEVBQUUsQ0FBQzthQUNwQixDQUFDLENBQUM7WUFDSCxNQUFNLGVBQWUsR0FBUSxJQUFBLHVCQUFVLEVBQUMsTUFBTSxDQUFDLENBQUM7WUFDaEQsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1lBQzdDLE1BQU0sTUFBTSxHQUFHLE1BQU0sZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzdDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMvQixNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsNENBQTRDLENBQUMsQ0FBQztZQUNyRSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsMENBQTBDLENBQUMsQ0FBQztRQUM1RSxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxzRUFBc0UsRUFBRSxLQUFLLElBQUksRUFBRTtZQUNwRixNQUFNLEVBQUUsR0FBRyxNQUFNLGdCQUFnQixDQUFDO2dCQUNoQyxHQUFHLEVBQUU7b0JBQ0gsR0FBRyxFQUFFLElBQUk7b0JBQ1QsUUFBUSxFQUFFLE1BQU07aUJBQ2pCO2dCQUNELE9BQU8sRUFBRSxDQUFDO2dCQUNWLGdCQUFnQixFQUFFLDRDQUE0QztnQkFDOUQsWUFBWSxFQUFFLDRDQUE0QztnQkFDMUQsZUFBZSxFQUFFLDRDQUE0QztnQkFDN0QsZ0JBQWdCLEVBQUUsQ0FBQzthQUNwQixDQUFDLENBQUM7WUFDSCxNQUFNLGVBQWUsR0FBUSxJQUFBLHVCQUFVLEVBQUMsTUFBTSxDQUFDLENBQUM7WUFDaEQsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1lBQzdDLE1BQU0sTUFBTSxHQUFHLE1BQU0sZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzdDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMvQixNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsNENBQTRDLENBQUMsQ0FBQztZQUNyRSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsMENBQTBDLENBQUMsQ0FBQztZQUMxRSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsMENBQTBDLENBQUMsQ0FBQztRQUM1RSxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywrQ0FBK0MsRUFBRSxLQUFLLElBQUksRUFBRTtZQUM3RCxNQUFNLEVBQUUsR0FBRyxNQUFNLGdCQUFnQixDQUFDO2dCQUNoQyxHQUFHLEVBQUU7b0JBQ0gsR0FBRyxFQUFFLElBQUk7b0JBQ1QsUUFBUSxFQUFFLE1BQU07aUJBQ2pCO2dCQUNELE9BQU8sRUFBRSxDQUFDO2dCQUNWLGdCQUFnQixFQUFFLDRDQUE0QztnQkFDOUQsWUFBWSxFQUFFLDRDQUE0QztnQkFDMUQsZUFBZSxFQUFFLDRDQUE0QzthQUM5RCxDQUFDLENBQUM7WUFDSCxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUUxQyw0RUFBNEU7WUFDNUUsTUFBTSxZQUFZLEdBQVEsSUFBQSx1QkFBVSxFQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzdDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDOUIsTUFBTSxLQUFLLEdBQUcsTUFBTSxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDekMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDcEQsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGtDQUE0QixDQUFDLENBQUM7WUFDbkUsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyw0Q0FBNEMsRUFBRSxLQUFLLElBQUksRUFBRTtZQUMxRCxNQUFNLEVBQUUsR0FBRyxNQUFNLGdCQUFnQixDQUFDO2dCQUNoQyxHQUFHLEVBQUU7b0JBQ0gsR0FBRyxFQUFFLElBQUk7b0JBQ1QsUUFBUSxFQUFFLE1BQU07aUJBQ2pCO2dCQUNELE9BQU8sRUFBRSxDQUFDO2dCQUNWLGdCQUFnQixFQUFFLDRDQUE0QztnQkFDOUQsWUFBWSxFQUFFLDRDQUE0QztnQkFDMUQsZUFBZSxFQUFFLDRDQUE0QztnQkFDN0QsR0FBRyxFQUFFLGNBQWM7YUFDcEIsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFFMUMsNEVBQTRFO1lBQzVFLE1BQU0sWUFBWSxHQUFRLElBQUEsdUJBQVUsRUFBQyxNQUFNLENBQUMsQ0FBQztZQUM3QyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzlCLE1BQU0sS0FBSyxHQUFHLE1BQU0sWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3pDLGdCQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ3BELGdCQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsb0VBQW9FLENBQUMsQ0FBQztZQUM3RixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDOUIsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZCLGdCQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QixnQkFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkIsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsc0JBQXNCLEVBQUUsR0FBRyxFQUFFO1FBQ3BDLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSxLQUFLLElBQUksRUFBRTtZQUN6QyxNQUFNLGdCQUFnQixDQUFDO2dCQUNyQixPQUFPLEVBQUUsQ0FBQztnQkFDVixnQkFBZ0IsRUFBRSw0Q0FBNEM7Z0JBQzlELFlBQVksRUFBRSw0Q0FBNEM7Z0JBQzFELGVBQWUsRUFBRSw0Q0FBNEM7YUFDOUQsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDaEUsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsdUNBQXVDLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDckQsTUFBTSxnQkFBZ0IsQ0FBQztnQkFDckIsR0FBRyxFQUFFO29CQUNILEdBQUcsRUFBRSxJQUFJO29CQUNULFFBQVEsRUFBRSxJQUFJO2lCQUNmO2dCQUNELE9BQU8sRUFBRSxDQUFDO2dCQUNWLGdCQUFnQixFQUFFLDRDQUE0QztnQkFDOUQsWUFBWSxFQUFFLDRDQUE0QzthQUMzRCxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsK0NBQStDLENBQUMsQ0FBQztRQUM3RSxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyx5RUFBeUUsRUFBRSxLQUFLLElBQUksRUFBRTtZQUN2RixNQUFNLGdCQUFnQixDQUFDO2dCQUNyQixHQUFHLEVBQUU7b0JBQ0gsR0FBRyxFQUFFLElBQUk7b0JBQ1QsUUFBUSxFQUFFLE1BQU07aUJBQ2pCO2dCQUNELE9BQU8sRUFBRSxDQUFDO2dCQUNWLGdCQUFnQixFQUFFLDRDQUE0QztnQkFDOUQsWUFBWSxFQUFFLDRDQUE0QztnQkFDMUQsZUFBZSxFQUFFLDRDQUE0QztnQkFDN0QsZ0JBQWdCLEVBQUUsQ0FBQzthQUNwQixDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsc0VBQXNFLENBQUMsQ0FBQztRQUNwRyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxvQ0FBb0MsRUFBRSxLQUFLLElBQUksRUFBRTtZQUNsRCxNQUFNLGdCQUFnQixDQUFDO2dCQUNyQixHQUFHLEVBQUU7b0JBQ0gsR0FBRyxFQUFFLElBQUk7b0JBQ1QsUUFBUSxFQUFFLElBQUk7aUJBQ2Y7Z0JBQ0QsT0FBTyxFQUFFLENBQUM7Z0JBQ1YsZ0JBQWdCLEVBQUUsNENBQTRDO2dCQUM5RCxlQUFlLEVBQUUsNENBQTRDO2FBQzlELENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO1FBQzFFLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHdDQUF3QyxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ3RELE1BQU0sZ0JBQWdCLENBQUM7Z0JBQ3JCLEdBQUcsRUFBRTtvQkFDSCxHQUFHLEVBQUUsSUFBSTtvQkFDVCxRQUFRLEVBQUUsSUFBSTtpQkFDZjtnQkFDRCxPQUFPLEVBQUUsQ0FBQztnQkFDVixZQUFZLEVBQUUsNENBQTRDO2dCQUMxRCxlQUFlLEVBQUUsNENBQTRDO2FBQzlELENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO1FBQzlFLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLG9DQUFvQyxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ2xELE1BQU0sZ0JBQWdCLENBQUM7Z0JBQ3JCLEdBQUcsRUFBRTtvQkFDSCxHQUFHLEVBQUUsSUFBSTtvQkFDVCxRQUFRLEVBQUUsSUFBSTtpQkFDZjtnQkFDRCxPQUFPLEVBQUUsQ0FBQyxDQUFDO2dCQUNYLFlBQVksRUFBRSw0Q0FBNEM7Z0JBQzFELGVBQWUsRUFBRSw0Q0FBNEM7YUFDOUQsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHNob3VsZCBmcm9tICdzaG91bGQnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7XG4gIEVUSFRyYW5zYWN0aW9uVHlwZSxcbiAgRmVlLFxuICBmbHVzaEZvcndhcmRlclRva2Vuc01ldGhvZElkLFxuICBmbHVzaEZvcndhcmRlclRva2Vuc01ldGhvZElkVjQsXG4gIEtleVBhaXIsXG4gIFRyYW5zYWN0aW9uLFxufSBmcm9tICcuLi8uLi8uLi9zcmMnO1xuaW1wb3J0IHsgZ2V0QnVpbGRlciB9IGZyb20gJy4uL2dldEJ1aWxkZXInO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1pbnRlcm5hbC1tb2R1bGVzXG5pbXBvcnQgeyBydW5GbHVzaE5mdFRlc3RzLCBydW5GbHVzaEVSQzc5ODRUZXN0cyB9IGZyb20gJ0BiaXRnby9hYnN0cmFjdC1ldGgvdGVzdC91bml0L3RyYW5zYWN0aW9uQnVpbGRlcic7XG5cbi8vIFJ1biB0aGUgc2hhcmVkIGZsdXNoIE5GVCB0ZXN0cyBmcm9tIGFic3RyYWN0LWV0aFxuZGVzY3JpYmUoJ0VUSCBGbHVzaCBORlQgVGVzdHMgKGZyb20gYWJzdHJhY3QtZXRoKScsICgpID0+IHtcbiAgcnVuRmx1c2hOZnRUZXN0cygnZXRoJywgZ2V0QnVpbGRlcik7XG59KTtcblxuLy8gUnVuIHRoZSBzaGFyZWQgRmx1c2hFUkM3OTg0Rm9yd2FyZGVyVG9rZW4gdGVzdHMgZnJvbSBhYnN0cmFjdC1ldGhcbmRlc2NyaWJlKCdFVEggRmx1c2hFUkM3OTg0Rm9yd2FyZGVyVG9rZW4gVGVzdHMgKGZyb20gYWJzdHJhY3QtZXRoKScsICgpID0+IHtcbiAgcnVuRmx1c2hFUkM3OTg0VGVzdHMoJ2V0aCcsIGdldEJ1aWxkZXIpO1xufSk7XG5cbmRlc2NyaWJlKCdFdGggVHJhbnNhY3Rpb24gYnVpbGRlciBmbHVzaCB0b2tlbnMgKEVUSC1zcGVjaWZpYyknLCBmdW5jdGlvbiAoKSB7XG4gIGNvbnN0IGRlZmF1bHRLZXlQYWlyID0gbmV3IEtleVBhaXIoe1xuICAgIHBydjogJ0ZBQzREMDRBQTAwMjVFQ0YyMDBENzRCQzlCNUU0NjE2RTRCODMzOEI2OUI2MTM2MkFBQUQ0OUY3NkU2OEVGMjgnLFxuICB9KTtcblxuICBpbnRlcmZhY2UgRmx1c2hUb2tlbnNEZXRhaWxzIHtcbiAgICBmb3J3YXJkZXJBZGRyZXNzPzogc3RyaW5nO1xuICAgIHRva2VuQWRkcmVzcz86IHN0cmluZztcbiAgICBjb250cmFjdEFkZHJlc3M/OiBzdHJpbmc7XG4gICAgY291bnRlcj86IG51bWJlcjtcbiAgICBmZWU/OiBGZWU7XG4gICAga2V5PzogS2V5UGFpcjtcbiAgICBmb3J3YXJkZXJWZXJzaW9uPzogbnVtYmVyO1xuICB9XG5cbiAgY29uc3QgYnVpbGRUcmFuc2FjdGlvbiA9IGFzeW5jIGZ1bmN0aW9uIChkZXRhaWxzOiBGbHVzaFRva2Vuc0RldGFpbHMpOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgY29uc3QgdHhCdWlsZGVyOiBhbnkgPSBnZXRCdWlsZGVyKCd0ZXRoJyk7XG4gICAgdHhCdWlsZGVyLnR5cGUoVHJhbnNhY3Rpb25UeXBlLkZsdXNoVG9rZW5zKTtcblxuICAgIGlmIChkZXRhaWxzLmZvcndhcmRlckFkZHJlc3MgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdHhCdWlsZGVyLmZvcndhcmRlckFkZHJlc3MoZGV0YWlscy5mb3J3YXJkZXJBZGRyZXNzKTtcbiAgICB9XG5cbiAgICBpZiAoZGV0YWlscy50b2tlbkFkZHJlc3MgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdHhCdWlsZGVyLnRva2VuQWRkcmVzcyhkZXRhaWxzLnRva2VuQWRkcmVzcyk7XG4gICAgfVxuXG4gICAgaWYgKGRldGFpbHMuZmVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHR4QnVpbGRlci5mZWUoZGV0YWlscy5mZWUpO1xuICAgIH1cblxuICAgIGlmIChkZXRhaWxzLmNvbnRyYWN0QWRkcmVzcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0eEJ1aWxkZXIuY29udHJhY3QoZGV0YWlscy5jb250cmFjdEFkZHJlc3MpO1xuICAgIH1cblxuICAgIGlmIChkZXRhaWxzLmNvdW50ZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdHhCdWlsZGVyLmNvdW50ZXIoZGV0YWlscy5jb3VudGVyKTtcbiAgICB9XG5cbiAgICBpZiAoZGV0YWlscy5rZXkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdHhCdWlsZGVyLnNpZ24oeyBrZXk6IGRldGFpbHMua2V5LmdldEtleXMoKS5wcnYgfSk7XG4gICAgfVxuXG4gICAgaWYgKGRldGFpbHMuZm9yd2FyZGVyVmVyc2lvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0eEJ1aWxkZXIuZm9yd2FyZGVyVmVyc2lvbihkZXRhaWxzLmZvcndhcmRlclZlcnNpb24pO1xuICAgIH1cblxuICAgIHJldHVybiBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgfTtcblxuICBkZXNjcmliZSgnc2hvdWxkIGJ1aWxkJywgKCkgPT4ge1xuICAgIGl0KCdhIHdhbGxldCBmbHVzaCBmb3J3YXJkZXIgdHJhbnNhY3Rpb24nLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB0eCA9IGF3YWl0IGJ1aWxkVHJhbnNhY3Rpb24oe1xuICAgICAgICBmZWU6IHtcbiAgICAgICAgICBmZWU6ICcxMCcsXG4gICAgICAgICAgZ2FzTGltaXQ6ICcxMDAwJyxcbiAgICAgICAgfSxcbiAgICAgICAgY291bnRlcjogMSxcbiAgICAgICAgZm9yd2FyZGVyQWRkcmVzczogJzB4NTNiOGU5MWJiM2I4ZjYxOGI1ZjAxMDA0ZWYxMDhmMTM0ZjIxOTU3MycsXG4gICAgICAgIHRva2VuQWRkcmVzczogJzB4YmNmOTM1ZDIwNmNhMzI5MjllMWI4ODdhMDdlZDI0MGYwZDhjY2QyMicsXG4gICAgICAgIGNvbnRyYWN0QWRkcmVzczogJzB4OGY5NzdlOTEyZWY1MDA1NDhhMGMzYmU2ZGRkZTk4OTlmMTE5OWI4MScsXG4gICAgICB9KTtcblxuICAgICAgdHgudHlwZS5zaG91bGQuZXF1YWwoVHJhbnNhY3Rpb25UeXBlLkZsdXNoVG9rZW5zKTtcbiAgICAgIGNvbnN0IHR4SnNvbiA9IHR4LnRvSnNvbigpO1xuICAgICAgdHhKc29uLmdhc0xpbWl0LnNob3VsZC5lcXVhbCgnMTAwMCcpO1xuICAgICAgdHhKc29uLl90eXBlLnNob3VsZC5lcXVhbHMoRVRIVHJhbnNhY3Rpb25UeXBlLkxFR0FDWSk7XG4gICAgICB0eEpzb24uZ2FzUHJpY2UhLnNob3VsZC5lcXVhbCgnMTAnKTtcbiAgICAgIHNob3VsZC5lcXVhbCh0eEpzb24ubm9uY2UsIDEpO1xuICAgICAgdHhKc29uLmRhdGEuc2hvdWxkLnN0YXJ0V2l0aChmbHVzaEZvcndhcmRlclRva2Vuc01ldGhvZElkKTtcbiAgICB9KTtcblxuICAgIGl0KCdhIHdhbGxldCBmbHVzaCBmb3J3YXJkZXIgdHJhbnNhY3Rpb24gd2l0aCBlaXAxNTU5IGZlZSBtb2RlbCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgYnVpbGRUcmFuc2FjdGlvbih7XG4gICAgICAgIGZlZToge1xuICAgICAgICAgIGZlZTogJzMwJyxcbiAgICAgICAgICBlaXAxNTU5OiB7XG4gICAgICAgICAgICBtYXhQcmlvcml0eUZlZVBlckdhczogJzUnLFxuICAgICAgICAgICAgbWF4RmVlUGVyR2FzOiAnMzAnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZ2FzTGltaXQ6ICcxMDAwJyxcbiAgICAgICAgfSxcbiAgICAgICAgY291bnRlcjogMSxcbiAgICAgICAgZm9yd2FyZGVyQWRkcmVzczogJzB4NTNiOGU5MWJiM2I4ZjYxOGI1ZjAxMDA0ZWYxMDhmMTM0ZjIxOTU3MycsXG4gICAgICAgIHRva2VuQWRkcmVzczogJzB4YmNmOTM1ZDIwNmNhMzI5MjllMWI4ODdhMDdlZDI0MGYwZDhjY2QyMicsXG4gICAgICAgIGNvbnRyYWN0QWRkcmVzczogJzB4OGY5NzdlOTEyZWY1MDA1NDhhMGMzYmU2ZGRkZTk4OTlmMTE5OWI4MScsXG4gICAgICB9KTtcblxuICAgICAgdHgudHlwZS5zaG91bGQuZXF1YWwoVHJhbnNhY3Rpb25UeXBlLkZsdXNoVG9rZW5zKTtcbiAgICAgIGNvbnN0IHR4SnNvbiA9IHR4LnRvSnNvbigpO1xuICAgICAgdHhKc29uLmdhc0xpbWl0LnNob3VsZC5lcXVhbCgnMTAwMCcpO1xuICAgICAgdHhKc29uLl90eXBlLnNob3VsZC5lcXVhbHMoRVRIVHJhbnNhY3Rpb25UeXBlLkVJUDE1NTkpO1xuICAgICAgdHhKc29uLm1heEZlZVBlckdhcyEuc2hvdWxkLmVxdWFsKCczMCcpO1xuICAgICAgdHhKc29uLm1heFByaW9yaXR5RmVlUGVyR2FzIS5zaG91bGQuZXF1YWwoJzUnKTtcbiAgICAgIHNob3VsZC5lcXVhbCh0eEpzb24ubm9uY2UsIDEpO1xuICAgICAgdHhKc29uLmRhdGEuc2hvdWxkLnN0YXJ0V2l0aChmbHVzaEZvcndhcmRlclRva2Vuc01ldGhvZElkKTtcbiAgICB9KTtcblxuICAgIGl0KCdhIHdhbGxldCBmbHVzaCBmb3J3YXJkZXIgdHJhbnNhY3Rpb24gd2l0aCBub25jZSAwJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdHggPSBhd2FpdCBidWlsZFRyYW5zYWN0aW9uKHtcbiAgICAgICAgZmVlOiB7XG4gICAgICAgICAgZmVlOiAnMTAnLFxuICAgICAgICAgIGdhc0xpbWl0OiAnMTAwMCcsXG4gICAgICAgIH0sXG4gICAgICAgIGNvdW50ZXI6IDAsXG4gICAgICAgIGZvcndhcmRlckFkZHJlc3M6ICcweDUzYjhlOTFiYjNiOGY2MThiNWYwMTAwNGVmMTA4ZjEzNGYyMTk1NzMnLFxuICAgICAgICB0b2tlbkFkZHJlc3M6ICcweGJjZjkzNWQyMDZjYTMyOTI5ZTFiODg3YTA3ZWQyNDBmMGQ4Y2NkMjInLFxuICAgICAgICBjb250cmFjdEFkZHJlc3M6ICcweDhmOTc3ZTkxMmVmNTAwNTQ4YTBjM2JlNmRkZGU5ODk5ZjExOTliODEnLFxuICAgICAgfSk7XG5cbiAgICAgIHR4LnR5cGUuc2hvdWxkLmVxdWFsKFRyYW5zYWN0aW9uVHlwZS5GbHVzaFRva2Vucyk7XG4gICAgICBjb25zdCB0eEpzb24gPSB0eC50b0pzb24oKTtcbiAgICAgIHR4SnNvbi5nYXNMaW1pdC5zaG91bGQuZXF1YWwoJzEwMDAnKTtcbiAgICAgIHR4SnNvbi5fdHlwZS5zaG91bGQuZXF1YWxzKEVUSFRyYW5zYWN0aW9uVHlwZS5MRUdBQ1kpO1xuICAgICAgdHhKc29uLmdhc1ByaWNlIS5zaG91bGQuZXF1YWwoJzEwJyk7XG4gICAgICBzaG91bGQuZXF1YWwodHhKc29uLm5vbmNlLCAwKTtcbiAgICAgIHR4SnNvbi5kYXRhLnNob3VsZC5zdGFydFdpdGgoZmx1c2hGb3J3YXJkZXJUb2tlbnNNZXRob2RJZCk7XG4gICAgfSk7XG5cbiAgICBpdCgnYSB3YWxsZXQgZmx1c2ggZm9yd2FyZGVyIHRyYW5zYWN0aW9uIHdpdGggZm9yd2FyZGVyIFZlcnNpb24gNCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgYnVpbGRUcmFuc2FjdGlvbih7XG4gICAgICAgIGZlZToge1xuICAgICAgICAgIGZlZTogJzEwJyxcbiAgICAgICAgICBnYXNMaW1pdDogJzEwMDAnLFxuICAgICAgICB9LFxuICAgICAgICBjb3VudGVyOiAwLFxuICAgICAgICBmb3J3YXJkZXJBZGRyZXNzOiAnMHg1M2I4ZTkxYmIzYjhmNjE4YjVmMDEwMDRlZjEwOGYxMzRmMjE5NTczJyxcbiAgICAgICAgdG9rZW5BZGRyZXNzOiAnMHhiY2Y5MzVkMjA2Y2EzMjkyOWUxYjg4N2EwN2VkMjQwZjBkOGNjZDIyJyxcbiAgICAgICAgY29udHJhY3RBZGRyZXNzOiAnMHg1M2I4ZTkxYmIzYjhmNjE4YjVmMDEwMDRlZjEwOGYxMzRmMjE5NTczJyxcbiAgICAgICAgZm9yd2FyZGVyVmVyc2lvbjogNCxcbiAgICAgIH0pO1xuXG4gICAgICB0eC50eXBlLnNob3VsZC5lcXVhbChUcmFuc2FjdGlvblR5cGUuRmx1c2hUb2tlbnMpO1xuICAgICAgY29uc3QgdHhKc29uID0gdHgudG9Kc29uKCk7XG4gICAgICB0eEpzb24uZ2FzTGltaXQuc2hvdWxkLmVxdWFsKCcxMDAwJyk7XG4gICAgICB0eEpzb24uX3R5cGUuc2hvdWxkLmVxdWFscyhFVEhUcmFuc2FjdGlvblR5cGUuTEVHQUNZKTtcbiAgICAgIHNob3VsZC5lcXVhbCh0eEpzb24ubm9uY2UsIDApO1xuICAgICAgdHhKc29uLmRhdGEuc2hvdWxkLnN0YXJ0V2l0aChmbHVzaEZvcndhcmRlclRva2Vuc01ldGhvZElkVjQpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2RlY29kZSB3YWxsZXQgZmx1c2ggZm9yd2FyZGVyIHRyYW5zYWN0aW9uIHdpdGggZm9yd2FyZGVyIFZlcnNpb24gNCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgYnVpbGRUcmFuc2FjdGlvbih7XG4gICAgICAgIGZlZToge1xuICAgICAgICAgIGZlZTogJzEwJyxcbiAgICAgICAgICBnYXNMaW1pdDogJzEwMDAnLFxuICAgICAgICB9LFxuICAgICAgICBjb3VudGVyOiAwLFxuICAgICAgICBmb3J3YXJkZXJBZGRyZXNzOiAnMHg1M2I4ZTkxYmIzYjhmNjE4YjVmMDEwMDRlZjEwOGYxMzRmMjE5NTczJyxcbiAgICAgICAgdG9rZW5BZGRyZXNzOiAnMHhiY2Y5MzVkMjA2Y2EzMjkyOWUxYjg4N2EwN2VkMjQwZjBkOGNjZDIyJyxcbiAgICAgICAgY29udHJhY3RBZGRyZXNzOiAnMHg1M2I4ZTkxYmIzYjhmNjE4YjVmMDEwMDRlZjEwOGYxMzRmMjE5NTczJyxcbiAgICAgICAgZm9yd2FyZGVyVmVyc2lvbjogNCxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgdHhCdWlkZXJGcm9tUmF3OiBhbnkgPSBnZXRCdWlsZGVyKCd0ZXRoJyk7XG4gICAgICB0eEJ1aWRlckZyb21SYXcuZnJvbSh0eC50b0Jyb2FkY2FzdEZvcm1hdCgpKTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHR4QnVpZGVyRnJvbVJhdy5idWlsZCgpO1xuICAgICAgY29uc3QgdHhKc29uID0gcmVzdWx0LnRvSnNvbigpO1xuICAgICAgdHhKc29uLnRvLnNob3VsZC5lcXVhbCgnMHg1M2I4ZTkxYmIzYjhmNjE4YjVmMDEwMDRlZjEwOGYxMzRmMjE5NTczJyk7XG4gICAgICB0eEpzb24uZGF0YS5zaG91bGQuY29udGFpbkVxbCgnYmNmOTM1ZDIwNmNhMzI5MjllMWI4ODdhMDdlZDI0MGYwZDhjY2QyMicpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2RlY29kZSB3YWxsZXQgZmx1c2ggZm9yd2FyZGVyIHRyYW5zYWN0aW9uIHdpdGggZm9yd2FyZGVyIFZlcnNpb24gPCA0JywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdHggPSBhd2FpdCBidWlsZFRyYW5zYWN0aW9uKHtcbiAgICAgICAgZmVlOiB7XG4gICAgICAgICAgZmVlOiAnMTAnLFxuICAgICAgICAgIGdhc0xpbWl0OiAnMTAwMCcsXG4gICAgICAgIH0sXG4gICAgICAgIGNvdW50ZXI6IDAsXG4gICAgICAgIGZvcndhcmRlckFkZHJlc3M6ICcweDUzYjhlOTFiYjNiOGY2MThiNWYwMTAwNGVmMTA4ZjEzNGYyMTk1NzMnLFxuICAgICAgICB0b2tlbkFkZHJlc3M6ICcweGJjZjkzNWQyMDZjYTMyOTI5ZTFiODg3YTA3ZWQyNDBmMGQ4Y2NkMjInLFxuICAgICAgICBjb250cmFjdEFkZHJlc3M6ICcweDhmOTc3ZTkxMmVmNTAwNTQ4YTBjM2JlNmRkZGU5ODk5ZjExOTliODEnLFxuICAgICAgICBmb3J3YXJkZXJWZXJzaW9uOiAyLFxuICAgICAgfSk7XG4gICAgICBjb25zdCB0eEJ1aWRlckZyb21SYXc6IGFueSA9IGdldEJ1aWxkZXIoJ3RldGgnKTtcbiAgICAgIHR4QnVpZGVyRnJvbVJhdy5mcm9tKHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCkpO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdHhCdWlkZXJGcm9tUmF3LmJ1aWxkKCk7XG4gICAgICBjb25zdCB0eEpzb24gPSByZXN1bHQudG9Kc29uKCk7XG4gICAgICB0eEpzb24udG8uc2hvdWxkLmVxdWFsKCcweDhmOTc3ZTkxMmVmNTAwNTQ4YTBjM2JlNmRkZGU5ODk5ZjExOTliODEnKTtcbiAgICAgIHR4SnNvbi5kYXRhLnNob3VsZC5jb250YWluRXFsKCdiY2Y5MzVkMjA2Y2EzMjkyOWUxYjg4N2EwN2VkMjQwZjBkOGNjZDIyJyk7XG4gICAgICB0eEpzb24uZGF0YS5zaG91bGQuY29udGFpbkVxbCgnNTNiOGU5MWJiM2I4ZjYxOGI1ZjAxMDA0ZWYxMDhmMTM0ZjIxOTU3MycpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2FuIHVuc2lnbmVkIGZsdXNoIHRyYW5zYWN0aW9uIGZyb20gc2VyaWFsaXplZCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgYnVpbGRUcmFuc2FjdGlvbih7XG4gICAgICAgIGZlZToge1xuICAgICAgICAgIGZlZTogJzEwJyxcbiAgICAgICAgICBnYXNMaW1pdDogJzEwMDAnLFxuICAgICAgICB9LFxuICAgICAgICBjb3VudGVyOiAwLFxuICAgICAgICBmb3J3YXJkZXJBZGRyZXNzOiAnMHg1M2I4ZTkxYmIzYjhmNjE4YjVmMDEwMDRlZjEwOGYxMzRmMjE5NTczJyxcbiAgICAgICAgdG9rZW5BZGRyZXNzOiAnMHhiY2Y5MzVkMjA2Y2EzMjkyOWUxYjg4N2EwN2VkMjQwZjBkOGNjZDIyJyxcbiAgICAgICAgY29udHJhY3RBZGRyZXNzOiAnMHg4Zjk3N2U5MTJlZjUwMDU0OGEwYzNiZTZkZGRlOTg5OWYxMTk5YjgxJyxcbiAgICAgIH0pO1xuICAgICAgY29uc3Qgc2VyaWFsaXplZCA9IHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCk7XG5cbiAgICAgIC8vIG5vdyByZWJ1aWxkIGZyb20gdGhlIHNpZ25lZCBzZXJpYWxpemVkIHR4IGFuZCBtYWtlIHN1cmUgaXQgc3RheXMgdGhlIHNhbWVcbiAgICAgIGNvbnN0IG5ld1R4QnVpbGRlcjogYW55ID0gZ2V0QnVpbGRlcigndGV0aCcpO1xuICAgICAgbmV3VHhCdWlsZGVyLmZyb20oc2VyaWFsaXplZCk7XG4gICAgICBjb25zdCBuZXdUeCA9IGF3YWl0IG5ld1R4QnVpbGRlci5idWlsZCgpO1xuICAgICAgc2hvdWxkLmVxdWFsKG5ld1R4LnRvQnJvYWRjYXN0Rm9ybWF0KCksIHNlcmlhbGl6ZWQpO1xuICAgICAgbmV3VHgudG9Kc29uKCkuZGF0YS5zaG91bGQuc3RhcnRXaXRoKGZsdXNoRm9yd2FyZGVyVG9rZW5zTWV0aG9kSWQpO1xuICAgICAgc2hvdWxkLmVxdWFsKG5ld1R4LnRvSnNvbigpLnYsICcweDc3Jyk7XG4gICAgfSk7XG5cbiAgICBpdCgnYSBzaWduZWQgZmx1c2ggdHJhbnNhY3Rpb24gZnJvbSBzZXJpYWxpemVkJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdHggPSBhd2FpdCBidWlsZFRyYW5zYWN0aW9uKHtcbiAgICAgICAgZmVlOiB7XG4gICAgICAgICAgZmVlOiAnMTAnLFxuICAgICAgICAgIGdhc0xpbWl0OiAnMTAwMCcsXG4gICAgICAgIH0sXG4gICAgICAgIGNvdW50ZXI6IDAsXG4gICAgICAgIGZvcndhcmRlckFkZHJlc3M6ICcweDUzYjhlOTFiYjNiOGY2MThiNWYwMTAwNGVmMTA4ZjEzNGYyMTk1NzMnLFxuICAgICAgICB0b2tlbkFkZHJlc3M6ICcweGJjZjkzNWQyMDZjYTMyOTI5ZTFiODg3YTA3ZWQyNDBmMGQ4Y2NkMjInLFxuICAgICAgICBjb250cmFjdEFkZHJlc3M6ICcweDhmOTc3ZTkxMmVmNTAwNTQ4YTBjM2JlNmRkZGU5ODk5ZjExOTliODEnLFxuICAgICAgICBrZXk6IGRlZmF1bHRLZXlQYWlyLFxuICAgICAgfSk7XG4gICAgICBjb25zdCBzZXJpYWxpemVkID0gdHgudG9Ccm9hZGNhc3RGb3JtYXQoKTtcblxuICAgICAgLy8gbm93IHJlYnVpbGQgZnJvbSB0aGUgc2lnbmVkIHNlcmlhbGl6ZWQgdHggYW5kIG1ha2Ugc3VyZSBpdCBzdGF5cyB0aGUgc2FtZVxuICAgICAgY29uc3QgbmV3VHhCdWlsZGVyOiBhbnkgPSBnZXRCdWlsZGVyKCd0ZXRoJyk7XG4gICAgICBuZXdUeEJ1aWxkZXIuZnJvbShzZXJpYWxpemVkKTtcbiAgICAgIGNvbnN0IG5ld1R4ID0gYXdhaXQgbmV3VHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgICBzaG91bGQuZXF1YWwobmV3VHgudG9Ccm9hZGNhc3RGb3JtYXQoKSwgc2VyaWFsaXplZCk7XG4gICAgICBzaG91bGQuZXF1YWwobmV3VHguaWQsICcweDViZmQ0YzZiOWFlOWRmYmM5ZTA2MjI0N2MwZGViZTRlMWM2ODcwYTc2YzQyMGNlN2Y2ZTMzNTM5MDQyMGRjZDYnKTtcbiAgICAgIGNvbnN0IHR4SnNvbiA9IG5ld1R4LnRvSnNvbigpO1xuICAgICAgc2hvdWxkLmV4aXN0KHR4SnNvbi52KTtcbiAgICAgIHNob3VsZC5leGlzdCh0eEpzb24ucik7XG4gICAgICBzaG91bGQuZXhpc3QodHhKc29uLnMpO1xuICAgICAgc2hvdWxkLmV4aXN0KHR4SnNvbi5mcm9tKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3Nob3VsZCBmYWlsIHRvIGJ1aWxkJywgKCkgPT4ge1xuICAgIGl0KCdhIHRyYW5zYWN0aW9uIHdpdGhvdXQgZmVlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgYXdhaXQgYnVpbGRUcmFuc2FjdGlvbih7XG4gICAgICAgIGNvdW50ZXI6IDAsXG4gICAgICAgIGZvcndhcmRlckFkZHJlc3M6ICcweDUzYjhlOTFiYjNiOGY2MThiNWYwMTAwNGVmMTA4ZjEzNGYyMTk1NzMnLFxuICAgICAgICB0b2tlbkFkZHJlc3M6ICcweGJjZjkzNWQyMDZjYTMyOTI5ZTFiODg3YTA3ZWQyNDBmMGQ4Y2NkMjInLFxuICAgICAgICBjb250cmFjdEFkZHJlc3M6ICcweDhmOTc3ZTkxMmVmNTAwNTQ4YTBjM2JlNmRkZGU5ODk5ZjExOTliODEnLFxuICAgICAgfSkuc2hvdWxkLmJlLnJlamVjdGVkV2l0aCgnSW52YWxpZCB0cmFuc2FjdGlvbjogbWlzc2luZyBmZWUnKTtcbiAgICB9KTtcblxuICAgIGl0KCdhIHRyYW5zYWN0aW9uIHdpdGhvdXQgY29udHJhY3RBZGRyZXNzJywgYXN5bmMgKCkgPT4ge1xuICAgICAgYXdhaXQgYnVpbGRUcmFuc2FjdGlvbih7XG4gICAgICAgIGZlZToge1xuICAgICAgICAgIGZlZTogJzEwJyxcbiAgICAgICAgICBnYXNMaW1pdDogJzEwJyxcbiAgICAgICAgfSxcbiAgICAgICAgY291bnRlcjogMCxcbiAgICAgICAgZm9yd2FyZGVyQWRkcmVzczogJzB4NTNiOGU5MWJiM2I4ZjYxOGI1ZjAxMDA0ZWYxMDhmMTM0ZjIxOTU3MycsXG4gICAgICAgIHRva2VuQWRkcmVzczogJzB4YmNmOTM1ZDIwNmNhMzI5MjllMWI4ODdhMDdlZDI0MGYwZDhjY2QyMicsXG4gICAgICB9KS5zaG91bGQuYmUucmVqZWN0ZWRXaXRoKCdJbnZhbGlkIHRyYW5zYWN0aW9uOiBtaXNzaW5nIGNvbnRyYWN0IGFkZHJlc3MnKTtcbiAgICB9KTtcblxuICAgIGl0KCdhIHdhbGxldCBmbHVzaCBmb3J3YXJkZXIgVjQgdHJhbnNhY3Rpb24gd2l0aCBkaWZmZXJlbnQgY29udHJhY3QgYWRkcmVzcycsIGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IGJ1aWxkVHJhbnNhY3Rpb24oe1xuICAgICAgICBmZWU6IHtcbiAgICAgICAgICBmZWU6ICcxMCcsXG4gICAgICAgICAgZ2FzTGltaXQ6ICcxMDAwJyxcbiAgICAgICAgfSxcbiAgICAgICAgY291bnRlcjogMCxcbiAgICAgICAgZm9yd2FyZGVyQWRkcmVzczogJzB4NTNiOGU5MWJiM2I4ZjYxOGI1ZjAxMDA0ZWYxMDhmMTM0ZjIxOTU3MycsXG4gICAgICAgIHRva2VuQWRkcmVzczogJzB4YmNmOTM1ZDIwNmNhMzI5MjllMWI4ODdhMDdlZDI0MGYwZDhjY2QyMicsXG4gICAgICAgIGNvbnRyYWN0QWRkcmVzczogJzB4OGY5NzdlOTEyZWY1MDA1NDhhMGMzYmU2ZGRkZTk4OTlmMTE5OWI4MScsXG4gICAgICAgIGZvcndhcmRlclZlcnNpb246IDQsXG4gICAgICB9KS5zaG91bGQuYmUucmVqZWN0ZWRXaXRoKCdJbnZhbGlkIGNvbnRyYWN0IGFkZHJlc3M6IDB4OGY5NzdlOTEyZWY1MDA1NDhhMGMzYmU2ZGRkZTk4OTlmMTE5OWI4MScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2EgdHJhbnNhY3Rpb24gd2l0aG91dCB0b2tlbkFkZHJlc3MnLCBhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCBidWlsZFRyYW5zYWN0aW9uKHtcbiAgICAgICAgZmVlOiB7XG4gICAgICAgICAgZmVlOiAnMTAnLFxuICAgICAgICAgIGdhc0xpbWl0OiAnMTAnLFxuICAgICAgICB9LFxuICAgICAgICBjb3VudGVyOiAwLFxuICAgICAgICBmb3J3YXJkZXJBZGRyZXNzOiAnMHg1M2I4ZTkxYmIzYjhmNjE4YjVmMDEwMDRlZjEwOGYxMzRmMjE5NTczJyxcbiAgICAgICAgY29udHJhY3RBZGRyZXNzOiAnMHg4Zjk3N2U5MTJlZjUwMDU0OGEwYzNiZTZkZGRlOTg5OWYxMTk5YjgxJyxcbiAgICAgIH0pLnNob3VsZC5iZS5yZWplY3RlZFdpdGgoJ0ludmFsaWQgdHJhbnNhY3Rpb246IG1pc3NpbmcgdG9rZW4gYWRkcmVzcycpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2EgdHJhbnNhY3Rpb24gd2l0aG91dCBmb3J3YXJkZXJBZGRyZXNzJywgYXN5bmMgKCkgPT4ge1xuICAgICAgYXdhaXQgYnVpbGRUcmFuc2FjdGlvbih7XG4gICAgICAgIGZlZToge1xuICAgICAgICAgIGZlZTogJzEwJyxcbiAgICAgICAgICBnYXNMaW1pdDogJzEwJyxcbiAgICAgICAgfSxcbiAgICAgICAgY291bnRlcjogMCxcbiAgICAgICAgdG9rZW5BZGRyZXNzOiAnMHhiY2Y5MzVkMjA2Y2EzMjkyOWUxYjg4N2EwN2VkMjQwZjBkOGNjZDIyJyxcbiAgICAgICAgY29udHJhY3RBZGRyZXNzOiAnMHg4Zjk3N2U5MTJlZjUwMDU0OGEwYzNiZTZkZGRlOTg5OWYxMTk5YjgxJyxcbiAgICAgIH0pLnNob3VsZC5iZS5yZWplY3RlZFdpdGgoJ0ludmFsaWQgdHJhbnNhY3Rpb246IG1pc3NpbmcgZm9yd2FyZGVyIGFkZHJlc3MnKTtcbiAgICB9KTtcblxuICAgIGl0KCdhIHRyYW5zYWN0aW9uIHdpdGggaW52YWxpZCBjb3VudGVyJywgYXN5bmMgKCkgPT4ge1xuICAgICAgYXdhaXQgYnVpbGRUcmFuc2FjdGlvbih7XG4gICAgICAgIGZlZToge1xuICAgICAgICAgIGZlZTogJzEwJyxcbiAgICAgICAgICBnYXNMaW1pdDogJzEwJyxcbiAgICAgICAgfSxcbiAgICAgICAgY291bnRlcjogLTEsXG4gICAgICAgIHRva2VuQWRkcmVzczogJzB4YmNmOTM1ZDIwNmNhMzI5MjllMWI4ODdhMDdlZDI0MGYwZDhjY2QyMicsXG4gICAgICAgIGNvbnRyYWN0QWRkcmVzczogJzB4OGY5NzdlOTEyZWY1MDA1NDhhMGMzYmU2ZGRkZTk4OTlmMTE5OWI4MScsXG4gICAgICB9KS5zaG91bGQuYmUucmVqZWN0ZWRXaXRoKCdJbnZhbGlkIGNvdW50ZXI6IC0xJyk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|