@bitgo/sdk-core 29.0.0 → 30.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +4 -4
- package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/eddsa/eddsa.js +2 -3
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts +0 -10
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/baseCoin.js +1 -15
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +0 -2
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/iBaseCoin.js +1 -1
- package/dist/src/bitgo/environments.d.ts.map +1 -1
- package/dist/src/bitgo/environments.js +11 -3
- package/dist/src/bitgo/utils/opengpgUtils.js +4 -4
- package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/base.js +9 -5
- package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts +22 -22
- package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +9 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -9
|
@@ -7,4 +7,4 @@ var SignTypedDataVersion;
|
|
|
7
7
|
SignTypedDataVersion["V3"] = "V3";
|
|
8
8
|
SignTypedDataVersion["V4"] = "V4";
|
|
9
9
|
})(SignTypedDataVersion || (exports.SignTypedDataVersion = SignTypedDataVersion = {}));
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaUJhc2VDb2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL2Jhc2VDb2luL2lCYXNlQ29pbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFnU0EsSUFBWSxvQkFJWDtBQUpELFdBQVksb0JBQW9CO0lBQzlCLGlDQUFTLENBQUE7SUFDVCxpQ0FBUyxDQUFBO0lBQ1QsaUNBQVMsQ0FBQTtBQUNYLENBQUMsRUFKVyxvQkFBb0Isb0NBQXBCLG9CQUFvQixRQUkvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIFN0YXRpY3NCYXNlQ29pbiwgQmFzZVRva2VuQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgSVJlcXVlc3RUcmFjZXIgfSBmcm9tICcuLi8uLi9hcGknO1xuaW1wb3J0IHsgSUVudGVycHJpc2VzIH0gZnJvbSAnLi4vZW50ZXJwcmlzZSc7XG5pbXBvcnQgeyBJS2V5Y2hhaW5zLCBLZXljaGFpbiB9IGZyb20gJy4uL2tleWNoYWluJztcbmltcG9ydCB7IElNYXJrZXRzIH0gZnJvbSAnLi4vbWFya2V0JztcbmltcG9ydCB7IElQZW5kaW5nQXBwcm92YWxzIH0gZnJvbSAnLi4vcGVuZGluZ0FwcHJvdmFsJztcbmltcG9ydCB7IEluaXRpYXRlUmVjb3ZlcnlPcHRpb25zIH0gZnJvbSAnLi4vcmVjb3ZlcnknO1xuaW1wb3J0IHsgRWNkc2FNUEN2MlV0aWxzLCBFY2RzYVV0aWxzIH0gZnJvbSAnLi4vdXRpbHMvdHNzL2VjZHNhJztcbmltcG9ydCBFZGRzYVV0aWxzLCB7IFByZWJ1aWxkVHJhbnNhY3Rpb25XaXRoSW50ZW50T3B0aW9ucywgVHhSZXF1ZXN0IH0gZnJvbSAnLi4vdXRpbHMvdHNzL2VkZHNhJztcbmltcG9ydCB7IENyZWF0ZUFkZHJlc3NGb3JtYXQsIEN1c3RvbVNpZ25pbmdGdW5jdGlvbiwgSVdhbGxldCwgSVdhbGxldHMsIFdhbGxldCwgV2FsbGV0RGF0YSB9IGZyb20gJy4uL3dhbGxldCc7XG5cbmltcG9ydCB7IElXZWJob29rcyB9IGZyb20gJy4uL3dlYmhvb2svaVdlYmhvb2tzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJy4uLy4uL2FjY291bnQtbGliJztcbmltcG9ydCB7IElJbnNjcmlwdGlvbkJ1aWxkZXIgfSBmcm9tICcuLi9pbnNjcmlwdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgSGFzaCB9IGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgeyBNUENUeCwgUG9wdWxhdGVkSW50ZW50IH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE91dHB1dCBleHRlbmRzIElUcmFuc2FjdGlvblJlY2lwaWVudCB7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgLy8gb2YgZm9ybSBjb2luOnRva2VuXG4gIGNvaW5OYW1lPzogc3RyaW5nO1xuICBpc1BheUdvPzogYm9vbGVhbjtcbiAgdmFsdWU/OiBudW1iZXI7XG4gIHdhbGxldD86IHN0cmluZzsgLy8gVHlwZXMuT2JqZWN0SWQ7XG4gIHdhbGxldFYxPzogc3RyaW5nOyAvLyBUeXBlcy5PYmplY3RJZDtcbiAgYmFzZUFkZHJlc3M/OiBzdHJpbmc7XG4gIGVudGVycHJpc2U/OiBzdHJpbmc7IC8vIFR5cGVzLk9iamVjdElkO1xuICB2YWx1ZVN0cmluZzogc3RyaW5nO1xuICBkYXRhPzogc3RyaW5nO1xuICAvLyBcImNoYW5nZVwiIGlzIGEgdXR4by1zcGVjaWZpYyBjb25jZXB0IGFuZCB0aGlzIHByb3BlcnR5IHNob3VsZFxuICAvLyBiZSByZW1vdmVkIG9uY2UgaXQgaXQncyB1c2FnZSBpcyByZWZhY3RvcmVkIG91dCBvZiBiYXNlIGNvaW4gbG9naWNcbiAgY2hhbmdlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgSW5wdXQgPSB7XG4gIGRlcml2YXRpb25JbmRleD86IG51bWJlcjtcbiAgdmFsdWU6IG51bWJlcjtcbiAgYWRkcmVzcz86IHN0cmluZztcbiAgdmFsdWVTdHJpbmc6IHN0cmluZztcbiAgLy8gdGhlIHByb3BlcnRpZXMgYmVsb3cgYXJlIHV0eG8tcmVsYXRlZCBidXQgYXJlIGN1cnJlbnRseSB1c2VkIGluIGFic3RyYWN0QmFzZUNvaW5cbiAgLy8gdGhlc2Ugc2hvdWxkIGJlIHJlbW92ZWQgb25jZSB0aGVpciB1c2FnZSBpcyByZW1vdmVkIGZyb20gdGhlIGJhc2UgY29pbiBjbGFzc1xuICBjaGFpbj86IG51bWJlcjtcbiAgaW5kZXg/OiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBVbnNpZ25lZFRyYW5zYWN0aW9uID0ge1xuICAvLyB1bnNpZ25lZCB0cmFuc2FjdGlvbiBpbiBicm9hZGNhc3QgZm9ybWF0XG4gIHNlcmlhbGl6ZWRUeEhleDogc3RyaW5nO1xuICAvLyBwb3J0aW9uIG9mIGEgdHJhbnNhY3Rpb24gdXNlZCB0byBnZW5lcmF0ZSBhIHNpZ25hdHVyZVxuICBzaWduYWJsZUhleDogc3RyaW5nO1xuICAvLyB0cmFuc2FjdGlvbiBmZWVzXG4gIGZlZUluZm8/OiB7XG4gICAgZmVlOiBudW1iZXIgfCBCaWdOdW1iZXI7XG4gICAgZmVlU3RyaW5nOiBzdHJpbmc7XG4gIH07XG4gIC8vIGRlcml2YXRpb24gcGF0aCBvZiB0aGUgc2lnbmVyXG4gIGRlcml2YXRpb25QYXRoOiBzdHJpbmc7XG4gIGNvaW5TcGVjaWZpYz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBlbnRyeVZhbHVlczogYW55O1xuICBwYXJzZWRUeDogVW5zaWduZWRQYXJzZWRUcmFuc2FjdGlvbjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXhwbGFuYXRpb25SZXN1bHQgZXh0ZW5kcyBJVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gIHNlcXVlbmNlSWQ6IG51bWJlcjtcbiAgdHlwZT86IHN0cmluZztcbiAgb3V0cHV0czogT3V0cHV0W107XG4gIGJsb2NrTnVtYmVyOiBudW1iZXIgfCB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2FjdGlvblJlY2lwaWVudCB7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgYW1vdW50OiBzdHJpbmcgfCBudW1iZXI7XG4gIHRva2VuTmFtZT86IHN0cmluZztcbiAgbWVtbz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVHJhbnNhY3Rpb25GZWU8VEFtb3VudCA9IHN0cmluZz4ge1xuICBmZWU6IFRBbW91bnQ7XG4gIGZlZVJhdGU/OiBudW1iZXI7XG4gIHNpemU/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRyYW5zYWN0aW9uRXhwbGFuYXRpb248VEZlZSA9IGFueSwgVEFtb3VudCA9IGFueT4ge1xuICAvKiogQGRlcHJlY2F0ZWQgKi9cbiAgZGlzcGxheU9yZGVyPzogc3RyaW5nW107XG4gIGlkOiBzdHJpbmc7XG4gIC8qKiBOT1RFOiBFeHRlcm5hbCByZWNpcGllbnRzICovXG4gIG91dHB1dHM6IElUcmFuc2FjdGlvblJlY2lwaWVudFtdO1xuICAvKiogTk9URTogRXh0ZXJuYWwgYW1vdW50ICovXG4gIG91dHB1dEFtb3VudDogVEFtb3VudDtcbiAgY2hhbmdlT3V0cHV0czogSVRyYW5zYWN0aW9uUmVjaXBpZW50W107XG4gIGNoYW5nZUFtb3VudDogVEFtb3VudDtcbiAgZmVlOiBURmVlO1xuICBwcm94eT86IHN0cmluZztcbiAgcHJvZHVjZXJzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgS2V5UGFpciB7XG4gIHB1Yj86IHN0cmluZztcbiAgcHJ2OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJsc0tleVBhaXIgZXh0ZW5kcyBLZXlQYWlyIHtcbiAgc2VjcmV0U2hhcmVzPzogc3RyaW5nW107XG4gIGNoYWluY29kZTogc3RyaW5nO1xuICBzZWVkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeUFkZHJlc3NPcHRpb25zIHtcbiAgZm9ybWF0PzogQ3JlYXRlQWRkcmVzc0Zvcm1hdDtcbiAgYWRkcmVzczogc3RyaW5nO1xuICBhZGRyZXNzVHlwZT86IHN0cmluZztcbiAga2V5Y2hhaW5zPzoge1xuICAgIHB1Yjogc3RyaW5nO1xuICAgIGNvbW1vbktleWNoYWluPzogc3RyaW5nO1xuICB9W107XG4gIGVycm9yPzogc3RyaW5nO1xuICBjb2luU3BlY2lmaWM/OiBBZGRyZXNzQ29pblNwZWNpZmljO1xuICBpbXBsaWVkRm9yd2FyZGVyVmVyc2lvbj86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUc3NWZXJpZnlBZGRyZXNzT3B0aW9ucyBleHRlbmRzIFZlcmlmeUFkZHJlc3NPcHRpb25zIHtcbiAgY2hhaW46IHN0cmluZztcbiAgaW5kZXg6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvblBhcmFtcyB7XG4gIHJlY2lwaWVudHM/OiBJVHJhbnNhY3Rpb25SZWNpcGllbnRbXTtcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbiAgdHlwZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZGRyZXNzVmVyaWZpY2F0aW9uRGF0YSB7XG4gIGNvaW5TcGVjaWZpYz86IEFkZHJlc3NDb2luU3BlY2lmaWM7XG4gIGNoYWluPzogbnVtYmVyO1xuICBpbmRleD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWZXJpZmljYXRpb25PcHRpb25zIHtcbiAgZGlzYWJsZU5ldHdvcmtpbmc/OiBib29sZWFuO1xuICBrZXljaGFpbnM/OiB7XG4gICAgdXNlcj86IEtleWNoYWluO1xuICAgIGJhY2t1cD86IEtleWNoYWluO1xuICAgIGJpdGdvPzogS2V5Y2hhaW47XG4gIH07XG4gIGFkZHJlc3Nlcz86IHsgW2FkZHJlc3M6IHN0cmluZ106IEFkZHJlc3NWZXJpZmljYXRpb25EYXRhIH07XG4gIGFsbG93UGF5Z29PdXRwdXQ/OiBib29sZWFuO1xuICBjb25zaWRlck1pZ3JhdGVkRnJvbUFkZHJlc3NJbnRlcm5hbD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgdHhQcmVidWlsZDogVHJhbnNhY3Rpb25QcmVidWlsZDtcbiAgdHhQYXJhbXM6IFRyYW5zYWN0aW9uUGFyYW1zO1xuICB3YWxsZXQ6IFdhbGxldDtcbiAgdmVyaWZpY2F0aW9uPzogVmVyaWZpY2F0aW9uT3B0aW9ucztcbiAgcmVxSWQ/OiBJUmVxdWVzdFRyYWNlcjtcbiAgd2FsbGV0VHlwZT86ICdvbmNoYWluJyB8ICd0c3MnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN1cHBsZW1lbnRHZW5lcmF0ZVdhbGxldE9wdGlvbnMge1xuICBsYWJlbDogc3RyaW5nO1xuICBtPzogbnVtYmVyO1xuICBuPzogbnVtYmVyO1xuICBlbnRlcnByaXNlPzogc3RyaW5nO1xuICBkaXNhYmxlVHJhbnNhY3Rpb25Ob3RpZmljYXRpb25zPzogYm9vbGVhbjtcbiAgZ2FzUHJpY2U/OiBudW1iZXIgfCBzdHJpbmc7XG4gIGVpcDE1NTk/OiB7XG4gICAgbWF4RmVlUGVyR2FzOiBudW1iZXIgfCBzdHJpbmc7XG4gICAgbWF4UHJpb3JpdHlGZWVQZXJHYXM/OiBudW1iZXIgfCBzdHJpbmc7XG4gIH07XG4gIHdhbGxldFZlcnNpb24/OiBudW1iZXI7XG4gIGtleXM/OiBzdHJpbmdbXTtcbiAga2V5U2lnbmF0dXJlcz86IHtcbiAgICBiYWNrdXA6IHN0cmluZztcbiAgICBiaXRnbzogc3RyaW5nO1xuICB9O1xuICByb290UHJpdmF0ZUtleT86IHN0cmluZztcbiAgZGlzYWJsZUtSU0VtYWlsPzogYm9vbGVhbjtcbiAgbXVsdGlzaWdUeXBlPzogJ3RzcycgfCAnb25jaGFpbicgfCAnYmxzZGtnJztcbiAgdHlwZTogJ2hvdCcgfCAnY29sZCcgfCAnY3VzdG9kaWFsJztcbiAgY29pblNwZWNpZmljPzogeyBbY29pbk5hbWU6IHN0cmluZ106IHVua25vd24gfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGZWVFc3RpbWF0ZU9wdGlvbnMge1xuICBudW1CbG9ja3M/OiBudW1iZXI7XG4gIGhvcD86IGJvb2xlYW47XG4gIHJlY2lwaWVudD86IHN0cmluZztcbiAgZGF0YT86IHN0cmluZztcbiAgYW1vdW50Pzogc3RyaW5nO1xuICB0eXBlPzoga2V5b2YgdHlwZW9mIFRyYW5zYWN0aW9uVHlwZTtcbn1cblxuLy8gVE9ETyAoU0RLVC05KTogcmV2ZXJzZSBlbmdpbmVlciBhbmQgYWRkIG9wdGlvbnNcbmV4cG9ydCBpbnRlcmZhY2UgRXh0cmFQcmVidWlsZFBhcmFtc09wdGlvbnMge1xuICBbaW5kZXg6IHN0cmluZ106IHVua25vd247XG59XG5cbi8vIFRPRE8gKFNES1QtOSk6IHJldmVyc2UgZW5naW5lZXIgYW5kIGFkZCBvcHRpb25zXG5leHBvcnQgaW50ZXJmYWNlIFByZXNpZ25UcmFuc2FjdGlvbk9wdGlvbnMge1xuICB0eFByZWJ1aWxkPzogVHJhbnNhY3Rpb25QcmVidWlsZDtcbiAgd2FsbGV0RGF0YTogV2FsbGV0RGF0YTtcbiAgdHNzVXRpbHM6IEVjZHNhVXRpbHMgfCBFY2RzYU1QQ3YyVXRpbHMgfCBFZGRzYVV0aWxzIHwgdW5kZWZpbmVkO1xuICBbaW5kZXg6IHN0cmluZ106IHVua25vd247XG59XG5cbi8vIFRPRE8gKFNES1QtOSk6IHJldmVyc2UgZW5naW5lZXIgYW5kIGFkZCBvcHRpb25zXG5leHBvcnQgaW50ZXJmYWNlIFByZWNyZWF0ZUJpdEdvT3B0aW9ucyB7XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuLy8gVE9ETyAoU0RLVC05KTogcmV2ZXJzZSBlbmdpbmVlciBhbmQgYWRkIG9wdGlvbnNcbmV4cG9ydCBpbnRlcmZhY2UgVmVyaWZ5UmVjb3ZlcnlUcmFuc2FjdGlvbk9wdGlvbnMge1xuICBbaW5kZXg6IHN0cmluZ106IHVua25vd247XG59XG5cbi8vIFRPRE8gKFNES1QtOSk6IHJldmVyc2UgZW5naW5lZXIgYW5kIGFkZCBvcHRpb25zXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlVHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG4vLyBUT0RPIChTREtULTkpOiByZXZlcnNlIGVuZ2luZWVyIGFuZCBhZGQgb3B0aW9uc1xuZXhwb3J0IGludGVyZmFjZSBQYXJzZWRUcmFuc2FjdGlvbiB7XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuLy8gVE9ETyAoU0RLVC05KTogcmV2ZXJzZSBlbmdpbmVlciBhbmQgYWRkIG9wdGlvbnNcbmV4cG9ydCB0eXBlIFVuc2lnbmVkUGFyc2VkVHJhbnNhY3Rpb24gPSB7XG4gIGlucHV0czogSW5wdXRbXTtcbiAgbWluZXJGZWU6IG51bWJlciB8IHN0cmluZztcbiAgb3V0cHV0czogT3V0cHV0W107XG4gIHNwZW5kQW1vdW50OiBudW1iZXIgfCBzdHJpbmc7XG4gIGhhc1VudmFsaWRhdGVkRGF0YT86IGJvb2xlYW47XG4gIHBheUdvRmVlPzogbnVtYmVyO1xuICB0eXBlPzogc3RyaW5nO1xuICBzZXF1ZW5jZUlkOiBudW1iZXI7XG4gIGlkOiBzdHJpbmc7XG59O1xuXG4vLyBUT0RPIChTREtULTkpOiByZXZlcnNlIGVuZ2luZWVyIGFuZCBhZGQgb3B0aW9uc1xuZXhwb3J0IGludGVyZmFjZSBTaWduVHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEtleWNoYWluc1RyaXBsZXQge1xuICB1c2VyS2V5Y2hhaW46IEtleWNoYWluO1xuICBiYWNrdXBLZXljaGFpbjogS2V5Y2hhaW47XG4gIGJpdGdvS2V5Y2hhaW46IEtleWNoYWluO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0bmluZ0tleWNoYWluc1RyaXBsZXQge1xuICB1c2VyS2V5Y2hhaW46IEtleWNoYWluO1xuICB1c2VyQXV0aEtleWNoYWluOiBLZXljaGFpbjtcbiAgbm9kZUF1dGhLZXljaGFpbjogS2V5Y2hhaW47XG59XG5cbmludGVyZmFjZSBCdWlsZFBhcmFtcyB7XG4gIHByZXZpZXc/OiBib29sZWFuO1xuICByZWNpcGllbnRzPzogSVRyYW5zYWN0aW9uUmVjaXBpZW50W107XG59XG5cbmludGVyZmFjZSBCYXNlU2lnbmFibGUge1xuICB3YWxsZXQ/OiBJV2FsbGV0O1xuICBidWlsZFBhcmFtcz86IEJ1aWxkUGFyYW1zICYgUGFydGlhbDxhbnk+O1xuICBjb25zb2xpZGF0ZUlkPzogc3RyaW5nO1xuICB0eFJlcXVlc3RJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvblByZWJ1aWxkIGV4dGVuZHMgQmFzZVNpZ25hYmxlIHtcbiAgdHhCYXNlNjQ/OiBzdHJpbmc7XG4gIHR4SGV4Pzogc3RyaW5nO1xuICB0eEluZm8/OiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2UgZXh0ZW5kcyBCYXNlU2lnbmFibGUge1xuICBtZXNzYWdlUmF3OiBzdHJpbmc7XG4gIG1lc3NhZ2VFbmNvZGVkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2VUeXBlUHJvcGVydHkge1xuICBuYW1lOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZVR5cGVzIHtcbiAgRUlQNzEyRG9tYWluOiBNZXNzYWdlVHlwZVByb3BlcnR5W107XG4gIFthZGRpdGlvbmFsUHJvcGVydGllczogc3RyaW5nXTogTWVzc2FnZVR5cGVQcm9wZXJ0eVtdO1xufVxuXG5leHBvcnQgZW51bSBTaWduVHlwZWREYXRhVmVyc2lvbiB7XG4gIFYxID0gJ1YxJyxcbiAgVjMgPSAnVjMnLFxuICBWNCA9ICdWNCcsXG59XG5cbi8qKlxuICogVGhpcyBpcyB0aGUgbWVzc2FnZSBmb3JtYXQgdXNlZCBmb3IgYHNpZ25UeXBlRGF0YWAsIGZvciBhbGwgdmVyc2lvbnNcbiAqIGV4Y2VwdCBgVjFgLlxuICpcbiAqIEB0ZW1wbGF0ZSBUIC0gVGhlIGN1c3RvbSB0eXBlcyB1c2VkIGJ5IHRoaXMgbWVzc2FnZS5cbiAqIEBwcm9wZXJ0eSB0eXBlcyAtIFRoZSBjdXN0b20gdHlwZXMgdXNlZCBieSB0aGlzIG1lc3NhZ2UuXG4gKiBAcHJvcGVydHkgcHJpbWFyeVR5cGUgLSBUaGUgdHlwZSBvZiB0aGUgbWVzc2FnZS5cbiAqIEBwcm9wZXJ0eSBkb21haW4gLSBTaWduaW5nIGRvbWFpbiBtZXRhZGF0YS4gVGhlIHNpZ25pbmcgZG9tYWluIGlzIHRoZSBpbnRlbmRlZCBjb250ZXh0IGZvciB0aGVcbiAqIHNpZ25hdHVyZSAoZS5nLiB0aGUgZGFwcCwgcHJvdG9jb2wsIGV0Yy4gdGhhdCBpdCdzIGludGVuZGVkIGZvcikuIFRoaXMgZGF0YSBpcyB1c2VkIHRvXG4gKiBjb25zdHJ1Y3QgdGhlIGRvbWFpbiBzZXBlcmF0b3Igb2YgdGhlIG1lc3NhZ2UuXG4gKiBAcHJvcGVydHkgZG9tYWluLm5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgc2lnbmluZyBkb21haW4uXG4gKiBAcHJvcGVydHkgZG9tYWluLnZlcnNpb24gLSBUaGUgY3VycmVudCBtYWpvciB2ZXJzaW9uIG9mIHRoZSBzaWduaW5nIGRvbWFpbi5cbiAqIEBwcm9wZXJ0eSBkb21haW4uY2hhaW5JZCAtIFRoZSBjaGFpbiBJRCBvZiB0aGUgc2lnbmluZyBkb21haW4uXG4gKiBAcHJvcGVydHkgZG9tYWluLnZlcmlmeWluZ0NvbnRyYWN0IC0gVGhlIGFkZHJlc3Mgb2YgdGhlIGNvbnRyYWN0IHRoYXQgY2FuIHZlcmlmeSB0aGUgc2lnbmF0dXJlLlxuICogQHByb3BlcnR5IGRvbWFpbi5zYWx0IC0gQSBkaXNhbWJpZ3VhdGluZyBzYWx0IGZvciB0aGUgcHJvdG9jb2wuXG4gKiBAcHJvcGVydHkgbWVzc2FnZSAtIFRoZSBtZXNzYWdlIHRvIGJlIHNpZ25lZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUeXBlZE1lc3NhZ2U8VCBleHRlbmRzIE1lc3NhZ2VUeXBlcz4ge1xuICB0eXBlczogVDtcbiAgcHJpbWFyeVR5cGU6IGtleW9mIFQ7XG4gIGRvbWFpbjoge1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgdmVyc2lvbj86IHN0cmluZztcbiAgICBjaGFpbklkPzogbnVtYmVyO1xuICAgIHZlcmlmeWluZ0NvbnRyYWN0Pzogc3RyaW5nO1xuICAgIHNhbHQ/OiBBcnJheUJ1ZmZlcjtcbiAgfTtcbiAgbWVzc2FnZTogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZWREYXRhIGV4dGVuZHMgQmFzZVNpZ25hYmxlIHtcbiAgdHlwZWREYXRhUmF3OiBzdHJpbmc7XG4gIHZlcnNpb246IFNpZ25UeXBlZERhdGFWZXJzaW9uO1xuICB0eXBlZERhdGFFbmNvZGVkPzogQnVmZmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkZHJlc3NDb2luU3BlY2lmaWMge1xuICBvdXRwdXRTY3JpcHQ/OiBzdHJpbmc7XG4gIHJlZGVlbVNjcmlwdD86IHN0cmluZztcbiAgd2l0bmVzc1NjcmlwdD86IHN0cmluZztcbiAgYmFzZUFkZHJlc3M/OiBzdHJpbmc7XG4gIHBlbmRpbmdDaGFpbkluaXRpYWxpemF0aW9uPzogYm9vbGVhbjtcbiAgZm9yd2FyZGVyVmVyc2lvbj86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGdWxseVNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgdHhIZXg6IHN0cmluZzsgLy8gVHJhbnNhY3Rpb24gaW4gYW55IGZvcm1hdCByZXF1aXJlZCBieSBlYWNoIGNvaW4sIGkuZS4gaW4gVHJvbiBpdCBpcyBhIHN0cmluZ2lmeWVkIEpTT05cbn1cblxuZXhwb3J0IGludGVyZmFjZSBIYWxmU2lnbmVkVXR4b1RyYW5zYWN0aW9uIHtcbiAgdHhIZXg6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIYWxmU2lnbmVkQWNjb3VudFRyYW5zYWN0aW9uIHtcbiAgaGFsZlNpZ25lZD86IHtcbiAgICB0eEhleD86IHN0cmluZzsgLy8gVHJhbnNhY3Rpb24gaW4gYW55IGZvcm1hdCByZXF1aXJlZCBieSBlYWNoIGNvaW4sIGkuZS4gaW4gVHJvbiBpdCBpcyBhIHN0cmluZ2lmeWVkIEpTT05cbiAgICBwYXlsb2FkPzogc3RyaW5nO1xuICAgIHR4QmFzZTY0Pzogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhhbGZTaWduZWRUcmFuc2FjdGlvbiBleHRlbmRzIEhhbGZTaWduZWRBY2NvdW50VHJhbnNhY3Rpb24ge1xuICBoYWxmU2lnbmVkOiB7XG4gICAgcmVjaXBpZW50czogUmVjaXBpZW50W107XG4gICAgZXhwaXJlVGltZT86IG51bWJlcjtcbiAgICBjb250cmFjdFNlcXVlbmNlSWQ/OiBudW1iZXI7XG4gICAgc2VxdWVuY2VJZD86IG51bWJlcjtcbiAgICB0eEhleD86IG5ldmVyO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25lZFRyYW5zYWN0aW9uUmVxdWVzdCB7XG4gIHR4UmVxdWVzdElkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVyaXZlS2V5V2l0aFNlZWRPcHRpb25zIHtcbiAga2V5OiBzdHJpbmc7XG4gIHNlZWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWYWxpZE1vZk5PcHRpb25zIHtcbiAgbT86IG51bWJlcjtcbiAgbj86IG51bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgU2lnbmVkVHJhbnNhY3Rpb24gPVxuICB8IEhhbGZTaWduZWRBY2NvdW50VHJhbnNhY3Rpb25cbiAgfCBIYWxmU2lnbmVkVXR4b1RyYW5zYWN0aW9uXG4gIHwgRnVsbHlTaWduZWRUcmFuc2FjdGlvblxuICB8IFNpZ25lZFRyYW5zYWN0aW9uUmVxdWVzdFxuICB8IFR4UmVxdWVzdDtcblxuZXhwb3J0IGludGVyZmFjZSBTaWduZWRNZXNzYWdlIHtcbiAgY29pbj86IHN0cmluZztcbiAgLy8gQGRlcHJlY2F0ZWQgLSB1c2UgYHNpZ25hdHVyZWAgaW5zdGVhZFxuICB0eEhhc2g6IHN0cmluZztcbiAgc2lnbmF0dXJlOiBzdHJpbmc7XG4gIG1lc3NhZ2VSYXc6IHN0cmluZztcbiAgbWVzc2FnZUVuY29kZWQ/OiBzdHJpbmc7XG4gIHR4UmVxdWVzdElkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3ZlcldhbGxldFRva2VuT3B0aW9ucyB7XG4gIHRva2VuQ29udHJhY3RBZGRyZXNzOiBzdHJpbmc7XG4gIHdhbGxldDogSVdhbGxldDtcbiAgcmVjaXBpZW50OiBzdHJpbmc7XG4gIGJyb2FkY2FzdD86IGJvb2xlYW47XG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG4gIHBydj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWNpcGllbnQge1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIGFtb3VudDogc3RyaW5nO1xuICBkYXRhPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY292ZXJUb2tlblRyYW5zYWN0aW9uIHtcbiAgaGFsZlNpZ25lZDoge1xuICAgIHJlY2lwaWVudDogUmVjaXBpZW50O1xuICAgIGV4cGlyZVRpbWU6IG51bWJlcjtcbiAgICBjb250cmFjdFNlcXVlbmNlSWQ6IG51bWJlcjtcbiAgICBvcGVyYXRpb25IYXNoOiBzdHJpbmc7XG4gICAgc2lnbmF0dXJlOiBzdHJpbmc7XG4gICAgZ2FzTGltaXQ6IG51bWJlcjtcbiAgICBnYXNQcmljZTogbnVtYmVyO1xuICAgIHRva2VuQ29udHJhY3RBZGRyZXNzOiBzdHJpbmc7XG4gICAgd2FsbGV0SWQ6IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUb2tlbkVuYWJsZW1lbnRDb25maWcge1xuICByZXF1aXJlc1Rva2VuRW5hYmxlbWVudDogYm9vbGVhbjtcbiAgc3VwcG9ydHNNdWx0aXBsZVRva2VuRW5hYmxlbWVudHM6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZVByZXAge1xuICBlbmNvZGVNZXNzYWdlKG1lc3NhZ2U6IHN0cmluZyk6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgTVBDQWxnb3JpdGhtID0gJ2VjZHNhJyB8ICdlZGRzYSc7XG5cbmV4cG9ydCB0eXBlIE5GVFRyYW5zZmVyT3B0aW9ucyA9IHtcbiAgdG9rZW5Db250cmFjdEFkZHJlc3M6IHN0cmluZztcbiAgcmVjaXBpZW50QWRkcmVzczogc3RyaW5nO1xufSAmIChcbiAgfCB7XG4gICAgICB0eXBlOiAnRVJDNzIxJztcbiAgICAgIHRva2VuSWQ6IHN0cmluZztcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ0VSQzExNTUnO1xuICAgICAgZW50cmllczogeyB0b2tlbklkOiBzdHJpbmc7IGFtb3VudDogbnVtYmVyIH1bXTtcbiAgICB9XG4pO1xuXG5leHBvcnQgdHlwZSBCdWlsZE5mdFRyYW5zZmVyRGF0YU9wdGlvbnMgPSBORlRUcmFuc2Zlck9wdGlvbnMgJiB7XG4gIGZyb21BZGRyZXNzOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VCcm9hZGNhc3RUcmFuc2FjdGlvbk9wdGlvbnMge1xuICBzZXJpYWxpemVkU2lnbmVkVHJhbnNhY3Rpb246IHN0cmluZztcbiAgdHJhbnNhY3Rpb25zPzogTVBDVHhbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYXNlQnJvYWRjYXN0VHJhbnNhY3Rpb25SZXN1bHQge1xuICB0eElkPzogc3RyaW5nO1xuICB0eElkcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElCYXNlQ29pbiB7XG4gIHR5cGU6IHN0cmluZztcbiAgdG9rZW5Db25maWc/OiBCYXNlVG9rZW5Db25maWc7XG4gIGdldENvbmZpZygpOiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+O1xuICB1cmwoc3VmZml4OiBzdHJpbmcpOiBzdHJpbmc7XG4gIHdhbGxldHMoKTogSVdhbGxldHM7XG4gIGVudGVycHJpc2VzKCk6IElFbnRlcnByaXNlcztcbiAga2V5Y2hhaW5zKCk6IElLZXljaGFpbnM7XG4gIHdlYmhvb2tzKCk6IElXZWJob29rcztcbiAgcGVuZGluZ0FwcHJvdmFscygpOiBJUGVuZGluZ0FwcHJvdmFscztcbiAgbWFya2V0cygpOiBJTWFya2V0cztcbiAgZ2V0Q2hhaW4oKTogc3RyaW5nO1xuICBnZXRGYW1pbHkoKTogc3RyaW5nO1xuICBnZXRGdWxsTmFtZSgpOiBzdHJpbmc7XG4gIHZhbHVlbGVzc1RyYW5zZmVyQWxsb3dlZCgpOiBib29sZWFuO1xuICBjaGVja1JlY2lwaWVudChyZWNpcGllbnQ6IHsgYWRkcmVzczogc3RyaW5nOyBhbW91bnQ6IHN0cmluZyB8IG51bWJlciB9KTogdm9pZDtcbiAgc3dlZXBXaXRoU2VuZE1hbnkoKTogYm9vbGVhbjtcbiAgdHJhbnNhY3Rpb25EYXRhQWxsb3dlZCgpOiBib29sZWFuO1xuICBhbGxvd3NBY2NvdW50Q29uc29saWRhdGlvbnMoKTogYm9vbGVhbjtcbiAgZ2V0VG9rZW5FbmFibGVtZW50Q29uZmlnKCk6IFRva2VuRW5hYmxlbWVudENvbmZpZztcbiAgc3VwcG9ydHNUc3MoKTogYm9vbGVhbjtcbiAgc3VwcG9ydHNEZXJpdmVLZXlXaXRoU2VlZCgpOiBib29sZWFuO1xuICBpc0VWTSgpOiBib29sZWFuO1xuICBzdXBwb3J0c0Jsc0RrZygpOiBib29sZWFuO1xuICBnZXRCYXNlRmFjdG9yKCk6IG51bWJlciB8IHN0cmluZztcbiAgYmFzZVVuaXRzVG9CaWdVbml0cyhiYXNlVW5pdHM6IHN0cmluZyB8IG51bWJlcik6IHN0cmluZztcbiAgYmlnVW5pdHNUb0Jhc2VVbml0cyhiaWdVbml0czogc3RyaW5nIHwgbnVtYmVyKTogc3RyaW5nO1xuICBwcmVwcm9jZXNzQnVpbGRQYXJhbXMocGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgc2lnbk1lc3NhZ2Uoa2V5OiB7IHBydjogc3RyaW5nIH0sIG1lc3NhZ2U6IHN0cmluZyk6IFByb21pc2U8QnVmZmVyPjtcbiAgY3JlYXRlS2V5U2lnbmF0dXJlcyhcbiAgICBwcnY6IHN0cmluZyxcbiAgICBiYWNrdXBLZXljaGFpbjogeyBwdWI6IHN0cmluZyB9LFxuICAgIGJpdGdvS2V5Y2hhaW46IHsgcHViOiBzdHJpbmcgfVxuICApOiBQcm9taXNlPHtcbiAgICBiYWNrdXA6IHN0cmluZztcbiAgICBiaXRnbzogc3RyaW5nO1xuICB9PjtcbiAgZXhwbGFpblRyYW5zYWN0aW9uKG9wdGlvbnM6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBQcm9taXNlPElUcmFuc2FjdGlvbkV4cGxhbmF0aW9uPGFueSwgc3RyaW5nIHwgbnVtYmVyPiB8IHVuZGVmaW5lZD47XG4gIHZlcmlmeVRyYW5zYWN0aW9uKHBhcmFtczogVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxib29sZWFuPjtcbiAgdmVyaWZ5QWRkcmVzcyhwYXJhbXM6IFZlcmlmeUFkZHJlc3NPcHRpb25zKTogUHJvbWlzZTxib29sZWFuPjtcbiAgaXNXYWxsZXRBZGRyZXNzKHBhcmFtczogVmVyaWZ5QWRkcmVzc09wdGlvbnMsIHdhbGxldD86IElXYWxsZXQpOiBQcm9taXNlPGJvb2xlYW4+O1xuICBjYW5vbmljYWxBZGRyZXNzKGFkZHJlc3M6IHN0cmluZywgZm9ybWF0OiB1bmtub3duKTogc3RyaW5nO1xuICBzdXBwb3J0c0Jsb2NrVGFyZ2V0KCk6IGJvb2xlYW47XG4gIHN1cHBvcnRzTGlnaHRuaW5nKCk6IGJvb2xlYW47XG4gIHN1cHBvcnRzTWVzc2FnZVNpZ25pbmcoKTogYm9vbGVhbjtcbiAgc3VwcG9ydHNTaWduaW5nVHlwZWREYXRhKCk6IGJvb2xlYW47XG4gIHN1cHBsZW1lbnRHZW5lcmF0ZVdhbGxldCh3YWxsZXRQYXJhbXM6IFN1cHBsZW1lbnRHZW5lcmF0ZVdhbGxldE9wdGlvbnMsIGtleWNoYWluczogS2V5Y2hhaW5zVHJpcGxldCk6IFByb21pc2U8YW55PjtcbiAgZ2V0RXh0cmFQcmVidWlsZFBhcmFtcyhidWlsZFBhcmFtczogRXh0cmFQcmVidWlsZFBhcmFtc09wdGlvbnMpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIHVua25vd24+PjtcbiAgcG9zdFByb2Nlc3NQcmVidWlsZChwcmVidWlsZFJlc3BvbnNlOiBUcmFuc2FjdGlvblByZWJ1aWxkKTogUHJvbWlzZTxUcmFuc2FjdGlvblByZWJ1aWxkPjtcbiAgcHJlc2lnblRyYW5zYWN0aW9uKHBhcmFtczogUHJlc2lnblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8UHJlc2lnblRyYW5zYWN0aW9uT3B0aW9ucz47XG4gIHNpZ25XaXRoQ3VzdG9tU2lnbmluZ0Z1bmN0aW9uPyhcbiAgICBjdXN0b21TaWduaW5nRnVuY3Rpb246IEN1c3RvbVNpZ25pbmdGdW5jdGlvbixcbiAgICBzaWduVHJhbnNhY3Rpb25QYXJhbXM6IHsgdHhQcmVidWlsZDogVHJhbnNhY3Rpb25QcmVidWlsZDsgcHVicz86IHN0cmluZ1tdIH1cbiAgKTogUHJvbWlzZTxTaWduZWRUcmFuc2FjdGlvbj47XG4gIG5ld1dhbGxldE9iamVjdCh3YWxsZXRQYXJhbXM6IGFueSk6IElXYWxsZXQ7XG4gIGZlZUVzdGltYXRlKHBhcmFtczogRmVlRXN0aW1hdGVPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBkZXJpdmVLZXlXaXRoU2VlZChwYXJhbXM6IERlcml2ZUtleVdpdGhTZWVkT3B0aW9ucyk6IHsga2V5OiBzdHJpbmc7IGRlcml2YXRpb25QYXRoOiBzdHJpbmcgfTtcbiAga2V5SWRzRm9yU2lnbmluZygpOiBudW1iZXJbXTtcbiAgcHJlQ3JlYXRlQml0R28ocGFyYW1zOiBQcmVjcmVhdGVCaXRHb09wdGlvbnMpOiB2b2lkO1xuICBpbml0aWF0ZVJlY292ZXJ5KHBhcmFtczogSW5pdGlhdGVSZWNvdmVyeU9wdGlvbnMpOiBuZXZlcjtcbiAgcGFyc2VUcmFuc2FjdGlvbihwYXJhbXM6IFBhcnNlVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxQYXJzZWRUcmFuc2FjdGlvbj47XG4gIGdlbmVyYXRlS2V5UGFpcihzZWVkPzogQnVmZmVyKTogS2V5UGFpcjtcbiAgZ2VuZXJhdGVSb290S2V5UGFpcihzZWVkPzogQnVmZmVyKTogS2V5UGFpcjtcbiAgaXNWYWxpZFB1YihwdWI6IHN0cmluZyk6IGJvb2xlYW47XG4gIGlzVmFsaWRNb2ZOU2V0dXAocGFyYW1zOiBWYWxpZE1vZk5PcHRpb25zKTogYm9vbGVhbjtcbiAgaXNWYWxpZEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogYm9vbGVhbjtcbiAgc2lnblRyYW5zYWN0aW9uKHBhcmFtczogU2lnblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8U2lnbmVkVHJhbnNhY3Rpb24+O1xuICBnZXRTaWduYWJsZVBheWxvYWQoc2VyaWFsaXplZFR4OiBzdHJpbmcpOiBQcm9taXNlPEJ1ZmZlcj47XG4gIGdldE1QQ0FsZ29yaXRobSgpOiBNUENBbGdvcml0aG07XG4gIC8vIFRPRE8gLSB0aGlzIG9ubHkgYmVsb25ncyBpbiBldGggY29pbnNcbiAgcmVjb3ZlclRva2VuKHBhcmFtczogUmVjb3ZlcldhbGxldFRva2VuT3B0aW9ucyk6IFByb21pc2U8UmVjb3ZlclRva2VuVHJhbnNhY3Rpb24+O1xuICBnZXRJbnNjcmlwdGlvbkJ1aWxkZXIod2FsbGV0OiBXYWxsZXQpOiBJSW5zY3JpcHRpb25CdWlsZGVyO1xuXG4gIC8qKlxuICAgKiBCdWlsZCB0aGUgY2FsbCBkYXRhIGZvciB0cmFuc2ZlcnJpbmcgYSBORlQocykuXG4gICAqIEBwYXJhbSBwYXJhbXMgT3B0aW9ucyBzcGVjaWZ5aW5nIHRoZSB0b2tlbiBjb250cmFjdCwgdG9rZW4gcmVjaXBpZW50ICYgdGhlIHRva2VuKHMpIHRvIGJlIHRyYW5zZmVycmVkXG4gICAqIEByZXR1cm4gdGhlIGhleCBzdHJpbmcgZm9yIHRoZSBjb250cmFjdCBjYWxsLlxuICAgKi9cbiAgYnVpbGROZnRUcmFuc2ZlckRhdGEocGFyYW1zOiBCdWlsZE5mdFRyYW5zZmVyRGF0YU9wdGlvbnMpOiBzdHJpbmc7XG4gIGdldEhhc2hGdW5jdGlvbigpOiBIYXNoO1xuICBicm9hZGNhc3RUcmFuc2FjdGlvbihwYXJhbXM6IEJhc2VCcm9hZGNhc3RUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPEJhc2VCcm9hZGNhc3RUcmFuc2FjdGlvblJlc3VsdD47XG4gIHNldENvaW5TcGVjaWZpY0ZpZWxkc0luSW50ZW50KGludGVudDogUG9wdWxhdGVkSW50ZW50LCBwYXJhbXM6IFByZWJ1aWxkVHJhbnNhY3Rpb25XaXRoSW50ZW50T3B0aW9ucyk6IHZvaWQ7XG4gIGdldEdhc1RhbmtMb3dCYWxhbmNlQWxlcnRUaHJlc2hvbGRGYWN0b3IoKTogbnVtYmVyO1xuICBnZXRHYXNUYW5rTWluQmFsYW5jZVJlY29tbWVuZGF0aW9uRmFjdG9yKCk6IG51bWJlcjtcbn1cbiJdfQ==
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaUJhc2VDb2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL2Jhc2VDb2luL2lCYXNlQ29pbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFnU0EsSUFBWSxvQkFJWDtBQUpELFdBQVksb0JBQW9CO0lBQzlCLGlDQUFTLENBQUE7SUFDVCxpQ0FBUyxDQUFBO0lBQ1QsaUNBQVMsQ0FBQTtBQUNYLENBQUMsRUFKVyxvQkFBb0Isb0NBQXBCLG9CQUFvQixRQUkvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIFN0YXRpY3NCYXNlQ29pbiwgQmFzZVRva2VuQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgSVJlcXVlc3RUcmFjZXIgfSBmcm9tICcuLi8uLi9hcGknO1xuaW1wb3J0IHsgSUVudGVycHJpc2VzIH0gZnJvbSAnLi4vZW50ZXJwcmlzZSc7XG5pbXBvcnQgeyBJS2V5Y2hhaW5zLCBLZXljaGFpbiB9IGZyb20gJy4uL2tleWNoYWluJztcbmltcG9ydCB7IElNYXJrZXRzIH0gZnJvbSAnLi4vbWFya2V0JztcbmltcG9ydCB7IElQZW5kaW5nQXBwcm92YWxzIH0gZnJvbSAnLi4vcGVuZGluZ0FwcHJvdmFsJztcbmltcG9ydCB7IEluaXRpYXRlUmVjb3ZlcnlPcHRpb25zIH0gZnJvbSAnLi4vcmVjb3ZlcnknO1xuaW1wb3J0IHsgRWNkc2FNUEN2MlV0aWxzLCBFY2RzYVV0aWxzIH0gZnJvbSAnLi4vdXRpbHMvdHNzL2VjZHNhJztcbmltcG9ydCBFZGRzYVV0aWxzLCB7IFByZWJ1aWxkVHJhbnNhY3Rpb25XaXRoSW50ZW50T3B0aW9ucywgVHhSZXF1ZXN0IH0gZnJvbSAnLi4vdXRpbHMvdHNzL2VkZHNhJztcbmltcG9ydCB7IENyZWF0ZUFkZHJlc3NGb3JtYXQsIEN1c3RvbVNpZ25pbmdGdW5jdGlvbiwgSVdhbGxldCwgSVdhbGxldHMsIFdhbGxldCwgV2FsbGV0RGF0YSB9IGZyb20gJy4uL3dhbGxldCc7XG5cbmltcG9ydCB7IElXZWJob29rcyB9IGZyb20gJy4uL3dlYmhvb2svaVdlYmhvb2tzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJy4uLy4uL2FjY291bnQtbGliJztcbmltcG9ydCB7IElJbnNjcmlwdGlvbkJ1aWxkZXIgfSBmcm9tICcuLi9pbnNjcmlwdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgSGFzaCB9IGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgeyBNUENUeCwgUG9wdWxhdGVkSW50ZW50IH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE91dHB1dCBleHRlbmRzIElUcmFuc2FjdGlvblJlY2lwaWVudCB7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgLy8gb2YgZm9ybSBjb2luOnRva2VuXG4gIGNvaW5OYW1lPzogc3RyaW5nO1xuICBpc1BheUdvPzogYm9vbGVhbjtcbiAgdmFsdWU/OiBudW1iZXI7XG4gIHdhbGxldD86IHN0cmluZzsgLy8gVHlwZXMuT2JqZWN0SWQ7XG4gIHdhbGxldFYxPzogc3RyaW5nOyAvLyBUeXBlcy5PYmplY3RJZDtcbiAgYmFzZUFkZHJlc3M/OiBzdHJpbmc7XG4gIGVudGVycHJpc2U/OiBzdHJpbmc7IC8vIFR5cGVzLk9iamVjdElkO1xuICB2YWx1ZVN0cmluZzogc3RyaW5nO1xuICBkYXRhPzogc3RyaW5nO1xuICAvLyBcImNoYW5nZVwiIGlzIGEgdXR4by1zcGVjaWZpYyBjb25jZXB0IGFuZCB0aGlzIHByb3BlcnR5IHNob3VsZFxuICAvLyBiZSByZW1vdmVkIG9uY2UgaXQgaXQncyB1c2FnZSBpcyByZWZhY3RvcmVkIG91dCBvZiBiYXNlIGNvaW4gbG9naWNcbiAgY2hhbmdlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgSW5wdXQgPSB7XG4gIGRlcml2YXRpb25JbmRleD86IG51bWJlcjtcbiAgdmFsdWU6IG51bWJlcjtcbiAgYWRkcmVzcz86IHN0cmluZztcbiAgdmFsdWVTdHJpbmc6IHN0cmluZztcbiAgLy8gdGhlIHByb3BlcnRpZXMgYmVsb3cgYXJlIHV0eG8tcmVsYXRlZCBidXQgYXJlIGN1cnJlbnRseSB1c2VkIGluIGFic3RyYWN0QmFzZUNvaW5cbiAgLy8gdGhlc2Ugc2hvdWxkIGJlIHJlbW92ZWQgb25jZSB0aGVpciB1c2FnZSBpcyByZW1vdmVkIGZyb20gdGhlIGJhc2UgY29pbiBjbGFzc1xuICBjaGFpbj86IG51bWJlcjtcbiAgaW5kZXg/OiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBVbnNpZ25lZFRyYW5zYWN0aW9uID0ge1xuICAvLyB1bnNpZ25lZCB0cmFuc2FjdGlvbiBpbiBicm9hZGNhc3QgZm9ybWF0XG4gIHNlcmlhbGl6ZWRUeEhleDogc3RyaW5nO1xuICAvLyBwb3J0aW9uIG9mIGEgdHJhbnNhY3Rpb24gdXNlZCB0byBnZW5lcmF0ZSBhIHNpZ25hdHVyZVxuICBzaWduYWJsZUhleDogc3RyaW5nO1xuICAvLyB0cmFuc2FjdGlvbiBmZWVzXG4gIGZlZUluZm8/OiB7XG4gICAgZmVlOiBudW1iZXIgfCBCaWdOdW1iZXI7XG4gICAgZmVlU3RyaW5nOiBzdHJpbmc7XG4gIH07XG4gIC8vIGRlcml2YXRpb24gcGF0aCBvZiB0aGUgc2lnbmVyXG4gIGRlcml2YXRpb25QYXRoOiBzdHJpbmc7XG4gIGNvaW5TcGVjaWZpYz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBlbnRyeVZhbHVlczogYW55O1xuICBwYXJzZWRUeDogVW5zaWduZWRQYXJzZWRUcmFuc2FjdGlvbjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXhwbGFuYXRpb25SZXN1bHQgZXh0ZW5kcyBJVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gIHNlcXVlbmNlSWQ6IG51bWJlcjtcbiAgdHlwZT86IHN0cmluZztcbiAgb3V0cHV0czogT3V0cHV0W107XG4gIGJsb2NrTnVtYmVyOiBudW1iZXIgfCB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2FjdGlvblJlY2lwaWVudCB7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgYW1vdW50OiBzdHJpbmcgfCBudW1iZXI7XG4gIHRva2VuTmFtZT86IHN0cmluZztcbiAgbWVtbz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVHJhbnNhY3Rpb25GZWU8VEFtb3VudCA9IHN0cmluZz4ge1xuICBmZWU6IFRBbW91bnQ7XG4gIGZlZVJhdGU/OiBudW1iZXI7XG4gIHNpemU/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRyYW5zYWN0aW9uRXhwbGFuYXRpb248VEZlZSA9IGFueSwgVEFtb3VudCA9IGFueT4ge1xuICAvKiogQGRlcHJlY2F0ZWQgKi9cbiAgZGlzcGxheU9yZGVyPzogc3RyaW5nW107XG4gIGlkOiBzdHJpbmc7XG4gIC8qKiBOT1RFOiBFeHRlcm5hbCByZWNpcGllbnRzICovXG4gIG91dHB1dHM6IElUcmFuc2FjdGlvblJlY2lwaWVudFtdO1xuICAvKiogTk9URTogRXh0ZXJuYWwgYW1vdW50ICovXG4gIG91dHB1dEFtb3VudDogVEFtb3VudDtcbiAgY2hhbmdlT3V0cHV0czogSVRyYW5zYWN0aW9uUmVjaXBpZW50W107XG4gIGNoYW5nZUFtb3VudDogVEFtb3VudDtcbiAgZmVlOiBURmVlO1xuICBwcm94eT86IHN0cmluZztcbiAgcHJvZHVjZXJzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgS2V5UGFpciB7XG4gIHB1Yj86IHN0cmluZztcbiAgcHJ2OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJsc0tleVBhaXIgZXh0ZW5kcyBLZXlQYWlyIHtcbiAgc2VjcmV0U2hhcmVzPzogc3RyaW5nW107XG4gIGNoYWluY29kZTogc3RyaW5nO1xuICBzZWVkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeUFkZHJlc3NPcHRpb25zIHtcbiAgZm9ybWF0PzogQ3JlYXRlQWRkcmVzc0Zvcm1hdDtcbiAgYWRkcmVzczogc3RyaW5nO1xuICBhZGRyZXNzVHlwZT86IHN0cmluZztcbiAga2V5Y2hhaW5zPzoge1xuICAgIHB1Yjogc3RyaW5nO1xuICAgIGNvbW1vbktleWNoYWluPzogc3RyaW5nO1xuICB9W107XG4gIGVycm9yPzogc3RyaW5nO1xuICBjb2luU3BlY2lmaWM/OiBBZGRyZXNzQ29pblNwZWNpZmljO1xuICBpbXBsaWVkRm9yd2FyZGVyVmVyc2lvbj86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUc3NWZXJpZnlBZGRyZXNzT3B0aW9ucyBleHRlbmRzIFZlcmlmeUFkZHJlc3NPcHRpb25zIHtcbiAgY2hhaW46IHN0cmluZztcbiAgaW5kZXg6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvblBhcmFtcyB7XG4gIHJlY2lwaWVudHM/OiBJVHJhbnNhY3Rpb25SZWNpcGllbnRbXTtcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbiAgdHlwZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZGRyZXNzVmVyaWZpY2F0aW9uRGF0YSB7XG4gIGNvaW5TcGVjaWZpYz86IEFkZHJlc3NDb2luU3BlY2lmaWM7XG4gIGNoYWluPzogbnVtYmVyO1xuICBpbmRleD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWZXJpZmljYXRpb25PcHRpb25zIHtcbiAgZGlzYWJsZU5ldHdvcmtpbmc/OiBib29sZWFuO1xuICBrZXljaGFpbnM/OiB7XG4gICAgdXNlcj86IEtleWNoYWluO1xuICAgIGJhY2t1cD86IEtleWNoYWluO1xuICAgIGJpdGdvPzogS2V5Y2hhaW47XG4gIH07XG4gIGFkZHJlc3Nlcz86IHsgW2FkZHJlc3M6IHN0cmluZ106IEFkZHJlc3NWZXJpZmljYXRpb25EYXRhIH07XG4gIGFsbG93UGF5Z29PdXRwdXQ/OiBib29sZWFuO1xuICBjb25zaWRlck1pZ3JhdGVkRnJvbUFkZHJlc3NJbnRlcm5hbD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgdHhQcmVidWlsZDogVHJhbnNhY3Rpb25QcmVidWlsZDtcbiAgdHhQYXJhbXM6IFRyYW5zYWN0aW9uUGFyYW1zO1xuICB3YWxsZXQ6IFdhbGxldDtcbiAgdmVyaWZpY2F0aW9uPzogVmVyaWZpY2F0aW9uT3B0aW9ucztcbiAgcmVxSWQ/OiBJUmVxdWVzdFRyYWNlcjtcbiAgd2FsbGV0VHlwZT86ICdvbmNoYWluJyB8ICd0c3MnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN1cHBsZW1lbnRHZW5lcmF0ZVdhbGxldE9wdGlvbnMge1xuICBsYWJlbDogc3RyaW5nO1xuICBtPzogbnVtYmVyO1xuICBuPzogbnVtYmVyO1xuICBlbnRlcnByaXNlPzogc3RyaW5nO1xuICBkaXNhYmxlVHJhbnNhY3Rpb25Ob3RpZmljYXRpb25zPzogYm9vbGVhbjtcbiAgZ2FzUHJpY2U/OiBudW1iZXIgfCBzdHJpbmc7XG4gIGVpcDE1NTk/OiB7XG4gICAgbWF4RmVlUGVyR2FzOiBudW1iZXIgfCBzdHJpbmc7XG4gICAgbWF4UHJpb3JpdHlGZWVQZXJHYXM/OiBudW1iZXIgfCBzdHJpbmc7XG4gIH07XG4gIHdhbGxldFZlcnNpb24/OiBudW1iZXI7XG4gIGtleXM/OiBzdHJpbmdbXTtcbiAga2V5U2lnbmF0dXJlcz86IHtcbiAgICBiYWNrdXA6IHN0cmluZztcbiAgICBiaXRnbzogc3RyaW5nO1xuICB9O1xuICByb290UHJpdmF0ZUtleT86IHN0cmluZztcbiAgZGlzYWJsZUtSU0VtYWlsPzogYm9vbGVhbjtcbiAgbXVsdGlzaWdUeXBlPzogJ3RzcycgfCAnb25jaGFpbicgfCAnYmxzZGtnJztcbiAgdHlwZTogJ2hvdCcgfCAnY29sZCcgfCAnY3VzdG9kaWFsJztcbiAgY29pblNwZWNpZmljPzogeyBbY29pbk5hbWU6IHN0cmluZ106IHVua25vd24gfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGZWVFc3RpbWF0ZU9wdGlvbnMge1xuICBudW1CbG9ja3M/OiBudW1iZXI7XG4gIGhvcD86IGJvb2xlYW47XG4gIHJlY2lwaWVudD86IHN0cmluZztcbiAgZGF0YT86IHN0cmluZztcbiAgYW1vdW50Pzogc3RyaW5nO1xuICB0eXBlPzoga2V5b2YgdHlwZW9mIFRyYW5zYWN0aW9uVHlwZTtcbn1cblxuLy8gVE9ETyAoU0RLVC05KTogcmV2ZXJzZSBlbmdpbmVlciBhbmQgYWRkIG9wdGlvbnNcbmV4cG9ydCBpbnRlcmZhY2UgRXh0cmFQcmVidWlsZFBhcmFtc09wdGlvbnMge1xuICBbaW5kZXg6IHN0cmluZ106IHVua25vd247XG59XG5cbi8vIFRPRE8gKFNES1QtOSk6IHJldmVyc2UgZW5naW5lZXIgYW5kIGFkZCBvcHRpb25zXG5leHBvcnQgaW50ZXJmYWNlIFByZXNpZ25UcmFuc2FjdGlvbk9wdGlvbnMge1xuICB0eFByZWJ1aWxkPzogVHJhbnNhY3Rpb25QcmVidWlsZDtcbiAgd2FsbGV0RGF0YTogV2FsbGV0RGF0YTtcbiAgdHNzVXRpbHM6IEVjZHNhVXRpbHMgfCBFY2RzYU1QQ3YyVXRpbHMgfCBFZGRzYVV0aWxzIHwgdW5kZWZpbmVkO1xuICBbaW5kZXg6IHN0cmluZ106IHVua25vd247XG59XG5cbi8vIFRPRE8gKFNES1QtOSk6IHJldmVyc2UgZW5naW5lZXIgYW5kIGFkZCBvcHRpb25zXG5leHBvcnQgaW50ZXJmYWNlIFByZWNyZWF0ZUJpdEdvT3B0aW9ucyB7XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuLy8gVE9ETyAoU0RLVC05KTogcmV2ZXJzZSBlbmdpbmVlciBhbmQgYWRkIG9wdGlvbnNcbmV4cG9ydCBpbnRlcmZhY2UgVmVyaWZ5UmVjb3ZlcnlUcmFuc2FjdGlvbk9wdGlvbnMge1xuICBbaW5kZXg6IHN0cmluZ106IHVua25vd247XG59XG5cbi8vIFRPRE8gKFNES1QtOSk6IHJldmVyc2UgZW5naW5lZXIgYW5kIGFkZCBvcHRpb25zXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlVHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG4vLyBUT0RPIChTREtULTkpOiByZXZlcnNlIGVuZ2luZWVyIGFuZCBhZGQgb3B0aW9uc1xuZXhwb3J0IGludGVyZmFjZSBQYXJzZWRUcmFuc2FjdGlvbiB7XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuLy8gVE9ETyAoU0RLVC05KTogcmV2ZXJzZSBlbmdpbmVlciBhbmQgYWRkIG9wdGlvbnNcbmV4cG9ydCB0eXBlIFVuc2lnbmVkUGFyc2VkVHJhbnNhY3Rpb24gPSB7XG4gIGlucHV0czogSW5wdXRbXTtcbiAgbWluZXJGZWU6IG51bWJlciB8IHN0cmluZztcbiAgb3V0cHV0czogT3V0cHV0W107XG4gIHNwZW5kQW1vdW50OiBudW1iZXIgfCBzdHJpbmc7XG4gIGhhc1VudmFsaWRhdGVkRGF0YT86IGJvb2xlYW47XG4gIHBheUdvRmVlPzogbnVtYmVyO1xuICB0eXBlPzogc3RyaW5nO1xuICBzZXF1ZW5jZUlkOiBudW1iZXI7XG4gIGlkOiBzdHJpbmc7XG59O1xuXG4vLyBUT0RPIChTREtULTkpOiByZXZlcnNlIGVuZ2luZWVyIGFuZCBhZGQgb3B0aW9uc1xuZXhwb3J0IGludGVyZmFjZSBTaWduVHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEtleWNoYWluc1RyaXBsZXQge1xuICB1c2VyS2V5Y2hhaW46IEtleWNoYWluO1xuICBiYWNrdXBLZXljaGFpbjogS2V5Y2hhaW47XG4gIGJpdGdvS2V5Y2hhaW46IEtleWNoYWluO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0bmluZ0tleWNoYWluc1RyaXBsZXQge1xuICB1c2VyS2V5Y2hhaW46IEtleWNoYWluO1xuICB1c2VyQXV0aEtleWNoYWluOiBLZXljaGFpbjtcbiAgbm9kZUF1dGhLZXljaGFpbjogS2V5Y2hhaW47XG59XG5cbmludGVyZmFjZSBCdWlsZFBhcmFtcyB7XG4gIHByZXZpZXc/OiBib29sZWFuO1xuICByZWNpcGllbnRzPzogSVRyYW5zYWN0aW9uUmVjaXBpZW50W107XG59XG5cbmludGVyZmFjZSBCYXNlU2lnbmFibGUge1xuICB3YWxsZXQ/OiBJV2FsbGV0O1xuICBidWlsZFBhcmFtcz86IEJ1aWxkUGFyYW1zICYgUGFydGlhbDxhbnk+O1xuICBjb25zb2xpZGF0ZUlkPzogc3RyaW5nO1xuICB0eFJlcXVlc3RJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvblByZWJ1aWxkIGV4dGVuZHMgQmFzZVNpZ25hYmxlIHtcbiAgdHhCYXNlNjQ/OiBzdHJpbmc7XG4gIHR4SGV4Pzogc3RyaW5nO1xuICB0eEluZm8/OiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2UgZXh0ZW5kcyBCYXNlU2lnbmFibGUge1xuICBtZXNzYWdlUmF3OiBzdHJpbmc7XG4gIG1lc3NhZ2VFbmNvZGVkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2VUeXBlUHJvcGVydHkge1xuICBuYW1lOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZVR5cGVzIHtcbiAgRUlQNzEyRG9tYWluOiBNZXNzYWdlVHlwZVByb3BlcnR5W107XG4gIFthZGRpdGlvbmFsUHJvcGVydGllczogc3RyaW5nXTogTWVzc2FnZVR5cGVQcm9wZXJ0eVtdO1xufVxuXG5leHBvcnQgZW51bSBTaWduVHlwZWREYXRhVmVyc2lvbiB7XG4gIFYxID0gJ1YxJyxcbiAgVjMgPSAnVjMnLFxuICBWNCA9ICdWNCcsXG59XG5cbi8qKlxuICogVGhpcyBpcyB0aGUgbWVzc2FnZSBmb3JtYXQgdXNlZCBmb3IgYHNpZ25UeXBlRGF0YWAsIGZvciBhbGwgdmVyc2lvbnNcbiAqIGV4Y2VwdCBgVjFgLlxuICpcbiAqIEB0ZW1wbGF0ZSBUIC0gVGhlIGN1c3RvbSB0eXBlcyB1c2VkIGJ5IHRoaXMgbWVzc2FnZS5cbiAqIEBwcm9wZXJ0eSB0eXBlcyAtIFRoZSBjdXN0b20gdHlwZXMgdXNlZCBieSB0aGlzIG1lc3NhZ2UuXG4gKiBAcHJvcGVydHkgcHJpbWFyeVR5cGUgLSBUaGUgdHlwZSBvZiB0aGUgbWVzc2FnZS5cbiAqIEBwcm9wZXJ0eSBkb21haW4gLSBTaWduaW5nIGRvbWFpbiBtZXRhZGF0YS4gVGhlIHNpZ25pbmcgZG9tYWluIGlzIHRoZSBpbnRlbmRlZCBjb250ZXh0IGZvciB0aGVcbiAqIHNpZ25hdHVyZSAoZS5nLiB0aGUgZGFwcCwgcHJvdG9jb2wsIGV0Yy4gdGhhdCBpdCdzIGludGVuZGVkIGZvcikuIFRoaXMgZGF0YSBpcyB1c2VkIHRvXG4gKiBjb25zdHJ1Y3QgdGhlIGRvbWFpbiBzZXBlcmF0b3Igb2YgdGhlIG1lc3NhZ2UuXG4gKiBAcHJvcGVydHkgZG9tYWluLm5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgc2lnbmluZyBkb21haW4uXG4gKiBAcHJvcGVydHkgZG9tYWluLnZlcnNpb24gLSBUaGUgY3VycmVudCBtYWpvciB2ZXJzaW9uIG9mIHRoZSBzaWduaW5nIGRvbWFpbi5cbiAqIEBwcm9wZXJ0eSBkb21haW4uY2hhaW5JZCAtIFRoZSBjaGFpbiBJRCBvZiB0aGUgc2lnbmluZyBkb21haW4uXG4gKiBAcHJvcGVydHkgZG9tYWluLnZlcmlmeWluZ0NvbnRyYWN0IC0gVGhlIGFkZHJlc3Mgb2YgdGhlIGNvbnRyYWN0IHRoYXQgY2FuIHZlcmlmeSB0aGUgc2lnbmF0dXJlLlxuICogQHByb3BlcnR5IGRvbWFpbi5zYWx0IC0gQSBkaXNhbWJpZ3VhdGluZyBzYWx0IGZvciB0aGUgcHJvdG9jb2wuXG4gKiBAcHJvcGVydHkgbWVzc2FnZSAtIFRoZSBtZXNzYWdlIHRvIGJlIHNpZ25lZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUeXBlZE1lc3NhZ2U8VCBleHRlbmRzIE1lc3NhZ2VUeXBlcz4ge1xuICB0eXBlczogVDtcbiAgcHJpbWFyeVR5cGU6IGtleW9mIFQ7XG4gIGRvbWFpbjoge1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgdmVyc2lvbj86IHN0cmluZztcbiAgICBjaGFpbklkPzogbnVtYmVyO1xuICAgIHZlcmlmeWluZ0NvbnRyYWN0Pzogc3RyaW5nO1xuICAgIHNhbHQ/OiBBcnJheUJ1ZmZlcjtcbiAgfTtcbiAgbWVzc2FnZTogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZWREYXRhIGV4dGVuZHMgQmFzZVNpZ25hYmxlIHtcbiAgdHlwZWREYXRhUmF3OiBzdHJpbmc7XG4gIHZlcnNpb246IFNpZ25UeXBlZERhdGFWZXJzaW9uO1xuICB0eXBlZERhdGFFbmNvZGVkPzogQnVmZmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkZHJlc3NDb2luU3BlY2lmaWMge1xuICBvdXRwdXRTY3JpcHQ/OiBzdHJpbmc7XG4gIHJlZGVlbVNjcmlwdD86IHN0cmluZztcbiAgd2l0bmVzc1NjcmlwdD86IHN0cmluZztcbiAgYmFzZUFkZHJlc3M/OiBzdHJpbmc7XG4gIHBlbmRpbmdDaGFpbkluaXRpYWxpemF0aW9uPzogYm9vbGVhbjtcbiAgZm9yd2FyZGVyVmVyc2lvbj86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGdWxseVNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgdHhIZXg6IHN0cmluZzsgLy8gVHJhbnNhY3Rpb24gaW4gYW55IGZvcm1hdCByZXF1aXJlZCBieSBlYWNoIGNvaW4sIGkuZS4gaW4gVHJvbiBpdCBpcyBhIHN0cmluZ2lmeWVkIEpTT05cbn1cblxuZXhwb3J0IGludGVyZmFjZSBIYWxmU2lnbmVkVXR4b1RyYW5zYWN0aW9uIHtcbiAgdHhIZXg6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIYWxmU2lnbmVkQWNjb3VudFRyYW5zYWN0aW9uIHtcbiAgaGFsZlNpZ25lZD86IHtcbiAgICB0eEhleD86IHN0cmluZzsgLy8gVHJhbnNhY3Rpb24gaW4gYW55IGZvcm1hdCByZXF1aXJlZCBieSBlYWNoIGNvaW4sIGkuZS4gaW4gVHJvbiBpdCBpcyBhIHN0cmluZ2lmeWVkIEpTT05cbiAgICBwYXlsb2FkPzogc3RyaW5nO1xuICAgIHR4QmFzZTY0Pzogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhhbGZTaWduZWRUcmFuc2FjdGlvbiBleHRlbmRzIEhhbGZTaWduZWRBY2NvdW50VHJhbnNhY3Rpb24ge1xuICBoYWxmU2lnbmVkOiB7XG4gICAgcmVjaXBpZW50czogUmVjaXBpZW50W107XG4gICAgZXhwaXJlVGltZT86IG51bWJlcjtcbiAgICBjb250cmFjdFNlcXVlbmNlSWQ/OiBudW1iZXI7XG4gICAgc2VxdWVuY2VJZD86IG51bWJlcjtcbiAgICB0eEhleD86IG5ldmVyO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25lZFRyYW5zYWN0aW9uUmVxdWVzdCB7XG4gIHR4UmVxdWVzdElkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVyaXZlS2V5V2l0aFNlZWRPcHRpb25zIHtcbiAga2V5OiBzdHJpbmc7XG4gIHNlZWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWYWxpZE1vZk5PcHRpb25zIHtcbiAgbT86IG51bWJlcjtcbiAgbj86IG51bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgU2lnbmVkVHJhbnNhY3Rpb24gPVxuICB8IEhhbGZTaWduZWRBY2NvdW50VHJhbnNhY3Rpb25cbiAgfCBIYWxmU2lnbmVkVXR4b1RyYW5zYWN0aW9uXG4gIHwgRnVsbHlTaWduZWRUcmFuc2FjdGlvblxuICB8IFNpZ25lZFRyYW5zYWN0aW9uUmVxdWVzdFxuICB8IFR4UmVxdWVzdDtcblxuZXhwb3J0IGludGVyZmFjZSBTaWduZWRNZXNzYWdlIHtcbiAgY29pbj86IHN0cmluZztcbiAgLy8gQGRlcHJlY2F0ZWQgLSB1c2UgYHNpZ25hdHVyZWAgaW5zdGVhZFxuICB0eEhhc2g6IHN0cmluZztcbiAgc2lnbmF0dXJlOiBzdHJpbmc7XG4gIG1lc3NhZ2VSYXc6IHN0cmluZztcbiAgbWVzc2FnZUVuY29kZWQ/OiBzdHJpbmc7XG4gIHR4UmVxdWVzdElkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3ZlcldhbGxldFRva2VuT3B0aW9ucyB7XG4gIHRva2VuQ29udHJhY3RBZGRyZXNzOiBzdHJpbmc7XG4gIHdhbGxldDogSVdhbGxldDtcbiAgcmVjaXBpZW50OiBzdHJpbmc7XG4gIGJyb2FkY2FzdD86IGJvb2xlYW47XG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG4gIHBydj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWNpcGllbnQge1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIGFtb3VudDogc3RyaW5nO1xuICBkYXRhPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY292ZXJUb2tlblRyYW5zYWN0aW9uIHtcbiAgaGFsZlNpZ25lZDoge1xuICAgIHJlY2lwaWVudDogUmVjaXBpZW50O1xuICAgIGV4cGlyZVRpbWU6IG51bWJlcjtcbiAgICBjb250cmFjdFNlcXVlbmNlSWQ6IG51bWJlcjtcbiAgICBvcGVyYXRpb25IYXNoOiBzdHJpbmc7XG4gICAgc2lnbmF0dXJlOiBzdHJpbmc7XG4gICAgZ2FzTGltaXQ6IG51bWJlcjtcbiAgICBnYXNQcmljZTogbnVtYmVyO1xuICAgIHRva2VuQ29udHJhY3RBZGRyZXNzOiBzdHJpbmc7XG4gICAgd2FsbGV0SWQ6IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUb2tlbkVuYWJsZW1lbnRDb25maWcge1xuICByZXF1aXJlc1Rva2VuRW5hYmxlbWVudDogYm9vbGVhbjtcbiAgc3VwcG9ydHNNdWx0aXBsZVRva2VuRW5hYmxlbWVudHM6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZVByZXAge1xuICBlbmNvZGVNZXNzYWdlKG1lc3NhZ2U6IHN0cmluZyk6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgTVBDQWxnb3JpdGhtID0gJ2VjZHNhJyB8ICdlZGRzYSc7XG5cbmV4cG9ydCB0eXBlIE5GVFRyYW5zZmVyT3B0aW9ucyA9IHtcbiAgdG9rZW5Db250cmFjdEFkZHJlc3M6IHN0cmluZztcbiAgcmVjaXBpZW50QWRkcmVzczogc3RyaW5nO1xufSAmIChcbiAgfCB7XG4gICAgICB0eXBlOiAnRVJDNzIxJztcbiAgICAgIHRva2VuSWQ6IHN0cmluZztcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ0VSQzExNTUnO1xuICAgICAgZW50cmllczogeyB0b2tlbklkOiBzdHJpbmc7IGFtb3VudDogbnVtYmVyIH1bXTtcbiAgICB9XG4pO1xuXG5leHBvcnQgdHlwZSBCdWlsZE5mdFRyYW5zZmVyRGF0YU9wdGlvbnMgPSBORlRUcmFuc2Zlck9wdGlvbnMgJiB7XG4gIGZyb21BZGRyZXNzOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VCcm9hZGNhc3RUcmFuc2FjdGlvbk9wdGlvbnMge1xuICBzZXJpYWxpemVkU2lnbmVkVHJhbnNhY3Rpb246IHN0cmluZztcbiAgdHJhbnNhY3Rpb25zPzogTVBDVHhbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYXNlQnJvYWRjYXN0VHJhbnNhY3Rpb25SZXN1bHQge1xuICB0eElkPzogc3RyaW5nO1xuICB0eElkcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElCYXNlQ29pbiB7XG4gIHR5cGU6IHN0cmluZztcbiAgdG9rZW5Db25maWc/OiBCYXNlVG9rZW5Db25maWc7XG4gIGdldENvbmZpZygpOiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+O1xuICB1cmwoc3VmZml4OiBzdHJpbmcpOiBzdHJpbmc7XG4gIHdhbGxldHMoKTogSVdhbGxldHM7XG4gIGVudGVycHJpc2VzKCk6IElFbnRlcnByaXNlcztcbiAga2V5Y2hhaW5zKCk6IElLZXljaGFpbnM7XG4gIHdlYmhvb2tzKCk6IElXZWJob29rcztcbiAgcGVuZGluZ0FwcHJvdmFscygpOiBJUGVuZGluZ0FwcHJvdmFscztcbiAgbWFya2V0cygpOiBJTWFya2V0cztcbiAgZ2V0Q2hhaW4oKTogc3RyaW5nO1xuICBnZXRGYW1pbHkoKTogc3RyaW5nO1xuICBnZXRGdWxsTmFtZSgpOiBzdHJpbmc7XG4gIHZhbHVlbGVzc1RyYW5zZmVyQWxsb3dlZCgpOiBib29sZWFuO1xuICBjaGVja1JlY2lwaWVudChyZWNpcGllbnQ6IHsgYWRkcmVzczogc3RyaW5nOyBhbW91bnQ6IHN0cmluZyB8IG51bWJlciB9KTogdm9pZDtcbiAgc3dlZXBXaXRoU2VuZE1hbnkoKTogYm9vbGVhbjtcbiAgdHJhbnNhY3Rpb25EYXRhQWxsb3dlZCgpOiBib29sZWFuO1xuICBhbGxvd3NBY2NvdW50Q29uc29saWRhdGlvbnMoKTogYm9vbGVhbjtcbiAgZ2V0VG9rZW5FbmFibGVtZW50Q29uZmlnKCk6IFRva2VuRW5hYmxlbWVudENvbmZpZztcbiAgc3VwcG9ydHNUc3MoKTogYm9vbGVhbjtcbiAgc3VwcG9ydHNEZXJpdmVLZXlXaXRoU2VlZCgpOiBib29sZWFuO1xuICBpc0VWTSgpOiBib29sZWFuO1xuICBzdXBwb3J0c0Jsc0RrZygpOiBib29sZWFuO1xuICBnZXRCYXNlRmFjdG9yKCk6IG51bWJlciB8IHN0cmluZztcbiAgYmFzZVVuaXRzVG9CaWdVbml0cyhiYXNlVW5pdHM6IHN0cmluZyB8IG51bWJlcik6IHN0cmluZztcbiAgYmlnVW5pdHNUb0Jhc2VVbml0cyhiaWdVbml0czogc3RyaW5nIHwgbnVtYmVyKTogc3RyaW5nO1xuICBwcmVwcm9jZXNzQnVpbGRQYXJhbXMocGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgc2lnbk1lc3NhZ2Uoa2V5OiB7IHBydjogc3RyaW5nIH0sIG1lc3NhZ2U6IHN0cmluZyk6IFByb21pc2U8QnVmZmVyPjtcbiAgY3JlYXRlS2V5U2lnbmF0dXJlcyhcbiAgICBwcnY6IHN0cmluZyxcbiAgICBiYWNrdXBLZXljaGFpbjogeyBwdWI6IHN0cmluZyB9LFxuICAgIGJpdGdvS2V5Y2hhaW46IHsgcHViOiBzdHJpbmcgfVxuICApOiBQcm9taXNlPHtcbiAgICBiYWNrdXA6IHN0cmluZztcbiAgICBiaXRnbzogc3RyaW5nO1xuICB9PjtcbiAgZXhwbGFpblRyYW5zYWN0aW9uKG9wdGlvbnM6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBQcm9taXNlPElUcmFuc2FjdGlvbkV4cGxhbmF0aW9uPGFueSwgc3RyaW5nIHwgbnVtYmVyPiB8IHVuZGVmaW5lZD47XG4gIHZlcmlmeVRyYW5zYWN0aW9uKHBhcmFtczogVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxib29sZWFuPjtcbiAgdmVyaWZ5QWRkcmVzcyhwYXJhbXM6IFZlcmlmeUFkZHJlc3NPcHRpb25zKTogUHJvbWlzZTxib29sZWFuPjtcbiAgaXNXYWxsZXRBZGRyZXNzKHBhcmFtczogVmVyaWZ5QWRkcmVzc09wdGlvbnMsIHdhbGxldD86IElXYWxsZXQpOiBQcm9taXNlPGJvb2xlYW4+O1xuICBjYW5vbmljYWxBZGRyZXNzKGFkZHJlc3M6IHN0cmluZywgZm9ybWF0OiB1bmtub3duKTogc3RyaW5nO1xuICBzdXBwb3J0c0Jsb2NrVGFyZ2V0KCk6IGJvb2xlYW47XG4gIHN1cHBvcnRzTGlnaHRuaW5nKCk6IGJvb2xlYW47XG4gIHN1cHBvcnRzTWVzc2FnZVNpZ25pbmcoKTogYm9vbGVhbjtcbiAgc3VwcG9ydHNTaWduaW5nVHlwZWREYXRhKCk6IGJvb2xlYW47XG4gIHN1cHBsZW1lbnRHZW5lcmF0ZVdhbGxldCh3YWxsZXRQYXJhbXM6IFN1cHBsZW1lbnRHZW5lcmF0ZVdhbGxldE9wdGlvbnMsIGtleWNoYWluczogS2V5Y2hhaW5zVHJpcGxldCk6IFByb21pc2U8YW55PjtcbiAgZ2V0RXh0cmFQcmVidWlsZFBhcmFtcyhidWlsZFBhcmFtczogRXh0cmFQcmVidWlsZFBhcmFtc09wdGlvbnMpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIHVua25vd24+PjtcbiAgcG9zdFByb2Nlc3NQcmVidWlsZChwcmVidWlsZFJlc3BvbnNlOiBUcmFuc2FjdGlvblByZWJ1aWxkKTogUHJvbWlzZTxUcmFuc2FjdGlvblByZWJ1aWxkPjtcbiAgcHJlc2lnblRyYW5zYWN0aW9uKHBhcmFtczogUHJlc2lnblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8UHJlc2lnblRyYW5zYWN0aW9uT3B0aW9ucz47XG4gIHNpZ25XaXRoQ3VzdG9tU2lnbmluZ0Z1bmN0aW9uPyhcbiAgICBjdXN0b21TaWduaW5nRnVuY3Rpb246IEN1c3RvbVNpZ25pbmdGdW5jdGlvbixcbiAgICBzaWduVHJhbnNhY3Rpb25QYXJhbXM6IHsgdHhQcmVidWlsZDogVHJhbnNhY3Rpb25QcmVidWlsZDsgcHVicz86IHN0cmluZ1tdIH1cbiAgKTogUHJvbWlzZTxTaWduZWRUcmFuc2FjdGlvbj47XG4gIG5ld1dhbGxldE9iamVjdCh3YWxsZXRQYXJhbXM6IGFueSk6IElXYWxsZXQ7XG4gIGZlZUVzdGltYXRlKHBhcmFtczogRmVlRXN0aW1hdGVPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBkZXJpdmVLZXlXaXRoU2VlZChwYXJhbXM6IERlcml2ZUtleVdpdGhTZWVkT3B0aW9ucyk6IHsga2V5OiBzdHJpbmc7IGRlcml2YXRpb25QYXRoOiBzdHJpbmcgfTtcbiAga2V5SWRzRm9yU2lnbmluZygpOiBudW1iZXJbXTtcbiAgcHJlQ3JlYXRlQml0R28ocGFyYW1zOiBQcmVjcmVhdGVCaXRHb09wdGlvbnMpOiB2b2lkO1xuICBpbml0aWF0ZVJlY292ZXJ5KHBhcmFtczogSW5pdGlhdGVSZWNvdmVyeU9wdGlvbnMpOiBuZXZlcjtcbiAgcGFyc2VUcmFuc2FjdGlvbihwYXJhbXM6IFBhcnNlVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxQYXJzZWRUcmFuc2FjdGlvbj47XG4gIGdlbmVyYXRlS2V5UGFpcihzZWVkPzogQnVmZmVyKTogS2V5UGFpcjtcbiAgZ2VuZXJhdGVSb290S2V5UGFpcihzZWVkPzogQnVmZmVyKTogS2V5UGFpcjtcbiAgaXNWYWxpZFB1YihwdWI6IHN0cmluZyk6IGJvb2xlYW47XG4gIGlzVmFsaWRNb2ZOU2V0dXAocGFyYW1zOiBWYWxpZE1vZk5PcHRpb25zKTogYm9vbGVhbjtcbiAgaXNWYWxpZEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogYm9vbGVhbjtcbiAgc2lnblRyYW5zYWN0aW9uKHBhcmFtczogU2lnblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8U2lnbmVkVHJhbnNhY3Rpb24+O1xuICBnZXRTaWduYWJsZVBheWxvYWQoc2VyaWFsaXplZFR4OiBzdHJpbmcpOiBQcm9taXNlPEJ1ZmZlcj47XG4gIGdldE1QQ0FsZ29yaXRobSgpOiBNUENBbGdvcml0aG07XG4gIC8vIFRPRE8gLSB0aGlzIG9ubHkgYmVsb25ncyBpbiBldGggY29pbnNcbiAgcmVjb3ZlclRva2VuKHBhcmFtczogUmVjb3ZlcldhbGxldFRva2VuT3B0aW9ucyk6IFByb21pc2U8UmVjb3ZlclRva2VuVHJhbnNhY3Rpb24+O1xuICBnZXRJbnNjcmlwdGlvbkJ1aWxkZXIod2FsbGV0OiBXYWxsZXQpOiBJSW5zY3JpcHRpb25CdWlsZGVyO1xuXG4gIC8qKlxuICAgKiBCdWlsZCB0aGUgY2FsbCBkYXRhIGZvciB0cmFuc2ZlcnJpbmcgYSBORlQocykuXG4gICAqIEBwYXJhbSBwYXJhbXMgT3B0aW9ucyBzcGVjaWZ5aW5nIHRoZSB0b2tlbiBjb250cmFjdCwgdG9rZW4gcmVjaXBpZW50ICYgdGhlIHRva2VuKHMpIHRvIGJlIHRyYW5zZmVycmVkXG4gICAqIEByZXR1cm4gdGhlIGhleCBzdHJpbmcgZm9yIHRoZSBjb250cmFjdCBjYWxsLlxuICAgKi9cbiAgYnVpbGROZnRUcmFuc2ZlckRhdGEocGFyYW1zOiBCdWlsZE5mdFRyYW5zZmVyRGF0YU9wdGlvbnMpOiBzdHJpbmc7XG4gIGdldEhhc2hGdW5jdGlvbigpOiBIYXNoO1xuICBicm9hZGNhc3RUcmFuc2FjdGlvbihwYXJhbXM6IEJhc2VCcm9hZGNhc3RUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPEJhc2VCcm9hZGNhc3RUcmFuc2FjdGlvblJlc3VsdD47XG4gIHNldENvaW5TcGVjaWZpY0ZpZWxkc0luSW50ZW50KGludGVudDogUG9wdWxhdGVkSW50ZW50LCBwYXJhbXM6IFByZWJ1aWxkVHJhbnNhY3Rpb25XaXRoSW50ZW50T3B0aW9ucyk6IHZvaWQ7XG59XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environments.d.ts","sourceRoot":"","sources":["../../../src/bitgo/environments.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"environments.d.ts","sourceRoot":"","sources":["../../../src/bitgo/environments.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,8 +68,12 @@ const mainnetBase = {
|
|
|
68
68
|
hmacVerificationEnforced: true,
|
|
69
69
|
suiNodeUrl: 'https://fullnode.mainnet.sui.io',
|
|
70
70
|
etcNodeUrl: 'https://etc.blockscout.com',
|
|
71
|
-
coredaoExplorerBaseUrl: 'https://
|
|
71
|
+
coredaoExplorerBaseUrl: 'https://openapi.coredao.org',
|
|
72
72
|
oasExplorerBaseUrl: 'https://explorer.oasys.games',
|
|
73
|
+
flrExplorerBaseUrl: 'https://flare-explorer.flare.network',
|
|
74
|
+
xdcExplorerBaseUrl: 'https://api-xdc.blocksscan.io',
|
|
75
|
+
wemixExplorerBaseUrl: 'https://api.wemixscan.com',
|
|
76
|
+
sgbExplorerBaseUrl: 'https://songbird-explorer.flare.network',
|
|
73
77
|
rosettaNodeURL: 'http://localhost:8081', //TODO(WIN-4242): update when rosetta node is available
|
|
74
78
|
};
|
|
75
79
|
const testnetBase = {
|
|
@@ -123,8 +127,12 @@ const testnetBase = {
|
|
|
123
127
|
hmacVerificationEnforced: false,
|
|
124
128
|
suiNodeUrl: 'https://fullnode.testnet.sui.io',
|
|
125
129
|
etcNodeUrl: 'https://etc-mordor.blockscout.com',
|
|
126
|
-
coredaoExplorerBaseUrl: 'https://
|
|
130
|
+
coredaoExplorerBaseUrl: 'https://api.test2.btcs.network',
|
|
127
131
|
oasExplorerBaseUrl: 'https://explorer.testnet.oasys.games',
|
|
132
|
+
wemixExplorerBaseUrl: 'https://api-testnet.wemixscan.com',
|
|
133
|
+
flrExplorerBaseUrl: 'https://coston2-explorer.flare.network',
|
|
134
|
+
xdcExplorerBaseUrl: 'https://api-apothem.xdcscan.io',
|
|
135
|
+
sgbExplorerBaseUrl: 'https://coston-explorer.flare.network',
|
|
128
136
|
rosettaNodeURL: 'http://localhost:8081', //TODO(WIN-4242): update when rosetta node is available
|
|
129
137
|
};
|
|
130
138
|
const devBase = Object.assign({}, testnetBase, {
|
|
@@ -208,4 +216,4 @@ exports.Environments = {
|
|
|
208
216
|
stellarFederationServerUrl: 'https://app.bitgo-dev.com/api/v2/txlm/federation',
|
|
209
217
|
}),
|
|
210
218
|
};
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JpdGdvL2Vudmlyb25tZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE2RWEsUUFBQSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQy9DLFVBQVUsRUFBRTtRQUNWLElBQUksRUFBRSxpSEFBaUg7UUFDdkgsSUFBSSxFQUFFLGlIQUFpSDtLQUN4SDtJQUNELE9BQU8sRUFBRTtRQUNQLElBQUksRUFBRSxpSEFBaUg7UUFDdkgsSUFBSSxFQUFFLGlIQUFpSDtRQUN2SCxHQUFHLEVBQUUsaUhBQWlIO0tBQ3ZIO0NBQ0YsQ0FBQyxDQUFDO0FBc0JILHdGQUF3RjtBQUMzRSxRQUFBLGlCQUFpQixHQUFxRDtJQUNqRixVQUFVLEVBQUUsTUFBTTtJQUNsQixNQUFNLEVBQUUsTUFBTTtJQUNkLE1BQU0sRUFBRSxNQUFNO0lBQ2QsS0FBSyxFQUFFLEtBQUs7SUFDWixRQUFRLEVBQUUsUUFBUTtDQUNuQixDQUFDO0FBRUYsTUFBTSxXQUFXLEdBQXdCO0lBQ3ZDLE9BQU8sRUFBRSxTQUFzQjtJQUMvQixjQUFjLEVBQUUsb0NBQW9DO0lBQ3BELFVBQVUsRUFBRSwyQkFBbUIsQ0FBQyxVQUFVLENBQUMsSUFBSTtJQUMvQyxPQUFPLEVBQUUsMkJBQW1CLENBQUMsT0FBTyxDQUFDLElBQUk7SUFDekMsa0JBQWtCLEVBQUUsOEJBQThCO0lBQ2xELGdCQUFnQixFQUFFLDBCQUEwQjtJQUM1QyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQjtJQUNsRCxtQkFBbUIsRUFBRSwwQkFBMEI7SUFDL0MsbUJBQW1CLEVBQUUsNEJBQTRCO0lBQ2pELHNCQUFzQixFQUFFLGlDQUFpQztJQUN6RCxjQUFjLEVBQUUseUJBQXlCO0lBQ3pDLGVBQWUsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWE7SUFDMUMsa0JBQWtCLEVBQUUsNkJB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MkJBQW1CLENBQUMsT0FBTyxDQUFDLElBQUk7UUFDN0csa0JBQWtCLEVBQ2hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsNEJBQTRCLEtBQUssU0FBUztZQUNwRCxDQUFDLENBQUMsc0NBQXNDO1lBQ3hDLENBQUMsQ0FBQyw4QkFBOEI7UUFDcEMsZ0JBQWdCLEVBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsS0FBSyxVQUFVO1lBQ3RELENBQUMsQ0FBQyxrQ0FBa0M7WUFDcEMsQ0FBQyxDQUFDLDBCQUEwQjtRQUNoQywwQkFBMEIsRUFDeEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsS0FBSyxTQUFTO1lBQ3BELENBQUMsQ0FBQyxXQUFXLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLHlCQUF5QjtZQUN2RSxDQUFDLENBQUMsV0FBVyxPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQix3QkFBd0I7UUFDMUUsVUFBVSxFQUNSLE9BQU8sQ0FBQyxHQUFHLENBQUMsNEJBQTRCLEtBQUssU0FBUztZQUNwRCxDQUFDLENBQUMsMkJBQW1CLENBQUMsVUFBVSxDQUFDLElBQUk7WUFDckMsQ0FBQyxDQUFDLDJCQUFtQixDQUFDLFVBQVUsQ0FBQyxJQUFJO0tBQzFDLENBQUM7SUFDRixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFO1FBQ2pDLEdBQUcsRUFBRSwyQkFBMkI7UUFDaEMsMEJBQTBCLEVBQUUsa0RBQWtEO0tBQy9FLENBQUM7Q0FDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IHsgVjFOZXR3b3JrIH0gZnJvbSAnLi90eXBlcyc7XG5cbmludGVyZmFjZSBFbnZpcm9ubWVudFRlbXBsYXRlIHtcbiAgdXJpPzogc3RyaW5nO1xuICBuZXR3b3JrOiBWMU5ldHdvcms7XG4gIHNpZ25pbmdBZGRyZXNzOiBzdHJpbmc7XG4gIHNlcnZlclhwdWI6IHN0cmluZztcbiAgaHNtWHB1Yjogc3RyaW5nO1xuICBidGNFeHBsb3JlckJhc2VVcmw6IHN0cmluZztcbiAgZXRoZXJzY2FuQmFzZVVybDogc3RyaW5nO1xuICBldGhlcnNjYW5BcGlUb2tlbj86IHN0cmluZztcbiAgYXZheGNOZXR3b3JrQmFzZVVybDogc3RyaW5nO1xuICBldGgyRXhwbG9yZXJCYXNlVXJsOiBzdHJpbmc7XG4gIGV0aHdGdWxsTm9kZVJQQ0Jhc2VVcmw6IHN0cmluZztcbiAgcG9seWdvbnNjYW5CYXNlVXJsPzogc3RyaW5nO1xuICBic2NzY2FuQmFzZVVybD86IHN0cmluZztcbiAgYnNjc2NhbkFwaVRva2VuPzogc3RyaW5nO1xuICBwb2x5Z29uc2NhbkFwaVRva2VuPzogc3RyaW5nO1xuICBhcmJpc2NhbkJhc2VVcmw/OiBzdHJpbmc7XG4gIGFyYmlzY2FuQXBpVG9rZW4/OiBzdHJpbmc7XG4gIG9hc0V4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIG9hc0V4cGxvcmVyQmFzZVVybD86IHN0cmluZztcbiAgb3B0aW1pc3RpY0V0aGVyc2NhbkJhc2VVcmw/OiBzdHJpbmc7XG4gIG9wdGltaXN0aWNFdGhlcnNjYW5BcGlUb2tlbj86IHN0cmluZztcbiAgemtzeW5jRXhwbG9yZXJCYXNlVXJsPzogc3RyaW5nO1xuICB6a3N5bmNFeHBsb3JlckFwaVRva2VuPzogc3RyaW5nO1xuICBiZXJhRXhwbG9yZXJCYXNlVXJsPzogc3RyaW5nO1xuICBiZXJhRXhwbG9yZXJBcGlUb2tlbj86IHN0cmluZztcbiAgYmFzZWV0aEV4cGxvcmVyVXJsPzogc3RyaW5nO1xuICBiYXNlZXRoQXBpVG9rZW4/OiBzdHJpbmc7XG4gIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsPzogc3RyaW5nO1xuICBlb3NOb2RlVXJsczogc3RyaW5nW107XG4gIG5lYXJOb2RlVXJsczogc3RyaW5nW107XG4gIHNvbE5vZGVVcmw6IHN0cmluZztcbiAgYWRhTm9kZVVybDogc3RyaW5nO1xuICBoYXNoTm9kZVVybDogc3RyaW5nO1xuICBpbmpOb2RlVXJsOiBzdHJpbmc7XG4gIGF0b21Ob2RlVXJsOiBzdHJpbmc7XG4gIG9zbW9Ob2RlVXJsOiBzdHJpbmc7XG4gIHRpYU5vZGVVcmw6IHN0cmluZztcbiAgc2VpTm9kZVVybDogc3RyaW5nO1xuICBibGROb2RlVXJsOiBzdHJpbmc7XG4gIGJlcmFOb2RlVXJsOiBzdHJpbmc7XG4gIHpldGFOb2RlVXJsOiBzdHJpbmc7XG4gIGNvcmV1bU5vZGVVcmw6IHN0cmluZztcbiAgcnVuZU5vZGVVcmw6IHN0cmluZztcbiAgYmFieU5vZGVVcmw6IHN0cmluZztcbiAgaXNsbU5vZGVVcmw6IHN0cmluZztcbiAgZG90Tm9kZVVybHM6IHN0cmluZ1tdO1xuICB0cm9uTm9kZXM6IHtcbiAgICBmdWxsOiBzdHJpbmc7XG4gICAgc29saWRpdHk6IHN0cmluZztcbiAgfTtcbiAgaG1hY1ZlcmlmaWNhdGlvbkVuZm9yY2VkOiBib29sZWFuO1xuICBzdWlOb2RlVXJsOiBzdHJpbmc7XG4gIGV0Y05vZGVVcmw6IHN0cmluZztcbiAgY29yZWRhb0V4cGxvcmVyQmFzZVVybD86IHN0cmluZztcbiAgY29yZWRhb0V4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIHhkY0V4cGxvcmVyQmFzZVVybD86IHN0cmluZztcbiAgeGRjRXhwbG9yZXJBcGlUb2tlbj86IHN0cmluZztcbiAgZmxyRXhwbG9yZXJCYXNlVXJsPzogc3RyaW5nO1xuICBmbHJFeHBsb3JlckFwaVRva2VuPzogc3RyaW5nO1xuICBzZ2JFeHBsb3JlckJhc2VVcmw/OiBzdHJpbmc7XG4gIHNnYkV4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIHJvc2V0dGFOb2RlVVJMOiBzdHJpbmc7XG4gIHdlbWl4RXhwbG9yZXJCYXNlVXJsPzogc3RyaW5nO1xuICB3ZW1peEV4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW52aXJvbm1lbnQgZXh0ZW5kcyBFbnZpcm9ubWVudFRlbXBsYXRlIHtcbiAgdXJpOiBzdHJpbmc7XG4gIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBoYXJkY29kZWRQdWJsaWNLZXlzID0gT2JqZWN0LmZyZWV6ZSh7XG4gIHNlcnZlclhwdWI6IHtcbiAgICBwcm9kOiAneHB1YjY2MU15TXdBcVJiY0V0VWd1OUhGOGFpNGlwdVZLS0hCelVxa3M0alNGeXBXOGR3d1FMMXp5Z0xnUXg5OU5tQzd6Skp6blNpd0tHNlJRZlZqQUtNdENzeDhWalI2a1FXOHg3SHJrWEZaZG5RJyxcbiAgICB0ZXN0OiAneHB1YjY2MU15TXdBcVJiY0VyRnFWWEdpVUZ2OVllb1BiaE43MlVpTkNVZGo5bmozVDZNOGg3aUtObWJDWXBNVldWWlA3TEEybWEzSFdjUG5nejFnUlRtNEZQZHRtOW1IZnJOdlU5M01Db3N6c0dMJyxcbiAgfSxcbiAgaHNtWHB1Yjoge1xuICAgIHByb2Q6ICd4cHViNjYxTXlNd0FxUmJjR0V0VEZnTUFveE1Gb3FzUmREYWlhUjYzYnlOZlpkVjdjQlpGdm92UVNOSjVicHllb1F0dUtWZ1hCazZzRlE3VHR2eVdxYWR0NDFEbkt3dmVZZ001S29VMkVLWWpkWTInLFxuICAgIHRlc3Q6ICd4cHViNjYxTXlNd0FxUmJjR0ZLZTRCcXZrNFNncmljNGdORkM4cFVidzR0VWtWalp4dWJqQ0E1MjJnUHpjMVlhWGIzYlFWbURXYzdDakc4QUdOV1JwY2RBVTM4UkVUQmg4bjJibnFFVTRrYlY0b0snLFxuICAgIGRldjogJ3hwdWI2NjFNeU13QXFSYmNGV3pvejhxbllSRFlFRlFwUExZd3hWRm9HNldMeTNjazVadXBSR0pURzRqdTZ5R2I3RGozZXk2R3NDNGtzdExSRVIybkt6Z2pMdG14eVBnQzR6SHk3a1ZoVXQ2eWZHbicsXG4gIH0sXG59KTtcblxuZXhwb3J0IHR5cGUgRW52aXJvbm1lbnROYW1lID1cbiAgfCAncHJvZCdcbiAgfCAnc3RhZ2luZydcbiAgfCAndGVzdCdcbiAgfCAnZGV2J1xuICB8ICdsYXRlc3QnXG4gIHwgJ2xvY2FsJ1xuICB8ICdsb2NhbE5vblNlY3VyZSdcbiAgfCAnbW9jaydcbiAgfCAnYWRtaW5Qcm9kJ1xuICB8ICdhZG1pblRlc3QnXG4gIHwgJ2FkbWluRGV2J1xuICB8ICdhZG1pbkxhdGVzdCdcbiAgfCAnY3VzdG9tJ1xuICB8ICdicmFuY2gnO1xuXG5leHBvcnQgdHlwZSBBbGlhc0Vudmlyb25tZW50TmFtZSA9ICdwcm9kdWN0aW9uJyB8ICdtc1Byb2QnIHwgJ21zVGVzdCcgfCAnbXNEZXYnIHwgJ21zTGF0ZXN0JztcblxuZXhwb3J0IHR5cGUgRW52aXJvbm1lbnRzID0geyBbayBpbiBFbnZpcm9ubWVudE5hbWVdOiBFbnZpcm9ubWVudCB9O1xuXG4vLyBhbGlhcyBlbnZpcm9ubWVudHMgYXJlIGVudmlyb25tZW50IG5hbWVzIHdoaWNoIGFyZSBhbGlhc2VzIG9mIGEgc3VwcG9ydGVkIGVudmlyb25tZW50XG5leHBvcnQgY29uc3QgQWxpYXNFbnZpcm9ubWVudHM6IHsgW2sgaW4gQWxpYXNFbnZpcm9ubWVudE5hbWVdOiBFbnZpcm9ubWVudE5hbWUgfSA9IHtcbiAgcHJvZHVjdGlvbjogJ3Byb2QnLFxuICBtc1Byb2Q6ICdwcm9kJyxcbiAgbXNUZXN0OiAndGVzdCcsXG4gIG1zRGV2OiAnZGV2JyxcbiAgbXNMYXRlc3Q6ICdsYXRlc3QnLFxufTtcblxuY29uc3QgbWFpbm5ldEJhc2U6IEVudmlyb25tZW50VGVtcGxhdGUgPSB7XG4gIG5ldHdvcms6ICdiaXRjb2luJyBhcyBWMU5ldHdvcmssXG4gIHNpZ25pbmdBZGRyZXNzOiAnMUJpdEdvM2d4Ulo2bVFTRUg1MmR2Q0tTVWdWQ0FINFJqYScsXG4gIHNlcnZlclhwdWI6IGhhcmRjb2RlZFB1YmxpY0tleXMuc2VydmVyWHB1Yi5wcm9kLFxuICBoc21YcHViOiBoYXJkY29kZWRQdWJsaWNLZXlzLmhzbVhwdWIucHJvZCxcbiAgYnRjRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9ibG9ja3N0cmVhbS5pbmZvL2FwaScsXG4gIGV0aGVyc2NhbkJhc2VVcmw6ICdodHRwczovL2FwaS5ldGhlcnNjYW4uaW8nLFxuICBldGhlcnNjYW5BcGlUb2tlbjogcHJvY2Vzcy5lbnYuRVRIRVJTQ0FOX0FQSV9UT0tFTixcbiAgYXZheGNOZXR3b3JrQmFzZVVybDogJ2h0dHBzOi8vYXBpLmF2YXgubmV0d29yaycsXG4gIGV0aDJFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2JlYWNvbnNjYW4uY29tL2FwaScsXG4gIGV0aHdGdWxsTm9kZVJQQ0Jhc2VVcmw6ICdodHRwczovL21haW5uZXQuZXRoZXJldW1wb3cub3JnJyxcbiAgYnNjc2NhbkJhc2VVcmw6ICdodHRwczovL2FwaS5ic2NzY2FuLmNvbScsXG4gIGJzY3NjYW5BcGlUb2tlbjogcHJvY2Vzcy5lbnYuQlNDX0FQSV9UT0tFTixcbiAgcG9seWdvbnNjYW5CYXNlVXJsOiAnaHR0cHM6Ly9hcGkucG9seWdvbnNjYW4uY29tJyxcbiAgcG9seWdvbnNjYW5BcGlUb2tlbjogcHJvY2Vzcy5lbnYuUE9MWUdPTlNDQU5fQVBJX1RPS0VOLFxuICBhcmJpc2NhbkJhc2VVcmw6ICdodHRwczovL2FwaS5hcmJpc2Nhbi5pbycsXG4gIGFyYmlzY2FuQXBpVG9rZW46IHByb2Nlc3MuZW52LkFSQklTQ0FOX0FQSV9UT0tFTixcbiAgb3B0aW1pc3RpY0V0aGVyc2NhbkJhc2VVcmw6ICdodHRwczovL2FwaS1vcHRpbWlzdGljLmV0aGVyc2Nhbi5pbycsXG4gIG9wdGltaXN0aWNFdGhlcnNjYW5BcGlUb2tlbjogcHJvY2Vzcy5lbnYuT1BUSU1JU1RJQ19FVEhFUlNDQU5fQVBJX1RPS0VOLFxuICB6a3N5bmNFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2Jsb2NrLWV4cGxvcmVyLWFwaS5tYWlubmV0Lnprc3luYy5pbycsXG4gIHprc3luY0V4cGxvcmVyQXBpVG9rZW46IHByb2Nlc3MuZW52LlpLU1lOQ19FWFBMT1JFUl9BUElfVE9LRU4sXG4gIGJhc2VldGhFeHBsb3JlclVybDogJ2h0dHBzOi8vYXBpLmJhc2VzY2FuLm9yZycsXG4gIGJhc2VldGhBcGlUb2tlbjogcHJvY2Vzcy5lbnYuQkFTRVNDQU5fQVBJX1RPS0VOLFxuICBlb3NOb2RlVXJsczogWydodHRwczovL2JwLmNyeXB0b2xpb25zLmlvJywgJ2h0dHBzOi8vYXBpLmVvc25ld3lvcmsuaW8nLCAnaHR0cHM6Ly9hcGkuZW9zZGV0cm9pdC5pbyddLFxuICBuZWFyTm9kZVVybHM6IFsnaHR0cHM6Ly9ycGMubWFpbm5ldC5uZWFyLm9yZyddLFxuICBzb2xOb2RlVXJsOiAnaHR0cHM6Ly9hcGkubWFpbm5ldC1iZXRhLnNvbGFuYS5jb20nLFxuICBhZGFOb2RlVXJsOiAnaHR0cHM6Ly9hcGkua29pb3MucmVzdC9hcGkvdjAnLFxuICBoYXNoTm9kZVVybDogJ2h0dHBzOi8vYXBpLnByb3ZlbmFuY2UuaW8nLFxuICBpbmpOb2RlVXJsOiAnaHR0cHM6Ly9zZW50cnkubGNkLmluamVjdGl2ZS5uZXR3b3JrJywgLy8gcmVmZXJlbmNlIGh0dHBzOi8vZG9jcy5pbmplY3RpdmUubmV0d29yay9kZXZlbG9wL3B1YmxpYy1lbmRwb2ludHMvXG4gIGF0b21Ob2RlVXJsOiAnaHR0cHM6Ly9yZXN0LmNvc21vcy5kaXJlY3RvcnkvY29zbW9zaHViLycsXG4gIG9zbW9Ob2RlVXJsOiAnaHR0cHM6Ly9sY2Qub3Ntb3Npcy56b25lJyxcbiAgdGlhTm9kZVVybDogJ2h0dHBzOi8vcHVibGljLWNlbGVzdGlhLWxjZC5udW1pYS54eXonLCAvLyByZWZlcmVuY2UgaHR0cHM6Ly9kb2NzLmNlbGVzdGlhLm9yZy9ub2Rlcy9tYWlubmV0I2FwaS1lbmRwb2ludHNcbiAgc2VpTm9kZVVybDogJ2h0dHBzOi8vc2VpLWFwaS5wb2xrYWNodS5jb20nLFxuICBibGROb2RlVXJsOiAnaHR0cHM6Ly9hZ29yaWMtYXBpLnBvbGthY2h1LmNvbScsXG4gIGJlcmFOb2RlVXJsOiAnJywgLy8gVE9ETyhXSU4tNjkzKTogdXBkYXRlIHVybCB3aGVuIG1haW5uZXQgZ29lcyBsaXZlXG4gIHpldGFOb2RlVXJsOiAnaHR0cHM6Ly96ZXRhY2hhaW4uYmxvY2twaS5uZXR3b3JrJywgLy8gcmVmZXJlbmNlIGh0dHBzOi8vd3d3LnpldGFjaGFpbi5jb20vZG9jcy9yZWZlcmVuY2UvYXBpL1xuICBjb3JldW1Ob2RlVXJsOiAnaHR0cHM6Ly9mdWxsLW5vZGUubWFpbm5ldC0xLmNvcmV1bS5kZXY6MTMxNycsXG4gIHJ1bmVOb2RlVXJsOiAnaHR0cHM6Ly90aG9ybm9kZS5uaW5lcmVhbG1zLmNvbScsXG4gIGJhYnlOb2RlVXJsOiAnJywgLy8gVE9ETyhDT0lOLTI3NTgpIHVwZGF0ZSB1cmwgd2hlbiBtYWlubmV0IGdvZXMgbGl2ZVxuICBpc2xtTm9kZVVybDogJ2h0dHBzOi8vcmVzdC5jb3Ntb3MuaGFxcS5uZXR3b3JrJyxcbiAgZG90Tm9kZVVybHM6IFsnd3NzOi8vcnBjLnBvbGthZG90LmlvJ10sXG4gIHRyb25Ob2Rlczoge1xuICAgIGZ1bGw6ICdodHRwczovL2FwaS50cm9uZ3JpZC5pbycsXG4gICAgc29saWRpdHk6ICdodHRwczovL2FwaS50cm9uZ3JpZC5pbycsXG4gIH0sXG4gIGhtYWNWZXJpZmljYXRpb25FbmZvcmNlZDogdHJ1ZSxcbiAgc3VpTm9kZVVybDogJ2h0dHBzOi8vZnVsbG5vZGUubWFpbm5ldC5zdWkuaW8nLFxuICBldGNOb2RlVXJsOiAnaHR0cHM6Ly9ldGMuYmxvY2tzY291dC5jb20nLFxuICBjb3JlZGFvRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9hcHAuY29yZWRhby5vcmcvJyxcbiAgb2FzRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9leHBsb3Jlci5vYXN5cy5nYW1lcycsXG4gIHJvc2V0dGFOb2RlVVJMOiAnaHR0cDovL2xvY2FsaG9zdDo4MDgxJywgLy9UT0RPKFdJTi00MjQyKTogdXBkYXRlIHdoZW4gcm9zZXR0YSBub2RlIGlzIGF2YWlsYWJsZVxufTtcblxuY29uc3QgdGVzdG5ldEJhc2U6IEVudmlyb25tZW50VGVtcGxhdGUgPSB7XG4gIG5ldHdvcms6ICd0ZXN0bmV0JyBhcyBWMU5ldHdvcmssXG4gIHNpZ25pbmdBZGRyZXNzOiAnbXNpZ25CZEZYdGVlaERFZ0I2RE5tN25wUnQ3QWNFWkpQMycsXG4gIHNlcnZlclhwdWI6IGhhcmRjb2RlZFB1YmxpY0tleXMuc2VydmVyWHB1Yi50ZXN0LFxuICBoc21YcHViOiBoYXJkY29kZWRQdWJsaWNLZXlzLmhzbVhwdWIudGVzdCxcbiAgYnRjRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9ibG9ja3N0cmVhbS5pbmZvL3Rlc3RuZXQvYXBpJyxcbiAgZXRoZXJzY2FuQmFzZVVybDogJ2h0dHBzOi8vYXBpLWhvbGVza3kuZXRoZXJzY2FuLmlvJyxcbiAgZXRoZXJzY2FuQXBpVG9rZW46IHByb2Nlc3MuZW52LkVUSEVSU0NBTl9BUElfVE9LRU4sXG4gIGF2YXhjTmV0d29ya0Jhc2VVcmw6ICdodHRwczovL2FwaS5hdmF4LXRlc3QubmV0d29yaycsXG4gIGV0aDJFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2JlYWNvbnNjYW4uY29tL2FwaScsXG4gIGV0aHdGdWxsTm9kZVJQQ0Jhc2VVcmw6ICdodHRwczovL21haW5uZXQuZXRoZXJldW1wb3cub3JnJyxcbiAgcG9seWdvbnNjYW5CYXNlVXJsOiAnaHR0cHM6Ly9hcGktYW1veS5wb2x5Z29uc2Nhbi5jb20nLFxuICBwb2x5Z29uc2NhbkFwaVRva2VuOiBwcm9jZXNzLmVudi5QT0xZR09OU0NBTl9BUElfVE9LRU4sXG4gIGJzY3NjYW5CYXNlVXJsOiAnaHR0cHM6Ly9hcGktdGVzdG5ldC5ic2NzY2FuLmNvbScsXG4gIGJzY3NjYW5BcGlUb2tlbjogcHJvY2Vzcy5lbnYuQlNDX0FQSV9UT0tFTixcbiAgYXJiaXNjYW5CYXNlVXJsOiAnaHR0cHM6Ly9hcGktc2Vwb2xpYS5hcmJpc2Nhbi5pbycsXG4gIGFyYmlzY2FuQXBpVG9rZW46IHByb2Nlc3MuZW52LkFSQklTQ0FOX0FQSV9UT0tFTixcbiAgb3B0aW1pc3RpY0V0aGVyc2NhbkJhc2VVcmw6ICdodHRwczovL2FwaS1zZXBvbGlhLW9wdGltaXN0aWMuZXRoZXJzY2FuLmlvJyxcbiAgb3B0aW1pc3RpY0V0aGVyc2NhbkFwaVRva2VuOiBwcm9jZXNzLmVudi5PUFRJTUlTVElDX0VUSEVSU0NBTl9BUElfVE9LRU4sXG4gIHprc3luY0V4cGxvcmVyQmFzZVVybDogJ2h0dHBzOi8vYmxvY2stZXhwbG9yZXItYXBpLnNlcG9saWEuemtzeW5jLmRldicsXG4gIHprc3luY0V4cGxvcmVyQXBpVG9rZW46IHByb2Nlc3MuZW52LlpLU1lOQ19FWFBMT1JFUl9BUElfVE9LRU4sXG4gIGJhc2VldGhFeHBsb3JlclVybDogJ2h0dHBzOi8vYXBpLXNlcG9saWEuYmFzZXNjYW4ub3JnJyxcbiAgYmFzZWV0aEFwaVRva2VuOiBwcm9jZXNzLmVudi5CQVNFU0NBTl9BUElfVE9LRU4sXG4gIC8vIGt5bGluIGVvcyBlbmRwb2ludHMgZm91bmQgaGVyZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vY3J5cHRva3lsaW4vQ3J5cHRvS3lsaW4tVGVzdG5ldCNodHRwLWFwaS1saXN0XG4gIC8vIGh0dHBzOi8vZG9jcy5saXF1aWRhcHBzLmlvL2xpcXVpZGFwcHMtZG9jdW1lbnRhdGlvbi9lb3Npby1ndWlkZXMvdGVzdG5ldC1jcmVhdGlvbi1ndWlkZXMvY3JlYXRpbmctY3J5cHRva3lsaW4tYWNjb3VudCNzZXR1cFxuICBlb3NOb2RlVXJsczogWydodHRwczovL2t5bGluLmVvc24uaW8nLCAnaHR0cHM6Ly9hcGkua3lsaW4uYWxvaGFlb3MuY29tJ10sXG4gIG5lYXJOb2RlVXJsczogWydodHRwczovL3JwYy50ZXN0bmV0Lm5lYXIub3JnJ10sXG4gIHNvbE5vZGVVcmw6ICdodHRwczovL2FwaS5kZXZuZXQuc29sYW5hLmNvbScsXG4gIGFkYU5vZGVVcmw6ICdodHRwczovL3ByZXByb2Qua29pb3MucmVzdC9hcGkvdjAnLFxuICBoYXNoTm9kZVVybDogJ2h0dHBzOi8vYXBpLnRlc3QucHJvdmVuYW5jZS5pbycsXG4gIGluak5vZGVVcmw6ICdodHRwczovL3Rlc3RuZXQuc2VudHJ5LmxjZC5pbmplY3RpdmUubmV0d29yaycsIC8vIENPSU4tMTIxOSA6IHJlZmVyZW5jZSAgaHR0cHM6Ly9kb2NzLmluamVjdGl2ZS5uZXR3b3JrL2RldmVsb3AvcHVibGljLWVuZHBvaW50cy8jdGVzdG5ldFxuICBhdG9tTm9kZVVybDogJ2h0dHBzOi8vcmVzdC5wcm92aWRlci1zZW50cnktMDIuaWNzLXRlc3RuZXQucG9seXBvcmUueHl6LycsXG4gIG9zbW9Ob2RlVXJsOiAnaHR0cHM6Ly9sY2Qub3Ntb3Rlc3Q1Lm9zbW9zaXMuem9uZScsXG4gIHRpYU5vZGVVcmw6ICdodHRwczovL2FwaS1tb2NoYS5wb3BzLm9uZScsXG4gIHNlaU5vZGVVcmw6ICdodHRwczovL3Jlc3QuYXRsYW50aWMtMi5zZWluZXR3b3JrLmlvJyxcbiAgYmxkTm9kZVVybDogJ2h0dHBzOi8vZGV2bmV0LmFwaS5hZ29yaWMubmV0JyxcbiAgYmVyYU5vZGVVcmw6ICcnLCAvLyBUT0RPKFdJTi02OTMpOiB1cGRhdGUgdXJsIHdoZW4gdGVzdG5ldCBnb2VzIGxpdmVcbiAgemV0YU5vZGVVcmw6ICdodHRwczovL3Jlc3Qubm9kZWp1bXBlci5pby96ZXRhY2hhaW50ZXN0bmV0JywgLy8gcmVmZXJlbmNlIDogaHR0cHM6Ly93d3cuemV0YWNoYWluLmNvbS9kb2NzL3JlZmVyZW5jZS9hcGkvXG4gIGNvcmV1bU5vZGVVcmw6ICdodHRwczovL2Z1bGwtbm9kZS50ZXN0bmV0LTEuY29yZXVtLmRldjoxMzE3JyxcbiAgcnVuZU5vZGVVcmw6ICdodHRwczovL3N0YWdlbmV0LXRob3Jub2RlLm5pbmVyZWFsbXMuY29tJyxcbiAgYmFieU5vZGVVcmw6ICdodHRwczovL2JhYnlsb24tdGVzdG5ldC1hcGkubm9kZXMuZ3VydS8nLFxuICBpc2xtTm9kZVVybDogJ2h0dHBzOi8vcmVzdC5jb3Ntb3MudGVzdGVkZ2UyLmhhcXEubmV0d29yayAnLFxuICBkb3ROb2RlVXJsczogWyd3c3M6Ly93ZXN0ZW5kLXJwYy5wb2xrYWRvdC5pbyddLFxuICB0cm9uTm9kZXM6IHtcbiAgICBmdWxsOiAnaHR0cHM6Ly9hcGkuc2hhc3RhLnRyb25ncmlkLmlvJyxcbiAgICBzb2xpZGl0eTogJ2h0dHBzOi8vYXBpLnNoYXN0YS50cm9uZ3JpZC5pbycsXG4gIH0sXG4gIGhtYWNWZXJpZmljYXRpb25FbmZvcmNlZDogZmFsc2UsXG4gIHN1aU5vZGVVcmw6ICdodHRwczovL2Z1bGxub2RlLnRlc3RuZXQuc3VpLmlvJyxcbiAgZXRjTm9kZVVybDogJ2h0dHBzOi8vZXRjLW1vcmRvci5ibG9ja3Njb3V0LmNvbScsXG4gIGNvcmVkYW9FeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2FwcC50ZXN0LmJ0Y3MubmV0d29yaycsXG4gIG9hc0V4cGxvcmVyQmFzZVVybDogJ2h0dHBzOi8vZXhwbG9yZXIudGVzdG5ldC5vYXN5cy5nYW1lcycsXG4gIHJvc2V0dGFOb2RlVVJMOiAnaHR0cDovL2xvY2FsaG9zdDo4MDgxJywgLy9UT0RPKFdJTi00MjQyKTogdXBkYXRlIHdoZW4gcm9zZXR0YSBub2RlIGlzIGF2YWlsYWJsZVxufTtcblxuY29uc3QgZGV2QmFzZTogRW52aXJvbm1lbnRUZW1wbGF0ZSA9IE9iamVjdC5hc3NpZ24oe30sIHRlc3RuZXRCYXNlLCB7XG4gIGhzbVhwdWI6IGhhcmRjb2RlZFB1YmxpY0tleXMuaHNtWHB1Yi5kZXYsXG4gIGhtYWNWZXJpZmljYXRpb25FbmZvcmNlZDogZmFsc2UsXG59KTtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlZGVjbGFyZVxuZXhwb3J0IGNvbnN0IEVudmlyb25tZW50czogRW52aXJvbm1lbnRzID0ge1xuICBwcm9kOiBPYmplY3QuYXNzaWduKHt9LCBtYWlubmV0QmFzZSwge1xuICAgIHVyaTogJ2h0dHBzOi8vYXBwLmJpdGdvLmNvbScsXG4gICAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw6ICdodHRwczovL2FwcC5iaXRnby5jb20vYXBpL3YyL3hsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG4gIHRlc3Q6IE9iamVjdC5hc3NpZ24oe30sIHRlc3RuZXRCYXNlLCB7XG4gICAgdXJpOiAnaHR0cHM6Ly9hcHAuYml0Z28tdGVzdC5jb20nLFxuICAgIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOiAnaHR0cHM6Ly9hcHAuYml0Z28tdGVzdC5jb20vYXBpL3YyL3R4bG0vZmVkZXJhdGlvbicsXG4gIH0pLFxuICBkZXY6IE9iamVjdC5hc3NpZ24oe30sIGRldkJhc2UsIHtcbiAgICB1cmk6ICdodHRwczovL2FwcC5iaXRnby1kZXYuY29tJyxcbiAgICBzdGVsbGFyRmVkZXJhdGlvblNlcnZlclVybDogJ2h0dHBzOi8vYXBwLmJpdGdvLWRldi5jb20vYXBpL3YyL3R4bG0vZmVkZXJhdGlvbicsXG4gIH0pLFxuICBsYXRlc3Q6IE9iamVjdC5hc3NpZ24oe30sIGRldkJhc2UsIHtcbiAgICB1cmk6ICdodHRwczovL2FwcC5iaXRnby1sYXRlc3QuY29tJyxcbiAgICBzdGVsbGFyRmVkZXJhdGlvblNlcnZlclVybDogJ2h0dHBzOi8vYXBwLmJpdGdvLWxhdGVzdC5jb20vYXBpL3YyL3hsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG4gIHN0YWdpbmc6IE9iamVjdC5hc3NpZ24oe30sIHRlc3RuZXRCYXNlLCB7XG4gICAgdXJpOiAnaHR0cHM6Ly9hcHAuYml0Z28tc3RhZ2luZy5jb20nLFxuICAgIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOiAnaHR0cHM6Ly9hcHAuYml0Z28tc3RhZ2luZy5jb20vYXBpL3YyL3R4bG0vZmVkZXJhdGlvbicsXG4gIH0pLFxuICBsb2NhbDogT2JqZWN0LmFzc2lnbih7fSwgZGV2QmFzZSwge1xuICAgIHVyaTogJ2h0dHBzOi8vbG9jYWxob3N0OjMwMDAnLFxuICAgIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOiAnaHR0cHM6Ly9sb2NhbGhvc3Q6MzAwMC9hcGkvdjIvdHhsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG4gIGxvY2FsTm9uU2VjdXJlOiBPYmplY3QuYXNzaWduKHt9LCBkZXZCYXNlLCB7XG4gICAgdXJpOiAnaHR0cDovL2xvY2FsaG9zdDozMDAwJyxcbiAgICBzdGVsbGFyRmVkZXJhdGlvblNlcnZlclVybDogJ2h0dHA6Ly9sb2NhbGhvc3Q6MzAwMC9hcGkvdjIvdHhsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG4gIG1vY2s6IE9iamVjdC5hc3NpZ24oe30sIGRldkJhc2UsIHtcbiAgICB1cmk6ICdodHRwczovL2JpdGdvLmZha2V1cmwnLFxuICAgIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOiAnaHR0cHM6Ly9iaXRnby5mYWtldXJsL2FwaS92Mi90eGxtL2ZlZGVyYXRpb24nLFxuICAgIGV0aGVyc2NhbkJhc2VVcmw6ICdodHRwczovL2FwaS1ob2xlc2t5LmV0aGVyc2Nhbi5mYWtldXJsJyxcbiAgICBldGhlcnNjYW5BcGlUb2tlbjogcHJvY2Vzcy5lbnYuRVRIRVJTQ0FOX0FQSV9UT0tFTixcbiAgICBhdmF4Y05ldHdvcmtCYXNlVXJsOiAnaHR0cHM6Ly9hcGkuYXZheC10ZXN0Lm5ldHdvcmsuZmFrZXVybCcsXG4gICAgZXRoMkV4cGxvcmVyQmFzZVVybDogJ2h0dHBzOi8vYmVhY29uc2Nhbi5jb20vYXBpJyxcbiAgfSksXG4gIGFkbWluUHJvZDogT2JqZWN0LmFzc2lnbih7fSwgbWFpbm5ldEJhc2UsIHtcbiAgICB1cmk6ICdodHRwczovL2FkbWluLmJpdGdvLmNvbScsXG4gICAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw6ICdodHRwczovL2FkbWluLmJpdGdvLmNvbS9hcGkvdjIveGxtL2ZlZGVyYXRpb24nLFxuICB9KSxcbiAgYWRtaW5UZXN0OiBPYmplY3QuYXNzaWduKHt9LCB0ZXN0bmV0QmFzZSwge1xuICAgIHVyaTogJ2h0dHBzOi8vYWRtaW4uYml0Z28tdGVzdC5jb20nLFxuICAgIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOiAnaHR0cHM6Ly9hZG1pbi5iaXRnby10ZXN0LmNvbS9hcGkvdjIvdHhsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG4gIGFkbWluRGV2OiBPYmplY3QuYXNzaWduKHt9LCBkZXZCYXNlLCB7XG4gICAgdXJpOiAnaHR0cHM6Ly9hZG1pbi5iaXRnby1kZXYuY29tJyxcbiAgICBzdGVsbGFyRmVkZXJhdGlvblNlcnZlclVybDogJ2h0dHBzOi8vYWRtaW4uYml0Z28tZGV2LmNvbS9hcGkvdjIvdHhsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG4gIGFkbWluTGF0ZXN0OiBPYmplY3QuYXNzaWduKHt9LCBkZXZCYXNlLCB7XG4gICAgdXJpOiAnaHR0cHM6Ly9hZG1pbi5iaXRnby1sYXRlc3QuY29tJyxcbiAgICBzdGVsbGFyRmVkZXJhdGlvblNlcnZlclVybDogJ2h0dHBzOi8vYWRtaW4uYml0Z28tbGF0ZXN0LmNvbS9hcGkvdjIveGxtL2ZlZGVyYXRpb24nLFxuICB9KSxcbiAgY3VzdG9tOiBPYmplY3QuYXNzaWduKHt9LCBtYWlubmV0QmFzZSwge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG4gICAgdXJpOiBwcm9jZXNzLmVudi5CSVRHT19DVVNUT01fUk9PVF9VUkkhLFxuICAgIG5ldHdvcms6IHByb2Nlc3MuZW52LkJJVEdPX0NVU1RPTV9CSVRDT0lOX05FVFdPUksgYXMgVjFOZXR3b3JrLFxuICAgIGhzbVhwdWI6XG4gICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nID8gaGFyZGNvZGVkUHVibGljS2V5cy5oc21YcHViLnByb2QgOiBoYXJkY29kZWRQdWJsaWNLZXlzLmhzbVhwdWIudGVzdCxcbiAgICBidGNFeHBsb3JlckJhc2VVcmw6XG4gICAgICBwcm9jZXNzLmVudi5CSVRHT19DVVNUT01fQklUQ09JTl9ORVRXT1JLICE9PSAnYml0Y29pbidcbiAgICAgICAgPyAnaHR0cHM6Ly9ibG9ja3N0cmVhbS5pbmZvL3Rlc3RuZXQvYXBpJ1xuICAgICAgICA6ICdodHRwczovL2Jsb2Nrc3RyZWFtLmluZm8vYXBpJyxcbiAgICBldGhlcnNjYW5CYXNlVXJsOlxuICAgICAgcHJvY2Vzcy5lbnYuQklUR09fQ1VTVE9NX0VUSEVSRVVNX05FVFdPUksgIT09ICdldGhlcmV1bSdcbiAgICAgICAgPyAnaHR0cHM6Ly9hcGktaG9sZXNreS5ldGhlcnNjYW4uaW8nXG4gICAgICAgIDogJ2h0dHBzOi8vYXBpLmV0aGVyc2Nhbi5pbycsXG4gICAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw6XG4gICAgICBwcm9jZXNzLmVudi5CSVRHT19DVVNUT01fU1RFTExBUl9ORVRXT1JLICE9PSAnc3RlbGxhcidcbiAgICAgICAgPyBgaHR0cHM6Ly8ke3Byb2Nlc3MuZW52LkJJVEdPX0NVU1RPTV9ST09UX1VSSX0vYXBpL3YyL3R4bG0vZmVkZXJhdGlvbmBcbiAgICAgICAgOiBgaHR0cHM6Ly8ke3Byb2Nlc3MuZW52LkJJVEdPX0NVU1RPTV9ST09UX1VSSX0vYXBpL3YyL3hsbS9mZWRlcmF0aW9uYCxcbiAgICBzZXJ2ZXJYcHViOlxuICAgICAgcHJvY2Vzcy5lbnYuQklUR09fQ1VTVE9NX0JJVENPSU5fTkVUV09SSyAhPT0gJ2JpdGNvaW4nXG4gICAgICAgID8gaGFyZGNvZGVkUHVibGljS2V5cy5zZXJ2ZXJYcHViLnRlc3RcbiAgICAgICAgOiBoYXJkY29kZWRQdWJsaWNLZXlzLnNlcnZlclhwdWIucHJvZCxcbiAgfSksXG4gIGJyYW5jaDogT2JqZWN0LmFzc2lnbih7fSwgZGV2QmFzZSwge1xuICAgIHVyaTogJ2h0dHBzOi8vYXBwLmJpdGdvLWRldi5jb20nLFxuICAgIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOiAnaHR0cHM6Ly9hcHAuYml0Z28tZGV2LmNvbS9hcGkvdjIvdHhsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG59O1xuIl19
|
|
219
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JpdGdvL2Vudmlyb25tZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE2RWEsUUFBQSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQy9DLFVBQVUsRUFBRTtRQUNWLElBQUksRUFBRSxpSEFBaUg7UUFDdkgsSUFBSSxFQUFFLGlIQUFpSDtLQUN4SDtJQUNELE9BQU8sRUFBRTtRQUNQLElBQUksRUFBRSxpSEFBaUg7UUFDdkgsSUFBSSxFQUFFLGlIQUFpSDtRQUN2SCxHQUFHLEVBQUUsaUhBQWlIO0tBQ3ZIO0NBQ0YsQ0FBQyxDQUFDO0FBc0JILHdGQUF3RjtBQUMzRSxRQUFBLGlCQUFpQixHQUFxRDtJQUNqRixVQUFVLEVBQUUsTUFBTTtJQUNsQixNQUFNLEVBQUUsTUFBTTtJQUNkLE1BQU0sRUFBRSxNQUFNO0lBQ2QsS0FBSyxFQUFFLEtBQUs7SUFDWixRQUFRLEVBQUUsUUFBUTtDQUNuQixDQUFDO0FBRUYsTUFBTSxXQUFXLEdBQXdCO0lBQ3ZDLE9BQU8sRUFBRSxTQUFzQjtJQUMvQixjQUFjLEVBQUUsb0NBQW9DO0lBQ3BELFVBQVUsRUFBRSwyQkFBbUIsQ0FBQyxVQUFVLENBQUMsSUFBSTtJQUMvQyxPQUFPLEVBQUUsMkJBQW1CLENBQUMsT0FBTyxDQUFDLElBQUk7SUFDekMsa0JBQWtCLEVBQUUsOEJBQThCO0lBQ2xELGdCQUFnQixFQUFFLDBCQUEwQjtJQUM1QyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQjtJQUNsRCxtQkFBbUIsRUFBRSwwQkFBMEI7SUFDL0MsbUJBQW1CLEVBQUUsNEJBQTRCO0lBQ2pELHNCQUFzQixFQUFFLGlDQUFpQztJQUN6RCxjQUFjLEVBQUUseUJBQXlCO0lBQ3pDLGVBQWUsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWE7SUFDMUMsa0JBQWtCLEVBQUUsNkJB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cmV0dGllclxuICovXG5pbXBvcnQgeyBWMU5ldHdvcmsgfSBmcm9tICcuL3R5cGVzJztcblxuaW50ZXJmYWNlIEVudmlyb25tZW50VGVtcGxhdGUge1xuICB1cmk/OiBzdHJpbmc7XG4gIG5ldHdvcms6IFYxTmV0d29yaztcbiAgc2lnbmluZ0FkZHJlc3M6IHN0cmluZztcbiAgc2VydmVyWHB1Yjogc3RyaW5nO1xuICBoc21YcHViOiBzdHJpbmc7XG4gIGJ0Y0V4cGxvcmVyQmFzZVVybDogc3RyaW5nO1xuICBldGhlcnNjYW5CYXNlVXJsOiBzdHJpbmc7XG4gIGV0aGVyc2NhbkFwaVRva2VuPzogc3RyaW5nO1xuICBhdmF4Y05ldHdvcmtCYXNlVXJsOiBzdHJpbmc7XG4gIGV0aDJFeHBsb3JlckJhc2VVcmw6IHN0cmluZztcbiAgZXRod0Z1bGxOb2RlUlBDQmFzZVVybDogc3RyaW5nO1xuICBwb2x5Z29uc2NhbkJhc2VVcmw/OiBzdHJpbmc7XG4gIGJzY3NjYW5CYXNlVXJsPzogc3RyaW5nO1xuICBic2NzY2FuQXBpVG9rZW4/OiBzdHJpbmc7XG4gIHBvbHlnb25zY2FuQXBpVG9rZW4/OiBzdHJpbmc7XG4gIGFyYmlzY2FuQmFzZVVybD86IHN0cmluZztcbiAgYXJiaXNjYW5BcGlUb2tlbj86IHN0cmluZztcbiAgb2FzRXhwbG9yZXJBcGlUb2tlbj86IHN0cmluZztcbiAgb2FzRXhwbG9yZXJCYXNlVXJsPzogc3RyaW5nO1xuICBvcHRpbWlzdGljRXRoZXJzY2FuQmFzZVVybD86IHN0cmluZztcbiAgb3B0aW1pc3RpY0V0aGVyc2NhbkFwaVRva2VuPzogc3RyaW5nO1xuICB6a3N5bmNFeHBsb3JlckJhc2VVcmw/OiBzdHJpbmc7XG4gIHprc3luY0V4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIGJlcmFFeHBsb3JlckJhc2VVcmw/OiBzdHJpbmc7XG4gIGJlcmFFeHBsb3JlckFwaVRva2VuPzogc3RyaW5nO1xuICBiYXNlZXRoRXhwbG9yZXJVcmw/OiBzdHJpbmc7XG4gIGJhc2VldGhBcGlUb2tlbj86IHN0cmluZztcbiAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw/OiBzdHJpbmc7XG4gIGVvc05vZGVVcmxzOiBzdHJpbmdbXTtcbiAgbmVhck5vZGVVcmxzOiBzdHJpbmdbXTtcbiAgc29sTm9kZVVybDogc3RyaW5nO1xuICBhZGFOb2RlVXJsOiBzdHJpbmc7XG4gIGhhc2hOb2RlVXJsOiBzdHJpbmc7XG4gIGluak5vZGVVcmw6IHN0cmluZztcbiAgYXRvbU5vZGVVcmw6IHN0cmluZztcbiAgb3Ntb05vZGVVcmw6IHN0cmluZztcbiAgdGlhTm9kZVVybDogc3RyaW5nO1xuICBzZWlOb2RlVXJsOiBzdHJpbmc7XG4gIGJsZE5vZGVVcmw6IHN0cmluZztcbiAgYmVyYU5vZGVVcmw6IHN0cmluZztcbiAgemV0YU5vZGVVcmw6IHN0cmluZztcbiAgY29yZXVtTm9kZVVybDogc3RyaW5nO1xuICBydW5lTm9kZVVybDogc3RyaW5nO1xuICBiYWJ5Tm9kZVVybDogc3RyaW5nO1xuICBpc2xtTm9kZVVybDogc3RyaW5nO1xuICBkb3ROb2RlVXJsczogc3RyaW5nW107XG4gIHRyb25Ob2Rlczoge1xuICAgIGZ1bGw6IHN0cmluZztcbiAgICBzb2xpZGl0eTogc3RyaW5nO1xuICB9O1xuICBobWFjVmVyaWZpY2F0aW9uRW5mb3JjZWQ6IGJvb2xlYW47XG4gIHN1aU5vZGVVcmw6IHN0cmluZztcbiAgZXRjTm9kZVVybDogc3RyaW5nO1xuICBjb3JlZGFvRXhwbG9yZXJCYXNlVXJsPzogc3RyaW5nO1xuICBjb3JlZGFvRXhwbG9yZXJBcGlUb2tlbj86IHN0cmluZztcbiAgeGRjRXhwbG9yZXJCYXNlVXJsPzogc3RyaW5nO1xuICB4ZGNFeHBsb3JlckFwaVRva2VuPzogc3RyaW5nO1xuICBmbHJFeHBsb3JlckJhc2VVcmw/OiBzdHJpbmc7XG4gIGZsckV4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIHNnYkV4cGxvcmVyQmFzZVVybD86IHN0cmluZztcbiAgc2diRXhwbG9yZXJBcGlUb2tlbj86IHN0cmluZztcbiAgcm9zZXR0YU5vZGVVUkw6IHN0cmluZztcbiAgd2VtaXhFeHBsb3JlckJhc2VVcmw/OiBzdHJpbmc7XG4gIHdlbWl4RXhwbG9yZXJBcGlUb2tlbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbnZpcm9ubWVudCBleHRlbmRzIEVudmlyb25tZW50VGVtcGxhdGUge1xuICB1cmk6IHN0cmluZztcbiAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw6IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IGhhcmRjb2RlZFB1YmxpY0tleXMgPSBPYmplY3QuZnJlZXplKHtcbiAgc2VydmVyWHB1Yjoge1xuICAgIHByb2Q6ICd4cHViNjYxTXlNd0FxUmJjRXRVZ3U5SEY4YWk0aXB1VktLSEJ6VXFrczRqU0Z5cFc4ZHd3UUwxenlnTGdReDk5Tm1DN3pKSnpuU2l3S0c2UlFmVmpBS010Q3N4OFZqUjZrUVc4eDdIcmtYRlpkblEnLFxuICAgIHRlc3Q6ICd4cHViNjYxTXlNd0FxUmJjRXJGcVZYR2lVRnY5WWVvUGJoTjcyVWlOQ1VkajluajNUNk04aDdpS05tYkNZcE1WV1ZaUDdMQTJtYTNIV2NQbmd6MWdSVG00RlBkdG05bUhmck52VTkzTUNvc3pzR0wnLFxuICB9LFxuICBoc21YcHViOiB7XG4gICAgcHJvZDogJ3hwdWI2NjFNeU13QXFSYmNHRXRURmdNQW94TUZvcXNSZERhaWFSNjNieU5mWmRWN2NCWkZ2b3ZRU05KNWJweWVvUXR1S1ZnWEJrNnNGUTdUdHZ5V3FhZHQ0MURuS3d2ZVlnTTVLb1UyRUtZamRZMicsXG4gICAgdGVzdDogJ3hwdWI2NjFNeU13QXFSYmNHRktlNEJxdms0U2dyaWM0Z05GQzhwVWJ3NHRVa1ZqWnh1YmpDQTUyMmdQemMxWWFYYjNiUVZtRFdjN0NqRzhBR05XUnBjZEFVMzhSRVRCaDhuMmJucUVVNGtiVjRvSycsXG4gICAgZGV2OiAneHB1YjY2MU15TXdBcVJiY0ZXem96OHFuWVJEWUVGUXBQTFl3eFZGb0c2V0x5M2NrNVp1cFJHSlRHNGp1NnlHYjdEajNleTZHc0M0a3N0TFJFUjJuS3pnakx0bXh5UGdDNHpIeTdrVmhVdDZ5ZkduJyxcbiAgfSxcbn0pO1xuXG5leHBvcnQgdHlwZSBFbnZpcm9ubWVudE5hbWUgPVxuICB8ICdwcm9kJ1xuICB8ICdzdGFnaW5nJ1xuICB8ICd0ZXN0J1xuICB8ICdkZXYnXG4gIHwgJ2xhdGVzdCdcbiAgfCAnbG9jYWwnXG4gIHwgJ2xvY2FsTm9uU2VjdXJlJ1xuICB8ICdtb2NrJ1xuICB8ICdhZG1pblByb2QnXG4gIHwgJ2FkbWluVGVzdCdcbiAgfCAnYWRtaW5EZXYnXG4gIHwgJ2FkbWluTGF0ZXN0J1xuICB8ICdjdXN0b20nXG4gIHwgJ2JyYW5jaCc7XG5cbmV4cG9ydCB0eXBlIEFsaWFzRW52aXJvbm1lbnROYW1lID0gJ3Byb2R1Y3Rpb24nIHwgJ21zUHJvZCcgfCAnbXNUZXN0JyB8ICdtc0RldicgfCAnbXNMYXRlc3QnO1xuXG5leHBvcnQgdHlwZSBFbnZpcm9ubWVudHMgPSB7IFtrIGluIEVudmlyb25tZW50TmFtZV06IEVudmlyb25tZW50IH07XG5cbi8vIGFsaWFzIGVudmlyb25tZW50cyBhcmUgZW52aXJvbm1lbnQgbmFtZXMgd2hpY2ggYXJlIGFsaWFzZXMgb2YgYSBzdXBwb3J0ZWQgZW52aXJvbm1lbnRcbmV4cG9ydCBjb25zdCBBbGlhc0Vudmlyb25tZW50czogeyBbayBpbiBBbGlhc0Vudmlyb25tZW50TmFtZV06IEVudmlyb25tZW50TmFtZSB9ID0ge1xuICBwcm9kdWN0aW9uOiAncHJvZCcsXG4gIG1zUHJvZDogJ3Byb2QnLFxuICBtc1Rlc3Q6ICd0ZXN0JyxcbiAgbXNEZXY6ICdkZXYnLFxuICBtc0xhdGVzdDogJ2xhdGVzdCcsXG59O1xuXG5jb25zdCBtYWlubmV0QmFzZTogRW52aXJvbm1lbnRUZW1wbGF0ZSA9IHtcbiAgbmV0d29yazogJ2JpdGNvaW4nIGFzIFYxTmV0d29yayxcbiAgc2lnbmluZ0FkZHJlc3M6ICcxQml0R28zZ3hSWjZtUVNFSDUyZHZDS1NVZ1ZDQUg0UmphJyxcbiAgc2VydmVyWHB1YjogaGFyZGNvZGVkUHVibGljS2V5cy5zZXJ2ZXJYcHViLnByb2QsXG4gIGhzbVhwdWI6IGhhcmRjb2RlZFB1YmxpY0tleXMuaHNtWHB1Yi5wcm9kLFxuICBidGNFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2Jsb2Nrc3RyZWFtLmluZm8vYXBpJyxcbiAgZXRoZXJzY2FuQmFzZVVybDogJ2h0dHBzOi8vYXBpLmV0aGVyc2Nhbi5pbycsXG4gIGV0aGVyc2NhbkFwaVRva2VuOiBwcm9jZXNzLmVudi5FVEhFUlNDQU5fQVBJX1RPS0VOLFxuICBhdmF4Y05ldHdvcmtCYXNlVXJsOiAnaHR0cHM6Ly9hcGkuYXZheC5uZXR3b3JrJyxcbiAgZXRoMkV4cGxvcmVyQmFzZVVybDogJ2h0dHBzOi8vYmVhY29uc2Nhbi5jb20vYXBpJyxcbiAgZXRod0Z1bGxOb2RlUlBDQmFzZVVybDogJ2h0dHBzOi8vbWFpbm5ldC5ldGhlcmV1bXBvdy5vcmcnLFxuICBic2NzY2FuQmFzZVVybDogJ2h0dHBzOi8vYXBpLmJzY3NjYW4uY29tJyxcbiAgYnNjc2NhbkFwaVRva2VuOiBwcm9jZXNzLmVudi5CU0NfQVBJX1RPS0VOLFxuICBwb2x5Z29uc2NhbkJhc2VVcmw6ICdodHRwczovL2FwaS5wb2x5Z29uc2Nhbi5jb20nLFxuICBwb2x5Z29uc2NhbkFwaVRva2VuOiBwcm9jZXNzLmVudi5QT0xZR09OU0NBTl9BUElfVE9LRU4sXG4gIGFyYmlzY2FuQmFzZVVybDogJ2h0dHBzOi8vYXBpLmFyYmlzY2FuLmlvJyxcbiAgYXJiaXNjYW5BcGlUb2tlbjogcHJvY2Vzcy5lbnYuQVJCSVNDQU5fQVBJX1RPS0VOLFxuICBvcHRpbWlzdGljRXRoZXJzY2FuQmFzZVVybDogJ2h0dHBzOi8vYXBpLW9wdGltaXN0aWMuZXRoZXJzY2FuLmlvJyxcbiAgb3B0aW1pc3RpY0V0aGVyc2NhbkFwaVRva2VuOiBwcm9jZXNzLmVudi5PUFRJTUlTVElDX0VUSEVSU0NBTl9BUElfVE9LRU4sXG4gIHprc3luY0V4cGxvcmVyQmFzZVVybDogJ2h0dHBzOi8vYmxvY2stZXhwbG9yZXItYXBpLm1haW5uZXQuemtzeW5jLmlvJyxcbiAgemtzeW5jRXhwbG9yZXJBcGlUb2tlbjogcHJvY2Vzcy5lbnYuWktTWU5DX0VYUExPUkVSX0FQSV9UT0tFTixcbiAgYmFzZWV0aEV4cGxvcmVyVXJsOiAnaHR0cHM6Ly9hcGkuYmFzZXNjYW4ub3JnJyxcbiAgYmFzZWV0aEFwaVRva2VuOiBwcm9jZXNzLmVudi5CQVNFU0NBTl9BUElfVE9LRU4sXG4gIGVvc05vZGVVcmxzOiBbJ2h0dHBzOi8vYnAuY3J5cHRvbGlvbnMuaW8nLCAnaHR0cHM6Ly9hcGkuZW9zbmV3eW9yay5pbycsICdodHRwczovL2FwaS5lb3NkZXRyb2l0LmlvJ10sXG4gIG5lYXJOb2RlVXJsczogWydodHRwczovL3JwYy5tYWlubmV0Lm5lYXIub3JnJ10sXG4gIHNvbE5vZGVVcmw6ICdodHRwczovL2FwaS5tYWlubmV0LWJldGEuc29sYW5hLmNvbScsXG4gIGFkYU5vZGVVcmw6ICdodHRwczovL2FwaS5rb2lvcy5yZXN0L2FwaS92MCcsXG4gIGhhc2hOb2RlVXJsOiAnaHR0cHM6Ly9hcGkucHJvdmVuYW5jZS5pbycsXG4gIGluak5vZGVVcmw6ICdodHRwczovL3NlbnRyeS5sY2QuaW5qZWN0aXZlLm5ldHdvcmsnLCAvLyByZWZlcmVuY2UgaHR0cHM6Ly9kb2NzLmluamVjdGl2ZS5uZXR3b3JrL2RldmVsb3AvcHVibGljLWVuZHBvaW50cy9cbiAgYXRvbU5vZGVVcmw6ICdodHRwczovL3Jlc3QuY29zbW9zLmRpcmVjdG9yeS9jb3Ntb3NodWIvJyxcbiAgb3Ntb05vZGVVcmw6ICdodHRwczovL2xjZC5vc21vc2lzLnpvbmUnLFxuICB0aWFOb2RlVXJsOiAnaHR0cHM6Ly9wdWJsaWMtY2VsZXN0aWEtbGNkLm51bWlhLnh5eicsIC8vIHJlZmVyZW5jZSBodHRwczovL2RvY3MuY2VsZXN0aWEub3JnL25vZGVzL21haW5uZXQjYXBpLWVuZHBvaW50c1xuICBzZWlOb2RlVXJsOiAnaHR0cHM6Ly9zZWktYXBpLnBvbGthY2h1LmNvbScsXG4gIGJsZE5vZGVVcmw6ICdodHRwczovL2Fnb3JpYy1hcGkucG9sa2FjaHUuY29tJyxcbiAgYmVyYU5vZGVVcmw6ICcnLCAvLyBUT0RPKFdJTi02OTMpOiB1cGRhdGUgdXJsIHdoZW4gbWFpbm5ldCBnb2VzIGxpdmVcbiAgemV0YU5vZGVVcmw6ICdodHRwczovL3pldGFjaGFpbi5ibG9ja3BpLm5ldHdvcmsnLCAvLyByZWZlcmVuY2UgaHR0cHM6Ly93d3cuemV0YWNoYWluLmNvbS9kb2NzL3JlZmVyZW5jZS9hcGkvXG4gIGNvcmV1bU5vZGVVcmw6ICdodHRwczovL2Z1bGwtbm9kZS5tYWlubmV0LTEuY29yZXVtLmRldjoxMzE3JyxcbiAgcnVuZU5vZGVVcmw6ICdodHRwczovL3Rob3Jub2RlLm5pbmVyZWFsbXMuY29tJyxcbiAgYmFieU5vZGVVcmw6ICcnLCAvLyBUT0RPKENPSU4tMjc1OCkgdXBkYXRlIHVybCB3aGVuIG1haW5uZXQgZ29lcyBsaXZlXG4gIGlzbG1Ob2RlVXJsOiAnaHR0cHM6Ly9yZXN0LmNvc21vcy5oYXFxLm5ldHdvcmsnLFxuICBkb3ROb2RlVXJsczogWyd3c3M6Ly9ycGMucG9sa2Fkb3QuaW8nXSxcbiAgdHJvbk5vZGVzOiB7XG4gICAgZnVsbDogJ2h0dHBzOi8vYXBpLnRyb25ncmlkLmlvJyxcbiAgICBzb2xpZGl0eTogJ2h0dHBzOi8vYXBpLnRyb25ncmlkLmlvJyxcbiAgfSxcbiAgaG1hY1ZlcmlmaWNhdGlvbkVuZm9yY2VkOiB0cnVlLFxuICBzdWlOb2RlVXJsOiAnaHR0cHM6Ly9mdWxsbm9kZS5tYWlubmV0LnN1aS5pbycsXG4gIGV0Y05vZGVVcmw6ICdodHRwczovL2V0Yy5ibG9ja3Njb3V0LmNvbScsXG4gIGNvcmVkYW9FeHBsb3JlckJhc2VVcmw6ICdodHRwczovL29wZW5hcGkuY29yZWRhby5vcmcnLFxuICBvYXNFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2V4cGxvcmVyLm9hc3lzLmdhbWVzJyxcbiAgZmxyRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9mbGFyZS1leHBsb3Jlci5mbGFyZS5uZXR3b3JrJyxcbiAgeGRjRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9hcGkteGRjLmJsb2Nrc3NjYW4uaW8nLFxuICB3ZW1peEV4cGxvcmVyQmFzZVVybDogJ2h0dHBzOi8vYXBpLndlbWl4c2Nhbi5jb20nLFxuICBzZ2JFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL3NvbmdiaXJkLWV4cGxvcmVyLmZsYXJlLm5ldHdvcmsnLFxuICByb3NldHRhTm9kZVVSTDogJ2h0dHA6Ly9sb2NhbGhvc3Q6ODA4MScsIC8vVE9ETyhXSU4tNDI0Mik6IHVwZGF0ZSB3aGVuIHJvc2V0dGEgbm9kZSBpcyBhdmFpbGFibGVcbn07XG5cbmNvbnN0IHRlc3RuZXRCYXNlOiBFbnZpcm9ubWVudFRlbXBsYXRlID0ge1xuICBuZXR3b3JrOiAndGVzdG5ldCcgYXMgVjFOZXR3b3JrLFxuICBzaWduaW5nQWRkcmVzczogJ21zaWduQmRGWHRlZWhERWdCNkRObTducFJ0N0FjRVpKUDMnLFxuICBzZXJ2ZXJYcHViOiBoYXJkY29kZWRQdWJsaWNLZXlzLnNlcnZlclhwdWIudGVzdCxcbiAgaHNtWHB1YjogaGFyZGNvZGVkUHVibGljS2V5cy5oc21YcHViLnRlc3QsXG4gIGJ0Y0V4cGxvcmVyQmFzZVVybDogJ2h0dHBzOi8vYmxvY2tzdHJlYW0uaW5mby90ZXN0bmV0L2FwaScsXG4gIGV0aGVyc2NhbkJhc2VVcmw6ICdodHRwczovL2FwaS1ob2xlc2t5LmV0aGVyc2Nhbi5pbycsXG4gIGV0aGVyc2NhbkFwaVRva2VuOiBwcm9jZXNzLmVudi5FVEhFUlNDQU5fQVBJX1RPS0VOLFxuICBhdmF4Y05ldHdvcmtCYXNlVXJsOiAnaHR0cHM6Ly9hcGkuYXZheC10ZXN0Lm5ldHdvcmsnLFxuICBldGgyRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9iZWFjb25zY2FuLmNvbS9hcGknLFxuICBldGh3RnVsbE5vZGVSUENCYXNlVXJsOiAnaHR0cHM6Ly9tYWlubmV0LmV0aGVyZXVtcG93Lm9yZycsXG4gIHBvbHlnb25zY2FuQmFzZVVybDogJ2h0dHBzOi8vYXBpLWFtb3kucG9seWdvbnNjYW4uY29tJyxcbiAgcG9seWdvbnNjYW5BcGlUb2tlbjogcHJvY2Vzcy5lbnYuUE9MWUdPTlNDQU5fQVBJX1RPS0VOLFxuICBic2NzY2FuQmFzZVVybDogJ2h0dHBzOi8vYXBpLXRlc3RuZXQuYnNjc2Nhbi5jb20nLFxuICBic2NzY2FuQXBpVG9rZW46IHByb2Nlc3MuZW52LkJTQ19BUElfVE9LRU4sXG4gIGFyYmlzY2FuQmFzZVVybDogJ2h0dHBzOi8vYXBpLXNlcG9saWEuYXJiaXNjYW4uaW8nLFxuICBhcmJpc2NhbkFwaVRva2VuOiBwcm9jZXNzLmVudi5BUkJJU0NBTl9BUElfVE9LRU4sXG4gIG9wdGltaXN0aWNFdGhlcnNjYW5CYXNlVXJsOiAnaHR0cHM6Ly9hcGktc2Vwb2xpYS1vcHRpbWlzdGljLmV0aGVyc2Nhbi5pbycsXG4gIG9wdGltaXN0aWNFdGhlcnNjYW5BcGlUb2tlbjogcHJvY2Vzcy5lbnYuT1BUSU1JU1RJQ19FVEhFUlNDQU5fQVBJX1RPS0VOLFxuICB6a3N5bmNFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2Jsb2NrLWV4cGxvcmVyLWFwaS5zZXBvbGlhLnprc3luYy5kZXYnLFxuICB6a3N5bmNFeHBsb3JlckFwaVRva2VuOiBwcm9jZXNzLmVudi5aS1NZTkNfRVhQTE9SRVJfQVBJX1RPS0VOLFxuICBiYXNlZXRoRXhwbG9yZXJVcmw6ICdodHRwczovL2FwaS1zZXBvbGlhLmJhc2VzY2FuLm9yZycsXG4gIGJhc2VldGhBcGlUb2tlbjogcHJvY2Vzcy5lbnYuQkFTRVNDQU5fQVBJX1RPS0VOLFxuICAvLyBreWxpbiBlb3MgZW5kcG9pbnRzIGZvdW5kIGhlcmVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2NyeXB0b2t5bGluL0NyeXB0b0t5bGluLVRlc3RuZXQjaHR0cC1hcGktbGlzdFxuICAvLyBodHRwczovL2RvY3MubGlxdWlkYXBwcy5pby9saXF1aWRhcHBzLWRvY3VtZW50YXRpb24vZW9zaW8tZ3VpZGVzL3Rlc3RuZXQtY3JlYXRpb24tZ3VpZGVzL2NyZWF0aW5nLWNyeXB0b2t5bGluLWFjY291bnQjc2V0dXBcbiAgZW9zTm9kZVVybHM6IFsnaHR0cHM6Ly9reWxpbi5lb3NuLmlvJywgJ2h0dHBzOi8vYXBpLmt5bGluLmFsb2hhZW9zLmNvbSddLFxuICBuZWFyTm9kZVVybHM6IFsnaHR0cHM6Ly9ycGMudGVzdG5ldC5uZWFyLm9yZyddLFxuICBzb2xOb2RlVXJsOiAnaHR0cHM6Ly9hcGkuZGV2bmV0LnNvbGFuYS5jb20nLFxuICBhZGFOb2RlVXJsOiAnaHR0cHM6Ly9wcmVwcm9kLmtvaW9zLnJlc3QvYXBpL3YwJyxcbiAgaGFzaE5vZGVVcmw6ICdodHRwczovL2FwaS50ZXN0LnByb3ZlbmFuY2UuaW8nLFxuICBpbmpOb2RlVXJsOiAnaHR0cHM6Ly90ZXN0bmV0LnNlbnRyeS5sY2QuaW5qZWN0aXZlLm5ldHdvcmsnLCAvLyBDT0lOLTEyMTkgOiByZWZlcmVuY2UgIGh0dHBzOi8vZG9jcy5pbmplY3RpdmUubmV0d29yay9kZXZlbG9wL3B1YmxpYy1lbmRwb2ludHMvI3Rlc3RuZXRcbiAgYXRvbU5vZGVVcmw6ICdodHRwczovL3Jlc3QucHJvdmlkZXItc2VudHJ5LTAyLmljcy10ZXN0bmV0LnBvbHlwb3JlLnh5ei8nLFxuICBvc21vTm9kZVVybDogJ2h0dHBzOi8vbGNkLm9zbW90ZXN0NS5vc21vc2lzLnpvbmUnLFxuICB0aWFOb2RlVXJsOiAnaHR0cHM6Ly9hcGktbW9jaGEucG9wcy5vbmUnLFxuICBzZWlOb2RlVXJsOiAnaHR0cHM6Ly9yZXN0LmF0bGFudGljLTIuc2VpbmV0d29yay5pbycsXG4gIGJsZE5vZGVVcmw6ICdodHRwczovL2Rldm5ldC5hcGkuYWdvcmljLm5ldCcsXG4gIGJlcmFOb2RlVXJsOiAnJywgLy8gVE9ETyhXSU4tNjkzKTogdXBkYXRlIHVybCB3aGVuIHRlc3RuZXQgZ29lcyBsaXZlXG4gIHpldGFOb2RlVXJsOiAnaHR0cHM6Ly9yZXN0Lm5vZGVqdW1wZXIuaW8vemV0YWNoYWludGVzdG5ldCcsIC8vIHJlZmVyZW5jZSA6IGh0dHBzOi8vd3d3LnpldGFjaGFpbi5jb20vZG9jcy9yZWZlcmVuY2UvYXBpL1xuICBjb3JldW1Ob2RlVXJsOiAnaHR0cHM6Ly9mdWxsLW5vZGUudGVzdG5ldC0xLmNvcmV1bS5kZXY6MTMxNycsXG4gIHJ1bmVOb2RlVXJsOiAnaHR0cHM6Ly9zdGFnZW5ldC10aG9ybm9kZS5uaW5lcmVhbG1zLmNvbScsXG4gIGJhYnlOb2RlVXJsOiAnaHR0cHM6Ly9iYWJ5bG9uLXRlc3RuZXQtYXBpLm5vZGVzLmd1cnUvJyxcbiAgaXNsbU5vZGVVcmw6ICdodHRwczovL3Jlc3QuY29zbW9zLnRlc3RlZGdlMi5oYXFxLm5ldHdvcmsgJyxcbiAgZG90Tm9kZVVybHM6IFsnd3NzOi8vd2VzdGVuZC1ycGMucG9sa2Fkb3QuaW8nXSxcbiAgdHJvbk5vZGVzOiB7XG4gICAgZnVsbDogJ2h0dHBzOi8vYXBpLnNoYXN0YS50cm9uZ3JpZC5pbycsXG4gICAgc29saWRpdHk6ICdodHRwczovL2FwaS5zaGFzdGEudHJvbmdyaWQuaW8nLFxuICB9LFxuICBobWFjVmVyaWZpY2F0aW9uRW5mb3JjZWQ6IGZhbHNlLFxuICBzdWlOb2RlVXJsOiAnaHR0cHM6Ly9mdWxsbm9kZS50ZXN0bmV0LnN1aS5pbycsXG4gIGV0Y05vZGVVcmw6ICdodHRwczovL2V0Yy1tb3Jkb3IuYmxvY2tzY291dC5jb20nLFxuICBjb3JlZGFvRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9hcGkudGVzdDIuYnRjcy5uZXR3b3JrJyxcbiAgb2FzRXhwbG9yZXJCYXNlVXJsOiAnaHR0cHM6Ly9leHBsb3Jlci50ZXN0bmV0Lm9hc3lzLmdhbWVzJyxcbiAgd2VtaXhFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2FwaS10ZXN0bmV0LndlbWl4c2Nhbi5jb20nLFxuICBmbHJFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2Nvc3RvbjItZXhwbG9yZXIuZmxhcmUubmV0d29yaycsXG4gIHhkY0V4cGxvcmVyQmFzZVVybDogJ2h0dHBzOi8vYXBpLWFwb3RoZW0ueGRjc2Nhbi5pbycsXG4gIHNnYkV4cGxvcmVyQmFzZVVybDogJ2h0dHBzOi8vY29zdG9uLWV4cGxvcmVyLmZsYXJlLm5ldHdvcmsnLFxuICByb3NldHRhTm9kZVVSTDogJ2h0dHA6Ly9sb2NhbGhvc3Q6ODA4MScsIC8vVE9ETyhXSU4tNDI0Mik6IHVwZGF0ZSB3aGVuIHJvc2V0dGEgbm9kZSBpcyBhdmFpbGFibGVcbn07XG5cbmNvbnN0IGRldkJhc2U6IEVudmlyb25tZW50VGVtcGxhdGUgPSBPYmplY3QuYXNzaWduKHt9LCB0ZXN0bmV0QmFzZSwge1xuICBoc21YcHViOiBoYXJkY29kZWRQdWJsaWNLZXlzLmhzbVhwdWIuZGV2LFxuICBobWFjVmVyaWZpY2F0aW9uRW5mb3JjZWQ6IGZhbHNlLFxufSk7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZWRlY2xhcmVcbmV4cG9ydCBjb25zdCBFbnZpcm9ubWVudHM6IEVudmlyb25tZW50cyA9IHtcbiAgcHJvZDogT2JqZWN0LmFzc2lnbih7fSwgbWFpbm5ldEJhc2UsIHtcbiAgICB1cmk6ICdodHRwczovL2FwcC5iaXRnby5jb20nLFxuICAgIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOiAnaHR0cHM6Ly9hcHAuYml0Z28uY29tL2FwaS92Mi94bG0vZmVkZXJhdGlvbicsXG4gIH0pLFxuICB0ZXN0OiBPYmplY3QuYXNzaWduKHt9LCB0ZXN0bmV0QmFzZSwge1xuICAgIHVyaTogJ2h0dHBzOi8vYXBwLmJpdGdvLXRlc3QuY29tJyxcbiAgICBzdGVsbGFyRmVkZXJhdGlvblNlcnZlclVybDogJ2h0dHBzOi8vYXBwLmJpdGdvLXRlc3QuY29tL2FwaS92Mi90eGxtL2ZlZGVyYXRpb24nLFxuICB9KSxcbiAgZGV2OiBPYmplY3QuYXNzaWduKHt9LCBkZXZCYXNlLCB7XG4gICAgdXJpOiAnaHR0cHM6Ly9hcHAuYml0Z28tZGV2LmNvbScsXG4gICAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw6ICdodHRwczovL2FwcC5iaXRnby1kZXYuY29tL2FwaS92Mi90eGxtL2ZlZGVyYXRpb24nLFxuICB9KSxcbiAgbGF0ZXN0OiBPYmplY3QuYXNzaWduKHt9LCBkZXZCYXNlLCB7XG4gICAgdXJpOiAnaHR0cHM6Ly9hcHAuYml0Z28tbGF0ZXN0LmNvbScsXG4gICAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw6ICdodHRwczovL2FwcC5iaXRnby1sYXRlc3QuY29tL2FwaS92Mi94bG0vZmVkZXJhdGlvbicsXG4gIH0pLFxuICBzdGFnaW5nOiBPYmplY3QuYXNzaWduKHt9LCB0ZXN0bmV0QmFzZSwge1xuICAgIHVyaTogJ2h0dHBzOi8vYXBwLmJpdGdvLXN0YWdpbmcuY29tJyxcbiAgICBzdGVsbGFyRmVkZXJhdGlvblNlcnZlclVybDogJ2h0dHBzOi8vYXBwLmJpdGdvLXN0YWdpbmcuY29tL2FwaS92Mi90eGxtL2ZlZGVyYXRpb24nLFxuICB9KSxcbiAgbG9jYWw6IE9iamVjdC5hc3NpZ24oe30sIGRldkJhc2UsIHtcbiAgICB1cmk6ICdodHRwczovL2xvY2FsaG9zdDozMDAwJyxcbiAgICBzdGVsbGFyRmVkZXJhdGlvblNlcnZlclVybDogJ2h0dHBzOi8vbG9jYWxob3N0OjMwMDAvYXBpL3YyL3R4bG0vZmVkZXJhdGlvbicsXG4gIH0pLFxuICBsb2NhbE5vblNlY3VyZTogT2JqZWN0LmFzc2lnbih7fSwgZGV2QmFzZSwge1xuICAgIHVyaTogJ2h0dHA6Ly9sb2NhbGhvc3Q6MzAwMCcsXG4gICAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw6ICdodHRwOi8vbG9jYWxob3N0OjMwMDAvYXBpL3YyL3R4bG0vZmVkZXJhdGlvbicsXG4gIH0pLFxuICBtb2NrOiBPYmplY3QuYXNzaWduKHt9LCBkZXZCYXNlLCB7XG4gICAgdXJpOiAnaHR0cHM6Ly9iaXRnby5mYWtldXJsJyxcbiAgICBzdGVsbGFyRmVkZXJhdGlvblNlcnZlclVybDogJ2h0dHBzOi8vYml0Z28uZmFrZXVybC9hcGkvdjIvdHhsbS9mZWRlcmF0aW9uJyxcbiAgICBldGhlcnNjYW5CYXNlVXJsOiAnaHR0cHM6Ly9hcGktaG9sZXNreS5ldGhlcnNjYW4uZmFrZXVybCcsXG4gICAgZXRoZXJzY2FuQXBpVG9rZW46IHByb2Nlc3MuZW52LkVUSEVSU0NBTl9BUElfVE9LRU4sXG4gICAgYXZheGNOZXR3b3JrQmFzZVVybDogJ2h0dHBzOi8vYXBpLmF2YXgtdGVzdC5uZXR3b3JrLmZha2V1cmwnLFxuICAgIGV0aDJFeHBsb3JlckJhc2VVcmw6ICdodHRwczovL2JlYWNvbnNjYW4uY29tL2FwaScsXG4gIH0pLFxuICBhZG1pblByb2Q6IE9iamVjdC5hc3NpZ24oe30sIG1haW5uZXRCYXNlLCB7XG4gICAgdXJpOiAnaHR0cHM6Ly9hZG1pbi5iaXRnby5jb20nLFxuICAgIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOiAnaHR0cHM6Ly9hZG1pbi5iaXRnby5jb20vYXBpL3YyL3hsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG4gIGFkbWluVGVzdDogT2JqZWN0LmFzc2lnbih7fSwgdGVzdG5ldEJhc2UsIHtcbiAgICB1cmk6ICdodHRwczovL2FkbWluLmJpdGdvLXRlc3QuY29tJyxcbiAgICBzdGVsbGFyRmVkZXJhdGlvblNlcnZlclVybDogJ2h0dHBzOi8vYWRtaW4uYml0Z28tdGVzdC5jb20vYXBpL3YyL3R4bG0vZmVkZXJhdGlvbicsXG4gIH0pLFxuICBhZG1pbkRldjogT2JqZWN0LmFzc2lnbih7fSwgZGV2QmFzZSwge1xuICAgIHVyaTogJ2h0dHBzOi8vYWRtaW4uYml0Z28tZGV2LmNvbScsXG4gICAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw6ICdodHRwczovL2FkbWluLmJpdGdvLWRldi5jb20vYXBpL3YyL3R4bG0vZmVkZXJhdGlvbicsXG4gIH0pLFxuICBhZG1pbkxhdGVzdDogT2JqZWN0LmFzc2lnbih7fSwgZGV2QmFzZSwge1xuICAgIHVyaTogJ2h0dHBzOi8vYWRtaW4uYml0Z28tbGF0ZXN0LmNvbScsXG4gICAgc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmw6ICdodHRwczovL2FkbWluLmJpdGdvLWxhdGVzdC5jb20vYXBpL3YyL3hsbS9mZWRlcmF0aW9uJyxcbiAgfSksXG4gIGN1c3RvbTogT2JqZWN0LmFzc2lnbih7fSwgbWFpbm5ldEJhc2UsIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxuICAgIHVyaTogcHJvY2Vzcy5lbnYuQklUR09fQ1VTVE9NX1JPT1RfVVJJISxcbiAgICBuZXR3b3JrOiBwcm9jZXNzLmVudi5CSVRHT19DVVNUT01fQklUQ09JTl9ORVRXT1JLIGFzIFYxTmV0d29yayxcbiAgICBoc21YcHViOlxuICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJyA/IGhhcmRjb2RlZFB1YmxpY0tleXMuaHNtWHB1Yi5wcm9kIDogaGFyZGNvZGVkUHVibGljS2V5cy5oc21YcHViLnRlc3QsXG4gICAgYnRjRXhwbG9yZXJCYXNlVXJsOlxuICAgICAgcHJvY2Vzcy5lbnYuQklUR09fQ1VTVE9NX0JJVENPSU5fTkVUV09SSyAhPT0gJ2JpdGNvaW4nXG4gICAgICAgID8gJ2h0dHBzOi8vYmxvY2tzdHJlYW0uaW5mby90ZXN0bmV0L2FwaSdcbiAgICAgICAgOiAnaHR0cHM6Ly9ibG9ja3N0cmVhbS5pbmZvL2FwaScsXG4gICAgZXRoZXJzY2FuQmFzZVVybDpcbiAgICAgIHByb2Nlc3MuZW52LkJJVEdPX0NVU1RPTV9FVEhFUkVVTV9ORVRXT1JLICE9PSAnZXRoZXJldW0nXG4gICAgICAgID8gJ2h0dHBzOi8vYXBpLWhvbGVza3kuZXRoZXJzY2FuLmlvJ1xuICAgICAgICA6ICdodHRwczovL2FwaS5ldGhlcnNjYW4uaW8nLFxuICAgIHN0ZWxsYXJGZWRlcmF0aW9uU2VydmVyVXJsOlxuICAgICAgcHJvY2Vzcy5lbnYuQklUR09fQ1VTVE9NX1NURUxMQVJfTkVUV09SSyAhPT0gJ3N0ZWxsYXInXG4gICAgICAgID8gYGh0dHBzOi8vJHtwcm9jZXNzLmVudi5CSVRHT19DVVNUT01fUk9PVF9VUkl9L2FwaS92Mi90eGxtL2ZlZGVyYXRpb25gXG4gICAgICAgIDogYGh0dHBzOi8vJHtwcm9jZXNzLmVudi5CSVRHT19DVVNUT01fUk9PVF9VUkl9L2FwaS92Mi94bG0vZmVkZXJhdGlvbmAsXG4gICAgc2VydmVyWHB1YjpcbiAgICAgIHByb2Nlc3MuZW52LkJJVEdPX0NVU1RPTV9CSVRDT0lOX05FVFdPUksgIT09ICdiaXRjb2luJ1xuICAgICAgICA/IGhhcmRjb2RlZFB1YmxpY0tleXMuc2VydmVyWHB1Yi50ZXN0XG4gICAgICAgIDogaGFyZGNvZGVkUHVibGljS2V5cy5zZXJ2ZXJYcHViLnByb2QsXG4gIH0pLFxuICBicmFuY2g6IE9iamVjdC5hc3NpZ24oe30sIGRldkJhc2UsIHtcbiAgICB1cmk6ICdodHRwczovL2FwcC5iaXRnby1kZXYuY29tJyxcbiAgICBzdGVsbGFyRmVkZXJhdGlvblNlcnZlclVybDogJ2h0dHBzOi8vYXBwLmJpdGdvLWRldi5jb20vYXBpL3YyL3R4bG0vZmVkZXJhdGlvbicsXG4gIH0pLFxufTtcbiJdfQ==
|
|
@@ -140,10 +140,10 @@ async function verifyShareProof(senderPubKey, privateShareProof, uValue, algo) {
|
|
|
140
140
|
async function verifySharedDataProof(senderPubKeyArm, keyWithNotation, dataToVerify) {
|
|
141
141
|
const senderPubKey = await pgp.readKey({ armoredKey: senderPubKeyArm });
|
|
142
142
|
const signedKey = await pgp.readKey({ armoredKey: keyWithNotation });
|
|
143
|
-
if (!(await verifyPrimaryUserWrapper(signedKey, senderPubKey,
|
|
143
|
+
if (!(await verifyPrimaryUserWrapper(signedKey, senderPubKey, false).then((values) => _.some(values, (value) => value.valid)))) {
|
|
144
144
|
return false;
|
|
145
145
|
}
|
|
146
|
-
const primaryUser = await signedKey.getPrimaryUser();
|
|
146
|
+
const primaryUser = await signedKey.getPrimaryUser(null);
|
|
147
147
|
const anyInvalidProof = _.some(
|
|
148
148
|
// @ts-ignore
|
|
149
149
|
primaryUser.user.otherCertifications[0].rawNotations, (notation) => dataToVerify.find((i) => i.name === notation.name)?.value !== Buffer.from(notation.value).toString());
|
|
@@ -163,7 +163,7 @@ async function createSharedDataProof(privateKeyArmored, publicKeyToCertArmored,
|
|
|
163
163
|
const dateTime = new Date();
|
|
164
164
|
// UserId Packet.
|
|
165
165
|
const userIdPkt = new pgp.UserIDPacket();
|
|
166
|
-
const primaryUser = await publicKeyToCert.getPrimaryUser();
|
|
166
|
+
const primaryUser = await publicKeyToCert.getPrimaryUser(null);
|
|
167
167
|
// @ts-ignore
|
|
168
168
|
userIdPkt.userID = primaryUser.user.userID.userID;
|
|
169
169
|
// Signature packet.
|
|
@@ -410,4 +410,4 @@ async function generateGPGKeyPair(keyCurve, username, email) {
|
|
|
410
410
|
});
|
|
411
411
|
return gpgKey;
|
|
412
412
|
}
|
|
413
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlbmdwZ1V0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3V0aWxzL29wZW5ncGdVdGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsc0RBQXNEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXFDdEQsOENBV0M7QUFVRCw0REFVQztBQU1ELDhDQU1DO0FBV0QsNENBeUJDO0FBVUQsc0RBcUJDO0FBVUQsc0RBdURDO0FBYUQsNENBNkRDO0FBWUQsa0NBY0M7QUFRRCxnREFtQkM7QUFTRCw4Q0FjQztBQVNELDRCQVdDO0FBU0QsMENBb0JDO0FBU0QsZ0RBc0JDO0FBeGJELDZDQUErQjtBQUMvQixxQ0FXaUI7QUFDakIsMENBQTRCO0FBQzVCLDhDQUFtRDtBQUVuRCxvREFBNEI7QUFFNUIsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFZbEQ7Ozs7R0FJRztBQUNJLEtBQUssVUFBVSxpQkFBaUIsQ0FBQyxLQUFnQjtJQUN0RCxNQUFNLFNBQVMsR0FBRyxNQUFNLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMvQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDcEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxzRUFBc0UsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFRCxNQUFNLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsY0FBd0IsQ0FBQztJQUNqRSxNQUFNLHNCQUFzQixHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsbUJBQW1CO1FBQzlELENBQUMsQ0FBQyxNQUFNLElBQUEsaUJBQU8sRUFBQyxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLG1CQUE2QixFQUFFLENBQUM7UUFDNUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNkLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxJQUFBLGlCQUFPLEVBQUMsRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxDQUFDO0FBQ3BHLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0ksS0FBSyxVQUFVLHdCQUF3QixDQUM1QyxNQUFXLEVBQ1gsV0FBZ0IsRUFDaEIsVUFBbUI7SUFFbkIsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNmLE9BQU8sTUFBTSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxNQUFNLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQTRCLENBQUMsQ0FBQztJQUNyRixDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7R0FHRztBQUNJLEtBQUssVUFBVSxpQkFBaUIsQ0FBQyxLQUFnQjtJQUN0RCxNQUFNLFNBQVMsR0FBRyxNQUFNLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMvQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQ0QsT0FBTyxJQUFBLGlCQUFPLEVBQUMsRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7QUFDeEQsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0ksS0FBSyxVQUFVLGdCQUFnQixDQUNwQyxZQUFvQixFQUNwQixpQkFBeUIsRUFDekIsTUFBYyxFQUNkLElBQXVCO0lBRXZCLE1BQU0sWUFBWSxHQUFHLE1BQU0sR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7SUFDMUUsTUFBTSxZQUFZLEdBQUcsTUFBTSxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDckUsSUFBSSxDQUFDLENBQUMsTUFBTSx3QkFBd0IsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDakYsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xELElBQUksSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO1FBQ3JCLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUcsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FDaEMsTUFBTSxDQUFDLHNDQUFzQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQzFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xCLE9BQU8sa0JBQWtCLEtBQUssY0FBYyxDQUFDO0lBQy9DLENBQUM7U0FBTSxJQUFJLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQztRQUM1QixNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakcsTUFBTSxjQUFjLEdBQUcsY0FBUyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNwRixPQUFPLGNBQWMsS0FBSyxJQUFJLElBQUksa0JBQWtCLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkcsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDaEQsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0ksS0FBSyxVQUFVLHFCQUFxQixDQUN6QyxlQUF1QixFQUN2QixlQUF1QixFQUN2QixZQUErQztJQUUvQyxNQUFNLFlBQVksR0FBRyxNQUFNLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztJQUN4RSxNQUFNLFNBQVMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztJQUNyRSxJQUNFLENBQUMsQ0FBQyxNQUFNLHdCQUF3QixDQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDOUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FDdkMsQ0FBQyxFQUNGLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxNQUFNLFdBQVcsR0FBRyxNQUFNLFNBQVMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNyRCxNQUFNLGVBQWUsR0FBRyxDQUFDLENBQUMsSUFBSTtJQUM1QixhQUFhO0lBQ2IsV0FBVyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQ3BELENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQ25ILENBQUM7SUFDRixPQUFPLENBQUMsZUFBZSxDQUFDO0FBQzFCLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0ksS0FBSyxVQUFVLHFCQUFxQixDQUN6QyxpQkFBeUIsRUFDekIsc0JBQThCLEVBQzlCLFNBQTRDO0lBRTVDLE1BQU0sYUFBYSxHQUFHLE1BQU0sR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7SUFDM0UsTUFBTSxlQUFlLEdBQUcsTUFBTSxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsVUFBVSxFQUFFLHNCQUFzQixFQUFFLENBQUMsQ0FBQztJQUNsRixNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQzVCLGlCQUFpQjtJQUNqQixNQUFNLFNBQVMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QyxNQUFNLFdBQVcsR0FBRyxNQUFNLGVBQWUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMzRCxhQUFhO0lBQ2IsU0FBUyxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDbEQsb0JBQW9CO0lBQ3BCLE1BQU0sZUFBZSxHQUFHLElBQUksR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ2xELGVBQWUsQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDO0lBQ2pFLGVBQWUsQ0FBQyxrQkFBa0IsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7SUFDL0QsZUFBZSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdEQsYUFBYTtJQUNiLGVBQWUsQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQ25HLGFBQWE7SUFDYixlQUFlLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7SUFDdkUsYUFBYTtJQUNiLGVBQWUsQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztJQUN4RSxhQUFhO0lBQ2IsZUFBZSxDQUFDLGFBQWEsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDL0QsYUFBYTtJQUNiLGVBQWUsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQixTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtRQUNwQyxlQUFlLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztZQUNoQyxJQUFJLEVBQUUsSUFBSTtZQUNWLEtBQUssRUFBRSxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3pDLGFBQWEsRUFBRSxJQUFJO1lBQ25CLFFBQVEsRUFBRSxLQUFLO1NBQ2hCLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsd0JBQXdCO0lBQ3hCLE1BQU0sYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUN6QixhQUFhO0lBQ2IsYUFBYSxDQUFDLEdBQUcsR0FBRyxlQUFlLENBQUMsU0FBUyxDQUFDO0lBQzlDLGFBQWE7SUFDYixhQUFhLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUVqQyx3Q0FBd0M7SUFDeEMsYUFBYTtJQUNiLE1BQU0sZUFBZSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUU3RSw2QkFBNkI7SUFDN0IsTUFBTSxtQkFBbUIsR0FBRyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0QsTUFBTSxhQUFhLEdBQUcsSUFBSSxHQUFHLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDM0MsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsZUFBZSxFQUFFLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekcsYUFBYTtJQUNiLE1BQU0sU0FBUyxHQUFHLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNuRCxPQUFPLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ2xELENBQUM7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0ksS0FBSyxVQUFVLGdCQUFnQixDQUFDLFlBQW9CLEVBQUUsTUFBYyxFQUFFLElBQVk7SUFDdkYsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFBLGlCQUFPLEVBQUMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUMvRCxNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQzVCLHVIQUF1SDtJQUN2SCxNQUFNLGtCQUFrQixHQUFHLElBQUksR0FBRyxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hFLGtCQUFrQixDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6RCw2QkFBNkI7SUFDN0Isa0JBQWtCLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUN2QyxJQUFJLEdBQUcsQ0FBQztJQUNSLElBQUksQ0FBQyxDQUFDO0lBQ04sSUFBSSxJQUFJLEtBQUssT0FBTyxFQUFFLENBQUM7UUFDckIsTUFBTSxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ25CLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQzNCLE1BQU0sQ0FBQyxzQ0FBc0MsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FDeEYsQ0FBQztRQUNGLG1DQUFtQztRQUNuQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzdELGFBQWE7UUFDYixHQUFHLENBQUMsS0FBSyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUM3RSxDQUFDLEdBQUcsSUFBSSxVQUFVLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7U0FBTSxJQUFJLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQztRQUM1QixHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDckMsNkJBQTZCO1FBQzdCLEdBQUcsQ0FBQyxLQUFLLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNyRSxDQUFDLEdBQUcsY0FBUyxDQUFDLGVBQWUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxZQUFZLEdBQUc7UUFDaEMsR0FBRztRQUNILENBQUM7S0FDRixDQUFDO0lBQ0YsNkJBQTZCO0lBQzdCLE1BQU0sa0JBQWtCLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztJQUV0RCw0QkFBNEI7SUFDNUIsTUFBTSxnQkFBZ0IsR0FBRztRQUN2QixHQUFHLEVBQUUsVUFBVSxDQUFDLFNBQVM7UUFDekIsSUFBSSxFQUFFLGtCQUFrQjtLQUN6QixDQUFDO0lBQ0YsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN4RCxxQkFBcUIsQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDO0lBQ3hFLHFCQUFxQixDQUFDLGtCQUFrQixHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztJQUNyRSxxQkFBcUIsQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQzVELHFCQUFxQixDQUFDLFFBQVEsR0FBRyxJQUFJLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFFckYsa0JBQWtCO0lBQ2xCLDJHQUEyRztJQUMzRyxNQUFNLHFCQUFxQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBRW5GLDZCQUE2QjtJQUM3QixNQUFNLGFBQWEsR0FBRyxJQUFJLEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMzQyxNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDakQsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQy9ELGFBQWEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUscUJBQXFCLENBQUMsQ0FBQztJQUM5RCw4RkFBOEY7SUFDOUYsTUFBTSxTQUFTLEdBQUcsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBRS9ELElBQUksQ0FBQyxDQUFDLE1BQU0sd0JBQXdCLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzVFLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsT0FBTyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNsRCxDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0ksS0FBSyxVQUFVLFdBQVcsQ0FBQyxJQUFZLEVBQUUsR0FBUTtJQUN0RCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sSUFBQSx1QkFBYSxFQUFDO1FBQzNDLElBQUk7S0FDTCxDQUFDLENBQUM7SUFDSCxPQUFPLE1BQU0sSUFBQSxpQkFBTyxFQUFDO1FBQ25CLE9BQU8sRUFBRSxnQkFBZ0I7UUFDekIsY0FBYyxFQUFFLENBQUMsR0FBRyxDQUFDO1FBQ3JCLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLE1BQU0sRUFBRTtZQUNOLFlBQVksRUFBRSxJQUFJLEdBQUcsRUFBRTtZQUN2QixXQUFXLEVBQUUsS0FBSztZQUNsQixXQUFXLEVBQUUsS0FBSztTQUNuQjtLQUNGLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNJLEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxJQUFZLEVBQUUsV0FBbUIsRUFBRSxZQUFvQjtJQUM5RixNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUEsaUJBQU8sRUFBQyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzdELE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBQSx3QkFBYyxFQUFDLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7SUFFdEUsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFBLHVCQUFhLEVBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRTlDLE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBQSxpQkFBTyxFQUFDO1FBQ2xDLE9BQU87UUFDUCxjQUFjLEVBQUUsU0FBUztRQUN6QixXQUFXLEVBQUUsVUFBVTtRQUN2QixNQUFNLEVBQUUsU0FBUztRQUNqQixNQUFNLEVBQUU7WUFDTixZQUFZLEVBQUUsSUFBSSxHQUFHLEVBQUU7WUFDdkIsV0FBVyxFQUFFLEtBQUs7WUFDbEIsV0FBVyxFQUFFLEtBQUs7U0FDbkI7S0FDRixDQUFDLENBQUM7SUFFSCxPQUFPLGFBQWEsQ0FBQztBQUN2QixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0ksS0FBSyxVQUFVLGlCQUFpQixDQUFDLE1BQWMsRUFBRSxXQUFtQixFQUFFLFlBQW9CO0lBQy9GLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBQSxpQkFBTyxFQUFDLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDN0QsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFBLHdCQUFjLEVBQUMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUV0RSxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUEscUJBQVcsRUFBQyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzlELE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBQSxpQkFBTyxFQUFDO1FBQzlCLE9BQU87UUFDUCxnQkFBZ0IsRUFBRSxTQUFTO1FBQzNCLGNBQWMsRUFBRSxVQUFVO1FBQzFCLFlBQVksRUFBRSxJQUFJO1FBQ2xCLE1BQU0sRUFBRSxFQUFFLFlBQVksRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFO0tBQ3BDLENBQUMsQ0FBQztJQUVILE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQztBQUN4QixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0ksS0FBSyxVQUFVLFFBQVEsQ0FBQyxJQUFZLEVBQUUsWUFBb0I7SUFDL0QsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFBLHdCQUFjLEVBQUMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUN0RSxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUEsdUJBQWEsRUFBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDOUMsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFBLGNBQUksRUFBQztRQUMzQixPQUFPO1FBQ1AsV0FBVyxFQUFFLFVBQVU7UUFDdkIsTUFBTSxFQUFFLFNBQVM7UUFDakIsUUFBUSxFQUFFLElBQUk7S0FDZixDQUFDLENBQUM7SUFFSCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0ksS0FBSyxVQUFVLGVBQWUsQ0FBQyxJQUFZLEVBQUUsZ0JBQXdCLEVBQUUsV0FBbUI7SUFDL0YsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFBLGlCQUFPLEVBQUMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM3RCxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUEsdUJBQWEsRUFBQyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUM1RCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUEsdUJBQWEsRUFBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDOUMsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLElBQUEsZ0JBQU0sRUFBQztRQUN0QyxPQUFPO1FBQ1AsU0FBUztRQUNULGdCQUFnQixFQUFFLFNBQVM7S0FDNUIsQ0FBQyxDQUFDO0lBRUgsSUFBSSxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQy9DLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBSSxDQUFDO1FBQ0gsTUFBTSxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQ2hELE9BQU8sSUFBSSxLQUFLLGtCQUFrQixDQUFDLElBQUksQ0FBQztJQUMxQyxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNJLEtBQUssVUFBVSxrQkFBa0IsQ0FDdEMsUUFBK0IsRUFDL0IsUUFBNkIsRUFDN0IsS0FBMEI7SUFFMUIsTUFBTSxlQUFlLEdBQUcsZ0JBQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9ELFFBQVEsR0FBRyxRQUFRLElBQUksZUFBZSxDQUFDO0lBQ3ZDLEtBQUssR0FBRyxLQUFLLElBQUksUUFBUSxlQUFlLElBQUksZUFBZSxNQUFNLENBQUM7SUFFbEUsdUNBQXVDO0lBQ3ZDLEdBQUcsQ0FBQyxNQUFNLENBQUMsWUFBWSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFDcEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxHQUFHLENBQUMsV0FBVyxDQUFDO1FBQ25DLE9BQU8sRUFBRTtZQUNQO2dCQUNFLElBQUksRUFBRSxRQUFRO2dCQUNkLEtBQUs7YUFDTjtTQUNGO1FBQ0QsS0FBSyxFQUFFLFFBQVE7S0FDaEIsQ0FBQyxDQUFDO0lBRUgsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudCAqL1xuXG5pbXBvcnQgKiBhcyBwZ3AgZnJvbSAnb3BlbnBncCc7XG5pbXBvcnQge1xuICBjcmVhdGVNZXNzYWdlLFxuICBkZWNyeXB0LFxuICBlbmNyeXB0LFxuICBLZXksXG4gIHJlYWRLZXksXG4gIHJlYWRNZXNzYWdlLFxuICByZWFkUHJpdmF0ZUtleSxcbiAgcmVhZFNpZ25hdHVyZSxcbiAgc2lnbixcbiAgdmVyaWZ5LFxufSBmcm9tICdvcGVucGdwJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IGVjYyBhcyBzZWNwMjU2azEgfSBmcm9tICdAYml0Z28vdXR4by1saWInO1xuaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnLi4vYml0Z29CYXNlJztcbmltcG9ydCBjcnlwdG8gZnJvbSAnY3J5cHRvJztcblxuY29uc3Qgc29kaXVtID0gcmVxdWlyZSgnbGlic29kaXVtLXdyYXBwZXJzLXN1bW8nKTtcblxuZXhwb3J0IHR5cGUgS2V5VmFsaWRpdHlEaWN0ID0ge1xuICBrZXlJRDogcGdwLktleUlEO1xuICB2YWxpZDogYm9vbGVhbiB8IG51bGw7XG59W107XG5cbmV4cG9ydCB0eXBlIEF1dGhFbmNNZXNzYWdlID0ge1xuICBlbmNyeXB0ZWRNZXNzYWdlOiBzdHJpbmc7XG4gIHNpZ25hdHVyZTogc3RyaW5nO1xufTtcblxuLyoqXG4gKiBGZXRjaGVzIEJpdEdvJ3MgcHVibGljIGdwZyBrZXkgdXNlZCBpbiBNUEMgZmxvd3NcbiAqIEBwYXJhbSB7Qml0R29CYXNlfSBiaXRnbyBCaXRHbyBvYmplY3RcbiAqIEByZXR1cm4ge0tleX0gcHVibGljIGdwZyBrZXlcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEJpdGdvR3BnUHViS2V5KGJpdGdvOiBCaXRHb0Jhc2UpOiBQcm9taXNlPHsgbXBjVjE6IEtleTsgbXBjVjI6IEtleSB8IHVuZGVmaW5lZCB9PiB7XG4gIGNvbnN0IGNvbnN0YW50cyA9IGF3YWl0IGJpdGdvLmZldGNoQ29uc3RhbnRzKCk7XG4gIGlmICghY29uc3RhbnRzLm1wYyB8fCAhY29uc3RhbnRzLm1wYy5iaXRnb1B1YmxpY0tleSkge1xuICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGNyZWF0ZSBNUEMga2V5cyAtIGJpdGdvUHVibGljS2V5IGlzIG1pc3NpbmcgZnJvbSBjb25zdGFudHMnKTtcbiAgfVxuXG4gIGNvbnN0IGJpdGdvUHVibGljS2V5U3RyID0gY29uc3RhbnRzLm1wYy5iaXRnb1B1YmxpY0tleSBhcyBzdHJpbmc7XG4gIGNvbnN0IGJpdGdvTVBDdjJQdWJsaWNLZXlTdHIgPSBjb25zdGFudHMubXBjLmJpdGdvTVBDdjJQdWJsaWNLZXlcbiAgICA/IGF3YWl0IHJlYWRLZXkoeyBhcm1vcmVkS2V5OiBjb25zdGFudHMubXBjLmJpdGdvTVBDdjJQdWJsaWNLZXkgYXMgc3RyaW5nIH0pXG4gICAgOiB1bmRlZmluZWQ7XG4gIHJldHVybiB7IG1wY1YxOiBhd2FpdCByZWFkS2V5KHsgYXJtb3JlZEtleTogYml0Z29QdWJsaWNLZXlTdHIgfSksIG1wY1YyOiBiaXRnb01QQ3YyUHVibGljS2V5U3RyIH07XG59XG5cbi8qKlxuICogVmVyaWZpZXMgdGhlIHByaW1hcnkgdXNlciBvbiBhIEdQRyBrZXkgdXNpbmcgYSByZWZlcmVuY2Uga2V5IHJlcHJlc2VudGluZyB0aGUgdXNlciB0byBiZSBjaGVja2VkLlxuICogQWxsb3dzIGEgdmVyaWZpY2F0aW9uIHdpdGhvdXQgYSBkYXRlIGNoZWNrIGJ5IHdyYXBwaW5nIHZlcmlmeVByaW1hcnlVc2VyIG9mIG9wZW5wZ3AuXG4gKiBAcGFyYW0ge0tleX0gcHViS2V5IGdwZyBrZXkgdG8gY2hlY2sgdGhlIHByaW1hcnkgdXNlciBvZi5cbiAqIEBwYXJhbSB7S2V5fSBwcmltYXJ5VXNlciBncGcga2V5IG9mIHRoZSB1c2VyIHRvIGNoZWNrLlxuICogQHBhcmFtIHtib29sZWFufSBjaGVja0RhdGVzIElmIGZhbHNlLCBkaXNhYmxlIGRhdGUgY2hlY2tzIGluIHRoZSBvcGVucGdwIGNhbGwgdG8gY2hlY2sgdGhlIHByaW1hcnkgdXNlci5cbiAqIEByZXR1cm4ge0tleVZhbGlkaXR5RGljdH0gbGlzdCBvZiB1c2VycyBjaGVja2VkIGFuZCB3aGV0aGVyIGVhY2ggcGFzc2VkIGFzIGEgcHJpbWFyeSB1c2VyIGluIHB1YktleSBvciBub3QuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2ZXJpZnlQcmltYXJ5VXNlcldyYXBwZXIoXG4gIHB1YktleTogS2V5LFxuICBwcmltYXJ5VXNlcjogS2V5LFxuICBjaGVja0RhdGVzOiBib29sZWFuXG4pOiBQcm9taXNlPEtleVZhbGlkaXR5RGljdD4ge1xuICBpZiAoY2hlY2tEYXRlcykge1xuICAgIHJldHVybiBhd2FpdCBwdWJLZXkudmVyaWZ5UHJpbWFyeVVzZXIoW3ByaW1hcnlVc2VyXSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGF3YWl0IHB1YktleS52ZXJpZnlQcmltYXJ5VXNlcihbcHJpbWFyeVVzZXJdLCBudWxsIGFzIHVua25vd24gYXMgdW5kZWZpbmVkKTtcbiAgfVxufVxuXG4vKipcbiAqIEZldGNoZXMgVHJ1c3QgcHViIGtleSBzdHJpbmdcbiAqIEBwYXJhbSBiaXRnb1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0VHJ1c3RHcGdQdWJLZXkoYml0Z286IEJpdEdvQmFzZSk6IFByb21pc2U8S2V5PiB7XG4gIGNvbnN0IGNvbnN0YW50cyA9IGF3YWl0IGJpdGdvLmZldGNoQ29uc3RhbnRzKCk7XG4gIGlmICghY29uc3RhbnRzLnRydXN0UHViS2V5KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gZ2V0IHRydXN0UHViS2V5Jyk7XG4gIH1cbiAgcmV0dXJuIHJlYWRLZXkoeyBhcm1vcmVkS2V5OiBjb25zdGFudHMudHJ1c3RQdWJLZXkgfSk7XG59XG5cbi8qKlxuICogVmVyaWZ5IGFuIEVkZHNhIG9yIEVjZHNhIEtleVNoYXJlIFByb29mLlxuICpcbiAqIEBwYXJhbSBzZW5kZXJQdWJLZXkgcHVibGljIGtleSBvZiB0aGUgc2VuZGVyIG9mIHRoZSBwcml2YXRlU2hhcmVQcm9vZlxuICogQHBhcmFtIHByaXZhdGVTaGFyZVByb29mIHUgdmFsdWUgcHJvb2ZcbiAqIEBwYXJhbSB1VmFsdWUgdSB2YWx1ZSBmcm9tIGFuIEVkZHNhIGtleXNoYXJlXG4gKiBAcGFyYW0gYWxnb1xuICogQHJldHVybiB7Ym9vbGVhbn0gd2hldGhlciB1VmFsdWUgcHJvb2YgYWN0dWFsbHkgd2FzIHNpZ25lZCBieSBzZW5kZXIgYXMgcGFydCBvZiB0aGVpciBzdWJrZXlzXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2ZXJpZnlTaGFyZVByb29mKFxuICBzZW5kZXJQdWJLZXk6IHN0cmluZyxcbiAgcHJpdmF0ZVNoYXJlUHJvb2Y6IHN0cmluZyxcbiAgdVZhbHVlOiBzdHJpbmcsXG4gIGFsZ286ICdlZGRzYScgfCAnZWNkc2EnXG4pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgY29uc3QgZGVjb2RlZFByb29mID0gYXdhaXQgcGdwLnJlYWRLZXkoeyBhcm1vcmVkS2V5OiBwcml2YXRlU2hhcmVQcm9vZiB9KTtcbiAgY29uc3Qgc2VuZGVyR3BnS2V5ID0gYXdhaXQgcGdwLnJlYWRLZXkoeyBhcm1vcmVkS2V5OiBzZW5kZXJQdWJLZXkgfSk7XG4gIGlmICghKGF3YWl0IHZlcmlmeVByaW1hcnlVc2VyV3JhcHBlcihkZWNvZGVkUHJvb2YsIHNlbmRlckdwZ0tleSwgdHJ1ZSkpWzBdLnZhbGlkKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IHByb29mU3Via2V5cyA9IGRlY29kZWRQcm9vZi5nZXRTdWJrZXlzKClbMV07XG4gIGlmIChhbGdvID09PSAnZWRkc2EnKSB7XG4gICAgY29uc3QgZGVjb2RlZFVWYWx1ZVByb29mID0gQnVmZmVyLmZyb20ocHJvb2ZTdWJrZXlzLmtleVBhY2tldC5wdWJsaWNQYXJhbXNbJ1EnXS5zbGljZSgxKSkudG9TdHJpbmcoJ2hleCcpO1xuICAgIGNvbnN0IHJhd1VWYWx1ZVByb29mID0gQnVmZmVyLmZyb20oXG4gICAgICBzb2RpdW0uY3J5cHRvX3NjYWxhcm11bHRfZWQyNTUxOV9iYXNlX25vY2xhbXAoQnVmZmVyLmZyb20odVZhbHVlLCAnaGV4JykpXG4gICAgKS50b1N0cmluZygnaGV4Jyk7XG4gICAgcmV0dXJuIGRlY29kZWRVVmFsdWVQcm9vZiA9PT0gcmF3VVZhbHVlUHJvb2Y7XG4gIH0gZWxzZSBpZiAoYWxnbyA9PT0gJ2VjZHNhJykge1xuICAgIGNvbnN0IGRlY29kZWRVVmFsdWVQcm9vZiA9IEJ1ZmZlci5mcm9tKHByb29mU3Via2V5cy5rZXlQYWNrZXQucHVibGljUGFyYW1zWydRJ10pLnRvU3RyaW5nKCdoZXgnKTtcbiAgICBjb25zdCByYXdVVmFsdWVQcm9vZiA9IHNlY3AyNTZrMS5wb2ludEZyb21TY2FsYXIoQnVmZmVyLmZyb20odVZhbHVlLCAnaGV4JyksIGZhbHNlKTtcbiAgICByZXR1cm4gcmF3VVZhbHVlUHJvb2YgIT09IG51bGwgJiYgZGVjb2RlZFVWYWx1ZVByb29mID09PSBCdWZmZXIuZnJvbShyYXdVVmFsdWVQcm9vZikudG9TdHJpbmcoJ2hleCcpO1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBhbGdvcml0aG0gcHJvdmlkZWQnKTtcbiAgfVxufVxuXG4vKipcbiAqIFZlcmlmeSBhIHNoYXJlZCBkYXRhIHByb29mLlxuICpcbiAqIEBwYXJhbSBzZW5kZXJQdWJLZXlBcm0gcHVibGljIGtleSBvZiB0aGUgc2lnbmVyIG9mIHRoZSBrZXkgd2l0aCBwcm9vZiBkYXRhXG4gKiBAcGFyYW0ga2V5V2l0aE5vdGF0aW9uIHNpZ25lZCByZWNpZXZlciBrZXkgd2l0aCBub3RhdGlvbiBkYXRhXG4gKiBAcGFyYW0gZGF0YVRvVmVyaWZ5IGRhdGEgdG8gYmUgY2hlY2tlZCBhZ2FpbnN0IG5vdGF0aW9uIGRhdGEgaW4gdGhlIHNpZ25lZCBrZXlcbiAqIEByZXR1cm4ge2Jvb2xlYW59IHdoZXRoZXIgcHJvb2YgaXMgdmFsaWRcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHZlcmlmeVNoYXJlZERhdGFQcm9vZihcbiAgc2VuZGVyUHViS2V5QXJtOiBzdHJpbmcsXG4gIGtleVdpdGhOb3RhdGlvbjogc3RyaW5nLFxuICBkYXRhVG9WZXJpZnk6IHsgbmFtZTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH1bXVxuKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGNvbnN0IHNlbmRlclB1YktleSA9IGF3YWl0IHBncC5yZWFkS2V5KHsgYXJtb3JlZEtleTogc2VuZGVyUHViS2V5QXJtIH0pO1xuICBjb25zdCBzaWduZWRLZXkgPSBhd2FpdCBwZ3AucmVhZEtleSh7IGFybW9yZWRLZXk6IGtleVdpdGhOb3RhdGlvbiB9KTtcbiAgaWYgKFxuICAgICEoYXdhaXQgdmVyaWZ5UHJpbWFyeVVzZXJXcmFwcGVyKHNpZ25lZEtleSwgc2VuZGVyUHViS2V5LCB0cnVlKS50aGVuKCh2YWx1ZXMpID0+XG4gICAgICBfLnNvbWUodmFsdWVzLCAodmFsdWUpID0+IHZhbHVlLnZhbGlkKVxuICAgICkpXG4gICkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBjb25zdCBwcmltYXJ5VXNlciA9IGF3YWl0IHNpZ25lZEtleS5nZXRQcmltYXJ5VXNlcigpO1xuICBjb25zdCBhbnlJbnZhbGlkUHJvb2YgPSBfLnNvbWUoXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHByaW1hcnlVc2VyLnVzZXIub3RoZXJDZXJ0aWZpY2F0aW9uc1swXS5yYXdOb3RhdGlvbnMsXG4gICAgKG5vdGF0aW9uKSA9PiBkYXRhVG9WZXJpZnkuZmluZCgoaSkgPT4gaS5uYW1lID09PSBub3RhdGlvbi5uYW1lKT8udmFsdWUgIT09IEJ1ZmZlci5mcm9tKG5vdGF0aW9uLnZhbHVlKS50b1N0cmluZygpXG4gICk7XG4gIHJldHVybiAhYW55SW52YWxpZFByb29mO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBwcm9vZiB0aHJvdWdoIGFkZGluZyBub3RhdGlvbiBkYXRhIHRvIGEgR1BHIGNlcml0aWZ5aW5nIHNpZ25hdHVyZS5cbiAqXG4gKiBAcGFyYW0gcHJpdmF0ZUtleUFybW9yZWQgZ3BnIHByaXZhdGUga2V5IGluIGFybW9yIGZvcm1hdCBvZiB0aGUgc2VuZGVyXG4gKiBAcGFyYW0gcHVibGljS2V5VG9DZXJ0QXJtb3JlZCBncGcgcHVibGljIGtleSBpbiBhcm1vciBmb21yYXQgb2YgdGhlIHJlY2lldmVyXG4gKiBAcGFyYW0gbm90YXRpb25zIGRhdGEgdG8gYmUgcHJvb2ZlZFxuICogQHJldHVybiB7c3RyaW5nfSBrZXlzaGFyZSBwcm9vZlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlU2hhcmVkRGF0YVByb29mKFxuICBwcml2YXRlS2V5QXJtb3JlZDogc3RyaW5nLFxuICBwdWJsaWNLZXlUb0NlcnRBcm1vcmVkOiBzdHJpbmcsXG4gIG5vdGF0aW9uczogeyBuYW1lOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdXG4pOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBjZXJ0aWZ5aW5nS2V5ID0gYXdhaXQgcGdwLnJlYWRLZXkoeyBhcm1vcmVkS2V5OiBwcml2YXRlS2V5QXJtb3JlZCB9KTtcbiAgY29uc3QgcHVibGljS2V5VG9DZXJ0ID0gYXdhaXQgcGdwLnJlYWRLZXkoeyBhcm1vcmVkS2V5OiBwdWJsaWNLZXlUb0NlcnRBcm1vcmVkIH0pO1xuICBjb25zdCBkYXRlVGltZSA9IG5ldyBEYXRlKCk7XG4gIC8vIFVzZXJJZCBQYWNrZXQuXG4gIGNvbnN0IHVzZXJJZFBrdCA9IG5ldyBwZ3AuVXNlcklEUGFja2V0KCk7XG4gIGNvbnN0IHByaW1hcnlVc2VyID0gYXdhaXQgcHVibGljS2V5VG9DZXJ0LmdldFByaW1hcnlVc2VyKCk7XG4gIC8vIEB0cy1pZ25vcmVcbiAgdXNlcklkUGt0LnVzZXJJRCA9IHByaW1hcnlVc2VyLnVzZXIudXNlcklELnVzZXJJRDtcbiAgLy8gU2lnbmF0dXJlIHBhY2tldC5cbiAgY29uc3Qgc2lnbmF0dXJlUGFja2V0ID0gbmV3IHBncC5TaWduYXR1cmVQYWNrZXQoKTtcbiAgc2lnbmF0dXJlUGFja2V0LnNpZ25hdHVyZVR5cGUgPSBwZ3AuZW51bXMuc2lnbmF0dXJlLmNlcnRQb3NpdGl2ZTtcbiAgc2lnbmF0dXJlUGFja2V0LnB1YmxpY0tleUFsZ29yaXRobSA9IHBncC5lbnVtcy5wdWJsaWNLZXkuZWNkc2E7XG4gIHNpZ25hdHVyZVBhY2tldC5oYXNoQWxnb3JpdGhtID0gcGdwLmVudW1zLmhhc2guc2hhMjU2O1xuICAvLyBAdHMtaWdub3JlXG4gIHNpZ25hdHVyZVBhY2tldC5pc3N1ZXJGaW5nZXJwcmludCA9IGF3YWl0IHByaW1hcnlVc2VyLnVzZXIubWFpbktleS5rZXlQYWNrZXQuZ2V0RmluZ2VycHJpbnRCeXRlcygpO1xuICAvLyBAdHMtaWdub3JlXG4gIHNpZ25hdHVyZVBhY2tldC5pc3N1ZXJLZXlJRCA9IHByaW1hcnlVc2VyLnVzZXIubWFpbktleS5rZXlQYWNrZXQua2V5SUQ7XG4gIC8vIEB0cy1pZ25vcmVcbiAgc2lnbmF0dXJlUGFja2V0LnNpZ25pbmdLZXlJRCA9IHByaW1hcnlVc2VyLnVzZXIubWFpbktleS5rZXlQYWNrZXQua2V5SUQ7XG4gIC8vIEB0cy1pZ25vcmVcbiAgc2lnbmF0dXJlUGFja2V0LnNpZ25lcnNVc2VySUQgPSBwcmltYXJ5VXNlci51c2VyLnVzZXJJRC51c2VySUQ7XG4gIC8vIEB0cy1pZ25vcmVcbiAgc2lnbmF0dXJlUGFja2V0LmZlYXR1cmVzID0gWzFdO1xuICBub3RhdGlvbnMuZm9yRWFjaCgoeyBuYW1lLCB2YWx1ZSB9KSA9PiB7XG4gICAgc2lnbmF0dXJlUGFja2V0LnJhd05vdGF0aW9ucy5wdXNoKHtcbiAgICAgIG5hbWU6IG5hbWUsXG4gICAgICB2YWx1ZTogbmV3IFVpbnQ4QXJyYXkoQnVmZmVyLmZyb20odmFsdWUpKSxcbiAgICAgIGh1bWFuUmVhZGFibGU6IHRydWUsXG4gICAgICBjcml0aWNhbDogZmFsc2UsXG4gICAgfSk7XG4gIH0pO1xuXG4gIC8vIFByZXBhcmUgc2lnbmluZyBkYXRhLlxuICBjb25zdCBrZXlkYXRhVG9TaWduID0ge307XG4gIC8vIEB0cy1pZ25vcmVcbiAga2V5ZGF0YVRvU2lnbi5rZXkgPSBwdWJsaWNLZXlUb0NlcnQua2V5UGFja2V0O1xuICAvLyBAdHMtaWdub3JlXG4gIGtleWRhdGFUb1NpZ24udXNlcklEID0gdXNlcklkUGt0O1xuXG4gIC8vIFNpZ24gdGhlIGRhdGEgKGNyZWF0ZSBjZXJ0aWZpY2F0aW9uKS5cbiAgLy8gQHRzLWlnbm9yZVxuICBhd2FpdCBzaWduYXR1cmVQYWNrZXQuc2lnbihjZXJ0aWZ5aW5nS2V5LmtleVBhY2tldCwga2V5ZGF0YVRvU2lnbiwgZGF0ZVRpbWUpO1xuXG4gIC8vIEFzc2VtYmxlIHBhY2tldHMgdG9nZXRoZXIuXG4gIGNvbnN0IHB1YmxpY0tleVRvQ2VydFBrdHMgPSBwdWJsaWNLZXlUb0NlcnQudG9QYWNrZXRMaXN0KCk7XG4gIGNvbnN0IG5ld0tleVBrdExpc3QgPSBuZXcgcGdwLlBhY2tldExpc3QoKTtcbiAgbmV3S2V5UGt0TGlzdC5wdXNoKC4uLnB1YmxpY0tleVRvQ2VydFBrdHMuc2xpY2UoMCwgMyksIHNpZ25hdHVyZVBhY2tldCwgLi4ucHVibGljS2V5VG9DZXJ0UGt0cy5zbGljZSgzKSk7XG4gIC8vIEB0cy1pZ25vcmVcbiAgY29uc3QgbmV3UHViS2V5ID0gbmV3IHBncC5QdWJsaWNLZXkobmV3S2V5UGt0TGlzdCk7XG4gIHJldHVybiBuZXdQdWJLZXkuYXJtb3IoKS5yZXBsYWNlKC9cXHJcXG4vZywgJ1xcbicpO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBLZXlTaGFyZSBQcm9vZiBiYXNlZCBvbiBnaXZlbiBhbGdvLlxuICpcbiAqIENyZWF0ZXMgYW4gRWREU0EgS2V5U2hhcmUgUHJvb2YgYnkgYXBwZW5kaW5nIGFuIGVkMjU1MTkgc3Via2V5IChhdXRoKSB0byBhbiBhcm1vcmVkIGdwZyBwcml2YXRlIGtleS5cbiAqIENyZWF0ZXMgYW4gRUNEU0EgS2V5U2hhcmUgUHJvb2YgYnkgQXBwZW5kIGEgc2VjcDI1NmsxIHN1YmtleSAoYXV0aCkgdG8gYSBQR1Aga2V5Y2hhaW4uXG4gKlxuICogQHBhcmFtIHByaXZhdGVBcm1vciBncGcgcHJpdmF0ZSBrZXkgaW4gYXJtb3IgZm9ybWF0XG4gKiBAcGFyYW0gdVZhbHVlIHUgdmFsdWUgZnJvbSBhbiBFZGRzYSBrZXlzaGFyZVxuICogQHBhcmFtIGFsZ28gYWxnbyB0byB1c2UsIGVkZHNhIG9yIGVjZHNhXG4gKiBAcmV0dXJuIHtzdHJpbmd9IGtleXNoYXJlIHByb29mXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVTaGFyZVByb29mKHByaXZhdGVBcm1vcjogc3RyaW5nLCB1VmFsdWU6IHN0cmluZywgYWxnbzogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgcHJpdmF0ZUtleSA9IGF3YWl0IHJlYWRLZXkoeyBhcm1vcmVkS2V5OiBwcml2YXRlQXJtb3IgfSk7XG4gIGNvbnN0IGRhdGVUaW1lID0gbmV3IERhdGUoKTtcbiAgLy8gQHRzLWlnbm9yZSAtIHR5cGUgaW5jb25zaXN0ZW5jeSwgdGhpcyBjdG9yIHN1cHBvcnRzIGEgZGF0ZSBwYXJhbTogaHR0cHM6Ly9kb2NzLm9wZW5wZ3Bqcy5vcmcvU2VjcmV0U3Via2V5UGFja2V0Lmh0bWxcbiAgY29uc3Qgc2VjcmV0U3Via2V5UGFja2V0ID0gbmV3IHBncC5TZWNyZXRTdWJrZXlQYWNrZXQoZGF0ZVRpbWUpO1xuICBzZWNyZXRTdWJrZXlQYWNrZXQuYWxnb3JpdGhtID0gcGdwLmVudW1zLnB1YmxpY0tleVthbGdvXTtcbiAgLy8gQHRzLWlnbm9yZSAtIHNhbWUgYXMgYWJvdmVcbiAgc2VjcmV0U3Via2V5UGFja2V0LmlzRW5jcnlwdGVkID0gZmFsc2U7XG4gIGxldCBvaWQ7XG4gIGxldCBRO1xuICBpZiAoYWxnbyA9PT0gJ2VkZHNhJykge1xuICAgIGF3YWl0IHNvZGl1bS5yZWFkeTtcbiAgICBjb25zdCBzdWJLZXlWYWwgPSBCdWZmZXIuZnJvbShcbiAgICAgIHNvZGl1bS5jcnlwdG9fc2NhbGFybXVsdF9lZDI1NTE5X2Jhc2Vfbm9jbGFtcChCdWZmZXIuZnJvbSh1VmFsdWUsICdoZXgnKSwgJ3VpbnQ4YXJyYXknKVxuICAgICk7XG4gICAgLy8gU3ViLWtleSAoZW5jcnlwdGlvbiBrZXkpIHBhY2tldC5cbiAgICBvaWQgPSBbMHgyYiwgMHgwNiwgMHgwMSwgMHgwNCwgMHgwMSwgMHhkYSwgMHg0NywgMHgwZiwgMHgwMV07XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIG9pZC53cml0ZSA9ICgpID0+IG5ldyBVaW50OEFycmF5KEJ1ZmZlci5mcm9tKCcwOTJiMDYwMTA0MDFkYTQ3MGYwMScsICdoZXgnKSk7XG4gICAgUSA9IG5ldyBVaW50OEFycmF5KFsweDQwLCAuLi5zdWJLZXlWYWxdKTtcbiAgfSBlbHNlIGlmIChhbGdvID09PSAnZWNkc2EnKSB7XG4gICAgb2lkID0gWzB4MmIsIDB4ODEsIDB4MDQsIDB4MDAsIDB4MGFdO1xuICAgIC8vIEB0cy1pZ25vcmUgLSBzYW1lIGFzIGFib3ZlXG4gICAgb2lkLndyaXRlID0gKCkgPT4gbmV3IFVpbnQ4QXJyYXkoQnVmZmVyLmZyb20oJzA1MmI4MTA0MDAwYScsICdoZXgnKSk7XG4gICAgUSA9IHNlY3AyNTZrMS5wb2ludEZyb21TY2FsYXIobmV3IFVpbnQ4QXJyYXkoQnVmZmVyLmZyb20odVZhbHVlLCAnaGV4JykpLCBmYWxzZSk7XG4gIH1cbiAgc2VjcmV0U3Via2V5UGFja2V0LnB1YmxpY1BhcmFtcyA9IHtcbiAgICBvaWQsXG4gICAgUSxcbiAgfTtcbiAgLy8gQHRzLWlnbm9yZSAtIHNhbWUgYXMgYWJvdmVcbiAgYXdhaXQgc2VjcmV0U3Via2V5UGFja2V0LmNvbXB1dGVGaW5nZXJwcmludEFuZEtleUlEKCk7XG5cbiAgLy8gU3ViLWtleSBzaWduYXR1cmUgcGFja2V0LlxuICBjb25zdCBzdWJLZXlkYXRhVG9TaWduID0ge1xuICAgIGtleTogcHJpdmF0ZUtleS5rZXlQYWNrZXQsXG4gICAgYmluZDogc2VjcmV0U3Via2V5UGFja2V0LFxuICB9O1xuICBjb25zdCBzdWJrZXlTaWduYXR1cmVQYWNrZXQgPSBuZXcgcGdwLlNpZ25hdHVyZVBhY2tldCgpO1xuICBzdWJrZXlTaWduYXR1cmVQYWNrZXQuc2lnbmF0dXJlVHlwZSA9IHBncC5lbnVtcy5zaWduYXR1cmUuc3Via2V5QmluZGluZztcbiAgc3Via2V5U2lnbmF0dXJlUGFja2V0LnB1YmxpY0tleUFsZ29yaXRobSA9IHBncC5lbnVtcy5wdWJsaWNLZXkuZWNkc2E7XG4gIHN1YmtleVNpZ25hdHVyZVBhY2tldC5oYXNoQWxnb3JpdGhtID0gcGdwLmVudW1zLmhhc2guc2hhMjU2O1xuICBzdWJrZXlTaWduYXR1cmVQYWNrZXQua2V5RmxhZ3MgPSBuZXcgVWludDhBcnJheShbcGdwLmVudW1zLmtleUZsYWdzLmF1dGhlbnRpY2F0aW9uXSk7XG5cbiAgLy8gU2lnbiB0aGUgc3Via2V5XG4gIC8vIEB0cy1pZ25vcmUgLSBzaWduIHN1cHBvcnRzIGFyYml0cmFyeSBkYXRhIGZvciAybmQgcGFyYW06IGh0dHBzOi8vZG9jcy5vcGVucGdwanMub3JnL1NpZ25hdHVyZVBhY2tldC5odG1sXG4gIGF3YWl0IHN1YmtleVNpZ25hdHVyZVBhY2tldC5zaWduKHByaXZhdGVLZXkua2V5UGFja2V0LCBzdWJLZXlkYXRhVG9TaWduLCBkYXRlVGltZSk7XG5cbiAgLy8gQXNzZW1ibGUgcGFja2V0cyB0b2dldGhlci5cbiAgY29uc3QgbmV3S2V5UGt0TGlzdCA9IG5ldyBwZ3AuUGFja2V0TGlzdCgpO1xuICBjb25zdCBwcml2YXRlS2V5UGt0cyA9IHByaXZhdGVLZXkudG9QYWNrZXRMaXN0KCk7XG4gIHByaXZhdGVLZXlQa3RzLmZvckVhY2goKHBhY2tldCkgPT4gbmV3S2V5UGt0TGlzdC5wdXNoKHBhY2tldCkpO1xuICBuZXdLZXlQa3RMaXN0LnB1c2goc2VjcmV0U3Via2V5UGFja2V0LCBzdWJrZXlTaWduYXR1cmVQYWNrZXQpO1xuICAvLyBAdHMtaWdub3JlIC0gc3VwcG9ydHMgcGFja2V0IGxpc3QgYXMgY3RvciBwYXJhbTogaHR0cHM6Ly9kb2NzLm9wZW5wZ3Bqcy5vcmcvUHJpdmF0ZUtleS5odG1sXG4gIGNvbnN0IG5ld1B1YktleSA9IG5ldyBwZ3AuUHJpdmF0ZUtleShuZXdLZXlQa3RMaXN0KS50b1B1YmxpYygpO1xuXG4gIGlmICghKGF3YWl0IHZlcmlmeVByaW1hcnlVc2VyV3JhcHBlcihuZXdQdWJLZXksIHByaXZhdGVLZXksIHRydWUpKVswXS52YWxpZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW5jb3JyZWN0IHNpZ25hdHVyZScpO1xuICB9XG5cbiAgcmV0dXJuIG5ld1B1YktleS5hcm1vcigpLnJlcGxhY2UoL1xcclxcbi9nLCAnXFxuJyk7XG59XG5cbi8qKlxuICogRW5jcnlwdHMgc3RyaW5nIHVzaW5nIGdwZyBrZXlcbiAqIEBERVBSRUNBVEVEIC0gc2hvdWxkIHVzZSBlbmNyeXB0QW5kU2lnblRleHQgaW5zdGVhZCBmb3IgYWRkZWQgc2VjdXJpdHlcbiAqXG4gKiBAcGFyYW0gdGV4dCBzdHJpbmcgdG8gZW5jcnlwdFxuICogQHBhcmFtIGtleSBlbmNyeXB0aW9uIGtleVxuICogQHJldHVybiB7c3RyaW5nfSBlbmNyeXB0ZWQgc3RyaW5nXG4gKlxuICogVE9ETyhCRy00NzE3MCk6IERlbGV0ZSBvbmNlIGdwZyBzaWduYXR1cmVzIGFyZSBmdWxseSBzdXBwb3J0ZWRcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVuY3J5cHRUZXh0KHRleHQ6IHN0cmluZywga2V5OiBLZXkpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBtZXNzYWdlVG9FbmNyeXB0ID0gYXdhaXQgY3JlYXRlTWVzc2FnZSh7XG4gICAgdGV4dCxcbiAgfSk7XG4gIHJldHVybiBhd2FpdCBlbmNyeXB0KHtcbiAgICBtZXNzYWdlOiBtZXNzYWdlVG9FbmNyeXB0LFxuICAgIGVuY3J5cHRpb25LZXlzOiBba2V5XSxcbiAgICBmb3JtYXQ6ICdhcm1vcmVkJyxcbiAgICBjb25maWc6IHtcbiAgICAgIHJlamVjdEN1cnZlczogbmV3IFNldCgpLFxuICAgICAgc2hvd1ZlcnNpb246IGZhbHNlLFxuICAgICAgc2hvd0NvbW1lbnQ6IGZhbHNlLFxuICAgIH0sXG4gIH0pO1xufVxuXG4vKipcbiAqIEVuY3J5cHRzIGFuZCBzaWducyBhIHN0cmluZ1xuICogQHBhcmFtIHRleHQgc3RyaW5nIHRvIGVuY3J5cHQgYW5kIHNpZ25cbiAqIEBwYXJhbSBwdWJsaWNBcm1vciBwdWJsaWMga2V5IHRvIGVuY3J5cHQgd2l0aFxuICogQHBhcmFtIHByaXZhdGVBcm1vciBwcml2YXRlIGtleSB0byBzaWduIHdpdGhcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVuY3J5cHRBbmRTaWduVGV4dCh0ZXh0OiBzdHJpbmcsIHB1YmxpY0FybW9yOiBzdHJpbmcsIHByaXZhdGVBcm1vcjogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgcHVibGljS2V5ID0gYXdhaXQgcmVhZEtleSh7IGFybW9yZWRLZXk6IHB1YmxpY0FybW9yIH0pO1xuICBjb25zdCBwcml2YXRlS2V5ID0gYXdhaXQgcmVhZFByaXZhdGVLZXkoeyBhcm1vcmVkS2V5OiBwcml2YXRlQXJtb3IgfSk7XG5cbiAgY29uc3QgbWVzc2FnZSA9IGF3YWl0IGNyZWF0ZU1lc3NhZ2UoeyB0ZXh0IH0pO1xuXG4gIGNvbnN0IHNpZ25lZE1lc3NhZ2UgPSBhd2FpdCBlbmNyeXB0KHtcbiAgICBtZXNzYWdlLFxuICAgIGVuY3J5cHRpb25LZXlzOiBwdWJsaWNLZXksXG4gICAgc2lnbmluZ0tleXM6IHByaXZhdGVLZXksXG4gICAgZm9ybWF0OiAnYXJtb3JlZCcsXG4gICAgY29uZmlnOiB7XG4gICAgICByZWplY3RDdXJ2ZXM6IG5ldyBTZXQoKSxcbiAgICAgIHNob3dWZXJzaW9uOiBmYWxzZSxcbiAgICAgIHNob3dDb21tZW50OiBmYWxzZSxcbiAgICB9LFxuICB9KTtcblxuICByZXR1cm4gc2lnbmVkTWVzc2FnZTtcbn1cblxuLyoqXG4gKiBSZWFkcyBhIHNpZ25lZCBhbmQgZW5jcnlwdGVkIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0gc2lnbmVkIHNpZ25lZCBhbmQgZW5jcnlwdGVkIG1lc3NhZ2VcbiAqIEBwYXJhbSBwdWJsaWNBcm1vciBwdWJsaWMga2V5IHRvIHZlcmlmeSBzaWduYXR1cmVcbiAqIEBwYXJhbSBwcml2YXRlQXJtb3IgcHJpdmF0ZSBrZXkgdG8gZGVjcnlwdCBtZXNzYWdlXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWFkU2lnbmVkTWVzc2FnZShzaWduZWQ6IHN0cmluZywgcHVibGljQXJtb3I6IHN0cmluZywgcHJpdmF0ZUFybW9yOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBwdWJsaWNLZXkgPSBhd2FpdCByZWFkS2V5KHsgYXJtb3JlZEtleTogcHVibGljQXJtb3IgfSk7XG4gIGNvbnN0IHByaXZhdGVLZXkgPSBhd2FpdCByZWFkUHJpdmF0ZUtleSh7IGFybW9yZWRLZXk6IHByaXZhdGVBcm1vciB9KTtcblxuICBjb25zdCBtZXNzYWdlID0gYXdhaXQgcmVhZE1lc3NhZ2UoeyBhcm1vcmVkTWVzc2FnZTogc2lnbmVkIH0pO1xuICBjb25zdCBkZWNyeXB0ZWQgPSBhd2FpdCBkZWNyeXB0KHtcbiAgICBtZXNzYWdlLFxuICAgIHZlcmlmaWNhdGlvbktleXM6IHB1YmxpY0tleSxcbiAgICBkZWNyeXB0aW9uS2V5czogcHJpdmF0ZUtleSxcbiAgICBleHBlY3RTaWduZWQ6IHRydWUsXG4gICAgY29uZmlnOiB7IHJlamVjdEN1cnZlczogbmV3IFNldCgpIH0sXG4gIH0pO1xuXG4gIHJldHVybiBkZWNyeXB0ZWQuZGF0YTtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSBzaWduYXR1cmVcbiAqXG4gKiBAcGFyYW0gdGV4dCBzdHJpbmcgdG8gZ2VuZXJhdGUgYSBzaWduYXR1cmUgZm9yXG4gKiBAcGFyYW0gcHJpdmF0ZUFybW9yIHByaXZhdGUga2V5IGFzIGFybW9yZWQgc3RyaW5nXG4gKiBAcmV0dXJuIHtzdHJpbmd9IGFybW9yZWQgc2lnbmF0dXJlIHN0cmluZ1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2lnblRleHQodGV4dDogc3RyaW5nLCBwcml2YXRlQXJtb3I6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHByaXZhdGVLZXkgPSBhd2FpdCByZWFkUHJpdmF0ZUtleSh7IGFybW9yZWRLZXk6IHByaXZhdGVBcm1vciB9KTtcbiAgY29uc3QgbWVzc2FnZSA9IGF3YWl0IGNyZWF0ZU1lc3NhZ2UoeyB0ZXh0IH0pO1xuICBjb25zdCBzaWduYXR1cmUgPSBhd2FpdCBzaWduKHtcbiAgICBtZXNzYWdlLFxuICAgIHNpZ25pbmdLZXlzOiBwcml2YXRlS2V5LFxuICAgIGZvcm1hdDogJ2FybW9yZWQnLFxuICAgIGRldGFjaGVkOiB0cnVlLFxuICB9KTtcblxuICByZXR1cm4gc2lnbmF0dXJlO1xufVxuXG4vKipcbiAqIFZlcmlmaWVzIHNpZ25hdHVyZSB3YXMgZ2VuZXJhdGVkIGJ5IHRoZSBwdWJsaWMga2V5IGFuZCBtYXRjaGVzIHRoZSBleHBlY3RlZCB0ZXh0XG4gKlxuICogQHBhcmFtIHRleHQgdGV4dCB0aGF0IHRoZSBzaWduYXR1cmUgd2FzIGZvclxuICogQHBhcmFtIGFybW9yZWRTaWduYXR1cmUgc2lnbmVkIG1lc3NhZ2UgYXMgYW4gYXJtb3JlZCBzdHJpbmdcbiAqIEBwYXJhbSBwdWJsaWNBcm1vciBwdWJsaWMga2V5IHRoYXQgZ2VuZXJhdGVkIHRoZSBzaWduYXR1cmVcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHZlcmlmeVNpZ25hdHVyZSh0ZXh0OiBzdHJpbmcsIGFybW9yZWRTaWduYXR1cmU6IHN0cmluZywgcHVibGljQXJtb3I6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBjb25zdCBwdWJsaWNLZXkgPSBhd2FpdCByZWFkS2V5KHsgYXJtb3JlZEtleTogcHVibGljQXJtb3IgfSk7XG4gIGNvbnN0IHNpZ25hdHVyZSA9IGF3YWl0IHJlYWRTaWduYXR1cmUoeyBhcm1vcmVkU2lnbmF0dXJlIH0pO1xuICBjb25zdCBtZXNzYWdlID0gYXdhaXQgY3JlYXRlTWVzc2FnZSh7IHRleHQgfSk7XG4gIGNvbnN0IHZlcmlmaWNhdGlvblJlc3VsdCA9IGF3YWl0IHZlcmlmeSh7XG4gICAgbWVzc2FnZSxcbiAgICBzaWduYXR1cmUsXG4gICAgdmVyaWZpY2F0aW9uS2V5czogcHVibGljS2V5LFxuICB9KTtcblxuICBpZiAodmVyaWZpY2F0aW9uUmVzdWx0LnNpZ25hdHVyZXMubGVuZ3RoICE9PSAxKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIG51bWJlciBvZiBzaWduYXR1cmVzJyk7XG4gIH1cblxuICB0cnkge1xuICAgIGF3YWl0IHZlcmlmaWNhdGlvblJlc3VsdC5zaWduYXR1cmVzWzBdLnZlcmlmaWVkO1xuICAgIHJldHVybiB0ZXh0ID09PSB2ZXJpZmljYXRpb25SZXN1bHQuZGF0YTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKlxuICogR2VuZXJhdGUgYSBHUEcga2V5IHBhaXJcbiAqXG4gKiBAcGFyYW06IGtleUN1cnZlIHRoZSBjdXJ2ZSB0byBjcmVhdGUgYSBrZXkgd2l0aFxuICogQHBhcmFtOiB1c2VybmFtZSBuYW1lIG9mIHRoZSB1c2VyIChvcHRpb25hbClcbiAqIEBwYXJhbTogZW1haWwgZW1haWwgb2YgdGhlIHVzZXIgKG9wdGlvbmFsKVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2VuZXJhdGVHUEdLZXlQYWlyKFxuICBrZXlDdXJ2ZTogcGdwLkVsbGlwdGljQ3VydmVOYW1lLFxuICB1c2VybmFtZT86IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgZW1haWw/OiBzdHJpbmcgfCB1bmRlZmluZWRcbik6IFByb21pc2U8cGdwLlNlcmlhbGl6ZWRLZXlQYWlyPHN0cmluZz4+IHtcbiAgY29uc3QgcmFuZG9tSGV4U3RyaW5nID0gY3J5cHRvLnJhbmRvbUJ5dGVzKDEyKS50b1N0cmluZygnaGV4Jyk7XG4gIHVzZXJuYW1lID0gdXNlcm5hbWUgPz8gcmFuZG9tSGV4U3RyaW5nO1xuICBlbWFpbCA9IGVtYWlsID8/IGB1c2VyLSR7cmFuZG9tSGV4U3RyaW5nfUAke3JhbmRvbUhleFN0cmluZ30uY29tYDtcblxuICAvLyBBbGxvdyBnZW5lcmF0aW5nIHNlY3AyNTZrMSBrZXkgcGFpcnNcbiAgcGdwLmNvbmZpZy5yZWplY3RDdXJ2ZXMgPSBuZXcgU2V0KCk7XG4gIGNvbnN0IGdwZ0tleSA9IGF3YWl0IHBncC5nZW5lcmF0ZUtleSh7XG4gICAgdXNlcklEczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiB1c2VybmFtZSxcbiAgICAgICAgZW1haWwsXG4gICAgICB9LFxuICAgIF0sXG4gICAgY3VydmU6IGtleUN1cnZlLFxuICB9KTtcblxuICByZXR1cm4gZ3BnS2V5O1xufVxuIl19
|
|
413
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlbmdwZ1V0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3V0aWxzL29wZW5ncGdVdGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsc0RBQXNEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXFDdEQsOENBV0M7QUFVRCw0REFVQztBQU1ELDhDQU1DO0FBV0QsNENBeUJDO0FBVUQsc0RBcUJDO0FBVUQsc0RBdURDO0FBYUQsNENBNkRDO0FBWUQsa0NBY0M7QUFRRCxnREFtQkM7QUFTRCw4Q0FjQztBQVNELDRCQVdDO0FBU0QsMENBb0JDO0FBU0QsZ0RBc0JDO0FBeGJELDZDQUErQjtBQUMvQixxQ0FXaUI7QUFDakIsMENBQTRCO0FBQzVCLDhDQUFtRDtBQUVuRCxvREFBNEI7QUFFNUIsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFZbEQ7Ozs7R0FJRztBQUNJLEtBQUssVUFBVSxpQkFBaUIsQ0FBQyxLQUFnQjtJQUN0RCxNQUFNLFNBQVMsR0FBRyxNQUFNLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMvQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDcEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxzRUFBc0UsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFRCxNQUFNLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsY0FBd0IsQ0FBQztJQUNqRSxNQUFNLHNCQUFzQixHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsbUJBQW1CO1FBQzlELENBQUMsQ0FBQyxNQUFNLElBQUEsaUJBQU8sRUFBQyxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLG1CQUE2QixFQUFFLENBQUM7UUFDNUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNk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TUc7QUFDSSxLQUFLLFVBQVUsa0JBQWtCLENBQ3RDLFFBQStCLEVBQy9CLFFBQTZCLEVBQzdCLEtBQTBCO0lBRTFCLE1BQU0sZUFBZSxHQUFHLGdCQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvRCxRQUFRLEdBQUcsUUFBUSxJQUFJLGVBQWUsQ0FBQztJQUN2QyxLQUFLLEdBQUcsS0FBSyxJQUFJLFFBQVEsZUFBZSxJQUFJLGVBQWUsTUFBTSxDQUFDO0lBRWxFLHVDQUF1QztJQUN2QyxHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ3BDLE1BQU0sTUFBTSxHQUFHLE1BQU0sR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUNuQyxPQUFPLEVBQUU7WUFDUDtnQkFDRSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxLQUFLO2FBQ047U0FDRjtRQUNELEtBQUssRUFBRSxRQUFRO0tBQ2hCLENBQUMsQ0FBQztJQUVILE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnQgKi9cblxuaW1wb3J0ICogYXMgcGdwIGZyb20gJ29wZW5wZ3AnO1xuaW1wb3J0IHtcbiAgY3JlYXRlTWVzc2FnZSxcbiAgZGVjcnlwdCxcbiAgZW5jcnlwdCxcbiAgS2V5LFxuICByZWFkS2V5LFxuICByZWFkTWVzc2FnZSxcbiAgcmVhZFByaXZhdGVLZXksXG4gIHJlYWRTaWduYXR1cmUsXG4gIHNpZ24sXG4gIHZlcmlmeSxcbn0gZnJvbSAnb3BlbnBncCc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBlY2MgYXMgc2VjcDI1NmsxIH0gZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJy4uL2JpdGdvQmFzZSc7XG5pbXBvcnQgY3J5cHRvIGZyb20gJ2NyeXB0byc7XG5cbmNvbnN0IHNvZGl1bSA9IHJlcXVpcmUoJ2xpYnNvZGl1bS13cmFwcGVycy1zdW1vJyk7XG5cbmV4cG9ydCB0eXBlIEtleVZhbGlkaXR5RGljdCA9IHtcbiAga2V5SUQ6IHBncC5LZXlJRDtcbiAgdmFsaWQ6IGJvb2xlYW4gfCBudWxsO1xufVtdO1xuXG5leHBvcnQgdHlwZSBBdXRoRW5jTWVzc2FnZSA9IHtcbiAgZW5jcnlwdGVkTWVzc2FnZTogc3RyaW5nO1xuICBzaWduYXR1cmU6IHN0cmluZztcbn07XG5cbi8qKlxuICogRmV0Y2hlcyBCaXRHbydzIHB1YmxpYyBncGcga2V5IHVzZWQgaW4gTVBDIGZsb3dzXG4gKiBAcGFyYW0ge0JpdEdvQmFzZX0gYml0Z28gQml0R28gb2JqZWN0XG4gKiBAcmV0dXJuIHtLZXl9IHB1YmxpYyBncGcga2V5XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRCaXRnb0dwZ1B1YktleShiaXRnbzogQml0R29CYXNlKTogUHJvbWlzZTx7IG1wY1YxOiBLZXk7IG1wY1YyOiBLZXkgfCB1bmRlZmluZWQgfT4ge1xuICBjb25zdCBjb25zdGFudHMgPSBhd2FpdCBiaXRnby5mZXRjaENvbnN0YW50cygpO1xuICBpZiAoIWNvbnN0YW50cy5tcGMgfHwgIWNvbnN0YW50cy5tcGMuYml0Z29QdWJsaWNLZXkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYWJsZSB0byBjcmVhdGUgTVBDIGtleXMgLSBiaXRnb1B1YmxpY0tleSBpcyBtaXNzaW5nIGZyb20gY29uc3RhbnRzJyk7XG4gIH1cblxuICBjb25zdCBiaXRnb1B1YmxpY0tleVN0ciA9IGNvbnN0YW50cy5tcGMuYml0Z29QdWJsaWNLZXkgYXMgc3RyaW5nO1xuICBjb25zdCBiaXRnb01QQ3YyUHVibGljS2V5U3RyID0gY29uc3RhbnRzLm1wYy5iaXRnb01QQ3YyUHVibGljS2V5XG4gICAgPyBhd2FpdCByZWFkS2V5KHsgYXJtb3JlZEtleTogY29uc3RhbnRzLm1wYy5iaXRnb01QQ3YyUHVibGljS2V5IGFzIHN0cmluZyB9KVxuICAgIDogdW5kZWZpbmVkO1xuICByZXR1cm4geyBtcGNWMTogYXdhaXQgcmVhZEtleSh7IGFybW9yZWRLZXk6IGJpdGdvUHVibGljS2V5U3RyIH0pLCBtcGNWMjogYml0Z29NUEN2MlB1YmxpY0tleVN0ciB9O1xufVxuXG4vKipcbiAqIFZlcmlmaWVzIHRoZSBwcmltYXJ5IHVzZXIgb24gYSBHUEcga2V5IHVzaW5nIGEgcmVmZXJlbmNlIGtleSByZXByZXNlbnRpbmcgdGhlIHVzZXIgdG8gYmUgY2hlY2tlZC5cbiAqIEFsbG93cyBhIHZlcmlmaWNhdGlvbiB3aXRob3V0IGEgZGF0ZSBjaGVjayBieSB3cmFwcGluZyB2ZXJpZnlQcmltYXJ5VXNlciBvZiBvcGVucGdwLlxuICogQHBhcmFtIHtLZXl9IHB1YktleSBncGcga2V5IHRvIGNoZWNrIHRoZSBwcmltYXJ5IHVzZXIgb2YuXG4gKiBAcGFyYW0ge0tleX0gcHJpbWFyeVVzZXIgZ3BnIGtleSBvZiB0aGUgdXNlciB0byBjaGVjay5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gY2hlY2tEYXRlcyBJZiBmYWxzZSwgZGlzYWJsZSBkYXRlIGNoZWNrcyBpbiB0aGUgb3BlbnBncCBjYWxsIHRvIGNoZWNrIHRoZSBwcmltYXJ5IHVzZXIuXG4gKiBAcmV0dXJuIHtLZXlWYWxpZGl0eURpY3R9IGxpc3Qgb2YgdXNlcnMgY2hlY2tlZCBhbmQgd2hldGhlciBlYWNoIHBhc3NlZCBhcyBhIHByaW1hcnkgdXNlciBpbiBwdWJLZXkgb3Igbm90LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdmVyaWZ5UHJpbWFyeVVzZXJXcmFwcGVyKFxuICBwdWJLZXk6IEtleSxcbiAgcHJpbWFyeVVzZXI6IEtleSxcbiAgY2hlY2tEYXRlczogYm9vbGVhblxuKTogUHJvbWlzZTxLZXlWYWxpZGl0eURpY3Q+IHtcbiAgaWYgKGNoZWNrRGF0ZXMpIHtcbiAgICByZXR1cm4gYXdhaXQgcHViS2V5LnZlcmlmeVByaW1hcnlVc2VyKFtwcmltYXJ5VXNlcl0pO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBhd2FpdCBwdWJLZXkudmVyaWZ5UHJpbWFyeVVzZXIoW3ByaW1hcnlVc2VyXSwgbnVsbCBhcyB1bmtub3duIGFzIHVuZGVmaW5lZCk7XG4gIH1cbn1cblxuLyoqXG4gKiBGZXRjaGVzIFRydXN0IHB1YiBrZXkgc3RyaW5nXG4gKiBAcGFyYW0gYml0Z29cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFRydXN0R3BnUHViS2V5KGJpdGdvOiBCaXRHb0Jhc2UpOiBQcm9taXNlPEtleT4ge1xuICBjb25zdCBjb25zdGFudHMgPSBhd2FpdCBiaXRnby5mZXRjaENvbnN0YW50cygpO1xuICBpZiAoIWNvbnN0YW50cy50cnVzdFB1YktleSkge1xuICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGdldCB0cnVzdFB1YktleScpO1xuICB9XG4gIHJldHVybiByZWFkS2V5KHsgYXJtb3JlZEtleTogY29uc3RhbnRzLnRydXN0UHViS2V5IH0pO1xufVxuXG4vKipcbiAqIFZlcmlmeSBhbiBFZGRzYSBvciBFY2RzYSBLZXlTaGFyZSBQcm9vZi5cbiAqXG4gKiBAcGFyYW0gc2VuZGVyUHViS2V5IHB1YmxpYyBrZXkgb2YgdGhlIHNlbmRlciBvZiB0aGUgcHJpdmF0ZVNoYXJlUHJvb2ZcbiAqIEBwYXJhbSBwcml2YXRlU2hhcmVQcm9vZiB1IHZhbHVlIHByb29mXG4gKiBAcGFyYW0gdVZhbHVlIHUgdmFsdWUgZnJvbSBhbiBFZGRzYSBrZXlzaGFyZVxuICogQHBhcmFtIGFsZ29cbiAqIEByZXR1cm4ge2Jvb2xlYW59IHdoZXRoZXIgdVZhbHVlIHByb29mIGFjdHVhbGx5IHdhcyBzaWduZWQgYnkgc2VuZGVyIGFzIHBhcnQgb2YgdGhlaXIgc3Via2V5c1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdmVyaWZ5U2hhcmVQcm9vZihcbiAgc2VuZGVyUHViS2V5OiBzdHJpbmcsXG4gIHByaXZhdGVTaGFyZVByb29mOiBzdHJpbmcsXG4gIHVWYWx1ZTogc3RyaW5nLFxuICBhbGdvOiAnZWRkc2EnIHwgJ2VjZHNhJ1xuKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGNvbnN0IGRlY29kZWRQcm9vZiA9IGF3YWl0IHBncC5yZWFkS2V5KHsgYXJtb3JlZEtleTogcHJpdmF0ZVNoYXJlUHJvb2YgfSk7XG4gIGNvbnN0IHNlbmRlckdwZ0tleSA9IGF3YWl0IHBncC5yZWFkS2V5KHsgYXJtb3JlZEtleTogc2VuZGVyUHViS2V5IH0pO1xuICBpZiAoIShhd2FpdCB2ZXJpZnlQcmltYXJ5VXNlcldyYXBwZXIoZGVjb2RlZFByb29mLCBzZW5kZXJHcGdLZXksIHRydWUpKVswXS52YWxpZCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBjb25zdCBwcm9vZlN1YmtleXMgPSBkZWNvZGVkUHJvb2YuZ2V0U3Via2V5cygpWzFdO1xuICBpZiAoYWxnbyA9PT0gJ2VkZHNhJykge1xuICAgIGNvbnN0IGRlY29kZWRVVmFsdWVQcm9vZiA9IEJ1ZmZlci5mcm9tKHByb29mU3Via2V5cy5rZXlQYWNrZXQucHVibGljUGFyYW1zWydRJ10uc2xpY2UoMSkpLnRvU3RyaW5nKCdoZXgnKTtcbiAgICBjb25zdCByYXdVVmFsdWVQcm9vZiA9IEJ1ZmZlci5mcm9tKFxuICAgICAgc29kaXVtLmNyeXB0b19zY2FsYXJtdWx0X2VkMjU1MTlfYmFzZV9ub2NsYW1wKEJ1ZmZlci5mcm9tKHVWYWx1ZSwgJ2hleCcpKVxuICAgICkudG9TdHJpbmcoJ2hleCcpO1xuICAgIHJldHVybiBkZWNvZGVkVVZhbHVlUHJvb2YgPT09IHJhd1VWYWx1ZVByb29mO1xuICB9IGVsc2UgaWYgKGFsZ28gPT09ICdlY2RzYScpIHtcbiAgICBjb25zdCBkZWNvZGVkVVZhbHVlUHJvb2YgPSBCdWZmZXIuZnJvbShwcm9vZlN1YmtleXMua2V5UGFja2V0LnB1YmxpY1BhcmFtc1snUSddKS50b1N0cmluZygnaGV4Jyk7XG4gICAgY29uc3QgcmF3VVZhbHVlUHJvb2YgPSBzZWNwMjU2azEucG9pbnRGcm9tU2NhbGFyKEJ1ZmZlci5mcm9tKHVWYWx1ZSwgJ2hleCcpLCBmYWxzZSk7XG4gICAgcmV0dXJuIHJhd1VWYWx1ZVByb29mICE9PSBudWxsICYmIGRlY29kZWRVVmFsdWVQcm9vZiA9PT0gQnVmZmVyLmZyb20ocmF3VVZhbHVlUHJvb2YpLnRvU3RyaW5nKCdoZXgnKTtcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgYWxnb3JpdGhtIHByb3ZpZGVkJyk7XG4gIH1cbn1cblxuLyoqXG4gKiBWZXJpZnkgYSBzaGFyZWQgZGF0YSBwcm9vZi5cbiAqXG4gKiBAcGFyYW0gc2VuZGVyUHViS2V5QXJtIHB1YmxpYyBrZXkgb2YgdGhlIHNpZ25lciBvZiB0aGUga2V5IHdpdGggcHJvb2YgZGF0YVxuICogQHBhcmFtIGtleVdpdGhOb3RhdGlvbiBzaWduZWQgcmVjaWV2ZXIga2V5IHdpdGggbm90YXRpb24gZGF0YVxuICogQHBhcmFtIGRhdGFUb1ZlcmlmeSBkYXRhIHRvIGJlIGNoZWNrZWQgYWdhaW5zdCBub3RhdGlvbiBkYXRhIGluIHRoZSBzaWduZWQga2V5XG4gKiBAcmV0dXJuIHtib29sZWFufSB3aGV0aGVyIHByb29mIGlzIHZhbGlkXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2ZXJpZnlTaGFyZWREYXRhUHJvb2YoXG4gIHNlbmRlclB1YktleUFybTogc3RyaW5nLFxuICBrZXlXaXRoTm90YXRpb246IHN0cmluZyxcbiAgZGF0YVRvVmVyaWZ5OiB7IG5hbWU6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9W11cbik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBjb25zdCBzZW5kZXJQdWJLZXkgPSBhd2FpdCBwZ3AucmVhZEtleSh7IGFybW9yZWRLZXk6IHNlbmRlclB1YktleUFybSB9KTtcbiAgY29uc3Qgc2lnbmVkS2V5ID0gYXdhaXQgcGdwLnJlYWRLZXkoeyBhcm1vcmVkS2V5OiBrZXlXaXRoTm90YXRpb24gfSk7XG4gIGlmIChcbiAgICAhKGF3YWl0IHZlcmlmeVByaW1hcnlVc2VyV3JhcHBlcihzaWduZWRLZXksIHNlbmRlclB1YktleSwgZmFsc2UpLnRoZW4oKHZhbHVlcykgPT5cbiAgICAgIF8uc29tZSh2YWx1ZXMsICh2YWx1ZSkgPT4gdmFsdWUudmFsaWQpXG4gICAgKSlcbiAgKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IHByaW1hcnlVc2VyID0gYXdhaXQgc2lnbmVkS2V5LmdldFByaW1hcnlVc2VyKG51bGwgYXMgdW5rbm93biBhcyB1bmRlZmluZWQpO1xuICBjb25zdCBhbnlJbnZhbGlkUHJvb2YgPSBfLnNvbWUoXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHByaW1hcnlVc2VyLnVzZXIub3RoZXJDZXJ0aWZpY2F0aW9uc1swXS5yYXdOb3RhdGlvbnMsXG4gICAgKG5vdGF0aW9uKSA9PiBkYXRhVG9WZXJpZnkuZmluZCgoaSkgPT4gaS5uYW1lID09PSBub3RhdGlvbi5uYW1lKT8udmFsdWUgIT09IEJ1ZmZlci5mcm9tKG5vdGF0aW9uLnZhbHVlKS50b1N0cmluZygpXG4gICk7XG4gIHJldHVybiAhYW55SW52YWxpZFByb29mO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBwcm9vZiB0aHJvdWdoIGFkZGluZyBub3RhdGlvbiBkYXRhIHRvIGEgR1BHIGNlcml0aWZ5aW5nIHNpZ25hdHVyZS5cbiAqXG4gKiBAcGFyYW0gcHJpdmF0ZUtleUFybW9yZWQgZ3BnIHByaXZhdGUga2V5IGluIGFybW9yIGZvcm1hdCBvZiB0aGUgc2VuZGVyXG4gKiBAcGFyYW0gcHVibGljS2V5VG9DZXJ0QXJtb3JlZCBncGcgcHVibGljIGtleSBpbiBhcm1vciBmb21yYXQgb2YgdGhlIHJlY2lldmVyXG4gKiBAcGFyYW0gbm90YXRpb25zIGRhdGEgdG8gYmUgcHJvb2ZlZFxuICogQHJldHVybiB7c3RyaW5nfSBrZXlzaGFyZSBwcm9vZlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlU2hhcmVkRGF0YVByb29mKFxuICBwcml2YXRlS2V5QXJtb3JlZDogc3RyaW5nLFxuICBwdWJsaWNLZXlUb0NlcnRBcm1vcmVkOiBzdHJpbmcsXG4gIG5vdGF0aW9uczogeyBuYW1lOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdXG4pOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBjZXJ0aWZ5aW5nS2V5ID0gYXdhaXQgcGdwLnJlYWRLZXkoeyBhcm1vcmVkS2V5OiBwcml2YXRlS2V5QXJtb3JlZCB9KTtcbiAgY29uc3QgcHVibGljS2V5VG9DZXJ0ID0gYXdhaXQgcGdwLnJlYWRLZXkoeyBhcm1vcmVkS2V5OiBwdWJsaWNLZXlUb0NlcnRBcm1vcmVkIH0pO1xuICBjb25zdCBkYXRlVGltZSA9IG5ldyBEYXRlKCk7XG4gIC8vIFVzZXJJZCBQYWNrZXQuXG4gIGNvbnN0IHVzZXJJZFBrdCA9IG5ldyBwZ3AuVXNlcklEUGFja2V0KCk7XG4gIGNvbnN0IHByaW1hcnlVc2VyID0gYXdhaXQgcHVibGljS2V5VG9DZXJ0LmdldFByaW1hcnlVc2VyKG51bGwgYXMgdW5rbm93biBhcyB1bmRlZmluZWQpO1xuICAvLyBAdHMtaWdub3JlXG4gIHVzZXJJZFBrdC51c2VySUQgPSBwcmltYXJ5VXNlci51c2VyLnVzZXJJRC51c2VySUQ7XG4gIC8vIFNpZ25hdHVyZSBwYWNrZXQuXG4gIGNvbnN0IHNpZ25hdHVyZVBhY2tldCA9IG5ldyBwZ3AuU2lnbmF0dXJlUGFja2V0KCk7XG4gIHNpZ25hdHVyZVBhY2tldC5zaWduYXR1cmVUeXBlID0gcGdwLmVudW1zLnNpZ25hdHVyZS5jZXJ0UG9zaXRpdmU7XG4gIHNpZ25hdHVyZVBhY2tldC5wdWJsaWNLZXlBbGdvcml0aG0gPSBwZ3AuZW51bXMucHVibGljS2V5LmVjZHNhO1xuICBzaWduYXR1cmVQYWNrZXQuaGFzaEFsZ29yaXRobSA9IHBncC5lbnVtcy5oYXNoLnNoYTI1NjtcbiAgLy8gQHRzLWlnbm9yZVxuICBzaWduYXR1cmVQYWNrZXQuaXNzdWVyRmluZ2VycHJpbnQgPSBhd2FpdCBwcmltYXJ5VXNlci51c2VyLm1haW5LZXkua2V5UGFja2V0LmdldEZpbmdlcnByaW50Qnl0ZXMoKTtcbiAgLy8gQHRzLWlnbm9yZVxuICBzaWduYXR1cmVQYWNrZXQuaXNzdWVyS2V5SUQgPSBwcmltYXJ5VXNlci51c2VyLm1haW5LZXkua2V5UGFja2V0LmtleUlEO1xuICAvLyBAdHMtaWdub3JlXG4gIHNpZ25hdHVyZVBhY2tldC5zaWduaW5nS2V5SUQgPSBwcmltYXJ5VXNlci51c2VyLm1haW5LZXkua2V5UGFja2V0LmtleUlEO1xuICAvLyBAdHMtaWdub3JlXG4gIHNpZ25hdHVyZVBhY2tldC5zaWduZXJzVXNlcklEID0gcHJpbWFyeVVzZXIudXNlci51c2VySUQudXNlcklEO1xuICAvLyBAdHMtaWdub3JlXG4gIHNpZ25hdHVyZVBhY2tldC5mZWF0dXJlcyA9IFsxXTtcbiAgbm90YXRpb25zLmZvckVhY2goKHsgbmFtZSwgdmFsdWUgfSkgPT4ge1xuICAgIHNpZ25hdHVyZVBhY2tldC5yYXdOb3RhdGlvbnMucHVzaCh7XG4gICAgICBuYW1lOiBuYW1lLFxuICAgICAgdmFsdWU6IG5ldyBVaW50OEFycmF5KEJ1ZmZlci5mcm9tKHZhbHVlKSksXG4gICAgICBodW1hblJlYWRhYmxlOiB0cnVlLFxuICAgICAgY3JpdGljYWw6IGZhbHNlLFxuICAgIH0pO1xuICB9KTtcblxuICAvLyBQcmVwYXJlIHNpZ25pbmcgZGF0YS5cbiAgY29uc3Qga2V5ZGF0YVRvU2lnbiA9IHt9O1xuICAvLyBAdHMtaWdub3JlXG4gIGtleWRhdGFUb1NpZ24ua2V5ID0gcHVibGljS2V5VG9DZXJ0LmtleVBhY2tldDtcbiAgLy8gQHRzLWlnbm9yZVxuICBrZXlkYXRhVG9TaWduLnVzZXJJRCA9IHVzZXJJZFBrdDtcblxuICAvLyBTaWduIHRoZSBkYXRhIChjcmVhdGUgY2VydGlmaWNhdGlvbikuXG4gIC8vIEB0cy1pZ25vcmVcbiAgYXdhaXQgc2lnbmF0dXJlUGFja2V0LnNpZ24oY2VydGlmeWluZ0tleS5rZXlQYWNrZXQsIGtleWRhdGFUb1NpZ24sIGRhdGVUaW1lKTtcblxuICAvLyBBc3NlbWJsZSBwYWNrZXRzIHRvZ2V0aGVyLlxuICBjb25zdCBwdWJsaWNLZXlUb0NlcnRQa3RzID0gcHVibGljS2V5VG9DZXJ0LnRvUGFja2V0TGlzdCgpO1xuICBjb25zdCBuZXdLZXlQa3RMaXN0ID0gbmV3IHBncC5QYWNrZXRMaXN0KCk7XG4gIG5ld0tleVBrdExpc3QucHVzaCguLi5wdWJsaWNLZXlUb0NlcnRQa3RzLnNsaWNlKDAsIDMpLCBzaWduYXR1cmVQYWNrZXQsIC4uLnB1YmxpY0tleVRvQ2VydFBrdHMuc2xpY2UoMykpO1xuICAvLyBAdHMtaWdub3JlXG4gIGNvbnN0IG5ld1B1YktleSA9IG5ldyBwZ3AuUHVibGljS2V5KG5ld0tleVBrdExpc3QpO1xuICByZXR1cm4gbmV3UHViS2V5LmFybW9yKCkucmVwbGFjZSgvXFxyXFxuL2csICdcXG4nKTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgS2V5U2hhcmUgUHJvb2YgYmFzZWQgb24gZ2l2ZW4gYWxnby5cbiAqXG4gKiBDcmVhdGVzIGFuIEVkRFNBIEtleVNoYXJlIFByb29mIGJ5IGFwcGVuZGluZyBhbiBlZDI1NTE5IHN1YmtleSAoYXV0aCkgdG8gYW4gYXJtb3JlZCBncGcgcHJpdmF0ZSBrZXkuXG4gKiBDcmVhdGVzIGFuIEVDRFNBIEtleVNoYXJlIFByb29mIGJ5IEFwcGVuZCBhIHNlY3AyNTZrMSBzdWJrZXkgKGF1dGgpIHRvIGEgUEdQIGtleWNoYWluLlxuICpcbiAqIEBwYXJhbSBwcml2YXRlQXJtb3IgZ3BnIHByaXZhdGUga2V5IGluIGFybW9yIGZvcm1hdFxuICogQHBhcmFtIHVWYWx1ZSB1IHZhbHVlIGZyb20gYW4gRWRkc2Ega2V5c2hhcmVcbiAqIEBwYXJhbSBhbGdvIGFsZ28gdG8gdXNlLCBlZGRzYSBvciBlY2RzYVxuICogQHJldHVybiB7c3RyaW5nfSBrZXlzaGFyZSBwcm9vZlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlU2hhcmVQcm9vZihwcml2YXRlQXJtb3I6IHN0cmluZywgdVZhbHVlOiBzdHJpbmcsIGFsZ286IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHByaXZhdGVLZXkgPSBhd2FpdCByZWFkS2V5KHsgYXJtb3JlZEtleTogcHJpdmF0ZUFybW9yIH0pO1xuICBjb25zdCBkYXRlVGltZSA9IG5ldyBEYXRlKCk7XG4gIC8vIEB0cy1pZ25vcmUgLSB0eXBlIGluY29uc2lzdGVuY3ksIHRoaXMgY3RvciBzdXBwb3J0cyBhIGRhdGUgcGFyYW06IGh0dHBzOi8vZG9jcy5vcGVucGdwanMub3JnL1NlY3JldFN1YmtleVBhY2tldC5odG1sXG4gIGNvbnN0IHNlY3JldFN1YmtleVBhY2tldCA9IG5ldyBwZ3AuU2VjcmV0U3Via2V5UGFja2V0KGRhdGVUaW1lKTtcbiAgc2VjcmV0U3Via2V5UGFja2V0LmFsZ29yaXRobSA9IHBncC5lbnVtcy5wdWJsaWNLZXlbYWxnb107XG4gIC8vIEB0cy1pZ25vcmUgLSBzYW1lIGFzIGFib3ZlXG4gIHNlY3JldFN1YmtleVBhY2tldC5pc0VuY3J5cHRlZCA9IGZhbHNlO1xuICBsZXQgb2lkO1xuICBsZXQgUTtcbiAgaWYgKGFsZ28gPT09ICdlZGRzYScpIHtcbiAgICBhd2FpdCBzb2RpdW0ucmVhZHk7XG4gICAgY29uc3Qgc3ViS2V5VmFsID0gQnVmZmVyLmZyb20oXG4gICAgICBzb2RpdW0uY3J5cHRvX3NjYWxhcm11bHRfZWQyNTUxOV9iYXNlX25vY2xhbXAoQnVmZmVyLmZyb20odVZhbHVlLCAnaGV4JyksICd1aW50OGFycmF5JylcbiAgICApO1xuICAgIC8vIFN1Yi1rZXkgKGVuY3J5cHRpb24ga2V5KSBwYWNrZXQuXG4gICAgb2lkID0gWzB4MmIsIDB4MDYsIDB4MDEsIDB4MDQsIDB4MDEsIDB4ZGEsIDB4NDcsIDB4MGYsIDB4MDFdO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBvaWQud3JpdGUgPSAoKSA9PiBuZXcgVWludDhBcnJheShCdWZmZXIuZnJvbSgnMDkyYjA2MDEwNDAxZGE0NzBmMDEnLCAnaGV4JykpO1xuICAgIFEgPSBuZXcgVWludDhBcnJheShbMHg0MCwgLi4uc3ViS2V5VmFsXSk7XG4gIH0gZWxzZSBpZiAoYWxnbyA9PT0gJ2VjZHNhJykge1xuICAgIG9pZCA9IFsweDJiLCAweDgxLCAweDA0LCAweDAwLCAweDBhXTtcbiAgICAvLyBAdHMtaWdub3JlIC0gc2FtZSBhcyBhYm92ZVxuICAgIG9pZC53cml0ZSA9ICgpID0+IG5ldyBVaW50OEFycmF5KEJ1ZmZlci5mcm9tKCcwNTJiODEwNDAwMGEnLCAnaGV4JykpO1xuICAgIFEgPSBzZWNwMjU2azEucG9pbnRGcm9tU2NhbGFyKG5ldyBVaW50OEFycmF5KEJ1ZmZlci5mcm9tKHVWYWx1ZSwgJ2hleCcpKSwgZmFsc2UpO1xuICB9XG4gIHNlY3JldFN1YmtleVBhY2tldC5wdWJsaWNQYXJhbXMgPSB7XG4gICAgb2lkLFxuICAgIFEsXG4gIH07XG4gIC8vIEB0cy1pZ25vcmUgLSBzYW1lIGFzIGFib3ZlXG4gIGF3YWl0IHNlY3JldFN1YmtleVBhY2tldC5jb21wdXRlRmluZ2VycHJpbnRBbmRLZXlJRCgpO1xuXG4gIC8vIFN1Yi1rZXkgc2lnbmF0dXJlIHBhY2tldC5cbiAgY29uc3Qgc3ViS2V5ZGF0YVRvU2lnbiA9IHtcbiAgICBrZXk6IHByaXZhdGVLZXkua2V5UGFja2V0LFxuICAgIGJpbmQ6IHNlY3JldFN1YmtleVBhY2tldCxcbiAgfTtcbiAgY29uc3Qgc3Via2V5U2lnbmF0dXJlUGFja2V0ID0gbmV3IHBncC5TaWduYXR1cmVQYWNrZXQoKTtcbiAgc3Via2V5U2lnbmF0dXJlUGFja2V0LnNpZ25hdHVyZVR5cGUgPSBwZ3AuZW51bXMuc2lnbmF0dXJlLnN1YmtleUJpbmRpbmc7XG4gIHN1YmtleVNpZ25hdHVyZVBhY2tldC5wdWJsaWNLZXlBbGdvcml0aG0gPSBwZ3AuZW51bXMucHVibGljS2V5LmVjZHNhO1xuICBzdWJrZXlTaWduYXR1cmVQYWNrZXQuaGFzaEFsZ29yaXRobSA9IHBncC5lbnVtcy5oYXNoLnNoYTI1NjtcbiAgc3Via2V5U2lnbmF0dXJlUGFja2V0LmtleUZsYWdzID0gbmV3IFVpbnQ4QXJyYXkoW3BncC5lbnVtcy5rZXlGbGFncy5hdXRoZW50aWNhdGlvbl0pO1xuXG4gIC8vIFNpZ24gdGhlIHN1YmtleVxuICAvLyBAdHMtaWdub3JlIC0gc2lnbiBzdXBwb3J0cyBhcmJpdHJhcnkgZGF0YSBmb3IgMm5kIHBhcmFtOiBodHRwczovL2RvY3Mub3BlbnBncGpzLm9yZy9TaWduYXR1cmVQYWNrZXQuaHRtbFxuICBhd2FpdCBzdWJrZXlTaWduYXR1cmVQYWNrZXQuc2lnbihwcml2YXRlS2V5LmtleVBhY2tldCwgc3ViS2V5ZGF0YVRvU2lnbiwgZGF0ZVRpbWUpO1xuXG4gIC8vIEFzc2VtYmxlIHBhY2tldHMgdG9nZXRoZXIuXG4gIGNvbnN0IG5ld0tleVBrdExpc3QgPSBuZXcgcGdwLlBhY2tldExpc3QoKTtcbiAgY29uc3QgcHJpdmF0ZUtleVBrdHMgPSBwcml2YXRlS2V5LnRvUGFja2V0TGlzdCgpO1xuICBwcml2YXRlS2V5UGt0cy5mb3JFYWNoKChwYWNrZXQpID0+IG5ld0tleVBrdExpc3QucHVzaChwYWNrZXQpKTtcbiAgbmV3S2V5UGt0TGlzdC5wdXNoKHNlY3JldFN1YmtleVBhY2tldCwgc3Via2V5U2lnbmF0dXJlUGFja2V0KTtcbiAgLy8gQHRzLWlnbm9yZSAtIHN1cHBvcnRzIHBhY2tldCBsaXN0IGFzIGN0b3IgcGFyYW06IGh0dHBzOi8vZG9jcy5vcGVucGdwanMub3JnL1ByaXZhdGVLZXkuaHRtbFxuICBjb25zdCBuZXdQdWJLZXkgPSBuZXcgcGdwLlByaXZhdGVLZXkobmV3S2V5UGt0TGlzdCkudG9QdWJsaWMoKTtcblxuICBpZiAoIShhd2FpdCB2ZXJpZnlQcmltYXJ5VXNlcldyYXBwZXIobmV3UHViS2V5LCBwcml2YXRlS2V5LCB0cnVlKSlbMF0udmFsaWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0luY29ycmVjdCBzaWduYXR1cmUnKTtcbiAgfVxuXG4gIHJldHVybiBuZXdQdWJLZXkuYXJtb3IoKS5yZXBsYWNlKC9cXHJcXG4vZywgJ1xcbicpO1xufVxuXG4vKipcbiAqIEVuY3J5cHRzIHN0cmluZyB1c2luZyBncGcga2V5XG4gKiBAREVQUkVDQVRFRCAtIHNob3VsZCB1c2UgZW5jcnlwdEFuZFNpZ25UZXh0IGluc3RlYWQgZm9yIGFkZGVkIHNlY3VyaXR5XG4gKlxuICogQHBhcmFtIHRleHQgc3RyaW5nIHRvIGVuY3J5cHRcbiAqIEBwYXJhbSBrZXkgZW5jcnlwdGlvbiBrZXlcbiAqIEByZXR1cm4ge3N0cmluZ30gZW5jcnlwdGVkIHN0cmluZ1xuICpcbiAqIFRPRE8oQkctNDcxNzApOiBEZWxldGUgb25jZSBncGcgc2lnbmF0dXJlcyBhcmUgZnVsbHkgc3VwcG9ydGVkXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlbmNyeXB0VGV4dCh0ZXh0OiBzdHJpbmcsIGtleTogS2V5KTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgbWVzc2FnZVRvRW5jcnlwdCA9IGF3YWl0IGNyZWF0ZU1lc3NhZ2Uoe1xuICAgIHRleHQsXG4gIH0pO1xuICByZXR1cm4gYXdhaXQgZW5jcnlwdCh7XG4gICAgbWVzc2FnZTogbWVzc2FnZVRvRW5jcnlwdCxcbiAgICBlbmNyeXB0aW9uS2V5czogW2tleV0sXG4gICAgZm9ybWF0OiAnYXJtb3JlZCcsXG4gICAgY29uZmlnOiB7XG4gICAgICByZWplY3RDdXJ2ZXM6IG5ldyBTZXQoKSxcbiAgICAgIHNob3dWZXJzaW9uOiBmYWxzZSxcbiAgICAgIHNob3dDb21tZW50OiBmYWxzZSxcbiAgICB9LFxuICB9KTtcbn1cblxuLyoqXG4gKiBFbmNyeXB0cyBhbmQgc2lnbnMgYSBzdHJpbmdcbiAqIEBwYXJhbSB0ZXh0IHN0cmluZyB0byBlbmNyeXB0IGFuZCBzaWduXG4gKiBAcGFyYW0gcHVibGljQXJtb3IgcHVibGljIGtleSB0byBlbmNyeXB0IHdpdGhcbiAqIEBwYXJhbSBwcml2YXRlQXJtb3IgcHJpdmF0ZSBrZXkgdG8gc2lnbiB3aXRoXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlbmNyeXB0QW5kU2lnblRleHQodGV4dDogc3RyaW5nLCBwdWJsaWNBcm1vcjogc3RyaW5nLCBwcml2YXRlQXJtb3I6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHB1YmxpY0tleSA9IGF3YWl0IHJlYWRLZXkoeyBhcm1vcmVkS2V5OiBwdWJsaWNBcm1vciB9KTtcbiAgY29uc3QgcHJpdmF0ZUtleSA9IGF3YWl0IHJlYWRQcml2YXRlS2V5KHsgYXJtb3JlZEtleTogcHJpdmF0ZUFybW9yIH0pO1xuXG4gIGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCBjcmVhdGVNZXNzYWdlKHsgdGV4dCB9KTtcblxuICBjb25zdCBzaWduZWRNZXNzYWdlID0gYXdhaXQgZW5jcnlwdCh7XG4gICAgbWVzc2FnZSxcbiAgICBlbmNyeXB0aW9uS2V5czogcHVibGljS2V5LFxuICAgIHNpZ25pbmdLZXlzOiBwcml2YXRlS2V5LFxuICAgIGZvcm1hdDogJ2FybW9yZWQnLFxuICAgIGNvbmZpZzoge1xuICAgICAgcmVqZWN0Q3VydmVzOiBuZXcgU2V0KCksXG4gICAgICBzaG93VmVyc2lvbjogZmFsc2UsXG4gICAgICBzaG93Q29tbWVudDogZmFsc2UsXG4gICAgfSxcbiAgfSk7XG5cbiAgcmV0dXJuIHNpZ25lZE1lc3NhZ2U7XG59XG5cbi8qKlxuICogUmVhZHMgYSBzaWduZWQgYW5kIGVuY3J5cHRlZCBtZXNzYWdlXG4gKlxuICogQHBhcmFtIHNpZ25lZCBzaWduZWQgYW5kIGVuY3J5cHRlZCBtZXNzYWdlXG4gKiBAcGFyYW0gcHVibGljQXJtb3IgcHVibGljIGtleSB0byB2ZXJpZnkgc2lnbmF0dXJlXG4gKiBAcGFyYW0gcHJpdmF0ZUFybW9yIHByaXZhdGUga2V5IHRvIGRlY3J5cHQgbWVzc2FnZVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVhZFNpZ25lZE1lc3NhZ2Uoc2lnbmVkOiBzdHJpbmcsIHB1YmxpY0FybW9yOiBzdHJpbmcsIHByaXZhdGVBcm1vcjogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgcHVibGljS2V5ID0gYXdhaXQgcmVhZEtleSh7IGFybW9yZWRLZXk6IHB1YmxpY0FybW9yIH0pO1xuICBjb25zdCBwcml2YXRlS2V5ID0gYXdhaXQgcmVhZFByaXZhdGVLZXkoeyBhcm1vcmVkS2V5OiBwcml2YXRlQXJtb3IgfSk7XG5cbiAgY29uc3QgbWVzc2FnZSA9IGF3YWl0IHJlYWRNZXNzYWdlKHsgYXJtb3JlZE1lc3NhZ2U6IHNpZ25lZCB9KTtcbiAgY29uc3QgZGVjcnlwdGVkID0gYXdhaXQgZGVjcnlwdCh7XG4gICAgbWVzc2FnZSxcbiAgICB2ZXJpZmljYXRpb25LZXlzOiBwdWJsaWNLZXksXG4gICAgZGVjcnlwdGlvbktleXM6IHByaXZhdGVLZXksXG4gICAgZXhwZWN0U2lnbmVkOiB0cnVlLFxuICAgIGNvbmZpZzogeyByZWplY3RDdXJ2ZXM6IG5ldyBTZXQoKSB9LFxuICB9KTtcblxuICByZXR1cm4gZGVjcnlwdGVkLmRhdGE7XG59XG5cbi8qKlxuICogR2VuZXJhdGVzIGEgc2lnbmF0dXJlXG4gKlxuICogQHBhcmFtIHRleHQgc3RyaW5nIHRvIGdlbmVyYXRlIGEgc2lnbmF0dXJlIGZvclxuICogQHBhcmFtIHByaXZhdGVBcm1vciBwcml2YXRlIGtleSBhcyBhcm1vcmVkIHN0cmluZ1xuICogQHJldHVybiB7c3RyaW5nfSBhcm1vcmVkIHNpZ25hdHVyZSBzdHJpbmdcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNpZ25UZXh0KHRleHQ6IHN0cmluZywgcHJpdmF0ZUFybW9yOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBwcml2YXRlS2V5ID0gYXdhaXQgcmVhZFByaXZhdGVLZXkoeyBhcm1vcmVkS2V5OiBwcml2YXRlQXJtb3IgfSk7XG4gIGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCBjcmVhdGVNZXNzYWdlKHsgdGV4dCB9KTtcbiAgY29uc3Qgc2lnbmF0dXJlID0gYXdhaXQgc2lnbih7XG4gICAgbWVzc2FnZSxcbiAgICBzaWduaW5nS2V5czogcHJpdmF0ZUtleSxcbiAgICBmb3JtYXQ6ICdhcm1vcmVkJyxcbiAgICBkZXRhY2hlZDogdHJ1ZSxcbiAgfSk7XG5cbiAgcmV0dXJuIHNpZ25hdHVyZTtcbn1cblxuLyoqXG4gKiBWZXJpZmllcyBzaWduYXR1cmUgd2FzIGdlbmVyYXRlZCBieSB0aGUgcHVibGljIGtleSBhbmQgbWF0Y2hlcyB0aGUgZXhwZWN0ZWQgdGV4dFxuICpcbiAqIEBwYXJhbSB0ZXh0IHRleHQgdGhhdCB0aGUgc2lnbmF0dXJlIHdhcyBmb3JcbiAqIEBwYXJhbSBhcm1vcmVkU2lnbmF0dXJlIHNpZ25lZCBtZXNzYWdlIGFzIGFuIGFybW9yZWQgc3RyaW5nXG4gKiBAcGFyYW0gcHVibGljQXJtb3IgcHVibGljIGtleSB0aGF0IGdlbmVyYXRlZCB0aGUgc2lnbmF0dXJlXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2ZXJpZnlTaWduYXR1cmUodGV4dDogc3RyaW5nLCBhcm1vcmVkU2lnbmF0dXJlOiBzdHJpbmcsIHB1YmxpY0FybW9yOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgY29uc3QgcHVibGljS2V5ID0gYXdhaXQgcmVhZEtleSh7IGFybW9yZWRLZXk6IHB1YmxpY0FybW9yIH0pO1xuICBjb25zdCBzaWduYXR1cmUgPSBhd2FpdCByZWFkU2lnbmF0dXJlKHsgYXJtb3JlZFNpZ25hdHVyZSB9KTtcbiAgY29uc3QgbWVzc2FnZSA9IGF3YWl0IGNyZWF0ZU1lc3NhZ2UoeyB0ZXh0IH0pO1xuICBjb25zdCB2ZXJpZmljYXRpb25SZXN1bHQgPSBhd2FpdCB2ZXJpZnkoe1xuICAgIG1lc3NhZ2UsXG4gICAgc2lnbmF0dXJlLFxuICAgIHZlcmlmaWNhdGlvbktleXM6IHB1YmxpY0tleSxcbiAgfSk7XG5cbiAgaWYgKHZlcmlmaWNhdGlvblJlc3VsdC5zaWduYXR1cmVzLmxlbmd0aCAhPT0gMSkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBudW1iZXIgb2Ygc2lnbmF0dXJlcycpO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBhd2FpdCB2ZXJpZmljYXRpb25SZXN1bHQuc2lnbmF0dXJlc1swXS52ZXJpZmllZDtcbiAgICByZXR1cm4gdGV4dCA9PT0gdmVyaWZpY2F0aW9uUmVzdWx0LmRhdGE7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vKipcbiAqIEdlbmVyYXRlIGEgR1BHIGtleSBwYWlyXG4gKlxuICogQHBhcmFtOiBrZXlDdXJ2ZSB0aGUgY3VydmUgdG8gY3JlYXRlIGEga2V5IHdpdGhcbiAqIEBwYXJhbTogdXNlcm5hbWUgbmFtZSBvZiB0aGUgdXNlciAob3B0aW9uYWwpXG4gKiBAcGFyYW06IGVtYWlsIGVtYWlsIG9mIHRoZSB1c2VyIChvcHRpb25hbClcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdlbmVyYXRlR1BHS2V5UGFpcihcbiAga2V5Q3VydmU6IHBncC5FbGxpcHRpY0N1cnZlTmFtZSxcbiAgdXNlcm5hbWU/OiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gIGVtYWlsPzogc3RyaW5nIHwgdW5kZWZpbmVkXG4pOiBQcm9taXNlPHBncC5TZXJpYWxpemVkS2V5UGFpcjxzdHJpbmc+PiB7XG4gIGNvbnN0IHJhbmRvbUhleFN0cmluZyA9IGNyeXB0by5yYW5kb21CeXRlcygxMikudG9TdHJpbmcoJ2hleCcpO1xuICB1c2VybmFtZSA9IHVzZXJuYW1lID8/IHJhbmRvbUhleFN0cmluZztcbiAgZW1haWwgPSBlbWFpbCA/PyBgdXNlci0ke3JhbmRvbUhleFN0cmluZ31AJHtyYW5kb21IZXhTdHJpbmd9LmNvbWA7XG5cbiAgLy8gQWxsb3cgZ2VuZXJhdGluZyBzZWNwMjU2azEga2V5IHBhaXJzXG4gIHBncC5jb25maWcucmVqZWN0Q3VydmVzID0gbmV3IFNldCgpO1xuICBjb25zdCBncGdLZXkgPSBhd2FpdCBwZ3AuZ2VuZXJhdGVLZXkoe1xuICAgIHVzZXJJRHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogdXNlcm5hbWUsXG4gICAgICAgIGVtYWlsLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGN1cnZlOiBrZXlDdXJ2ZSxcbiAgfSk7XG5cbiAgcmV0dXJuIGdwZ0tleTtcbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../../src/bitgo/utils/tss/ecdsa/base.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,kBAAkB;AAClB,qBAAa,cAAe,SAAQ,YAAY,CAAC,QAAQ,CAAC;gBAG5C,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO;IAKnE;;;;OAIG;IACG,kBAAkB,CAAC,kBAAkB,UAAQ,GAAG,OAAO,CAAC,YAAY,CAAC;IAI3E;;;;OAIG;IAEH,MAAM,CAAC,+BAA+B,CAAC,cAAc,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../../src/bitgo/utils/tss/ecdsa/base.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,kBAAkB;AAClB,qBAAa,cAAe,SAAQ,YAAY,CAAC,QAAQ,CAAC;gBAG5C,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO;IAKnE;;;;OAIG;IACG,kBAAkB,CAAC,kBAAkB,UAAQ,GAAG,OAAO,CAAC,YAAY,CAAC;IAI3E;;;;OAIG;IAEH,MAAM,CAAC,+BAA+B,CAAC,cAAc,EAAE,MAAM;IAU7D;;;;;OAKG;IACH,MAAM,CAAC,8BAA8B,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM;CAOtE"}
|
|
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.BaseEcdsaUtils = void 0;
|
|
7
|
-
const
|
|
7
|
+
const secp256k1_1 = require("@noble/curves/secp256k1");
|
|
8
8
|
const baseTSSUtils_1 = __importDefault(require("../baseTSSUtils"));
|
|
9
9
|
const opengpgUtils_1 = require("../../opengpgUtils");
|
|
10
10
|
/** @inheritdoc */
|
|
@@ -29,9 +29,13 @@ class BaseEcdsaUtils extends baseTSSUtils_1.default {
|
|
|
29
29
|
*/
|
|
30
30
|
static validateCommonKeychainPublicKey(commonKeychain) {
|
|
31
31
|
const pub = BaseEcdsaUtils.getPublicKeyFromCommonKeychain(commonKeychain);
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
try {
|
|
33
|
+
const point = secp256k1_1.secp256k1.ProjectivePoint.fromHex(pub);
|
|
34
|
+
return point.toHex(false).slice(2);
|
|
35
|
+
}
|
|
36
|
+
catch (e) {
|
|
37
|
+
throw new Error('Invalid commonKeychain, error: ' + e.message);
|
|
38
|
+
}
|
|
35
39
|
}
|
|
36
40
|
/**
|
|
37
41
|
* Gets the common public key from commonKeychain.
|
|
@@ -48,4 +52,4 @@ class BaseEcdsaUtils extends baseTSSUtils_1.default {
|
|
|
48
52
|
}
|
|
49
53
|
}
|
|
50
54
|
exports.BaseEcdsaUtils = BaseEcdsaUtils;
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iaXRnby91dGlscy90c3MvZWNkc2EvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx1REFBb0Q7QUFHcEQsbUVBQTJDO0FBRzNDLHFEQUEyRTtBQUkzRSxrQkFBa0I7QUFDbEIsTUFBYSxjQUFlLFNBQVEsc0JBQXNCO0lBQ3hELDZLQUE2SztJQUU3SyxZQUFZLEtBQWdCLEVBQUUsUUFBbUIsRUFBRSxNQUFnQjtRQUNqRSxLQUFLLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsa0JBQWtCLENBQUMsa0JBQWtCLEdBQUcsS0FBSztRQUNqRCxPQUFPLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFBLGdDQUFpQixFQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBQSxpQ0FBa0IsRUFBQyxXQUFXLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRUQ7Ozs7T0FJRztJQUVILE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxjQUFzQjtRQUMzRCxNQUFNLEdBQUcsR0FBRyxjQUFjLENBQUMsOEJBQThCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDMUUsSUFBSSxDQUFDO1lBQ0gsTUFBTSxLQUFLLEdBQUcscUJBQVMsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JELE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqRSxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLDhCQUE4QixDQUFDLGNBQXNCO1FBQzFELElBQUksY0FBYyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFvRCxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUMvRixDQUFDO1FBQ0QsTUFBTSxlQUFlLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDcEQsT0FBTyxlQUFlLENBQUM7SUFDekIsQ0FBQztDQUNGO0FBOUNELHdDQThDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNlY3AyNTZrMSB9IGZyb20gJ0Bub2JsZS9jdXJ2ZXMvc2VjcDI1NmsxJztcblxuaW1wb3J0IHsgSUJhc2VDb2luIH0gZnJvbSAnLi4vLi4vLi4vYmFzZUNvaW4nO1xuaW1wb3J0IGJhc2VUU1NVdGlscyBmcm9tICcuLi9iYXNlVFNTVXRpbHMnO1xuaW1wb3J0IHsgS2V5U2hhcmUgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEJhY2t1cEdwZ0tleSB9IGZyb20gJy4uL2Jhc2VUeXBlcyc7XG5pbXBvcnQgeyBnZW5lcmF0ZUdQR0tleVBhaXIsIGdldFRydXN0R3BnUHViS2V5IH0gZnJvbSAnLi4vLi4vb3BlbmdwZ1V0aWxzJztcbmltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJy4uLy4uLy4uL2JpdGdvQmFzZSc7XG5pbXBvcnQgeyBJV2FsbGV0IH0gZnJvbSAnLi4vLi4vLi4vd2FsbGV0JztcblxuLyoqIEBpbmhlcml0ZG9jICovXG5leHBvcnQgY2xhc3MgQmFzZUVjZHNhVXRpbHMgZXh0ZW5kcyBiYXNlVFNTVXRpbHM8S2V5U2hhcmU+IHtcbiAgLy8gV2UgZG8gbm90IGhhdmUgZnVsbCBzdXBwb3J0IGZvciAzLXBhcnR5IHZlcmlmaWNhdGlvbiAody8gZXh0ZXJuYWwgc291cmNlKSBvZiBrZXkgc2hhcmVzIGFuZCBzaWduYXR1cmUgc2hhcmVzLiBUaGVyZSBpcyBubyAzcmQgcGFydHkga2V5IHNlcnZpY2Ugc3VwcG9ydCB3aXRoIHRoaXMgcmVsZWFzZS5cblxuICBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBiYXNlQ29pbjogSUJhc2VDb2luLCB3YWxsZXQ/OiBJV2FsbGV0KSB7XG4gICAgc3VwZXIoYml0Z28sIGJhc2VDb2luLCB3YWxsZXQpO1xuICAgIHRoaXMuc2V0Qml0Z29HcGdQdWJLZXkoYml0Z28pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYmFja3VwIHB1YiBncGcga2V5IHN0cmluZ1xuICAgKiBpZiBhIHRoaXJkIHBhcnR5IHByb3ZpZGVkIHRoZW4gZ2V0IGZyb20gdHJ1c3RcbiAgICogQHBhcmFtIGlzVGhpcmRQYXJ0eUJhY2t1cFxuICAgKi9cbiAgYXN5bmMgZ2V0QmFja3VwR3BnUHViS2V5KGlzVGhpcmRQYXJ0eUJhY2t1cCA9IGZhbHNlKTogUHJvbWlzZTxCYWNrdXBHcGdLZXk+IHtcbiAgICByZXR1cm4gaXNUaGlyZFBhcnR5QmFja3VwID8gZ2V0VHJ1c3RHcGdQdWJLZXkodGhpcy5iaXRnbykgOiBnZW5lcmF0ZUdQR0tleVBhaXIoJ3NlY3AyNTZrMScpO1xuICB9XG5cbiAgLyoqXG4gICAqIHV0aWwgZnVuY3Rpb24gdGhhdCBjaGVja3MgdGhhdCBhIGNvbW1vbktleWNoYWluIGlzIHZhbGlkIGFuZCBjYW4gdWx0aW1hdGVseSByZXNvbHZlIHRvIGEgdmFsaWQgcHVibGljIGtleVxuICAgKiBAcGFyYW0gY29tbW9uS2V5Y2hhaW4gLSBhIHVzZXIgdXBsb2FkZWQgY29tbW9uS2V5Y2hhaW4gc3RyaW5nXG4gICAqIEB0aHJvd3MgaWYgdGhlIGNvbW1vbktleWNoYWluIGlzIGludmFsaWQgbGVuZ3RoIG9yIGludmFsaWQgZm9ybWF0XG4gICAqL1xuXG4gIHN0YXRpYyB2YWxpZGF0ZUNvbW1vbktleWNoYWluUHVibGljS2V5KGNvbW1vbktleWNoYWluOiBzdHJpbmcpIHtcbiAgICBjb25zdCBwdWIgPSBCYXNlRWNkc2FVdGlscy5nZXRQdWJsaWNLZXlGcm9tQ29tbW9uS2V5Y2hhaW4oY29tbW9uS2V5Y2hhaW4pO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwb2ludCA9IHNlY3AyNTZrMS5Qcm9qZWN0aXZlUG9pbnQuZnJvbUhleChwdWIpO1xuICAgICAgcmV0dXJuIHBvaW50LnRvSGV4KGZhbHNlKS5zbGljZSgyKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgY29tbW9uS2V5Y2hhaW4sIGVycm9yOiAnICsgZS5tZXNzYWdlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgY29tbW9uIHB1YmxpYyBrZXkgZnJvbSBjb21tb25LZXljaGFpbi5cbiAgICpcbiAgICogQHBhcmFtIHtTdHJpbmd9IGNvbW1vbktleWNoYWluIGNvbW1vbiBrZXkgY2hhaW4gYmV0d2VlbiBuIHBhcnRpZXNcbiAgICogQHJldHVybnMge3N0cmluZ30gZW5jb2RlZCBwdWJsaWMga2V5XG4gICAqL1xuICBzdGF0aWMgZ2V0UHVibGljS2V5RnJvbUNvbW1vbktleWNoYWluKGNvbW1vbktleWNoYWluOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChjb21tb25LZXljaGFpbi5sZW5ndGggIT09IDEzMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNvbW1vbktleWNoYWluIGxlbmd0aCwgZXhwZWN0ZWQgMTMwLCBnb3QgJHtjb21tb25LZXljaGFpbi5sZW5ndGh9YCk7XG4gICAgfVxuICAgIGNvbnN0IGNvbW1vblB1YkhleFN0ciA9IGNvbW1vbktleWNoYWluLnNsaWNlKDAsIDY2KTtcbiAgICByZXR1cm4gY29tbW9uUHViSGV4U3RyO1xuICB9XG59XG4iXX0=
|