@bitgo/sdk-core 38.10.0 → 38.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +10 -1
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/iBaseCoin.js +1 -1
- package/dist/src/bitgo/bitgoBase.d.ts +2 -2
- package/dist/src/bitgo/bitgoBase.d.ts.map +1 -1
- package/dist/src/bitgo/bitgoBase.js +1 -1
- package/dist/src/bitgo/keychain/iKeychains.d.ts +7 -3
- package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -1
- package/dist/src/bitgo/keychain/iKeychains.js +1 -1
- package/dist/src/bitgo/keychain/keychains.d.ts +2 -2
- package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
- package/dist/src/bitgo/keychain/keychains.js +17 -8
- package/dist/src/bitgo/safe/derivableEd25519Pub.d.ts +67 -0
- package/dist/src/bitgo/safe/derivableEd25519Pub.d.ts.map +1 -0
- package/dist/src/bitgo/safe/derivableEd25519Pub.js +156 -0
- package/dist/src/bitgo/safe/index.d.ts +1 -0
- package/dist/src/bitgo/safe/index.d.ts.map +1 -1
- package/dist/src/bitgo/safe/index.js +2 -1
- package/dist/src/bitgo/safe/safe.d.ts.map +1 -1
- package/dist/src/bitgo/safe/safe.js +3 -1
- package/dist/src/bitgo/safe/safeDerivation.d.ts +19 -4
- package/dist/src/bitgo/safe/safeDerivation.d.ts.map +1 -1
- package/dist/src/bitgo/safe/safeDerivation.js +60 -17
- package/dist/src/bitgo/staking/iStakingWallet.d.ts +1 -1
- package/dist/src/bitgo/staking/iStakingWallet.js +1 -1
- package/dist/src/bitgo/tss/bitgoPubKeys.d.ts +12 -1
- package/dist/src/bitgo/tss/bitgoPubKeys.d.ts.map +1 -1
- package/dist/src/bitgo/tss/bitgoPubKeys.js +22 -2
- package/dist/src/bitgo/tss/common.d.ts +2 -1
- package/dist/src/bitgo/tss/common.d.ts.map +1 -1
- package/dist/src/bitgo/tss/common.js +1 -1
- package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/mpcUtils.js +16 -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 +5 -1
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +6 -2
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTSSUtils.js +32 -7
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts +12 -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/ecdsaMPCv2.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +5 -1
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts +11 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.js +33 -6
- package/dist/src/bitgo/utils/tss/index.d.ts +2 -0
- package/dist/src/bitgo/utils/tss/index.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/index.js +4 -2
- package/dist/src/bitgo/utils/tss/recipientUtils.d.ts +1 -1
- package/dist/src/bitgo/utils/tss/recipientUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/recipientUtils.js +4 -3
- package/dist/src/bitgo/utils/tss/redpallas/SMC/utils.d.ts +29 -0
- package/dist/src/bitgo/utils/tss/redpallas/SMC/utils.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/redpallas/SMC/utils.js +126 -0
- package/dist/src/bitgo/utils/tss/redpallas/index.d.ts +4 -0
- package/dist/src/bitgo/utils/tss/redpallas/index.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/redpallas/index.js +20 -0
- package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts +27 -0
- package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2.js +43 -0
- package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2KeyGenSender.d.ts +45 -0
- package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2KeyGenSender.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2KeyGenSender.js +55 -0
- package/dist/src/bitgo/utils/tss/signableConsistency.d.ts +12 -0
- package/dist/src/bitgo/utils/tss/signableConsistency.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/signableConsistency.js +9 -0
- package/dist/src/bitgo/wallet/BuildParams.d.ts +1 -0
- package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/BuildParams.js +3 -1
- package/dist/src/bitgo/wallet/iWallet.d.ts +22 -0
- package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/iWallet.js +1 -1
- package/dist/src/bitgo/wallet/safeKeychain.d.ts +2 -2
- package/dist/src/bitgo/wallet/safeKeychain.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/safeKeychain.js +9 -9
- package/dist/src/bitgo/wallet/wallet.d.ts +5 -1
- package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallet.js +30 -10
- package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallets.js +150 -87
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -2
- package/dist/test/unit/bitgo/safe/derivableEd25519Pub.d.ts +2 -0
- package/dist/test/unit/bitgo/safe/derivableEd25519Pub.d.ts.map +1 -0
- package/dist/test/unit/bitgo/safe/derivableEd25519Pub.js +122 -0
- package/dist/test/unit/bitgo/safe/fixtures/derivableEd25519Pub.json +145 -0
- package/dist/test/unit/bitgo/safe/safe.js +16 -1
- package/dist/test/unit/bitgo/tss/bitgoPubKeys.d.ts +2 -0
- package/dist/test/unit/bitgo/tss/bitgoPubKeys.d.ts.map +1 -0
- package/dist/test/unit/bitgo/tss/bitgoPubKeys.js +66 -0
- package/dist/test/unit/bitgo/utils/mpcUtils.wrapApprove.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/mpcUtils.wrapApprove.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/mpcUtils.wrapApprove.js +106 -0
- package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.js +38 -1
- package/dist/test/unit/bitgo/utils/tss/recipientUtils.js +14 -1
- package/dist/test/unit/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/redpallas/redpallasMPCv2.js +80 -0
- package/dist/test/unit/bitgo/utils/tss/redpallas/smcUtil.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/redpallas/smcUtil.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/redpallas/smcUtil.js +279 -0
- package/dist/test/unit/bitgo/utils/tss/redpallasBitgoGpgKey.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/redpallasBitgoGpgKey.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/redpallasBitgoGpgKey.js +111 -0
- package/dist/test/unit/bitgo/wallet/BuildParams.js +13 -1
- package/dist/test/unit/bitgo/wallet/safeGetUserPrv.js +83 -4
- package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.js +33 -13
- package/dist/test/unit/bitgo/wallet/walletsExternalSigner.js +8 -3
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -7
|
@@ -151,12 +151,14 @@ class Safe {
|
|
|
151
151
|
throw new errors_1.IncorrectPasswordError();
|
|
152
152
|
}
|
|
153
153
|
const derived = (0, safeDerivation_1.deriveAndSelfCheckSafeChildHardened)(rootPrv, index);
|
|
154
|
+
const derivedFromParentWithHardenedPath = (0, codecs_1.decodeWithCodec)(safeDerivation_1.DerivedFromParentWithHardenedPath, derived.derivationPath, 'derivedFromParentWithHardenedPath');
|
|
154
155
|
const child = await keychains.add({
|
|
155
156
|
pub: derived.pub,
|
|
156
157
|
source: 'user',
|
|
157
158
|
keyType: 'independent',
|
|
158
159
|
parent: userRootId,
|
|
159
160
|
safeId: this.id(),
|
|
161
|
+
derivedFromParentWithHardenedPath,
|
|
160
162
|
});
|
|
161
163
|
const childId = child.id;
|
|
162
164
|
if (childId.length === 0) {
|
|
@@ -225,4 +227,4 @@ class Safe {
|
|
|
225
227
|
}
|
|
226
228
|
}
|
|
227
229
|
exports.Safe = Safe;
|
|
228
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby9zYWZlL3NhZmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7O0dBS0c7QUFDSCx5Q0FBMkI7QUFDM0Isc0RBQWdIO0FBQ2hILDRDQUFpRDtBQUdqRCxzQ0FBbUQ7QUFDbkQsMENBQXdEO0FBQ3hELDRDQUE4RDtBQUM5RCwwREFBdUQ7QUFDdkQsc0NBQW1DO0FBQ25DLHlEQUF3RTtBQVN4RSxxREFBdUU7QUFFdkUsTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUM5QixpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCLFFBQVEsRUFBRSxJQUFJO0lBQ2QsUUFBUSxFQUFFLElBQUk7SUFDZCxlQUFlLEVBQUUsSUFBSTtDQUN0QixDQUFDLENBQUM7QUFFSCxNQUFNLDBCQUEwQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDeEMsSUFBSSxFQUFFLGVBQWU7SUFDckIsS0FBSyxFQUFFLElBQUEsbUJBQVUsRUFBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixDQUFDO0NBQ3BELENBQUMsQ0FBQztBQUVILE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN0QyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDZCxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDZixJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDdEIsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQ2xDLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0NBQzFCLENBQUMsQ0FBQztBQUVILFNBQVMsa0JBQWtCLENBQUMsSUFBZTtJQUN6QyxJQUFJLElBQUks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Q0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsT0FBTztRQUNYLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzdFLE9BQU8sSUFBQSx3QkFBZSxFQUFDLHVCQUFRLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7Q0FDRjtBQTVKRCxvQkE0SkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICpcbiAqIEBleHBlcmltZW50YWwgVGhlIHNhZmUgY2xpZW50IHN1cmZhY2UgaXMgZXhwZXJpbWVudGFsIGFuZCBtYXkgY2hhbmdlIChpbmNsdWRpbmcgYnJlYWtpbmdcbiAqIGNoYW5nZXMpIGJlZm9yZSB0aGUgcHVibGljIHJlbGVhc2UuXG4gKi9cbmltcG9ydCAqIGFzIHQgZnJvbSAnaW8tdHMnO1xuaW1wb3J0IHsgRnJlZXplU2FmZUJvZHksIFNhZmVEYXRhLCBTYWZlU2hhcmVEYXRhLCBTYWZlU2hhcmVTdGF0ZSwgdHlwZSBSb290S2V5VHlwZSB9IGZyb20gJ0BiaXRnby9wdWJsaWMtdHlwZXMnO1xuaW1wb3J0IHsgY29pbnMsIEtleUN1cnZlIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgSUJhc2VDb2luIH0gZnJvbSAnLi4vYmFzZUNvaW4nO1xuaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnLi4vYml0Z29CYXNlJztcbmltcG9ydCB7IEluY29ycmVjdFBhc3N3b3JkRXJyb3IgfSBmcm9tICcuLi9lcnJvcnMnO1xuaW1wb3J0IHsgZGVjcnlwdEtleWNoYWluUHJpdmF0ZUtleSB9IGZyb20gJy4uL2tleWNoYWluJztcbmltcG9ydCB7IGJvdW5kZWRJbnQsIGRlY29kZVdpdGhDb2RlYyB9IGZyb20gJy4uL3V0aWxzL2NvZGVjcyc7XG5pbXBvcnQgeyBwb3N0V2l0aENvZGVjIH0gZnJvbSAnLi4vdXRpbHMvcG9zdFdpdGhDb2RlYyc7XG5pbXBvcnQgeyBXYWxsZXQgfSBmcm9tICcuLi93YWxsZXQnO1xuaW1wb3J0IHsgSW52YWxpZFJvb3RLZXljaGFpblNvdXJjZUVycm9yIH0gZnJvbSAnLi4vd2FsbGV0L3NhZmVLZXljaGFpbic7XG5pbXBvcnQge1xuICBBY2NlcHRTYWZlU2hhcmVPcHRpb25zLFxuICBBZGRTYWZlTWVtYmVyT3B0aW9ucyxcbiAgQWRkU2FmZVdhbGxldE1lbWJlck9wdGlvbnMsXG4gIENyZWF0ZVNhZmVXYWxsZXRPcHRpb25zLFxuICBJU2FmZSxcbiAgV2FsbGV0U2hhcmVEYXRhLFxufSBmcm9tICcuL2lTYWZlJztcbmltcG9ydCB7IGRlcml2ZUFuZFNlbGZDaGVja1NhZmVDaGlsZEhhcmRlbmVkIH0gZnJvbSAnLi9zYWZlRGVyaXZhdGlvbic7XG5cbmNvbnN0IFNhZmVSb290S2V5U2xvdCA9IHQua2V5b2Yoe1xuICBzZWNwMjU2azFNdWx0aXNpZzogbnVsbCxcbiAgZWNkc2FNcGM6IG51bGwsXG4gIGVkZHNhTXBjOiBudWxsLFxuICBlZDI1NTE5TXVsdGlzaWc6IG51bGwsXG59KTtcblxuY29uc3QgR2V0RGVyaXZhdGlvbkluZGV4UmVzcG9uc2UgPSB0LnR5cGUoe1xuICBzbG90OiBTYWZlUm9vdEtleVNsb3QsXG4gIGluZGV4OiBib3VuZGVkSW50KDAsIDB4N2ZmZmZmZmYsICdkZXJpdmF0aW9uSW5kZXgnKSxcbn0pO1xuXG5jb25zdCBDcmVhdGVXYWxsZXRJblNhZmVCb2R5ID0gdC5zdHJpY3Qoe1xuICBjb2luOiB0LnN0cmluZyxcbiAgbGFiZWw6IHQuc3RyaW5nLFxuICB0eXBlOiB0LmxpdGVyYWwoJ2hvdCcpLFxuICBtdWx0aXNpZ1R5cGU6IHQubGl0ZXJhbCgnb25jaGFpbicpLFxuICBrZXlzOiB0LnR1cGxlKFt0LnN0cmluZ10pLFxufSk7XG5cbmZ1bmN0aW9uIG9uY2hhaW5TbG90Rm9yQ29pbihjb2luOiBJQmFzZUNvaW4pOiBFeHRyYWN0PFJvb3RLZXlUeXBlLCAnc2VjcDI1NmsxTXVsdGlzaWcnPiB7XG4gIGlmIChjb2luLmdldERlZmF1bHRNdWx0aXNpZ1R5cGUoKSA9PT0gJ3RzcycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01QQyBzYWZlIHdhbGxldCBtaW50aW5nIGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQ7IHVzZSBhIHNsb3QtMSBvbmNoYWluIGNvaW4nKTtcbiAgfVxuICBjb25zdCBjdXJ2ZSA9IGNvaW5zLmdldChjb2luLmdldENoYWluKCkpLnByaW1hcnlLZXlDdXJ2ZTtcbiAgaWYgKGN1cnZlID09PSBLZXlDdXJ2ZS5TZWNwMjU2azEpIHtcbiAgICByZXR1cm4gJ3NlY3AyNTZrMU11bHRpc2lnJztcbiAgfVxuICBpZiAoY3VydmUgPT09IEtleUN1cnZlLkVkMjU1MTkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2VkMjU1MTkgY29pbiBzYWZlIHdhbGxldCBtaW50aW5nIGlzIG5vdCB5ZXQgc3VwcG9ydGVkJyk7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKGBDb2luICcke2NvaW4uZ2V0Q2hhaW4oKX0nIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHNhZmUgd2FsbGV0IG1pbnRpbmdgKTtcbn1cblxuZnVuY3Rpb24gdXNlclJvb3RJZEZyb21TYWZlKHNhZmU6IFNhZmVEYXRhLCBzbG90OiBSb290S2V5VHlwZSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHRyaXBsZXQgPSBzYWZlLnJvb3RLZXlzPy5ob3Q/LltzbG90XTtcbiAgaWYgKCF0cmlwbGV0IHx8IHRyaXBsZXQubGVuZ3RoICE9PSAzKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBjb25zdCB1c2VyUm9vdElkID0gdHJpcGxldFswXTtcbiAgcmV0dXJuIHVzZXJSb290SWQubGVuZ3RoID4gMCA/IHVzZXJSb290SWQgOiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgY2xhc3MgU2FmZSBpbXBsZW1lbnRzIElTYWZlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBiaXRnbzogQml0R29CYXNlO1xuICBwdWJsaWMgcmVhZG9ubHkgX3NhZmU6IFNhZmVEYXRhO1xuXG4gIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UsIHNhZmVEYXRhOiBTYWZlRGF0YSkge1xuICAgIHRoaXMuYml0Z28gPSBiaXRnbztcbiAgICB0aGlzLl9zYWZlID0gc2FmZURhdGE7XG4gIH1cblxuICBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zYWZlLmlkO1xuICB9XG5cbiAgZW50ZXJwcmlzZUlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3NhZmUuZW50ZXJwcmlzZUlkO1xuICB9XG5cbiAgbGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc2FmZS5sYWJlbDtcbiAgfVxuXG4gIHN0YXR1cygpOiBTYWZlRGF0YVsnc3RhdHVzJ10ge1xuICAgIHJldHVybiB0aGlzLl9zYWZlLnN0YXR1cztcbiAgfVxuXG4gIC8qKlxuICAgKiBFbnRlcnByaXNlLXNjb3BlZCB2MiBVUkwgZm9yIHRoaXMgc2FmZSwgZS5nLiAvYXBpL3YyL2VudGVycHJpc2UvOmVJZC9zYWZlcy86c2FmZUlkXG4gICAqIEBwYXJhbSBleHRyYVxuICAgKi9cbiAgdXJsKGV4dHJhID0gJycpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmJpdGdvLnVybChgL2VudGVycHJpc2UvJHt0aGlzLmVudGVycHJpc2VJZCgpfS9zYWZlcy8ke3RoaXMuaWQoKX0ke2V4dHJhfWAsIDIpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1pbnQgYSBjaGlsZCB3YWxsZXQ6IHBlZWsgdGhlIHNlcXVlbnRpYWwgaW5kZXgsIGhhcmRlbmVkLWRlcml2ZSB0aGUgdXNlciBjaGlsZCxcbiAgICogcmVnaXN0ZXIgaXQgcHVibGljLW9ubHksIHRoZW4gbWludC4gQmFja3VwIGFuZCBCaXRHbyBjaGlsZHJlbiBhcmUgc29mdC1kZXJpdmVkIG9uIHRoZSBzZXJ2ZXIuXG4gICAqL1xuICBhc3luYyBjcmVhdGVXYWxsZXQocGFyYW1zOiBDcmVhdGVTYWZlV2FsbGV0T3B0aW9ucyk6IFByb21pc2U8V2FsbGV0PiB7XG4gICAgaWYgKHBhcmFtcy5wYXNzcGhyYXNlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdwYXNzcGhyYXNlIGlzIHJlcXVpcmVkIHRvIG1pbnQgYSBzYWZlIHdhbGxldCcpO1xuICAgIH1cbiAgICBpZiAocGFyYW1zLnR5cGUgIT09IHVuZGVmaW5lZCAmJiBwYXJhbXMudHlwZSAhPT0gJ2hvdCcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignU2FmZSB3YWxsZXRzIGFyZSBob3Qtb25seSBpbiB2MScpO1xuICAgIH1cbiAgICBpZiAocGFyYW1zLm11bHRpc2lnVHlwZSA9PT0gJ3RzcycpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTVBDIHNhZmUgd2FsbGV0IG1pbnRpbmcgaXMgbm90IHlldCBpbXBsZW1lbnRlZDsgdXNlIG11bHRpc2lnVHlwZSBcIm9uY2hhaW5cIicpO1xuICAgIH1cblxuICAgIGNvbnN0IGNvaW4gPSB0aGlzLmJpdGdvLmNvaW4ocGFyYW1zLmNvaW4pO1xuICAgIGNvbnN0IHNsb3QgPSBvbmNoYWluU2xvdEZvckNvaW4oY29pbik7XG5cbiAgICBjb25zdCBpbmRleFJlc3BvbnNlID0gYXdhaXQgdGhpcy5iaXRnby5nZXQodGhpcy51cmwoJy9kZXJpdmF0aW9uLWluZGV4JykpLnF1ZXJ5KHsgc2xvdCB9KS5yZXN1bHQoKTtcbiAgICBjb25zdCBwZWVrZWQgPSBkZWNvZGVXaXRoQ29kZWMoR2V0RGVyaXZhdGlvbkluZGV4UmVzcG9uc2UsIGluZGV4UmVzcG9uc2UsICdHZXREZXJpdmF0aW9uSW5kZXhSZXNwb25zZScpO1xuICAgIGlmIChwZWVrZWQuc2xvdCAhPT0gc2xvdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBkZXJpdmF0aW9uLWluZGV4IHJldHVybmVkIHNsb3QgJyR7cGVla2VkLnNsb3R9JywgZXhwZWN0ZWQgJyR7c2xvdH0nYCk7XG4gICAgfVxuICAgIGNvbnN0IHsgaW5kZXggfSA9IHBlZWtlZDtcblxuICAgIGNvbnN0IHVzZXJSb290SWQgPSB1c2VyUm9vdElkRnJvbVNhZmUodGhpcy5fc2FmZSwgc2xvdCkgPz8gdXNlclJvb3RJZEZyb21TYWZlKGF3YWl0IHRoaXMuZmV0Y2hTYWZlRGF0YSgpLCBzbG90KTtcbiAgICBpZiAodXNlclJvb3RJZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFNhZmUgJHt0aGlzLmlkKCl9IGlzIG1pc3Npbmcgcm9vdEtleXMuaG90LiR7c2xvdH1gKTtcbiAgICB9XG5cbiAgICBjb25zdCBrZXljaGFpbnMgPSBjb2luLmtleWNoYWlucygpO1xuICAgIGNvbnN0IHJvb3RLZXljaGFpbiA9IGF3YWl0IGtleWNoYWlucy5nZXQoeyBpZDogdXNlclJvb3RJZCB9KTtcbiAgICBpZiAocm9vdEtleWNoYWluLnNvdXJjZSAhPT0gJ3VzZXInKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFJvb3RLZXljaGFpblNvdXJjZUVycm9yKHJvb3RLZXljaGFpbi5pZCwgcm9vdEtleWNoYWluLnNvdXJjZSk7XG4gICAgfVxuICAgIGNvbnN0IHJvb3RQcnYgPSBhd2FpdCBkZWNyeXB0S2V5Y2hhaW5Qcml2YXRlS2V5KHRoaXMuYml0Z28sIHJvb3RLZXljaGFpbiwgcGFyYW1zLnBhc3NwaHJhc2UpO1xuICAgIGlmICghcm9vdFBydikge1xuICAgICAgdGhyb3cgbmV3IEluY29ycmVjdFBhc3N3b3JkRXJyb3IoKTtcbiAgICB9XG5cbiAgICBjb25zdCBkZXJpdmVkID0gZGVyaXZlQW5kU2VsZkNoZWNrU2FmZUNoaWxkSGFyZGVuZWQocm9vdFBydiwgaW5kZXgpO1xuXG4gICAgY29uc3QgY2hpbGQgPSBhd2FpdCBrZXljaGFpbnMuYWRkKHtcbiAgICAgIHB1YjogZGVyaXZlZC5wdWIsXG4gICAgICBzb3VyY2U6ICd1c2VyJyxcbiAgICAgIGtleVR5cGU6ICdpbmRlcGVuZGVudCcsXG4gICAgICBwYXJlbnQ6IHVzZXJSb290SWQsXG4gICAgICBzYWZlSWQ6IHRoaXMuaWQoKSxcbiAgICB9KTtcbiAgICBjb25zdCBjaGlsZElkID0gY2hpbGQuaWQ7XG4gICAgaWYgKGNoaWxkSWQubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3NhZmUgY2hpbGQga2V5IHJlZ2lzdHJhdGlvbiByZXR1cm5lZCBhbiBlbXB0eSBpZCcpO1xuICAgIH1cbiAgICBjb25zdCBrZXlzOiBbc3RyaW5nXSA9IFtjaGlsZElkXTtcblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgcG9zdFdpdGhDb2RlYyh0aGlzLmJpdGdvLCB0aGlzLnVybCgnL3dhbGxldHMnKSwgQ3JlYXRlV2FsbGV0SW5TYWZlQm9keSwge1xuICAgICAgY29pbjogcGFyYW1zLmNvaW4sXG4gICAgICBsYWJlbDogcGFyYW1zLmxhYmVsLFxuICAgICAgdHlwZTogJ2hvdCcsXG4gICAgICBtdWx0aXNpZ1R5cGU6ICdvbmNoYWluJyxcbiAgICAgIGtleXMsXG4gICAgfSkucmVzdWx0KCk7XG4gICAgcmV0dXJuIG5ldyBXYWxsZXQodGhpcy5iaXRnbywgY29pbiwgcmVzcG9uc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBmZXRjaFNhZmVEYXRhKCk6IFByb21pc2U8U2FmZURhdGE+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuYml0Z28uZ2V0KHRoaXMudXJsKCkpLnJlc3VsdCgpO1xuICAgIHJldHVybiBkZWNvZGVXaXRoQ29kZWMoU2FmZURhdGEsIHJlc3BvbnNlLCAnU2FmZURhdGEnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBtZW1iZXIgdG8gdGhlIHdob2xlIHNhZmUgKHZpZXcvYWRtaW4vc3BlbmQpLiBTcGVuZCBvcGVucyBhIGtleSBzaGFyZS5cbiAgICogQm9keSBsYW5kcyBpbiBXQ04tMTIwNC5cbiAgICovXG4gIGFzeW5jIGFkZE1lbWJlcihwYXJhbXM6IEFkZFNhZmVNZW1iZXJPcHRpb25zKTogUHJvbWlzZTxTYWZlRGF0YT4ge1xuICAgIHRocm93IG5ldyBFcnJvcignU2FmZS5hZGRNZW1iZXIgaXMgbm90IHlldCBpbXBsZW1lbnRlZCAoV0NOLTEyMDQpJyk7XG4gIH1cblxuICAvKipcbiAgICogU2hhcmUgT05FIHNhZmUgd2FsbGV0IHdpdGggYSBub24tbWVtYmVyIHZpYSB0aGUgZXhpc3Rpbmcgd2FsbGV0LXNoYXJlIGhhbmRzaGFrZSAoRlItMTMpLlxuICAgKiBCb2R5IGxhbmRzIGluIFdDTi0xMjA0LlxuICAgKi9cbiAgYXN5bmMgYWRkTWVtYmVyVG9XYWxsZXQocGFyYW1zOiBBZGRTYWZlV2FsbGV0TWVtYmVyT3B0aW9ucyk6IFByb21pc2U8V2FsbGV0U2hhcmVEYXRhPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdTYWZlLmFkZE1lbWJlclRvV2FsbGV0IGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQgKFdDTi0xMjA0KScpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3QgdGhlIHNhZmUga2V5IHNoYXJlcyB2aXNpYmxlIHRvIHRoZSBjYWxsZXIuXG4gICAqIEJvZHkgbGFuZHMgaW4gV0NOLTEyMDQuXG4gICAqL1xuICBhc3luYyBsaXN0U2hhcmVzKHBhcmFtczogeyBzdGF0ZT86IFNhZmVTaGFyZVN0YXRlIH0gPSB7fSk6IFByb21pc2U8U2FmZVNoYXJlRGF0YVtdPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdTYWZlLmxpc3RTaGFyZXMgaXMgbm90IHlldCBpbXBsZW1lbnRlZCAoV0NOLTEyMDQpJyk7XG4gIH1cblxuICAvKipcbiAgICogQWNjZXB0IGEgc2FmZSBrZXkgc2hhcmUgYWRkcmVzc2VkIHRvIHRoZSBjYWxsZXIuXG4gICAqIEJvZHkgbGFuZHMgaW4gV0NOLTEyMDQuXG4gICAqL1xuICBhc3luYyBhY2NlcHRTaGFyZShwYXJhbXM6IEFjY2VwdFNhZmVTaGFyZU9wdGlvbnMpOiBQcm9taXNlPFNhZmVTaGFyZURhdGE+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1NhZmUuYWNjZXB0U2hhcmUgaXMgbm90IHlldCBpbXBsZW1lbnRlZCAoV0NOLTEyMDQpJyk7XG4gIH1cblxuICAvKipcbiAgICogRnJlZXplIHRoZSBzYWZlIOKAlCBibG9ja3Mgd2l0aGRyYXdhbHMgb24gYWxsIHNhZmUgd2FsbGV0cy4gU2FmZSBzdGF5cyAnYWN0aXZlJy5cbiAgICogQHBhcmFtIHBhcmFtc1xuICAgKi9cbiAgYXN5bmMgZnJlZXplKHBhcmFtczogRnJlZXplU2FmZUJvZHkgPSB7fSk6IFByb21pc2U8U2FmZURhdGE+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHBvc3RXaXRoQ29kZWModGhpcy5iaXRnbywgdGhpcy51cmwoJy9mcmVlemUnKSwgRnJlZXplU2FmZUJvZHksIHBhcmFtcykucmVzdWx0KCk7XG4gICAgcmV0dXJuIGRlY29kZVdpdGhDb2RlYyhTYWZlRGF0YSwgcmVzcG9uc2UsICdTYWZlRGF0YScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFyY2hpdmUgdGhlIHNhZmUuIFJlcXVpcmVzIGV2ZXJ5IHNhZmUgd2FsbGV0IHRvIGFscmVhZHkgYmUgYXJjaGl2ZWQ7IGFsc28gdGhlIGFiYW5kb25tZW50XG4gICAqIHBhdGggZm9yIGEgc3R1Y2sgJ2luaXRpYWxpemluZycgc2FmZS5cbiAgICovXG4gIGFzeW5jIGFyY2hpdmUoKTogUHJvbWlzZTxTYWZlRGF0YT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5iaXRnby5wb3N0KHRoaXMudXJsKCcvYXJjaGl2ZScpKS5zZW5kKCkucmVzdWx0KCk7XG4gICAgcmV0dXJuIGRlY29kZVdpdGhDb2RlYyhTYWZlRGF0YSwgcmVzcG9uc2UsICdTYWZlRGF0YScpO1xuICB9XG5cbiAgdG9KU09OKCk6IFNhZmVEYXRhIHtcbiAgICByZXR1cm4gdGhpcy5fc2FmZTtcbiAgfVxufVxuIl19
|
|
230
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby9zYWZlL3NhZmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7O0dBS0c7QUFDSCx5Q0FBMkI7QUFDM0Isc0RBQWdIO0FBQ2hILDRDQUFpRDtBQUdqRCxzQ0FBbUQ7QUFDbkQsMENBQXdEO0FBQ3hELDRDQUE4RDtBQUM5RCwwREFBdUQ7QUFDdkQsc0NBQW1DO0FBQ25DLHlEQUF3RTtBQVN4RSxxREFBMEc7QUFFMUcsTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUM5QixpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCLFFBQVEsRUFBRSxJQUFJO0lBQ2QsUUFBUSxFQUFFLElBQUk7SUFDZCxlQUFlLEVBQUUsSUFBSTtDQUN0QixDQUFDLENBQUM7QUFFSCxNQUFNLDBCQUEwQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDeEMsSUFBSSxFQUFFLGVBQWU7SUFDckIsS0FBSyxFQUFFLElBQUEsbUJBQVUsRUFBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixDQUFDO0NBQ3BELENBQUMsQ0FBQztBQUVILE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN0QyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDZCxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDZixJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDdEIsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQ2xDLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0NBQzFCLENBQUMsQ0FBQztBQUVILFNBQVMsa0JBQWtCLENBQUMsSUFBZTtJQUN6QyxJQUFJLElBQUks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Q0FBQyxFQUFFLDZCQUFjLEVBQUUsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdkcsT0FBTyxJQUFBLHdCQUFlLEVBQUMsdUJBQVEsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDN0UsT0FBTyxJQUFBLHdCQUFlLEVBQUMsdUJBQVEsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztDQUNGO0FBbEtELG9CQWtLQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHByZXR0aWVyXG4gKlxuICogQGV4cGVyaW1lbnRhbCBUaGUgc2FmZSBjbGllbnQgc3VyZmFjZSBpcyBleHBlcmltZW50YWwgYW5kIG1heSBjaGFuZ2UgKGluY2x1ZGluZyBicmVha2luZ1xuICogY2hhbmdlcykgYmVmb3JlIHRoZSBwdWJsaWMgcmVsZWFzZS5cbiAqL1xuaW1wb3J0ICogYXMgdCBmcm9tICdpby10cyc7XG5pbXBvcnQgeyBGcmVlemVTYWZlQm9keSwgU2FmZURhdGEsIFNhZmVTaGFyZURhdGEsIFNhZmVTaGFyZVN0YXRlLCB0eXBlIFJvb3RLZXlUeXBlIH0gZnJvbSAnQGJpdGdvL3B1YmxpYy10eXBlcyc7XG5pbXBvcnQgeyBjb2lucywgS2V5Q3VydmUgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBJQmFzZUNvaW4gfSBmcm9tICcuLi9iYXNlQ29pbic7XG5pbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICcuLi9iaXRnb0Jhc2UnO1xuaW1wb3J0IHsgSW5jb3JyZWN0UGFzc3dvcmRFcnJvciB9IGZyb20gJy4uL2Vycm9ycyc7XG5pbXBvcnQgeyBkZWNyeXB0S2V5Y2hhaW5Qcml2YXRlS2V5IH0gZnJvbSAnLi4va2V5Y2hhaW4nO1xuaW1wb3J0IHsgYm91bmRlZEludCwgZGVjb2RlV2l0aENvZGVjIH0gZnJvbSAnLi4vdXRpbHMvY29kZWNzJztcbmltcG9ydCB7IHBvc3RXaXRoQ29kZWMgfSBmcm9tICcuLi91dGlscy9wb3N0V2l0aENvZGVjJztcbmltcG9ydCB7IFdhbGxldCB9IGZyb20gJy4uL3dhbGxldCc7XG5pbXBvcnQgeyBJbnZhbGlkUm9vdEtleWNoYWluU291cmNlRXJyb3IgfSBmcm9tICcuLi93YWxsZXQvc2FmZUtleWNoYWluJztcbmltcG9ydCB7XG4gIEFjY2VwdFNhZmVTaGFyZU9wdGlvbnMsXG4gIEFkZFNhZmVNZW1iZXJPcHRpb25zLFxuICBBZGRTYWZlV2FsbGV0TWVtYmVyT3B0aW9ucyxcbiAgQ3JlYXRlU2FmZVdhbGxldE9wdGlvbnMsXG4gIElTYWZlLFxuICBXYWxsZXRTaGFyZURhdGEsXG59IGZyb20gJy4vaVNhZmUnO1xuaW1wb3J0IHsgZGVyaXZlQW5kU2VsZkNoZWNrU2FmZUNoaWxkSGFyZGVuZWQsIERlcml2ZWRGcm9tUGFyZW50V2l0aEhhcmRlbmVkUGF0aCB9IGZyb20gJy4vc2FmZURlcml2YXRpb24nO1xuXG5jb25zdCBTYWZlUm9vdEtleVNsb3QgPSB0LmtleW9mKHtcbiAgc2VjcDI1NmsxTXVsdGlzaWc6IG51bGwsXG4gIGVjZHNhTXBjOiBudWxsLFxuICBlZGRzYU1wYzogbnVsbCxcbiAgZWQyNTUxOU11bHRpc2lnOiBudWxsLFxufSk7XG5cbmNvbnN0IEdldERlcml2YXRpb25JbmRleFJlc3BvbnNlID0gdC50eXBlKHtcbiAgc2xvdDogU2FmZVJvb3RLZXlTbG90LFxuICBpbmRleDogYm91bmRlZEludCgwLCAweDdmZmZmZmZmLCAnZGVyaXZhdGlvbkluZGV4JyksXG59KTtcblxuY29uc3QgQ3JlYXRlV2FsbGV0SW5TYWZlQm9keSA9IHQuc3RyaWN0KHtcbiAgY29pbjogdC5zdHJpbmcsXG4gIGxhYmVsOiB0LnN0cmluZyxcbiAgdHlwZTogdC5saXRlcmFsKCdob3QnKSxcbiAgbXVsdGlzaWdUeXBlOiB0LmxpdGVyYWwoJ29uY2hhaW4nKSxcbiAga2V5czogdC50dXBsZShbdC5zdHJpbmddKSxcbn0pO1xuXG5mdW5jdGlvbiBvbmNoYWluU2xvdEZvckNvaW4oY29pbjogSUJhc2VDb2luKTogRXh0cmFjdDxSb290S2V5VHlwZSwgJ3NlY3AyNTZrMU11bHRpc2lnJz4ge1xuICBpZiAoY29pbi5nZXREZWZhdWx0TXVsdGlzaWdUeXBlKCkgPT09ICd0c3MnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNUEMgc2FmZSB3YWxsZXQgbWludGluZyBpcyBub3QgeWV0IGltcGxlbWVudGVkOyB1c2UgYSBzbG90LTEgb25jaGFpbiBjb2luJyk7XG4gIH1cbiAgY29uc3QgY3VydmUgPSBjb2lucy5nZXQoY29pbi5nZXRDaGFpbigpKS5wcmltYXJ5S2V5Q3VydmU7XG4gIGlmIChjdXJ2ZSA9PT0gS2V5Q3VydmUuU2VjcDI1NmsxKSB7XG4gICAgcmV0dXJuICdzZWNwMjU2azFNdWx0aXNpZyc7XG4gIH1cbiAgaWYgKGN1cnZlID09PSBLZXlDdXJ2ZS5FZDI1NTE5KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdlZDI1NTE5IGNvaW4gc2FmZSB3YWxsZXQgbWludGluZyBpcyBub3QgeWV0IHN1cHBvcnRlZCcpO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcihgQ29pbiAnJHtjb2luLmdldENoYWluKCl9JyBpcyBub3Qgc3VwcG9ydGVkIGZvciBzYWZlIHdhbGxldCBtaW50aW5nYCk7XG59XG5cbmZ1bmN0aW9uIHVzZXJSb290SWRGcm9tU2FmZShzYWZlOiBTYWZlRGF0YSwgc2xvdDogUm9vdEtleVR5cGUpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCB0cmlwbGV0ID0gc2FmZS5yb290S2V5cz8uaG90Py5bc2xvdF07XG4gIGlmICghdHJpcGxldCB8fCB0cmlwbGV0Lmxlbmd0aCAhPT0gMykge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgY29uc3QgdXNlclJvb3RJZCA9IHRyaXBsZXRbMF07XG4gIHJldHVybiB1c2VyUm9vdElkLmxlbmd0aCA+IDAgPyB1c2VyUm9vdElkIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNhZmUgaW1wbGVtZW50cyBJU2FmZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYml0Z286IEJpdEdvQmFzZTtcbiAgcHVibGljIHJlYWRvbmx5IF9zYWZlOiBTYWZlRGF0YTtcblxuICBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBzYWZlRGF0YTogU2FmZURhdGEpIHtcbiAgICB0aGlzLmJpdGdvID0gYml0Z287XG4gICAgdGhpcy5fc2FmZSA9IHNhZmVEYXRhO1xuICB9XG5cbiAgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc2FmZS5pZDtcbiAgfVxuXG4gIGVudGVycHJpc2VJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zYWZlLmVudGVycHJpc2VJZDtcbiAgfVxuXG4gIGxhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3NhZmUubGFiZWw7XG4gIH1cblxuICBzdGF0dXMoKTogU2FmZURhdGFbJ3N0YXR1cyddIHtcbiAgICByZXR1cm4gdGhpcy5fc2FmZS5zdGF0dXM7XG4gIH1cblxuICAvKipcbiAgICogRW50ZXJwcmlzZS1zY29wZWQgdjIgVVJMIGZvciB0aGlzIHNhZmUsIGUuZy4gL2FwaS92Mi9lbnRlcnByaXNlLzplSWQvc2FmZXMvOnNhZmVJZFxuICAgKiBAcGFyYW0gZXh0cmFcbiAgICovXG4gIHVybChleHRyYSA9ICcnKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5iaXRnby51cmwoYC9lbnRlcnByaXNlLyR7dGhpcy5lbnRlcnByaXNlSWQoKX0vc2FmZXMvJHt0aGlzLmlkKCl9JHtleHRyYX1gLCAyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNaW50IGEgY2hpbGQgd2FsbGV0OiBwZWVrIHRoZSBzZXF1ZW50aWFsIGluZGV4LCBoYXJkZW5lZC1kZXJpdmUgdGhlIHVzZXIgY2hpbGQsXG4gICAqIHJlZ2lzdGVyIGl0IHB1YmxpYy1vbmx5LCB0aGVuIG1pbnQuIEJhY2t1cCBhbmQgQml0R28gY2hpbGRyZW4gYXJlIHNvZnQtZGVyaXZlZCBvbiB0aGUgc2VydmVyLlxuICAgKi9cbiAgYXN5bmMgY3JlYXRlV2FsbGV0KHBhcmFtczogQ3JlYXRlU2FmZVdhbGxldE9wdGlvbnMpOiBQcm9taXNlPFdhbGxldD4ge1xuICAgIGlmIChwYXJhbXMucGFzc3BocmFzZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigncGFzc3BocmFzZSBpcyByZXF1aXJlZCB0byBtaW50IGEgc2FmZSB3YWxsZXQnKTtcbiAgICB9XG4gICAgaWYgKHBhcmFtcy50eXBlICE9PSB1bmRlZmluZWQgJiYgcGFyYW1zLnR5cGUgIT09ICdob3QnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NhZmUgd2FsbGV0cyBhcmUgaG90LW9ubHkgaW4gdjEnKTtcbiAgICB9XG4gICAgaWYgKHBhcmFtcy5tdWx0aXNpZ1R5cGUgPT09ICd0c3MnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01QQyBzYWZlIHdhbGxldCBtaW50aW5nIGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQ7IHVzZSBtdWx0aXNpZ1R5cGUgXCJvbmNoYWluXCInKTtcbiAgICB9XG5cbiAgICBjb25zdCBjb2luID0gdGhpcy5iaXRnby5jb2luKHBhcmFtcy5jb2luKTtcbiAgICBjb25zdCBzbG90ID0gb25jaGFpblNsb3RGb3JDb2luKGNvaW4pO1xuXG4gICAgY29uc3QgaW5kZXhSZXNwb25zZSA9IGF3YWl0IHRoaXMuYml0Z28uZ2V0KHRoaXMudXJsKCcvZGVyaXZhdGlvbi1pbmRleCcpKS5xdWVyeSh7IHNsb3QgfSkucmVzdWx0KCk7XG4gICAgY29uc3QgcGVla2VkID0gZGVjb2RlV2l0aENvZGVjKEdldERlcml2YXRpb25JbmRleFJlc3BvbnNlLCBpbmRleFJlc3BvbnNlLCAnR2V0RGVyaXZhdGlvbkluZGV4UmVzcG9uc2UnKTtcbiAgICBpZiAocGVla2VkLnNsb3QgIT09IHNsb3QpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZGVyaXZhdGlvbi1pbmRleCByZXR1cm5lZCBzbG90ICcke3BlZWtlZC5zbG90fScsIGV4cGVjdGVkICcke3Nsb3R9J2ApO1xuICAgIH1cbiAgICBjb25zdCB7IGluZGV4IH0gPSBwZWVrZWQ7XG5cbiAgICBjb25zdCB1c2VyUm9vdElkID0gdXNlclJvb3RJZEZyb21TYWZlKHRoaXMuX3NhZmUsIHNsb3QpID8/IHVzZXJSb290SWRGcm9tU2FmZShhd2FpdCB0aGlzLmZldGNoU2FmZURhdGEoKSwgc2xvdCk7XG4gICAgaWYgKHVzZXJSb290SWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBTYWZlICR7dGhpcy5pZCgpfSBpcyBtaXNzaW5nIHJvb3RLZXlzLmhvdC4ke3Nsb3R9YCk7XG4gICAgfVxuXG4gICAgY29uc3Qga2V5Y2hhaW5zID0gY29pbi5rZXljaGFpbnMoKTtcbiAgICBjb25zdCByb290S2V5Y2hhaW4gPSBhd2FpdCBrZXljaGFpbnMuZ2V0KHsgaWQ6IHVzZXJSb290SWQgfSk7XG4gICAgaWYgKHJvb3RLZXljaGFpbi5zb3VyY2UgIT09ICd1c2VyJykge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRSb290S2V5Y2hhaW5Tb3VyY2VFcnJvcihyb290S2V5Y2hhaW4uaWQsIHJvb3RLZXljaGFpbi5zb3VyY2UpO1xuICAgIH1cbiAgICBjb25zdCByb290UHJ2ID0gYXdhaXQgZGVjcnlwdEtleWNoYWluUHJpdmF0ZUtleSh0aGlzLmJpdGdvLCByb290S2V5Y2hhaW4sIHBhcmFtcy5wYXNzcGhyYXNlKTtcbiAgICBpZiAoIXJvb3RQcnYpIHtcbiAgICAgIHRocm93IG5ldyBJbmNvcnJlY3RQYXNzd29yZEVycm9yKCk7XG4gICAgfVxuXG4gICAgY29uc3QgZGVyaXZlZCA9IGRlcml2ZUFuZFNlbGZDaGVja1NhZmVDaGlsZEhhcmRlbmVkKHJvb3RQcnYsIGluZGV4KTtcbiAgICBjb25zdCBkZXJpdmVkRnJvbVBhcmVudFdpdGhIYXJkZW5lZFBhdGggPSBkZWNvZGVXaXRoQ29kZWMoXG4gICAgICBEZXJpdmVkRnJvbVBhcmVudFdpdGhIYXJkZW5lZFBhdGgsXG4gICAgICBkZXJpdmVkLmRlcml2YXRpb25QYXRoLFxuICAgICAgJ2Rlcml2ZWRGcm9tUGFyZW50V2l0aEhhcmRlbmVkUGF0aCdcbiAgICApO1xuXG4gICAgY29uc3QgY2hpbGQgPSBhd2FpdCBrZXljaGFpbnMuYWRkKHtcbiAgICAgIHB1YjogZGVyaXZlZC5wdWIsXG4gICAgICBzb3VyY2U6ICd1c2VyJyxcbiAgICAgIGtleVR5cGU6ICdpbmRlcGVuZGVudCcsXG4gICAgICBwYXJlbnQ6IHVzZXJSb290SWQsXG4gICAgICBzYWZlSWQ6IHRoaXMuaWQoKSxcbiAgICAgIGRlcml2ZWRGcm9tUGFyZW50V2l0aEhhcmRlbmVkUGF0aCxcbiAgICB9KTtcbiAgICBjb25zdCBjaGlsZElkID0gY2hpbGQuaWQ7XG4gICAgaWYgKGNoaWxkSWQubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3NhZmUgY2hpbGQga2V5IHJlZ2lzdHJhdGlvbiByZXR1cm5lZCBhbiBlbXB0eSBpZCcpO1xuICAgIH1cbiAgICBjb25zdCBrZXlzOiBbc3RyaW5nXSA9IFtjaGlsZElkXTtcblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgcG9zdFdpdGhDb2RlYyh0aGlzLmJpdGdvLCB0aGlzLnVybCgnL3dhbGxldHMnKSwgQ3JlYXRlV2FsbGV0SW5TYWZlQm9keSwge1xuICAgICAgY29pbjogcGFyYW1zLmNvaW4sXG4gICAgICBsYWJlbDogcGFyYW1zLmxhYmVsLFxuICAgICAgdHlwZTogJ2hvdCcsXG4gICAgICBtdWx0aXNpZ1R5cGU6ICdvbmNoYWluJyxcbiAgICAgIGtleXMsXG4gICAgfSkucmVzdWx0KCk7XG4gICAgcmV0dXJuIG5ldyBXYWxsZXQodGhpcy5iaXRnbywgY29pbiwgcmVzcG9uc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBmZXRjaFNhZmVEYXRhKCk6IFByb21pc2U8U2FmZURhdGE+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuYml0Z28uZ2V0KHRoaXMudXJsKCkpLnJlc3VsdCgpO1xuICAgIHJldHVybiBkZWNvZGVXaXRoQ29kZWMoU2FmZURhdGEsIHJlc3BvbnNlLCAnU2FmZURhdGEnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBtZW1iZXIgdG8gdGhlIHdob2xlIHNhZmUgKHZpZXcvYWRtaW4vc3BlbmQpLiBTcGVuZCBvcGVucyBhIGtleSBzaGFyZS5cbiAgICogQm9keSBsYW5kcyBpbiBXQ04tMTIwNC5cbiAgICovXG4gIGFzeW5jIGFkZE1lbWJlcihwYXJhbXM6IEFkZFNhZmVNZW1iZXJPcHRpb25zKTogUHJvbWlzZTxTYWZlRGF0YT4ge1xuICAgIHRocm93IG5ldyBFcnJvcignU2FmZS5hZGRNZW1iZXIgaXMgbm90IHlldCBpbXBsZW1lbnRlZCAoV0NOLTEyMDQpJyk7XG4gIH1cblxuICAvKipcbiAgICogU2hhcmUgT05FIHNhZmUgd2FsbGV0IHdpdGggYSBub24tbWVtYmVyIHZpYSB0aGUgZXhpc3Rpbmcgd2FsbGV0LXNoYXJlIGhhbmRzaGFrZSAoRlItMTMpLlxuICAgKiBCb2R5IGxhbmRzIGluIFdDTi0xMjA0LlxuICAgKi9cbiAgYXN5bmMgYWRkTWVtYmVyVG9XYWxsZXQocGFyYW1zOiBBZGRTYWZlV2FsbGV0TWVtYmVyT3B0aW9ucyk6IFByb21pc2U8V2FsbGV0U2hhcmVEYXRhPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdTYWZlLmFkZE1lbWJlclRvV2FsbGV0IGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQgKFdDTi0xMjA0KScpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3QgdGhlIHNhZmUga2V5IHNoYXJlcyB2aXNpYmxlIHRvIHRoZSBjYWxsZXIuXG4gICAqIEJvZHkgbGFuZHMgaW4gV0NOLTEyMDQuXG4gICAqL1xuICBhc3luYyBsaXN0U2hhcmVzKHBhcmFtczogeyBzdGF0ZT86IFNhZmVTaGFyZVN0YXRlIH0gPSB7fSk6IFByb21pc2U8U2FmZVNoYXJlRGF0YVtdPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdTYWZlLmxpc3RTaGFyZXMgaXMgbm90IHlldCBpbXBsZW1lbnRlZCAoV0NOLTEyMDQpJyk7XG4gIH1cblxuICAvKipcbiAgICogQWNjZXB0IGEgc2FmZSBrZXkgc2hhcmUgYWRkcmVzc2VkIHRvIHRoZSBjYWxsZXIuXG4gICAqIEJvZHkgbGFuZHMgaW4gV0NOLTEyMDQuXG4gICAqL1xuICBhc3luYyBhY2NlcHRTaGFyZShwYXJhbXM6IEFjY2VwdFNhZmVTaGFyZU9wdGlvbnMpOiBQcm9taXNlPFNhZmVTaGFyZURhdGE+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1NhZmUuYWNjZXB0U2hhcmUgaXMgbm90IHlldCBpbXBsZW1lbnRlZCAoV0NOLTEyMDQpJyk7XG4gIH1cblxuICAvKipcbiAgICogRnJlZXplIHRoZSBzYWZlIOKAlCBibG9ja3Mgd2l0aGRyYXdhbHMgb24gYWxsIHNhZmUgd2FsbGV0cy4gU2FmZSBzdGF5cyAnYWN0aXZlJy5cbiAgICogQHBhcmFtIHBhcmFtc1xuICAgKi9cbiAgYXN5bmMgZnJlZXplKHBhcmFtczogRnJlZXplU2FmZUJvZHkgPSB7fSk6IFByb21pc2U8U2FmZURhdGE+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHBvc3RXaXRoQ29kZWModGhpcy5iaXRnbywgdGhpcy51cmwoJy9mcmVlemUnKSwgRnJlZXplU2FmZUJvZHksIHBhcmFtcykucmVzdWx0KCk7XG4gICAgcmV0dXJuIGRlY29kZVdpdGhDb2RlYyhTYWZlRGF0YSwgcmVzcG9uc2UsICdTYWZlRGF0YScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFyY2hpdmUgdGhlIHNhZmUuIFJlcXVpcmVzIGV2ZXJ5IHNhZmUgd2FsbGV0IHRvIGFscmVhZHkgYmUgYXJjaGl2ZWQ7IGFsc28gdGhlIGFiYW5kb25tZW50XG4gICAqIHBhdGggZm9yIGEgc3R1Y2sgJ2luaXRpYWxpemluZycgc2FmZS5cbiAgICovXG4gIGFzeW5jIGFyY2hpdmUoKTogUHJvbWlzZTxTYWZlRGF0YT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5iaXRnby5wb3N0KHRoaXMudXJsKCcvYXJjaGl2ZScpKS5zZW5kKCkucmVzdWx0KCk7XG4gICAgcmV0dXJuIGRlY29kZVdpdGhDb2RlYyhTYWZlRGF0YSwgcmVzcG9uc2UsICdTYWZlRGF0YScpO1xuICB9XG5cbiAgdG9KU09OKCk6IFNhZmVEYXRhIHtcbiAgICByZXR1cm4gdGhpcy5fc2FmZTtcbiAgfVxufVxuIl19
|
|
@@ -1,7 +1,24 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @prettier
|
|
3
|
+
*
|
|
4
|
+
* @experimental Shared safe child derivation for mint and sign.
|
|
5
|
+
*
|
|
6
|
+
* User child: hardened `m/<index>'` from the sequential `safe.derivationIndex[slot]`.
|
|
7
|
+
* Backup / BitGo children are soft-derived server-side at `m/<index>` (not here).
|
|
8
|
+
*
|
|
9
|
+
* Do not use `derivedFromParentWithSeed` / `deriveKeyWithSeed` (`m/999999/a/b`) —
|
|
10
|
+
* that is the custody hashed path and cannot reproduce a safe child.
|
|
11
|
+
*/
|
|
12
|
+
import * as t from 'io-ts';
|
|
13
|
+
export declare const DERIVED_FROM_PARENT_WITH_HARDENED_PATH: RegExp;
|
|
3
14
|
export declare function parseSafeDerivationIndex(index: string | number): number;
|
|
4
15
|
export declare function getSafeHardenedDerivationPath(index: string | number): string;
|
|
16
|
+
export interface DerivedFromParentWithHardenedPathBrand {
|
|
17
|
+
readonly DerivedFromParentWithHardenedPath: unique symbol;
|
|
18
|
+
}
|
|
19
|
+
export type DerivedFromParentWithHardenedPath = t.Branded<string, DerivedFromParentWithHardenedPathBrand>;
|
|
20
|
+
export declare const DerivedFromParentWithHardenedPath: t.BrandC<t.StringC, DerivedFromParentWithHardenedPathBrand>;
|
|
21
|
+
export declare function parseDerivedFromParentWithHardenedPath(path: string): number;
|
|
5
22
|
export interface SafeHardenedChildKey {
|
|
6
23
|
prv: string;
|
|
7
24
|
pub: string;
|
|
@@ -10,6 +27,4 @@ export interface SafeHardenedChildKey {
|
|
|
10
27
|
export declare function deriveSafeChildHardenedFromXprv(rootXprv: string, index: string | number): SafeHardenedChildKey;
|
|
11
28
|
/** Re-derive and assert both results match before the child is registered. */
|
|
12
29
|
export declare function deriveAndSelfCheckSafeChildHardened(rootXprv: string, index: string | number): SafeHardenedChildKey;
|
|
13
|
-
/** Walk `m/0'` … `m/<max>'` until the registered child pub matches. */
|
|
14
|
-
export declare function deriveSafeChildHardenedMatchingPub(rootXprv: string, expectedPub: string, maxIndex?: number): SafeHardenedChildKey;
|
|
15
30
|
//# sourceMappingURL=safeDerivation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safeDerivation.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/safe/safeDerivation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"safeDerivation.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/safe/safeDerivation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAK3B,eAAO,MAAM,sCAAsC,QAAgB,CAAC;AAEpE,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAavE;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAE5E;AAED,MAAM,WAAW,sCAAsC;IACrD,QAAQ,CAAC,iCAAiC,EAAE,OAAO,MAAM,CAAC;CAC3D;AAED,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,sCAAsC,CAAC,CAAC;AAE1G,eAAO,MAAM,iCAAiC,6DAI7C,CAAC;AAcF,wBAAgB,sCAAsC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO3E;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,MAAM,CAAC;CACxB;AAaD,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,oBAAoB,CAI9G;AAED,8EAA8E;AAC9E,wBAAgB,mCAAmC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,oBAAoB,CAOlH"}
|
|
@@ -1,11 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
36
|
+
exports.DerivedFromParentWithHardenedPath = exports.DERIVED_FROM_PARENT_WITH_HARDENED_PATH = void 0;
|
|
4
37
|
exports.parseSafeDerivationIndex = parseSafeDerivationIndex;
|
|
5
38
|
exports.getSafeHardenedDerivationPath = getSafeHardenedDerivationPath;
|
|
39
|
+
exports.parseDerivedFromParentWithHardenedPath = parseDerivedFromParentWithHardenedPath;
|
|
6
40
|
exports.deriveSafeChildHardenedFromXprv = deriveSafeChildHardenedFromXprv;
|
|
7
41
|
exports.deriveAndSelfCheckSafeChildHardened = deriveAndSelfCheckSafeChildHardened;
|
|
8
|
-
exports.deriveSafeChildHardenedMatchingPub = deriveSafeChildHardenedMatchingPub;
|
|
9
42
|
/**
|
|
10
43
|
* @prettier
|
|
11
44
|
*
|
|
@@ -17,10 +50,11 @@ exports.deriveSafeChildHardenedMatchingPub = deriveSafeChildHardenedMatchingPub;
|
|
|
17
50
|
* Do not use `derivedFromParentWithSeed` / `deriveKeyWithSeed` (`m/999999/a/b`) —
|
|
18
51
|
* that is the custody hashed path and cannot reproduce a safe child.
|
|
19
52
|
*/
|
|
53
|
+
const t = __importStar(require("io-ts"));
|
|
20
54
|
const utxo_lib_1 = require("@bitgo/utxo-lib");
|
|
55
|
+
const codecs_1 = require("../utils/codecs");
|
|
21
56
|
const MAX_BIP32_INDEX = 0x7fffffff;
|
|
22
|
-
|
|
23
|
-
exports.MAX_SAFE_CHILD_INDEX_SCAN = 4096;
|
|
57
|
+
exports.DERIVED_FROM_PARENT_WITH_HARDENED_PATH = /^m\/(\d+)'$/;
|
|
24
58
|
function parseSafeDerivationIndex(index) {
|
|
25
59
|
let idx;
|
|
26
60
|
if (typeof index === 'number') {
|
|
@@ -40,6 +74,27 @@ function parseSafeDerivationIndex(index) {
|
|
|
40
74
|
function getSafeHardenedDerivationPath(index) {
|
|
41
75
|
return `m/${parseSafeDerivationIndex(index)}'`;
|
|
42
76
|
}
|
|
77
|
+
exports.DerivedFromParentWithHardenedPath = t.brand(t.string, (s) => parseDerivedFromParentWithHardenedPathIndex(s) !== undefined, 'DerivedFromParentWithHardenedPath');
|
|
78
|
+
function parseDerivedFromParentWithHardenedPathIndex(path) {
|
|
79
|
+
const match = exports.DERIVED_FROM_PARENT_WITH_HARDENED_PATH.exec(path);
|
|
80
|
+
if (!match) {
|
|
81
|
+
return undefined;
|
|
82
|
+
}
|
|
83
|
+
try {
|
|
84
|
+
return parseSafeDerivationIndex(match[1]);
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
return undefined;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
function parseDerivedFromParentWithHardenedPath(path) {
|
|
91
|
+
const validated = (0, codecs_1.decodeWithCodec)(exports.DerivedFromParentWithHardenedPath, path, 'derivedFromParentWithHardenedPath');
|
|
92
|
+
const index = parseDerivedFromParentWithHardenedPathIndex(validated);
|
|
93
|
+
if (index === undefined) {
|
|
94
|
+
throw new Error(`Invalid derivedFromParentWithHardenedPath '${path}': expected m/<n>'`);
|
|
95
|
+
}
|
|
96
|
+
return index;
|
|
97
|
+
}
|
|
43
98
|
function childFromNode(child, derivationPath) {
|
|
44
99
|
if (!child.privateKey) {
|
|
45
100
|
throw new Error(`Failed to derive hardened safe child at ${derivationPath}`);
|
|
@@ -64,16 +119,4 @@ function deriveAndSelfCheckSafeChildHardened(rootXprv, index) {
|
|
|
64
119
|
}
|
|
65
120
|
return first;
|
|
66
121
|
}
|
|
67
|
-
|
|
68
|
-
function deriveSafeChildHardenedMatchingPub(rootXprv, expectedPub, maxIndex = exports.MAX_SAFE_CHILD_INDEX_SCAN) {
|
|
69
|
-
const root = utxo_lib_1.bip32.fromBase58(rootXprv);
|
|
70
|
-
const limit = parseSafeDerivationIndex(maxIndex);
|
|
71
|
-
for (let i = 0; i <= limit; i++) {
|
|
72
|
-
const derived = childFromNode(root.deriveHardened(i), getSafeHardenedDerivationPath(i));
|
|
73
|
-
if (derived.pub === expectedPub) {
|
|
74
|
-
return derived;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
throw new Error(`No hardened safe child at m/0'..m/${limit}' matched the registered public key`);
|
|
78
|
-
}
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZURlcml2YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vc2FmZS9zYWZlRGVyaXZhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFrQkEsNERBYUM7QUFFRCxzRUFFQztBQW1CRCwwRUFJQztBQUdELGtGQU9DO0FBR0QsZ0ZBY0M7QUFyRkQ7Ozs7Ozs7Ozs7R0FVRztBQUNILDhDQUF3RDtBQUV4RCxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUM7QUFFbkMsc0VBQXNFO0FBQ3pELFFBQUEseUJBQXlCLEdBQUcsSUFBSSxDQUFDO0FBRTlDLFNBQWdCLHdCQUF3QixDQUFDLEtBQXNCO0lBQzdELElBQUksR0FBVyxDQUFDO0lBQ2hCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUIsR0FBRyxHQUFHLEtBQUssQ0FBQztJQUNkLENBQUM7U0FBTSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUMvQixHQUFHLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RCLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsS0FBSyxvQ0FBb0MsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLEdBQUcsR0FBRyxlQUFlLEVBQUUsQ0FBQztRQUMvRCxNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxLQUFLLG9DQUFvQyxDQUFDLENBQUM7SUFDL0YsQ0FBQztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVELFNBQWdCLDZCQUE2QixDQUFDLEtBQXNCO0lBQ2xFLE9BQU8sS0FBSyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0FBQ2pELENBQUM7QUFRRCxTQUFTLGFBQWEsQ0FBQyxLQUFxQixFQUFFLGNBQXNCO0lBQ2xFLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdEIsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBQ0QsT0FBTztRQUNMLEdBQUcsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFO1FBQ3JCLEdBQUcsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFO1FBQ2hDLGNBQWM7S0FDZixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQWdCLCtCQUErQixDQUFDLFFBQWdCLEVBQUUsS0FBc0I7SUFDdEYsTUFBTSxHQUFHLEdBQUcsd0JBQXdCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsTUFBTSxjQUFjLEdBQUcsNkJBQTZCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUQsT0FBTyxhQUFhLENBQUMsZ0JBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0FBQ3ZGLENBQUM7QUFFRCw4RUFBOEU7QUFDOUUsU0FBZ0IsbUNBQW1DLENBQUMsUUFBZ0IsRUFBRSxLQUFzQjtJQUMxRixNQUFNLEtBQUssR0FBRywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDL0QsTUFBTSxNQUFNLEdBQUcsK0JBQStCLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2hFLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxNQUFNLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3pELE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLEtBQUssQ0FBQyxjQUFjLG9DQUFvQyxDQUFDLENBQUM7SUFDL0csQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELHVFQUF1RTtBQUN2RSxTQUFnQixrQ0FBa0MsQ0FDaEQsUUFBZ0IsRUFDaEIsV0FBbUIsRUFDbkIsV0FBbUIsaUNBQXlCO0lBRTVDLE1BQU0sSUFBSSxHQUFHLGdCQUFLLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sS0FBSyxHQUFHLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNoQyxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hGLElBQUksT0FBTyxDQUFDLEdBQUcsS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUNoQyxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO0lBQ0gsQ0FBQztJQUNELE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLEtBQUsscUNBQXFDLENBQUMsQ0FBQztBQUNuRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqXG4gKiBAZXhwZXJpbWVudGFsIFNoYXJlZCBzYWZlIGNoaWxkIGRlcml2YXRpb24gZm9yIG1pbnQgYW5kIHNpZ24uXG4gKlxuICogVXNlciBjaGlsZDogaGFyZGVuZWQgYG0vPGluZGV4PidgIGZyb20gdGhlIHNlcXVlbnRpYWwgYHNhZmUuZGVyaXZhdGlvbkluZGV4W3Nsb3RdYC5cbiAqIEJhY2t1cCAvIEJpdEdvIGNoaWxkcmVuIGFyZSBzb2Z0LWRlcml2ZWQgc2VydmVyLXNpZGUgYXQgYG0vPGluZGV4PmAgKG5vdCBoZXJlKS5cbiAqXG4gKiBEbyBub3QgdXNlIGBkZXJpdmVkRnJvbVBhcmVudFdpdGhTZWVkYCAvIGBkZXJpdmVLZXlXaXRoU2VlZGAgKGBtLzk5OTk5OS9hL2JgKSDigJRcbiAqIHRoYXQgaXMgdGhlIGN1c3RvZHkgaGFzaGVkIHBhdGggYW5kIGNhbm5vdCByZXByb2R1Y2UgYSBzYWZlIGNoaWxkLlxuICovXG5pbXBvcnQgeyBiaXAzMiwgQklQMzJJbnRlcmZhY2UgfSBmcm9tICdAYml0Z28vdXR4by1saWInO1xuXG5jb25zdCBNQVhfQklQMzJfSU5ERVggPSAweDdmZmZmZmZmO1xuXG4vKiogU2lnbi10aW1lIHNjYW4gY2FwICh3YWxsZXQgY2FwIHBsdXMgYWJhbmRvbmVkIG1pbnQgaW5jcmVtZW50cykuICovXG5leHBvcnQgY29uc3QgTUFYX1NBRkVfQ0hJTERfSU5ERVhfU0NBTiA9IDQwOTY7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVNhZmVEZXJpdmF0aW9uSW5kZXgoaW5kZXg6IHN0cmluZyB8IG51bWJlcik6IG51bWJlciB7XG4gIGxldCBpZHg6IG51bWJlcjtcbiAgaWYgKHR5cGVvZiBpbmRleCA9PT0gJ251bWJlcicpIHtcbiAgICBpZHggPSBpbmRleDtcbiAgfSBlbHNlIGlmICgvXlxcZCskLy50ZXN0KGluZGV4KSkge1xuICAgIGlkeCA9IE51bWJlcihpbmRleCk7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNhZmUgZGVyaXZhdGlvbiBpbmRleCAnJHtpbmRleH0nOiBleHBlY3RlZCBhIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyYCk7XG4gIH1cbiAgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKGlkeCkgfHwgaWR4IDwgMCB8fCBpZHggPiBNQVhfQklQMzJfSU5ERVgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2FmZSBkZXJpdmF0aW9uIGluZGV4ICcke2luZGV4fSc6IGV4cGVjdGVkIGEgbm9uLW5lZ2F0aXZlIGludGVnZXJgKTtcbiAgfVxuICByZXR1cm4gaWR4O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2FmZUhhcmRlbmVkRGVyaXZhdGlvblBhdGgoaW5kZXg6IHN0cmluZyB8IG51bWJlcik6IHN0cmluZyB7XG4gIHJldHVybiBgbS8ke3BhcnNlU2FmZURlcml2YXRpb25JbmRleChpbmRleCl9J2A7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2FmZUhhcmRlbmVkQ2hpbGRLZXkge1xuICBwcnY6IHN0cmluZztcbiAgcHViOiBzdHJpbmc7XG4gIGRlcml2YXRpb25QYXRoOiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGNoaWxkRnJvbU5vZGUoY2hpbGQ6IEJJUDMySW50ZXJmYWNlLCBkZXJpdmF0aW9uUGF0aDogc3RyaW5nKTogU2FmZUhhcmRlbmVkQ2hpbGRLZXkge1xuICBpZiAoIWNoaWxkLnByaXZhdGVLZXkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBkZXJpdmUgaGFyZGVuZWQgc2FmZSBjaGlsZCBhdCAke2Rlcml2YXRpb25QYXRofWApO1xuICB9XG4gIHJldHVybiB7XG4gICAgcHJ2OiBjaGlsZC50b0Jhc2U1OCgpLFxuICAgIHB1YjogY2hpbGQubmV1dGVyZWQoKS50b0Jhc2U1OCgpLFxuICAgIGRlcml2YXRpb25QYXRoLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVyaXZlU2FmZUNoaWxkSGFyZGVuZWRGcm9tWHBydihyb290WHBydjogc3RyaW5nLCBpbmRleDogc3RyaW5nIHwgbnVtYmVyKTogU2FmZUhhcmRlbmVkQ2hpbGRLZXkge1xuICBjb25zdCBpZHggPSBwYXJzZVNhZmVEZXJpdmF0aW9uSW5kZXgoaW5kZXgpO1xuICBjb25zdCBkZXJpdmF0aW9uUGF0aCA9IGdldFNhZmVIYXJkZW5lZERlcml2YXRpb25QYXRoKGlkeCk7XG4gIHJldHVybiBjaGlsZEZyb21Ob2RlKGJpcDMyLmZyb21CYXNlNTgocm9vdFhwcnYpLmRlcml2ZUhhcmRlbmVkKGlkeCksIGRlcml2YXRpb25QYXRoKTtcbn1cblxuLyoqIFJlLWRlcml2ZSBhbmQgYXNzZXJ0IGJvdGggcmVzdWx0cyBtYXRjaCBiZWZvcmUgdGhlIGNoaWxkIGlzIHJlZ2lzdGVyZWQuICovXG5leHBvcnQgZnVuY3Rpb24gZGVyaXZlQW5kU2VsZkNoZWNrU2FmZUNoaWxkSGFyZGVuZWQocm9vdFhwcnY6IHN0cmluZywgaW5kZXg6IHN0cmluZyB8IG51bWJlcik6IFNhZmVIYXJkZW5lZENoaWxkS2V5IHtcbiAgY29uc3QgZmlyc3QgPSBkZXJpdmVTYWZlQ2hpbGRIYXJkZW5lZEZyb21YcHJ2KHJvb3RYcHJ2LCBpbmRleCk7XG4gIGNvbnN0IHNlY29uZCA9IGRlcml2ZVNhZmVDaGlsZEhhcmRlbmVkRnJvbVhwcnYocm9vdFhwcnYsIGluZGV4KTtcbiAgaWYgKGZpcnN0LnB1YiAhPT0gc2Vjb25kLnB1YiB8fCBmaXJzdC5wcnYgIT09IHNlY29uZC5wcnYpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFNhZmUgY2hpbGQgc2VsZi1jaGVjayBmYWlsZWQgYXQgJHtmaXJzdC5kZXJpdmF0aW9uUGF0aH06IGRlcml2YXRpb24gd2FzIG5vdCBkZXRlcm1pbmlzdGljYCk7XG4gIH1cbiAgcmV0dXJuIGZpcnN0O1xufVxuXG4vKiogV2FsayBgbS8wJ2Ag4oCmIGBtLzxtYXg+J2AgdW50aWwgdGhlIHJlZ2lzdGVyZWQgY2hpbGQgcHViIG1hdGNoZXMuICovXG5leHBvcnQgZnVuY3Rpb24gZGVyaXZlU2FmZUNoaWxkSGFyZGVuZWRNYXRjaGluZ1B1YihcbiAgcm9vdFhwcnY6IHN0cmluZyxcbiAgZXhwZWN0ZWRQdWI6IHN0cmluZyxcbiAgbWF4SW5kZXg6IG51bWJlciA9IE1BWF9TQUZFX0NISUxEX0lOREVYX1NDQU5cbik6IFNhZmVIYXJkZW5lZENoaWxkS2V5IHtcbiAgY29uc3Qgcm9vdCA9IGJpcDMyLmZyb21CYXNlNTgocm9vdFhwcnYpO1xuICBjb25zdCBsaW1pdCA9IHBhcnNlU2FmZURlcml2YXRpb25JbmRleChtYXhJbmRleCk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDw9IGxpbWl0OyBpKyspIHtcbiAgICBjb25zdCBkZXJpdmVkID0gY2hpbGRGcm9tTm9kZShyb290LmRlcml2ZUhhcmRlbmVkKGkpLCBnZXRTYWZlSGFyZGVuZWREZXJpdmF0aW9uUGF0aChpKSk7XG4gICAgaWYgKGRlcml2ZWQucHViID09PSBleHBlY3RlZFB1Yikge1xuICAgICAgcmV0dXJuIGRlcml2ZWQ7XG4gICAgfVxuICB9XG4gIHRocm93IG5ldyBFcnJvcihgTm8gaGFyZGVuZWQgc2FmZSBjaGlsZCBhdCBtLzAnLi5tLyR7bGltaXR9JyBtYXRjaGVkIHRoZSByZWdpc3RlcmVkIHB1YmxpYyBrZXlgKTtcbn1cbiJdfQ==
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZURlcml2YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vc2FmZS9zYWZlRGVyaXZhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFrQkEsNERBYUM7QUFFRCxzRUFFQztBQTBCRCx3RkFPQztBQW1CRCwwRUFJQztBQUdELGtGQU9DO0FBckdEOzs7Ozs7Ozs7O0dBVUc7QUFDSCx5Q0FBMkI7QUFDM0IsOENBQXdEO0FBQ3hELDRDQUFrRDtBQUVsRCxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUM7QUFDdEIsUUFBQSxzQ0FBc0MsR0FBRyxhQUFhLENBQUM7QUFFcEUsU0FBZ0Isd0JBQXdCLENBQUMsS0FBc0I7SUFDN0QsSUFBSSxHQUFXLENBQUM7SUFDaEIsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM5QixHQUFHLEdBQUcsS0FBSyxDQUFDO0lBQ2QsQ0FBQztTQUFNLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQy9CLEdBQUcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEIsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxLQUFLLG9DQUFvQyxDQUFDLENBQUM7SUFDL0YsQ0FBQztJQUNELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksR0FBRyxHQUFHLGVBQWUsRUFBRSxDQUFDO1FBQy9ELE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLEtBQUssb0NBQW9DLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQsU0FBZ0IsNkJBQTZCLENBQUMsS0FBc0I7SUFDbEUsT0FBTyxLQUFLLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7QUFDakQsQ0FBQztBQVFZLFFBQUEsaUNBQWlDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FDdEQsQ0FBQyxDQUFDLE1BQU0sRUFDUixDQUFDLENBQUMsRUFBMEMsRUFBRSxDQUFDLDJDQUEyQyxDQUFDLENBQUMsQ0FBQyxLQUFLLFNBQVMsRUFDM0csbUNBQW1DLENBQ3BDLENBQUM7QUFFRixTQUFTLDJDQUEyQyxDQUFDLElBQVk7SUFDL0QsTUFBTSxLQUFLLEdBQUcsOENBQXNDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNYLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUFJLENBQUM7UUFDSCxPQUFPLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQWdCLHNDQUFzQyxDQUFDLElBQVk7SUFDakUsTUFBTSxTQUFTLEdBQUcsSUFBQSx3QkFBZSxFQUFDLHlDQUFpQyxFQUFFLElBQUksRUFBRSxtQ0FBbUMsQ0FBQyxDQUFDO0lBQ2hILE1BQU0sS0FBSyxHQUFHLDJDQUEyQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JFLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLElBQUksb0JBQW9CLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBUUQsU0FBUyxhQUFhLENBQUMsS0FBcUIsRUFBRSxjQUFzQjtJQUNsRSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkNBQTJDLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUNELE9BQU87UUFDTCxHQUFHLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRTtRQUNyQixHQUFHLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtRQUNoQyxjQUFjO0tBQ2YsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFnQiwrQkFBK0IsQ0FBQyxRQUFnQixFQUFFLEtBQXNCO0lBQ3RGLE1BQU0sR0FBRyxHQUFHLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLE1BQU0sY0FBYyxHQUFHLDZCQUE2QixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFELE9BQU8sYUFBYSxDQUFDLGdCQUFLLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQztBQUN2RixDQUFDO0FBRUQsOEVBQThFO0FBQzlFLFNBQWdCLG1DQUFtQyxDQUFDLFFBQWdCLEVBQUUsS0FBc0I7SUFDMUYsTUFBTSxLQUFLLEdBQUcsK0JBQStCLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQy9ELE1BQU0sTUFBTSxHQUFHLCtCQUErQixDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNoRSxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssTUFBTSxDQUFDLEdBQUcsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN6RCxNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxLQUFLLENBQUMsY0FBYyxvQ0FBb0MsQ0FBQyxDQUFDO0lBQy9HLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICpcbiAqIEBleHBlcmltZW50YWwgU2hhcmVkIHNhZmUgY2hpbGQgZGVyaXZhdGlvbiBmb3IgbWludCBhbmQgc2lnbi5cbiAqXG4gKiBVc2VyIGNoaWxkOiBoYXJkZW5lZCBgbS88aW5kZXg+J2AgZnJvbSB0aGUgc2VxdWVudGlhbCBgc2FmZS5kZXJpdmF0aW9uSW5kZXhbc2xvdF1gLlxuICogQmFja3VwIC8gQml0R28gY2hpbGRyZW4gYXJlIHNvZnQtZGVyaXZlZCBzZXJ2ZXItc2lkZSBhdCBgbS88aW5kZXg+YCAobm90IGhlcmUpLlxuICpcbiAqIERvIG5vdCB1c2UgYGRlcml2ZWRGcm9tUGFyZW50V2l0aFNlZWRgIC8gYGRlcml2ZUtleVdpdGhTZWVkYCAoYG0vOTk5OTk5L2EvYmApIOKAlFxuICogdGhhdCBpcyB0aGUgY3VzdG9keSBoYXNoZWQgcGF0aCBhbmQgY2Fubm90IHJlcHJvZHVjZSBhIHNhZmUgY2hpbGQuXG4gKi9cbmltcG9ydCAqIGFzIHQgZnJvbSAnaW8tdHMnO1xuaW1wb3J0IHsgYmlwMzIsIEJJUDMySW50ZXJmYWNlIH0gZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IGRlY29kZVdpdGhDb2RlYyB9IGZyb20gJy4uL3V0aWxzL2NvZGVjcyc7XG5cbmNvbnN0IE1BWF9CSVAzMl9JTkRFWCA9IDB4N2ZmZmZmZmY7XG5leHBvcnQgY29uc3QgREVSSVZFRF9GUk9NX1BBUkVOVF9XSVRIX0hBUkRFTkVEX1BBVEggPSAvXm1cXC8oXFxkKyknJC87XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVNhZmVEZXJpdmF0aW9uSW5kZXgoaW5kZXg6IHN0cmluZyB8IG51bWJlcik6IG51bWJlciB7XG4gIGxldCBpZHg6IG51bWJlcjtcbiAgaWYgKHR5cGVvZiBpbmRleCA9PT0gJ251bWJlcicpIHtcbiAgICBpZHggPSBpbmRleDtcbiAgfSBlbHNlIGlmICgvXlxcZCskLy50ZXN0KGluZGV4KSkge1xuICAgIGlkeCA9IE51bWJlcihpbmRleCk7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNhZmUgZGVyaXZhdGlvbiBpbmRleCAnJHtpbmRleH0nOiBleHBlY3RlZCBhIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyYCk7XG4gIH1cbiAgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKGlkeCkgfHwgaWR4IDwgMCB8fCBpZHggPiBNQVhfQklQMzJfSU5ERVgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2FmZSBkZXJpdmF0aW9uIGluZGV4ICcke2luZGV4fSc6IGV4cGVjdGVkIGEgbm9uLW5lZ2F0aXZlIGludGVnZXJgKTtcbiAgfVxuICByZXR1cm4gaWR4O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2FmZUhhcmRlbmVkRGVyaXZhdGlvblBhdGgoaW5kZXg6IHN0cmluZyB8IG51bWJlcik6IHN0cmluZyB7XG4gIHJldHVybiBgbS8ke3BhcnNlU2FmZURlcml2YXRpb25JbmRleChpbmRleCl9J2A7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVyaXZlZEZyb21QYXJlbnRXaXRoSGFyZGVuZWRQYXRoQnJhbmQge1xuICByZWFkb25seSBEZXJpdmVkRnJvbVBhcmVudFdpdGhIYXJkZW5lZFBhdGg6IHVuaXF1ZSBzeW1ib2w7XG59XG5cbmV4cG9ydCB0eXBlIERlcml2ZWRGcm9tUGFyZW50V2l0aEhhcmRlbmVkUGF0aCA9IHQuQnJhbmRlZDxzdHJpbmcsIERlcml2ZWRGcm9tUGFyZW50V2l0aEhhcmRlbmVkUGF0aEJyYW5kPjtcblxuZXhwb3J0IGNvbnN0IERlcml2ZWRGcm9tUGFyZW50V2l0aEhhcmRlbmVkUGF0aCA9IHQuYnJhbmQoXG4gIHQuc3RyaW5nLFxuICAocyk6IHMgaXMgRGVyaXZlZEZyb21QYXJlbnRXaXRoSGFyZGVuZWRQYXRoID0+IHBhcnNlRGVyaXZlZEZyb21QYXJlbnRXaXRoSGFyZGVuZWRQYXRoSW5kZXgocykgIT09IHVuZGVmaW5lZCxcbiAgJ0Rlcml2ZWRGcm9tUGFyZW50V2l0aEhhcmRlbmVkUGF0aCdcbik7XG5cbmZ1bmN0aW9uIHBhcnNlRGVyaXZlZEZyb21QYXJlbnRXaXRoSGFyZGVuZWRQYXRoSW5kZXgocGF0aDogc3RyaW5nKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgbWF0Y2ggPSBERVJJVkVEX0ZST01fUEFSRU5UX1dJVEhfSEFSREVORURfUEFUSC5leGVjKHBhdGgpO1xuICBpZiAoIW1hdGNoKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICB0cnkge1xuICAgIHJldHVybiBwYXJzZVNhZmVEZXJpdmF0aW9uSW5kZXgobWF0Y2hbMV0pO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZURlcml2ZWRGcm9tUGFyZW50V2l0aEhhcmRlbmVkUGF0aChwYXRoOiBzdHJpbmcpOiBudW1iZXIge1xuICBjb25zdCB2YWxpZGF0ZWQgPSBkZWNvZGVXaXRoQ29kZWMoRGVyaXZlZEZyb21QYXJlbnRXaXRoSGFyZGVuZWRQYXRoLCBwYXRoLCAnZGVyaXZlZEZyb21QYXJlbnRXaXRoSGFyZGVuZWRQYXRoJyk7XG4gIGNvbnN0IGluZGV4ID0gcGFyc2VEZXJpdmVkRnJvbVBhcmVudFdpdGhIYXJkZW5lZFBhdGhJbmRleCh2YWxpZGF0ZWQpO1xuICBpZiAoaW5kZXggPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkZXJpdmVkRnJvbVBhcmVudFdpdGhIYXJkZW5lZFBhdGggJyR7cGF0aH0nOiBleHBlY3RlZCBtLzxuPidgKTtcbiAgfVxuICByZXR1cm4gaW5kZXg7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2FmZUhhcmRlbmVkQ2hpbGRLZXkge1xuICBwcnY6IHN0cmluZztcbiAgcHViOiBzdHJpbmc7XG4gIGRlcml2YXRpb25QYXRoOiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGNoaWxkRnJvbU5vZGUoY2hpbGQ6IEJJUDMySW50ZXJmYWNlLCBkZXJpdmF0aW9uUGF0aDogc3RyaW5nKTogU2FmZUhhcmRlbmVkQ2hpbGRLZXkge1xuICBpZiAoIWNoaWxkLnByaXZhdGVLZXkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBkZXJpdmUgaGFyZGVuZWQgc2FmZSBjaGlsZCBhdCAke2Rlcml2YXRpb25QYXRofWApO1xuICB9XG4gIHJldHVybiB7XG4gICAgcHJ2OiBjaGlsZC50b0Jhc2U1OCgpLFxuICAgIHB1YjogY2hpbGQubmV1dGVyZWQoKS50b0Jhc2U1OCgpLFxuICAgIGRlcml2YXRpb25QYXRoLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVyaXZlU2FmZUNoaWxkSGFyZGVuZWRGcm9tWHBydihyb290WHBydjogc3RyaW5nLCBpbmRleDogc3RyaW5nIHwgbnVtYmVyKTogU2FmZUhhcmRlbmVkQ2hpbGRLZXkge1xuICBjb25zdCBpZHggPSBwYXJzZVNhZmVEZXJpdmF0aW9uSW5kZXgoaW5kZXgpO1xuICBjb25zdCBkZXJpdmF0aW9uUGF0aCA9IGdldFNhZmVIYXJkZW5lZERlcml2YXRpb25QYXRoKGlkeCk7XG4gIHJldHVybiBjaGlsZEZyb21Ob2RlKGJpcDMyLmZyb21CYXNlNTgocm9vdFhwcnYpLmRlcml2ZUhhcmRlbmVkKGlkeCksIGRlcml2YXRpb25QYXRoKTtcbn1cblxuLyoqIFJlLWRlcml2ZSBhbmQgYXNzZXJ0IGJvdGggcmVzdWx0cyBtYXRjaCBiZWZvcmUgdGhlIGNoaWxkIGlzIHJlZ2lzdGVyZWQuICovXG5leHBvcnQgZnVuY3Rpb24gZGVyaXZlQW5kU2VsZkNoZWNrU2FmZUNoaWxkSGFyZGVuZWQocm9vdFhwcnY6IHN0cmluZywgaW5kZXg6IHN0cmluZyB8IG51bWJlcik6IFNhZmVIYXJkZW5lZENoaWxkS2V5IHtcbiAgY29uc3QgZmlyc3QgPSBkZXJpdmVTYWZlQ2hpbGRIYXJkZW5lZEZyb21YcHJ2KHJvb3RYcHJ2LCBpbmRleCk7XG4gIGNvbnN0IHNlY29uZCA9IGRlcml2ZVNhZmVDaGlsZEhhcmRlbmVkRnJvbVhwcnYocm9vdFhwcnYsIGluZGV4KTtcbiAgaWYgKGZpcnN0LnB1YiAhPT0gc2Vjb25kLnB1YiB8fCBmaXJzdC5wcnYgIT09IHNlY29uZC5wcnYpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFNhZmUgY2hpbGQgc2VsZi1jaGVjayBmYWlsZWQgYXQgJHtmaXJzdC5kZXJpdmF0aW9uUGF0aH06IGRlcml2YXRpb24gd2FzIG5vdCBkZXRlcm1pbmlzdGljYCk7XG4gIH1cbiAgcmV0dXJuIGZpcnN0O1xufVxuIl19
|
|
@@ -9,4 +9,4 @@ var DelegationStatus;
|
|
|
9
9
|
DelegationStatus["ACTIVE"] = "ACTIVE";
|
|
10
10
|
DelegationStatus["COMPLETE"] = "COMPLETE";
|
|
11
11
|
})(DelegationStatus || (exports.DelegationStatus = DelegationStatus = {}));
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaVN0YWtpbmdXYWxsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vc3Rha2luZy9pU3Rha2luZ1dhbGxldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE0UEEsSUFBWSxnQkFNWDtBQU5ELFdBQVksZ0JBQWdCO0lBQzFCLHVDQUFtQixDQUFBO0lBQ25CLHFDQUFpQixDQUFBO0lBQ2pCLHlDQUFxQixDQUFBO0lBQ3JCLHFDQUFpQixDQUFBO0lBQ2pCLHlDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFOVyxnQkFBZ0IsZ0NBQWhCLGdCQUFnQixRQU0zQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpZ25lZFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vYmFzZUNvaW4nO1xuaW1wb3J0IHsgUHJlYnVpbGRUcmFuc2FjdGlvbk9wdGlvbnMsIFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHQgfSBmcm9tICcuLi93YWxsZXQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0YWtpbmdSZXF1ZXN0IHtcbiAgaWQ6IHN0cmluZztcbiAgYW1vdW50OiBzdHJpbmc7XG4gIHdpdGhkcmF3YWxBZGRyZXNzOiBzdHJpbmc7XG4gIGNsaWVudElkPzogc3RyaW5nO1xuICByZXF1ZXN0aW5nVXNlcklkOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgZW50ZXJwcmlzZUlkOiBzdHJpbmc7XG4gIHdhbGxldElkOiBzdHJpbmc7XG4gIHdhbGxldFR5cGU6IHN0cmluZztcbiAgY29pbjogc3RyaW5nO1xuICBzdGF0dXM6IHN0cmluZztcbiAgc3RhdHVzTW9kaWZpZWREYXRlOiBzdHJpbmc7XG4gIGNyZWF0ZWREYXRlOiBzdHJpbmc7XG4gIHRyYW5zYWN0aW9uczogU3Rha2luZ1RyYW5zYWN0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVsZWdhdGlvblJlcXVlc3Qge1xuICBhbW91bnQ6IHN0cmluZztcbiAgdmFsaWRhdG9yOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIENvcmVkYW9QYXJhbXMgPSB7XG4gIGV4cGlyZUF0OiBzdHJpbmc7XG4gIHJld2FyZEFkZHJlc3M6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEJhYnlsb25QYXJhbXMgPSB7XG4gIGR1cmF0aW9uOiBzdHJpbmc7XG4gIHJld2FyZEFkZHJlc3M6IHN0cmluZztcbn07XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgb3B0aW9ucyBmb3Igc3Rha2luZy5cbiAqIEB0eXBlZGVmIHtPYmplY3R9IFN0YWtlT3B0aW9uc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFthbW91bnRdIC0gYW1vdW50IHRvIHN0YWtlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2NsaWVudElkXSAtIGNsaWVudElkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3ZhbGlkYXRvcl0gLSBjaG9zZW4gdmFsaWRhdG9yXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2R1cmF0aW9uXSAtIGRlbGVnYXRpb24gZHVyYXRpb246IGEgbnVtZXJpYyBzdHJpbmcsIGluIGRheXMgb3IgY3ljbGVzXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3N1YlR5cGVdIC0gY29pbiBzZXBjaWZpYyBzdGFraW5nIHN1YnR5cGVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbYnRjUmV3YXJkQWRkcmVzc10gLSBidGMgcmV3YXJkIGFkZHJlc3NcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbc2lnbmVyUHViXSAtIHN0eCBzaWduZXIgcHVibGljIGtleVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtzaWduZXJTaWduYXR1cmVdIC0gc3R4IHNpZ25lciBzaWduYXR1cmVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbbWF4QW1vdW50XSAtIHN0eCBtYXggYW1vdW50XG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2F1dGhJZF0gLSBzdHggYXV0aC1pZFxuICogQHByb3BlcnR5IHtEZWxlZ2F0aW9uUmVxdWVzdFtdfSBbZGVsZWdhdGlvblJlcXVlc3RzXSAtIFRoZSBkZWxlZ2F0aW9uIHJlcXVlc3RzXG4gKiBUT0RPOiByZW1vdmUgc3VwcG9ydCB0byB0aGlzIGNvbnRyYWN0IHZlcnNpb24gYWZ0ZXIgU1RYIGZvcmtcbiAqIGh0dHBzOi8vYml0Z29pbmMuYXRsYXNzaWFuLm5ldC9icm93c2UvRUEtMzQ4MlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtjb250cmFjdE5hbWVdIC0gc3R4IGNvbnRyYWN0IG5hbWU6IHZhbGlkIG5hbWVzIGFyZSBwb3gtMyBhbmQgcG94LTQgb25seSwgdXNlZCBvbmx5IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGR1cmluZyBuYWthbW90byBmb3JrXG5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGFrZU9wdGlvbnMge1xuICBhbW91bnQ/OiBzdHJpbmc7XG4gIGNsaWVudElkPzogc3RyaW5nO1xuICB2YWxpZGF0b3I/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiB1c2VkIHRvIHNlbGVjdCBhIHByb3ZpZGVyIGluc3RlYWQgb2YgYSB2YWxpZGF0b3IgYWRkcmVzcyAoaS5lIGZvciBFVEggZmxvdylcbiAgICovXG4gIHByb3ZpZGVyPzogc3RyaW5nO1xuICAvKipcbiAgICogZmxhZyB0byBpbmRpY2F0ZSBpZiB0aGUgc3Rha2luZyByZXF1ZXN0IGlzIGZvciByZXN0YWtpbmdcbiAgICpcbiAgICogaS5lOiBFVEggcmVzdGFraW5nIGZsb3dcbiAgICovXG4gIGlzUmVzdGFraW5nPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIGRlbGVnYXRpb24gZHVyYXRpb246IGEgbnVtZXJpYyBzdHJpbmcsIGluIGRheXMgb3IgY3ljbGVzXG4gICAqL1xuICBkdXJhdGlvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIEJMUyBwdWJsaWMga2V5IChjdXJyZW50bHkgdXNlZCBmb3IgQVZBWFAgc3Rha2luZylcbiAgICovXG4gIGJsc1B1YmxpY0tleT86IHN0cmluZztcbiAgLyoqXG4gICAqIEJMUyBzaWduYXR1cmUgKGN1cnJlbnRseSB1c2VkIGZvciBBVkFYUCBzdGFraW5nKVxuICAgKi9cbiAgYmxzU2lnbmF0dXJlPzogc3RyaW5nO1xuICAvKipcbiAgICogY29pbiBzcGVjaWZpYyBzdGFraW5nIHN1YnR5cGVcbiAgICovXG4gIHN1YlR5cGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBzdHggYnRjIHJld2FyZCBhZGRyZXNzXG4gICAqL1xuICBidGNSZXdhcmRBZGRyZXNzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBzdHggc2lnbmVyIHB1YlxuICAgKi9cbiAgc2lnbmVyUHViPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBzdHggc2lnbmVyIHNpZ25hdHVyZVxuICAgKi9cbiAgc2lnbmVyU2lnbmF0dXJlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBzdHggbWF4IGFtb3VudFxuICAgKi9cbiAgbWF4QW1vdW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBzdHggYXV0aC1pZFxuICAgKi9cbiAgYXV0aElkPzogc3RyaW5nO1xuXG4gIGRlbGVnYXRpb25SZXF1ZXN0cz86IERlbGVnYXRpb25SZXF1ZXN0W107XG5cbiAgLy8gVE9ETzogcmVtb3ZlIHN1cHBvcnQgdG8gdGhpcyBjb250cmFjdCB2ZXJzaW9uIGFmdGVyIFNUWCBmb3JrXG4gIC8vIGh0dHBzOi8vYml0Z29pbmMuYXRsYXNzaWFuLm5ldC9icm93c2UvRUEtMzQ4MlxuICAvKipcbiAgICogcG94LWNvbnRyYWN0IG5hbWUgKHZhbGlkIHZhbHVlcyBhcmUgcG94LTMgYW5kIHBveC00KVxuICAgKi9cbiAgY29udHJhY3ROYW1lPzogJ3BveC0zJyB8ICdwb3gtNCc7XG5cbiAgLyoqXG4gICAqIGJ0YyBzdGFraW5nIGV4cGlyZSB0aW1lXG4gICAqL1xuICBleHBpcmVBdD86IHN0cmluZztcblxuICAvKipcbiAgICogYnRjIHN0YWtpbmcgcmV3YXJkIGFkZHJlc3NcbiAgICovXG4gIHJld2FyZEFkZHJlc3M/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGJ0YyBiYWJ5bG9uIHN0YWtpbmcgcGFyYW1zXG4gICAqL1xuXG4gIGJhYnlsb24/OiBCYWJ5bG9uUGFyYW1zO1xuXG4gIC8qKlxuICAgKiBidGMgY29yZWRhbyBzdGFraW5nIHBhcmFtc1xuICAgKi9cblxuICBjb3JlZGFvPzogQ29yZWRhb1BhcmFtcztcblxuICAvKipcbiAgICogYWRhIHZvdGUgZGVsZWdhdGlvbiBkcmVwIGlkXG4gICAqL1xuICBkUmVwSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGJlcmEgbmF0aXZlIHN0YWtpbmcgb3BlcmF0b3JcbiAgICovXG4gIG9wZXJhdG9yPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBiZXJhIG5hdGl2ZSBzdGFraW5nIHdpdGhkcmF3IGNyZWRlbnRpYWxzXG4gICAqL1xuICB3aXRoZHJhd0NyZWRlbnRpYWxzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBiZXJhIG5hdGl2ZSBzdGFraW5nIGRlcG9zaXQgc2lnbmF0dXJlXG4gICAqL1xuICBkZXBvc2l0U2lnbmF0dXJlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiByZWdpb24gZm9yIGV0aCBzdGFraW5nXG4gICAqL1xuICByZWdpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgWGRjU3Rha2VPcHRpb25zIGV4dGVuZHMgU3Rha2VPcHRpb25zIHtcbiAgLyoqXG4gICAqIFhEQyBtYXN0ZXJub2RlIEtZQyBkb2N1bWVudCBoYXNoIOKAlCBJUEZTIENJRHYwIChRbS4uLikgcmV0dXJuZWQgYnkgdGhlXG4gICAqIHN0YWtpbmctc2VydmljZSBLWUMgdXBsb2FkIGVuZHBvaW50LCBpbmplY3RlZCBiZWZvcmUgY2FsbGluZyBzdGFrZSgpLlxuICAgKi9cbiAga3ljSGFzaD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcm9uU3Rha2VPcHRpb25zIGV4dGVuZHMgU3Rha2VPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRyb24gc3Rha2luZyByZXNvdXJjZSB0eXBlIChFbmVyZ3kgb3IgQmFuZHdpZHRoKVxuICAgKi9cbiAgcmVzb3VyY2VUeXBlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhb1N0YWtlT3B0aW9ucyBleHRlbmRzIFN0YWtlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiB0YW8gc3Rha2luZyBuZXRVSURcbiAgICovXG4gIG5ldFVJRD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWZXRTdGFrZU9wdGlvbnMgZXh0ZW5kcyBTdGFrZU9wdGlvbnMge1xuICAvKipcbiAgICogdmV0IHN0YWtpbmcgbmZ0IHRpZXJcbiAgICovXG4gIG5mdFRpZXI/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RvcnlTdGFrZU9wdGlvbnMgZXh0ZW5kcyBTdGFrZU9wdGlvbnMge1xuICAvKipcbiAgICogU3Rvcnkgc3Rha2luZyBwZXJpb2RcbiAgICovXG4gIHN0YWtpbmdQZXJpb2Q/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVW5zdGFrZU9wdGlvbnMge1xuICBhbW91bnQ6IHN0cmluZztcbiAgY2xpZW50SWQ/OiBzdHJpbmc7XG4gIGRlbGVnYXRpb25JZD86IHN0cmluZztcbiAgLyoqXG4gICAqIGNvaW4gc2VwY2lmaWMgc3Rha2luZyBzdWJ0eXBlXG4gICAqL1xuICBzdWJUeXBlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV0aFVuc3Rha2VPcHRpb25zIHtcbiAgY2xpZW50SWQ/OiBzdHJpbmc7XG4gIGRlbGVnYXRpb25JZHM/OiBzdHJpbmdbXTtcbiAgdW5zdGFrZUFsbD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3dpdGNoVmFsaWRhdG9yT3B0aW9ucyB7XG4gIGFtb3VudDogc3RyaW5nO1xuICBjbGllbnRJZD86IHN0cmluZztcbiAgZGVsZWdhdGlvbklkOiBzdHJpbmc7XG4gIHZhbGlkYXRvcjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhb1N3aXRjaFZhbGlkYXRvck9wdGlvbnMgZXh0ZW5kcyBTd2l0Y2hWYWxpZGF0b3JPcHRpb25zIHtcbiAgbmV0VUlEOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9seXhTd2l0Y2hWYWxpZGF0b3JPcHRpb25zIHtcbiAgZGVsZWdhdGlvbklkOiBzdHJpbmc7XG4gIHZhbGlkYXRvcnM6IHN0cmluZ1tdO1xuICBjbGllbnRJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbGFpbVJld2FyZHNPcHRpb25zIHtcbiAgYW1vdW50OiBzdHJpbmc7XG4gIGNsaWVudElkPzogc3RyaW5nO1xuICBkZWxlZ2F0aW9uSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVsZWdhdGlvbk9wdGlvbnMge1xuICBkZWxlZ2F0aW9uU3RhdHVzPzogRGVsZWdhdGlvblN0YXR1cztcbiAgZGVsZWdhdGlvbklkcz86IFNldDxzdHJpbmc+O1xuICBwYWdlPzogbnVtYmVyO1xuICBwYWdlU2l6ZT86IG51bWJlcjtcbiAgc29ydEJ5PzogQ1JFQVRFRF9EQVRFX0RFU0MgfCBDUkVBVEVEX0RBVEVfQVNDO1xufVxuXG5leHBvcnQgdHlwZSBDUkVBVEVEX0RBVEVfREVTQyA9ICctY3JlYXRlZERhdGUnO1xuZXhwb3J0IHR5cGUgQ1JFQVRFRF9EQVRFX0FTQyA9ICdjcmVhdGVkRGF0ZSc7XG5cbmV4cG9ydCBlbnVtIERlbGVnYXRpb25TdGF0dXMge1xuICBQRU5ESU5HID0gJ1BFTkRJTkcnLFxuICBGQUlMRUQgPSAnRkFJTEVEJyxcbiAgUkVKRUNURUQgPSAnUkVKRUNURUQnLFxuICBBQ1RJVkUgPSAnQUNUSVZFJyxcbiAgQ09NUExFVEUgPSAnQ09NUExFVEUnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlbGVnYXRpb25SZXN1bHRzIHtcbiAgZGVsZWdhdGlvbnM6IERlbGVnYXRpb25bXTtcbiAgcGFnZTogbnVtYmVyO1xuICB0b3RhbFBhZ2VzOiBudW1iZXI7XG4gIHRvdGFsRWxlbWVudHM6IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRGVsZWdhdGlvbiB7XG4gIGlkOiBzdHJpbmc7XG4gIGRlbGVnYXRpb25BZGRyZXNzOiBzdHJpbmc7XG4gIHdpdGhkcmF3YWxBZGRyZXNzOiBzdHJpbmc7XG4gIGRlbGVnYXRlZDogbnVtYmVyO1xuICBjb2luOiBzdHJpbmc7XG4gIHdhbGxldElkOiBzdHJpbmc7XG4gIHN0YXR1czogRGVsZWdhdGlvblN0YXR1cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvbnNSZWFkeVRvU2lnbiB7XG4gIGFsbFNpZ25pbmdDb21wbGV0ZTogYm9vbGVhbjtcbiAgdHJhbnNhY3Rpb25zOiBTdGFraW5nVHJhbnNhY3Rpb25bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGFraW5nVHJhbnNhY3Rpb24ge1xuICBpZDogc3RyaW5nO1xuICBzdGFraW5nUmVxdWVzdElkOiBzdHJpbmc7XG4gIGRlbGVnYXRpb25JZDogc3RyaW5nO1xuICB0cmFuc2FjdGlvblR5cGU6IHN0cmluZztcbiAgY3JlYXRlZERhdGU6IHN0cmluZztcbiAgc3RhdHVzOiBzdHJpbmc7XG4gIHN0YXR1c01vZGlmaWVkRGF0ZTogc3RyaW5nO1xuICBhbW91bnQ6IHN0cmluZztcbiAgcGVuZGluZ0FwcHJvdmFsSWQ/OiBzdHJpbmc7XG4gIHRyYW5zZmVySWQ/OiBzdHJpbmc7XG4gIHR4UmVxdWVzdElkPzogc3RyaW5nO1xuICBidWlsZFBhcmFtcz86IFByZWJ1aWxkVHJhbnNhY3Rpb25PcHRpb25zO1xuICBnYXNQcmljZT86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgU3Rha2luZ1R4UmVxdWVzdFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHQgPSB7XG4gIHdhbGxldElkOiBzdHJpbmc7XG4gIHR4UmVxdWVzdElkOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0YWtpbmdQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0IHtcbiAgdHJhbnNhY3Rpb246IFN0YWtpbmdUcmFuc2FjdGlvbjtcbiAgcmVzdWx0OiBQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0IHwgU3Rha2luZ1R4UmVxdWVzdFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3Rha2luZ1NpZ25lZFRyYW5zYWN0aW9uIHtcbiAgdHJhbnNhY3Rpb246IFN0YWtpbmdUcmFuc2FjdGlvbjtcbiAgc2lnbmVkOiBTaWduZWRUcmFuc2FjdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGFraW5nU2lnbk9wdGlvbnMge1xuICB3YWxsZXRQYXNzcGhyYXNlOiBzdHJpbmc7XG4gIHRyYW5zYWN0aW9uVmVyaWZpY2F0aW9uT3B0aW9ucz86IHtcbiAgICAvKipcbiAgICAgKiBTa2lwIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbi4gTm90IHJlY29tbWVuZGVkIHVubGVzcyB5b3UgaGF2ZSBtYW51YWxseSB2ZXJpZmllZCB0aGUgdHJhbnNhY3Rpb24gZGV0YWlscy5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHNraXBUcmFuc2FjdGlvblZlcmlmaWNhdGlvbj86IGJvb2xlYW47XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVN0YWtpbmdXYWxsZXQge1xuICByZWFkb25seSB3YWxsZXRJZDogc3RyaW5nO1xuICByZWFkb25seSBjb2luOiBzdHJpbmc7XG4gIHN0YWtlKFxuICAgIG9wdGlvbnM6IFN0YWtlT3B0aW9ucyB8IFRyb25TdGFrZU9wdGlvbnMgfCBUYW9TdGFrZU9wdGlvbnMgfCBWZXRTdGFrZU9wdGlvbnMgfCBTdG9yeVN0YWtlT3B0aW9ucyB8IFhkY1N0YWtlT3B0aW9uc1xuICApOiBQcm9taXNlPFN0YWtpbmdSZXF1ZXN0PjtcbiAgdW5zdGFrZShvcHRpb25zOiBVbnN0YWtlT3B0aW9ucyB8IEV0aFVuc3Rha2VPcHRpb25zKTogUHJvbWlzZTxTdGFraW5nUmVxdWVzdD47XG4gIHN3aXRjaFZhbGlkYXRvcihcbiAgICBvcHRpb25zOiBTd2l0Y2hWYWxpZGF0b3JPcHRpb25zIHwgVGFvU3dpdGNoVmFsaWRhdG9yT3B0aW9ucyB8IFBvbHl4U3dpdGNoVmFsaWRhdG9yT3B0aW9uc1xuICApOiBQcm9taXNlPFN0YWtpbmdSZXF1ZXN0PjtcbiAgY2xhaW1SZXdhcmRzKG9wdGlvbnM6IENsYWltUmV3YXJkc09wdGlvbnMpOiBQcm9taXNlPFN0YWtpbmdSZXF1ZXN0PjtcbiAgZ2V0U3Rha2luZ1JlcXVlc3Qoc3Rha2luZ1JlcXVlc3RJZDogc3RyaW5nKTogUHJvbWlzZTxTdGFraW5nUmVxdWVzdD47XG4gIGdldFRyYW5zYWN0aW9uc1JlYWR5VG9TaWduKHN0YWtpbmdSZXF1ZXN0SWQ6IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25zUmVhZHlUb1NpZ24+O1xuICBidWlsZCh0cmFuc2FjdGlvbjogU3Rha2luZ1RyYW5zYWN0aW9uKTogUHJvbWlzZTxTdGFraW5nUHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdD47XG4gIHNpZ24oXG4gICAgc2lnbk9wdGlvbnM6IFN0YWtpbmdTaWduT3B0aW9ucyxcbiAgICBzdGFraW5nUHJlYnVpbGRUcmFuc2FjdGlvbjogU3Rha2luZ1ByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHRcbiAgKTogUHJvbWlzZTxTdGFraW5nU2lnbmVkVHJhbnNhY3Rpb24+O1xuICBzZW5kKHNpZ25lZFRyYW5zYWN0aW9uOiBTdGFraW5nU2lnbmVkVHJhbnNhY3Rpb24pOiBQcm9taXNlPFN0YWtpbmdUcmFuc2FjdGlvbj47XG4gIGJ1aWxkU2lnbkFuZFNlbmQoc2lnbk9wdGlvbnM6IFN0YWtpbmdTaWduT3B0aW9ucywgdHJhbnNhY3Rpb246IFN0YWtpbmdUcmFuc2FjdGlvbik7XG4gIGJ1aWxkQW5kU2lnbihzaWduT3B0aW9uczogU3Rha2luZ1NpZ25PcHRpb25zLCB0cmFuc2FjdGlvbjogU3Rha2luZ1RyYW5zYWN0aW9uKTtcbiAgY2FuY2VsU3Rha2luZ1JlcXVlc3Qoc3Rha2luZ1JlcXVlc3RJZDogc3RyaW5nKTogUHJvbWlzZTxTdGFraW5nUmVxdWVzdD47XG4gIHByZWJ1aWxkU2VsZk1hbmFnZWRTdGFraW5nVHJhbnNhY3Rpb24odHJhbnNhY3Rpb246IFN0YWtpbmdUcmFuc2FjdGlvbik6IFByb21pc2U8UHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdD47XG59XG4iXX0=
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaVN0YWtpbmdXYWxsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vc3Rha2luZy9pU3Rha2luZ1dhbGxldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE0UEEsSUFBWSxnQkFNWDtBQU5ELFdBQVksZ0JBQWdCO0lBQzFCLHVDQUFtQixDQUFBO0lBQ25CLHFDQUFpQixDQUFBO0lBQ2pCLHlDQUFxQixDQUFBO0lBQ3JCLHFDQUFpQixDQUFBO0lBQ2pCLHlDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFOVyxnQkFBZ0IsZ0NBQWhCLGdCQUFnQixRQU0zQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpZ25lZFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vYmFzZUNvaW4nO1xuaW1wb3J0IHsgUHJlYnVpbGRUcmFuc2FjdGlvbk9wdGlvbnMsIFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHQgfSBmcm9tICcuLi93YWxsZXQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0YWtpbmdSZXF1ZXN0IHtcbiAgaWQ6IHN0cmluZztcbiAgYW1vdW50OiBzdHJpbmc7XG4gIHdpdGhkcmF3YWxBZGRyZXNzOiBzdHJpbmc7XG4gIGNsaWVudElkPzogc3RyaW5nO1xuICByZXF1ZXN0aW5nVXNlcklkOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgZW50ZXJwcmlzZUlkOiBzdHJpbmc7XG4gIHdhbGxldElkOiBzdHJpbmc7XG4gIHdhbGxldFR5cGU6IHN0cmluZztcbiAgY29pbjogc3RyaW5nO1xuICBzdGF0dXM6IHN0cmluZztcbiAgc3RhdHVzTW9kaWZpZWREYXRlOiBzdHJpbmc7XG4gIGNyZWF0ZWREYXRlOiBzdHJpbmc7XG4gIHRyYW5zYWN0aW9uczogU3Rha2luZ1RyYW5zYWN0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVsZWdhdGlvblJlcXVlc3Qge1xuICBhbW91bnQ6IHN0cmluZztcbiAgdmFsaWRhdG9yOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIENvcmVkYW9QYXJhbXMgPSB7XG4gIGV4cGlyZUF0OiBzdHJpbmc7XG4gIHJld2FyZEFkZHJlc3M6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEJhYnlsb25QYXJhbXMgPSB7XG4gIGR1cmF0aW9uOiBzdHJpbmc7XG4gIHJld2FyZEFkZHJlc3M6IHN0cmluZztcbn07XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgb3B0aW9ucyBmb3Igc3Rha2luZy5cbiAqIEB0eXBlZGVmIHtPYmplY3R9IFN0YWtlT3B0aW9uc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFthbW91bnRdIC0gYW1vdW50IHRvIHN0YWtlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2NsaWVudElkXSAtIGNsaWVudElkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3ZhbGlkYXRvcl0gLSBjaG9zZW4gdmFsaWRhdG9yXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2R1cmF0aW9uXSAtIGRlbGVnYXRpb24gZHVyYXRpb246IGEgbnVtZXJpYyBzdHJpbmcsIGluIGRheXMgb3IgY3ljbGVzXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3N1YlR5cGVdIC0gY29pbiBzZXBjaWZpYyBzdGFraW5nIHN1YnR5cGVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbYnRjUmV3YXJkQWRkcmVzc10gLSBidGMgcmV3YXJkIGFkZHJlc3NcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbc2lnbmVyUHViXSAtIHN0eCBzaWduZXIgcHVibGljIGtleVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtzaWduZXJTaWduYXR1cmVdIC0gc3R4IHNpZ25lciBzaWduYXR1cmVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbbWF4QW1vdW50XSAtIHN0eCBtYXggYW1vdW50XG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2F1dGhJZF0gLSBzdHggYXV0aC1pZFxuICogQHByb3BlcnR5IHtEZWxlZ2F0aW9uUmVxdWVzdFtdfSBbZGVsZWdhdGlvblJlcXVlc3RzXSAtIFRoZSBkZWxlZ2F0aW9uIHJlcXVlc3RzXG4gKiBUT0RPOiByZW1vdmUgc3VwcG9ydCB0byB0aGlzIGNvbnRyYWN0IHZlcnNpb24gYWZ0ZXIgU1RYIGZvcmtcbiAqIGh0dHBzOi8vYml0Z29pbmMuYXRsYXNzaWFuLm5ldC9icm93c2UvRUEtMzQ4MlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtjb250cmFjdE5hbWVdIC0gc3R4IGNvbnRyYWN0IG5hbWU6IHZhbGlkIG5hbWVzIGFyZSBwb3gtMyBhbmQgcG94LTQgb25seSwgdXNlZCBvbmx5IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGR1cmluZyBuYWthbW90byBmb3JrXG5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGFrZU9wdGlvbnMge1xuICBhbW91bnQ/OiBzdHJpbmc7XG4gIGNsaWVudElkPzogc3RyaW5nO1xuICB2YWxpZGF0b3I/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiB1c2VkIHRvIHNlbGVjdCBhIHByb3ZpZGVyIGluc3RlYWQgb2YgYSB2YWxpZGF0b3IgYWRkcmVzcyAoaS5lIGZvciBFVEggZmxvdylcbiAgICovXG4gIHByb3ZpZGVyPzogc3RyaW5nO1xuICAvKipcbiAgICogZmxhZyB0byBpbmRpY2F0ZSBpZiB0aGUgc3Rha2luZyByZXF1ZXN0IGlzIGZvciByZXN0YWtpbmdcbiAgICpcbiAgICogaS5lOiBFVEggcmVzdGFraW5nIGZsb3dcbiAgICovXG4gIGlzUmVzdGFraW5nPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIGRlbGVnYXRpb24gZHVyYXRpb246IGEgbnVtZXJpYyBzdHJpbmcsIGluIGRheXMgb3IgY3ljbGVzXG4gICAqL1xuICBkdXJhdGlvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIEJMUyBwdWJsaWMga2V5IChjdXJyZW50bHkgdXNlZCBmb3IgQVZBWFAgc3Rha2luZylcbiAgICovXG4gIGJsc1B1YmxpY0tleT86IHN0cmluZztcbiAgLyoqXG4gICAqIEJMUyBzaWduYXR1cmUgKGN1cnJlbnRseSB1c2VkIGZvciBBVkFYUCBzdGFraW5nKVxuICAgKi9cbiAgYmxzU2lnbmF0dXJlPzogc3RyaW5nO1xuICAvKipcbiAgICogY29pbiBzcGVjaWZpYyBzdGFraW5nIHN1YnR5cGVcbiAgICovXG4gIHN1YlR5cGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBzdHggYnRjIHJld2FyZCBhZGRyZXNzXG4gICAqL1xuICBidGNSZXdhcmRBZGRyZXNzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBzdHggc2lnbmVyIHB1YlxuICAgKi9cbiAgc2lnbmVyUHViPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBzdHggc2lnbmVyIHNpZ25hdHVyZVxuICAgKi9cbiAgc2lnbmVyU2lnbmF0dXJlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBzdHggbWF4IGFtb3VudFxuICAgKi9cbiAgbWF4QW1vdW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBzdHggYXV0aC1pZFxuICAgKi9cbiAgYXV0aElkPzogc3RyaW5nO1xuXG4gIGRlbGVnYXRpb25SZXF1ZXN0cz86IERlbGVnYXRpb25SZXF1ZXN0W107XG5cbiAgLy8gVE9ETzogcmVtb3ZlIHN1cHBvcnQgdG8gdGhpcyBjb250cmFjdCB2ZXJzaW9uIGFmdGVyIFNUWCBmb3JrXG4gIC8vIGh0dHBzOi8vYml0Z29pbmMuYXRsYXNzaWFuLm5ldC9icm93c2UvRUEtMzQ4MlxuICAvKipcbiAgICogcG94LWNvbnRyYWN0IG5hbWUgKHZhbGlkIHZhbHVlcyBhcmUgcG94LTMgYW5kIHBveC00KVxuICAgKi9cbiAgY29udHJhY3ROYW1lPzogJ3BveC0zJyB8ICdwb3gtNCc7XG5cbiAgLyoqXG4gICAqIGJ0YyBzdGFraW5nIGV4cGlyZSB0aW1lXG4gICAqL1xuICBleHBpcmVBdD86IHN0cmluZztcblxuICAvKipcbiAgICogYnRjIHN0YWtpbmcgcmV3YXJkIGFkZHJlc3NcbiAgICovXG4gIHJld2FyZEFkZHJlc3M/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGJ0YyBiYWJ5bG9uIHN0YWtpbmcgcGFyYW1zXG4gICAqL1xuXG4gIGJhYnlsb24/OiBCYWJ5bG9uUGFyYW1zO1xuXG4gIC8qKlxuICAgKiBidGMgY29yZWRhbyBzdGFraW5nIHBhcmFtc1xuICAgKi9cblxuICBjb3JlZGFvPzogQ29yZWRhb1BhcmFtcztcblxuICAvKipcbiAgICogYWRhIHZvdGUgZGVsZWdhdGlvbiBkcmVwIGlkXG4gICAqL1xuICBkUmVwSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGJlcmEgbmF0aXZlIHN0YWtpbmcgb3BlcmF0b3JcbiAgICovXG4gIG9wZXJhdG9yPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBiZXJhIG5hdGl2ZSBzdGFraW5nIHdpdGhkcmF3IGNyZWRlbnRpYWxzXG4gICAqL1xuICB3aXRoZHJhd0NyZWRlbnRpYWxzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBiZXJhIG5hdGl2ZSBzdGFraW5nIGRlcG9zaXQgc2lnbmF0dXJlXG4gICAqL1xuICBkZXBvc2l0U2lnbmF0dXJlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiByZWdpb24gZm9yIGV0aCBzdGFraW5nXG4gICAqL1xuICByZWdpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgWGRjU3Rha2VPcHRpb25zIGV4dGVuZHMgU3Rha2VPcHRpb25zIHtcbiAgLyoqXG4gICAqIFhEQyBtYXN0ZXJub2RlIEtZQyBkb2N1bWVudCBoYXNoIOKAlCBJUEZTIENJRHYwIChRbS4uLikgcmV0dXJuZWQgYnkgdGhlXG4gICAqIHN0YWtpbmctc2VydmljZSBLWUMgdXBsb2FkIGVuZHBvaW50LCBpbmplY3RlZCBiZWZvcmUgY2FsbGluZyBzdGFrZSgpLlxuICAgKi9cbiAga3ljSGFzaD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcm9uU3Rha2VPcHRpb25zIGV4dGVuZHMgU3Rha2VPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRyb24gc3Rha2luZyByZXNvdXJjZSB0eXBlIChFbmVyZ3kgb3IgQmFuZHdpZHRoKVxuICAgKi9cbiAgcmVzb3VyY2VUeXBlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhb1N0YWtlT3B0aW9ucyBleHRlbmRzIFN0YWtlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiB0YW8gc3Rha2luZyBuZXRVSURcbiAgICovXG4gIG5ldFVJRD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWZXRTdGFrZU9wdGlvbnMgZXh0ZW5kcyBTdGFrZU9wdGlvbnMge1xuICAvKipcbiAgICogdmV0IHN0YWtpbmcgbmZ0IHRpZXJcbiAgICovXG4gIG5mdFRpZXI/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RvcnlTdGFrZU9wdGlvbnMgZXh0ZW5kcyBTdGFrZU9wdGlvbnMge1xuICAvKipcbiAgICogRGF0YSBOZXR3b3JrIHN0YWtpbmcgcGVyaW9kXG4gICAqL1xuICBzdGFraW5nUGVyaW9kPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVuc3Rha2VPcHRpb25zIHtcbiAgYW1vdW50OiBzdHJpbmc7XG4gIGNsaWVudElkPzogc3RyaW5nO1xuICBkZWxlZ2F0aW9uSWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBjb2luIHNlcGNpZmljIHN0YWtpbmcgc3VidHlwZVxuICAgKi9cbiAgc3ViVHlwZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdGhVbnN0YWtlT3B0aW9ucyB7XG4gIGNsaWVudElkPzogc3RyaW5nO1xuICBkZWxlZ2F0aW9uSWRzPzogc3RyaW5nW107XG4gIHVuc3Rha2VBbGw/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN3aXRjaFZhbGlkYXRvck9wdGlvbnMge1xuICBhbW91bnQ6IHN0cmluZztcbiAgY2xpZW50SWQ/OiBzdHJpbmc7XG4gIGRlbGVnYXRpb25JZDogc3RyaW5nO1xuICB2YWxpZGF0b3I6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUYW9Td2l0Y2hWYWxpZGF0b3JPcHRpb25zIGV4dGVuZHMgU3dpdGNoVmFsaWRhdG9yT3B0aW9ucyB7XG4gIG5ldFVJRDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvbHl4U3dpdGNoVmFsaWRhdG9yT3B0aW9ucyB7XG4gIGRlbGVnYXRpb25JZDogc3RyaW5nO1xuICB2YWxpZGF0b3JzOiBzdHJpbmdbXTtcbiAgY2xpZW50SWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xhaW1SZXdhcmRzT3B0aW9ucyB7XG4gIGFtb3VudDogc3RyaW5nO1xuICBjbGllbnRJZD86IHN0cmluZztcbiAgZGVsZWdhdGlvbklkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlbGVnYXRpb25PcHRpb25zIHtcbiAgZGVsZWdhdGlvblN0YXR1cz86IERlbGVnYXRpb25TdGF0dXM7XG4gIGRlbGVnYXRpb25JZHM/OiBTZXQ8c3RyaW5nPjtcbiAgcGFnZT86IG51bWJlcjtcbiAgcGFnZVNpemU/OiBudW1iZXI7XG4gIHNvcnRCeT86IENSRUFURURfREFURV9ERVNDIHwgQ1JFQVRFRF9EQVRFX0FTQztcbn1cblxuZXhwb3J0IHR5cGUgQ1JFQVRFRF9EQVRFX0RFU0MgPSAnLWNyZWF0ZWREYXRlJztcbmV4cG9ydCB0eXBlIENSRUFURURfREFURV9BU0MgPSAnY3JlYXRlZERhdGUnO1xuXG5leHBvcnQgZW51bSBEZWxlZ2F0aW9uU3RhdHVzIHtcbiAgUEVORElORyA9ICdQRU5ESU5HJyxcbiAgRkFJTEVEID0gJ0ZBSUxFRCcsXG4gIFJFSkVDVEVEID0gJ1JFSkVDVEVEJyxcbiAgQUNUSVZFID0gJ0FDVElWRScsXG4gIENPTVBMRVRFID0gJ0NPTVBMRVRFJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZWxlZ2F0aW9uUmVzdWx0cyB7XG4gIGRlbGVnYXRpb25zOiBEZWxlZ2F0aW9uW107XG4gIHBhZ2U6IG51bWJlcjtcbiAgdG90YWxQYWdlczogbnVtYmVyO1xuICB0b3RhbEVsZW1lbnRzOiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIERlbGVnYXRpb24ge1xuICBpZDogc3RyaW5nO1xuICBkZWxlZ2F0aW9uQWRkcmVzczogc3RyaW5nO1xuICB3aXRoZHJhd2FsQWRkcmVzczogc3RyaW5nO1xuICBkZWxlZ2F0ZWQ6IG51bWJlcjtcbiAgY29pbjogc3RyaW5nO1xuICB3YWxsZXRJZDogc3RyaW5nO1xuICBzdGF0dXM6IERlbGVnYXRpb25TdGF0dXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNhY3Rpb25zUmVhZHlUb1NpZ24ge1xuICBhbGxTaWduaW5nQ29tcGxldGU6IGJvb2xlYW47XG4gIHRyYW5zYWN0aW9uczogU3Rha2luZ1RyYW5zYWN0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3Rha2luZ1RyYW5zYWN0aW9uIHtcbiAgaWQ6IHN0cmluZztcbiAgc3Rha2luZ1JlcXVlc3RJZDogc3RyaW5nO1xuICBkZWxlZ2F0aW9uSWQ6IHN0cmluZztcbiAgdHJhbnNhY3Rpb25UeXBlOiBzdHJpbmc7XG4gIGNyZWF0ZWREYXRlOiBzdHJpbmc7XG4gIHN0YXR1czogc3RyaW5nO1xuICBzdGF0dXNNb2RpZmllZERhdGU6IHN0cmluZztcbiAgYW1vdW50OiBzdHJpbmc7XG4gIHBlbmRpbmdBcHByb3ZhbElkPzogc3RyaW5nO1xuICB0cmFuc2ZlcklkPzogc3RyaW5nO1xuICB0eFJlcXVlc3RJZD86IHN0cmluZztcbiAgYnVpbGRQYXJhbXM/OiBQcmVidWlsZFRyYW5zYWN0aW9uT3B0aW9ucztcbiAgZ2FzUHJpY2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFN0YWtpbmdUeFJlcXVlc3RQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0ID0ge1xuICB3YWxsZXRJZDogc3RyaW5nO1xuICB0eFJlcXVlc3RJZDogc3RyaW5nO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBTdGFraW5nUHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdCB7XG4gIHRyYW5zYWN0aW9uOiBTdGFraW5nVHJhbnNhY3Rpb247XG4gIHJlc3VsdDogUHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdCB8IFN0YWtpbmdUeFJlcXVlc3RQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YWtpbmdTaWduZWRUcmFuc2FjdGlvbiB7XG4gIHRyYW5zYWN0aW9uOiBTdGFraW5nVHJhbnNhY3Rpb247XG4gIHNpZ25lZDogU2lnbmVkVHJhbnNhY3Rpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3Rha2luZ1NpZ25PcHRpb25zIHtcbiAgd2FsbGV0UGFzc3BocmFzZTogc3RyaW5nO1xuICB0cmFuc2FjdGlvblZlcmlmaWNhdGlvbk9wdGlvbnM/OiB7XG4gICAgLyoqXG4gICAgICogU2tpcCB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24uIE5vdCByZWNvbW1lbmRlZCB1bmxlc3MgeW91IGhhdmUgbWFudWFsbHkgdmVyaWZpZWQgdGhlIHRyYW5zYWN0aW9uIGRldGFpbHMuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBza2lwVHJhbnNhY3Rpb25WZXJpZmljYXRpb24/OiBib29sZWFuO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTdGFraW5nV2FsbGV0IHtcbiAgcmVhZG9ubHkgd2FsbGV0SWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgY29pbjogc3RyaW5nO1xuICBzdGFrZShcbiAgICBvcHRpb25zOiBTdGFrZU9wdGlvbnMgfCBUcm9uU3Rha2VPcHRpb25zIHwgVGFvU3Rha2VPcHRpb25zIHwgVmV0U3Rha2VPcHRpb25zIHwgU3RvcnlTdGFrZU9wdGlvbnMgfCBYZGNTdGFrZU9wdGlvbnNcbiAgKTogUHJvbWlzZTxTdGFraW5nUmVxdWVzdD47XG4gIHVuc3Rha2Uob3B0aW9uczogVW5zdGFrZU9wdGlvbnMgfCBFdGhVbnN0YWtlT3B0aW9ucyk6IFByb21pc2U8U3Rha2luZ1JlcXVlc3Q+O1xuICBzd2l0Y2hWYWxpZGF0b3IoXG4gICAgb3B0aW9uczogU3dpdGNoVmFsaWRhdG9yT3B0aW9ucyB8IFRhb1N3aXRjaFZhbGlkYXRvck9wdGlvbnMgfCBQb2x5eFN3aXRjaFZhbGlkYXRvck9wdGlvbnNcbiAgKTogUHJvbWlzZTxTdGFraW5nUmVxdWVzdD47XG4gIGNsYWltUmV3YXJkcyhvcHRpb25zOiBDbGFpbVJld2FyZHNPcHRpb25zKTogUHJvbWlzZTxTdGFraW5nUmVxdWVzdD47XG4gIGdldFN0YWtpbmdSZXF1ZXN0KHN0YWtpbmdSZXF1ZXN0SWQ6IHN0cmluZyk6IFByb21pc2U8U3Rha2luZ1JlcXVlc3Q+O1xuICBnZXRUcmFuc2FjdGlvbnNSZWFkeVRvU2lnbihzdGFraW5nUmVxdWVzdElkOiBzdHJpbmcpOiBQcm9taXNlPFRyYW5zYWN0aW9uc1JlYWR5VG9TaWduPjtcbiAgYnVpbGQodHJhbnNhY3Rpb246IFN0YWtpbmdUcmFuc2FjdGlvbik6IFByb21pc2U8U3Rha2luZ1ByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHQ+O1xuICBzaWduKFxuICAgIHNpZ25PcHRpb25zOiBTdGFraW5nU2lnbk9wdGlvbnMsXG4gICAgc3Rha2luZ1ByZWJ1aWxkVHJhbnNhY3Rpb246IFN0YWtpbmdQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0XG4gICk6IFByb21pc2U8U3Rha2luZ1NpZ25lZFRyYW5zYWN0aW9uPjtcbiAgc2VuZChzaWduZWRUcmFuc2FjdGlvbjogU3Rha2luZ1NpZ25lZFRyYW5zYWN0aW9uKTogUHJvbWlzZTxTdGFraW5nVHJhbnNhY3Rpb24+O1xuICBidWlsZFNpZ25BbmRTZW5kKHNpZ25PcHRpb25zOiBTdGFraW5nU2lnbk9wdGlvbnMsIHRyYW5zYWN0aW9uOiBTdGFraW5nVHJhbnNhY3Rpb24pO1xuICBidWlsZEFuZFNpZ24oc2lnbk9wdGlvbnM6IFN0YWtpbmdTaWduT3B0aW9ucywgdHJhbnNhY3Rpb246IFN0YWtpbmdUcmFuc2FjdGlvbik7XG4gIGNhbmNlbFN0YWtpbmdSZXF1ZXN0KHN0YWtpbmdSZXF1ZXN0SWQ6IHN0cmluZyk6IFByb21pc2U8U3Rha2luZ1JlcXVlc3Q+O1xuICBwcmVidWlsZFNlbGZNYW5hZ2VkU3Rha2luZ1RyYW5zYWN0aW9uKHRyYW5zYWN0aW9uOiBTdGFraW5nVHJhbnNhY3Rpb24pOiBQcm9taXNlPFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHQ+O1xufVxuIl19
|
|
@@ -30,9 +30,20 @@ export declare const bitgoMpcGpgPubKeys: {
|
|
|
30
30
|
prod: string;
|
|
31
31
|
};
|
|
32
32
|
};
|
|
33
|
+
redpallasMpcv2: {
|
|
34
|
+
nitro: {
|
|
35
|
+
test: string;
|
|
36
|
+
prod: string;
|
|
37
|
+
};
|
|
38
|
+
onprem: {
|
|
39
|
+
test: string;
|
|
40
|
+
prod: string;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
33
43
|
};
|
|
34
|
-
export declare function getBitgoMpcGpgPubKey(env: EnvironmentName, pubKeyType: 'nitro' | 'onprem', mpcVersion: 'mpcv1' | 'mpcv2' | 'eddsaMpcv2'): string;
|
|
44
|
+
export declare function getBitgoMpcGpgPubKey(env: EnvironmentName, pubKeyType: 'nitro' | 'onprem', mpcVersion: 'mpcv1' | 'mpcv2' | 'eddsaMpcv2' | 'redpallasMpcv2'): string;
|
|
35
45
|
export declare function isBitgoMpcPubKey(key: string, mpcvVersion: 'mpcv1' | 'mpcv2'): boolean;
|
|
36
46
|
export declare function isBitgoEddsaMpcv2PubKey(key: string): boolean;
|
|
47
|
+
export declare function isBitgoRedpallasMpcv2PubKey(key: string): boolean;
|
|
37
48
|
export declare function envRequiresBitgoPubGpgKeyConfig(env: EnvironmentName): boolean;
|
|
38
49
|
//# 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+C9B,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,eAAe,EACpB,UAAU,EAAE,OAAO,GAAG,QAAQ,EAC9B,UAAU,EAAE,OAAO,GAAG,OAAO,GAAG,YAAY,GAAG,gBAAgB,GAC9D,MAAM,CAwBR;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,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAE7E"}
|
|
@@ -7,6 +7,7 @@ exports.bitgoMpcGpgPubKeys = void 0;
|
|
|
7
7
|
exports.getBitgoMpcGpgPubKey = getBitgoMpcGpgPubKey;
|
|
8
8
|
exports.isBitgoMpcPubKey = isBitgoMpcPubKey;
|
|
9
9
|
exports.isBitgoEddsaMpcv2PubKey = isBitgoEddsaMpcv2PubKey;
|
|
10
|
+
exports.isBitgoRedpallasMpcv2PubKey = isBitgoRedpallasMpcv2PubKey;
|
|
10
11
|
exports.envRequiresBitgoPubGpgKeyConfig = envRequiresBitgoPubGpgKeyConfig;
|
|
11
12
|
const assert_1 = __importDefault(require("assert"));
|
|
12
13
|
exports.bitgoMpcGpgPubKeys = {
|
|
@@ -40,9 +41,25 @@ exports.bitgoMpcGpgPubKeys = {
|
|
|
40
41
|
prod: '-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nxjMEafDHRxYJKwYBBAHaRw8BAQdA4veo9hvphbH0gq+YFo8AwdtTR6SQN4tJ\nOWiA++eBqMvNBUJpdEdvwoQEExYKADYFgmnwx1UCCwkJkM4UKK9zJ+KPAhUK\nAhYAApsDAh4BFiEEB3Cyce1GqKAWbPdJzhQor3Mn4o8AAKS2AQDSo5ubHHyx\nvlAyRUgiyzVvupK8x1Jl/fPf54CHsWlIfgD+OIi8v+73cUoHTW3YxC3B9aPO\nqzAEV58w76dgZ2qeTgjChAQQEwgANgWCafDHVgILCQmQjcXpcUn3c9gCFQoC\nFgACmwMCHgEWIQS4vN2O383+kvuFGdaNxelxSfdz2AAAoVUA/A6NI89QMuvO\ngtX65BnmHP+D8vBJbwTwazDHpS0H62/SAPwJVaRXrRNkOTzc6bcAxg97sFBw\nhxJFzcFpAY0BaT5ods44BGnwx0gSCisGAQQBl1UBBQEBB0DZ18qpCkv6tiua\nCCf4Ct9Yfas7EilWG8LPNevujNh7EAMBCAfChQQYFgoANwWCafDHVgILCQmQ\nzhQor3Mn4o8CFQoCFgADmwQIAh4BFiEEB3Cyce1GqKAWbPdJzhQor3Mn4o8A\nAPBxAQD9MYbwZ6NxRabvF1lFMOAofAM4N8htqy6T0ZItfIt6KgEA9K3sycqT\nnWEFPCkJ1hl6QeCnp0qjGcbLxLRVGTWwxwrOMwRp8MdIFgkrBgEEAdpHDwEB\nB0DYMGRlbkTErdLqeeroxGghkYpoTNPHmgb5barxfnu2oMLASgQYFgoAvAWC\nafDHVgILCQmQzhQor3Mn4o8CFQoCFgACmwICHgGFoAQYFgoANgWCafDHVgIL\nCQmQU3o2I0o7U2YCFQoCFgACmwICHgEWIQRREfH7DgNjyYJM1c9TejYjSjtT\nZgAAa4ABAIPcFd0PzHQIQiMW/mvk57vQeOTSJmnY+/aXZ58ba3ykAP4oC5Mv\nRlTjUAmQdd67FX/Kmm49ayKKExrbUxMCHopGDBYhBAdwsnHtRqigFmz3Sc4U\nKK9zJ+KPAACetAEA0KpGMATxFZto3zinmPaHJAmc33RShm9mQJ7XkN8eIPMB\nAMK9J0qdW9jR7iOmJvLmULqUEAYWHAKJ1Ey9PWDSmUwM\n=REv+\n-----END PGP PUBLIC KEY BLOCK-----\n',
|
|
41
42
|
},
|
|
42
43
|
},
|
|
44
|
+
// NOTE: RedPallas DKG uses the same GPG key type as EdDSA MPCv2 (an ed25519-identity GPG key
|
|
45
|
+
// with an X25519 encryption subkey - see `RedPallasDKG` in `@bitgo/sdk-lib-mpc`), so as an
|
|
46
|
+
// interim measure this reuses the `eddsaMpcv2` key material verbatim rather than fabricating
|
|
47
|
+
// new key material. BitGo's platform/security team should provision dedicated RedPallas
|
|
48
|
+
// MPCv2 GPG keys (distinct key pairs held by the nitro/onprem HSM infra) before this is used
|
|
49
|
+
// for a production ceremony; swap the values below for the dedicated keys once available.
|
|
50
|
+
redpallasMpcv2: {
|
|
51
|
+
nitro: {
|
|
52
|
+
test: '-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nxjMEae9GZBYJKwYBBAHaRw8BAQdASKNi5MpJRAvINROrOEYFGmJcYKzW3WM7\nkIPow2z0P/bNGGhzbSA8aHNtQHRlc3QuYml0Z28uY29tPsKEBBMWCgA2BYJp\n70Z8AgsJCZDqsFQZg1ASRAIVCgIWAAKbAwIeARYhBLHdfJtdM3kc4o7/wuqw\nVBmDUBJEAAB6WgD/XYI8GR6BZl32N4fu6VZiJ4Ean7ahPCZ+eKYuc8qnJeMB\nAIYqc0Tw9QcqvgrrZtqizUfbYzJDZjNY2R51LrszLFAOwoQEEBMIADYFgmnv\nRnwCCwkJkJsMk/69BgLvAhUKAhYAApsDAh4BFiEE1QB10qpW/55I4JfamwyT\n/r0GAu8AAGVbAP9l4Ffwk1MRYwMSgsXQdJIY8srwSrWaJqFavRZi2tl0iwD+\nJaJdr2DcPP6Pb/zq4kh7YnhjrEgHv2Ta4qTTJtEEq+bOOARp70ZkEgorBgEE\nAZdVAQUBAQdA7gOSvYvpCo8TmgPBHeTqlPDJpohcuPXYMRQ5g228WRgDAQgH\nwoUEGBYKADcFgmnvRnwCCwkJkOqwVBmDUBJEAhUKAhYAA5sECAIeARYhBLHd\nfJtdM3kc4o7/wuqwVBmDUBJEAADrrQD+N+V+lJLtaC3W6E1pHQhr9I+0FsdJ\n5+dQFcacKPls3k0A/0Jp6WA+BUcErw4ahkm4hkbbjbuwRLG9H4PSJfoFgccH\nzjMEae9GZBYJKwYBBAHaRw8BAQdAa3z6M5sueZ+yaWp6jQ5GCqo53k4dkGxg\npj1kB9XTYvTCwEoEGBYKALwFgmnvRnwCCwkJkOqwVBmDUBJEAhUKAhYAApsC\nAh4BhaAEGBYKADYFgmnvRnwCCwkJkA35LiZC8HBmAhUKAhYAApsCAh4BFiEE\n0Xa0VhKDLiNQVIiaDfkuJkLwcGYAAIODAQD+YEcJeL0Wi8jY5bdJXzE8lRkE\noikaQMn3pR6dPtL9SwD/eXJamcMAS6L59dawdD0gwCZn9GlKXmj6FFXEJdcd\nOQoWIQSx3XybXTN5HOKO/8LqsFQZg1ASRAAAiU4A/ji0YOT8ceTgDQn3a5P4\nRz9Fv+OUZxj9hMc8K1lB0N/FAQDgv6gXtzEnpGOjtiwPNuuRynnh9OeXzhgL\nPcQIOmW6DA==\n=FAug\n-----END PGP PUBLIC KEY BLOCK-----\n',
|
|
53
|
+
prod: '-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nxjMEae97HxYJKwYBBAHaRw8BAQdAkqY/gBSnHQ0bJv6Yik473lXLulCWdhW2\nyEjNq+YEf1bNC0JpdEdvIE5pdHJvwoQEExYKADYFgmnveyICCwkJkKw4yRSD\nFu2mAhUKAhYAApsDAh4BFiEEropjTBjLvFsKdb8ErDjJFIMW7aYAACjjAQC7\n5Sc9kjLdScHTbzsM4l90i9lyHFdTVbruSYvmZrHQAAEAusZMX2qpIJdOdtB7\nyiXeCEMxBm1PcdfdvDSGnUruRQ7ChAQQEwgANgWCae97IgILCQmQtCPvhcuG\nfK8CFQoCFgACmwMCHgEWIQSH0CHgaKWZ1TGhqs+0I++Fy4Z8rwAAM9QA/Ap9\n6YjnvCrv1nO0XT/mqUgSMirGzF6AIk//AfqC8kKHAPsH5I9fKTz8i8vWo6ES\nDSVilnIaEyV6sczxZ2drsLV0Ms44BGnvex8SCisGAQQBl1UBBQEBB0DzGVFB\n74c3y9lShX5DG8or1nJoyjpmb7+aZ710EO7YQwMBCAfChQQYFgoANwWCae97\nIgILCQmQrDjJFIMW7aYCFQoCFgADmwQIAh4BFiEEropjTBjLvFsKdb8ErDjJ\nFIMW7aYAAHthAQCPwozH6edvb4G6JRLFrX8i0rEqCje1yty9sXcwI6XQdwD/\nTm38FbU3qGPop4tePWBTEQYEhE5ams9MIWyvX5P0TA7OMwRp73sfFgkrBgEE\nAdpHDwEBB0AMfvO8IOn4Y9TEtx7IQeutQkgFKapa+jZlVcSmGm8yBsLASgQY\nFgoAvAWCae97IgILCQmQrDjJFIMW7aYCFQoCFgACmwICHgGFoAQYFgoANgWC\nae97IgILCQmQVobXdL8ULVQCFQoCFgACmwICHgEWIQQ+ApqjNkpq4BvXiLdW\nhtd0vxQtVAAAzL8A/2ZASI7HhAAYTmNXvTBRSkfGlgPrurY9cXnwvaUN3Mss\nAP9dCqsaPx6XY5z4GGpGMLVJx4gOu9kpLIonHnZVI6idDhYhBK6KY0wYy7xb\nCnW/BKw4yRSDFu2mAACiPAEA1lDVNbiG0nZFbgatcFF5xKd0urF0f9CpOfpB\ntrIGGbUBAOD7FkKLVXWGFYICYipOUzzGzpFiMNaJl1qbCpa9m1kN\n=R6r4\n-----END PGP PUBLIC KEY BLOCK-----\n',
|
|
54
|
+
},
|
|
55
|
+
onprem: {
|
|
56
|
+
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',
|
|
57
|
+
prod: '-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nxjMEafDHRxYJKwYBBAHaRw8BAQdA4veo9hvphbH0gq+YFo8AwdtTR6SQN4tJ\nOWiA++eBqMvNBUJpdEdvwoQEExYKADYFgmnwx1UCCwkJkM4UKK9zJ+KPAhUK\nAhYAApsDAh4BFiEEB3Cyce1GqKAWbPdJzhQor3Mn4o8AAKS2AQDSo5ubHHyx\nvlAyRUgiyzVvupK8x1Jl/fPf54CHsWlIfgD+OIi8v+73cUoHTW3YxC3B9aPO\nqzAEV58w76dgZ2qeTgjChAQQEwgANgWCafDHVgILCQmQjcXpcUn3c9gCFQoC\nFgACmwMCHgEWIQS4vN2O383+kvuFGdaNxelxSfdz2AAAoVUA/A6NI89QMuvO\ngtX65BnmHP+D8vBJbwTwazDHpS0H62/SAPwJVaRXrRNkOTzc6bcAxg97sFBw\nhxJFzcFpAY0BaT5ods44BGnwx0gSCisGAQQBl1UBBQEBB0DZ18qpCkv6tiua\nCCf4Ct9Yfas7EilWG8LPNevujNh7EAMBCAfChQQYFgoANwWCafDHVgILCQmQ\nzhQor3Mn4o8CFQoCFgADmwQIAh4BFiEEB3Cyce1GqKAWbPdJzhQor3Mn4o8A\nAPBxAQD9MYbwZ6NxRabvF1lFMOAofAM4N8htqy6T0ZItfIt6KgEA9K3sycqT\nnWEFPCkJ1hl6QeCnp0qjGcbLxLRVGTWwxwrOMwRp8MdIFgkrBgEEAdpHDwEB\nB0DYMGRlbkTErdLqeeroxGghkYpoTNPHmgb5barxfnu2oMLASgQYFgoAvAWC\nafDHVgILCQmQzhQor3Mn4o8CFQoCFgACmwICHgGFoAQYFgoANgWCafDHVgIL\nCQmQU3o2I0o7U2YCFQoCFgACmwICHgEWIQRREfH7DgNjyYJM1c9TejYjSjtT\nZgAAa4ABAIPcFd0PzHQIQiMW/mvk57vQeOTSJmnY+/aXZ58ba3ykAP4oC5Mv\nRlTjUAmQdd67FX/Kmm49ayKKExrbUxMCHopGDBYhBAdwsnHtRqigFmz3Sc4U\nKK9zJ+KPAACetAEA0KpGMATxFZto3zinmPaHJAmc33RShm9mQJ7XkN8eIPMB\nAMK9J0qdW9jR7iOmJvLmULqUEAYWHAKJ1Ey9PWDSmUwM\n=REv+\n-----END PGP PUBLIC KEY BLOCK-----\n',
|
|
58
|
+
},
|
|
59
|
+
},
|
|
43
60
|
};
|
|
44
61
|
function getBitgoMpcGpgPubKey(env, pubKeyType, mpcVersion) {
|
|
45
|
-
(0, assert_1.default)(mpcVersion in exports.bitgoMpcGpgPubKeys, `Invalid mpcVersion in getBitgoMpcGpgPubKey, got: ${mpcVersion}, expected: mpcv1, mpcv2, or
|
|
62
|
+
(0, assert_1.default)(mpcVersion in exports.bitgoMpcGpgPubKeys, `Invalid mpcVersion in getBitgoMpcGpgPubKey, got: ${mpcVersion}, expected: mpcv1, mpcv2, eddsaMpcv2, or redpallasMpcv2`);
|
|
46
63
|
(0, assert_1.default)(pubKeyType in exports.bitgoMpcGpgPubKeys[mpcVersion], `Invalid pubKeyType in getBitgoMpcGpgPubKey, got: ${pubKeyType}, expected: nitro or onprem`);
|
|
47
64
|
if (env !== 'prod' && env !== 'test' && env !== 'staging' && env !== 'adminProd' && env !== 'adminTest') {
|
|
48
65
|
throw new Error('Invalid environment to get a BitGo MPC GPG public key');
|
|
@@ -66,7 +83,10 @@ function isBitgoMpcPubKey(key, mpcvVersion) {
|
|
|
66
83
|
function isBitgoEddsaMpcv2PubKey(key) {
|
|
67
84
|
return Object.values(exports.bitgoMpcGpgPubKeys.eddsaMpcv2).some((envKeys) => Object.values(envKeys).includes(key));
|
|
68
85
|
}
|
|
86
|
+
function isBitgoRedpallasMpcv2PubKey(key) {
|
|
87
|
+
return Object.values(exports.bitgoMpcGpgPubKeys.redpallasMpcv2).some((envKeys) => Object.values(envKeys).includes(key));
|
|
88
|
+
}
|
|
69
89
|
function envRequiresBitgoPubGpgKeyConfig(env) {
|
|
70
90
|
return env === 'prod' || env === 'test' || env === 'staging' || env === 'adminProd' || env === 'adminTest';
|
|
71
91
|
}
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0Z29QdWJLZXlzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3Rzcy9iaXRnb1B1YktleXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBb0NBLG9EQTRCQztBQUVELDRDQUVDO0FBRUQsMERBRUM7QUFFRCwwRUFFQztBQTVFRCxvREFBNEI7QUFHZixRQUFBLGtCQUFrQixHQUFHO0lBQ2hDLEtBQUssRUFBRTtRQUNMLEtBQUssRUFBRTtZQUNMLElBQUksRUFBRSxtMkJBQW0yQjtZQUN6MkIsSUFBSSxFQUFFLG0xQkFBbTFCO1NBQzExQjtRQUNELE1BQU0sRUFBRTtZQUNOLElBQUksRUFBRSxtMkJBQW0yQjtZQUN6MkIsSUFBSSxFQUFFLHFxQkFBcXFCO1NBQzVxQjtLQUNGO0lBQ0QsS0FBSyxFQUFFO1FBQ0wsS0FBSyxFQUFFO1lBQ0wsSUFBSSxFQUFFLDIyQ0FBMjJDO1lBQ2ozQyxJQUFJLEVBQUUsMjFDQUEyMUM7U0FDbDJDO1FBQ0QsTUFBTSxFQUFFO1lBQ04sSUFBSSxFQUFFLDIyQ0FBMjJDO1lBQ2ozQyxJQUFJLEVBQUUsbTFDQUFtMUM7U0FDMTFDO0tBQ0Y7SUFDRCxVQUFVLEVBQUU7UUFDVixLQUFLLEVBQUU7WUFDTCxJQUFJLEVBQUUsNnZDQUE2dkM7WUFDbndDLElBQUksRUFBRSx1dUNBQXV1QztTQUM5dUM7UUFDRCxNQUFNLEVBQUU7WUFDTixJQUFJLEVBQUUsNnZDQUE2dkM7WUFDbndDLElBQUksRUFBRSwrdENBQSt0QztTQUN0dUM7S0FDRjtDQUNGLENBQUM7QUFFRixTQUFnQixvQkFBb0IsQ0FDbEMsR0FBb0IsRUFDcEIsVUFBOEIsRUFDOUIsVUFBNEM7SUFFNUMsSUFBQSxnQkFBTSxFQUNKLFVBQVUsSUFBSSwwQkFBa0IsRUFDaEMsb0RBQW9ELFVBQVUseUNBQXlDLENBQ3hHLENBQUM7SUFDRixJQUFBLGdCQUFNLEVBQ0osVUFBVSxJQUFJLDBCQUFrQixDQUFDLFVBQVUsQ0FBQyxFQUM1QyxvREFBb0QsVUFBVSw2QkFBNkIsQ0FDNUYsQ0FBQztJQUNGLElBQUksR0FBRyxLQUFLLE1BQU0sSUFBSSxHQUFHLEtBQUssTUFBTSxJQUFJLEdBQUcsS0FBSyxTQUFTLElBQUksR0FBRyxLQUFLLFdBQVcsSUFBSSxHQUFHLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDeEcsTUFBTSxJQUFJLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFDRCxJQUFJLEdBQUcsS0FBSyxNQUFNLElBQUksR0FBRyxLQUFLLFdBQVcsRUFBRSxDQUFDO1FBQzFDLDBDQUEwQztRQUMxQyxHQUFHLEdBQUcsTUFBTSxDQUFDO0lBQ2YsQ0FBQztJQUNELElBQUksR0FBRyxLQUFLLFdBQVcsRUFBRSxDQUFDO1FBQ3hCLEdBQUcsR0FBRyxNQUFNLENBQUM7SUFDZixDQUFDO0lBQ0QsSUFBSSxVQUFVLEtBQUssT0FBTyxFQUFFLENBQUM7UUFDM0Isb0NBQW9DO1FBQ3BDLFVBQVUsR0FBRyxRQUFRLENBQUM7SUFDeEIsQ0FBQztJQUNELE9BQU8sMEJBQWtCLENBQUMsVUFBVSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDekQsQ0FBQztBQUVELFNBQWdCLGdCQUFnQixDQUFDLEdBQVcsRUFBRSxXQUE4QjtJQUMxRSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsMEJBQWtCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDaEgsQ0FBQztBQUVELFNBQWdCLHVCQUF1QixDQUFDLEdBQVc7SUFDakQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLDBCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM5RyxDQUFDO0FBRUQsU0FBZ0IsK0JBQStCLENBQUMsR0FBb0I7SUFDbEUsT0FBTyxHQUFHLEtBQUssTUFBTSxJQUFJLEdBQUcsS0FBSyxNQUFNLElBQUksR0FBRyxLQUFLLFNBQVMsSUFBSSxHQUFHLEtBQUssV0FBVyxJQUFJLEdBQUcsS0FBSyxXQUFXLENBQUM7QUFDN0csQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCB7IEVudmlyb25tZW50TmFtZSB9IGZyb20gJy4uL2Vudmlyb25tZW50cyc7XG5cbmV4cG9ydCBjb25zdCBiaXRnb01wY0dwZ1B1YktleXMgPSB7XG4gIG1wY3YxOiB7XG4gICAgbml0cm86IHtcbiAgICAgIHRlc3Q6ICctLS0tLUJFR0lOIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG5cXG54azhFWXFFVTVoTUZLNEVFQUFvQ0F3UURkYkFJWnJzYmxFWElhdnlnMmdvNnA5b0cwU3FXVGdGc2RIVGNcXG5CaHFkSVMvV2pROHBqNzVxK3ZMcUZ0VjlobEltWUdJbnNJV2g5N2ZzaWd6QjJvd3l6UmhvYzIwZ1BHaHpcXG5iVUIwWlhOMExtSnBkR2R2TG1OdmJUN0NoQVFURXdnQUZRVUNZcUVVNXdJTENRSVZDQUlXQUFJYkF3SWVcXG5BUUFoQ1JDSk5Sc0lER3VuZXhZaEJIUkw1RC84blJNM29wUW5Yb2sxR3dnTWE2ZDd0ZzhBLzI0QTlhd3FcXG5TQ0p4N1JkZGlVekZIY0toVnZ2bzNSNU43YkhhT0dQM1RQNzlBUDBUYXZGMld6aFVYbVpTanQzSUsyM09cXG43L2FrbmJpalZlcTUyZ2hiV2IxU3dzSjFCQkFUQ0FBR0JRSmlvUlRuQUNFSkVBV3VBMzVLSmd0Z0ZpRUVcXG5adHRMUFIwS2NZdmpndkpDQmE0RGZrb21DMkJzcndEL1orNDN6T3crV3BmUEh4ZSt5cHlWb2c1Zm5PS2xcXG5Yd2xlSDZ6RHZxVVdtV2tBL2lhSEM2dWxsWWtTRzRNdjY4azZxYnRnUi9wbXMvWDdya2ZhMFFRRkp5NXBcXG56bE1FWXFFVTVoSUZLNEVFQUFvQ0F3U3NMcW1mb25qTUYzbzBuWjVKSHZMcG1mVEExUklWRHNBRW9ST05cXG50WkE2ckFBMjNwR2w2czNJeXQ0L2ZYOUFkem9oM0VFbE9qTXNnaThBajNkRnB1cWlBd0VJQjhKNEJCZ1RcXG5DQUFKQlFKaW9SVG5BaHNNQUNFSkVJazFHd2dNYTZkN0ZpRUVkRXZrUC95ZEV6ZWlsQ2RlaVRVYkNBeHJcXG5wM3ZNN0FEOUdQcDZIaFlORWgyVlZDRHRGU3QxNEJuaTVGVk01aWNwVkRvNnc5aWJ2V0FBLzJUaTNKdjRcXG5JaEl4bDgxL3dxQWdxaWdJYmxyejZ2anRhZ3I5L3lrWFFDVzNcXG49c2tDb1xcbi0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG4nLFxuICAgICAgcHJvZDogJy0tLS0tQkVHSU4gUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcblxcbnhrOEVZNG02WkJNRks0RUVBQW9DQXdSU1R3ZFhnaVkrRUJOajJKZ056aXNVeWdjVkdWeHAxRnYrcFQ2NFxcblRzSjY0eTlGcjVoOWxqcU1Jc21NME1XbjloY3pwbWRBRUhwa1NnMjY0d0FQTmNJV3pRdENhWFJIYnlCT1xcbmFYUnliOEtFQkJNVENBQTJCUUpqaWJwbUFnc0pDUkRIZ3ZyV3F4NjVId0lWQ0FJV0FBSWJBd0llQVJZaFxcbkJMZ256STlDbjZVYW1ObEoyTWVDK3Rhckhya2ZBQUJFd2dEL1cwK0xYcEhFTXRTblNoZjdyU2c3dFFmR1xcbjFCYjZiZTJZMXV0ZCthdWovRWNBL2pHSk84TXRlanhjVkdCcEgvWnJPREwrRDB5Uy9JMllEM252ZUx0RFxcbkQ1ejN3blVFRUJNSUFDY0ZBbU9KdW1rSkVIdVMxdm9BZDVmSkZpRUUxWHhiZmJicjV6TEdxTko3ZTVMV1xcbitnQjNsOGtBQVB0bUFQMFdablcvY2dHQ1d6RzFOWWJBVTFzSlV3WWRzcE0xV0RMQnlqbW81SmtDclFEK1xcbk9LLzZVOHp2bVFFY29PcTBZWEFyaGIreVdRRERIREVrTHhScHRCK0tPOG5PVXdSamlicGtFZ1VyZ1FRQVxcbkNnSURCT1V2bi9vTktabmpFTXRuQWJCNmhvb3M4dkRmOG1xeUlidEdSakRpbDFUM3QxOXEyS2U2eEZGb1xcbkorVTJ3NGd0RnhqREVSOGlnYXMramE0UDN1N0VGbE1EQVFnSHduZ0VHQk1JQUNvRkFtT0p1bWdKRU1lQ1xcbit0YXJIcmtmQWhzTUZpRUV1Q2ZNajBLZnBScVkyVW5ZeDRMNjFxc2V1UjhBQU5IUEFQOTZsdndHVDNBMFxcbk5OejFXQXIrU24xM21SM2s4YXJmZXFjdloxRkNtaW9Nb2dEOUd6SklhSmxiQWJkc1JCNFFuTGtSY0tKT1xcbm5NSDEzUEtxOXFNNnRnNFVRRk09XFxuPVNEMGhcXG4tLS0tLUVORCBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tXFxuJyxcbiAgICB9LFxuICAgIG9ucHJlbToge1xuICAgICAgdGVzdDogJy0tLS0tQkVHSU4gUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcblxcbnhrOEVZcUVVNWhNRks0RUVBQW9DQXdRRGRiQUlacnNibEVYSWF2eWcyZ282cDlvRzBTcVdUZ0ZzZEhUY1xcbkJocWRJUy9XalE4cGo3NXErdkxxRnRWOWhsSW1ZR0luc0lXaDk3ZnNpZ3pCMm93eXpSaG9jMjBnUEdoelxcbmJVQjBaWE4wTG1KcGRHZHZMbU52YlQ3Q2hBUVRFd2dBRlFVQ1lxRVU1d0lMQ1FJVkNBSVdBQUliQXdJZVxcbkFRQWhDUkNKTlJzSURHdW5leFloQkhSTDVELzhuUk0zb3BRblhvazFHd2dNYTZkN3RnOEEvMjRBOWF3cVxcblNDSng3UmRkaVV6RkhjS2hWdnZvM1I1TjdiSGFPR1AzVFA3OUFQMFRhdkYyV3poVVhtWlNqdDNJSzIzT1xcbjcvYWtuYmlqVmVxNTJnaGJXYjFTd3NKMUJCQVRDQUFHQlFKaW9SVG5BQ0VKRUFXdUEzNUtKZ3RnRmlFRVxcblp0dExQUjBLY1l2amd2SkNCYTREZmtvbUMyQnNyd0QvWis0M3pPdytXcGZQSHhlK3lweVZvZzVmbk9LbFxcblh3bGVINnpEdnFVV21Xa0EvaWFIQzZ1bGxZa1NHNE12NjhrNnFidGdSL3Btcy9YN3JrZmEwUVFGSnk1cFxcbnpsTUVZcUVVNWhJRks0RUVBQW9DQXdTc0xxbWZvbmpNRjNvMG5aNUpIdkxwbWZUQTFSSVZEc0FFb1JPTlxcbnRaQTZyQUEyM3BHbDZzM0l5dDQvZlg5QWR6b2gzRUVsT2pNc2dpOEFqM2RGcHVxaUF3RUlCOEo0QkJnVFxcbkNBQUpCUUppb1JUbkFoc01BQ0VKRUlrMUd3Z01hNmQ3RmlFRWRFdmtQL3lkRXplaWxDZGVpVFViQ0F4clxcbnAzdk03QUQ5R1BwNkhoWU5FaDJWVkNEdEZTdDE0Qm5pNUZWTTVpY3BWRG82dzlpYnZXQUEvMlRpM0p2NFxcbkloSXhsODEvd3FBZ3FpZ0libHJ6NnZqdGFncjkveWtYUUNXM1xcbj1za0NvXFxuLS0tLS1FTkQgUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcbicsXG4gICAgICBwcm9kOiAnLS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tXFxuXFxueGs4RVlxS0tRUk1GSzRFRUFBb0NBd1JPV0piSDNVQ1BkWlRQRUpYcFBaY2t0d3RESndpbDRRSGxYWkVMXFxuY1ViRkVUYm9xL2NZMjJ3K3VHMElsUnlwZGJvNitzRHVhZWczZGZqYTJpb3E2VHRKelFWQ2FYUkhiOEtFXFxuQkJNVENBQVZCUUppb29wREFnc0pBaFVJQWhZQUFoc0RBaDRCQUNFSkVGWE9NalphdDV2TUZpRUVGWVMvXFxuWHZkaHQ4aU10bXlQVmM0eU5scTNtOHltMUFEK1A5Y2xFM2tqNzY0WW1ySERPY1JQbC8rdFgyQ29VRDByXFxuYmRTWXlKeWZDd0FBL0FzMEYwVUZiUHpseFBTYVpoVi9qUXhCK1BzRjRMVml3RGRoNFY0cFV0bjl6bE1FXFxuWXFLS1FSSUZLNEVFQUFvQ0F3UWg1d0JyT2t0cUplNEc1c2JTT2R5dzFybjEvMUV2a080aGo4UjRDM1VBXFxuSzdBcHo1OTlYYmk2anQzcEQycmhkdUwxRm5TNXpoemlZU0Jra28vQjJJdzhBd0VJQjhKNEJCZ1RDQUFKXFxuQlFKaW9vcEVBaHNNQUNFSkVGWE9NalphdDV2TUZpRUVGWVMvWHZkaHQ4aU10bXlQVmM0eU5scTNtOHltXFxuVndEOER3S2RkZlpHK1ZnUXRYcnpoNTIzUndrMGpsK0V3ZGNWMmg2QWlLb1YvM0FBL2pWK3lTMytLVEhrXFxuNlE4OVRHUjJRZnRwY2t3Y1VUS09OOXB1R2U5K3VsYW5cXG49T3FadVxcbi0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG4nLFxuICAgIH0sXG4gIH0sXG4gIG1wY3YyOiB7XG4gICAgbml0cm86IHtcbiAgICAgIHRlc3Q6ICctLS0tLUJFR0lOIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG5cXG54azhFWmlGM0NCTUZLNEVFQUFvQ0F3UVdEN1BhNzUyZkFsNHowUHhmV1ZDMDVkODl2Zm84MFB5VVEzRXJcXG5MWGxoR0xraWsrTmtBbC9EQmQ4ZGlON2k0a1R2Um9JbzB4ckhVK2xaZ2RndCtjdDV6UmhvYzIwZ1BHaHpcXG5iVUIwWlhOMExtSnBkR2R2TG1OdmJUN0NoQVFURXdnQU5nVUNaaUYzQ0FJTENRa1E1eWN1ZXpiYlZPa0NcXG5GUWdDRmdBQ0d3TUNIZ0VXSVFSUHI2R05pRTd0UnYwcDRhZm5KeTU3TnR0VTZRQUFiQVlBK3dSdlNMT2FcXG5lMGlSRU94MDBIaFlXUDAzMEdoTjk4QmNadGVoVDlpVFpNVjhBUDk3T3RrcnRxNmpieTJmN1BkRVY3dXZcXG5kNGFpa1RhNUJnbnBLdmw4eXFMNGNjS0VCQkFUQ0FBMkJRSm1JWGNLQWdzSkNSQ1pSQmZjaDVNVWN3SVZcXG5DQUlXQUFJYkF3SWVBUlloQkFtWEJTMFRZRXZtQy8zTDlKbEVGOXlIa3hSekFBQkoxd0QrS3lJMWo5bnVcXG5ZV3ZEeHdEQitKQkdNdDdtaWM3N2FqQk9nYUNhYkVaMGoxTUEvMlJDT2lWMmNPTDN4MUFPem9zcW9mc2hcXG5pQTFzOUJwUzE0eEF3cktKUHdZK3psTUVaaUYzQ0JJRks0RUVBQW9DQXdTZ0xzNjBrTHpoSEQzbzFzRGdcXG4wZlEvUUh3NmhncTlQUTVMdmlsVXZ1SUdZRFI3OXNQd3JNdXd5N3dVY09RZ0p2d0lPSkhvbW1EcTVuaitcXG5LZmdBdEU2dUF3RUlCOEtFQkJnVENBQTJCUUptSVhjSkFnc0pDUkRuSnk1N050dFU2UUlWQ0FJV0FBSWJcXG5EQUllQVJZaEJFK3ZvWTJJVHUxRy9TbmhwK2NuTG5zMjIxVHBBQURXbVFEL2JWOXNCa3d5WWZZZkpZVFNcXG5xdlRtdWJDZXNRRFk1UmFudjl3WXZ2N1JpTFFBL2l3WDZaSHdkYnZRRlZ1aTBHcnZWMmlGYUNIdXQxcG5cXG5GNFlDRHFwVUtpZHd6azhFWmlGM0NCTUZLNEVFQUFvQ0F3VGZtL0haeHd2dWJQL3JyMktPVTg4bWtETDlcXG5qY1dqZlF4MXVGWjltbElnTUJWMysrT2d0a1ZFMGVFZStsTldwd2drc0dPR3JCV2VRM0swWFJGMFlsVXBcXG53c0JLQkJnVENBQzhCUUptSVhjSkFnc0pDUkRuSnk1N050dFU2UUlWQ0FJV0FBSWJBZ0llQVlVZ0JCZ1RcXG5DQUEyQlFKbUlYY0pBZ3NKQ1JCckVNVHEyb09ZaGdJVkNBSVdBQUliQWdJZUFSWWhCTEZnMXpJY3dBbWNcXG5SaEdkT21zUXhPcmFnNWlHQUFBeG9BRC9ZTlBoTW1mM2w0UWg3ZnBya21Pam9VMEN2RmlpUCtrY3hUcjlcXG5tOWx1VmhVQS9SdmhJQjRzcXJBY1NEN1pHVklRY0VJMTRyZEFGZW9rNEhpZ3oyY0dmOVI2RmlFRVQ2K2hcXG5qWWhPN1ViOUtlR241eWN1ZXpiYlZPa0FBUG5hQVAwZFlweWE3RXp2TjVRNlJwSXpxTEZOOWl6eUd0NFFcXG42a2Vac3ZuVmJXOXFKQUQ5Rmo3dEFBTVViYnN0ei9LeDlSWThxb0lPRlR1U3dhZURYbkpNckk5djg0dz1cXG49dXpWQlxcbi0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG4nLFxuICAgICAgcHJvZDogJy0tLS0tQkVHSU4gUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcblxcbnhrOEVhZkgzTHhNRks0RUVBQW9DQXdTVkxEdzhYVkNwV1NWR0ZMeHpNRVc1Nm16UmJtWm1pTFdqSWw5cVxcbk9obUcvaTBua1NDbXhub3dCbXFIbmdkY1lxRThrQ2FpM2djc0FrUlR5Z0VRclhSdnpRdENhWFJIYnlCT1xcbmFYUnliOEtFQkJNVENBQTJCWUpwOGZjdkFnc0pDWkNWY1JiVndJdHBzd0lWQ0FJV0FBS2JBd0llQVJZaFxcbkJEQlhGY0VPWFlVUjVHTW91WlZ4RnRYQWkybXpBQUNRZUFEL2F2cWhhR3QzdzFLTDJmVzFCWWR5YzQ3U1xcbmhjWThZbnBkWCtPLzMwSk9ZUkVBL0F2YWZrK3BUWG9TZHAwY1dHSHg1YkJkY1BSRVlNbm9CWU45dVhiOFxcbm5jMWF3b1FFRUJNSUFEWUZnbW54OXk4Q0N3a0prREFUcHQzeWh3MnpBaFVJQWhZQUFwc0RBaDRCRmlFRVxcbmNVME14N3hvUXRyMUo4MU1NQk9tM2ZLSERiTUFBTGJuQVFEbjVXWVFQcEVndGd5K3N6M0ExOEV2VEFHVVxcblRna3dzSVFFQmFYRGdSZ3lCZ0QvWDFDelowTTBTNVh0RTk4dS85cGV4UTV6d0Y5RzVGZEw3dU41N29pbFxcblJPak9Vd1JwOGZjdkVnVXJnUVFBQ2dJREJPV3p1YlEzL2hIQVR4NjFOSzk5NHpBSTN4Zk8zR1lob0FPQVxcbnhQZkY0TElsQ2x2R3pjR1A3dGNGbkMxdnRHUFp6bjRvTXg1eDdsVHVDK2tSamdkN242b0RBUWdId29VRVxcbkdCTUlBRGNGZ21ueDl5OENDd2tKa0pWeEZ0WEFpMm16QWhVS0FoWUFBNXNFQ0FJZUFSWWhCREJYRmNFT1xcblhZVVI1R01vdVpWeEZ0WEFpMm16QUFBdVpRRC9lQXNDWFJaWTVnSkVBdnhRcStGdmU5QnF0ZTk5UkNDcFxcbm84OWhmOUowTkEwQS9SdGZpdVhqbnlTaGRwRXNPaXpQN082MG00Q09kbVV2Yk9yNkhicWpVcEpPems4RVxcbmFmSDNMeE1GSzRFRUFBb0NBd1F1SEN4bnFyOFg2dys3ZmhsYjlxSm8vMTl5eEcyL3F3dXhnR2pvK2w1MVxcblVyQkNrWkIvenlacXlqd1lYaVFTZXA3TXl5MVFFRklnV0JWQTZIa2ovOWpQd3NCS0JCZ1RDQUM4QllKcFxcbjhmY3ZBZ3NKQ1pDVmNSYlZ3SXRwc3dJVkNBSVdBQUtiQWdJZUFZV2dCQmdUQ0FBMkJZSnA4ZmN2QWdzSlxcbkNaQmJGdGttckhEZVNRSVZDQUlXQUFLYkFnSWVBUlloQkF6R1dvVWU5ZlBsZEN3TGRGc1cyU2FzY041SlxcbkFBQXFaZ0QrTnJ3ZmtvSXkrT1N5dlA5OWMzZDVrMGM3SDZnS3drREdUZHRsWE9tY0JERUEvM1dCUjhWc1xcblk4cElhSGtDSkZySEJSeTEyUWFMTFZUbU54SjUxaEl5MlJINEZpRUVNRmNWd1E1ZGhSSGtZeWk1bFhFV1xcbjFjQ0xhYk1BQVBCSEFQNHBNa1JXSVFBRGVTUHJhOEY5dWxmU2owckF2ejFSMGtPeFp0dFoyQlhibGdEL1xcbmN0Wk9MZW1qb3ErakFnTHMvamxVeW04MmcwRktDZ2tpTDZlR3dyaFRINFU9XFxuPUwrS2pcXG4tLS0tLUVORCBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tXFxuJyxcbiAgICB9LFxuICAgIG9ucHJlbToge1xuICAgICAgdGVzdDogJy0tLS0tQkVHSU4gUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcblxcbnhrOEVaaUYzQ0JNRks0RUVBQW9DQXdRV0Q3UGE3NTJmQWw0ejBQeGZXVkMwNWQ4OXZmbzgwUHlVUTNFclxcbkxYbGhHTGtpaytOa0FsL0RCZDhkaU43aTRrVHZSb0lvMHhySFUrbFpnZGd0K2N0NXpSaG9jMjBnUEdoelxcbmJVQjBaWE4wTG1KcGRHZHZMbU52YlQ3Q2hBUVRFd2dBTmdVQ1ppRjNDQUlMQ1FrUTV5Y3VlemJiVk9rQ1xcbkZRZ0NGZ0FDR3dNQ0hnRVdJUVJQcjZHTmlFN3RSdjBwNGFmbkp5NTdOdHRVNlFBQWJBWUErd1J2U0xPYVxcbmUwaVJFT3gwMEhoWVdQMDMwR2hOOThCY1p0ZWhUOWlUWk1WOEFQOTdPdGtydHE2amJ5MmY3UGRFVjd1dlxcbmQ0YWlrVGE1QmducEt2bDh5cUw0Y2NLRUJCQVRDQUEyQlFKbUlYY0tBZ3NKQ1JDWlJCZmNoNU1VY3dJVlxcbkNBSVdBQUliQXdJZUFSWWhCQW1YQlMwVFlFdm1DLzNMOUpsRUY5eUhreFJ6QUFCSjF3RCtLeUkxajludVxcbllXdkR4d0RCK0pCR010N21pYzc3YWpCT2dhQ2FiRVowajFNQS8yUkNPaVYyY09MM3gxQU96b3Nxb2ZzaFxcbmlBMXM5QnBTMTR4QXdyS0pQd1kremxNRVppRjNDQklGSzRFRUFBb0NBd1NnTHM2MGtMemhIRDNvMXNEZ1xcbjBmUS9RSHc2aGdxOVBRNUx2aWxVdnVJR1lEUjc5c1B3ck11d3k3d1VjT1FnSnZ3SU9KSG9tbURxNW5qK1xcbktmZ0F0RTZ1QXdFSUI4S0VCQmdUQ0FBMkJRSm1JWGNKQWdzSkNSRG5KeTU3TnR0VTZRSVZDQUlXQUFJYlxcbkRBSWVBUlloQkUrdm9ZMklUdTFHL1NuaHArY25MbnMyMjFUcEFBRFdtUUQvYlY5c0Jrd3lZZllmSllUU1xcbnF2VG11YkNlc1FEWTVSYW52OXdZdnY3UmlMUUEvaXdYNlpId2RidlFGVnVpMEdydlYyaUZhQ0h1dDFwblxcbkY0WUNEcXBVS2lkd3prOEVaaUYzQ0JNRks0RUVBQW9DQXdUZm0vSFp4d3Z1YlAvcnIyS09VODhta0RMOVxcbmpjV2pmUXgxdUZaOW1sSWdNQlYzKytPZ3RrVkUwZUVlK2xOV3B3Z2tzR09HckJXZVEzSzBYUkYwWWxVcFxcbndzQktCQmdUQ0FDOEJRSm1JWGNKQWdzSkNSRG5KeTU3TnR0VTZRSVZDQUlXQUFJYkFnSWVBWVVnQkJnVFxcbkNBQTJCUUptSVhjSkFnc0pDUkJyRU1UcTJvT1loZ0lWQ0FJV0FBSWJBZ0llQVJZaEJMRmcxekljd0FtY1xcblJoR2RPbXNReE9yYWc1aUdBQUF4b0FEL1lOUGhNbWYzbDRRaDdmcHJrbU9qb1UwQ3ZGaWlQK2tjeFRyOVxcbm05bHVWaFVBL1J2aElCNHNxckFjU0Q3WkdWSVFjRUkxNHJkQUZlb2s0SGlnejJjR2Y5UjZGaUVFVDYraFxcbmpZaE83VWI5S2VHbjV5Y3VlemJiVk9rQUFQbmFBUDBkWXB5YTdFenZONVE2UnBJenFMRk45aXp5R3Q0UVxcbjZrZVpzdm5WYlc5cUpBRDlGajd0QUFNVWJic3R6L0t4OVJZOHFvSU9GVHVTd2FlRFhuSk1ySTl2ODR3PVxcbj11elZCXFxuLS0tLS1FTkQgUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcbicsXG4gICAgICBwcm9kOiAnLS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tXFxuXFxueGs4RVptSHlLQk1GSzRFRUFBb0NBd1MrdEJZLzJQNDdHMG1nWVJocTkwaks0NzVmMDJmM2YzVzRWYktBXFxuU3dkOXM2YUk1c3BrN0dlWXNqUnZQNnJCZjR2RklqTGo3VHk3SzJWMDNyWlBRYzhielFWQ2FYUkhiOEtFXFxuQkJNVENBQTJCUUptWWZJcEFnc0pDUkFLTUI0QVRBNVY3UUlWQ0FJV0FBSWJBd0llQVJZaEJBSWRmbExCXFxuSzRkZUhvaytnUW93SGdCTURsWHRBQUNScEFEL1VVYlRzRkVranQrQ0NKbVZxMnY1bDZvb2NSOWhYWGtUXFxuemhSUUtRSXdTaWdBL1JWdlMyUnNvWkxrYUw2OEdVSEx5NjNYVkh0RzE0OXBOM0JZUHdiNjNFY1F3b1FFXFxuRUJNSUFEWUZBbVpoOGlvQ0N3a0pFRmxoMkRMTTZJVk5BaFVJQWhZQUFoc0RBaDRCRmlFRXNiOWYxVkEwXFxuOXJPTGdGTStXV0hZTXN6b2hVMEFBRkM4QVA0d0gwbmRtekNTZzJPL2ErWmZxVzJ5QTQ2NUJGdkRNMWlqXFxudk10Q0pZU3h6QUQvUmpjZkRma040SXBqYWEyTFJ1SHhmSFpidmdDZ29PQ2hzSkx2NEtRTFRhZk9Vd1JtXFxuWWZJb0VnVXJnUVFBQ2dJREJNK1cwMUtFVWFBbThhM2hNQldHOUVTaHlOclp4YnR2OXJ5ZDhKSUl4ZUViXFxuRWNrTFRWUXZJZXIzWXZEVXlqZVkvdjgzVkNSZG02SDVjYWhWOTJzeWRySURBUWdId29RRUdCTUlBRFlGXFxuQW1aaDhpa0NDd2tKRUFvd0hnQk1EbFh0QWhVSUFoWUFBaHNNQWg0QkZpRUVBaDErVXNFcmgxNGVpVDZCXFxuQ2pBZUFFd09WZTBBQUVjU0FQOUg5NnQvejl1S2U5bEFvcTJkOUR0M0hycTllTTZzTFEyK2NWYmxuZ1ArXFxuRFFEL2RDcUhZUXpEZHN1YzlZM0htV2JoQ0sxVW02ZXdwcGtjdDF2NWxtYmFKMWJPVHdSbVlmSW9Fd1VyXFxuZ1FRQUNnSURCSkRJb2ZXT0xqL0prQkZrWkRoM2ErK0xORUg4VEJObERadlU3dE5mVVJYV0FweFYyVkFiXFxuRkJLWWRkTjAzUTFTQnBNUjBHa1BsNDJySDd3aFlkZWFFQkhDd0VvRUdCTUlBTHdGQW1aaDhpb0NDd2tKXFxuRUFvd0hnQk1EbFh0QWhVSUFoWUFBaHNDQWg0QmhTQUVHQk1JQURZRkFtWmg4aW9DQ3drSkVHQWZCc01UXFxuRnpWakFoVUlBaFlBQWhzQ0FoNEJGaUVFMnpBR0hTYUxuc3dxSXZCcllCOEd3eE1YTldNQUFOcm9BUDBmXFxudEZQdW1LRndRckNmN09NSFFXc2VzclFZcEtUNlo2NVZiZXdCb0dhR2lnRC9Va2VleWdUdGx5elRWMllGXFxuTkFqV0F6YVF0WFdtbXpSZ25PajBJS3ViMzlNV0lRUUNIWDVTd1N1SFhoNkpQb0VLTUI0QVRBNVY3UUFBXFxuVGpNQS9qRFNWWEpOYmxyL2tTTE5GVG9yZGdEaktQMG5OMWFFbHZGVUZoL1FFVlQwQVA5bG1mMkZjL283XFxueVlPR1BQZzRPdnZVNm9kclRzdU5nbGp2UHFCbGFDYzJFQT09XFxuPVpMa3RcXG4tLS0tLUVORCBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tXFxuJyxcbiAgICB9LFxuICB9LFxuICBlZGRzYU1wY3YyOiB7XG4gICAgbml0cm86IHtcbiAgICAgIHRlc3Q6ICctLS0tLUJFR0lOIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG5cXG54ak1FYWU5R1pCWUpLd1lCQkFIYVJ3OEJBUWRBU0tOaTVNcEpSQXZJTlJPck9FWUZHbUpjWUt6VzNXTTdcXG5rSVBvdzJ6MFAvYk5HR2h6YlNBOGFITnRRSFJsYzNRdVltbDBaMjh1WTI5dFBzS0VCQk1XQ2dBMkJZSnBcXG43MFo4QWdzSkNaRHFzRlFaZzFBU1JBSVZDZ0lXQUFLYkF3SWVBUlloQkxIZGZKdGRNM2tjNG83L3d1cXdcXG5WQm1EVUJKRUFBQjZXZ0QvWFlJOEdSNkJabDMyTjRmdTZWWmlKNEVhbjdhaFBDWitlS1l1YzhxbkplTUJcXG5BSVlxYzBUdzlRY3F2Z3JyWnRxaXpVZmJZekpEWmpOWTJSNTFMcnN6TEZBT3dvUUVFQk1JQURZRmdtbnZcXG5SbndDQ3drSmtKc01rLzY5QmdMdkFoVUtBaFlBQXBzREFoNEJGaUVFMVFCMTBxcFcvNTVJNEpmYW13eVRcXG4vcjBHQXU4QUFHVmJBUDlsNEZmd2sxTVJZd01TZ3NYUWRKSVk4c3J3U3JXYUpxRmF2UlppMnRsMGl3RCtcXG5KYUpkcjJEY1BQNlBiL3pxNGtoN1luaGpyRWdIdjJUYTRxVFRKdEVFcStiT09BUnA3MFprRWdvckJnRUVcXG5BWmRWQVFVQkFRZEE3Z09Tdll2cENvOFRtZ1BCSGVUcWxQREpwb2hjdVBYWU1SUTVnMjI4V1JnREFRZ0hcXG53b1VFR0JZS0FEY0ZnbW52Um53Q0N3a0prT3F3VkJtRFVCSkVBaFVLQWhZQUE1c0VDQUllQVJZaEJMSGRcXG5mSnRkTTNrYzRvNy93dXF3VkJtRFVCSkVBQURyclFEK04rVitsSkx0YUMzVzZFMXBIUWhyOUkrMEZzZEpcXG41K2RRRmNhY0tQbHMzazBBLzBKcDZXQStCVWNFcnc0YWhrbTRoa2JiamJ1d1JMRzlINFBTSmZvRmdjY0hcXG56ak1FYWU5R1pCWUpLd1lCQkFIYVJ3OEJBUWRBYTN6Nk01c3VlWit5YVdwNmpRNUdDcW81M2s0ZGtHeGdcXG5wajFrQjlYVFl2VEN3RW9FR0JZS0FMd0ZnbW52Um53Q0N3a0prT3F3VkJtRFVCSkVBaFVLQWhZQUFwc0NcXG5BaDRCaGFBRUdCWUtBRFlGZ21udlJud0NDd2tKa0EzNUxpWkM4SEJtQWhVS0FoWUFBcHNDQWg0QkZpRUVcXG4wWGEwVmhLRExpTlFWSWlhRGZrdUprTHdjR1lBQUlPREFRRCtZRWNKZUwwV2k4alk1YmRKWHpFOGxSa0VcXG5vaWthUU1uM3BSNmRQdEw5U3dEL2VYSmFtY01BUzZMNTlkYXdkRDBnd0NabjlHbEtYbWo2RkZYRUpkY2RcXG5PUW9XSVFTeDNYeWJYVE41SE9LTy84THFzRlFaZzFBU1JBQUFpVTRBL2ppMFlPVDhjZVRnRFFuM2E1UDRcXG5SejlGditPVVp4ajloTWM4SzFsQjBOL0ZBUURndjZnWHR6RW5wR09qdGl3UE51dVJ5bm5oOU9lWHpoZ0xcXG5QY1FJT21XNkRBPT1cXG49RkF1Z1xcbi0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG4nLFxuICAgICAgcHJvZDogJy0tLS0tQkVHSU4gUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcblxcbnhqTUVhZTk3SHhZSkt3WUJCQUhhUnc4QkFRZEFrcVkvZ0JTbkhRMGJKdjZZaWs0NzNsWEx1bENXZGhXMlxcbnlFak5xK1lFZjFiTkMwSnBkRWR2SUU1cGRISnZ3b1FFRXhZS0FEWUZnbW52ZXlJQ0N3a0prS3c0eVJTRFxcbkZ1Mm1BaFVLQWhZQUFwc0RBaDRCRmlFRXJvcGpUQmpMdkZzS2RiOEVyRGpKRklNVzdhWUFBQ2pqQVFDN1xcbjVTYzlrakxkU2NIVGJ6c000bDkwaTlseUhGZFRWYnJ1U1l2bVpySFFBQUVBdXNaTVgycXBJSmRPZHRCN1xcbnlpWGVDRU14Qm0xUGNkZmR2RFNHblVydVJRN0NoQVFRRXdnQU5nV0NhZTk3SWdJTENRbVF0Q1B2aGN1R1xcbmZLOENGUW9DRmdBQ213TUNIZ0VXSVFTSDBDSGdhS1daMVRHaHFzKzBJKytGeTRaOHJ3QUFNOVFBL0FwOVxcbjZZam52Q3J2MW5PMFhUL21xVWdTTWlyR3pGNkFJay8vQWZxQzhrS0hBUHNINUk5ZktUejhpOHZXbzZFU1xcbkRTVmlsbklhRXlWNnNjenhaMmRyc0xWME1zNDRCR252ZXg4U0Npc0dBUVFCbDFVQkJRRUJCMER6R1ZGQlxcbjc0YzN5OWxTaFg1REc4b3IxbkpveWpwbWI3K2FaNzEwRU83WVF3TUJDQWZDaFFRWUZnb0FOd1dDYWU5N1xcbklnSUxDUW1RckRqSkZJTVc3YVlDRlFvQ0ZnQURtd1FJQWg0QkZpRUVyb3BqVEJqTHZGc0tkYjhFckRqSlxcbkZJTVc3YVlBQUh0aEFRQ1B3b3pINmVkdmI0RzZKUkxGclg4aTByRXFDamUxeXR5OXNYY3dJNlhRZHdEL1xcblRtMzhGYlUzcUdQb3A0dGVQV0JURVFZRWhFNWFtczlNSVd5dlg1UDBUQTdPTXdScDczc2ZGZ2tyQmdFRVxcbkFkcEhEd0VCQjBBTWZ2TzhJT240WTlURXR4N0lRZXV0UWtnRkthcGEralpsVmNTbUdtOHlCc0xBU2dRWVxcbkZnb0F2QVdDYWU5N0lnSUxDUW1RckRqSkZJTVc3YVlDRlFvQ0ZnQUNtd0lDSGdHRm9BUVlGZ29BTmdXQ1xcbmFlOTdJZ0lMQ1FtUVZvYlhkTDhVTFZRQ0ZRb0NGZ0FDbXdJQ0hnRVdJUVErQXBxak5rcHE0QnZYaUxkV1xcbmh0ZDB2eFF0VkFBQXpMOEEvMlpBU0k3SGhBQVlUbU5YdlRCUlNrZkdsZ1BydXJZOWNYbnd2YVVOM01zc1xcbkFQOWRDcXNhUHg2WFk1ejRHR3BHTUxWSng0Z091OWtwTElvbkhuWlZJNmlkRGhZaEJLNktZMHdZeTd4YlxcbkNuVy9CS3c0eVJTREZ1Mm1BQUNpUEFFQTFsRFZOYmlHMG5aRmJnYXRjRkY1eEtkMHVyRjBmOUNwT2ZwQlxcbnRySUdHYlVCQU9EN0ZrS0xWWFdHRllJQ1lpcE9VenpHenBGaU1OYUpsMXFiQ3BhOW0xa05cXG49UjZyNFxcbi0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG4nLFxuICAgIH0sXG4gICAgb25wcmVtOiB7XG4gICAgICB0ZXN0OiAnLS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tXFxuXFxueGpNRWFkK1FDeFlKS3dZQkJBSGFSdzhCQVFkQUcwRkJNLzFKUnZvN0tsTHZocDFNd2k2SVdtVjNWOXh5XFxuWlpjQnlnMGZEUTNOR0doemJTQThhSE50UUhSbGMzUXVZbWwwWjI4dVkyOXRQc0tFQkJNV0NnQTJCWUpwXFxuMzVBTUFnc0pDWkN1VjZkOXNhbDMxUUlWQ2dJV0FBS2JBd0llQVJZaEJLU2lYY0tvNHhNVDV3d2ZoNjVYXFxucDMyeHFYZlZBQUEyc0FFQWdtazU0M1VldG9Vb09vT3ZFQWhPclJCYkY0aDZWd2NIOWN5UjlVR1N3eWdBXFxuLzJLSkphZGlBdmFlcHFGWnh5RTc3ckZNN1pmcWhSTXNvQWMyTWZzbHZ1UU13b1FFRUJNSUFEWUZnbW5mXFxua0EwQ0N3a0prTjJ2SndPT3VFMDNBaFVLQWhZQUFwc0RBaDRCRmlFRWpNU1F3VFJiVXRHMWZTdlIzYThuXFxuQTQ2NFRUY0FBTk5WQVFEMVJUdS9iSm1QQlJ2V2J2dUlpdVQxV1V4WXNTdW9YV3draTFZSW1OMWdNQUQrXFxuT1BVK3YwNTZoa2RvRDhSY2Q4RCtIaG9ObEpBYlJiWldnL3FqeHIrUzZsTE9PQVJwMzVBTUVnb3JCZ0VFXFxuQVpkVkFRVUJBUWRBZ3F3QTlVaFFHdXNlenRMcjJaTTE4OXBCanJXNnNBSjVtNmljRFlPV01IRURBUWdIXFxud29VRUdCWUtBRGNGZ21uZmtBd0NDd2tKa0s1WHAzMnhxWGZWQWhVS0FoWUFBNXNFQ0FJZUFSWWhCS1NpXFxuWGNLbzR4TVQ1d3dmaDY1WHAzMnhxWGZWQUFDNHV3RUFsa1Z6R0RQSllFVElWNHBYWXBDZGFlR0xCam05XFxueTFzUmIybng5RVQ3bSs0QkFOcGIwdktLQnJLWlRBeC8rcklOZ1dveEtQbktQc3ljT0U4YllIWTN6S0FOXFxuempNRWFkK1FEQllKS3dZQkJBSGFSdzhCQVFkQWFud0tFWTVRRUFQYWZiaE01L0JJSlpSeUxteU5wQlRvXFxudG50VElxMG5PdC9Dd0VvRUdCWUtBTHdGZ21uZmtBMENDd2tKa0s1WHAzMnhxWGZWQWhVS0FoWUFBcHNDXFxuQWg0QmhhQUVHQllLQURZRmdtbmZrQTBDQ3drSmtBdVhBVTZBNktZdkFoVUtBaFlBQXBzQ0FoNEJGaUVFXFxuZWFHdHhaWXNqV0ZGWXJENkM1Y0JUb0RvcGk4QUFFcDNBUUNQNGJDU1liaGpOSmZHbkNDT3EyNERhb3pSXFxuVUZnMGhObHBmU0E5TllaM2J3RC9mZHRWNW01YTFReXZjeUdFbnYzN2wxSDdVR2JRbEcxWnA4cm9xWmgzXFxucXdNV0lRU2tvbDNDcU9NVEUrY01INGV1VjZkOXNhbDMxUUFBTWVnQS9pM3NCdUF3dnJCc3A4b3pwN08yXFxuelFsSWJqdXZEQk1vbUlYajFyUm1nb09rQVFEUnFzUXBBdklUZDBMTUZOMmRDcUNCSUdBZUlxem5GWDBDXFxueXF2VTBtOHNDUT09XFxuPS9SM2tcXG4tLS0tLUVORCBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tXFxuJyxcbiAgICAgIHByb2Q6ICctLS0tLUJFR0lOIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG5cXG54ak1FYWZESFJ4WUpLd1lCQkFIYVJ3OEJBUWRBNHZlbzlodnBoYkgwZ3ErWUZvOEF3ZHRUUjZTUU40dEpcXG5PV2lBKytlQnFNdk5CVUpwZEVkdndvUUVFeFlLQURZRmdtbnd4MVVDQ3drSmtNNFVLSzl6SitLUEFoVUtcXG5BaFlBQXBzREFoNEJGaUVFQjNDeWNlMUdxS0FXYlBkSnpoUW9yM01uNG84QUFLUzJBUURTbzV1YkhIeXhcXG52bEF5UlVnaXl6VnZ1cEs4eDFKbC9mUGY1NENIc1dsSWZnRCtPSWk4dis3M2NVb0hUVzNZeEMzQjlhUE9cXG5xekFFVjU4dzc2ZGdaMnFlVGdqQ2hBUVFFd2dBTmdXQ2FmREhWZ0lMQ1FtUWpjWHBjVW4zYzlnQ0ZRb0NcXG5GZ0FDbXdNQ0hnRVdJUVM0dk4yTzM4MytrdnVGR2RhTnhlbHhTZmR6MkFBQW9WVUEvQTZOSTg5UU11dk9cXG5ndFg2NUJubUhQK0Q4dkJKYndUd2F6REhwUzBINjIvU0FQd0pWYVJYclJOa09UemM2YmNBeGc5N3NGQndcXG5oeEpGemNGcEFZMEJhVDVvZHM0NEJHbnd4MGdTQ2lzR0FRUUJsMVVCQlFFQkIwRFoxOHFwQ2t2NnRpdWFcXG5DQ2Y0Q3Q5WWZhczdFaWxXRzhMUE5ldnVqTmg3RUFNQkNBZkNoUVFZRmdvQU53V0NhZkRIVmdJTENRbVFcXG56aFFvcjNNbjRvOENGUW9DRmdBRG13UUlBaDRCRmlFRUIzQ3ljZTFHcUtBV2JQZEp6aFFvcjNNbjRvOEFcXG5BUEJ4QVFEOU1ZYndaNk54UmFidkYxbEZNT0FvZkFNNE44aHRxeTZUMFpJdGZJdDZLZ0VBOUszc3ljcVRcXG5uV0VGUENrSjFobDZRZUNucDBxakdjYkx4TFJWR1RXd3h3ck9Nd1JwOE1kSUZna3JCZ0VFQWRwSER3RUJcXG5CMERZTUdSbGJrVEVyZExxZWVyb3hHZ2hrWXBvVE5QSG1nYjViYXJ4Zm51Mm9NTEFTZ1FZRmdvQXZBV0NcXG5hZkRIVmdJTENRbVF6aFFvcjNNbjRvOENGUW9DRmdBQ213SUNIZ0dGb0FRWUZnb0FOZ1dDYWZESFZnSUxcXG5DUW1RVTNvMkkwbzdVMllDRlFvQ0ZnQUNtd0lDSGdFV0lRUlJFZkg3RGdOanlZSk0xYzlUZWpZalNqdFRcXG5aZ0FBYTRBQkFJUGNGZDBQekhRSVFpTVcvbXZrNTd2UWVPVFNKbW5ZKy9hWFo1OGJhM3lrQVA0b0M1TXZcXG5SbFRqVUFtUWRkNjdGWC9LbW00OWF5S0tFeHJiVXhNQ0hvcEdEQlloQkFkd3NuSHRScWlnRm16M1NjNFVcXG5LSzl6SitLUEFBQ2V0QUVBMEtwR01BVHhGWnRvM3ppbm1QYUhKQW1jMzNSU2htOW1RSjdYa044ZUlQTUJcXG5BTUs5SjBxZFc5alI3aU9tSnZMbVVMcVVFQVlXSEFLSjFFeTlQV0RTbVV3TVxcbj1SRXYrXFxuLS0tLS1FTkQgUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcbicsXG4gICAgfSxcbiAgfSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRCaXRnb01wY0dwZ1B1YktleShcbiAgZW52OiBFbnZpcm9ubWVudE5hbWUsXG4gIHB1YktleVR5cGU6ICduaXRybycgfCAnb25wcmVtJyxcbiAgbXBjVmVyc2lvbjogJ21wY3YxJyB8ICdtcGN2MicgfCAnZWRkc2FNcGN2Midcbik6IHN0cmluZyB7XG4gIGFzc2VydChcbiAgICBtcGNWZXJzaW9uIGluIGJpdGdvTXBjR3BnUHViS2V5cyxcbiAgICBgSW52YWxpZCBtcGNWZXJzaW9uIGluIGdldEJpdGdvTXBjR3BnUHViS2V5LCBnb3Q6ICR7bXBjVmVyc2lvbn0sIGV4cGVjdGVkOiBtcGN2MSwgbXBjdjIsIG9yIGVkZHNhTXBjdjJgXG4gICk7XG4gIGFzc2VydChcbiAgICBwdWJLZXlUeXBlIGluIGJpdGdvTXBjR3BnUHViS2V5c1ttcGNWZXJzaW9uXSxcbiAgICBgSW52YWxpZCBwdWJLZXlUeXBlIGluIGdldEJpdGdvTXBjR3BnUHViS2V5LCBnb3Q6ICR7cHViS2V5VHlwZX0sIGV4cGVjdGVkOiBuaXRybyBvciBvbnByZW1gXG4gICk7XG4gIGlmIChlbnYgIT09ICdwcm9kJyAmJiBlbnYgIT09ICd0ZXN0JyAmJiBlbnYgIT09ICdzdGFnaW5nJyAmJiBlbnYgIT09ICdhZG1pblByb2QnICYmIGVudiAhPT0gJ2FkbWluVGVzdCcpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgZW52aXJvbm1lbnQgdG8gZ2V0IGEgQml0R28gTVBDIEdQRyBwdWJsaWMga2V5Jyk7XG4gIH1cbiAgaWYgKGVudiAhPT0gJ3Byb2QnICYmIGVudiAhPT0gJ2FkbWluUHJvZCcpIHtcbiAgICAvLyBkZWZhdWx0IHRvIHRlc3QgZ3BnIGtleXMgaWYgbm90IGluIHByb2RcbiAgICBlbnYgPSAndGVzdCc7XG4gIH1cbiAgaWYgKGVudiA9PT0gJ2FkbWluUHJvZCcpIHtcbiAgICBlbnYgPSAncHJvZCc7XG4gIH1cbiAgaWYgKHB1YktleVR5cGUgIT09ICduaXRybycpIHtcbiAgICAvLyBUaGlzIHdpbGwgYmUgdGhlIGRlZmF1bHQga2V5IHR5cGVcbiAgICBwdWJLZXlUeXBlID0gJ29ucHJlbSc7XG4gIH1cbiAgcmV0dXJuIGJpdGdvTXBjR3BnUHViS2V5c1ttcGNWZXJzaW9uXVtwdWJLZXlUeXBlXVtlbnZdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNCaXRnb01wY1B1YktleShrZXk6IHN0cmluZywgbXBjdlZlcnNpb246ICdtcGN2MScgfCAnbXBjdjInKTogYm9vbGVhbiB7XG4gIHJldHVybiBPYmplY3QudmFsdWVzKGJpdGdvTXBjR3BnUHViS2V5c1ttcGN2VmVyc2lvbl0pLnNvbWUoKGVudktleXMpID0+IE9iamVjdC52YWx1ZXMoZW52S2V5cykuaW5jbHVkZXMoa2V5KSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0JpdGdvRWRkc2FNcGN2MlB1YktleShrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gT2JqZWN0LnZhbHVlcyhiaXRnb01wY0dwZ1B1YktleXMuZWRkc2FNcGN2Mikuc29tZSgoZW52S2V5cykgPT4gT2JqZWN0LnZhbHVlcyhlbnZLZXlzKS5pbmNsdWRlcyhrZXkpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVudlJlcXVpcmVzQml0Z29QdWJHcGdLZXlDb25maWcoZW52OiBFbnZpcm9ubWVudE5hbWUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGVudiA9PT0gJ3Byb2QnIHx8IGVudiA9PT0gJ3Rlc3QnIHx8IGVudiA9PT0gJ3N0YWdpbmcnIHx8IGVudiA9PT0gJ2FkbWluUHJvZCcgfHwgZW52ID09PSAnYWRtaW5UZXN0Jztcbn1cbiJdfQ==
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0Z29QdWJLZXlzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3Rzcy9iaXRnb1B1YktleXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBb0RBLG9EQTRCQztBQUVELDRDQUVDO0FBRUQsMERBRUM7QUFFRCxrRUFFQztBQUVELDBFQUVDO0FBaEdELG9EQUE0QjtBQUdmLFFBQUEsa0JBQWtCLEdBQUc7SUFDaEMsS0FBSyxFQUFFO1FBQ0wsS0FBSyxFQUFFO1lBQ0wsSUFBSSxFQUFFLG0yQkFBbTJCO1lBQ3oyQixJQUFJLEVBQUUsbTFCQUFtMUI7U0FDMTFCO1FBQ0QsTUFBTSxFQUFFO1lBQ04sSUFBSSxFQUFFLG0yQkFBbTJCO1lBQ3oyQixJQUFJLEVBQUUscXFCQUFxcUI7U0FDNXFCO0tBQ0Y7SUFDRCxLQUFLLEVBQUU7UUFDTCxLQUFLLEVBQUU7WUFDTCxJQUFJLEVBQUUsMjJDQUEyMkM7WUFDajNDLElBQUksRUFBRSwyMUNBQTIxQztTQUNsMkM7UUFDRCxNQUFNLEVBQUU7WUFDTixJQUFJLEVBQUUsMjJDQUEyMkM7WUFDajNDLElBQUksRUFBRSxtMUNBQW0xQztTQUMxMUM7S0FDRjtJQUNELFVBQVUsRUFBRTtRQUNWLEtBQUssRUFBRTtZQUNMLElBQUksRUFBRSw2dkNBQTZ2QztZQUNud0MsSUFBSSxFQUFFLHV1Q0FBdXVDO1NBQzl1QztRQUNELE1BQU0sRUFBRTtZQUNOLElBQUksRUFBRSw2dkNBQTZ2QztZQUNud0MsSUFBSSxFQUFFLCt0Q0FBK3RDO1NBQ3R1QztLQUNGO0lBQ0QsNkZBQTZGO0lBQzdGLDJGQUEyRjtJQUMzRiw2RkFBNkY7SUFDN0Ysd0ZBQXdGO0lBQ3hGLDZGQUE2RjtJQUM3RiwwRkFBMEY7SUFDMUYsY0FBYyxFQUFFO1FBQ2QsS0FBSyxFQUFFO1lBQ0wsSUFBSSxFQUFFLDZ2Q0FBNnZDO1lBQ253QyxJQUFJLEVBQUUsdXVDQUF1dUM7U0FDOXVDO1FBQ0QsTUFBTSxFQUFFO1lBQ04sSUFBSSxFQUFFLDZ2Q0FBNnZDO1lBQ253QyxJQUFJLEVBQUUsK3RDQUErdEM7U0FDdHVDO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsU0FBZ0Isb0JBQW9CLENBQ2xDLEdBQW9CLEVBQ3BCLFVBQThCLEVBQzlCLFVBQStEO0lBRS9ELElBQUEsZ0JBQU0sRUFDSixVQUFVLElBQUksMEJBQWtCLEVBQ2hDLG9EQUFvRCxVQUFVLHlEQUF5RCxDQUN4SCxDQUFDO0lBQ0YsSUFBQSxnQkFBTSxFQUNKLFVBQVUsSUFBSSwwQkFBa0IsQ0FBQyxVQUFVLENBQUMsRUFDNUMsb0RBQW9ELFVBQVUsNkJBQTZCLENBQzVGLENBQUM7SUFDRixJQUFJLEdBQUcsS0FBSyxNQUFNLElBQUksR0FBRyxLQUFLLE1BQU0sSUFBSSxHQUFHLEtBQUssU0FBUyxJQUFJLEdBQUcsS0FBSyxXQUFXLElBQUksR0FBRyxLQUFLLFdBQVcsRUFBRSxDQUFDO1FBQ3hHLE1BQU0sSUFBSSxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBQ0QsSUFBSSxHQUFHLEtBQUssTUFBTSxJQUFJLEdBQUcsS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUMxQywwQ0FBMEM7UUFDMUMsR0FBRyxHQUFHLE1BQU0sQ0FBQztJQUNmLENBQUM7SUFDRCxJQUFJLEdBQUcsS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUN4QixHQUFHLEdBQUcsTUFBTSxDQUFDO0lBQ2YsQ0FBQztJQUNELElBQUksVUFBVSxLQUFLLE9BQU8sRUFBRSxDQUFDO1FBQzNCLG9DQUFvQztRQUNwQyxVQUFVLEdBQUcsUUFBUSxDQUFDO0lBQ3hCLENBQUM7SUFDRCxPQUFPLDBCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3pELENBQUM7QUFFRCxTQUFnQixnQkFBZ0IsQ0FBQyxHQUFXLEVBQUUsV0FBOEI7SUFDMUUsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLDBCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ2hILENBQUM7QUFFRCxTQUFnQix1QkFBdUIsQ0FBQyxHQUFXO0lBQ2pELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQywwQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDOUcsQ0FBQztBQUVELFNBQWdCLDJCQUEyQixDQUFDLEdBQVc7SUFDckQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLDBCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNsSCxDQUFDO0FBRUQsU0FBZ0IsK0JBQStCLENBQUMsR0FBb0I7SUFDbEUsT0FBTyxHQUFHLEtBQUssTUFBTSxJQUFJLEdBQUcsS0FBSyxNQUFNLElBQUksR0FBRyxLQUFLLFNBQVMsSUFBSSxHQUFHLEtBQUssV0FBVyxJQUFJLEdBQUcsS0FBSyxXQUFXLENBQUM7QUFDN0csQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCB7IEVudmlyb25tZW50TmFtZSB9IGZyb20gJy4uL2Vudmlyb25tZW50cyc7XG5cbmV4cG9ydCBjb25zdCBiaXRnb01wY0dwZ1B1YktleXMgPSB7XG4gIG1wY3YxOiB7XG4gICAgbml0cm86IHtcbiAgICAgIHRlc3Q6ICctLS0tLUJFR0lOIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG5cXG54azhFWXFFVTVoTUZLNEVFQUFvQ0F3UURkYkFJWnJzYmxFWElhdnlnMmdvNnA5b0cwU3FXVGdGc2RIVGNcXG5CaHFkSVMvV2pROHBqNzVxK3ZMcUZ0VjlobEltWUdJbnNJV2g5N2ZzaWd6QjJvd3l6UmhvYzIwZ1BHaHpcXG5iVUIwWlhOMExtSnBkR2R2TG1OdmJUN0NoQVFURXdnQUZRVUNZcUVVNXdJTENRSVZDQUlXQUFJYkF3SWVcXG5BUUFoQ1JDSk5Sc0lER3VuZXhZaEJIUkw1RC84blJNM29wUW5Yb2sxR3dnTWE2ZDd0ZzhBLzI0QTlhd3FcXG5TQ0p4N1JkZGlVekZIY0toVnZ2bzNSNU43YkhhT0dQM1RQNzlBUDBUYXZGMld6aFVYbVpTanQzSUsyM09cXG43L2FrbmJpalZlcTUyZ2hiV2IxU3dzSjFCQkFUQ0FBR0JRSmlvUlRuQUNFSkVBV3VBMzVLSmd0Z0ZpRUVcXG5adHRMUFIwS2NZdmpndkpDQmE0RGZrb21DMkJzcndEL1orNDN6T3crV3BmUEh4ZSt5cHlWb2c1Zm5PS2xcXG5Yd2xlSDZ6RHZxVVdtV2tBL2lhSEM2dWxsWWtTRzRNdjY4azZxYnRnUi9wbXMvWDdya2ZhMFFRRkp5NXBcXG56bE1FWXFFVTVoSUZLNEVFQUFvQ0F3U3NMcW1mb25qTUYzbzBuWjVKSHZMcG1mVEExUklWRHNBRW9ST05cXG50WkE2ckFBMjNwR2w2czNJeXQ0L2ZYOUFkem9oM0VFbE9qTXNnaThBajNkRnB1cWlBd0VJQjhKNEJCZ1RcXG5DQUFKQlFKaW9SVG5BaHNNQUNFSkVJazFHd2dNYTZkN0ZpRUVkRXZrUC95ZEV6ZWlsQ2RlaVRVYkNBeHJcXG5wM3ZNN0FEOUdQcDZIaFlORWgyVlZDRHRGU3QxNEJuaTVGVk01aWNwVkRvNnc5aWJ2V0FBLzJUaTNKdjRcXG5JaEl4bDgxL3dxQWdxaWdJYmxyejZ2anRhZ3I5L3lrWFFDVzNcXG49c2tDb1xcbi0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG4nLFxuICAgICAgcHJvZDogJy0tLS0tQkVHSU4gUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcblxcbnhrOEVZNG02WkJNRks0RUVBQW9DQXdSU1R3ZFhnaVkrRUJOajJKZ056aXNVeWdjVkdWeHAxRnYrcFQ2NFxcblRzSjY0eTlGcjVoOWxqcU1Jc21NME1XbjloY3pwbWRBRUhwa1NnMjY0d0FQTmNJV3pRdENhWFJIYnlCT1xcbmFYUnliOEtFQkJNVENBQTJCUUpqaWJwbUFnc0pDUkRIZ3ZyV3F4NjVId0lWQ0FJV0FBSWJBd0llQVJZaFxcbkJMZ256STlDbjZVYW1ObEoyTWVDK3Rhckhya2ZBQUJFd2dEL1cwK0xYcEhFTXRTblNoZjdyU2c3dFFmR1xcbjFCYjZiZTJZMXV0ZCthdWovRWNBL2pHSk84TXRlanhjVkdCcEgvWnJPREwrRDB5Uy9JMllEM252ZUx0RFxcbkQ1ejN3blVFRUJNSUFDY0ZBbU9KdW1rSkVIdVMxdm9BZDVmSkZpRUUxWHhiZmJicjV6TEdxTko3ZTVMV1xcbitnQjNsOGtBQVB0bUFQMFdablcvY2dHQ1d6RzFOWWJBVTFzSlV3WWRzcE0xV0RMQnlqbW81SmtDclFEK1xcbk9LLzZVOHp2bVFFY29PcTBZWEFyaGIreVdRRERIREVrTHhScHRCK0tPOG5PVXdSamlicGtFZ1VyZ1FRQVxcbkNnSURCT1V2bi9vTktabmpFTXRuQWJCNmhvb3M4dkRmOG1xeUlidEdSakRpbDFUM3QxOXEyS2U2eEZGb1xcbkorVTJ3NGd0RnhqREVSOGlnYXMramE0UDN1N0VGbE1EQVFnSHduZ0VHQk1JQUNvRkFtT0p1bWdKRU1lQ1xcbit0YXJIcmtmQWhzTUZpRUV1Q2ZNajBLZnBScVkyVW5ZeDRMNjFxc2V1UjhBQU5IUEFQOTZsdndHVDNBMFxcbk5OejFXQXIrU24xM21SM2s4YXJmZXFjdloxRkNtaW9Nb2dEOUd6SklhSmxiQWJkc1JCNFFuTGtSY0tKT1xcbm5NSDEzUEtxOXFNNnRnNFVRRk09XFxuPVNEMGhcXG4tLS0tLUVORCBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tXFxuJyxcbiAgICB9LFxuICAgIG9ucHJlbToge1xuICAgICAgdGVzdDogJy0tLS0tQkVHSU4gUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcblxcbnhrOEVZcUVVNWhNRks0RUVBQW9DQXdRRGRiQUlacnNibEVYSWF2eWcyZ282cDlvRzBTcVdUZ0ZzZEhUY1xcbkJocWRJUy9XalE4cGo3NXErdkxxRnRWOWhsSW1ZR0luc0lXaDk3ZnNpZ3pCMm93eXpSaG9jMjBnUEdoelxcbmJVQjBaWE4wTG1KcGRHZHZMbU52YlQ3Q2hBUVRFd2dBRlFVQ1lxRVU1d0lMQ1FJVkNBSVdBQUliQXdJZVxcbkFRQWhDUkNKTlJzSURHdW5leFloQkhSTDVELzhuUk0zb3BRblhvazFHd2dNYTZkN3RnOEEvMjRBOWF3cVxcblNDSng3UmRkaVV6RkhjS2hWdnZvM1I1TjdiSGFPR1AzVFA3OUFQMFRhdkYyV3poVVhtWlNqdDNJSzIzT1xcbjcvYWtuYmlqVmVxNTJnaGJXYjFTd3NKMUJCQVRDQUFHQlFKaW9SVG5BQ0VKRUFXdUEzNUtKZ3RnRmlFRVxcblp0dExQUjBLY1l2amd2SkNCYTREZmtvbUMyQnNyd0QvWis0M3pPdytXcGZQSHhlK3lweVZvZzVmbk9LbFxcblh3bGVINnpEdnFVV21Xa0EvaWFIQzZ1bGxZa1NHNE12NjhrNnFidGdSL3Btcy9YN3JrZmEwUVFGSnk1cFxcbnpsTUVZcUVVNWhJRks0RUVBQW9DQXdTc0xxbWZvbmpNRjNvMG5aNUpIdkxwbWZUQTFSSVZEc0FFb1JPTlxcbnRaQTZyQUEyM3BHbDZzM0l5dDQvZlg5QWR6b2gzRUVsT2pNc2dpOEFqM2RGcHVxaUF3RUlCOEo0QkJnVFxcbkNBQUpCUUppb1JUbkFoc01BQ0VKRUlrMUd3Z01hNmQ3RmlFRWRFdmtQL3lkRXplaWxDZGVpVFViQ0F4clxcbnAzdk03QUQ5R1BwNkhoWU5FaDJWVkNEdEZTdDE0Qm5pNUZWTTVpY3BWRG82dzlpYnZXQUEvMlRpM0p2NFxcbkloSXhsODEvd3FBZ3FpZ0libHJ6NnZqdGFncjkveWtYUUNXM1xcbj1za0NvXFxuLS0tLS1FTkQgUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcbicsXG4gICAgICBwcm9kOiAnLS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tXFxuXFxueGs4RVlxS0tRUk1GSzRFRUFBb0NBd1JPV0piSDNVQ1BkWlRQRUpYcFBaY2t0d3RESndpbDRRSGxYWkVMXFxuY1ViRkVUYm9xL2NZMjJ3K3VHMElsUnlwZGJvNitzRHVhZWczZGZqYTJpb3E2VHRKelFWQ2FYUkhiOEtFXFxuQkJNVENBQVZCUUppb29wREFnc0pBaFVJQWhZQUFoc0RBaDRCQUNFSkVGWE9NalphdDV2TUZpRUVGWVMvXFxuWHZkaHQ4aU10bXlQVmM0eU5scTNtOHltMUFEK1A5Y2xFM2tqNzY0WW1ySERPY1JQbC8rdFgyQ29VRDByXFxuYmRTWXlKeWZDd0FBL0FzMEYwVUZiUHpseFBTYVpoVi9qUXhCK1BzRjRMVml3RGRoNFY0cFV0bjl6bE1FXFxuWXFLS1FSSUZLNEVFQUFvQ0F3UWg1d0JyT2t0cUplNEc1c2JTT2R5dzFybjEvMUV2a080aGo4UjRDM1VBXFxuSzdBcHo1OTlYYmk2anQzcEQycmhkdUwxRm5TNXpoemlZU0Jra28vQjJJdzhBd0VJQjhKNEJCZ1RDQUFKXFxuQlFKaW9vcEVBaHNNQUNFSkVGWE9NalphdDV2TUZpRUVGWVMvWHZkaHQ4aU10bXlQVmM0eU5scTNtOHltXFxuVndEOER3S2RkZlpHK1ZnUXRYcnpoNTIzUndrMGpsK0V3ZGNWMmg2QWlLb1YvM0FBL2pWK3lTMytLVEhrXFxuNlE4OVRHUjJRZnRwY2t3Y1VUS09OOXB1R2U5K3VsYW5cXG49T3FadVxcbi0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG4nLFxuICAgIH0sXG4gIH0sXG4gIG1wY3YyOiB7XG4gICAgbml0cm86IHtcbiAgICAgIHRlc3Q6ICctLS0tLUJFR0lOIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG5cXG54azhFWmlGM0NCTUZLNEVFQUFvQ0F3UVdEN1BhNzUyZkFsNHowUHhmV1ZDMDVkODl2Zm84MFB5VVEzRXJcXG5MWGxoR0xraWsrTmtBbC9EQmQ4ZGlON2k0a1R2Um9JbzB4ckhVK2xaZ2RndCtjdDV6UmhvYzIwZ1BHaHpcXG5iVUIwWlhOMExtSnBkR2R2TG1OdmJUN0NoQVFURXdnQU5nVUNaaUYzQ0FJTENRa1E1eWN1ZXpiYlZPa0NcXG5GUWdDRmdBQ0d3TUNIZ0VXSVFSUHI2R05pRTd0UnYwcDRhZm5KeTU3TnR0VTZRQUFiQVlBK3dSdlNMT2FcXG5lMGlSRU94MDBIaFlXUDAzMEdoTjk4QmNadGVoVDlpVFpNVjhBUDk3T3RrcnRxNmpieTJmN1BkRVY3dXZcXG5kNGFpa1RhNUJnbnBLdmw4eXFMNGNjS0VCQkFUQ0FBMkJRSm1JWGNLQWdzSkNSQ1pSQmZjaDVNVWN3SVZcXG5DQUlXQUFJYkF3SWVBUlloQkFtWEJTMFRZRXZtQy8zTDlKbEVGOXlIa3hSekFBQkoxd0QrS3lJMWo5bnVcXG5ZV3ZEeHdEQitKQkdNdDdtaWM3N2FqQk9nYUNhYkVaMGoxTUEvMlJDT2lWMmNPTDN4MUFPem9zcW9mc2hcXG5pQTFzOUJwUzE0eEF3cktKUHdZK3psTUVaaUYzQ0JJRks0RUVBQW9DQXdTZ0xzNjBrTHpoSEQzbzFzRGdcXG4wZlEvUUh3NmhncTlQUTVMdmlsVXZ1SUdZRFI3OXNQd3JNdXd5N3dVY09RZ0p2d0lPSkhvbW1EcTVuaitcXG5LZmdBdEU2dUF3RUlCOEtFQkJnVENBQTJCUUptSVhjSkFnc0pDUkRuSnk1N050dFU2UUlWQ0FJV0FBSWJcXG5EQUllQVJZaEJFK3ZvWTJJVHUxRy9TbmhwK2NuTG5zMjIxVHBBQURXbVFEL2JWOXNCa3d5WWZZZkpZVFNcXG5xdlRtdWJDZXNRRFk1UmFudjl3WXZ2N1JpTFFBL2l3WDZaSHdkYnZRRlZ1aTBHcnZWMmlGYUNIdXQxcG5cXG5GNFlDRHFwVUtpZHd6azhFWmlGM0NCTUZLNEVFQUFvQ0F3VGZtL0haeHd2dWJQL3JyMktPVTg4bWtETDlcXG5qY1dqZlF4MXVGWjltbElnTUJWMysrT2d0a1ZFMGVFZStsTldwd2drc0dPR3JCV2VRM0swWFJGMFlsVXBcXG53c0JLQkJnVENBQzhCUUptSVhjSkFnc0pDUkRuSnk1N050dFU2UUlWQ0FJV0FBSWJBZ0llQVlVZ0JCZ1RcXG5DQUEyQlFKbUlYY0pBZ3NKQ1JCckVNVHEyb09ZaGdJVkNBSVdBQUliQWdJZUFSWWhCTEZnMXpJY3dBbWNcXG5SaEdkT21zUXhPcmFnNWlHQUFBeG9BRC9ZTlBoTW1mM2w0UWg3ZnBya21Pam9VMEN2RmlpUCtrY3hUcjlcXG5tOWx1VmhVQS9SdmhJQjRzcXJBY1NEN1pHVklRY0VJMTRyZEFGZW9rNEhpZ3oyY0dmOVI2RmlFRVQ2K2hcXG5qWWhPN1ViOUtlR241eWN1ZXpiYlZPa0FBUG5hQVAwZFlweWE3RXp2TjVRNlJwSXpxTEZOOWl6eUd0NFFcXG42a2Vac3ZuVmJXOXFKQUQ5Rmo3dEFBTVViYnN0ei9LeDlSWThxb0lPRlR1U3dhZURYbkpNckk5djg0dz1cXG49dXpWQlxcbi0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG4nLFxuICAgICAgcHJvZDogJy0tLS0tQkVHSU4gUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcblxcbnhrOEVhZkgzTHhNRks0RUVBQW9DQXdTVkxEdzhYVkNwV1NWR0ZMeHpNRVc1Nm16UmJtWm1pTFdqSWw5cVxcbk9obUcvaTBua1NDbXhub3dCbXFIbmdkY1lxRThrQ2FpM2djc0FrUlR5Z0VRclhSdnpRdENhWFJIYnlCT1xcbmFYUnliOEtFQkJNVENBQTJCWUpwOGZjdkFnc0pDWkNWY1JiVndJdHBzd0lWQ0FJV0FBS2JBd0llQVJZaFxcbkJEQlhGY0VPWFlVUjVHTW91WlZ4RnRYQWkybXpBQUNRZUFEL2F2cWhhR3QzdzFLTDJmVzFCWWR5YzQ3U1xcbmhjWThZbnBkWCtPLzMwSk9ZUkVBL0F2YWZrK3BUWG9TZHAwY1dHSHg1YkJkY1BSRVlNbm9CWU45dVhiOFxcbm5jMWF3b1FFRUJNSUFEWUZnbW54OXk4Q0N3a0prREFUcHQzeWh3MnpBaFVJQWhZQUFwc0RBaDRCRmlFRVxcbmNVME14N3hvUXRyMUo4MU1NQk9tM2ZLSERiTUFBTGJuQVFEbjVXWVFQcEVndGd5K3N6M0ExOEV2VEFHVVxcblRna3dzSVFFQmFYRGdSZ3lCZ0QvWDFDelowTTBTNVh0RTk4dS85cGV4UTV6d0Y5RzVGZEw3dU41N29pbFxcblJPak9Vd1JwOGZjdkVnVXJnUVFBQ2dJREJPV3p1YlEzL2hIQVR4NjFOSzk5NHpBSTN4Zk8zR1lob0FPQVxcbnhQZkY0TElsQ2x2R3pjR1A3dGNGbkMxdnRHUFp6bjRvTXg1eDdsVHVDK2tSamdkN242b0RBUWdId29VRVxcbkdCTUlBRGNGZ21ueDl5OENDd2tKa0pWeEZ0WEFpMm16QWhVS0FoWUFBNXNFQ0FJZUFSWWhCREJYRmNFT1xcblhZVVI1R01vdVpWeEZ0WEFpMm16QUFBdVpRRC9lQXNDWFJaWTVnSkVBdnhRcStGdmU5QnF0ZTk5UkNDcFxcbm84OWhmOUowTkEwQS9SdGZpdVhqbnlTaGRwRXNPaXpQN082MG00Q09kbVV2Yk9yNkhicWpVcEpPems4RVxcbmFmSDNMeE1GSzRFRUFBb0NBd1F1SEN4bnFyOFg2dys3ZmhsYjlxSm8vMTl5eEcyL3F3dXhnR2pvK2w1MVxcblVyQkNrWkIvenlacXlqd1lYaVFTZXA3TXl5MVFFRklnV0JWQTZIa2ovOWpQd3NCS0JCZ1RDQUM4QllKcFxcbjhmY3ZBZ3NKQ1pDVmNSYlZ3SXRwc3dJVkNBSVdBQUtiQWdJZUFZV2dCQmdUQ0FBMkJZSnA4ZmN2QWdzSlxcbkNaQmJGdGttckhEZVNRSVZDQUlXQUFLYkFnSWVBUlloQkF6R1dvVWU5ZlBsZEN3TGRGc1cyU2FzY041SlxcbkFBQXFaZ0QrTnJ3ZmtvSXkrT1N5dlA5OWMzZDVrMGM3SDZnS3drREdUZHRsWE9tY0JERUEvM1dCUjhWc1xcblk4cElhSGtDSkZySEJSeTEyUWFMTFZUbU54SjUxaEl5MlJINEZpRUVNRmNWd1E1ZGhSSGtZeWk1bFhFV1xcbjFjQ0xhYk1BQVBCSEFQNHBNa1JXSVFBRGVTUHJhOEY5dWxmU2owckF2ejFSMGtPeFp0dFoyQlhibGdEL1xcbmN0Wk9MZW1qb3ErakFnTHMvamxVeW04MmcwRktDZ2tpTDZlR3dyaFRINFU9XFxuPUwrS2pcXG4tLS0tLUVORCBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tXFxuJyxcbiAgICB9LFxuICAgIG9ucHJlbToge1xuICAgICAgdGVzdDogJy0tLS0tQkVHSU4gUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcblxcbnhrOEVaaUYzQ0JNRks0RUVBQW9DQXdRV0Q3UGE3NTJmQWw0ejBQeGZXVkMwNWQ4OXZmbzgwUHlVUTNFclxcbkxYbGhHTGtpaytOa0FsL0RCZDhkaU43aTRrVHZSb0lvMHhySFUrbFpnZGd0K2N0NXpSaG9jMjBnUEdoelxcbmJVQjBaWE4wTG1KcGRHZHZMbU52YlQ3Q2hBUVRFd2dBTmdVQ1ppRjNDQUlMQ1FrUTV5Y3VlemJiVk9rQ1xcbkZRZ0NGZ0FDR3dNQ0hnRVdJUVJQcjZHTmlFN3RSdjBwNGFmbkp5NTdOdHRVNlFBQWJBWUErd1J2U0xPYVxcbmUwaVJFT3gwMEhoWVdQMDMwR2hOOThCY1p0ZWhUOWlUWk1WOEFQOTdPdGtydHE2amJ5MmY3UGRFVjd1dlxcbmQ0YWlrVGE1QmducEt2bDh5cUw0Y2NLRUJCQVRDQUEyQlFKbUlYY0tBZ3NKQ1JDWlJCZmNoNU1VY3dJVlxcbkNBSVdBQUliQXdJZUFSWWhCQW1YQlMwVFlFdm1DLzNMOUpsRUY5eUhreFJ6QUFCSjF3RCtLeUkxajludVxcbllXdkR4d0RCK0pCR010N21pYzc3YWpCT2dhQ2FiRVowajFNQS8yUkNPaVYyY09MM3gxQU96b3Nxb2ZzaFxcbmlBMXM5QnBTMTR4QXdyS0pQd1kremxNRVppRjNDQklGSzRFRUFBb0NBd1NnTHM2MGtMemhIRDNvMXNEZ1xcbjBmUS9RSHc2aGdxOVBRNUx2aWxVdnVJR1lEUjc5c1B3ck11d3k3d1VjT1FnSnZ3SU9KSG9tbURxNW5qK1xcbktmZ0F0RTZ1QXdFSUI4S0VCQmdUQ0FBMkJRSm1JWGNKQWdzSkNSRG5KeTU3TnR0VTZRSVZDQUlXQUFJYlxcbkRBSWVBUlloQkUrdm9ZMklUdTFHL1NuaHArY25MbnMyMjFUcEFBRFdtUUQvYlY5c0Jrd3lZZllmSllUU1xcbnF2VG11YkNlc1FEWTVSYW52OXdZdnY3UmlMUUEvaXdYNlpId2RidlFGVnVpMEdydlYyaUZhQ0h1dDFwblxcbkY0WUNEcXBVS2lkd3prOEVaaUYzQ0JNRks0RUVBQW9DQXdUZm0vSFp4d3Z1YlAvcnIyS09VODhta0RMOVxcbmpjV2pmUXgxdUZaOW1sSWdNQlYzKytPZ3RrVkUwZUVlK2xOV3B3Z2tzR09HckJXZVEzSzBYUkYwWWxVcFxcbndzQktCQmdUQ0FDOEJRSm1JWGNKQWdzSkNSRG5KeTU3TnR0VTZRSVZDQUlXQUFJYkFnSWVBWVVnQkJnVFxcbkNBQTJCUUptSVhjSkFnc0pDUkJyRU1UcTJvT1loZ0lWQ0FJV0FBSWJBZ0llQVJZaEJMRmcxekljd0FtY1xcblJoR2RPbXNReE9yYWc1aUdBQUF4b0FEL1lOUGhNbWYzbDRRaDdmcHJrbU9qb1UwQ3ZGaWlQK2tjeFRyOVxcbm05bHVWaFVBL1J2aElCNHNxckFjU0Q3WkdWSVFjRUkxNHJkQUZlb2s0SGlnejJjR2Y5UjZGaUVFVDYraFxcbmpZaE83VWI5S2VHbjV5Y3VlemJiVk9rQUFQbmFBUDBkWXB5YTdFenZONVE2UnBJenFMRk45aXp5R3Q0UVxcbjZrZVpzdm5WYlc5cUpBRDlGajd0QUFNVWJic3R6L0t4OVJZOHFvSU9GVHVTd2FlRFhuSk1ySTl2ODR3PVxcbj11elZCXFxuLS0tLS1FTkQgUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcbicsXG4gICAgICBwcm9kOiAnLS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tXFxuXFxueGs4RVptSHlLQk1GSzRFRUFBb0NBd1MrdEJZLzJQNDdHMG1nWVJocTkwaks0NzVmMDJmM2YzVzRWYktBXFxuU3dkOXM2YUk1c3BrN0dlWXNqUnZQNnJCZjR2RklqTGo3VHk3SzJWMDNyWlBRYzhielFWQ2FYUkhiOEtFXFxuQkJNVENBQTJCUUptWWZJcEFnc0pDUkFLTUI0QVRBNVY3UUlWQ0FJV0FBSWJBd0llQVJZaEJBSWRmbExCXFxuSzRkZUhvaytnUW93SGdCTURsWHRBQUNScEFEL1VVYlRzRkVranQrQ0NKbVZxMnY1bDZvb2NSOWhYWGtUXFxuemhSUUtRSXdTaWdBL1JWdlMyUnNvWkxrYUw2OEdVSEx5NjNYVkh0RzE0OXBOM0JZUHdiNjNFY1F3b1FFXFxuRUJNSUFEWUZBbVpoOGlvQ0N3a0pFRmxoMkRMTTZJVk5BaFVJQWhZQUFoc0RBaDRCRmlFRXNiOWYxVkEwXFxuOXJPTGdGTStXV0hZTXN6b2hVMEFBRkM4QVA0d0gwbmRtekNTZzJPL2ErWmZxVzJ5QTQ2NUJGdkRNMWlqXFxudk10Q0pZU3h6QUQvUmpjZkRma040SXBqYWEyTFJ1SHhmSFpidmdDZ29PQ2hzSkx2NEtRTFRhZk9Vd1JtXFxuWWZJb0VnVXJnUVFBQ2dJREJNK1cwMUtFVWFBbThhM2hNQldHOUVTaHlOclp4YnR2OXJ5ZDhKSUl4ZUViXFxuRWNrTFRWUXZJZXIzWXZEVXlqZVkvdjgzVkNSZG02SDVjYWhWOTJzeWRySURBUWdId29RRUdCTUlBRFlGXFxuQW1aaDhpa0NDd2tKRUFvd0hnQk1EbFh0QWhVSUFoWUFBaHNNQWg0QkZpRUVBaDErVXNFcmgxNGVpVDZCXFxuQ2pBZUFFd09WZTBBQUVjU0FQOUg5NnQvejl1S2U5bEFvcTJkOUR0M0hycTllTTZzTFEyK2NWYmxuZ1ArXFxuRFFEL2RDcUhZUXpEZHN1YzlZM0htV2JoQ0sxVW02ZXdwcGtjdDF2NWxtYmFKMWJPVHdSbVlmSW9Fd1VyXFxuZ1FRQUNnSURCSkRJb2ZXT0xqL0prQkZrWkRoM2ErK0xORUg4VEJObERadlU3dE5mVVJYV0FweFYyVkFiXFxuRkJLWWRkTjAzUTFTQnBNUjBHa1BsNDJySDd3aFlkZWFFQkhDd0VvRUdCTUlBTHdGQW1aaDhpb0NDd2tKXFxuRUFvd0hnQk1EbFh0QWhVSUFoWUFBaHNDQWg0QmhTQUVHQk1JQURZRkFtWmg4aW9DQ3drSkVHQWZCc01UXFxuRnpWakFoVUlBaFlBQWhzQ0FoNEJGaUVFMnpBR0hTYUxuc3dxSXZCcllCOEd3eE1YTldNQUFOcm9BUDBmXFxudEZQdW1LRndRckNmN09NSFFXc2VzclFZcEtUNlo2NVZiZXdCb0dhR2lnRC9Va2VleWdUdGx5elRWMllGXFxuTkFqV0F6YVF0WFdtbXpSZ25PajBJS3ViMzlNV0lRUUNIWDVTd1N1SFhoNkpQb0VLTUI0QVRBNVY3UUFBXFxuVGpNQS9qRFNWWEpOYmxyL2tTTE5GVG9yZGdEaktQMG5OMWFFbHZGVUZoL1FFVlQwQVA5bG1mMkZjL283XFxueVlPR1BQZzRPdnZVNm9kclRzdU5nbGp2UHFCbGFDYzJFQT09XFxuPVpMa3RcXG4tLS0tLUVORCBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tXFxuJyxcbiAgICB9LFxuICB9LFxuICBlZGRzYU1wY3YyOiB7XG4gICAgbml0cm86IHtcbiAgICAgIHRlc3Q6ICctLS0tLUJFR0lOIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG5cXG54ak1FYWU5R1pCWUpLd1lCQkFIYVJ3OEJBUWRBU0tOaTVNcEpSQXZJTlJPck9FWUZHbUpjWUt6VzNXTTdcXG5rSVBvdzJ6MFAvYk5HR2h6YlNBOGFITnRRSFJsYzNRdVltbDBaMjh1WTI5dFBzS0VCQk1XQ2dBMkJZSnBcXG43MFo4QWdzSkNaRHFzRlFaZzFBU1JBSVZDZ0lXQUFLYkF3SWVBUlloQkxIZGZKdGRNM2tjNG83L3d1cXdcXG5WQm1EVUJKRUFBQjZXZ0QvWFlJOEdSNkJabDMyTjRmdTZWWmlKNEVhbjdhaFBDWitlS1l1YzhxbkplTUJcXG5BSVlxYzBUdzlRY3F2Z3JyWnRxaXpVZmJZekpEWmpOWTJSNTFMcnN6TEZBT3dvUUVFQk1JQURZRmdtbnZcXG5SbndDQ3drSmtKc01rLzY5QmdMdkFoVUtBaFlBQXBzREFoNEJGaUVFMVFCMTBxcFcvNTVJNEpmYW13eVRcXG4vcjBHQXU4QUFHVmJBUDlsNEZmd2sxTVJZd01TZ3NYUWRKSVk4c3J3U3JXYUpxRmF2UlppMnRsMGl3RCtcXG5KYUpkcjJEY1BQNlBiL3pxNGtoN1luaGpyRWdIdjJUYTRxVFRKdEVFcStiT09BUnA3MFprRWdvckJnRUVcXG5BWmRWQVFVQkFRZEE3Z09Tdll2cENvOFRtZ1BCSGVUcWxQREpwb2hjdVBYWU1SUTVnMjI4V1JnREFRZ0hcXG53b1VFR0JZS0FEY0ZnbW52Um53Q0N3a0prT3F3VkJtRFVCSkVBaFVLQWhZQUE1c0VDQUllQVJZaEJMSGRcXG5mSnRkTTNrYzRvNy93dXF3VkJtRFVCSkVBQURyclFEK04rVitsSkx0YUMzVzZFMXBIUWhyOUkrMEZzZEpcXG41K2RRRmNhY0tQbHMzazBBLzBKcDZXQStCVWNFcnc0YWhrbTRoa2JiamJ1d1JMRzlINFBTSmZvRmdjY0hcXG56ak1FYWU5R1pCWUpLd1lCQkFIYVJ3OEJBUWRBYTN6Nk01c3VlWit5YVdwNmpRNUdDcW81M2s0ZGtHeGdcXG5wajFrQjlYVFl2VEN3RW9FR0JZS0FMd0ZnbW52Um53Q0N3a0prT3F3VkJtRFVCSkVBaFVLQWhZQUFwc0NcXG5BaDRCaGFBRUdCWUtBRFlGZ21udlJud0NDd2tKa0EzNUxpWkM4SEJtQWhVS0FoWUFBcHNDQWg0QkZpRUVcXG4wWGEwVmhLRExpTlFWSWlhRGZrdUprTHdjR1lBQUlPREFRRCtZRWNKZUwwV2k4alk1YmRKWHpFOGxSa0VcXG5vaWthUU1uM3BSNmRQdEw5U3dEL2VYSmFtY01BUzZMNTlkYXdkRDBnd0NabjlHbEtYbWo2RkZYRUpkY2RcXG5PUW9XSVFTeDNYeWJYVE41SE9LTy84THFzRlFaZzFBU1JBQUFpVTRBL2ppMFlPVDhjZVRnRFFuM2E1UDRcXG5SejlGditPVVp4ajloTWM4SzFsQjBOL0ZBUURndjZnWHR6RW5wR09qdGl3UE51dVJ5bm5oOU9lWHpoZ0xcXG5QY1FJT21XNkRBPT1cXG49RkF1Z1xcbi0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG4nLFxuICAgICAgcHJvZDogJy0tLS0tQkVHSU4gUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcblxcbnhqTUVhZTk3SHhZSkt3WUJCQUhhUnc4QkFRZEFrcVkvZ0JTbkhRMGJKdjZZaWs0NzNsWEx1bENXZGhXMlxcbnlFak5xK1lFZjFiTkMwSnBkRWR2SUU1cGRISnZ3b1FFRXhZS0FEWUZnbW52ZXlJQ0N3a0prS3c0eVJTRFxcbkZ1Mm1BaFVLQWhZQUFwc0RBaDRCRmlFRXJvcGpUQmpMdkZzS2RiOEVyRGpKRklNVzdhWUFBQ2pqQVFDN1xcbjVTYzlrakxkU2NIVGJ6c000bDkwaTlseUhGZFRWYnJ1U1l2bVpySFFBQUVBdXNaTVgycXBJSmRPZHRCN1xcbnlpWGVDRU14Qm0xUGNkZmR2RFNHblVydVJRN0NoQVFRRXdnQU5nV0NhZTk3SWdJTENRbVF0Q1B2aGN1R1xcbmZLOENGUW9DRmdBQ213TUNIZ0VXSVFTSDBDSGdhS1daMVRHaHFzKzBJKytGeTRaOHJ3QUFNOVFBL0FwOVxcbjZZam52Q3J2MW5PMFhUL21xVWdTTWlyR3pGNkFJay8vQWZxQzhrS0hBUHNINUk5ZktUejhpOHZXbzZFU1xcbkRTVmlsbklhRXlWNnNjenhaMmRyc0xWME1zNDRCR252ZXg4U0Npc0dBUVFCbDFVQkJRRUJCMER6R1ZGQlxcbjc0YzN5OWxTaFg1REc4b3IxbkpveWpwbWI3K2FaNzEwRU83WVF3TUJDQWZDaFFRWUZnb0FOd1dDYWU5N1xcbklnSUxDUW1RckRqSkZJTVc3YVlDRlFvQ0ZnQURtd1FJQWg0QkZpRUVyb3BqVEJqTHZGc0tkYjhFckRqSlxcbkZJTVc3YVlBQUh0aEFRQ1B3b3pINmVkdmI0RzZKUkxGclg4aTByRXFDamUxeXR5OXNYY3dJNlhRZHdEL1xcblRtMzhGYlUzcUdQb3A0dGVQV0JURVFZRWhFNWFtczlNSVd5dlg1UDBUQTdPTXdScDczc2ZGZ2tyQmdFRVxcbkFkcEhEd0VCQjBBTWZ2TzhJT240WTlURXR4N0lRZXV0UWtnRkthcGEralpsVmNTbUdtOHlCc0xBU2dRWVxcbkZnb0F2QVdDYWU5N0lnSUxDUW1RckRqSkZJTVc3YVlDRlFvQ0ZnQUNtd0lDSGdHRm9BUVlGZ29BTmdXQ1xcbmFlOTdJZ0lMQ1FtUVZvYlhkTDhVTFZRQ0ZRb0NGZ0FDbXdJQ0hnRVdJUVErQXBxak5rcHE0QnZYaUxkV1xcbmh0ZDB2eFF0VkFBQXpMOEEvMlpBU0k3SGhBQVlUbU5YdlRCUlNrZkdsZ1BydXJZOWNYbnd2YVVOM01zc1xcbkFQOWRDcXNhUHg2WFk1ejRHR3BHTUxWSng0Z091OWtwTElvbkhuWlZJNmlkRGhZaEJLNktZMHdZeTd4YlxcbkNuVy9CS3c0eVJTREZ1Mm1BQUNpUEFFQTFsRFZOYmlHMG5aRmJnYXRjRkY1eEtkMHVyRjBmOUNwT2ZwQlxcbnRySUdHYlVCQU9EN0ZrS0xWWFdHRllJQ1lpcE9VenpHenBGaU1OYUpsMXFiQ3BhOW0xa05cXG49UjZyNFxcbi0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG4nLFxuICAgIH0sXG4gICAgb25wcmVtOiB7XG4gICAgICB0ZXN0OiAnLS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tXFxuXFxueGpNRWFkK1FDeFlKS3dZQkJBSGFSdzhCQVFkQUcwRkJNLzFKUnZvN0tsTHZocDFNd2k2SVdtVjNWOXh5XFxuWlpjQnlnMGZEUTNOR0doemJTQThhSE50UUhSbGMzUXVZbWwwWjI4dVkyOXRQc0tFQkJNV0NnQTJCWUpwXFxuMzVBTUFnc0pDWkN1VjZkOXNhbDMxUUlWQ2dJV0FBS2JBd0llQVJZaEJLU2lYY0tvNHhNVDV3d2ZoNjVYXFxucDMyeHFYZlZBQUEyc0FFQWdtazU0M1VldG9Vb09vT3ZFQWhPclJCYkY0aDZWd2NIOWN5UjlVR1N3eWdBXFxuLzJLSkphZGlBdmFlcHFGWnh5RTc3ckZNN1pmcWhSTXNvQWMyTWZzbHZ1UU13b1FFRUJNSUFEWUZnbW5mXFxua0EwQ0N3a0prTjJ2SndPT3VFMDNBaFVLQWhZQUFwc0RBaDRCRmlFRWpNU1F3VFJiVXRHMWZTdlIzYThuXFxuQTQ2NFRUY0FBTk5WQVFEMVJUdS9iSm1QQlJ2V2J2dUlpdVQxV1V4WXNTdW9YV3draTFZSW1OMWdNQUQrXFxuT1BVK3YwNTZoa2RvRDhSY2Q4RCtIaG9ObEpBYlJiWldnL3FqeHIrUzZsTE9PQVJwMzVBTUVnb3JCZ0VFXFxuQVpkVkFRVUJBUWRBZ3F3QTlVaFFHdXNlenRMcjJaTTE4OXBCanJXNnNBSjVtNmljRFlPV01IRURBUWdIXFxud29VRUdCWUtBRGNGZ21uZmtBd0NDd2tKa0s1WHAzMnhxWGZWQWhVS0FoWUFBNXNFQ0FJZUFSWWhCS1NpXFxuWGNLbzR4TVQ1d3dmaDY1WHAzMnhxWGZWQUFDNHV3RUFsa1Z6R0RQSllFVElWNHBYWXBDZGFlR0xCam05XFxueTFzUmIybng5RVQ3bSs0QkFOcGIwdktLQnJLWlRBeC8rcklOZ1dveEtQbktQc3ljT0U4YllIWTN6S0FOXFxuempNRWFkK1FEQllKS3dZQkJBSGFSdzhCQVFkQWFud0tFWTVRRUFQYWZiaE01L0JJSlpSeUxteU5wQlRvXFxudG50VElxMG5PdC9Dd0VvRUdCWUtBTHdGZ21uZmtBMENDd2tKa0s1WHAzMnhxWGZWQWhVS0FoWUFBcHNDXFxuQWg0QmhhQUVHQllLQURZRmdtbmZrQTBDQ3drSmtBdVhBVTZBNktZdkFoVUtBaFlBQXBzQ0FoNEJGaUVFXFxuZWFHdHhaWXNqV0ZGWXJENkM1Y0JUb0RvcGk4QUFFcDNBUUNQNGJDU1liaGpOSmZHbkNDT3EyNERhb3pSXFxuVUZnMGhObHBmU0E5TllaM2J3RC9mZHRWNW01YTFReXZjeUdFbnYzN2wxSDdVR2JRbEcxWnA4cm9xWmgzXFxucXdNV0lRU2tvbDNDcU9NVEUrY01INGV1VjZkOXNhbDMxUUFBTWVnQS9pM3NCdUF3dnJCc3A4b3pwN08yXFxuelFsSWJqdXZEQk1vbUlYajFyUm1nb09rQVFEUnFzUXBBdklUZDBMTUZOMmRDcUNCSUdBZUlxem5GWDBDXFxueXF2VTBtOHNDUT09XFxuPS9SM2tcXG4tLS0tLUVORCBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tXFxuJyxcbiAgICAgIHByb2Q6ICctLS0tLUJFR0lOIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG5cXG54ak1FYWZESFJ4WUpLd1lCQkFIYVJ3OEJBUWRBNHZlbzlodnBoYkgwZ3ErWUZvOEF3ZHRUUjZTUU40dEpcXG5PV2lBKytlQnFNdk5CVUpwZEVkdndvUUVFeFlLQURZRmdtbnd4MVVDQ3drSmtNNFVLSzl6SitLUEFoVUtcXG5BaFlBQXBzREFoNEJGaUVFQjNDeWNlMUdxS0FXYlBkSnpoUW9yM01uNG84QUFLUzJBUURTbzV1YkhIeXhcXG52bEF5UlVnaXl6VnZ1cEs4eDFKbC9mUGY1NENIc1dsSWZnRCtPSWk4dis3M2NVb0hUVzNZeEMzQjlhUE9cXG5xekFFVjU4dzc2ZGdaMnFlVGdqQ2hBUVFFd2dBTmdXQ2FmREhWZ0lMQ1FtUWpjWHBjVW4zYzlnQ0ZRb0NcXG5GZ0FDbXdNQ0hnRVdJUVM0dk4yTzM4MytrdnVGR2RhTnhlbHhTZmR6MkFBQW9WVUEvQTZOSTg5UU11dk9cXG5ndFg2NUJubUhQK0Q4dkJKYndUd2F6REhwUzBINjIvU0FQd0pWYVJYclJOa09UemM2YmNBeGc5N3NGQndcXG5oeEpGemNGcEFZMEJhVDVvZHM0NEJHbnd4MGdTQ2lzR0FRUUJsMVVCQlFFQkIwRFoxOHFwQ2t2NnRpdWFcXG5DQ2Y0Q3Q5WWZhczdFaWxXRzhMUE5ldnVqTmg3RUFNQkNBZkNoUVFZRmdvQU53V0NhZkRIVmdJTENRbVFcXG56aFFvcjNNbjRvOENGUW9DRmdBRG13UUlBaDRCRmlFRUIzQ3ljZTFHcUtBV2JQZEp6aFFvcjNNbjRvOEFcXG5BUEJ4QVFEOU1ZYndaNk54UmFidkYxbEZNT0FvZkFNNE44aHRxeTZUMFpJdGZJdDZLZ0VBOUszc3ljcVRcXG5uV0VGUENrSjFobDZRZUNucDBxakdjYkx4TFJWR1RXd3h3ck9Nd1JwOE1kSUZna3JCZ0VFQWRwSER3RUJcXG5CMERZTUdSbGJrVEVyZExxZWVyb3hHZ2hrWXBvVE5QSG1nYjViYXJ4Zm51Mm9NTEFTZ1FZRmdvQXZBV0NcXG5hZkRIVmdJTENRbVF6aFFvcjNNbjRvOENGUW9DRmdBQ213SUNIZ0dGb0FRWUZnb0FOZ1dDYWZESFZnSUxcXG5DUW1RVTNvMkkwbzdVMllDRlFvQ0ZnQUNtd0lDSGdFV0lRUlJFZkg3RGdOanlZSk0xYzlUZWpZalNqdFRcXG5aZ0FBYTRBQkFJUGNGZDBQekhRSVFpTVcvbXZrNTd2UWVPVFNKbW5ZKy9hWFo1OGJhM3lrQVA0b0M1TXZcXG5SbFRqVUFtUWRkNjdGWC9LbW00OWF5S0tFeHJiVXhNQ0hvcEdEQlloQkFkd3NuSHRScWlnRm16M1NjNFVcXG5LSzl6SitLUEFBQ2V0QUVBMEtwR01BVHhGWnRvM3ppbm1QYUhKQW1jMzNSU2htOW1RSjdYa044ZUlQTUJcXG5BTUs5SjBxZFc5alI3aU9tSnZMbVVMcVVFQVlXSEFLSjFFeTlQV0RTbVV3TVxcbj1SRXYrXFxuLS0tLS1FTkQgUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcbicsXG4gICAgfSxcbiAgfSxcbiAgLy8gTk9URTogUmVkUGFsbGFzIERLRyB1c2VzIHRoZSBzYW1lIEdQRyBrZXkgdHlwZSBhcyBFZERTQSBNUEN2MiAoYW4gZWQyNTUxOS1pZGVudGl0eSBHUEcga2V5XG4gIC8vIHdpdGggYW4gWDI1NTE5IGVuY3J5cHRpb24gc3Via2V5IC0gc2VlIGBSZWRQYWxsYXNES0dgIGluIGBAYml0Z28vc2RrLWxpYi1tcGNgKSwgc28gYXMgYW5cbiAgLy8gaW50ZXJpbSBtZWFzdXJlIHRoaXMgcmV1c2VzIHRoZSBgZWRkc2FNcGN2MmAga2V5IG1hdGVyaWFsIHZlcmJhdGltIHJhdGhlciB0aGFuIGZhYnJpY2F0aW5nXG4gIC8vIG5ldyBrZXkgbWF0ZXJpYWwuIEJpdEdvJ3MgcGxhdGZvcm0vc2VjdXJpdHkgdGVhbSBzaG91bGQgcHJvdmlzaW9uIGRlZGljYXRlZCBSZWRQYWxsYXNcbiAgLy8gTVBDdjIgR1BHIGtleXMgKGRpc3RpbmN0IGtleSBwYWlycyBoZWxkIGJ5IHRoZSBuaXRyby9vbnByZW0gSFNNIGluZnJhKSBiZWZvcmUgdGhpcyBpcyB1c2VkXG4gIC8vIGZvciBhIHByb2R1Y3Rpb24gY2VyZW1vbnk7IHN3YXAgdGhlIHZhbHVlcyBiZWxvdyBmb3IgdGhlIGRlZGljYXRlZCBrZXlzIG9uY2UgYXZhaWxhYmxlLlxuICByZWRwYWxsYXNNcGN2Mjoge1xuICAgIG5pdHJvOiB7XG4gICAgICB0ZXN0OiAnLS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tXFxuXFxueGpNRWFlOUdaQllKS3dZQkJBSGFSdzhCQVFkQVNLTmk1TXBKUkF2SU5ST3JPRVlGR21KY1lLelczV003XFxua0lQb3cyejBQL2JOR0doemJTQThhSE50UUhSbGMzUXVZbWwwWjI4dVkyOXRQc0tFQkJNV0NnQTJCWUpwXFxuNzBaOEFnc0pDWkRxc0ZRWmcxQVNSQUlWQ2dJV0FBS2JBd0llQVJZaEJMSGRmSnRkTTNrYzRvNy93dXF3XFxuVkJtRFVCSkVBQUI2V2dEL1hZSThHUjZCWmwzMk40ZnU2VlppSjRFYW43YWhQQ1orZUtZdWM4cW5KZU1CXFxuQUlZcWMwVHc5UWNxdmdyclp0cWl6VWZiWXpKRFpqTlkyUjUxTHJzekxGQU93b1FFRUJNSUFEWUZnbW52XFxuUm53Q0N3a0prSnNNay82OUJnTHZBaFVLQWhZQUFwc0RBaDRCRmlFRTFRQjEwcXBXLzU1STRKZmFtd3lUXFxuL3IwR0F1OEFBR1ZiQVA5bDRGZndrMU1SWXdNU2dzWFFkSklZOHNyd1NyV2FKcUZhdlJaaTJ0bDBpd0QrXFxuSmFKZHIyRGNQUDZQYi96cTRraDdZbmhqckVnSHYyVGE0cVRUSnRFRXErYk9PQVJwNzBaa0Vnb3JCZ0VFXFxuQVpkVkFRVUJBUWRBN2dPU3ZZdnBDbzhUbWdQQkhlVHFsUERKcG9oY3VQWFlNUlE1ZzIyOFdSZ0RBUWdIXFxud29VRUdCWUtBRGNGZ21udlJud0NDd2tKa09xd1ZCbURVQkpFQWhVS0FoWUFBNXNFQ0FJZUFSWWhCTEhkXFxuZkp0ZE0za2M0bzcvd3Vxd1ZCbURVQkpFQUFEcnJRRCtOK1YrbEpMdGFDM1c2RTFwSFFocjlJKzBGc2RKXFxuNStkUUZjYWNLUGxzM2swQS8wSnA2V0ErQlVjRXJ3NGFoa200aGtiYmpidXdSTEc5SDRQU0pmb0ZnY2NIXFxuempNRWFlOUdaQllKS3dZQkJBSGFSdzhCQVFkQWEzejZNNXN1ZVoreWFXcDZqUTVHQ3FvNTNrNGRrR3hnXFxucGoxa0I5WFRZdlRDd0VvRUdCWUtBTHdGZ21udlJud0NDd2tKa09xd1ZCbURVQkpFQWhVS0FoWUFBcHNDXFxuQWg0QmhhQUVHQllLQURZRmdtbnZSbndDQ3drSmtBMzVMaVpDOEhCbUFoVUtBaFlBQXBzQ0FoNEJGaUVFXFxuMFhhMFZoS0RMaU5RVklpYURma3VKa0x3Y0dZQUFJT0RBUUQrWUVjSmVMMFdpOGpZNWJkSlh6RThsUmtFXFxub2lrYVFNbjNwUjZkUHRMOVN3RC9lWEphbWNNQVM2TDU5ZGF3ZEQwZ3dDWm45R2xLWG1qNkZGWEVKZGNkXFxuT1FvV0lRU3gzWHliWFRONUhPS08vOExxc0ZRWmcxQVNSQUFBaVU0QS9qaTBZT1Q4Y2VUZ0RRbjNhNVA0XFxuUno5RnYrT1VaeGo5aE1jOEsxbEIwTi9GQVFEZ3Y2Z1h0ekVucEdPanRpd1BOdXVSeW5uaDlPZVh6aGdMXFxuUGNRSU9tVzZEQT09XFxuPUZBdWdcXG4tLS0tLUVORCBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tXFxuJyxcbiAgICAgIHByb2Q6ICctLS0tLUJFR0lOIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG5cXG54ak1FYWU5N0h4WUpLd1lCQkFIYVJ3OEJBUWRBa3FZL2dCU25IUTBiSnY2WWlrNDczbFhMdWxDV2RoVzJcXG55RWpOcStZRWYxYk5DMEpwZEVkdklFNXBkSEp2d29RRUV4WUtBRFlGZ21udmV5SUNDd2tKa0t3NHlSU0RcXG5GdTJtQWhVS0FoWUFBcHNEQWg0QkZpRUVyb3BqVEJqTHZGc0tkYjhFckRqSkZJTVc3YVlBQUNqakFRQzdcXG41U2M5a2pMZFNjSFRienNNNGw5MGk5bHlIRmRUVmJydVNZdm1ackhRQUFFQXVzWk1YMnFwSUpkT2R0QjdcXG55aVhlQ0VNeEJtMVBjZGZkdkRTR25VcnVSUTdDaEFRUUV3Z0FOZ1dDYWU5N0lnSUxDUW1RdENQdmhjdUdcXG5mSzhDRlFvQ0ZnQUNtd01DSGdFV0lRU0gwQ0hnYUtXWjFUR2hxcyswSSsrRnk0Wjhyd0FBTTlRQS9BcDlcXG42WWpudkNydjFuTzBYVC9tcVVnU01pckd6RjZBSWsvL0FmcUM4a0tIQVBzSDVJOWZLVHo4aTh2V282RVNcXG5EU1ZpbG5JYUV5VjZzY3p4WjJkcnNMVjBNczQ0QkdudmV4OFNDaXNHQVFRQmwxVUJCUUVCQjBEekdWRkJcXG43NGMzeTlsU2hYNURHOG9yMW5Kb3lqcG1iNythWjcxMEVPN1lRd01CQ0FmQ2hRUVlGZ29BTndXQ2FlOTdcXG5JZ0lMQ1FtUXJEakpGSU1XN2FZQ0ZRb0NGZ0FEbXdRSUFoNEJGaUVFcm9walRCakx2RnNLZGI4RXJEakpcXG5GSU1XN2FZQUFIdGhBUUNQd296SDZlZHZiNEc2SlJMRnJYOGkwckVxQ2plMXl0eTlzWGN3STZYUWR3RC9cXG5UbTM4RmJVM3FHUG9wNHRlUFdCVEVRWUVoRTVhbXM5TUlXeXZYNVAwVEE3T013UnA3M3NmRmdrckJnRUVcXG5BZHBIRHdFQkIwQU1mdk84SU9uNFk5VEV0eDdJUWV1dFFrZ0ZLYXBhK2pabFZjU21HbTh5QnNMQVNnUVlcXG5GZ29BdkFXQ2FlOTdJZ0lMQ1FtUXJEakpGSU1XN2FZQ0ZRb0NGZ0FDbXdJQ0hnR0ZvQVFZRmdvQU5nV0NcXG5hZTk3SWdJTENRbVFWb2JYZEw4VUxWUUNGUW9DRmdBQ213SUNIZ0VXSVFRK0FwcWpOa3BxNEJ2WGlMZFdcXG5odGQwdnhRdFZBQUF6TDhBLzJaQVNJN0hoQUFZVG1OWHZUQlJTa2ZHbGdQcnVyWTljWG53dmFVTjNNc3NcXG5BUDlkQ3FzYVB4NlhZNXo0R0dwR01MVkp4NGdPdTlrcExJb25IblpWSTZpZERoWWhCSzZLWTB3WXk3eGJcXG5DblcvQkt3NHlSU0RGdTJtQUFDaVBBRUExbERWTmJpRzBuWkZiZ2F0Y0ZGNXhLZDB1ckYwZjlDcE9mcEJcXG50cklHR2JVQkFPRDdGa0tMVlhXR0ZZSUNZaXBPVXp6R3pwRmlNTmFKbDFxYkNwYTltMWtOXFxuPVI2cjRcXG4tLS0tLUVORCBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tXFxuJyxcbiAgICB9LFxuICAgIG9ucHJlbToge1xuICAgICAgdGVzdDogJy0tLS0tQkVHSU4gUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcblxcbnhqTUVhZCtRQ3hZSkt3WUJCQUhhUnc4QkFRZEFHMEZCTS8xSlJ2bzdLbEx2aHAxTXdpNklXbVYzVjl4eVxcblpaY0J5ZzBmRFEzTkdHaHpiU0E4YUhOdFFIUmxjM1F1WW1sMFoyOHVZMjl0UHNLRUJCTVdDZ0EyQllKcFxcbjM1QU1BZ3NKQ1pDdVY2ZDlzYWwzMVFJVkNnSVdBQUtiQXdJZUFSWWhCS1NpWGNLbzR4TVQ1d3dmaDY1WFxcbnAzMnhxWGZWQUFBMnNBRUFnbWs1NDNVZXRvVW9Pb092RUFoT3JSQmJGNGg2VndjSDljeVI5VUdTd3lnQVxcbi8yS0pKYWRpQXZhZXBxRlp4eUU3N3JGTTdaZnFoUk1zb0FjMk1mc2x2dVFNd29RRUVCTUlBRFlGZ21uZlxcbmtBMENDd2tKa04ydkp3T091RTAzQWhVS0FoWUFBcHNEQWg0QkZpRUVqTVNRd1RSYlV0RzFmU3ZSM2E4blxcbkE0NjRUVGNBQU5OVkFRRDFSVHUvYkptUEJSdldidnVJaXVUMVdVeFlzU3VvWFd3a2kxWUltTjFnTUFEK1xcbk9QVSt2MDU2aGtkb0Q4UmNkOEQrSGhvTmxKQWJSYlpXZy9xanhyK1M2bExPT0FScDM1QU1FZ29yQmdFRVxcbkFaZFZBUVVCQVFkQWdxd0E5VWhRR3VzZXp0THIyWk0xODlwQmpyVzZzQUo1bTZpY0RZT1dNSEVEQVFnSFxcbndvVUVHQllLQURjRmdtbmZrQXdDQ3drSmtLNVhwMzJ4cVhmVkFoVUtBaFlBQTVzRUNBSWVBUlloQktTaVxcblhjS280eE1UNXd3Zmg2NVhwMzJ4cVhmVkFBQzR1d0VBbGtWekdEUEpZRVRJVjRwWFlwQ2RhZUdMQmptOVxcbnkxc1JiMm54OUVUN20rNEJBTnBiMHZLS0JyS1pUQXgvK3JJTmdXb3hLUG5LUHN5Y09FOGJZSFkzektBTlxcbnpqTUVhZCtRREJZSkt3WUJCQUhhUnc4QkFRZEFhbndLRVk1UUVBUGFmYmhNNS9CSUpaUnlMbXlOcEJUb1xcbnRudFRJcTBuT3QvQ3dFb0VHQllLQUx3RmdtbmZrQTBDQ3drSmtLNVhwMzJ4cVhmVkFoVUtBaFlBQXBzQ1xcbkFoNEJoYUFFR0JZS0FEWUZnbW5ma0EwQ0N3a0prQXVYQVU2QTZLWXZBaFVLQWhZQUFwc0NBaDRCRmlFRVxcbmVhR3R4WllzaldGRllyRDZDNWNCVG9Eb3BpOEFBRXAzQVFDUDRiQ1NZYmhqTkpmR25DQ09xMjREYW96UlxcblVGZzBoTmxwZlNBOU5ZWjNid0QvZmR0VjVtNWExUXl2Y3lHRW52MzdsMUg3VUdiUWxHMVpwOHJvcVpoM1xcbnF3TVdJUVNrb2wzQ3FPTVRFK2NNSDRldVY2ZDlzYWwzMVFBQU1lZ0EvaTNzQnVBd3ZyQnNwOG96cDdPMlxcbnpRbElianV2REJNb21JWGoxclJtZ29Pa0FRRFJxc1FwQXZJVGQwTE1GTjJkQ3FDQklHQWVJcXpuRlgwQ1xcbnlxdlUwbThzQ1E9PVxcbj0vUjNrXFxuLS0tLS1FTkQgUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcbicsXG4gICAgICBwcm9kOiAnLS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tXFxuXFxueGpNRWFmREhSeFlKS3dZQkJBSGFSdzhCQVFkQTR2ZW85aHZwaGJIMGdxK1lGbzhBd2R0VFI2U1FONHRKXFxuT1dpQSsrZUJxTXZOQlVKcGRFZHZ3b1FFRXhZS0FEWUZnbW53eDFVQ0N3a0prTTRVS0s5ekorS1BBaFVLXFxuQWhZQUFwc0RBaDRCRmlFRUIzQ3ljZTFHcUtBV2JQZEp6aFFvcjNNbjRvOEFBS1MyQVFEU281dWJISHl4XFxudmxBeVJVZ2l5elZ2dXBLOHgxSmwvZlBmNTRDSHNXbElmZ0QrT0lpOHYrNzNjVW9IVFczWXhDM0I5YVBPXFxucXpBRVY1OHc3NmRnWjJxZVRnakNoQVFRRXdnQU5nV0NhZkRIVmdJTENRbVFqY1hwY1VuM2M5Z0NGUW9DXFxuRmdBQ213TUNIZ0VXSVFTNHZOMk8zODMra3Z1RkdkYU54ZWx4U2ZkejJBQUFvVlVBL0E2Tkk4OVFNdXZPXFxuZ3RYNjVCbm1IUCtEOHZCSmJ3VHdhekRIcFMwSDYyL1NBUHdKVmFSWHJSTmtPVHpjNmJjQXhnOTdzRkJ3XFxuaHhKRnpjRnBBWTBCYVQ1b2RzNDRCR253eDBnU0Npc0dBUVFCbDFVQkJRRUJCMERaMThxcENrdjZ0aXVhXFxuQ0NmNEN0OVlmYXM3RWlsV0c4TFBOZXZ1ak5oN0VBTUJDQWZDaFFRWUZnb0FOd1dDYWZESFZnSUxDUW1RXFxuemhRb3IzTW40bzhDRlFvQ0ZnQURtd1FJQWg0QkZpRUVCM0N5Y2UxR3FLQVdiUGRKemhRb3IzTW40bzhBXFxuQVBCeEFRRDlNWWJ3WjZOeFJhYnZGMWxGTU9Bb2ZBTTROOGh0cXk2VDBaSXRmSXQ2S2dFQTlLM3N5Y3FUXFxubldFRlBDa0oxaGw2UWVDbnAwcWpHY2JMeExSVkdUV3d4d3JPTXdScDhNZElGZ2tyQmdFRUFkcEhEd0VCXFxuQjBEWU1HUmxia1RFcmRMcWVlcm94R2doa1lwb1ROUEhtZ2I1YmFyeGZudTJvTUxBU2dRWUZnb0F2QVdDXFxuYWZESFZnSUxDUW1RemhRb3IzTW40bzhDRlFvQ0ZnQUNtd0lDSGdHRm9BUVlGZ29BTmdXQ2FmREhWZ0lMXFxuQ1FtUVUzbzJJMG83VTJZQ0ZRb0NGZ0FDbXdJQ0hnRVdJUVJSRWZIN0RnTmp5WUpNMWM5VGVqWWpTanRUXFxuWmdBQWE0QUJBSVBjRmQwUHpIUUlRaU1XL212azU3dlFlT1RTSm1uWSsvYVhaNThiYTN5a0FQNG9DNU12XFxuUmxUalVBbVFkZDY3RlgvS21tNDlheUtLRXhyYlV4TUNIb3BHREJZaEJBZHdzbkh0UnFpZ0ZtejNTYzRVXFxuS0s5ekorS1BBQUNldEFFQTBLcEdNQVR4Rlp0bzN6aW5tUGFISkFtYzMzUlNobTltUUo3WGtOOGVJUE1CXFxuQU1LOUowcWRXOWpSN2lPbUp2TG1VTHFVRUFZV0hBS0oxRXk5UFdEU21Vd01cXG49UkV2K1xcbi0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG4nLFxuICAgIH0sXG4gIH0sXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Qml0Z29NcGNHcGdQdWJLZXkoXG4gIGVudjogRW52aXJvbm1lbnROYW1lLFxuICBwdWJLZXlUeXBlOiAnbml0cm8nIHwgJ29ucHJlbScsXG4gIG1wY1ZlcnNpb246ICdtcGN2MScgfCAnbXBjdjInIHwgJ2VkZHNhTXBjdjInIHwgJ3JlZHBhbGxhc01wY3YyJ1xuKTogc3RyaW5nIHtcbiAgYXNzZXJ0KFxuICAgIG1wY1ZlcnNpb24gaW4gYml0Z29NcGNHcGdQdWJLZXlzLFxuICAgIGBJbnZhbGlkIG1wY1ZlcnNpb24gaW4gZ2V0Qml0Z29NcGNHcGdQdWJLZXksIGdvdDogJHttcGNWZXJzaW9ufSwgZXhwZWN0ZWQ6IG1wY3YxLCBtcGN2MiwgZWRkc2FNcGN2Miwgb3IgcmVkcGFsbGFzTXBjdjJgXG4gICk7XG4gIGFzc2VydChcbiAgICBwdWJLZXlUeXBlIGluIGJpdGdvTXBjR3BnUHViS2V5c1ttcGNWZXJzaW9uXSxcbiAgICBgSW52YWxpZCBwdWJLZXlUeXBlIGluIGdldEJpdGdvTXBjR3BnUHViS2V5LCBnb3Q6ICR7cHViS2V5VHlwZX0sIGV4cGVjdGVkOiBuaXRybyBvciBvbnByZW1gXG4gICk7XG4gIGlmIChlbnYgIT09ICdwcm9kJyAmJiBlbnYgIT09ICd0ZXN0JyAmJiBlbnYgIT09ICdzdGFnaW5nJyAmJiBlbnYgIT09ICdhZG1pblByb2QnICYmIGVudiAhPT0gJ2FkbWluVGVzdCcpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgZW52aXJvbm1lbnQgdG8gZ2V0IGEgQml0R28gTVBDIEdQRyBwdWJsaWMga2V5Jyk7XG4gIH1cbiAgaWYgKGVudiAhPT0gJ3Byb2QnICYmIGVudiAhPT0gJ2FkbWluUHJvZCcpIHtcbiAgICAvLyBkZWZhdWx0IHRvIHRlc3QgZ3BnIGtleXMgaWYgbm90IGluIHByb2RcbiAgICBlbnYgPSAndGVzdCc7XG4gIH1cbiAgaWYgKGVudiA9PT0gJ2FkbWluUHJvZCcpIHtcbiAgICBlbnYgPSAncHJvZCc7XG4gIH1cbiAgaWYgKHB1YktleVR5cGUgIT09ICduaXRybycpIHtcbiAgICAvLyBUaGlzIHdpbGwgYmUgdGhlIGRlZmF1bHQga2V5IHR5cGVcbiAgICBwdWJLZXlUeXBlID0gJ29ucHJlbSc7XG4gIH1cbiAgcmV0dXJuIGJpdGdvTXBjR3BnUHViS2V5c1ttcGNWZXJzaW9uXVtwdWJLZXlUeXBlXVtlbnZdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNCaXRnb01wY1B1YktleShrZXk6IHN0cmluZywgbXBjdlZlcnNpb246ICdtcGN2MScgfCAnbXBjdjInKTogYm9vbGVhbiB7XG4gIHJldHVybiBPYmplY3QudmFsdWVzKGJpdGdvTXBjR3BnUHViS2V5c1ttcGN2VmVyc2lvbl0pLnNvbWUoKGVudktleXMpID0+IE9iamVjdC52YWx1ZXMoZW52S2V5cykuaW5jbHVkZXMoa2V5KSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0JpdGdvRWRkc2FNcGN2MlB1YktleShrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gT2JqZWN0LnZhbHVlcyhiaXRnb01wY0dwZ1B1YktleXMuZWRkc2FNcGN2Mikuc29tZSgoZW52S2V5cykgPT4gT2JqZWN0LnZhbHVlcyhlbnZLZXlzKS5pbmNsdWRlcyhrZXkpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQml0Z29SZWRwYWxsYXNNcGN2MlB1YktleShrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gT2JqZWN0LnZhbHVlcyhiaXRnb01wY0dwZ1B1YktleXMucmVkcGFsbGFzTXBjdjIpLnNvbWUoKGVudktleXMpID0+IE9iamVjdC52YWx1ZXMoZW52S2V5cykuaW5jbHVkZXMoa2V5KSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnZSZXF1aXJlc0JpdGdvUHViR3BnS2V5Q29uZmlnKGVudjogRW52aXJvbm1lbnROYW1lKTogYm9vbGVhbiB7XG4gIHJldHVybiBlbnYgPT09ICdwcm9kJyB8fCBlbnYgPT09ICd0ZXN0JyB8fCBlbnYgPT09ICdzdGFnaW5nJyB8fCBlbnYgPT09ICdhZG1pblByb2QnIHx8IGVudiA9PT0gJ2FkbWluVGVzdCc7XG59XG4iXX0=
|
|
@@ -2,6 +2,7 @@ import openpgp from 'openpgp';
|
|
|
2
2
|
import { MPCv2SigningState } from '@bitgo/public-types';
|
|
3
3
|
import { BitGoBase } from '../bitgoBase';
|
|
4
4
|
import { TxRequestChallengeResponse } from './types';
|
|
5
|
+
import { MPCAlgorithm } from '../baseCoin';
|
|
5
6
|
import { RequestType, TxRequest, SignatureShareRecord, SignatureShareType, CommitmentShareRecord, EncryptedSignerShareRecord, ExchangeCommitmentResponse } from '../utils';
|
|
6
7
|
import { IRequestTracer } from '../../api';
|
|
7
8
|
export declare function getBitgoSignatureShare(signatureShares: SignatureShareRecord[], signerShareType: SignatureShareType, shareType: MPCv2SigningState): SignatureShareRecord;
|
|
@@ -45,7 +46,7 @@ export declare function sendSignatureShare(bitgo: BitGoBase, walletId: string, t
|
|
|
45
46
|
* @param reqId
|
|
46
47
|
* @returns {Promise<SignatureShareRecord>} - a Signature Share
|
|
47
48
|
*/
|
|
48
|
-
export declare function sendSignatureShareV2(bitgo: BitGoBase, walletId: string, txRequestId: string, signatureShares: SignatureShareRecord[], requestType: RequestType, mpcAlgorithm:
|
|
49
|
+
export declare function sendSignatureShareV2(bitgo: BitGoBase, walletId: string, txRequestId: string, signatureShares: SignatureShareRecord[], requestType: RequestType, mpcAlgorithm: MPCAlgorithm, signerGpgPublicKey: string, signerShare?: string, multisigTypeVersion?: 'MPCv2' | undefined, reqId?: IRequestTracer): Promise<TxRequest>;
|
|
49
50
|
/**
|
|
50
51
|
* Sends a Transaction Request for broadcast once signing is complete
|
|
51
52
|
*
|