@bitgo/sdk-core 36.21.0 → 36.22.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/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +3 -2
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/iBaseCoin.js +8 -1
- package/dist/src/bitgo/config.d.ts +1 -237
- package/dist/src/bitgo/config.d.ts.map +1 -1
- package/dist/src/bitgo/environments.d.ts.map +1 -1
- package/dist/src/bitgo/environments.js +13 -1
- package/dist/src/bitgo/utils/mpcUtils.js +2 -2
- package/dist/src/bitgo/utils/tss/addressVerification.d.ts +14 -0
- package/dist/src/bitgo/utils/tss/addressVerification.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/addressVerification.js +23 -5
- package/dist/src/bitgo/wallet/wallet.js +5 -5
- package/dist/src/bitgo/wallet/wallets.js +2 -2
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +5 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
|
@@ -149,6 +149,12 @@ const mainnetBase = {
|
|
|
149
149
|
mantle: {
|
|
150
150
|
baseUrl: 'https://api.mantlescan.xyz/api',
|
|
151
151
|
},
|
|
152
|
+
jovayeth: {
|
|
153
|
+
baseUrl: 'https://api.zan.top/node/v1/jovay/mainnet/',
|
|
154
|
+
},
|
|
155
|
+
okb: {
|
|
156
|
+
baseUrl: 'https://www.oklink.com/api/v5/explorer/block/block-list?chainShortName=xlayer',
|
|
157
|
+
},
|
|
152
158
|
},
|
|
153
159
|
icpNodeUrl: 'https://ic0.app',
|
|
154
160
|
worldExplorerBaseUrl: 'https://worldscan.org/',
|
|
@@ -295,6 +301,12 @@ const testnetBase = {
|
|
|
295
301
|
mantle: {
|
|
296
302
|
baseUrl: 'https://api-sepolia.mantlescan.xyz/api',
|
|
297
303
|
},
|
|
304
|
+
jovayeth: {
|
|
305
|
+
baseUrl: 'https://api.zan.top/node/v1/jovay/testnet/',
|
|
306
|
+
},
|
|
307
|
+
okb: {
|
|
308
|
+
baseUrl: 'https://www.oklink.com/api/v5/explorer/block/block-list?chainShortName=xlayer_testnet',
|
|
309
|
+
},
|
|
298
310
|
},
|
|
299
311
|
stxNodeUrl: 'https://api.testnet.hiro.so',
|
|
300
312
|
vetNodeUrl: 'https://sync-testnet.vechain.org',
|
|
@@ -378,4 +390,4 @@ exports.Environments = {
|
|
|
378
390
|
stellarFederationServerUrl: 'https://app.bitgo-dev.com/api/v2/txlm/federation',
|
|
379
391
|
}),
|
|
380
392
|
};
|
|
381
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JpdGdvL2Vudmlyb25tZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFpSGEsUUFBQSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQy9DLFVBQVUsRUFBRTtRQUNWLElBQUksRUFBRSxpSEFBaUg7UUFDdkgsSUFBSSxFQUFFLGlIQUFpSDtLQUN4SDtJQUNELE9BQU8sRUFBRTtRQUNQLElBQUksRUFBRSxpSEFBaUg7UUFDdkgsSUFBSSxFQUFFLGlIQUFpSDtRQUN2SCxHQUFHLEVBQUUsaUhBQWlIO0tBQ3ZIO0NBQ0YsQ0FBQyxDQUFDO0FBcUJILHdGQUF3RjtBQUMzRSxRQUFBLGlCQUFpQixHQUFxRDtJQUNqRixVQUFVLEVBQUUsTUFBTTtJQUNsQixNQUFNLEVBQUUsTUFBTTtJQUNkLE1BQU0sRUFBRSxNQUFNO0lBQ2QsS0FBSyxFQUFFLEtBQUs7Q0FDYixDQUFDO0FBRUYsTUFBTSxXQUFXLEdBQXdCO0lBQ3ZDLE9BQU8sRUFBRSxTQUFzQjtJQUMvQixjQUFjLEVBQUUsb0NBQW9DO0lBQ3BELFVBQVUsRUFBRSwyQkFBbUIsQ0FBQyxVQUFVLENBQUMsSUFBSTtJQUMvQyxPQUFPLEVBQUUsMkJBQW1CLENBQUMsT0FBTyxDQUFDLElBQUk7SUFDekMsa0JBQWtCLEVBQUUsOEJBQThCO0lBQ2xELGdCQUFnQixFQUFFLDZCQUE2QjtJQUMvQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQjtJQUNsRCxtQkFBbUIsRUFBRSwwQkFBMEI7SUFDL0MsbUJBQW1CLEVBQUUsNEJBQTRCO0lBQ2pELHNCQUFzQixFQUFFLGlDQUFpQztJQUN6RCxjQUFjLEVBQUUsNkJBQTZCO0lBQzdDLGVBQWUsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWE7SUFDMUMsa0JBQWtCLEVBQUUsNkJBQTZCO0lBQ2pELG1CQUFtQixFQUFF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cUJBQXNCO1FBQ3ZDLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUF5QztRQUM5RCxPQUFPLEVBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEtBQUssWUFBWSxDQUFDLENBQUMsQ0FBQywyQkFBbUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQywyQkFBbUIsQ0FBQyxPQUFPLENBQUMsSUFBSTtRQUM3RyxrQkFBa0IsRUFDaEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsS0FBSyxTQUFTO1lBQ3BELENBQUMsQ0FBQyxzQ0FBc0M7WUFDeEMsQ0FBQyxDQUFDLDhCQUE4QjtRQUNwQyxnQkFBZ0IsRUFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLDZCQUE2QixLQUFLLFVBQVU7WUFDdEQsQ0FBQyxDQUFDLGdDQUFnQztZQUNsQyxDQUFDLENBQUMsMEJBQTBCO1FBQ2hDLDBCQUEwQixFQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixLQUFLLFNBQVM7WUFDcEQsQ0FBQyxDQUFDLFdBQVcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIseUJBQXlCO1lBQ3ZFLENBQUMsQ0FBQyxXQUFXLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLHdCQUF3QjtRQUMxRSxVQUFVLEVBQ1IsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsS0FBSyxTQUFTO1lBQ3BELENBQUMsQ0FBQywyQkFBbUIsQ0FBQyxVQUFVLENBQUMsSUFBSTtZQUNyQyxDQUFDLENBQUMsMkJBQW1CLENBQUMsVUFBVSxDQUFDLElBQUk7S0FDMUMsQ0FBQztJQUNGLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUU7UUFDakMsR0FBRyxFQUFFLDJCQUEyQjtRQUNoQywwQkFBMEIsRUFBRSxrREFBa0Q7S0FDL0UsQ0FBQztDQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICovXG5pbXBvcnQgeyBWMU5ldHdvcmsgfSBmcm9tICcuL3R5cGVzJztcblxuaW50ZXJmYWNlIEVudmlyb25tZW50VGVtcGxhdGUge1xuICB1cmk/OiBzdHJpbmc7XG4gIG5ldHdvcms6IFYxTmV0d29yaztcbiAgc2lnbmluZ0FkZHJlc3M6IHN0cmluZztcbiAgc2VydmVyWHB1Yjogc3RyaW5nO1xuICBoc21YcHViOiBzdHJpbmc7XG4gIGJ0Y0V4cGxvcmVyQmFzZVVybDogc3RyaW5nO1xuICBldGhlcnNjYW5CYXNlVXJsOiBzdHJpbmc7XG4gIGV0aGVyc2NhbkFwaVRva2VuPzogc3RyaW5nO1xuICBhdmF4Y05ldHdvcmtCYXNlVXJsOiBzdHJpbmc7XG4gIGV0aDJFeHBsb3JlckJhc2VVcmw6IHN0cmluZztcbiAgZXRod0Z1bGxOb2RlUlBDQmFzZVVybDogc3RyaW5nO1xuICBwb2x5Z29uc2NhbkJhc2VVcmw/OiBzdHJpbmc7XG4gIGJzY3NjYW5CYXNlVXJsPzogc3RyaW5nO1xuICBic2NzY2FuQXBpVG9rZW4/OiBzdHJpbmc7XG4gIHBvbHlnb25zY2FuQXBpVG9rZW4/OiBzdHJpbmc7XG4gIGFwZWNoYWluRXhwbG9yZXJBcGlUb2tlbj86IHN0cmluZztcbiAgYXBlY2hhaW5FeHBsb3JlckJhc2VVcmw/OiBzdHJpbmc7XG4gIGFyYmlzY2FuQmFzZVVybD86IHN0cmluZztcbiAgYXJiaXNjYW5BcGlUb2tlbj86IHN0cmluZztcbiAgb2FzRXhwbG9yZXJBcGlUb2tlbj86IHN0cmluZztcbiAgb2FzRXhwbG9yZXJCYXNlVXJsPzogc3RyaW5nO1xuICBvcHRpbWlzdGljRXRoZXJzY2FuQmFzZVVybD86IHN0cmluZztcbiAgb3B0aW1pc3RpY0V0aGVyc2NhbkFwaVRva2VuPzogc3RyaW5nO1xuICB6a3N5bmNFeHBsb3JlckJhc2VVcmw/OiBzdHJpbmc7XG4gIHprc3luY0V4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIGJlcmFFeHBsb3JlckJhc2VVcmw/OiBzdHJpbmc7XG4gIGJlcmFFeHBsb3JlckFwaVRva2VuPzogc3RyaW5nO1xuICBiYXNlZXRoRXhwbG9yZXJVcmw/OiBzdHJpbmc7XG4gIGJhc2VldGhBcGlUb2tlbj86IHN0cmluZztcbiAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw/OiBzdHJpbmc7XG4gIGVvc05vZGVVcmxzOiBzdHJpbmdbXTtcbiAgbmVhck5vZGVVcmxzOiBzdHJpbmdbXTtcbiAgc29sTm9kZVVybDogc3RyaW5nO1xuICBzb2xBbGNoZW15Tm9kZVVybDogc3RyaW5nO1xuICBhZGFOb2RlVXJsOiBzdHJpbmc7XG4gIGhhc2hOb2RlVXJsOiBzdHJpbmc7XG4gIGluak5vZGVVcmw6IHN0cmluZztcbiAgYXRvbU5vZGVVcmw6IHN0cmluZztcbiAgb3Ntb05vZGVVcmw6IHN0cmluZztcbiAgdGlhTm9kZVVybDogc3RyaW5nO1xuICBzZWlOb2RlVXJsOiBzdHJpbmc7XG4gIGJsZE5vZGVVcmw6IHN0cmluZztcbiAgYmVyYU5vZGVVcmw6IHN0cmluZztcbiAgemV0YU5vZGVVcmw6IHN0cmluZztcbiAgY29yZXVtTm9kZVVybDogc3RyaW5nO1xuICBydW5lTm9kZVVybDogc3RyaW5nO1xuICBiYWJ5Tm9kZVVybDogc3RyaW5nO1xuICBtYW50cmFOb2RlVXJsOiBzdHJpbmc7XG4gIGNyb25vc05vZGVVcmw6IHN0cmluZztcbiAgaW5pdGlhTm9kZVVybDogc3RyaW5nO1xuICBhc2lOb2RlVXJsOiBzdHJpbmc7XG4gIGlzbG1Ob2RlVXJsOiBzdHJpbmc7XG4gIGRvdE5vZGVVcmxzOiBzdHJpbmdbXTtcbiAgc3Vic3RyYXRlTm9kZVVybHM6IHN0cmluZ1tdO1xuICBwb2x5bWVzaE5vZGVVcmxzOiBzdHJpbmdbXTtcbiAgdHJvbk5vZGVzOiB7XG4gICAgZnVsbDogc3RyaW5nO1xuICAgIHNvbGlkaXR5OiBzdHJpbmc7XG4gIH07XG4gIGhtYWNWZXJpZmljYXRpb25FbmZvcmNlZDogYm9vbGVhbjtcbiAgdG9uTm9kZVVybDogc3RyaW5nO1xuICBzdWlOb2RlVXJsOiBzdHJpbmc7XG4gIGV0Y05vZGVVcmw6IHN0cmluZztcbiAgY29yZWRhb0V4cGxvcmVyQmFzZVVybD86IHN0cmluZztcbiAgY29yZWRhb0V4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIHhkY0V4cGxvcmVyQmFzZVVybD86IHN0cmluZztcbiAgeGRjRXhwbG9yZXJBcGlUb2tlbj86IHN0cmluZztcbiAgZmxyRXhwbG9yZXJCYXNlVXJsPzogc3RyaW5nO1xuICBmbHJFeHBsb3JlckFwaVRva2VuPzogc3RyaW5nO1xuICBzZ2JFeHBsb3JlckJhc2VVcmw/OiBzdHJpbmc7XG4gIHNnYkV4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIGljcE5vZGVVcmw6IHN0cmluZztcbiAgd2VtaXhFeHBsb3JlckJhc2VVcmw/OiBzdHJpbmc7XG4gIHdlbWl4RXhwbG9yZXJBcGlUb2tlbj86IHN0cmluZztcbiAgbW9uRXhwbG9yZXJCYXNlVXJsPzogc3RyaW5nO1xuICBtb25FeHBsb3JlckFwaVRva2VuPzogc3RyaW5nO1xuICB3b3JsZEV4cGxvcmVyQmFzZVVybD86IHN0cmluZztcbiAgd29ybGRFeHBsb3JlckFwaVRva2VuPzogc3RyaW5nO1xuICBzb21uaWFFeHBsb3JlckJhc2VVcmw/OiBzdHJpbmc7XG4gIHNvbW5pYUV4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIHNvbmVpdW1FeHBsb3JlckJhc2VVcmw/OiBzdHJpbmc7XG4gIHNvbmVpdW1FeHBsb3JlckFwaVRva2VuPzogc3RyaW5nO1xuICBzdHhOb2RlVXJsOiBzdHJpbmc7XG4gIHZldE5vZGVVcmw6IHN0cmluZztcbiAgLy8gVGhlIGtleSBoZXJlIGlzIGNvaW5OYW1lIGFuZCBpdCB3aWxsIGJlIHNhbWUgZm9yIGJvdGggbWFpbm5ldCBhbmQgdGVzdG5ldCAoZWc6ICdwaHJzJylcbiAgZXZtPzoge1xuICAgIFtrZXk6IHN0cmluZ106IHtcbiAgICAgIGJhc2VVcmw6IHN0cmluZztcbiAgICAgIGFwaVRva2VuPzogc3RyaW5nO1xuICAgICAgcnBjVXJsPzogc3RyaW5nO1xuICAgIH07XG4gIH07XG4gIC8vIFRoZSBrZXkgaGVyZSBpcyBjb2luRmFtaWx5IGFuZCBpdCB3aWxsIGJlIHNhbWUgZm9yIGJvdGggbWFpbm5ldCBhbmQgdGVzdG5ldCAoZWc6ICdjcm9ub3MnKVxuICBjb3Ntb3M/OiB7XG4gICAgW2tleTogc3RyaW5nXToge1xuICAgICAgbm9kZVVybDogc3RyaW5nO1xuICAgIH07XG4gIH07XG4gIHh0ekV4cGxvcmVyQmFzZVVybD86IHN0cmluZztcbiAgeHR6UnBjVXJsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVudmlyb25tZW50IGV4dGVuZHMgRW52aXJvbm1lbnRUZW1wbGF0ZSB7XG4gIHVyaTogc3RyaW5nO1xuICBzdGVsbGFyRmVkZXJhdGlvblNlcnZlclVybDogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgaGFyZGNvZGVkUHVibGljS2V5cyA9IE9iamVjdC5mcmVlemUoe1xuICBzZXJ2ZXJYcHViOiB7XG4gICAgcHJvZDogJ3hwdWI2NjFNeU13QXFSYmNFdFVndTlIRjhhaTRpcHVWS0tIQnpVcWtzNGpTRnlwVzhkd3dRTDF6eWdMZ1F4OTlObUM3ekpKem5TaXdLRzZSUWZWakFLTXRDc3g4VmpSNmtRVzh4N0hya1hGWmRuUScsXG4gICAgdGVzdDogJ3hwdWI2NjFNeU13QXFSYmNFckZxVlhHaVVGdjlZZW9QYmhONzJVaU5DVWRqOW5qM1Q2TThoN2lLTm1iQ1lwTVZXVlpQN0xBMm1hM0hXY1BuZ3oxZ1JUbTRGUGR0bTltSGZyTnZVOTNNQ29zenNHTCcsXG4gIH0sXG4gIGhzbVhwdWI6IHtcbiAgICBwcm9kOiAneHB1YjY2MU15TXdBcVJiY0dFdFRGZ01Bb3hNRm9xc1JkRGFpYVI2M2J5TmZaZFY3Y0JaRnZvdlFTTko1YnB5ZW9RdHVLVmdYQms2c0ZRN1R0dnlXcWFkdDQxRG5Ld3ZlWWdNNUtvVTJFS1lqZFkyJyxcbiAgICB0ZXN0OiAneHB1YjY2MU15TXdBcVJiY0dGS2U0QnF2azRTZ3JpYzRnTkZDOHBVYnc0dFVrVmpaeHViakNBNTIyZ1B6YzFZYVhiM2JRVm1EV2M3Q2pHOEFHTldScGNkQVUzOFJFVEJoOG4yYm5xRVU0a2JWNG9LJyxcbiAgICBkZXY6ICd4cHViNjYxTXlNd0FxUmJjRld6b3o4cW5ZUkRZRUZRcFBMWXd4VkZvRzZXTHkzY2s1WnVwUkdKVEc0anU2eUdiN0RqM2V5NkdzQzRrc3RMUkVSMm5LemdqTHRteHlQZ0M0ekh5N2tWaFV0NnlmR24nLFxuICB9LFxufSk7XG5cbmV4cG9ydCB0eXBlIEVudmlyb25tZW50TmFtZSA9XG4gIHwgJ3Byb2QnXG4gIHwgJ3N0YWdpbmcnXG4gIHwgJ3Rlc3QnXG4gIHwgJ2RldidcbiAgfCAnbG9jYWwnXG4gIHwgJ2xvY2FsTm9uU2VjdXJlJ1xuICB8ICdtb2NrJ1xuICB8ICdhZG1pblByb2QnXG4gIHwgJ2FkbWluVGVzdCdcbiAgfCAnYWRtaW5TdGFnaW5nJ1xuICB8ICdhZG1pbkRldidcbiAgfCAnY3VzdG9tJ1xuICB8ICdicmFuY2gnO1xuXG5leHBvcnQgdHlwZSBBbGlhc0Vudmlyb25tZW50TmFtZSA9ICdwcm9kdWN0aW9uJyB8ICdtc1Byb2QnIHwgJ21zVGVzdCcgfCAnbXNEZXYnO1xuXG5leHBvcnQgdHlwZSBFbnZpcm9ubWVudHMgPSB7IFtrIGluIEVudmlyb25tZW50TmFtZV06IEVudmlyb25tZW50IH07XG5cbi8vIGFsaWFzIGVudmlyb25tZW50cyBhcmUgZW52aXJvbm1lbnQgbmFtZXMgd2hpY2ggYXJlIGFsaWFzZXMgb2YgYSBzdXBwb3J0ZWQgZW52aXJvbm1lbnRcbmV4cG9ydCBjb25zdCBBbGlhc0Vudmlyb25tZW50czogeyBbayBpbiBBbGlhc0Vudmlyb25tZW50TmFtZV06IEVudmlyb25tZW50TmFtZSB9ID0ge1xuICBwcm9kdWN0aW9uOiAncHJvZCcsXG4gIG1zUHJvZDogJ3Byb2QnLFxuICBtc1Rlc3Q6ICd0ZXN0JyxcbiAgbXNEZXY6ICdkZXYnLFxufTtcblxuY29uc3QgbWFpbm5ldEJhc2U6IEVudmlyb25tZW50VGVtcGxhdGUgPSB7XG4gIG5ldHdvcms6ICdiaXRjb2luJyBhcyBWMU5ldHdvcmssXG4gIHNpZ25pbmdBZGRyZXNzOiAnMUJpdEdvM2d4Ulo2bVFTRUg1MmR2Q0tTVWdWQ0FINFJqYScsXG4gIHNlcnZlclhwdWI6IGhhcmRjb2RlZFB1YmxpY0tleXMuc2VydmVyWHB1Yi5wcm9kLFxuICBoc21YcHViOiBoYXJkY29kZWRQdWJsaWNLZXlzLmhzbVhwdWIucHJvZCxcbiAgYnRjRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9ibG9ja3N0cmVhbS5pbmZvL2FwaScsXG4gIGV0aGVyc2NhbkJhc2VVcmw6ICdodHRwczovL2FwaS5ldGhlcnNjYW4uaW8vdjInLFxuICBldGhlcnNjYW5BcGlUb2tlbjogcHJvY2Vzcy5lbnYuRVRIRVJTQ0FOX0FQSV9UT0tFTixcbiAgYXZheGNOZXR3b3JrQmFzZVVybDogJ2h0dHBzOi8vYXBpLmF2YXgubmV0d29yaycsXG4gIGV0aDJFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2JlYWNvbnNjYW4uY29tL2FwaScsXG4gIGV0aHdGdWxsTm9kZVJQQ0Jhc2VVcmw6ICdodHRwczovL21haW5uZXQuZXRoZXJldW1wb3cub3JnJyxcbiAgYnNjc2NhbkJhc2VVcmw6ICdodHRwczovL2FwaS5ldGhlcnNjYW4uaW8vdjInLFxuICBic2NzY2FuQXBpVG9rZW46IHByb2Nlc3MuZW52LkJTQ19BUElfVE9LRU4sXG4gIHBvbHlnb25zY2FuQmFzZVVybDogJ2h0dHBzOi8vYXBpLmV0aGVyc2Nhbi5pby92MicsXG4gIHBvbHlnb25zY2FuQXBpVG9rZW46IHByb2Nlc3MuZW52LlBPTFlHT05TQ0FOX0FQSV9UT0tFTixcbiAgYXJiaXNjYW5CYXNlVXJsOiAnaHR0cHM6Ly9hcGkuZXRoZXJzY2FuLmlvL3YyJyxcbiAgYXJiaXNjYW5BcGlUb2tlbjogcHJvY2Vzcy5lbnYuQVJCSVNDQU5fQVBJX1RPS0VOLFxuICBvcHRpbWlzdGljRXRoZXJzY2FuQmFzZVVybDogJ2h0dHBzOi8vYXBpLmV0aGVyc2Nhbi5pby92MicsXG4gIG9wdGltaXN0aWNFdGhlcnNjYW5BcGlUb2tlbjogcHJvY2Vzcy5lbnYuT1BUSU1JU1RJQ19FVEhFUlNDQU5fQVBJX1RPS0VOLFxuICB6a3N5bmNFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2Jsb2NrLWV4cGxvcmVyLWFwaS5tYWlubmV0Lnprc3luYy5pbycsXG4gIHprc3luY0V4cGxvcmVyQXBpVG9rZW46IHByb2Nlc3MuZW52LlpLU1lOQ19FWFBMT1JFUl9BUElfVE9LRU4sXG4gIGJhc2VldGhFeHBsb3JlclVybDogJ2h0dHBzOi8vYXBpLmJhc2VzY2FuLm9yZycsIC8vQmFzZUVUSCBleHBsb3JlciBhcGkgdXJsXG4gIGJhc2VldGhBcGlUb2tlbjogcHJvY2Vzcy5lbnYuQkFTRVNDQU5fQVBJX1RPS0VOLFxuICBlb3NOb2RlVXJsczogWydodHRwczovL2JwLmNyeXB0b2xpb25zLmlvJywgJ2h0dHBzOi8vYXBpLmVvc25ld3lvcmsuaW8nLCAnaHR0cHM6Ly9hcGkuZW9zZGV0cm9pdC5pbyddLFxuICBuZWFyTm9kZVVybHM6IFsnaHR0cHM6Ly9hcGkuZmFzdG5lYXIuY29tJ10sXG4gIHNvbE5vZGVVcmw6ICdodHRwczovL2FwaS5tYWlubmV0LWJldGEuc29sYW5hLmNvbScsXG4gIHNvbEFsY2hlbXlOb2RlVXJsOiAnaHR0cHM6Ly9zb2xhbmEtbWFpbm5ldC5nLmFsY2hlbXkuY29tL3YyJyxcbiAgYWRhTm9kZVVybDogJ2h0dHBzOi8vYXBpLmtvaW9zLnJlc3QvYXBpL3YxJyxcbiAgaGFzaE5vZGVVcmw6ICdodHRwczovL2FwaS5wcm92ZW5hbmNlLmlvJyxcbiAgaW5qTm9kZVVybDogJ2h0dHBzOi8vc2VudHJ5LmxjZC5pbmplY3RpdmUubmV0d29yaycsIC8vIHJlZmVyZW5jZSBodHRwczovL2RvY3MuaW5qZWN0aXZlLm5ldHdvcmsvZGV2ZWxvcC9wdWJsaWMtZW5kcG9pbnRzL1xuICBhdG9tTm9kZVVybDogJ2h0dHBzOi8vcmVzdC5jb3Ntb3MuZGlyZWN0b3J5L2Nvc21vc2h1Yi8nLFxuICBvc21vTm9kZVVybDogJ2h0dHBzOi8vbGNkLm9zbW9zaXMuem9uZScsXG4gIHRpYU5vZGVVcmw6ICdodHRwczovL3B1YmxpYy1jZWxlc3RpYS1sY2QubnVtaWEueHl6JywgLy8gcmVmZXJlbmNlIGh0dHBzOi8vZG9jcy5jZWxlc3RpYS5vcmcvbm9kZXMvbWFpbm5ldCNhcGktZW5kcG9pbnRzXG4gIHNlaU5vZGVVcmw6ICdodHRwczovL3NlaS1hcGkucG9sa2FjaHUuY29tJyxcbiAgYmxkTm9kZVVybDogJ2h0dHBzOi8vYWdvcmljLWFwaS5wb2xrYWNodS5jb20nLFxuICBiZXJhTm9kZVVybDogJycsIC8vIFRPRE8oV0lOLTY5Myk6IHVwZGF0ZSB1cmwgd2hlbiBtYWlubmV0IGdvZXMgbGl2ZVxuICB6ZXRhTm9kZVVybDogJ2h0dHBzOi8vemV0YWNoYWluLmJsb2NrcGkubmV0d29yaycsIC8vIHJlZmVyZW5jZSBodHRwczovL3d3dy56ZXRhY2hhaW4uY29tL2RvY3MvcmVmZXJlbmNlL2FwaS9cbiAgY29yZXVtTm9kZVVybDogJ2h0dHBzOi8vZnVsbC1ub2RlLm1haW5uZXQtMS5jb3JldW0uZGV2OjEzMTcnLFxuICBydW5lTm9kZVVybDogJ2h0dHBzOi8vdGhvcm5vZGUubmluZXJlYWxtcy5jb20nLFxuICBiYWJ5Tm9kZVVybDogJ2h0dHBzOi8vYmFieWxvbi5ub2Rlcy5ndXJ1L2FwaS8nLFxuICBpc2xtTm9kZVVybDogJ2h0dHBzOi8vcmVzdC5jb3Ntb3MuaGFxcS5uZXR3b3JrJyxcbiAgbWFudHJhTm9kZVVybDogJ2h0dHBzOi8vbWFudHJhLXJlc3QucHVibGljbm9kZS5jb20vJyxcbiAgY3Jvbm9zTm9kZVVybDogJ2h0dHBzOi8vY3Jvbm9zLXBvcy1yZXN0LnB1YmxpY25vZGUuY29tLycsXG4gIGluaXRpYU5vZGVVcmw6ICdodHRwczovL3Jlc3QuaW5pdGlhLnh5ei8nLFxuICBhc2lOb2RlVXJsOiAnaHR0cHM6Ly9yZXN0LWZldGNoaHViLmZldGNoLmFpLycsXG4gIGRvdE5vZGVVcmxzOiBbJ3dzczovL2Fzc2V0LWh1Yi1wb2xrYWRvdC1ycGMubi5kd2VsbGlyLmNvbSddLFxuICBzdWJzdHJhdGVOb2RlVXJsczogWyd3c3M6Ly9lbnRyeXBvaW50LWZpbm5leS5vcGVudGVuc29yLmFpJ10sXG4gIHBvbHltZXNoTm9kZVVybHM6IFsnd3NzOi8vbWFpbm5ldC1ycGMucG9seW1lc2gubmV0d29yayddLFxuICB0cm9uTm9kZXM6IHtcbiAgICBmdWxsOiAnaHR0cHM6Ly9hcGkudHJvbmdyaWQuaW8nLFxuICAgIHNvbGlkaXR5OiAnaHR0cHM6Ly9hcGkudHJvbmdyaWQuaW8nLFxuICB9LFxuICBobWFjVmVyaWZpY2F0aW9uRW5mb3JjZWQ6IHRydWUsXG4gIHRvbk5vZGVVcmw6ICdodHRwczovL3RvbmNlbnRlci5jb20vYXBpL3YyL2pzb25SUEMnLFxuICBzdWlOb2RlVXJsOiAnaHR0cHM6Ly9mdWxsbm9kZS5tYWlubmV0LnN1aS5pbycsXG4gIGV0Y05vZGVVcmw6ICdodHRwczovL2V0Yy5ibG9ja3Njb3V0LmNvbScsXG4gIGNvcmVkYW9FeHBsb3JlckJhc2VVcmw6ICdodHRwczovL29wZW5hcGkuY29yZWRhby5vcmcnLFxuICBvYXNFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2V4cGxvcmVyLm9hc3lzLmdhbWVzJyxcbiAgZmxyRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9mbGFyZS1leHBsb3Jlci5mbGFyZS5uZXR3b3JrJyxcbiAgeGRjRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9hcGkuZXRoZXJzY2FuLmlvL3YyJyxcbiAgd2VtaXhFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2FwaS5ldGhlcnNjYW4uaW8vdjInLFxuICBzZ2JFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL3NvbmdiaXJkLWV4cGxvcmVyLmZsYXJlLm5ldHdvcmsnLFxuICBldm06IHtcbiAgICBhcGVjaGFpbjoge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vYXBpLmV0aGVyc2Nhbi5pby92MicsXG4gICAgfSxcbiAgICBwaHJzOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly90ZXN0bmV0LmRwbGFicy1pbnRlcm5hbC5jb20nLCAvLyBUT0RPOiBXSU4tNTc4NyBhZGQgbWFpbm5ldCB1cmwgd2hlbiBpdHMgYXZhaWxhYmxlXG4gICAgfSxcbiAgICBjdGM6IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL2NyZWRpdGNvaW4uYmxvY2tzY291dC5jb20nLFxuICAgIH0sXG4gICAgaHlwZWV2bToge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vYXBpLmV0aGVyc2Nhbi5pby92MicsXG4gICAgfSxcbiAgICBvZzoge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vY2hhaW5zY2FuLjBnLmFpL29wZW4nLFxuICAgIH0sXG4gICAgeHBsOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9hcGkucm91dGVzY2FuLmlvL3YyL25ldHdvcmsvbWFpbm5ldC9ldm0vOTc0NS9ldGhlcnNjYW4nLFxuICAgIH0sXG4gICAgc29uaWM6IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL2FwaS5ldGhlcnNjYW4uaW8vdjInLFxuICAgIH0sXG4gICAgc2VpZXZtOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9hcGkuZXRoZXJzY2FuLmlvL3YyJyxcbiAgICB9LFxuICAgIGthaWE6IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL21haW5uZXQtb2FwaS5rYWlhc2Nhbi5pbycsXG4gICAgfSxcbiAgICBrYXZhZXZtOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9hcGkudmVyaWZ5Lm1pbnRzY2FuLmlvL2V2bS9hcGkvMHg4YWUnLFxuICAgIH0sXG4gICAgaXJ5czoge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vdGVzdG5ldC1ycGMuaXJ5cy54eXovdjEvZXhlY3V0aW9uLXJwYycsIC8vVE9ETzogV0lOLTYxOTEgYWRkIG1haW5uZXQgdXJsIHdoZW4gYXZhaWxhYmxlXG4gICAgfSxcbiAgICBtb246IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL2FwaS5ldGhlcnNjYW4uaW8vdjInLFxuICAgIH0sXG4gICAgbGluZWFldGg6IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL2FwaS5ldGhlcnNjYW4uaW8vdjInLFxuICAgIH0sXG4gICAgaXA6IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL3d3dy5zdG9yeXNjYW4uaW8nLFxuICAgIH0sXG4gICAgc29taToge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vbWFpbm5ldC5zb21uaWEudzN1cy5zaXRlJyxcbiAgICB9LFxuICAgIGJhc2VldGg6IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL2FwaS5ldGhlcnNjYW4uaW8vdjInLFxuICAgIH0sXG4gICAgZmxvdzoge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vZXZtLmZsb3dzY2FuLmlvJyxcbiAgICB9LFxuICAgIHBsdW1lOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9leHBsb3Jlci5wbHVtZS5vcmcnLFxuICAgIH0sXG4gICAgbWVnYWV0aDoge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vY2Fycm90Lm1lZ2FldGguY29tL3JwYycsIC8vVE9ETzogYWRkIG1haW5uZXQgdXJsIHdoZW4gYXZhaWxhYmxlXG4gICAgfSxcbiAgICBoYmFyZXZtOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9tYWlubmV0Lm1pcnJvcm5vZGUuaGVkZXJhLmNvbS9hcGkvdjEnLFxuICAgICAgcnBjVXJsOiAnaHR0cHM6Ly9tYWlubmV0Lmhhc2hpby5pby9hcGknLFxuICAgIH0sXG4gICAgZmx1ZW50ZXRoOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly90ZXN0bmV0LmZsdWVudHNjYW4ueHl6L2FwaS8nLCAvL1RPRE86IENPSU4tNjQ3ODogYWRkIG1haW5uZXQgdXJsIHdoZW4gYXZhaWxhYmxlXG4gICAgfSxcbiAgICBtYW50bGU6IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL2FwaS5tYW50bGVzY2FuLnh5ei9hcGknLFxuICAgIH0sXG4gIH0sXG4gIGljcE5vZGVVcmw6ICdodHRwczovL2ljMC5hcHAnLFxuICB3b3JsZEV4cGxvcmVyQmFzZVVybDogJ2h0dHBzOi8vd29ybGRzY2FuLm9yZy8nLFxuICBzb21uaWFFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL21haW5uZXQuc29tbmlhLnczdXMuc2l0ZS8nLFxuICBzb25laXVtRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9zb25laXVtLmJsb2Nrc2NvdXQuY29tJyxcbiAgbW9uRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9hcGkuZXRoZXJzY2FuLmlvL3YyJyxcbiAgc3R4Tm9kZVVybDogJ2h0dHBzOi8vYXBpLmhpcm8uc28nLFxuICB2ZXROb2RlVXJsOiAnaHR0cHM6Ly9zeW5jLW1haW5uZXQudmVjaGFpbi5vcmcnLFxuICB4dHpFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2FwaS50emt0LmlvJyxcbiAgeHR6UnBjVXJsOiAnaHR0cHM6Ly9ycGMudHprdC5pby9tYWlubmV0Jyxcbn07XG5cbmNvbnN0IHRlc3RuZXRCYXNlOiBFbnZpcm9ubWVudFRlbXBsYXRlID0ge1xuICBuZXR3b3JrOiAndGVzdG5ldCcgYXMgVjFOZXR3b3JrLFxuICBzaWduaW5nQWRkcmVzczogJ21zaWduQmRGWHRlZWhERWdCNkRObTducFJ0N0FjRVpKUDMnLFxuICBzZXJ2ZXJYcHViOiBoYXJkY29kZWRQdWJsaWNLZXlzLnNlcnZlclhwdWIudGVzdCxcbiAgaHNtWHB1YjogaGFyZGNvZGVkUHVibGljS2V5cy5oc21YcHViLnRlc3QsXG4gIGJ0Y0V4cGxvcmVyQmFzZVVybDogJ2h0dHBzOi8vYmxvY2tzdHJlYW0uaW5mby90ZXN0bmV0L2FwaScsXG4gIGV0aGVyc2NhbkJhc2VVcmw6ICdodHRwczovL2FwaS5ldGhlcnNjYW4uaW8vdjInLFxuICBldGhlcnNjYW5BcGlUb2tlbjogcHJvY2Vzcy5lbnYuRVRIRVJTQ0FOX0FQSV9UT0tFTixcbiAgYXZheGNOZXR3b3JrQmFzZVVybDogJ2h0dHBzOi8vYXBpLmF2YXgtdGVzdC5uZXR3b3JrJyxcbiAgZXRoMkV4cGxvcmVyQmFzZVVybDogJ2h0dHBzOi8vYmVhY29uc2Nhbi5jb20vYXBpJyxcbiAgZXRod0Z1bGxOb2RlUlBDQmFzZVVybDogJ2h0dHBzOi8vbWFpbm5ldC5ldGhlcmV1bXBvdy5vcmcnLFxuICBwb2x5Z29uc2NhbkJhc2VVcmw6ICdodHRwczovL2FwaS5ldGhlcnNjYW4uaW8vdjInLFxuICBwb2x5Z29uc2NhbkFwaVRva2VuOiBwcm9jZXNzLmVudi5QT0xZR09OU0NBTl9BUElfVE9LRU4sXG4gIGJzY3NjYW5CYXNlVXJsOiAnaHR0cHM6Ly9hcGkuZXRoZXJzY2FuLmlvL3YyJyxcbiAgYnNjc2NhbkFwaVRva2VuOiBwcm9jZXNzLmVudi5CU0NfQVBJX1RPS0VOLFxuICBhcmJpc2NhbkJhc2VVcmw6ICdodHRwczovL2FwaS5ldGhlcnNjYW4uaW8vdjInLFxuICBhcmJpc2NhbkFwaVRva2VuOiBwcm9jZXNzLmVudi5BUkJJU0NBTl9BUElfVE9LRU4sXG4gIG9wdGltaXN0aWNFdGhlcnNjYW5CYXNlVXJsOiAnaHR0cHM6Ly9hcGkuZXRoZXJzY2FuLmlvL3YyJyxcbiAgb3B0aW1pc3RpY0V0aGVyc2NhbkFwaVRva2VuOiBwcm9jZXNzLmVudi5PUFRJTUlTVElDX0VUSEVSU0NBTl9BUElfVE9LRU4sXG4gIHprc3luY0V4cGxvcmVyQmFzZVVybDogJ2h0dHBzOi8vYmxvY2stZXhwbG9yZXItYXBpLnNlcG9saWEuemtzeW5jLmRldicsXG4gIHprc3luY0V4cGxvcmVyQXBpVG9rZW46IHByb2Nlc3MuZW52LlpLU1lOQ19FWFBMT1JFUl9BUElfVE9LRU4sXG4gIGJhc2VldGhFeHBsb3JlclVybDogJ2h0dHBzOi8vYXBpLXNlcG9saWEuYmFzZXNjYW4ub3JnJyxcbiAgYmFzZWV0aEFwaVRva2VuOiBwcm9jZXNzLmVudi5CQVNFU0NBTl9BUElfVE9LRU4sXG4gIC8vIGt5bGluIGVvcyBlbmRwb2ludHMgZm91bmQgaGVyZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vY3J5cHRva3lsaW4vQ3J5cHRvS3lsaW4tVGVzdG5ldCNodHRwLWFwaS1saXN0XG4gIC8vIGh0dHBzOi8vZG9jcy5saXF1aWRhcHBzLmlvL2xpcXVpZGFwcHMtZG9jdW1lbnRhdGlvbi9lb3Npby1ndWlkZXMvdGVzdG5ldC1jcmVhdGlvbi1ndWlkZXMvY3JlYXRpbmctY3J5cHRva3lsaW4tYWNjb3VudCNzZXR1cFxuICBlb3NOb2RlVXJsczogWydodHRwczovL2t5bGluLmVvc24uaW8nLCAnaHR0cHM6Ly9hcGkua3lsaW4uYWxvaGFlb3MuY29tJ10sXG4gIG5lYXJOb2RlVXJsczogWydodHRwczovL3Rlc3QucnBjLmZhc3RuZWFyLmNvbSddLFxuICBzb2xOb2RlVXJsOiAnaHR0cHM6Ly9hcGkuZGV2bmV0LnNvbGFuYS5jb20nLFxuICBzb2xBbGNoZW15Tm9kZVVybDogJ2h0dHBzOi8vc29sYW5hLWRldm5ldC5nLmFsY2hlbXkuY29tL3YyJyxcbiAgYWRhTm9kZVVybDogJ2h0dHBzOi8vcHJlcHJvZC5rb2lvcy5yZXN0L2FwaS92MScsXG4gIGhhc2hOb2RlVXJsOiAnaHR0cHM6Ly9hcGkudGVzdC5wcm92ZW5hbmNlLmlvJyxcbiAgaW5qTm9kZVVybDogJ2h0dHBzOi8vdGVzdG5ldC5zZW50cnkubGNkLmluamVjdGl2ZS5uZXR3b3JrJywgLy8gQ09JTi0xMjE5IDogcmVmZXJlbmNlICBodHRwczovL2RvY3MuaW5qZWN0aXZlLm5ldHdvcmsvZGV2ZWxvcC9wdWJsaWMtZW5kcG9pbnRzLyN0ZXN0bmV0XG4gIGF0b21Ob2RlVXJsOiAnaHR0cHM6Ly9yZXN0LnByb3ZpZGVyLXNlbnRyeS0wMi5pY3MtdGVzdG5ldC5wb2x5cG9yZS54eXovJyxcbiAgb3Ntb05vZGVVcmw6ICdodHRwczovL2xjZC5vc21vdGVzdDUub3Ntb3Npcy56b25lJyxcbiAgdGlhTm9kZVVybDogJ2h0dHBzOi8vYXBpLW1vY2hhLnBvcHMub25lJyxcbiAgc2VpTm9kZVVybDogJ2h0dHBzOi8vcmVzdC5hdGxhbnRpYy0yLnNlaW5ldHdvcmsuaW8nLFxuICBibGROb2RlVXJsOiAnaHR0cHM6Ly9kZXZuZXQuYXBpLmFnb3JpYy5uZXQnLFxuICBiZXJhTm9kZVVybDogJycsIC8vIFRPRE8oV0lOLTY5Myk6IHVwZGF0ZSB1cmwgd2hlbiB0ZXN0bmV0IGdvZXMgbGl2ZVxuICB6ZXRhTm9kZVVybDogJ2h0dHBzOi8vcmVzdC5ub2RlanVtcGVyLmlvL3pldGFjaGFpbnRlc3RuZXQnLCAvLyByZWZlcmVuY2UgOiBodHRwczovL3d3dy56ZXRhY2hhaW4uY29tL2RvY3MvcmVmZXJlbmNlL2FwaS9cbiAgY29yZXVtTm9kZVVybDogJ2h0dHBzOi8vZnVsbC1ub2RlLnRlc3RuZXQtMS5jb3JldW0uZGV2OjEzMTcnLFxuICBydW5lTm9kZVVybDogJ2h0dHBzOi8vc3RhZ2VuZXQtdGhvcm5vZGUubmluZXJlYWxtcy5jb20nLFxuICBiYWJ5Tm9kZVVybDogJ2h0dHBzOi8vYmFieWxvbi10ZXN0bmV0LWFwaS5ub2Rlcy5ndXJ1LycsXG4gIGlzbG1Ob2RlVXJsOiAnaHR0cHM6Ly9yZXN0LmNvc21vcy50ZXN0ZWRnZTIuaGFxcS5uZXR3b3JrICcsXG4gIG1hbnRyYU5vZGVVcmw6ICdodHRwczovL21hbnRyYS10ZXN0bmV0LXJlc3QucHVibGljbm9kZS5jb20vJyxcbiAgY3Jvbm9zTm9kZVVybDogJ2h0dHBzOi8vdGVzdG5ldC1jcm9lc2VpZC00LmNyeXB0by5vcmc6MTMxNy8nLFxuICBpbml0aWFOb2RlVXJsOiAnaHR0cHM6Ly9yZXN0LnRlc3RuZXQuaW5pdGlhLnh5ei8nLFxuICBhc2lOb2RlVXJsOiAnaHR0cHM6Ly9yZXN0LWRvcmFkby5mZXRjaC5haS8nLFxuICBkb3ROb2RlVXJsczogWyd3c3M6Ly9hc3NldC1odWItd2VzdGVuZC1ycGMubi5kd2VsbGlyLmNvbSddLFxuICBzdWJzdHJhdGVOb2RlVXJsczogWyd3c3M6Ly90ZXN0LmZpbm5leS5vcGVudGVuc29yLmFpJ10sXG4gIHBvbHltZXNoTm9kZVVybHM6IFsnd3NzOi8vdGVzdG5ldC1ycGMucG9seW1lc2gubGl2ZSddLFxuICB0cm9uTm9kZXM6IHtcbiAgICBmdWxsOiAnaHR0cHM6Ly9hcGkuc2hhc3RhLnRyb25ncmlkLmlvJyxcbiAgICBzb2xpZGl0eTogJ2h0dHBzOi8vYXBpLnNoYXN0YS50cm9uZ3JpZC5pbycsXG4gIH0sXG4gIGhtYWNWZXJpZmljYXRpb25FbmZvcmNlZDogZmFsc2UsXG4gIHRvbk5vZGVVcmw6ICdodHRwczovL3Rlc3RuZXQudG9uY2VudGVyLmNvbS9hcGkvdjIvanNvblJQQycsXG4gIHN1aU5vZGVVcmw6ICdodHRwczovL2Z1bGxub2RlLnRlc3RuZXQuc3VpLmlvJyxcbiAgZXRjTm9kZVVybDogJ2h0dHBzOi8vZXRjLW1vcmRvci5ibG9ja3Njb3V0LmNvbScsXG4gIGNvcmVkYW9FeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2FwaS50ZXN0Mi5idGNzLm5ldHdvcmsnLFxuICBvYXNFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2V4cGxvcmVyLnRlc3RuZXQub2FzeXMuZ2FtZXMnLFxuICB3ZW1peEV4cGxvcmVyQmFzZVVybDogJ2h0dHBzOi8vYXBpLmV0aGVyc2Nhbi5pby92MicsXG4gIGZsckV4cGxvcmVyQmFzZVVybDogJ2h0dHBzOi8vY29zdG9uMi1leHBsb3Jlci5mbGFyZS5uZXR3b3JrJyxcbiAgeGRjRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9hcGkuZXRoZXJzY2FuLmlvL3YyJyxcbiAgc2diRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9jb3N0b24tZXhwbG9yZXIuZmxhcmUubmV0d29yaycsXG4gIGljcE5vZGVVcmw6ICdodHRwczovL2V4Y2hhbmdlcy50ZXN0bmV0LmRmaW5pdHkubmV0d29yaycsXG4gIG1vbkV4cGxvcmVyQmFzZVVybDogJ2h0dHBzOi8vYXBpLmV0aGVyc2Nhbi5pby92MicsXG4gIHdvcmxkRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9zZXBvbGlhLndvcmxkc2Nhbi5vcmcvJyxcbiAgc29tbmlhRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9zaGFubm9uLWV4cGxvcmVyLnNvbW5pYS5uZXR3b3JrLycsXG4gIHNvbmVpdW1FeHBsb3JlckJhc2VVcmw6ICdodHRwczovL3NvbmVpdW0tbWluYXRvLmJsb2Nrc2NvdXQuY29tJyxcbiAgZXZtOiB7XG4gICAgYXBlY2hhaW46IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL2FwaS5ldGhlcnNjYW4uaW8vdjInLFxuICAgIH0sXG4gICAgcGhyczoge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vdGVzdG5ldC5kcGxhYnMtaW50ZXJuYWwuY29tJywgLy8gV3JvbmcgdmFsdWUsIE5vdCBhdmFpbGFibGUgeWV0XG4gICAgfSxcbiAgICBjdGM6IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL2NyZWRpdGNvaW4tdGVzdG5ldC5ibG9ja3Njb3V0LmNvbScsXG4gICAgfSxcbiAgICBoeXBlZXZtOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9ycGMuaHlwZXJsaXF1aWQtdGVzdG5ldC54eXovZXZtJywgLy8gTm90IEF2YWlsYWJsZVxuICAgIH0sXG4gICAgb2c6IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL2NoYWluc2Nhbi10ZXN0LjBnLmFpL29wZW4nLFxuICAgIH0sXG4gICAgeHBsOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9hcGkucm91dGVzY2FuLmlvL3YyL25ldHdvcmsvdGVzdG5ldC9ldm0vOTc0Nl81L2V0aGVyc2NhbicsXG4gICAgfSxcbiAgICBzb25pYzoge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vYXBpLmV0aGVyc2Nhbi5pby92MicsXG4gICAgfSxcbiAgICBzZWlldm06IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL2FwaS5ldGhlcnNjYW4uaW8vdjInLFxuICAgIH0sXG4gICAga2FpYToge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8va2Fpcm9zLW9hcGkua2FpYXNjYW4uaW8nLFxuICAgIH0sXG4gICAga2F2YWV2bToge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vYXBpLnZlcmlmeS5taW50c2Nhbi5pby9ldm0vYXBpLzB4OGFkJyxcbiAgICB9LFxuICAgIGlyeXM6IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL2luc3QtMS5jbG91ZC5ibG9ja3Njb3V0LmNvbScsXG4gICAgfSxcbiAgICBtb246IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL2FwaS5ldGhlcnNjYW4uaW8vdjInLFxuICAgIH0sXG4gICAgbGluZWFldGg6IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL2FwaS5ldGhlcnNjYW4uaW8vdjInLFxuICAgIH0sXG4gICAgaXA6IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL2FlbmVpZC5zdG9yeXNjYW4uaW8nLFxuICAgIH0sXG4gICAgdGJhc2VldGg6IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL2FwaS5ldGhlcnNjYW4uaW8vdjInLFxuICAgIH0sXG4gICAgZmxvdzoge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vZXZtLXRlc3RuZXQuZmxvd3NjYW4uaW8nLFxuICAgIH0sXG4gICAgbWVnYWV0aDoge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vbWVnYWV0aC10ZXN0bmV0LmJsb2Nrc2NvdXQuY29tJyxcbiAgICB9LFxuICAgIHBsdW1lOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly90ZXN0bmV0LWV4cGxvcmVyLnBsdW1lLm9yZycsXG4gICAgfSxcbiAgICBoYmFyZXZtOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly90ZXN0bmV0Lm1pcnJvcm5vZGUuaGVkZXJhLmNvbS9hcGkvdjEnLFxuICAgICAgcnBjVXJsOiAnaHR0cHM6Ly90ZXN0bmV0Lmhhc2hpby5pby9hcGknLFxuICAgIH0sXG4gICAgZmx1ZW50ZXRoOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly90ZXN0bmV0LmZsdWVudHNjYW4ueHl6L2FwaS8nLFxuICAgIH0sXG4gICAgbWFudGxlOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9hcGktc2Vwb2xpYS5tYW50bGVzY2FuLnh5ei9hcGknLFxuICAgIH0sXG4gIH0sXG4gIHN0eE5vZGVVcmw6ICdodHRwczovL2FwaS50ZXN0bmV0Lmhpcm8uc28nLFxuICB2ZXROb2RlVXJsOiAnaHR0cHM6Ly9zeW5jLXRlc3RuZXQudmVjaGFpbi5vcmcnLFxuICB4dHpFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2FwaS5naG9zdG5ldC50emt0LmlvJyxcbiAgeHR6UnBjVXJsOiAnaHR0cHM6Ly9ycGMudHprdC5pby9naG9zdG5ldCcsXG59O1xuXG5jb25zdCBkZXZCYXNlOiBFbnZpcm9ubWVudFRlbXBsYXRlID0gT2JqZWN0LmFzc2lnbih7fSwgdGVzdG5ldEJhc2UsIHtcbiAgaHNtWHB1YjogaGFyZGNvZGVkUHVibGljS2V5cy5oc21YcHViLmRldixcbiAgaG1hY1ZlcmlmaWNhdGlvbkVuZm9yY2VkOiBmYWxzZSxcbn0pO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVkZWNsYXJlXG5leHBvcnQgY29uc3QgRW52aXJvbm1lbnRzOiBFbnZpcm9ubWVudHMgPSB7XG4gIHByb2Q6IE9iamVjdC5hc3NpZ24oe30sIG1haW5uZXRCYXNlLCB7XG4gICAgdXJpOiAnaHR0cHM6Ly9hcHAuYml0Z28uY29tJyxcbiAgICBzdGVsbGFyRmVkZXJhdGlvblNlcnZlclVybDogJ2h0dHBzOi8vYXBwLmJpdGdvLmNvbS9hcGkvdjIveGxtL2ZlZGVyYXRpb24nLFxuICB9KSxcbiAgdGVzdDogT2JqZWN0LmFzc2lnbih7fSwgdGVzdG5ldEJhc2UsIHtcbiAgICB1cmk6ICdodHRwczovL2FwcC5iaXRnby10ZXN0LmNvbScsXG4gICAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw6ICdodHRwczovL2FwcC5iaXRnby10ZXN0LmNvbS9hcGkvdjIvdHhsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG4gIGRldjogT2JqZWN0LmFzc2lnbih7fSwgZGV2QmFzZSwge1xuICAgIHVyaTogJ2h0dHBzOi8vYXBwLmJpdGdvLWRldi5jb20nLFxuICAgIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOiAnaHR0cHM6Ly9hcHAuYml0Z28tZGV2LmNvbS9hcGkvdjIvdHhsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG4gIHN0YWdpbmc6IE9iamVjdC5hc3NpZ24oe30sIHRlc3RuZXRCYXNlLCB7XG4gICAgdXJpOiAnaHR0cHM6Ly9hcHAuYml0Z28tc3RhZ2luZy5jb20nLFxuICAgIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOiAnaHR0cHM6Ly9hcHAuYml0Z28tc3RhZ2luZy5jb20vYXBpL3YyL3R4bG0vZmVkZXJhdGlvbicsXG4gIH0pLFxuICBsb2NhbDogT2JqZWN0LmFzc2lnbih7fSwgZGV2QmFzZSwge1xuICAgIHVyaTogJ2h0dHBzOi8vbG9jYWxob3N0OjMwMDAnLFxuICAgIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOiAnaHR0cHM6Ly9sb2NhbGhvc3Q6MzAwMC9hcGkvdjIvdHhsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG4gIGxvY2FsTm9uU2VjdXJlOiBPYmplY3QuYXNzaWduKHt9LCBkZXZCYXNlLCB7XG4gICAgdXJpOiAnaHR0cDovL2xvY2FsaG9zdDozMDAwJyxcbiAgICBzdGVsbGFyRmVkZXJhdGlvblNlcnZlclVybDogJ2h0dHA6Ly9sb2NhbGhvc3Q6MzAwMC9hcGkvdjIvdHhsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG4gIG1vY2s6IE9iamVjdC5hc3NpZ24oe30sIGRldkJhc2UsIHtcbiAgICB1cmk6ICdodHRwczovL2JpdGdvLmZha2V1cmwnLFxuICAgIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOiAnaHR0cHM6Ly9iaXRnby5mYWtldXJsL2FwaS92Mi90eGxtL2ZlZGVyYXRpb24nLFxuICAgIGV0aGVyc2NhbkJhc2VVcmw6ICdodHRwczovL2FwaS1ob29kaS5ldGhlcnNjYW4uZmFrZXVybCcsXG4gICAgZXRoZXJzY2FuQXBpVG9rZW46IHByb2Nlc3MuZW52LkVUSEVSU0NBTl9BUElfVE9LRU4sXG4gICAgYXZheGNOZXR3b3JrQmFzZVVybDogJ2h0dHBzOi8vYXBpLmF2YXgtdGVzdC5uZXR3b3JrLmZha2V1cmwnLFxuICAgIGV0aDJFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2JlYWNvbnNjYW4uY29tL2FwaScsXG4gIH0pLFxuICBhZG1pblByb2Q6IE9iamVjdC5hc3NpZ24oe30sIG1haW5uZXRCYXNlLCB7XG4gICAgdXJpOiAnaHR0cHM6Ly9hZG1pbi5iaXRnby5jb20nLFxuICAgIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOiAnaHR0cHM6Ly9hZG1pbi5iaXRnby5jb20vYXBpL3YyL3hsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG4gIGFkbWluVGVzdDogT2JqZWN0LmFzc2lnbih7fSwgdGVzdG5ldEJhc2UsIHtcbiAgICB1cmk6ICdodHRwczovL2FkbWluLmJpdGdvLXRlc3QuY29tJyxcbiAgICBzdGVsbGFyRmVkZXJhdGlvblNlcnZlclVybDogJ2h0dHBzOi8vYWRtaW4uYml0Z28tdGVzdC5jb20vYXBpL3YyL3R4bG0vZmVkZXJhdGlvbicsXG4gIH0pLFxuICBhZG1pbkRldjogT2JqZWN0LmFzc2lnbih7fSwgZGV2QmFzZSwge1xuICAgIHVyaTogJ2h0dHBzOi8vYWRtaW4uYml0Z28tZGV2LmNvbScsXG4gICAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw6ICdodHRwczovL2FkbWluLmJpdGdvLWRldi5jb20vYXBpL3YyL3R4bG0vZmVkZXJhdGlvbicsXG4gIH0pLFxuICBhZG1pblN0YWdpbmc6IE9iamVjdC5hc3NpZ24oe30sIHRlc3RuZXRCYXNlLCB7XG4gICAgdXJpOiAnaHR0cHM6Ly9hZG1pbi5iaXRnby1zdGFnaW5nLmNvbScsXG4gICAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw6ICdodHRwczovL2FkbWluLmJpdGdvLXN0YWdpbmcuY29tL2FwaS92Mi94bG0vZmVkZXJhdGlvbicsXG4gIH0pLFxuICBjdXN0b206IE9iamVjdC5hc3NpZ24oe30sIG1haW5uZXRCYXNlLCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cbiAgICB1cmk6IHByb2Nlc3MuZW52LkJJVEdPX0NVU1RPTV9ST09UX1VSSSEsXG4gICAgbmV0d29yazogcHJvY2Vzcy5lbnYuQklUR09fQ1VTVE9NX0JJVENPSU5fTkVUV09SSyBhcyBWMU5ldHdvcmssXG4gICAgaHNtWHB1YjpcbiAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicgPyBoYXJkY29kZWRQdWJsaWNLZXlzLmhzbVhwdWIucHJvZCA6IGhhcmRjb2RlZFB1YmxpY0tleXMuaHNtWHB1Yi50ZXN0LFxuICAgIGJ0Y0V4cGxvcmVyQmFzZVVybDpcbiAgICAgIHByb2Nlc3MuZW52LkJJVEdPX0NVU1RPTV9CSVRDT0lOX05FVFdPUksgIT09ICdiaXRjb2luJ1xuICAgICAgICA/ICdodHRwczovL2Jsb2Nrc3RyZWFtLmluZm8vdGVzdG5ldC9hcGknXG4gICAgICAgIDogJ2h0dHBzOi8vYmxvY2tzdHJlYW0uaW5mby9hcGknLFxuICAgIGV0aGVyc2NhbkJhc2VVcmw6XG4gICAgICBwcm9jZXNzLmVudi5CSVRHT19DVVNUT01fRVRIRVJFVU1fTkVUV09SSyAhPT0gJ2V0aGVyZXVtJ1xuICAgICAgICA/ICdodHRwczovL2FwaS1ob29kaS5ldGhlcnNjYW4uaW8nXG4gICAgICAgIDogJ2h0dHBzOi8vYXBpLmV0aGVyc2Nhbi5pbycsXG4gICAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw6XG4gICAgICBwcm9jZXNzLmVudi5CSVRHT19DVVNUT01fU1RFTExBUl9ORVRXT1JLICE9PSAnc3RlbGxhcidcbiAgICAgICAgPyBgaHR0cHM6Ly8ke3Byb2Nlc3MuZW52LkJJVEdPX0NVU1RPTV9ST09UX1VSSX0vYXBpL3YyL3R4bG0vZmVkZXJhdGlvbmBcbiAgICAgICAgOiBgaHR0cHM6Ly8ke3Byb2Nlc3MuZW52LkJJVEdPX0NVU1RPTV9ST09UX1VSSX0vYXBpL3YyL3hsbS9mZWRlcmF0aW9uYCxcbiAgICBzZXJ2ZXJYcHViOlxuICAgICAgcHJvY2Vzcy5lbnYuQklUR09fQ1VTVE9NX0JJVENPSU5fTkVUV09SSyAhPT0gJ2JpdGNvaW4nXG4gICAgICAgID8gaGFyZGNvZGVkUHVibGljS2V5cy5zZXJ2ZXJYcHViLnRlc3RcbiAgICAgICAgOiBoYXJkY29kZWRQdWJsaWNLZXlzLnNlcnZlclhwdWIucHJvZCxcbiAgfSksXG4gIGJyYW5jaDogT2JqZWN0LmFzc2lnbih7fSwgZGV2QmFzZSwge1xuICAgIHVyaTogJ2h0dHBzOi8vYXBwLmJpdGdvLWRldi5jb20nLFxuICAgIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOiAnaHR0cHM6Ly9hcHAuYml0Z28tZGV2LmNvbS9hcGkvdjIvdHhsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG59O1xuIl19
|
|
393
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JpdGdvL2Vudmlyb25tZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFpSGEsUUFBQSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQy9DLFVBQVUsRUFBRTtRQUNWLElBQUksRUFBRSxpSEFBaUg7UUFDdkgsSUFBSSxFQUFFLGlIQUFpSDtLQUN4SDtJQUNELE9BQU8sRUFBRTtRQUNQLElBQUksRUFBRSxpSEFBaUg7UUFDdkgsSUFBSSxFQUFFLGlIQUFpSDtRQUN2SCxHQUFHLEVBQUUsaUhBQWlIO0tBQ3ZIO0NBQ0YsQ0FBQyxDQUFDO0FBcUJILHdGQUF3RjtBQUMzRSxRQUFBLGlCQUFpQixHQUFxRDtJQUNqRixVQUFVLEVBQUUsTUFBTTtJQUNsQixNQUFNLEVBQUUsTUFBTTtJQUNkLE1BQU0sRUFBRSxNQUFNO0lBQ2QsS0FBSyxFQUFFLEtBQUs7Q0FDYixDQUFDO0FBRUYsTUFBTSxXQUFXLEdBQXdCO0lBQ3ZDLE9BQU8sRUFBRSxTQUFzQjtJQUMvQixjQUFjLEVBQUUsb0NBQW9DO0lBQ3BELFVBQVUsRUFBRSwyQkFBbUIsQ0FBQyxVQUFVLENBQUMsSUFBSTtJQUMvQyxPQUFPLEVBQUUsMkJBQW1CLENBQUMsT0FBTyxDQUFDLElBQUk7SUFDekMsa0JBQWtCLEVBQUUsOEJBQThCO0lBQ2xELGdCQUFnQixFQUFFLDZCQUE2QjtJQUMvQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQjtJQUNsRCxtQkFBbUIsRUFBRSwwQkFBMEI7SUFDL0MsbUJBQW1CLEVBQUUsNEJBQTRCO0lBQ2pELHNCQUFzQixFQUFFLGlDQUFpQztJQUN6RCxjQUFjLEVBQUUsNkJBQTZCO0lBQzdDLGVBQWUsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWE7SUFDMUMsa0JBQWtCLEVBQUUsNkJBQTZCO0lBQ2pELG1CQUFtQixFQUFF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LE1BQU0sQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFO1FBQ2pDLEdBQUcsRUFBRSwyQkFBMkI7UUFDaEMsMEJBQTBCLEVBQUUsa0RBQWtEO0tBQy9FLENBQUM7Q0FDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IHsgVjFOZXR3b3JrIH0gZnJvbSAnLi90eXBlcyc7XG5cbmludGVyZmFjZSBFbnZpcm9ubWVudFRlbXBsYXRlIHtcbiAgdXJpPzogc3RyaW5nO1xuICBuZXR3b3JrOiBWMU5ldHdvcms7XG4gIHNpZ25pbmdBZGRyZXNzOiBzdHJpbmc7XG4gIHNlcnZlclhwdWI6IHN0cmluZztcbiAgaHNtWHB1Yjogc3RyaW5nO1xuICBidGNFeHBsb3JlckJhc2VVcmw6IHN0cmluZztcbiAgZXRoZXJzY2FuQmFzZVVybDogc3RyaW5nO1xuICBldGhlcnNjYW5BcGlUb2tlbj86IHN0cmluZztcbiAgYXZheGNOZXR3b3JrQmFzZVVybDogc3RyaW5nO1xuICBldGgyRXhwbG9yZXJCYXNlVXJsOiBzdHJpbmc7XG4gIGV0aHdGdWxsTm9kZVJQQ0Jhc2VVcmw6IHN0cmluZztcbiAgcG9seWdvbnNjYW5CYXNlVXJsPzogc3RyaW5nO1xuICBic2NzY2FuQmFzZVVybD86IHN0cmluZztcbiAgYnNjc2NhbkFwaVRva2VuPzogc3RyaW5nO1xuICBwb2x5Z29uc2NhbkFwaVRva2VuPzogc3RyaW5nO1xuICBhcGVjaGFpbkV4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIGFwZWNoYWluRXhwbG9yZXJCYXNlVXJsPzogc3RyaW5nO1xuICBhcmJpc2NhbkJhc2VVcmw/OiBzdHJpbmc7XG4gIGFyYmlzY2FuQXBpVG9rZW4/OiBzdHJpbmc7XG4gIG9hc0V4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIG9hc0V4cGxvcmVyQmFzZVVybD86IHN0cmluZztcbiAgb3B0aW1pc3RpY0V0aGVyc2NhbkJhc2VVcmw/OiBzdHJpbmc7XG4gIG9wdGltaXN0aWNFdGhlcnNjYW5BcGlUb2tlbj86IHN0cmluZztcbiAgemtzeW5jRXhwbG9yZXJCYXNlVXJsPzogc3RyaW5nO1xuICB6a3N5bmNFeHBsb3JlckFwaVRva2VuPzogc3RyaW5nO1xuICBiZXJhRXhwbG9yZXJCYXNlVXJsPzogc3RyaW5nO1xuICBiZXJhRXhwbG9yZXJBcGlUb2tlbj86IHN0cmluZztcbiAgYmFzZWV0aEV4cGxvcmVyVXJsPzogc3RyaW5nO1xuICBiYXNlZXRoQXBpVG9rZW4/OiBzdHJpbmc7XG4gIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsPzogc3RyaW5nO1xuICBlb3NOb2RlVXJsczogc3RyaW5nW107XG4gIG5lYXJOb2RlVXJsczogc3RyaW5nW107XG4gIHNvbE5vZGVVcmw6IHN0cmluZztcbiAgc29sQWxjaGVteU5vZGVVcmw6IHN0cmluZztcbiAgYWRhTm9kZVVybDogc3RyaW5nO1xuICBoYXNoTm9kZVVybDogc3RyaW5nO1xuICBpbmpOb2RlVXJsOiBzdHJpbmc7XG4gIGF0b21Ob2RlVXJsOiBzdHJpbmc7XG4gIG9zbW9Ob2RlVXJsOiBzdHJpbmc7XG4gIHRpYU5vZGVVcmw6IHN0cmluZztcbiAgc2VpTm9kZVVybDogc3RyaW5nO1xuICBibGROb2RlVXJsOiBzdHJpbmc7XG4gIGJlcmFOb2RlVXJsOiBzdHJpbmc7XG4gIHpldGFOb2RlVXJsOiBzdHJpbmc7XG4gIGNvcmV1bU5vZGVVcmw6IHN0cmluZztcbiAgcnVuZU5vZGVVcmw6IHN0cmluZztcbiAgYmFieU5vZGVVcmw6IHN0cmluZztcbiAgbWFudHJhTm9kZVVybDogc3RyaW5nO1xuICBjcm9ub3NOb2RlVXJsOiBzdHJpbmc7XG4gIGluaXRpYU5vZGVVcmw6IHN0cmluZztcbiAgYXNpTm9kZVVybDogc3RyaW5nO1xuICBpc2xtTm9kZVVybDogc3RyaW5nO1xuICBkb3ROb2RlVXJsczogc3RyaW5nW107XG4gIHN1YnN0cmF0ZU5vZGVVcmxzOiBzdHJpbmdbXTtcbiAgcG9seW1lc2hOb2RlVXJsczogc3RyaW5nW107XG4gIHRyb25Ob2Rlczoge1xuICAgIGZ1bGw6IHN0cmluZztcbiAgICBzb2xpZGl0eTogc3RyaW5nO1xuICB9O1xuICBobWFjVmVyaWZpY2F0aW9uRW5mb3JjZWQ6IGJvb2xlYW47XG4gIHRvbk5vZGVVcmw6IHN0cmluZztcbiAgc3VpTm9kZVVybDogc3RyaW5nO1xuICBldGNOb2RlVXJsOiBzdHJpbmc7XG4gIGNvcmVkYW9FeHBsb3JlckJhc2VVcmw/OiBzdHJpbmc7XG4gIGNvcmVkYW9FeHBsb3JlckFwaVRva2VuPzogc3RyaW5nO1xuICB4ZGNFeHBsb3JlckJhc2VVcmw/OiBzdHJpbmc7XG4gIHhkY0V4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIGZsckV4cGxvcmVyQmFzZVVybD86IHN0cmluZztcbiAgZmxyRXhwbG9yZXJBcGlUb2tlbj86IHN0cmluZztcbiAgc2diRXhwbG9yZXJCYXNlVXJsPzogc3RyaW5nO1xuICBzZ2JFeHBsb3JlckFwaVRva2VuPzogc3RyaW5nO1xuICBpY3BOb2RlVXJsOiBzdHJpbmc7XG4gIHdlbWl4RXhwbG9yZXJCYXNlVXJsPzogc3RyaW5nO1xuICB3ZW1peEV4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIG1vbkV4cGxvcmVyQmFzZVVybD86IHN0cmluZztcbiAgbW9uRXhwbG9yZXJBcGlUb2tlbj86IHN0cmluZztcbiAgd29ybGRFeHBsb3JlckJhc2VVcmw/OiBzdHJpbmc7XG4gIHdvcmxkRXhwbG9yZXJBcGlUb2tlbj86IHN0cmluZztcbiAgc29tbmlhRXhwbG9yZXJCYXNlVXJsPzogc3RyaW5nO1xuICBzb21uaWFFeHBsb3JlckFwaVRva2VuPzogc3RyaW5nO1xuICBzb25laXVtRXhwbG9yZXJCYXNlVXJsPzogc3RyaW5nO1xuICBzb25laXVtRXhwbG9yZXJBcGlUb2tlbj86IHN0cmluZztcbiAgc3R4Tm9kZVVybDogc3RyaW5nO1xuICB2ZXROb2RlVXJsOiBzdHJpbmc7XG4gIC8vIFRoZSBrZXkgaGVyZSBpcyBjb2luTmFtZSBhbmQgaXQgd2lsbCBiZSBzYW1lIGZvciBib3RoIG1haW5uZXQgYW5kIHRlc3RuZXQgKGVnOiAncGhycycpXG4gIGV2bT86IHtcbiAgICBba2V5OiBzdHJpbmddOiB7XG4gICAgICBiYXNlVXJsOiBzdHJpbmc7XG4gICAgICBhcGlUb2tlbj86IHN0cmluZztcbiAgICAgIHJwY1VybD86IHN0cmluZztcbiAgICB9O1xuICB9O1xuICAvLyBUaGUga2V5IGhlcmUgaXMgY29pbkZhbWlseSBhbmQgaXQgd2lsbCBiZSBzYW1lIGZvciBib3RoIG1haW5uZXQgYW5kIHRlc3RuZXQgKGVnOiAnY3Jvbm9zJylcbiAgY29zbW9zPzoge1xuICAgIFtrZXk6IHN0cmluZ106IHtcbiAgICAgIG5vZGVVcmw6IHN0cmluZztcbiAgICB9O1xuICB9O1xuICB4dHpFeHBsb3JlckJhc2VVcmw/OiBzdHJpbmc7XG4gIHh0elJwY1VybD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbnZpcm9ubWVudCBleHRlbmRzIEVudmlyb25tZW50VGVtcGxhdGUge1xuICB1cmk6IHN0cmluZztcbiAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw6IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IGhhcmRjb2RlZFB1YmxpY0tleXMgPSBPYmplY3QuZnJlZXplKHtcbiAgc2VydmVyWHB1Yjoge1xuICAgIHByb2Q6ICd4cHViNjYxTXlNd0FxUmJjRXRVZ3U5SEY4YWk0aXB1VktLSEJ6VXFrczRqU0Z5cFc4ZHd3UUwxenlnTGdReDk5Tm1DN3pKSnpuU2l3S0c2UlFmVmpBS010Q3N4OFZqUjZrUVc4eDdIcmtYRlpkblEnLFxuICAgIHRlc3Q6ICd4cHViNjYxTXlNd0FxUmJjRXJGcVZYR2lVRnY5WWVvUGJoTjcyVWlOQ1VkajluajNUNk04aDdpS05tYkNZcE1WV1ZaUDdMQTJtYTNIV2NQbmd6MWdSVG00RlBkdG05bUhmck52VTkzTUNvc3pzR0wnLFxuICB9LFxuICBoc21YcHViOiB7XG4gICAgcHJvZDogJ3hwdWI2NjFNeU13QXFSYmNHRXRURmdNQW94TUZvcXNSZERhaWFSNjNieU5mWmRWN2NCWkZ2b3ZRU05KNWJweWVvUXR1S1ZnWEJrNnNGUTdUdHZ5V3FhZHQ0MURuS3d2ZVlnTTVLb1UyRUtZamRZMicsXG4gICAgdGVzdDogJ3hwdWI2NjFNeU13QXFSYmNHRktlNEJxdms0U2dyaWM0Z05GQzhwVWJ3NHRVa1ZqWnh1YmpDQTUyMmdQemMxWWFYYjNiUVZtRFdjN0NqRzhBR05XUnBjZEFVMzhSRVRCaDhuMmJucUVVNGtiVjRvSycsXG4gICAgZGV2OiAneHB1YjY2MU15TXdBcVJiY0ZXem96OHFuWVJEWUVGUXBQTFl3eFZGb0c2V0x5M2NrNVp1cFJHSlRHNGp1NnlHYjdEajNleTZHc0M0a3N0TFJFUjJuS3pnakx0bXh5UGdDNHpIeTdrVmhVdDZ5ZkduJyxcbiAgfSxcbn0pO1xuXG5leHBvcnQgdHlwZSBFbnZpcm9ubWVudE5hbWUgPVxuICB8ICdwcm9kJ1xuICB8ICdzdGFnaW5nJ1xuICB8ICd0ZXN0J1xuICB8ICdkZXYnXG4gIHwgJ2xvY2FsJ1xuICB8ICdsb2NhbE5vblNlY3VyZSdcbiAgfCAnbW9jaydcbiAgfCAnYWRtaW5Qcm9kJ1xuICB8ICdhZG1pblRlc3QnXG4gIHwgJ2FkbWluU3RhZ2luZydcbiAgfCAnYWRtaW5EZXYnXG4gIHwgJ2N1c3RvbSdcbiAgfCAnYnJhbmNoJztcblxuZXhwb3J0IHR5cGUgQWxpYXNFbnZpcm9ubWVudE5hbWUgPSAncHJvZHVjdGlvbicgfCAnbXNQcm9kJyB8ICdtc1Rlc3QnIHwgJ21zRGV2JztcblxuZXhwb3J0IHR5cGUgRW52aXJvbm1lbnRzID0geyBbayBpbiBFbnZpcm9ubWVudE5hbWVdOiBFbnZpcm9ubWVudCB9O1xuXG4vLyBhbGlhcyBlbnZpcm9ubWVudHMgYXJlIGVudmlyb25tZW50IG5hbWVzIHdoaWNoIGFyZSBhbGlhc2VzIG9mIGEgc3VwcG9ydGVkIGVudmlyb25tZW50XG5leHBvcnQgY29uc3QgQWxpYXNFbnZpcm9ubWVudHM6IHsgW2sgaW4gQWxpYXNFbnZpcm9ubWVudE5hbWVdOiBFbnZpcm9ubWVudE5hbWUgfSA9IHtcbiAgcHJvZHVjdGlvbjogJ3Byb2QnLFxuICBtc1Byb2Q6ICdwcm9kJyxcbiAgbXNUZXN0OiAndGVzdCcsXG4gIG1zRGV2OiAnZGV2Jyxcbn07XG5cbmNvbnN0IG1haW5uZXRCYXNlOiBFbnZpcm9ubWVudFRlbXBsYXRlID0ge1xuICBuZXR3b3JrOiAnYml0Y29pbicgYXMgVjFOZXR3b3JrLFxuICBzaWduaW5nQWRkcmVzczogJzFCaXRHbzNneFJaNm1RU0VINTJkdkNLU1VnVkNBSDRSamEnLFxuICBzZXJ2ZXJYcHViOiBoYXJkY29kZWRQdWJsaWNLZXlzLnNlcnZlclhwdWIucHJvZCxcbiAgaHNtWHB1YjogaGFyZGNvZGVkUHVibGljS2V5cy5oc21YcHViLnByb2QsXG4gIGJ0Y0V4cGxvcmVyQmFzZVVybDogJ2h0dHBzOi8vYmxvY2tzdHJlYW0uaW5mby9hcGknLFxuICBldGhlcnNjYW5CYXNlVXJsOiAnaHR0cHM6Ly9hcGkuZXRoZXJzY2FuLmlvL3YyJyxcbiAgZXRoZXJzY2FuQXBpVG9rZW46IHByb2Nlc3MuZW52LkVUSEVSU0NBTl9BUElfVE9LRU4sXG4gIGF2YXhjTmV0d29ya0Jhc2VVcmw6ICdodHRwczovL2FwaS5hdmF4Lm5ldHdvcmsnLFxuICBldGgyRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9iZWFjb25zY2FuLmNvbS9hcGknLFxuICBldGh3RnVsbE5vZGVSUENCYXNlVXJsOiAnaHR0cHM6Ly9tYWlubmV0LmV0aGVyZXVtcG93Lm9yZycsXG4gIGJzY3NjYW5CYXNlVXJsOiAnaHR0cHM6Ly9hcGkuZXRoZXJzY2FuLmlvL3YyJyxcbiAgYnNjc2NhbkFwaVRva2VuOiBwcm9jZXNzLmVudi5CU0NfQVBJX1RPS0VOLFxuICBwb2x5Z29uc2NhbkJhc2VVcmw6ICdodHRwczovL2FwaS5ldGhlcnNjYW4uaW8vdjInLFxuICBwb2x5Z29uc2NhbkFwaVRva2VuOiBwcm9jZXNzLmVudi5QT0xZR09OU0NBTl9BUElfVE9LRU4sXG4gIGFyYmlzY2FuQmFzZVVybDogJ2h0dHBzOi8vYXBpLmV0aGVyc2Nhbi5pby92MicsXG4gIGFyYmlzY2FuQXBpVG9rZW46IHByb2Nlc3MuZW52LkFSQklTQ0FOX0FQSV9UT0tFTixcbiAgb3B0aW1pc3RpY0V0aGVyc2NhbkJhc2VVcmw6ICdodHRwczovL2FwaS5ldGhlcnNjYW4uaW8vdjInLFxuICBvcHRpbWlzdGljRXRoZXJzY2FuQXBpVG9rZW46IHByb2Nlc3MuZW52Lk9QVElNSVNUSUNfRVRIRVJTQ0FOX0FQSV9UT0tFTixcbiAgemtzeW5jRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9ibG9jay1leHBsb3Jlci1hcGkubWFpbm5ldC56a3N5bmMuaW8nLFxuICB6a3N5bmNFeHBsb3JlckFwaVRva2VuOiBwcm9jZXNzLmVudi5aS1NZTkNfRVhQTE9SRVJfQVBJX1RPS0VOLFxuICBiYXNlZXRoRXhwbG9yZXJVcmw6ICdodHRwczovL2FwaS5iYXNlc2Nhbi5vcmcnLCAvL0Jhc2VFVEggZXhwbG9yZXIgYXBpIHVybFxuICBiYXNlZXRoQXBpVG9rZW46IHByb2Nlc3MuZW52LkJBU0VTQ0FOX0FQSV9UT0tFTixcbiAgZW9zTm9kZVVybHM6IFsnaHR0cHM6Ly9icC5jcnlwdG9saW9ucy5pbycsICdodHRwczovL2FwaS5lb3NuZXd5b3JrLmlvJywgJ2h0dHBzOi8vYXBpLmVvc2RldHJvaXQuaW8nXSxcbiAgbmVhck5vZGVVcmxzOiBbJ2h0dHBzOi8vYXBpLmZhc3RuZWFyLmNvbSddLFxuICBzb2xOb2RlVXJsOiAnaHR0cHM6Ly9hcGkubWFpbm5ldC1iZXRhLnNvbGFuYS5jb20nLFxuICBzb2xBbGNoZW15Tm9kZVVybDogJ2h0dHBzOi8vc29sYW5hLW1haW5uZXQuZy5hbGNoZW15LmNvbS92MicsXG4gIGFkYU5vZGVVcmw6ICdodHRwczovL2FwaS5rb2lvcy5yZXN0L2FwaS92MScsXG4gIGhhc2hOb2RlVXJsOiAnaHR0cHM6Ly9hcGkucHJvdmVuYW5jZS5pbycsXG4gIGluak5vZGVVcmw6ICdodHRwczovL3NlbnRyeS5sY2QuaW5qZWN0aXZlLm5ldHdvcmsnLCAvLyByZWZlcmVuY2UgaHR0cHM6Ly9kb2NzLmluamVjdGl2ZS5uZXR3b3JrL2RldmVsb3AvcHVibGljLWVuZHBvaW50cy9cbiAgYXRvbU5vZGVVcmw6ICdodHRwczovL3Jlc3QuY29zbW9zLmRpcmVjdG9yeS9jb3Ntb3NodWIvJyxcbiAgb3Ntb05vZGVVcmw6ICdodHRwczovL2xjZC5vc21vc2lzLnpvbmUnLFxuICB0aWFOb2RlVXJsOiAnaHR0cHM6Ly9wdWJsaWMtY2VsZXN0aWEtbGNkLm51bWlhLnh5eicsIC8vIHJlZmVyZW5jZSBodHRwczovL2RvY3MuY2VsZXN0aWEub3JnL25vZGVzL21haW5uZXQjYXBpLWVuZHBvaW50c1xuICBzZWlOb2RlVXJsOiAnaHR0cHM6Ly9zZWktYXBpLnBvbGthY2h1LmNvbScsXG4gIGJsZE5vZGVVcmw6ICdodHRwczovL2Fnb3JpYy1hcGkucG9sa2FjaHUuY29tJyxcbiAgYmVyYU5vZGVVcmw6ICcnLCAvLyBUT0RPKFdJTi02OTMpOiB1cGRhdGUgdXJsIHdoZW4gbWFpbm5ldCBnb2VzIGxpdmVcbiAgemV0YU5vZGVVcmw6ICdodHRwczovL3pldGFjaGFpbi5ibG9ja3BpLm5ldHdvcmsnLCAvLyByZWZlcmVuY2UgaHR0cHM6Ly93d3cuemV0YWNoYWluLmNvbS9kb2NzL3JlZmVyZW5jZS9hcGkvXG4gIGNvcmV1bU5vZGVVcmw6ICdodHRwczovL2Z1bGwtbm9kZS5tYWlubmV0LTEuY29yZXVtLmRldjoxMzE3JyxcbiAgcnVuZU5vZGVVcmw6ICdodHRwczovL3Rob3Jub2RlLm5pbmVyZWFsbXMuY29tJyxcbiAgYmFieU5vZGVVcmw6ICdodHRwczovL2JhYnlsb24ubm9kZXMuZ3VydS9hcGkvJyxcbiAgaXNsbU5vZGVVcmw6ICdodHRwczovL3Jlc3QuY29zbW9zLmhhcXEubmV0d29yaycsXG4gIG1hbnRyYU5vZGVVcmw6ICdodHRwczovL21hbnRyYS1yZXN0LnB1YmxpY25vZGUuY29tLycsXG4gIGNyb25vc05vZGVVcmw6ICdodHRwczovL2Nyb25vcy1wb3MtcmVzdC5wdWJsaWNub2RlLmNvbS8nLFxuICBpbml0aWFOb2RlVXJsOiAnaHR0cHM6Ly9yZXN0LmluaXRpYS54eXovJyxcbiAgYXNpTm9kZVVybDogJ2h0dHBzOi8vcmVzdC1mZXRjaGh1Yi5mZXRjaC5haS8nLFxuICBkb3ROb2RlVXJsczogWyd3c3M6Ly9hc3NldC1odWItcG9sa2Fkb3QtcnBjLm4uZHdlbGxpci5jb20nXSxcbiAgc3Vic3RyYXRlTm9kZVVybHM6IFsnd3NzOi8vZW50cnlwb2ludC1maW5uZXkub3BlbnRlbnNvci5haSddLFxuICBwb2x5bWVzaE5vZGVVcmxzOiBbJ3dzczovL21haW5uZXQtcnBjLnBvbHltZXNoLm5ldHdvcmsnXSxcbiAgdHJvbk5vZGVzOiB7XG4gICAgZnVsbDogJ2h0dHBzOi8vYXBpLnRyb25ncmlkLmlvJyxcbiAgICBzb2xpZGl0eTogJ2h0dHBzOi8vYXBpLnRyb25ncmlkLmlvJyxcbiAgfSxcbiAgaG1hY1ZlcmlmaWNhdGlvbkVuZm9yY2VkOiB0cnVlLFxuICB0b25Ob2RlVXJsOiAnaHR0cHM6Ly90b25jZW50ZXIuY29tL2FwaS92Mi9qc29uUlBDJyxcbiAgc3VpTm9kZVVybDogJ2h0dHBzOi8vZnVsbG5vZGUubWFpbm5ldC5zdWkuaW8nLFxuICBldGNOb2RlVXJsOiAnaHR0cHM6Ly9ldGMuYmxvY2tzY291dC5jb20nLFxuICBjb3JlZGFvRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9vcGVuYXBpLmNvcmVkYW8ub3JnJyxcbiAgb2FzRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9leHBsb3Jlci5vYXN5cy5nYW1lcycsXG4gIGZsckV4cGxvcmVyQmFzZVVybDogJ2h0dHBzOi8vZmxhcmUtZXhwbG9yZXIuZmxhcmUubmV0d29yaycsXG4gIHhkY0V4cGxvcmVyQmFzZVVybDogJ2h0dHBzOi8vYXBpLmV0aGVyc2Nhbi5pby92MicsXG4gIHdlbWl4RXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9hcGkuZXRoZXJzY2FuLmlvL3YyJyxcbiAgc2diRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9zb25nYmlyZC1leHBsb3Jlci5mbGFyZS5uZXR3b3JrJyxcbiAgZXZtOiB7XG4gICAgYXBlY2hhaW46IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL2FwaS5ldGhlcnNjYW4uaW8vdjInLFxuICAgIH0sXG4gICAgcGhyczoge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vdGVzdG5ldC5kcGxhYnMtaW50ZXJuYWwuY29tJywgLy8gVE9ETzogV0lOLTU3ODcgYWRkIG1haW5uZXQgdXJsIHdoZW4gaXRzIGF2YWlsYWJsZVxuICAgIH0sXG4gICAgY3RjOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9jcmVkaXRjb2luLmJsb2Nrc2NvdXQuY29tJyxcbiAgICB9LFxuICAgIGh5cGVldm06IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL2FwaS5ldGhlcnNjYW4uaW8vdjInLFxuICAgIH0sXG4gICAgb2c6IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL2NoYWluc2Nhbi4wZy5haS9vcGVuJyxcbiAgICB9LFxuICAgIHhwbDoge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vYXBpLnJvdXRlc2Nhbi5pby92Mi9uZXR3b3JrL21haW5uZXQvZXZtLzk3NDUvZXRoZXJzY2FuJyxcbiAgICB9LFxuICAgIHNvbmljOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9hcGkuZXRoZXJzY2FuLmlvL3YyJyxcbiAgICB9LFxuICAgIHNlaWV2bToge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vYXBpLmV0aGVyc2Nhbi5pby92MicsXG4gICAgfSxcbiAgICBrYWlhOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9tYWlubmV0LW9hcGkua2FpYXNjYW4uaW8nLFxuICAgIH0sXG4gICAga2F2YWV2bToge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vYXBpLnZlcmlmeS5taW50c2Nhbi5pby9ldm0vYXBpLzB4OGFlJyxcbiAgICB9LFxuICAgIGlyeXM6IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL3Rlc3RuZXQtcnBjLmlyeXMueHl6L3YxL2V4ZWN1dGlvbi1ycGMnLCAvL1RPRE86IFdJTi02MTkxIGFkZCBtYWlubmV0IHVybCB3aGVuIGF2YWlsYWJsZVxuICAgIH0sXG4gICAgbW9uOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9hcGkuZXRoZXJzY2FuLmlvL3YyJyxcbiAgICB9LFxuICAgIGxpbmVhZXRoOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9hcGkuZXRoZXJzY2FuLmlvL3YyJyxcbiAgICB9LFxuICAgIGlwOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly93d3cuc3RvcnlzY2FuLmlvJyxcbiAgICB9LFxuICAgIHNvbWk6IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL21haW5uZXQuc29tbmlhLnczdXMuc2l0ZScsXG4gICAgfSxcbiAgICBiYXNlZXRoOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9hcGkuZXRoZXJzY2FuLmlvL3YyJyxcbiAgICB9LFxuICAgIGZsb3c6IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL2V2bS5mbG93c2Nhbi5pbycsXG4gICAgfSxcbiAgICBwbHVtZToge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vZXhwbG9yZXIucGx1bWUub3JnJyxcbiAgICB9LFxuICAgIG1lZ2FldGg6IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL2NhcnJvdC5tZWdhZXRoLmNvbS9ycGMnLCAvL1RPRE86IGFkZCBtYWlubmV0IHVybCB3aGVuIGF2YWlsYWJsZVxuICAgIH0sXG4gICAgaGJhcmV2bToge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vbWFpbm5ldC5taXJyb3Jub2RlLmhlZGVyYS5jb20vYXBpL3YxJyxcbiAgICAgIHJwY1VybDogJ2h0dHBzOi8vbWFpbm5ldC5oYXNoaW8uaW8vYXBpJyxcbiAgICB9LFxuICAgIGZsdWVudGV0aDoge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vdGVzdG5ldC5mbHVlbnRzY2FuLnh5ei9hcGkvJywgLy9UT0RPOiBDT0lOLTY0Nzg6IGFkZCBtYWlubmV0IHVybCB3aGVuIGF2YWlsYWJsZVxuICAgIH0sXG4gICAgbWFudGxlOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9hcGkubWFudGxlc2Nhbi54eXovYXBpJyxcbiAgICB9LFxuICAgIGpvdmF5ZXRoOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9hcGkuemFuLnRvcC9ub2RlL3YxL2pvdmF5L21haW5uZXQvJyxcbiAgICB9LFxuICAgIG9rYjoge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vd3d3Lm9rbGluay5jb20vYXBpL3Y1L2V4cGxvcmVyL2Jsb2NrL2Jsb2NrLWxpc3Q/Y2hhaW5TaG9ydE5hbWU9eGxheWVyJyxcbiAgICB9LFxuICB9LFxuICBpY3BOb2RlVXJsOiAnaHR0cHM6Ly9pYzAuYXBwJyxcbiAgd29ybGRFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL3dvcmxkc2Nhbi5vcmcvJyxcbiAgc29tbmlhRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9tYWlubmV0LnNvbW5pYS53M3VzLnNpdGUvJyxcbiAgc29uZWl1bUV4cGxvcmVyQmFzZVVybDogJ2h0dHBzOi8vc29uZWl1bS5ibG9ja3Njb3V0LmNvbScsXG4gIG1vbkV4cGxvcmVyQmFzZVVybDogJ2h0dHBzOi8vYXBpLmV0aGVyc2Nhbi5pby92MicsXG4gIHN0eE5vZGVVcmw6ICdodHRwczovL2FwaS5oaXJvLnNvJyxcbiAgdmV0Tm9kZVVybDogJ2h0dHBzOi8vc3luYy1tYWlubmV0LnZlY2hhaW4ub3JnJyxcbiAgeHR6RXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9hcGkudHprdC5pbycsXG4gIHh0elJwY1VybDogJ2h0dHBzOi8vcnBjLnR6a3QuaW8vbWFpbm5ldCcsXG59O1xuXG5jb25zdCB0ZXN0bmV0QmFzZTogRW52aXJvbm1lbnRUZW1wbGF0ZSA9IHtcbiAgbmV0d29yazogJ3Rlc3RuZXQnIGFzIFYxTmV0d29yayxcbiAgc2lnbmluZ0FkZHJlc3M6ICdtc2lnbkJkRlh0ZWVoREVnQjZETm03bnBSdDdBY0VaSlAzJyxcbiAgc2VydmVyWHB1YjogaGFyZGNvZGVkUHVibGljS2V5cy5zZXJ2ZXJYcHViLnRlc3QsXG4gIGhzbVhwdWI6IGhhcmRjb2RlZFB1YmxpY0tleXMuaHNtWHB1Yi50ZXN0LFxuICBidGNFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2Jsb2Nrc3RyZWFtLmluZm8vdGVzdG5ldC9hcGknLFxuICBldGhlcnNjYW5CYXNlVXJsOiAnaHR0cHM6Ly9hcGkuZXRoZXJzY2FuLmlvL3YyJyxcbiAgZXRoZXJzY2FuQXBpVG9rZW46IHByb2Nlc3MuZW52LkVUSEVSU0NBTl9BUElfVE9LRU4sXG4gIGF2YXhjTmV0d29ya0Jhc2VVcmw6ICdodHRwczovL2FwaS5hdmF4LXRlc3QubmV0d29yaycsXG4gIGV0aDJFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2JlYWNvbnNjYW4uY29tL2FwaScsXG4gIGV0aHdGdWxsTm9kZVJQQ0Jhc2VVcmw6ICdodHRwczovL21haW5uZXQuZXRoZXJldW1wb3cub3JnJyxcbiAgcG9seWdvbnNjYW5CYXNlVXJsOiAnaHR0cHM6Ly9hcGkuZXRoZXJzY2FuLmlvL3YyJyxcbiAgcG9seWdvbnNjYW5BcGlUb2tlbjogcHJvY2Vzcy5lbnYuUE9MWUdPTlNDQU5fQVBJX1RPS0VOLFxuICBic2NzY2FuQmFzZVVybDogJ2h0dHBzOi8vYXBpLmV0aGVyc2Nhbi5pby92MicsXG4gIGJzY3NjYW5BcGlUb2tlbjogcHJvY2Vzcy5lbnYuQlNDX0FQSV9UT0tFTixcbiAgYXJiaXNjYW5CYXNlVXJsOiAnaHR0cHM6Ly9hcGkuZXRoZXJzY2FuLmlvL3YyJyxcbiAgYXJiaXNjYW5BcGlUb2tlbjogcHJvY2Vzcy5lbnYuQVJCSVNDQU5fQVBJX1RPS0VOLFxuICBvcHRpbWlzdGljRXRoZXJzY2FuQmFzZVVybDogJ2h0dHBzOi8vYXBpLmV0aGVyc2Nhbi5pby92MicsXG4gIG9wdGltaXN0aWNFdGhlcnNjYW5BcGlUb2tlbjogcHJvY2Vzcy5lbnYuT1BUSU1JU1RJQ19FVEhFUlNDQU5fQVBJX1RPS0VOLFxuICB6a3N5bmNFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2Jsb2NrLWV4cGxvcmVyLWFwaS5zZXBvbGlhLnprc3luYy5kZXYnLFxuICB6a3N5bmNFeHBsb3JlckFwaVRva2VuOiBwcm9jZXNzLmVudi5aS1NZTkNfRVhQTE9SRVJfQVBJX1RPS0VOLFxuICBiYXNlZXRoRXhwbG9yZXJVcmw6ICdodHRwczovL2FwaS1zZXBvbGlhLmJhc2VzY2FuLm9yZycsXG4gIGJhc2VldGhBcGlUb2tlbjogcHJvY2Vzcy5lbnYuQkFTRVNDQU5fQVBJX1RPS0VOLFxuICAvLyBreWxpbiBlb3MgZW5kcG9pbnRzIGZvdW5kIGhlcmVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2NyeXB0b2t5bGluL0NyeXB0b0t5bGluLVRlc3RuZXQjaHR0cC1hcGktbGlzdFxuICAvLyBodHRwczovL2RvY3MubGlxdWlkYXBwcy5pby9saXF1aWRhcHBzLWRvY3VtZW50YXRpb24vZW9zaW8tZ3VpZGVzL3Rlc3RuZXQtY3JlYXRpb24tZ3VpZGVzL2NyZWF0aW5nLWNyeXB0b2t5bGluLWFjY291bnQjc2V0dXBcbiAgZW9zTm9kZVVybHM6IFsnaHR0cHM6Ly9reWxpbi5lb3NuLmlvJywgJ2h0dHBzOi8vYXBpLmt5bGluLmFsb2hhZW9zLmNvbSddLFxuICBuZWFyTm9kZVVybHM6IFsnaHR0cHM6Ly90ZXN0LnJwYy5mYXN0bmVhci5jb20nXSxcbiAgc29sTm9kZVVybDogJ2h0dHBzOi8vYXBpLmRldm5ldC5zb2xhbmEuY29tJyxcbiAgc29sQWxjaGVteU5vZGVVcmw6ICdodHRwczovL3NvbGFuYS1kZXZuZXQuZy5hbGNoZW15LmNvbS92MicsXG4gIGFkYU5vZGVVcmw6ICdodHRwczovL3ByZXByb2Qua29pb3MucmVzdC9hcGkvdjEnLFxuICBoYXNoTm9kZVVybDogJ2h0dHBzOi8vYXBpLnRlc3QucHJvdmVuYW5jZS5pbycsXG4gIGluak5vZGVVcmw6ICdodHRwczovL3Rlc3RuZXQuc2VudHJ5LmxjZC5pbmplY3RpdmUubmV0d29yaycsIC8vIENPSU4tMTIxOSA6IHJlZmVyZW5jZSAgaHR0cHM6Ly9kb2NzLmluamVjdGl2ZS5uZXR3b3JrL2RldmVsb3AvcHVibGljLWVuZHBvaW50cy8jdGVzdG5ldFxuICBhdG9tTm9kZVVybDogJ2h0dHBzOi8vcmVzdC5wcm92aWRlci1zZW50cnktMDIuaWNzLXRlc3RuZXQucG9seXBvcmUueHl6LycsXG4gIG9zbW9Ob2RlVXJsOiAnaHR0cHM6Ly9sY2Qub3Ntb3Rlc3Q1Lm9zbW9zaXMuem9uZScsXG4gIHRpYU5vZGVVcmw6ICdodHRwczovL2FwaS1tb2NoYS5wb3BzLm9uZScsXG4gIHNlaU5vZGVVcmw6ICdodHRwczovL3Jlc3QuYXRsYW50aWMtMi5zZWluZXR3b3JrLmlvJyxcbiAgYmxkTm9kZVVybDogJ2h0dHBzOi8vZGV2bmV0LmFwaS5hZ29yaWMubmV0JyxcbiAgYmVyYU5vZGVVcmw6ICcnLCAvLyBUT0RPKFdJTi02OTMpOiB1cGRhdGUgdXJsIHdoZW4gdGVzdG5ldCBnb2VzIGxpdmVcbiAgemV0YU5vZGVVcmw6ICdodHRwczovL3Jlc3Qubm9kZWp1bXBlci5pby96ZXRhY2hhaW50ZXN0bmV0JywgLy8gcmVmZXJlbmNlIDogaHR0cHM6Ly93d3cuemV0YWNoYWluLmNvbS9kb2NzL3JlZmVyZW5jZS9hcGkvXG4gIGNvcmV1bU5vZGVVcmw6ICdodHRwczovL2Z1bGwtbm9kZS50ZXN0bmV0LTEuY29yZXVtLmRldjoxMzE3JyxcbiAgcnVuZU5vZGVVcmw6ICdodHRwczovL3N0YWdlbmV0LXRob3Jub2RlLm5pbmVyZWFsbXMuY29tJyxcbiAgYmFieU5vZGVVcmw6ICdodHRwczovL2JhYnlsb24tdGVzdG5ldC1hcGkubm9kZXMuZ3VydS8nLFxuICBpc2xtTm9kZVVybDogJ2h0dHBzOi8vcmVzdC5jb3Ntb3MudGVzdGVkZ2UyLmhhcXEubmV0d29yayAnLFxuICBtYW50cmFOb2RlVXJsOiAnaHR0cHM6Ly9tYW50cmEtdGVzdG5ldC1yZXN0LnB1YmxpY25vZGUuY29tLycsXG4gIGNyb25vc05vZGVVcmw6ICdodHRwczovL3Rlc3RuZXQtY3JvZXNlaWQtNC5jcnlwdG8ub3JnOjEzMTcvJyxcbiAgaW5pdGlhTm9kZVVybDogJ2h0dHBzOi8vcmVzdC50ZXN0bmV0LmluaXRpYS54eXovJyxcbiAgYXNpTm9kZVVybDogJ2h0dHBzOi8vcmVzdC1kb3JhZG8uZmV0Y2guYWkvJyxcbiAgZG90Tm9kZVVybHM6IFsnd3NzOi8vYXNzZXQtaHViLXdlc3RlbmQtcnBjLm4uZHdlbGxpci5jb20nXSxcbiAgc3Vic3RyYXRlTm9kZVVybHM6IFsnd3NzOi8vdGVzdC5maW5uZXkub3BlbnRlbnNvci5haSddLFxuICBwb2x5bWVzaE5vZGVVcmxzOiBbJ3dzczovL3Rlc3RuZXQtcnBjLnBvbHltZXNoLmxpdmUnXSxcbiAgdHJvbk5vZGVzOiB7XG4gICAgZnVsbDogJ2h0dHBzOi8vYXBpLnNoYXN0YS50cm9uZ3JpZC5pbycsXG4gICAgc29saWRpdHk6ICdodHRwczovL2FwaS5zaGFzdGEudHJvbmdyaWQuaW8nLFxuICB9LFxuICBobWFjVmVyaWZpY2F0aW9uRW5mb3JjZWQ6IGZhbHNlLFxuICB0b25Ob2RlVXJsOiAnaHR0cHM6Ly90ZXN0bmV0LnRvbmNlbnRlci5jb20vYXBpL3YyL2pzb25SUEMnLFxuICBzdWlOb2RlVXJsOiAnaHR0cHM6Ly9mdWxsbm9kZS50ZXN0bmV0LnN1aS5pbycsXG4gIGV0Y05vZGVVcmw6ICdodHRwczovL2V0Yy1tb3Jkb3IuYmxvY2tzY291dC5jb20nLFxuICBjb3JlZGFvRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9hcGkudGVzdDIuYnRjcy5uZXR3b3JrJyxcbiAgb2FzRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9leHBsb3Jlci50ZXN0bmV0Lm9hc3lzLmdhbWVzJyxcbiAgd2VtaXhFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2FwaS5ldGhlcnNjYW4uaW8vdjInLFxuICBmbHJFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2Nvc3RvbjItZXhwbG9yZXIuZmxhcmUubmV0d29yaycsXG4gIHhkY0V4cGxvcmVyQmFzZVVybDogJ2h0dHBzOi8vYXBpLmV0aGVyc2Nhbi5pby92MicsXG4gIHNnYkV4cGxvcmVyQmFzZVVybDogJ2h0dHBzOi8vY29zdG9uLWV4cGxvcmVyLmZsYXJlLm5ldHdvcmsnLFxuICBpY3BOb2RlVXJsOiAnaHR0cHM6Ly9leGNoYW5nZXMudGVzdG5ldC5kZmluaXR5Lm5ldHdvcmsnLFxuICBtb25FeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2FwaS5ldGhlcnNjYW4uaW8vdjInLFxuICB3b3JsZEV4cGxvcmVyQmFzZVVybDogJ2h0dHBzOi8vc2Vwb2xpYS53b3JsZHNjYW4ub3JnLycsXG4gIHNvbW5pYUV4cGxvcmVyQmFzZVVybDogJ2h0dHBzOi8vc2hhbm5vbi1leHBsb3Jlci5zb21uaWEubmV0d29yay8nLFxuICBzb25laXVtRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9zb25laXVtLW1pbmF0by5ibG9ja3Njb3V0LmNvbScsXG4gIGV2bToge1xuICAgIGFwZWNoYWluOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9hcGkuZXRoZXJzY2FuLmlvL3YyJyxcbiAgICB9LFxuICAgIHBocnM6IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL3Rlc3RuZXQuZHBsYWJzLWludGVybmFsLmNvbScsIC8vIFdyb25nIHZhbHVlLCBOb3QgYXZhaWxhYmxlIHlldFxuICAgIH0sXG4gICAgY3RjOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9jcmVkaXRjb2luLXRlc3RuZXQuYmxvY2tzY291dC5jb20nLFxuICAgIH0sXG4gICAgaHlwZWV2bToge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vcnBjLmh5cGVybGlxdWlkLXRlc3RuZXQueHl6L2V2bScsIC8vIE5vdCBBdmFpbGFibGVcbiAgICB9LFxuICAgIG9nOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9jaGFpbnNjYW4tdGVzdC4wZy5haS9vcGVuJyxcbiAgICB9LFxuICAgIHhwbDoge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vYXBpLnJvdXRlc2Nhbi5pby92Mi9uZXR3b3JrL3Rlc3RuZXQvZXZtLzk3NDZfNS9ldGhlcnNjYW4nLFxuICAgIH0sXG4gICAgc29uaWM6IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL2FwaS5ldGhlcnNjYW4uaW8vdjInLFxuICAgIH0sXG4gICAgc2VpZXZtOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9hcGkuZXRoZXJzY2FuLmlvL3YyJyxcbiAgICB9LFxuICAgIGthaWE6IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL2thaXJvcy1vYXBpLmthaWFzY2FuLmlvJyxcbiAgICB9LFxuICAgIGthdmFldm06IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL2FwaS52ZXJpZnkubWludHNjYW4uaW8vZXZtL2FwaS8weDhhZCcsXG4gICAgfSxcbiAgICBpcnlzOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9pbnN0LTEuY2xvdWQuYmxvY2tzY291dC5jb20nLFxuICAgIH0sXG4gICAgbW9uOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9hcGkuZXRoZXJzY2FuLmlvL3YyJyxcbiAgICB9LFxuICAgIGxpbmVhZXRoOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9hcGkuZXRoZXJzY2FuLmlvL3YyJyxcbiAgICB9LFxuICAgIGlwOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9hZW5laWQuc3RvcnlzY2FuLmlvJyxcbiAgICB9LFxuICAgIHRiYXNlZXRoOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9hcGkuZXRoZXJzY2FuLmlvL3YyJyxcbiAgICB9LFxuICAgIGZsb3c6IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL2V2bS10ZXN0bmV0LmZsb3dzY2FuLmlvJyxcbiAgICB9LFxuICAgIG1lZ2FldGg6IHtcbiAgICAgIGJhc2VVcmw6ICdodHRwczovL21lZ2FldGgtdGVzdG5ldC5ibG9ja3Njb3V0LmNvbScsXG4gICAgfSxcbiAgICBwbHVtZToge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vdGVzdG5ldC1leHBsb3Jlci5wbHVtZS5vcmcnLFxuICAgIH0sXG4gICAgaGJhcmV2bToge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vdGVzdG5ldC5taXJyb3Jub2RlLmhlZGVyYS5jb20vYXBpL3YxJyxcbiAgICAgIHJwY1VybDogJ2h0dHBzOi8vdGVzdG5ldC5oYXNoaW8uaW8vYXBpJyxcbiAgICB9LFxuICAgIGZsdWVudGV0aDoge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vdGVzdG5ldC5mbHVlbnRzY2FuLnh5ei9hcGkvJyxcbiAgICB9LFxuICAgIG1hbnRsZToge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vYXBpLXNlcG9saWEubWFudGxlc2Nhbi54eXovYXBpJyxcbiAgICB9LFxuICAgIGpvdmF5ZXRoOiB7XG4gICAgICBiYXNlVXJsOiAnaHR0cHM6Ly9hcGkuemFuLnRvcC9ub2RlL3YxL2pvdmF5L3Rlc3RuZXQvJyxcbiAgICB9LFxuICAgIG9rYjoge1xuICAgICAgYmFzZVVybDogJ2h0dHBzOi8vd3d3Lm9rbGluay5jb20vYXBpL3Y1L2V4cGxvcmVyL2Jsb2NrL2Jsb2NrLWxpc3Q/Y2hhaW5TaG9ydE5hbWU9eGxheWVyX3Rlc3RuZXQnLFxuICAgIH0sXG4gIH0sXG4gIHN0eE5vZGVVcmw6ICdodHRwczovL2FwaS50ZXN0bmV0Lmhpcm8uc28nLFxuICB2ZXROb2RlVXJsOiAnaHR0cHM6Ly9zeW5jLXRlc3RuZXQudmVjaGFpbi5vcmcnLFxuICB4dHpFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2FwaS5naG9zdG5ldC50emt0LmlvJyxcbiAgeHR6UnBjVXJsOiAnaHR0cHM6Ly9ycGMudHprdC5pby9naG9zdG5ldCcsXG59O1xuXG5jb25zdCBkZXZCYXNlOiBFbnZpcm9ubWVudFRlbXBsYXRlID0gT2JqZWN0LmFzc2lnbih7fSwgdGVzdG5ldEJhc2UsIHtcbiAgaHNtWHB1YjogaGFyZGNvZGVkUHVibGljS2V5cy5oc21YcHViLmRldixcbiAgaG1hY1ZlcmlmaWNhdGlvbkVuZm9yY2VkOiBmYWxzZSxcbn0pO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVkZWNsYXJlXG5leHBvcnQgY29uc3QgRW52aXJvbm1lbnRzOiBFbnZpcm9ubWVudHMgPSB7XG4gIHByb2Q6IE9iamVjdC5hc3NpZ24oe30sIG1haW5uZXRCYXNlLCB7XG4gICAgdXJpOiAnaHR0cHM6Ly9hcHAuYml0Z28uY29tJyxcbiAgICBzdGVsbGFyRmVkZXJhdGlvblNlcnZlclVybDogJ2h0dHBzOi8vYXBwLmJpdGdvLmNvbS9hcGkvdjIveGxtL2ZlZGVyYXRpb24nLFxuICB9KSxcbiAgdGVzdDogT2JqZWN0LmFzc2lnbih7fSwgdGVzdG5ldEJhc2UsIHtcbiAgICB1cmk6ICdodHRwczovL2FwcC5iaXRnby10ZXN0LmNvbScsXG4gICAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw6ICdodHRwczovL2FwcC5iaXRnby10ZXN0LmNvbS9hcGkvdjIvdHhsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG4gIGRldjogT2JqZWN0LmFzc2lnbih7fSwgZGV2QmFzZSwge1xuICAgIHVyaTogJ2h0dHBzOi8vYXBwLmJpdGdvLWRldi5jb20nLFxuICAgIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOiAnaHR0cHM6Ly9hcHAuYml0Z28tZGV2LmNvbS9hcGkvdjIvdHhsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG4gIHN0YWdpbmc6IE9iamVjdC5hc3NpZ24oe30sIHRlc3RuZXRCYXNlLCB7XG4gICAgdXJpOiAnaHR0cHM6Ly9hcHAuYml0Z28tc3RhZ2luZy5jb20nLFxuICAgIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOiAnaHR0cHM6Ly9hcHAuYml0Z28tc3RhZ2luZy5jb20vYXBpL3YyL3R4bG0vZmVkZXJhdGlvbicsXG4gIH0pLFxuICBsb2NhbDogT2JqZWN0LmFzc2lnbih7fSwgZGV2QmFzZSwge1xuICAgIHVyaTogJ2h0dHBzOi8vbG9jYWxob3N0OjMwMDAnLFxuICAgIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOiAnaHR0cHM6Ly9sb2NhbGhvc3Q6MzAwMC9hcGkvdjIvdHhsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG4gIGxvY2FsTm9uU2VjdXJlOiBPYmplY3QuYXNzaWduKHt9LCBkZXZCYXNlLCB7XG4gICAgdXJpOiAnaHR0cDovL2xvY2FsaG9zdDozMDAwJyxcbiAgICBzdGVsbGFyRmVkZXJhdGlvblNlcnZlclVybDogJ2h0dHA6Ly9sb2NhbGhvc3Q6MzAwMC9hcGkvdjIvdHhsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG4gIG1vY2s6IE9iamVjdC5hc3NpZ24oe30sIGRldkJhc2UsIHtcbiAgICB1cmk6ICdodHRwczovL2JpdGdvLmZha2V1cmwnLFxuICAgIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOiAnaHR0cHM6Ly9iaXRnby5mYWtldXJsL2FwaS92Mi90eGxtL2ZlZGVyYXRpb24nLFxuICAgIGV0aGVyc2NhbkJhc2VVcmw6ICdodHRwczovL2FwaS1ob29kaS5ldGhlcnNjYW4uZmFrZXVybCcsXG4gICAgZXRoZXJzY2FuQXBpVG9rZW46IHByb2Nlc3MuZW52LkVUSEVSU0NBTl9BUElfVE9LRU4sXG4gICAgYXZheGNOZXR3b3JrQmFzZVVybDogJ2h0dHBzOi8vYXBpLmF2YXgtdGVzdC5uZXR3b3JrLmZha2V1cmwnLFxuICAgIGV0aDJFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2JlYWNvbnNjYW4uY29tL2FwaScsXG4gIH0pLFxuICBhZG1pblByb2Q6IE9iamVjdC5hc3NpZ24oe30sIG1haW5uZXRCYXNlLCB7XG4gICAgdXJpOiAnaHR0cHM6Ly9hZG1pbi5iaXRnby5jb20nLFxuICAgIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOiAnaHR0cHM6Ly9hZG1pbi5iaXRnby5jb20vYXBpL3YyL3hsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG4gIGFkbWluVGVzdDogT2JqZWN0LmFzc2lnbih7fSwgdGVzdG5ldEJhc2UsIHtcbiAgICB1cmk6ICdodHRwczovL2FkbWluLmJpdGdvLXRlc3QuY29tJyxcbiAgICBzdGVsbGFyRmVkZXJhdGlvblNlcnZlclVybDogJ2h0dHBzOi8vYWRtaW4uYml0Z28tdGVzdC5jb20vYXBpL3YyL3R4bG0vZmVkZXJhdGlvbicsXG4gIH0pLFxuICBhZG1pbkRldjogT2JqZWN0LmFzc2lnbih7fSwgZGV2QmFzZSwge1xuICAgIHVyaTogJ2h0dHBzOi8vYWRtaW4uYml0Z28tZGV2LmNvbScsXG4gICAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw6ICdodHRwczovL2FkbWluLmJpdGdvLWRldi5jb20vYXBpL3YyL3R4bG0vZmVkZXJhdGlvbicsXG4gIH0pLFxuICBhZG1pblN0YWdpbmc6IE9iamVjdC5hc3NpZ24oe30sIHRlc3RuZXRCYXNlLCB7XG4gICAgdXJpOiAnaHR0cHM6Ly9hZG1pbi5iaXRnby1zdGFnaW5nLmNvbScsXG4gICAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw6ICdodHRwczovL2FkbWluLmJpdGdvLXN0YWdpbmcuY29tL2FwaS92Mi94bG0vZmVkZXJhdGlvbicsXG4gIH0pLFxuICBjdXN0b206IE9iamVjdC5hc3NpZ24oe30sIG1haW5uZXRCYXNlLCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cbiAgICB1cmk6IHByb2Nlc3MuZW52LkJJVEdPX0NVU1RPTV9ST09UX1VSSSEsXG4gICAgbmV0d29yazogcHJvY2Vzcy5lbnYuQklUR09fQ1VTVE9NX0JJVENPSU5fTkVUV09SSyBhcyBWMU5ldHdvcmssXG4gICAgaHNtWHB1YjpcbiAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicgPyBoYXJkY29kZWRQdWJsaWNLZXlzLmhzbVhwdWIucHJvZCA6IGhhcmRjb2RlZFB1YmxpY0tleXMuaHNtWHB1Yi50ZXN0LFxuICAgIGJ0Y0V4cGxvcmVyQmFzZVVybDpcbiAgICAgIHByb2Nlc3MuZW52LkJJVEdPX0NVU1RPTV9CSVRDT0lOX05FVFdPUksgIT09ICdiaXRjb2luJ1xuICAgICAgICA/ICdodHRwczovL2Jsb2Nrc3RyZWFtLmluZm8vdGVzdG5ldC9hcGknXG4gICAgICAgIDogJ2h0dHBzOi8vYmxvY2tzdHJlYW0uaW5mby9hcGknLFxuICAgIGV0aGVyc2NhbkJhc2VVcmw6XG4gICAgICBwcm9jZXNzLmVudi5CSVRHT19DVVNUT01fRVRIRVJFVU1fTkVUV09SSyAhPT0gJ2V0aGVyZXVtJ1xuICAgICAgICA/ICdodHRwczovL2FwaS1ob29kaS5ldGhlcnNjYW4uaW8nXG4gICAgICAgIDogJ2h0dHBzOi8vYXBpLmV0aGVyc2Nhbi5pbycsXG4gICAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw6XG4gICAgICBwcm9jZXNzLmVudi5CSVRHT19DVVNUT01fU1RFTExBUl9ORVRXT1JLICE9PSAnc3RlbGxhcidcbiAgICAgICAgPyBgaHR0cHM6Ly8ke3Byb2Nlc3MuZW52LkJJVEdPX0NVU1RPTV9ST09UX1VSSX0vYXBpL3YyL3R4bG0vZmVkZXJhdGlvbmBcbiAgICAgICAgOiBgaHR0cHM6Ly8ke3Byb2Nlc3MuZW52LkJJVEdPX0NVU1RPTV9ST09UX1VSSX0vYXBpL3YyL3hsbS9mZWRlcmF0aW9uYCxcbiAgICBzZXJ2ZXJYcHViOlxuICAgICAgcHJvY2Vzcy5lbnYuQklUR09fQ1VTVE9NX0JJVENPSU5fTkVUV09SSyAhPT0gJ2JpdGNvaW4nXG4gICAgICAgID8gaGFyZGNvZGVkUHVibGljS2V5cy5zZXJ2ZXJYcHViLnRlc3RcbiAgICAgICAgOiBoYXJkY29kZWRQdWJsaWNLZXlzLnNlcnZlclhwdWIucHJvZCxcbiAgfSksXG4gIGJyYW5jaDogT2JqZWN0LmFzc2lnbih7fSwgZGV2QmFzZSwge1xuICAgIHVyaTogJ2h0dHBzOi8vYXBwLmJpdGdvLWRldi5jb20nLFxuICAgIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOiAnaHR0cHM6Ly9hcHAuYml0Z28tZGV2LmNvbS9hcGkvdjIvdHhsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG59O1xuIl19
|
|
@@ -128,7 +128,7 @@ class MpcUtils {
|
|
|
128
128
|
tokenName: params.tokenName,
|
|
129
129
|
isTestTransaction: params.isTestTransaction,
|
|
130
130
|
};
|
|
131
|
-
if (['eth', 'polygon', 'bsc', 'coredao'].includes(baseCoin.getFamily())) {
|
|
131
|
+
if (['eth', 'polygon', 'bsc', 'coredao', 'seievm'].includes(baseCoin.getFamily())) {
|
|
132
132
|
switch (params.intentType) {
|
|
133
133
|
case 'payment':
|
|
134
134
|
case 'transferToken':
|
|
@@ -191,4 +191,4 @@ class MpcUtils {
|
|
|
191
191
|
}
|
|
192
192
|
}
|
|
193
193
|
exports.MpcUtils = MpcUtils;
|
|
194
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXBjVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvbXBjVXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0dBRUc7QUFDSCxvREFBNEI7QUFDNUIscUNBQWtGO0FBSWxGLGlEQUFnRTtBQU9oRSxzREFBd0Y7QUFDeEYsNENBQW9EO0FBU3BELE1BQXNCLFFBQVE7SUFJNUIsWUFBWSxLQUFnQixFQUFFLFFBQW1CO1FBQy9DLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7SUFFUyxLQUFLLENBQUMsbUJBQW1CLENBQUMsWUFBb0IsRUFBRSxVQUFxQztRQUM3RixNQUFNLG1CQUFtQixHQUFHLE1BQU0sSUFBQSxxQkFBVyxFQUFDO1lBQzVDLGNBQWMsRUFBRSxZQUFZO1NBQzdCLENBQUMsQ0FBQztRQUNILE1BQU0saUJBQWlCLEdBQUcsTUFBTSxJQUFBLHdCQUFjLEVBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFFdEYsTUFBTSxxQkFBcUIsR0FBRyxDQUM1QixNQUFNLElBQUEsaUJBQU8sRUFBQztZQUNaLE9BQU8sRUFBRSxtQkFBbUI7WUFDNUIsY0FBYyxFQUFFLENBQUMsaUJBQWlCLENBQUM7WUFDbkMsTUFBTSxFQUFFLE1BQU07U0FDZixDQUFDLENBQ0gsQ0FBQyxJQUFJLENBQUM7UUFFUCxPQUFPLHFCQUFxQixDQUFDO0lBQy9CLENBQUM7SUFFUyxLQUFLLENBQUMsdUJBQXVCLENBQ3JDLFVBQXFDLEVBQ3JDLFlBQXVDLEVBQ3ZDLFlBQXlCLEVBQ3pCLGNBQTJCLEVBQzNCLE9BQWdCLEVBQ2hCLFVBQW1CO1FBRW5CLE1BQU0sUUFBUSxHQUFHLENBQUMsTUFBTSxJQUFBLGdDQUFpQixFQUFDLElBQUksQ0FBQyxLQUFLLENBQUMs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QUVELFlBQVksQ0FBQyxRQUFtQixFQUFFLFNBQXVDO1FBQ3ZFLElBQUksU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sU0FBUyxDQUFDLFNBQVMsQ0FBQztRQUM3QixDQUFDO1FBQ0QsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUsscUJBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzNGLE1BQU0sZUFBZSxHQUFHLEdBQUcsYUFBYSxHQUFHLFFBQVEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxTQUFTLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUNwRyxJQUFJLGVBQUssQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztZQUMvQixNQUFNLFlBQVksR0FBRyxlQUFLLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ2hELFNBQVMsQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQztRQUMxQyxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUMsU0FBUyxDQUFDO0lBQzdCLENBQUM7Q0FDRjtBQXpPRCw0QkF5T0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICovXG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgeyBkZWNyeXB0LCByZWFkTWVzc2FnZSwgcmVhZFByaXZhdGVLZXksIFNlcmlhbGl6ZWRLZXlQYWlyIH0gZnJvbSAnb3BlbnBncCc7XG5pbXBvcnQgeyBJQmFzZUNvaW4sIEtleWNoYWluc1RyaXBsZXQgfSBmcm9tICcuLi9iYXNlQ29pbic7XG5pbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICcuLi9iaXRnb0Jhc2UnO1xuaW1wb3J0IHsgQWRkS2V5Y2hhaW5PcHRpb25zLCBLZXljaGFpbiwgS2V5VHlwZSB9IGZyb20gJy4uL2tleWNoYWluJztcbmltcG9ydCB7IGVuY3J5cHRUZXh0LCBnZXRCaXRnb0dwZ1B1YktleSB9IGZyb20gJy4vb3BlbmdwZ1V0aWxzJztcbmltcG9ydCB7XG4gIEludGVudFJlY2lwaWVudCxcbiAgUG9wdWxhdGVkSW50ZW50LFxuICBQcmVidWlsZFRyYW5zYWN0aW9uV2l0aEludGVudE9wdGlvbnMsXG4gIFRva2VuVHJhbnNmZXJSZWNpcGllbnRQYXJhbXMsXG59IGZyb20gJy4vdHNzL2Jhc2VUeXBlcyc7XG5pbXBvcnQgeyBlbnZSZXF1aXJlc0JpdGdvUHViR3BnS2V5Q29uZmlnLCBpc0JpdGdvTXBjUHViS2V5IH0gZnJvbSAnLi4vdHNzL2JpdGdvUHViS2V5cyc7XG5pbXBvcnQgeyBjb2lucywgTmV0d29ya1R5cGUgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTXBjS2V5U2hhcmUge1xuICBwdWJsaWNTaGFyZTogc3RyaW5nO1xuICBwcml2YXRlU2hhcmU6IHN0cmluZztcbiAgcHJpdmF0ZVNoYXJlUHJvb2Y/OiBzdHJpbmc7XG4gIHZzc1Byb29mPzogc3RyaW5nO1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTXBjVXRpbHMge1xuICBwcm90ZWN0ZWQgYml0Z286IEJpdEdvQmFzZTtcbiAgcHJvdGVjdGVkIGJhc2VDb2luOiBJQmFzZUNvaW47XG5cbiAgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSwgYmFzZUNvaW46IElCYXNlQ29pbikge1xuICAgIHRoaXMuYml0Z28gPSBiaXRnbztcbiAgICB0aGlzLmJhc2VDb2luID0gYmFzZUNvaW47XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgZGVjcnlwdFByaXZhdGVTaGFyZShwcml2YXRlU2hhcmU6IHN0cmluZywgdXNlckdwZ0tleTogU2VyaWFsaXplZEtleVBhaXI8c3RyaW5nPik6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgcHJpdmF0ZVNoYXJlTWVzc2FnZSA9IGF3YWl0IHJlYWRNZXNzYWdlKHtcbiAgICAgIGFybW9yZWRNZXNzYWdlOiBwcml2YXRlU2hhcmUsXG4gICAgfSk7XG4gICAgY29uc3QgdXNlckdwZ1ByaXZhdGVLZXkgPSBhd2FpdCByZWFkUHJpdmF0ZUtleSh7IGFybW9yZWRLZXk6IHVzZXJHcGdLZXkucHJpdmF0ZUtleSB9KTtcblxuICAgIGNvbnN0IGRlY3J5cHRlZFByaXZhdGVTaGFyZSA9IChcbiAgICAgIGF3YWl0IGRlY3J5cHQoe1xuICAgICAgICBtZXNzYWdlOiBwcml2YXRlU2hhcmVNZXNzYWdlLFxuICAgICAgICBkZWNyeXB0aW9uS2V5czogW3VzZXJHcGdQcml2YXRlS2V5XSxcbiAgICAgICAgZm9ybWF0OiAndXRmOCcsXG4gICAgICB9KVxuICAgICkuZGF0YTtcblxuICAgIHJldHVybiBkZWNyeXB0ZWRQcml2YXRlU2hhcmU7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgY3JlYXRlQml0Z29LZXljaGFpbkluV1AoXG4gICAgdXNlckdwZ0tleTogU2VyaWFsaXplZEtleVBhaXI8c3RyaW5nPixcbiAgICBiYWNrdXBHcGdLZXk6IFNlcmlhbGl6ZWRLZXlQYWlyPHN0cmluZz4sXG4gICAgdXNlcktleVNoYXJlOiBNcGNLZXlTaGFyZSxcbiAgICBiYWNrdXBLZXlTaGFyZTogTXBjS2V5U2hhcmUsXG4gICAga2V5VHlwZTogS2V5VHlwZSxcbiAgICBlbnRlcnByaXNlPzogc3RyaW5nXG4gICk6IFByb21pc2U8S2V5Y2hhaW4+IHtcbiAgICBjb25zdCBiaXRnb0tleSA9IChhd2FpdCBnZXRCaXRnb0dwZ1B1YktleSh0aGlzLmJpdGdvKSkubXBjVjE7XG4gICAgaWYgKGVudlJlcXVpcmVzQml0Z29QdWJHcGdLZXlDb25maWcodGhpcy5iaXRnby5nZXRFbnYoKSkpIHtcbiAgICAgIC8vIEVuc3VyZSB0aGUgcHVibGljIGtleSBpcyBvbmUgb2YgdGhlIGV4cGVjdGVkIEJpdEdvIHB1YmxpYyBrZXlzIHdoZW4gaW4gdGVzdCBvciBwcm9kLlxuICAgICAgYXNzZXJ0KGlzQml0Z29NcGNQdWJLZXkoYml0Z29LZXkuYXJtb3IoKSwgJ21wY3YxJyksICdJbnZhbGlkIEJpdEdvIEdQRyBwdWJsaWMga2V5Jyk7XG4gICAgfVxuICAgIGNvbnN0IGVuY1VzZXJUb0JpdEdvTWVzc2FnZSA9IGF3YWl0IGVuY3J5cHRUZXh0KHVzZXJLZXlTaGFyZS5wcml2YXRlU2hhcmUsIGJpdGdvS2V5KTtcbiAgICBjb25zdCBlbmNCYWNrdXBUb0JpdEdvTWVzc2FnZSA9IGF3YWl0IGVuY3J5cHRUZXh0KGJhY2t1cEtleVNoYXJlLnByaXZhdGVTaGFyZSwgYml0Z29LZXkpO1xuXG4gICAgY29uc3QgY3JlYXRlQml0R29NUENQYXJhbXM6IEFkZEtleWNoYWluT3B0aW9ucyA9IHtcbiAgICAgIGtleVR5cGUsXG4gICAgICBzb3VyY2U6ICdiaXRnbycsXG4gICAgICBrZXlTaGFyZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGZyb206ICd1c2VyJyxcbiAgICAgICAgICB0bzogJ2JpdGdvJyxcbiAgICAgICAgICBwdWJsaWNTaGFyZTogdXNlcktleVNoYXJlLnB1YmxpY1NoYXJlLFxuICAgICAgICAgIHByaXZhdGVTaGFyZTogZW5jVXNlclRvQml0R29NZXNzYWdlLFxuICAgICAgICAgIHByaXZhdGVTaGFyZVByb29mOiB1c2VyS2V5U2hhcmUucHJpdmF0ZVNoYXJlUHJvb2YsXG4gICAgICAgICAgdnNzUHJvb2Y6IHVzZXJLZXlTaGFyZS52c3NQcm9vZixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGZyb206ICdiYWNrdXAnLFxuICAgICAgICAgIHRvOiAnYml0Z28nLFxuICAgICAgICAgIHB1YmxpY1NoYXJlOiBiYWNrdXBLZXlTaGFyZS5wdWJsaWNTaGFyZSxcbiAgICAgICAgICBwcml2YXRlU2hhcmU6IGVuY0JhY2t1cFRvQml0R29NZXNzYWdlLFxuICAgICAgICAgIHByaXZhdGVTaGFyZVByb29mOiBiYWNrdXBLZXlTaGFyZS5wcml2YXRlU2hhcmVQcm9vZixcbiAgICAgICAgICB2c3NQcm9vZjogYmFja3VwS2V5U2hhcmUudnNzUHJvb2YsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgdXNlckdQR1B1YmxpY0tleTogdXNlckdwZ0tleS5wdWJsaWNLZXksXG4gICAgICBiYWNrdXBHUEdQdWJsaWNLZXk6IGJhY2t1cEdwZ0tleS5wdWJsaWNLZXksXG4gICAgICBlbnRlcnByaXNlOiBlbnRlcnByaXNlLFxuICAgIH07XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5iYXNlQ29pbi5rZXljaGFpbnMoKS5hZGQoY3JlYXRlQml0R29NUENQYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgVXNlciwgQmFja3VwLCBhbmQgQml0R28gTVBDIEtleWNoYWlucy5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcy5wYXNzcGhyYXNlIC0gcGFzc3BocmFzZSB1c2VkIHRvIGVuY3J5cHQgc2lnbmluZyBtYXRlcmlhbHMgY3JlYXRlZCBmb3IgVXNlciBhbmQgQmFja3VwXG4gICAqIEBwYXJhbSBwYXJhbXMuZW50ZXJwcmlzZSAtIG9wdGlvbmFsIGVudGVycHJpc2UgaWQgdGhhdCB3aWxsIGJlIGF0dGFjaGVkIHRvIHRoZSBCaXRHbyBLZXljaGFpblxuICAgKiBAcGFyYW0gcGFyYW1zLm9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZSAtIG9wdGlvbmFsIGVuY3J5cHRpb24gY29kZSB1c2VkIHRvIHJlc2V0IHRoZSB1c2VyJ3MgcGFzc3dvcmQsIGlmIGFic2VudCwgcGFzc3dvcmQgcmVjb3Zlcnkgd2lsbCBub3Qgd29ya1xuICAgKi9cbiAgYWJzdHJhY3QgY3JlYXRlS2V5Y2hhaW5zKHBhcmFtczoge1xuICAgIHBhc3NwaHJhc2U6IHN0cmluZztcbiAgICBlbnRlcnByaXNlPzogc3RyaW5nO1xuICAgIG9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZT86IHN0cmluZztcbiAgfSk6IFByb21pc2U8S2V5Y2hhaW5zVHJpcGxldD47XG5cbiAgLyoqXG4gICAqIFRoaXMgZnVuY3Rpb24gd291bGQgYmUgcmVzcG9uc2libGUgZm9yIHBvcHVsYXRpbmcgaW50ZW50c1xuICAgKiBiYXNlZCBvbiB0aGUgdHlwZSBvZiBjb2luIC8gc2lnIHNjaGVtZSB0aGUgY29pbiB1c2VzXG4gICAqIEBwYXJhbSB7SUJhc2VDb2lufSBiYXNlQ29pblxuICAgKiBAcGFyYW0ge1ByZWJ1aWxkVHJhbnNhY3Rpb25XaXRoSW50ZW50T3B0aW9uc30gcGFyYW1zXG4gICAqIEByZXR1cm5zIHtSZWNvcmQ8c3RyaW5nLCB1bmtub3duPn1cbiAgICovXG4gIHBvcHVsYXRlSW50ZW50KGJhc2VDb2luOiBJQmFzZUNvaW4sIHBhcmFtczogUHJlYnVpbGRUcmFuc2FjdGlvbldpdGhJbnRlbnRPcHRpb25zKTogUG9wdWxhdGVkSW50ZW50IHtcbiAgICBjb25zdCBjaGFpbiA9IHRoaXMuYmFzZUNvaW4uZ2V0Q2hhaW4oKTtcblxuICAgIGlmIChwYXJhbXMuaW50ZW50VHlwZSA9PT0gJ2N1c3RvbVR4JyAmJiBiYXNlQ29pbi5nZXRGYW1pbHkoKSA9PT0gJ3NvbCcpIHtcbiAgICAgIGNvbnN0IGhhc1NvbEluc3RydWN0aW9ucyA9IHBhcmFtcy5zb2xJbnN0cnVjdGlvbnMgJiYgcGFyYW1zLnNvbEluc3RydWN0aW9ucy5sZW5ndGggPiAwO1xuICAgICAgY29uc3QgaGFzVmVyc2lvbmVkRGF0YSA9XG4gICAgICAgIHBhcmFtcy5zb2xWZXJzaW9uZWRUcmFuc2FjdGlvbkRhdGEgJiZcbiAgICAgICAgcGFyYW1zLnNvbFZlcnNpb25lZFRyYW5zYWN0aW9uRGF0YS52ZXJzaW9uZWRJbnN0cnVjdGlvbnMgJiZcbiAgICAgICAgcGFyYW1zLnNvbFZlcnNpb25lZFRyYW5zYWN0aW9uRGF0YS52ZXJzaW9uZWRJbnN0cnVjdGlvbnMubGVuZ3RoID4gMDtcblxuICAgICAgYXNzZXJ0KFxuICAgICAgICBoYXNTb2xJbnN0cnVjdGlvbnMgfHwgaGFzVmVyc2lvbmVkRGF0YSxcbiAgICAgICAgYCdzb2xJbnN0cnVjdGlvbnMnIG9yICdzb2xWZXJzaW9uZWRUcmFuc2FjdGlvbkRhdGEnIGlzIHJlcXVpcmVkIGZvciBjdXN0b21UeCBpbnRlbnRgXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChwYXJhbXMuaW50ZW50VHlwZSA9PT0gJ2N1c3RvbVR4JyAmJiBiYXNlQ29pbi5nZXRGYW1pbHkoKSA9PT0gJ2FwdCcpIHtcbiAgICAgIGFzc2VydChcbiAgICAgICAgcGFyYW1zLmFwdG9zQ3VzdG9tVHJhbnNhY3Rpb25QYXJhbXMsXG4gICAgICAgIGAnYXB0b3NDdXN0b21UcmFuc2FjdGlvblBhcmFtcycgaXMgYSByZXF1aXJlZCBwYXJhbWV0ZXIgZm9yIGN1c3RvbVR4IGludGVudGBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKFsndHJhbnNmZXJBY2NlcHQnLCAndHJhbnNmZXJSZWplY3QnXS5pbmNsdWRlcyhwYXJhbXMuaW50ZW50VHlwZSkgJiYgYmFzZUNvaW4uZ2V0RmFtaWx5KCkgPT09ICdjYW50b24nKSB7XG4gICAgICBhc3NlcnQocGFyYW1zLnR4UmVxdWVzdElkLCBgJ3R4UmVxdWVzdElkJyBpcyByZXF1aXJlZCBwYXJhbWV0ZXIgZm9yICR7cGFyYW1zLmludGVudFR5cGV9IGludGVudGApO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgICFbXG4gICAgICAgICdhY2NlbGVyYXRpb24nLFxuICAgICAgICAnZmlsbE5vbmNlJyxcbiAgICAgICAgJ3RyYW5zZmVyVG9rZW4nLFxuICAgICAgICAndG9rZW5BcHByb3ZhbCcsXG4gICAgICAgICdjdXN0b21UeCcsXG4gICAgICAgICd0cmFuc2ZlckFjY2VwdCcsXG4gICAgICAgICd0cmFuc2ZlclJlamVjdCcsXG4gICAgICBdLmluY2x1ZGVzKHBhcmFtcy5pbnRlbnRUeXBlKVxuICAgICkge1xuICAgICAgYXNzZXJ0KHBhcmFtcy5yZWNpcGllbnRzLCBgJ3JlY2lwaWVudHMnIGlzIGEgcmVxdWlyZWQgcGFyYW1ldGVyIGZvciAke3BhcmFtcy5pbnRlbnRUeXBlfSBpbnRlbnRgKTtcbiAgICB9XG4gICAgY29uc3QgaW50ZW50UmVjaXBpZW50cyA9IHBhcmFtcy5yZWNpcGllbnRzPy5tYXAoKHJlY2lwaWVudCkgPT4ge1xuICAgICAgY29uc3QgZm9ybWF0dGVkUmVjaXBpZW50OiBJbnRlbnRSZWNpcGllbnQgPSB7XG4gICAgICAgIGFkZHJlc3M6IHsgYWRkcmVzczogcmVjaXBpZW50LmFkZHJlc3MgfSxcbiAgICAgICAgYW1vdW50OiB7IHZhbHVlOiBgJHtyZWNpcGllbnQuYW1vdW50fWAsIHN5bWJvbDogcmVjaXBpZW50LnRva2VuTmFtZSA/IHJlY2lwaWVudC50b2tlbk5hbWUgOiBjaGFpbiB9LFxuICAgICAgfTtcblxuICAgICAgaWYgKHJlY2lwaWVudC5kYXRhKSB7XG4gICAgICAgIGZvcm1hdHRlZFJlY2lwaWVudC5kYXRhID0gcmVjaXBpZW50LmRhdGE7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgdG9rZW5EYXRhIH0gPSByZWNpcGllbnQ7XG4gICAgICBpZiAodG9rZW5EYXRhICYmICh0b2tlbkRhdGEudG9rZW5Db250cmFjdEFkZHJlc3MgfHwgdG9rZW5EYXRhLnRva2VuTmFtZSkpIHtcbiAgICAgICAgLy8gdG9rZW4gcmVsYXRlZCByZWNpcGllbnQgZGF0YSBnZXRzIHZhbGlkYXRlZCBpbiBXUFxuICAgICAgICBpZiAoISh0b2tlbkRhdGEudG9rZW5UeXBlICYmIHRva2VuRGF0YS50b2tlblF1YW50aXR5KSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICd0b2tlbiB0eXBlIGFuZCBxdWFudGl0eSBpcyByZXF1aXJlZCB0byByZXF1ZXN0IGEgdHJhbnNhY3Rpb24gd2l0aCBpbnRlbnQgdG8gdHJhbnNmZXIgYSB0b2tlbidcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHRva2VuRGF0YS50b2tlbk5hbWUgPSB0aGlzLmdldFRva2VuTmFtZShiYXNlQ29pbiwgdG9rZW5EYXRhKTtcbiAgICAgICAgaWYgKHRva2VuRGF0YS50b2tlbk5hbWUpIHtcbiAgICAgICAgICBmb3JtYXR0ZWRSZWNpcGllbnQuYW1vdW50LnN5bWJvbCA9IHRva2VuRGF0YS50b2tlbk5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgZm9ybWF0dGVkUmVjaXBpZW50LnRva2VuRGF0YSA9IHRva2VuRGF0YTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmb3JtYXR0ZWRSZWNpcGllbnQ7XG4gICAgfSk7XG5cbiAgICBjb25zdCBiYXNlSW50ZW50OiBQb3B1bGF0ZWRJbnRlbnQgPSB7XG4gICAgICBpbnRlbnRUeXBlOiBwYXJhbXMuaW50ZW50VHlwZSxcbiAgICAgIHNlcXVlbmNlSWQ6IHBhcmFtcy5zZXF1ZW5jZUlkLFxuICAgICAgY29tbWVudDogcGFyYW1zLmNvbW1lbnQsXG4gICAgICBub25jZTogcGFyYW1zLm5vbmNlLFxuICAgICAgcmVjaXBpZW50czogaW50ZW50UmVjaXBpZW50cyxcbiAgICAgIHRva2VuTmFtZTogcGFyYW1zLnRva2VuTmFtZSxcbiAgICAgIGlzVGVzdFRyYW5zYWN0aW9uOiBwYXJhbXMuaXNUZXN0VHJhbnNhY3Rpb24sXG4gICAgfTtcblxuICAgIGlmIChbJ2V0aCcsICdwb2x5Z29uJywgJ2JzYycsICdjb3JlZGFvJ10uaW5jbHVkZXMoYmFzZUNvaW4uZ2V0RmFtaWx5KCkpKSB7XG4gICAgICBzd2l0Y2ggKHBhcmFtcy5pbnRlbnRUeXBlKSB7XG4gICAgICAgIGNhc2UgJ3BheW1lbnQnOlxuICAgICAgICBjYXNlICd0cmFuc2ZlclRva2VuJzpcbiAgICAgICAgY2FzZSAnZmlsbE5vbmNlJzpcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uYmFzZUludGVudCxcbiAgICAgICAgICAgIHNlbGZTZW5kOiBwYXJhbXMuc2VsZlNlbmQsXG4gICAgICAgICAgICBmZWVPcHRpb25zOiBwYXJhbXMuZmVlT3B0aW9ucyxcbiAgICAgICAgICAgIGhvcFBhcmFtczogcGFyYW1zLmhvcFBhcmFtcyxcbiAgICAgICAgICAgIGlzVHNzOiBwYXJhbXMuaXNUc3MsXG4gICAgICAgICAgICBub25jZTogcGFyYW1zLm5vbmNlLFxuICAgICAgICAgICAgY3VzdG9kaWFuVHJhbnNhY3Rpb25JZDogcGFyYW1zLmN1c3RvZGlhblRyYW5zYWN0aW9uSWQsXG4gICAgICAgICAgICByZWNlaXZlQWRkcmVzczogcGFyYW1zLnJlY2VpdmVBZGRyZXNzLFxuICAgICAgICAgIH07XG4gICAgICAgIGNhc2UgJ2FjY2VsZXJhdGlvbic6XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmJhc2VJbnRlbnQsXG4gICAgICAgICAgICB0eGlkOiBwYXJhbXMubG93RmVlVHhpZCxcbiAgICAgICAgICAgIHJlY2VpdmVBZGRyZXNzOiBwYXJhbXMucmVjZWl2ZUFkZHJlc3MsXG4gICAgICAgICAgICBmZWVPcHRpb25zOiBwYXJhbXMuZmVlT3B0aW9ucyxcbiAgICAgICAgICB9O1xuICAgICAgICBjYXNlICd0b2tlbkFwcHJvdmFsJzpcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uYmFzZUludGVudCxcbiAgICAgICAgICAgIHRva2VuTmFtZTogcGFyYW1zLnRva2VuTmFtZSxcbiAgICAgICAgICAgIGZlZU9wdGlvbnM6IHBhcmFtcy5mZWVPcHRpb25zLFxuICAgICAgICAgIH07XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBpbnRlbnQgdHlwZSAke3BhcmFtcy5pbnRlbnRUeXBlfWApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuYmFzZUNvaW4uc2V0Q29pblNwZWNpZmljRmllbGRzSW5JbnRlbnQoYmFzZUludGVudCwgcGFyYW1zKTtcblxuICAgIGlmIChwYXJhbXMuZmVlT3B0aW9ucyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5iYXNlSW50ZW50LFxuICAgICAgICBtZW1vOiBwYXJhbXMubWVtbz8udmFsdWUsXG4gICAgICAgIHRva2VuOiBwYXJhbXMudG9rZW5OYW1lLFxuICAgICAgICBlbmFibGVUb2tlbnM6IHBhcmFtcy5lbmFibGVUb2tlbnMsXG4gICAgICAgIGZlZU9wdGlvbnM6IHBhcmFtcy5mZWVPcHRpb25zLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uYmFzZUludGVudCxcbiAgICAgIG1lbW86IHBhcmFtcy5tZW1vPy52YWx1ZSxcbiAgICAgIHRva2VuOiBwYXJhbXMudG9rZW5OYW1lLFxuICAgICAgZW5hYmxlVG9rZW5zOiBwYXJhbXMuZW5hYmxlVG9rZW5zLFxuICAgIH07XG4gIH1cblxuICBnZXRUb2tlbk5hbWUoYmFzZUNvaW46IElCYXNlQ29pbiwgdG9rZW5EYXRhOiBUb2tlblRyYW5zZmVyUmVjaXBpZW50UGFyYW1zKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodG9rZW5EYXRhLnRva2VuTmFtZSkge1xuICAgICAgcmV0dXJuIHRva2VuRGF0YS50b2tlbk5hbWU7XG4gICAgfVxuICAgIGNvbnN0IG5ldHdvcmtQcmVmaXggPSBiYXNlQ29pbi5nZXRDb25maWcoKS5uZXR3b3JrLnR5cGUgPT09IE5ldHdvcmtUeXBlLlRFU1RORVQgPyAndCcgOiAnJztcbiAgICBjb25zdCB0b2tlblN0YXRpY3NLZXkgPSBgJHtuZXR3b3JrUHJlZml4fSR7YmFzZUNvaW4uZ2V0RmFtaWx5KCl9OiR7dG9rZW5EYXRhLnRva2VuQ29udHJhY3RBZGRyZXNzfWA7XG4gICAgaWYgKGNvaW5zLmhhcyh0b2tlblN0YXRpY3NLZXkpKSB7XG4gICAgICBjb25zdCB0b2tlblN0YXRpY3MgPSBjb2lucy5nZXQodG9rZW5TdGF0aWNzS2V5KTtcbiAgICAgIHRva2VuRGF0YS50b2tlbk5hbWUgPSB0b2tlblN0YXRpY3MubmFtZTtcbiAgICB9XG4gICAgcmV0dXJuIHRva2VuRGF0YS50b2tlbk5hbWU7XG4gIH1cbn1cbiJdfQ==
|
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXBjVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvbXBjVXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0dBRUc7QUFDSCxvREFBNEI7QUFDNUIscUNBQWtGO0FBSWxGLGlEQUFnRTtBQU9oRSxzREFBd0Y7QUFDeEYsNENBQW9EO0FBU3BELE1BQXNCLFFBQVE7SUFJNUIsWUFBWSxLQUFnQixFQUFFLFFBQW1CO1FBQy9DLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7SUFFUyxLQUFLLENBQUMsbUJBQW1CLENBQUMsWUFBb0IsRUFBRSxVQUFxQztRQUM3RixNQUFNLG1CQUFtQixHQUFHLE1BQU0sSUFBQSxxQkFBVyxFQUFDO1lBQzVDLGNBQWMsRUFBRSxZQUFZO1NBQzdCLENBQUMsQ0FBQztRQUNILE1BQU0saUJBQWlCLEdBQUcsTUFBTSxJQUFBLHdCQUFjLEVBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFFdEYsTUFBTSxxQkFBcUIsR0FBRyxDQUM1QixNQUFNLElBQUEsaUJBQU8sRUFBQztZQUNaLE9BQU8sRUFBRSxtQkFBbUI7WUFDNUIsY0FBYyxFQUFFLENBQUMsaUJBQWlCLENBQUM7WUFDbkMsTUFBTSxFQUFFLE1BQU07U0FDZixDQUFDLENBQ0gsQ0FBQyxJQUFJLENBQUM7UUFFUCxPQUFPLHFCQUFxQixDQUFDO0lBQy9CLENBQUM7SUFFUyxLQUFLLENBQUMsdUJBQXVCLENBQ3JDLFVBQXFDLEVBQ3JDLFlBQXVDLEVBQ3ZDLFlBQXlCLEVBQ3pCLGNBQTJCLEVBQzNCLE9BQWdCLEVBQ2hCLFVBQW1CO1FBRW5CLE1BQU0sUUFBUSxHQUFHLENBQUMsTUFBTSxJQUFBLGdDQUFpQixFQUFDLElBQUksQ0FBQyxLQUFLLENBQUMs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QUNKLENBQUM7SUFFRCxZQUFZLENBQUMsUUFBbUIsRUFBRSxTQUF1QztRQUN2RSxJQUFJLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN4QixPQUFPLFNBQVMsQ0FBQyxTQUFTLENBQUM7UUFDN0IsQ0FBQztRQUNELE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLHFCQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMzRixNQUFNLGVBQWUsR0FBRyxHQUFHLGFBQWEsR0FBRyxRQUFRLENBQUMsU0FBUyxFQUFFLElBQUksU0FBUyxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDcEcsSUFBSSxlQUFLLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDL0IsTUFBTSxZQUFZLEdBQUcsZUFBSyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNoRCxTQUFTLENBQUMsU0FBUyxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFDMUMsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDLFNBQVMsQ0FBQztJQUM3QixDQUFDO0NBQ0Y7QUF6T0QsNEJBeU9DIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHsgZGVjcnlwdCwgcmVhZE1lc3NhZ2UsIHJlYWRQcml2YXRlS2V5LCBTZXJpYWxpemVkS2V5UGFpciB9IGZyb20gJ29wZW5wZ3AnO1xuaW1wb3J0IHsgSUJhc2VDb2luLCBLZXljaGFpbnNUcmlwbGV0IH0gZnJvbSAnLi4vYmFzZUNvaW4nO1xuaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnLi4vYml0Z29CYXNlJztcbmltcG9ydCB7IEFkZEtleWNoYWluT3B0aW9ucywgS2V5Y2hhaW4sIEtleVR5cGUgfSBmcm9tICcuLi9rZXljaGFpbic7XG5pbXBvcnQgeyBlbmNyeXB0VGV4dCwgZ2V0Qml0Z29HcGdQdWJLZXkgfSBmcm9tICcuL29wZW5ncGdVdGlscyc7XG5pbXBvcnQge1xuICBJbnRlbnRSZWNpcGllbnQsXG4gIFBvcHVsYXRlZEludGVudCxcbiAgUHJlYnVpbGRUcmFuc2FjdGlvbldpdGhJbnRlbnRPcHRpb25zLFxuICBUb2tlblRyYW5zZmVyUmVjaXBpZW50UGFyYW1zLFxufSBmcm9tICcuL3Rzcy9iYXNlVHlwZXMnO1xuaW1wb3J0IHsgZW52UmVxdWlyZXNCaXRnb1B1YkdwZ0tleUNvbmZpZywgaXNCaXRnb01wY1B1YktleSB9IGZyb20gJy4uL3Rzcy9iaXRnb1B1YktleXMnO1xuaW1wb3J0IHsgY29pbnMsIE5ldHdvcmtUeXBlIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1wY0tleVNoYXJlIHtcbiAgcHVibGljU2hhcmU6IHN0cmluZztcbiAgcHJpdmF0ZVNoYXJlOiBzdHJpbmc7XG4gIHByaXZhdGVTaGFyZVByb29mPzogc3RyaW5nO1xuICB2c3NQcm9vZj86IHN0cmluZztcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE1wY1V0aWxzIHtcbiAgcHJvdGVjdGVkIGJpdGdvOiBCaXRHb0Jhc2U7XG4gIHByb3RlY3RlZCBiYXNlQ29pbjogSUJhc2VDb2luO1xuXG4gIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UsIGJhc2VDb2luOiBJQmFzZUNvaW4pIHtcbiAgICB0aGlzLmJpdGdvID0gYml0Z287XG4gICAgdGhpcy5iYXNlQ29pbiA9IGJhc2VDb2luO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGRlY3J5cHRQcml2YXRlU2hhcmUocHJpdmF0ZVNoYXJlOiBzdHJpbmcsIHVzZXJHcGdLZXk6IFNlcmlhbGl6ZWRLZXlQYWlyPHN0cmluZz4pOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHByaXZhdGVTaGFyZU1lc3NhZ2UgPSBhd2FpdCByZWFkTWVzc2FnZSh7XG4gICAgICBhcm1vcmVkTWVzc2FnZTogcHJpdmF0ZVNoYXJlLFxuICAgIH0pO1xuICAgIGNvbnN0IHVzZXJHcGdQcml2YXRlS2V5ID0gYXdhaXQgcmVhZFByaXZhdGVLZXkoeyBhcm1vcmVkS2V5OiB1c2VyR3BnS2V5LnByaXZhdGVLZXkgfSk7XG5cbiAgICBjb25zdCBkZWNyeXB0ZWRQcml2YXRlU2hhcmUgPSAoXG4gICAgICBhd2FpdCBkZWNyeXB0KHtcbiAgICAgICAgbWVzc2FnZTogcHJpdmF0ZVNoYXJlTWVzc2FnZSxcbiAgICAgICAgZGVjcnlwdGlvbktleXM6IFt1c2VyR3BnUHJpdmF0ZUtleV0sXG4gICAgICAgIGZvcm1hdDogJ3V0ZjgnLFxuICAgICAgfSlcbiAgICApLmRhdGE7XG5cbiAgICByZXR1cm4gZGVjcnlwdGVkUHJpdmF0ZVNoYXJlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGNyZWF0ZUJpdGdvS2V5Y2hhaW5JbldQKFxuICAgIHVzZXJHcGdLZXk6IFNlcmlhbGl6ZWRLZXlQYWlyPHN0cmluZz4sXG4gICAgYmFja3VwR3BnS2V5OiBTZXJpYWxpemVkS2V5UGFpcjxzdHJpbmc+LFxuICAgIHVzZXJLZXlTaGFyZTogTXBjS2V5U2hhcmUsXG4gICAgYmFja3VwS2V5U2hhcmU6IE1wY0tleVNoYXJlLFxuICAgIGtleVR5cGU6IEtleVR5cGUsXG4gICAgZW50ZXJwcmlzZT86IHN0cmluZ1xuICApOiBQcm9taXNlPEtleWNoYWluPiB7XG4gICAgY29uc3QgYml0Z29LZXkgPSAoYXdhaXQgZ2V0Qml0Z29HcGdQdWJLZXkodGhpcy5iaXRnbykpLm1wY1YxO1xuICAgIGlmIChlbnZSZXF1aXJlc0JpdGdvUHViR3BnS2V5Q29uZmlnKHRoaXMuYml0Z28uZ2V0RW52KCkpKSB7XG4gICAgICAvLyBFbnN1cmUgdGhlIHB1YmxpYyBrZXkgaXMgb25lIG9mIHRoZSBleHBlY3RlZCBCaXRHbyBwdWJsaWMga2V5cyB3aGVuIGluIHRlc3Qgb3IgcHJvZC5cbiAgICAgIGFzc2VydChpc0JpdGdvTXBjUHViS2V5KGJpdGdvS2V5LmFybW9yKCksICdtcGN2MScpLCAnSW52YWxpZCBCaXRHbyBHUEcgcHVibGljIGtleScpO1xuICAgIH1cbiAgICBjb25zdCBlbmNVc2VyVG9CaXRHb01lc3NhZ2UgPSBhd2FpdCBlbmNyeXB0VGV4dCh1c2VyS2V5U2hhcmUucHJpdmF0ZVNoYXJlLCBiaXRnb0tleSk7XG4gICAgY29uc3QgZW5jQmFja3VwVG9CaXRHb01lc3NhZ2UgPSBhd2FpdCBlbmNyeXB0VGV4dChiYWNrdXBLZXlTaGFyZS5wcml2YXRlU2hhcmUsIGJpdGdvS2V5KTtcblxuICAgIGNvbnN0IGNyZWF0ZUJpdEdvTVBDUGFyYW1zOiBBZGRLZXljaGFpbk9wdGlvbnMgPSB7XG4gICAgICBrZXlUeXBlLFxuICAgICAgc291cmNlOiAnYml0Z28nLFxuICAgICAga2V5U2hhcmVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBmcm9tOiAndXNlcicsXG4gICAgICAgICAgdG86ICdiaXRnbycsXG4gICAgICAgICAgcHVibGljU2hhcmU6IHVzZXJLZXlTaGFyZS5wdWJsaWNTaGFyZSxcbiAgICAgICAgICBwcml2YXRlU2hhcmU6IGVuY1VzZXJUb0JpdEdvTWVzc2FnZSxcbiAgICAgICAgICBwcml2YXRlU2hhcmVQcm9vZjogdXNlcktleVNoYXJlLnByaXZhdGVTaGFyZVByb29mLFxuICAgICAgICAgIHZzc1Byb29mOiB1c2VyS2V5U2hhcmUudnNzUHJvb2YsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBmcm9tOiAnYmFja3VwJyxcbiAgICAgICAgICB0bzogJ2JpdGdvJyxcbiAgICAgICAgICBwdWJsaWNTaGFyZTogYmFja3VwS2V5U2hhcmUucHVibGljU2hhcmUsXG4gICAgICAgICAgcHJpdmF0ZVNoYXJlOiBlbmNCYWNrdXBUb0JpdEdvTWVzc2FnZSxcbiAgICAgICAgICBwcml2YXRlU2hhcmVQcm9vZjogYmFja3VwS2V5U2hhcmUucHJpdmF0ZVNoYXJlUHJvb2YsXG4gICAgICAgICAgdnNzUHJvb2Y6IGJhY2t1cEtleVNoYXJlLnZzc1Byb29mLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHVzZXJHUEdQdWJsaWNLZXk6IHVzZXJHcGdLZXkucHVibGljS2V5LFxuICAgICAgYmFja3VwR1BHUHVibGljS2V5OiBiYWNrdXBHcGdLZXkucHVibGljS2V5LFxuICAgICAgZW50ZXJwcmlzZTogZW50ZXJwcmlzZSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYmFzZUNvaW4ua2V5Y2hhaW5zKCkuYWRkKGNyZWF0ZUJpdEdvTVBDUGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIFVzZXIsIEJhY2t1cCwgYW5kIEJpdEdvIE1QQyBLZXljaGFpbnMuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMucGFzc3BocmFzZSAtIHBhc3NwaHJhc2UgdXNlZCB0byBlbmNyeXB0IHNpZ25pbmcgbWF0ZXJpYWxzIGNyZWF0ZWQgZm9yIFVzZXIgYW5kIEJhY2t1cFxuICAgKiBAcGFyYW0gcGFyYW1zLmVudGVycHJpc2UgLSBvcHRpb25hbCBlbnRlcnByaXNlIGlkIHRoYXQgd2lsbCBiZSBhdHRhY2hlZCB0byB0aGUgQml0R28gS2V5Y2hhaW5cbiAgICogQHBhcmFtIHBhcmFtcy5vcmlnaW5hbFBhc3Njb2RlRW5jcnlwdGlvbkNvZGUgLSBvcHRpb25hbCBlbmNyeXB0aW9uIGNvZGUgdXNlZCB0byByZXNldCB0aGUgdXNlcidzIHBhc3N3b3JkLCBpZiBhYnNlbnQsIHBhc3N3b3JkIHJlY292ZXJ5IHdpbGwgbm90IHdvcmtcbiAgICovXG4gIGFic3RyYWN0IGNyZWF0ZUtleWNoYWlucyhwYXJhbXM6IHtcbiAgICBwYXNzcGhyYXNlOiBzdHJpbmc7XG4gICAgZW50ZXJwcmlzZT86IHN0cmluZztcbiAgICBvcmlnaW5hbFBhc3Njb2RlRW5jcnlwdGlvbkNvZGU/OiBzdHJpbmc7XG4gIH0pOiBQcm9taXNlPEtleWNoYWluc1RyaXBsZXQ+O1xuXG4gIC8qKlxuICAgKiBUaGlzIGZ1bmN0aW9uIHdvdWxkIGJlIHJlc3BvbnNpYmxlIGZvciBwb3B1bGF0aW5nIGludGVudHNcbiAgICogYmFzZWQgb24gdGhlIHR5cGUgb2YgY29pbiAvIHNpZyBzY2hlbWUgdGhlIGNvaW4gdXNlc1xuICAgKiBAcGFyYW0ge0lCYXNlQ29pbn0gYmFzZUNvaW5cbiAgICogQHBhcmFtIHtQcmVidWlsZFRyYW5zYWN0aW9uV2l0aEludGVudE9wdGlvbnN9IHBhcmFtc1xuICAgKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgdW5rbm93bj59XG4gICAqL1xuICBwb3B1bGF0ZUludGVudChiYXNlQ29pbjogSUJhc2VDb2luLCBwYXJhbXM6IFByZWJ1aWxkVHJhbnNhY3Rpb25XaXRoSW50ZW50T3B0aW9ucyk6IFBvcHVsYXRlZEludGVudCB7XG4gICAgY29uc3QgY2hhaW4gPSB0aGlzLmJhc2VDb2luLmdldENoYWluKCk7XG5cbiAgICBpZiAocGFyYW1zLmludGVudFR5cGUgPT09ICdjdXN0b21UeCcgJiYgYmFzZUNvaW4uZ2V0RmFtaWx5KCkgPT09ICdzb2wnKSB7XG4gICAgICBjb25zdCBoYXNTb2xJbnN0cnVjdGlvbnMgPSBwYXJhbXMuc29sSW5zdHJ1Y3Rpb25zICYmIHBhcmFtcy5zb2xJbnN0cnVjdGlvbnMubGVuZ3RoID4gMDtcbiAgICAgIGNvbnN0IGhhc1ZlcnNpb25lZERhdGEgPVxuICAgICAgICBwYXJhbXMuc29sVmVyc2lvbmVkVHJhbnNhY3Rpb25EYXRhICYmXG4gICAgICAgIHBhcmFtcy5zb2xWZXJzaW9uZWRUcmFuc2FjdGlvbkRhdGEudmVyc2lvbmVkSW5zdHJ1Y3Rpb25zICYmXG4gICAgICAgIHBhcmFtcy5zb2xWZXJzaW9uZWRUcmFuc2FjdGlvbkRhdGEudmVyc2lvbmVkSW5zdHJ1Y3Rpb25zLmxlbmd0aCA+IDA7XG5cbiAgICAgIGFzc2VydChcbiAgICAgICAgaGFzU29sSW5zdHJ1Y3Rpb25zIHx8IGhhc1ZlcnNpb25lZERhdGEsXG4gICAgICAgIGAnc29sSW5zdHJ1Y3Rpb25zJyBvciAnc29sVmVyc2lvbmVkVHJhbnNhY3Rpb25EYXRhJyBpcyByZXF1aXJlZCBmb3IgY3VzdG9tVHggaW50ZW50YFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAocGFyYW1zLmludGVudFR5cGUgPT09ICdjdXN0b21UeCcgJiYgYmFzZUNvaW4uZ2V0RmFtaWx5KCkgPT09ICdhcHQnKSB7XG4gICAgICBhc3NlcnQoXG4gICAgICAgIHBhcmFtcy5hcHRvc0N1c3RvbVRyYW5zYWN0aW9uUGFyYW1zLFxuICAgICAgICBgJ2FwdG9zQ3VzdG9tVHJhbnNhY3Rpb25QYXJhbXMnIGlzIGEgcmVxdWlyZWQgcGFyYW1ldGVyIGZvciBjdXN0b21UeCBpbnRlbnRgXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChbJ3RyYW5zZmVyQWNjZXB0JywgJ3RyYW5zZmVyUmVqZWN0J10uaW5jbHVkZXMocGFyYW1zLmludGVudFR5cGUpICYmIGJhc2VDb2luLmdldEZhbWlseSgpID09PSAnY2FudG9uJykge1xuICAgICAgYXNzZXJ0KHBhcmFtcy50eFJlcXVlc3RJZCwgYCd0eFJlcXVlc3RJZCcgaXMgcmVxdWlyZWQgcGFyYW1ldGVyIGZvciAke3BhcmFtcy5pbnRlbnRUeXBlfSBpbnRlbnRgKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICAhW1xuICAgICAgICAnYWNjZWxlcmF0aW9uJyxcbiAgICAgICAgJ2ZpbGxOb25jZScsXG4gICAgICAgICd0cmFuc2ZlclRva2VuJyxcbiAgICAgICAgJ3Rva2VuQXBwcm92YWwnLFxuICAgICAgICAnY3VzdG9tVHgnLFxuICAgICAgICAndHJhbnNmZXJBY2NlcHQnLFxuICAgICAgICAndHJhbnNmZXJSZWplY3QnLFxuICAgICAgXS5pbmNsdWRlcyhwYXJhbXMuaW50ZW50VHlwZSlcbiAgICApIHtcbiAgICAgIGFzc2VydChwYXJhbXMucmVjaXBpZW50cywgYCdyZWNpcGllbnRzJyBpcyBhIHJlcXVpcmVkIHBhcmFtZXRlciBmb3IgJHtwYXJhbXMuaW50ZW50VHlwZX0gaW50ZW50YCk7XG4gICAgfVxuICAgIGNvbnN0IGludGVudFJlY2lwaWVudHMgPSBwYXJhbXMucmVjaXBpZW50cz8ubWFwKChyZWNpcGllbnQpID0+IHtcbiAgICAgIGNvbnN0IGZvcm1hdHRlZFJlY2lwaWVudDogSW50ZW50UmVjaXBpZW50ID0ge1xuICAgICAgICBhZGRyZXNzOiB7IGFkZHJlc3M6IHJlY2lwaWVudC5hZGRyZXNzIH0sXG4gICAgICAgIGFtb3VudDogeyB2YWx1ZTogYCR7cmVjaXBpZW50LmFtb3VudH1gLCBzeW1ib2w6IHJlY2lwaWVudC50b2tlbk5hbWUgPyByZWNpcGllbnQudG9rZW5OYW1lIDogY2hhaW4gfSxcbiAgICAgIH07XG5cbiAgICAgIGlmIChyZWNpcGllbnQuZGF0YSkge1xuICAgICAgICBmb3JtYXR0ZWRSZWNpcGllbnQuZGF0YSA9IHJlY2lwaWVudC5kYXRhO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB7IHRva2VuRGF0YSB9ID0gcmVjaXBpZW50O1xuICAgICAgaWYgKHRva2VuRGF0YSAmJiAodG9rZW5EYXRhLnRva2VuQ29udHJhY3RBZGRyZXNzIHx8IHRva2VuRGF0YS50b2tlbk5hbWUpKSB7XG4gICAgICAgIC8vIHRva2VuIHJlbGF0ZWQgcmVjaXBpZW50IGRhdGEgZ2V0cyB2YWxpZGF0ZWQgaW4gV1BcbiAgICAgICAgaWYgKCEodG9rZW5EYXRhLnRva2VuVHlwZSAmJiB0b2tlbkRhdGEudG9rZW5RdWFudGl0eSkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAndG9rZW4gdHlwZSBhbmQgcXVhbnRpdHkgaXMgcmVxdWlyZWQgdG8gcmVxdWVzdCBhIHRyYW5zYWN0aW9uIHdpdGggaW50ZW50IHRvIHRyYW5zZmVyIGEgdG9rZW4nXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB0b2tlbkRhdGEudG9rZW5OYW1lID0gdGhpcy5nZXRUb2tlbk5hbWUoYmFzZUNvaW4sIHRva2VuRGF0YSk7XG4gICAgICAgIGlmICh0b2tlbkRhdGEudG9rZW5OYW1lKSB7XG4gICAgICAgICAgZm9ybWF0dGVkUmVjaXBpZW50LmFtb3VudC5zeW1ib2wgPSB0b2tlbkRhdGEudG9rZW5OYW1lO1xuICAgICAgICB9XG4gICAgICAgIGZvcm1hdHRlZFJlY2lwaWVudC50b2tlbkRhdGEgPSB0b2tlbkRhdGE7XG4gICAgICB9XG4gICAgICByZXR1cm4gZm9ybWF0dGVkUmVjaXBpZW50O1xuICAgIH0pO1xuXG4gICAgY29uc3QgYmFzZUludGVudDogUG9wdWxhdGVkSW50ZW50ID0ge1xuICAgICAgaW50ZW50VHlwZTogcGFyYW1zLmludGVudFR5cGUsXG4gICAgICBzZXF1ZW5jZUlkOiBwYXJhbXMuc2VxdWVuY2VJZCxcbiAgICAgIGNvbW1lbnQ6IHBhcmFtcy5jb21tZW50LFxuICAgICAgbm9uY2U6IHBhcmFtcy5ub25jZSxcbiAgICAgIHJlY2lwaWVudHM6IGludGVudFJlY2lwaWVudHMsXG4gICAgICB0b2tlbk5hbWU6IHBhcmFtcy50b2tlbk5hbWUsXG4gICAgICBpc1Rlc3RUcmFuc2FjdGlvbjogcGFyYW1zLmlzVGVzdFRyYW5zYWN0aW9uLFxuICAgIH07XG5cbiAgICBpZiAoWydldGgnLCAncG9seWdvbicsICdic2MnLCAnY29yZWRhbycsICdzZWlldm0nXS5pbmNsdWRlcyhiYXNlQ29pbi5nZXRGYW1pbHkoKSkpIHtcbiAgICAgIHN3aXRjaCAocGFyYW1zLmludGVudFR5cGUpIHtcbiAgICAgICAgY2FzZSAncGF5bWVudCc6XG4gICAgICAgIGNhc2UgJ3RyYW5zZmVyVG9rZW4nOlxuICAgICAgICBjYXNlICdmaWxsTm9uY2UnOlxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5iYXNlSW50ZW50LFxuICAgICAgICAgICAgc2VsZlNlbmQ6IHBhcmFtcy5zZWxmU2VuZCxcbiAgICAgICAgICAgIGZlZU9wdGlvbnM6IHBhcmFtcy5mZWVPcHRpb25zLFxuICAgICAgICAgICAgaG9wUGFyYW1zOiBwYXJhbXMuaG9wUGFyYW1zLFxuICAgICAgICAgICAgaXNUc3M6IHBhcmFtcy5pc1RzcyxcbiAgICAgICAgICAgIG5vbmNlOiBwYXJhbXMubm9uY2UsXG4gICAgICAgICAgICBjdXN0b2RpYW5UcmFuc2FjdGlvbklkOiBwYXJhbXMuY3VzdG9kaWFuVHJhbnNhY3Rpb25JZCxcbiAgICAgICAgICAgIHJlY2VpdmVBZGRyZXNzOiBwYXJhbXMucmVjZWl2ZUFkZHJlc3MsXG4gICAgICAgICAgfTtcbiAgICAgICAgY2FzZSAnYWNjZWxlcmF0aW9uJzpcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uYmFzZUludGVudCxcbiAgICAgICAgICAgIHR4aWQ6IHBhcmFtcy5sb3dGZWVUeGlkLFxuICAgICAgICAgICAgcmVjZWl2ZUFkZHJlc3M6IHBhcmFtcy5yZWNlaXZlQWRkcmVzcyxcbiAgICAgICAgICAgIGZlZU9wdGlvbnM6IHBhcmFtcy5mZWVPcHRpb25zLFxuICAgICAgICAgIH07XG4gICAgICAgIGNhc2UgJ3Rva2VuQXBwcm92YWwnOlxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5iYXNlSW50ZW50LFxuICAgICAgICAgICAgdG9rZW5OYW1lOiBwYXJhbXMudG9rZW5OYW1lLFxuICAgICAgICAgICAgZmVlT3B0aW9uczogcGFyYW1zLmZlZU9wdGlvbnMsXG4gICAgICAgICAgfTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIGludGVudCB0eXBlICR7cGFyYW1zLmludGVudFR5cGV9YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5iYXNlQ29pbi5zZXRDb2luU3BlY2lmaWNGaWVsZHNJbkludGVudChiYXNlSW50ZW50LCBwYXJhbXMpO1xuXG4gICAgaWYgKHBhcmFtcy5mZWVPcHRpb25zICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmJhc2VJbnRlbnQsXG4gICAgICAgIG1lbW86IHBhcmFtcy5tZW1vPy52YWx1ZSxcbiAgICAgICAgdG9rZW46IHBhcmFtcy50b2tlbk5hbWUsXG4gICAgICAgIGVuYWJsZVRva2VuczogcGFyYW1zLmVuYWJsZVRva2VucyxcbiAgICAgICAgZmVlT3B0aW9uczogcGFyYW1zLmZlZU9wdGlvbnMsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5iYXNlSW50ZW50LFxuICAgICAgbWVtbzogcGFyYW1zLm1lbW8/LnZhbHVlLFxuICAgICAgdG9rZW46IHBhcmFtcy50b2tlbk5hbWUsXG4gICAgICBlbmFibGVUb2tlbnM6IHBhcmFtcy5lbmFibGVUb2tlbnMsXG4gICAgfTtcbiAgfVxuXG4gIGdldFRva2VuTmFtZShiYXNlQ29pbjogSUJhc2VDb2luLCB0b2tlbkRhdGE6IFRva2VuVHJhbnNmZXJSZWNpcGllbnRQYXJhbXMpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICh0b2tlbkRhdGEudG9rZW5OYW1lKSB7XG4gICAgICByZXR1cm4gdG9rZW5EYXRhLnRva2VuTmFtZTtcbiAgICB9XG4gICAgY29uc3QgbmV0d29ya1ByZWZpeCA9IGJhc2VDb2luLmdldENvbmZpZygpLm5ldHdvcmsudHlwZSA9PT0gTmV0d29ya1R5cGUuVEVTVE5FVCA/ICd0JyA6ICcnO1xuICAgIGNvbnN0IHRva2VuU3RhdGljc0tleSA9IGAke25ldHdvcmtQcmVmaXh9JHtiYXNlQ29pbi5nZXRGYW1pbHkoKX06JHt0b2tlbkRhdGEudG9rZW5Db250cmFjdEFkZHJlc3N9YDtcbiAgICBpZiAoY29pbnMuaGFzKHRva2VuU3RhdGljc0tleSkpIHtcbiAgICAgIGNvbnN0IHRva2VuU3RhdGljcyA9IGNvaW5zLmdldCh0b2tlblN0YXRpY3NLZXkpO1xuICAgICAgdG9rZW5EYXRhLnRva2VuTmFtZSA9IHRva2VuU3RhdGljcy5uYW1lO1xuICAgIH1cbiAgICByZXR1cm4gdG9rZW5EYXRhLnRva2VuTmFtZTtcbiAgfVxufVxuIl19
|
|
@@ -20,4 +20,18 @@ export declare function extractCommonKeychain(keychains: TssVerifyAddressOptions
|
|
|
20
20
|
* @throws {Error} if required parameters are missing or invalid
|
|
21
21
|
*/
|
|
22
22
|
export declare function verifyEddsaTssWalletAddress(params: TssVerifyAddressOptions, isValidAddress: (address: string) => boolean, getAddressFromPublicKey: (publicKey: string) => string): Promise<boolean>;
|
|
23
|
+
/**
|
|
24
|
+
* Verifies if an address belongs to a wallet using ECDSA TSS MPC derivation.
|
|
25
|
+
* This is a common implementation for ECDSA-based MPC coins (ETH, BTC, etc.)
|
|
26
|
+
*
|
|
27
|
+
* @param params - Verification options including keychains, address, and derivation index
|
|
28
|
+
* @param isValidAddress - Coin-specific function to validate address format
|
|
29
|
+
* @param getAddressFromPublicKey - Coin-specific function to convert public key to address
|
|
30
|
+
* @returns true if the address matches the derived address, false otherwise
|
|
31
|
+
* @throws {InvalidAddressError} if the address is invalid
|
|
32
|
+
* @throws {Error} if required parameters are missing or invalid
|
|
33
|
+
*/
|
|
34
|
+
export declare function verifyMPCWalletAddress(params: TssVerifyAddressOptions & {
|
|
35
|
+
keyCurve: 'secp256k1' | 'ed25519';
|
|
36
|
+
}, isValidAddress: (address: string) => boolean, getAddressFromPublicKey: (publicKey: string) => string): Promise<boolean>;
|
|
23
37
|
//# sourceMappingURL=addressVerification.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addressVerification.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/utils/tss/addressVerification.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"addressVerification.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/utils/tss/addressVerification.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAInE;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,uBAAuB,CAAC,WAAW,CAAC,GAAG,MAAM,CAe7F;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,uBAAuB,EAC/B,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,EAC5C,uBAAuB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GACrD,OAAO,CAAC,OAAO,CAAC,CAElB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,uBAAuB,GAAG;IAChC,QAAQ,EAAE,WAAW,GAAG,SAAS,CAAC;CACnC,EACD,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,EAC5C,uBAAuB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GACrD,OAAO,CAAC,OAAO,CAAC,CAkBlB"}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.extractCommonKeychain = extractCommonKeychain;
|
|
4
4
|
exports.verifyEddsaTssWalletAddress = verifyEddsaTssWalletAddress;
|
|
5
|
+
exports.verifyMPCWalletAddress = verifyMPCWalletAddress;
|
|
6
|
+
const mpc_1 = require("../../../account-lib/mpc");
|
|
5
7
|
const errors_1 = require("../../errors");
|
|
6
8
|
const tss_1 = require("../../tss");
|
|
7
9
|
/**
|
|
@@ -37,15 +39,31 @@ function extractCommonKeychain(keychains) {
|
|
|
37
39
|
* @throws {Error} if required parameters are missing or invalid
|
|
38
40
|
*/
|
|
39
41
|
async function verifyEddsaTssWalletAddress(params, isValidAddress, getAddressFromPublicKey) {
|
|
42
|
+
return verifyMPCWalletAddress({ ...params, keyCurve: 'ed25519' }, isValidAddress, getAddressFromPublicKey);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Verifies if an address belongs to a wallet using ECDSA TSS MPC derivation.
|
|
46
|
+
* This is a common implementation for ECDSA-based MPC coins (ETH, BTC, etc.)
|
|
47
|
+
*
|
|
48
|
+
* @param params - Verification options including keychains, address, and derivation index
|
|
49
|
+
* @param isValidAddress - Coin-specific function to validate address format
|
|
50
|
+
* @param getAddressFromPublicKey - Coin-specific function to convert public key to address
|
|
51
|
+
* @returns true if the address matches the derived address, false otherwise
|
|
52
|
+
* @throws {InvalidAddressError} if the address is invalid
|
|
53
|
+
* @throws {Error} if required parameters are missing or invalid
|
|
54
|
+
*/
|
|
55
|
+
async function verifyMPCWalletAddress(params, isValidAddress, getAddressFromPublicKey) {
|
|
40
56
|
const { keychains, address, index } = params;
|
|
41
57
|
if (!isValidAddress(address)) {
|
|
42
58
|
throw new errors_1.InvalidAddressError(`invalid address: ${address}`);
|
|
43
59
|
}
|
|
60
|
+
const MPC = params.keyCurve === 'secp256k1' ? new mpc_1.Ecdsa() : await tss_1.EDDSAMethods.getInitializedMpcInstance();
|
|
44
61
|
const commonKeychain = extractCommonKeychain(keychains);
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
const
|
|
48
|
-
const
|
|
62
|
+
const derivedPublicKey = MPC.deriveUnhardened(commonKeychain, 'm/' + index);
|
|
63
|
+
// secp256k1 expects 33 bytes; ed25519 expects 32 bytes
|
|
64
|
+
const publicKeySize = params.keyCurve === 'secp256k1' ? 33 : 32;
|
|
65
|
+
const publicKeyOnly = Buffer.from(derivedPublicKey, 'hex').subarray(0, publicKeySize).toString('hex');
|
|
66
|
+
const expectedAddress = getAddressFromPublicKey(publicKeyOnly);
|
|
49
67
|
return address === expectedAddress;
|
|
50
68
|
}
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzc1ZlcmlmaWNhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iaXRnby91dGlscy90c3MvYWRkcmVzc1ZlcmlmaWNhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWFBLHNEQWVDO0FBYUQsa0VBTUM7QUFhRCx3REF3QkM7QUFwRkQsa0RBQWlEO0FBRWpELHlDQUFtRDtBQUNuRCxtQ0FBeUM7QUFFekM7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLHFCQUFxQixDQUFDLFNBQStDO0lBQ25GLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDO0lBQ25ELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELG9EQUFvRDtJQUNwRCxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxjQUFjLEtBQUssY0FBYyxDQUFDO1FBQzlELE1BQU0sSUFBSSxLQUFLLENBQUMsK0RBQStELENBQUMsQ0FBQztJQUVuRixPQUFPLGNBQWMsQ0FBQztBQUN4QixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNJLEtBQUssVUFBVSwyQkFBMkIsQ0FDL0MsTUFBK0IsRUFDL0IsY0FBNEMsRUFDNUMsdUJBQXNEO0lBRXRELE9BQU8sc0JBQXNCLENBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEVBQUUsY0FBYyxFQUFFLHVCQUF1QixDQUFDLENBQUM7QUFDN0csQ0FBQztBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSSxLQUFLLFVBQVUsc0JBQXNCLENBQzFDLE1BRUMsRUFDRCxjQUE0QyxFQUM1Qyx1QkFBc0Q7SUFFdEQsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBRTdDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUM3QixNQUFNLElBQUksNEJBQW1CLENBQUMsb0JBQW9CLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLGtCQUFZLENBQUMseUJBQXlCLEVBQUUsQ0FBQztJQUMzRyxNQUFNLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4RCxNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDO0lBRTVFLHVEQUF1RDtJQUN2RCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsUUFBUSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDaEUsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUV0RyxNQUFNLGVBQWUsR0FBRyx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUUvRCxPQUFPLE9BQU8sS0FBSyxlQUFlLENBQUM7QUFDckMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVjZHNhIH0gZnJvbSAnLi4vLi4vLi4vYWNjb3VudC1saWIvbXBjJztcbmltcG9ydCB7IFRzc1ZlcmlmeUFkZHJlc3NPcHRpb25zIH0gZnJvbSAnLi4vLi4vYmFzZUNvaW4vaUJhc2VDb2luJztcbmltcG9ydCB7IEludmFsaWRBZGRyZXNzRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcnMnO1xuaW1wb3J0IHsgRUREU0FNZXRob2RzIH0gZnJvbSAnLi4vLi4vdHNzJztcblxuLyoqXG4gKiBFeHRyYWN0cyBhbmQgdmFsaWRhdGVzIHRoZSBjb21tb25LZXljaGFpbiBmcm9tIGtleWNoYWlucyBhcnJheS5cbiAqIEZvciBNUEMgd2FsbGV0cywgYWxsIGtleWNoYWlucyBzaG91bGQgaGF2ZSB0aGUgc2FtZSBjb21tb25LZXljaGFpbi5cbiAqXG4gKiBAcGFyYW0ga2V5Y2hhaW5zIC0gQXJyYXkgb2Yga2V5Y2hhaW5zIGNvbnRhaW5pbmcgY29tbW9uS2V5Y2hhaW5cbiAqIEByZXR1cm5zIFRoZSB2YWxpZGF0ZWQgY29tbW9uS2V5Y2hhaW5cbiAqIEB0aHJvd3Mge0Vycm9yfSBpZiBrZXljaGFpbnMgYXJlIG1pc3NpbmcsIGVtcHR5LCBvciBoYXZlIG1pc21hdGNoZWQgY29tbW9uS2V5Y2hhaW5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0Q29tbW9uS2V5Y2hhaW4oa2V5Y2hhaW5zOiBUc3NWZXJpZnlBZGRyZXNzT3B0aW9uc1sna2V5Y2hhaW5zJ10pOiBzdHJpbmcge1xuICBpZiAoIWtleWNoYWlucz8ubGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHJlcXVpcmVkIHBhcmFtIGtleWNoYWlucycpO1xuICB9XG5cbiAgY29uc3QgY29tbW9uS2V5Y2hhaW4gPSBrZXljaGFpbnNbMF0uY29tbW9uS2V5Y2hhaW47XG4gIGlmICghY29tbW9uS2V5Y2hhaW4pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgcmVxdWlyZWQgcGFyYW0gY29tbW9uS2V5Y2hhaW4nKTtcbiAgfVxuXG4gIC8vIFZlcmlmeSBhbGwga2V5Y2hhaW5zIGhhdmUgdGhlIHNhbWUgY29tbW9uS2V5Y2hhaW5cbiAgaWYgKGtleWNoYWlucy5maW5kKChrYykgPT4ga2MuY29tbW9uS2V5Y2hhaW4gIT09IGNvbW1vbktleWNoYWluKSlcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2FsbCBrZXljaGFpbnMgbXVzdCBoYXZlIHRoZSBzYW1lIGNvbW1vbktleWNoYWluIGZvciBNUEMgY29pbnMnKTtcblxuICByZXR1cm4gY29tbW9uS2V5Y2hhaW47XG59XG5cbi8qKlxuICogVmVyaWZpZXMgaWYgYW4gYWRkcmVzcyBiZWxvbmdzIHRvIGEgd2FsbGV0IHVzaW5nIEVkRFNBIFRTUyBNUEMgZGVyaXZhdGlvbi5cbiAqIFRoaXMgaXMgYSBjb21tb24gaW1wbGVtZW50YXRpb24gZm9yIEVkRFNBLWJhc2VkIE1QQyBjb2lucyAoU09MLCBET1QsIFNVSSwgVE9OLCBJT1RBLCBldGMuKVxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBWZXJpZmljYXRpb24gb3B0aW9ucyBpbmNsdWRpbmcga2V5Y2hhaW5zLCBhZGRyZXNzLCBhbmQgZGVyaXZhdGlvbiBpbmRleFxuICogQHBhcmFtIGlzVmFsaWRBZGRyZXNzIC0gQ29pbi1zcGVjaWZpYyBmdW5jdGlvbiB0byB2YWxpZGF0ZSBhZGRyZXNzIGZvcm1hdFxuICogQHBhcmFtIGdldEFkZHJlc3NGcm9tUHVibGljS2V5IC0gQ29pbi1zcGVjaWZpYyBmdW5jdGlvbiB0byBjb252ZXJ0IHB1YmxpYyBrZXkgdG8gYWRkcmVzc1xuICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgYWRkcmVzcyBtYXRjaGVzIHRoZSBkZXJpdmVkIGFkZHJlc3MsIGZhbHNlIG90aGVyd2lzZVxuICogQHRocm93cyB7SW52YWxpZEFkZHJlc3NFcnJvcn0gaWYgdGhlIGFkZHJlc3MgaXMgaW52YWxpZFxuICogQHRocm93cyB7RXJyb3J9IGlmIHJlcXVpcmVkIHBhcmFtZXRlcnMgYXJlIG1pc3Npbmcgb3IgaW52YWxpZFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdmVyaWZ5RWRkc2FUc3NXYWxsZXRBZGRyZXNzKFxuICBwYXJhbXM6IFRzc1ZlcmlmeUFkZHJlc3NPcHRpb25zLFxuICBpc1ZhbGlkQWRkcmVzczogKGFkZHJlc3M6IHN0cmluZykgPT4gYm9vbGVhbixcbiAgZ2V0QWRkcmVzc0Zyb21QdWJsaWNLZXk6IChwdWJsaWNLZXk6IHN0cmluZykgPT4gc3RyaW5nXG4pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgcmV0dXJuIHZlcmlmeU1QQ1dhbGxldEFkZHJlc3MoeyAuLi5wYXJhbXMsIGtleUN1cnZlOiAnZWQyNTUxOScgfSwgaXNWYWxpZEFkZHJlc3MsIGdldEFkZHJlc3NGcm9tUHVibGljS2V5KTtcbn1cblxuLyoqXG4gKiBWZXJpZmllcyBpZiBhbiBhZGRyZXNzIGJlbG9uZ3MgdG8gYSB3YWxsZXQgdXNpbmcgRUNEU0EgVFNTIE1QQyBkZXJpdmF0aW9uLlxuICogVGhpcyBpcyBhIGNvbW1vbiBpbXBsZW1lbnRhdGlvbiBmb3IgRUNEU0EtYmFzZWQgTVBDIGNvaW5zIChFVEgsIEJUQywgZXRjLilcbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVmVyaWZpY2F0aW9uIG9wdGlvbnMgaW5jbHVkaW5nIGtleWNoYWlucywgYWRkcmVzcywgYW5kIGRlcml2YXRpb24gaW5kZXhcbiAqIEBwYXJhbSBpc1ZhbGlkQWRkcmVzcyAtIENvaW4tc3BlY2lmaWMgZnVuY3Rpb24gdG8gdmFsaWRhdGUgYWRkcmVzcyBmb3JtYXRcbiAqIEBwYXJhbSBnZXRBZGRyZXNzRnJvbVB1YmxpY0tleSAtIENvaW4tc3BlY2lmaWMgZnVuY3Rpb24gdG8gY29udmVydCBwdWJsaWMga2V5IHRvIGFkZHJlc3NcbiAqIEByZXR1cm5zIHRydWUgaWYgdGhlIGFkZHJlc3MgbWF0Y2hlcyB0aGUgZGVyaXZlZCBhZGRyZXNzLCBmYWxzZSBvdGhlcndpc2VcbiAqIEB0aHJvd3Mge0ludmFsaWRBZGRyZXNzRXJyb3J9IGlmIHRoZSBhZGRyZXNzIGlzIGludmFsaWRcbiAqIEB0aHJvd3Mge0Vycm9yfSBpZiByZXF1aXJlZCBwYXJhbWV0ZXJzIGFyZSBtaXNzaW5nIG9yIGludmFsaWRcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHZlcmlmeU1QQ1dhbGxldEFkZHJlc3MoXG4gIHBhcmFtczogVHNzVmVyaWZ5QWRkcmVzc09wdGlvbnMgJiB7XG4gICAga2V5Q3VydmU6ICdzZWNwMjU2azEnIHwgJ2VkMjU1MTknO1xuICB9LFxuICBpc1ZhbGlkQWRkcmVzczogKGFkZHJlc3M6IHN0cmluZykgPT4gYm9vbGVhbixcbiAgZ2V0QWRkcmVzc0Zyb21QdWJsaWNLZXk6IChwdWJsaWNLZXk6IHN0cmluZykgPT4gc3RyaW5nXG4pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgY29uc3QgeyBrZXljaGFpbnMsIGFkZHJlc3MsIGluZGV4IH0gPSBwYXJhbXM7XG5cbiAgaWYgKCFpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQWRkcmVzc0Vycm9yKGBpbnZhbGlkIGFkZHJlc3M6ICR7YWRkcmVzc31gKTtcbiAgfVxuXG4gIGNvbnN0IE1QQyA9IHBhcmFtcy5rZXlDdXJ2ZSA9PT0gJ3NlY3AyNTZrMScgPyBuZXcgRWNkc2EoKSA6IGF3YWl0IEVERFNBTWV0aG9kcy5nZXRJbml0aWFsaXplZE1wY0luc3RhbmNlKCk7XG4gIGNvbnN0IGNvbW1vbktleWNoYWluID0gZXh0cmFjdENvbW1vbktleWNoYWluKGtleWNoYWlucyk7XG4gIGNvbnN0IGRlcml2ZWRQdWJsaWNLZXkgPSBNUEMuZGVyaXZlVW5oYXJkZW5lZChjb21tb25LZXljaGFpbiwgJ20vJyArIGluZGV4KTtcblxuICAvLyBzZWNwMjU2azEgZXhwZWN0cyAzMyBieXRlczsgZWQyNTUxOSBleHBlY3RzIDMyIGJ5dGVzXG4gIGNvbnN0IHB1YmxpY0tleVNpemUgPSBwYXJhbXMua2V5Q3VydmUgPT09ICdzZWNwMjU2azEnID8gMzMgOiAzMjtcbiAgY29uc3QgcHVibGljS2V5T25seSA9IEJ1ZmZlci5mcm9tKGRlcml2ZWRQdWJsaWNLZXksICdoZXgnKS5zdWJhcnJheSgwLCBwdWJsaWNLZXlTaXplKS50b1N0cmluZygnaGV4Jyk7XG5cbiAgY29uc3QgZXhwZWN0ZWRBZGRyZXNzID0gZ2V0QWRkcmVzc0Zyb21QdWJsaWNLZXkocHVibGljS2V5T25seSk7XG5cbiAgcmV0dXJuIGFkZHJlc3MgPT09IGV4cGVjdGVkQWRkcmVzcztcbn1cbiJdfQ==
|