@bitgo-beta/sdk-core 8.2.1-beta.76 → 8.2.1-beta.77
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/bitgo/environments.d.ts +1 -0
- package/dist/src/bitgo/environments.d.ts.map +1 -1
- package/dist/src/bitgo/environments.js +3 -1
- package/dist/src/bitgo/tss/types.d.ts +15 -0
- package/dist/src/bitgo/tss/types.d.ts.map +1 -1
- package/dist/src/bitgo/tss/types.js +1 -1
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +13 -2
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTSSUtils.js +15 -2
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts +51 -1
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTypes.js +17 -2
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +34 -3
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +177 -41
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +2 -2
- package/dist/src/bitgo/wallet/iWallet.d.ts +9 -1
- package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/iWallet.js +1 -1
- package/dist/src/bitgo/wallet/wallet.d.ts +7 -1
- package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallet.js +52 -3
- package/dist/src/index.d.ts +4 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -6
|
@@ -75,7 +75,7 @@ export declare class EddsaUtils extends baseTSSUtils<KeyShare> {
|
|
|
75
75
|
userToBitgoRShare: SignShare;
|
|
76
76
|
bitgoToUserCommitment: CommitmentShareRecord;
|
|
77
77
|
}): Promise<GShare>;
|
|
78
|
-
|
|
78
|
+
signEddsaTssUsingExternalSigner(txRequest: string | TxRequest, externalSignerCommitmentGenerator: CustomCommitmentGeneratingFunction, externalSignerRShareGenerator: CustomRShareGeneratingFunction, externalSignerGShareGenerator: CustomGShareGeneratingFunction): Promise<TxRequest>;
|
|
79
79
|
/**
|
|
80
80
|
* Signs the transaction associated to the transaction request.
|
|
81
81
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eddsa.d.ts","sourceRoot":"","sources":["../../../../../../src/bitgo/utils/tss/eddsa/eddsa.ts"],"names":[],"mappings":"AAOA,OAAc,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAsB,QAAQ,EAAuB,MAAM,mBAAmB,CAAC;AAatF,OAAO,EACL,qBAAqB,EAErB,kCAAkC,EAClC,8BAA8B,EAC9B,8BAA8B,EAC9B,0BAA0B,EAE1B,oBAAoB,EAEpB,SAAS,EACT,SAAS,EACV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,8BAA8B,EAAE,yBAAyB,EAAE,QAAQ,EAAU,MAAM,SAAS,CAAC;AACtG,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGrD;;GAEG;AAEH,qBAAa,UAAW,SAAQ,YAAY,CAAC,QAAQ,CAAC;IAC9C,sBAAsB,CAC1B,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,QAAQ,EACvB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,CAAC,GAAG,CAAC,GACnB,OAAO,CAAC,IAAI,CAAC;IA8ChB;;;;;;;;;;OAUG;IACG,kBAAkB,CAAC,EACvB,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,aAAa,EACb,UAAU,EACV,8BAA8B,GAC/B,EAAE,yBAAyB,GAAG,OAAO,CAAC,QAAQ,CAAC;IA4DhD;;;;;;;;;;OAUG;IACG,oBAAoB,CAAC,EACzB,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,aAAa,EACb,UAAU,GACX,EAAE,yBAAyB,GAAG,OAAO,CAAC,QAAQ,CAAC;IA2DhD;;;;;;;OAOG;IACG,mBAAmB,CAAC,EACxB,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,UAAU,GACX,EAAE,8BAA8B,GAAG,OAAO,CAAC,QAAQ,CAAC;IA8CrD;;;;OAIG;IACG,eAAe,CAAC,MAAM,EAAE;QAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,8BAA8B,CAAC,EAAE,MAAM,CAAC;KACzC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA+CvB,kCAAkC,CAAC,MAAM,EAAE;QAC/C,SAAS,EAAE,SAAS,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC;QACZ,gBAAgB,EAAE,MAAM,CAAC;KAC1B,GAAG,OAAO,CAAC;QACV,qBAAqB,EAAE,qBAAqB,CAAC;QAC7C,oBAAoB,EAAE,0BAA0B,CAAC;QACjD,0BAA0B,EAAE,0BAA0B,CAAC;KACxD,CAAC;IA4CI,yBAAyB,CAAC,MAAM,EAAE;QACtC,SAAS,EAAE,SAAS,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,0BAA0B,EAAE,0BAA0B,CAAC;KACxD,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,SAAS,CAAA;KAAE,CAAC;IAc5B,yBAAyB,CAAC,MAAM,EAAE;QACtC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9B,GAAG,EAAE,MAAM,CAAC;QACZ,iBAAiB,EAAE,oBAAoB,CAAC;QACxC,iBAAiB,EAAE,SAAS,CAAC;QAC7B,qBAAqB,EAAE,qBAAqB,CAAC;KAC9C,GAAG,OAAO,CAAC,MAAM,CAAC;IAmCb,
|
|
1
|
+
{"version":3,"file":"eddsa.d.ts","sourceRoot":"","sources":["../../../../../../src/bitgo/utils/tss/eddsa/eddsa.ts"],"names":[],"mappings":"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"}
|
|
@@ -336,7 +336,7 @@ class EddsaUtils extends baseTSSUtils_1.default {
|
|
|
336
336
|
const userToBitGoGShare = await tss_2.createUserToBitGoGShare(userToBitgoRShare, bitgoToUserRShare, userSigningMaterial.backupYShare, userSigningMaterial.bitgoYShare, signablePayload, bitgoToUserCommitment);
|
|
337
337
|
return userToBitGoGShare;
|
|
338
338
|
}
|
|
339
|
-
async
|
|
339
|
+
async signEddsaTssUsingExternalSigner(txRequest, externalSignerCommitmentGenerator, externalSignerRShareGenerator, externalSignerGShareGenerator) {
|
|
340
340
|
let txRequestResolved;
|
|
341
341
|
let txRequestId;
|
|
342
342
|
if (typeof txRequest === 'string') {
|
|
@@ -461,4 +461,4 @@ exports.EddsaUtils = EddsaUtils;
|
|
|
461
461
|
* @deprecated - use EddsaUtils
|
|
462
462
|
*/
|
|
463
463
|
exports.TssUtils = EddsaUtils;
|
|
464
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRkc2EuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvdHNzL2VkZHNhL2VkZHNhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7R0FFRztBQUNILG9EQUE0QjtBQUM1QiwyQ0FBNkI7QUFDN0IsaURBQW1DO0FBQ25DLHlEQUF1RDtBQUN2RCwwRUFBMkU7QUFFM0Usb0RBQWlFO0FBQ2pFLHFEQUEwRztBQUMxRyxzQ0FTc0I7QUFDdEIsNENBWXNCO0FBRXRCLG1FQUEyQztBQUUzQyxnREFBK0Q7QUFFL0Q7O0dBRUc7QUFFSCxNQUFhLFVBQVcsU0FBUSxzQkFBc0I7SUFDcEQsS0FBSyxDQUFDLHNCQUFzQixDQUMxQixVQUFrQixFQUNsQixZQUFvQixFQUNwQixhQUF1QixFQUN2QixjQUFzQixFQUN0QixhQUFvQjtRQUVwQixnQkFBTSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNyQyxnQkFBTSxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBRWhELE1BQU0sV0FBVyxHQUFHLE1BQU0sZ0NBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXhELE1BQU0sVUFBVSxHQUFHLE1BQU0sT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFeEQsTUFBTSxZQUFZLEdBQUcsTUFBTSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDekUsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUU1RCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sT0FBTyxDQUFDLFFB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RSw4QkFBa0IsQ0FBQyxLQUFLO1lBQzVCLEtBQUssRUFBRSxlQUFlO1lBQ3RCLElBQUksRUFBRSxvQ0FBd0IsQ0FBQyxpQkFBaUI7U0FDakQsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXZuQkQsZ0NBdW5CQztBQUNEOztHQUVHO0FBQ1UsUUFBQSxRQUFRLEdBQUcsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0ICogYXMgYnM1OCBmcm9tICdiczU4JztcbmltcG9ydCAqIGFzIG9wZW5wZ3AgZnJvbSAnb3BlbnBncCc7XG5pbXBvcnQgeyBFZDI1NTE5QklQMzIgfSBmcm9tICcuLi8uLi8uLi8uLi9hY2NvdW50LWxpYic7XG5pbXBvcnQgRWRkc2EsIHsgU2lnblNoYXJlLCBHU2hhcmUgfSBmcm9tICcuLi8uLi8uLi8uLi9hY2NvdW50LWxpYi9tcGMvdHNzJztcbmltcG9ydCB7IEFkZEtleWNoYWluT3B0aW9ucywgS2V5Y2hhaW4sIENyZWF0ZUJhY2t1cE9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9rZXljaGFpbic7XG5pbXBvcnQgeyB2ZXJpZnlXYWxsZXRTaWduYXR1cmUgfSBmcm9tICcuLi8uLi8uLi90c3MvZWRkc2EvZWRkc2EnO1xuaW1wb3J0IHsgZW5jcnlwdFRleHQsIGdldEJpdGdvR3BnUHViS2V5LCBjcmVhdGVTaGFyZVByb29mLCBnZW5lcmF0ZUdQR0tleVBhaXIgfSBmcm9tICcuLi8uLi9vcGVuZ3BnVXRpbHMnO1xuaW1wb3J0IHtcbiAgY3JlYXRlVXNlclNpZ25TaGFyZSxcbiAgY3JlYXRlVXNlclRvQml0R29HU2hhcmUsXG4gIGdldEJpdGdvVG9Vc2VyUlNoYXJlLFxuICBnZXRUeFJlcXVlc3QsXG4gIG9mZmVyVXNlclRvQml0Z29SU2hhcmUsXG4gIHNlbmRVc2VyVG9CaXRnb0dTaGFyZSxcbiAgU2hhcmVLZXlQb3NpdGlvbixcbiAgU2lnbmluZ01hdGVyaWFsLFxufSBmcm9tICcuLi8uLi8uLi90c3MnO1xuaW1wb3J0IHtcbiAgQ29tbWl0bWVudFNoYXJlUmVjb3JkLFxuICBDb21taXRtZW50VHlwZSxcbiAgQ3VzdG9tQ29tbWl0bWVudEdlbmVyYXRpbmdGdW5jdGlvbixcbiAgQ3VzdG9tR1NoYXJlR2VuZXJhdGluZ0Z1bmN0aW9uLFxuICBDdXN0b21SU2hhcmVHZW5lcmF0aW5nRnVuY3Rpb24sXG4gIEVuY3J5cHRlZFNpZ25lclNoYXJlUmVjb3JkLFxuICBFbmNyeXB0ZWRTaWduZXJTaGFyZVR5cGUsXG4gIFNpZ25hdHVyZVNoYXJlUmVjb3JkLFxuICBTaWduYXR1cmVTaGFyZVR5cGUsXG4gIFRTU1BhcmFtcyxcbiAgVHhSZXF1ZXN0LFxufSBmcm9tICcuLi9iYXNlVHlwZXMnO1xuaW1wb3J0IHsgQ3JlYXRlRWRkc2FCaXRHb0tleWNoYWluUGFyYW1zLCBDcmVhdGVFZGRzYUtleWNoYWluUGFyYW1zLCBLZXlTaGFyZSwgWVNoYXJlIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgYmFzZVRTU1V0aWxzIGZyb20gJy4uL2Jhc2VUU1NVdGlscyc7XG5pbXBvcnQgeyBLZXljaGFpbnNUcmlwbGV0IH0gZnJvbSAnLi4vLi4vLi4vYmFzZUNvaW4nO1xuaW1wb3J0IHsgZXhjaGFuZ2VFZGRzYUNvbW1pdG1lbnRzIH0gZnJvbSAnLi4vLi4vLi4vdHNzL2NvbW1vbic7XG5cbi8qKlxuICogVXRpbGl0eSBmdW5jdGlvbnMgZm9yIFRTUyB3b3JrIGZsb3dzLlxuICovXG5cbmV4cG9ydCBjbGFzcyBFZGRzYVV0aWxzIGV4dGVuZHMgYmFzZVRTU1V0aWxzPEtleVNoYXJlPiB7XG4gIGFzeW5jIHZlcmlmeVdhbGxldFNpZ25hdHVyZXMoXG4gICAgdXNlckdwZ1B1Yjogc3RyaW5nLFxuICAgIGJhY2t1cEdwZ1B1Yjogc3RyaW5nLFxuICAgIGJpdGdvS2V5Y2hhaW46IEtleWNoYWluLFxuICAgIGRlY3J5cHRlZFNoYXJlOiBzdHJpbmcsXG4gICAgdmVyaWZpZXJJbmRleDogMSB8IDJcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXNzZXJ0KGJpdGdvS2V5Y2hhaW4uY29tbW9uS2V5Y2hhaW4pO1xuICAgIGFzc2VydChiaXRnb0tleWNoYWluLndhbGxldEhTTUdQR1B1YmxpY0tleVNpZ3MpO1xuXG4gICAgY29uc3QgYml0Z29HcGdLZXkgPSBhd2FpdCBnZXRCaXRnb0dwZ1B1YktleSh0aGlzLmJpdGdvKTtcblxuICAgIGNvbnN0IHVzZXJLZXlQdWIgPSBhd2FpdCBvcGVucGdwLnJlYWRLZXkoeyBhcm1vcmVkS2V5OiB1c2VyR3BnUHViIH0pO1xuICAgIGNvbnN0IHVzZXJLZXlJZCA9IHVzZXJLZXlQdWIua2V5UGFja2V0LmdldEZpbmdlcnByaW50KCk7XG5cbiAgICBjb25zdCBiYWNrdXBLZXlQdWIgPSBhd2FpdCBvcGVucGdwLnJlYWRLZXkoeyBhcm1vcmVkS2V5OiBiYWNrdXBHcGdQdWIgfSk7XG4gICAgY29uc3QgYmFja3VwS2V5SWQgPSBiYWNrdXBLZXlQdWIua2V5UGFja2V0LmdldEZpbmdlcnByaW50KCk7XG5cbiAgICBjb25zdCB3YWxsZXRTaWduYXR1cmVzID0gYXdhaXQgb3BlbnBncC5yZWFkS2V5cyh7IGFybW9yZWRLZXlzOiBiaXRnb0tleWNoYWluLndhbGxldEhTTUdQR1B1YmxpY0tleVNpZ3MgfSk7XG4gICAgaWYgKHdhbGxldFNpZ25hdHVyZXMubGVuZ3RoICE9PSAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgd2FsbGV0IHNpZ25hdHVyZXMnKTtcbiAgICB9XG5cbiAgICBpZiAodXNlcktleUlkICE9PSB3YWxsZXRTaWduYXR1cmVzWzBdLmtleVBhY2tldC5nZXRGaW5nZXJwcmludCgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGZpcnN0IHdhbGxldCBzaWduYXR1cmUncyBmaW5nZXJwcmludCBkb2VzIG5vdCBtYXRjaCBwYXNzZWQgdXNlciBncGcga2V5J3MgZmluZ2VycHJpbnRgKTtcbiAgICB9XG5cbiAgICBpZiAoYmFja3VwS2V5SWQgIT09IHdhbGxldFNpZ25hdHVyZXNbMV0ua2V5UGFja2V0LmdldEZpbmdlcnByaW50KCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgc2Vjb25kIHdhbGxldCBzaWduYXR1cmUncyBmaW5nZXJwcmludCBkb2VzIG5vdCBtYXRjaCBwYXNzZWQgYmFja3VwIGdwZyBrZXkncyBmaW5nZXJwcmludGApO1xuICAgIH1cblxuICAgIGF3YWl0IHZlcmlmeVdhbGxldFNpZ25hdHVyZSh7XG4gICAgICB3YWxsZXRTaWduYXR1cmU6IHdhbGxldFNpZ25hdHVyZXNbMF0sXG4gICAgICBjb21tb25LZXljaGFpbjogYml0Z29LZXljaGFpbi5jb21tb25LZXljaGFpbixcbiAgICAgIHVzZXJLZXlJZCxcbiAgICAgIGJhY2t1cEtleUlkLFxuICAgICAgYml0Z29QdWI6IGJpdGdvR3BnS2V5LFxuICAgICAgZGVjcnlwdGVkU2hhcmUsXG4gICAgICB2ZXJpZmllckluZGV4LFxuICAgIH0pO1xuXG4gICAgYXdhaXQgdmVyaWZ5V2FsbGV0U2lnbmF0dXJlKHtcbiAgICAgIHdhbGxldFNpZ25hdHVyZTogd2FsbGV0U2lnbmF0dXJlc1sxXSxcbiAgICAgIGNvbW1vbktleWNoYWluOiBiaXRnb0tleWNoYWluLmNvbW1vbktleWNoYWluLFxuICAgICAgdXNlcktleUlkLFxuICAgICAgYmFja3VwS2V5SWQsXG4gICAgICBiaXRnb1B1YjogYml0Z29HcGdLZXksXG4gICAgICBkZWNyeXB0ZWRTaGFyZSxcbiAgICAgIHZlcmlmaWVySW5kZXgsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIEtleWNoYWluIGNvbnRhaW5pbmcgdGhlIFVzZXIncyBUU1Mgc2lnbmluZyBtYXRlcmlhbHMuXG4gICAqIFdlIG5lZWQgdG8gaGF2ZSB0aGUgcGFzc3BocmFzZSBiZSBvcHRpb25hbCB0byBhbGxvdyBmb3IgdGhlIGNsaWVudCB0byBzdG9yZSB0aGVpciBiYWNrdXAga2V5IG9uIHRoZWlyIHByZW1pc2VzXG4gICAqXG4gICAqIEBwYXJhbSB1c2VyR3BnS2V5IC0gZXBoZW1lcmFsIEdQRyBrZXkgdG8gZW5jcnlwdCAvIGRlY3J5cHQgc2Vuc2l0dmUgZGF0YSBleGNoYW5nZWQgYmV0d2VlbiB1c2VyIGFuZCBzZXJ2ZXJcbiAgICogQHBhcmFtIHVzZXJLZXlTaGFyZSAtIHVzZXIncyBUU1Mga2V5IHNoYXJlXG4gICAqIEBwYXJhbSBiYWNrdXBLZXlTaGFyZSAtIGJhY2t1cCdzIFRTUyBrZXkgc2hhcmVcbiAgICogQHBhcmFtIGJpdGdvS2V5Y2hhaW4gLSBwcmV2aW91c2x5IGNyZWF0ZWQgQml0R28ga2V5Y2hhaW47IG11c3QgYmUgY29tcGF0aWJsZSB3aXRoIHVzZXIgYW5kIGJhY2t1cCBrZXkgc2hhcmVzXG4gICAqIEBwYXJhbSBbcGFzc3BocmFzZV0gLSBvcHRpb25hbCB3YWxsZXQgcGFzc3BocmFzZSB1c2VkIHRvIGVuY3J5cHQgdXNlcidzIHNpZ25pbmcgbWF0ZXJpYWxzXG4gICAqIEBwYXJhbSBbb3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlXSAtIG9wdGlvbmFsIGVuY3J5cHRpb24gY29kZSBuZWVkZWQgZm9yIHdhbGxldCBwYXNzd29yZCByZXNldCBmb3IgaG90IHdhbGxldHNcbiAgICovXG4gIGFzeW5jIGNyZWF0ZVVzZXJLZXljaGFpbih7XG4gICAgdXNlckdwZ0tleSxcbiAgICBiYWNrdXBHcGdLZXksXG4gICAgdXNlcktleVNoYXJlLFxuICAgIGJhY2t1cEtleVNoYXJlLFxuICAgIGJpdGdvS2V5Y2hhaW4sXG4gICAgcGFzc3BocmFzZSxcbiAgICBvcmlnaW5hbFBhc3Njb2RlRW5jcnlwdGlvbkNvZGUsXG4gIH06IENyZWF0ZUVkZHNhS2V5Y2hhaW5QYXJhbXMpOiBQcm9taXNlPEtleWNoYWluPiB7XG4gICAgY29uc3QgTVBDID0gYXdhaXQgRWRkc2EuaW5pdGlhbGl6ZSgpO1xuICAgIGNvbnN0IGJpdGdvS2V5U2hhcmVzID0gYml0Z29LZXljaGFpbi5rZXlTaGFyZXM7XG4gICAgaWYgKCFiaXRnb0tleVNoYXJlcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIEJpdEdvIGtleSBzaGFyZXMnKTtcbiAgICB9XG5cbiAgICBjb25zdCBiaXRHb1RvVXNlclNoYXJlID0gYml0Z29LZXlTaGFyZXMuZmluZCgoa2V5U2hhcmUpID0+IGtleVNoYXJlLmZyb20gPT09ICdiaXRnbycgJiYga2V5U2hhcmUudG8gPT09ICd1c2VyJyk7XG4gICAgaWYgKCFiaXRHb1RvVXNlclNoYXJlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgQml0R28gdG8gVXNlciBrZXkgc2hhcmUnKTtcbiAgICB9XG5cbiAgICBjb25zdCBiaXRHb1RvVXNlclByaXZhdGVTaGFyZSA9IGF3YWl0IHRoaXMuZGVjcnlwdFByaXZhdGVTaGFyZShiaXRHb1RvVXNlclNoYXJlLnByaXZhdGVTaGFyZSwgdXNlckdwZ0tleSk7XG5cbiAgICBhd2FpdCB0aGlzLnZlcmlmeVdhbGxldFNpZ25hdHVyZXMoXG4gICAgICB1c2VyR3BnS2V5LnB1YmxpY0tleSxcbiAgICAgIGJhY2t1cEdwZ0tleS5wdWJsaWNLZXksXG4gICAgICBiaXRnb0tleWNoYWluLFxuICAgICAgYml0R29Ub1VzZXJQcml2YXRlU2hhcmUsXG4gICAgICAxXG4gICAgKTtcblxuICAgIGNvbnN0IGJpdGdvVG9Vc2VyOiBZU2hhcmUgPSB7XG4gICAgICBpOiAxLFxuICAgICAgajogMyxcbiAgICAgIHk6IGJpdEdvVG9Vc2VyU2hhcmUucHVibGljU2hhcmUuc2xpY2UoMCwgNjQpLFxuICAgICAgdjogYml0R29Ub1VzZXJTaGFyZS52c3NQcm9vZixcbiAgICAgIHU6IGJpdEdvVG9Vc2VyUHJpdmF0ZVNoYXJlLnNsaWNlKDAsIDY0KSxcbiAgICAgIGNoYWluY29kZTogYml0R29Ub1VzZXJQcml2YXRlU2hhcmUuc2xpY2UoNjQpLFxuICAgIH07XG5cbiAgICAvLyBUT0RPKEJHLTQ3MTcwKTogdXNlIHRzcy5jcmVhdGVDb21iaW5lZEtleSBoZWxwZXIgd2hlbiBzaWduYXR1cmVzIGFyZSBzdXBwb3J0ZWRcbiAgICBjb25zdCB1c2VyQ29tYmluZWQgPSBNUEMua2V5Q29tYmluZSh1c2VyS2V5U2hhcmUudVNoYXJlLCBbYmFja3VwS2V5U2hhcmUueVNoYXJlc1sxXSwgYml0Z29Ub1VzZXJdKTtcbiAgICBjb25zdCBjb21tb25LZXljaGFpbiA9IHVzZXJDb21iaW5lZC5wU2hhcmUueSArIHVzZXJDb21iaW5lZC5wU2hhcmUuY2hhaW5jb2RlO1xuICAgIGlmIChjb21tb25LZXljaGFpbiAhPT0gYml0Z29LZXljaGFpbi5jb21tb25LZXljaGFpbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gY3JlYXRlIHVzZXIga2V5Y2hhaW4gLSBjb21tb25LZXljaGFpbnMgZG8gbm90IG1hdGNoLicpO1xuICAgIH1cblxuICAgIGNvbnN0IHVzZXJTaWduaW5nTWF0ZXJpYWw6IFNpZ25pbmdNYXRlcmlhbCA9IHtcbiAgICAgIHVTaGFyZTogdXNlcktleVNoYXJlLnVTaGFyZSxcbiAgICAgIGJpdGdvWVNoYXJlOiBiaXRnb1RvVXNlcixcbiAgICAgIGJhY2t1cFlTaGFyZTogYmFja3VwS2V5U2hhcmUueVNoYXJlc1sxXSxcbiAgICB9O1xuXG4gICAgY29uc3QgdXNlcktleWNoYWluUGFyYW1zOiBBZGRLZXljaGFpbk9wdGlvbnMgPSB7XG4gICAgICBzb3VyY2U6ICd1c2VyJyxcbiAgICAgIGtleVR5cGU6ICd0c3MnLFxuICAgICAgY29tbW9uS2V5Y2hhaW46IGJpdGdvS2V5Y2hhaW4uY29tbW9uS2V5Y2hhaW4sXG4gICAgICBvcmlnaW5hbFBhc3Njb2RlRW5jcnlwdGlvbkNvZGUsXG4gICAgfTtcbiAgICBpZiAocGFzc3BocmFzZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB1c2VyS2V5Y2hhaW5QYXJhbXMuZW5jcnlwdGVkUHJ2ID0gdGhpcy5iaXRnby5lbmNyeXB0KHtcbiAgICAgICAgaW5wdXQ6IEpTT04uc3RyaW5naWZ5KHVzZXJTaWduaW5nTWF0ZXJpYWwpLFxuICAgICAgICBwYXNzd29yZDogcGFzc3BocmFzZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmJhc2VDb2luLmtleWNoYWlucygpLmFkZCh1c2VyS2V5Y2hhaW5QYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBLZXljaGFpbiBjb250YWluaW5nIHRoZSBCYWNrdXAgcGFydHkncyBUU1Mgc2lnbmluZyBtYXRlcmlhbHMuXG4gICAqIFdlIG5lZWQgdG8gaGF2ZSB0aGUgcGFzc3BocmFzZSBiZSBvcHRpb25hbCB0byBhbGxvdyBmb3IgdGhlIGNsaWVudCB0byBzdG9yZSB0aGVpciBiYWNrdXAga2V5IG9uIHRoZWlyIHByZW1pc2VzXG4gICAqXG4gICAqIEBwYXJhbSB1c2VyR3BnS2V5IC0gZXBoZW1lcmFsIEdQRyBrZXkgdG8gZW5jcnlwdCAvIGRlY3J5cHQgc2Vuc2l0dmUgZGF0YSBleGNoYW5nZWQgYmV0d2VlbiB1c2VyIGFuZCBzZXJ2ZXJcbiAgICogQHBhcmFtIHVzZXJLZXlTaGFyZSAtIFVzZXIncyBUU1MgS2V5c2hhcmVcbiAgICogQHBhcmFtIGJhY2t1cEdwZ0tleSAtIGVwaGVtZXJhbCBHUEcga2V5IHRvIGVuY3J5cHQgLyBkZWNyeXB0IHNlbnNpdHZlIGRhdGEgZXhjaGFuZ2VkIGJldHdlZW4gYmFja3VwIGFuZCBzZXJ2ZXJcbiAgICogQHBhcmFtIGJhY2t1cEtleVNoYXJlIC0gQmFja3VwJ3MgVFNTIEtleXNoYXJlXG4gICAqIEBwYXJhbSBiaXRnb0tleWNoYWluIC0gcHJldmlvdXNseSBjcmVhdGVkIEJpdEdvIGtleWNoYWluOyBtdXN0IGJlIGNvbXBhdGlibGUgd2l0aCB1c2VyIGFuZCBiYWNrdXAga2V5IHNoYXJlc1xuICAgKiBAcGFyYW0gW3Bhc3NwaHJhc2VdIC0gb3B0aW9uYWwgd2FsbGV0IHBhc3NwaHJhc2UgdXNlZCB0byBlbmNyeXB0IHVzZXIncyBzaWduaW5nIG1hdGVyaWFsc1xuICAgKi9cbiAgYXN5bmMgY3JlYXRlQmFja3VwS2V5Y2hhaW4oe1xuICAgIHVzZXJHcGdLZXksXG4gICAgYmFja3VwR3BnS2V5LFxuICAgIHVzZXJLZXlTaGFyZSxcbiAgICBiYWNrdXBLZXlTaGFyZSxcbiAgICBiaXRnb0tleWNoYWluLFxuICAgIHBhc3NwaHJhc2UsXG4gIH06IENyZWF0ZUVkZHNhS2V5Y2hhaW5QYXJhbXMpOiBQcm9taXNlPEtleWNoYWluPiB7XG4gICAgY29uc3QgTVBDID0gYXdhaXQgRWRkc2EuaW5pdGlhbGl6ZSgpO1xuICAgIGNvbnN0IGJpdGdvS2V5U2hhcmVzID0gYml0Z29LZXljaGFpbi5rZXlTaGFyZXM7XG4gICAgaWYgKCFiaXRnb0tleVNoYXJlcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGJpdGdvIGtleXNoYXJlcycpO1xuICAgIH1cblxuICAgIGNvbnN0IGJpdEdvVG9CYWNrdXBTaGFyZSA9IGJpdGdvS2V5U2hhcmVzLmZpbmQoKGtleVNoYXJlKSA9PiBrZXlTaGFyZS5mcm9tID09PSAnYml0Z28nICYmIGtleVNoYXJlLnRvID09PSAnYmFja3VwJyk7XG4gICAgaWYgKCFiaXRHb1RvQmFja3VwU2hhcmUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBCaXRHbyB0byBVc2VyIGtleSBzaGFyZScpO1xuICAgIH1cblxuICAgIGNvbnN0IGJpdEdvVG9CYWNrdXBQcml2YXRlU2hhcmUgPSBhd2FpdCB0aGlzLmRlY3J5cHRQcml2YXRlU2hhcmUoYml0R29Ub0JhY2t1cFNoYXJlLnByaXZhdGVTaGFyZSwgYmFja3VwR3BnS2V5KTtcblxuICAgIGF3YWl0IHRoaXMudmVyaWZ5V2FsbGV0U2lnbmF0dXJlcyhcbiAgICAgIHVzZXJHcGdLZXkucHVibGljS2V5LFxuICAgICAgYmFja3VwR3BnS2V5LnB1YmxpY0tleSxcbiAgICAgIGJpdGdvS2V5Y2hhaW4sXG4gICAgICBiaXRHb1RvQmFja3VwUHJpdmF0ZVNoYXJlLFxuICAgICAgMlxuICAgICk7XG5cbiAgICBjb25zdCBiaXRnb1RvQmFja3VwOiBZU2hhcmUgPSB7XG4gICAgICBpOiAyLFxuICAgICAgajogMyxcbiAgICAgIHk6IGJpdEdvVG9CYWNrdXBTaGFyZS5wdWJsaWNTaGFyZS5zbGljZSgwLCA2NCksXG4gICAgICB2OiBiaXRHb1RvQmFja3VwU2hhcmUudnNzUHJvb2YsXG4gICAgICB1OiBiaXRHb1RvQmFja3VwUHJpdmF0ZVNoYXJlLnNsaWNlKDAsIDY0KSxcbiAgICAgIGNoYWluY29kZTogYml0R29Ub0JhY2t1cFByaXZhdGVTaGFyZS5zbGljZSg2NCksXG4gICAgfTtcblxuICAgIC8vIFRPRE8oQkctNDcxNzApOiB1c2UgdHNzLmNyZWF0ZUNvbWJpbmVkS2V5IGhlbHBlciB3aGVuIHNpZ25hdHVyZXMgYXJlIHN1cHBvcnRlZFxuICAgIGNvbnN0IGJhY2t1cENvbWJpbmVkID0gTVBDLmtleUNvbWJpbmUoYmFja3VwS2V5U2hhcmUudVNoYXJlLCBbdXNlcktleVNoYXJlLnlTaGFyZXNbMl0sIGJpdGdvVG9CYWNrdXBdKTtcbiAgICBjb25zdCBjb21tb25LZXljaGFpbiA9IGJhY2t1cENvbWJpbmVkLnBTaGFyZS55ICsgYmFja3VwQ29tYmluZWQucFNoYXJlLmNoYWluY29kZTtcbiAgICBpZiAoY29tbW9uS2V5Y2hhaW4gIT09IGJpdGdvS2V5Y2hhaW4uY29tbW9uS2V5Y2hhaW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGNyZWF0ZSBiYWNrdXAga2V5Y2hhaW4gLSBjb21tb25LZXljaGFpbnMgZG8gbm90IG1hdGNoLicpO1xuICAgIH1cblxuICAgIGNvbnN0IGJhY2t1cFNpZ25pbmdNYXRlcmlhbDogU2lnbmluZ01hdGVyaWFsID0ge1xuICAgICAgdVNoYXJlOiBiYWNrdXBLZXlTaGFyZS51U2hhcmUsXG4gICAgICBiaXRnb1lTaGFyZTogYml0Z29Ub0JhY2t1cCxcbiAgICAgIHVzZXJZU2hhcmU6IHVzZXJLZXlTaGFyZS55U2hhcmVzWzJdLFxuICAgIH07XG4gICAgY29uc3QgcHJ2ID0gSlNPTi5zdHJpbmdpZnkoYmFja3VwU2lnbmluZ01hdGVyaWFsKTtcblxuICAgIGNvbnN0IHBhcmFtczogQ3JlYXRlQmFja3VwT3B0aW9ucyA9IHtcbiAgICAgIHNvdXJjZTogJ2JhY2t1cCcsXG4gICAgICBrZXlUeXBlOiAndHNzJyxcbiAgICAgIGNvbW1vbktleWNoYWluOiBiaXRnb0tleWNoYWluLmNvbW1vbktleWNoYWluLFxuICAgICAgcHJ2OiBwcnYsXG4gICAgfTtcblxuICAgIGlmIChwYXNzcGhyYXNlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHBhcmFtcy5lbmNyeXB0ZWRQcnYgPSB0aGlzLmJpdGdvLmVuY3J5cHQoeyBpbnB1dDogcHJ2LCBwYXNzd29yZDogcGFzc3BocmFzZSB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5iYXNlQ29pbi5rZXljaGFpbnMoKS5jcmVhdGVCYWNrdXAocGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgS2V5Y2hhaW4gY29udGFpbmluZyBCaXRHbydzIFRTUyBzaWduaW5nIG1hdGVyaWFscy5cbiAgICpcbiAgICogQHBhcmFtIHVzZXJHcGdLZXkgLSBlcGhlbWVyYWwgR1BHIGtleSB0byBlbmNyeXB0IC8gZGVjcnlwdCBzZW5zaXR2ZSBkYXRhIGV4Y2hhbmdlZCBiZXR3ZWVuIHVzZXIgYW5kIHNlcnZlclxuICAgKiBAcGFyYW0gdXNlcktleVNoYXJlIC0gdXNlcidzIFRTUyBrZXkgc2hhcmVcbiAgICogQHBhcmFtIGJhY2t1cEtleVNoYXJlIC0gYmFja3VwJ3MgVFNTIGtleSBzaGFyZVxuICAgKiBAcGFyYW0gZW50ZXJwcmlzZSAtIGVudGVycHJpc2UgYXNzb2NpYXRlZCB0byB0aGUgd2FsbGV0XG4gICAqL1xuICBhc3luYyBjcmVhdGVCaXRnb0tleWNoYWluKHtcbiAgICB1c2VyR3BnS2V5LFxuICAgIGJhY2t1cEdwZ0tleSxcbiAgICB1c2VyS2V5U2hhcmUsXG4gICAgYmFja3VwS2V5U2hhcmUsXG4gICAgZW50ZXJwcmlzZSxcbiAgfTogQ3JlYXRlRWRkc2FCaXRHb0tleWNoYWluUGFyYW1zKTogUHJvbWlzZTxLZXljaGFpbj4ge1xuICAgIC8vIFRPRE8oQkctNDcxNzApOiB1c2UgdHNzLmVuY3J5cHRZU2hhcmUgaGVscGVyIHdoZW4gc2lnbmF0dXJlcyBhcmUgc3VwcG9ydGVkXG4gICAgY29uc3QgdXNlclRvQml0Z29QdWJsaWNTaGFyZSA9IEJ1ZmZlci5jb25jYXQoW1xuICAgICAgQnVmZmVyLmZyb20odXNlcktleVNoYXJlLnVTaGFyZS55LCAnaGV4JyksXG4gICAgICBCdWZmZXIuZnJvbSh1c2VyS2V5U2hhcmUudVNoYXJlLmNoYWluY29kZSwgJ2hleCcpLFxuICAgIF0pLnRvU3RyaW5nKCdoZXgnKTtcbiAgICBjb25zdCB1c2VyVG9CaXRnb1ByaXZhdGVTaGFyZSA9IEJ1ZmZlci5jb25jYXQoW1xuICAgICAgQnVmZmVyLmZyb20odXNlcktleVNoYXJlLnlTaGFyZXNbM10udSwgJ2hleCcpLFxuICAgICAgQnVmZmVyLmZyb20odXNlcktleVNoYXJlLnlTaGFyZXNbM10uY2hhaW5jb2RlLCAnaGV4JyksXG4gICAgXSkudG9TdHJpbmcoJ2hleCcpO1xuICAgIGNvbnN0IHVzZXJUb0JpdGdvS2V5U2hhcmUgPSB7XG4gICAgICBwdWJsaWNTaGFyZTogdXNlclRvQml0Z29QdWJsaWNTaGFyZSxcbiAgICAgIHByaXZhdGVTaGFyZTogdXNlclRvQml0Z29Qcml2YXRlU2hhcmUsXG4gICAgICBwcml2YXRlU2hhcmVQcm9vZjogYXdhaXQgY3JlYXRlU2hhcmVQcm9vZih1c2VyR3BnS2V5LnByaXZhdGVLZXksIHVzZXJUb0JpdGdvUHJpdmF0ZVNoYXJlLnNsaWNlKDAsIDY0KSwgJ2VkZHNhJyksXG4gICAgICB2c3NQcm9vZjogdXNlcktleVNoYXJlLnlTaGFyZXNbM10udixcbiAgICB9O1xuXG4gICAgY29uc3QgYmFja3VwVG9CaXRnb1B1YmxpY1NoYXJlID0gQnVmZmVyLmNvbmNhdChbXG4gICAgICBCdWZmZXIuZnJvbShiYWNrdXBLZXlTaGFyZS51U2hhcmUueSwgJ2hleCcpLFxuICAgICAgQnVmZmVyLmZyb20oYmFja3VwS2V5U2hhcmUudVNoYXJlLmNoYWluY29kZSwgJ2hleCcpLFxuICAgIF0pLnRvU3RyaW5nKCdoZXgnKTtcbiAgICBjb25zdCBiYWNrdXBUb0JpdGdvUHJpdmF0ZVNoYXJlID0gQnVmZmVyLmNvbmNhdChbXG4gICAgICBCdWZmZXIuZnJvbShiYWNrdXBLZXlTaGFyZS55U2hhcmVzWzNdLnUsICdoZXgnKSxcbiAgICAgIEJ1ZmZlci5mcm9tKGJhY2t1cEtleVNoYXJlLnlTaGFyZXNbM10uY2hhaW5jb2RlLCAnaGV4JyksXG4gICAgXSkudG9TdHJpbmcoJ2hleCcpO1xuICAgIGNvbnN0IGJhY2t1cFRvQml0Z29LZXlTaGFyZSA9IHtcbiAgICAgIHB1YmxpY1NoYXJlOiBiYWNrdXBUb0JpdGdvUHVibGljU2hhcmUsXG4gICAgICBwcml2YXRlU2hhcmU6IGJhY2t1cFRvQml0Z29Qcml2YXRlU2hhcmUsXG4gICAgICBwcml2YXRlU2hhcmVQcm9vZjogYXdhaXQgY3JlYXRlU2hhcmVQcm9vZihcbiAgICAgICAgYmFja3VwR3BnS2V5LnByaXZhdGVLZXksXG4gICAgICAgIGJhY2t1cFRvQml0Z29Qcml2YXRlU2hhcmUuc2xpY2UoMCwgNjQpLFxuICAgICAgICAnZWRkc2EnXG4gICAgICApLFxuICAgICAgdnNzUHJvb2Y6IGJhY2t1cEtleVNoYXJlLnlTaGFyZXNbM10udixcbiAgICB9O1xuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY3JlYXRlQml0Z29LZXljaGFpbkluV1AoXG4gICAgICB1c2VyR3BnS2V5LFxuICAgICAgYmFja3VwR3BnS2V5LFxuICAgICAgdXNlclRvQml0Z29LZXlTaGFyZSxcbiAgICAgIGJhY2t1cFRvQml0Z29LZXlTaGFyZSxcbiAgICAgICd0c3MnLFxuICAgICAgZW50ZXJwcmlzZVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBVc2VyLCBCYWNrdXAsIGFuZCBCaXRHbyBUU1MgS2V5Y2hhaW5zLlxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zLnBhc3NwaHJhc2UgLSBwYXNzcGhyYXNlIHVzZWQgdG8gZW5jcnlwdCBzaWduaW5nIG1hdGVyaWFscyBjcmVhdGVkIGZvciBVc2VyIGFuZCBCYWNrdXBcbiAgICovXG4gIGFzeW5jIGNyZWF0ZUtleWNoYWlucyhwYXJhbXM6IHtcbiAgICBwYXNzcGhyYXNlPzogc3RyaW5nO1xuICAgIGVudGVycHJpc2U/OiBzdHJpbmc7XG4gICAgb3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlPzogc3RyaW5nO1xuICB9KTogUHJvbWlzZTxLZXljaGFpbnNUcmlwbGV0PiB7XG4gICAgY29uc3QgTVBDID0gYXdhaXQgRWRkc2EuaW5pdGlhbGl6ZSgpO1xuICAgIGNvbnN0IG0gPSAyO1xuICAgIGNvbnN0IG4gPSAzO1xuXG4gICAgY29uc3QgdXNlcktleVNoYXJlID0gTVBDLmtleVNoYXJlKDEsIG0sIG4pO1xuICAgIGNvbnN0IGJhY2t1cEtleVNoYXJlID0gTVBDLmtleVNoYXJlKDIsIG0sIG4pO1xuXG4gICAgY29uc3QgdXNlckdwZ0tleSA9IGF3YWl0IGdlbmVyYXRlR1BHS2V5UGFpcignc2VjcDI1NmsxJyk7XG4gICAgY29uc3QgYmFja3VwR3BnS2V5ID0gYXdhaXQgZ2VuZXJhdGVHUEdLZXlQYWlyKCdzZWNwMjU2azEnKTtcblxuICAgIGNvbnN0IGJpdGdvS2V5Y2hhaW4gPSBhd2FpdCB0aGlzLmNyZWF0ZUJpdGdvS2V5Y2hhaW4oe1xuICAgICAgdXNlckdwZ0tleSxcbiAgICAgIHVzZXJLZXlTaGFyZSxcbiAgICAgIGJhY2t1cEdwZ0tleSxcbiAgICAgIGJhY2t1cEtleVNoYXJlLFxuICAgICAgZW50ZXJwcmlzZTogcGFyYW1zLmVudGVycHJpc2UsXG4gICAgfSk7XG4gICAgY29uc3QgdXNlcktleWNoYWluUHJvbWlzZSA9IHRoaXMuY3JlYXRlVXNlcktleWNoYWluKHtcbiAgICAgIHVzZXJHcGdLZXksXG4gICAgICB1c2VyS2V5U2hhcmUsXG4gICAgICBiYWNrdXBHcGdLZXksXG4gICAgICBiYWNrdXBLZXlTaGFyZSxcbiAgICAgIGJpdGdvS2V5Y2hhaW4sXG4gICAgICBwYXNzcGhyYXNlOiBwYXJhbXMucGFzc3BocmFzZSxcbiAgICAgIG9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZTogcGFyYW1zLm9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZSxcbiAgICB9KTtcbiAgICBjb25zdCBiYWNrdXBLZXljaGFpblByb21pc2UgPSB0aGlzLmNyZWF0ZUJhY2t1cEtleWNoYWluKHtcbiAgICAgIHVzZXJHcGdLZXksXG4gICAgICB1c2VyS2V5U2hhcmUsXG4gICAgICBiYWNrdXBHcGdLZXksXG4gICAgICBiYWNrdXBLZXlTaGFyZSxcbiAgICAgIGJpdGdvS2V5Y2hhaW4sXG4gICAgICBwYXNzcGhyYXNlOiBwYXJhbXMucGFzc3BocmFzZSxcbiAgICB9KTtcbiAgICBjb25zdCBbdXNlcktleWNoYWluLCBiYWNrdXBLZXljaGFpbl0gPSBhd2FpdCBQcm9taXNlLmFsbChbdXNlcktleWNoYWluUHJvbWlzZSwgYmFja3VwS2V5Y2hhaW5Qcm9taXNlXSk7XG5cbiAgICAvLyBjcmVhdGUgd2FsbGV0XG4gICAgY29uc3Qga2V5Y2hhaW5zID0ge1xuICAgICAgdXNlcktleWNoYWluLFxuICAgICAgYmFja3VwS2V5Y2hhaW4sXG4gICAgICBiaXRnb0tleWNoYWluLFxuICAgIH07XG5cbiAgICByZXR1cm4ga2V5Y2hhaW5zO1xuICB9XG5cbiAgYXN5bmMgY3JlYXRlQ29tbWl0bWVudFNoYXJlRnJvbVR4UmVxdWVzdChwYXJhbXM6IHtcbiAgICB0eFJlcXVlc3Q6IFR4UmVxdWVzdDtcbiAgICBwcnY6IHN0cmluZztcbiAgICB3YWxsZXRQYXNzcGhyYXNlOiBzdHJpbmc7XG4gIH0pOiBQcm9taXNlPHtcbiAgICB1c2VyVG9CaXRnb0NvbW1pdG1lbnQ6IENvbW1pdG1lbnRTaGFyZVJlY29yZDtcbiAgICBlbmNyeXB0ZWRTaWduZXJTaGFyZTogRW5jcnlwdGVkU2lnbmVyU2hhcmVSZWNvcmQ7XG4gICAgZW5jcnlwdGVkVXNlclRvQml0Z29SU2hhcmU6IEVuY3J5cHRlZFNpZ25lclNoYXJlUmVjb3JkO1xuICB9PiB7XG4gICAgY29uc3QgYml0Z29JbmRleCA9IFNoYXJlS2V5UG9zaXRpb24uQklUR087XG4gICAgY29uc3QgeyB0eFJlcXVlc3QsIHBydiB9ID0gcGFyYW1zO1xuICAgIGNvbnN0IHR4UmVxdWVzdFJlc29sdmVkOiBUeFJlcXVlc3QgPSB0eFJlcXVlc3Q7XG5cbiAgICBjb25zdCBoZFRyZWUgPSBhd2FpdCBFZDI1NTE5QklQMzIuaW5pdGlhbGl6ZSgpO1xuICAgIGNvbnN0IE1QQyA9IGF3YWl0IEVkZHNhLmluaXRpYWxpemUoaGRUcmVlKTtcblxuICAgIGNvbnN0IHVzZXJTaWduaW5nTWF0ZXJpYWw6IFNpZ25pbmdNYXRlcmlhbCA9IEpTT04ucGFyc2UocHJ2KTtcbiAgICBpZiAoIXVzZXJTaWduaW5nTWF0ZXJpYWwuYmFja3VwWVNoYXJlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdXNlciBrZXkgLSBtaXNzaW5nIGJhY2t1cFlTaGFyZScpO1xuICAgIH1cblxuICAgIGFzc2VydCh0eFJlcXVlc3RSZXNvbHZlZC50cmFuc2FjdGlvbnMgfHwgdHhSZXF1ZXN0UmVzb2x2ZWQudW5zaWduZWRUeHMsICdVbmFibGUgdG8gZmluZCB0cmFuc2FjdGlvbnMgaW4gdHhSZXF1ZXN0Jyk7XG4gICAgY29uc3QgdW5zaWduZWRUeCA9XG4gICAgICB0eFJlcXVlc3RSZXNvbHZlZC5hcGlWZXJzaW9uID09PSAnZnVsbCdcbiAgICAgICAgPyB0eFJlcXVlc3RSZXNvbHZlZC50cmFuc2FjdGlvbnMhWzBdLnVuc2lnbmVkVHhcbiAgICAgICAgOiB0eFJlcXVlc3RSZXNvbHZlZC51bnNpZ25lZFR4c1swXTtcblxuICAgIGNvbnN0IHNpZ25pbmdLZXkgPSBNUEMua2V5RGVyaXZlKFxuICAgICAgdXNlclNpZ25pbmdNYXRlcmlhbC51U2hhcmUsXG4gICAgICBbdXNlclNpZ25pbmdNYXRlcmlhbC5iaXRnb1lTaGFyZSwgdXNlclNpZ25pbmdNYXRlcmlhbC5iYWNrdXBZU2hhcmVdLFxuICAgICAgdW5zaWduZWRUeC5kZXJpdmF0aW9uUGF0aFxuICAgICk7XG5cbiAgICBjb25zdCBzaWduYWJsZVBheWxvYWQgPSBCdWZmZXIuZnJvbSh1bnNpZ25lZFR4LnNpZ25hYmxlSGV4LCAnaGV4Jyk7XG5cbiAgICBjb25zdCB1c2VyU2lnblNoYXJlID0gYXdhaXQgY3JlYXRlVXNlclNpZ25TaGFyZShzaWduYWJsZVBheWxvYWQsIHNpZ25pbmdLZXkucFNoYXJlKTtcbiAgICBjb25zdCBjb21taXRtZW50ID0gdXNlclNpZ25TaGFyZS5yU2hhcmVzW2JpdGdvSW5kZXhdPy5jb21taXRtZW50O1xuICAgIGFzc2VydChjb21taXRtZW50LCAnVW5hYmxlIHRvIGZpbmQgY29tbWl0bWVudCBpbiB1c2VyU2lnblNoYXJlJyk7XG4gICAgY29uc3QgdXNlclRvQml0Z29Db21taXRtZW50ID0gdGhpcy5jcmVhdGVVc2VyVG9CaXRnb0NvbW1pdG1lbnRTaGFyZShjb21taXRtZW50KTtcblxuICAgIGNvbnN0IHNpZ25lclNoYXJlID0gc2lnbmluZ0tleS55U2hhcmVzW2JpdGdvSW5kZXhdLnUgKyBzaWduaW5nS2V5LnlTaGFyZXNbYml0Z29JbmRleF0uY2hhaW5jb2RlO1xuICAgIGNvbnN0IGJpdGdvR3BnS2V5ID0gYXdhaXQgZ2V0Qml0Z29HcGdQdWJLZXkodGhpcy5iaXRnbyk7XG4gICAgY29uc3QgdXNlclRvQml0Z29FbmNyeXB0ZWRTaWduZXJTaGFyZSA9IGF3YWl0IGVuY3J5cHRUZXh0KHNpZ25lclNoYXJlLCBiaXRnb0dwZ0tleSk7XG5cbiAgICBjb25zdCBlbmNyeXB0ZWRTaWduZXJTaGFyZSA9IHRoaXMuY3JlYXRlVXNlclRvQml0Z29FbmNyeXB0ZWRTaWduZXJTaGFyZSh1c2VyVG9CaXRnb0VuY3J5cHRlZFNpZ25lclNoYXJlKTtcbiAgICBjb25zdCBzdHJpbmdpZmllZFJTaGFyZSA9IEpTT04uc3RyaW5naWZ5KHVzZXJTaWduU2hhcmUpO1xuICAgIGNvbnN0IGVuY3J5cHRlZFJTaGFyZSA9IHRoaXMuYml0Z28uZW5jcnlwdCh7IGlucHV0OiBzdHJpbmdpZmllZFJTaGFyZSwgcGFzc3dvcmQ6IHBhcmFtcy53YWxsZXRQYXNzcGhyYXNlIH0pO1xuICAgIGNvbnN0IGVuY3J5cHRlZFVzZXJUb0JpdGdvUlNoYXJlID0gdGhpcy5jcmVhdGVVc2VyVG9CaXRnb0VuY3J5cHRlZFJTaGFyZShlbmNyeXB0ZWRSU2hhcmUpO1xuXG4gICAgcmV0dXJuIHsgdXNlclRvQml0Z29Db21taXRtZW50LCBlbmNyeXB0ZWRTaWduZXJTaGFyZSwgZW5jcnlwdGVkVXNlclRvQml0Z29SU2hhcmUgfTtcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZVJTaGFyZUZyb21UeFJlcXVlc3QocGFyYW1zOiB7XG4gICAgdHhSZXF1ZXN0OiBUeFJlcXVlc3Q7XG4gICAgd2FsbGV0UGFzc3BocmFzZTogc3RyaW5nO1xuICAgIGVuY3J5cHRlZFVzZXJUb0JpdGdvUlNoYXJlOiBFbmNyeXB0ZWRTaWduZXJTaGFyZVJlY29yZDtcbiAgfSk6IFByb21pc2U8eyByU2hhcmU6IFNpZ25TaGFyZSB9PiB7XG4gICAgY29uc3QgeyB3YWxsZXRQYXNzcGhyYXNlLCBlbmNyeXB0ZWRVc2VyVG9CaXRnb1JTaGFyZSB9ID0gcGFyYW1zO1xuXG4gICAgY29uc3QgZGVjcnlwdGVkUlNoYXJlID0gdGhpcy5iaXRnby5kZWNyeXB0KHtcbiAgICAgIGlucHV0OiBlbmNyeXB0ZWRVc2VyVG9CaXRnb1JTaGFyZS5zaGFyZSxcbiAgICAgIHBhc3N3b3JkOiB3YWxsZXRQYXNzcGhyYXNlLFxuICAgIH0pO1xuICAgIGNvbnN0IHJTaGFyZSA9IEpTT04ucGFyc2UoZGVjcnlwdGVkUlNoYXJlKTtcbiAgICBhc3NlcnQoclNoYXJlLnhTaGFyZSwgJ1VuYWJsZSB0byBmaW5kIHhTaGFyZSBpbiBkZWNyeXB0ZWRSU2hhcmUnKTtcbiAgICBhc3NlcnQoclNoYXJlLnJTaGFyZXMsICdVbmFibGUgdG8gZmluZCByU2hhcmVzIGluIGRlY3J5cHRlZFJTaGFyZScpO1xuXG4gICAgcmV0dXJuIHsgclNoYXJlIH07XG4gIH1cblxuICBhc3luYyBjcmVhdGVHU2hhcmVGcm9tVHhSZXF1ZXN0KHBhcmFtczoge1xuICAgIHR4UmVxdWVzdDogc3RyaW5nIHwgVHhSZXF1ZXN0O1xuICAgIHBydjogc3RyaW5nO1xuICAgIGJpdGdvVG9Vc2VyUlNoYXJlOiBTaWduYXR1cmVTaGFyZVJlY29yZDtcbiAgICB1c2VyVG9CaXRnb1JTaGFyZTogU2lnblNoYXJlO1xuICAgIGJpdGdvVG9Vc2VyQ29tbWl0bWVudDogQ29tbWl0bWVudFNoYXJlUmVjb3JkO1xuICB9KTogUHJvbWlzZTxHU2hhcmU+IHtcbiAgICBsZXQgdHhSZXF1ZXN0UmVzb2x2ZWQ6IFR4UmVxdWVzdDtcblxuICAgIGNvbnN0IHsgdHhSZXF1ZXN0LCBwcnYsIGJpdGdvVG9Vc2VyQ29tbWl0bWVudCwgYml0Z29Ub1VzZXJSU2hhcmUsIHVzZXJUb0JpdGdvUlNoYXJlIH0gPSBwYXJhbXM7XG5cbiAgICBpZiAodHlwZW9mIHR4UmVxdWVzdCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHR4UmVxdWVzdFJlc29sdmVkID0gYXdhaXQgZ2V0VHhSZXF1ZXN0KHRoaXMuYml0Z28sIHRoaXMud2FsbGV0LmlkKCksIHR4UmVxdWVzdCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHR4UmVxdWVzdFJlc29sdmVkID0gdHhSZXF1ZXN0O1xuICAgIH1cblxuICAgIGNvbnN0IHVzZXJTaWduaW5nTWF0ZXJpYWw6IFNpZ25pbmdNYXRlcmlhbCA9IEpTT04ucGFyc2UocHJ2KTtcbiAgICBpZiAoIXVzZXJTaWduaW5nTWF0ZXJpYWwuYmFja3VwWVNoYXJlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdXNlciBrZXkgLSBtaXNzaW5nIGJhY2t1cFlTaGFyZScpO1xuICAgIH1cblxuICAgIGFzc2VydCh0eFJlcXVlc3RSZXNvbHZlZC50cmFuc2FjdGlvbnMgfHwgdHhSZXF1ZXN0UmVzb2x2ZWQudW5zaWduZWRUeHMsICdVbmFibGUgdG8gZmluZCB0cmFuc2FjdGlvbnMgaW4gdHhSZXF1ZXN0Jyk7XG4gICAgY29uc3QgdW5zaWduZWRUeCA9XG4gICAgICB0eFJlcXVlc3RSZXNvbHZlZC5hcGlWZXJzaW9uID09PSAnZnVsbCdcbiAgICAgICAgPyB0eFJlcXVlc3RSZXNvbHZlZC50cmFuc2FjdGlvbnMhWzBdLnVuc2lnbmVkVHhcbiAgICAgICAgOiB0eFJlcXVlc3RSZXNvbHZlZC51bnNpZ25lZFR4c1swXTtcblxuICAgIGNvbnN0IHNpZ25hYmxlUGF5bG9hZCA9IEJ1ZmZlci5mcm9tKHVuc2lnbmVkVHguc2lnbmFibGVIZXgsICdoZXgnKTtcblxuICAgIGNvbnN0IHVzZXJUb0JpdEdvR1NoYXJlID0gYXdhaXQgY3JlYXRlVXNlclRvQml0R29HU2hhcmUoXG4gICAgICB1c2VyVG9CaXRnb1JTaGFyZSxcbiAgICAgIGJpdGdvVG9Vc2VyUlNoYXJlLFxuICAgICAgdXNlclNpZ25pbmdNYXRlcmlhbC5iYWNrdXBZU2hhcmUsXG4gICAgICB1c2VyU2lnbmluZ01hdGVyaWFsLmJpdGdvWVNoYXJlLFxuICAgICAgc2lnbmFibGVQYXlsb2FkLFxuICAgICAgYml0Z29Ub1VzZXJDb21taXRtZW50XG4gICAgKTtcbiAgICByZXR1cm4gdXNlclRvQml0R29HU2hhcmU7XG4gIH1cblxuICBhc3luYyBzaWduVXNpbmdFeHRlcm5hbFNpZ25lcihcbiAgICB0eFJlcXVlc3Q6IHN0cmluZyB8IFR4UmVxdWVzdCxcbiAgICBleHRlcm5hbFNpZ25lckNvbW1pdG1lbnRHZW5lcmF0b3I6IEN1c3RvbUNvbW1pdG1lbnRHZW5lcmF0aW5nRnVuY3Rpb24sXG4gICAgZXh0ZXJuYWxTaWduZXJSU2hhcmVHZW5lcmF0b3I6IEN1c3RvbVJTaGFyZUdlbmVyYXRpbmdGdW5jdGlvbixcbiAgICBleHRlcm5hbFNpZ25lckdTaGFyZUdlbmVyYXRvcjogQ3VzdG9tR1NoYXJlR2VuZXJhdGluZ0Z1bmN0aW9uXG4gICk6IFByb21pc2U8VHhSZXF1ZXN0PiB7XG4gICAgbGV0IHR4UmVxdWVzdFJlc29sdmVkOiBUeFJlcXVlc3Q7XG4gICAgbGV0IHR4UmVxdWVzdElkOiBzdHJpbmc7XG4gICAgaWYgKHR5cGVvZiB0eFJlcXVlc3QgPT09ICdzdHJpbmcnKSB7XG4gICAgICB0eFJlcXVlc3RSZXNvbHZlZCA9IGF3YWl0IGdldFR4UmVxdWVzdCh0aGlzLmJpdGdvLCB0aGlzLndhbGxldC5pZCgpLCB0eFJlcXVlc3QpO1xuICAgICAgdHhSZXF1ZXN0SWQgPSB0eFJlcXVlc3RSZXNvbHZlZC50eFJlcXVlc3RJZDtcbiAgICB9IGVsc2Uge1xuICAgICAgdHhSZXF1ZXN0UmVzb2x2ZWQgPSB0eFJlcXVlc3Q7XG4gICAgICB0eFJlcXVlc3RJZCA9IHR4UmVxdWVzdC50eFJlcXVlc3RJZDtcbiAgICB9XG5cbiAgICBjb25zdCB7IGFwaVZlcnNpb24gfSA9IHR4UmVxdWVzdFJlc29sdmVkO1xuXG4gICAgY29uc3QgeyB1c2VyVG9CaXRnb0NvbW1pdG1lbnQsIGVuY3J5cHRlZFNpZ25lclNoYXJlLCBlbmNyeXB0ZWRVc2VyVG9CaXRnb1JTaGFyZSB9ID1cbiAgICAgIGF3YWl0IGV4dGVybmFsU2lnbmVyQ29tbWl0bWVudEdlbmVyYXRvcih7IHR4UmVxdWVzdDogdHhSZXF1ZXN0UmVzb2x2ZWQgfSk7XG5cbiAgICBjb25zdCB7IGNvbW1pdG1lbnRTaGFyZTogYml0Z29Ub1VzZXJDb21taXRtZW50IH0gPSBhd2FpdCBleGNoYW5nZUVkZHNhQ29tbWl0bWVudHMoXG4gICAgICB0aGlzLmJpdGdvLFxuICAgICAgdGhpcy53YWxsZXQuaWQoKSxcbiAgICAgIHR4UmVxdWVzdElkLFxuICAgICAgdXNlclRvQml0Z29Db21taXRtZW50LFxuICAgICAgZW5jcnlwdGVkU2lnbmVyU2hhcmUsXG4gICAgICBhcGlWZXJzaW9uXG4gICAgKTtcblxuICAgIGNvbnN0IHsgclNoYXJlIH0gPSBhd2FpdCBleHRlcm5hbFNpZ25lclJTaGFyZUdlbmVyYXRvcih7XG4gICAgICB0eFJlcXVlc3Q6IHR4UmVxdWVzdFJlc29sdmVkLFxuICAgICAgZW5jcnlwdGVkVXNlclRvQml0Z29SU2hhcmUsXG4gICAgfSk7XG5cbiAgICBhd2FpdCBvZmZlclVzZXJUb0JpdGdvUlNoYXJlKFxuICAgICAgdGhpcy5iaXRnbyxcbiAgICAgIHRoaXMud2FsbGV0LmlkKCksXG4gICAgICB0eFJlcXVlc3RJZCxcbiAgICAgIHJTaGFyZSxcbiAgICAgIGVuY3J5cHRlZFNpZ25lclNoYXJlLnNoYXJlLFxuICAgICAgYXBpVmVyc2lvblxuICAgICk7XG4gICAgY29uc3QgYml0Z29Ub1VzZXJSU2hhcmUgPSBhd2FpdCBnZXRCaXRnb1RvVXNlclJTaGFyZSh0aGlzLmJpdGdvLCB0aGlzLndhbGxldC5pZCgpLCB0eFJlcXVlc3RJZCk7XG4gICAgY29uc3QgZ1NpZ25TaGFyZVRyYW5zYWN0aW9uUGFyYW1zID0ge1xuICAgICAgdHhSZXF1ZXN0OiB0eFJlcXVlc3RSZXNvbHZlZCxcbiAgICAgIGJpdGdvVG9Vc2VyUlNoYXJlOiBiaXRnb1RvVXNlclJTaGFyZSxcbiAgICAgIHVzZXJUb0JpdGdvUlNoYXJlOiByU2hhcmUsXG4gICAgICBiaXRnb1RvVXNlckNvbW1pdG1lbnQsXG4gICAgfTtcbiAgICBjb25zdCBnU2hhcmUgPSBhd2FpdCBleHRlcm5hbFNpZ25lckdTaGFyZUdlbmVyYXRvcihnU2lnblNoYXJlVHJhbnNhY3Rpb25QYXJhbXMpO1xuICAgIGF3YWl0IHNlbmRVc2VyVG9CaXRnb0dTaGFyZSh0aGlzLmJpdGdvLCB0aGlzLndhbGxldC5pZCgpLCB0eFJlcXVlc3RJZCwgZ1NoYXJlLCBhcGlWZXJzaW9uKTtcbiAgICByZXR1cm4gYXdhaXQgZ2V0VHhSZXF1ZXN0KHRoaXMuYml0Z28sIHRoaXMud2FsbGV0LmlkKCksIHR4UmVxdWVzdElkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTaWducyB0aGUgdHJhbnNhY3Rpb24gYXNzb2NpYXRlZCB0byB0aGUgdHJhbnNhY3Rpb24gcmVxdWVzdC5cbiAgICpcbiAgICogQHBhcmFtIHR4UmVxdWVzdCAtIHRyYW5zYWN0aW9uIHJlcXVlc3Qgb2JqZWN0IG9yIGlkXG4gICAqIEBwYXJhbSBwcnYgLSBkZWNyeXB0ZWQgcHJpdmF0ZSBrZXlcbiAgICogQHBhcmFtIHJlcUlkIC0gcmVxdWVzdCBpZFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxUeFJlcXVlc3Q+fSBmdWxseSBzaWduZWQgVHhSZXF1ZXN0IG9iamVjdFxuICAgKi9cbiAgYXN5bmMgc2lnblR4UmVxdWVzdChwYXJhbXM6IFRTU1BhcmFtcyk6IFByb21pc2U8VHhSZXF1ZXN0PiB7XG4gICAgbGV0IHR4UmVxdWVzdFJlc29sdmVkOiBUeFJlcXVlc3Q7XG4gICAgbGV0IHR4UmVxdWVzdElkOiBzdHJpbmc7XG5cbiAgICBjb25zdCB7IHR4UmVxdWVzdCwgcHJ2IH0gPSBwYXJhbXM7XG5cbiAgICBpZiAodHlwZW9mIHR4UmVxdWVzdCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHR4UmVxdWVzdFJlc29sdmVkID0gYXdhaXQgZ2V0VHhSZXF1ZXN0KHRoaXMuYml0Z28sIHRoaXMud2FsbGV0LmlkKCksIHR4UmVxdWVzdCk7XG4gICAgICB0eFJlcXVlc3RJZCA9IHR4UmVxdWVzdFJlc29sdmVkLnR4UmVxdWVzdElkO1xuICAgIH0gZWxzZSB7XG4gICAgICB0eFJlcXVlc3RSZXNvbHZlZCA9IHR4UmVxdWVzdDtcbiAgICAgIHR4UmVxdWVzdElkID0gdHhSZXF1ZXN0LnR4UmVxdWVzdElkO1xuICAgIH1cblxuICAgIGNvbnN0IGhkVHJlZSA9IGF3YWl0IEVkMjU1MTlCSVAzMi5pbml0aWFsaXplKCk7XG4gICAgY29uc3QgTVBDID0gYXdhaXQgRWRkc2EuaW5pdGlhbGl6ZShoZFRyZWUpO1xuXG4gICAgY29uc3QgdXNlclNpZ25pbmdNYXRlcmlhbDogU2lnbmluZ01hdGVyaWFsID0gSlNPTi5wYXJzZShwcnYpO1xuICAgIGlmICghdXNlclNpZ25pbmdNYXRlcmlhbC5iYWNrdXBZU2hhcmUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB1c2VyIGtleSAtIG1pc3NpbmcgYmFja3VwWVNoYXJlJyk7XG4gICAgfVxuXG4gICAgY29uc3QgeyBhcGlWZXJzaW9uIH0gPSB0eFJlcXVlc3RSZXNvbHZlZDtcbiAgICBhc3NlcnQodHhSZXF1ZXN0UmVzb2x2ZWQudHJhbnNhY3Rpb25zIHx8IHR4UmVxdWVzdFJlc29sdmVkLnVuc2lnbmVkVHhzLCAnVW5hYmxlIHRvIGZpbmQgdHJhbnNhY3Rpb25zIGluIHR4UmVxdWVzdCcpO1xuICAgIGNvbnN0IHVuc2lnbmVkVHggPVxuICAgICAgYXBpVmVyc2lvbiA9PT0gJ2Z1bGwnID8gdHhSZXF1ZXN0UmVzb2x2ZWQudHJhbnNhY3Rpb25zIVswXS51bnNpZ25lZFR4IDogdHhSZXF1ZXN0UmVzb2x2ZWQudW5zaWduZWRUeHNbMF07XG5cbiAgICBjb25zdCBzaWduaW5nS2V5ID0gTVBDLmtleURlcml2ZShcbiAgICAgIHVzZXJTaWduaW5nTWF0ZXJpYWwudVNoYXJlLFxuICAgICAgW3VzZXJTaWduaW5nTWF0ZXJpYWwuYml0Z29ZU2hhcmUsIHVzZXJTaWduaW5nTWF0ZXJpYWwuYmFja3VwWVNoYXJlXSxcbiAgICAgIHVuc2lnbmVkVHguZGVyaXZhdGlvblBhdGhcbiAgICApO1xuXG4gICAgY29uc3Qgc2lnbmFibGVQYXlsb2FkID0gQnVmZmVyLmZyb20odW5zaWduZWRUeC5zaWduYWJsZUhleCwgJ2hleCcpO1xuXG4gICAgY29uc3QgdXNlclNpZ25TaGFyZSA9IGF3YWl0IGNyZWF0ZVVzZXJTaWduU2hhcmUoc2lnbmFibGVQYXlsb2FkLCBzaWduaW5nS2V5LnBTaGFyZSk7XG5cbiAgICBjb25zdCBiaXRnb0luZGV4ID0gU2hhcmVLZXlQb3NpdGlvbi5CSVRHTztcbiAgICBjb25zdCBzaWduZXJTaGFyZSA9IHNpZ25pbmdLZXkueVNoYXJlc1tiaXRnb0luZGV4XS51ICsgc2lnbmluZ0tleS55U2hhcmVzW2JpdGdvSW5kZXhdLmNoYWluY29kZTtcbiAgICBjb25zdCBiaXRnb0dwZ0tleSA9IGF3YWl0IGdldEJpdGdvR3BnUHViS2V5KHRoaXMuYml0Z28pO1xuICAgIGNvbnN0IHVzZXJUb0JpdGdvRW5jcnlwdGVkU2lnbmVyU2hhcmUgPSBhd2FpdCBlbmNyeXB0VGV4dChzaWduZXJTaGFyZSwgYml0Z29HcGdLZXkpO1xuXG4gICAgY29uc3QgdXNlckdwZ0tleSA9IGF3YWl0IGdlbmVyYXRlR1BHS2V5UGFpcignc2VjcDI1NmsxJyk7XG4gICAgY29uc3QgcHJpdmF0ZVNoYXJlUHJvb2YgPSBhd2FpdCBjcmVhdGVTaGFyZVByb29mKHVzZXJHcGdLZXkucHJpdmF0ZUtleSwgc2lnbmluZ0tleS55U2hhcmVzW2JpdGdvSW5kZXhdLnUsICdlZGRzYScpO1xuICAgIGNvbnN0IHZzc1Byb29mID0gc2lnbmluZ0tleS55U2hhcmVzW2JpdGdvSW5kZXhdLnY7XG4gICAgY29uc3QgdXNlclB1YmxpY0dwZ0tleSA9IHVzZXJHcGdLZXkucHVibGljS2V5O1xuICAgIGNvbnN0IHB1YmxpY1NoYXJlID0gc2lnbmluZ0tleS55U2hhcmVzW2JpdGdvSW5kZXhdLnkgKyBzaWduaW5nS2V5LnlTaGFyZXNbYml0Z29JbmRleF0uY2hhaW5jb2RlO1xuXG4gICAgY29uc3QgdXNlclRvQml0Z29Db21taXRtZW50ID0gdXNlclNpZ25TaGFyZS5yU2hhcmVzW2JpdGdvSW5kZXhdLmNvbW1pdG1lbnQ7XG4gICAgYXNzZXJ0KHVzZXJUb0JpdGdvQ29tbWl0bWVudCwgJ01pc3NpbmcgdXNlclRvQml0Z29Db21taXRtZW50IGNvbW1pdG1lbnQnKTtcblxuICAgIGNvbnN0IGNvbW1pdG1lbnRTaGFyZSA9IHRoaXMuY3JlYXRlVXNlclRvQml0Z29Db21taXRtZW50U2hhcmUodXNlclRvQml0Z29Db21taXRtZW50KTtcbiAgICBjb25zdCBlbmNyeXB0ZWRTaWduZXJTaGFyZSA9IHRoaXMuY3JlYXRlVXNlclRvQml0Z29FbmNyeXB0ZWRTaWduZXJTaGFyZSh1c2VyVG9CaXRnb0VuY3J5cHRlZFNpZ25lclNoYXJlKTtcblxuICAgIGNvbnN0IHsgY29tbWl0bWVudFNoYXJlOiBiaXRnb1RvVXNlckNvbW1pdG1lbnQgfSA9IGF3YWl0IGV4Y2hhbmdlRWRkc2FDb21taXRtZW50cyhcbiAgICAgIHRoaXMuYml0Z28sXG4gICAgICB0aGlzLndhbGxldC5pZCgpLFxuICAgICAgdHhSZXF1ZXN0SWQsXG4gICAgICBjb21taXRtZW50U2hhcmUsXG4gICAgICBlbmNyeXB0ZWRTaWduZXJTaGFyZSxcbiAgICAgIGFwaVZlcnNpb25cbiAgICApO1xuXG4gICAgYXdhaXQgb2ZmZXJVc2VyVG9CaXRnb1JTaGFyZShcbiAgICAgIHRoaXMuYml0Z28sXG4gICAgICB0aGlzLndhbGxldC5pZCgpLFxuICAgICAgdHhSZXF1ZXN0SWQsXG4gICAgICB1c2VyU2lnblNoYXJlLFxuICAgICAgdXNlclRvQml0Z29FbmNyeXB0ZWRTaWduZXJTaGFyZSxcbiAgICAgIGFwaVZlcnNpb24sXG4gICAgICB2c3NQcm9vZixcbiAgICAgIHByaXZhdGVTaGFyZVByb29mLFxuICAgICAgdXNlclB1YmxpY0dwZ0tleSxcbiAgICAgIHB1YmxpY1NoYXJlXG4gICAgKTtcblxuICAgIGNvbnN0IGJpdGdvVG9Vc2VyUlNoYXJlID0gYXdhaXQgZ2V0Qml0Z29Ub1VzZXJSU2hhcmUodGhpcy5iaXRnbywgdGhpcy53YWxsZXQuaWQoKSwgdHhSZXF1ZXN0SWQpO1xuXG4gICAgY29uc3QgdXNlclRvQml0R29HU2hhcmUgPSBhd2FpdCBjcmVhdGVVc2VyVG9CaXRHb0dTaGFyZShcbiAgICAgIHVzZXJTaWduU2hhcmUsXG4gICAgICBiaXRnb1RvVXNlclJTaGFyZSxcbiAgICAgIHVzZXJTaWduaW5nTWF0ZXJpYWwuYmFja3VwWVNoYXJlLFxuICAgICAgdXNlclNpZ25pbmdNYXRlcmlhbC5iaXRnb1lTaGFyZSxcbiAgICAgIHNpZ25hYmxlUGF5bG9hZCxcbiAgICAgIGJpdGdvVG9Vc2VyQ29tbWl0bWVudFxuICAgICk7XG5cbiAgICBhd2FpdCBzZW5kVXNlclRvQml0Z29HU2hhcmUodGhpcy5iaXRnbywgdGhpcy53YWxsZXQuaWQoKSwgdHhSZXF1ZXN0SWQsIHVzZXJUb0JpdEdvR1NoYXJlLCBhcGlWZXJzaW9uKTtcblxuICAgIHJldHVybiBhd2FpdCBnZXRUeFJlcXVlc3QodGhpcy5iaXRnbywgdGhpcy53YWxsZXQuaWQoKSwgdHhSZXF1ZXN0SWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY29tbW9uUHViIHBvcnRpb24gb2YgdGhlIGNvbW1vbktleWNoYWluLlxuICAgKlxuICAgKiBAcGFyYW0ge1N0cmluZ30gY29tbW9uS2V5Y2hhaW5cbiAgICogQHJldHVybnMge3N0cmluZ31cbiAgICovXG4gIHN0YXRpYyBnZXRQdWJsaWNLZXlGcm9tQ29tbW9uS2V5Y2hhaW4oY29tbW9uS2V5Y2hhaW46IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKGNvbW1vbktleWNoYWluLmxlbmd0aCAhPT0gMTI4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY29tbW9uS2V5Y2hhaW4gbGVuZ3RoLCBleHBlY3RlZCAxMjgsIGdvdCAke2NvbW1vbktleWNoYWluLmxlbmd0aH1gKTtcbiAgICB9XG4gICAgY29uc3QgY29tbW9uUHViSGV4U3RyID0gY29tbW9uS2V5Y2hhaW4uc2xpY2UoMCwgNjQpO1xuICAgIHJldHVybiBiczU4LmVuY29kZShCdWZmZXIuZnJvbShjb21tb25QdWJIZXhTdHIsICdoZXgnKSk7XG4gIH1cblxuICBjcmVhdGVVc2VyVG9CaXRnb0NvbW1pdG1lbnRTaGFyZShjb21taXRtZW50OiBzdHJpbmcpOiBDb21taXRtZW50U2hhcmVSZWNvcmQge1xuICAgIHJldHVybiB7XG4gICAgICBmcm9tOiBTaWduYXR1cmVTaGFyZVR5cGUuVVNFUixcbiAgICAgIHRvOiBTaWduYXR1cmVTaGFyZVR5cGUuQklUR08sXG4gICAgICBzaGFyZTogY29tbWl0bWVudCxcbiAgICAgIHR5cGU6IENvbW1pdG1lbnRUeXBlLkNPTU1JVE1FTlQsXG4gICAgfTtcbiAgfVxuXG4gIGNyZWF0ZVVzZXJUb0JpdGdvRW5jcnlwdGVkU2lnbmVyU2hhcmUoZW5jcnlwdGVkU2lnbmVyU2hhcmU6IHN0cmluZyk6IEVuY3J5cHRlZFNpZ25lclNoYXJlUmVjb3JkIHtcbiAgICByZXR1cm4ge1xuICAgICAgZnJvbTogU2lnbmF0dXJlU2hhcmVUeXBlLlVTRVIsXG4gICAgICB0bzogU2lnbmF0dXJlU2hhcmVUeXBlLkJJVEdPLFxuICAgICAgc2hhcmU6IGVuY3J5cHRlZFNpZ25lclNoYXJlLFxuICAgICAgdHlwZTogRW5jcnlwdGVkU2lnbmVyU2hhcmVUeXBlLkVOQ1JZUFRFRF9TSUdORVJfU0hBUkUsXG4gICAgfTtcbiAgfVxuXG4gIGNyZWF0ZVVzZXJUb0JpdGdvRW5jcnlwdGVkUlNoYXJlKGVuY3J5cHRlZFJTaGFyZTogc3RyaW5nKTogRW5jcnlwdGVkU2lnbmVyU2hhcmVSZWNvcmQge1xuICAgIHJldHVybiB7XG4gICAgICBmcm9tOiBTaWduYXR1cmVTaGFyZVR5cGUuVVNFUixcbiAgICAgIHRvOiBTaWduYXR1cmVTaGFyZVR5cGUuQklUR08sXG4gICAgICBzaGFyZTogZW5jcnlwdGVkUlNoYXJlLFxuICAgICAgdHlwZTogRW5jcnlwdGVkU2lnbmVyU2hhcmVUeXBlLkVOQ1JZUFRFRF9SX1NIQVJFLFxuICAgIH07XG4gIH1cbn1cbi8qKlxuICogQGRlcHJlY2F0ZWQgLSB1c2UgRWRkc2FVdGlsc1xuICovXG5leHBvcnQgY29uc3QgVHNzVXRpbHMgPSBFZGRzYVV0aWxzO1xuIl19
|
|
464
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRkc2EuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvdHNzL2VkZHNhL2VkZHNhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7R0FFRztBQUNILG9EQUE0QjtBQUM1QiwyQ0FBNkI7QUFDN0IsaURBQW1DO0FBQ25DLHlEQUF1RDtBQUN2RCwwRUFBMkU7QUFFM0Usb0RBQWlFO0FBQ2pFLHFEQUEwRztBQUMxRyxzQ0FTc0I7QUFDdEIsNENBWXNCO0FBRXRCLG1FQUEyQztBQUUzQyxnREFBK0Q7QUFFL0Q7O0dBRUc7QUFFSCxNQUFhLFVBQVcsU0FBUSxzQkFBc0I7SUFDcEQsS0FBSyxDQUFDLHNCQUFzQixDQUMxQixVQUFrQixFQUNsQixZQUFvQixFQUNwQixhQUF1QixFQUN2QixjQUFzQixFQUN0QixhQUFvQjtRQUVwQixnQkFBTSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNyQyxnQkFBTSxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBRWhELE1BQU0sV0FBVyxHQUFHLE1BQU0sZ0NBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXhELE1BQU0sVUFBVSxHQUFHLE1BQU0sT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFeEQsTUFBTSxZQUFZLEdBQUcsTUFBTSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDekUsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUU1RCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLFdBQVcsRUFBRSxhQUFhLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxDQUFDO1FBQzFHLElBQUksZ0JBQWdCLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7U0FDOUM7UUFFRCxJQUFJLFNBQVMsS0FBSyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLEVBQUU7WUFDaEUsTUFBTSxJQUFJLEtBQUssQ0FBQyx1RkFBdUYsQ0FBQyxDQUFDO1NBQzFHO1FBRUQsSUFBSSxXQUFXLEtBQUssZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxFQUFFO1lBQ2xFLE1BQU0sSUFBSSxLQUFLLENBQUMsMEZBQTBGLENBQUMsQ0FBQztTQUM3RztRQUVELE1BQU0sNkJBQXFCLENBQUM7WUFDMUIsZUFBZSxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQztZQUNwQyxjQUFjLEVBQUUsYUFBYSxDQUFDLGNBQWM7WUFDNUMsU0FBUztZQUNULFdBQVc7WUFDWCxRQUFRLEVBQUUsV0FBVztZQUNyQixjQUFjO1lBQ2QsYUFBYTtTQUNkLENBQUMsQ0FBQztRQUVILE1BQU0sNkJBQXFCLENBQUM7WUFDMUIsZUFBZSxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQztZQUNwQyxjQUFjLEVBQUUsYUFBYSxDQUFDLGNBQWM7WUFDNUMsU0FBUztZQUNULFdBQVc7WUFDWCxRQUFRLEVBQUUsV0FBVztZQUNyQixjQUFjO1lBQ2QsYUFBYTtTQUNkLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0gsS0FBSyxDQUFDLGtCQUFrQixDQUFDLEVBQ3ZCLFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxFQUNaLGNBQWMsRUFDZCxhQUFhLEVBQ2IsVUFBVSxFQUNWLDhCQUE4QixHQUNKO1FBQzFCLE1BQU0sR0FBRyxHQUFHLE1BQU0sYUFBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3JDLE1BQU0sY0FBYyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUM7UUFDL0MsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7U0FDN0M7UUFFRCxNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssT0FBTyxJQUFJLFFBQVEsQ0FBQyxFQUFFLEtBQUssTUFBTSxDQUFDLENBQUM7UUFDaEgsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztTQUNwRDtRQUVELE1BQU0sdUJBQXVCLEdBQUcsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRTFHLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUMvQixVQUFVLENBQUMsU0FBUyxFQUNwQixZQUFZLENBQUMsU0FBUyxFQUN0QixhQUFhLEVBQ2IsdUJBQXVCLEVBQ3ZCLENBQUMsQ0FDRixDQUFDO1FBRUYsTUFBTSxXQUFXLEdBQVc7WUFDMUIsQ0FBQyxFQUFFLENBQUM7WUFDSixDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDNUMsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLFFBQVE7WUFDNUIsQ0FBQyxFQUFFLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3ZDLFNBQVMsRUFBRSx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1NBQzdDLENBQUM7UUFFRixpRkFBaUY7UUFDakYsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ25HLE1BQU0sY0FBYyxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQzdFLElBQUksY0FBYyxLQUFLLGFBQWEsQ0FBQyxjQUFjLEVBQUU7WUFDbkQsTUFBTSxJQUFJLEtBQUssQ0FBQyxnRUFBZ0UsQ0FBQyxDQUFDO1NBQ25GO1FBRUQsTUFBTSxtQkFBbUIsR0FBb0I7WUFDM0MsTUFBTSxFQUFFLFlBQVksQ0FBQyxNQUFNO1lBQzNCLFdBQVcsRUFBRSxXQUFXO1lBQ3hCLFlBQVksRUFBRSxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztTQUN4QyxDQUFDO1FBRUYsTUFBTSxrQkFBa0IsR0FBdUI7WUFDN0MsTUFBTSxFQUFFLE1BQU07WUFDZCxPQUFPLEVBQUUsS0FBSztZQUNkLGNBQWMsRUFBRSxhQUFhLENBQUMsY0FBYztZQUM1Qyw4QkFBOEI7U0FDL0IsQ0FBQztRQUNGLElBQUksVUFBVSxLQUFLLFNBQVMsRUFBRTtZQUM1QixrQkFBa0IsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7Z0JBQ25ELEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDO2dCQUMxQyxRQUFRLEVBQUUsVUFBVTthQUNyQixDQUFDLENBQUM7U0FDSjtRQUVELE9BQU8sTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0gsS0FBSyxDQUFDLG9CQUFvQixDQUFDLEVBQ3pCLFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxFQUNaLGNBQWMsRUFDZCxhQUFhLEVBQ2IsVUFBVSxHQUNnQjtRQUMxQixNQUFNLEdBQUcsR0FBRyxNQUFNLGFBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNyQyxNQUFNLGNBQWMsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQy9DLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1NBQzVDO1FBRUQsTUFBTSxrQkFBa0IsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLE9BQU8sSUFBSSxRQUFRLENBQUMsRUFBRSxLQUFLLFFBQVEsQ0FBQyxDQUFDO1FBQ3BILElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7U0FDcEQ7UUFFRCxNQUFNLHlCQUF5QixHQUFHLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQztRQUVoSCxNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FDL0IsVUFBVSxDQUFDLFNBQVMsRUFDcEIsWUFBWSxDQUFDLFNBQVMsRUFDdEIsYUFBYSxFQUNiLHlCQUF5QixFQUN6QixDQUFDLENBQ0YsQ0FBQztRQUVGLE1BQU0sYUFBYSxHQUFXO1lBQzVCLENBQUMsRUFBRSxDQUFDO1lBQ0osQ0FBQyxFQUFFLENBQUM7WUFDSixDQUFDLEVBQUUsa0JBQWtCLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzlDLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxRQUFRO1lBQzlCLENBQUMsRUFBRSx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUN6QyxTQUFTLEVBQUUseUJBQXlCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztTQUMvQyxDQUFDO1FBRUYsaUZBQWlGO1FBQ2pGLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUN2RyxNQUFNLGNBQWMsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUNqRixJQUFJLGNBQWMsS0FBSyxhQUFhLENBQUMsY0FBYyxFQUFFO1lBQ25ELE1BQU0sSUFBSSxLQUFLLENBQUMsa0VBQWtFLENBQUMsQ0FBQztTQUNyRjtRQUVELE1BQU0scUJBQXFCLEdBQW9CO1lBQzdDLE1BQU0sRUFBRSxjQUFjLENBQUMsTUFBTTtZQUM3QixXQUFXLEVBQUUsYUFBYTtZQUMxQixVQUFVLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDcEMsQ0FBQztRQUNGLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUVsRCxNQUFNLE1BQU0sR0FBd0I7WUFDbEMsTUFBTSxFQUFFLFFBQVE7WUFDaEIsT0FBTyxFQUFFLEtBQUs7WUFDZCxjQUFjLEVBQUUsYUFBYSxDQUFDLGNBQWM7WUFDNUMsR0FBRyxFQUFFLEdBQUc7U0FDVCxDQUFDO1FBRUYsSUFBSSxVQUFVLEtBQUssU0FBUyxFQUFFO1lBQzVCLE1BQU0sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1NBQ2hGO1FBRUQsT0FBTyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsS0FBSyxDQUFDLG1CQUFtQixDQUFDLEVBQ3hCLFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxFQUNaLGNBQWMsRUFDZCxVQUFVLEdBQ3FCO1FBQy9CLDZFQUE2RTtRQUM3RSxNQUFNLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDM0MsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUM7WUFDekMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUM7U0FDbEQsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQixNQUFNLHVCQUF1QixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDNUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUM7WUFDN0MsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUM7U0FDdEQsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQixNQUFNLG1CQUFtQixHQUFHO1lBQzFCLFdBQVcsRUFBRSxzQkFBc0I7WUFDbkMsWUFBWSxFQUFFLHVCQUF1QjtZQUNyQyxpQkFBaUIsRUFBRSxNQUFNLCtCQUFnQixDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUM7WUFDL0csUUFBUSxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNwQyxDQUFDO1FBRUYsTUFBTSx3QkFBd0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQzdDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDO1lBQzNDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDO1NBQ3BELENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkIsTUFBTSx5QkFBeUIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQzlDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDO1lBQy9DLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDO1NBQ3hELENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkIsTUFBTSxxQkFBcUIsR0FBRztZQUM1QixXQUFXLEVBQUUsd0JBQXdCO1lBQ3JDLFlBQVksRUFBRSx5QkFBeUI7WUFDdkMsaUJBQWlCLEVBQUUsTUFBTSwrQkFBZ0IsQ0FDdkMsWUFBWSxDQUFDLFVBQVUsRUFDdkIseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFDdEMsT0FBTyxDQUNSO1lBQ0QsUUFBUSxFQUFFLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN0QyxDQUFDO1FBRUYsT0FBTyxNQUFNLElBQUksQ0FBQyx1QkFBdUIsQ0FDdkMsVUFBVSxFQUNWLFlBQVksRUFDWixtQkFBbUIsRUFDbkIscUJBQXFCLEVBQ3JCLEtBQUssRUFDTCxVQUFVLENBQ1gsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUlyQjtRQUNDLE1BQU0sR0FBRyxHQUFHLE1BQU0sYUFBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3JDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNaLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVaLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzQyxNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFN0MsTUFBTSxVQUFVLEdBQUcsTUFBTSxpQ0FBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN6RCxNQUFNLFlBQVksR0FBRyxNQUFNLGlDQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRTNELE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDO1lBQ25ELFVBQVU7WUFDVixZQUFZO1lBQ1osWUFBWTtZQUNaLGNBQWM7WUFDZCxVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVU7U0FDOUIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7WUFDbEQsVUFBVTtZQUNWLFlBQVk7WUFDWixZQUFZO1lBQ1osY0FBYztZQUNkLGFBQWE7WUFDYixVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVU7WUFDN0IsOEJBQThCLEVBQUUsTUFBTSxDQUFDLDhCQUE4QjtTQUN0RSxDQUFDLENBQUM7UUFDSCxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztZQUN0RCxVQUFVO1lBQ1YsWUFBWTtZQUNaLFlBQVk7WUFDWixjQUFjO1lBQ2QsYUFBYTtZQUNiLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVTtTQUM5QixDQUFDLENBQUM7UUFDSCxNQUFNLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLG1CQUFtQixFQUFFLHFCQUFxQixDQUFDLENBQUMsQ0FBQztRQUV2RyxnQkFBZ0I7UUFDaEIsTUFBTSxTQUFTLEdBQUc7WUFDaEIsWUFBWTtZQUNaLGNBQWM7WUFDZCxhQUFhO1NBQ2QsQ0FBQztRQUVGLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxLQUFLLENBQUMsa0NBQWtDLENBQUMsTUFJeEM7O1FBS0MsTUFBTSxVQUFVLEdBQUcsc0JBQWdCLENBQUMsS0FBSyxDQUFDO1FBQzFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBQ2xDLE1BQU0saUJBQWlCLEdBQWMsU0FBUyxDQUFDO1FBRS9DLE1BQU0sTUFBTSxHQUFHLE1BQU0sMEJBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMvQyxNQUFNLEdBQUcsR0FBRyxNQUFNLGFBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFM0MsTUFBTSxtQkFBbUIsR0FBb0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFO1lBQ3JDLE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQztTQUM1RDtRQUVELGdCQUFNLENBQUMsaUJBQWlCLENBQUMsWUFBWSxJQUFJLGlCQUFpQixDQUFDLFdBQVcsRUFBRSwwQ0FBMEMsQ0FBQyxDQUFDO1FBQ3BILE1BQU0sVUFBVSxHQUNkLGlCQUFpQixDQUFDLFVBQVUsS0FBSyxNQUFNO1lBQ3JDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVTtZQUMvQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXZDLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQzlCLG1CQUFtQixDQUFDLE1BQU0sRUFDMUIsQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEVBQ25FLFVBQVUsQ0FBQyxjQUFjLENBQzFCLENBQUM7UUFFRixNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFbkUsTUFBTSxhQUFhLEdBQUcsTUFBTSx5QkFBbUIsQ0FBQyxlQUFlLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BGLE1BQU0sVUFBVSxHQUFHLE1BQUEsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsMENBQUUsVUFBVSxDQUFDO1FBQ2pFLGdCQUFNLENBQUMsVUFBVSxFQUFFLDRDQUE0QyxDQUFDLENBQUM7UUFDakUsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsZ0NBQWdDLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFaEYsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDaEcsTUFBTSxXQUFXLEdBQUcsTUFBTSxnQ0FBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEQsTUFBTSwrQkFBK0IsR0FBRyxNQUFNLDBCQUFXLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRXBGLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLHFDQUFxQyxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFDekcsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQzVHLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRTFGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSwwQkFBMEIsRUFBRSxDQUFDO0lBQ3JGLENBQUM7SUFFRCxLQUFLLENBQUMseUJBQXlCLENBQUMsTUFJL0I7UUFDQyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsMEJBQTBCLEVBQUUsR0FBRyxNQUFNLENBQUM7UUFFaEUsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDekMsS0FBSyxFQUFFLDBCQUEwQixDQUFDLEtBQUs7WUFDdkMsUUFBUSxFQUFFLGdCQUFnQjtTQUMzQixDQUFDLENBQUM7UUFDSCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzNDLGdCQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSwwQ0FBMEMsQ0FBQyxDQUFDO1FBQ2xFLGdCQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSwyQ0FBMkMsQ0FBQyxDQUFDO1FBRXBFLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsS0FBSyxDQUFDLHlCQUF5QixDQUFDLE1BTS9CO1FBQ0MsSUFBSSxpQkFBNEIsQ0FBQztRQUVqQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxxQkFBcUIsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUUvRixJQUFJLE9BQU8sU0FBUyxLQUFLLFFBQVEsRUFBRTtZQUNqQyxpQkFBaUIsR0FBRyxNQUFNLGtCQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQ2pGO2FBQU07WUFDTCxpQkFBaUIsR0FBRyxTQUFTLENBQUM7U0FDL0I7UUFFRCxNQUFNLG1CQUFtQixHQUFvQixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUU7WUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1NBQzVEO1FBRUQsZ0JBQU0sQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLElBQUksaUJBQWlCLENBQUMsV0FBVyxFQUFFLDBDQUEwQyxDQUFDLENBQUM7UUFDcEgsTUFBTSxVQUFVLEdBQ2QsaUJBQWlCLENBQUMsVUFBVSxLQUFLLE1BQU07WUFDckMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLFlBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVO1lBQy9DLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFdkMsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRW5FLE1BQU0saUJBQWlCLEdBQUcsTUFBTSw2QkFBdUIsQ0FDckQsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQixtQkFBbUIsQ0FBQyxZQUFZLEVBQ2hDLG1CQUFtQixDQUFDLFdBQVcsRUFDL0IsZUFBZSxFQUNmLHFCQUFxQixDQUN0QixDQUFDO1FBQ0YsT0FBTyxpQkFBaUIsQ0FBQztJQUMzQixDQUFDO0lBRUQsS0FBSyxDQUFDLCtCQUErQixDQUNuQyxTQUE2QixFQUM3QixpQ0FBcUUsRUFDckUsNkJBQTZELEVBQzdELDZCQUE2RDtRQUU3RCxJQUFJLGlCQUE0QixDQUFDO1FBQ2pDLElBQUksV0FBbUIsQ0FBQztRQUN4QixJQUFJLE9BQU8sU0FBUyxLQUFLLFFBQVEsRUFBRTtZQUNqQyxpQkFBaUIsR0FBRyxNQUFNLGtCQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ2hGLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxXQUFXLENBQUM7U0FDN0M7YUFBTTtZQUNMLGlCQUFpQixHQUFHLFNBQVMsQ0FBQztZQUM5QixXQUFXLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQztTQUNyQztRQUVELE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQztRQUV6QyxNQUFNLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsMEJBQTBCLEVBQUUsR0FDL0UsTUFBTSxpQ0FBaUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7UUFFNUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxxQkFBcUIsRUFBRSxHQUFHLE1BQU0saUNBQXdCLENBQy9FLElBQUksQ0FBQyxLQUFLLEVBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFDaEIsV0FBVyxFQUNYLHFCQUFxQixFQUNyQixvQkFBb0IsRUFDcEIsVUFBVSxDQUNYLENBQUM7UUFFRixNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSw2QkFBNkIsQ0FBQztZQUNyRCxTQUFTLEVBQUUsaUJBQWlCO1lBQzVCLDBCQUEwQjtTQUMzQixDQUFDLENBQUM7UUFFSCxNQUFNLDRCQUFzQixDQUMxQixJQUFJLENBQUMsS0FBSyxFQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQ2hCLFdBQVcsRUFDWCxNQUFNLEVBQ04sb0JBQW9CLENBQUMsS0FBSyxFQUMxQixVQUFVLENBQ1gsQ0FBQztRQUNGLE1BQU0saUJBQWlCLEdBQUcsTUFBTSwwQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDaEcsTUFBTSwyQkFBMkIsR0FBRztZQUNsQyxTQUFTLEVBQUUsaUJBQWlCO1lBQzVCLGlCQUFpQixFQUFFLGlCQUFpQjtZQUNwQyxpQkFBaUIsRUFBRSxNQUFNO1lBQ3pCLHFCQUFxQjtTQUN0QixDQUFDO1FBQ0YsTUFBTSxNQUFNLEdBQUcsTUFBTSw2QkFBNkIsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQ2hGLE1BQU0sMkJBQXFCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDM0YsT0FBTyxNQUFNLGtCQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFpQjtRQUNuQyxJQUFJLGlCQUE0QixDQUFDO1FBQ2pDLElBQUksV0FBbUIsQ0FBQztRQUV4QixNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUVsQyxJQUFJLE9BQU8sU0FBUyxLQUFLLFFBQVEsRUFBRTtZQUNqQyxpQkFBaUIsR0FBRyxNQUFNLGtCQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ2hGLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxXQUFXLENBQUM7U0FDN0M7YUFBTTtZQUNMLGlCQUFpQixHQUFHLFNBQVMsQ0FBQztZQUM5QixXQUFXLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQztTQUNyQztRQUVELE1BQU0sTUFBTSxHQUFHLE1BQU0sMEJBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMvQyxNQUFNLEdBQUcsR0FBRyxNQUFNLGFBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFM0MsTUFBTSxtQkFBbUIsR0FBb0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFO1lBQ3JDLE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQztTQUM1RDtRQUVELE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQztRQUN6QyxnQkFBTSxDQUFDLGlCQUFpQixDQUFDLFlBQVksSUFBSSxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsMENBQTBDLENBQUMsQ0FBQztRQUNwSCxNQUFNLFVBQVUsR0FDZCxVQUFVLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFM0csTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FDOUIsbUJBQW1CLENBQUMsTUFBTSxFQUMxQixDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsRUFDbkUsVUFBVSxDQUFDLGNBQWMsQ0FDMUIsQ0FBQztRQUVGLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUVuRSxNQUFNLGFBQWEsR0FBRyxNQUFNLHlCQUFtQixDQUFDLGVBQWUsRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFcEYsTUFBTSxVQUFVLEdBQUcsc0JBQWdCLENBQUMsS0FBSyxDQUFDO1FBQzFDLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2hHLE1BQU0sV0FBVyxHQUFHLE1BQU0sZ0NBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hELE1BQU0sK0JBQStCLEdBQUcsTUFBTSwwQkFBVyxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUVwRixNQUFNLFVBQVUsR0FBRyxNQUFNLGlDQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3pELE1BQU0saUJBQWlCLEdBQUcsTUFBTSwrQkFBZ0IsQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ25ILE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sZ0JBQWdCLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQztRQUM5QyxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUVoRyxNQUFNLHFCQUFxQixHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsVUFBVSxDQUFDO1FBQzNFLGdCQUFNLENBQUMscUJBQXFCLEVBQUUsMENBQTBDLENBQUMsQ0FBQztRQUUxRSxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsZ0NBQWdDLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNyRixNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxxQ0FBcUMsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1FBRXpHLE1BQU0sRUFBRSxlQUFlLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxNQUFNLGlDQUF3QixDQUMvRSxJQUFJLENBQUMsS0FBSyxFQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQ2hCLFdBQVcsRUFDWCxlQUFlLEVBQ2Ysb0JBQW9CLEVBQ3BCLFVBQVUsQ0FDWCxDQUFDO1FBRUYsTUFBTSw0QkFBc0IsQ0FDMUIsSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUNoQixXQUFXLEVBQ1gsYUFBYSxFQUNiLCtCQUErQixFQUMvQixVQUFVLEVBQ1YsUUFBUSxFQUNSLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsV0FBVyxDQUNaLENBQUM7UUFFRixNQUFNLGlCQUFpQixHQUFHLE1BQU0sMEJBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRWhHLE1BQU0saUJBQWlCLEdBQUcsTUFBTSw2QkFBdUIsQ0FDckQsYUFBYSxFQUNiLGlCQUFpQixFQUNqQixtQkFBbUIsQ0FBQyxZQUFZLEVBQ2hDLG1CQUFtQixDQUFDLFdBQVcsRUFDL0IsZUFBZSxFQUNmLHFCQUFxQixDQUN0QixDQUFDO1FBRUYsTUFBTSwyQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRXRHLE9BQU8sTUFBTSxrQkFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsOEJBQThCLENBQUMsY0FBc0I7UUFDMUQsSUFBSSxjQUFjLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtZQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFvRCxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztTQUM5RjtRQUNELE1BQU0sZUFBZSxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxnQ0FBZ0MsQ0FBQyxVQUFrQjtRQUNqRCxPQUFPO1lBQ0wsSUFBSSxFQUFFLDhCQUFrQixDQUFDLElBQUk7WUFDN0IsRUFBRSxFQUFFLDhCQUFrQixDQUFDLEtBQUs7WUFDNUIsS0FBSyxFQUFFLFVBQVU7WUFDakIsSUFBSSxFQUFFLDBCQUFjLENBQUMsVUFBVTtTQUNoQyxDQUFDO0lBQ0osQ0FBQztJQUVELHFDQUFxQyxDQUFDLG9CQUE0QjtRQUNoRSxPQUFPO1lBQ0wsSUFBSSxFQUFFLDhCQUFrQixDQUFDLElBQUk7WUFDN0IsRUFBRSxFQUFFLDhCQUFrQixDQUFDLEtBQUs7WUFDNUIsS0FBSyxFQUFFLG9CQUFvQjtZQUMzQixJQUFJLEVBQUUsb0NBQXdCLENBQUMsc0JBQXNCO1NBQ3RELENBQUM7SUFDSixDQUFDO0lBRUQsZ0NBQWdDLENBQUMsZUFBdUI7UUFDdEQsT0FBTztZQUNMLElBQUksRUFBRSw4QkFBa0IsQ0FBQyxJQUFJO1lBQzdCLEVBQUUsRUFBRSw4QkFBa0IsQ0FBQyxLQUFLO1lBQzVCLEtBQUssRUFBRSxlQUFlO1lBQ3RCLElBQUksRUFBRSxvQ0FBd0IsQ0FBQyxpQkFBaUI7U0FDakQsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXZuQkQsZ0NBdW5CQztBQUNEOztHQUVHO0FBQ1UsUUFBQSxRQUFRLEdBQUcsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0ICogYXMgYnM1OCBmcm9tICdiczU4JztcbmltcG9ydCAqIGFzIG9wZW5wZ3AgZnJvbSAnb3BlbnBncCc7XG5pbXBvcnQgeyBFZDI1NTE5QklQMzIgfSBmcm9tICcuLi8uLi8uLi8uLi9hY2NvdW50LWxpYic7XG5pbXBvcnQgRWRkc2EsIHsgU2lnblNoYXJlLCBHU2hhcmUgfSBmcm9tICcuLi8uLi8uLi8uLi9hY2NvdW50LWxpYi9tcGMvdHNzJztcbmltcG9ydCB7IEFkZEtleWNoYWluT3B0aW9ucywgS2V5Y2hhaW4sIENyZWF0ZUJhY2t1cE9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9rZXljaGFpbic7XG5pbXBvcnQgeyB2ZXJpZnlXYWxsZXRTaWduYXR1cmUgfSBmcm9tICcuLi8uLi8uLi90c3MvZWRkc2EvZWRkc2EnO1xuaW1wb3J0IHsgZW5jcnlwdFRleHQsIGdldEJpdGdvR3BnUHViS2V5LCBjcmVhdGVTaGFyZVByb29mLCBnZW5lcmF0ZUdQR0tleVBhaXIgfSBmcm9tICcuLi8uLi9vcGVuZ3BnVXRpbHMnO1xuaW1wb3J0IHtcbiAgY3JlYXRlVXNlclNpZ25TaGFyZSxcbiAgY3JlYXRlVXNlclRvQml0R29HU2hhcmUsXG4gIGdldEJpdGdvVG9Vc2VyUlNoYXJlLFxuICBnZXRUeFJlcXVlc3QsXG4gIG9mZmVyVXNlclRvQml0Z29SU2hhcmUsXG4gIHNlbmRVc2VyVG9CaXRnb0dTaGFyZSxcbiAgU2hhcmVLZXlQb3NpdGlvbixcbiAgU2lnbmluZ01hdGVyaWFsLFxufSBmcm9tICcuLi8uLi8uLi90c3MnO1xuaW1wb3J0IHtcbiAgQ29tbWl0bWVudFNoYXJlUmVjb3JkLFxuICBDb21taXRtZW50VHlwZSxcbiAgQ3VzdG9tQ29tbWl0bWVudEdlbmVyYXRpbmdGdW5jdGlvbixcbiAgQ3VzdG9tR1NoYXJlR2VuZXJhdGluZ0Z1bmN0aW9uLFxuICBDdXN0b21SU2hhcmVHZW5lcmF0aW5nRnVuY3Rpb24sXG4gIEVuY3J5cHRlZFNpZ25lclNoYXJlUmVjb3JkLFxuICBFbmNyeXB0ZWRTaWduZXJTaGFyZVR5cGUsXG4gIFNpZ25hdHVyZVNoYXJlUmVjb3JkLFxuICBTaWduYXR1cmVTaGFyZVR5cGUsXG4gIFRTU1BhcmFtcyxcbiAgVHhSZXF1ZXN0LFxufSBmcm9tICcuLi9iYXNlVHlwZXMnO1xuaW1wb3J0IHsgQ3JlYXRlRWRkc2FCaXRHb0tleWNoYWluUGFyYW1zLCBDcmVhdGVFZGRzYUtleWNoYWluUGFyYW1zLCBLZXlTaGFyZSwgWVNoYXJlIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgYmFzZVRTU1V0aWxzIGZyb20gJy4uL2Jhc2VUU1NVdGlscyc7XG5pbXBvcnQgeyBLZXljaGFpbnNUcmlwbGV0IH0gZnJvbSAnLi4vLi4vLi4vYmFzZUNvaW4nO1xuaW1wb3J0IHsgZXhjaGFuZ2VFZGRzYUNvbW1pdG1lbnRzIH0gZnJvbSAnLi4vLi4vLi4vdHNzL2NvbW1vbic7XG5cbi8qKlxuICogVXRpbGl0eSBmdW5jdGlvbnMgZm9yIFRTUyB3b3JrIGZsb3dzLlxuICovXG5cbmV4cG9ydCBjbGFzcyBFZGRzYVV0aWxzIGV4dGVuZHMgYmFzZVRTU1V0aWxzPEtleVNoYXJlPiB7XG4gIGFzeW5jIHZlcmlmeVdhbGxldFNpZ25hdHVyZXMoXG4gICAgdXNlckdwZ1B1Yjogc3RyaW5nLFxuICAgIGJhY2t1cEdwZ1B1Yjogc3RyaW5nLFxuICAgIGJpdGdvS2V5Y2hhaW46IEtleWNoYWluLFxuICAgIGRlY3J5cHRlZFNoYXJlOiBzdHJpbmcsXG4gICAgdmVyaWZpZXJJbmRleDogMSB8IDJcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXNzZXJ0KGJpdGdvS2V5Y2hhaW4uY29tbW9uS2V5Y2hhaW4pO1xuICAgIGFzc2VydChiaXRnb0tleWNoYWluLndhbGxldEhTTUdQR1B1YmxpY0tleVNpZ3MpO1xuXG4gICAgY29uc3QgYml0Z29HcGdLZXkgPSBhd2FpdCBnZXRCaXRnb0dwZ1B1YktleSh0aGlzLmJpdGdvKTtcblxuICAgIGNvbnN0IHVzZXJLZXlQdWIgPSBhd2FpdCBvcGVucGdwLnJlYWRLZXkoeyBhcm1vcmVkS2V5OiB1c2VyR3BnUHViIH0pO1xuICAgIGNvbnN0IHVzZXJLZXlJZCA9IHVzZXJLZXlQdWIua2V5UGFja2V0LmdldEZpbmdlcnByaW50KCk7XG5cbiAgICBjb25zdCBiYWNrdXBLZXlQdWIgPSBhd2FpdCBvcGVucGdwLnJlYWRLZXkoeyBhcm1vcmVkS2V5OiBiYWNrdXBHcGdQdWIgfSk7XG4gICAgY29uc3QgYmFja3VwS2V5SWQgPSBiYWNrdXBLZXlQdWIua2V5UGFja2V0LmdldEZpbmdlcnByaW50KCk7XG5cbiAgICBjb25zdCB3YWxsZXRTaWduYXR1cmVzID0gYXdhaXQgb3BlbnBncC5yZWFkS2V5cyh7IGFybW9yZWRLZXlzOiBiaXRnb0tleWNoYWluLndhbGxldEhTTUdQR1B1YmxpY0tleVNpZ3MgfSk7XG4gICAgaWYgKHdhbGxldFNpZ25hdHVyZXMubGVuZ3RoICE9PSAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgd2FsbGV0IHNpZ25hdHVyZXMnKTtcbiAgICB9XG5cbiAgICBpZiAodXNlcktleUlkICE9PSB3YWxsZXRTaWduYXR1cmVzWzBdLmtleVBhY2tldC5nZXRGaW5nZXJwcmludCgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGZpcnN0IHdhbGxldCBzaWduYXR1cmUncyBmaW5nZXJwcmludCBkb2VzIG5vdCBtYXRjaCBwYXNzZWQgdXNlciBncGcga2V5J3MgZmluZ2VycHJpbnRgKTtcbiAgICB9XG5cbiAgICBpZiAoYmFja3VwS2V5SWQgIT09IHdhbGxldFNpZ25hdHVyZXNbMV0ua2V5UGFja2V0LmdldEZpbmdlcnByaW50KCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgc2Vjb25kIHdhbGxldCBzaWduYXR1cmUncyBmaW5nZXJwcmludCBkb2VzIG5vdCBtYXRjaCBwYXNzZWQgYmFja3VwIGdwZyBrZXkncyBmaW5nZXJwcmludGApO1xuICAgIH1cblxuICAgIGF3YWl0IHZlcmlmeVdhbGxldFNpZ25hdHVyZSh7XG4gICAgICB3YWxsZXRTaWduYXR1cmU6IHdhbGxldFNpZ25hdHVyZXNbMF0sXG4gICAgICBjb21tb25LZXljaGFpbjogYml0Z29LZXljaGFpbi5jb21tb25LZXljaGFpbixcbiAgICAgIHVzZXJLZXlJZCxcbiAgICAgIGJhY2t1cEtleUlkLFxuICAgICAgYml0Z29QdWI6IGJpdGdvR3BnS2V5LFxuICAgICAgZGVjcnlwdGVkU2hhcmUsXG4gICAgICB2ZXJpZmllckluZGV4LFxuICAgIH0pO1xuXG4gICAgYXdhaXQgdmVyaWZ5V2FsbGV0U2lnbmF0dXJlKHtcbiAgICAgIHdhbGxldFNpZ25hdHVyZTogd2FsbGV0U2lnbmF0dXJlc1sxXSxcbiAgICAgIGNvbW1vbktleWNoYWluOiBiaXRnb0tleWNoYWluLmNvbW1vbktleWNoYWluLFxuICAgICAgdXNlcktleUlkLFxuICAgICAgYmFja3VwS2V5SWQsXG4gICAgICBiaXRnb1B1YjogYml0Z29HcGdLZXksXG4gICAgICBkZWNyeXB0ZWRTaGFyZSxcbiAgICAgIHZlcmlmaWVySW5kZXgsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIEtleWNoYWluIGNvbnRhaW5pbmcgdGhlIFVzZXIncyBUU1Mgc2lnbmluZyBtYXRlcmlhbHMuXG4gICAqIFdlIG5lZWQgdG8gaGF2ZSB0aGUgcGFzc3BocmFzZSBiZSBvcHRpb25hbCB0byBhbGxvdyBmb3IgdGhlIGNsaWVudCB0byBzdG9yZSB0aGVpciBiYWNrdXAga2V5IG9uIHRoZWlyIHByZW1pc2VzXG4gICAqXG4gICAqIEBwYXJhbSB1c2VyR3BnS2V5IC0gZXBoZW1lcmFsIEdQRyBrZXkgdG8gZW5jcnlwdCAvIGRlY3J5cHQgc2Vuc2l0dmUgZGF0YSBleGNoYW5nZWQgYmV0d2VlbiB1c2VyIGFuZCBzZXJ2ZXJcbiAgICogQHBhcmFtIHVzZXJLZXlTaGFyZSAtIHVzZXIncyBUU1Mga2V5IHNoYXJlXG4gICAqIEBwYXJhbSBiYWNrdXBLZXlTaGFyZSAtIGJhY2t1cCdzIFRTUyBrZXkgc2hhcmVcbiAgICogQHBhcmFtIGJpdGdvS2V5Y2hhaW4gLSBwcmV2aW91c2x5IGNyZWF0ZWQgQml0R28ga2V5Y2hhaW47IG11c3QgYmUgY29tcGF0aWJsZSB3aXRoIHVzZXIgYW5kIGJhY2t1cCBrZXkgc2hhcmVzXG4gICAqIEBwYXJhbSBbcGFzc3BocmFzZV0gLSBvcHRpb25hbCB3YWxsZXQgcGFzc3BocmFzZSB1c2VkIHRvIGVuY3J5cHQgdXNlcidzIHNpZ25pbmcgbWF0ZXJpYWxzXG4gICAqIEBwYXJhbSBbb3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlXSAtIG9wdGlvbmFsIGVuY3J5cHRpb24gY29kZSBuZWVkZWQgZm9yIHdhbGxldCBwYXNzd29yZCByZXNldCBmb3IgaG90IHdhbGxldHNcbiAgICovXG4gIGFzeW5jIGNyZWF0ZVVzZXJLZXljaGFpbih7XG4gICAgdXNlckdwZ0tleSxcbiAgICBiYWNrdXBHcGdLZXksXG4gICAgdXNlcktleVNoYXJlLFxuICAgIGJhY2t1cEtleVNoYXJlLFxuICAgIGJpdGdvS2V5Y2hhaW4sXG4gICAgcGFzc3BocmFzZSxcbiAgICBvcmlnaW5hbFBhc3Njb2RlRW5jcnlwdGlvbkNvZGUsXG4gIH06IENyZWF0ZUVkZHNhS2V5Y2hhaW5QYXJhbXMpOiBQcm9taXNlPEtleWNoYWluPiB7XG4gICAgY29uc3QgTVBDID0gYXdhaXQgRWRkc2EuaW5pdGlhbGl6ZSgpO1xuICAgIGNvbnN0IGJpdGdvS2V5U2hhcmVzID0gYml0Z29LZXljaGFpbi5rZXlTaGFyZXM7XG4gICAgaWYgKCFiaXRnb0tleVNoYXJlcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIEJpdEdvIGtleSBzaGFyZXMnKTtcbiAgICB9XG5cbiAgICBjb25zdCBiaXRHb1RvVXNlclNoYXJlID0gYml0Z29LZXlTaGFyZXMuZmluZCgoa2V5U2hhcmUpID0+IGtleVNoYXJlLmZyb20gPT09ICdiaXRnbycgJiYga2V5U2hhcmUudG8gPT09ICd1c2VyJyk7XG4gICAgaWYgKCFiaXRHb1RvVXNlclNoYXJlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgQml0R28gdG8gVXNlciBrZXkgc2hhcmUnKTtcbiAgICB9XG5cbiAgICBjb25zdCBiaXRHb1RvVXNlclByaXZhdGVTaGFyZSA9IGF3YWl0IHRoaXMuZGVjcnlwdFByaXZhdGVTaGFyZShiaXRHb1RvVXNlclNoYXJlLnByaXZhdGVTaGFyZSwgdXNlckdwZ0tleSk7XG5cbiAgICBhd2FpdCB0aGlzLnZlcmlmeVdhbGxldFNpZ25hdHVyZXMoXG4gICAgICB1c2VyR3BnS2V5LnB1YmxpY0tleSxcbiAgICAgIGJhY2t1cEdwZ0tleS5wdWJsaWNLZXksXG4gICAgICBiaXRnb0tleWNoYWluLFxuICAgICAgYml0R29Ub1VzZXJQcml2YXRlU2hhcmUsXG4gICAgICAxXG4gICAgKTtcblxuICAgIGNvbnN0IGJpdGdvVG9Vc2VyOiBZU2hhcmUgPSB7XG4gICAgICBpOiAxLFxuICAgICAgajogMyxcbiAgICAgIHk6IGJpdEdvVG9Vc2VyU2hhcmUucHVibGljU2hhcmUuc2xpY2UoMCwgNjQpLFxuICAgICAgdjogYml0R29Ub1VzZXJTaGFyZS52c3NQcm9vZixcbiAgICAgIHU6IGJpdEdvVG9Vc2VyUHJpdmF0ZVNoYXJlLnNsaWNlKDAsIDY0KSxcbiAgICAgIGNoYWluY29kZTogYml0R29Ub1VzZXJQcml2YXRlU2hhcmUuc2xpY2UoNjQpLFxuICAgIH07XG5cbiAgICAvLyBUT0RPKEJHLTQ3MTcwKTogdXNlIHRzcy5jcmVhdGVDb21iaW5lZEtleSBoZWxwZXIgd2hlbiBzaWduYXR1cmVzIGFyZSBzdXBwb3J0ZWRcbiAgICBjb25zdCB1c2VyQ29tYmluZWQgPSBNUEMua2V5Q29tYmluZSh1c2VyS2V5U2hhcmUudVNoYXJlLCBbYmFja3VwS2V5U2hhcmUueVNoYXJlc1sxXSwgYml0Z29Ub1VzZXJdKTtcbiAgICBjb25zdCBjb21tb25LZXljaGFpbiA9IHVzZXJDb21iaW5lZC5wU2hhcmUueSArIHVzZXJDb21iaW5lZC5wU2hhcmUuY2hhaW5jb2RlO1xuICAgIGlmIChjb21tb25LZXljaGFpbiAhPT0gYml0Z29LZXljaGFpbi5jb21tb25LZXljaGFpbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gY3JlYXRlIHVzZXIga2V5Y2hhaW4gLSBjb21tb25LZXljaGFpbnMgZG8gbm90IG1hdGNoLicpO1xuICAgIH1cblxuICAgIGNvbnN0IHVzZXJTaWduaW5nTWF0ZXJpYWw6IFNpZ25pbmdNYXRlcmlhbCA9IHtcbiAgICAgIHVTaGFyZTogdXNlcktleVNoYXJlLnVTaGFyZSxcbiAgICAgIGJpdGdvWVNoYXJlOiBiaXRnb1RvVXNlcixcbiAgICAgIGJhY2t1cFlTaGFyZTogYmFja3VwS2V5U2hhcmUueVNoYXJlc1sxXSxcbiAgICB9O1xuXG4gICAgY29uc3QgdXNlcktleWNoYWluUGFyYW1zOiBBZGRLZXljaGFpbk9wdGlvbnMgPSB7XG4gICAgICBzb3VyY2U6ICd1c2VyJyxcbiAgICAgIGtleVR5cGU6ICd0c3MnLFxuICAgICAgY29tbW9uS2V5Y2hhaW46IGJpdGdvS2V5Y2hhaW4uY29tbW9uS2V5Y2hhaW4sXG4gICAgICBvcmlnaW5hbFBhc3Njb2RlRW5jcnlwdGlvbkNvZGUsXG4gICAgfTtcbiAgICBpZiAocGFzc3BocmFzZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB1c2VyS2V5Y2hhaW5QYXJhbXMuZW5jcnlwdGVkUHJ2ID0gdGhpcy5iaXRnby5lbmNyeXB0KHtcbiAgICAgICAgaW5wdXQ6IEpTT04uc3RyaW5naWZ5KHVzZXJTaWduaW5nTWF0ZXJpYWwpLFxuICAgICAgICBwYXNzd29yZDogcGFzc3BocmFzZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmJhc2VDb2luLmtleWNoYWlucygpLmFkZCh1c2VyS2V5Y2hhaW5QYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBLZXljaGFpbiBjb250YWluaW5nIHRoZSBCYWNrdXAgcGFydHkncyBUU1Mgc2lnbmluZyBtYXRlcmlhbHMuXG4gICAqIFdlIG5lZWQgdG8gaGF2ZSB0aGUgcGFzc3BocmFzZSBiZSBvcHRpb25hbCB0byBhbGxvdyBmb3IgdGhlIGNsaWVudCB0byBzdG9yZSB0aGVpciBiYWNrdXAga2V5IG9uIHRoZWlyIHByZW1pc2VzXG4gICAqXG4gICAqIEBwYXJhbSB1c2VyR3BnS2V5IC0gZXBoZW1lcmFsIEdQRyBrZXkgdG8gZW5jcnlwdCAvIGRlY3J5cHQgc2Vuc2l0dmUgZGF0YSBleGNoYW5nZWQgYmV0d2VlbiB1c2VyIGFuZCBzZXJ2ZXJcbiAgICogQHBhcmFtIHVzZXJLZXlTaGFyZSAtIFVzZXIncyBUU1MgS2V5c2hhcmVcbiAgICogQHBhcmFtIGJhY2t1cEdwZ0tleSAtIGVwaGVtZXJhbCBHUEcga2V5IHRvIGVuY3J5cHQgLyBkZWNyeXB0IHNlbnNpdHZlIGRhdGEgZXhjaGFuZ2VkIGJldHdlZW4gYmFja3VwIGFuZCBzZXJ2ZXJcbiAgICogQHBhcmFtIGJhY2t1cEtleVNoYXJlIC0gQmFja3VwJ3MgVFNTIEtleXNoYXJlXG4gICAqIEBwYXJhbSBiaXRnb0tleWNoYWluIC0gcHJldmlvdXNseSBjcmVhdGVkIEJpdEdvIGtleWNoYWluOyBtdXN0IGJlIGNvbXBhdGlibGUgd2l0aCB1c2VyIGFuZCBiYWNrdXAga2V5IHNoYXJlc1xuICAgKiBAcGFyYW0gW3Bhc3NwaHJhc2VdIC0gb3B0aW9uYWwgd2FsbGV0IHBhc3NwaHJhc2UgdXNlZCB0byBlbmNyeXB0IHVzZXIncyBzaWduaW5nIG1hdGVyaWFsc1xuICAgKi9cbiAgYXN5bmMgY3JlYXRlQmFja3VwS2V5Y2hhaW4oe1xuICAgIHVzZXJHcGdLZXksXG4gICAgYmFja3VwR3BnS2V5LFxuICAgIHVzZXJLZXlTaGFyZSxcbiAgICBiYWNrdXBLZXlTaGFyZSxcbiAgICBiaXRnb0tleWNoYWluLFxuICAgIHBhc3NwaHJhc2UsXG4gIH06IENyZWF0ZUVkZHNhS2V5Y2hhaW5QYXJhbXMpOiBQcm9taXNlPEtleWNoYWluPiB7XG4gICAgY29uc3QgTVBDID0gYXdhaXQgRWRkc2EuaW5pdGlhbGl6ZSgpO1xuICAgIGNvbnN0IGJpdGdvS2V5U2hhcmVzID0gYml0Z29LZXljaGFpbi5rZXlTaGFyZXM7XG4gICAgaWYgKCFiaXRnb0tleVNoYXJlcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGJpdGdvIGtleXNoYXJlcycpO1xuICAgIH1cblxuICAgIGNvbnN0IGJpdEdvVG9CYWNrdXBTaGFyZSA9IGJpdGdvS2V5U2hhcmVzLmZpbmQoKGtleVNoYXJlKSA9PiBrZXlTaGFyZS5mcm9tID09PSAnYml0Z28nICYmIGtleVNoYXJlLnRvID09PSAnYmFja3VwJyk7XG4gICAgaWYgKCFiaXRHb1RvQmFja3VwU2hhcmUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBCaXRHbyB0byBVc2VyIGtleSBzaGFyZScpO1xuICAgIH1cblxuICAgIGNvbnN0IGJpdEdvVG9CYWNrdXBQcml2YXRlU2hhcmUgPSBhd2FpdCB0aGlzLmRlY3J5cHRQcml2YXRlU2hhcmUoYml0R29Ub0JhY2t1cFNoYXJlLnByaXZhdGVTaGFyZSwgYmFja3VwR3BnS2V5KTtcblxuICAgIGF3YWl0IHRoaXMudmVyaWZ5V2FsbGV0U2lnbmF0dXJlcyhcbiAgICAgIHVzZXJHcGdLZXkucHVibGljS2V5LFxuICAgICAgYmFja3VwR3BnS2V5LnB1YmxpY0tleSxcbiAgICAgIGJpdGdvS2V5Y2hhaW4sXG4gICAgICBiaXRHb1RvQmFja3VwUHJpdmF0ZVNoYXJlLFxuICAgICAgMlxuICAgICk7XG5cbiAgICBjb25zdCBiaXRnb1RvQmFja3VwOiBZU2hhcmUgPSB7XG4gICAgICBpOiAyLFxuICAgICAgajogMyxcbiAgICAgIHk6IGJpdEdvVG9CYWNrdXBTaGFyZS5wdWJsaWNTaGFyZS5zbGljZSgwLCA2NCksXG4gICAgICB2OiBiaXRHb1RvQmFja3VwU2hhcmUudnNzUHJvb2YsXG4gICAgICB1OiBiaXRHb1RvQmFja3VwUHJpdmF0ZVNoYXJlLnNsaWNlKDAsIDY0KSxcbiAgICAgIGNoYWluY29kZTogYml0R29Ub0JhY2t1cFByaXZhdGVTaGFyZS5zbGljZSg2NCksXG4gICAgfTtcblxuICAgIC8vIFRPRE8oQkctNDcxNzApOiB1c2UgdHNzLmNyZWF0ZUNvbWJpbmVkS2V5IGhlbHBlciB3aGVuIHNpZ25hdHVyZXMgYXJlIHN1cHBvcnRlZFxuICAgIGNvbnN0IGJhY2t1cENvbWJpbmVkID0gTVBDLmtleUNvbWJpbmUoYmFja3VwS2V5U2hhcmUudVNoYXJlLCBbdXNlcktleVNoYXJlLnlTaGFyZXNbMl0sIGJpdGdvVG9CYWNrdXBdKTtcbiAgICBjb25zdCBjb21tb25LZXljaGFpbiA9IGJhY2t1cENvbWJpbmVkLnBTaGFyZS55ICsgYmFja3VwQ29tYmluZWQucFNoYXJlLmNoYWluY29kZTtcbiAgICBpZiAoY29tbW9uS2V5Y2hhaW4gIT09IGJpdGdvS2V5Y2hhaW4uY29tbW9uS2V5Y2hhaW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGNyZWF0ZSBiYWNrdXAga2V5Y2hhaW4gLSBjb21tb25LZXljaGFpbnMgZG8gbm90IG1hdGNoLicpO1xuICAgIH1cblxuICAgIGNvbnN0IGJhY2t1cFNpZ25pbmdNYXRlcmlhbDogU2lnbmluZ01hdGVyaWFsID0ge1xuICAgICAgdVNoYXJlOiBiYWNrdXBLZXlTaGFyZS51U2hhcmUsXG4gICAgICBiaXRnb1lTaGFyZTogYml0Z29Ub0JhY2t1cCxcbiAgICAgIHVzZXJZU2hhcmU6IHVzZXJLZXlTaGFyZS55U2hhcmVzWzJdLFxuICAgIH07XG4gICAgY29uc3QgcHJ2ID0gSlNPTi5zdHJpbmdpZnkoYmFja3VwU2lnbmluZ01hdGVyaWFsKTtcblxuICAgIGNvbnN0IHBhcmFtczogQ3JlYXRlQmFja3VwT3B0aW9ucyA9IHtcbiAgICAgIHNvdXJjZTogJ2JhY2t1cCcsXG4gICAgICBrZXlUeXBlOiAndHNzJyxcbiAgICAgIGNvbW1vbktleWNoYWluOiBiaXRnb0tleWNoYWluLmNvbW1vbktleWNoYWluLFxuICAgICAgcHJ2OiBwcnYsXG4gICAgfTtcblxuICAgIGlmIChwYXNzcGhyYXNlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHBhcmFtcy5lbmNyeXB0ZWRQcnYgPSB0aGlzLmJpdGdvLmVuY3J5cHQoeyBpbnB1dDogcHJ2LCBwYXNzd29yZDogcGFzc3BocmFzZSB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5iYXNlQ29pbi5rZXljaGFpbnMoKS5jcmVhdGVCYWNrdXAocGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgS2V5Y2hhaW4gY29udGFpbmluZyBCaXRHbydzIFRTUyBzaWduaW5nIG1hdGVyaWFscy5cbiAgICpcbiAgICogQHBhcmFtIHVzZXJHcGdLZXkgLSBlcGhlbWVyYWwgR1BHIGtleSB0byBlbmNyeXB0IC8gZGVjcnlwdCBzZW5zaXR2ZSBkYXRhIGV4Y2hhbmdlZCBiZXR3ZWVuIHVzZXIgYW5kIHNlcnZlclxuICAgKiBAcGFyYW0gdXNlcktleVNoYXJlIC0gdXNlcidzIFRTUyBrZXkgc2hhcmVcbiAgICogQHBhcmFtIGJhY2t1cEtleVNoYXJlIC0gYmFja3VwJ3MgVFNTIGtleSBzaGFyZVxuICAgKiBAcGFyYW0gZW50ZXJwcmlzZSAtIGVudGVycHJpc2UgYXNzb2NpYXRlZCB0byB0aGUgd2FsbGV0XG4gICAqL1xuICBhc3luYyBjcmVhdGVCaXRnb0tleWNoYWluKHtcbiAgICB1c2VyR3BnS2V5LFxuICAgIGJhY2t1cEdwZ0tleSxcbiAgICB1c2VyS2V5U2hhcmUsXG4gICAgYmFja3VwS2V5U2hhcmUsXG4gICAgZW50ZXJwcmlzZSxcbiAgfTogQ3JlYXRlRWRkc2FCaXRHb0tleWNoYWluUGFyYW1zKTogUHJvbWlzZTxLZXljaGFpbj4ge1xuICAgIC8vIFRPRE8oQkctNDcxNzApOiB1c2UgdHNzLmVuY3J5cHRZU2hhcmUgaGVscGVyIHdoZW4gc2lnbmF0dXJlcyBhcmUgc3VwcG9ydGVkXG4gICAgY29uc3QgdXNlclRvQml0Z29QdWJsaWNTaGFyZSA9IEJ1ZmZlci5jb25jYXQoW1xuICAgICAgQnVmZmVyLmZyb20odXNlcktleVNoYXJlLnVTaGFyZS55LCAnaGV4JyksXG4gICAgICBCdWZmZXIuZnJvbSh1c2VyS2V5U2hhcmUudVNoYXJlLmNoYWluY29kZSwgJ2hleCcpLFxuICAgIF0pLnRvU3RyaW5nKCdoZXgnKTtcbiAgICBjb25zdCB1c2VyVG9CaXRnb1ByaXZhdGVTaGFyZSA9IEJ1ZmZlci5jb25jYXQoW1xuICAgICAgQnVmZmVyLmZyb20odXNlcktleVNoYXJlLnlTaGFyZXNbM10udSwgJ2hleCcpLFxuICAgICAgQnVmZmVyLmZyb20odXNlcktleVNoYXJlLnlTaGFyZXNbM10uY2hhaW5jb2RlLCAnaGV4JyksXG4gICAgXSkudG9TdHJpbmcoJ2hleCcpO1xuICAgIGNvbnN0IHVzZXJUb0JpdGdvS2V5U2hhcmUgPSB7XG4gICAgICBwdWJsaWNTaGFyZTogdXNlclRvQml0Z29QdWJsaWNTaGFyZSxcbiAgICAgIHByaXZhdGVTaGFyZTogdXNlclRvQml0Z29Qcml2YXRlU2hhcmUsXG4gICAgICBwcml2YXRlU2hhcmVQcm9vZjogYXdhaXQgY3JlYXRlU2hhcmVQcm9vZih1c2VyR3BnS2V5LnByaXZhdGVLZXksIHVzZXJUb0JpdGdvUHJpdmF0ZVNoYXJlLnNsaWNlKDAsIDY0KSwgJ2VkZHNhJyksXG4gICAgICB2c3NQcm9vZjogdXNlcktleVNoYXJlLnlTaGFyZXNbM10udixcbiAgICB9O1xuXG4gICAgY29uc3QgYmFja3VwVG9CaXRnb1B1YmxpY1NoYXJlID0gQnVmZmVyLmNvbmNhdChbXG4gICAgICBCdWZmZXIuZnJvbShiYWNrdXBLZXlTaGFyZS51U2hhcmUueSwgJ2hleCcpLFxuICAgICAgQnVmZmVyLmZyb20oYmFja3VwS2V5U2hhcmUudVNoYXJlLmNoYWluY29kZSwgJ2hleCcpLFxuICAgIF0pLnRvU3RyaW5nKCdoZXgnKTtcbiAgICBjb25zdCBiYWNrdXBUb0JpdGdvUHJpdmF0ZVNoYXJlID0gQnVmZmVyLmNvbmNhdChbXG4gICAgICBCdWZmZXIuZnJvbShiYWNrdXBLZXlTaGFyZS55U2hhcmVzWzNdLnUsICdoZXgnKSxcbiAgICAgIEJ1ZmZlci5mcm9tKGJhY2t1cEtleVNoYXJlLnlTaGFyZXNbM10uY2hhaW5jb2RlLCAnaGV4JyksXG4gICAgXSkudG9TdHJpbmcoJ2hleCcpO1xuICAgIGNvbnN0IGJhY2t1cFRvQml0Z29LZXlTaGFyZSA9IHtcbiAgICAgIHB1YmxpY1NoYXJlOiBiYWNrdXBUb0JpdGdvUHVibGljU2hhcmUsXG4gICAgICBwcml2YXRlU2hhcmU6IGJhY2t1cFRvQml0Z29Qcml2YXRlU2hhcmUsXG4gICAgICBwcml2YXRlU2hhcmVQcm9vZjogYXdhaXQgY3JlYXRlU2hhcmVQcm9vZihcbiAgICAgICAgYmFja3VwR3BnS2V5LnByaXZhdGVLZXksXG4gICAgICAgIGJhY2t1cFRvQml0Z29Qcml2YXRlU2hhcmUuc2xpY2UoMCwgNjQpLFxuICAgICAgICAnZWRkc2EnXG4gICAgICApLFxuICAgICAgdnNzUHJvb2Y6IGJhY2t1cEtleVNoYXJlLnlTaGFyZXNbM10udixcbiAgICB9O1xuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY3JlYXRlQml0Z29LZXljaGFpbkluV1AoXG4gICAgICB1c2VyR3BnS2V5LFxuICAgICAgYmFja3VwR3BnS2V5LFxuICAgICAgdXNlclRvQml0Z29LZXlTaGFyZSxcbiAgICAgIGJhY2t1cFRvQml0Z29LZXlTaGFyZSxcbiAgICAgICd0c3MnLFxuICAgICAgZW50ZXJwcmlzZVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBVc2VyLCBCYWNrdXAsIGFuZCBCaXRHbyBUU1MgS2V5Y2hhaW5zLlxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zLnBhc3NwaHJhc2UgLSBwYXNzcGhyYXNlIHVzZWQgdG8gZW5jcnlwdCBzaWduaW5nIG1hdGVyaWFscyBjcmVhdGVkIGZvciBVc2VyIGFuZCBCYWNrdXBcbiAgICovXG4gIGFzeW5jIGNyZWF0ZUtleWNoYWlucyhwYXJhbXM6IHtcbiAgICBwYXNzcGhyYXNlPzogc3RyaW5nO1xuICAgIGVudGVycHJpc2U/OiBzdHJpbmc7XG4gICAgb3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlPzogc3RyaW5nO1xuICB9KTogUHJvbWlzZTxLZXljaGFpbnNUcmlwbGV0PiB7XG4gICAgY29uc3QgTVBDID0gYXdhaXQgRWRkc2EuaW5pdGlhbGl6ZSgpO1xuICAgIGNvbnN0IG0gPSAyO1xuICAgIGNvbnN0IG4gPSAzO1xuXG4gICAgY29uc3QgdXNlcktleVNoYXJlID0gTVBDLmtleVNoYXJlKDEsIG0sIG4pO1xuICAgIGNvbnN0IGJhY2t1cEtleVNoYXJlID0gTVBDLmtleVNoYXJlKDIsIG0sIG4pO1xuXG4gICAgY29uc3QgdXNlckdwZ0tleSA9IGF3YWl0IGdlbmVyYXRlR1BHS2V5UGFpcignc2VjcDI1NmsxJyk7XG4gICAgY29uc3QgYmFja3VwR3BnS2V5ID0gYXdhaXQgZ2VuZXJhdGVHUEdLZXlQYWlyKCdzZWNwMjU2azEnKTtcblxuICAgIGNvbnN0IGJpdGdvS2V5Y2hhaW4gPSBhd2FpdCB0aGlzLmNyZWF0ZUJpdGdvS2V5Y2hhaW4oe1xuICAgICAgdXNlckdwZ0tleSxcbiAgICAgIHVzZXJLZXlTaGFyZSxcbiAgICAgIGJhY2t1cEdwZ0tleSxcbiAgICAgIGJhY2t1cEtleVNoYXJlLFxuICAgICAgZW50ZXJwcmlzZTogcGFyYW1zLmVudGVycHJpc2UsXG4gICAgfSk7XG4gICAgY29uc3QgdXNlcktleWNoYWluUHJvbWlzZSA9IHRoaXMuY3JlYXRlVXNlcktleWNoYWluKHtcbiAgICAgIHVzZXJHcGdLZXksXG4gICAgICB1c2VyS2V5U2hhcmUsXG4gICAgICBiYWNrdXBHcGdLZXksXG4gICAgICBiYWNrdXBLZXlTaGFyZSxcbiAgICAgIGJpdGdvS2V5Y2hhaW4sXG4gICAgICBwYXNzcGhyYXNlOiBwYXJhbXMucGFzc3BocmFzZSxcbiAgICAgIG9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZTogcGFyYW1zLm9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZSxcbiAgICB9KTtcbiAgICBjb25zdCBiYWNrdXBLZXljaGFpblByb21pc2UgPSB0aGlzLmNyZWF0ZUJhY2t1cEtleWNoYWluKHtcbiAgICAgIHVzZXJHcGdLZXksXG4gICAgICB1c2VyS2V5U2hhcmUsXG4gICAgICBiYWNrdXBHcGdLZXksXG4gICAgICBiYWNrdXBLZXlTaGFyZSxcbiAgICAgIGJpdGdvS2V5Y2hhaW4sXG4gICAgICBwYXNzcGhyYXNlOiBwYXJhbXMucGFzc3BocmFzZSxcbiAgICB9KTtcbiAgICBjb25zdCBbdXNlcktleWNoYWluLCBiYWNrdXBLZXljaGFpbl0gPSBhd2FpdCBQcm9taXNlLmFsbChbdXNlcktleWNoYWluUHJvbWlzZSwgYmFja3VwS2V5Y2hhaW5Qcm9taXNlXSk7XG5cbiAgICAvLyBjcmVhdGUgd2FsbGV0XG4gICAgY29uc3Qga2V5Y2hhaW5zID0ge1xuICAgICAgdXNlcktleWNoYWluLFxuICAgICAgYmFja3VwS2V5Y2hhaW4sXG4gICAgICBiaXRnb0tleWNoYWluLFxuICAgIH07XG5cbiAgICByZXR1cm4ga2V5Y2hhaW5zO1xuICB9XG5cbiAgYXN5bmMgY3JlYXRlQ29tbWl0bWVudFNoYXJlRnJvbVR4UmVxdWVzdChwYXJhbXM6IHtcbiAgICB0eFJlcXVlc3Q6IFR4UmVxdWVzdDtcbiAgICBwcnY6IHN0cmluZztcbiAgICB3YWxsZXRQYXNzcGhyYXNlOiBzdHJpbmc7XG4gIH0pOiBQcm9taXNlPHtcbiAgICB1c2VyVG9CaXRnb0NvbW1pdG1lbnQ6IENvbW1pdG1lbnRTaGFyZVJlY29yZDtcbiAgICBlbmNyeXB0ZWRTaWduZXJTaGFyZTogRW5jcnlwdGVkU2lnbmVyU2hhcmVSZWNvcmQ7XG4gICAgZW5jcnlwdGVkVXNlclRvQml0Z29SU2hhcmU6IEVuY3J5cHRlZFNpZ25lclNoYXJlUmVjb3JkO1xuICB9PiB7XG4gICAgY29uc3QgYml0Z29JbmRleCA9IFNoYXJlS2V5UG9zaXRpb24uQklUR087XG4gICAgY29uc3QgeyB0eFJlcXVlc3QsIHBydiB9ID0gcGFyYW1zO1xuICAgIGNvbnN0IHR4UmVxdWVzdFJlc29sdmVkOiBUeFJlcXVlc3QgPSB0eFJlcXVlc3Q7XG5cbiAgICBjb25zdCBoZFRyZWUgPSBhd2FpdCBFZDI1NTE5QklQMzIuaW5pdGlhbGl6ZSgpO1xuICAgIGNvbnN0IE1QQyA9IGF3YWl0IEVkZHNhLmluaXRpYWxpemUoaGRUcmVlKTtcblxuICAgIGNvbnN0IHVzZXJTaWduaW5nTWF0ZXJpYWw6IFNpZ25pbmdNYXRlcmlhbCA9IEpTT04ucGFyc2UocHJ2KTtcbiAgICBpZiAoIXVzZXJTaWduaW5nTWF0ZXJpYWwuYmFja3VwWVNoYXJlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdXNlciBrZXkgLSBtaXNzaW5nIGJhY2t1cFlTaGFyZScpO1xuICAgIH1cblxuICAgIGFzc2VydCh0eFJlcXVlc3RSZXNvbHZlZC50cmFuc2FjdGlvbnMgfHwgdHhSZXF1ZXN0UmVzb2x2ZWQudW5zaWduZWRUeHMsICdVbmFibGUgdG8gZmluZCB0cmFuc2FjdGlvbnMgaW4gdHhSZXF1ZXN0Jyk7XG4gICAgY29uc3QgdW5zaWduZWRUeCA9XG4gICAgICB0eFJlcXVlc3RSZXNvbHZlZC5hcGlWZXJzaW9uID09PSAnZnVsbCdcbiAgICAgICAgPyB0eFJlcXVlc3RSZXNvbHZlZC50cmFuc2FjdGlvbnMhWzBdLnVuc2lnbmVkVHhcbiAgICAgICAgOiB0eFJlcXVlc3RSZXNvbHZlZC51bnNpZ25lZFR4c1swXTtcblxuICAgIGNvbnN0IHNpZ25pbmdLZXkgPSBNUEMua2V5RGVyaXZlKFxuICAgICAgdXNlclNpZ25pbmdNYXRlcmlhbC51U2hhcmUsXG4gICAgICBbdXNlclNpZ25pbmdNYXRlcmlhbC5iaXRnb1lTaGFyZSwgdXNlclNpZ25pbmdNYXRlcmlhbC5iYWNrdXBZU2hhcmVdLFxuICAgICAgdW5zaWduZWRUeC5kZXJpdmF0aW9uUGF0aFxuICAgICk7XG5cbiAgICBjb25zdCBzaWduYWJsZVBheWxvYWQgPSBCdWZmZXIuZnJvbSh1bnNpZ25lZFR4LnNpZ25hYmxlSGV4LCAnaGV4Jyk7XG5cbiAgICBjb25zdCB1c2VyU2lnblNoYXJlID0gYXdhaXQgY3JlYXRlVXNlclNpZ25TaGFyZShzaWduYWJsZVBheWxvYWQsIHNpZ25pbmdLZXkucFNoYXJlKTtcbiAgICBjb25zdCBjb21taXRtZW50ID0gdXNlclNpZ25TaGFyZS5yU2hhcmVzW2JpdGdvSW5kZXhdPy5jb21taXRtZW50O1xuICAgIGFzc2VydChjb21taXRtZW50LCAnVW5hYmxlIHRvIGZpbmQgY29tbWl0bWVudCBpbiB1c2VyU2lnblNoYXJlJyk7XG4gICAgY29uc3QgdXNlclRvQml0Z29Db21taXRtZW50ID0gdGhpcy5jcmVhdGVVc2VyVG9CaXRnb0NvbW1pdG1lbnRTaGFyZShjb21taXRtZW50KTtcblxuICAgIGNvbnN0IHNpZ25lclNoYXJlID0gc2lnbmluZ0tleS55U2hhcmVzW2JpdGdvSW5kZXhdLnUgKyBzaWduaW5nS2V5LnlTaGFyZXNbYml0Z29JbmRleF0uY2hhaW5jb2RlO1xuICAgIGNvbnN0IGJpdGdvR3BnS2V5ID0gYXdhaXQgZ2V0Qml0Z29HcGdQdWJLZXkodGhpcy5iaXRnbyk7XG4gICAgY29uc3QgdXNlclRvQml0Z29FbmNyeXB0ZWRTaWduZXJTaGFyZSA9IGF3YWl0IGVuY3J5cHRUZXh0KHNpZ25lclNoYXJlLCBiaXRnb0dwZ0tleSk7XG5cbiAgICBjb25zdCBlbmNyeXB0ZWRTaWduZXJTaGFyZSA9IHRoaXMuY3JlYXRlVXNlclRvQml0Z29FbmNyeXB0ZWRTaWduZXJTaGFyZSh1c2VyVG9CaXRnb0VuY3J5cHRlZFNpZ25lclNoYXJlKTtcbiAgICBjb25zdCBzdHJpbmdpZmllZFJTaGFyZSA9IEpTT04uc3RyaW5naWZ5KHVzZXJTaWduU2hhcmUpO1xuICAgIGNvbnN0IGVuY3J5cHRlZFJTaGFyZSA9IHRoaXMuYml0Z28uZW5jcnlwdCh7IGlucHV0OiBzdHJpbmdpZmllZFJTaGFyZSwgcGFzc3dvcmQ6IHBhcmFtcy53YWxsZXRQYXNzcGhyYXNlIH0pO1xuICAgIGNvbnN0IGVuY3J5cHRlZFVzZXJUb0JpdGdvUlNoYXJlID0gdGhpcy5jcmVhdGVVc2VyVG9CaXRnb0VuY3J5cHRlZFJTaGFyZShlbmNyeXB0ZWRSU2hhcmUpO1xuXG4gICAgcmV0dXJuIHsgdXNlclRvQml0Z29Db21taXRtZW50LCBlbmNyeXB0ZWRTaWduZXJTaGFyZSwgZW5jcnlwdGVkVXNlclRvQml0Z29SU2hhcmUgfTtcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZVJTaGFyZUZyb21UeFJlcXVlc3QocGFyYW1zOiB7XG4gICAgdHhSZXF1ZXN0OiBUeFJlcXVlc3Q7XG4gICAgd2FsbGV0UGFzc3BocmFzZTogc3RyaW5nO1xuICAgIGVuY3J5cHRlZFVzZXJUb0JpdGdvUlNoYXJlOiBFbmNyeXB0ZWRTaWduZXJTaGFyZVJlY29yZDtcbiAgfSk6IFByb21pc2U8eyByU2hhcmU6IFNpZ25TaGFyZSB9PiB7XG4gICAgY29uc3QgeyB3YWxsZXRQYXNzcGhyYXNlLCBlbmNyeXB0ZWRVc2VyVG9CaXRnb1JTaGFyZSB9ID0gcGFyYW1zO1xuXG4gICAgY29uc3QgZGVjcnlwdGVkUlNoYXJlID0gdGhpcy5iaXRnby5kZWNyeXB0KHtcbiAgICAgIGlucHV0OiBlbmNyeXB0ZWRVc2VyVG9CaXRnb1JTaGFyZS5zaGFyZSxcbiAgICAgIHBhc3N3b3JkOiB3YWxsZXRQYXNzcGhyYXNlLFxuICAgIH0pO1xuICAgIGNvbnN0IHJTaGFyZSA9IEpTT04ucGFyc2UoZGVjcnlwdGVkUlNoYXJlKTtcbiAgICBhc3NlcnQoclNoYXJlLnhTaGFyZSwgJ1VuYWJsZSB0byBmaW5kIHhTaGFyZSBpbiBkZWNyeXB0ZWRSU2hhcmUnKTtcbiAgICBhc3NlcnQoclNoYXJlLnJTaGFyZXMsICdVbmFibGUgdG8gZmluZCByU2hhcmVzIGluIGRlY3J5cHRlZFJTaGFyZScpO1xuXG4gICAgcmV0dXJuIHsgclNoYXJlIH07XG4gIH1cblxuICBhc3luYyBjcmVhdGVHU2hhcmVGcm9tVHhSZXF1ZXN0KHBhcmFtczoge1xuICAgIHR4UmVxdWVzdDogc3RyaW5nIHwgVHhSZXF1ZXN0O1xuICAgIHBydjogc3RyaW5nO1xuICAgIGJpdGdvVG9Vc2VyUlNoYXJlOiBTaWduYXR1cmVTaGFyZVJlY29yZDtcbiAgICB1c2VyVG9CaXRnb1JTaGFyZTogU2lnblNoYXJlO1xuICAgIGJpdGdvVG9Vc2VyQ29tbWl0bWVudDogQ29tbWl0bWVudFNoYXJlUmVjb3JkO1xuICB9KTogUHJvbWlzZTxHU2hhcmU+IHtcbiAgICBsZXQgdHhSZXF1ZXN0UmVzb2x2ZWQ6IFR4UmVxdWVzdDtcblxuICAgIGNvbnN0IHsgdHhSZXF1ZXN0LCBwcnYsIGJpdGdvVG9Vc2VyQ29tbWl0bWVudCwgYml0Z29Ub1VzZXJSU2hhcmUsIHVzZXJUb0JpdGdvUlNoYXJlIH0gPSBwYXJhbXM7XG5cbiAgICBpZiAodHlwZW9mIHR4UmVxdWVzdCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHR4UmVxdWVzdFJlc29sdmVkID0gYXdhaXQgZ2V0VHhSZXF1ZXN0KHRoaXMuYml0Z28sIHRoaXMud2FsbGV0LmlkKCksIHR4UmVxdWVzdCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHR4UmVxdWVzdFJlc29sdmVkID0gdHhSZXF1ZXN0O1xuICAgIH1cblxuICAgIGNvbnN0IHVzZXJTaWduaW5nTWF0ZXJpYWw6IFNpZ25pbmdNYXRlcmlhbCA9IEpTT04ucGFyc2UocHJ2KTtcbiAgICBpZiAoIXVzZXJTaWduaW5nTWF0ZXJpYWwuYmFja3VwWVNoYXJlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdXNlciBrZXkgLSBtaXNzaW5nIGJhY2t1cFlTaGFyZScpO1xuICAgIH1cblxuICAgIGFzc2VydCh0eFJlcXVlc3RSZXNvbHZlZC50cmFuc2FjdGlvbnMgfHwgdHhSZXF1ZXN0UmVzb2x2ZWQudW5zaWduZWRUeHMsICdVbmFibGUgdG8gZmluZCB0cmFuc2FjdGlvbnMgaW4gdHhSZXF1ZXN0Jyk7XG4gICAgY29uc3QgdW5zaWduZWRUeCA9XG4gICAgICB0eFJlcXVlc3RSZXNvbHZlZC5hcGlWZXJzaW9uID09PSAnZnVsbCdcbiAgICAgICAgPyB0eFJlcXVlc3RSZXNvbHZlZC50cmFuc2FjdGlvbnMhWzBdLnVuc2lnbmVkVHhcbiAgICAgICAgOiB0eFJlcXVlc3RSZXNvbHZlZC51bnNpZ25lZFR4c1swXTtcblxuICAgIGNvbnN0IHNpZ25hYmxlUGF5bG9hZCA9IEJ1ZmZlci5mcm9tKHVuc2lnbmVkVHguc2lnbmFibGVIZXgsICdoZXgnKTtcblxuICAgIGNvbnN0IHVzZXJUb0JpdEdvR1NoYXJlID0gYXdhaXQgY3JlYXRlVXNlclRvQml0R29HU2hhcmUoXG4gICAgICB1c2VyVG9CaXRnb1JTaGFyZSxcbiAgICAgIGJpdGdvVG9Vc2VyUlNoYXJlLFxuICAgICAgdXNlclNpZ25pbmdNYXRlcmlhbC5iYWNrdXBZU2hhcmUsXG4gICAgICB1c2VyU2lnbmluZ01hdGVyaWFsLmJpdGdvWVNoYXJlLFxuICAgICAgc2lnbmFibGVQYXlsb2FkLFxuICAgICAgYml0Z29Ub1VzZXJDb21taXRtZW50XG4gICAgKTtcbiAgICByZXR1cm4gdXNlclRvQml0R29HU2hhcmU7XG4gIH1cblxuICBhc3luYyBzaWduRWRkc2FUc3NVc2luZ0V4dGVybmFsU2lnbmVyKFxuICAgIHR4UmVxdWVzdDogc3RyaW5nIHwgVHhSZXF1ZXN0LFxuICAgIGV4dGVybmFsU2lnbmVyQ29tbWl0bWVudEdlbmVyYXRvcjogQ3VzdG9tQ29tbWl0bWVudEdlbmVyYXRpbmdGdW5jdGlvbixcbiAgICBleHRlcm5hbFNpZ25lclJTaGFyZUdlbmVyYXRvcjogQ3VzdG9tUlNoYXJlR2VuZXJhdGluZ0Z1bmN0aW9uLFxuICAgIGV4dGVybmFsU2lnbmVyR1NoYXJlR2VuZXJhdG9yOiBDdXN0b21HU2hhcmVHZW5lcmF0aW5nRnVuY3Rpb25cbiAgKTogUHJvbWlzZTxUeFJlcXVlc3Q+IHtcbiAgICBsZXQgdHhSZXF1ZXN0UmVzb2x2ZWQ6IFR4UmVxdWVzdDtcbiAgICBsZXQgdHhSZXF1ZXN0SWQ6IHN0cmluZztcbiAgICBpZiAodHlwZW9mIHR4UmVxdWVzdCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHR4UmVxdWVzdFJlc29sdmVkID0gYXdhaXQgZ2V0VHhSZXF1ZXN0KHRoaXMuYml0Z28sIHRoaXMud2FsbGV0LmlkKCksIHR4UmVxdWVzdCk7XG4gICAgICB0eFJlcXVlc3RJZCA9IHR4UmVxdWVzdFJlc29sdmVkLnR4UmVxdWVzdElkO1xuICAgIH0gZWxzZSB7XG4gICAgICB0eFJlcXVlc3RSZXNvbHZlZCA9IHR4UmVxdWVzdDtcbiAgICAgIHR4UmVxdWVzdElkID0gdHhSZXF1ZXN0LnR4UmVxdWVzdElkO1xuICAgIH1cblxuICAgIGNvbnN0IHsgYXBpVmVyc2lvbiB9ID0gdHhSZXF1ZXN0UmVzb2x2ZWQ7XG5cbiAgICBjb25zdCB7IHVzZXJUb0JpdGdvQ29tbWl0bWVudCwgZW5jcnlwdGVkU2lnbmVyU2hhcmUsIGVuY3J5cHRlZFVzZXJUb0JpdGdvUlNoYXJlIH0gPVxuICAgICAgYXdhaXQgZXh0ZXJuYWxTaWduZXJDb21taXRtZW50R2VuZXJhdG9yKHsgdHhSZXF1ZXN0OiB0eFJlcXVlc3RSZXNvbHZlZCB9KTtcblxuICAgIGNvbnN0IHsgY29tbWl0bWVudFNoYXJlOiBiaXRnb1RvVXNlckNvbW1pdG1lbnQgfSA9IGF3YWl0IGV4Y2hhbmdlRWRkc2FDb21taXRtZW50cyhcbiAgICAgIHRoaXMuYml0Z28sXG4gICAgICB0aGlzLndhbGxldC5pZCgpLFxuICAgICAgdHhSZXF1ZXN0SWQsXG4gICAgICB1c2VyVG9CaXRnb0NvbW1pdG1lbnQsXG4gICAgICBlbmNyeXB0ZWRTaWduZXJTaGFyZSxcbiAgICAgIGFwaVZlcnNpb25cbiAgICApO1xuXG4gICAgY29uc3QgeyByU2hhcmUgfSA9IGF3YWl0IGV4dGVybmFsU2lnbmVyUlNoYXJlR2VuZXJhdG9yKHtcbiAgICAgIHR4UmVxdWVzdDogdHhSZXF1ZXN0UmVzb2x2ZWQsXG4gICAgICBlbmNyeXB0ZWRVc2VyVG9CaXRnb1JTaGFyZSxcbiAgICB9KTtcblxuICAgIGF3YWl0IG9mZmVyVXNlclRvQml0Z29SU2hhcmUoXG4gICAgICB0aGlzLmJpdGdvLFxuICAgICAgdGhpcy53YWxsZXQuaWQoKSxcbiAgICAgIHR4UmVxdWVzdElkLFxuICAgICAgclNoYXJlLFxuICAgICAgZW5jcnlwdGVkU2lnbmVyU2hhcmUuc2hhcmUsXG4gICAgICBhcGlWZXJzaW9uXG4gICAgKTtcbiAgICBjb25zdCBiaXRnb1RvVXNlclJTaGFyZSA9IGF3YWl0IGdldEJpdGdvVG9Vc2VyUlNoYXJlKHRoaXMuYml0Z28sIHRoaXMud2FsbGV0LmlkKCksIHR4UmVxdWVzdElkKTtcbiAgICBjb25zdCBnU2lnblNoYXJlVHJhbnNhY3Rpb25QYXJhbXMgPSB7XG4gICAgICB0eFJlcXVlc3Q6IHR4UmVxdWVzdFJlc29sdmVkLFxuICAgICAgYml0Z29Ub1VzZXJSU2hhcmU6IGJpdGdvVG9Vc2VyUlNoYXJlLFxuICAgICAgdXNlclRvQml0Z29SU2hhcmU6IHJTaGFyZSxcbiAgICAgIGJpdGdvVG9Vc2VyQ29tbWl0bWVudCxcbiAgICB9O1xuICAgIGNvbnN0IGdTaGFyZSA9IGF3YWl0IGV4dGVybmFsU2lnbmVyR1NoYXJlR2VuZXJhdG9yKGdTaWduU2hhcmVUcmFuc2FjdGlvblBhcmFtcyk7XG4gICAgYXdhaXQgc2VuZFVzZXJUb0JpdGdvR1NoYXJlKHRoaXMuYml0Z28sIHRoaXMud2FsbGV0LmlkKCksIHR4UmVxdWVzdElkLCBnU2hhcmUsIGFwaVZlcnNpb24pO1xuICAgIHJldHVybiBhd2FpdCBnZXRUeFJlcXVlc3QodGhpcy5iaXRnbywgdGhpcy53YWxsZXQuaWQoKSwgdHhSZXF1ZXN0SWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNpZ25zIHRoZSB0cmFuc2FjdGlvbiBhc3NvY2lhdGVkIHRvIHRoZSB0cmFuc2FjdGlvbiByZXF1ZXN0LlxuICAgKlxuICAgKiBAcGFyYW0gdHhSZXF1ZXN0IC0gdHJhbnNhY3Rpb24gcmVxdWVzdCBvYmplY3Qgb3IgaWRcbiAgICogQHBhcmFtIHBydiAtIGRlY3J5cHRlZCBwcml2YXRlIGtleVxuICAgKiBAcGFyYW0gcmVxSWQgLSByZXF1ZXN0IGlkXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFR4UmVxdWVzdD59IGZ1bGx5IHNpZ25lZCBUeFJlcXVlc3Qgb2JqZWN0XG4gICAqL1xuICBhc3luYyBzaWduVHhSZXF1ZXN0KHBhcmFtczogVFNTUGFyYW1zKTogUHJvbWlzZTxUeFJlcXVlc3Q+IHtcbiAgICBsZXQgdHhSZXF1ZXN0UmVzb2x2ZWQ6IFR4UmVxdWVzdDtcbiAgICBsZXQgdHhSZXF1ZXN0SWQ6IHN0cmluZztcblxuICAgIGNvbnN0IHsgdHhSZXF1ZXN0LCBwcnYgfSA9IHBhcmFtcztcblxuICAgIGlmICh0eXBlb2YgdHhSZXF1ZXN0ID09PSAnc3RyaW5nJykge1xuICAgICAgdHhSZXF1ZXN0UmVzb2x2ZWQgPSBhd2FpdCBnZXRUeFJlcXVlc3QodGhpcy5iaXRnbywgdGhpcy53YWxsZXQuaWQoKSwgdHhSZXF1ZXN0KTtcbiAgICAgIHR4UmVxdWVzdElkID0gdHhSZXF1ZXN0UmVzb2x2ZWQudHhSZXF1ZXN0SWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHR4UmVxdWVzdFJlc29sdmVkID0gdHhSZXF1ZXN0O1xuICAgICAgdHhSZXF1ZXN0SWQgPSB0eFJlcXVlc3QudHhSZXF1ZXN0SWQ7XG4gICAgfVxuXG4gICAgY29uc3QgaGRUcmVlID0gYXdhaXQgRWQyNTUxOUJJUDMyLmluaXRpYWxpemUoKTtcbiAgICBjb25zdCBNUEMgPSBhd2FpdCBFZGRzYS5pbml0aWFsaXplKGhkVHJlZSk7XG5cbiAgICBjb25zdCB1c2VyU2lnbmluZ01hdGVyaWFsOiBTaWduaW5nTWF0ZXJpYWwgPSBKU09OLnBhcnNlKHBydik7XG4gICAgaWYgKCF1c2VyU2lnbmluZ01hdGVyaWFsLmJhY2t1cFlTaGFyZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHVzZXIga2V5IC0gbWlzc2luZyBiYWNrdXBZU2hhcmUnKTtcbiAgICB9XG5cbiAgICBjb25zdCB7IGFwaVZlcnNpb24gfSA9IHR4UmVxdWVzdFJlc29sdmVkO1xuICAgIGFzc2VydCh0eFJlcXVlc3RSZXNvbHZlZC50cmFuc2FjdGlvbnMgfHwgdHhSZXF1ZXN0UmVzb2x2ZWQudW5zaWduZWRUeHMsICdVbmFibGUgdG8gZmluZCB0cmFuc2FjdGlvbnMgaW4gdHhSZXF1ZXN0Jyk7XG4gICAgY29uc3QgdW5zaWduZWRUeCA9XG4gICAgICBhcGlWZXJzaW9uID09PSAnZnVsbCcgPyB0eFJlcXVlc3RSZXNvbHZlZC50cmFuc2FjdGlvbnMhWzBdLnVuc2lnbmVkVHggOiB0eFJlcXVlc3RSZXNvbHZlZC51bnNpZ25lZFR4c1swXTtcblxuICAgIGNvbnN0IHNpZ25pbmdLZXkgPSBNUEMua2V5RGVyaXZlKFxuICAgICAgdXNlclNpZ25pbmdNYXRlcmlhbC51U2hhcmUsXG4gICAgICBbdXNlclNpZ25pbmdNYXRlcmlhbC5iaXRnb1lTaGFyZSwgdXNlclNpZ25pbmdNYXRlcmlhbC5iYWNrdXBZU2hhcmVdLFxuICAgICAgdW5zaWduZWRUeC5kZXJpdmF0aW9uUGF0aFxuICAgICk7XG5cbiAgICBjb25zdCBzaWduYWJsZVBheWxvYWQgPSBCdWZmZXIuZnJvbSh1bnNpZ25lZFR4LnNpZ25hYmxlSGV4LCAnaGV4Jyk7XG5cbiAgICBjb25zdCB1c2VyU2lnblNoYXJlID0gYXdhaXQgY3JlYXRlVXNlclNpZ25TaGFyZShzaWduYWJsZVBheWxvYWQsIHNpZ25pbmdLZXkucFNoYXJlKTtcblxuICAgIGNvbnN0IGJpdGdvSW5kZXggPSBTaGFyZUtleVBvc2l0aW9uLkJJVEdPO1xuICAgIGNvbnN0IHNpZ25lclNoYXJlID0gc2lnbmluZ0tleS55U2hhcmVzW2JpdGdvSW5kZXhdLnUgKyBzaWduaW5nS2V5LnlTaGFyZXNbYml0Z29JbmRleF0uY2hhaW5jb2RlO1xuICAgIGNvbnN0IGJpdGdvR3BnS2V5ID0gYXdhaXQgZ2V0Qml0Z29HcGdQdWJLZXkodGhpcy5iaXRnbyk7XG4gICAgY29uc3QgdXNlclRvQml0Z29FbmNyeXB0ZWRTaWduZXJTaGFyZSA9IGF3YWl0IGVuY3J5cHRUZXh0KHNpZ25lclNoYXJlLCBiaXRnb0dwZ0tleSk7XG5cbiAgICBjb25zdCB1c2VyR3BnS2V5ID0gYXdhaXQgZ2VuZXJhdGVHUEdLZXlQYWlyKCdzZWNwMjU2azEnKTtcbiAgICBjb25zdCBwcml2YXRlU2hhcmVQcm9vZiA9IGF3YWl0IGNyZWF0ZVNoYXJlUHJvb2YodXNlckdwZ0tleS5wcml2YXRlS2V5LCBzaWduaW5nS2V5LnlTaGFyZXNbYml0Z29JbmRleF0udSwgJ2VkZHNhJyk7XG4gICAgY29uc3QgdnNzUHJvb2YgPSBzaWduaW5nS2V5LnlTaGFyZXNbYml0Z29JbmRleF0udjtcbiAgICBjb25zdCB1c2VyUHVibGljR3BnS2V5ID0gdXNlckdwZ0tleS5wdWJsaWNLZXk7XG4gICAgY29uc3QgcHVibGljU2hhcmUgPSBzaWduaW5nS2V5LnlTaGFyZXNbYml0Z29JbmRleF0ueSArIHNpZ25pbmdLZXkueVNoYXJlc1tiaXRnb0luZGV4XS5jaGFpbmNvZGU7XG5cbiAgICBjb25zdCB1c2VyVG9CaXRnb0NvbW1pdG1lbnQgPSB1c2VyU2lnblNoYXJlLnJTaGFyZXNbYml0Z29JbmRleF0uY29tbWl0bWVudDtcbiAgICBhc3NlcnQodXNlclRvQml0Z29Db21taXRtZW50LCAnTWlzc2luZyB1c2VyVG9CaXRnb0NvbW1pdG1lbnQgY29tbWl0bWVudCcpO1xuXG4gICAgY29uc3QgY29tbWl0bWVudFNoYXJlID0gdGhpcy5jcmVhdGVVc2VyVG9CaXRnb0NvbW1pdG1lbnRTaGFyZSh1c2VyVG9CaXRnb0NvbW1pdG1lbnQpO1xuICAgIGNvbnN0IGVuY3J5cHRlZFNpZ25lclNoYXJlID0gdGhpcy5jcmVhdGVVc2VyVG9CaXRnb0VuY3J5cHRlZFNpZ25lclNoYXJlKHVzZXJUb0JpdGdvRW5jcnlwdGVkU2lnbmVyU2hhcmUpO1xuXG4gICAgY29uc3QgeyBjb21taXRtZW50U2hhcmU6IGJpdGdvVG9Vc2VyQ29tbWl0bWVudCB9ID0gYXdhaXQgZXhjaGFuZ2VFZGRzYUNvbW1pdG1lbnRzKFxuICAgICAgdGhpcy5iaXRnbyxcbiAgICAgIHRoaXMud2FsbGV0LmlkKCksXG4gICAgICB0eFJlcXVlc3RJZCxcbiAgICAgIGNvbW1pdG1lbnRTaGFyZSxcbiAgICAgIGVuY3J5cHRlZFNpZ25lclNoYXJlLFxuICAgICAgYXBpVmVyc2lvblxuICAgICk7XG5cbiAgICBhd2FpdCBvZmZlclVzZXJUb0JpdGdvUlNoYXJlKFxuICAgICAgdGhpcy5iaXRnbyxcbiAgICAgIHRoaXMud2FsbGV0LmlkKCksXG4gICAgICB0eFJlcXVlc3RJZCxcbiAgICAgIHVzZXJTaWduU2hhcmUsXG4gICAgICB1c2VyVG9CaXRnb0VuY3J5cHRlZFNpZ25lclNoYXJlLFxuICAgICAgYXBpVmVyc2lvbixcbiAgICAgIHZzc1Byb29mLFxuICAgICAgcHJpdmF0ZVNoYXJlUHJvb2YsXG4gICAgICB1c2VyUHVibGljR3BnS2V5LFxuICAgICAgcHVibGljU2hhcmVcbiAgICApO1xuXG4gICAgY29uc3QgYml0Z29Ub1VzZXJSU2hhcmUgPSBhd2FpdCBnZXRCaXRnb1RvVXNlclJTaGFyZSh0aGlzLmJpdGdvLCB0aGlzLndhbGxldC5pZCgpLCB0eFJlcXVlc3RJZCk7XG5cbiAgICBjb25zdCB1c2VyVG9CaXRHb0dTaGFyZSA9IGF3YWl0IGNyZWF0ZVVzZXJUb0JpdEdvR1NoYXJlKFxuICAgICAgdXNlclNpZ25TaGFyZSxcbiAgICAgIGJpdGdvVG9Vc2VyUlNoYXJlLFxuICAgICAgdXNlclNpZ25pbmdNYXRlcmlhbC5iYWNrdXBZU2hhcmUsXG4gICAgICB1c2VyU2lnbmluZ01hdGVyaWFsLmJpdGdvWVNoYXJlLFxuICAgICAgc2lnbmFibGVQYXlsb2FkLFxuICAgICAgYml0Z29Ub1VzZXJDb21taXRtZW50XG4gICAgKTtcblxuICAgIGF3YWl0IHNlbmRVc2VyVG9CaXRnb0dTaGFyZSh0aGlzLmJpdGdvLCB0aGlzLndhbGxldC5pZCgpLCB0eFJlcXVlc3RJZCwgdXNlclRvQml0R29HU2hhcmUsIGFwaVZlcnNpb24pO1xuXG4gICAgcmV0dXJuIGF3YWl0IGdldFR4UmVxdWVzdCh0aGlzLmJpdGdvLCB0aGlzLndhbGxldC5pZCgpLCB0eFJlcXVlc3RJZCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBjb21tb25QdWIgcG9ydGlvbiBvZiB0aGUgY29tbW9uS2V5Y2hhaW4uXG4gICAqXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBjb21tb25LZXljaGFpblxuICAgKiBAcmV0dXJucyB7c3RyaW5nfVxuICAgKi9cbiAgc3RhdGljIGdldFB1YmxpY0tleUZyb21Db21tb25LZXljaGFpbihjb21tb25LZXljaGFpbjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoY29tbW9uS2V5Y2hhaW4ubGVuZ3RoICE9PSAxMjgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb21tb25LZXljaGFpbiBsZW5ndGgsIGV4cGVjdGVkIDEyOCwgZ290ICR7Y29tbW9uS2V5Y2hhaW4ubGVuZ3RofWApO1xuICAgIH1cbiAgICBjb25zdCBjb21tb25QdWJIZXhTdHIgPSBjb21tb25LZXljaGFpbi5zbGljZSgwLCA2NCk7XG4gICAgcmV0dXJuIGJzNTguZW5jb2RlKEJ1ZmZlci5mcm9tKGNvbW1vblB1YkhleFN0ciwgJ2hleCcpKTtcbiAgfVxuXG4gIGNyZWF0ZVVzZXJUb0JpdGdvQ29tbWl0bWVudFNoYXJlKGNvbW1pdG1lbnQ6IHN0cmluZyk6IENvbW1pdG1lbnRTaGFyZVJlY29yZCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZyb206IFNpZ25hdHVyZVNoYXJlVHlwZS5VU0VSLFxuICAgICAgdG86IFNpZ25hdHVyZVNoYXJlVHlwZS5CSVRHTyxcbiAgICAgIHNoYXJlOiBjb21taXRtZW50LFxuICAgICAgdHlwZTogQ29tbWl0bWVudFR5cGUuQ09NTUlUTUVOVCxcbiAgICB9O1xuICB9XG5cbiAgY3JlYXRlVXNlclRvQml0Z29FbmNyeXB0ZWRTaWduZXJTaGFyZShlbmNyeXB0ZWRTaWduZXJTaGFyZTogc3RyaW5nKTogRW5jcnlwdGVkU2lnbmVyU2hhcmVSZWNvcmQge1xuICAgIHJldHVybiB7XG4gICAgICBmcm9tOiBTaWduYXR1cmVTaGFyZVR5cGUuVVNFUixcbiAgICAgIHRvOiBTaWduYXR1cmVTaGFyZVR5cGUuQklUR08sXG4gICAgICBzaGFyZTogZW5jcnlwdGVkU2lnbmVyU2hhcmUsXG4gICAgICB0eXBlOiBFbmNyeXB0ZWRTaWduZXJTaGFyZVR5cGUuRU5DUllQVEVEX1NJR05FUl9TSEFSRSxcbiAgICB9O1xuICB9XG5cbiAgY3JlYXRlVXNlclRvQml0Z29FbmNyeXB0ZWRSU2hhcmUoZW5jcnlwdGVkUlNoYXJlOiBzdHJpbmcpOiBFbmNyeXB0ZWRTaWduZXJTaGFyZVJlY29yZCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZyb206IFNpZ25hdHVyZVNoYXJlVHlwZS5VU0VSLFxuICAgICAgdG86IFNpZ25hdHVyZVNoYXJlVHlwZS5CSVRHTyxcbiAgICAgIHNoYXJlOiBlbmNyeXB0ZWRSU2hhcmUsXG4gICAgICB0eXBlOiBFbmNyeXB0ZWRTaWduZXJTaGFyZVR5cGUuRU5DUllQVEVEX1JfU0hBUkUsXG4gICAgfTtcbiAgfVxufVxuLyoqXG4gKiBAZGVwcmVjYXRlZCAtIHVzZSBFZGRzYVV0aWxzXG4gKi9cbmV4cG9ydCBjb25zdCBUc3NVdGlscyA9IEVkZHNhVXRpbHM7XG4iXX0=
|
|
@@ -5,7 +5,7 @@ import { Keychain } from '../keychain';
|
|
|
5
5
|
import { IPendingApproval, PendingApprovalData } from '../pendingApproval';
|
|
6
6
|
import { IStakingWallet } from '../staking';
|
|
7
7
|
import { ITradingAccount } from '../trading';
|
|
8
|
-
import { CustomCommitmentGeneratingFunction, CustomGShareGeneratingFunction, CustomRShareGeneratingFunction, TokenEnablement, TokenTransferRecipientParams } from '../utils';
|
|
8
|
+
import { CustomCommitmentGeneratingFunction, CustomGShareGeneratingFunction, CustomKShareGeneratingFunction, CustomMuDeltaShareGeneratingFunction, CustomPaillierModulusGetterFunction, CustomRShareGeneratingFunction, CustomSShareGeneratingFunction, TokenEnablement, TokenTransferRecipientParams } from '../utils';
|
|
9
9
|
import { ILightning } from '../lightning';
|
|
10
10
|
import { SerializedNtilde } from '../../account-lib/mpc/tss/ecdsa/types';
|
|
11
11
|
export interface MaximumSpendableOptions {
|
|
@@ -136,12 +136,20 @@ export interface WalletSignTransactionOptions extends WalletSignBaseOptions {
|
|
|
136
136
|
customCommitmentGeneratingFunction?: CustomCommitmentGeneratingFunction;
|
|
137
137
|
customRShareGeneratingFunction?: CustomRShareGeneratingFunction;
|
|
138
138
|
customGShareGeneratingFunction?: CustomGShareGeneratingFunction;
|
|
139
|
+
customPaillierModulusGeneratingFunction?: CustomPaillierModulusGetterFunction;
|
|
140
|
+
customKShareGeneratingFunction?: CustomKShareGeneratingFunction;
|
|
141
|
+
customMuDeltaShareGeneratingFunction?: CustomMuDeltaShareGeneratingFunction;
|
|
142
|
+
customSShareGeneratingFunction?: CustomSShareGeneratingFunction;
|
|
139
143
|
apiVersion?: ApiVersion;
|
|
140
144
|
[index: string]: unknown;
|
|
141
145
|
}
|
|
142
146
|
interface WalletSignMessageBase extends WalletSignBaseOptions {
|
|
143
147
|
walletPassphrase?: string;
|
|
144
148
|
custodianMessageId?: string;
|
|
149
|
+
customPaillierModulusGeneratingFunction?: CustomPaillierModulusGetterFunction;
|
|
150
|
+
customKShareGeneratingFunction?: CustomKShareGeneratingFunction;
|
|
151
|
+
customMuDeltaShareGeneratingFunction?: CustomMuDeltaShareGeneratingFunction;
|
|
152
|
+
customSShareGeneratingFunction?: CustomSShareGeneratingFunction;
|
|
145
153
|
}
|
|
146
154
|
export interface WalletSignMessageOptions extends WalletSignMessageBase {
|
|
147
155
|
message?: Message;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iWallet.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/wallet/iWallet.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"iWallet.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/wallet/iWallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaVdhbGxldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby93YWxsZXQvaVdhbGxldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVJlcXVlc3RUcmFjZXIgfSBmcm9tICcuLi8uLi9hcGknO1xuaW1wb3J0IHtcbiAgSUJhc2VDb2luLFxuICBNZXNzYWdlLFxuICBTaWduZWRNZXNzYWdlLFxuICBTaWduZWRUcmFuc2FjdGlvbixcbiAgVHJhbnNhY3Rpb25QcmVidWlsZCxcbiAgVmVyaWZpY2F0aW9uT3B0aW9ucyxcbiAgVHlwZWREYXRhLFxufSBmcm9tICcuLi9iYXNlQ29pbic7XG5pbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICcuLi9iaXRnb0Jhc2UnO1xuaW1wb3J0IHsgS2V5Y2hhaW4gfSBmcm9tICcuLi9rZXljaGFpbic7XG5pbXBvcnQgeyBJUGVuZGluZ0FwcHJvdmFsLCBQZW5kaW5nQXBwcm92YWxEYXRhIH0gZnJvbSAnLi4vcGVuZGluZ0FwcHJvdmFsJztcbmltcG9ydCB7IElTdGFraW5nV2FsbGV0IH0gZnJvbSAnLi4vc3Rha2luZyc7XG5pbXBvcnQgeyBJVHJhZGluZ0FjY291bnQgfSBmcm9tICcuLi90cmFkaW5nJztcbmltcG9ydCB7XG4gIEN1c3RvbUNvbW1pdG1lbnRHZW5lcmF0aW5nRnVuY3Rpb24sXG4gIEN1c3RvbUdTaGFyZUdlbmVyYXRpbmdGdW5jdGlvbixcbiAgQ3VzdG9tUlNoYXJlR2VuZXJhdGluZ0Z1bmN0aW9uLFxuICBUb2tlbkVuYWJsZW1lbnQsXG4gIFRva2VuVHJhbnNmZXJSZWNpcGllbnRQYXJhbXMsXG59IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IElMaWdodG5pbmcgfSBmcm9tICcuLi9saWdodG5pbmcnO1xuaW1wb3J0IHsgU2VyaWFsaXplZE50aWxkZSB9IGZyb20gJy4uLy4uL2FjY291bnQtbGliL21wYy90c3MvZWNkc2EvdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1heGltdW1TcGVuZGFibGVPcHRpb25zIHtcbiAgbWluVmFsdWU/OiBudW1iZXIgfCBzdHJpbmc7XG4gIG1heFZhbHVlPzogbnVtYmVyIHwgc3RyaW5nO1xuICBtaW5IZWlnaHQ/OiBudW1iZXI7XG4gIG1pbkNvbmZpcm1zPzogbnVtYmVyO1xuICBlbmZvcmNlTWluQ29uZmlybXNGb3JDaGFuZ2U/OiBib29sZWFuO1xuICBmZWVSYXRlPzogbnVtYmVyO1xuICBtYXhGZWVSYXRlPzogbnVtYmVyO1xuICByZWNpcGllbnRBZGRyZXNzPzogc3RyaW5nO1xuICBsaW1pdD86IG51bWJlcjtcbiAgdGFyZ2V0PzogbnVtYmVyIHwgc3RyaW5nO1xuICBwbGFpblRhcmdldD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXhpbXVtU3BlbmRhYmxlIHtcbiAgbWF4aW11bVNwZW5kYWJsZTogbnVtYmVyO1xuICBjb2luOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVtbyB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZENvbnNvbGlkYXRpb25UcmFuc2FjdGlvbk9wdGlvbnMgZXh0ZW5kcyBQcmVidWlsZFRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIGNvbnNvbGlkYXRlQWRkcmVzc2VzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRUb2tlbkVuYWJsZW1lbnRPcHRpb25zIGV4dGVuZHMgUHJlYnVpbGRUcmFuc2FjdGlvbk9wdGlvbnMge1xuICBlbmFibGVUb2tlbnM6IFRva2VuRW5hYmxlbWVudFtdO1xufVxuXG5leHBvcnQgdHlwZSBBcGlWZXJzaW9uID0gJ2xpdGUnIHwgJ2Z1bGwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFByZWJ1aWxkVHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgcmVxSWQ/OiBJUmVxdWVzdFRyYWNlcjtcbiAgcmVjaXBpZW50cz86IHtcbiAgICBhZGRyZXNzOiBzdHJpbmc7XG4gICAgYW1vdW50OiBzdHJpbmcgfCBudW1iZXI7XG4gICAgdG9rZW5OYW1lPzogc3RyaW5nO1xuICAgIHRva2VuRGF0YT86IFRva2VuVHJhbnNmZXJSZWNpcGllbnRQYXJhbXM7XG4gIH1bXTtcbiAgbnVtQmxvY2tzPzogbnVtYmVyO1xuICBtYXhGZWVSYXRlPzogbnVtYmVyO1xuICBtaW5Db25maXJtcz86IG51bWJlcjtcbiAgZW5mb3JjZU1pbkNvbmZpcm1zRm9yQ2hhbmdlPzogYm9vbGVhbjtcbiAgdGFyZ2V0V2FsbGV0VW5zcGVudHM/OiBudW1iZXI7XG4gIG1pblZhbHVlPzogbnVtYmVyIHwgc3RyaW5nO1xuICBtYXhWYWx1ZT86IG51bWJlciB8IHN0cmluZztcbiAgc2VxdWVuY2VJZD86IHN0cmluZztcbiAgbGFzdExlZGdlclNlcXVlbmNlPzogbnVtYmVyO1xuICBsZWRnZXJTZXF1ZW5jZURlbHRhPzogbnVtYmVyO1xuICBnYXNQcmljZT86IG51bWJlcjtcbiAgbm9TcGxpdENoYW5nZT86IGJvb2xlYW47XG4gIHVuc3BlbnRzPzogYW55W107XG4gIGNoYW5nZUFkZHJlc3M/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIGNsb3NlUmVtYWluZGVyVG8/OiBzdHJpbmc7XG4gIG5vblBhcnRpY2lwYXRpb24/OiBib29sZWFuO1xuICB2YWxpZEZyb21CbG9jaz86IG51bWJlcjtcbiAgdmFsaWRUb0Jsb2NrPzogbnVtYmVyO1xuICBpbnN0YW50PzogYm9vbGVhbjtcbiAgbWVtbz86IE1lbW87XG4gIGFkZHJlc3NUeXBlPzogc3RyaW5nO1xuICBob3A/OiBib29sZWFuO1xuICB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nO1xuICByZXNlcnZhdGlvbj86IHtcbiAgICBleHBpcmVUaW1lPzogc3RyaW5nO1xuICAgIHBlbmRpbmdBcHByb3ZhbElkPzogc3RyaW5nO1xuICB9O1xuICBvZmZsaW5lVmVyaWZpY2F0aW9uPzogYm9vbGVhbjtcbiAgd2FsbGV0Q29udHJhY3RBZGRyZXNzPzogc3RyaW5nO1xuICBpZGZTaWduZWRUaW1lc3RhbXA/OiBzdHJpbmc7XG4gIGlkZlVzZXJJZD86IHN0cmluZztcbiAgaWRmVmVyc2lvbj86IG51bWJlcjtcbiAgY29tbWVudD86IHN0cmluZztcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xuICB0b2tlbk5hbWU/OiBzdHJpbmc7XG4gIGVuYWJsZVRva2Vucz86IFRva2VuRW5hYmxlbWVudFtdO1xuICBub25jZT86IHN0cmluZztcbiAgcHJldmlldz86IGJvb2xlYW47XG4gIGVpcDE1NTk/OiBFSVAxNTU5O1xuICBnYXNMaW1pdD86IG51bWJlcjtcbiAgbG93RmVlVHhpZD86IHN0cmluZztcbiAgcmVjZWl2ZUFkZHJlc3M/OiBzdHJpbmc7XG4gIGlzVHNzPzogYm9vbGVhbjtcbiAgY3VzdG9kaWFuVHJhbnNhY3Rpb25JZD86IHN0cmluZztcbiAgYXBpVmVyc2lvbj86IEFwaVZlcnNpb247XG4gIC8qKlxuICAgKiBJZiBzZXQgdG8gZmFsc2UsIHN3ZWVwIGFsbCBmdW5kcyBpbmNsdWRpbmcgdGhlIHJlcXVpcmVkIG1pbmltdW1zIGZvciBhZGRyZXNzKGVzKS4gRS5nLiBQb2xrYWRvdCAoRE9UKSByZXF1aXJlcyAxIERPVCBtaW5pbXVtLlxuICAgKi9cbiAga2VlcEFsaXZlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoaXMgY29tbWVudCBhcHBsaWVzIHRvIFVUWE8gY29pbnMuIEl0J3MgYXNraW5nIHdoaWNoIHRyYW5zYWN0aW9uIGZvcm1hdCB0byB1c2U6XG4gICAqIHRoZSBsZWdhY3kgZm9ybWF0IGRlZmluZWQgYnkgYml0Y29pbmpzLWxpYiwgb3IgdGhlICdwc2J0JyBmb3JtYXQsIHdoaWNoIGZvbGxvd3MgdGhlIEJJUC0xNzQuXG4gICAqL1xuICB0eEZvcm1hdD86ICdsZWdhY3knIHwgJ3BzYnQnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByZWJ1aWxkQW5kU2lnblRyYW5zYWN0aW9uT3B0aW9ucyBleHRlbmRzIFByZWJ1aWxkVHJhbnNhY3Rpb25PcHRpb25zLCBXYWxsZXRTaWduVHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgcHJlYnVpbGRUeD86IHN0cmluZyB8IFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHQ7XG4gIHZlcmlmaWNhdGlvbj86IFZlcmlmaWNhdGlvbk9wdGlvbnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdCBleHRlbmRzIFRyYW5zYWN0aW9uUHJlYnVpbGQge1xuICB3YWxsZXRJZDogc3RyaW5nO1xuICAvLyBDb25zb2xpZGF0ZSBJRCBpcyB1c2VkIGZvciBjb25zb2xpZGF0ZSBhY2NvdW50IHRyYW5zYWN0aW9ucyBhbmQgaW5kaWNhdGVzIGlmIHRoaXMgaXNcbiAgLy8gYSBjb25zb2xpZGF0aW9uIGFuZCB3aGF0IGNvbnNvbGlkYXRlIGdyb3VwIGl0IHNob3VsZCBiZSByZWZlcmVuY2VkIGJ5LlxuICBjb25zb2xpZGF0ZUlkPzogc3RyaW5nO1xuICBjb25zb2xpZGF0aW9uRGV0YWlscz86IHtcbiAgICBzZW5kZXJBZGRyZXNzSW5kZXg6IG51bWJlcjtcbiAgfTtcbiAgZmVlSW5mbz86IHtcbiAgICBmZWU/OiBudW1iZXI7XG4gICAgZmVlU3RyaW5nPzogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbVNpZ25pbmdGdW5jdGlvbiB7XG4gIChwYXJhbXM6IHsgY29pbjogSUJhc2VDb2luOyB0eFByZWJ1aWxkOiBUcmFuc2FjdGlvblByZWJ1aWxkOyBwdWJzPzogc3RyaW5nW10gfSk6IFByb21pc2U8U2lnbmVkVHJhbnNhY3Rpb24+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdhbGxldFNpZ25CYXNlT3B0aW9ucyB7XG4gIHJlcUlkPzogSVJlcXVlc3RUcmFjZXI7XG4gIHBydj86IHN0cmluZztcbiAgcHVicz86IHN0cmluZ1tdO1xuICB0eFJlcXVlc3RJZD86IHN0cmluZztcbiAgY29zaWduZXJQdWI/OiBzdHJpbmc7XG4gIGlzTGFzdFNpZ25hdHVyZT86IGJvb2xlYW47XG4gIGN1c3RvbVNpZ25pbmdGdW5jdGlvbj86IEN1c3RvbVNpZ25pbmdGdW5jdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXYWxsZXRTaWduVHJhbnNhY3Rpb25PcHRpb25zIGV4dGVuZHMgV2FsbGV0U2lnbkJhc2VPcHRpb25zIHtcbiAgdHhQcmVidWlsZD86IFRyYW5zYWN0aW9uUHJlYnVpbGQ7XG4gIGN1c3RvbUNvbW1pdG1lbnRHZW5lcmF0aW5nRnVuY3Rpb24/OiBDdXN0b21Db21taXRtZW50R2VuZXJhdGluZ0Z1bmN0aW9uO1xuICBjdXN0b21SU2hhcmVHZW5lcmF0aW5nRnVuY3Rpb24/OiBDdXN0b21SU2hhcmVHZW5lcmF0aW5nRnVuY3Rpb247XG4gIGN1c3RvbUdTaGFyZUdlbmVyYXRpbmdGdW5jdGlvbj86IEN1c3RvbUdTaGFyZUdlbmVyYXRpbmdGdW5jdGlvbjtcbiAgYXBpVmVyc2lvbj86IEFwaVZlcnNpb247XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuaW50ZXJmYWNlIFdhbGxldFNpZ25NZXNzYWdlQmFzZSBleHRlbmRzIFdhbGxldFNpZ25CYXNlT3B0aW9ucyB7XG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG4gIGN1c3RvZGlhbk1lc3NhZ2VJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXYWxsZXRTaWduTWVzc2FnZU9wdGlvbnMgZXh0ZW5kcyBXYWxsZXRTaWduTWVzc2FnZUJhc2Uge1xuICBtZXNzYWdlPzogTWVzc2FnZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXYWxsZXRTaWduVHlwZWREYXRhT3B0aW9ucyBleHRlbmRzIFdhbGxldFNpZ25NZXNzYWdlQmFzZSB7XG4gIHR5cGVkRGF0YTogVHlwZWREYXRhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFVzZXJQcnZPcHRpb25zIHtcbiAga2V5Y2hhaW4/OiBLZXljaGFpbjtcbiAga2V5PzogS2V5Y2hhaW47XG4gIHBydj86IHN0cmluZztcbiAgY29sZERlcml2YXRpb25TZWVkPzogc3RyaW5nO1xuICB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdhbGxldENvaW5TcGVjaWZpYyB7XG4gIHRva2VuRmx1c2hUaHJlc2hvbGRzPzogYW55O1xuICBhZGRyZXNzVmVyc2lvbj86IG51bWJlcjtcbiAgYmFzZUFkZHJlc3M/OiBzdHJpbmc7XG4gIHJvb3RBZGRyZXNzPzogc3RyaW5nO1xuICBjdXN0b21DaGFuZ2VXYWxsZXRJZDogc3RyaW5nO1xuICB3YWxsZXRWZXJzaW9uPzogbnVtYmVyO1xuICBoYXNoQWxnb3JpdGhtPzogc3RyaW5nO1xuICBwZW5kaW5nRWNkc2FUc3NJbml0aWFsaXphdGlvbj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFnaW5hdGlvbk9wdGlvbnMge1xuICBwcmV2SWQ/OiBzdHJpbmc7XG4gIGxpbWl0PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFRyYW5zYWN0aW9uT3B0aW9ucyBleHRlbmRzIFBhZ2luYXRpb25PcHRpb25zIHtcbiAgdHhIYXNoPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zZmVyc09wdGlvbnMgZXh0ZW5kcyBQYWdpbmF0aW9uT3B0aW9ucyB7XG4gIHR4SGFzaD86IHN0cmluZztcbiAgYWxsVG9rZW5zPzogYm9vbGVhbjtcbiAgc2VhcmNoTGFiZWw/OiBzdHJpbmc7XG4gIGFkZHJlc3M/OiBzdHJpbmdbXSB8IHN0cmluZztcbiAgZGF0ZUd0ZT86IHN0cmluZztcbiAgZGF0ZUx0Pzogc3RyaW5nO1xuICB2YWx1ZUd0ZT86IG51bWJlcjtcbiAgdmFsdWVMdD86IG51bWJlcjtcbiAgaW5jbHVkZUhleD86IGJvb2xlYW47XG4gIHN0YXRlPzogc3RyaW5nW10gfCBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0VHJhbnNmZXJPcHRpb25zIHtcbiAgaWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNmZXJCeVNlcXVlbmNlSWRPcHRpb25zIHtcbiAgc2VxdWVuY2VJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVbnNwZW50c09wdGlvbnMgZXh0ZW5kcyBQYWdpbmF0aW9uT3B0aW9ucyB7XG4gIG1pblZhbHVlPzogbnVtYmVyIHwgc3RyaW5nO1xuICBtYXhWYWx1ZT86IG51bWJlciB8IHN0cmluZztcbiAgbWluSGVpZ2h0PzogbnVtYmVyO1xuICBtaW5Db25maXJtcz86IG51bWJlcjtcbiAgdGFyZ2V0PzogbnVtYmVyIHwgc3RyaW5nO1xuICBzZWd3aXQ/OiBib29sZWFuO1xuICBjaGFpbnM/OiBudW1iZXJbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25zb2xpZGF0ZVVuc3BlbnRzT3B0aW9ucyBleHRlbmRzIFdhbGxldFNpZ25UcmFuc2FjdGlvbk9wdGlvbnMge1xuICB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nO1xuICB4cHJ2Pzogc3RyaW5nO1xuICBtaW5WYWx1ZT86IG51bWJlciB8IHN0cmluZztcbiAgbWF4VmFsdWU/OiBudW1iZXIgfCBzdHJpbmc7XG4gIG1pbkhlaWdodD86IG51bWJlcjtcbiAgbnVtVW5zcGVudHNUb01ha2U/OiBudW1iZXI7XG4gIGZlZVR4Q29uZmlybVRhcmdldD86IG51bWJlcjtcbiAgbGltaXQ/OiBudW1iZXI7XG4gIG1pbkNvbmZpcm1zPzogbnVtYmVyO1xuICBlbmZvcmNlTWluQ29uZmlybXNGb3JDaGFuZ2U/OiBib29sZWFuO1xuICBmZWVSYXRlPzogbnVtYmVyO1xuICBtYXhGZWVSYXRlPzogbnVtYmVyO1xuICBtYXhGZWVQZXJjZW50YWdlPzogbnVtYmVyO1xuICBjb21tZW50Pzogc3RyaW5nO1xuICBvdHA/OiBzdHJpbmc7XG4gIHRhcmdldEFkZHJlc3M/OiBzdHJpbmc7XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGYW5vdXRVbnNwZW50c09wdGlvbnMgZXh0ZW5kcyBXYWxsZXRTaWduVHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbiAgeHBydj86IHN0cmluZztcbiAgbWluVmFsdWU/OiBudW1iZXIgfCBzdHJpbmc7XG4gIG1heFZhbHVlPzogbnVtYmVyIHwgc3RyaW5nO1xuICBtaW5IZWlnaHQ/OiBudW1iZXI7XG4gIG1heE51bUlucHV0c1RvVXNlPzogbnVtYmVyO1xuICBudW1VbnNwZW50c1RvTWFrZT86IG51bWJlcjtcbiAgbWluQ29uZmlybXM/OiBudW1iZXI7XG4gIGVuZm9yY2VNaW5Db25maXJtc0ZvckNoYW5nZT86IGJvb2xlYW47XG4gIGZlZVJhdGU/OiBudW1iZXI7XG4gIG1heEZlZVJhdGU/OiBudW1iZXI7XG4gIG1heEZlZVBlcmNlbnRhZ2U/OiBudW1iZXI7XG4gIGZlZVR4Q29uZmlybVRhcmdldD86IG51bWJlcjtcbiAgY29tbWVudD86IHN0cmluZztcbiAgb3RwPzogc3RyaW5nO1xuICB0YXJnZXRBZGRyZXNzPzogc3RyaW5nO1xuICBbaW5kZXg6IHN0cmluZ106IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3dlZXBPcHRpb25zIHtcbiAgYWRkcmVzcz86IHN0cmluZztcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbiAgeHBydj86IHN0cmluZztcbiAgb3RwPzogc3RyaW5nO1xuICBmZWVSYXRlPzogbnVtYmVyO1xuICBtYXhGZWVSYXRlPzogbnVtYmVyO1xuICBmZWVUeENvbmZpcm1UYXJnZXQ/OiBudW1iZXI7XG4gIGFsbG93UGFydGlhbFN3ZWVwPzogYm9vbGVhbjtcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZyZWV6ZU9wdGlvbnMge1xuICBkdXJhdGlvbj86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2ZlckNvbW1lbnRPcHRpb25zIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIGNvbW1lbnQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkcmVzc2VzT3B0aW9ucyBleHRlbmRzIFBhZ2luYXRpb25PcHRpb25zIHtcbiAgbWluZT86IGJvb2xlYW47XG4gIHNvcnQ/OiBudW1iZXI7XG4gIGxhYmVsQ29udGFpbnM/OiBzdHJpbmc7XG4gIHNlZ3dpdD86IGJvb2xlYW47XG4gIGNoYWlucz86IG51bWJlcltdO1xuICBpbmNsdWRlQmFsYW5jZXM/OiBib29sZWFuO1xuICBpbmNsdWRlVG9rZW5zPzogYm9vbGVhbjtcbiAgaW5jbHVkZVRvdGFsQWRkcmVzc0NvdW50PzogYm9vbGVhbjtcbiAgcmV0dXJuQmFsYW5jZXNGb3JUb2tlbj86IHN0cmluZztcbiAgcGVuZGluZ0RlcGxveW1lbnQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldEFkZHJlc3NPcHRpb25zIHtcbiAgYWRkcmVzcz86IHN0cmluZztcbiAgaWQ/OiBzdHJpbmc7XG4gIHJlcUlkPzogSVJlcXVlc3RUcmFjZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVwbG95Rm9yd2FyZGVyc09wdGlvbnMge1xuICBhZGRyZXNzPzogc3RyaW5nO1xuICBpZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGdW5kRm9yd2FyZGVyc09wdGlvbnMge1xuICBmb3J3YXJkZXJBZGRyZXNzOiBzdHJpbmc7XG4gIGFtb3VudD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGbHVzaEZvcndhcmRlclRva2VuT3B0aW9ucyB7XG4gIGFkZHJlc3M/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICB0b2tlbk5hbWU6IHN0cmluZztcbiAgZ2FzUHJpY2U/OiBudW1iZXI7XG4gIGVpcDE1NTk/OiB7XG4gICAgbWF4UHJpb3JpdHlGZWVQZXJHYXM6IG51bWJlcjtcbiAgICBtYXhGZWVQZXJHYXM6IG51bWJlcjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb3J3YXJkZXJCYWxhbmNlIHtcbiAgYWRkcmVzczogc3RyaW5nO1xuICBiYWxhbmNlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9yd2FyZGVyQmFsYW5jZU9wdGlvbnMge1xuICBtaW5pbXVtQmFsYW5jZT86IG51bWJlcjtcbiAgbWF4aW11bUJhbGFuY2U/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlQWRkcmVzc09wdGlvbnMge1xuICBjaGFpbj86IG51bWJlcjtcbiAgZ2FzUHJpY2U/OiBudW1iZXIgfCBzdHJpbmc7XG4gIGNvdW50PzogbnVtYmVyO1xuICBsYWJlbD86IHN0cmluZztcbiAgbG93UHJpb3JpdHk/OiBib29sZWFuO1xuICBmb3J3YXJkZXJWZXJzaW9uPzogbnVtYmVyO1xuICBmb3JtYXQ/OiAnYmFzZTU4JyB8ICdjYXNoYWRkcic7XG4gIGJhc2VBZGRyZXNzPzogc3RyaW5nO1xuICBhbGxvd1NraXBWZXJpZnlBZGRyZXNzPzogYm9vbGVhbjtcbiAgZGVyaXZlZEFkZHJlc3M/OiBzdHJpbmc7XG4gIGluZGV4PzogbnVtYmVyO1xuICBvblRva2VuPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZUFkZHJlc3NPcHRpb25zIHtcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIGFkZHJlc3M/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2ltdWxhdGVXZWJob29rT3B0aW9ucyB7XG4gIHdlYmhvb2tJZD86IHN0cmluZztcbiAgdHJhbnNmZXJJZD86IHN0cmluZztcbiAgcGVuZGluZ0FwcHJvdmFsSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kaWZ5V2ViaG9va09wdGlvbnMge1xuICB1cmw/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0UHJ2T3B0aW9ucyB7XG4gIHBydj86IHN0cmluZztcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVTaGFyZU9wdGlvbnMge1xuICB1c2VyPzogc3RyaW5nO1xuICBwZXJtaXNzaW9ucz86IHN0cmluZztcbiAga2V5Y2hhaW4/OiB7XG4gICAgLy8gSW4gdGhlIGNvbnRleHQgb2Ygd2FsbGV0IHNoYXJpbmcsIHB1YiBjYW4gcmVwcmVzZW50IG9uZSBvZjpcbiAgICAvLyBwdWIgKGluZGVwZW5kYW50IG11bHRpIHNpZyksIGNvbW1vblB1YiAoYmxzKSwgb3IgY29tbW9uUHViIHBvcnRpb24gb2YgY29tbW9uS2V5Y2hhaW4gKFRTUylcbiAgICBwdWI/OiBzdHJpbmc7XG4gICAgZW5jcnlwdGVkUHJ2Pzogc3RyaW5nO1xuICAgIGZyb21QdWJLZXk/OiBzdHJpbmc7XG4gICAgdG9QdWJLZXk/OiBzdHJpbmc7XG4gICAgcGF0aD86IHN0cmluZztcbiAgfTtcbiAgcmVzaGFyZT86IGJvb2xlYW47XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIGRpc2FibGVFbWFpbD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2hhcmVXYWxsZXRPcHRpb25zIHtcbiAgZW1haWw/OiBzdHJpbmc7XG4gIHBlcm1pc3Npb25zPzogc3RyaW5nO1xuICB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nO1xuICBtZXNzYWdlPzogc3RyaW5nO1xuICByZXNoYXJlPzogYm9vbGVhbjtcbiAgc2tpcEtleWNoYWluPzogYm9vbGVhbjtcbiAgZGlzYWJsZUVtYWlsPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdmVVc2VyT3B0aW9ucyB7XG4gIHVzZXJJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY2NlbGVyYXRlVHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgY3BmcFR4SWRzPzogc3RyaW5nW107XG4gIGNwZnBGZWVSYXRlPzogbnVtYmVyO1xuICBub0NwZnBGZWVSYXRlPzogYm9vbGVhbjtcbiAgbWF4RmVlPzogbnVtYmVyO1xuICBub01heEZlZT86IGJvb2xlYW47XG4gIHJlY2lwaWVudHM/OiB7XG4gICAgYWRkcmVzczogc3RyaW5nO1xuICAgIGFtb3VudDogc3RyaW5nO1xuICB9W107XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdWJtaXRUcmFuc2FjdGlvbk9wdGlvbnMge1xuICBvdHA/OiBzdHJpbmc7XG4gIHR4SGV4Pzogc3RyaW5nO1xuICBoYWxmU2lnbmVkPzoge1xuICAgIHR4SGV4Pzogc3RyaW5nOyAvLyBUcmFuc2FjdGlvbiBpbiBhbnkgZm9ybWF0IHJlcXVpcmVkIGJ5IGVhY2ggY29pbiwgaS5lLiBpbiBUcm9uIGl0IGlzIGEgc3RyaW5naWZ5ZWQgSlNPTlxuICAgIHBheWxvYWQ/OiBzdHJpbmc7XG4gICAgdHhCYXNlNjQ/OiBzdHJpbmc7XG4gICAgc2lnbmVkQ2hpbGRQc2J0Pzogc3RyaW5nOyAvLyBQU0JUIHRoYXQgaGFzIHRoZSBvdXRwdXQgb2YgdHhIZXggYXMgaW5wdXQgd2l0aCBhIHNpZ25hdHVyZVxuICB9O1xuICBjb21tZW50Pzogc3RyaW5nO1xuICB0eFJlcXVlc3RJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZW5kT3B0aW9ucyB7XG4gIGFkZHJlc3M/OiBzdHJpbmc7XG4gIGFtb3VudD86IG51bWJlciB8IHN0cmluZztcbiAgZGF0YT86IHN0cmluZztcbiAgZmVlTGltaXQ/OiBzdHJpbmc7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG4gIHBydj86IHN0cmluZztcbiAgbWluQ29uZmlybXM/OiBudW1iZXI7XG4gIGVuZm9yY2VNaW5Db25maXJtc0ZvckNoYW5nZT86IGJvb2xlYW47XG4gIGN1c3RvZGlhblRyYW5zYWN0aW9uSWQ/OiBzdHJpbmc7XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbiAgdG9rZW5OYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbmRNYW55T3B0aW9ucyBleHRlbmRzIFByZWJ1aWxkQW5kU2lnblRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIHJlcUlkPzogSVJlcXVlc3RUcmFjZXI7XG4gIHJlY2lwaWVudHM/OiB7XG4gICAgYWRkcmVzczogc3RyaW5nO1xuICAgIGFtb3VudDogc3RyaW5nIHwgbnVtYmVyO1xuICAgIGZlZUxpbWl0Pzogc3RyaW5nO1xuICAgIGRhdGE/OiBzdHJpbmc7XG4gICAgdG9rZW5OYW1lPzogc3RyaW5nO1xuICB9W107XG4gIG51bUJsb2Nrcz86IG51bWJlcjtcbiAgZmVlUmF0ZT86IG51bWJlcjtcbiAgbWF4RmVlUmF0ZT86IG51bWJlcjtcbiAgbWluQ29uZmlybXM/OiBudW1iZXI7XG4gIGVuZm9yY2VNaW5Db25maXJtc0ZvckNoYW5nZT86IGJvb2xlYW47XG4gIHRhcmdldFdhbGxldFVuc3BlbnRzPzogbnVtYmVyO1xuICBtZXNzYWdlPzogc3RyaW5nO1xuICBtaW5WYWx1ZT86IG51bWJlciB8IHN0cmluZztcbiAgbWF4VmFsdWU/OiBudW1iZXIgfCBzdHJpbmc7XG4gIHNlcXVlbmNlSWQ/OiBzdHJpbmc7XG4gIGxhc3RMZWRnZXJTZXF1ZW5jZT86IG51bWJlcjtcbiAgbGVkZ2VyU2VxdWVuY2VEZWx0YT86IG51bWJlcjtcbiAgZ2FzUHJpY2U/OiBudW1iZXI7XG4gIG5vU3BsaXRDaGFuZ2U/OiBib29sZWFuO1xuICB1bnNwZW50cz86IHN0cmluZ1tdO1xuICBjb21tZW50Pzogc3RyaW5nO1xuICBvdHA/OiBzdHJpbmc7XG4gIGNoYW5nZUFkZHJlc3M/OiBzdHJpbmc7XG4gIGluc3RhbnQ/OiBib29sZWFuO1xuICBtZW1vPzogTWVtbztcbiAgdHJhbnNmZXJJZD86IG51bWJlcjtcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xuICBlaXAxNTU5PzogRUlQMTU1OTtcbiAgZ2FzTGltaXQ/OiBudW1iZXI7XG4gIGN1c3RvZGlhblRyYW5zYWN0aW9uSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmV0Y2hDcm9zc0NoYWluVVRYT3NPcHRpb25zIHtcbiAgc291cmNlQ2hhaW4/OiAnUCcgfCAnQyc7XG59XG5cbmV4cG9ydCB0eXBlIFVuc3BlbnQgPSB7XG4gIG91dHB1dElEOiBudW1iZXI7XG4gIGFtb3VudDogc3RyaW5nOyAvLyBCaWdOdW1iZXIgZW5jb2RlZCBpbiBjYjU4XG4gIHR4aWQ6IHN0cmluZzsgLy8gVHJhbnNhY3Rpb24gSUQgZW5jb2RlZCBpbiBjYjU4XG4gIHRocmVzaG9sZDogbnVtYmVyOyAvLyBUaHJlc2hvbGQgZm9yIG51bWJlciBvZiBhZGRyZXNzZXNcbiAgYWRkcmVzc2VzOiBzdHJpbmdbXTsgLy8gQWRkcmVzc2VzIHVzZWQgZm9yIHVubG9ja2luZyB1dHhvXG4gIG91dHB1dGlkeDogc3RyaW5nOyAvLyBPdXRwdXQgaW5kZXggZW5jb2RlZCBpbiBjYjU4XG4gIGxvY2t0aW1lOiBzdHJpbmc7IC8vIFRpbWUgd2hlbiB1bmxvY2tlZC4gQmlnTnVtYmVyIGVuY29kZWQgaW4gY2I1OFxufTtcblxuZXhwb3J0IGludGVyZmFjZSBDcm9zc0NoYWluVVRYTyB7XG4gIHVuc3BlbnQ6IFVuc3BlbnQ7XG4gIGZyb21XYWxsZXQ6IHN0cmluZztcbiAgdG9XYWxsZXQ6IHN0cmluZztcbiAgdG9BZGRyZXNzOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFdhbGxldFR5cGUgPSAnYmFja2luZycgfCAnY29sZCcgfCAnY3VzdG9kaWFsJyB8ICdjdXN0b2RpYWxQYWlyZWQnIHwgJ2hvdCcgfCAndHJhZGluZyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2FsbGV0RGF0YSB7XG4gIGlkOiBzdHJpbmc7XG4gIGFwcHJvdmFsc1JlcXVpcmVkOiBudW1iZXI7XG4gIGJhbGFuY2U6IG51bWJlcjtcbiAgY29uZmlybWVkQmFsYW5jZTogbnVtYmVyO1xuICBzcGVuZGFibGVCYWxhbmNlOiBudW1iZXI7XG4gIGJhbGFuY2VTdHJpbmc6IHN0cmluZztcbiAgY29uZmlybWVkQmFsYW5jZVN0cmluZzogc3RyaW5nO1xuICBzcGVuZGFibGVCYWxhbmNlU3RyaW5nOiBzdHJpbmc7XG4gIGNvaW46IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAga2V5czogc3RyaW5nW107XG4gIHJlY2VpdmVBZGRyZXNzOiB7XG4gICAgYWRkcmVzczogc3RyaW5nO1xuICB9O1xuICBtaWdyYXRlZEZyb20/OiBzdHJpbmc7XG4gIGNvaW5TcGVjaWZpYzogV2FsbGV0Q29pblNwZWNpZmljO1xuICBwZW5kaW5nQXBwcm92YWxzOiBQZW5kaW5nQXBwcm92YWxEYXRhW107XG4gIGVudGVycHJpc2U6IHN0cmluZztcbiAgY3VzdG9tQ2hhbmdlS2V5U2lnbmF0dXJlcz86IHtcbiAgICB1c2VyPzogc3RyaW5nO1xuICAgIGJhY2t1cD86IHN0cmluZztcbiAgICBiaXRnbz86IHN0cmluZztcbiAgfTtcbiAgbXVsdGlzaWdUeXBlOiAnb25jaGFpbicgfCAndHNzJztcbiAgdHlwZT86IFdhbGxldFR5cGU7XG4gIHRva2Vucz86IFJlY29yZDxzdHJpbmcsIGFueT5bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWNvdmVyVG9rZW5PcHRpb25zIHtcbiAgdG9rZW5Db250cmFjdEFkZHJlc3M/OiBzdHJpbmc7XG4gIHJlY2lwaWVudD86IHN0cmluZztcbiAgYnJvYWRjYXN0PzogYm9vbGVhbjtcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbiAgcHJ2Pzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgRUlQMTU1OSB7XG4gIG1heFByaW9yaXR5RmVlUGVyR2FzOiBzdHJpbmc7XG4gIG1heEZlZVBlckdhczogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYW5nZUZlZU9wdGlvbnMge1xuICB0eGlkPzogc3RyaW5nO1xuICBmZWU/OiBzdHJpbmc7XG4gIGVpcDE1NTk/OiBFSVAxNTU5O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZVBvbGljeVJ1bGVPcHRpb25zIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIGNvbmRpdGlvbj86IHVua25vd247XG4gIGFjdGlvbj86IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVtb3ZlUG9saWN5UnVsZU9wdGlvbnMge1xuICBpZD86IHN0cmluZztcbiAgbWVzc2FnZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEb3dubG9hZEtleWNhcmRPcHRpb25zIHtcbiAganNQREY/OiBhbnk7XG4gIFFSQ29kZT86IGFueTtcbiAgdXNlcktleWNoYWluPzogS2V5Y2hhaW47XG4gIGJhY2t1cEtleWNoYWluPzogS2V5Y2hhaW47XG4gIGJpdGdvS2V5Y2hhaW4/OiBLZXljaGFpbjtcbiAgcGFzc3BocmFzZT86IHN0cmluZztcbiAgcGFzc2NvZGVFbmNyeXB0aW9uQ29kZT86IHN0cmluZztcbiAgYWN0aXZhdGlvbkNvZGU/OiBzdHJpbmc7XG4gIHdhbGxldEtleUlEPzogc3RyaW5nO1xuICBiYWNrdXBLZXlJRD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGFsbGVuZ2VWZXJpZmllcnMge1xuICB2ZXJpZmllcnM6IHtcbiAgICBhZG1pblNpZ25hdHVyZTogc3RyaW5nO1xuICB9O1xufVxuZXhwb3J0IGludGVyZmFjZSBXYWxsZXRFY2RzYUNoYWxsZW5nZXMge1xuICBlbnRlcnByaXNlQ2hhbGxlbmdlOiBTZXJpYWxpemVkTnRpbGRlICYgQ2hhbGxlbmdlVmVyaWZpZXJzO1xuICBiaXRnb0NoYWxsZW5nZTogU2VyaWFsaXplZE50aWxkZSAmIENoYWxsZW5nZVZlcmlmaWVycztcbiAgY3JlYXRlZEJ5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVdhbGxldCB7XG4gIGJpdGdvOiBCaXRHb0Jhc2U7XG4gIGJhc2VDb2luOiBJQmFzZUNvaW47XG4gIHVybChleHRyYT86IHN0cmluZyk6IHN0cmluZztcbiAgaWQoKTogc3RyaW5nO1xuICBhcHByb3ZhbHNSZXF1aXJlZCgpOiBudW1iZXI7XG4gIGJhbGFuY2UoKTogbnVtYmVyO1xuICBwcmVidWlsZFdoaXRlbGlzdGVkUGFyYW1zKCk6IHN0cmluZ1tdO1xuICBwcmVidWlsZENvbnNvbGlkYXRlQWNjb3VudFBhcmFtcygpOiBzdHJpbmdbXTtcbiAgY29uZmlybWVkQmFsYW5jZSgpOiBudW1iZXI7XG4gIHNwZW5kYWJsZUJhbGFuY2UoKTogbnVtYmVyO1xuICBiYWxhbmNlU3RyaW5nKCk6IHN0cmluZztcbiAgY29uZmlybWVkQmFsYW5jZVN0cmluZygpOiBzdHJpbmc7XG4gIHNwZW5kYWJsZUJhbGFuY2VTdHJpbmcoKTogc3RyaW5nO1xuICBjb2luKCk6IHN0cmluZztcbiAgbGFiZWwoKTogc3RyaW5nO1xuICBrZXlJZHMoKTogc3RyaW5nW107XG4gIHJlY2VpdmVBZGRyZXNzKCk6IHN0cmluZztcbiAgbWlncmF0ZWRGcm9tKCk6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgdG9rZW5GbHVzaFRocmVzaG9sZHMoKTogYW55O1xuICBjb2luU3BlY2lmaWMoKTogV2FsbGV0Q29pblNwZWNpZmljIHwgdW5kZWZpbmVkO1xuICBwZW5kaW5nQXBwcm92YWxzKCk6IElQZW5kaW5nQXBwcm92YWxbXTtcbiAgcmVmcmVzaChwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBuZXZlcj4pOiBQcm9taXNlPElXYWxsZXQ+O1xuICB0cmFuc2FjdGlvbnMocGFyYW1zPzogUGFnaW5hdGlvbk9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGdldFRyYW5zYWN0aW9uKHBhcmFtcz86IEdldFRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgdHJhbnNmZXJzKHBhcmFtcz86IFRyYW5zZmVyc09wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGdldFRyYW5zZmVyKHBhcmFtcz86IEdldFRyYW5zZmVyT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgdHJhbnNmZXJCeVNlcXVlbmNlSWQocGFyYW1zPzogVHJhbnNmZXJCeVNlcXVlbmNlSWRPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBtYXhpbXVtU3BlbmRhYmxlKHBhcmFtcz86IE1heGltdW1TcGVuZGFibGVPcHRpb25zKTogUHJvbWlzZTxNYXhpbXVtU3BlbmRhYmxlPjtcbiAgdW5zcGVudHMocGFyYW1zPzogVW5zcGVudHNPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBjb25zb2xpZGF0ZVVuc3BlbnRzKHBhcmFtcz86IENvbnNvbGlkYXRlVW5zcGVudHNPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBmYW5vdXRVbnNwZW50cyhwYXJhbXM/OiBGYW5vdXRVbnNwZW50c09wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHVwZGF0ZVRva2VuRmx1c2hUaHJlc2hvbGRzKHRocmVzaG9sZHM/OiBhbnkpOiBQcm9taXNlPGFueT47XG4gIHVwZGF0ZUZvcndhcmRlcnMoZm9yd2FyZGVyRmxhZ3M/OiBhbnkpOiBQcm9taXNlPGFueT47XG4gIGRlcGxveUZvcndhcmRlcnMocGFyYW1zOiBEZXBsb3lGb3J3YXJkZXJzT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgZmx1c2hGb3J3YXJkZXJUb2tlbihwYXJhbXM6IEZsdXNoRm9yd2FyZGVyVG9rZW5PcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBnZXRGb3J3YXJkZXJCYWxhbmNlKHBhcmFtcz86IEZvcndhcmRlckJhbGFuY2VPcHRpb25zKTogUHJvbWlzZTxGb3J3YXJkZXJCYWxhbmNlW10+O1xuICBzd2VlcChwYXJhbXM/OiBTd2VlcE9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGZyZWV6ZShwYXJhbXM/OiBGcmVlemVPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICB0cmFuc2ZlckNvbW1lbnQocGFyYW1zPzogVHJhbnNmZXJDb21tZW50T3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgYWRkcmVzc2VzKHBhcmFtcz86IEFkZHJlc3Nlc09wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGdldEFkZHJlc3MocGFyYW1zPzogR2V0QWRkcmVzc09wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGNyZWF0ZUFkZHJlc3MocGFyYW1zPzogQ3JlYXRlQWRkcmVzc09wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHVwZGF0ZUFkZHJlc3MocGFyYW1zPzogVXBkYXRlQWRkcmVzc09wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGxpc3RXZWJob29rcyhwYXJhbXM/OiBQYWdpbmF0aW9uT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgc2ltdWxhdGVXZWJob29rKHBhcmFtcz86IFNpbXVsYXRlV2ViaG9va09wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGFkZFdlYmhvb2socGFyYW1zPzogTW9kaWZ5V2ViaG9va09wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHJlbW92ZVdlYmhvb2socGFyYW1zPzogTW9kaWZ5V2ViaG9va09wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGdldEVuY3J5cHRlZFVzZXJLZXljaGFpbihwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBuZXZlcj4pOiBQcm9taXNlPHsgZW5jcnlwdGVkUHJ2OiBzdHJpbmcgfT47XG4gIGdldFBydihwYXJhbXM/OiBHZXRQcnZPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBjcmVhdGVTaGFyZShwYXJhbXM/OiBDcmVhdGVTaGFyZU9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHNoYXJlV2FsbGV0KHBhcmFtcz86IFNoYXJlV2FsbGV0T3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgcmVtb3ZlVXNlcihwYXJhbXM/OiBSZW1vdmVVc2VyT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgcHJlYnVpbGRUcmFuc2FjdGlvbihwYXJhbXM/OiBQcmVidWlsZFRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8UHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdD47XG4gIHNpZ25UcmFuc2FjdGlvbihwYXJhbXM/OiBXYWxsZXRTaWduVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxTaWduZWRUcmFuc2FjdGlvbj47XG4gIGdldFVzZXJQcnYocGFyYW1zPzogR2V0VXNlclBydk9wdGlvbnMpOiBzdHJpbmc7XG4gIHByZWJ1aWxkQW5kU2lnblRyYW5zYWN0aW9uKHBhcmFtcz86IFByZWJ1aWxkQW5kU2lnblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8U2lnbmVkVHJhbnNhY3Rpb24+O1xuICBhY2NlbGVyYXRlVHJhbnNhY3Rpb24ocGFyYW1zPzogQWNjZWxlcmF0ZVRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgc3VibWl0VHJhbnNhY3Rpb24ocGFyYW1zPzogU3VibWl0VHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBzZW5kKHBhcmFtcz86IFNlbmRPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBzZW5kTWFueShwYXJhbXM/OiBTZW5kTWFueU9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHJlY292ZXJUb2tlbihwYXJhbXM/OiBSZWNvdmVyVG9rZW5PcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBnZXRGaXJzdFBlbmRpbmdUcmFuc2FjdGlvbihwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBuZXZlcj4pOiBQcm9taXNlPGFueT47XG4gIGNoYW5nZUZlZShwYXJhbXM/OiBDaGFuZ2VGZWVPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBnZXRQYXltZW50SW5mbyhwYXJhbXM/OiB7IHVybD86IHN0cmluZyB9KTogUHJvbWlzZTxhbnk+O1xuICBzZW5kUGF5bWVudFJlc3BvbnNlKHBhcmFtcz86IGFueSk6IFByb21pc2U8YW55PjtcbiAgY3JlYXRlUG9saWN5UnVsZShwYXJhbXM/OiBDcmVhdGVQb2xpY3lSdWxlT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgc2V0UG9saWN5UnVsZShwYXJhbXM/OiBhbnkpOiBhbnk7XG4gIHJlbW92ZVBvbGljeVJ1bGUocGFyYW1zPzogUmVtb3ZlUG9saWN5UnVsZU9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHJlbW92ZShwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBuZXZlcj4pOiBQcm9taXNlPGFueT47XG4gIHRvSlNPTigpOiBXYWxsZXREYXRhO1xuICB0b1RyYWRpbmdBY2NvdW50KCk6IElUcmFkaW5nQWNjb3VudDtcbiAgdG9TdGFraW5nV2FsbGV0KCk6IElTdGFraW5nV2FsbGV0O1xuICBkb3dubG9hZEtleWNhcmQocGFyYW1zPzogRG93bmxvYWRLZXljYXJkT3B0aW9ucyk6IHZvaWQ7XG4gIGJ1aWxkQWNjb3VudENvbnNvbGlkYXRpb25zKHBhcmFtcz86IEJ1aWxkQ29uc29saWRhdGlvblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8UHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdFtdPjtcbiAgc2VuZEFjY291bnRDb25zb2xpZGF0aW9uKHBhcmFtcz86IFByZWJ1aWxkQW5kU2lnblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgc2VuZEFjY291bnRDb25zb2xpZGF0aW9ucyhwYXJhbXM/OiBCdWlsZENvbnNvbGlkYXRpb25UcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGJ1aWxkVG9rZW5FbmFibGVtZW50cyhwYXJhbXM/OiBCdWlsZFRva2VuRW5hYmxlbWVudE9wdGlvbnMpOiBQcm9taXNlPFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHRbXT47XG4gIHNlbmRUb2tlbkVuYWJsZW1lbnQocGFyYW1zPzogUHJlYnVpbGRBbmRTaWduVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBzZW5kVG9rZW5FbmFibGVtZW50cyhwYXJhbXM/OiBCdWlsZFRva2VuRW5hYmxlbWVudE9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGxpZ2h0bmluZygpOiBJTGlnaHRuaW5nO1xuICBzaWduTWVzc2FnZShwYXJhbXM6IFdhbGxldFNpZ25NZXNzYWdlT3B0aW9ucyk6IFByb21pc2U8U2lnbmVkTWVzc2FnZT47XG4gIHNpZ25UeXBlZERhdGEocGFyYW1zOiBXYWxsZXRTaWduVHlwZWREYXRhT3B0aW9ucyk6IFByb21pc2U8U2lnbmVkTWVzc2FnZT47XG4gIGZldGNoQ3Jvc3NDaGFpblVUWE9zKHBhcmFtczogRmV0Y2hDcm9zc0NoYWluVVRYT3NPcHRpb25zKTogUHJvbWlzZTxDcm9zc0NoYWluVVRYT1tdPjtcbiAgZ2V0Q2hhbGxlbmdlc0ZvckVjZHNhU2lnbmluZygpOiBQcm9taXNlPFdhbGxldEVjZHNhQ2hhbGxlbmdlcz47XG59XG4iXX0=
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaVdhbGxldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby93YWxsZXQvaVdhbGxldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVJlcXVlc3RUcmFjZXIgfSBmcm9tICcuLi8uLi9hcGknO1xuaW1wb3J0IHtcbiAgSUJhc2VDb2luLFxuICBNZXNzYWdlLFxuICBTaWduZWRNZXNzYWdlLFxuICBTaWduZWRUcmFuc2FjdGlvbixcbiAgVHJhbnNhY3Rpb25QcmVidWlsZCxcbiAgVmVyaWZpY2F0aW9uT3B0aW9ucyxcbiAgVHlwZWREYXRhLFxufSBmcm9tICcuLi9iYXNlQ29pbic7XG5pbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICcuLi9iaXRnb0Jhc2UnO1xuaW1wb3J0IHsgS2V5Y2hhaW4gfSBmcm9tICcuLi9rZXljaGFpbic7XG5pbXBvcnQgeyBJUGVuZGluZ0FwcHJvdmFsLCBQZW5kaW5nQXBwcm92YWxEYXRhIH0gZnJvbSAnLi4vcGVuZGluZ0FwcHJvdmFsJztcbmltcG9ydCB7IElTdGFraW5nV2FsbGV0IH0gZnJvbSAnLi4vc3Rha2luZyc7XG5pbXBvcnQgeyBJVHJhZGluZ0FjY291bnQgfSBmcm9tICcuLi90cmFkaW5nJztcbmltcG9ydCB7XG4gIEN1c3RvbUNvbW1pdG1lbnRHZW5lcmF0aW5nRnVuY3Rpb24sXG4gIEN1c3RvbUdTaGFyZUdlbmVyYXRpbmdGdW5jdGlvbixcbiAgQ3VzdG9tS1NoYXJlR2VuZXJhdGluZ0Z1bmN0aW9uLFxuICBDdXN0b21NdURlbHRhU2hhcmVHZW5lcmF0aW5nRnVuY3Rpb24sXG4gIEN1c3RvbVBhaWxsaWVyTW9kdWx1c0dldHRlckZ1bmN0aW9uLFxuICBDdXN0b21SU2hhcmVHZW5lcmF0aW5nRnVuY3Rpb24sXG4gIEN1c3RvbVNTaGFyZUdlbmVyYXRpbmdGdW5jdGlvbixcbiAgVG9rZW5FbmFibGVtZW50LFxuICBUb2tlblRyYW5zZmVyUmVjaXBpZW50UGFyYW1zLFxufSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBJTGlnaHRuaW5nIH0gZnJvbSAnLi4vbGlnaHRuaW5nJztcbmltcG9ydCB7IFNlcmlhbGl6ZWROdGlsZGUgfSBmcm9tICcuLi8uLi9hY2NvdW50LWxpYi9tcGMvdHNzL2VjZHNhL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBNYXhpbXVtU3BlbmRhYmxlT3B0aW9ucyB7XG4gIG1pblZhbHVlPzogbnVtYmVyIHwgc3RyaW5nO1xuICBtYXhWYWx1ZT86IG51bWJlciB8IHN0cmluZztcbiAgbWluSGVpZ2h0PzogbnVtYmVyO1xuICBtaW5Db25maXJtcz86IG51bWJlcjtcbiAgZW5mb3JjZU1pbkNvbmZpcm1zRm9yQ2hhbmdlPzogYm9vbGVhbjtcbiAgZmVlUmF0ZT86IG51bWJlcjtcbiAgbWF4RmVlUmF0ZT86IG51bWJlcjtcbiAgcmVjaXBpZW50QWRkcmVzcz86IHN0cmluZztcbiAgbGltaXQ/OiBudW1iZXI7XG4gIHRhcmdldD86IG51bWJlciB8IHN0cmluZztcbiAgcGxhaW5UYXJnZXQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWF4aW11bVNwZW5kYWJsZSB7XG4gIG1heGltdW1TcGVuZGFibGU6IG51bWJlcjtcbiAgY29pbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lbW8ge1xuICB2YWx1ZTogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRDb25zb2xpZGF0aW9uVHJhbnNhY3Rpb25PcHRpb25zIGV4dGVuZHMgUHJlYnVpbGRUcmFuc2FjdGlvbk9wdGlvbnMge1xuICBjb25zb2xpZGF0ZUFkZHJlc3Nlcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkVG9rZW5FbmFibGVtZW50T3B0aW9ucyBleHRlbmRzIFByZWJ1aWxkVHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgZW5hYmxlVG9rZW5zOiBUb2tlbkVuYWJsZW1lbnRbXTtcbn1cblxuZXhwb3J0IHR5cGUgQXBpVmVyc2lvbiA9ICdsaXRlJyB8ICdmdWxsJztcblxuZXhwb3J0IGludGVyZmFjZSBQcmVidWlsZFRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIHJlcUlkPzogSVJlcXVlc3RUcmFjZXI7XG4gIHJlY2lwaWVudHM/OiB7XG4gICAgYWRkcmVzczogc3RyaW5nO1xuICAgIGFtb3VudDogc3RyaW5nIHwgbnVtYmVyO1xuICAgIHRva2VuTmFtZT86IHN0cmluZztcbiAgICB0b2tlbkRhdGE/OiBUb2tlblRyYW5zZmVyUmVjaXBpZW50UGFyYW1zO1xuICB9W107XG4gIG51bUJsb2Nrcz86IG51bWJlcjtcbiAgbWF4RmVlUmF0ZT86IG51bWJlcjtcbiAgbWluQ29uZmlybXM/OiBudW1iZXI7XG4gIGVuZm9yY2VNaW5Db25maXJtc0ZvckNoYW5nZT86IGJvb2xlYW47XG4gIHRhcmdldFdhbGxldFVuc3BlbnRzPzogbnVtYmVyO1xuICBtaW5WYWx1ZT86IG51bWJlciB8IHN0cmluZztcbiAgbWF4VmFsdWU/OiBudW1iZXIgfCBzdHJpbmc7XG4gIHNlcXVlbmNlSWQ/OiBzdHJpbmc7XG4gIGxhc3RMZWRnZXJTZXF1ZW5jZT86IG51bWJlcjtcbiAgbGVkZ2VyU2VxdWVuY2VEZWx0YT86IG51bWJlcjtcbiAgZ2FzUHJpY2U/OiBudW1iZXI7XG4gIG5vU3BsaXRDaGFuZ2U/OiBib29sZWFuO1xuICB1bnNwZW50cz86IGFueVtdO1xuICBjaGFuZ2VBZGRyZXNzPzogc3RyaW5nO1xuICB0eXBlPzogc3RyaW5nO1xuICBjbG9zZVJlbWFpbmRlclRvPzogc3RyaW5nO1xuICBub25QYXJ0aWNpcGF0aW9uPzogYm9vbGVhbjtcbiAgdmFsaWRGcm9tQmxvY2s/OiBudW1iZXI7XG4gIHZhbGlkVG9CbG9jaz86IG51bWJlcjtcbiAgaW5zdGFudD86IGJvb2xlYW47XG4gIG1lbW8/OiBNZW1vO1xuICBhZGRyZXNzVHlwZT86IHN0cmluZztcbiAgaG9wPzogYm9vbGVhbjtcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbiAgcmVzZXJ2YXRpb24/OiB7XG4gICAgZXhwaXJlVGltZT86IHN0cmluZztcbiAgICBwZW5kaW5nQXBwcm92YWxJZD86IHN0cmluZztcbiAgfTtcbiAgb2ZmbGluZVZlcmlmaWNhdGlvbj86IGJvb2xlYW47XG4gIHdhbGxldENvbnRyYWN0QWRkcmVzcz86IHN0cmluZztcbiAgaWRmU2lnbmVkVGltZXN0YW1wPzogc3RyaW5nO1xuICBpZGZVc2VySWQ/OiBzdHJpbmc7XG4gIGlkZlZlcnNpb24/OiBudW1iZXI7XG4gIGNvbW1lbnQ/OiBzdHJpbmc7XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbiAgdG9rZW5OYW1lPzogc3RyaW5nO1xuICBlbmFibGVUb2tlbnM/OiBUb2tlbkVuYWJsZW1lbnRbXTtcbiAgbm9uY2U/OiBzdHJpbmc7XG4gIHByZXZpZXc/OiBib29sZWFuO1xuICBlaXAxNTU5PzogRUlQMTU1OTtcbiAgZ2FzTGltaXQ/OiBudW1iZXI7XG4gIGxvd0ZlZVR4aWQ/OiBzdHJpbmc7XG4gIHJlY2VpdmVBZGRyZXNzPzogc3RyaW5nO1xuICBpc1Rzcz86IGJvb2xlYW47XG4gIGN1c3RvZGlhblRyYW5zYWN0aW9uSWQ/OiBzdHJpbmc7XG4gIGFwaVZlcnNpb24/OiBBcGlWZXJzaW9uO1xuICAvKipcbiAgICogSWYgc2V0IHRvIGZhbHNlLCBzd2VlcCBhbGwgZnVuZHMgaW5jbHVkaW5nIHRoZSByZXF1aXJlZCBtaW5pbXVtcyBmb3IgYWRkcmVzcyhlcykuIEUuZy4gUG9sa2Fkb3QgKERPVCkgcmVxdWlyZXMgMSBET1QgbWluaW11bS5cbiAgICovXG4gIGtlZXBBbGl2ZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGlzIGNvbW1lbnQgYXBwbGllcyB0byBVVFhPIGNvaW5zLiBJdCdzIGFza2luZyB3aGljaCB0cmFuc2FjdGlvbiBmb3JtYXQgdG8gdXNlOlxuICAgKiB0aGUgbGVnYWN5IGZvcm1hdCBkZWZpbmVkIGJ5IGJpdGNvaW5qcy1saWIsIG9yIHRoZSAncHNidCcgZm9ybWF0LCB3aGljaCBmb2xsb3dzIHRoZSBCSVAtMTc0LlxuICAgKi9cbiAgdHhGb3JtYXQ/OiAnbGVnYWN5JyB8ICdwc2J0Jztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcmVidWlsZEFuZFNpZ25UcmFuc2FjdGlvbk9wdGlvbnMgZXh0ZW5kcyBQcmVidWlsZFRyYW5zYWN0aW9uT3B0aW9ucywgV2FsbGV0U2lnblRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIHByZWJ1aWxkVHg/OiBzdHJpbmcgfCBQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0O1xuICB2ZXJpZmljYXRpb24/OiBWZXJpZmljYXRpb25PcHRpb25zO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHQgZXh0ZW5kcyBUcmFuc2FjdGlvblByZWJ1aWxkIHtcbiAgd2FsbGV0SWQ6IHN0cmluZztcbiAgLy8gQ29uc29saWRhdGUgSUQgaXMgdXNlZCBmb3IgY29uc29saWRhdGUgYWNjb3VudCB0cmFuc2FjdGlvbnMgYW5kIGluZGljYXRlcyBpZiB0aGlzIGlzXG4gIC8vIGEgY29uc29saWRhdGlvbiBhbmQgd2hhdCBjb25zb2xpZGF0ZSBncm91cCBpdCBzaG91bGQgYmUgcmVmZXJlbmNlZCBieS5cbiAgY29uc29saWRhdGVJZD86IHN0cmluZztcbiAgY29uc29saWRhdGlvbkRldGFpbHM/OiB7XG4gICAgc2VuZGVyQWRkcmVzc0luZGV4OiBudW1iZXI7XG4gIH07XG4gIGZlZUluZm8/OiB7XG4gICAgZmVlPzogbnVtYmVyO1xuICAgIGZlZVN0cmluZz86IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21TaWduaW5nRnVuY3Rpb24ge1xuICAocGFyYW1zOiB7IGNvaW46IElCYXNlQ29pbjsgdHhQcmVidWlsZDogVHJhbnNhY3Rpb25QcmVidWlsZDsgcHVicz86IHN0cmluZ1tdIH0pOiBQcm9taXNlPFNpZ25lZFRyYW5zYWN0aW9uPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXYWxsZXRTaWduQmFzZU9wdGlvbnMge1xuICByZXFJZD86IElSZXF1ZXN0VHJhY2VyO1xuICBwcnY/OiBzdHJpbmc7XG4gIHB1YnM/OiBzdHJpbmdbXTtcbiAgdHhSZXF1ZXN0SWQ/OiBzdHJpbmc7XG4gIGNvc2lnbmVyUHViPzogc3RyaW5nO1xuICBpc0xhc3RTaWduYXR1cmU/OiBib29sZWFuO1xuICBjdXN0b21TaWduaW5nRnVuY3Rpb24/OiBDdXN0b21TaWduaW5nRnVuY3Rpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2FsbGV0U2lnblRyYW5zYWN0aW9uT3B0aW9ucyBleHRlbmRzIFdhbGxldFNpZ25CYXNlT3B0aW9ucyB7XG4gIHR4UHJlYnVpbGQ/OiBUcmFuc2FjdGlvblByZWJ1aWxkO1xuICBjdXN0b21Db21taXRtZW50R2VuZXJhdGluZ0Z1bmN0aW9uPzogQ3VzdG9tQ29tbWl0bWVudEdlbmVyYXRpbmdGdW5jdGlvbjtcbiAgY3VzdG9tUlNoYXJlR2VuZXJhdGluZ0Z1bmN0aW9uPzogQ3VzdG9tUlNoYXJlR2VuZXJhdGluZ0Z1bmN0aW9uO1xuICBjdXN0b21HU2hhcmVHZW5lcmF0aW5nRnVuY3Rpb24/OiBDdXN0b21HU2hhcmVHZW5lcmF0aW5nRnVuY3Rpb247XG4gIGN1c3RvbVBhaWxsaWVyTW9kdWx1c0dlbmVyYXRpbmdGdW5jdGlvbj86IEN1c3RvbVBhaWxsaWVyTW9kdWx1c0dldHRlckZ1bmN0aW9uO1xuICBjdXN0b21LU2hhcmVHZW5lcmF0aW5nRnVuY3Rpb24/OiBDdXN0b21LU2hhcmVHZW5lcmF0aW5nRnVuY3Rpb247XG4gIGN1c3RvbU11RGVsdGFTaGFyZUdlbmVyYXRpbmdGdW5jdGlvbj86IEN1c3RvbU11RGVsdGFTaGFyZUdlbmVyYXRpbmdGdW5jdGlvbjtcbiAgY3VzdG9tU1NoYXJlR2VuZXJhdGluZ0Z1bmN0aW9uPzogQ3VzdG9tU1NoYXJlR2VuZXJhdGluZ0Z1bmN0aW9uO1xuICBhcGlWZXJzaW9uPzogQXBpVmVyc2lvbjtcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG5pbnRlcmZhY2UgV2FsbGV0U2lnbk1lc3NhZ2VCYXNlIGV4dGVuZHMgV2FsbGV0U2lnbkJhc2VPcHRpb25zIHtcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbiAgY3VzdG9kaWFuTWVzc2FnZUlkPzogc3RyaW5nO1xuICBjdXN0b21QYWlsbGllck1vZHVsdXNHZW5lcmF0aW5nRnVuY3Rpb24/OiBDdXN0b21QYWlsbGllck1vZHVsdXNHZXR0ZXJGdW5jdGlvbjtcbiAgY3VzdG9tS1NoYXJlR2VuZXJhdGluZ0Z1bmN0aW9uPzogQ3VzdG9tS1NoYXJlR2VuZXJhdGluZ0Z1bmN0aW9uO1xuICBjdXN0b21NdURlbHRhU2hhcmVHZW5lcmF0aW5nRnVuY3Rpb24/OiBDdXN0b21NdURlbHRhU2hhcmVHZW5lcmF0aW5nRnVuY3Rpb247XG4gIGN1c3RvbVNTaGFyZUdlbmVyYXRpbmdGdW5jdGlvbj86IEN1c3RvbVNTaGFyZUdlbmVyYXRpbmdGdW5jdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXYWxsZXRTaWduTWVzc2FnZU9wdGlvbnMgZXh0ZW5kcyBXYWxsZXRTaWduTWVzc2FnZUJhc2Uge1xuICBtZXNzYWdlPzogTWVzc2FnZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXYWxsZXRTaWduVHlwZWREYXRhT3B0aW9ucyBleHRlbmRzIFdhbGxldFNpZ25NZXNzYWdlQmFzZSB7XG4gIHR5cGVkRGF0YTogVHlwZWREYXRhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFVzZXJQcnZPcHRpb25zIHtcbiAga2V5Y2hhaW4/OiBLZXljaGFpbjtcbiAga2V5PzogS2V5Y2hhaW47XG4gIHBydj86IHN0cmluZztcbiAgY29sZERlcml2YXRpb25TZWVkPzogc3RyaW5nO1xuICB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdhbGxldENvaW5TcGVjaWZpYyB7XG4gIHRva2VuRmx1c2hUaHJlc2hvbGRzPzogYW55O1xuICBhZGRyZXNzVmVyc2lvbj86IG51bWJlcjtcbiAgYmFzZUFkZHJlc3M/OiBzdHJpbmc7XG4gIHJvb3RBZGRyZXNzPzogc3RyaW5nO1xuICBjdXN0b21DaGFuZ2VXYWxsZXRJZDogc3RyaW5nO1xuICB3YWxsZXRWZXJzaW9uPzogbnVtYmVyO1xuICBoYXNoQWxnb3JpdGhtPzogc3RyaW5nO1xuICBwZW5kaW5nRWNkc2FUc3NJbml0aWFsaXphdGlvbj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFnaW5hdGlvbk9wdGlvbnMge1xuICBwcmV2SWQ/OiBzdHJpbmc7XG4gIGxpbWl0PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFRyYW5zYWN0aW9uT3B0aW9ucyBleHRlbmRzIFBhZ2luYXRpb25PcHRpb25zIHtcbiAgdHhIYXNoPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zZmVyc09wdGlvbnMgZXh0ZW5kcyBQYWdpbmF0aW9uT3B0aW9ucyB7XG4gIHR4SGFzaD86IHN0cmluZztcbiAgYWxsVG9rZW5zPzogYm9vbGVhbjtcbiAgc2VhcmNoTGFiZWw/OiBzdHJpbmc7XG4gIGFkZHJlc3M/OiBzdHJpbmdbXSB8IHN0cmluZztcbiAgZGF0ZUd0ZT86IHN0cmluZztcbiAgZGF0ZUx0Pzogc3RyaW5nO1xuICB2YWx1ZUd0ZT86IG51bWJlcjtcbiAgdmFsdWVMdD86IG51bWJlcjtcbiAgaW5jbHVkZUhleD86IGJvb2xlYW47XG4gIHN0YXRlPzogc3RyaW5nW10gfCBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0VHJhbnNmZXJPcHRpb25zIHtcbiAgaWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNmZXJCeVNlcXVlbmNlSWRPcHRpb25zIHtcbiAgc2VxdWVuY2VJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVbnNwZW50c09wdGlvbnMgZXh0ZW5kcyBQYWdpbmF0aW9uT3B0aW9ucyB7XG4gIG1pblZhbHVlPzogbnVtYmVyIHwgc3RyaW5nO1xuICBtYXhWYWx1ZT86IG51bWJlciB8IHN0cmluZztcbiAgbWluSGVpZ2h0PzogbnVtYmVyO1xuICBtaW5Db25maXJtcz86IG51bWJlcjtcbiAgdGFyZ2V0PzogbnVtYmVyIHwgc3RyaW5nO1xuICBzZWd3aXQ/OiBib29sZWFuO1xuICBjaGFpbnM/OiBudW1iZXJbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25zb2xpZGF0ZVVuc3BlbnRzT3B0aW9ucyBleHRlbmRzIFdhbGxldFNpZ25UcmFuc2FjdGlvbk9wdGlvbnMge1xuICB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nO1xuICB4cHJ2Pzogc3RyaW5nO1xuICBtaW5WYWx1ZT86IG51bWJlciB8IHN0cmluZztcbiAgbWF4VmFsdWU/OiBudW1iZXIgfCBzdHJpbmc7XG4gIG1pbkhlaWdodD86IG51bWJlcjtcbiAgbnVtVW5zcGVudHNUb01ha2U/OiBudW1iZXI7XG4gIGZlZVR4Q29uZmlybVRhcmdldD86IG51bWJlcjtcbiAgbGltaXQ/OiBudW1iZXI7XG4gIG1pbkNvbmZpcm1zPzogbnVtYmVyO1xuICBlbmZvcmNlTWluQ29uZmlybXNGb3JDaGFuZ2U/OiBib29sZWFuO1xuICBmZWVSYXRlPzogbnVtYmVyO1xuICBtYXhGZWVSYXRlPzogbnVtYmVyO1xuICBtYXhGZWVQZXJjZW50YWdlPzogbnVtYmVyO1xuICBjb21tZW50Pzogc3RyaW5nO1xuICBvdHA/OiBzdHJpbmc7XG4gIHRhcmdldEFkZHJlc3M/OiBzdHJpbmc7XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGYW5vdXRVbnNwZW50c09wdGlvbnMgZXh0ZW5kcyBXYWxsZXRTaWduVHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbiAgeHBydj86IHN0cmluZztcbiAgbWluVmFsdWU/OiBudW1iZXIgfCBzdHJpbmc7XG4gIG1heFZhbHVlPzogbnVtYmVyIHwgc3RyaW5nO1xuICBtaW5IZWlnaHQ/OiBudW1iZXI7XG4gIG1heE51bUlucHV0c1RvVXNlPzogbnVtYmVyO1xuICBudW1VbnNwZW50c1RvTWFrZT86IG51bWJlcjtcbiAgbWluQ29uZmlybXM/OiBudW1iZXI7XG4gIGVuZm9yY2VNaW5Db25maXJtc0ZvckNoYW5nZT86IGJvb2xlYW47XG4gIGZlZVJhdGU/OiBudW1iZXI7XG4gIG1heEZlZVJhdGU/OiBudW1iZXI7XG4gIG1heEZlZVBlcmNlbnRhZ2U/OiBudW1iZXI7XG4gIGZlZVR4Q29uZmlybVRhcmdldD86IG51bWJlcjtcbiAgY29tbWVudD86IHN0cmluZztcbiAgb3RwPzogc3RyaW5nO1xuICB0YXJnZXRBZGRyZXNzPzogc3RyaW5nO1xuICBbaW5kZXg6IHN0cmluZ106IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3dlZXBPcHRpb25zIHtcbiAgYWRkcmVzcz86IHN0cmluZztcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbiAgeHBydj86IHN0cmluZztcbiAgb3RwPzogc3RyaW5nO1xuICBmZWVSYXRlPzogbnVtYmVyO1xuICBtYXhGZWVSYXRlPzogbnVtYmVyO1xuICBmZWVUeENvbmZpcm1UYXJnZXQ/OiBudW1iZXI7XG4gIGFsbG93UGFydGlhbFN3ZWVwPzogYm9vbGVhbjtcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZyZWV6ZU9wdGlvbnMge1xuICBkdXJhdGlvbj86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2ZlckNvbW1lbnRPcHRpb25zIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIGNvbW1lbnQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkcmVzc2VzT3B0aW9ucyBleHRlbmRzIFBhZ2luYXRpb25PcHRpb25zIHtcbiAgbWluZT86IGJvb2xlYW47XG4gIHNvcnQ/OiBudW1iZXI7XG4gIGxhYmVsQ29udGFpbnM/OiBzdHJpbmc7XG4gIHNlZ3dpdD86IGJvb2xlYW47XG4gIGNoYWlucz86IG51bWJlcltdO1xuICBpbmNsdWRlQmFsYW5jZXM/OiBib29sZWFuO1xuICBpbmNsdWRlVG9rZW5zPzogYm9vbGVhbjtcbiAgaW5jbHVkZVRvdGFsQWRkcmVzc0NvdW50PzogYm9vbGVhbjtcbiAgcmV0dXJuQmFsYW5jZXNGb3JUb2tlbj86IHN0cmluZztcbiAgcGVuZGluZ0RlcGxveW1lbnQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldEFkZHJlc3NPcHRpb25zIHtcbiAgYWRkcmVzcz86IHN0cmluZztcbiAgaWQ/OiBzdHJpbmc7XG4gIHJlcUlkPzogSVJlcXVlc3RUcmFjZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVwbG95Rm9yd2FyZGVyc09wdGlvbnMge1xuICBhZGRyZXNzPzogc3RyaW5nO1xuICBpZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGdW5kRm9yd2FyZGVyc09wdGlvbnMge1xuICBmb3J3YXJkZXJBZGRyZXNzOiBzdHJpbmc7XG4gIGFtb3VudD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGbHVzaEZvcndhcmRlclRva2VuT3B0aW9ucyB7XG4gIGFkZHJlc3M/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICB0b2tlbk5hbWU6IHN0cmluZztcbiAgZ2FzUHJpY2U/OiBudW1iZXI7XG4gIGVpcDE1NTk/OiB7XG4gICAgbWF4UHJpb3JpdHlGZWVQZXJHYXM6IG51bWJlcjtcbiAgICBtYXhGZWVQZXJHYXM6IG51bWJlcjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb3J3YXJkZXJCYWxhbmNlIHtcbiAgYWRkcmVzczogc3RyaW5nO1xuICBiYWxhbmNlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9yd2FyZGVyQmFsYW5jZU9wdGlvbnMge1xuICBtaW5pbXVtQmFsYW5jZT86IG51bWJlcjtcbiAgbWF4aW11bUJhbGFuY2U/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlQWRkcmVzc09wdGlvbnMge1xuICBjaGFpbj86IG51bWJlcjtcbiAgZ2FzUHJpY2U/OiBudW1iZXIgfCBzdHJpbmc7XG4gIGNvdW50PzogbnVtYmVyO1xuICBsYWJlbD86IHN0cmluZztcbiAgbG93UHJpb3JpdHk/OiBib29sZWFuO1xuICBmb3J3YXJkZXJWZXJzaW9uPzogbnVtYmVyO1xuICBmb3JtYXQ/OiAnYmFzZTU4JyB8ICdjYXNoYWRkcic7XG4gIGJhc2VBZGRyZXNzPzogc3RyaW5nO1xuICBhbGxvd1NraXBWZXJpZnlBZGRyZXNzPzogYm9vbGVhbjtcbiAgZGVyaXZlZEFkZHJlc3M/OiBzdHJpbmc7XG4gIGluZGV4PzogbnVtYmVyO1xuICBvblRva2VuPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZUFkZHJlc3NPcHRpb25zIHtcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIGFkZHJlc3M/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2ltdWxhdGVXZWJob29rT3B0aW9ucyB7XG4gIHdlYmhvb2tJZD86IHN0cmluZztcbiAgdHJhbnNmZXJJZD86IHN0cmluZztcbiAgcGVuZGluZ0FwcHJvdmFsSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kaWZ5V2ViaG9va09wdGlvbnMge1xuICB1cmw/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0UHJ2T3B0aW9ucyB7XG4gIHBydj86IHN0cmluZztcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVTaGFyZU9wdGlvbnMge1xuICB1c2VyPzogc3RyaW5nO1xuICBwZXJtaXNzaW9ucz86IHN0cmluZztcbiAga2V5Y2hhaW4/OiB7XG4gICAgLy8gSW4gdGhlIGNvbnRleHQgb2Ygd2FsbGV0IHNoYXJpbmcsIHB1YiBjYW4gcmVwcmVzZW50IG9uZSBvZjpcbiAgICAvLyBwdWIgKGluZGVwZW5kYW50IG11bHRpIHNpZyksIGNvbW1vblB1YiAoYmxzKSwgb3IgY29tbW9uUHViIHBvcnRpb24gb2YgY29tbW9uS2V5Y2hhaW4gKFRTUylcbiAgICBwdWI/OiBzdHJpbmc7XG4gICAgZW5jcnlwdGVkUHJ2Pzogc3RyaW5nO1xuICAgIGZyb21QdWJLZXk/OiBzdHJpbmc7XG4gICAgdG9QdWJLZXk/OiBzdHJpbmc7XG4gICAgcGF0aD86IHN0cmluZztcbiAgfTtcbiAgcmVzaGFyZT86IGJvb2xlYW47XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIGRpc2FibGVFbWFpbD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2hhcmVXYWxsZXRPcHRpb25zIHtcbiAgZW1haWw/OiBzdHJpbmc7XG4gIHBlcm1pc3Npb25zPzogc3RyaW5nO1xuICB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nO1xuICBtZXNzYWdlPzogc3RyaW5nO1xuICByZXNoYXJlPzogYm9vbGVhbjtcbiAgc2tpcEtleWNoYWluPzogYm9vbGVhbjtcbiAgZGlzYWJsZUVtYWlsPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdmVVc2VyT3B0aW9ucyB7XG4gIHVzZXJJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY2NlbGVyYXRlVHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgY3BmcFR4SWRzPzogc3RyaW5nW107XG4gIGNwZnBGZWVSYXRlPzogbnVtYmVyO1xuICBub0NwZnBGZWVSYXRlPzogYm9vbGVhbjtcbiAgbWF4RmVlPzogbnVtYmVyO1xuICBub01heEZlZT86IGJvb2xlYW47XG4gIHJlY2lwaWVudHM/OiB7XG4gICAgYWRkcmVzczogc3RyaW5nO1xuICAgIGFtb3VudDogc3RyaW5nO1xuICB9W107XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdWJtaXRUcmFuc2FjdGlvbk9wdGlvbnMge1xuICBvdHA/OiBzdHJpbmc7XG4gIHR4SGV4Pzogc3RyaW5nO1xuICBoYWxmU2lnbmVkPzoge1xuICAgIHR4SGV4Pzogc3RyaW5nOyAvLyBUcmFuc2FjdGlvbiBpbiBhbnkgZm9ybWF0IHJlcXVpcmVkIGJ5IGVhY2ggY29pbiwgaS5lLiBpbiBUcm9uIGl0IGlzIGEgc3RyaW5naWZ5ZWQgSlNPTlxuICAgIHBheWxvYWQ/OiBzdHJpbmc7XG4gICAgdHhCYXNlNjQ/OiBzdHJpbmc7XG4gICAgc2lnbmVkQ2hpbGRQc2J0Pzogc3RyaW5nOyAvLyBQU0JUIHRoYXQgaGFzIHRoZSBvdXRwdXQgb2YgdHhIZXggYXMgaW5wdXQgd2l0aCBhIHNpZ25hdHVyZVxuICB9O1xuICBjb21tZW50Pzogc3RyaW5nO1xuICB0eFJlcXVlc3RJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZW5kT3B0aW9ucyB7XG4gIGFkZHJlc3M/OiBzdHJpbmc7XG4gIGFtb3VudD86IG51bWJlciB8IHN0cmluZztcbiAgZGF0YT86IHN0cmluZztcbiAgZmVlTGltaXQ/OiBzdHJpbmc7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG4gIHBydj86IHN0cmluZztcbiAgbWluQ29uZmlybXM/OiBudW1iZXI7XG4gIGVuZm9yY2VNaW5Db25maXJtc0ZvckNoYW5nZT86IGJvb2xlYW47XG4gIGN1c3RvZGlhblRyYW5zYWN0aW9uSWQ/OiBzdHJpbmc7XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbiAgdG9rZW5OYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbmRNYW55T3B0aW9ucyBleHRlbmRzIFByZWJ1aWxkQW5kU2lnblRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIHJlcUlkPzogSVJlcXVlc3RUcmFjZXI7XG4gIHJlY2lwaWVudHM/OiB7XG4gICAgYWRkcmVzczogc3RyaW5nO1xuICAgIGFtb3VudDogc3RyaW5nIHwgbnVtYmVyO1xuICAgIGZlZUxpbWl0Pzogc3RyaW5nO1xuICAgIGRhdGE/OiBzdHJpbmc7XG4gICAgdG9rZW5OYW1lPzogc3RyaW5nO1xuICB9W107XG4gIG51bUJsb2Nrcz86IG51bWJlcjtcbiAgZmVlUmF0ZT86IG51bWJlcjtcbiAgbWF4RmVlUmF0ZT86IG51bWJlcjtcbiAgbWluQ29uZmlybXM/OiBudW1iZXI7XG4gIGVuZm9yY2VNaW5Db25maXJtc0ZvckNoYW5nZT86IGJvb2xlYW47XG4gIHRhcmdldFdhbGxldFVuc3BlbnRzPzogbnVtYmVyO1xuICBtZXNzYWdlPzogc3RyaW5nO1xuICBtaW5WYWx1ZT86IG51bWJlciB8IHN0cmluZztcbiAgbWF4VmFsdWU/OiBudW1iZXIgfCBzdHJpbmc7XG4gIHNlcXVlbmNlSWQ/OiBzdHJpbmc7XG4gIGxhc3RMZWRnZXJTZXF1ZW5jZT86IG51bWJlcjtcbiAgbGVkZ2VyU2VxdWVuY2VEZWx0YT86IG51bWJlcjtcbiAgZ2FzUHJpY2U/OiBudW1iZXI7XG4gIG5vU3BsaXRDaGFuZ2U/OiBib29sZWFuO1xuICB1bnNwZW50cz86IHN0cmluZ1tdO1xuICBjb21tZW50Pzogc3RyaW5nO1xuICBvdHA/OiBzdHJpbmc7XG4gIGNoYW5nZUFkZHJlc3M/OiBzdHJpbmc7XG4gIGluc3RhbnQ/OiBib29sZWFuO1xuICBtZW1vPzogTWVtbztcbiAgdHJhbnNmZXJJZD86IG51bWJlcjtcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xuICBlaXAxNTU5PzogRUlQMTU1OTtcbiAgZ2FzTGltaXQ/OiBudW1iZXI7XG4gIGN1c3RvZGlhblRyYW5zYWN0aW9uSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmV0Y2hDcm9zc0NoYWluVVRYT3NPcHRpb25zIHtcbiAgc291cmNlQ2hhaW4/OiAnUCcgfCAnQyc7XG59XG5cbmV4cG9ydCB0eXBlIFVuc3BlbnQgPSB7XG4gIG91dHB1dElEOiBudW1iZXI7XG4gIGFtb3VudDogc3RyaW5nOyAvLyBCaWdOdW1iZXIgZW5jb2RlZCBpbiBjYjU4XG4gIHR4aWQ6IHN0cmluZzsgLy8gVHJhbnNhY3Rpb24gSUQgZW5jb2RlZCBpbiBjYjU4XG4gIHRocmVzaG9sZDogbnVtYmVyOyAvLyBUaHJlc2hvbGQgZm9yIG51bWJlciBvZiBhZGRyZXNzZXNcbiAgYWRkcmVzc2VzOiBzdHJpbmdbXTsgLy8gQWRkcmVzc2VzIHVzZWQgZm9yIHVubG9ja2luZyB1dHhvXG4gIG91dHB1dGlkeDogc3RyaW5nOyAvLyBPdXRwdXQgaW5kZXggZW5jb2RlZCBpbiBjYjU4XG4gIGxvY2t0aW1lOiBzdHJpbmc7IC8vIFRpbWUgd2hlbiB1bmxvY2tlZC4gQmlnTnVtYmVyIGVuY29kZWQgaW4gY2I1OFxufTtcblxuZXhwb3J0IGludGVyZmFjZSBDcm9zc0NoYWluVVRYTyB7XG4gIHVuc3BlbnQ6IFVuc3BlbnQ7XG4gIGZyb21XYWxsZXQ6IHN0cmluZztcbiAgdG9XYWxsZXQ6IHN0cmluZztcbiAgdG9BZGRyZXNzOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFdhbGxldFR5cGUgPSAnYmFja2luZycgfCAnY29sZCcgfCAnY3VzdG9kaWFsJyB8ICdjdXN0b2RpYWxQYWlyZWQnIHwgJ2hvdCcgfCAndHJhZGluZyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2FsbGV0RGF0YSB7XG4gIGlkOiBzdHJpbmc7XG4gIGFwcHJvdmFsc1JlcXVpcmVkOiBudW1iZXI7XG4gIGJhbGFuY2U6IG51bWJlcjtcbiAgY29uZmlybWVkQmFsYW5jZTogbnVtYmVyO1xuICBzcGVuZGFibGVCYWxhbmNlOiBudW1iZXI7XG4gIGJhbGFuY2VTdHJpbmc6IHN0cmluZztcbiAgY29uZmlybWVkQmFsYW5jZVN0cmluZzogc3RyaW5nO1xuICBzcGVuZGFibGVCYWxhbmNlU3RyaW5nOiBzdHJpbmc7XG4gIGNvaW46IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAga2V5czogc3RyaW5nW107XG4gIHJlY2VpdmVBZGRyZXNzOiB7XG4gICAgYWRkcmVzczogc3RyaW5nO1xuICB9O1xuICBtaWdyYXRlZEZyb20/OiBzdHJpbmc7XG4gIGNvaW5TcGVjaWZpYzogV2FsbGV0Q29pblNwZWNpZmljO1xuICBwZW5kaW5nQXBwcm92YWxzOiBQZW5kaW5nQXBwcm92YWxEYXRhW107XG4gIGVudGVycHJpc2U6IHN0cmluZztcbiAgY3VzdG9tQ2hhbmdlS2V5U2lnbmF0dXJlcz86IHtcbiAgICB1c2VyPzogc3RyaW5nO1xuICAgIGJhY2t1cD86IHN0cmluZztcbiAgICBiaXRnbz86IHN0cmluZztcbiAgfTtcbiAgbXVsdGlzaWdUeXBlOiAnb25jaGFpbicgfCAndHNzJztcbiAgdHlwZT86IFdhbGxldFR5cGU7XG4gIHRva2Vucz86IFJlY29yZDxzdHJpbmcsIGFueT5bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWNvdmVyVG9rZW5PcHRpb25zIHtcbiAgdG9rZW5Db250cmFjdEFkZHJlc3M/OiBzdHJpbmc7XG4gIHJlY2lwaWVudD86IHN0cmluZztcbiAgYnJvYWRjYXN0PzogYm9vbGVhbjtcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbiAgcHJ2Pzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgRUlQMTU1OSB7XG4gIG1heFByaW9yaXR5RmVlUGVyR2FzOiBzdHJpbmc7XG4gIG1heEZlZVBlckdhczogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYW5nZUZlZU9wdGlvbnMge1xuICB0eGlkPzogc3RyaW5nO1xuICBmZWU/OiBzdHJpbmc7XG4gIGVpcDE1NTk/OiBFSVAxNTU5O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZVBvbGljeVJ1bGVPcHRpb25zIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIGNvbmRpdGlvbj86IHVua25vd247XG4gIGFjdGlvbj86IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVtb3ZlUG9saWN5UnVsZU9wdGlvbnMge1xuICBpZD86IHN0cmluZztcbiAgbWVzc2FnZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEb3dubG9hZEtleWNhcmRPcHRpb25zIHtcbiAganNQREY/OiBhbnk7XG4gIFFSQ29kZT86IGFueTtcbiAgdXNlcktleWNoYWluPzogS2V5Y2hhaW47XG4gIGJhY2t1cEtleWNoYWluPzogS2V5Y2hhaW47XG4gIGJpdGdvS2V5Y2hhaW4/OiBLZXljaGFpbjtcbiAgcGFzc3BocmFzZT86IHN0cmluZztcbiAgcGFzc2NvZGVFbmNyeXB0aW9uQ29kZT86IHN0cmluZztcbiAgYWN0aXZhdGlvbkNvZGU/OiBzdHJpbmc7XG4gIHdhbGxldEtleUlEPzogc3RyaW5nO1xuICBiYWNrdXBLZXlJRD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGFsbGVuZ2VWZXJpZmllcnMge1xuICB2ZXJpZmllcnM6IHtcbiAgICBhZG1pblNpZ25hdHVyZTogc3RyaW5nO1xuICB9O1xufVxuZXhwb3J0IGludGVyZmFjZSBXYWxsZXRFY2RzYUNoYWxsZW5nZXMge1xuICBlbnRlcnByaXNlQ2hhbGxlbmdlOiBTZXJpYWxpemVkTnRpbGRlICYgQ2hhbGxlbmdlVmVyaWZpZXJzO1xuICBiaXRnb0NoYWxsZW5nZTogU2VyaWFsaXplZE50aWxkZSAmIENoYWxsZW5nZVZlcmlmaWVycztcbiAgY3JlYXRlZEJ5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVdhbGxldCB7XG4gIGJpdGdvOiBCaXRHb0Jhc2U7XG4gIGJhc2VDb2luOiBJQmFzZUNvaW47XG4gIHVybChleHRyYT86IHN0cmluZyk6IHN0cmluZztcbiAgaWQoKTogc3RyaW5nO1xuICBhcHByb3ZhbHNSZXF1aXJlZCgpOiBudW1iZXI7XG4gIGJhbGFuY2UoKTogbnVtYmVyO1xuICBwcmVidWlsZFdoaXRlbGlzdGVkUGFyYW1zKCk6IHN0cmluZ1tdO1xuICBwcmVidWlsZENvbnNvbGlkYXRlQWNjb3VudFBhcmFtcygpOiBzdHJpbmdbXTtcbiAgY29uZmlybWVkQmFsYW5jZSgpOiBudW1iZXI7XG4gIHNwZW5kYWJsZUJhbGFuY2UoKTogbnVtYmVyO1xuICBiYWxhbmNlU3RyaW5nKCk6IHN0cmluZztcbiAgY29uZmlybWVkQmFsYW5jZVN0cmluZygpOiBzdHJpbmc7XG4gIHNwZW5kYWJsZUJhbGFuY2VTdHJpbmcoKTogc3RyaW5nO1xuICBjb2luKCk6IHN0cmluZztcbiAgbGFiZWwoKTogc3RyaW5nO1xuICBrZXlJZHMoKTogc3RyaW5nW107XG4gIHJlY2VpdmVBZGRyZXNzKCk6IHN0cmluZztcbiAgbWlncmF0ZWRGcm9tKCk6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgdG9rZW5GbHVzaFRocmVzaG9sZHMoKTogYW55O1xuICBjb2luU3BlY2lmaWMoKTogV2FsbGV0Q29pblNwZWNpZmljIHwgdW5kZWZpbmVkO1xuICBwZW5kaW5nQXBwcm92YWxzKCk6IElQZW5kaW5nQXBwcm92YWxbXTtcbiAgcmVmcmVzaChwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBuZXZlcj4pOiBQcm9taXNlPElXYWxsZXQ+O1xuICB0cmFuc2FjdGlvbnMocGFyYW1zPzogUGFnaW5hdGlvbk9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGdldFRyYW5zYWN0aW9uKHBhcmFtcz86IEdldFRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgdHJhbnNmZXJzKHBhcmFtcz86IFRyYW5zZmVyc09wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGdldFRyYW5zZmVyKHBhcmFtcz86IEdldFRyYW5zZmVyT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgdHJhbnNmZXJCeVNlcXVlbmNlSWQocGFyYW1zPzogVHJhbnNmZXJCeVNlcXVlbmNlSWRPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBtYXhpbXVtU3BlbmRhYmxlKHBhcmFtcz86IE1heGltdW1TcGVuZGFibGVPcHRpb25zKTogUHJvbWlzZTxNYXhpbXVtU3BlbmRhYmxlPjtcbiAgdW5zcGVudHMocGFyYW1zPzogVW5zcGVudHNPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBjb25zb2xpZGF0ZVVuc3BlbnRzKHBhcmFtcz86IENvbnNvbGlkYXRlVW5zcGVudHNPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBmYW5vdXRVbnNwZW50cyhwYXJhbXM/OiBGYW5vdXRVbnNwZW50c09wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHVwZGF0ZVRva2VuRmx1c2hUaHJlc2hvbGRzKHRocmVzaG9sZHM/OiBhbnkpOiBQcm9taXNlPGFueT47XG4gIHVwZGF0ZUZvcndhcmRlcnMoZm9yd2FyZGVyRmxhZ3M/OiBhbnkpOiBQcm9taXNlPGFueT47XG4gIGRlcGxveUZvcndhcmRlcnMocGFyYW1zOiBEZXBsb3lGb3J3YXJkZXJzT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgZmx1c2hGb3J3YXJkZXJUb2tlbihwYXJhbXM6IEZsdXNoRm9yd2FyZGVyVG9rZW5PcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBnZXRGb3J3YXJkZXJCYWxhbmNlKHBhcmFtcz86IEZvcndhcmRlckJhbGFuY2VPcHRpb25zKTogUHJvbWlzZTxGb3J3YXJkZXJCYWxhbmNlW10+O1xuICBzd2VlcChwYXJhbXM/OiBTd2VlcE9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGZyZWV6ZShwYXJhbXM/OiBGcmVlemVPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICB0cmFuc2ZlckNvbW1lbnQocGFyYW1zPzogVHJhbnNmZXJDb21tZW50T3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgYWRkcmVzc2VzKHBhcmFtcz86IEFkZHJlc3Nlc09wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGdldEFkZHJlc3MocGFyYW1zPzogR2V0QWRkcmVzc09wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGNyZWF0ZUFkZHJlc3MocGFyYW1zPzogQ3JlYXRlQWRkcmVzc09wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHVwZGF0ZUFkZHJlc3MocGFyYW1zPzogVXBkYXRlQWRkcmVzc09wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGxpc3RXZWJob29rcyhwYXJhbXM/OiBQYWdpbmF0aW9uT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgc2ltdWxhdGVXZWJob29rKHBhcmFtcz86IFNpbXVsYXRlV2ViaG9va09wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGFkZFdlYmhvb2socGFyYW1zPzogTW9kaWZ5V2ViaG9va09wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHJlbW92ZVdlYmhvb2socGFyYW1zPzogTW9kaWZ5V2ViaG9va09wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGdldEVuY3J5cHRlZFVzZXJLZXljaGFpbihwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBuZXZlcj4pOiBQcm9taXNlPHsgZW5jcnlwdGVkUHJ2OiBzdHJpbmcgfT47XG4gIGdldFBydihwYXJhbXM/OiBHZXRQcnZPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBjcmVhdGVTaGFyZShwYXJhbXM/OiBDcmVhdGVTaGFyZU9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHNoYXJlV2FsbGV0KHBhcmFtcz86IFNoYXJlV2FsbGV0T3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgcmVtb3ZlVXNlcihwYXJhbXM/OiBSZW1vdmVVc2VyT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgcHJlYnVpbGRUcmFuc2FjdGlvbihwYXJhbXM/OiBQcmVidWlsZFRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8UHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdD47XG4gIHNpZ25UcmFuc2FjdGlvbihwYXJhbXM/OiBXYWxsZXRTaWduVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxTaWduZWRUcmFuc2FjdGlvbj47XG4gIGdldFVzZXJQcnYocGFyYW1zPzogR2V0VXNlclBydk9wdGlvbnMpOiBzdHJpbmc7XG4gIHByZWJ1aWxkQW5kU2lnblRyYW5zYWN0aW9uKHBhcmFtcz86IFByZWJ1aWxkQW5kU2lnblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8U2lnbmVkVHJhbnNhY3Rpb24+O1xuICBhY2NlbGVyYXRlVHJhbnNhY3Rpb24ocGFyYW1zPzogQWNjZWxlcmF0ZVRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgc3VibWl0VHJhbnNhY3Rpb24ocGFyYW1zPzogU3VibWl0VHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBzZW5kKHBhcmFtcz86IFNlbmRPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBzZW5kTWFueShwYXJhbXM/OiBTZW5kTWFueU9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHJlY292ZXJUb2tlbihwYXJhbXM/OiBSZWNvdmVyVG9rZW5PcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBnZXRGaXJzdFBlbmRpbmdUcmFuc2FjdGlvbihwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBuZXZlcj4pOiBQcm9taXNlPGFueT47XG4gIGNoYW5nZUZlZShwYXJhbXM/OiBDaGFuZ2VGZWVPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBnZXRQYXltZW50SW5mbyhwYXJhbXM/OiB7IHVybD86IHN0cmluZyB9KTogUHJvbWlzZTxhbnk+O1xuICBzZW5kUGF5bWVudFJlc3BvbnNlKHBhcmFtcz86IGFueSk6IFByb21pc2U8YW55PjtcbiAgY3JlYXRlUG9saWN5UnVsZShwYXJhbXM/OiBDcmVhdGVQb2xpY3lSdWxlT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgc2V0UG9saWN5UnVsZShwYXJhbXM/OiBhbnkpOiBhbnk7XG4gIHJlbW92ZVBvbGljeVJ1bGUocGFyYW1zPzogUmVtb3ZlUG9saWN5UnVsZU9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHJlbW92ZShwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBuZXZlcj4pOiBQcm9taXNlPGFueT47XG4gIHRvSlNPTigpOiBXYWxsZXREYXRhO1xuICB0b1RyYWRpbmdBY2NvdW50KCk6IElUcmFkaW5nQWNjb3VudDtcbiAgdG9TdGFraW5nV2FsbGV0KCk6IElTdGFraW5nV2FsbGV0O1xuICBkb3dubG9hZEtleWNhcmQocGFyYW1zPzogRG93bmxvYWRLZXljYXJkT3B0aW9ucyk6IHZvaWQ7XG4gIGJ1aWxkQWNjb3VudENvbnNvbGlkYXRpb25zKHBhcmFtcz86IEJ1aWxkQ29uc29saWRhdGlvblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8UHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdFtdPjtcbiAgc2VuZEFjY291bnRDb25zb2xpZGF0aW9uKHBhcmFtcz86IFByZWJ1aWxkQW5kU2lnblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgc2VuZEFjY291bnRDb25zb2xpZGF0aW9ucyhwYXJhbXM/OiBCdWlsZENvbnNvbGlkYXRpb25UcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGJ1aWxkVG9rZW5FbmFibGVtZW50cyhwYXJhbXM/OiBCdWlsZFRva2VuRW5hYmxlbWVudE9wdGlvbnMpOiBQcm9taXNlPFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHRbXT47XG4gIHNlbmRUb2tlbkVuYWJsZW1lbnQocGFyYW1zPzogUHJlYnVpbGRBbmRTaWduVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBzZW5kVG9rZW5FbmFibGVtZW50cyhwYXJhbXM/OiBCdWlsZFRva2VuRW5hYmxlbWVudE9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGxpZ2h0bmluZygpOiBJTGlnaHRuaW5nO1xuICBzaWduTWVzc2FnZShwYXJhbXM6IFdhbGxldFNpZ25NZXNzYWdlT3B0aW9ucyk6IFByb21pc2U8U2lnbmVkTWVzc2FnZT47XG4gIHNpZ25UeXBlZERhdGEocGFyYW1zOiBXYWxsZXRTaWduVHlwZWREYXRhT3B0aW9ucyk6IFByb21pc2U8U2lnbmVkTWVzc2FnZT47XG4gIGZldGNoQ3Jvc3NDaGFpblVUWE9zKHBhcmFtczogRmV0Y2hDcm9zc0NoYWluVVRYT3NPcHRpb25zKTogUHJvbWlzZTxDcm9zc0NoYWluVVRYT1tdPjtcbiAgZ2V0Q2hhbGxlbmdlc0ZvckVjZHNhU2lnbmluZygpOiBQcm9taXNlPFdhbGxldEVjZHNhQ2hhbGxlbmdlcz47XG59XG4iXX0=
|
|
@@ -694,11 +694,17 @@ export declare class Wallet implements IWallet {
|
|
|
694
694
|
*/
|
|
695
695
|
private prebuildTransactionTss;
|
|
696
696
|
/**
|
|
697
|
-
* Signs a transaction from a TSS wallet using external signer.
|
|
697
|
+
* Signs a transaction from a TSS EdDSA wallet using external signer.
|
|
698
698
|
*
|
|
699
699
|
* @param params signing options
|
|
700
700
|
*/
|
|
701
701
|
private signTransactionTssExternalSignerEdDSA;
|
|
702
|
+
/**
|
|
703
|
+
* Signs a transaction from a TSS ECDSA wallet using external signer.
|
|
704
|
+
*
|
|
705
|
+
* @param params signing options
|
|
706
|
+
*/
|
|
707
|
+
private signTransactionTssExternalSignerECDSA;
|
|
702
708
|
/**
|
|
703
709
|
* Signs a transaction from a TSS wallet.
|
|
704
710
|
*
|