@bitgo-beta/sdk-core 8.2.1-beta.2074 → 8.2.1-beta.2076
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/bitgo/environments.d.ts +5 -0
- package/dist/src/bitgo/environments.d.ts.map +1 -1
- package/dist/src/bitgo/environments.js +2 -1
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +2 -2
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTSSUtils.js +2 -2
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts +1 -1
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTypes.js +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +3 -2
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +19 -2
- package/dist/src/bitgo/wallet/iWallet.d.ts +2 -0
- package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/iWallet.js +1 -1
- package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallet.js +41 -15
- package/dist/test/unit/bitgo/wallet/tokenApproval.js +10 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -9
|
@@ -190,6 +190,15 @@ describe('Wallet - Token Approval', function () {
|
|
|
190
190
|
result.should.eql({ txid: 'mpt456' });
|
|
191
191
|
sinon_1.default.assert.calledOnce(initiateStub);
|
|
192
192
|
});
|
|
193
|
+
it('should pass validation and proceed when buildParams.type is "disabletoken"', async function () {
|
|
194
|
+
const initiateStub = sinon_1.default.stub(teWallet, 'initiateTransaction').resolves({ txid: 'disable789' });
|
|
195
|
+
const result = await teWallet.sendTokenEnablement({
|
|
196
|
+
// Partial fixture: only the fields sendTokenEnablement's validation guard reads.
|
|
197
|
+
prebuildTx: { buildParams: { type: 'disabletoken' } },
|
|
198
|
+
});
|
|
199
|
+
result.should.eql({ txid: 'disable789' });
|
|
200
|
+
sinon_1.default.assert.calledOnce(initiateStub);
|
|
201
|
+
});
|
|
193
202
|
it('should throw when the coin does not require token enablement', async function () {
|
|
194
203
|
teBaseCoin.getTokenEnablementConfig.returns({ requiresTokenEnablement: false });
|
|
195
204
|
await teWallet
|
|
@@ -198,4 +207,4 @@ describe('Wallet - Token Approval', function () {
|
|
|
198
207
|
});
|
|
199
208
|
});
|
|
200
209
|
});
|
|
201
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5BcHByb3ZhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9iaXRnby93YWxsZXQvdG9rZW5BcHByb3ZhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGtEQUEwQjtBQUMxQixrQkFBZ0I7QUFDaEIseUNBQXFFO0FBRXJFLFFBQVEsQ0FBQyx5QkFBeUIsRUFBRTtJQUNsQyxJQUFJLE1BQWMsQ0FBQztJQUNuQixJQUFJLFNBQWMsQ0FBQztJQUNuQixJQUFJLFlBQWlCLENBQUM7SUFDdEIsSUFBSSxjQUFtQixDQUFDO0lBRXhCLFVBQVUsQ0FBQztRQUNULFNBQVMsR0FBRztZQUNWLElBQUksRUFBRSxlQUFLLENBQUMsSUFBSSxFQUFFO1lBQ2xCLEdBQUcsRUFBRSxlQUFLLENBQUMsSUFBSSxFQUFFO1lBQ2pCLGdCQUFnQixFQUFFLGVBQUssQ0FBQyxJQUFJLEVBQUU7U0FDL0IsQ0FBQztRQUVGLFlBQVksR0FBRztZQUNiLFNBQVMsRUFBRSxlQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUN0QyxHQUFHLEVBQUUsZUFBSyxDQUFDLElBQUksRUFBRTtZQUNqQixTQUFTLEVBQUUsZUFBSyxDQUFDLElBQUksRUFBRTtZQUN2QixXQUFXLEVBQUUsZUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDeEMsZUFBZSxFQUFFLGVBQUssQ0FBQyxJQUFJLEVBQUU7U0FDOUIsQ0FBQztRQUVGLGNBQWMsR0FBRztZQUNmLEVBQUUsRUFBRSxnQkFBZ0I7WUFDcEIsSUFBSSxFQUFFLE1BQU07WUFDWixJQUFJLEVBQUUsQ0FBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLFdBQVcsQ0FBQztTQUM5QyxDQUFDO1FBRUYsTUFBTSxHQUFHLElBQUksWUFBTSxDQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDL0Qs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QyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMseUVBQXlFLEVBQUUsS0FBSztZQUNqRixNQUFNLFlBQVksR0FBRyxlQUFLLENBQUMsSUFBSSxDQUFDLFFBQWUsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBRXJHLE1BQU0sTUFBTSxHQUFHLE1BQU0sUUFBUSxDQUFDLG1CQUFtQixDQUFDO2dCQUNoRCxVQUFVLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEVBQVM7YUFDMUQsQ0FBQyxDQUFDO1lBRUgsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUN0QyxlQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyw4REFBOEQsRUFBRSxLQUFLO1lBQ3RFLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsRUFBRSx1QkFBdUIsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBRWhGLE1BQU0sUUFBUTtpQkFDWCxtQkFBbUIsQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBUyxFQUFFLENBQUM7aUJBQ2xGLE1BQU0sQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLGdEQUFnRCxDQUFDLENBQUM7UUFDOUUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHNpbm9uIGZyb20gJ3Npbm9uJztcbmltcG9ydCAnc2hvdWxkJztcbmltcG9ydCB7IEJ1aWxkVG9rZW5BcHByb3ZhbFJlc3BvbnNlLCBXYWxsZXQgfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMnO1xuXG5kZXNjcmliZSgnV2FsbGV0IC0gVG9rZW4gQXBwcm92YWwnLCBmdW5jdGlvbiAoKSB7XG4gIGxldCB3YWxsZXQ6IFdhbGxldDtcbiAgbGV0IG1vY2tCaXRHbzogYW55O1xuICBsZXQgbW9ja0Jhc2VDb2luOiBhbnk7XG4gIGxldCBtb2NrV2FsbGV0RGF0YTogYW55O1xuXG4gIGJlZm9yZUVhY2goZnVuY3Rpb24gKCkge1xuICAgIG1vY2tCaXRHbyA9IHtcbiAgICAgIHBvc3Q6IHNpbm9uLnN0dWIoKSxcbiAgICAgIGdldDogc2lub24uc3R1YigpLFxuICAgICAgc2V0UmVxdWVzdFRyYWNlcjogc2lub24uc3R1YigpLFxuICAgIH07XG5cbiAgICBtb2NrQmFzZUNvaW4gPSB7XG4gICAgICBnZXRGYW1pbHk6IHNpbm9uLnN0dWIoKS5yZXR1cm5zKCdldGgnKSxcbiAgICAgIHVybDogc2lub24uc3R1YigpLFxuICAgICAga2V5Y2hhaW5zOiBzaW5vbi5zdHViKCksXG4gICAgICBzdXBwb3J0c1Rzczogc2lub24uc3R1YigpLnJldHVybnMoZmFsc2UpLFxuICAgICAgZ2V0TVBDQWxnb3JpdGhtOiBzaW5vbi5zdHViKCksXG4gICAgfTtcblxuICAgIG1vY2tXYWxsZXREYXRhID0ge1xuICAgICAgaWQ6ICd0ZXN0LXdhbGxldC1pZCcsXG4gICAgICBjb2luOiAndGV0aCcsXG4gICAgICBrZXlzOiBbJ3VzZXIta2V5JywgJ2JhY2t1cC1rZXknLCAnYml0Z28ta2V5J10sXG4gICAgfTtcblxuICAgIHdhbGxldCA9IG5ldyBXYWxsZXQobW9ja0JpdEdvLCBtb2NrQmFzZUNvaW4sIG1vY2tXYWxsZXREYXRhKTtcbiAgfSk7XG5cbiAgYWZ0ZXJFYWNoKGZ1bmN0aW9uICgpIHtcbiAgICBzaW5vbi5yZXN0b3JlKCk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdidWlsZEVyYzIwVG9rZW5BcHByb3ZhbCcsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCBtb2NrVG9rZW5BcHByb3ZhbEJ1aWxkOiBCdWlsZFRva2VuQXBwcm92YWxSZXNwb25zZSA9IHtcbiAgICAgIHR4SGV4OiAnMHgxMjM0NTYnLFxuICAgICAgdHhJbmZvOiB7XG4gICAgICAgIGFtb3VudDogJzB4ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZicsXG4gICAgICAgIGNvbnRyYWN0QWRkcmVzczogJzB4MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCcsXG4gICAgICAgIHNwZW5kZXI6ICcweDA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEnLFxuICAgICAgfSxcbiAgICAgIHJlY2lwaWVudHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGFkZHJlc3M6ICcweDA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEnLFxuICAgICAgICAgIGFtb3VudDogJzAnLFxuICAgICAgICAgIGRhdGE6ICcweDA5NWVhN2IzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMWZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGVpcDE1NTk6IHtcbiAgICAgICAgbWF4RmVlUGVyR2FzOiAnMHgzYjlhY2EwMCcsXG4gICAgICAgIG1heFByaW9yaXR5RmVlUGVyR2FzOiAnMHgzYjlhY2EwMCcsXG4gICAgICB9LFxuICAgICAgbmV4dENvbnRyYWN0U2VxdWVuY2VJZDogMCxcbiAgICAgIGNvaW46ICd0ZXRoJyxcbiAgICAgIHdhbGxldElkOiAndGVzdC13YWxsZXQtaWQnLFxuICAgIH07XG5cbiAgICBpdCgnc2hvdWxkIGJ1aWxkIHRva2VuIGFwcHJvdmFsIHRyYW5zYWN0aW9uIHdpdGhvdXQgc2lnbmluZycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIG1vY2tCYXNlQ29pbi51cmwucmV0dXJucygnL3Rlc3Qvd2FsbGV0L3Rva2VuL2FwcHJvdmFsL2J1aWxkJyk7XG4gICAgICBtb2NrQml0R28ucG9zdC5yZXR1cm5zKHtcbiAgICAgICAgc2VuZDogc2lub24uc3R1YigpLnJldHVybnMoe1xuICAgICAgICAgIHJlc3VsdDogc2lub24uc3R1YigpLnJlc29sdmVzKG1vY2tUb2tlbkFwcHJvdmFsQnVpbGQpLFxuICAgICAgICB9KSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB3YWxsZXQuYnVpbGRFcmMyMFRva2VuQXBwcm92YWwoJ1VTREMnKTtcblxuICAgICAgcmVzdWx0LnNob3VsZC5lcWwobW9ja1Rva2VuQXBwcm92YWxCdWlsZCk7XG4gICAgICBzaW5vbi5hc3NlcnQuY2FsbGVkV2l0aChtb2NrQmFzZUNvaW4udXJsLCAnL3dhbGxldC90ZXN0LXdhbGxldC1pZC90b2tlbi9hcHByb3ZhbC9idWlsZCcpO1xuICAgICAgc2lub24uYXNzZXJ0LmNhbGxlZE9uY2UobW9ja0JpdEdvLnBvc3QpO1xuICAgICAgc2lub24uYXNzZXJ0LmNhbGxlZE9uY2UobW9ja0JpdEdvLnNldFJlcXVlc3RUcmFjZXIpO1xuICAgICAgY29uc3QgcG9zdFJlcXVlc3QgPSBtb2NrQml0R28ucG9zdC5nZXRDYWxsKDApO1xuICAgICAgY29uc3Qgc2VuZENhbGwgPSBwb3N0UmVxdWVzdC5yZXR1cm5WYWx1ZS5zZW5kLmdldENhbGwoMCk7XG4gICAgICBzZW5kQ2FsbC5hcmdzWzBdLnNob3VsZC5lcWwoeyB0b2tlbk5hbWU6ICdVU0RDJyB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgZXJyb3IgaWYgdG9rZW4gYnVpbGQgcmVxdWVzdCBmYWlscycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIG1vY2tCYXNlQ29pbi51cmwucmV0dXJucygnL3Rlc3Qvd2FsbGV0L3Rva2VuL2FwcHJvdmFsL2J1aWxkJyk7XG4gICAgICBtb2NrQml0R28ucG9zdC5yZXR1cm5zKHtcbiAgICAgICAgc2VuZDogc2lub24uc3R1YigpLnJldHVybnMoe1xuICAgICAgICAgIHJlc3VsdDogc2lub24uc3R1YigpLnJlamVjdHMobmV3IEVycm9yKCd0b2tlbiBub3Qgc3VwcG9ydGVkJykpLFxuICAgICAgICB9KSxcbiAgICAgIH0pO1xuXG4gICAgICBhd2FpdCB3YWxsZXRcbiAgICAgICAgLmJ1aWxkRXJjMjBUb2tlbkFwcHJvdmFsKCdJTlZBTElEX1RPS0VOJylcbiAgICAgICAgLnNob3VsZC5iZS5yZWplY3RlZFdpdGgoL2Vycm9yIGJ1aWxkaW5nIGVyYzIwIHRva2VuIGFwcHJvdmFsIHR4OiBFcnJvcjogdG9rZW4gbm90IHN1cHBvcnRlZC8pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBidWlsZCwgc2lnbiwgYW5kIHNlbmQgdG9rZW4gYXBwcm92YWwgdHJhbnNhY3Rpb24gd2hlbiBwYXNzcGhyYXNlIGlzIHByb3ZpZGVkJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgbW9ja0Jhc2VDb2luLnVybC5yZXR1cm5zKCcvdGVzdC93YWxsZXQvdG9rZW4vYXBwcm92YWwvYnVpbGQnKTtcbiAgICAgIG1vY2tCaXRHby5wb3N0LnJldHVybnMoe1xuICAgICAgICBzZW5kOiBzaW5vbi5zdHViKCkucmV0dXJucyh7XG4gICAgICAgICAgcmVzdWx0OiBzaW5vbi5zdHViKCkucmVzb2x2ZXMobW9ja1Rva2VuQXBwcm92YWxCdWlsZCksXG4gICAgICAgIH0pLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IG1vY2tLZXljaGFpbiA9IHsgaWQ6ICd1c2VyLWtleScsIHB1YjogJ3B1Yi1rZXknLCBlbmNyeXB0ZWRQcnY6ICdlbmNyeXB0ZWQtcHJ2JyB9O1xuICAgICAgbW9ja0Jhc2VDb2luLmtleWNoYWlucy5yZXR1cm5zKHtcbiAgICAgICAgZ2V0OiBzaW5vbi5zdHViKCkucmVzb2x2ZXMobW9ja0tleWNoYWluKSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBzaWduVHJhbnNhY3Rpb25TdHViID0gc2lub24uc3R1Yih3YWxsZXQsICdzaWduVHJhbnNhY3Rpb24nIGFzIGtleW9mIFdhbGxldCkucmVzb2x2ZXMoeyB0eEhleDogJzB4c2lnbmVkJyB9KTtcbiAgICAgIGNvbnN0IHNlbmRUcmFuc2FjdGlvblN0dWIgPSBzaW5vbi5zdHViKHdhbGxldCwgJ3NlbmRUcmFuc2FjdGlvbicgYXMga2V5b2YgV2FsbGV0KS5yZXNvbHZlcyh7IHR4aWQ6ICcweHR4aWQnIH0pO1xuICAgICAgY29uc3QgZ2V0S2V5Y2hhaW5zU3R1YiA9IHNpbm9uLnN0dWIod2FsbGV0IGFzIGFueSwgJ2dldEtleWNoYWluc0FuZFZhbGlkYXRlUGFzc3BocmFzZScpLnJlc29sdmVzKFttb2NrS2V5Y2hhaW5dKTtcblxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgd2FsbGV0LmJ1aWxkRXJjMjBUb2tlbkFwcHJvdmFsKCdVU0RDJywgJ3Bhc3NwaHJhc2UxMjMnKTtcblxuICAgICAgcmVzdWx0LnNob3VsZC5oYXZlLnByb3BlcnR5KCd0eGlkJywgJzB4dHhpZCcpO1xuXG4gICAgICBzaW5vbi5hc3NlcnQuY2FsbGVkT25jZShnZXRLZXljaGFpbnNTdHViKTtcbiAgICAgIGdldEtleWNoYWluc1N0dWIuZ2V0Q2FsbCgwKS5hcmdzWzBdLnNob3VsZC5oYXZlLnByb3BlcnR5KCd3YWxsZXRQYXNzcGhyYXNlJywgJ3Bhc3NwaHJhc2UxMjMnKTtcblxuICAgICAgc2lub24uYXNzZXJ0LmNhbGxlZE9uY2Uoc2lnblRyYW5zYWN0aW9uU3R1Yik7XG4gICAgICBjb25zdCBzaWduQ2FsbCA9IHNpZ25UcmFuc2FjdGlvblN0dWIuZ2V0Q2FsbCgwKTtcbiAgICAgIGlmIChzaWduQ2FsbCAmJiBzaWduQ2FsbC5hcmdzWzBdKSB7XG4gICAgICAgIHNpZ25DYWxsLmFyZ3NbMF0uc2hvdWxkLmhhdmUucHJvcGVydHkoJ3R4UHJlYnVpbGQnLCBtb2NrVG9rZW5BcHByb3ZhbEJ1aWxkKTtcbiAgICAgICAgc2lnbkNhbGwuYXJnc1swXS5zaG91bGQuaGF2ZS5wcm9wZXJ0eSgna2V5Y2hhaW4nLCBtb2NrS2V5Y2hhaW4pO1xuICAgICAgICBzaWduQ2FsbC5hcmdzWzBdLnNob3VsZC5oYXZlLnByb3BlcnR5KCd3YWxsZXRQYXNzcGhyYXNlJywgJ3Bhc3NwaHJhc2UxMjMnKTtcbiAgICAgIH1cblxuICAgICAgc2lub24uYXNzZXJ0LmNhbGxlZE9uY2Uoc2VuZFRyYW5zYWN0aW9uU3R1Yik7XG4gICAgICBjb25zdCBzZW5kQ2FsbCA9IHNlbmRUcmFuc2FjdGlvblN0dWIuZ2V0Q2FsbCgwKTtcbiAgICAgIGlmIChzZW5kQ2FsbCAmJiBzZW5kQ2FsbC5hcmdzWzBdKSB7XG4gICAgICAgIHNlbmRDYWxsLmFyZ3NbMF0uc2hvdWxkLmhhdmUucHJvcGVydHkoJ3R4SGV4JywgJzB4c2lnbmVkJyk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGhhbmRsZSBzaWduaW5nIGVycm9ycycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIG1vY2tCYXNlQ29pbi51cmwucmV0dXJucygnL3Rlc3Qvd2FsbGV0L3Rva2VuL2FwcHJvdmFsL2J1aWxkJyk7XG4gICAgICBtb2NrQml0R28ucG9zdC5yZXR1cm5zKHtcbiAgICAgICAgc2VuZDogc2lub24uc3R1YigpLnJldHVybnMoe1xuICAgICAgICAgIHJlc3VsdDogc2lub24uc3R1YigpLnJlc29sdmVzKG1vY2tUb2tlbkFwcHJvdmFsQnVpbGQpLFxuICAgICAgICB9KSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBtb2NrS2V5Y2hhaW4gPSB7IGlkOiAndXNlci1rZXknLCBwdWI6ICdwdWIta2V5JywgZW5jcnlwdGVkUHJ2OiAnZW5jcnlwdGVkLXBydicgfTtcbiAgICAgIG1vY2tCYXNlQ29pbi5rZXljaGFpbnMucmV0dXJucyh7XG4gICAgICAgIGdldDogc2lub24uc3R1YigpLnJlc29sdmVzKG1vY2tLZXljaGFpbiksXG4gICAgICB9KTtcblxuICAgICAgc2lub24uc3R1Yih3YWxsZXQgYXMgYW55LCAnZ2V0S2V5Y2hhaW5zQW5kVmFsaWRhdGVQYXNzcGhyYXNlJykucmVzb2x2ZXMoW21vY2tLZXljaGFpbl0pO1xuICAgICAgc2lub24uc3R1Yih3YWxsZXQsICdzaWduVHJhbnNhY3Rpb24nIGFzIGtleW9mIFdhbGxldCkucmVqZWN0cyhuZXcgRXJyb3IoJ3NpZ25pbmcgZXJyb3InKSk7XG5cbiAgICAgIGF3YWl0IHdhbGxldC5idWlsZEVyYzIwVG9rZW5BcHByb3ZhbCgnVVNEQycsICdwYXNzcGhyYXNlMTIzJykuc2hvdWxkLmJlLnJlamVjdGVkV2l0aCgnc2lnbmluZyBlcnJvcicpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnc2VuZFRva2VuRW5hYmxlbWVudCcsIGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgdGVXYWxsZXQ6IFdhbGxldDtcbiAgICBsZXQgdGVCYXNlQ29pbjogYW55O1xuICAgIGxldCB0ZUJpdEdvOiBhbnk7XG5cbiAgICBiZWZvcmVFYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgIHRlQml0R28gPSB7XG4gICAgICAgIHBvc3Q6IHNpbm9uLnN0dWIoKSxcbiAgICAgICAgZ2V0OiBzaW5vbi5zdHViKCksXG4gICAgICAgIHNldFJlcXVlc3RUcmFjZXI6IHNpbm9uLnN0dWIoKSxcbiAgICAgIH07XG5cbiAgICAgIHRlQmFzZUNvaW4gPSB7XG4gICAgICAgIGdldEZhbWlseTogc2lub24uc3R1YigpLnJldHVybnMoJ3R4cnAnKSxcbiAgICAgICAgZ2V0RnVsbE5hbWU6IHNpbm9uLnN0dWIoKS5yZXR1cm5zKCdUZXN0bmV0IFhSUCcpLFxuICAgICAgICB1cmw6IHNpbm9uLnN0dWIoKSxcbiAgICAgICAga2V5Y2hhaW5zOiBzaW5vbi5zdHViKCksXG4gICAgICAgIHN1cHBvcnRzVHNzOiBzaW5vbi5zdHViKCkucmV0dXJucyhmYWxzZSksXG4gICAgICAgIGdldE1QQ0FsZ29yaXRobTogc2lub24uc3R1YigpLFxuICAgICAgICBnZXRUb2tlbkVuYWJsZW1lbnRDb25maWc6IHNpbm9uLnN0dWIoKS5yZXR1cm5zKHsgcmVxdWlyZXNUb2tlbkVuYWJsZW1lbnQ6IHRydWUgfSksXG4gICAgICB9O1xuXG4gICAgICAvLyBjdXN0b2RpYWwgd2FsbGV0IHNvIHRoZSBwYXRoIGFmdGVyIHZhbGlkYXRpb24gY2FsbHMgaW5pdGlhdGVUcmFuc2FjdGlvblxuICAgICAgY29uc3Qgd2FsbGV0RGF0YSA9IHtcbiAgICAgICAgaWQ6ICd0ZS13YWxsZXQtaWQnLFxuICAgICAgICBjb2luOiAndHhycCcsXG4gICAgICAgIHR5cGU6ICdjdXN0b2RpYWwnLFxuICAgICAgICBrZXlzOiBbJ3VzZXIta2V5JywgJ2JhY2t1cC1rZXknLCAnYml0Z28ta2V5J10sXG4gICAgICB9O1xuXG4gICAgICB0ZVdhbGxldCA9IG5ldyBXYWxsZXQodGVCaXRHbywgdGVCYXNlQ29pbiwgd2FsbGV0RGF0YSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IFwiSW52YWxpZCBidWlsZCBvZiB0b2tlbiBlbmFibGVtZW50LlwiIHdoZW4gcHJlYnVpbGRUeCBpcyBhIHN0cmluZycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGF3YWl0IHRlV2FsbGV0XG4gICAgICAgIC5zZW5kVG9rZW5FbmFibGVtZW50KHsgcHJlYnVpbGRUeDogJ3Jhdy1oZXgtc3RyaW5nJyBhcyBhbnkgfSlcbiAgICAgICAgLnNob3VsZC5iZS5yZWplY3RlZFdpdGgoJ0ludmFsaWQgYnVpbGQgb2YgdG9rZW4gZW5hYmxlbWVudC4nKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgXCJJbnZhbGlkIGJ1aWxkIG9mIHRva2VuIGVuYWJsZW1lbnQuXCIgd2hlbiBidWlsZFBhcmFtcy50eXBlIGlzIHVuZGVmaW5lZCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGF3YWl0IHRlV2FsbGV0XG4gICAgICAgIC5zZW5kVG9rZW5FbmFibGVtZW50KHsgcHJlYnVpbGRUeDogeyBidWlsZFBhcmFtczoge30gfSBhcyBhbnkgfSlcbiAgICAgICAgLnNob3VsZC5iZS5yZWplY3RlZFdpdGgoJ0ludmFsaWQgYnVpbGQgb2YgdG9rZW4gZW5hYmxlbWVudC4nKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgXCJJbnZhbGlkIGJ1aWxkIG9mIHRva2VuIGVuYWJsZW1lbnQuXCIgd2hlbiBidWlsZFBhcmFtcy50eXBlIGlzIGFuIHVucmVjb2duaXNlZCB0eXBlJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgdGVXYWxsZXRcbiAgICAgICAgLnNlbmRUb2tlbkVuYWJsZW1lbnQoeyBwcmVidWlsZFR4OiB7IGJ1aWxkUGFyYW1zOiB7IHR5cGU6ICd0cmFuc2ZlcicgfSB9IGFzIGFueSB9KVxuICAgICAgICAuc2hvdWxkLmJlLnJlamVjdGVkV2l0aCgnSW52YWxpZCBidWlsZCBvZiB0b2tlbiBlbmFibGVtZW50LicpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBwYXNzIHZhbGlkYXRpb24gYW5kIHByb2NlZWQgd2hlbiBidWlsZFBhcmFtcy50eXBlIGlzIFwiZW5hYmxldG9rZW5cIicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGluaXRpYXRlU3R1YiA9IHNpbm9uLnN0dWIodGVXYWxsZXQgYXMgYW55LCAnaW5pdGlhdGVUcmFuc2FjdGlvbicpLnJlc29sdmVzKHsgdHhpZDogJ2FiYzEyMycgfSk7XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRlV2FsbGV0LnNlbmRUb2tlbkVuYWJsZW1lbnQoe1xuICAgICAgICBwcmVidWlsZFR4OiB7IGJ1aWxkUGFyYW1zOiB7IHR5cGU6ICdlbmFibGV0b2tlbicgfSB9IGFzIGFueSxcbiAgICAgIH0pO1xuXG4gICAgICByZXN1bHQuc2hvdWxkLmVxbCh7IHR4aWQ6ICdhYmMxMjMnIH0pO1xuICAgICAgc2lub24uYXNzZXJ0LmNhbGxlZE9uY2UoaW5pdGlhdGVTdHViKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcGFzcyB2YWxpZGF0aW9uIGFuZCBwcm9jZWVkIHdoZW4gYnVpbGRQYXJhbXMudHlwZSBpcyBcImVuYWJsZU1wdFwiJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgaW5pdGlhdGVTdHViID0gc2lub24uc3R1Yih0ZVdhbGxldCBhcyBhbnksICdpbml0aWF0ZVRyYW5zYWN0aW9uJykucmVzb2x2ZXMoeyB0eGlkOiAnbXB0NDU2JyB9KTtcblxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGVXYWxsZXQuc2VuZFRva2VuRW5hYmxlbWVudCh7XG4gICAgICAgIHByZWJ1aWxkVHg6IHsgYnVpbGRQYXJhbXM6IHsgdHlwZTogJ2VuYWJsZU1wdCcgfSB9IGFzIGFueSxcbiAgICAgIH0pO1xuXG4gICAgICByZXN1bHQuc2hvdWxkLmVxbCh7IHR4aWQ6ICdtcHQ0NTYnIH0pO1xuICAgICAgc2lub24uYXNzZXJ0LmNhbGxlZE9uY2UoaW5pdGlhdGVTdHViKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgd2hlbiB0aGUgY29pbiBkb2VzIG5vdCByZXF1aXJlIHRva2VuIGVuYWJsZW1lbnQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICB0ZUJhc2VDb2luLmdldFRva2VuRW5hYmxlbWVudENvbmZpZy5yZXR1cm5zKHsgcmVxdWlyZXNUb2tlbkVuYWJsZW1lbnQ6IGZhbHNlIH0pO1xuXG4gICAgICBhd2FpdCB0ZVdhbGxldFxuICAgICAgICAuc2VuZFRva2VuRW5hYmxlbWVudCh7IHByZWJ1aWxkVHg6IHsgYnVpbGRQYXJhbXM6IHsgdHlwZTogJ2VuYWJsZU1wdCcgfSB9IGFzIGFueSB9KVxuICAgICAgICAuc2hvdWxkLmJlLnJlamVjdGVkV2l0aCgvZG9lcyBub3QgcmVxdWlyZSB0b2tlbiBlbmFibGVtZW50IHRyYW5zYWN0aW9ucy8pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5BcHByb3ZhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9iaXRnby93YWxsZXQvdG9rZW5BcHByb3ZhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGtEQUEwQjtBQUMxQixrQkFBZ0I7QUFDaEIseUNBQWdHO0FBRWhHLFFBQVEsQ0FBQyx5QkFBeUIsRUFBRTtJQUNsQyxJQUFJLE1BQWMsQ0FBQztJQUNuQixJQUFJLFNBQWMsQ0FBQztJQUNuQixJQUFJLFlBQWlCLENBQUM7SUFDdEIsSUFBSSxjQUFtQixDQUFDO0lBRXhCLFVBQVUsQ0FBQztRQUNULFNBQVMsR0FBRztZQUNWLElBQUksRUFBRSxlQUFLLENBQUMsSUFBSSxFQUFFO1lBQ2xCLEdBQUcsRUFBRSxlQUFLLENBQUMsSUFBSSxFQUFFO1lBQ2pCLGdCQUFnQixFQUFFLGVBQUssQ0FBQyxJQUFJLEVBQUU7U0FDL0IsQ0FBQztRQUVGLFlBQVksR0FBRztZQUNiLFNBQVMsRUFBRSxlQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUN0QyxHQUFHLEVBQUUsZUFBSyxDQUFDLElBQUksRUFBRTtZQUNqQixTQUFTLEVBQUUsZUFBSyxDQUFDLElBQUksRUFBRTtZQUN2QixXQUFXLEVBQUUsZUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDeEMsZUFBZSxFQUFFLGVBQUssQ0FBQyxJQUFJLEVBQUU7U0FDOUIsQ0FBQztRQUVGLGNBQWMsR0FBRztZQUNmLEVBQUUsRUFBRSxnQkFBZ0I7WUFDcEIsSUFBSSxFQUFFLE1BQU07WUFDWixJQUFJLEVBQUUsQ0FBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLFdBQVcsQ0FBQztTQUM5QyxDQUFDO1FBRUYsTUFBTSxHQUFHLElBQUksWUFBTSxDQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDL0Qs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LHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFFaEYsTUFBTSxRQUFRO2lCQUNYLG1CQUFtQixDQUFDLEVBQUUsVUFBVSxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxFQUFTLEVBQUUsQ0FBQztpQkFDbEYsTUFBTSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsZ0RBQWdELENBQUMsQ0FBQztRQUM5RSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc2lub24gZnJvbSAnc2lub24nO1xuaW1wb3J0ICdzaG91bGQnO1xuaW1wb3J0IHsgQnVpbGRUb2tlbkFwcHJvdmFsUmVzcG9uc2UsIFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHQsIFdhbGxldCB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYyc7XG5cbmRlc2NyaWJlKCdXYWxsZXQgLSBUb2tlbiBBcHByb3ZhbCcsIGZ1bmN0aW9uICgpIHtcbiAgbGV0IHdhbGxldDogV2FsbGV0O1xuICBsZXQgbW9ja0JpdEdvOiBhbnk7XG4gIGxldCBtb2NrQmFzZUNvaW46IGFueTtcbiAgbGV0IG1vY2tXYWxsZXREYXRhOiBhbnk7XG5cbiAgYmVmb3JlRWFjaChmdW5jdGlvbiAoKSB7XG4gICAgbW9ja0JpdEdvID0ge1xuICAgICAgcG9zdDogc2lub24uc3R1YigpLFxuICAgICAgZ2V0OiBzaW5vbi5zdHViKCksXG4gICAgICBzZXRSZXF1ZXN0VHJhY2VyOiBzaW5vbi5zdHViKCksXG4gICAgfTtcblxuICAgIG1vY2tCYXNlQ29pbiA9IHtcbiAgICAgIGdldEZhbWlseTogc2lub24uc3R1YigpLnJldHVybnMoJ2V0aCcpLFxuICAgICAgdXJsOiBzaW5vbi5zdHViKCksXG4gICAgICBrZXljaGFpbnM6IHNpbm9uLnN0dWIoKSxcbiAgICAgIHN1cHBvcnRzVHNzOiBzaW5vbi5zdHViKCkucmV0dXJucyhmYWxzZSksXG4gICAgICBnZXRNUENBbGdvcml0aG06IHNpbm9uLnN0dWIoKSxcbiAgICB9O1xuXG4gICAgbW9ja1dhbGxldERhdGEgPSB7XG4gICAgICBpZDogJ3Rlc3Qtd2FsbGV0LWlkJyxcbiAgICAgIGNvaW46ICd0ZXRoJyxcbiAgICAgIGtleXM6IFsndXNlci1rZXknLCAnYmFja3VwLWtleScsICdiaXRnby1rZXknXSxcbiAgICB9O1xuXG4gICAgd2FsbGV0ID0gbmV3IFdhbGxldChtb2NrQml0R28sIG1vY2tCYXNlQ29pbiwgbW9ja1dhbGxldERhdGEpO1xuICB9KTtcblxuICBhZnRlckVhY2goZnVuY3Rpb24gKCkge1xuICAgIHNpbm9uLnJlc3RvcmUoKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2J1aWxkRXJjMjBUb2tlbkFwcHJvdmFsJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IG1vY2tUb2tlbkFwcHJvdmFsQnVpbGQ6IEJ1aWxkVG9rZW5BcHByb3ZhbFJlc3BvbnNlID0ge1xuICAgICAgdHhIZXg6ICcweDEyMzQ1NicsXG4gICAgICB0eEluZm86IHtcbiAgICAgICAgYW1vdW50OiAnMHhmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmJyxcbiAgICAgICAgY29udHJhY3RBZGRyZXNzOiAnMHgxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwJyxcbiAgICAgICAgc3BlbmRlcjogJzB4MDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMScsXG4gICAgICB9LFxuICAgICAgcmVjaXBpZW50czogW1xuICAgICAgICB7XG4gICAgICAgICAgYWRkcmVzczogJzB4MDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMScsXG4gICAgICAgICAgYW1vdW50OiAnMCcsXG4gICAgICAgICAgZGF0YTogJzB4MDk1ZWE3YjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZicsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgZWlwMTU1OToge1xuICAgICAgICBtYXhGZWVQZXJHYXM6ICcweDNiOWFjYTAwJyxcbiAgICAgICAgbWF4UHJpb3JpdHlGZWVQZXJHYXM6ICcweDNiOWFjYTAwJyxcbiAgICAgIH0sXG4gICAgICBuZXh0Q29udHJhY3RTZXF1ZW5jZUlkOiAwLFxuICAgICAgY29pbjogJ3RldGgnLFxuICAgICAgd2FsbGV0SWQ6ICd0ZXN0LXdhbGxldC1pZCcsXG4gICAgfTtcblxuICAgIGl0KCdzaG91bGQgYnVpbGQgdG9rZW4gYXBwcm92YWwgdHJhbnNhY3Rpb24gd2l0aG91dCBzaWduaW5nJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgbW9ja0Jhc2VDb2luLnVybC5yZXR1cm5zKCcvdGVzdC93YWxsZXQvdG9rZW4vYXBwcm92YWwvYnVpbGQnKTtcbiAgICAgIG1vY2tCaXRHby5wb3N0LnJldHVybnMoe1xuICAgICAgICBzZW5kOiBzaW5vbi5zdHViKCkucmV0dXJucyh7XG4gICAgICAgICAgcmVzdWx0OiBzaW5vbi5zdHViKCkucmVzb2x2ZXMobW9ja1Rva2VuQXBwcm92YWxCdWlsZCksXG4gICAgICAgIH0pLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHdhbGxldC5idWlsZEVyYzIwVG9rZW5BcHByb3ZhbCgnVVNEQycpO1xuXG4gICAgICByZXN1bHQuc2hvdWxkLmVxbChtb2NrVG9rZW5BcHByb3ZhbEJ1aWxkKTtcbiAgICAgIHNpbm9uLmFzc2VydC5jYWxsZWRXaXRoKG1vY2tCYXNlQ29pbi51cmwsICcvd2FsbGV0L3Rlc3Qtd2FsbGV0LWlkL3Rva2VuL2FwcHJvdmFsL2J1aWxkJyk7XG4gICAgICBzaW5vbi5hc3NlcnQuY2FsbGVkT25jZShtb2NrQml0R28ucG9zdCk7XG4gICAgICBzaW5vbi5hc3NlcnQuY2FsbGVkT25jZShtb2NrQml0R28uc2V0UmVxdWVzdFRyYWNlcik7XG4gICAgICBjb25zdCBwb3N0UmVxdWVzdCA9IG1vY2tCaXRHby5wb3N0LmdldENhbGwoMCk7XG4gICAgICBjb25zdCBzZW5kQ2FsbCA9IHBvc3RSZXF1ZXN0LnJldHVyblZhbHVlLnNlbmQuZ2V0Q2FsbCgwKTtcbiAgICAgIHNlbmRDYWxsLmFyZ3NbMF0uc2hvdWxkLmVxbCh7IHRva2VuTmFtZTogJ1VTREMnIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBlcnJvciBpZiB0b2tlbiBidWlsZCByZXF1ZXN0IGZhaWxzJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgbW9ja0Jhc2VDb2luLnVybC5yZXR1cm5zKCcvdGVzdC93YWxsZXQvdG9rZW4vYXBwcm92YWwvYnVpbGQnKTtcbiAgICAgIG1vY2tCaXRHby5wb3N0LnJldHVybnMoe1xuICAgICAgICBzZW5kOiBzaW5vbi5zdHViKCkucmV0dXJucyh7XG4gICAgICAgICAgcmVzdWx0OiBzaW5vbi5zdHViKCkucmVqZWN0cyhuZXcgRXJyb3IoJ3Rva2VuIG5vdCBzdXBwb3J0ZWQnKSksXG4gICAgICAgIH0pLFxuICAgICAgfSk7XG5cbiAgICAgIGF3YWl0IHdhbGxldFxuICAgICAgICAuYnVpbGRFcmMyMFRva2VuQXBwcm92YWwoJ0lOVkFMSURfVE9LRU4nKVxuICAgICAgICAuc2hvdWxkLmJlLnJlamVjdGVkV2l0aCgvZXJyb3IgYnVpbGRpbmcgZXJjMjAgdG9rZW4gYXBwcm92YWwgdHg6IEVycm9yOiB0b2tlbiBub3Qgc3VwcG9ydGVkLyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGJ1aWxkLCBzaWduLCBhbmQgc2VuZCB0b2tlbiBhcHByb3ZhbCB0cmFuc2FjdGlvbiB3aGVuIHBhc3NwaHJhc2UgaXMgcHJvdmlkZWQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBtb2NrQmFzZUNvaW4udXJsLnJldHVybnMoJy90ZXN0L3dhbGxldC90b2tlbi9hcHByb3ZhbC9idWlsZCcpO1xuICAgICAgbW9ja0JpdEdvLnBvc3QucmV0dXJucyh7XG4gICAgICAgIHNlbmQ6IHNpbm9uLnN0dWIoKS5yZXR1cm5zKHtcbiAgICAgICAgICByZXN1bHQ6IHNpbm9uLnN0dWIoKS5yZXNvbHZlcyhtb2NrVG9rZW5BcHByb3ZhbEJ1aWxkKSxcbiAgICAgICAgfSksXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgbW9ja0tleWNoYWluID0geyBpZDogJ3VzZXIta2V5JywgcHViOiAncHViLWtleScsIGVuY3J5cHRlZFBydjogJ2VuY3J5cHRlZC1wcnYnIH07XG4gICAgICBtb2NrQmFzZUNvaW4ua2V5Y2hhaW5zLnJldHVybnMoe1xuICAgICAgICBnZXQ6IHNpbm9uLnN0dWIoKS5yZXNvbHZlcyhtb2NrS2V5Y2hhaW4pLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHNpZ25UcmFuc2FjdGlvblN0dWIgPSBzaW5vbi5zdHViKHdhbGxldCwgJ3NpZ25UcmFuc2FjdGlvbicgYXMga2V5b2YgV2FsbGV0KS5yZXNvbHZlcyh7IHR4SGV4OiAnMHhzaWduZWQnIH0pO1xuICAgICAgY29uc3Qgc2VuZFRyYW5zYWN0aW9uU3R1YiA9IHNpbm9uLnN0dWIod2FsbGV0LCAnc2VuZFRyYW5zYWN0aW9uJyBhcyBrZXlvZiBXYWxsZXQpLnJlc29sdmVzKHsgdHhpZDogJzB4dHhpZCcgfSk7XG4gICAgICBjb25zdCBnZXRLZXljaGFpbnNTdHViID0gc2lub24uc3R1Yih3YWxsZXQgYXMgYW55LCAnZ2V0S2V5Y2hhaW5zQW5kVmFsaWRhdGVQYXNzcGhyYXNlJykucmVzb2x2ZXMoW21vY2tLZXljaGFpbl0pO1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB3YWxsZXQuYnVpbGRFcmMyMFRva2VuQXBwcm92YWwoJ1VTREMnLCAncGFzc3BocmFzZTEyMycpO1xuXG4gICAgICByZXN1bHQuc2hvdWxkLmhhdmUucHJvcGVydHkoJ3R4aWQnLCAnMHh0eGlkJyk7XG5cbiAgICAgIHNpbm9uLmFzc2VydC5jYWxsZWRPbmNlKGdldEtleWNoYWluc1N0dWIpO1xuICAgICAgZ2V0S2V5Y2hhaW5zU3R1Yi5nZXRDYWxsKDApLmFyZ3NbMF0uc2hvdWxkLmhhdmUucHJvcGVydHkoJ3dhbGxldFBhc3NwaHJhc2UnLCAncGFzc3BocmFzZTEyMycpO1xuXG4gICAgICBzaW5vbi5hc3NlcnQuY2FsbGVkT25jZShzaWduVHJhbnNhY3Rpb25TdHViKTtcbiAgICAgIGNvbnN0IHNpZ25DYWxsID0gc2lnblRyYW5zYWN0aW9uU3R1Yi5nZXRDYWxsKDApO1xuICAgICAgaWYgKHNpZ25DYWxsICYmIHNpZ25DYWxsLmFyZ3NbMF0pIHtcbiAgICAgICAgc2lnbkNhbGwuYXJnc1swXS5zaG91bGQuaGF2ZS5wcm9wZXJ0eSgndHhQcmVidWlsZCcsIG1vY2tUb2tlbkFwcHJvdmFsQnVpbGQpO1xuICAgICAgICBzaWduQ2FsbC5hcmdzWzBdLnNob3VsZC5oYXZlLnByb3BlcnR5KCdrZXljaGFpbicsIG1vY2tLZXljaGFpbik7XG4gICAgICAgIHNpZ25DYWxsLmFyZ3NbMF0uc2hvdWxkLmhhdmUucHJvcGVydHkoJ3dhbGxldFBhc3NwaHJhc2UnLCAncGFzc3BocmFzZTEyMycpO1xuICAgICAgfVxuXG4gICAgICBzaW5vbi5hc3NlcnQuY2FsbGVkT25jZShzZW5kVHJhbnNhY3Rpb25TdHViKTtcbiAgICAgIGNvbnN0IHNlbmRDYWxsID0gc2VuZFRyYW5zYWN0aW9uU3R1Yi5nZXRDYWxsKDApO1xuICAgICAgaWYgKHNlbmRDYWxsICYmIHNlbmRDYWxsLmFyZ3NbMF0pIHtcbiAgICAgICAgc2VuZENhbGwuYXJnc1swXS5zaG91bGQuaGF2ZS5wcm9wZXJ0eSgndHhIZXgnLCAnMHhzaWduZWQnKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgaGFuZGxlIHNpZ25pbmcgZXJyb3JzJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgbW9ja0Jhc2VDb2luLnVybC5yZXR1cm5zKCcvdGVzdC93YWxsZXQvdG9rZW4vYXBwcm92YWwvYnVpbGQnKTtcbiAgICAgIG1vY2tCaXRHby5wb3N0LnJldHVybnMoe1xuICAgICAgICBzZW5kOiBzaW5vbi5zdHViKCkucmV0dXJucyh7XG4gICAgICAgICAgcmVzdWx0OiBzaW5vbi5zdHViKCkucmVzb2x2ZXMobW9ja1Rva2VuQXBwcm92YWxCdWlsZCksXG4gICAgICAgIH0pLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IG1vY2tLZXljaGFpbiA9IHsgaWQ6ICd1c2VyLWtleScsIHB1YjogJ3B1Yi1rZXknLCBlbmNyeXB0ZWRQcnY6ICdlbmNyeXB0ZWQtcHJ2JyB9O1xuICAgICAgbW9ja0Jhc2VDb2luLmtleWNoYWlucy5yZXR1cm5zKHtcbiAgICAgICAgZ2V0OiBzaW5vbi5zdHViKCkucmVzb2x2ZXMobW9ja0tleWNoYWluKSxcbiAgICAgIH0pO1xuXG4gICAgICBzaW5vbi5zdHViKHdhbGxldCBhcyBhbnksICdnZXRLZXljaGFpbnNBbmRWYWxpZGF0ZVBhc3NwaHJhc2UnKS5yZXNvbHZlcyhbbW9ja0tleWNoYWluXSk7XG4gICAgICBzaW5vbi5zdHViKHdhbGxldCwgJ3NpZ25UcmFuc2FjdGlvbicgYXMga2V5b2YgV2FsbGV0KS5yZWplY3RzKG5ldyBFcnJvcignc2lnbmluZyBlcnJvcicpKTtcblxuICAgICAgYXdhaXQgd2FsbGV0LmJ1aWxkRXJjMjBUb2tlbkFwcHJvdmFsKCdVU0RDJywgJ3Bhc3NwaHJhc2UxMjMnKS5zaG91bGQuYmUucmVqZWN0ZWRXaXRoKCdzaWduaW5nIGVycm9yJyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdzZW5kVG9rZW5FbmFibGVtZW50JywgZnVuY3Rpb24gKCkge1xuICAgIGxldCB0ZVdhbGxldDogV2FsbGV0O1xuICAgIGxldCB0ZUJhc2VDb2luOiBhbnk7XG4gICAgbGV0IHRlQml0R286IGFueTtcblxuICAgIGJlZm9yZUVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgdGVCaXRHbyA9IHtcbiAgICAgICAgcG9zdDogc2lub24uc3R1YigpLFxuICAgICAgICBnZXQ6IHNpbm9uLnN0dWIoKSxcbiAgICAgICAgc2V0UmVxdWVzdFRyYWNlcjogc2lub24uc3R1YigpLFxuICAgICAgfTtcblxuICAgICAgdGVCYXNlQ29pbiA9IHtcbiAgICAgICAgZ2V0RmFtaWx5OiBzaW5vbi5zdHViKCkucmV0dXJucygndHhycCcpLFxuICAgICAgICBnZXRGdWxsTmFtZTogc2lub24uc3R1YigpLnJldHVybnMoJ1Rlc3RuZXQgWFJQJyksXG4gICAgICAgIHVybDogc2lub24uc3R1YigpLFxuICAgICAgICBrZXljaGFpbnM6IHNpbm9uLnN0dWIoKSxcbiAgICAgICAgc3VwcG9ydHNUc3M6IHNpbm9uLnN0dWIoKS5yZXR1cm5zKGZhbHNlKSxcbiAgICAgICAgZ2V0TVBDQWxnb3JpdGhtOiBzaW5vbi5zdHViKCksXG4gICAgICAgIGdldFRva2VuRW5hYmxlbWVudENvbmZpZzogc2lub24uc3R1YigpLnJldHVybnMoeyByZXF1aXJlc1Rva2VuRW5hYmxlbWVudDogdHJ1ZSB9KSxcbiAgICAgIH07XG5cbiAgICAgIC8vIGN1c3RvZGlhbCB3YWxsZXQgc28gdGhlIHBhdGggYWZ0ZXIgdmFsaWRhdGlvbiBjYWxscyBpbml0aWF0ZVRyYW5zYWN0aW9uXG4gICAgICBjb25zdCB3YWxsZXREYXRhID0ge1xuICAgICAgICBpZDogJ3RlLXdhbGxldC1pZCcsXG4gICAgICAgIGNvaW46ICd0eHJwJyxcbiAgICAgICAgdHlwZTogJ2N1c3RvZGlhbCcsXG4gICAgICAgIGtleXM6IFsndXNlci1rZXknLCAnYmFja3VwLWtleScsICdiaXRnby1rZXknXSxcbiAgICAgIH07XG5cbiAgICAgIHRlV2FsbGV0ID0gbmV3IFdhbGxldCh0ZUJpdEdvLCB0ZUJhc2VDb2luLCB3YWxsZXREYXRhKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgXCJJbnZhbGlkIGJ1aWxkIG9mIHRva2VuIGVuYWJsZW1lbnQuXCIgd2hlbiBwcmVidWlsZFR4IGlzIGEgc3RyaW5nJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgdGVXYWxsZXRcbiAgICAgICAgLnNlbmRUb2tlbkVuYWJsZW1lbnQoeyBwcmVidWlsZFR4OiAncmF3LWhleC1zdHJpbmcnIGFzIGFueSB9KVxuICAgICAgICAuc2hvdWxkLmJlLnJlamVjdGVkV2l0aCgnSW52YWxpZCBidWlsZCBvZiB0b2tlbiBlbmFibGVtZW50LicpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBcIkludmFsaWQgYnVpbGQgb2YgdG9rZW4gZW5hYmxlbWVudC5cIiB3aGVuIGJ1aWxkUGFyYW1zLnR5cGUgaXMgdW5kZWZpbmVkJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgdGVXYWxsZXRcbiAgICAgICAgLnNlbmRUb2tlbkVuYWJsZW1lbnQoeyBwcmVidWlsZFR4OiB7IGJ1aWxkUGFyYW1zOiB7fSB9IGFzIGFueSB9KVxuICAgICAgICAuc2hvdWxkLmJlLnJlamVjdGVkV2l0aCgnSW52YWxpZCBidWlsZCBvZiB0b2tlbiBlbmFibGVtZW50LicpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBcIkludmFsaWQgYnVpbGQgb2YgdG9rZW4gZW5hYmxlbWVudC5cIiB3aGVuIGJ1aWxkUGFyYW1zLnR5cGUgaXMgYW4gdW5yZWNvZ25pc2VkIHR5cGUnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBhd2FpdCB0ZVdhbGxldFxuICAgICAgICAuc2VuZFRva2VuRW5hYmxlbWVudCh7IHByZWJ1aWxkVHg6IHsgYnVpbGRQYXJhbXM6IHsgdHlwZTogJ3RyYW5zZmVyJyB9IH0gYXMgYW55IH0pXG4gICAgICAgIC5zaG91bGQuYmUucmVqZWN0ZWRXaXRoKCdJbnZhbGlkIGJ1aWxkIG9mIHRva2VuIGVuYWJsZW1lbnQuJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHBhc3MgdmFsaWRhdGlvbiBhbmQgcHJvY2VlZCB3aGVuIGJ1aWxkUGFyYW1zLnR5cGUgaXMgXCJlbmFibGV0b2tlblwiJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgaW5pdGlhdGVTdHViID0gc2lub24uc3R1Yih0ZVdhbGxldCBhcyBhbnksICdpbml0aWF0ZVRyYW5zYWN0aW9uJykucmVzb2x2ZXMoeyB0eGlkOiAnYWJjMTIzJyB9KTtcblxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGVXYWxsZXQuc2VuZFRva2VuRW5hYmxlbWVudCh7XG4gICAgICAgIHByZWJ1aWxkVHg6IHsgYnVpbGRQYXJhbXM6IHsgdHlwZTogJ2VuYWJsZXRva2VuJyB9IH0gYXMgYW55LFxuICAgICAgfSk7XG5cbiAgICAgIHJlc3VsdC5zaG91bGQuZXFsKHsgdHhpZDogJ2FiYzEyMycgfSk7XG4gICAgICBzaW5vbi5hc3NlcnQuY2FsbGVkT25jZShpbml0aWF0ZVN0dWIpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBwYXNzIHZhbGlkYXRpb24gYW5kIHByb2NlZWQgd2hlbiBidWlsZFBhcmFtcy50eXBlIGlzIFwiZW5hYmxlTXB0XCInLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBpbml0aWF0ZVN0dWIgPSBzaW5vbi5zdHViKHRlV2FsbGV0IGFzIGFueSwgJ2luaXRpYXRlVHJhbnNhY3Rpb24nKS5yZXNvbHZlcyh7IHR4aWQ6ICdtcHQ0NTYnIH0pO1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0ZVdhbGxldC5zZW5kVG9rZW5FbmFibGVtZW50KHtcbiAgICAgICAgcHJlYnVpbGRUeDogeyBidWlsZFBhcmFtczogeyB0eXBlOiAnZW5hYmxlTXB0JyB9IH0gYXMgYW55LFxuICAgICAgfSk7XG5cbiAgICAgIHJlc3VsdC5zaG91bGQuZXFsKHsgdHhpZDogJ21wdDQ1NicgfSk7XG4gICAgICBzaW5vbi5hc3NlcnQuY2FsbGVkT25jZShpbml0aWF0ZVN0dWIpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBwYXNzIHZhbGlkYXRpb24gYW5kIHByb2NlZWQgd2hlbiBidWlsZFBhcmFtcy50eXBlIGlzIFwiZGlzYWJsZXRva2VuXCInLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBpbml0aWF0ZVN0dWIgPSBzaW5vbi5zdHViKHRlV2FsbGV0LCAnaW5pdGlhdGVUcmFuc2FjdGlvbicgYXMga2V5b2YgV2FsbGV0KS5yZXNvbHZlcyh7IHR4aWQ6ICdkaXNhYmxlNzg5JyB9KTtcblxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGVXYWxsZXQuc2VuZFRva2VuRW5hYmxlbWVudCh7XG4gICAgICAgIC8vIFBhcnRpYWwgZml4dHVyZTogb25seSB0aGUgZmllbGRzIHNlbmRUb2tlbkVuYWJsZW1lbnQncyB2YWxpZGF0aW9uIGd1YXJkIHJlYWRzLlxuICAgICAgICBwcmVidWlsZFR4OiB7IGJ1aWxkUGFyYW1zOiB7IHR5cGU6ICdkaXNhYmxldG9rZW4nIH0gfSBhcyB1bmtub3duIGFzIFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHQsXG4gICAgICB9KTtcblxuICAgICAgcmVzdWx0LnNob3VsZC5lcWwoeyB0eGlkOiAnZGlzYWJsZTc4OScgfSk7XG4gICAgICBzaW5vbi5hc3NlcnQuY2FsbGVkT25jZShpbml0aWF0ZVN0dWIpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyB3aGVuIHRoZSBjb2luIGRvZXMgbm90IHJlcXVpcmUgdG9rZW4gZW5hYmxlbWVudCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIHRlQmFzZUNvaW4uZ2V0VG9rZW5FbmFibGVtZW50Q29uZmlnLnJldHVybnMoeyByZXF1aXJlc1Rva2VuRW5hYmxlbWVudDogZmFsc2UgfSk7XG5cbiAgICAgIGF3YWl0IHRlV2FsbGV0XG4gICAgICAgIC5zZW5kVG9rZW5FbmFibGVtZW50KHsgcHJlYnVpbGRUeDogeyBidWlsZFBhcmFtczogeyB0eXBlOiAnZW5hYmxlTXB0JyB9IH0gYXMgYW55IH0pXG4gICAgICAgIC5zaG91bGQuYmUucmVqZWN0ZWRXaXRoKC9kb2VzIG5vdCByZXF1aXJlIHRva2VuIGVuYWJsZW1lbnQgdHJhbnNhY3Rpb25zLyk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|