@bitgo-beta/sdk-core 8.2.1-beta.1702 → 8.2.1-beta.1704
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/tss/bitgoPubKeys.d.ts +11 -0
- package/dist/src/bitgo/tss/bitgoPubKeys.d.ts.map +1 -1
- package/dist/src/bitgo/tss/bitgoPubKeys.js +15 -1
- package/dist/src/bitgo/utils/opengpgUtils.d.ts +1 -0
- package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/opengpgUtils.js +11 -2
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +7 -2
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTSSUtils.js +16 -6
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts +1 -0
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTypes.js +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +3 -2
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +5 -2
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.js +7 -5
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -8
|
@@ -20,8 +20,19 @@ export declare const bitgoMpcGpgPubKeys: {
|
|
|
20
20
|
prod: string;
|
|
21
21
|
};
|
|
22
22
|
};
|
|
23
|
+
eddsaMpcv2: {
|
|
24
|
+
nitro: {
|
|
25
|
+
test: string;
|
|
26
|
+
prod: string;
|
|
27
|
+
};
|
|
28
|
+
onprem: {
|
|
29
|
+
test: string;
|
|
30
|
+
prod: string;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
23
33
|
};
|
|
24
34
|
export declare function getBitgoMpcGpgPubKey(env: EnvironmentName, pubKeyType: 'nitro' | 'onprem', mpcVersion: 'mpcv1' | 'mpcv2'): string;
|
|
25
35
|
export declare function isBitgoMpcPubKey(key: string, mpcvVersion: 'mpcv1' | 'mpcv2'): boolean;
|
|
36
|
+
export declare function isBitgoEddsaMpcv2PubKey(key: string): boolean;
|
|
26
37
|
export declare function envRequiresBitgoPubGpgKeyConfig(env: EnvironmentName): boolean;
|
|
27
38
|
//# sourceMappingURL=bitgoPubKeys.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitgoPubKeys.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/tss/bitgoPubKeys.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"bitgoPubKeys.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/tss/bitgoPubKeys.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B9B,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,eAAe,EACpB,UAAU,EAAE,OAAO,GAAG,QAAQ,EAC9B,UAAU,EAAE,OAAO,GAAG,OAAO,GAC5B,MAAM,CA2BR;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAErF;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAE7E"}
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.bitgoMpcGpgPubKeys = void 0;
|
|
7
7
|
exports.getBitgoMpcGpgPubKey = getBitgoMpcGpgPubKey;
|
|
8
8
|
exports.isBitgoMpcPubKey = isBitgoMpcPubKey;
|
|
9
|
+
exports.isBitgoEddsaMpcv2PubKey = isBitgoEddsaMpcv2PubKey;
|
|
9
10
|
exports.envRequiresBitgoPubGpgKeyConfig = envRequiresBitgoPubGpgKeyConfig;
|
|
10
11
|
const assert_1 = __importDefault(require("assert"));
|
|
11
12
|
exports.bitgoMpcGpgPubKeys = {
|
|
@@ -29,6 +30,16 @@ exports.bitgoMpcGpgPubKeys = {
|
|
|
29
30
|
prod: '-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nxk8EZmHyKBMFK4EEAAoCAwS+tBY/2P47G0mgYRhq90jK475f02f3f3W4VbKA\nSwd9s6aI5spk7GeYsjRvP6rBf4vFIjLj7Ty7K2V03rZPQc8bzQVCaXRHb8KE\nBBMTCAA2BQJmYfIpAgsJCRAKMB4ATA5V7QIVCAIWAAIbAwIeARYhBAIdflLB\nK4deHok+gQowHgBMDlXtAACRpAD/UUbTsFEkjt+CCJmVq2v5l6oocR9hXXkT\nzhRQKQIwSigA/RVvS2RsoZLkaL68GUHLy63XVHtG149pN3BYPwb63EcQwoQE\nEBMIADYFAmZh8ioCCwkJEFlh2DLM6IVNAhUIAhYAAhsDAh4BFiEEsb9f1VA0\n9rOLgFM+WWHYMszohU0AAFC8AP4wH0ndmzCSg2O/a+ZfqW2yA465BFvDM1ij\nvMtCJYSxzAD/RjcfDfkN4Ipjaa2LRuHxfHZbvgCgoOChsJLv4KQLTafOUwRm\nYfIoEgUrgQQACgIDBM+W01KEUaAm8a3hMBWG9EShyNrZxbtv9ryd8JIIxeEb\nEckLTVQvIer3YvDUyjeY/v83VCRdm6H5cahV92sydrIDAQgHwoQEGBMIADYF\nAmZh8ikCCwkJEAowHgBMDlXtAhUIAhYAAhsMAh4BFiEEAh1+UsErh14eiT6B\nCjAeAEwOVe0AAEcSAP9H96t/z9uKe9lAoq2d9Dt3Hrq9eM6sLQ2+cVblngP+\nDQD/dCqHYQzDdsuc9Y3HmWbhCK1Um6ewppkct1v5lmbaJ1bOTwRmYfIoEwUr\ngQQACgIDBJDIofWOLj/JkBFkZDh3a++LNEH8TBNlDZvU7tNfURXWApxV2VAb\nFBKYddN03Q1SBpMR0GkPl42rH7whYdeaEBHCwEoEGBMIALwFAmZh8ioCCwkJ\nEAowHgBMDlXtAhUIAhYAAhsCAh4BhSAEGBMIADYFAmZh8ioCCwkJEGAfBsMT\nFzVjAhUIAhYAAhsCAh4BFiEE2zAGHSaLnswqIvBrYB8GwxMXNWMAANroAP0f\ntFPumKFwQrCf7OMHQWsesrQYpKT6Z65VbewBoGaGigD/UkeeygTtlyzTV2YF\nNAjWAzaQtXWmmzRgnOj0IKub39MWIQQCHX5SwSuHXh6JPoEKMB4ATA5V7QAA\nTjMA/jDSVXJNblr/kSLNFTordgDjKP0nN1aElvFUFh/QEVT0AP9lmf2Fc/o7\nyYOGPPg4OvvU6odrTsuNgljvPqBlaCc2EA==\n=ZLkt\n-----END PGP PUBLIC KEY BLOCK-----\n',
|
|
30
31
|
},
|
|
31
32
|
},
|
|
33
|
+
eddsaMpcv2: {
|
|
34
|
+
nitro: {
|
|
35
|
+
test: '', // TODO WCI-205: add eddsaMpcv2 key for nitro
|
|
36
|
+
prod: '',
|
|
37
|
+
},
|
|
38
|
+
onprem: {
|
|
39
|
+
test: '-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nxjMEad+QCxYJKwYBBAHaRw8BAQdAG0FBM/1JRvo7KlLvhp1Mwi6IWmV3V9xy\nZZcByg0fDQ3NGGhzbSA8aHNtQHRlc3QuYml0Z28uY29tPsKEBBMWCgA2BYJp\n35AMAgsJCZCuV6d9sal31QIVCgIWAAKbAwIeARYhBKSiXcKo4xMT5wwfh65X\np32xqXfVAAA2sAEAgmk543UetoUoOoOvEAhOrRBbF4h6VwcH9cyR9UGSwygA\n/2KJJadiAvaepqFZxyE77rFM7ZfqhRMsoAc2MfslvuQMwoQEEBMIADYFgmnf\nkA0CCwkJkN2vJwOOuE03AhUKAhYAApsDAh4BFiEEjMSQwTRbUtG1fSvR3a8n\nA464TTcAANNVAQD1RTu/bJmPBRvWbvuIiuT1WUxYsSuoXWwki1YImN1gMAD+\nOPU+v056hkdoD8Rcd8D+HhoNlJAbRbZWg/qjxr+S6lLOOARp35AMEgorBgEE\nAZdVAQUBAQdAgqwA9UhQGuseztLr2ZM189pBjrW6sAJ5m6icDYOWMHEDAQgH\nwoUEGBYKADcFgmnfkAwCCwkJkK5Xp32xqXfVAhUKAhYAA5sECAIeARYhBKSi\nXcKo4xMT5wwfh65Xp32xqXfVAAC4uwEAlkVzGDPJYETIV4pXYpCdaeGLBjm9\ny1sRb2nx9ET7m+4BANpb0vKKBrKZTAx/+rINgWoxKPnKPsycOE8bYHY3zKAN\nzjMEad+QDBYJKwYBBAHaRw8BAQdAanwKEY5QEAPafbhM5/BIJZRyLmyNpBTo\ntntTIq0nOt/CwEoEGBYKALwFgmnfkA0CCwkJkK5Xp32xqXfVAhUKAhYAApsC\nAh4BhaAEGBYKADYFgmnfkA0CCwkJkAuXAU6A6KYvAhUKAhYAApsCAh4BFiEE\neaGtxZYsjWFFYrD6C5cBToDopi8AAEp3AQCP4bCSYbhjNJfGnCCOq24DaozR\nUFg0hNlpfSA9NYZ3bwD/fdtV5m5a1QyvcyGEnv37l1H7UGbQlG1Zp8roqZh3\nqwMWIQSkol3CqOMTE+cMH4euV6d9sal31QAAMegA/i3sBuAwvrBsp8ozp7O2\nzQlIbjuvDBMomIXj1rRmgoOkAQDRqsQpAvITd0LMFN2dCqCBIGAeIqznFX0C\nyqvU0m8sCQ==\n=/R3k\n-----END PGP PUBLIC KEY BLOCK-----\n',
|
|
40
|
+
prod: '', // TODO WCI-142: add prod eddsaMpcv2 key
|
|
41
|
+
},
|
|
42
|
+
},
|
|
32
43
|
};
|
|
33
44
|
function getBitgoMpcGpgPubKey(env, pubKeyType, mpcVersion) {
|
|
34
45
|
(0, assert_1.default)(mpcVersion in exports.bitgoMpcGpgPubKeys, `Invalid mpcVersion in getBitgoMpcGpgPubKey, got: ${mpcVersion}, expected: mpcv1 or mpcv2`);
|
|
@@ -55,7 +66,10 @@ function getBitgoMpcGpgPubKey(env, pubKeyType, mpcVersion) {
|
|
|
55
66
|
function isBitgoMpcPubKey(key, mpcvVersion) {
|
|
56
67
|
return Object.values(exports.bitgoMpcGpgPubKeys[mpcvVersion]).some((envKeys) => Object.values(envKeys).includes(key));
|
|
57
68
|
}
|
|
69
|
+
function isBitgoEddsaMpcv2PubKey(key) {
|
|
70
|
+
return Object.values(exports.bitgoMpcGpgPubKeys.eddsaMpcv2).some((envKeys) => Object.values(envKeys).includes(key));
|
|
71
|
+
}
|
|
58
72
|
function envRequiresBitgoPubGpgKeyConfig(env) {
|
|
59
73
|
return env === 'prod' || env === 'test' || env === 'staging' || env === 'adminProd' || env === 'adminTest';
|
|
60
74
|
}
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0Z29QdWJLZXlzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3Rzcy9iaXRnb1B1YktleXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBMEJBLG9EQStCQztBQUVELDRDQUVDO0FBRUQsMEVBRUM7QUFqRUQsb0RBQTRCO0FBR2YsUUFBQSxrQkFBa0IsR0FBRztJQUNoQyxLQUFLLEVBQUU7UUFDTCxLQUFLLEVBQUU7WUFDTCxJQUFJLEVBQUUsbTJCQUFtMkI7WUFDejJCLElBQUksRUFBRSxtMUJBQW0xQjtTQUMxMUI7UUFDRCxNQUFNLEVBQUU7WUFDTixJQUFJLEVBQUUsbTJCQUFtMkI7WUFDejJCLElBQUksRUFBRSxxcUJBQXFxQjtTQUM1cUI7S0FDRjtJQUNELEtBQUssRUFBRTtRQUNMLEtBQUssRUFBRTtZQUNMLElBQUksRUFBRSwyMkNBQTIyQztZQUNqM0MsSUFBSSxFQUFFLEVBQUU7U0FDVDtRQUNELE1BQU0sRUFBRTtZQUNOLElBQUksRUFBRSwyMkNBQTIyQztZQUNqM0MsSUFBSSxFQUFFLG0xQ0FBbTFDO1NBQzExQztLQUNGO0NBQ0YsQ0FBQztBQUVGLFNBQWdCLG9CQUFvQixDQUNsQyxHQUFvQixFQUNwQixVQUE4QixFQUM5QixVQUE2QjtJQUU3QixJQUFBLGdCQUFNLEVBQ0osVUFBVSxJQUFJLDBCQUFrQixFQUNoQyxvREFBb0QsVUFBVSw0QkFBNEIsQ0FDM0YsQ0FBQztJQUNGLElBQUEsZ0JBQU0sRUFDSixVQUFVLElBQUksMEJBQWtCLENBQUMsVUFBVSxDQUFDLEVBQzVDLG9EQUFvRCxVQUFVLDZCQUE2QixDQUM1RixDQUFDO0lBQ0YsSUFBSSxHQUFHLEtBQUssTUFBTSxJQUFJLEdBQUcsS0FBSyxNQUFNLElBQUksR0FBRyxLQUFLLFNBQVMsSUFBSSxHQUFHLEtBQUssV0FBVyxJQUFJLEdBQUcsS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUN4RyxNQUFNLElBQUksS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUNELElBQUksR0FBRyxLQUFLLE1BQU0sSUFBSSxHQUFHLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDMUMsMENBQTBDO1FBQzFDLEdBQUcsR0FBRyxNQUFNLENBQUM7SUFDZixDQUFDO0lBQ0QsSUFBSSxHQUFHLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDeEIsR0FBRyxHQUFHLE1BQU0sQ0FBQztJQUNmLENBQUM7SUFDRCxJQUFJLFVBQVUsS0FBSyxPQUFPLElBQUksR0FBRyxLQUFLLE1BQU0sSUFBSSxVQUFVLEtBQUssT0FBTyxFQUFFLENBQUM7UUFDdkUsTUFBTSxJQUFJLEtBQUssQ0FBQyxzRUFBc0UsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFDRCxJQUFJLFVBQVUsS0FBSyxPQUFPLEVBQUUsQ0FBQztRQUMzQixvQ0FBb0M7UUFDcEMsVUFBVSxHQUFHLFFBQVEsQ0FBQztJQUN4QixDQUFDO0lBQ0QsT0FBTywwQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN6RCxDQUFDO0FBRUQsU0FBZ0IsZ0JBQWdCLENBQUMsR0FBVyxFQUFFLFdBQThCO0lBQzFFLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQywwQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNoSCxDQUFDO0FBRUQsU0FBZ0IsK0JBQStCLENBQUMsR0FBb0I7SUFDbEUsT0FBTyxHQUFHLEtBQUssTUFBTSxJQUFJLEdBQUcsS0FBSyxNQUFNLElBQUksR0FBRyxLQUFLLFNBQVMsSUFBSSxHQUFHLEtBQUssV0FBVyxJQUFJLEdBQUcsS0FBSyxXQUFXLENBQUM7QUFDN0csQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCB7IEVudmlyb25tZW50TmFtZSB9IGZyb20gJy4uL2Vudmlyb25tZW50cyc7XG5cbmV4cG9ydCBjb25zdCBiaXRnb01wY0dwZ1B1YktleXMgPSB7XG4gIG1wY3YxOiB7XG4gICAgbml0cm86IHtcbiAgICAgIHRlc3Q6ICctLS0tLUJFR0lOIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG5cXG54azhFWXFFVTVoTUZLNEVFQUFvQ0F3UURkYkFJWnJzYmxFWElhdnlnMmdvNnA5b0cwU3FXVGdGc2RIVGNcXG5CaHFkSVMvV2pROHBqNzVxK3ZMcUZ0VjlobEltWUdJbnNJV2g5N2ZzaWd6QjJvd3l6UmhvYzIwZ1BHaHpcXG5iVUIwWlhOMExtSnBkR2R2TG1OdmJUN0NoQVFURXdnQUZRVUNZcUVVNXdJTENRSVZDQUlXQUFJYkF3SWVcXG5BUUFoQ1JDSk5Sc0lER3VuZXhZaEJIUkw1RC84blJNM29wUW5Yb2sxR3dnTWE2ZDd0ZzhBLzI0QTlhd3FcXG5TQ0p4N1JkZGlVekZIY0toVnZ2bzNSNU43YkhhT0dQM1RQNzlBUDBUYXZGMld6aFVYbVpTanQzSUsyM09cXG43L2FrbmJpalZlcTUyZ2hiV2IxU3dzSjFCQkFUQ0FBR0JRSmlvUlRuQUNFSkVBV3VBMzVLSmd0Z0ZpRUVcXG5adHRMUFIwS2NZdmpndkpDQmE0RGZrb21DMkJzcndEL1orNDN6T3crV3BmUEh4ZSt5cHlWb2c1Zm5PS2xcXG5Yd2xlSDZ6RHZxVVdtV2tBL2lhSEM2dWxsWWtTRzRNdjY4azZxYnRnUi9wbXMvWDdya2ZhMFFRRkp5NXBcXG56bE1FWXFFVTVoSUZLNEVFQUFvQ0F3U3NMcW1mb25qTUYzbzBuWjVKSHZMcG1mVEExUklWRHNBRW9ST05cXG50WkE2ckFBMjNwR2w2czNJeXQ0L2ZYOUFkem9oM0VFbE9qTXNnaThBajNkRnB1cWlBd0VJQjhKNEJCZ1RcXG5DQUFKQlFKaW9SVG5BaHNNQUNFSkVJazFHd2dNYTZkN0ZpRUVkRXZrUC95ZEV6ZWlsQ2RlaVRVYkNBeHJcXG5wM3ZNN0FEOUdQcDZIaFlORWgyVlZDRHRGU3QxNEJuaTVGVk01aWNwVkRvNnc5aWJ2V0FBLzJUaTNKdjRcXG5JaEl4bDgxL3dxQWdxaWdJYmxyejZ2anRhZ3I5L3lrWFFDVzNcXG49c2tDb1xcbi0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG4nLFxuICAgICAgcHJvZDogJy0tLS0tQkVHSU4gUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcblxcbnhrOEVZNG02WkJNRks0RUVBQW9DQXdSU1R3ZFhnaVkrRUJOajJKZ056aXNVeWdjVkdWeHAxRnYrcFQ2NFxcblRzSjY0eTlGcjVoOWxqcU1Jc21NME1XbjloY3pwbWRBRUhwa1NnMjY0d0FQTmNJV3pRdENhWFJIYnlCT1xcbmFYUnliOEtFQkJNVENBQTJCUUpqaWJwbUFnc0pDUkRIZ3ZyV3F4NjVId0lWQ0FJV0FBSWJBd0llQVJZaFxcbkJMZ256STlDbjZVYW1ObEoyTWVDK3Rhckhya2ZBQUJFd2dEL1cwK0xYcEhFTXRTblNoZjdyU2c3dFFmR1xcbjFCYjZiZTJZMXV0ZCthdWovRWNBL2pHSk84TXRlanhjVkdCcEgvWnJPREwrRDB5Uy9JMllEM252ZUx0RFxcbkQ1ejN3blVFRUJNSUFDY0ZBbU9KdW1rSkVIdVMxdm9BZDVmSkZpRUUxWHhiZmJicjV6TEdxTko3ZTVMV1xcbitnQjNsOGtBQVB0bUFQMFdablcvY2dHQ1d6RzFOWWJBVTFzSlV3WWRzcE0xV0RMQnlqbW81SmtDclFEK1xcbk9LLzZVOHp2bVFFY29PcTBZWEFyaGIreVdRRERIREVrTHhScHRCK0tPOG5PVXdSamlicGtFZ1VyZ1FRQVxcbkNnSURCT1V2bi9vTktabmpFTXRuQWJCNmhvb3M4dkRmOG1xeUlidEdSakRpbDFUM3QxOXEyS2U2eEZGb1xcbkorVTJ3NGd0RnhqREVSOGlnYXMramE0UDN1N0VGbE1EQVFnSHduZ0VHQk1JQUNvRkFtT0p1bWdKRU1lQ1xcbit0YXJIcmtmQWhzTUZpRUV1Q2ZNajBLZnBScVkyVW5ZeDRMNjFxc2V1UjhBQU5IUEFQOTZsdndHVDNBMFxcbk5OejFXQXIrU24xM21SM2s4YXJmZXFjdloxRkNtaW9Nb2dEOUd6SklhSmxiQWJkc1JCNFFuTGtSY0tKT1xcbm5NSDEzUEtxOXFNNnRnNFVRRk09XFxuPVNEMGhcXG4tLS0tLUVORCBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tXFxuJyxcbiAgICB9LFxuICAgIG9ucHJlbToge1xuICAgICAgdGVzdDogJy0tLS0tQkVHSU4gUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcblxcbnhrOEVZcUVVNWhNRks0RUVBQW9DQXdRRGRiQUlacnNibEVYSWF2eWcyZ282cDlvRzBTcVdUZ0ZzZEhUY1xcbkJocWRJUy9XalE4cGo3NXErdkxxRnRWOWhsSW1ZR0luc0lXaDk3ZnNpZ3pCMm93eXpSaG9jMjBnUEdoelxcbmJVQjBaWE4wTG1KcGRHZHZMbU52YlQ3Q2hBUVRFd2dBRlFVQ1lxRVU1d0lMQ1FJVkNBSVdBQUliQXdJZVxcbkFRQWhDUkNKTlJzSURHdW5leFloQkhSTDVELzhuUk0zb3BRblhvazFHd2dNYTZkN3RnOEEvMjRBOWF3cVxcblNDSng3UmRkaVV6RkhjS2hWdnZvM1I1TjdiSGFPR1AzVFA3OUFQMFRhdkYyV3poVVhtWlNqdDNJSzIzT1xcbjcvYWtuYmlqVmVxNTJnaGJXYjFTd3NKMUJCQVRDQUFHQlFKaW9SVG5BQ0VKRUFXdUEzNUtKZ3RnRmlFRVxcblp0dExQUjBLY1l2amd2SkNCYTREZmtvbUMyQnNyd0QvWis0M3pPdytXcGZQSHhlK3lweVZvZzVmbk9LbFxcblh3bGVINnpEdnFVV21Xa0EvaWFIQzZ1bGxZa1NHNE12NjhrNnFidGdSL3Btcy9YN3JrZmEwUVFGSnk1cFxcbnpsTUVZcUVVNWhJRks0RUVBQW9DQXdTc0xxbWZvbmpNRjNvMG5aNUpIdkxwbWZUQTFSSVZEc0FFb1JPTlxcbnRaQTZyQUEyM3BHbDZzM0l5dDQvZlg5QWR6b2gzRUVsT2pNc2dpOEFqM2RGcHVxaUF3RUlCOEo0QkJnVFxcbkNBQUpCUUppb1JUbkFoc01BQ0VKRUlrMUd3Z01hNmQ3RmlFRWRFdmtQL3lkRXplaWxDZGVpVFViQ0F4clxcbnAzdk03QUQ5R1BwNkhoWU5FaDJWVkNEdEZTdDE0Qm5pNUZWTTVpY3BWRG82dzlpYnZXQUEvMlRpM0p2NFxcbkloSXhsODEvd3FBZ3FpZ0libHJ6NnZqdGFncjkveWtYUUNXM1xcbj1za0NvXFxuLS0tLS1FTkQgUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcbicsXG4gICAgICBwcm9kOiAnLS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tXFxuXFxueGs4RVlxS0tRUk1GSzRFRUFBb0NBd1JPV0piSDNVQ1BkWlRQRUpYcFBaY2t0d3RESndpbDRRSGxYWkVMXFxuY1ViRkVUYm9xL2NZMjJ3K3VHMElsUnlwZGJvNitzRHVhZWczZGZqYTJpb3E2VHRKelFWQ2FYUkhiOEtFXFxuQkJNVENBQVZCUUppb29wREFnc0pBaFVJQWhZQUFoc0RBaDRCQUNFSkVGWE9NalphdDV2TUZpRUVGWVMvXFxuWHZkaHQ4aU10bXlQVmM0eU5scTNtOHltMUFEK1A5Y2xFM2tqNzY0WW1ySERPY1JQbC8rdFgyQ29VRDByXFxuYmRTWXlKeWZDd0FBL0FzMEYwVUZiUHpseFBTYVpoVi9qUXhCK1BzRjRMVml3RGRoNFY0cFV0bjl6bE1FXFxuWXFLS1FSSUZLNEVFQUFvQ0F3UWg1d0JyT2t0cUplNEc1c2JTT2R5dzFybjEvMUV2a080aGo4UjRDM1VBXFxuSzdBcHo1OTlYYmk2anQzcEQycmhkdUwxRm5TNXpoemlZU0Jra28vQjJJdzhBd0VJQjhKNEJCZ1RDQUFKXFxuQlFKaW9vcEVBaHNNQUNFSkVGWE9NalphdDV2TUZpRUVGWVMvWHZkaHQ4aU10bXlQVmM0eU5scTNtOHltXFxuVndEOER3S2RkZlpHK1ZnUXRYcnpoNTIzUndrMGpsK0V3ZGNWMmg2QWlLb1YvM0FBL2pWK3lTMytLVEhrXFxuNlE4OVRHUjJRZnRwY2t3Y1VUS09OOXB1R2U5K3VsYW5cXG49T3FadVxcbi0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG4nLFxuICAgIH0sXG4gIH0sXG4gIG1wY3YyOiB7XG4gICAgbml0cm86IHtcbiAgICAgIHRlc3Q6ICctLS0tLUJFR0lOIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG5cXG54azhFWmlGM0NCTUZLNEVFQUFvQ0F3UVdEN1BhNzUyZkFsNHowUHhmV1ZDMDVkODl2Zm84MFB5VVEzRXJcXG5MWGxoR0xraWsrTmtBbC9EQmQ4ZGlON2k0a1R2Um9JbzB4ckhVK2xaZ2RndCtjdDV6UmhvYzIwZ1BHaHpcXG5iVUIwWlhOMExtSnBkR2R2TG1OdmJUN0NoQVFURXdnQU5nVUNaaUYzQ0FJTENRa1E1eWN1ZXpiYlZPa0NcXG5GUWdDRmdBQ0d3TUNIZ0VXSVFSUHI2R05pRTd0UnYwcDRhZm5KeTU3TnR0VTZRQUFiQVlBK3dSdlNMT2FcXG5lMGlSRU94MDBIaFlXUDAzMEdoTjk4QmNadGVoVDlpVFpNVjhBUDk3T3RrcnRxNmpieTJmN1BkRVY3dXZcXG5kNGFpa1RhNUJnbnBLdmw4eXFMNGNjS0VCQkFUQ0FBMkJRSm1JWGNLQWdzSkNSQ1pSQmZjaDVNVWN3SVZcXG5DQUlXQUFJYkF3SWVBUlloQkFtWEJTMFRZRXZtQy8zTDlKbEVGOXlIa3hSekFBQkoxd0QrS3lJMWo5bnVcXG5ZV3ZEeHdEQitKQkdNdDdtaWM3N2FqQk9nYUNhYkVaMGoxTUEvMlJDT2lWMmNPTDN4MUFPem9zcW9mc2hcXG5pQTFzOUJwUzE0eEF3cktKUHdZK3psTUVaaUYzQ0JJRks0RUVBQW9DQXdTZ0xzNjBrTHpoSEQzbzFzRGdcXG4wZlEvUUh3NmhncTlQUTVMdmlsVXZ1SUdZRFI3OXNQd3JNdXd5N3dVY09RZ0p2d0lPSkhvbW1EcTVuaitcXG5LZmdBdEU2dUF3RUlCOEtFQkJnVENBQTJCUUptSVhjSkFnc0pDUkRuSnk1N050dFU2UUlWQ0FJV0FBSWJcXG5EQUllQVJZaEJFK3ZvWTJJVHUxRy9TbmhwK2NuTG5zMjIxVHBBQURXbVFEL2JWOXNCa3d5WWZZZkpZVFNcXG5xdlRtdWJDZXNRRFk1UmFudjl3WXZ2N1JpTFFBL2l3WDZaSHdkYnZRRlZ1aTBHcnZWMmlGYUNIdXQxcG5cXG5GNFlDRHFwVUtpZHd6azhFWmlGM0NCTUZLNEVFQUFvQ0F3VGZtL0haeHd2dWJQL3JyMktPVTg4bWtETDlcXG5qY1dqZlF4MXVGWjltbElnTUJWMysrT2d0a1ZFMGVFZStsTldwd2drc0dPR3JCV2VRM0swWFJGMFlsVXBcXG53c0JLQkJnVENBQzhCUUptSVhjSkFnc0pDUkRuSnk1N050dFU2UUlWQ0FJV0FBSWJBZ0llQVlVZ0JCZ1RcXG5DQUEyQlFKbUlYY0pBZ3NKQ1JCckVNVHEyb09ZaGdJVkNBSVdBQUliQWdJZUFSWWhCTEZnMXpJY3dBbWNcXG5SaEdkT21zUXhPcmFnNWlHQUFBeG9BRC9ZTlBoTW1mM2w0UWg3ZnBya21Pam9VMEN2RmlpUCtrY3hUcjlcXG5tOWx1VmhVQS9SdmhJQjRzcXJBY1NEN1pHVklRY0VJMTRyZEFGZW9rNEhpZ3oyY0dmOVI2RmlFRVQ2K2hcXG5qWWhPN1ViOUtlR241eWN1ZXpiYlZPa0FBUG5hQVAwZFlweWE3RXp2TjVRNlJwSXpxTEZOOWl6eUd0NFFcXG42a2Vac3ZuVmJXOXFKQUQ5Rmo3dEFBTVViYnN0ei9LeDlSWThxb0lPRlR1U3dhZURYbkpNckk5djg0dz1cXG49dXpWQlxcbi0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG4nLFxuICAgICAgcHJvZDogJycsXG4gICAgfSxcbiAgICBvbnByZW06IHtcbiAgICAgIHRlc3Q6ICctLS0tLUJFR0lOIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG5cXG54azhFWmlGM0NCTUZLNEVFQUFvQ0F3UVdEN1BhNzUyZkFsNHowUHhmV1ZDMDVkODl2Zm84MFB5VVEzRXJcXG5MWGxoR0xraWsrTmtBbC9EQmQ4ZGlON2k0a1R2Um9JbzB4ckhVK2xaZ2RndCtjdDV6UmhvYzIwZ1BHaHpcXG5iVUIwWlhOMExtSnBkR2R2TG1OdmJUN0NoQVFURXdnQU5nVUNaaUYzQ0FJTENRa1E1eWN1ZXpiYlZPa0NcXG5GUWdDRmdBQ0d3TUNIZ0VXSVFSUHI2R05pRTd0UnYwcDRhZm5KeTU3TnR0VTZRQUFiQVlBK3dSdlNMT2FcXG5lMGlSRU94MDBIaFlXUDAzMEdoTjk4QmNadGVoVDlpVFpNVjhBUDk3T3RrcnRxNmpieTJmN1BkRVY3dXZcXG5kNGFpa1RhNUJnbnBLdmw4eXFMNGNjS0VCQkFUQ0FBMkJRSm1JWGNLQWdzSkNSQ1pSQmZjaDVNVWN3SVZcXG5DQUlXQUFJYkF3SWVBUlloQkFtWEJTMFRZRXZtQy8zTDlKbEVGOXlIa3hSekFBQkoxd0QrS3lJMWo5bnVcXG5ZV3ZEeHdEQitKQkdNdDdtaWM3N2FqQk9nYUNhYkVaMGoxTUEvMlJDT2lWMmNPTDN4MUFPem9zcW9mc2hcXG5pQTFzOUJwUzE0eEF3cktKUHdZK3psTUVaaUYzQ0JJRks0RUVBQW9DQXdTZ0xzNjBrTHpoSEQzbzFzRGdcXG4wZlEvUUh3NmhncTlQUTVMdmlsVXZ1SUdZRFI3OXNQd3JNdXd5N3dVY09RZ0p2d0lPSkhvbW1EcTVuaitcXG5LZmdBdEU2dUF3RUlCOEtFQkJnVENBQTJCUUptSVhjSkFnc0pDUkRuSnk1N050dFU2UUlWQ0FJV0FBSWJcXG5EQUllQVJZaEJFK3ZvWTJJVHUxRy9TbmhwK2NuTG5zMjIxVHBBQURXbVFEL2JWOXNCa3d5WWZZZkpZVFNcXG5xdlRtdWJDZXNRRFk1UmFudjl3WXZ2N1JpTFFBL2l3WDZaSHdkYnZRRlZ1aTBHcnZWMmlGYUNIdXQxcG5cXG5GNFlDRHFwVUtpZHd6azhFWmlGM0NCTUZLNEVFQUFvQ0F3VGZtL0haeHd2dWJQL3JyMktPVTg4bWtETDlcXG5qY1dqZlF4MXVGWjltbElnTUJWMysrT2d0a1ZFMGVFZStsTldwd2drc0dPR3JCV2VRM0swWFJGMFlsVXBcXG53c0JLQkJnVENBQzhCUUptSVhjSkFnc0pDUkRuSnk1N050dFU2UUlWQ0FJV0FBSWJBZ0llQVlVZ0JCZ1RcXG5DQUEyQlFKbUlYY0pBZ3NKQ1JCckVNVHEyb09ZaGdJVkNBSVdBQUliQWdJZUFSWWhCTEZnMXpJY3dBbWNcXG5SaEdkT21zUXhPcmFnNWlHQUFBeG9BRC9ZTlBoTW1mM2w0UWg3ZnBya21Pam9VMEN2RmlpUCtrY3hUcjlcXG5tOWx1VmhVQS9SdmhJQjRzcXJBY1NEN1pHVklRY0VJMTRyZEFGZW9rNEhpZ3oyY0dmOVI2RmlFRVQ2K2hcXG5qWWhPN1ViOUtlR241eWN1ZXpiYlZPa0FBUG5hQVAwZFlweWE3RXp2TjVRNlJwSXpxTEZOOWl6eUd0NFFcXG42a2Vac3ZuVmJXOXFKQUQ5Rmo3dEFBTVViYnN0ei9LeDlSWThxb0lPRlR1U3dhZURYbkpNckk5djg0dz1cXG49dXpWQlxcbi0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG4nLFxuICAgICAgcHJvZDogJy0tLS0tQkVHSU4gUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcblxcbnhrOEVabUh5S0JNRks0RUVBQW9DQXdTK3RCWS8yUDQ3RzBtZ1lSaHE5MGpLNDc1ZjAyZjNmM1c0VmJLQVxcblN3ZDlzNmFJNXNwazdHZVlzalJ2UDZyQmY0dkZJakxqN1R5N0syVjAzclpQUWM4YnpRVkNhWFJIYjhLRVxcbkJCTVRDQUEyQlFKbVlmSXBBZ3NKQ1JBS01CNEFUQTVWN1FJVkNBSVdBQUliQXdJZUFSWWhCQUlkZmxMQlxcbks0ZGVIb2srZ1Fvd0hnQk1EbFh0QUFDUnBBRC9VVWJUc0ZFa2p0K0NDSm1WcTJ2NWw2b29jUjloWFhrVFxcbnpoUlFLUUl3U2lnQS9SVnZTMlJzb1pMa2FMNjhHVUhMeTYzWFZIdEcxNDlwTjNCWVB3YjYzRWNRd29RRVxcbkVCTUlBRFlGQW1aaDhpb0NDd2tKRUZsaDJETE02SVZOQWhVSUFoWUFBaHNEQWg0QkZpRUVzYjlmMVZBMFxcbjlyT0xnRk0rV1dIWU1zem9oVTBBQUZDOEFQNHdIMG5kbXpDU2cyTy9hK1pmcVcyeUE0NjVCRnZETTFpalxcbnZNdENKWVN4ekFEL1JqY2ZEZmtONElwamFhMkxSdUh4ZkhaYnZnQ2dvT0Noc0pMdjRLUUxUYWZPVXdSbVxcbllmSW9FZ1VyZ1FRQUNnSURCTStXMDFLRVVhQW04YTNoTUJXRzlFU2h5TnJaeGJ0djlyeWQ4SklJeGVFYlxcbkVja0xUVlF2SWVyM1l2RFV5amVZL3Y4M1ZDUmRtNkg1Y2FoVjkyc3lkcklEQVFnSHdvUUVHQk1JQURZRlxcbkFtWmg4aWtDQ3drSkVBb3dIZ0JNRGxYdEFoVUlBaFlBQWhzTUFoNEJGaUVFQWgxK1VzRXJoMTRlaVQ2QlxcbkNqQWVBRXdPVmUwQUFFY1NBUDlIOTZ0L3o5dUtlOWxBb3EyZDlEdDNIcnE5ZU02c0xRMitjVmJsbmdQK1xcbkRRRC9kQ3FIWVF6RGRzdWM5WTNIbVdiaENLMVVtNmV3cHBrY3QxdjVsbWJhSjFiT1R3Um1ZZklvRXdVclxcbmdRUUFDZ0lEQkpESW9mV09Mai9Ka0JGa1pEaDNhKytMTkVIOFRCTmxEWnZVN3ROZlVSWFdBcHhWMlZBYlxcbkZCS1lkZE4wM1ExU0JwTVIwR2tQbDQyckg3d2hZZGVhRUJIQ3dFb0VHQk1JQUx3RkFtWmg4aW9DQ3drSlxcbkVBb3dIZ0JNRGxYdEFoVUlBaFlBQWhzQ0FoNEJoU0FFR0JNSUFEWUZBbVpoOGlvQ0N3a0pFR0FmQnNNVFxcbkZ6VmpBaFVJQWhZQUFoc0NBaDRCRmlFRTJ6QUdIU2FMbnN3cUl2QnJZQjhHd3hNWE5XTUFBTnJvQVAwZlxcbnRGUHVtS0Z3UXJDZjdPTUhRV3Nlc3JRWXBLVDZaNjVWYmV3Qm9HYUdpZ0QvVWtlZXlnVHRseXpUVjJZRlxcbk5BaldBemFRdFhXbW16UmduT2owSUt1YjM5TVdJUVFDSFg1U3dTdUhYaDZKUG9FS01CNEFUQTVWN1FBQVxcblRqTUEvakRTVlhKTmJsci9rU0xORlRvcmRnRGpLUDBuTjFhRWx2RlVGaC9RRVZUMEFQOWxtZjJGYy9vN1xcbnlZT0dQUGc0T3Z2VTZvZHJUc3VOZ2xqdlBxQmxhQ2MyRUE9PVxcbj1aTGt0XFxuLS0tLS1FTkQgUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcbicsXG4gICAgfSxcbiAgfSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRCaXRnb01wY0dwZ1B1YktleShcbiAgZW52OiBFbnZpcm9ubWVudE5hbWUsXG4gIHB1YktleVR5cGU6ICduaXRybycgfCAnb25wcmVtJyxcbiAgbXBjVmVyc2lvbjogJ21wY3YxJyB8ICdtcGN2Midcbik6IHN0cmluZyB7XG4gIGFzc2VydChcbiAgICBtcGNWZXJzaW9uIGluIGJpdGdvTXBjR3BnUHViS2V5cyxcbiAgICBgSW52YWxpZCBtcGNWZXJzaW9uIGluIGdldEJpdGdvTXBjR3BnUHViS2V5LCBnb3Q6ICR7bXBjVmVyc2lvbn0sIGV4cGVjdGVkOiBtcGN2MSBvciBtcGN2MmBcbiAgKTtcbiAgYXNzZXJ0KFxuICAgIHB1YktleVR5cGUgaW4gYml0Z29NcGNHcGdQdWJLZXlzW21wY1ZlcnNpb25dLFxuICAgIGBJbnZhbGlkIHB1YktleVR5cGUgaW4gZ2V0Qml0Z29NcGNHcGdQdWJLZXksIGdvdDogJHtwdWJLZXlUeXBlfSwgZXhwZWN0ZWQ6IG5pdHJvIG9yIG9ucHJlbWBcbiAgKTtcbiAgaWYgKGVudiAhPT0gJ3Byb2QnICYmIGVudiAhPT0gJ3Rlc3QnICYmIGVudiAhPT0gJ3N0YWdpbmcnICYmIGVudiAhPT0gJ2FkbWluUHJvZCcgJiYgZW52ICE9PSAnYWRtaW5UZXN0Jykge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBlbnZpcm9ubWVudCB0byBnZXQgYSBCaXRHbyBNUEMgR1BHIHB1YmxpYyBrZXknKTtcbiAgfVxuICBpZiAoZW52ICE9PSAncHJvZCcgJiYgZW52ICE9PSAnYWRtaW5Qcm9kJykge1xuICAgIC8vIGRlZmF1bHQgdG8gdGVzdCBncGcga2V5cyBpZiBub3QgaW4gcHJvZFxuICAgIGVudiA9ICd0ZXN0JztcbiAgfVxuICBpZiAoZW52ID09PSAnYWRtaW5Qcm9kJykge1xuICAgIGVudiA9ICdwcm9kJztcbiAgfVxuICBpZiAocHViS2V5VHlwZSA9PT0gJ25pdHJvJyAmJiBlbnYgPT09ICdwcm9kJyAmJiBtcGNWZXJzaW9uID09PSAnbXBjdjInKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdOaXRybyBtcGN2MiBwdWIga2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gcHJvZHVjdGlvbiBlbnZpcm9ubWVudHMgeWV0LicpO1xuICB9XG4gIGlmIChwdWJLZXlUeXBlICE9PSAnbml0cm8nKSB7XG4gICAgLy8gVGhpcyB3aWxsIGJlIHRoZSBkZWZhdWx0IGtleSB0eXBlXG4gICAgcHViS2V5VHlwZSA9ICdvbnByZW0nO1xuICB9XG4gIHJldHVybiBiaXRnb01wY0dwZ1B1YktleXNbbXBjVmVyc2lvbl1bcHViS2V5VHlwZV1bZW52XTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQml0Z29NcGNQdWJLZXkoa2V5OiBzdHJpbmcsIG1wY3ZWZXJzaW9uOiAnbXBjdjEnIHwgJ21wY3YyJyk6IGJvb2xlYW4ge1xuICByZXR1cm4gT2JqZWN0LnZhbHVlcyhiaXRnb01wY0dwZ1B1YktleXNbbXBjdlZlcnNpb25dKS5zb21lKChlbnZLZXlzKSA9PiBPYmplY3QudmFsdWVzKGVudktleXMpLmluY2x1ZGVzKGtleSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZW52UmVxdWlyZXNCaXRnb1B1YkdwZ0tleUNvbmZpZyhlbnY6IEVudmlyb25tZW50TmFtZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gZW52ID09PSAncHJvZCcgfHwgZW52ID09PSAndGVzdCcgfHwgZW52ID09PSAnc3RhZ2luZycgfHwgZW52ID09PSAnYWRtaW5Qcm9kJyB8fCBlbnYgPT09ICdhZG1pblRlc3QnO1xufVxuIl19
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0Z29QdWJLZXlzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3Rzcy9iaXRnb1B1YktleXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBb0NBLG9EQStCQztBQUVELDRDQUVDO0FBRUQsMERBRUM7QUFFRCwwRUFFQztBQS9FRCxvREFBNEI7QUFHZixRQUFBLGtCQUFrQixHQUFHO0lBQ2hDLEtBQUssRUFBRTtRQUNMLEtBQUssRUFBRTtZQUNMLElBQUksRUFBRSxtMkJBQW0yQjtZQUN6MkIsSUFBSSxFQUFFLG0xQkFBbTFCO1NBQzExQjtRQUNELE1BQU0sRUFBRTtZQUNOLElBQUksRUFBRSxtMkJBQW0yQjtZQUN6MkIsSUFBSSxFQUFFLHFxQkFBcXFCO1NBQzVxQjtLQUNGO0lBQ0QsS0FBSyxFQUFFO1FBQ0wsS0FBSyxFQUFFO1lBQ0wsSUFBSSxFQUFFLDIyQ0FBMjJDO1lBQ2ozQyxJQUFJLEVBQUUsRUFBRTtTQUNUO1FBQ0QsTUFBTSxFQUFFO1lBQ04sSUFBSSxFQUFFLDIyQ0FBMjJDO1lBQ2ozQyxJQUFJLEVBQUUsbTFDQUFtMUM7U0FDMTFDO0tBQ0Y7SUFDRCxVQUFVLEVBQUU7UUFDVixLQUFLLEVBQUU7WUFDTCxJQUFJLEVBQUUsRUFBRSxFQUFFLDZDQUE2QztZQUN2RCxJQUFJLEVBQUUsRUFBRTtTQUNUO1FBQ0QsTUFBTSxFQUFFO1lBQ04sSUFBSSxFQUFFLDZ2Q0FBNnZDO1lBQ253QyxJQUFJLEVBQUUsRUFBRSxFQUFFLHdDQUF3QztTQUNuRDtLQUNGO0NBQ0YsQ0FBQztBQUVGLFNBQWdCLG9CQUFvQixDQUNsQyxHQUFvQixFQUNwQixVQUE4QixFQUM5QixVQUE2QjtJQUU3QixJQUFBLGdCQUFNLEVBQ0osVUFBVSxJQUFJLDBCQUFrQixFQUNoQyxvREFBb0QsVUFBVSw0QkFBNEIsQ0FDM0YsQ0FBQztJQUNGLElBQUEsZ0JBQU0sRUFDSixVQUFVLElBQUksMEJBQWtCLENBQUMsVUFBVSxDQUFDLEVBQzVDLG9EQUFvRCxVQUFVLDZCQUE2QixDQUM1RixDQUFDO0lBQ0YsSUFBSSxHQUFHLEtBQUssTUFBTSxJQUFJLEdBQUcsS0FBSyxNQUFNLElBQUksR0FBRyxLQUFLLFNBQVMsSUFBSSxHQUFHLEtBQUssV0FBVyxJQUFJLEdBQUcsS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUN4RyxNQUFNLElBQUksS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUNELElBQUksR0FBRyxLQUFLLE1BQU0sSUFBSSxHQUFHLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDMUMsMENBQTBDO1FBQzFDLEdBQUcsR0FBRyxNQUFNLENBQUM7SUFDZixDQUFDO0lBQ0QsSUFBSSxHQUFHLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDeEIsR0FBRyxHQUFHLE1BQU0sQ0FBQztJQUNmLENBQUM7SUFDRCxJQUFJLFVBQVUsS0FBSyxPQUFPLElBQUksR0FBRyxLQUFLLE1BQU0sSUFBSSxVQUFVLEtBQUssT0FBTyxFQUFFLENBQUM7UUFDdkUsTUFBTSxJQUFJLEtBQUssQ0FBQyxzRUFBc0UsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFDRCxJQUFJLFVBQVUsS0FBSyxPQUFPLEVBQUUsQ0FBQztRQUMzQixvQ0FBb0M7UUFDcEMsVUFBVSxHQUFHLFFBQVEsQ0FBQztJQUN4QixDQUFDO0lBQ0QsT0FBTywwQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN6RCxDQUFDO0FBRUQsU0FBZ0IsZ0JBQWdCLENBQUMsR0FBVyxFQUFFLFdBQThCO0lBQzFFLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQywwQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNoSCxDQUFDO0FBRUQsU0FBZ0IsdUJBQXVCLENBQUMsR0FBVztJQUNqRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsMEJBQWtCLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzlHLENBQUM7QUFFRCxTQUFnQiwrQkFBK0IsQ0FBQyxHQUFvQjtJQUNsRSxPQUFPLEdBQUcsS0FBSyxNQUFNLElBQUksR0FBRyxLQUFLLE1BQU0sSUFBSSxHQUFHLEtBQUssU0FBUyxJQUFJLEdBQUcsS0FBSyxXQUFXLElBQUksR0FBRyxLQUFLLFdBQVcsQ0FBQztBQUM3RyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnROYW1lIH0gZnJvbSAnLi4vZW52aXJvbm1lbnRzJztcblxuZXhwb3J0IGNvbnN0IGJpdGdvTXBjR3BnUHViS2V5cyA9IHtcbiAgbXBjdjE6IHtcbiAgICBuaXRybzoge1xuICAgICAgdGVzdDogJy0tLS0tQkVHSU4gUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcblxcbnhrOEVZcUVVNWhNRks0RUVBQW9DQXdRRGRiQUlacnNibEVYSWF2eWcyZ282cDlvRzBTcVdUZ0ZzZEhUY1xcbkJocWRJUy9XalE4cGo3NXErdkxxRnRWOWhsSW1ZR0luc0lXaDk3ZnNpZ3pCMm93eXpSaG9jMjBnUEdoelxcbmJVQjBaWE4wTG1KcGRHZHZMbU52YlQ3Q2hBUVRFd2dBRlFVQ1lxRVU1d0lMQ1FJVkNBSVdBQUliQXdJZVxcbkFRQWhDUkNKTlJzSURHdW5leFloQkhSTDVELzhuUk0zb3BRblhvazFHd2dNYTZkN3RnOEEvMjRBOWF3cVxcblNDSng3UmRkaVV6RkhjS2hWdnZvM1I1TjdiSGFPR1AzVFA3OUFQMFRhdkYyV3poVVhtWlNqdDNJSzIzT1xcbjcvYWtuYmlqVmVxNTJnaGJXYjFTd3NKMUJCQVRDQUFHQlFKaW9SVG5BQ0VKRUFXdUEzNUtKZ3RnRmlFRVxcblp0dExQUjBLY1l2amd2SkNCYTREZmtvbUMyQnNyd0QvWis0M3pPdytXcGZQSHhlK3lweVZvZzVmbk9LbFxcblh3bGVINnpEdnFVV21Xa0EvaWFIQzZ1bGxZa1NHNE12NjhrNnFidGdSL3Btcy9YN3JrZmEwUVFGSnk1cFxcbnpsTUVZcUVVNWhJRks0RUVBQW9DQXdTc0xxbWZvbmpNRjNvMG5aNUpIdkxwbWZUQTFSSVZEc0FFb1JPTlxcbnRaQTZyQUEyM3BHbDZzM0l5dDQvZlg5QWR6b2gzRUVsT2pNc2dpOEFqM2RGcHVxaUF3RUlCOEo0QkJnVFxcbkNBQUpCUUppb1JUbkFoc01BQ0VKRUlrMUd3Z01hNmQ3RmlFRWRFdmtQL3lkRXplaWxDZGVpVFViQ0F4clxcbnAzdk03QUQ5R1BwNkhoWU5FaDJWVkNEdEZTdDE0Qm5pNUZWTTVpY3BWRG82dzlpYnZXQUEvMlRpM0p2NFxcbkloSXhsODEvd3FBZ3FpZ0libHJ6NnZqdGFncjkveWtYUUNXM1xcbj1za0NvXFxuLS0tLS1FTkQgUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcbicsXG4gICAgICBwcm9kOiAnLS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tXFxuXFxueGs4RVk0bTZaQk1GSzRFRUFBb0NBd1JTVHdkWGdpWStFQk5qMkpnTnppc1V5Z2NWR1Z4cDFGditwVDY0XFxuVHNKNjR5OUZyNWg5bGpxTUlzbU0wTVduOWhjenBtZEFFSHBrU2cyNjR3QVBOY0lXelF0Q2FYUkhieUJPXFxuYVhSeWI4S0VCQk1UQ0FBMkJRSmppYnBtQWdzSkNSREhndnJXcXg2NUh3SVZDQUlXQUFJYkF3SWVBUlloXFxuQkxnbnpJOUNuNlVhbU5sSjJNZUMrdGFySHJrZkFBQkV3Z0QvVzArTFhwSEVNdFNuU2hmN3JTZzd0UWZHXFxuMUJiNmJlMlkxdXRkK2F1ai9FY0EvakdKTzhNdGVqeGNWR0JwSC9ack9ETCtEMHlTL0kyWUQzbnZlTHREXFxuRDV6M3duVUVFQk1JQUNjRkFtT0p1bWtKRUh1UzF2b0FkNWZKRmlFRTFYeGJmYmJyNXpMR3FOSjdlNUxXXFxuK2dCM2w4a0FBUHRtQVAwV1puVy9jZ0dDV3pHMU5ZYkFVMXNKVXdZZHNwTTFXRExCeWptbzVKa0NyUUQrXFxuT0svNlU4enZtUUVjb09xMFlYQXJoYit5V1FEREhERWtMeFJwdEIrS084bk9Vd1JqaWJwa0VnVXJnUVFBXFxuQ2dJREJPVXZuL29OS1puakVNdG5BYkI2aG9vczh2RGY4bXF5SWJ0R1JqRGlsMVQzdDE5cTJLZTZ4RkZvXFxuSitVMnc0Z3RGeGpERVI4aWdhcytqYTRQM3U3RUZsTURBUWdId25nRUdCTUlBQ29GQW1PSnVtZ0pFTWVDXFxuK3Rhckhya2ZBaHNNRmlFRXVDZk1qMEtmcFJxWTJVbll4NEw2MXFzZXVSOEFBTkhQQVA5Nmx2d0dUM0EwXFxuTk56MVdBcitTbjEzbVIzazhhcmZlcWN2WjFGQ21pb01vZ0Q5R3pKSWFKbGJBYmRzUkI0UW5Ma1JjS0pPXFxubk1IMTNQS3E5cU02dGc0VVFGTT1cXG49U0QwaFxcbi0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG4nLFxuICAgIH0sXG4gICAgb25wcmVtOiB7XG4gICAgICB0ZXN0OiAnLS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tXFxuXFxueGs4RVlxRVU1aE1GSzRFRUFBb0NBd1FEZGJBSVpyc2JsRVhJYXZ5ZzJnbzZwOW9HMFNxV1RnRnNkSFRjXFxuQmhxZElTL1dqUThwajc1cSt2THFGdFY5aGxJbVlHSW5zSVdoOTdmc2lnekIyb3d5elJob2MyMGdQR2h6XFxuYlVCMFpYTjBMbUpwZEdkdkxtTnZiVDdDaEFRVEV3Z0FGUVVDWXFFVTV3SUxDUUlWQ0FJV0FBSWJBd0llXFxuQVFBaENSQ0pOUnNJREd1bmV4WWhCSFJMNUQvOG5STTNvcFFuWG9rMUd3Z01hNmQ3dGc4QS8yNEE5YXdxXFxuU0NKeDdSZGRpVXpGSGNLaFZ2dm8zUjVON2JIYU9HUDNUUDc5QVAwVGF2RjJXemhVWG1aU2p0M0lLMjNPXFxuNy9ha25iaWpWZXE1MmdoYldiMVN3c0oxQkJBVENBQUdCUUppb1JUbkFDRUpFQVd1QTM1S0pndGdGaUVFXFxuWnR0TFBSMEtjWXZqZ3ZKQ0JhNERma29tQzJCc3J3RC9aKzQzek93K1dwZlBIeGUreXB5Vm9nNWZuT0tsXFxuWHdsZUg2ekR2cVVXbVdrQS9pYUhDNnVsbFlrU0c0TXY2OGs2cWJ0Z1IvcG1zL1g3cmtmYTBRUUZKeTVwXFxuemxNRVlxRVU1aElGSzRFRUFBb0NBd1NzTHFtZm9uak1GM28wblo1Skh2THBtZlRBMVJJVkRzQUVvUk9OXFxudFpBNnJBQTIzcEdsNnMzSXl0NC9mWDlBZHpvaDNFRWxPak1zZ2k4QWozZEZwdXFpQXdFSUI4SjRCQmdUXFxuQ0FBSkJRSmlvUlRuQWhzTUFDRUpFSWsxR3dnTWE2ZDdGaUVFZEV2a1AveWRFemVpbENkZWlUVWJDQXhyXFxucDN2TTdBRDlHUHA2SGhZTkVoMlZWQ0R0RlN0MTRCbmk1RlZNNWljcFZEbzZ3OWlidldBQS8yVGkzSnY0XFxuSWhJeGw4MS93cUFncWlnSWJscno2dmp0YWdyOS95a1hRQ1czXFxuPXNrQ29cXG4tLS0tLUVORCBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tXFxuJyxcbiAgICAgIHByb2Q6ICctLS0tLUJFR0lOIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG5cXG54azhFWXFLS1FSTUZLNEVFQUFvQ0F3Uk9XSmJIM1VDUGRaVFBFSlhwUFpja3R3dERKd2lsNFFIbFhaRUxcXG5jVWJGRVRib3EvY1kyMncrdUcwSWxSeXBkYm82K3NEdWFlZzNkZmphMmlvcTZUdEp6UVZDYVhSSGI4S0VcXG5CQk1UQ0FBVkJRSmlvb3BEQWdzSkFoVUlBaFlBQWhzREFoNEJBQ0VKRUZYT01qWmF0NXZNRmlFRUZZUy9cXG5YdmRodDhpTXRteVBWYzR5TmxxM204eW0xQUQrUDljbEUza2o3NjRZbXJIRE9jUlBsLyt0WDJDb1VEMHJcXG5iZFNZeUp5ZkN3QUEvQXMwRjBVRmJQemx4UFNhWmhWL2pReEIrUHNGNExWaXdEZGg0VjRwVXRuOXpsTUVcXG5ZcUtLUVJJRks0RUVBQW9DQXdRaDV3QnJPa3RxSmU0RzVzYlNPZHl3MXJuMS8xRXZrTzRoajhSNEMzVUFcXG5LN0FwejU5OVhiaTZqdDNwRDJyaGR1TDFGblM1emh6aVlTQmtrby9CMkl3OEF3RUlCOEo0QkJnVENBQUpcXG5CUUppb29wRUFoc01BQ0VKRUZYT01qWmF0NXZNRmlFRUZZUy9YdmRodDhpTXRteVBWYzR5TmxxM204eW1cXG5Wd0Q4RHdLZGRmWkcrVmdRdFhyemg1MjNSd2swamwrRXdkY1YyaDZBaUtvVi8zQUEvalYreVMzK0tUSGtcXG42UTg5VEdSMlFmdHBja3djVVRLT045cHVHZTkrdWxhblxcbj1PcVp1XFxuLS0tLS1FTkQgUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcbicsXG4gICAgfSxcbiAgfSxcbiAgbXBjdjI6IHtcbiAgICBuaXRybzoge1xuICAgICAgdGVzdDogJy0tLS0tQkVHSU4gUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcblxcbnhrOEVaaUYzQ0JNRks0RUVBQW9DQXdRV0Q3UGE3NTJmQWw0ejBQeGZXVkMwNWQ4OXZmbzgwUHlVUTNFclxcbkxYbGhHTGtpaytOa0FsL0RCZDhkaU43aTRrVHZSb0lvMHhySFUrbFpnZGd0K2N0NXpSaG9jMjBnUEdoelxcbmJVQjBaWE4wTG1KcGRHZHZMbU52YlQ3Q2hBUVRFd2dBTmdVQ1ppRjNDQUlMQ1FrUTV5Y3VlemJiVk9rQ1xcbkZRZ0NGZ0FDR3dNQ0hnRVdJUVJQcjZHTmlFN3RSdjBwNGFmbkp5NTdOdHRVNlFBQWJBWUErd1J2U0xPYVxcbmUwaVJFT3gwMEhoWVdQMDMwR2hOOThCY1p0ZWhUOWlUWk1WOEFQOTdPdGtydHE2amJ5MmY3UGRFVjd1dlxcbmQ0YWlrVGE1QmducEt2bDh5cUw0Y2NLRUJCQVRDQUEyQlFKbUlYY0tBZ3NKQ1JDWlJCZmNoNU1VY3dJVlxcbkNBSVdBQUliQXdJZUFSWWhCQW1YQlMwVFlFdm1DLzNMOUpsRUY5eUhreFJ6QUFCSjF3RCtLeUkxajludVxcbllXdkR4d0RCK0pCR010N21pYzc3YWpCT2dhQ2FiRVowajFNQS8yUkNPaVYyY09MM3gxQU96b3Nxb2ZzaFxcbmlBMXM5QnBTMTR4QXdyS0pQd1kremxNRVppRjNDQklGSzRFRUFBb0NBd1NnTHM2MGtMemhIRDNvMXNEZ1xcbjBmUS9RSHc2aGdxOVBRNUx2aWxVdnVJR1lEUjc5c1B3ck11d3k3d1VjT1FnSnZ3SU9KSG9tbURxNW5qK1xcbktmZ0F0RTZ1QXdFSUI4S0VCQmdUQ0FBMkJRSm1JWGNKQWdzSkNSRG5KeTU3TnR0VTZRSVZDQUlXQUFJYlxcbkRBSWVBUlloQkUrdm9ZMklUdTFHL1NuaHArY25MbnMyMjFUcEFBRFdtUUQvYlY5c0Jrd3lZZllmSllUU1xcbnF2VG11YkNlc1FEWTVSYW52OXdZdnY3UmlMUUEvaXdYNlpId2RidlFGVnVpMEdydlYyaUZhQ0h1dDFwblxcbkY0WUNEcXBVS2lkd3prOEVaaUYzQ0JNRks0RUVBQW9DQXdUZm0vSFp4d3Z1YlAvcnIyS09VODhta0RMOVxcbmpjV2pmUXgxdUZaOW1sSWdNQlYzKytPZ3RrVkUwZUVlK2xOV3B3Z2tzR09HckJXZVEzSzBYUkYwWWxVcFxcbndzQktCQmdUQ0FDOEJRSm1JWGNKQWdzSkNSRG5KeTU3TnR0VTZRSVZDQUlXQUFJYkFnSWVBWVVnQkJnVFxcbkNBQTJCUUptSVhjSkFnc0pDUkJyRU1UcTJvT1loZ0lWQ0FJV0FBSWJBZ0llQVJZaEJMRmcxekljd0FtY1xcblJoR2RPbXNReE9yYWc1aUdBQUF4b0FEL1lOUGhNbWYzbDRRaDdmcHJrbU9qb1UwQ3ZGaWlQK2tjeFRyOVxcbm05bHVWaFVBL1J2aElCNHNxckFjU0Q3WkdWSVFjRUkxNHJkQUZlb2s0SGlnejJjR2Y5UjZGaUVFVDYraFxcbmpZaE83VWI5S2VHbjV5Y3VlemJiVk9rQUFQbmFBUDBkWXB5YTdFenZONVE2UnBJenFMRk45aXp5R3Q0UVxcbjZrZVpzdm5WYlc5cUpBRDlGajd0QUFNVWJic3R6L0t4OVJZOHFvSU9GVHVTd2FlRFhuSk1ySTl2ODR3PVxcbj11elZCXFxuLS0tLS1FTkQgUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcbicsXG4gICAgICBwcm9kOiAnJyxcbiAgICB9LFxuICAgIG9ucHJlbToge1xuICAgICAgdGVzdDogJy0tLS0tQkVHSU4gUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcblxcbnhrOEVaaUYzQ0JNRks0RUVBQW9DQXdRV0Q3UGE3NTJmQWw0ejBQeGZXVkMwNWQ4OXZmbzgwUHlVUTNFclxcbkxYbGhHTGtpaytOa0FsL0RCZDhkaU43aTRrVHZSb0lvMHhySFUrbFpnZGd0K2N0NXpSaG9jMjBnUEdoelxcbmJVQjBaWE4wTG1KcGRHZHZMbU52YlQ3Q2hBUVRFd2dBTmdVQ1ppRjNDQUlMQ1FrUTV5Y3VlemJiVk9rQ1xcbkZRZ0NGZ0FDR3dNQ0hnRVdJUVJQcjZHTmlFN3RSdjBwNGFmbkp5NTdOdHRVNlFBQWJBWUErd1J2U0xPYVxcbmUwaVJFT3gwMEhoWVdQMDMwR2hOOThCY1p0ZWhUOWlUWk1WOEFQOTdPdGtydHE2amJ5MmY3UGRFVjd1dlxcbmQ0YWlrVGE1QmducEt2bDh5cUw0Y2NLRUJCQVRDQUEyQlFKbUlYY0tBZ3NKQ1JDWlJCZmNoNU1VY3dJVlxcbkNBSVdBQUliQXdJZUFSWWhCQW1YQlMwVFlFdm1DLzNMOUpsRUY5eUhreFJ6QUFCSjF3RCtLeUkxajludVxcbllXdkR4d0RCK0pCR010N21pYzc3YWpCT2dhQ2FiRVowajFNQS8yUkNPaVYyY09MM3gxQU96b3Nxb2ZzaFxcbmlBMXM5QnBTMTR4QXdyS0pQd1kremxNRVppRjNDQklGSzRFRUFBb0NBd1NnTHM2MGtMemhIRDNvMXNEZ1xcbjBmUS9RSHc2aGdxOVBRNUx2aWxVdnVJR1lEUjc5c1B3ck11d3k3d1VjT1FnSnZ3SU9KSG9tbURxNW5qK1xcbktmZ0F0RTZ1QXdFSUI4S0VCQmdUQ0FBMkJRSm1JWGNKQWdzSkNSRG5KeTU3TnR0VTZRSVZDQUlXQUFJYlxcbkRBSWVBUlloQkUrdm9ZMklUdTFHL1NuaHArY25MbnMyMjFUcEFBRFdtUUQvYlY5c0Jrd3lZZllmSllUU1xcbnF2VG11YkNlc1FEWTVSYW52OXdZdnY3UmlMUUEvaXdYNlpId2RidlFGVnVpMEdydlYyaUZhQ0h1dDFwblxcbkY0WUNEcXBVS2lkd3prOEVaaUYzQ0JNRks0RUVBQW9DQXdUZm0vSFp4d3Z1YlAvcnIyS09VODhta0RMOVxcbmpjV2pmUXgxdUZaOW1sSWdNQlYzKytPZ3RrVkUwZUVlK2xOV3B3Z2tzR09HckJXZVEzSzBYUkYwWWxVcFxcbndzQktCQmdUQ0FDOEJRSm1JWGNKQWdzSkNSRG5KeTU3TnR0VTZRSVZDQUlXQUFJYkFnSWVBWVVnQkJnVFxcbkNBQTJCUUptSVhjSkFnc0pDUkJyRU1UcTJvT1loZ0lWQ0FJV0FBSWJBZ0llQVJZaEJMRmcxekljd0FtY1xcblJoR2RPbXNReE9yYWc1aUdBQUF4b0FEL1lOUGhNbWYzbDRRaDdmcHJrbU9qb1UwQ3ZGaWlQK2tjeFRyOVxcbm05bHVWaFVBL1J2aElCNHNxckFjU0Q3WkdWSVFjRUkxNHJkQUZlb2s0SGlnejJjR2Y5UjZGaUVFVDYraFxcbmpZaE83VWI5S2VHbjV5Y3VlemJiVk9rQUFQbmFBUDBkWXB5YTdFenZONVE2UnBJenFMRk45aXp5R3Q0UVxcbjZrZVpzdm5WYlc5cUpBRDlGajd0QUFNVWJic3R6L0t4OVJZOHFvSU9GVHVTd2FlRFhuSk1ySTl2ODR3PVxcbj11elZCXFxuLS0tLS1FTkQgUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcbicsXG4gICAgICBwcm9kOiAnLS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tXFxuXFxueGs4RVptSHlLQk1GSzRFRUFBb0NBd1MrdEJZLzJQNDdHMG1nWVJocTkwaks0NzVmMDJmM2YzVzRWYktBXFxuU3dkOXM2YUk1c3BrN0dlWXNqUnZQNnJCZjR2RklqTGo3VHk3SzJWMDNyWlBRYzhielFWQ2FYUkhiOEtFXFxuQkJNVENBQTJCUUptWWZJcEFnc0pDUkFLTUI0QVRBNVY3UUlWQ0FJV0FBSWJBd0llQVJZaEJBSWRmbExCXFxuSzRkZUhvaytnUW93SGdCTURsWHRBQUNScEFEL1VVYlRzRkVranQrQ0NKbVZxMnY1bDZvb2NSOWhYWGtUXFxuemhSUUtRSXdTaWdBL1JWdlMyUnNvWkxrYUw2OEdVSEx5NjNYVkh0RzE0OXBOM0JZUHdiNjNFY1F3b1FFXFxuRUJNSUFEWUZBbVpoOGlvQ0N3a0pFRmxoMkRMTTZJVk5BaFVJQWhZQUFoc0RBaDRCRmlFRXNiOWYxVkEwXFxuOXJPTGdGTStXV0hZTXN6b2hVMEFBRkM4QVA0d0gwbmRtekNTZzJPL2ErWmZxVzJ5QTQ2NUJGdkRNMWlqXFxudk10Q0pZU3h6QUQvUmpjZkRma040SXBqYWEyTFJ1SHhmSFpidmdDZ29PQ2hzSkx2NEtRTFRhZk9Vd1JtXFxuWWZJb0VnVXJnUVFBQ2dJREJNK1cwMUtFVWFBbThhM2hNQldHOUVTaHlOclp4YnR2OXJ5ZDhKSUl4ZUViXFxuRWNrTFRWUXZJZXIzWXZEVXlqZVkvdjgzVkNSZG02SDVjYWhWOTJzeWRySURBUWdId29RRUdCTUlBRFlGXFxuQW1aaDhpa0NDd2tKRUFvd0hnQk1EbFh0QWhVSUFoWUFBaHNNQWg0QkZpRUVBaDErVXNFcmgxNGVpVDZCXFxuQ2pBZUFFd09WZTBBQUVjU0FQOUg5NnQvejl1S2U5bEFvcTJkOUR0M0hycTllTTZzTFEyK2NWYmxuZ1ArXFxuRFFEL2RDcUhZUXpEZHN1YzlZM0htV2JoQ0sxVW02ZXdwcGtjdDF2NWxtYmFKMWJPVHdSbVlmSW9Fd1VyXFxuZ1FRQUNnSURCSkRJb2ZXT0xqL0prQkZrWkRoM2ErK0xORUg4VEJObERadlU3dE5mVVJYV0FweFYyVkFiXFxuRkJLWWRkTjAzUTFTQnBNUjBHa1BsNDJySDd3aFlkZWFFQkhDd0VvRUdCTUlBTHdGQW1aaDhpb0NDd2tKXFxuRUFvd0hnQk1EbFh0QWhVSUFoWUFBaHNDQWg0QmhTQUVHQk1JQURZRkFtWmg4aW9DQ3drSkVHQWZCc01UXFxuRnpWakFoVUlBaFlBQWhzQ0FoNEJGaUVFMnpBR0hTYUxuc3dxSXZCcllCOEd3eE1YTldNQUFOcm9BUDBmXFxudEZQdW1LRndRckNmN09NSFFXc2VzclFZcEtUNlo2NVZiZXdCb0dhR2lnRC9Va2VleWdUdGx5elRWMllGXFxuTkFqV0F6YVF0WFdtbXpSZ25PajBJS3ViMzlNV0lRUUNIWDVTd1N1SFhoNkpQb0VLTUI0QVRBNVY3UUFBXFxuVGpNQS9qRFNWWEpOYmxyL2tTTE5GVG9yZGdEaktQMG5OMWFFbHZGVUZoL1FFVlQwQVA5bG1mMkZjL283XFxueVlPR1BQZzRPdnZVNm9kclRzdU5nbGp2UHFCbGFDYzJFQT09XFxuPVpMa3RcXG4tLS0tLUVORCBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tXFxuJyxcbiAgICB9LFxuICB9LFxuICBlZGRzYU1wY3YyOiB7XG4gICAgbml0cm86IHtcbiAgICAgIHRlc3Q6ICcnLCAvLyBUT0RPIFdDSS0yMDU6IGFkZCBlZGRzYU1wY3YyIGtleSBmb3Igbml0cm9cbiAgICAgIHByb2Q6ICcnLFxuICAgIH0sXG4gICAgb25wcmVtOiB7XG4gICAgICB0ZXN0OiAnLS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tXFxuXFxueGpNRWFkK1FDeFlKS3dZQkJBSGFSdzhCQVFkQUcwRkJNLzFKUnZvN0tsTHZocDFNd2k2SVdtVjNWOXh5XFxuWlpjQnlnMGZEUTNOR0doemJTQThhSE50UUhSbGMzUXVZbWwwWjI4dVkyOXRQc0tFQkJNV0NnQTJCWUpwXFxuMzVBTUFnc0pDWkN1VjZkOXNhbDMxUUlWQ2dJV0FBS2JBd0llQVJZaEJLU2lYY0tvNHhNVDV3d2ZoNjVYXFxucDMyeHFYZlZBQUEyc0FFQWdtazU0M1VldG9Vb09vT3ZFQWhPclJCYkY0aDZWd2NIOWN5UjlVR1N3eWdBXFxuLzJLSkphZGlBdmFlcHFGWnh5RTc3ckZNN1pmcWhSTXNvQWMyTWZzbHZ1UU13b1FFRUJNSUFEWUZnbW5mXFxua0EwQ0N3a0prTjJ2SndPT3VFMDNBaFVLQWhZQUFwc0RBaDRCRmlFRWpNU1F3VFJiVXRHMWZTdlIzYThuXFxuQTQ2NFRUY0FBTk5WQVFEMVJUdS9iSm1QQlJ2V2J2dUlpdVQxV1V4WXNTdW9YV3draTFZSW1OMWdNQUQrXFxuT1BVK3YwNTZoa2RvRDhSY2Q4RCtIaG9ObEpBYlJiWldnL3FqeHIrUzZsTE9PQVJwMzVBTUVnb3JCZ0VFXFxuQVpkVkFRVUJBUWRBZ3F3QTlVaFFHdXNlenRMcjJaTTE4OXBCanJXNnNBSjVtNmljRFlPV01IRURBUWdIXFxud29VRUdCWUtBRGNGZ21uZmtBd0NDd2tKa0s1WHAzMnhxWGZWQWhVS0FoWUFBNXNFQ0FJZUFSWWhCS1NpXFxuWGNLbzR4TVQ1d3dmaDY1WHAzMnhxWGZWQUFDNHV3RUFsa1Z6R0RQSllFVElWNHBYWXBDZGFlR0xCam05XFxueTFzUmIybng5RVQ3bSs0QkFOcGIwdktLQnJLWlRBeC8rcklOZ1dveEtQbktQc3ljT0U4YllIWTN6S0FOXFxuempNRWFkK1FEQllKS3dZQkJBSGFSdzhCQVFkQWFud0tFWTVRRUFQYWZiaE01L0JJSlpSeUxteU5wQlRvXFxudG50VElxMG5PdC9Dd0VvRUdCWUtBTHdGZ21uZmtBMENDd2tKa0s1WHAzMnhxWGZWQWhVS0FoWUFBcHNDXFxuQWg0QmhhQUVHQllLQURZRmdtbmZrQTBDQ3drSmtBdVhBVTZBNktZdkFoVUtBaFlBQXBzQ0FoNEJGaUVFXFxuZWFHdHhaWXNqV0ZGWXJENkM1Y0JUb0RvcGk4QUFFcDNBUUNQNGJDU1liaGpOSmZHbkNDT3EyNERhb3pSXFxuVUZnMGhObHBmU0E5TllaM2J3RC9mZHRWNW01YTFReXZjeUdFbnYzN2wxSDdVR2JRbEcxWnA4cm9xWmgzXFxucXdNV0lRU2tvbDNDcU9NVEUrY01INGV1VjZkOXNhbDMxUUFBTWVnQS9pM3NCdUF3dnJCc3A4b3pwN08yXFxuelFsSWJqdXZEQk1vbUlYajFyUm1nb09rQVFEUnFzUXBBdklUZDBMTUZOMmRDcUNCSUdBZUlxem5GWDBDXFxueXF2VTBtOHNDUT09XFxuPS9SM2tcXG4tLS0tLUVORCBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tXFxuJyxcbiAgICAgIHByb2Q6ICcnLCAvLyBUT0RPIFdDSS0xNDI6IGFkZCBwcm9kIGVkZHNhTXBjdjIga2V5XG4gICAgfSxcbiAgfSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRCaXRnb01wY0dwZ1B1YktleShcbiAgZW52OiBFbnZpcm9ubWVudE5hbWUsXG4gIHB1YktleVR5cGU6ICduaXRybycgfCAnb25wcmVtJyxcbiAgbXBjVmVyc2lvbjogJ21wY3YxJyB8ICdtcGN2Midcbik6IHN0cmluZyB7XG4gIGFzc2VydChcbiAgICBtcGNWZXJzaW9uIGluIGJpdGdvTXBjR3BnUHViS2V5cyxcbiAgICBgSW52YWxpZCBtcGNWZXJzaW9uIGluIGdldEJpdGdvTXBjR3BnUHViS2V5LCBnb3Q6ICR7bXBjVmVyc2lvbn0sIGV4cGVjdGVkOiBtcGN2MSBvciBtcGN2MmBcbiAgKTtcbiAgYXNzZXJ0KFxuICAgIHB1YktleVR5cGUgaW4gYml0Z29NcGNHcGdQdWJLZXlzW21wY1ZlcnNpb25dLFxuICAgIGBJbnZhbGlkIHB1YktleVR5cGUgaW4gZ2V0Qml0Z29NcGNHcGdQdWJLZXksIGdvdDogJHtwdWJLZXlUeXBlfSwgZXhwZWN0ZWQ6IG5pdHJvIG9yIG9ucHJlbWBcbiAgKTtcbiAgaWYgKGVudiAhPT0gJ3Byb2QnICYmIGVudiAhPT0gJ3Rlc3QnICYmIGVudiAhPT0gJ3N0YWdpbmcnICYmIGVudiAhPT0gJ2FkbWluUHJvZCcgJiYgZW52ICE9PSAnYWRtaW5UZXN0Jykge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBlbnZpcm9ubWVudCB0byBnZXQgYSBCaXRHbyBNUEMgR1BHIHB1YmxpYyBrZXknKTtcbiAgfVxuICBpZiAoZW52ICE9PSAncHJvZCcgJiYgZW52ICE9PSAnYWRtaW5Qcm9kJykge1xuICAgIC8vIGRlZmF1bHQgdG8gdGVzdCBncGcga2V5cyBpZiBub3QgaW4gcHJvZFxuICAgIGVudiA9ICd0ZXN0JztcbiAgfVxuICBpZiAoZW52ID09PSAnYWRtaW5Qcm9kJykge1xuICAgIGVudiA9ICdwcm9kJztcbiAgfVxuICBpZiAocHViS2V5VHlwZSA9PT0gJ25pdHJvJyAmJiBlbnYgPT09ICdwcm9kJyAmJiBtcGNWZXJzaW9uID09PSAnbXBjdjInKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdOaXRybyBtcGN2MiBwdWIga2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gcHJvZHVjdGlvbiBlbnZpcm9ubWVudHMgeWV0LicpO1xuICB9XG4gIGlmIChwdWJLZXlUeXBlICE9PSAnbml0cm8nKSB7XG4gICAgLy8gVGhpcyB3aWxsIGJlIHRoZSBkZWZhdWx0IGtleSB0eXBlXG4gICAgcHViS2V5VHlwZSA9ICdvbnByZW0nO1xuICB9XG4gIHJldHVybiBiaXRnb01wY0dwZ1B1YktleXNbbXBjVmVyc2lvbl1bcHViS2V5VHlwZV1bZW52XTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQml0Z29NcGNQdWJLZXkoa2V5OiBzdHJpbmcsIG1wY3ZWZXJzaW9uOiAnbXBjdjEnIHwgJ21wY3YyJyk6IGJvb2xlYW4ge1xuICByZXR1cm4gT2JqZWN0LnZhbHVlcyhiaXRnb01wY0dwZ1B1YktleXNbbXBjdlZlcnNpb25dKS5zb21lKChlbnZLZXlzKSA9PiBPYmplY3QudmFsdWVzKGVudktleXMpLmluY2x1ZGVzKGtleSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNCaXRnb0VkZHNhTXBjdjJQdWJLZXkoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIE9iamVjdC52YWx1ZXMoYml0Z29NcGNHcGdQdWJLZXlzLmVkZHNhTXBjdjIpLnNvbWUoKGVudktleXMpID0+IE9iamVjdC52YWx1ZXMoZW52S2V5cykuaW5jbHVkZXMoa2V5KSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnZSZXF1aXJlc0JpdGdvUHViR3BnS2V5Q29uZmlnKGVudjogRW52aXJvbm1lbnROYW1lKTogYm9vbGVhbiB7XG4gIHJldHVybiBlbnYgPT09ICdwcm9kJyB8fCBlbnYgPT09ICd0ZXN0JyB8fCBlbnYgPT09ICdzdGFnaW5nJyB8fCBlbnYgPT09ICdhZG1pblByb2QnIHx8IGVudiA9PT0gJ2FkbWluVGVzdCc7XG59XG4iXX0=
|
|
@@ -17,6 +17,7 @@ export type AuthEncMessage = {
|
|
|
17
17
|
export declare function getBitgoGpgPubKey(bitgo: BitGoBase): Promise<{
|
|
18
18
|
mpcV1: Key;
|
|
19
19
|
mpcV2: Key | undefined;
|
|
20
|
+
eddsaMpcV2: Key | undefined;
|
|
20
21
|
}>;
|
|
21
22
|
/**
|
|
22
23
|
* Verifies the primary user on a GPG key using a reference key representing the user to be checked.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opengpgUtils.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/utils/opengpgUtils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,SAAS,CAAC;AAC/B,OAAO,EAIL,GAAG,EAOJ,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAKzC,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC;IACjB,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CACvB,EAAE,CAAC;AAEJ,MAAM,MAAM,cAAc,GAAG;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"opengpgUtils.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/utils/opengpgUtils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,SAAS,CAAC;AAC/B,OAAO,EAIL,GAAG,EAOJ,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAKzC,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC;IACjB,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CACvB,EAAE,CAAC;AAEJ,MAAM,MAAM,cAAc,GAAG;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,SAAS,GACf,OAAO,CAAC;IAAE,KAAK,EAAE,GAAG,CAAC;IAAC,KAAK,EAAE,GAAG,GAAG,SAAS,CAAC;IAAC,UAAU,EAAE,GAAG,GAAG,SAAS,CAAA;CAAE,CAAC,CAkB9E;AAED;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,GAAG,EACX,WAAW,EAAE,GAAG,EAChB,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC,eAAe,CAAC,CAM1B;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,MAAM,EACpB,iBAAiB,EAAE,MAAM,EACzB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,GAAG,OAAO,GACtB,OAAO,CAAC,OAAO,CAAC,CAoBlB;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,GAC9C,OAAO,CAAC,OAAO,CAAC,CAiBlB;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,iBAAiB,EAAE,MAAM,EACzB,sBAAsB,EAAE,MAAM,EAC9B,SAAS,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,GAC3C,OAAO,CAAC,MAAM,CAAC,CAmDjB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA6D1G;AAED;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAczE;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAmBjH;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAclH;AAED;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAWlF;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAoBnH;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,GAAG,CAAC,iBAAiB,EAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,EAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,GACzB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAsBxC"}
|
|
@@ -69,7 +69,14 @@ async function getBitgoGpgPubKey(bitgo) {
|
|
|
69
69
|
const bitgoMPCv2PublicKeyStr = constants.mpc.bitgoMPCv2PublicKey
|
|
70
70
|
? await (0, openpgp_1.readKey)({ armoredKey: constants.mpc.bitgoMPCv2PublicKey })
|
|
71
71
|
: undefined;
|
|
72
|
-
|
|
72
|
+
const bitgoEddsaMpcv2PublicKeyStr = constants.mpc.bitgoEddsaMpcv2PublicKey
|
|
73
|
+
? await (0, openpgp_1.readKey)({ armoredKey: constants.mpc.bitgoEddsaMpcv2PublicKey })
|
|
74
|
+
: undefined;
|
|
75
|
+
return {
|
|
76
|
+
mpcV1: await (0, openpgp_1.readKey)({ armoredKey: bitgoPublicKeyStr }),
|
|
77
|
+
mpcV2: bitgoMPCv2PublicKeyStr,
|
|
78
|
+
eddsaMpcV2: bitgoEddsaMpcv2PublicKeyStr,
|
|
79
|
+
};
|
|
73
80
|
}
|
|
74
81
|
/**
|
|
75
82
|
* Verifies the primary user on a GPG key using a reference key representing the user to be checked.
|
|
@@ -387,6 +394,7 @@ async function generateGPGKeyPair(keyCurve, username, email) {
|
|
|
387
394
|
email = email ?? `user-${randomHexString}@${randomHexString}.com`;
|
|
388
395
|
// Allow generating secp256k1 key pairs
|
|
389
396
|
pgp.config.rejectCurves = new Set();
|
|
397
|
+
const subkeys = keyCurve === 'ed25519' ? [{ sign: true }, { sign: false }] : undefined;
|
|
390
398
|
const gpgKey = await pgp.generateKey({
|
|
391
399
|
userIDs: [
|
|
392
400
|
{
|
|
@@ -395,7 +403,8 @@ async function generateGPGKeyPair(keyCurve, username, email) {
|
|
|
395
403
|
},
|
|
396
404
|
],
|
|
397
405
|
curve: keyCurve,
|
|
406
|
+
...(subkeys && { subkeys }),
|
|
398
407
|
});
|
|
399
408
|
return gpgKey;
|
|
400
409
|
}
|
|
401
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlbmdwZ1V0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3V0aWxzL29wZW5ncGdVdGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsc0RBQXNEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXFDdEQsOENBV0M7QUFVRCw0REFVQztBQVdELDRDQXlCQztBQVVELHNEQXFCQztBQVVELHNEQXVEQztBQWFELDRDQTZEQztBQVlELGtDQWNDO0FBUUQsZ0RBbUJDO0FBU0QsOENBY0M7QUFTRCw0QkFXQztBQVNELDBDQW9CQztBQVNELGdEQXNCQztBQTVhRCw2Q0FBK0I7QUFDL0IscUNBV2lCO0FBQ2pCLDBDQUE0QjtBQUM1QixxREFBeUQ7QUFFekQsb0RBQTRCO0FBRTVCLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0FBWWxEOzs7O0dBSUc7QUFDSSxLQUFLLFVBQVUsaUJBQWlCLENBQUMsS0FBZ0I7SUFDdEQsTUFBTSxTQUFTLEdBQUcsTUFBTSxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDL0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3BELE1BQU0sSUFBSSxLQUFLLENBQUMsc0VBQXNFLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRUQsTUFBTSxpQkFBaUIsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLGNBQXdCLENBQUM7SUFDakUsTUFBTSxzQkFBc0IsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLG1CQUFtQjtRQUM5RCxDQUFDLENBQUMsTUFBTSxJQUFBLGlCQUFPLEVBQUMsRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxtQkFBNkIsRUFBRSxDQUFDO1FBQzVFLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDZCxPQUFPLEVBQUUs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SUFBSSxHQUFHLEVBQUUsQ0FBQztJQUNwQyxNQUFNLE1BQU0sR0FBRyxNQUFNLEdBQUcsQ0FBQyxXQUFXLENBQUM7UUFDbkMsT0FBTyxFQUFFO1lBQ1A7Z0JBQ0UsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsS0FBSzthQUNOO1NBQ0Y7UUFDRCxLQUFLLEVBQUUsUUFBUTtLQUNoQixDQUFDLENBQUM7SUFFSCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50ICovXG5cbmltcG9ydCAqIGFzIHBncCBmcm9tICdvcGVucGdwJztcbmltcG9ydCB7XG4gIGNyZWF0ZU1lc3NhZ2UsXG4gIGRlY3J5cHQsXG4gIGVuY3J5cHQsXG4gIEtleSxcbiAgcmVhZEtleSxcbiAgcmVhZE1lc3NhZ2UsXG4gIHJlYWRQcml2YXRlS2V5LFxuICByZWFkU2lnbmF0dXJlLFxuICBzaWduLFxuICB2ZXJpZnksXG59IGZyb20gJ29wZW5wZ3AnO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgZWNjIGFzIHNlY3AyNTZrMSB9IGZyb20gJ0BiaXRnby1iZXRhL3NlY3AyNTZrMSc7XG5pbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICcuLi9iaXRnb0Jhc2UnO1xuaW1wb3J0IGNyeXB0byBmcm9tICdjcnlwdG8nO1xuXG5jb25zdCBzb2RpdW0gPSByZXF1aXJlKCdsaWJzb2RpdW0td3JhcHBlcnMtc3VtbycpO1xuXG5leHBvcnQgdHlwZSBLZXlWYWxpZGl0eURpY3QgPSB7XG4gIGtleUlEOiBwZ3AuS2V5SUQ7XG4gIHZhbGlkOiBib29sZWFuIHwgbnVsbDtcbn1bXTtcblxuZXhwb3J0IHR5cGUgQXV0aEVuY01lc3NhZ2UgPSB7XG4gIGVuY3J5cHRlZE1lc3NhZ2U6IHN0cmluZztcbiAgc2lnbmF0dXJlOiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIEZldGNoZXMgQml0R28ncyBwdWJsaWMgZ3BnIGtleSB1c2VkIGluIE1QQyBmbG93c1xuICogQHBhcmFtIHtCaXRHb0Jhc2V9IGJpdGdvIEJpdEdvIG9iamVjdFxuICogQHJldHVybiB7S2V5fSBwdWJsaWMgZ3BnIGtleVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0Qml0Z29HcGdQdWJLZXkoYml0Z286IEJpdEdvQmFzZSk6IFByb21pc2U8eyBtcGNWMTogS2V5OyBtcGNWMjogS2V5IHwgdW5kZWZpbmVkIH0+IHtcbiAgY29uc3QgY29uc3RhbnRzID0gYXdhaXQgYml0Z28uZmV0Y2hDb25zdGFudHMoKTtcbiAgaWYgKCFjb25zdGFudHMubXBjIHx8ICFjb25zdGFudHMubXBjLmJpdGdvUHVibGljS2V5KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gY3JlYXRlIE1QQyBrZXlzIC0gYml0Z29QdWJsaWNLZXkgaXMgbWlzc2luZyBmcm9tIGNvbnN0YW50cycpO1xuICB9XG5cbiAgY29uc3QgYml0Z29QdWJsaWNLZXlTdHIgPSBjb25zdGFudHMubXBjLmJpdGdvUHVibGljS2V5IGFzIHN0cmluZztcbiAgY29uc3QgYml0Z29NUEN2MlB1YmxpY0tleVN0ciA9IGNvbnN0YW50cy5tcGMuYml0Z29NUEN2MlB1YmxpY0tleVxuICAgID8gYXdhaXQgcmVhZEtleSh7IGFybW9yZWRLZXk6IGNvbnN0YW50cy5tcGMuYml0Z29NUEN2MlB1YmxpY0tleSBhcyBzdHJpbmcgfSlcbiAgICA6IHVuZGVmaW5lZDtcbiAgcmV0dXJuIHsgbXBjVjE6IGF3YWl0IHJlYWRLZXkoeyBhcm1vcmVkS2V5OiBiaXRnb1B1YmxpY0tleVN0ciB9KSwgbXBjVjI6IGJpdGdvTVBDdjJQdWJsaWNLZXlTdHIgfTtcbn1cblxuLyoqXG4gKiBWZXJpZmllcyB0aGUgcHJpbWFyeSB1c2VyIG9uIGEgR1BHIGtleSB1c2luZyBhIHJlZmVyZW5jZSBrZXkgcmVwcmVzZW50aW5nIHRoZSB1c2VyIHRvIGJlIGNoZWNrZWQuXG4gKiBBbGxvd3MgYSB2ZXJpZmljYXRpb24gd2l0aG91dCBhIGRhdGUgY2hlY2sgYnkgd3JhcHBpbmcgdmVyaWZ5UHJpbWFyeVVzZXIgb2Ygb3BlbnBncC5cbiAqIEBwYXJhbSB7S2V5fSBwdWJLZXkgZ3BnIGtleSB0byBjaGVjayB0aGUgcHJpbWFyeSB1c2VyIG9mLlxuICogQHBhcmFtIHtLZXl9IHByaW1hcnlVc2VyIGdwZyBrZXkgb2YgdGhlIHVzZXIgdG8gY2hlY2suXG4gKiBAcGFyYW0ge2Jvb2xlYW59IGNoZWNrRGF0ZXMgSWYgZmFsc2UsIGRpc2FibGUgZGF0ZSBjaGVja3MgaW4gdGhlIG9wZW5wZ3AgY2FsbCB0byBjaGVjayB0aGUgcHJpbWFyeSB1c2VyLlxuICogQHJldHVybiB7S2V5VmFsaWRpdHlEaWN0fSBsaXN0IG9mIHVzZXJzIGNoZWNrZWQgYW5kIHdoZXRoZXIgZWFjaCBwYXNzZWQgYXMgYSBwcmltYXJ5IHVzZXIgaW4gcHViS2V5IG9yIG5vdC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHZlcmlmeVByaW1hcnlVc2VyV3JhcHBlcihcbiAgcHViS2V5OiBLZXksXG4gIHByaW1hcnlVc2VyOiBLZXksXG4gIGNoZWNrRGF0ZXM6IGJvb2xlYW5cbik6IFByb21pc2U8S2V5VmFsaWRpdHlEaWN0PiB7XG4gIGlmIChjaGVja0RhdGVzKSB7XG4gICAgcmV0dXJuIGF3YWl0IHB1YktleS52ZXJpZnlQcmltYXJ5VXNlcihbcHJpbWFyeVVzZXJdKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gYXdhaXQgcHViS2V5LnZlcmlmeVByaW1hcnlVc2VyKFtwcmltYXJ5VXNlcl0sIG51bGwgYXMgdW5rbm93biBhcyB1bmRlZmluZWQpO1xuICB9XG59XG5cbi8qKlxuICogVmVyaWZ5IGFuIEVkZHNhIG9yIEVjZHNhIEtleVNoYXJlIFByb29mLlxuICpcbiAqIEBwYXJhbSBzZW5kZXJQdWJLZXkgcHVibGljIGtleSBvZiB0aGUgc2VuZGVyIG9mIHRoZSBwcml2YXRlU2hhcmVQcm9vZlxuICogQHBhcmFtIHByaXZhdGVTaGFyZVByb29mIHUgdmFsdWUgcHJvb2ZcbiAqIEBwYXJhbSB1VmFsdWUgdSB2YWx1ZSBmcm9tIGFuIEVkZHNhIGtleXNoYXJlXG4gKiBAcGFyYW0gYWxnb1xuICogQHJldHVybiB7Ym9vbGVhbn0gd2hldGhlciB1VmFsdWUgcHJvb2YgYWN0dWFsbHkgd2FzIHNpZ25lZCBieSBzZW5kZXIgYXMgcGFydCBvZiB0aGVpciBzdWJrZXlzXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2ZXJpZnlTaGFyZVByb29mKFxuICBzZW5kZXJQdWJLZXk6IHN0cmluZyxcbiAgcHJpdmF0ZVNoYXJlUHJvb2Y6IHN0cmluZyxcbiAgdVZhbHVlOiBzdHJpbmcsXG4gIGFsZ286ICdlZGRzYScgfCAnZWNkc2EnXG4pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgY29uc3QgZGVjb2RlZFByb29mID0gYXdhaXQgcGdwLnJlYWRLZXkoeyBhcm1vcmVkS2V5OiBwcml2YXRlU2hhcmVQcm9vZiB9KTtcbiAgY29uc3Qgc2VuZGVyR3BnS2V5ID0gYXdhaXQgcGdwLnJlYWRLZXkoeyBhcm1vcmVkS2V5OiBzZW5kZXJQdWJLZXkgfSk7XG4gIGlmICghKGF3YWl0IHZlcmlmeVByaW1hcnlVc2VyV3JhcHBlcihkZWNvZGVkUHJvb2YsIHNlbmRlckdwZ0tleSwgdHJ1ZSkpWzBdLnZhbGlkKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IHByb29mU3Via2V5cyA9IGRlY29kZWRQcm9vZi5nZXRTdWJrZXlzKClbMV07XG4gIGlmIChhbGdvID09PSAnZWRkc2EnKSB7XG4gICAgY29uc3QgZGVjb2RlZFVWYWx1ZVByb29mID0gQnVmZmVyLmZyb20ocHJvb2ZTdWJrZXlzLmtleVBhY2tldC5wdWJsaWNQYXJhbXNbJ1EnXS5zbGljZSgxKSkudG9TdHJpbmcoJ2hleCcpO1xuICAgIGNvbnN0IHJhd1VWYWx1ZVByb29mID0gQnVmZmVyLmZyb20oXG4gICAgICBzb2RpdW0uY3J5cHRvX3NjYWxhcm11bHRfZWQyNTUxOV9iYXNlX25vY2xhbXAoQnVmZmVyLmZyb20odVZhbHVlLCAnaGV4JykpXG4gICAgKS50b1N0cmluZygnaGV4Jyk7XG4gICAgcmV0dXJuIGRlY29kZWRVVmFsdWVQcm9vZiA9PT0gcmF3VVZhbHVlUHJvb2Y7XG4gIH0gZWxzZSBpZiAoYWxnbyA9PT0gJ2VjZHNhJykge1xuICAgIGNvbnN0IGRlY29kZWRVVmFsdWVQcm9vZiA9IEJ1ZmZlci5mcm9tKHByb29mU3Via2V5cy5rZXlQYWNrZXQucHVibGljUGFyYW1zWydRJ10pLnRvU3RyaW5nKCdoZXgnKTtcbiAgICBjb25zdCByYXdVVmFsdWVQcm9vZiA9IHNlY3AyNTZrMS5wb2ludEZyb21TY2FsYXIoQnVmZmVyLmZyb20odVZhbHVlLCAnaGV4JyksIGZhbHNlKTtcbiAgICByZXR1cm4gcmF3VVZhbHVlUHJvb2YgIT09IG51bGwgJiYgZGVjb2RlZFVWYWx1ZVByb29mID09PSBCdWZmZXIuZnJvbShyYXdVVmFsdWVQcm9vZikudG9TdHJpbmcoJ2hleCcpO1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBhbGdvcml0aG0gcHJvdmlkZWQnKTtcbiAgfVxufVxuXG4vKipcbiAqIFZlcmlmeSBhIHNoYXJlZCBkYXRhIHByb29mLlxuICpcbiAqIEBwYXJhbSBzZW5kZXJQdWJLZXlBcm0gcHVibGljIGtleSBvZiB0aGUgc2lnbmVyIG9mIHRoZSBrZXkgd2l0aCBwcm9vZiBkYXRhXG4gKiBAcGFyYW0ga2V5V2l0aE5vdGF0aW9uIHNpZ25lZCByZWNpZXZlciBrZXkgd2l0aCBub3RhdGlvbiBkYXRhXG4gKiBAcGFyYW0gZGF0YVRvVmVyaWZ5IGRhdGEgdG8gYmUgY2hlY2tlZCBhZ2FpbnN0IG5vdGF0aW9uIGRhdGEgaW4gdGhlIHNpZ25lZCBrZXlcbiAqIEByZXR1cm4ge2Jvb2xlYW59IHdoZXRoZXIgcHJvb2YgaXMgdmFsaWRcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHZlcmlmeVNoYXJlZERhdGFQcm9vZihcbiAgc2VuZGVyUHViS2V5QXJtOiBzdHJpbmcsXG4gIGtleVdpdGhOb3RhdGlvbjogc3RyaW5nLFxuICBkYXRhVG9WZXJpZnk6IHsgbmFtZTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH1bXVxuKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGNvbnN0IHNlbmRlclB1YktleSA9IGF3YWl0IHBncC5yZWFkS2V5KHsgYXJtb3JlZEtleTogc2VuZGVyUHViS2V5QXJtIH0pO1xuICBjb25zdCBzaWduZWRLZXkgPSBhd2FpdCBwZ3AucmVhZEtleSh7IGFybW9yZWRLZXk6IGtleVdpdGhOb3RhdGlvbiB9KTtcbiAgaWYgKFxuICAgICEoYXdhaXQgdmVyaWZ5UHJpbWFyeVVzZXJXcmFwcGVyKHNpZ25lZEtleSwgc2VuZGVyUHViS2V5LCBmYWxzZSkudGhlbigodmFsdWVzKSA9PlxuICAgICAgXy5zb21lKHZhbHVlcywgKHZhbHVlKSA9PiB2YWx1ZS52YWxpZClcbiAgICApKVxuICApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgY29uc3QgcHJpbWFyeVVzZXIgPSBhd2FpdCBzaWduZWRLZXkuZ2V0UHJpbWFyeVVzZXIobnVsbCBhcyB1bmtub3duIGFzIHVuZGVmaW5lZCk7XG4gIGNvbnN0IGFueUludmFsaWRQcm9vZiA9IF8uc29tZShcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgcHJpbWFyeVVzZXIudXNlci5vdGhlckNlcnRpZmljYXRpb25zWzBdLnJhd05vdGF0aW9ucyxcbiAgICAobm90YXRpb24pID0+IGRhdGFUb1ZlcmlmeS5maW5kKChpKSA9PiBpLm5hbWUgPT09IG5vdGF0aW9uLm5hbWUpPy52YWx1ZSAhPT0gQnVmZmVyLmZyb20obm90YXRpb24udmFsdWUpLnRvU3RyaW5nKClcbiAgKTtcbiAgcmV0dXJuICFhbnlJbnZhbGlkUHJvb2Y7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIHByb29mIHRocm91Z2ggYWRkaW5nIG5vdGF0aW9uIGRhdGEgdG8gYSBHUEcgY2VyaXRpZnlpbmcgc2lnbmF0dXJlLlxuICpcbiAqIEBwYXJhbSBwcml2YXRlS2V5QXJtb3JlZCBncGcgcHJpdmF0ZSBrZXkgaW4gYXJtb3IgZm9ybWF0IG9mIHRoZSBzZW5kZXJcbiAqIEBwYXJhbSBwdWJsaWNLZXlUb0NlcnRBcm1vcmVkIGdwZyBwdWJsaWMga2V5IGluIGFybW9yIGZvbXJhdCBvZiB0aGUgcmVjaWV2ZXJcbiAqIEBwYXJhbSBub3RhdGlvbnMgZGF0YSB0byBiZSBwcm9vZmVkXG4gKiBAcmV0dXJuIHtzdHJpbmd9IGtleXNoYXJlIHByb29mXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVTaGFyZWREYXRhUHJvb2YoXG4gIHByaXZhdGVLZXlBcm1vcmVkOiBzdHJpbmcsXG4gIHB1YmxpY0tleVRvQ2VydEFybW9yZWQ6IHN0cmluZyxcbiAgbm90YXRpb25zOiB7IG5hbWU6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9W11cbik6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IGNlcnRpZnlpbmdLZXkgPSBhd2FpdCBwZ3AucmVhZEtleSh7IGFybW9yZWRLZXk6IHByaXZhdGVLZXlBcm1vcmVkIH0pO1xuICBjb25zdCBwdWJsaWNLZXlUb0NlcnQgPSBhd2FpdCBwZ3AucmVhZEtleSh7IGFybW9yZWRLZXk6IHB1YmxpY0tleVRvQ2VydEFybW9yZWQgfSk7XG4gIGNvbnN0IGRhdGVUaW1lID0gbmV3IERhdGUoKTtcbiAgLy8gVXNlcklkIFBhY2tldC5cbiAgY29uc3QgdXNlcklkUGt0ID0gbmV3IHBncC5Vc2VySURQYWNrZXQoKTtcbiAgY29uc3QgcHJpbWFyeVVzZXIgPSBhd2FpdCBwdWJsaWNLZXlUb0NlcnQuZ2V0UHJpbWFyeVVzZXIobnVsbCBhcyB1bmtub3duIGFzIHVuZGVmaW5lZCk7XG4gIC8vIEB0cy1pZ25vcmVcbiAgdXNlcklkUGt0LnVzZXJJRCA9IHByaW1hcnlVc2VyLnVzZXIudXNlcklELnVzZXJJRDtcbiAgLy8gU2lnbmF0dXJlIHBhY2tldC5cbiAgY29uc3Qgc2lnbmF0dXJlUGFja2V0ID0gbmV3IHBncC5TaWduYXR1cmVQYWNrZXQoKTtcbiAgc2lnbmF0dXJlUGFja2V0LnNpZ25hdHVyZVR5cGUgPSBwZ3AuZW51bXMuc2lnbmF0dXJlLmNlcnRQb3NpdGl2ZTtcbiAgc2lnbmF0dXJlUGFja2V0LnB1YmxpY0tleUFsZ29yaXRobSA9IHBncC5lbnVtcy5wdWJsaWNLZXkuZWNkc2E7XG4gIHNpZ25hdHVyZVBhY2tldC5oYXNoQWxnb3JpdGhtID0gcGdwLmVudW1zLmhhc2guc2hhMjU2O1xuICAvLyBAdHMtaWdub3JlXG4gIHNpZ25hdHVyZVBhY2tldC5pc3N1ZXJGaW5nZXJwcmludCA9IGF3YWl0IHByaW1hcnlVc2VyLnVzZXIubWFpbktleS5rZXlQYWNrZXQuZ2V0RmluZ2VycHJpbnRCeXRlcygpO1xuICAvLyBAdHMtaWdub3JlXG4gIHNpZ25hdHVyZVBhY2tldC5pc3N1ZXJLZXlJRCA9IHByaW1hcnlVc2VyLnVzZXIubWFpbktleS5rZXlQYWNrZXQua2V5SUQ7XG4gIC8vIEB0cy1pZ25vcmVcbiAgc2lnbmF0dXJlUGFja2V0LnNpZ25pbmdLZXlJRCA9IHByaW1hcnlVc2VyLnVzZXIubWFpbktleS5rZXlQYWNrZXQua2V5SUQ7XG4gIC8vIEB0cy1pZ25vcmVcbiAgc2lnbmF0dXJlUGFja2V0LnNpZ25lcnNVc2VySUQgPSBwcmltYXJ5VXNlci51c2VyLnVzZXJJRC51c2VySUQ7XG4gIC8vIEB0cy1pZ25vcmVcbiAgc2lnbmF0dXJlUGFja2V0LmZlYXR1cmVzID0gWzFdO1xuICBub3RhdGlvbnMuZm9yRWFjaCgoeyBuYW1lLCB2YWx1ZSB9KSA9PiB7XG4gICAgc2lnbmF0dXJlUGFja2V0LnJhd05vdGF0aW9ucy5wdXNoKHtcbiAgICAgIG5hbWU6IG5hbWUsXG4gICAgICB2YWx1ZTogbmV3IFVpbnQ4QXJyYXkoQnVmZmVyLmZyb20odmFsdWUpKSxcbiAgICAgIGh1bWFuUmVhZGFibGU6IHRydWUsXG4gICAgICBjcml0aWNhbDogZmFsc2UsXG4gICAgfSk7XG4gIH0pO1xuXG4gIC8vIFByZXBhcmUgc2lnbmluZyBkYXRhLlxuICBjb25zdCBrZXlkYXRhVG9TaWduID0ge307XG4gIC8vIEB0cy1pZ25vcmVcbiAga2V5ZGF0YVRvU2lnbi5rZXkgPSBwdWJsaWNLZXlUb0NlcnQua2V5UGFja2V0O1xuICAvLyBAdHMtaWdub3JlXG4gIGtleWRhdGFUb1NpZ24udXNlcklEID0gdXNlcklkUGt0O1xuXG4gIC8vIFNpZ24gdGhlIGRhdGEgKGNyZWF0ZSBjZXJ0aWZpY2F0aW9uKS5cbiAgLy8gQHRzLWlnbm9yZVxuICBhd2FpdCBzaWduYXR1cmVQYWNrZXQuc2lnbihjZXJ0aWZ5aW5nS2V5LmtleVBhY2tldCwga2V5ZGF0YVRvU2lnbiwgZGF0ZVRpbWUpO1xuXG4gIC8vIEFzc2VtYmxlIHBhY2tldHMgdG9nZXRoZXIuXG4gIGNvbnN0IHB1YmxpY0tleVRvQ2VydFBrdHMgPSBwdWJsaWNLZXlUb0NlcnQudG9QYWNrZXRMaXN0KCk7XG4gIGNvbnN0IG5ld0tleVBrdExpc3QgPSBuZXcgcGdwLlBhY2tldExpc3QoKTtcbiAgbmV3S2V5UGt0TGlzdC5wdXNoKC4uLnB1YmxpY0tleVRvQ2VydFBrdHMuc2xpY2UoMCwgMyksIHNpZ25hdHVyZVBhY2tldCwgLi4ucHVibGljS2V5VG9DZXJ0UGt0cy5zbGljZSgzKSk7XG4gIC8vIEB0cy1pZ25vcmVcbiAgY29uc3QgbmV3UHViS2V5ID0gbmV3IHBncC5QdWJsaWNLZXkobmV3S2V5UGt0TGlzdCk7XG4gIHJldHVybiBuZXdQdWJLZXkuYXJtb3IoKS5yZXBsYWNlKC9cXHJcXG4vZywgJ1xcbicpO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBLZXlTaGFyZSBQcm9vZiBiYXNlZCBvbiBnaXZlbiBhbGdvLlxuICpcbiAqIENyZWF0ZXMgYW4gRWREU0EgS2V5U2hhcmUgUHJvb2YgYnkgYXBwZW5kaW5nIGFuIGVkMjU1MTkgc3Via2V5IChhdXRoKSB0byBhbiBhcm1vcmVkIGdwZyBwcml2YXRlIGtleS5cbiAqIENyZWF0ZXMgYW4gRUNEU0EgS2V5U2hhcmUgUHJvb2YgYnkgQXBwZW5kIGEgc2VjcDI1NmsxIHN1YmtleSAoYXV0aCkgdG8gYSBQR1Aga2V5Y2hhaW4uXG4gKlxuICogQHBhcmFtIHByaXZhdGVBcm1vciBncGcgcHJpdmF0ZSBrZXkgaW4gYXJtb3IgZm9ybWF0XG4gKiBAcGFyYW0gdVZhbHVlIHUgdmFsdWUgZnJvbSBhbiBFZGRzYSBrZXlzaGFyZVxuICogQHBhcmFtIGFsZ28gYWxnbyB0byB1c2UsIGVkZHNhIG9yIGVjZHNhXG4gKiBAcmV0dXJuIHtzdHJpbmd9IGtleXNoYXJlIHByb29mXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVTaGFyZVByb29mKHByaXZhdGVBcm1vcjogc3RyaW5nLCB1VmFsdWU6IHN0cmluZywgYWxnbzogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgcHJpdmF0ZUtleSA9IGF3YWl0IHJlYWRLZXkoeyBhcm1vcmVkS2V5OiBwcml2YXRlQXJtb3IgfSk7XG4gIGNvbnN0IGRhdGVUaW1lID0gbmV3IERhdGUoKTtcbiAgLy8gQHRzLWlnbm9yZSAtIHR5cGUgaW5jb25zaXN0ZW5jeSwgdGhpcyBjdG9yIHN1cHBvcnRzIGEgZGF0ZSBwYXJhbTogaHR0cHM6Ly9kb2NzLm9wZW5wZ3Bqcy5vcmcvU2VjcmV0U3Via2V5UGFja2V0Lmh0bWxcbiAgY29uc3Qgc2VjcmV0U3Via2V5UGFja2V0ID0gbmV3IHBncC5TZWNyZXRTdWJrZXlQYWNrZXQoZGF0ZVRpbWUpO1xuICBzZWNyZXRTdWJrZXlQYWNrZXQuYWxnb3JpdGhtID0gcGdwLmVudW1zLnB1YmxpY0tleVthbGdvXTtcbiAgLy8gQHRzLWlnbm9yZSAtIHNhbWUgYXMgYWJvdmVcbiAgc2VjcmV0U3Via2V5UGFja2V0LmlzRW5jcnlwdGVkID0gZmFsc2U7XG4gIGxldCBvaWQ7XG4gIGxldCBRO1xuICBpZiAoYWxnbyA9PT0gJ2VkZHNhJykge1xuICAgIGF3YWl0IHNvZGl1bS5yZWFkeTtcbiAgICBjb25zdCBzdWJLZXlWYWwgPSBCdWZmZXIuZnJvbShcbiAgICAgIHNvZGl1bS5jcnlwdG9fc2NhbGFybXVsdF9lZDI1NTE5X2Jhc2Vfbm9jbGFtcChCdWZmZXIuZnJvbSh1VmFsdWUsICdoZXgnKSwgJ3VpbnQ4YXJyYXknKVxuICAgICk7XG4gICAgLy8gU3ViLWtleSAoZW5jcnlwdGlvbiBrZXkpIHBhY2tldC5cbiAgICBvaWQgPSBbMHgyYiwgMHgwNiwgMHgwMSwgMHgwNCwgMHgwMSwgMHhkYSwgMHg0NywgMHgwZiwgMHgwMV07XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIG9pZC53cml0ZSA9ICgpID0+IG5ldyBVaW50OEFycmF5KEJ1ZmZlci5mcm9tKCcwOTJiMDYwMTA0MDFkYTQ3MGYwMScsICdoZXgnKSk7XG4gICAgUSA9IG5ldyBVaW50OEFycmF5KFsweDQwLCAuLi5zdWJLZXlWYWxdKTtcbiAgfSBlbHNlIGlmIChhbGdvID09PSAnZWNkc2EnKSB7XG4gICAgb2lkID0gWzB4MmIsIDB4ODEsIDB4MDQsIDB4MDAsIDB4MGFdO1xuICAgIC8vIEB0cy1pZ25vcmUgLSBzYW1lIGFzIGFib3ZlXG4gICAgb2lkLndyaXRlID0gKCkgPT4gbmV3IFVpbnQ4QXJyYXkoQnVmZmVyLmZyb20oJzA1MmI4MTA0MDAwYScsICdoZXgnKSk7XG4gICAgUSA9IHNlY3AyNTZrMS5wb2ludEZyb21TY2FsYXIobmV3IFVpbnQ4QXJyYXkoQnVmZmVyLmZyb20odVZhbHVlLCAnaGV4JykpLCBmYWxzZSk7XG4gIH1cbiAgc2VjcmV0U3Via2V5UGFja2V0LnB1YmxpY1BhcmFtcyA9IHtcbiAgICBvaWQsXG4gICAgUSxcbiAgfTtcbiAgLy8gQHRzLWlnbm9yZSAtIHNhbWUgYXMgYWJvdmVcbiAgYXdhaXQgc2VjcmV0U3Via2V5UGFja2V0LmNvbXB1dGVGaW5nZXJwcmludEFuZEtleUlEKCk7XG5cbiAgLy8gU3ViLWtleSBzaWduYXR1cmUgcGFja2V0LlxuICBjb25zdCBzdWJLZXlkYXRhVG9TaWduID0ge1xuICAgIGtleTogcHJpdmF0ZUtleS5rZXlQYWNrZXQsXG4gICAgYmluZDogc2VjcmV0U3Via2V5UGFja2V0LFxuICB9O1xuICBjb25zdCBzdWJrZXlTaWduYXR1cmVQYWNrZXQgPSBuZXcgcGdwLlNpZ25hdHVyZVBhY2tldCgpO1xuICBzdWJrZXlTaWduYXR1cmVQYWNrZXQuc2lnbmF0dXJlVHlwZSA9IHBncC5lbnVtcy5zaWduYXR1cmUuc3Via2V5QmluZGluZztcbiAgc3Via2V5U2lnbmF0dXJlUGFja2V0LnB1YmxpY0tleUFsZ29yaXRobSA9IHBncC5lbnVtcy5wdWJsaWNLZXkuZWNkc2E7XG4gIHN1YmtleVNpZ25hdHVyZVBhY2tldC5oYXNoQWxnb3JpdGhtID0gcGdwLmVudW1zLmhhc2guc2hhMjU2O1xuICBzdWJrZXlTaWduYXR1cmVQYWNrZXQua2V5RmxhZ3MgPSBuZXcgVWludDhBcnJheShbcGdwLmVudW1zLmtleUZsYWdzLmF1dGhlbnRpY2F0aW9uXSk7XG5cbiAgLy8gU2lnbiB0aGUgc3Via2V5XG4gIC8vIEB0cy1pZ25vcmUgLSBzaWduIHN1cHBvcnRzIGFyYml0cmFyeSBkYXRhIGZvciAybmQgcGFyYW06IGh0dHBzOi8vZG9jcy5vcGVucGdwanMub3JnL1NpZ25hdHVyZVBhY2tldC5odG1sXG4gIGF3YWl0IHN1YmtleVNpZ25hdHVyZVBhY2tldC5zaWduKHByaXZhdGVLZXkua2V5UGFja2V0LCBzdWJLZXlkYXRhVG9TaWduLCBkYXRlVGltZSk7XG5cbiAgLy8gQXNzZW1ibGUgcGFja2V0cyB0b2dldGhlci5cbiAgY29uc3QgbmV3S2V5UGt0TGlzdCA9IG5ldyBwZ3AuUGFja2V0TGlzdCgpO1xuICBjb25zdCBwcml2YXRlS2V5UGt0cyA9IHByaXZhdGVLZXkudG9QYWNrZXRMaXN0KCk7XG4gIHByaXZhdGVLZXlQa3RzLmZvckVhY2goKHBhY2tldCkgPT4gbmV3S2V5UGt0TGlzdC5wdXNoKHBhY2tldCkpO1xuICBuZXdLZXlQa3RMaXN0LnB1c2goc2VjcmV0U3Via2V5UGFja2V0LCBzdWJrZXlTaWduYXR1cmVQYWNrZXQpO1xuICAvLyBAdHMtaWdub3JlIC0gc3VwcG9ydHMgcGFja2V0IGxpc3QgYXMgY3RvciBwYXJhbTogaHR0cHM6Ly9kb2NzLm9wZW5wZ3Bqcy5vcmcvUHJpdmF0ZUtleS5odG1sXG4gIGNvbnN0IG5ld1B1YktleSA9IG5ldyBwZ3AuUHJpdmF0ZUtleShuZXdLZXlQa3RMaXN0KS50b1B1YmxpYygpO1xuXG4gIGlmICghKGF3YWl0IHZlcmlmeVByaW1hcnlVc2VyV3JhcHBlcihuZXdQdWJLZXksIHByaXZhdGVLZXksIHRydWUpKVswXS52YWxpZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW5jb3JyZWN0IHNpZ25hdHVyZScpO1xuICB9XG5cbiAgcmV0dXJuIG5ld1B1YktleS5hcm1vcigpLnJlcGxhY2UoL1xcclxcbi9nLCAnXFxuJyk7XG59XG5cbi8qKlxuICogRW5jcnlwdHMgc3RyaW5nIHVzaW5nIGdwZyBrZXlcbiAqIEBERVBSRUNBVEVEIC0gc2hvdWxkIHVzZSBlbmNyeXB0QW5kU2lnblRleHQgaW5zdGVhZCBmb3IgYWRkZWQgc2VjdXJpdHlcbiAqXG4gKiBAcGFyYW0gdGV4dCBzdHJpbmcgdG8gZW5jcnlwdFxuICogQHBhcmFtIGtleSBlbmNyeXB0aW9uIGtleVxuICogQHJldHVybiB7c3RyaW5nfSBlbmNyeXB0ZWQgc3RyaW5nXG4gKlxuICogVE9ETyhCRy00NzE3MCk6IERlbGV0ZSBvbmNlIGdwZyBzaWduYXR1cmVzIGFyZSBmdWxseSBzdXBwb3J0ZWRcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVuY3J5cHRUZXh0KHRleHQ6IHN0cmluZywga2V5OiBLZXkpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBtZXNzYWdlVG9FbmNyeXB0ID0gYXdhaXQgY3JlYXRlTWVzc2FnZSh7XG4gICAgdGV4dCxcbiAgfSk7XG4gIHJldHVybiBhd2FpdCBlbmNyeXB0KHtcbiAgICBtZXNzYWdlOiBtZXNzYWdlVG9FbmNyeXB0LFxuICAgIGVuY3J5cHRpb25LZXlzOiBba2V5XSxcbiAgICBmb3JtYXQ6ICdhcm1vcmVkJyxcbiAgICBjb25maWc6IHtcbiAgICAgIHJlamVjdEN1cnZlczogbmV3IFNldCgpLFxuICAgICAgc2hvd1ZlcnNpb246IGZhbHNlLFxuICAgICAgc2hvd0NvbW1lbnQ6IGZhbHNlLFxuICAgIH0sXG4gIH0pO1xufVxuXG4vKipcbiAqIEVuY3J5cHRzIGFuZCBzaWducyBhIHN0cmluZ1xuICogQHBhcmFtIHRleHQgc3RyaW5nIHRvIGVuY3J5cHQgYW5kIHNpZ25cbiAqIEBwYXJhbSBwdWJsaWNBcm1vciBwdWJsaWMga2V5IHRvIGVuY3J5cHQgd2l0aFxuICogQHBhcmFtIHByaXZhdGVBcm1vciBwcml2YXRlIGtleSB0byBzaWduIHdpdGhcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVuY3J5cHRBbmRTaWduVGV4dCh0ZXh0OiBzdHJpbmcsIHB1YmxpY0FybW9yOiBzdHJpbmcsIHByaXZhdGVBcm1vcjogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgcHVibGljS2V5ID0gYXdhaXQgcmVhZEtleSh7IGFybW9yZWRLZXk6IHB1YmxpY0FybW9yIH0pO1xuICBjb25zdCBwcml2YXRlS2V5ID0gYXdhaXQgcmVhZFByaXZhdGVLZXkoeyBhcm1vcmVkS2V5OiBwcml2YXRlQXJtb3IgfSk7XG5cbiAgY29uc3QgbWVzc2FnZSA9IGF3YWl0IGNyZWF0ZU1lc3NhZ2UoeyB0ZXh0IH0pO1xuXG4gIGNvbnN0IHNpZ25lZE1lc3NhZ2UgPSBhd2FpdCBlbmNyeXB0KHtcbiAgICBtZXNzYWdlLFxuICAgIGVuY3J5cHRpb25LZXlzOiBwdWJsaWNLZXksXG4gICAgc2lnbmluZ0tleXM6IHByaXZhdGVLZXksXG4gICAgZm9ybWF0OiAnYXJtb3JlZCcsXG4gICAgY29uZmlnOiB7XG4gICAgICByZWplY3RDdXJ2ZXM6IG5ldyBTZXQoKSxcbiAgICAgIHNob3dWZXJzaW9uOiBmYWxzZSxcbiAgICAgIHNob3dDb21tZW50OiBmYWxzZSxcbiAgICB9LFxuICB9KTtcblxuICByZXR1cm4gc2lnbmVkTWVzc2FnZTtcbn1cblxuLyoqXG4gKiBSZWFkcyBhIHNpZ25lZCBhbmQgZW5jcnlwdGVkIG1lc3NhZ2VcbiAqXG4gKiBAcGFyYW0gc2lnbmVkIHNpZ25lZCBhbmQgZW5jcnlwdGVkIG1lc3NhZ2VcbiAqIEBwYXJhbSBwdWJsaWNBcm1vciBwdWJsaWMga2V5IHRvIHZlcmlmeSBzaWduYXR1cmVcbiAqIEBwYXJhbSBwcml2YXRlQXJtb3IgcHJpdmF0ZSBrZXkgdG8gZGVjcnlwdCBtZXNzYWdlXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWFkU2lnbmVkTWVzc2FnZShzaWduZWQ6IHN0cmluZywgcHVibGljQXJtb3I6IHN0cmluZywgcHJpdmF0ZUFybW9yOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBwdWJsaWNLZXkgPSBhd2FpdCByZWFkS2V5KHsgYXJtb3JlZEtleTogcHVibGljQXJtb3IgfSk7XG4gIGNvbnN0IHByaXZhdGVLZXkgPSBhd2FpdCByZWFkUHJpdmF0ZUtleSh7IGFybW9yZWRLZXk6IHByaXZhdGVBcm1vciB9KTtcblxuICBjb25zdCBtZXNzYWdlID0gYXdhaXQgcmVhZE1lc3NhZ2UoeyBhcm1vcmVkTWVzc2FnZTogc2lnbmVkIH0pO1xuICBjb25zdCBkZWNyeXB0ZWQgPSBhd2FpdCBkZWNyeXB0KHtcbiAgICBtZXNzYWdlLFxuICAgIHZlcmlmaWNhdGlvbktleXM6IHB1YmxpY0tleSxcbiAgICBkZWNyeXB0aW9uS2V5czogcHJpdmF0ZUtleSxcbiAgICBleHBlY3RTaWduZWQ6IHRydWUsXG4gICAgY29uZmlnOiB7IHJlamVjdEN1cnZlczogbmV3IFNldCgpIH0sXG4gIH0pO1xuXG4gIHJldHVybiBkZWNyeXB0ZWQuZGF0YTtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSBzaWduYXR1cmVcbiAqXG4gKiBAcGFyYW0gdGV4dCBzdHJpbmcgdG8gZ2VuZXJhdGUgYSBzaWduYXR1cmUgZm9yXG4gKiBAcGFyYW0gcHJpdmF0ZUFybW9yIHByaXZhdGUga2V5IGFzIGFybW9yZWQgc3RyaW5nXG4gKiBAcmV0dXJuIHtzdHJpbmd9IGFybW9yZWQgc2lnbmF0dXJlIHN0cmluZ1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2lnblRleHQodGV4dDogc3RyaW5nLCBwcml2YXRlQXJtb3I6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHByaXZhdGVLZXkgPSBhd2FpdCByZWFkUHJpdmF0ZUtleSh7IGFybW9yZWRLZXk6IHByaXZhdGVBcm1vciB9KTtcbiAgY29uc3QgbWVzc2FnZSA9IGF3YWl0IGNyZWF0ZU1lc3NhZ2UoeyB0ZXh0IH0pO1xuICBjb25zdCBzaWduYXR1cmUgPSBhd2FpdCBzaWduKHtcbiAgICBtZXNzYWdlLFxuICAgIHNpZ25pbmdLZXlzOiBwcml2YXRlS2V5LFxuICAgIGZvcm1hdDogJ2FybW9yZWQnLFxuICAgIGRldGFjaGVkOiB0cnVlLFxuICB9KTtcblxuICByZXR1cm4gc2lnbmF0dXJlO1xufVxuXG4vKipcbiAqIFZlcmlmaWVzIHNpZ25hdHVyZSB3YXMgZ2VuZXJhdGVkIGJ5IHRoZSBwdWJsaWMga2V5IGFuZCBtYXRjaGVzIHRoZSBleHBlY3RlZCB0ZXh0XG4gKlxuICogQHBhcmFtIHRleHQgdGV4dCB0aGF0IHRoZSBzaWduYXR1cmUgd2FzIGZvclxuICogQHBhcmFtIGFybW9yZWRTaWduYXR1cmUgc2lnbmVkIG1lc3NhZ2UgYXMgYW4gYXJtb3JlZCBzdHJpbmdcbiAqIEBwYXJhbSBwdWJsaWNBcm1vciBwdWJsaWMga2V5IHRoYXQgZ2VuZXJhdGVkIHRoZSBzaWduYXR1cmVcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHZlcmlmeVNpZ25hdHVyZSh0ZXh0OiBzdHJpbmcsIGFybW9yZWRTaWduYXR1cmU6IHN0cmluZywgcHVibGljQXJtb3I6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBjb25zdCBwdWJsaWNLZXkgPSBhd2FpdCByZWFkS2V5KHsgYXJtb3JlZEtleTogcHVibGljQXJtb3IgfSk7XG4gIGNvbnN0IHNpZ25hdHVyZSA9IGF3YWl0IHJlYWRTaWduYXR1cmUoeyBhcm1vcmVkU2lnbmF0dXJlIH0pO1xuICBjb25zdCBtZXNzYWdlID0gYXdhaXQgY3JlYXRlTWVzc2FnZSh7IHRleHQgfSk7XG4gIGNvbnN0IHZlcmlmaWNhdGlvblJlc3VsdCA9IGF3YWl0IHZlcmlmeSh7XG4gICAgbWVzc2FnZSxcbiAgICBzaWduYXR1cmUsXG4gICAgdmVyaWZpY2F0aW9uS2V5czogcHVibGljS2V5LFxuICB9KTtcblxuICBpZiAodmVyaWZpY2F0aW9uUmVzdWx0LnNpZ25hdHVyZXMubGVuZ3RoICE9PSAxKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIG51bWJlciBvZiBzaWduYXR1cmVzJyk7XG4gIH1cblxuICB0cnkge1xuICAgIGF3YWl0IHZlcmlmaWNhdGlvblJlc3VsdC5zaWduYXR1cmVzWzBdLnZlcmlmaWVkO1xuICAgIHJldHVybiB0ZXh0ID09PSB2ZXJpZmljYXRpb25SZXN1bHQuZGF0YTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKlxuICogR2VuZXJhdGUgYSBHUEcga2V5IHBhaXJcbiAqXG4gKiBAcGFyYW06IGtleUN1cnZlIHRoZSBjdXJ2ZSB0byBjcmVhdGUgYSBrZXkgd2l0aFxuICogQHBhcmFtOiB1c2VybmFtZSBuYW1lIG9mIHRoZSB1c2VyIChvcHRpb25hbClcbiAqIEBwYXJhbTogZW1haWwgZW1haWwgb2YgdGhlIHVzZXIgKG9wdGlvbmFsKVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2VuZXJhdGVHUEdLZXlQYWlyKFxuICBrZXlDdXJ2ZTogcGdwLkVsbGlwdGljQ3VydmVOYW1lLFxuICB1c2VybmFtZT86IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgZW1haWw/OiBzdHJpbmcgfCB1bmRlZmluZWRcbik6IFByb21pc2U8cGdwLlNlcmlhbGl6ZWRLZXlQYWlyPHN0cmluZz4+IHtcbiAgY29uc3QgcmFuZG9tSGV4U3RyaW5nID0gY3J5cHRvLnJhbmRvbUJ5dGVzKDEyKS50b1N0cmluZygnaGV4Jyk7XG4gIHVzZXJuYW1lID0gdXNlcm5hbWUgPz8gcmFuZG9tSGV4U3RyaW5nO1xuICBlbWFpbCA9IGVtYWlsID8/IGB1c2VyLSR7cmFuZG9tSGV4U3RyaW5nfUAke3JhbmRvbUhleFN0cmluZ30uY29tYDtcblxuICAvLyBBbGxvdyBnZW5lcmF0aW5nIHNlY3AyNTZrMSBrZXkgcGFpcnNcbiAgcGdwLmNvbmZpZy5yZWplY3RDdXJ2ZXMgPSBuZXcgU2V0KCk7XG4gIGNvbnN0IGdwZ0tleSA9IGF3YWl0IHBncC5nZW5lcmF0ZUtleSh7XG4gICAgdXNlcklEczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiB1c2VybmFtZSxcbiAgICAgICAgZW1haWwsXG4gICAgICB9LFxuICAgIF0sXG4gICAgY3VydmU6IGtleUN1cnZlLFxuICB9KTtcblxuICByZXR1cm4gZ3BnS2V5O1xufVxuIl19
|
|
410
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlbmdwZ1V0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3V0aWxzL29wZW5ncGdVdGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsc0RBQXNEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXFDdEQsOENBb0JDO0FBVUQsNERBVUM7QUFXRCw0Q0F5QkM7QUFVRCxzREFxQkM7QUFVRCxzREF1REM7QUFhRCw0Q0E2REM7QUFZRCxrQ0FjQztBQVFELGdEQW1CQztBQVNELDhDQWNDO0FBU0QsNEJBV0M7QUFTRCwwQ0FvQkM7QUFTRCxnREEwQkM7QUF6YkQsNkNBQStCO0FBQy9CLHFDQVdpQjtBQUNqQiwwQ0FBNEI7QUFDNUIscURBQXlEO0FBRXpELG9EQUE0QjtBQUU1QixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQVlsRDs7OztHQUlHO0FBQ0ksS0FBSyxVQUFVLGlCQUFpQixDQUNyQyxLQUFnQjtJQUVoQixNQUFNLFNBQVMsR0FBRyxNQUFNLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMvQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDcEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxzRUFBc0UsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFRCxNQUFNLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsY0FBd0IsQ0FBQztJQUNqRSxNQUFNLHNCQUFzQixHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsbUJBQW1CO1FBQzlELENBQUMsQ0FBQyxNQUFNLElBQUEsaUJBQU8sRUFBQyxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLG1CQUE2QixFQUFFLENBQUM7UUFDNUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNkLE1BQU0sMkJB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QUFXLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9ELFFBQVEsR0FBRyxRQUFRLElBQUksZUFBZSxDQUFDO0lBQ3ZDLEtBQUssR0FBRyxLQUFLLElBQUksUUFBUSxlQUFlLElBQUksZUFBZSxNQUFNLENBQUM7SUFFbEUsdUNBQXVDO0lBQ3ZDLEdBQUcsQ0FBQyxNQUFNLENBQUMsWUFBWSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFFcEMsTUFBTSxPQUFPLEdBQUcsUUFBUSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBeUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBRWhILE1BQU0sTUFBTSxHQUFHLE1BQU0sR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUNuQyxPQUFPLEVBQUU7WUFDUDtnQkFDRSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxLQUFLO2FBQ047U0FDRjtRQUNELEtBQUssRUFBRSxRQUFRO1FBQ2YsR0FBRyxDQUFDLE9BQU8sSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO0tBQzVCLENBQUMsQ0FBQztJQUVILE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnQgKi9cblxuaW1wb3J0ICogYXMgcGdwIGZyb20gJ29wZW5wZ3AnO1xuaW1wb3J0IHtcbiAgY3JlYXRlTWVzc2FnZSxcbiAgZGVjcnlwdCxcbiAgZW5jcnlwdCxcbiAgS2V5LFxuICByZWFkS2V5LFxuICByZWFkTWVzc2FnZSxcbiAgcmVhZFByaXZhdGVLZXksXG4gIHJlYWRTaWduYXR1cmUsXG4gIHNpZ24sXG4gIHZlcmlmeSxcbn0gZnJvbSAnb3BlbnBncCc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBlY2MgYXMgc2VjcDI1NmsxIH0gZnJvbSAnQGJpdGdvLWJldGEvc2VjcDI1NmsxJztcbmltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJy4uL2JpdGdvQmFzZSc7XG5pbXBvcnQgY3J5cHRvIGZyb20gJ2NyeXB0byc7XG5cbmNvbnN0IHNvZGl1bSA9IHJlcXVpcmUoJ2xpYnNvZGl1bS13cmFwcGVycy1zdW1vJyk7XG5cbmV4cG9ydCB0eXBlIEtleVZhbGlkaXR5RGljdCA9IHtcbiAga2V5SUQ6IHBncC5LZXlJRDtcbiAgdmFsaWQ6IGJvb2xlYW4gfCBudWxsO1xufVtdO1xuXG5leHBvcnQgdHlwZSBBdXRoRW5jTWVzc2FnZSA9IHtcbiAgZW5jcnlwdGVkTWVzc2FnZTogc3RyaW5nO1xuICBzaWduYXR1cmU6IHN0cmluZztcbn07XG5cbi8qKlxuICogRmV0Y2hlcyBCaXRHbydzIHB1YmxpYyBncGcga2V5IHVzZWQgaW4gTVBDIGZsb3dzXG4gKiBAcGFyYW0ge0JpdEdvQmFzZX0gYml0Z28gQml0R28gb2JqZWN0XG4gKiBAcmV0dXJuIHtLZXl9IHB1YmxpYyBncGcga2V5XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRCaXRnb0dwZ1B1YktleShcbiAgYml0Z286IEJpdEdvQmFzZVxuKTogUHJvbWlzZTx7IG1wY1YxOiBLZXk7IG1wY1YyOiBLZXkgfCB1bmRlZmluZWQ7IGVkZHNhTXBjVjI6IEtleSB8IHVuZGVmaW5lZCB9PiB7XG4gIGNvbnN0IGNvbnN0YW50cyA9IGF3YWl0IGJpdGdvLmZldGNoQ29uc3RhbnRzKCk7XG4gIGlmICghY29uc3RhbnRzLm1wYyB8fCAhY29uc3RhbnRzLm1wYy5iaXRnb1B1YmxpY0tleSkge1xuICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGNyZWF0ZSBNUEMga2V5cyAtIGJpdGdvUHVibGljS2V5IGlzIG1pc3NpbmcgZnJvbSBjb25zdGFudHMnKTtcbiAgfVxuXG4gIGNvbnN0IGJpdGdvUHVibGljS2V5U3RyID0gY29uc3RhbnRzLm1wYy5iaXRnb1B1YmxpY0tleSBhcyBzdHJpbmc7XG4gIGNvbnN0IGJpdGdvTVBDdjJQdWJsaWNLZXlTdHIgPSBjb25zdGFudHMubXBjLmJpdGdvTVBDdjJQdWJsaWNLZXlcbiAgICA/IGF3YWl0IHJlYWRLZXkoeyBhcm1vcmVkS2V5OiBjb25zdGFudHMubXBjLmJpdGdvTVBDdjJQdWJsaWNLZXkgYXMgc3RyaW5nIH0pXG4gICAgOiB1bmRlZmluZWQ7XG4gIGNvbnN0IGJpdGdvRWRkc2FNcGN2MlB1YmxpY0tleVN0ciA9IGNvbnN0YW50cy5tcGMuYml0Z29FZGRzYU1wY3YyUHVibGljS2V5XG4gICAgPyBhd2FpdCByZWFkS2V5KHsgYXJtb3JlZEtleTogY29uc3RhbnRzLm1wYy5iaXRnb0VkZHNhTXBjdjJQdWJsaWNLZXkgYXMgc3RyaW5nIH0pXG4gICAgOiB1bmRlZmluZWQ7XG4gIHJldHVybiB7XG4gICAgbXBjVjE6IGF3YWl0IHJlYWRLZXkoeyBhcm1vcmVkS2V5OiBiaXRnb1B1YmxpY0tleVN0ciB9KSxcbiAgICBtcGNWMjogYml0Z29NUEN2MlB1YmxpY0tleVN0cixcbiAgICBlZGRzYU1wY1YyOiBiaXRnb0VkZHNhTXBjdjJQdWJsaWNLZXlTdHIsXG4gIH07XG59XG5cbi8qKlxuICogVmVyaWZpZXMgdGhlIHByaW1hcnkgdXNlciBvbiBhIEdQRyBrZXkgdXNpbmcgYSByZWZlcmVuY2Uga2V5IHJlcHJlc2VudGluZyB0aGUgdXNlciB0byBiZSBjaGVja2VkLlxuICogQWxsb3dzIGEgdmVyaWZpY2F0aW9uIHdpdGhvdXQgYSBkYXRlIGNoZWNrIGJ5IHdyYXBwaW5nIHZlcmlmeVByaW1hcnlVc2VyIG9mIG9wZW5wZ3AuXG4gKiBAcGFyYW0ge0tleX0gcHViS2V5IGdwZyBrZXkgdG8gY2hlY2sgdGhlIHByaW1hcnkgdXNlciBvZi5cbiAqIEBwYXJhbSB7S2V5fSBwcmltYXJ5VXNlciBncGcga2V5IG9mIHRoZSB1c2VyIHRvIGNoZWNrLlxuICogQHBhcmFtIHtib29sZWFufSBjaGVja0RhdGVzIElmIGZhbHNlLCBkaXNhYmxlIGRhdGUgY2hlY2tzIGluIHRoZSBvcGVucGdwIGNhbGwgdG8gY2hlY2sgdGhlIHByaW1hcnkgdXNlci5cbiAqIEByZXR1cm4ge0tleVZhbGlkaXR5RGljdH0gbGlzdCBvZiB1c2VycyBjaGVja2VkIGFuZCB3aGV0aGVyIGVhY2ggcGFzc2VkIGFzIGEgcHJpbWFyeSB1c2VyIGluIHB1YktleSBvciBub3QuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2ZXJpZnlQcmltYXJ5VXNlcldyYXBwZXIoXG4gIHB1YktleTogS2V5LFxuICBwcmltYXJ5VXNlcjogS2V5LFxuICBjaGVja0RhdGVzOiBib29sZWFuXG4pOiBQcm9taXNlPEtleVZhbGlkaXR5RGljdD4ge1xuICBpZiAoY2hlY2tEYXRlcykge1xuICAgIHJldHVybiBhd2FpdCBwdWJLZXkudmVyaWZ5UHJpbWFyeVVzZXIoW3ByaW1hcnlVc2VyXSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGF3YWl0IHB1YktleS52ZXJpZnlQcmltYXJ5VXNlcihbcHJpbWFyeVVzZXJdLCBudWxsIGFzIHVua25vd24gYXMgdW5kZWZpbmVkKTtcbiAgfVxufVxuXG4vKipcbiAqIFZlcmlmeSBhbiBFZGRzYSBvciBFY2RzYSBLZXlTaGFyZSBQcm9vZi5cbiAqXG4gKiBAcGFyYW0gc2VuZGVyUHViS2V5IHB1YmxpYyBrZXkgb2YgdGhlIHNlbmRlciBvZiB0aGUgcHJpdmF0ZVNoYXJlUHJvb2ZcbiAqIEBwYXJhbSBwcml2YXRlU2hhcmVQcm9vZiB1IHZhbHVlIHByb29mXG4gKiBAcGFyYW0gdVZhbHVlIHUgdmFsdWUgZnJvbSBhbiBFZGRzYSBrZXlzaGFyZVxuICogQHBhcmFtIGFsZ29cbiAqIEByZXR1cm4ge2Jvb2xlYW59IHdoZXRoZXIgdVZhbHVlIHByb29mIGFjdHVhbGx5IHdhcyBzaWduZWQgYnkgc2VuZGVyIGFzIHBhcnQgb2YgdGhlaXIgc3Via2V5c1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdmVyaWZ5U2hhcmVQcm9vZihcbiAgc2VuZGVyUHViS2V5OiBzdHJpbmcsXG4gIHByaXZhdGVTaGFyZVByb29mOiBzdHJpbmcsXG4gIHVWYWx1ZTogc3RyaW5nLFxuICBhbGdvOiAnZWRkc2EnIHwgJ2VjZHNhJ1xuKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGNvbnN0IGRlY29kZWRQcm9vZiA9IGF3YWl0IHBncC5yZWFkS2V5KHsgYXJtb3JlZEtleTogcHJpdmF0ZVNoYXJlUHJvb2YgfSk7XG4gIGNvbnN0IHNlbmRlckdwZ0tleSA9IGF3YWl0IHBncC5yZWFkS2V5KHsgYXJtb3JlZEtleTogc2VuZGVyUHViS2V5IH0pO1xuICBpZiAoIShhd2FpdCB2ZXJpZnlQcmltYXJ5VXNlcldyYXBwZXIoZGVjb2RlZFByb29mLCBzZW5kZXJHcGdLZXksIHRydWUpKVswXS52YWxpZCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBjb25zdCBwcm9vZlN1YmtleXMgPSBkZWNvZGVkUHJvb2YuZ2V0U3Via2V5cygpWzFdO1xuICBpZiAoYWxnbyA9PT0gJ2VkZHNhJykge1xuICAgIGNvbnN0IGRlY29kZWRVVmFsdWVQcm9vZiA9IEJ1ZmZlci5mcm9tKHByb29mU3Via2V5cy5rZXlQYWNrZXQucHVibGljUGFyYW1zWydRJ10uc2xpY2UoMSkpLnRvU3RyaW5nKCdoZXgnKTtcbiAgICBjb25zdCByYXdVVmFsdWVQcm9vZiA9IEJ1ZmZlci5mcm9tKFxuICAgICAgc29kaXVtLmNyeXB0b19zY2FsYXJtdWx0X2VkMjU1MTlfYmFzZV9ub2NsYW1wKEJ1ZmZlci5mcm9tKHVWYWx1ZSwgJ2hleCcpKVxuICAgICkudG9TdHJpbmcoJ2hleCcpO1xuICAgIHJldHVybiBkZWNvZGVkVVZhbHVlUHJvb2YgPT09IHJhd1VWYWx1ZVByb29mO1xuICB9IGVsc2UgaWYgKGFsZ28gPT09ICdlY2RzYScpIHtcbiAgICBjb25zdCBkZWNvZGVkVVZhbHVlUHJvb2YgPSBCdWZmZXIuZnJvbShwcm9vZlN1YmtleXMua2V5UGFja2V0LnB1YmxpY1BhcmFtc1snUSddKS50b1N0cmluZygnaGV4Jyk7XG4gICAgY29uc3QgcmF3VVZhbHVlUHJvb2YgPSBzZWNwMjU2azEucG9pbnRGcm9tU2NhbGFyKEJ1ZmZlci5mcm9tKHVWYWx1ZSwgJ2hleCcpLCBmYWxzZSk7XG4gICAgcmV0dXJuIHJhd1VWYWx1ZVByb29mICE9PSBudWxsICYmIGRlY29kZWRVVmFsdWVQcm9vZiA9PT0gQnVmZmVyLmZyb20ocmF3VVZhbHVlUHJvb2YpLnRvU3RyaW5nKCdoZXgnKTtcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgYWxnb3JpdGhtIHByb3ZpZGVkJyk7XG4gIH1cbn1cblxuLyoqXG4gKiBWZXJpZnkgYSBzaGFyZWQgZGF0YSBwcm9vZi5cbiAqXG4gKiBAcGFyYW0gc2VuZGVyUHViS2V5QXJtIHB1YmxpYyBrZXkgb2YgdGhlIHNpZ25lciBvZiB0aGUga2V5IHdpdGggcHJvb2YgZGF0YVxuICogQHBhcmFtIGtleVdpdGhOb3RhdGlvbiBzaWduZWQgcmVjaWV2ZXIga2V5IHdpdGggbm90YXRpb24gZGF0YVxuICogQHBhcmFtIGRhdGFUb1ZlcmlmeSBkYXRhIHRvIGJlIGNoZWNrZWQgYWdhaW5zdCBub3RhdGlvbiBkYXRhIGluIHRoZSBzaWduZWQga2V5XG4gKiBAcmV0dXJuIHtib29sZWFufSB3aGV0aGVyIHByb29mIGlzIHZhbGlkXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2ZXJpZnlTaGFyZWREYXRhUHJvb2YoXG4gIHNlbmRlclB1YktleUFybTogc3RyaW5nLFxuICBrZXlXaXRoTm90YXRpb246IHN0cmluZyxcbiAgZGF0YVRvVmVyaWZ5OiB7IG5hbWU6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9W11cbik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBjb25zdCBzZW5kZXJQdWJLZXkgPSBhd2FpdCBwZ3AucmVhZEtleSh7IGFybW9yZWRLZXk6IHNlbmRlclB1YktleUFybSB9KTtcbiAgY29uc3Qgc2lnbmVkS2V5ID0gYXdhaXQgcGdwLnJlYWRLZXkoeyBhcm1vcmVkS2V5OiBrZXlXaXRoTm90YXRpb24gfSk7XG4gIGlmIChcbiAgICAhKGF3YWl0IHZlcmlmeVByaW1hcnlVc2VyV3JhcHBlcihzaWduZWRLZXksIHNlbmRlclB1YktleSwgZmFsc2UpLnRoZW4oKHZhbHVlcykgPT5cbiAgICAgIF8uc29tZSh2YWx1ZXMsICh2YWx1ZSkgPT4gdmFsdWUudmFsaWQpXG4gICAgKSlcbiAgKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IHByaW1hcnlVc2VyID0gYXdhaXQgc2lnbmVkS2V5LmdldFByaW1hcnlVc2VyKG51bGwgYXMgdW5rbm93biBhcyB1bmRlZmluZWQpO1xuICBjb25zdCBhbnlJbnZhbGlkUHJvb2YgPSBfLnNvbWUoXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHByaW1hcnlVc2VyLnVzZXIub3RoZXJDZXJ0aWZpY2F0aW9uc1swXS5yYXdOb3RhdGlvbnMsXG4gICAgKG5vdGF0aW9uKSA9PiBkYXRhVG9WZXJpZnkuZmluZCgoaSkgPT4gaS5uYW1lID09PSBub3RhdGlvbi5uYW1lKT8udmFsdWUgIT09IEJ1ZmZlci5mcm9tKG5vdGF0aW9uLnZhbHVlKS50b1N0cmluZygpXG4gICk7XG4gIHJldHVybiAhYW55SW52YWxpZFByb29mO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBwcm9vZiB0aHJvdWdoIGFkZGluZyBub3RhdGlvbiBkYXRhIHRvIGEgR1BHIGNlcml0aWZ5aW5nIHNpZ25hdHVyZS5cbiAqXG4gKiBAcGFyYW0gcHJpdmF0ZUtleUFybW9yZWQgZ3BnIHByaXZhdGUga2V5IGluIGFybW9yIGZvcm1hdCBvZiB0aGUgc2VuZGVyXG4gKiBAcGFyYW0gcHVibGljS2V5VG9DZXJ0QXJtb3JlZCBncGcgcHVibGljIGtleSBpbiBhcm1vciBmb21yYXQgb2YgdGhlIHJlY2lldmVyXG4gKiBAcGFyYW0gbm90YXRpb25zIGRhdGEgdG8gYmUgcHJvb2ZlZFxuICogQHJldHVybiB7c3RyaW5nfSBrZXlzaGFyZSBwcm9vZlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlU2hhcmVkRGF0YVByb29mKFxuICBwcml2YXRlS2V5QXJtb3JlZDogc3RyaW5nLFxuICBwdWJsaWNLZXlUb0NlcnRBcm1vcmVkOiBzdHJpbmcsXG4gIG5vdGF0aW9uczogeyBuYW1lOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdXG4pOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBjZXJ0aWZ5aW5nS2V5ID0gYXdhaXQgcGdwLnJlYWRLZXkoeyBhcm1vcmVkS2V5OiBwcml2YXRlS2V5QXJtb3JlZCB9KTtcbiAgY29uc3QgcHVibGljS2V5VG9DZXJ0ID0gYXdhaXQgcGdwLnJlYWRLZXkoeyBhcm1vcmVkS2V5OiBwdWJsaWNLZXlUb0NlcnRBcm1vcmVkIH0pO1xuICBjb25zdCBkYXRlVGltZSA9IG5ldyBEYXRlKCk7XG4gIC8vIFVzZXJJZCBQYWNrZXQuXG4gIGNvbnN0IHVzZXJJZFBrdCA9IG5ldyBwZ3AuVXNlcklEUGFja2V0KCk7XG4gIGNvbnN0IHByaW1hcnlVc2VyID0gYXdhaXQgcHVibGljS2V5VG9DZXJ0LmdldFByaW1hcnlVc2VyKG51bGwgYXMgdW5rbm93biBhcyB1bmRlZmluZWQpO1xuICAvLyBAdHMtaWdub3JlXG4gIHVzZXJJZFBrdC51c2VySUQgPSBwcmltYXJ5VXNlci51c2VyLnVzZXJJRC51c2VySUQ7XG4gIC8vIFNpZ25hdHVyZSBwYWNrZXQuXG4gIGNvbnN0IHNpZ25hdHVyZVBhY2tldCA9IG5ldyBwZ3AuU2lnbmF0dXJlUGFja2V0KCk7XG4gIHNpZ25hdHVyZVBhY2tldC5zaWduYXR1cmVUeXBlID0gcGdwLmVudW1zLnNpZ25hdHVyZS5jZXJ0UG9zaXRpdmU7XG4gIHNpZ25hdHVyZVBhY2tldC5wdWJsaWNLZXlBbGdvcml0aG0gPSBwZ3AuZW51bXMucHVibGljS2V5LmVjZHNhO1xuICBzaWduYXR1cmVQYWNrZXQuaGFzaEFsZ29yaXRobSA9IHBncC5lbnVtcy5oYXNoLnNoYTI1NjtcbiAgLy8gQHRzLWlnbm9yZVxuICBzaWduYXR1cmVQYWNrZXQuaXNzdWVyRmluZ2VycHJpbnQgPSBhd2FpdCBwcmltYXJ5VXNlci51c2VyLm1haW5LZXkua2V5UGFja2V0LmdldEZpbmdlcnByaW50Qnl0ZXMoKTtcbiAgLy8gQHRzLWlnbm9yZVxuICBzaWduYXR1cmVQYWNrZXQuaXNzdWVyS2V5SUQgPSBwcmltYXJ5VXNlci51c2VyLm1haW5LZXkua2V5UGFja2V0LmtleUlEO1xuICAvLyBAdHMtaWdub3JlXG4gIHNpZ25hdHVyZVBhY2tldC5zaWduaW5nS2V5SUQgPSBwcmltYXJ5VXNlci51c2VyLm1haW5LZXkua2V5UGFja2V0LmtleUlEO1xuICAvLyBAdHMtaWdub3JlXG4gIHNpZ25hdHVyZVBhY2tldC5zaWduZXJzVXNlcklEID0gcHJpbWFyeVVzZXIudXNlci51c2VySUQudXNlcklEO1xuICAvLyBAdHMtaWdub3JlXG4gIHNpZ25hdHVyZVBhY2tldC5mZWF0dXJlcyA9IFsxXTtcbiAgbm90YXRpb25zLmZvckVhY2goKHsgbmFtZSwgdmFsdWUgfSkgPT4ge1xuICAgIHNpZ25hdHVyZVBhY2tldC5yYXdOb3RhdGlvbnMucHVzaCh7XG4gICAgICBuYW1lOiBuYW1lLFxuICAgICAgdmFsdWU6IG5ldyBVaW50OEFycmF5KEJ1ZmZlci5mcm9tKHZhbHVlKSksXG4gICAgICBodW1hblJlYWRhYmxlOiB0cnVlLFxuICAgICAgY3JpdGljYWw6IGZhbHNlLFxuICAgIH0pO1xuICB9KTtcblxuICAvLyBQcmVwYXJlIHNpZ25pbmcgZGF0YS5cbiAgY29uc3Qga2V5ZGF0YVRvU2lnbiA9IHt9O1xuICAvLyBAdHMtaWdub3JlXG4gIGtleWRhdGFUb1NpZ24ua2V5ID0gcHVibGljS2V5VG9DZXJ0LmtleVBhY2tldDtcbiAgLy8gQHRzLWlnbm9yZVxuICBrZXlkYXRhVG9TaWduLnVzZXJJRCA9IHVzZXJJZFBrdDtcblxuICAvLyBTaWduIHRoZSBkYXRhIChjcmVhdGUgY2VydGlmaWNhdGlvbikuXG4gIC8vIEB0cy1pZ25vcmVcbiAgYXdhaXQgc2lnbmF0dXJlUGFja2V0LnNpZ24oY2VydGlmeWluZ0tleS5rZXlQYWNrZXQsIGtleWRhdGFUb1NpZ24sIGRhdGVUaW1lKTtcblxuICAvLyBBc3NlbWJsZSBwYWNrZXRzIHRvZ2V0aGVyLlxuICBjb25zdCBwdWJsaWNLZXlUb0NlcnRQa3RzID0gcHVibGljS2V5VG9DZXJ0LnRvUGFja2V0TGlzdCgpO1xuICBjb25zdCBuZXdLZXlQa3RMaXN0ID0gbmV3IHBncC5QYWNrZXRMaXN0KCk7XG4gIG5ld0tleVBrdExpc3QucHVzaCguLi5wdWJsaWNLZXlUb0NlcnRQa3RzLnNsaWNlKDAsIDMpLCBzaWduYXR1cmVQYWNrZXQsIC4uLnB1YmxpY0tleVRvQ2VydFBrdHMuc2xpY2UoMykpO1xuICAvLyBAdHMtaWdub3JlXG4gIGNvbnN0IG5ld1B1YktleSA9IG5ldyBwZ3AuUHVibGljS2V5KG5ld0tleVBrdExpc3QpO1xuICByZXR1cm4gbmV3UHViS2V5LmFybW9yKCkucmVwbGFjZSgvXFxyXFxuL2csICdcXG4nKTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgS2V5U2hhcmUgUHJvb2YgYmFzZWQgb24gZ2l2ZW4gYWxnby5cbiAqXG4gKiBDcmVhdGVzIGFuIEVkRFNBIEtleVNoYXJlIFByb29mIGJ5IGFwcGVuZGluZyBhbiBlZDI1NTE5IHN1YmtleSAoYXV0aCkgdG8gYW4gYXJtb3JlZCBncGcgcHJpdmF0ZSBrZXkuXG4gKiBDcmVhdGVzIGFuIEVDRFNBIEtleVNoYXJlIFByb29mIGJ5IEFwcGVuZCBhIHNlY3AyNTZrMSBzdWJrZXkgKGF1dGgpIHRvIGEgUEdQIGtleWNoYWluLlxuICpcbiAqIEBwYXJhbSBwcml2YXRlQXJtb3IgZ3BnIHByaXZhdGUga2V5IGluIGFybW9yIGZvcm1hdFxuICogQHBhcmFtIHVWYWx1ZSB1IHZhbHVlIGZyb20gYW4gRWRkc2Ega2V5c2hhcmVcbiAqIEBwYXJhbSBhbGdvIGFsZ28gdG8gdXNlLCBlZGRzYSBvciBlY2RzYVxuICogQHJldHVybiB7c3RyaW5nfSBrZXlzaGFyZSBwcm9vZlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlU2hhcmVQcm9vZihwcml2YXRlQXJtb3I6IHN0cmluZywgdVZhbHVlOiBzdHJpbmcsIGFsZ286IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHByaXZhdGVLZXkgPSBhd2FpdCByZWFkS2V5KHsgYXJtb3JlZEtleTogcHJpdmF0ZUFybW9yIH0pO1xuICBjb25zdCBkYXRlVGltZSA9IG5ldyBEYXRlKCk7XG4gIC8vIEB0cy1pZ25vcmUgLSB0eXBlIGluY29uc2lzdGVuY3ksIHRoaXMgY3RvciBzdXBwb3J0cyBhIGRhdGUgcGFyYW06IGh0dHBzOi8vZG9jcy5vcGVucGdwanMub3JnL1NlY3JldFN1YmtleVBhY2tldC5odG1sXG4gIGNvbnN0IHNlY3JldFN1YmtleVBhY2tldCA9IG5ldyBwZ3AuU2VjcmV0U3Via2V5UGFja2V0KGRhdGVUaW1lKTtcbiAgc2VjcmV0U3Via2V5UGFja2V0LmFsZ29yaXRobSA9IHBncC5lbnVtcy5wdWJsaWNLZXlbYWxnb107XG4gIC8vIEB0cy1pZ25vcmUgLSBzYW1lIGFzIGFib3ZlXG4gIHNlY3JldFN1YmtleVBhY2tldC5pc0VuY3J5cHRlZCA9IGZhbHNlO1xuICBsZXQgb2lkO1xuICBsZXQgUTtcbiAgaWYgKGFsZ28gPT09ICdlZGRzYScpIHtcbiAgICBhd2FpdCBzb2RpdW0ucmVhZHk7XG4gICAgY29uc3Qgc3ViS2V5VmFsID0gQnVmZmVyLmZyb20oXG4gICAgICBzb2RpdW0uY3J5cHRvX3NjYWxhcm11bHRfZWQyNTUxOV9iYXNlX25vY2xhbXAoQnVmZmVyLmZyb20odVZhbHVlLCAnaGV4JyksICd1aW50OGFycmF5JylcbiAgICApO1xuICAgIC8vIFN1Yi1rZXkgKGVuY3J5cHRpb24ga2V5KSBwYWNrZXQuXG4gICAgb2lkID0gWzB4MmIsIDB4MDYsIDB4MDEsIDB4MDQsIDB4MDEsIDB4ZGEsIDB4NDcsIDB4MGYsIDB4MDFdO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBvaWQud3JpdGUgPSAoKSA9PiBuZXcgVWludDhBcnJheShCdWZmZXIuZnJvbSgnMDkyYjA2MDEwNDAxZGE0NzBmMDEnLCAnaGV4JykpO1xuICAgIFEgPSBuZXcgVWludDhBcnJheShbMHg0MCwgLi4uc3ViS2V5VmFsXSk7XG4gIH0gZWxzZSBpZiAoYWxnbyA9PT0gJ2VjZHNhJykge1xuICAgIG9pZCA9IFsweDJiLCAweDgxLCAweDA0LCAweDAwLCAweDBhXTtcbiAgICAvLyBAdHMtaWdub3JlIC0gc2FtZSBhcyBhYm92ZVxuICAgIG9pZC53cml0ZSA9ICgpID0+IG5ldyBVaW50OEFycmF5KEJ1ZmZlci5mcm9tKCcwNTJiODEwNDAwMGEnLCAnaGV4JykpO1xuICAgIFEgPSBzZWNwMjU2azEucG9pbnRGcm9tU2NhbGFyKG5ldyBVaW50OEFycmF5KEJ1ZmZlci5mcm9tKHVWYWx1ZSwgJ2hleCcpKSwgZmFsc2UpO1xuICB9XG4gIHNlY3JldFN1YmtleVBhY2tldC5wdWJsaWNQYXJhbXMgPSB7XG4gICAgb2lkLFxuICAgIFEsXG4gIH07XG4gIC8vIEB0cy1pZ25vcmUgLSBzYW1lIGFzIGFib3ZlXG4gIGF3YWl0IHNlY3JldFN1YmtleVBhY2tldC5jb21wdXRlRmluZ2VycHJpbnRBbmRLZXlJRCgpO1xuXG4gIC8vIFN1Yi1rZXkgc2lnbmF0dXJlIHBhY2tldC5cbiAgY29uc3Qgc3ViS2V5ZGF0YVRvU2lnbiA9IHtcbiAgICBrZXk6IHByaXZhdGVLZXkua2V5UGFja2V0LFxuICAgIGJpbmQ6IHNlY3JldFN1YmtleVBhY2tldCxcbiAgfTtcbiAgY29uc3Qgc3Via2V5U2lnbmF0dXJlUGFja2V0ID0gbmV3IHBncC5TaWduYXR1cmVQYWNrZXQoKTtcbiAgc3Via2V5U2lnbmF0dXJlUGFja2V0LnNpZ25hdHVyZVR5cGUgPSBwZ3AuZW51bXMuc2lnbmF0dXJlLnN1YmtleUJpbmRpbmc7XG4gIHN1YmtleVNpZ25hdHVyZVBhY2tldC5wdWJsaWNLZXlBbGdvcml0aG0gPSBwZ3AuZW51bXMucHVibGljS2V5LmVjZHNhO1xuICBzdWJrZXlTaWduYXR1cmVQYWNrZXQuaGFzaEFsZ29yaXRobSA9IHBncC5lbnVtcy5oYXNoLnNoYTI1NjtcbiAgc3Via2V5U2lnbmF0dXJlUGFja2V0LmtleUZsYWdzID0gbmV3IFVpbnQ4QXJyYXkoW3BncC5lbnVtcy5rZXlGbGFncy5hdXRoZW50aWNhdGlvbl0pO1xuXG4gIC8vIFNpZ24gdGhlIHN1YmtleVxuICAvLyBAdHMtaWdub3JlIC0gc2lnbiBzdXBwb3J0cyBhcmJpdHJhcnkgZGF0YSBmb3IgMm5kIHBhcmFtOiBodHRwczovL2RvY3Mub3BlbnBncGpzLm9yZy9TaWduYXR1cmVQYWNrZXQuaHRtbFxuICBhd2FpdCBzdWJrZXlTaWduYXR1cmVQYWNrZXQuc2lnbihwcml2YXRlS2V5LmtleVBhY2tldCwgc3ViS2V5ZGF0YVRvU2lnbiwgZGF0ZVRpbWUpO1xuXG4gIC8vIEFzc2VtYmxlIHBhY2tldHMgdG9nZXRoZXIuXG4gIGNvbnN0IG5ld0tleVBrdExpc3QgPSBuZXcgcGdwLlBhY2tldExpc3QoKTtcbiAgY29uc3QgcHJpdmF0ZUtleVBrdHMgPSBwcml2YXRlS2V5LnRvUGFja2V0TGlzdCgpO1xuICBwcml2YXRlS2V5UGt0cy5mb3JFYWNoKChwYWNrZXQpID0+IG5ld0tleVBrdExpc3QucHVzaChwYWNrZXQpKTtcbiAgbmV3S2V5UGt0TGlzdC5wdXNoKHNlY3JldFN1YmtleVBhY2tldCwgc3Via2V5U2lnbmF0dXJlUGFja2V0KTtcbiAgLy8gQHRzLWlnbm9yZSAtIHN1cHBvcnRzIHBhY2tldCBsaXN0IGFzIGN0b3IgcGFyYW06IGh0dHBzOi8vZG9jcy5vcGVucGdwanMub3JnL1ByaXZhdGVLZXkuaHRtbFxuICBjb25zdCBuZXdQdWJLZXkgPSBuZXcgcGdwLlByaXZhdGVLZXkobmV3S2V5UGt0TGlzdCkudG9QdWJsaWMoKTtcblxuICBpZiAoIShhd2FpdCB2ZXJpZnlQcmltYXJ5VXNlcldyYXBwZXIobmV3UHViS2V5LCBwcml2YXRlS2V5LCB0cnVlKSlbMF0udmFsaWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0luY29ycmVjdCBzaWduYXR1cmUnKTtcbiAgfVxuXG4gIHJldHVybiBuZXdQdWJLZXkuYXJtb3IoKS5yZXBsYWNlKC9cXHJcXG4vZywgJ1xcbicpO1xufVxuXG4vKipcbiAqIEVuY3J5cHRzIHN0cmluZyB1c2luZyBncGcga2V5XG4gKiBAREVQUkVDQVRFRCAtIHNob3VsZCB1c2UgZW5jcnlwdEFuZFNpZ25UZXh0IGluc3RlYWQgZm9yIGFkZGVkIHNlY3VyaXR5XG4gKlxuICogQHBhcmFtIHRleHQgc3RyaW5nIHRvIGVuY3J5cHRcbiAqIEBwYXJhbSBrZXkgZW5jcnlwdGlvbiBrZXlcbiAqIEByZXR1cm4ge3N0cmluZ30gZW5jcnlwdGVkIHN0cmluZ1xuICpcbiAqIFRPRE8oQkctNDcxNzApOiBEZWxldGUgb25jZSBncGcgc2lnbmF0dXJlcyBhcmUgZnVsbHkgc3VwcG9ydGVkXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlbmNyeXB0VGV4dCh0ZXh0OiBzdHJpbmcsIGtleTogS2V5KTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgbWVzc2FnZVRvRW5jcnlwdCA9IGF3YWl0IGNyZWF0ZU1lc3NhZ2Uoe1xuICAgIHRleHQsXG4gIH0pO1xuICByZXR1cm4gYXdhaXQgZW5jcnlwdCh7XG4gICAgbWVzc2FnZTogbWVzc2FnZVRvRW5jcnlwdCxcbiAgICBlbmNyeXB0aW9uS2V5czogW2tleV0sXG4gICAgZm9ybWF0OiAnYXJtb3JlZCcsXG4gICAgY29uZmlnOiB7XG4gICAgICByZWplY3RDdXJ2ZXM6IG5ldyBTZXQoKSxcbiAgICAgIHNob3dWZXJzaW9uOiBmYWxzZSxcbiAgICAgIHNob3dDb21tZW50OiBmYWxzZSxcbiAgICB9LFxuICB9KTtcbn1cblxuLyoqXG4gKiBFbmNyeXB0cyBhbmQgc2lnbnMgYSBzdHJpbmdcbiAqIEBwYXJhbSB0ZXh0IHN0cmluZyB0byBlbmNyeXB0IGFuZCBzaWduXG4gKiBAcGFyYW0gcHVibGljQXJtb3IgcHVibGljIGtleSB0byBlbmNyeXB0IHdpdGhcbiAqIEBwYXJhbSBwcml2YXRlQXJtb3IgcHJpdmF0ZSBrZXkgdG8gc2lnbiB3aXRoXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlbmNyeXB0QW5kU2lnblRleHQodGV4dDogc3RyaW5nLCBwdWJsaWNBcm1vcjogc3RyaW5nLCBwcml2YXRlQXJtb3I6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHB1YmxpY0tleSA9IGF3YWl0IHJlYWRLZXkoeyBhcm1vcmVkS2V5OiBwdWJsaWNBcm1vciB9KTtcbiAgY29uc3QgcHJpdmF0ZUtleSA9IGF3YWl0IHJlYWRQcml2YXRlS2V5KHsgYXJtb3JlZEtleTogcHJpdmF0ZUFybW9yIH0pO1xuXG4gIGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCBjcmVhdGVNZXNzYWdlKHsgdGV4dCB9KTtcblxuICBjb25zdCBzaWduZWRNZXNzYWdlID0gYXdhaXQgZW5jcnlwdCh7XG4gICAgbWVzc2FnZSxcbiAgICBlbmNyeXB0aW9uS2V5czogcHVibGljS2V5LFxuICAgIHNpZ25pbmdLZXlzOiBwcml2YXRlS2V5LFxuICAgIGZvcm1hdDogJ2FybW9yZWQnLFxuICAgIGNvbmZpZzoge1xuICAgICAgcmVqZWN0Q3VydmVzOiBuZXcgU2V0KCksXG4gICAgICBzaG93VmVyc2lvbjogZmFsc2UsXG4gICAgICBzaG93Q29tbWVudDogZmFsc2UsXG4gICAgfSxcbiAgfSk7XG5cbiAgcmV0dXJuIHNpZ25lZE1lc3NhZ2U7XG59XG5cbi8qKlxuICogUmVhZHMgYSBzaWduZWQgYW5kIGVuY3J5cHRlZCBtZXNzYWdlXG4gKlxuICogQHBhcmFtIHNpZ25lZCBzaWduZWQgYW5kIGVuY3J5cHRlZCBtZXNzYWdlXG4gKiBAcGFyYW0gcHVibGljQXJtb3IgcHVibGljIGtleSB0byB2ZXJpZnkgc2lnbmF0dXJlXG4gKiBAcGFyYW0gcHJpdmF0ZUFybW9yIHByaXZhdGUga2V5IHRvIGRlY3J5cHQgbWVzc2FnZVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVhZFNpZ25lZE1lc3NhZ2Uoc2lnbmVkOiBzdHJpbmcsIHB1YmxpY0FybW9yOiBzdHJpbmcsIHByaXZhdGVBcm1vcjogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgcHVibGljS2V5ID0gYXdhaXQgcmVhZEtleSh7IGFybW9yZWRLZXk6IHB1YmxpY0FybW9yIH0pO1xuICBjb25zdCBwcml2YXRlS2V5ID0gYXdhaXQgcmVhZFByaXZhdGVLZXkoeyBhcm1vcmVkS2V5OiBwcml2YXRlQXJtb3IgfSk7XG5cbiAgY29uc3QgbWVzc2FnZSA9IGF3YWl0IHJlYWRNZXNzYWdlKHsgYXJtb3JlZE1lc3NhZ2U6IHNpZ25lZCB9KTtcbiAgY29uc3QgZGVjcnlwdGVkID0gYXdhaXQgZGVjcnlwdCh7XG4gICAgbWVzc2FnZSxcbiAgICB2ZXJpZmljYXRpb25LZXlzOiBwdWJsaWNLZXksXG4gICAgZGVjcnlwdGlvbktleXM6IHByaXZhdGVLZXksXG4gICAgZXhwZWN0U2lnbmVkOiB0cnVlLFxuICAgIGNvbmZpZzogeyByZWplY3RDdXJ2ZXM6IG5ldyBTZXQoKSB9LFxuICB9KTtcblxuICByZXR1cm4gZGVjcnlwdGVkLmRhdGE7XG59XG5cbi8qKlxuICogR2VuZXJhdGVzIGEgc2lnbmF0dXJlXG4gKlxuICogQHBhcmFtIHRleHQgc3RyaW5nIHRvIGdlbmVyYXRlIGEgc2lnbmF0dXJlIGZvclxuICogQHBhcmFtIHByaXZhdGVBcm1vciBwcml2YXRlIGtleSBhcyBhcm1vcmVkIHN0cmluZ1xuICogQHJldHVybiB7c3RyaW5nfSBhcm1vcmVkIHNpZ25hdHVyZSBzdHJpbmdcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNpZ25UZXh0KHRleHQ6IHN0cmluZywgcHJpdmF0ZUFybW9yOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBwcml2YXRlS2V5ID0gYXdhaXQgcmVhZFByaXZhdGVLZXkoeyBhcm1vcmVkS2V5OiBwcml2YXRlQXJtb3IgfSk7XG4gIGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCBjcmVhdGVNZXNzYWdlKHsgdGV4dCB9KTtcbiAgY29uc3Qgc2lnbmF0dXJlID0gYXdhaXQgc2lnbih7XG4gICAgbWVzc2FnZSxcbiAgICBzaWduaW5nS2V5czogcHJpdmF0ZUtleSxcbiAgICBmb3JtYXQ6ICdhcm1vcmVkJyxcbiAgICBkZXRhY2hlZDogdHJ1ZSxcbiAgfSk7XG5cbiAgcmV0dXJuIHNpZ25hdHVyZTtcbn1cblxuLyoqXG4gKiBWZXJpZmllcyBzaWduYXR1cmUgd2FzIGdlbmVyYXRlZCBieSB0aGUgcHVibGljIGtleSBhbmQgbWF0Y2hlcyB0aGUgZXhwZWN0ZWQgdGV4dFxuICpcbiAqIEBwYXJhbSB0ZXh0IHRleHQgdGhhdCB0aGUgc2lnbmF0dXJlIHdhcyBmb3JcbiAqIEBwYXJhbSBhcm1vcmVkU2lnbmF0dXJlIHNpZ25lZCBtZXNzYWdlIGFzIGFuIGFybW9yZWQgc3RyaW5nXG4gKiBAcGFyYW0gcHVibGljQXJtb3IgcHVibGljIGtleSB0aGF0IGdlbmVyYXRlZCB0aGUgc2lnbmF0dXJlXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2ZXJpZnlTaWduYXR1cmUodGV4dDogc3RyaW5nLCBhcm1vcmVkU2lnbmF0dXJlOiBzdHJpbmcsIHB1YmxpY0FybW9yOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgY29uc3QgcHVibGljS2V5ID0gYXdhaXQgcmVhZEtleSh7IGFybW9yZWRLZXk6IHB1YmxpY0FybW9yIH0pO1xuICBjb25zdCBzaWduYXR1cmUgPSBhd2FpdCByZWFkU2lnbmF0dXJlKHsgYXJtb3JlZFNpZ25hdHVyZSB9KTtcbiAgY29uc3QgbWVzc2FnZSA9IGF3YWl0IGNyZWF0ZU1lc3NhZ2UoeyB0ZXh0IH0pO1xuICBjb25zdCB2ZXJpZmljYXRpb25SZXN1bHQgPSBhd2FpdCB2ZXJpZnkoe1xuICAgIG1lc3NhZ2UsXG4gICAgc2lnbmF0dXJlLFxuICAgIHZlcmlmaWNhdGlvbktleXM6IHB1YmxpY0tleSxcbiAgfSk7XG5cbiAgaWYgKHZlcmlmaWNhdGlvblJlc3VsdC5zaWduYXR1cmVzLmxlbmd0aCAhPT0gMSkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBudW1iZXIgb2Ygc2lnbmF0dXJlcycpO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBhd2FpdCB2ZXJpZmljYXRpb25SZXN1bHQuc2lnbmF0dXJlc1swXS52ZXJpZmllZDtcbiAgICByZXR1cm4gdGV4dCA9PT0gdmVyaWZpY2F0aW9uUmVzdWx0LmRhdGE7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vKipcbiAqIEdlbmVyYXRlIGEgR1BHIGtleSBwYWlyXG4gKlxuICogQHBhcmFtOiBrZXlDdXJ2ZSB0aGUgY3VydmUgdG8gY3JlYXRlIGEga2V5IHdpdGhcbiAqIEBwYXJhbTogdXNlcm5hbWUgbmFtZSBvZiB0aGUgdXNlciAob3B0aW9uYWwpXG4gKiBAcGFyYW06IGVtYWlsIGVtYWlsIG9mIHRoZSB1c2VyIChvcHRpb25hbClcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdlbmVyYXRlR1BHS2V5UGFpcihcbiAga2V5Q3VydmU6IHBncC5FbGxpcHRpY0N1cnZlTmFtZSxcbiAgdXNlcm5hbWU/OiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gIGVtYWlsPzogc3RyaW5nIHwgdW5kZWZpbmVkXG4pOiBQcm9taXNlPHBncC5TZXJpYWxpemVkS2V5UGFpcjxzdHJpbmc+PiB7XG4gIGNvbnN0IHJhbmRvbUhleFN0cmluZyA9IGNyeXB0by5yYW5kb21CeXRlcygxMikudG9TdHJpbmcoJ2hleCcpO1xuICB1c2VybmFtZSA9IHVzZXJuYW1lID8/IHJhbmRvbUhleFN0cmluZztcbiAgZW1haWwgPSBlbWFpbCA/PyBgdXNlci0ke3JhbmRvbUhleFN0cmluZ31AJHtyYW5kb21IZXhTdHJpbmd9LmNvbWA7XG5cbiAgLy8gQWxsb3cgZ2VuZXJhdGluZyBzZWNwMjU2azEga2V5IHBhaXJzXG4gIHBncC5jb25maWcucmVqZWN0Q3VydmVzID0gbmV3IFNldCgpO1xuXG4gIGNvbnN0IHN1YmtleXMgPSBrZXlDdXJ2ZSA9PT0gJ2VkMjU1MTknID8gKFt7IHNpZ246IHRydWUgfSwgeyBzaWduOiBmYWxzZSB9XSBhcyBwZ3AuU3Via2V5T3B0aW9uc1tdKSA6IHVuZGVmaW5lZDtcblxuICBjb25zdCBncGdLZXkgPSBhd2FpdCBwZ3AuZ2VuZXJhdGVLZXkoe1xuICAgIHVzZXJJRHM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogdXNlcm5hbWUsXG4gICAgICAgIGVtYWlsLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGN1cnZlOiBrZXlDdXJ2ZSxcbiAgICAuLi4oc3Via2V5cyAmJiB7IHN1YmtleXMgfSksXG4gIH0pO1xuXG4gIHJldHVybiBncGdLZXk7XG59XG4iXX0=
|
|
@@ -15,6 +15,7 @@ export default class BaseTssUtils<KeyShare> extends MpcUtils implements ITssUtil
|
|
|
15
15
|
private _wallet?;
|
|
16
16
|
protected bitgoPublicGpgKey: openpgp.Key;
|
|
17
17
|
protected bitgoMPCv2PublicGpgKey: openpgp.Key | undefined;
|
|
18
|
+
protected bitgoEddsaMpcv2PublicGpgKey: openpgp.Key | undefined;
|
|
18
19
|
constructor(bitgo: BitGoBase, baseCoin: IBaseCoin, wallet?: IWallet);
|
|
19
20
|
get wallet(): IWallet;
|
|
20
21
|
protected setBitgoGpgPubKey(bitgo: any): Promise<void>;
|
|
@@ -202,13 +203,17 @@ export default class BaseTssUtils<KeyShare> extends MpcUtils implements ITssUtil
|
|
|
202
203
|
*/
|
|
203
204
|
getTxRequest(txRequestId: string, reqId?: IRequestTracer): Promise<TxRequest>;
|
|
204
205
|
/**
|
|
205
|
-
* It gets the appropriate BitGo GPG public
|
|
206
|
+
* It gets the appropriate BitGo GPG public keys for key creation based on a
|
|
206
207
|
* combination of coin and the feature flags on the user and their enterprise if set.
|
|
208
|
+
* Returns both the default MPCv2 key and the EdDSA-specific MPCv2 key (if present).
|
|
207
209
|
* @param enterpriseId - enterprise under which user wants to create the wallet
|
|
208
210
|
* @param isMPCv2 - true to get the MPCv2 GPG public key, defaults to false
|
|
209
211
|
* @param reqId - request tracer request id
|
|
210
212
|
*/
|
|
211
|
-
getBitgoGpgPubkeyBasedOnFeatureFlags(enterpriseId: string | undefined, isMPCv2?: boolean, reqId?: IRequestTracer): Promise<
|
|
213
|
+
getBitgoGpgPubkeyBasedOnFeatureFlags(enterpriseId: string | undefined, isMPCv2?: boolean, reqId?: IRequestTracer): Promise<{
|
|
214
|
+
mpcv2PublicKey: Key;
|
|
215
|
+
eddsaMpcv2PublicKey: Key | undefined;
|
|
216
|
+
}>;
|
|
212
217
|
/**
|
|
213
218
|
* Returns supported TxRequest versions for this wallet
|
|
214
219
|
* @deprecated Whenever needed, use apiVersion 'full' for TSS wallets
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseTSSUtils.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/utils/tss/baseTSSUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,GAAG,EAAW,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAc,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAEL,uBAAuB,EACvB,qBAAqB,EACrB,6BAA6B,EAC7B,wBAAwB,EACxB,kCAAkC,EAClC,8BAA8B,EAC9B,8BAA8B,EAC9B,0CAA0C,EAC1C,0CAA0C,EAC1C,0CAA0C,EAC1C,oCAAoC,EACpC,mCAAmC,EACnC,8BAA8B,EAC9B,8BAA8B,EAC9B,0BAA0B,EAC1B,uBAAuB,EACvB,yBAAyB,EACzB,SAAS,EAGT,oCAAoC,EACpC,WAAW,EACX,oBAAoB,EACpB,SAAS,EACT,mBAAmB,EACnB,gBAAgB,EAChB,SAAS,EACT,gBAAgB,EACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAOjE;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY,CAAC,QAAQ,CAAE,SAAQ,QAAS,YAAW,SAAS,CAAC,QAAQ,CAAC;IACzF,OAAO,CAAC,OAAO,CAAC,CAAU;IAC1B,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC;IACzC,SAAS,CAAC,sBAAsB,EAAE,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"baseTSSUtils.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/utils/tss/baseTSSUtils.ts"],"names":[],"mappings":"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"}
|