@bitgo/sdk-core 5.2.0 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +88 -0
- package/dist/src/account-lib/baseCoin/enum.d.ts +2 -1
- package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/enum.js +3 -1
- package/dist/src/account-lib/mpc/curves/baseCurve.d.ts +1 -1
- package/dist/src/account-lib/mpc/curves/baseCurve.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/curves/baseCurve.js +1 -1
- package/dist/src/account-lib/mpc/curves/ed25519.d.ts +1 -0
- package/dist/src/account-lib/mpc/curves/ed25519.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/curves/ed25519.js +4 -1
- package/dist/src/account-lib/mpc/index.d.ts +1 -1
- package/dist/src/account-lib/mpc/index.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/index.js +3 -2
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +14 -4
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +293 -53
- package/dist/src/account-lib/mpc/tss/ecdsa/index.d.ts +1 -0
- package/dist/src/account-lib/mpc/tss/ecdsa/index.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/ecdsa/index.js +3 -2
- package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts +63 -0
- package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.js +284 -0
- package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +79 -4
- package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/ecdsa/types.js +1 -1
- package/dist/src/account-lib/mpc/tss/index.d.ts +2 -2
- package/dist/src/account-lib/mpc/tss/index.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/index.js +3 -2
- package/dist/src/bitgo/keychain/iKeychains.d.ts +2 -1
- 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.map +1 -1
- package/dist/src/bitgo/keychain/keychains.js +5 -2
- package/dist/src/bitgo/tss/common.d.ts +13 -2
- package/dist/src/bitgo/tss/common.d.ts.map +1 -1
- package/dist/src/bitgo/tss/common.js +32 -3
- package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts +10 -6
- package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/bitgo/tss/ecdsa/ecdsa.js +163 -25
- package/dist/src/bitgo/tss/ecdsa/types.d.ts +2 -0
- package/dist/src/bitgo/tss/ecdsa/types.d.ts.map +1 -1
- package/dist/src/bitgo/tss/ecdsa/types.js +1 -1
- package/dist/src/bitgo/tss/eddsa/eddsa.d.ts +1 -1
- package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/bitgo/tss/eddsa/eddsa.js +7 -5
- package/dist/src/bitgo/utils/opengpgUtils.d.ts +8 -2
- package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/opengpgUtils.js +31 -8
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +2 -2
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTSSUtils.js +4 -3
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts +10 -1
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTypes.js +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +18 -12
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +101 -62
- package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts +3 -3
- package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/types.js +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +9 -3
- package/dist/src/bitgo/wallet/iWallet.d.ts +1 -1
- package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/iWallet.js +1 -1
- package/dist/src/bitgo/wallet/wallet.d.ts +5 -1
- package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallet.js +31 -10
- package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallets.js +13 -1
- package/dist/tsconfig.tsbuildinfo +485 -374
- package/package.json +5 -4
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { ECDSA } from '../../../../account-lib/mpc/tss';
|
|
2
2
|
import { ECDSAMethodTypes } from '../../../tss/ecdsa';
|
|
3
|
-
import { BackupKeyShare, CreateKeychainParamsBase } from '../baseTypes';
|
|
4
|
-
import { Key
|
|
3
|
+
import { BackupKeyShare, CreateKeychainParamsBase, BackupGpgKey } from '../baseTypes';
|
|
4
|
+
import { Key } from 'openpgp';
|
|
5
5
|
import { BackupProvider } from '../../../wallet';
|
|
6
6
|
export declare type KeyShare = ECDSA.KeyShare;
|
|
7
7
|
export declare type DecryptableNShare = ECDSAMethodTypes.DecryptableNShare;
|
|
8
8
|
export declare type CreateEcdsaKeychainParams = CreateKeychainParamsBase & {
|
|
9
9
|
userKeyShare: ECDSA.KeyShare;
|
|
10
|
-
backupGpgKey: SerializedKeyPair<string>;
|
|
11
10
|
backupKeyShare: BackupKeyShare;
|
|
12
11
|
isThirdPartyBackup?: boolean;
|
|
13
12
|
backupProvider?: BackupProvider;
|
|
14
13
|
bitgoPublicGpgKey: Key;
|
|
14
|
+
backupGpgKey: BackupGpgKey;
|
|
15
15
|
};
|
|
16
16
|
export declare type CreateEcdsaBitGoKeychainParams = Omit<CreateEcdsaKeychainParams, 'bitgoKeychain'>;
|
|
17
17
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/bitgo/utils/tss/ecdsa/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/bitgo/utils/tss/ecdsa/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACtF,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,oBAAY,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;AACtC,oBAAY,iBAAiB,GAAG,gBAAgB,CAAC,iBAAiB,CAAC;AAEnE,oBAAY,yBAAyB,GAAG,wBAAwB,GAAG;IACjE,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC;IAC7B,cAAc,EAAE,cAAc,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,iBAAiB,EAAE,GAAG,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;CAC5B,CAAC;AAEF,oBAAY,8BAA8B,GAAG,IAAI,CAAC,yBAAyB,EAAE,eAAe,CAAC,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvdHNzL2VjZHNhL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFQ0RTQSB9IGZyb20gJy4uLy4uLy4uLy4uL2FjY291bnQtbGliL21wYy90c3MnO1xuaW1wb3J0IHsgRUNEU0FNZXRob2RUeXBlcyB9IGZyb20gJy4uLy4uLy4uL3Rzcy9lY2RzYSc7XG5pbXBvcnQgeyBCYWNrdXBLZXlTaGFyZSwgQ3JlYXRlS2V5Y2hhaW5QYXJhbXNCYXNlLCBCYWNrdXBHcGdLZXkgfSBmcm9tICcuLi9iYXNlVHlwZXMnO1xuaW1wb3J0IHsgS2V5IH0gZnJvbSAnb3BlbnBncCc7XG5pbXBvcnQgeyBCYWNrdXBQcm92aWRlciB9IGZyb20gJy4uLy4uLy4uL3dhbGxldCc7XG5cbmV4cG9ydCB0eXBlIEtleVNoYXJlID0gRUNEU0EuS2V5U2hhcmU7XG5leHBvcnQgdHlwZSBEZWNyeXB0YWJsZU5TaGFyZSA9IEVDRFNBTWV0aG9kVHlwZXMuRGVjcnlwdGFibGVOU2hhcmU7XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUVjZHNhS2V5Y2hhaW5QYXJhbXMgPSBDcmVhdGVLZXljaGFpblBhcmFtc0Jhc2UgJiB7XG4gIHVzZXJLZXlTaGFyZTogRUNEU0EuS2V5U2hhcmU7XG4gIGJhY2t1cEtleVNoYXJlOiBCYWNrdXBLZXlTaGFyZTtcbiAgaXNUaGlyZFBhcnR5QmFja3VwPzogYm9vbGVhbjtcbiAgYmFja3VwUHJvdmlkZXI/OiBCYWNrdXBQcm92aWRlcjtcbiAgYml0Z29QdWJsaWNHcGdLZXk6IEtleTtcbiAgYmFja3VwR3BnS2V5OiBCYWNrdXBHcGdLZXk7XG59O1xuXG5leHBvcnQgdHlwZSBDcmVhdGVFY2RzYUJpdEdvS2V5Y2hhaW5QYXJhbXMgPSBPbWl0PENyZWF0ZUVjZHNhS2V5Y2hhaW5QYXJhbXMsICdiaXRnb0tleWNoYWluJz47XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eddsa.d.ts","sourceRoot":"","sources":["../../../../../../src/bitgo/utils/tss/eddsa/eddsa.ts"],"names":[],"mappings":"AAOA,OAAc,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAsB,QAAQ,EAAgC,MAAM,mBAAmB,CAAC;AAY/F,OAAO,EACL,8BAA8B,EAC9B,8BAA8B,EAC9B,oBAAoB,EACpB,SAAS,EACT,SAAS,EACV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,8BAA8B,EAAE,yBAAyB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACtG,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD;;GAEG;AAEH,qBAAa,UAAW,SAAQ,YAAY,CAAC,QAAQ,CAAC;IAC9C,sBAAsB,CAC1B,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,QAAQ,EACvB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,CAAC,GAAG,CAAC,GACnB,OAAO,CAAC,IAAI,CAAC;IA8ChB;;;;;;;;;;OAUG;IACG,kBAAkB,CAAC,EACvB,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,aAAa,EACb,UAAU,EACV,8BAA8B,GAC/B,EAAE,yBAAyB,GAAG,OAAO,CAAC,QAAQ,CAAC;IA4DhD;;;;;;;;;;OAUG;IACG,oBAAoB,CAAC,EACzB,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,aAAa,EACb,UAAU,GACX,EAAE,yBAAyB,GAAG,OAAO,CAAC,QAAQ,CAAC;IA2DhD;;;;;;;OAOG;IACG,mBAAmB,CAAC,EACxB,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,UAAU,GACX,EAAE,8BAA8B,GAAG,OAAO,CAAC,QAAQ,CAAC;IA8CrD;;;;OAIG;IACG,eAAe,CAAC,MAAM,EAAE;QAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,8BAA8B,CAAC,EAAE,MAAM,CAAC;KACzC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA+CvB,yBAAyB,CAAC,MAAM,EAAE;QACtC,SAAS,EAAE,SAAS,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC;KACb,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,SAAS,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IA+BtD,yBAAyB,CAAC,MAAM,EAAE;QACtC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9B,GAAG,EAAE,MAAM,CAAC;QACZ,iBAAiB,EAAE,oBAAoB,CAAC;QACxC,iBAAiB,EAAE,SAAS,CAAC;KAC9B,GAAG,OAAO,CAAC,MAAM,CAAC;IAkCb,uBAAuB,CAC3B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,6BAA6B,EAAE,8BAA8B,EAC7D,6BAA6B,EAAE,8BAA8B,GAC5D,OAAO,CAAC,SAAS,CAAC;IA6BrB;;;;;;;OAOG;IACG,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"eddsa.d.ts","sourceRoot":"","sources":["../../../../../../src/bitgo/utils/tss/eddsa/eddsa.ts"],"names":[],"mappings":"AAOA,OAAc,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAsB,QAAQ,EAAgC,MAAM,mBAAmB,CAAC;AAY/F,OAAO,EACL,8BAA8B,EAC9B,8BAA8B,EAC9B,oBAAoB,EACpB,SAAS,EACT,SAAS,EACV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,8BAA8B,EAAE,yBAAyB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACtG,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD;;GAEG;AAEH,qBAAa,UAAW,SAAQ,YAAY,CAAC,QAAQ,CAAC;IAC9C,sBAAsB,CAC1B,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,QAAQ,EACvB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,CAAC,GAAG,CAAC,GACnB,OAAO,CAAC,IAAI,CAAC;IA8ChB;;;;;;;;;;OAUG;IACG,kBAAkB,CAAC,EACvB,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,aAAa,EACb,UAAU,EACV,8BAA8B,GAC/B,EAAE,yBAAyB,GAAG,OAAO,CAAC,QAAQ,CAAC;IA4DhD;;;;;;;;;;OAUG;IACG,oBAAoB,CAAC,EACzB,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,aAAa,EACb,UAAU,GACX,EAAE,yBAAyB,GAAG,OAAO,CAAC,QAAQ,CAAC;IA2DhD;;;;;;;OAOG;IACG,mBAAmB,CAAC,EACxB,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,UAAU,GACX,EAAE,8BAA8B,GAAG,OAAO,CAAC,QAAQ,CAAC;IA8CrD;;;;OAIG;IACG,eAAe,CAAC,MAAM,EAAE;QAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,8BAA8B,CAAC,EAAE,MAAM,CAAC;KACzC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA+CvB,yBAAyB,CAAC,MAAM,EAAE;QACtC,SAAS,EAAE,SAAS,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC;KACb,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,SAAS,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IA+BtD,yBAAyB,CAAC,MAAM,EAAE;QACtC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9B,GAAG,EAAE,MAAM,CAAC;QACZ,iBAAiB,EAAE,oBAAoB,CAAC;QACxC,iBAAiB,EAAE,SAAS,CAAC;KAC9B,GAAG,OAAO,CAAC,MAAM,CAAC;IAkCb,uBAAuB,CAC3B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,6BAA6B,EAAE,8BAA8B,EAC7D,6BAA6B,EAAE,8BAA8B,GAC5D,OAAO,CAAC,SAAS,CAAC;IA6BrB;;;;;;;OAOG;IACG,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IA6E1D;;;;;OAKG;IACH,MAAM,CAAC,8BAA8B,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM;CAOtE;AACD;;GAEG;AACH,eAAO,MAAM,QAAQ,mBAAa,CAAC"}
|
|
@@ -373,10 +373,16 @@ class EddsaUtils extends baseTSSUtils_1.default {
|
|
|
373
373
|
const signingKey = MPC.keyDerive(userSigningMaterial.uShare, [userSigningMaterial.bitgoYShare, userSigningMaterial.backupYShare], unsignedTx.derivationPath);
|
|
374
374
|
const signablePayload = Buffer.from(unsignedTx.signableHex, 'hex');
|
|
375
375
|
const userSignShare = await tss_2.createUserSignShare(signablePayload, signingKey.pShare);
|
|
376
|
-
const
|
|
376
|
+
const bitgoIndex = 3;
|
|
377
|
+
const signerShare = signingKey.yShares[bitgoIndex].u + signingKey.yShares[bitgoIndex].chaincode;
|
|
377
378
|
const bitgoGpgKey = await opengpgUtils_1.getBitgoGpgPubKey(this.bitgo);
|
|
378
379
|
const encryptedSignerShare = await opengpgUtils_1.encryptText(signerShare, bitgoGpgKey);
|
|
379
|
-
await
|
|
380
|
+
const userGpgKey = await opengpgUtils_1.generateGPGKeyPair('secp256k1');
|
|
381
|
+
const privateShareProof = await opengpgUtils_1.createShareProof(userGpgKey.privateKey, signingKey.yShares[bitgoIndex].u, 'eddsa');
|
|
382
|
+
const vssProof = signingKey.yShares[bitgoIndex].v;
|
|
383
|
+
const userPublicGpgKey = userGpgKey.publicKey;
|
|
384
|
+
const publicShare = signingKey.yShares[bitgoIndex].y + signingKey.yShares[bitgoIndex].chaincode;
|
|
385
|
+
await tss_2.offerUserToBitgoRShare(this.bitgo, this.wallet.id(), txRequestId, userSignShare, encryptedSignerShare, apiVersion, vssProof, privateShareProof, userPublicGpgKey, publicShare);
|
|
380
386
|
const bitgoToUserRShare = await tss_2.getBitgoToUserRShare(this.bitgo, this.wallet.id(), txRequestId);
|
|
381
387
|
const userToBitGoGShare = await tss_2.createUserToBitGoGShare(userSignShare, bitgoToUserRShare, userSigningMaterial.backupYShare, userSigningMaterial.bitgoYShare, signablePayload);
|
|
382
388
|
await tss_2.sendUserToBitgoGShare(this.bitgo, this.wallet.id(), txRequestId, userToBitGoGShare, apiVersion);
|
|
@@ -401,4 +407,4 @@ exports.EddsaUtils = EddsaUtils;
|
|
|
401
407
|
* @deprecated - use EddsaUtils
|
|
402
408
|
*/
|
|
403
409
|
exports.TssUtils = EddsaUtils;
|
|
404
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRkc2EuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvdHNzL2VkZHNhL2VkZHNhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7R0FFRztBQUNILG9EQUE0QjtBQUM1QiwyQ0FBNkI7QUFDN0IsaURBQW1DO0FBQ25DLHlEQUF1RDtBQUN2RCwwRUFBMkU7QUFFM0Usb0RBQWlFO0FBQ2pFLHFEQUEwRztBQUMxRyxzQ0FRc0I7QUFTdEIsbUVBQTJDO0FBRzNDOztHQUVHO0FBRUgsTUFBYSxVQUFXLFNBQVEsc0JBQXNCO0lBQ3BELEtBQUssQ0FBQyxzQkFBc0IsQ0FDMUIsVUFBa0IsRUFDbEIsWUFBb0IsRUFDcEIsYUFBdUIsRUFDdkIsY0FBc0IsRUFDdEIsYUFBb0I7UUFFcEIsZ0JBQU0sQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDckMsZ0JBQU0sQ0FBQyxhQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUVoRCxNQUFNLFdBQVcsR0FBRyxNQUFNLGdDQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV4RCxNQUFNLFVBQVUsR0FBRyxNQUFNLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNyRSxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXhELE1BQU0sWUFBWSxHQUFHLE1BQU0sT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFNUQsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxXQUFXLEVBQUUsYUFB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S0FBSyxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0NBQ0Y7QUF0Z0JELGdDQXNnQkM7QUFDRDs7R0FFRztBQUNVLFFBQUEsUUFBUSxHQUFHLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHByZXR0aWVyXG4gKi9cbmltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCAqIGFzIGJzNTggZnJvbSAnYnM1OCc7XG5pbXBvcnQgKiBhcyBvcGVucGdwIGZyb20gJ29wZW5wZ3AnO1xuaW1wb3J0IHsgRWQyNTUxOUJJUDMyIH0gZnJvbSAnLi4vLi4vLi4vLi4vYWNjb3VudC1saWInO1xuaW1wb3J0IEVkZHNhLCB7IFNpZ25TaGFyZSwgR1NoYXJlIH0gZnJvbSAnLi4vLi4vLi4vLi4vYWNjb3VudC1saWIvbXBjL3Rzcyc7XG5pbXBvcnQgeyBBZGRLZXljaGFpbk9wdGlvbnMsIEtleWNoYWluLCBLZXlUeXBlLCBDcmVhdGVCYWNrdXBPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4va2V5Y2hhaW4nO1xuaW1wb3J0IHsgdmVyaWZ5V2FsbGV0U2lnbmF0dXJlIH0gZnJvbSAnLi4vLi4vLi4vdHNzL2VkZHNhL2VkZHNhJztcbmltcG9ydCB7IGVuY3J5cHRUZXh0LCBnZXRCaXRnb0dwZ1B1YktleSwgY3JlYXRlU2hhcmVQcm9vZiwgZ2VuZXJhdGVHUEdLZXlQYWlyIH0gZnJvbSAnLi4vLi4vb3BlbmdwZ1V0aWxzJztcbmltcG9ydCB7XG4gIGNyZWF0ZVVzZXJTaWduU2hhcmUsXG4gIGNyZWF0ZVVzZXJUb0JpdEdvR1NoYXJlLFxuICBnZXRCaXRnb1RvVXNlclJTaGFyZSxcbiAgZ2V0VHhSZXF1ZXN0LFxuICBvZmZlclVzZXJUb0JpdGdvUlNoYXJlLFxuICBzZW5kVXNlclRvQml0Z29HU2hhcmUsXG4gIFNpZ25pbmdNYXRlcmlhbCxcbn0gZnJvbSAnLi4vLi4vLi4vdHNzJztcbmltcG9ydCB7XG4gIEN1c3RvbUdTaGFyZUdlbmVyYXRpbmdGdW5jdGlvbixcbiAgQ3VzdG9tUlNoYXJlR2VuZXJhdGluZ0Z1bmN0aW9uLFxuICBTaWduYXR1cmVTaGFyZVJlY29yZCxcbiAgVFNTUGFyYW1zLFxuICBUeFJlcXVlc3QsXG59IGZyb20gJy4uL2Jhc2VUeXBlcyc7XG5pbXBvcnQgeyBDcmVhdGVFZGRzYUJpdEdvS2V5Y2hhaW5QYXJhbXMsIENyZWF0ZUVkZHNhS2V5Y2hhaW5QYXJhbXMsIEtleVNoYXJlLCBZU2hhcmUgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCBiYXNlVFNTVXRpbHMgZnJvbSAnLi4vYmFzZVRTU1V0aWxzJztcbmltcG9ydCB7IEtleWNoYWluc1RyaXBsZXQgfSBmcm9tICcuLi8uLi8uLi9iYXNlQ29pbic7XG5cbi8qKlxuICogVXRpbGl0eSBmdW5jdGlvbnMgZm9yIFRTUyB3b3JrIGZsb3dzLlxuICovXG5cbmV4cG9ydCBjbGFzcyBFZGRzYVV0aWxzIGV4dGVuZHMgYmFzZVRTU1V0aWxzPEtleVNoYXJlPiB7XG4gIGFzeW5jIHZlcmlmeVdhbGxldFNpZ25hdHVyZXMoXG4gICAgdXNlckdwZ1B1Yjogc3RyaW5nLFxuICAgIGJhY2t1cEdwZ1B1Yjogc3RyaW5nLFxuICAgIGJpdGdvS2V5Y2hhaW46IEtleWNoYWluLFxuICAgIGRlY3J5cHRlZFNoYXJlOiBzdHJpbmcsXG4gICAgdmVyaWZpZXJJbmRleDogMSB8IDJcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXNzZXJ0KGJpdGdvS2V5Y2hhaW4uY29tbW9uS2V5Y2hhaW4pO1xuICAgIGFzc2VydChiaXRnb0tleWNoYWluLndhbGxldEhTTUdQR1B1YmxpY0tleVNpZ3MpO1xuXG4gICAgY29uc3QgYml0Z29HcGdLZXkgPSBhd2FpdCBnZXRCaXRnb0dwZ1B1YktleSh0aGlzLmJpdGdvKTtcblxuICAgIGNvbnN0IHVzZXJLZXlQdWIgPSBhd2FpdCBvcGVucGdwLnJlYWRLZXkoeyBhcm1vcmVkS2V5OiB1c2VyR3BnUHViIH0pO1xuICAgIGNvbnN0IHVzZXJLZXlJZCA9IHVzZXJLZXlQdWIua2V5UGFja2V0LmdldEZpbmdlcnByaW50KCk7XG5cbiAgICBjb25zdCBiYWNrdXBLZXlQdWIgPSBhd2FpdCBvcGVucGdwLnJlYWRLZXkoeyBhcm1vcmVkS2V5OiBiYWNrdXBHcGdQdWIgfSk7XG4gICAgY29uc3QgYmFja3VwS2V5SWQgPSBiYWNrdXBLZXlQdWIua2V5UGFja2V0LmdldEZpbmdlcnByaW50KCk7XG5cbiAgICBjb25zdCB3YWxsZXRTaWduYXR1cmVzID0gYXdhaXQgb3BlbnBncC5yZWFkS2V5cyh7IGFybW9yZWRLZXlzOiBiaXRnb0tleWNoYWluLndhbGxldEhTTUdQR1B1YmxpY0tleVNpZ3MgfSk7XG4gICAgaWYgKHdhbGxldFNpZ25hdHVyZXMubGVuZ3RoICE9PSAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgd2FsbGV0IHNpZ25hdHVyZXMnKTtcbiAgICB9XG5cbiAgICBpZiAodXNlcktleUlkICE9PSB3YWxsZXRTaWduYXR1cmVzWzBdLmtleVBhY2tldC5nZXRGaW5nZXJwcmludCgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGZpcnN0IHdhbGxldCBzaWduYXR1cmUncyBmaW5nZXJwcmludCBkb2VzIG5vdCBtYXRjaCBwYXNzZWQgdXNlciBncGcga2V5J3MgZmluZ2VycHJpbnRgKTtcbiAgICB9XG5cbiAgICBpZiAoYmFja3VwS2V5SWQgIT09IHdhbGxldFNpZ25hdHVyZXNbMV0ua2V5UGFja2V0LmdldEZpbmdlcnByaW50KCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgc2Vjb25kIHdhbGxldCBzaWduYXR1cmUncyBmaW5nZXJwcmludCBkb2VzIG5vdCBtYXRjaCBwYXNzZWQgYmFja3VwIGdwZyBrZXkncyBmaW5nZXJwcmludGApO1xuICAgIH1cblxuICAgIGF3YWl0IHZlcmlmeVdhbGxldFNpZ25hdHVyZSh7XG4gICAgICB3YWxsZXRTaWduYXR1cmU6IHdhbGxldFNpZ25hdHVyZXNbMF0sXG4gICAgICBjb21tb25LZXljaGFpbjogYml0Z29LZXljaGFpbi5jb21tb25LZXljaGFpbixcbiAgICAgIHVzZXJLZXlJZCxcbiAgICAgIGJhY2t1cEtleUlkLFxuICAgICAgYml0Z29QdWI6IGJpdGdvR3BnS2V5LFxuICAgICAgZGVjcnlwdGVkU2hhcmUsXG4gICAgICB2ZXJpZmllckluZGV4LFxuICAgIH0pO1xuXG4gICAgYXdhaXQgdmVyaWZ5V2FsbGV0U2lnbmF0dXJlKHtcbiAgICAgIHdhbGxldFNpZ25hdHVyZTogd2FsbGV0U2lnbmF0dXJlc1sxXSxcbiAgICAgIGNvbW1vbktleWNoYWluOiBiaXRnb0tleWNoYWluLmNvbW1vbktleWNoYWluLFxuICAgICAgdXNlcktleUlkLFxuICAgICAgYmFja3VwS2V5SWQsXG4gICAgICBiaXRnb1B1YjogYml0Z29HcGdLZXksXG4gICAgICBkZWNyeXB0ZWRTaGFyZSxcbiAgICAgIHZlcmlmaWVySW5kZXgsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIEtleWNoYWluIGNvbnRhaW5pbmcgdGhlIFVzZXIncyBUU1Mgc2lnbmluZyBtYXRlcmlhbHMuXG4gICAqIFdlIG5lZWQgdG8gaGF2ZSB0aGUgcGFzc3BocmFzZSBiZSBvcHRpb25hbCB0byBhbGxvdyBmb3IgdGhlIGNsaWVudCB0byBzdG9yZSB0aGVpciBiYWNrdXAga2V5IG9uIHRoZWlyIHByZW1pc2VzXG4gICAqXG4gICAqIEBwYXJhbSB1c2VyR3BnS2V5IC0gZXBoZW1lcmFsIEdQRyBrZXkgdG8gZW5jcnlwdCAvIGRlY3J5cHQgc2Vuc2l0dmUgZGF0YSBleGNoYW5nZWQgYmV0d2VlbiB1c2VyIGFuZCBzZXJ2ZXJcbiAgICogQHBhcmFtIHVzZXJLZXlTaGFyZSAtIHVzZXIncyBUU1Mga2V5IHNoYXJlXG4gICAqIEBwYXJhbSBiYWNrdXBLZXlTaGFyZSAtIGJhY2t1cCdzIFRTUyBrZXkgc2hhcmVcbiAgICogQHBhcmFtIGJpdGdvS2V5Y2hhaW4gLSBwcmV2aW91c2x5IGNyZWF0ZWQgQml0R28ga2V5Y2hhaW47IG11c3QgYmUgY29tcGF0aWJsZSB3aXRoIHVzZXIgYW5kIGJhY2t1cCBrZXkgc2hhcmVzXG4gICAqIEBwYXJhbSBbcGFzc3BocmFzZV0gLSBvcHRpb25hbCB3YWxsZXQgcGFzc3BocmFzZSB1c2VkIHRvIGVuY3J5cHQgdXNlcidzIHNpZ25pbmcgbWF0ZXJpYWxzXG4gICAqIEBwYXJhbSBbb3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlXSAtIG9wdGlvbmFsIGVuY3J5cHRpb24gY29kZSBuZWVkZWQgZm9yIHdhbGxldCBwYXNzd29yZCByZXNldCBmb3IgaG90IHdhbGxldHNcbiAgICovXG4gIGFzeW5jIGNyZWF0ZVVzZXJLZXljaGFpbih7XG4gICAgdXNlckdwZ0tleSxcbiAgICBiYWNrdXBHcGdLZXksXG4gICAgdXNlcktleVNoYXJlLFxuICAgIGJhY2t1cEtleVNoYXJlLFxuICAgIGJpdGdvS2V5Y2hhaW4sXG4gICAgcGFzc3BocmFzZSxcbiAgICBvcmlnaW5hbFBhc3Njb2RlRW5jcnlwdGlvbkNvZGUsXG4gIH06IENyZWF0ZUVkZHNhS2V5Y2hhaW5QYXJhbXMpOiBQcm9taXNlPEtleWNoYWluPiB7XG4gICAgY29uc3QgTVBDID0gYXdhaXQgRWRkc2EuaW5pdGlhbGl6ZSgpO1xuICAgIGNvbnN0IGJpdGdvS2V5U2hhcmVzID0gYml0Z29LZXljaGFpbi5rZXlTaGFyZXM7XG4gICAgaWYgKCFiaXRnb0tleVNoYXJlcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIEJpdEdvIGtleSBzaGFyZXMnKTtcbiAgICB9XG5cbiAgICBjb25zdCBiaXRHb1RvVXNlclNoYXJlID0gYml0Z29LZXlTaGFyZXMuZmluZCgoa2V5U2hhcmUpID0+IGtleVNoYXJlLmZyb20gPT09ICdiaXRnbycgJiYga2V5U2hhcmUudG8gPT09ICd1c2VyJyk7XG4gICAgaWYgKCFiaXRHb1RvVXNlclNoYXJlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgQml0R28gdG8gVXNlciBrZXkgc2hhcmUnKTtcbiAgICB9XG5cbiAgICBjb25zdCBiaXRHb1RvVXNlclByaXZhdGVTaGFyZSA9IGF3YWl0IHRoaXMuZGVjcnlwdFByaXZhdGVTaGFyZShiaXRHb1RvVXNlclNoYXJlLnByaXZhdGVTaGFyZSwgdXNlckdwZ0tleSk7XG5cbiAgICBhd2FpdCB0aGlzLnZlcmlmeVdhbGxldFNpZ25hdHVyZXMoXG4gICAgICB1c2VyR3BnS2V5LnB1YmxpY0tleSxcbiAgICAgIGJhY2t1cEdwZ0tleS5wdWJsaWNLZXksXG4gICAgICBiaXRnb0tleWNoYWluLFxuICAgICAgYml0R29Ub1VzZXJQcml2YXRlU2hhcmUsXG4gICAgICAxXG4gICAgKTtcblxuICAgIGNvbnN0IGJpdGdvVG9Vc2VyOiBZU2hhcmUgPSB7XG4gICAgICBpOiAxLFxuICAgICAgajogMyxcbiAgICAgIHk6IGJpdEdvVG9Vc2VyU2hhcmUucHVibGljU2hhcmUuc2xpY2UoMCwgNjQpLFxuICAgICAgdjogYml0R29Ub1VzZXJTaGFyZS52c3NQcm9vZixcbiAgICAgIHU6IGJpdEdvVG9Vc2VyUHJpdmF0ZVNoYXJlLnNsaWNlKDAsIDY0KSxcbiAgICAgIGNoYWluY29kZTogYml0R29Ub1VzZXJQcml2YXRlU2hhcmUuc2xpY2UoNjQpLFxuICAgIH07XG5cbiAgICAvLyBUT0RPKEJHLTQ3MTcwKTogdXNlIHRzcy5jcmVhdGVDb21iaW5lZEtleSBoZWxwZXIgd2hlbiBzaWduYXR1cmVzIGFyZSBzdXBwb3J0ZWRcbiAgICBjb25zdCB1c2VyQ29tYmluZWQgPSBNUEMua2V5Q29tYmluZSh1c2VyS2V5U2hhcmUudVNoYXJlLCBbYmFja3VwS2V5U2hhcmUueVNoYXJlc1sxXSwgYml0Z29Ub1VzZXJdKTtcbiAgICBjb25zdCBjb21tb25LZXljaGFpbiA9IHVzZXJDb21iaW5lZC5wU2hhcmUueSArIHVzZXJDb21iaW5lZC5wU2hhcmUuY2hhaW5jb2RlO1xuICAgIGlmIChjb21tb25LZXljaGFpbiAhPT0gYml0Z29LZXljaGFpbi5jb21tb25LZXljaGFpbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gY3JlYXRlIHVzZXIga2V5Y2hhaW4gLSBjb21tb25LZXljaGFpbnMgZG8gbm90IG1hdGNoLicpO1xuICAgIH1cblxuICAgIGNvbnN0IHVzZXJTaWduaW5nTWF0ZXJpYWw6IFNpZ25pbmdNYXRlcmlhbCA9IHtcbiAgICAgIHVTaGFyZTogdXNlcktleVNoYXJlLnVTaGFyZSxcbiAgICAgIGJpdGdvWVNoYXJlOiBiaXRnb1RvVXNlcixcbiAgICAgIGJhY2t1cFlTaGFyZTogYmFja3VwS2V5U2hhcmUueVNoYXJlc1sxXSxcbiAgICB9O1xuXG4gICAgY29uc3QgdXNlcktleWNoYWluUGFyYW1zOiBBZGRLZXljaGFpbk9wdGlvbnMgPSB7XG4gICAgICBzb3VyY2U6ICd1c2VyJyxcbiAgICAgIGtleVR5cGU6ICd0c3MnIGFzIEtleVR5cGUsXG4gICAgICBjb21tb25LZXljaGFpbjogYml0Z29LZXljaGFpbi5jb21tb25LZXljaGFpbixcbiAgICAgIG9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZSxcbiAgICB9O1xuICAgIGlmIChwYXNzcGhyYXNlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHVzZXJLZXljaGFpblBhcmFtcy5lbmNyeXB0ZWRQcnYgPSB0aGlzLmJpdGdvLmVuY3J5cHQoe1xuICAgICAgICBpbnB1dDogSlNPTi5zdHJpbmdpZnkodXNlclNpZ25pbmdNYXRlcmlhbCksXG4gICAgICAgIHBhc3N3b3JkOiBwYXNzcGhyYXNlLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYmFzZUNvaW4ua2V5Y2hhaW5zKCkuYWRkKHVzZXJLZXljaGFpblBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIEtleWNoYWluIGNvbnRhaW5pbmcgdGhlIEJhY2t1cCBwYXJ0eSdzIFRTUyBzaWduaW5nIG1hdGVyaWFscy5cbiAgICogV2UgbmVlZCB0byBoYXZlIHRoZSBwYXNzcGhyYXNlIGJlIG9wdGlvbmFsIHRvIGFsbG93IGZvciB0aGUgY2xpZW50IHRvIHN0b3JlIHRoZWlyIGJhY2t1cCBrZXkgb24gdGhlaXIgcHJlbWlzZXNcbiAgICpcbiAgICogQHBhcmFtIHVzZXJHcGdLZXkgLSBlcGhlbWVyYWwgR1BHIGtleSB0byBlbmNyeXB0IC8gZGVjcnlwdCBzZW5zaXR2ZSBkYXRhIGV4Y2hhbmdlZCBiZXR3ZWVuIHVzZXIgYW5kIHNlcnZlclxuICAgKiBAcGFyYW0gdXNlcktleVNoYXJlIC0gVXNlcidzIFRTUyBLZXlzaGFyZVxuICAgKiBAcGFyYW0gYmFja3VwR3BnS2V5IC0gZXBoZW1lcmFsIEdQRyBrZXkgdG8gZW5jcnlwdCAvIGRlY3J5cHQgc2Vuc2l0dmUgZGF0YSBleGNoYW5nZWQgYmV0d2VlbiBiYWNrdXAgYW5kIHNlcnZlclxuICAgKiBAcGFyYW0gYmFja3VwS2V5U2hhcmUgLSBCYWNrdXAncyBUU1MgS2V5c2hhcmVcbiAgICogQHBhcmFtIGJpdGdvS2V5Y2hhaW4gLSBwcmV2aW91c2x5IGNyZWF0ZWQgQml0R28ga2V5Y2hhaW47IG11c3QgYmUgY29tcGF0aWJsZSB3aXRoIHVzZXIgYW5kIGJhY2t1cCBrZXkgc2hhcmVzXG4gICAqIEBwYXJhbSBbcGFzc3BocmFzZV0gLSBvcHRpb25hbCB3YWxsZXQgcGFzc3BocmFzZSB1c2VkIHRvIGVuY3J5cHQgdXNlcidzIHNpZ25pbmcgbWF0ZXJpYWxzXG4gICAqL1xuICBhc3luYyBjcmVhdGVCYWNrdXBLZXljaGFpbih7XG4gICAgdXNlckdwZ0tleSxcbiAgICBiYWNrdXBHcGdLZXksXG4gICAgdXNlcktleVNoYXJlLFxuICAgIGJhY2t1cEtleVNoYXJlLFxuICAgIGJpdGdvS2V5Y2hhaW4sXG4gICAgcGFzc3BocmFzZSxcbiAgfTogQ3JlYXRlRWRkc2FLZXljaGFpblBhcmFtcyk6IFByb21pc2U8S2V5Y2hhaW4+IHtcbiAgICBjb25zdCBNUEMgPSBhd2FpdCBFZGRzYS5pbml0aWFsaXplKCk7XG4gICAgY29uc3QgYml0Z29LZXlTaGFyZXMgPSBiaXRnb0tleWNoYWluLmtleVNoYXJlcztcbiAgICBpZiAoIWJpdGdvS2V5U2hhcmVzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgYml0Z28ga2V5c2hhcmVzJyk7XG4gICAgfVxuXG4gICAgY29uc3QgYml0R29Ub0JhY2t1cFNoYXJlID0gYml0Z29LZXlTaGFyZXMuZmluZCgoa2V5U2hhcmUpID0+IGtleVNoYXJlLmZyb20gPT09ICdiaXRnbycgJiYga2V5U2hhcmUudG8gPT09ICdiYWNrdXAnKTtcbiAgICBpZiAoIWJpdEdvVG9CYWNrdXBTaGFyZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIEJpdEdvIHRvIFVzZXIga2V5IHNoYXJlJyk7XG4gICAgfVxuXG4gICAgY29uc3QgYml0R29Ub0JhY2t1cFByaXZhdGVTaGFyZSA9IGF3YWl0IHRoaXMuZGVjcnlwdFByaXZhdGVTaGFyZShiaXRHb1RvQmFja3VwU2hhcmUucHJpdmF0ZVNoYXJlLCBiYWNrdXBHcGdLZXkpO1xuXG4gICAgYXdhaXQgdGhpcy52ZXJpZnlXYWxsZXRTaWduYXR1cmVzKFxuICAgICAgdXNlckdwZ0tleS5wdWJsaWNLZXksXG4gICAgICBiYWNrdXBHcGdLZXkucHVibGljS2V5LFxuICAgICAgYml0Z29LZXljaGFpbixcbiAgICAgIGJpdEdvVG9CYWNrdXBQcml2YXRlU2hhcmUsXG4gICAgICAyXG4gICAgKTtcblxuICAgIGNvbnN0IGJpdGdvVG9CYWNrdXA6IFlTaGFyZSA9IHtcbiAgICAgIGk6IDIsXG4gICAgICBqOiAzLFxuICAgICAgeTogYml0R29Ub0JhY2t1cFNoYXJlLnB1YmxpY1NoYXJlLnNsaWNlKDAsIDY0KSxcbiAgICAgIHY6IGJpdEdvVG9CYWNrdXBTaGFyZS52c3NQcm9vZixcbiAgICAgIHU6IGJpdEdvVG9CYWNrdXBQcml2YXRlU2hhcmUuc2xpY2UoMCwgNjQpLFxuICAgICAgY2hhaW5jb2RlOiBiaXRHb1RvQmFja3VwUHJpdmF0ZVNoYXJlLnNsaWNlKDY0KSxcbiAgICB9O1xuXG4gICAgLy8gVE9ETyhCRy00NzE3MCk6IHVzZSB0c3MuY3JlYXRlQ29tYmluZWRLZXkgaGVscGVyIHdoZW4gc2lnbmF0dXJlcyBhcmUgc3VwcG9ydGVkXG4gICAgY29uc3QgYmFja3VwQ29tYmluZWQgPSBNUEMua2V5Q29tYmluZShiYWNrdXBLZXlTaGFyZS51U2hhcmUsIFt1c2VyS2V5U2hhcmUueVNoYXJlc1syXSwgYml0Z29Ub0JhY2t1cF0pO1xuICAgIGNvbnN0IGNvbW1vbktleWNoYWluID0gYmFja3VwQ29tYmluZWQucFNoYXJlLnkgKyBiYWNrdXBDb21iaW5lZC5wU2hhcmUuY2hhaW5jb2RlO1xuICAgIGlmIChjb21tb25LZXljaGFpbiAhPT0gYml0Z29LZXljaGFpbi5jb21tb25LZXljaGFpbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gY3JlYXRlIGJhY2t1cCBrZXljaGFpbiAtIGNvbW1vbktleWNoYWlucyBkbyBub3QgbWF0Y2guJyk7XG4gICAgfVxuXG4gICAgY29uc3QgYmFja3VwU2lnbmluZ01hdGVyaWFsOiBTaWduaW5nTWF0ZXJpYWwgPSB7XG4gICAgICB1U2hhcmU6IGJhY2t1cEtleVNoYXJlLnVTaGFyZSxcbiAgICAgIGJpdGdvWVNoYXJlOiBiaXRnb1RvQmFja3VwLFxuICAgICAgdXNlcllTaGFyZTogdXNlcktleVNoYXJlLnlTaGFyZXNbMl0sXG4gICAgfTtcbiAgICBjb25zdCBwcnYgPSBKU09OLnN0cmluZ2lmeShiYWNrdXBTaWduaW5nTWF0ZXJpYWwpO1xuXG4gICAgY29uc3QgcGFyYW1zOiBDcmVhdGVCYWNrdXBPcHRpb25zID0ge1xuICAgICAgc291cmNlOiAnYmFja3VwJyxcbiAgICAgIGtleVR5cGU6ICd0c3MnLFxuICAgICAgY29tbW9uS2V5Y2hhaW46IGJpdGdvS2V5Y2hhaW4uY29tbW9uS2V5Y2hhaW4sXG4gICAgICBwcnY6IHBydixcbiAgICB9O1xuXG4gICAgaWYgKHBhc3NwaHJhc2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcGFyYW1zLmVuY3J5cHRlZFBydiA9IHRoaXMuYml0Z28uZW5jcnlwdCh7IGlucHV0OiBwcnYsIHBhc3N3b3JkOiBwYXNzcGhyYXNlIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmJhc2VDb2luLmtleWNoYWlucygpLmNyZWF0ZUJhY2t1cChwYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBLZXljaGFpbiBjb250YWluaW5nIEJpdEdvJ3MgVFNTIHNpZ25pbmcgbWF0ZXJpYWxzLlxuICAgKlxuICAgKiBAcGFyYW0gdXNlckdwZ0tleSAtIGVwaGVtZXJhbCBHUEcga2V5IHRvIGVuY3J5cHQgLyBkZWNyeXB0IHNlbnNpdHZlIGRhdGEgZXhjaGFuZ2VkIGJldHdlZW4gdXNlciBhbmQgc2VydmVyXG4gICAqIEBwYXJhbSB1c2VyS2V5U2hhcmUgLSB1c2VyJ3MgVFNTIGtleSBzaGFyZVxuICAgKiBAcGFyYW0gYmFja3VwS2V5U2hhcmUgLSBiYWNrdXAncyBUU1Mga2V5IHNoYXJlXG4gICAqIEBwYXJhbSBlbnRlcnByaXNlIC0gZW50ZXJwcmlzZSBhc3NvY2lhdGVkIHRvIHRoZSB3YWxsZXRcbiAgICovXG4gIGFzeW5jIGNyZWF0ZUJpdGdvS2V5Y2hhaW4oe1xuICAgIHVzZXJHcGdLZXksXG4gICAgYmFja3VwR3BnS2V5LFxuICAgIHVzZXJLZXlTaGFyZSxcbiAgICBiYWNrdXBLZXlTaGFyZSxcbiAgICBlbnRlcnByaXNlLFxuICB9OiBDcmVhdGVFZGRzYUJpdEdvS2V5Y2hhaW5QYXJhbXMpOiBQcm9taXNlPEtleWNoYWluPiB7XG4gICAgLy8gVE9ETyhCRy00NzE3MCk6IHVzZSB0c3MuZW5jcnlwdFlTaGFyZSBoZWxwZXIgd2hlbiBzaWduYXR1cmVzIGFyZSBzdXBwb3J0ZWRcbiAgICBjb25zdCB1c2VyVG9CaXRnb1B1YmxpY1NoYXJlID0gQnVmZmVyLmNvbmNhdChbXG4gICAgICBCdWZmZXIuZnJvbSh1c2VyS2V5U2hhcmUudVNoYXJlLnksICdoZXgnKSxcbiAgICAgIEJ1ZmZlci5mcm9tKHVzZXJLZXlTaGFyZS51U2hhcmUuY2hhaW5jb2RlLCAnaGV4JyksXG4gICAgXSkudG9TdHJpbmcoJ2hleCcpO1xuICAgIGNvbnN0IHVzZXJUb0JpdGdvUHJpdmF0ZVNoYXJlID0gQnVmZmVyLmNvbmNhdChbXG4gICAgICBCdWZmZXIuZnJvbSh1c2VyS2V5U2hhcmUueVNoYXJlc1szXS51LCAnaGV4JyksXG4gICAgICBCdWZmZXIuZnJvbSh1c2VyS2V5U2hhcmUueVNoYXJlc1szXS5jaGFpbmNvZGUsICdoZXgnKSxcbiAgICBdKS50b1N0cmluZygnaGV4Jyk7XG4gICAgY29uc3QgdXNlclRvQml0Z29LZXlTaGFyZSA9IHtcbiAgICAgIHB1YmxpY1NoYXJlOiB1c2VyVG9CaXRnb1B1YmxpY1NoYXJlLFxuICAgICAgcHJpdmF0ZVNoYXJlOiB1c2VyVG9CaXRnb1ByaXZhdGVTaGFyZSxcbiAgICAgIHByaXZhdGVTaGFyZVByb29mOiBhd2FpdCBjcmVhdGVTaGFyZVByb29mKHVzZXJHcGdLZXkucHJpdmF0ZUtleSwgdXNlclRvQml0Z29Qcml2YXRlU2hhcmUuc2xpY2UoMCwgNjQpLCAnZWRkc2EnKSxcbiAgICAgIHZzc1Byb29mOiB1c2VyS2V5U2hhcmUueVNoYXJlc1szXS52LFxuICAgIH07XG5cbiAgICBjb25zdCBiYWNrdXBUb0JpdGdvUHVibGljU2hhcmUgPSBCdWZmZXIuY29uY2F0KFtcbiAgICAgIEJ1ZmZlci5mcm9tKGJhY2t1cEtleVNoYXJlLnVTaGFyZS55LCAnaGV4JyksXG4gICAgICBCdWZmZXIuZnJvbShiYWNrdXBLZXlTaGFyZS51U2hhcmUuY2hhaW5jb2RlLCAnaGV4JyksXG4gICAgXSkudG9TdHJpbmcoJ2hleCcpO1xuICAgIGNvbnN0IGJhY2t1cFRvQml0Z29Qcml2YXRlU2hhcmUgPSBCdWZmZXIuY29uY2F0KFtcbiAgICAgIEJ1ZmZlci5mcm9tKGJhY2t1cEtleVNoYXJlLnlTaGFyZXNbM10udSwgJ2hleCcpLFxuICAgICAgQnVmZmVyLmZyb20oYmFja3VwS2V5U2hhcmUueVNoYXJlc1szXS5jaGFpbmNvZGUsICdoZXgnKSxcbiAgICBdKS50b1N0cmluZygnaGV4Jyk7XG4gICAgY29uc3QgYmFja3VwVG9CaXRnb0tleVNoYXJlID0ge1xuICAgICAgcHVibGljU2hhcmU6IGJhY2t1cFRvQml0Z29QdWJsaWNTaGFyZSxcbiAgICAgIHByaXZhdGVTaGFyZTogYmFja3VwVG9CaXRnb1ByaXZhdGVTaGFyZSxcbiAgICAgIHByaXZhdGVTaGFyZVByb29mOiBhd2FpdCBjcmVhdGVTaGFyZVByb29mKFxuICAgICAgICBiYWNrdXBHcGdLZXkucHJpdmF0ZUtleSxcbiAgICAgICAgYmFja3VwVG9CaXRnb1ByaXZhdGVTaGFyZS5zbGljZSgwLCA2NCksXG4gICAgICAgICdlZGRzYSdcbiAgICAgICksXG4gICAgICB2c3NQcm9vZjogYmFja3VwS2V5U2hhcmUueVNoYXJlc1szXS52LFxuICAgIH07XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jcmVhdGVCaXRnb0tleWNoYWluSW5XUChcbiAgICAgIHVzZXJHcGdLZXksXG4gICAgICBiYWNrdXBHcGdLZXksXG4gICAgICB1c2VyVG9CaXRnb0tleVNoYXJlLFxuICAgICAgYmFja3VwVG9CaXRnb0tleVNoYXJlLFxuICAgICAgJ3RzcycsXG4gICAgICBlbnRlcnByaXNlXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIFVzZXIsIEJhY2t1cCwgYW5kIEJpdEdvIFRTUyBLZXljaGFpbnMuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMucGFzc3BocmFzZSAtIHBhc3NwaHJhc2UgdXNlZCB0byBlbmNyeXB0IHNpZ25pbmcgbWF0ZXJpYWxzIGNyZWF0ZWQgZm9yIFVzZXIgYW5kIEJhY2t1cFxuICAgKi9cbiAgYXN5bmMgY3JlYXRlS2V5Y2hhaW5zKHBhcmFtczoge1xuICAgIHBhc3NwaHJhc2U/OiBzdHJpbmc7XG4gICAgZW50ZXJwcmlzZT86IHN0cmluZztcbiAgICBvcmlnaW5hbFBhc3Njb2RlRW5jcnlwdGlvbkNvZGU/OiBzdHJpbmc7XG4gIH0pOiBQcm9taXNlPEtleWNoYWluc1RyaXBsZXQ+IHtcbiAgICBjb25zdCBNUEMgPSBhd2FpdCBFZGRzYS5pbml0aWFsaXplKCk7XG4gICAgY29uc3QgbSA9IDI7XG4gICAgY29uc3QgbiA9IDM7XG5cbiAgICBjb25zdCB1c2VyS2V5U2hhcmUgPSBNUEMua2V5U2hhcmUoMSwgbSwgbik7XG4gICAgY29uc3QgYmFja3VwS2V5U2hhcmUgPSBNUEMua2V5U2hhcmUoMiwgbSwgbik7XG5cbiAgICBjb25zdCB1c2VyR3BnS2V5ID0gYXdhaXQgZ2VuZXJhdGVHUEdLZXlQYWlyKCdzZWNwMjU2azEnKTtcbiAgICBjb25zdCBiYWNrdXBHcGdLZXkgPSBhd2FpdCBnZW5lcmF0ZUdQR0tleVBhaXIoJ3NlY3AyNTZrMScpO1xuXG4gICAgY29uc3QgYml0Z29LZXljaGFpbiA9IGF3YWl0IHRoaXMuY3JlYXRlQml0Z29LZXljaGFpbih7XG4gICAgICB1c2VyR3BnS2V5LFxuICAgICAgdXNlcktleVNoYXJlLFxuICAgICAgYmFja3VwR3BnS2V5LFxuICAgICAgYmFja3VwS2V5U2hhcmUsXG4gICAgICBlbnRlcnByaXNlOiBwYXJhbXMuZW50ZXJwcmlzZSxcbiAgICB9KTtcbiAgICBjb25zdCB1c2VyS2V5Y2hhaW5Qcm9taXNlID0gdGhpcy5jcmVhdGVVc2VyS2V5Y2hhaW4oe1xuICAgICAgdXNlckdwZ0tleSxcbiAgICAgIHVzZXJLZXlTaGFyZSxcbiAgICAgIGJhY2t1cEdwZ0tleSxcbiAgICAgIGJhY2t1cEtleVNoYXJlLFxuICAgICAgYml0Z29LZXljaGFpbixcbiAgICAgIHBhc3NwaHJhc2U6IHBhcmFtcy5wYXNzcGhyYXNlLFxuICAgICAgb3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlOiBwYXJhbXMub3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlLFxuICAgIH0pO1xuICAgIGNvbnN0IGJhY2t1cEtleWNoYWluUHJvbWlzZSA9IHRoaXMuY3JlYXRlQmFja3VwS2V5Y2hhaW4oe1xuICAgICAgdXNlckdwZ0tleSxcbiAgICAgIHVzZXJLZXlTaGFyZSxcbiAgICAgIGJhY2t1cEdwZ0tleSxcbiAgICAgIGJhY2t1cEtleVNoYXJlLFxuICAgICAgYml0Z29LZXljaGFpbixcbiAgICAgIHBhc3NwaHJhc2U6IHBhcmFtcy5wYXNzcGhyYXNlLFxuICAgIH0pO1xuICAgIGNvbnN0IFt1c2VyS2V5Y2hhaW4sIGJhY2t1cEtleWNoYWluXSA9IGF3YWl0IFByb21pc2UuYWxsKFt1c2VyS2V5Y2hhaW5Qcm9taXNlLCBiYWNrdXBLZXljaGFpblByb21pc2VdKTtcblxuICAgIC8vIGNyZWF0ZSB3YWxsZXRcbiAgICBjb25zdCBrZXljaGFpbnMgPSB7XG4gICAgICB1c2VyS2V5Y2hhaW4sXG4gICAgICBiYWNrdXBLZXljaGFpbixcbiAgICAgIGJpdGdvS2V5Y2hhaW4sXG4gICAgfTtcblxuICAgIHJldHVybiBrZXljaGFpbnM7XG4gIH1cblxuICBhc3luYyBjcmVhdGVSU2hhcmVGcm9tVHhSZXF1ZXN0KHBhcmFtczoge1xuICAgIHR4UmVxdWVzdDogVHhSZXF1ZXN0O1xuICAgIHBydjogc3RyaW5nO1xuICB9KTogUHJvbWlzZTx7IHJTaGFyZTogU2lnblNoYXJlOyBzaWduaW5nS2V5WVNoYXJlOiBZU2hhcmUgfT4ge1xuICAgIGNvbnN0IHsgdHhSZXF1ZXN0LCBwcnYgfSA9IHBhcmFtcztcbiAgICBjb25zdCB0eFJlcXVlc3RSZXNvbHZlZDogVHhSZXF1ZXN0ID0gdHhSZXF1ZXN0O1xuXG4gICAgY29uc3QgaGRUcmVlID0gYXdhaXQgRWQyNTUxOUJJUDMyLmluaXRpYWxpemUoKTtcbiAgICBjb25zdCBNUEMgPSBhd2FpdCBFZGRzYS5pbml0aWFsaXplKGhkVHJlZSk7XG5cbiAgICBjb25zdCB1c2VyU2lnbmluZ01hdGVyaWFsOiBTaWduaW5nTWF0ZXJpYWwgPSBKU09OLnBhcnNlKHBydik7XG4gICAgaWYgKCF1c2VyU2lnbmluZ01hdGVyaWFsLmJhY2t1cFlTaGFyZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHVzZXIga2V5IC0gbWlzc2luZyBiYWNrdXBZU2hhcmUnKTtcbiAgICB9XG5cbiAgICBhc3NlcnQodHhSZXF1ZXN0UmVzb2x2ZWQudHJhbnNhY3Rpb25zIHx8IHR4UmVxdWVzdFJlc29sdmVkLnVuc2lnbmVkVHhzLCAnVW5hYmxlIHRvIGZpbmQgdHJhbnNhY3Rpb25zIGluIHR4UmVxdWVzdCcpO1xuICAgIGNvbnN0IHVuc2lnbmVkVHggPVxuICAgICAgdHhSZXF1ZXN0UmVzb2x2ZWQuYXBpVmVyc2lvbiA9PT0gJ2Z1bGwnXG4gICAgICAgID8gdHhSZXF1ZXN0UmVzb2x2ZWQudHJhbnNhY3Rpb25zIVswXS51bnNpZ25lZFR4XG4gICAgICAgIDogdHhSZXF1ZXN0UmVzb2x2ZWQudW5zaWduZWRUeHNbMF07XG5cbiAgICBjb25zdCBzaWduaW5nS2V5ID0gTVBDLmtleURlcml2ZShcbiAgICAgIHVzZXJTaWduaW5nTWF0ZXJpYWwudVNoYXJlLFxuICAgICAgW3VzZXJTaWduaW5nTWF0ZXJpYWwuYml0Z29ZU2hhcmUsIHVzZXJTaWduaW5nTWF0ZXJpYWwuYmFja3VwWVNoYXJlXSxcbiAgICAgIHVuc2lnbmVkVHguZGVyaXZhdGlvblBhdGhcbiAgICApO1xuXG4gICAgY29uc3Qgc2lnbmFibGVQYXlsb2FkID0gQnVmZmVyLmZyb20odW5zaWduZWRUeC5zaWduYWJsZUhleCwgJ2hleCcpO1xuXG4gICAgY29uc3QgdXNlclNpZ25TaGFyZSA9IGF3YWl0IGNyZWF0ZVVzZXJTaWduU2hhcmUoc2lnbmFibGVQYXlsb2FkLCBzaWduaW5nS2V5LnBTaGFyZSk7XG5cbiAgICByZXR1cm4geyByU2hhcmU6IHVzZXJTaWduU2hhcmUsIHNpZ25pbmdLZXlZU2hhcmU6IHNpZ25pbmdLZXkueVNoYXJlc1szXSB9O1xuICB9XG5cbiAgYXN5bmMgY3JlYXRlR1NoYXJlRnJvbVR4UmVxdWVzdChwYXJhbXM6IHtcbiAgICB0eFJlcXVlc3Q6IHN0cmluZyB8IFR4UmVxdWVzdDtcbiAgICBwcnY6IHN0cmluZztcbiAgICBiaXRnb1RvVXNlclJTaGFyZTogU2lnbmF0dXJlU2hhcmVSZWNvcmQ7XG4gICAgdXNlclRvQml0Z29SU2hhcmU6IFNpZ25TaGFyZTtcbiAgfSk6IFByb21pc2U8R1NoYXJlPiB7XG4gICAgbGV0IHR4UmVxdWVzdFJlc29sdmVkOiBUeFJlcXVlc3Q7XG5cbiAgICBjb25zdCB7IHR4UmVxdWVzdCwgcHJ2LCBiaXRnb1RvVXNlclJTaGFyZSwgdXNlclRvQml0Z29SU2hhcmUgfSA9IHBhcmFtcztcblxuICAgIGlmICh0eXBlb2YgdHhSZXF1ZXN0ID09PSAnc3RyaW5nJykge1xuICAgICAgdHhSZXF1ZXN0UmVzb2x2ZWQgPSBhd2FpdCBnZXRUeFJlcXVlc3QodGhpcy5iaXRnbywgdGhpcy53YWxsZXQuaWQoKSwgdHhSZXF1ZXN0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdHhSZXF1ZXN0UmVzb2x2ZWQgPSB0eFJlcXVlc3Q7XG4gICAgfVxuXG4gICAgY29uc3QgdXNlclNpZ25pbmdNYXRlcmlhbDogU2lnbmluZ01hdGVyaWFsID0gSlNPTi5wYXJzZShwcnYpO1xuICAgIGlmICghdXNlclNpZ25pbmdNYXRlcmlhbC5iYWNrdXBZU2hhcmUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB1c2VyIGtleSAtIG1pc3NpbmcgYmFja3VwWVNoYXJlJyk7XG4gICAgfVxuXG4gICAgYXNzZXJ0KHR4UmVxdWVzdFJlc29sdmVkLnRyYW5zYWN0aW9ucyB8fCB0eFJlcXVlc3RSZXNvbHZlZC51bnNpZ25lZFR4cywgJ1VuYWJsZSB0byBmaW5kIHRyYW5zYWN0aW9ucyBpbiB0eFJlcXVlc3QnKTtcbiAgICBjb25zdCB1bnNpZ25lZFR4ID1cbiAgICAgIHR4UmVxdWVzdFJlc29sdmVkLmFwaVZlcnNpb24gPT09ICdmdWxsJ1xuICAgICAgICA/IHR4UmVxdWVzdFJlc29sdmVkLnRyYW5zYWN0aW9ucyFbMF0udW5zaWduZWRUeFxuICAgICAgICA6IHR4UmVxdWVzdFJlc29sdmVkLnVuc2lnbmVkVHhzWzBdO1xuXG4gICAgY29uc3Qgc2lnbmFibGVQYXlsb2FkID0gQnVmZmVyLmZyb20odW5zaWduZWRUeC5zaWduYWJsZUhleCwgJ2hleCcpO1xuXG4gICAgY29uc3QgdXNlclRvQml0R29HU2hhcmUgPSBhd2FpdCBjcmVhdGVVc2VyVG9CaXRHb0dTaGFyZShcbiAgICAgIHVzZXJUb0JpdGdvUlNoYXJlLFxuICAgICAgYml0Z29Ub1VzZXJSU2hhcmUsXG4gICAgICB1c2VyU2lnbmluZ01hdGVyaWFsLmJhY2t1cFlTaGFyZSxcbiAgICAgIHVzZXJTaWduaW5nTWF0ZXJpYWwuYml0Z29ZU2hhcmUsXG4gICAgICBzaWduYWJsZVBheWxvYWRcbiAgICApO1xuICAgIHJldHVybiB1c2VyVG9CaXRHb0dTaGFyZTtcbiAgfVxuXG4gIGFzeW5jIHNpZ25Vc2luZ0V4dGVybmFsU2lnbmVyKFxuICAgIHR4UmVxdWVzdDogc3RyaW5nIHwgVHhSZXF1ZXN0LFxuICAgIGV4dGVybmFsU2lnbmVyUlNoYXJlR2VuZXJhdG9yOiBDdXN0b21SU2hhcmVHZW5lcmF0aW5nRnVuY3Rpb24sXG4gICAgZXh0ZXJuYWxTaWduZXJHU2hhcmVHZW5lcmF0b3I6IEN1c3RvbUdTaGFyZUdlbmVyYXRpbmdGdW5jdGlvblxuICApOiBQcm9taXNlPFR4UmVxdWVzdD4ge1xuICAgIGxldCB0eFJlcXVlc3RSZXNvbHZlZDogVHhSZXF1ZXN0O1xuICAgIGxldCB0eFJlcXVlc3RJZDogc3RyaW5nO1xuICAgIGlmICh0eXBlb2YgdHhSZXF1ZXN0ID09PSAnc3RyaW5nJykge1xuICAgICAgdHhSZXF1ZXN0UmVzb2x2ZWQgPSBhd2FpdCBnZXRUeFJlcXVlc3QodGhpcy5iaXRnbywgdGhpcy53YWxsZXQuaWQoKSwgdHhSZXF1ZXN0KTtcbiAgICAgIHR4UmVxdWVzdElkID0gdHhSZXF1ZXN0UmVzb2x2ZWQudHhSZXF1ZXN0SWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHR4UmVxdWVzdFJlc29sdmVkID0gdHhSZXF1ZXN0O1xuICAgICAgdHhSZXF1ZXN0SWQgPSB0eFJlcXVlc3QudHhSZXF1ZXN0SWQ7XG4gICAgfVxuICAgIGNvbnN0IHJTaWduU2hhcmVUcmFuc2FjdGlvblBhcmFtcyA9IHtcbiAgICAgIHR4UmVxdWVzdDogdHhSZXF1ZXN0UmVzb2x2ZWQsXG4gICAgfTtcbiAgICBjb25zdCB7IHJTaGFyZSwgc2lnbmluZ0tleVlTaGFyZSB9ID0gYXdhaXQgZXh0ZXJuYWxTaWduZXJSU2hhcmVHZW5lcmF0b3IoclNpZ25TaGFyZVRyYW5zYWN0aW9uUGFyYW1zKTtcbiAgICBjb25zdCBzaWduZXJTaGFyZSA9IHNpZ25pbmdLZXlZU2hhcmUudSArIHNpZ25pbmdLZXlZU2hhcmUuY2hhaW5jb2RlO1xuICAgIGNvbnN0IGJpdGdvR3BnS2V5ID0gYXdhaXQgZ2V0Qml0Z29HcGdQdWJLZXkodGhpcy5iaXRnbyk7XG4gICAgY29uc3QgZW5jcnlwdGVkU2lnbmVyU2hhcmUgPSBhd2FpdCBlbmNyeXB0VGV4dChzaWduZXJTaGFyZSwgYml0Z29HcGdLZXkpO1xuICAgIGF3YWl0IG9mZmVyVXNlclRvQml0Z29SU2hhcmUodGhpcy5iaXRnbywgdGhpcy53YWxsZXQuaWQoKSwgdHhSZXF1ZXN0SWQsIHJTaGFyZSwgZW5jcnlwdGVkU2lnbmVyU2hhcmUsICdmdWxsJyk7XG4gICAgY29uc3QgYml0Z29Ub1VzZXJSU2hhcmUgPSBhd2FpdCBnZXRCaXRnb1RvVXNlclJTaGFyZSh0aGlzLmJpdGdvLCB0aGlzLndhbGxldC5pZCgpLCB0eFJlcXVlc3RJZCk7XG4gICAgY29uc3QgZ1NpZ25TaGFyZVRyYW5zYWN0aW9uUGFyYW1zID0ge1xuICAgICAgdHhSZXF1ZXN0OiB0eFJlcXVlc3RSZXNvbHZlZCxcbiAgICAgIGJpdGdvVG9Vc2VyUlNoYXJlOiBiaXRnb1RvVXNlclJTaGFyZSxcbiAgICAgIHVzZXJUb0JpdGdvUlNoYXJlOiByU2hhcmUsXG4gICAgfTtcbiAgICBjb25zdCBnU2hhcmUgPSBhd2FpdCBleHRlcm5hbFNpZ25lckdTaGFyZUdlbmVyYXRvcihnU2lnblNoYXJlVHJhbnNhY3Rpb25QYXJhbXMpO1xuICAgIGF3YWl0IHNlbmRVc2VyVG9CaXRnb0dTaGFyZSh0aGlzLmJpdGdvLCB0aGlzLndhbGxldC5pZCgpLCB0eFJlcXVlc3RJZCwgZ1NoYXJlLCAnZnVsbCcpO1xuICAgIHJldHVybiBhd2FpdCBnZXRUeFJlcXVlc3QodGhpcy5iaXRnbywgdGhpcy53YWxsZXQuaWQoKSwgdHhSZXF1ZXN0SWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNpZ25zIHRoZSB0cmFuc2FjdGlvbiBhc3NvY2lhdGVkIHRvIHRoZSB0cmFuc2FjdGlvbiByZXF1ZXN0LlxuICAgKlxuICAgKiBAcGFyYW0gdHhSZXF1ZXN0IC0gdHJhbnNhY3Rpb24gcmVxdWVzdCBvYmplY3Qgb3IgaWRcbiAgICogQHBhcmFtIHBydiAtIGRlY3J5cHRlZCBwcml2YXRlIGtleVxuICAgKiBAcGFyYW0gcmVxSWQgLSByZXF1ZXN0IGlkXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFR4UmVxdWVzdD59IGZ1bGx5IHNpZ25lZCBUeFJlcXVlc3Qgb2JqZWN0XG4gICAqL1xuICBhc3luYyBzaWduVHhSZXF1ZXN0KHBhcmFtczogVFNTUGFyYW1zKTogUHJvbWlzZTxUeFJlcXVlc3Q+IHtcbiAgICBsZXQgdHhSZXF1ZXN0UmVzb2x2ZWQ6IFR4UmVxdWVzdDtcbiAgICBsZXQgdHhSZXF1ZXN0SWQ6IHN0cmluZztcblxuICAgIGNvbnN0IHsgdHhSZXF1ZXN0LCBwcnYsIGFwaVZlcnNpb24gfSA9IHBhcmFtcztcblxuICAgIGlmICh0eXBlb2YgdHhSZXF1ZXN0ID09PSAnc3RyaW5nJykge1xuICAgICAgdHhSZXF1ZXN0UmVzb2x2ZWQgPSBhd2FpdCBnZXRUeFJlcXVlc3QodGhpcy5iaXRnbywgdGhpcy53YWxsZXQuaWQoKSwgdHhSZXF1ZXN0KTtcbiAgICAgIHR4UmVxdWVzdElkID0gdHhSZXF1ZXN0UmVzb2x2ZWQudHhSZXF1ZXN0SWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHR4UmVxdWVzdFJlc29sdmVkID0gdHhSZXF1ZXN0O1xuICAgICAgdHhSZXF1ZXN0SWQgPSB0eFJlcXVlc3QudHhSZXF1ZXN0SWQ7XG4gICAgfVxuXG4gICAgY29uc3QgaGRUcmVlID0gYXdhaXQgRWQyNTUxOUJJUDMyLmluaXRpYWxpemUoKTtcbiAgICBjb25zdCBNUEMgPSBhd2FpdCBFZGRzYS5pbml0aWFsaXplKGhkVHJlZSk7XG5cbiAgICBjb25zdCB1c2VyU2lnbmluZ01hdGVyaWFsOiBTaWduaW5nTWF0ZXJpYWwgPSBKU09OLnBhcnNlKHBydik7XG4gICAgaWYgKCF1c2VyU2lnbmluZ01hdGVyaWFsLmJhY2t1cFlTaGFyZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHVzZXIga2V5IC0gbWlzc2luZyBiYWNrdXBZU2hhcmUnKTtcbiAgICB9XG5cbiAgICBhc3NlcnQodHhSZXF1ZXN0UmVzb2x2ZWQudHJhbnNhY3Rpb25zIHx8IHR4UmVxdWVzdFJlc29sdmVkLnVuc2lnbmVkVHhzLCAnVW5hYmxlIHRvIGZpbmQgdHJhbnNhY3Rpb25zIGluIHR4UmVxdWVzdCcpO1xuICAgIGNvbnN0IHVuc2lnbmVkVHggPVxuICAgICAgdHhSZXF1ZXN0UmVzb2x2ZWQuYXBpVmVyc2lvbiA9PT0gJ2Z1bGwnXG4gICAgICAgID8gdHhSZXF1ZXN0UmVzb2x2ZWQudHJhbnNhY3Rpb25zIVswXS51bnNpZ25lZFR4XG4gICAgICAgIDogdHhSZXF1ZXN0UmVzb2x2ZWQudW5zaWduZWRUeHNbMF07XG5cbiAgICBjb25zdCBzaWduaW5nS2V5ID0gTVBDLmtleURlcml2ZShcbiAgICAgIHVzZXJTaWduaW5nTWF0ZXJpYWwudVNoYXJlLFxuICAgICAgW3VzZXJTaWduaW5nTWF0ZXJpYWwuYml0Z29ZU2hhcmUsIHVzZXJTaWduaW5nTWF0ZXJpYWwuYmFja3VwWVNoYXJlXSxcbiAgICAgIHVuc2lnbmVkVHguZGVyaXZhdGlvblBhdGhcbiAgICApO1xuXG4gICAgY29uc3Qgc2lnbmFibGVQYXlsb2FkID0gQnVmZmVyLmZyb20odW5zaWduZWRUeC5zaWduYWJsZUhleCwgJ2hleCcpO1xuXG4gICAgY29uc3QgdXNlclNpZ25TaGFyZSA9IGF3YWl0IGNyZWF0ZVVzZXJTaWduU2hhcmUoc2lnbmFibGVQYXlsb2FkLCBzaWduaW5nS2V5LnBTaGFyZSk7XG5cbiAgICBjb25zdCBzaWduZXJTaGFyZSA9IHNpZ25pbmdLZXkueVNoYXJlc1szXS51ICsgc2lnbmluZ0tleS55U2hhcmVzWzNdLmNoYWluY29kZTtcbiAgICBjb25zdCBiaXRnb0dwZ0tleSA9IGF3YWl0IGdldEJpdGdvR3BnUHViS2V5KHRoaXMuYml0Z28pO1xuICAgIGNvbnN0IGVuY3J5cHRlZFNpZ25lclNoYXJlID0gYXdhaXQgZW5jcnlwdFRleHQoc2lnbmVyU2hhcmUsIGJpdGdvR3BnS2V5KTtcblxuICAgIGF3YWl0IG9mZmVyVXNlclRvQml0Z29SU2hhcmUoXG4gICAgICB0aGlzLmJpdGdvLFxuICAgICAgdGhpcy53YWxsZXQuaWQoKSxcbiAgICAgIHR4UmVxdWVzdElkLFxuICAgICAgdXNlclNpZ25TaGFyZSxcbiAgICAgIGVuY3J5cHRlZFNpZ25lclNoYXJlLFxuICAgICAgYXBpVmVyc2lvblxuICAgICk7XG5cbiAgICBjb25zdCBiaXRnb1RvVXNlclJTaGFyZSA9IGF3YWl0IGdldEJpdGdvVG9Vc2VyUlNoYXJlKHRoaXMuYml0Z28sIHRoaXMud2FsbGV0LmlkKCksIHR4UmVxdWVzdElkKTtcblxuICAgIGNvbnN0IHVzZXJUb0JpdEdvR1NoYXJlID0gYXdhaXQgY3JlYXRlVXNlclRvQml0R29HU2hhcmUoXG4gICAgICB1c2VyU2lnblNoYXJlLFxuICAgICAgYml0Z29Ub1VzZXJSU2hhcmUsXG4gICAgICB1c2VyU2lnbmluZ01hdGVyaWFsLmJhY2t1cFlTaGFyZSxcbiAgICAgIHVzZXJTaWduaW5nTWF0ZXJpYWwuYml0Z29ZU2hhcmUsXG4gICAgICBzaWduYWJsZVBheWxvYWRcbiAgICApO1xuXG4gICAgYXdhaXQgc2VuZFVzZXJUb0JpdGdvR1NoYXJlKHRoaXMuYml0Z28sIHRoaXMud2FsbGV0LmlkKCksIHR4UmVxdWVzdElkLCB1c2VyVG9CaXRHb0dTaGFyZSwgYXBpVmVyc2lvbik7XG5cbiAgICByZXR1cm4gYXdhaXQgZ2V0VHhSZXF1ZXN0KHRoaXMuYml0Z28sIHRoaXMud2FsbGV0LmlkKCksIHR4UmVxdWVzdElkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGNvbW1vblB1YiBwb3J0aW9uIG9mIHRoZSBjb21tb25LZXljaGFpbi5cbiAgICpcbiAgICogQHBhcmFtIHtTdHJpbmd9IGNvbW1vbktleWNoYWluXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICAqL1xuICBzdGF0aWMgZ2V0UHVibGljS2V5RnJvbUNvbW1vbktleWNoYWluKGNvbW1vbktleWNoYWluOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChjb21tb25LZXljaGFpbi5sZW5ndGggIT09IDEyOCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNvbW1vbktleWNoYWluIGxlbmd0aCwgZXhwZWN0ZWQgMTI4LCBnb3QgJHtjb21tb25LZXljaGFpbi5sZW5ndGh9YCk7XG4gICAgfVxuICAgIGNvbnN0IGNvbW1vblB1YkhleFN0ciA9IGNvbW1vbktleWNoYWluLnNsaWNlKDAsIDY0KTtcbiAgICByZXR1cm4gYnM1OC5lbmNvZGUoQnVmZmVyLmZyb20oY29tbW9uUHViSGV4U3RyLCAnaGV4JykpO1xuICB9XG59XG4vKipcbiAqIEBkZXByZWNhdGVkIC0gdXNlIEVkZHNhVXRpbHNcbiAqL1xuZXhwb3J0IGNvbnN0IFRzc1V0aWxzID0gRWRkc2FVdGlscztcbiJdfQ==
|
|
410
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRkc2EuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvdHNzL2VkZHNhL2VkZHNhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7R0FFRztBQUNILG9EQUE0QjtBQUM1QiwyQ0FBNkI7QUFDN0IsaURBQW1DO0FBQ25DLHlEQUF1RDtBQUN2RCwwRUFBMkU7QUFFM0Usb0RBQWlFO0FBQ2pFLHFEQUEwRztBQUMxRyxzQ0FRc0I7QUFTdEIsbUVBQTJDO0FBRzNDOztHQUVHO0FBRUgsTUFBYSxVQUFXLFNBQVEsc0JBQXNCO0lBQ3BELEtBQUssQ0FBQyxzQkFBc0IsQ0FDMUIsVUFBa0IsRUFDbEIsWUFBb0IsRUFDcEIsYUFBdUIsRUFDdkIsY0FBc0IsRUFDdEIsYUFBb0I7UUFFcEIsZ0JBQU0sQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDckMsZ0JBQU0sQ0FBQyxhQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUVoRCxNQUFNLFdBQVcsR0FBRyxNQUFNLGdDQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV4RCxNQUFNLFVBQVUsR0FBRyxNQUFNLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNyRSxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXhELE1BQU0sWUFBWSxHQUFHLE1BQU0sT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFNUQsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxXQUFXLEVBQUUsYUFB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SyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRXRHLE9BQU8sTUFBTSxrQkFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsOEJBQThCLENBQUMsY0FBc0I7UUFDMUQsSUFBSSxjQUFjLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtZQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFvRCxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztTQUM5RjtRQUNELE1BQU0sZUFBZSxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7Q0FDRjtBQWpoQkQsZ0NBaWhCQztBQUNEOztHQUVHO0FBQ1UsUUFBQSxRQUFRLEdBQUcsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0ICogYXMgYnM1OCBmcm9tICdiczU4JztcbmltcG9ydCAqIGFzIG9wZW5wZ3AgZnJvbSAnb3BlbnBncCc7XG5pbXBvcnQgeyBFZDI1NTE5QklQMzIgfSBmcm9tICcuLi8uLi8uLi8uLi9hY2NvdW50LWxpYic7XG5pbXBvcnQgRWRkc2EsIHsgU2lnblNoYXJlLCBHU2hhcmUgfSBmcm9tICcuLi8uLi8uLi8uLi9hY2NvdW50LWxpYi9tcGMvdHNzJztcbmltcG9ydCB7IEFkZEtleWNoYWluT3B0aW9ucywgS2V5Y2hhaW4sIEtleVR5cGUsIENyZWF0ZUJhY2t1cE9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9rZXljaGFpbic7XG5pbXBvcnQgeyB2ZXJpZnlXYWxsZXRTaWduYXR1cmUgfSBmcm9tICcuLi8uLi8uLi90c3MvZWRkc2EvZWRkc2EnO1xuaW1wb3J0IHsgZW5jcnlwdFRleHQsIGdldEJpdGdvR3BnUHViS2V5LCBjcmVhdGVTaGFyZVByb29mLCBnZW5lcmF0ZUdQR0tleVBhaXIgfSBmcm9tICcuLi8uLi9vcGVuZ3BnVXRpbHMnO1xuaW1wb3J0IHtcbiAgY3JlYXRlVXNlclNpZ25TaGFyZSxcbiAgY3JlYXRlVXNlclRvQml0R29HU2hhcmUsXG4gIGdldEJpdGdvVG9Vc2VyUlNoYXJlLFxuICBnZXRUeFJlcXVlc3QsXG4gIG9mZmVyVXNlclRvQml0Z29SU2hhcmUsXG4gIHNlbmRVc2VyVG9CaXRnb0dTaGFyZSxcbiAgU2lnbmluZ01hdGVyaWFsLFxufSBmcm9tICcuLi8uLi8uLi90c3MnO1xuaW1wb3J0IHtcbiAgQ3VzdG9tR1NoYXJlR2VuZXJhdGluZ0Z1bmN0aW9uLFxuICBDdXN0b21SU2hhcmVHZW5lcmF0aW5nRnVuY3Rpb24sXG4gIFNpZ25hdHVyZVNoYXJlUmVjb3JkLFxuICBUU1NQYXJhbXMsXG4gIFR4UmVxdWVzdCxcbn0gZnJvbSAnLi4vYmFzZVR5cGVzJztcbmltcG9ydCB7IENyZWF0ZUVkZHNhQml0R29LZXljaGFpblBhcmFtcywgQ3JlYXRlRWRkc2FLZXljaGFpblBhcmFtcywgS2V5U2hhcmUsIFlTaGFyZSB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IGJhc2VUU1NVdGlscyBmcm9tICcuLi9iYXNlVFNTVXRpbHMnO1xuaW1wb3J0IHsgS2V5Y2hhaW5zVHJpcGxldCB9IGZyb20gJy4uLy4uLy4uL2Jhc2VDb2luJztcblxuLyoqXG4gKiBVdGlsaXR5IGZ1bmN0aW9ucyBmb3IgVFNTIHdvcmsgZmxvd3MuXG4gKi9cblxuZXhwb3J0IGNsYXNzIEVkZHNhVXRpbHMgZXh0ZW5kcyBiYXNlVFNTVXRpbHM8S2V5U2hhcmU+IHtcbiAgYXN5bmMgdmVyaWZ5V2FsbGV0U2lnbmF0dXJlcyhcbiAgICB1c2VyR3BnUHViOiBzdHJpbmcsXG4gICAgYmFja3VwR3BnUHViOiBzdHJpbmcsXG4gICAgYml0Z29LZXljaGFpbjogS2V5Y2hhaW4sXG4gICAgZGVjcnlwdGVkU2hhcmU6IHN0cmluZyxcbiAgICB2ZXJpZmllckluZGV4OiAxIHwgMlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhc3NlcnQoYml0Z29LZXljaGFpbi5jb21tb25LZXljaGFpbik7XG4gICAgYXNzZXJ0KGJpdGdvS2V5Y2hhaW4ud2FsbGV0SFNNR1BHUHVibGljS2V5U2lncyk7XG5cbiAgICBjb25zdCBiaXRnb0dwZ0tleSA9IGF3YWl0IGdldEJpdGdvR3BnUHViS2V5KHRoaXMuYml0Z28pO1xuXG4gICAgY29uc3QgdXNlcktleVB1YiA9IGF3YWl0IG9wZW5wZ3AucmVhZEtleSh7IGFybW9yZWRLZXk6IHVzZXJHcGdQdWIgfSk7XG4gICAgY29uc3QgdXNlcktleUlkID0gdXNlcktleVB1Yi5rZXlQYWNrZXQuZ2V0RmluZ2VycHJpbnQoKTtcblxuICAgIGNvbnN0IGJhY2t1cEtleVB1YiA9IGF3YWl0IG9wZW5wZ3AucmVhZEtleSh7IGFybW9yZWRLZXk6IGJhY2t1cEdwZ1B1YiB9KTtcbiAgICBjb25zdCBiYWNrdXBLZXlJZCA9IGJhY2t1cEtleVB1Yi5rZXlQYWNrZXQuZ2V0RmluZ2VycHJpbnQoKTtcblxuICAgIGNvbnN0IHdhbGxldFNpZ25hdHVyZXMgPSBhd2FpdCBvcGVucGdwLnJlYWRLZXlzKHsgYXJtb3JlZEtleXM6IGJpdGdvS2V5Y2hhaW4ud2FsbGV0SFNNR1BHUHVibGljS2V5U2lncyB9KTtcbiAgICBpZiAod2FsbGV0U2lnbmF0dXJlcy5sZW5ndGggIT09IDIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB3YWxsZXQgc2lnbmF0dXJlcycpO1xuICAgIH1cblxuICAgIGlmICh1c2VyS2V5SWQgIT09IHdhbGxldFNpZ25hdHVyZXNbMF0ua2V5UGFja2V0LmdldEZpbmdlcnByaW50KCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZmlyc3Qgd2FsbGV0IHNpZ25hdHVyZSdzIGZpbmdlcnByaW50IGRvZXMgbm90IG1hdGNoIHBhc3NlZCB1c2VyIGdwZyBrZXkncyBmaW5nZXJwcmludGApO1xuICAgIH1cblxuICAgIGlmIChiYWNrdXBLZXlJZCAhPT0gd2FsbGV0U2lnbmF0dXJlc1sxXS5rZXlQYWNrZXQuZ2V0RmluZ2VycHJpbnQoKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBzZWNvbmQgd2FsbGV0IHNpZ25hdHVyZSdzIGZpbmdlcnByaW50IGRvZXMgbm90IG1hdGNoIHBhc3NlZCBiYWNrdXAgZ3BnIGtleSdzIGZpbmdlcnByaW50YCk7XG4gICAgfVxuXG4gICAgYXdhaXQgdmVyaWZ5V2FsbGV0U2lnbmF0dXJlKHtcbiAgICAgIHdhbGxldFNpZ25hdHVyZTogd2FsbGV0U2lnbmF0dXJlc1swXSxcbiAgICAgIGNvbW1vbktleWNoYWluOiBiaXRnb0tleWNoYWluLmNvbW1vbktleWNoYWluLFxuICAgICAgdXNlcktleUlkLFxuICAgICAgYmFja3VwS2V5SWQsXG4gICAgICBiaXRnb1B1YjogYml0Z29HcGdLZXksXG4gICAgICBkZWNyeXB0ZWRTaGFyZSxcbiAgICAgIHZlcmlmaWVySW5kZXgsXG4gICAgfSk7XG5cbiAgICBhd2FpdCB2ZXJpZnlXYWxsZXRTaWduYXR1cmUoe1xuICAgICAgd2FsbGV0U2lnbmF0dXJlOiB3YWxsZXRTaWduYXR1cmVzWzFdLFxuICAgICAgY29tbW9uS2V5Y2hhaW46IGJpdGdvS2V5Y2hhaW4uY29tbW9uS2V5Y2hhaW4sXG4gICAgICB1c2VyS2V5SWQsXG4gICAgICBiYWNrdXBLZXlJZCxcbiAgICAgIGJpdGdvUHViOiBiaXRnb0dwZ0tleSxcbiAgICAgIGRlY3J5cHRlZFNoYXJlLFxuICAgICAgdmVyaWZpZXJJbmRleCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgS2V5Y2hhaW4gY29udGFpbmluZyB0aGUgVXNlcidzIFRTUyBzaWduaW5nIG1hdGVyaWFscy5cbiAgICogV2UgbmVlZCB0byBoYXZlIHRoZSBwYXNzcGhyYXNlIGJlIG9wdGlvbmFsIHRvIGFsbG93IGZvciB0aGUgY2xpZW50IHRvIHN0b3JlIHRoZWlyIGJhY2t1cCBrZXkgb24gdGhlaXIgcHJlbWlzZXNcbiAgICpcbiAgICogQHBhcmFtIHVzZXJHcGdLZXkgLSBlcGhlbWVyYWwgR1BHIGtleSB0byBlbmNyeXB0IC8gZGVjcnlwdCBzZW5zaXR2ZSBkYXRhIGV4Y2hhbmdlZCBiZXR3ZWVuIHVzZXIgYW5kIHNlcnZlclxuICAgKiBAcGFyYW0gdXNlcktleVNoYXJlIC0gdXNlcidzIFRTUyBrZXkgc2hhcmVcbiAgICogQHBhcmFtIGJhY2t1cEtleVNoYXJlIC0gYmFja3VwJ3MgVFNTIGtleSBzaGFyZVxuICAgKiBAcGFyYW0gYml0Z29LZXljaGFpbiAtIHByZXZpb3VzbHkgY3JlYXRlZCBCaXRHbyBrZXljaGFpbjsgbXVzdCBiZSBjb21wYXRpYmxlIHdpdGggdXNlciBhbmQgYmFja3VwIGtleSBzaGFyZXNcbiAgICogQHBhcmFtIFtwYXNzcGhyYXNlXSAtIG9wdGlvbmFsIHdhbGxldCBwYXNzcGhyYXNlIHVzZWQgdG8gZW5jcnlwdCB1c2VyJ3Mgc2lnbmluZyBtYXRlcmlhbHNcbiAgICogQHBhcmFtIFtvcmlnaW5hbFBhc3Njb2RlRW5jcnlwdGlvbkNvZGVdIC0gb3B0aW9uYWwgZW5jcnlwdGlvbiBjb2RlIG5lZWRlZCBmb3Igd2FsbGV0IHBhc3N3b3JkIHJlc2V0IGZvciBob3Qgd2FsbGV0c1xuICAgKi9cbiAgYXN5bmMgY3JlYXRlVXNlcktleWNoYWluKHtcbiAgICB1c2VyR3BnS2V5LFxuICAgIGJhY2t1cEdwZ0tleSxcbiAgICB1c2VyS2V5U2hhcmUsXG4gICAgYmFja3VwS2V5U2hhcmUsXG4gICAgYml0Z29LZXljaGFpbixcbiAgICBwYXNzcGhyYXNlLFxuICAgIG9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZSxcbiAgfTogQ3JlYXRlRWRkc2FLZXljaGFpblBhcmFtcyk6IFByb21pc2U8S2V5Y2hhaW4+IHtcbiAgICBjb25zdCBNUEMgPSBhd2FpdCBFZGRzYS5pbml0aWFsaXplKCk7XG4gICAgY29uc3QgYml0Z29LZXlTaGFyZXMgPSBiaXRnb0tleWNoYWluLmtleVNoYXJlcztcbiAgICBpZiAoIWJpdGdvS2V5U2hhcmVzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgQml0R28ga2V5IHNoYXJlcycpO1xuICAgIH1cblxuICAgIGNvbnN0IGJpdEdvVG9Vc2VyU2hhcmUgPSBiaXRnb0tleVNoYXJlcy5maW5kKChrZXlTaGFyZSkgPT4ga2V5U2hhcmUuZnJvbSA9PT0gJ2JpdGdvJyAmJiBrZXlTaGFyZS50byA9PT0gJ3VzZXInKTtcbiAgICBpZiAoIWJpdEdvVG9Vc2VyU2hhcmUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBCaXRHbyB0byBVc2VyIGtleSBzaGFyZScpO1xuICAgIH1cblxuICAgIGNvbnN0IGJpdEdvVG9Vc2VyUHJpdmF0ZVNoYXJlID0gYXdhaXQgdGhpcy5kZWNyeXB0UHJpdmF0ZVNoYXJlKGJpdEdvVG9Vc2VyU2hhcmUucHJpdmF0ZVNoYXJlLCB1c2VyR3BnS2V5KTtcblxuICAgIGF3YWl0IHRoaXMudmVyaWZ5V2FsbGV0U2lnbmF0dXJlcyhcbiAgICAgIHVzZXJHcGdLZXkucHVibGljS2V5LFxuICAgICAgYmFja3VwR3BnS2V5LnB1YmxpY0tleSxcbiAgICAgIGJpdGdvS2V5Y2hhaW4sXG4gICAgICBiaXRHb1RvVXNlclByaXZhdGVTaGFyZSxcbiAgICAgIDFcbiAgICApO1xuXG4gICAgY29uc3QgYml0Z29Ub1VzZXI6IFlTaGFyZSA9IHtcbiAgICAgIGk6IDEsXG4gICAgICBqOiAzLFxuICAgICAgeTogYml0R29Ub1VzZXJTaGFyZS5wdWJsaWNTaGFyZS5zbGljZSgwLCA2NCksXG4gICAgICB2OiBiaXRHb1RvVXNlclNoYXJlLnZzc1Byb29mLFxuICAgICAgdTogYml0R29Ub1VzZXJQcml2YXRlU2hhcmUuc2xpY2UoMCwgNjQpLFxuICAgICAgY2hhaW5jb2RlOiBiaXRHb1RvVXNlclByaXZhdGVTaGFyZS5zbGljZSg2NCksXG4gICAgfTtcblxuICAgIC8vIFRPRE8oQkctNDcxNzApOiB1c2UgdHNzLmNyZWF0ZUNvbWJpbmVkS2V5IGhlbHBlciB3aGVuIHNpZ25hdHVyZXMgYXJlIHN1cHBvcnRlZFxuICAgIGNvbnN0IHVzZXJDb21iaW5lZCA9IE1QQy5rZXlDb21iaW5lKHVzZXJLZXlTaGFyZS51U2hhcmUsIFtiYWNrdXBLZXlTaGFyZS55U2hhcmVzWzFdLCBiaXRnb1RvVXNlcl0pO1xuICAgIGNvbnN0IGNvbW1vbktleWNoYWluID0gdXNlckNvbWJpbmVkLnBTaGFyZS55ICsgdXNlckNvbWJpbmVkLnBTaGFyZS5jaGFpbmNvZGU7XG4gICAgaWYgKGNvbW1vbktleWNoYWluICE9PSBiaXRnb0tleWNoYWluLmNvbW1vbktleWNoYWluKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBjcmVhdGUgdXNlciBrZXljaGFpbiAtIGNvbW1vbktleWNoYWlucyBkbyBub3QgbWF0Y2guJyk7XG4gICAgfVxuXG4gICAgY29uc3QgdXNlclNpZ25pbmdNYXRlcmlhbDogU2lnbmluZ01hdGVyaWFsID0ge1xuICAgICAgdVNoYXJlOiB1c2VyS2V5U2hhcmUudVNoYXJlLFxuICAgICAgYml0Z29ZU2hhcmU6IGJpdGdvVG9Vc2VyLFxuICAgICAgYmFja3VwWVNoYXJlOiBiYWNrdXBLZXlTaGFyZS55U2hhcmVzWzFdLFxuICAgIH07XG5cbiAgICBjb25zdCB1c2VyS2V5Y2hhaW5QYXJhbXM6IEFkZEtleWNoYWluT3B0aW9ucyA9IHtcbiAgICAgIHNvdXJjZTogJ3VzZXInLFxuICAgICAga2V5VHlwZTogJ3RzcycgYXMgS2V5VHlwZSxcbiAgICAgIGNvbW1vbktleWNoYWluOiBiaXRnb0tleWNoYWluLmNvbW1vbktleWNoYWluLFxuICAgICAgb3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlLFxuICAgIH07XG4gICAgaWYgKHBhc3NwaHJhc2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdXNlcktleWNoYWluUGFyYW1zLmVuY3J5cHRlZFBydiA9IHRoaXMuYml0Z28uZW5jcnlwdCh7XG4gICAgICAgIGlucHV0OiBKU09OLnN0cmluZ2lmeSh1c2VyU2lnbmluZ01hdGVyaWFsKSxcbiAgICAgICAgcGFzc3dvcmQ6IHBhc3NwaHJhc2UsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5iYXNlQ29pbi5rZXljaGFpbnMoKS5hZGQodXNlcktleWNoYWluUGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgS2V5Y2hhaW4gY29udGFpbmluZyB0aGUgQmFja3VwIHBhcnR5J3MgVFNTIHNpZ25pbmcgbWF0ZXJpYWxzLlxuICAgKiBXZSBuZWVkIHRvIGhhdmUgdGhlIHBhc3NwaHJhc2UgYmUgb3B0aW9uYWwgdG8gYWxsb3cgZm9yIHRoZSBjbGllbnQgdG8gc3RvcmUgdGhlaXIgYmFja3VwIGtleSBvbiB0aGVpciBwcmVtaXNlc1xuICAgKlxuICAgKiBAcGFyYW0gdXNlckdwZ0tleSAtIGVwaGVtZXJhbCBHUEcga2V5IHRvIGVuY3J5cHQgLyBkZWNyeXB0IHNlbnNpdHZlIGRhdGEgZXhjaGFuZ2VkIGJldHdlZW4gdXNlciBhbmQgc2VydmVyXG4gICAqIEBwYXJhbSB1c2VyS2V5U2hhcmUgLSBVc2VyJ3MgVFNTIEtleXNoYXJlXG4gICAqIEBwYXJhbSBiYWNrdXBHcGdLZXkgLSBlcGhlbWVyYWwgR1BHIGtleSB0byBlbmNyeXB0IC8gZGVjcnlwdCBzZW5zaXR2ZSBkYXRhIGV4Y2hhbmdlZCBiZXR3ZWVuIGJhY2t1cCBhbmQgc2VydmVyXG4gICAqIEBwYXJhbSBiYWNrdXBLZXlTaGFyZSAtIEJhY2t1cCdzIFRTUyBLZXlzaGFyZVxuICAgKiBAcGFyYW0gYml0Z29LZXljaGFpbiAtIHByZXZpb3VzbHkgY3JlYXRlZCBCaXRHbyBrZXljaGFpbjsgbXVzdCBiZSBjb21wYXRpYmxlIHdpdGggdXNlciBhbmQgYmFja3VwIGtleSBzaGFyZXNcbiAgICogQHBhcmFtIFtwYXNzcGhyYXNlXSAtIG9wdGlvbmFsIHdhbGxldCBwYXNzcGhyYXNlIHVzZWQgdG8gZW5jcnlwdCB1c2VyJ3Mgc2lnbmluZyBtYXRlcmlhbHNcbiAgICovXG4gIGFzeW5jIGNyZWF0ZUJhY2t1cEtleWNoYWluKHtcbiAgICB1c2VyR3BnS2V5LFxuICAgIGJhY2t1cEdwZ0tleSxcbiAgICB1c2VyS2V5U2hhcmUsXG4gICAgYmFja3VwS2V5U2hhcmUsXG4gICAgYml0Z29LZXljaGFpbixcbiAgICBwYXNzcGhyYXNlLFxuICB9OiBDcmVhdGVFZGRzYUtleWNoYWluUGFyYW1zKTogUHJvbWlzZTxLZXljaGFpbj4ge1xuICAgIGNvbnN0IE1QQyA9IGF3YWl0IEVkZHNhLmluaXRpYWxpemUoKTtcbiAgICBjb25zdCBiaXRnb0tleVNoYXJlcyA9IGJpdGdvS2V5Y2hhaW4ua2V5U2hhcmVzO1xuICAgIGlmICghYml0Z29LZXlTaGFyZXMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBiaXRnbyBrZXlzaGFyZXMnKTtcbiAgICB9XG5cbiAgICBjb25zdCBiaXRHb1RvQmFja3VwU2hhcmUgPSBiaXRnb0tleVNoYXJlcy5maW5kKChrZXlTaGFyZSkgPT4ga2V5U2hhcmUuZnJvbSA9PT0gJ2JpdGdvJyAmJiBrZXlTaGFyZS50byA9PT0gJ2JhY2t1cCcpO1xuICAgIGlmICghYml0R29Ub0JhY2t1cFNoYXJlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgQml0R28gdG8gVXNlciBrZXkgc2hhcmUnKTtcbiAgICB9XG5cbiAgICBjb25zdCBiaXRHb1RvQmFja3VwUHJpdmF0ZVNoYXJlID0gYXdhaXQgdGhpcy5kZWNyeXB0UHJpdmF0ZVNoYXJlKGJpdEdvVG9CYWNrdXBTaGFyZS5wcml2YXRlU2hhcmUsIGJhY2t1cEdwZ0tleSk7XG5cbiAgICBhd2FpdCB0aGlzLnZlcmlmeVdhbGxldFNpZ25hdHVyZXMoXG4gICAgICB1c2VyR3BnS2V5LnB1YmxpY0tleSxcbiAgICAgIGJhY2t1cEdwZ0tleS5wdWJsaWNLZXksXG4gICAgICBiaXRnb0tleWNoYWluLFxuICAgICAgYml0R29Ub0JhY2t1cFByaXZhdGVTaGFyZSxcbiAgICAgIDJcbiAgICApO1xuXG4gICAgY29uc3QgYml0Z29Ub0JhY2t1cDogWVNoYXJlID0ge1xuICAgICAgaTogMixcbiAgICAgIGo6IDMsXG4gICAgICB5OiBiaXRHb1RvQmFja3VwU2hhcmUucHVibGljU2hhcmUuc2xpY2UoMCwgNjQpLFxuICAgICAgdjogYml0R29Ub0JhY2t1cFNoYXJlLnZzc1Byb29mLFxuICAgICAgdTogYml0R29Ub0JhY2t1cFByaXZhdGVTaGFyZS5zbGljZSgwLCA2NCksXG4gICAgICBjaGFpbmNvZGU6IGJpdEdvVG9CYWNrdXBQcml2YXRlU2hhcmUuc2xpY2UoNjQpLFxuICAgIH07XG5cbiAgICAvLyBUT0RPKEJHLTQ3MTcwKTogdXNlIHRzcy5jcmVhdGVDb21iaW5lZEtleSBoZWxwZXIgd2hlbiBzaWduYXR1cmVzIGFyZSBzdXBwb3J0ZWRcbiAgICBjb25zdCBiYWNrdXBDb21iaW5lZCA9IE1QQy5rZXlDb21iaW5lKGJhY2t1cEtleVNoYXJlLnVTaGFyZSwgW3VzZXJLZXlTaGFyZS55U2hhcmVzWzJdLCBiaXRnb1RvQmFja3VwXSk7XG4gICAgY29uc3QgY29tbW9uS2V5Y2hhaW4gPSBiYWNrdXBDb21iaW5lZC5wU2hhcmUueSArIGJhY2t1cENvbWJpbmVkLnBTaGFyZS5jaGFpbmNvZGU7XG4gICAgaWYgKGNvbW1vbktleWNoYWluICE9PSBiaXRnb0tleWNoYWluLmNvbW1vbktleWNoYWluKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBjcmVhdGUgYmFja3VwIGtleWNoYWluIC0gY29tbW9uS2V5Y2hhaW5zIGRvIG5vdCBtYXRjaC4nKTtcbiAgICB9XG5cbiAgICBjb25zdCBiYWNrdXBTaWduaW5nTWF0ZXJpYWw6IFNpZ25pbmdNYXRlcmlhbCA9IHtcbiAgICAgIHVTaGFyZTogYmFja3VwS2V5U2hhcmUudVNoYXJlLFxuICAgICAgYml0Z29ZU2hhcmU6IGJpdGdvVG9CYWNrdXAsXG4gICAgICB1c2VyWVNoYXJlOiB1c2VyS2V5U2hhcmUueVNoYXJlc1syXSxcbiAgICB9O1xuICAgIGNvbnN0IHBydiA9IEpTT04uc3RyaW5naWZ5KGJhY2t1cFNpZ25pbmdNYXRlcmlhbCk7XG5cbiAgICBjb25zdCBwYXJhbXM6IENyZWF0ZUJhY2t1cE9wdGlvbnMgPSB7XG4gICAgICBzb3VyY2U6ICdiYWNrdXAnLFxuICAgICAga2V5VHlwZTogJ3RzcycsXG4gICAgICBjb21tb25LZXljaGFpbjogYml0Z29LZXljaGFpbi5jb21tb25LZXljaGFpbixcbiAgICAgIHBydjogcHJ2LFxuICAgIH07XG5cbiAgICBpZiAocGFzc3BocmFzZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBwYXJhbXMuZW5jcnlwdGVkUHJ2ID0gdGhpcy5iaXRnby5lbmNyeXB0KHsgaW5wdXQ6IHBydiwgcGFzc3dvcmQ6IHBhc3NwaHJhc2UgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYmFzZUNvaW4ua2V5Y2hhaW5zKCkuY3JlYXRlQmFja3VwKHBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIEtleWNoYWluIGNvbnRhaW5pbmcgQml0R28ncyBUU1Mgc2lnbmluZyBtYXRlcmlhbHMuXG4gICAqXG4gICAqIEBwYXJhbSB1c2VyR3BnS2V5IC0gZXBoZW1lcmFsIEdQRyBrZXkgdG8gZW5jcnlwdCAvIGRlY3J5cHQgc2Vuc2l0dmUgZGF0YSBleGNoYW5nZWQgYmV0d2VlbiB1c2VyIGFuZCBzZXJ2ZXJcbiAgICogQHBhcmFtIHVzZXJLZXlTaGFyZSAtIHVzZXIncyBUU1Mga2V5IHNoYXJlXG4gICAqIEBwYXJhbSBiYWNrdXBLZXlTaGFyZSAtIGJhY2t1cCdzIFRTUyBrZXkgc2hhcmVcbiAgICogQHBhcmFtIGVudGVycHJpc2UgLSBlbnRlcnByaXNlIGFzc29jaWF0ZWQgdG8gdGhlIHdhbGxldFxuICAgKi9cbiAgYXN5bmMgY3JlYXRlQml0Z29LZXljaGFpbih7XG4gICAgdXNlckdwZ0tleSxcbiAgICBiYWNrdXBHcGdLZXksXG4gICAgdXNlcktleVNoYXJlLFxuICAgIGJhY2t1cEtleVNoYXJlLFxuICAgIGVudGVycHJpc2UsXG4gIH06IENyZWF0ZUVkZHNhQml0R29LZXljaGFpblBhcmFtcyk6IFByb21pc2U8S2V5Y2hhaW4+IHtcbiAgICAvLyBUT0RPKEJHLTQ3MTcwKTogdXNlIHRzcy5lbmNyeXB0WVNoYXJlIGhlbHBlciB3aGVuIHNpZ25hdHVyZXMgYXJlIHN1cHBvcnRlZFxuICAgIGNvbnN0IHVzZXJUb0JpdGdvUHVibGljU2hhcmUgPSBCdWZmZXIuY29uY2F0KFtcbiAgICAgIEJ1ZmZlci5mcm9tKHVzZXJLZXlTaGFyZS51U2hhcmUueSwgJ2hleCcpLFxuICAgICAgQnVmZmVyLmZyb20odXNlcktleVNoYXJlLnVTaGFyZS5jaGFpbmNvZGUsICdoZXgnKSxcbiAgICBdKS50b1N0cmluZygnaGV4Jyk7XG4gICAgY29uc3QgdXNlclRvQml0Z29Qcml2YXRlU2hhcmUgPSBCdWZmZXIuY29uY2F0KFtcbiAgICAgIEJ1ZmZlci5mcm9tKHVzZXJLZXlTaGFyZS55U2hhcmVzWzNdLnUsICdoZXgnKSxcbiAgICAgIEJ1ZmZlci5mcm9tKHVzZXJLZXlTaGFyZS55U2hhcmVzWzNdLmNoYWluY29kZSwgJ2hleCcpLFxuICAgIF0pLnRvU3RyaW5nKCdoZXgnKTtcbiAgICBjb25zdCB1c2VyVG9CaXRnb0tleVNoYXJlID0ge1xuICAgICAgcHVibGljU2hhcmU6IHVzZXJUb0JpdGdvUHVibGljU2hhcmUsXG4gICAgICBwcml2YXRlU2hhcmU6IHVzZXJUb0JpdGdvUHJpdmF0ZVNoYXJlLFxuICAgICAgcHJpdmF0ZVNoYXJlUHJvb2Y6IGF3YWl0IGNyZWF0ZVNoYXJlUHJvb2YodXNlckdwZ0tleS5wcml2YXRlS2V5LCB1c2VyVG9CaXRnb1ByaXZhdGVTaGFyZS5zbGljZSgwLCA2NCksICdlZGRzYScpLFxuICAgICAgdnNzUHJvb2Y6IHVzZXJLZXlTaGFyZS55U2hhcmVzWzNdLnYsXG4gICAgfTtcblxuICAgIGNvbnN0IGJhY2t1cFRvQml0Z29QdWJsaWNTaGFyZSA9IEJ1ZmZlci5jb25jYXQoW1xuICAgICAgQnVmZmVyLmZyb20oYmFja3VwS2V5U2hhcmUudVNoYXJlLnksICdoZXgnKSxcbiAgICAgIEJ1ZmZlci5mcm9tKGJhY2t1cEtleVNoYXJlLnVTaGFyZS5jaGFpbmNvZGUsICdoZXgnKSxcbiAgICBdKS50b1N0cmluZygnaGV4Jyk7XG4gICAgY29uc3QgYmFja3VwVG9CaXRnb1ByaXZhdGVTaGFyZSA9IEJ1ZmZlci5jb25jYXQoW1xuICAgICAgQnVmZmVyLmZyb20oYmFja3VwS2V5U2hhcmUueVNoYXJlc1szXS51LCAnaGV4JyksXG4gICAgICBCdWZmZXIuZnJvbShiYWNrdXBLZXlTaGFyZS55U2hhcmVzWzNdLmNoYWluY29kZSwgJ2hleCcpLFxuICAgIF0pLnRvU3RyaW5nKCdoZXgnKTtcbiAgICBjb25zdCBiYWNrdXBUb0JpdGdvS2V5U2hhcmUgPSB7XG4gICAgICBwdWJsaWNTaGFyZTogYmFja3VwVG9CaXRnb1B1YmxpY1NoYXJlLFxuICAgICAgcHJpdmF0ZVNoYXJlOiBiYWNrdXBUb0JpdGdvUHJpdmF0ZVNoYXJlLFxuICAgICAgcHJpdmF0ZVNoYXJlUHJvb2Y6IGF3YWl0IGNyZWF0ZVNoYXJlUHJvb2YoXG4gICAgICAgIGJhY2t1cEdwZ0tleS5wcml2YXRlS2V5LFxuICAgICAgICBiYWNrdXBUb0JpdGdvUHJpdmF0ZVNoYXJlLnNsaWNlKDAsIDY0KSxcbiAgICAgICAgJ2VkZHNhJ1xuICAgICAgKSxcbiAgICAgIHZzc1Byb29mOiBiYWNrdXBLZXlTaGFyZS55U2hhcmVzWzNdLnYsXG4gICAgfTtcblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmNyZWF0ZUJpdGdvS2V5Y2hhaW5JbldQKFxuICAgICAgdXNlckdwZ0tleSxcbiAgICAgIGJhY2t1cEdwZ0tleSxcbiAgICAgIHVzZXJUb0JpdGdvS2V5U2hhcmUsXG4gICAgICBiYWNrdXBUb0JpdGdvS2V5U2hhcmUsXG4gICAgICAndHNzJyxcbiAgICAgIGVudGVycHJpc2VcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgVXNlciwgQmFja3VwLCBhbmQgQml0R28gVFNTIEtleWNoYWlucy5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcy5wYXNzcGhyYXNlIC0gcGFzc3BocmFzZSB1c2VkIHRvIGVuY3J5cHQgc2lnbmluZyBtYXRlcmlhbHMgY3JlYXRlZCBmb3IgVXNlciBhbmQgQmFja3VwXG4gICAqL1xuICBhc3luYyBjcmVhdGVLZXljaGFpbnMocGFyYW1zOiB7XG4gICAgcGFzc3BocmFzZT86IHN0cmluZztcbiAgICBlbnRlcnByaXNlPzogc3RyaW5nO1xuICAgIG9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZT86IHN0cmluZztcbiAgfSk6IFByb21pc2U8S2V5Y2hhaW5zVHJpcGxldD4ge1xuICAgIGNvbnN0IE1QQyA9IGF3YWl0IEVkZHNhLmluaXRpYWxpemUoKTtcbiAgICBjb25zdCBtID0gMjtcbiAgICBjb25zdCBuID0gMztcblxuICAgIGNvbnN0IHVzZXJLZXlTaGFyZSA9IE1QQy5rZXlTaGFyZSgxLCBtLCBuKTtcbiAgICBjb25zdCBiYWNrdXBLZXlTaGFyZSA9IE1QQy5rZXlTaGFyZSgyLCBtLCBuKTtcblxuICAgIGNvbnN0IHVzZXJHcGdLZXkgPSBhd2FpdCBnZW5lcmF0ZUdQR0tleVBhaXIoJ3NlY3AyNTZrMScpO1xuICAgIGNvbnN0IGJhY2t1cEdwZ0tleSA9IGF3YWl0IGdlbmVyYXRlR1BHS2V5UGFpcignc2VjcDI1NmsxJyk7XG5cbiAgICBjb25zdCBiaXRnb0tleWNoYWluID0gYXdhaXQgdGhpcy5jcmVhdGVCaXRnb0tleWNoYWluKHtcbiAgICAgIHVzZXJHcGdLZXksXG4gICAgICB1c2VyS2V5U2hhcmUsXG4gICAgICBiYWNrdXBHcGdLZXksXG4gICAgICBiYWNrdXBLZXlTaGFyZSxcbiAgICAgIGVudGVycHJpc2U6IHBhcmFtcy5lbnRlcnByaXNlLFxuICAgIH0pO1xuICAgIGNvbnN0IHVzZXJLZXljaGFpblByb21pc2UgPSB0aGlzLmNyZWF0ZVVzZXJLZXljaGFpbih7XG4gICAgICB1c2VyR3BnS2V5LFxuICAgICAgdXNlcktleVNoYXJlLFxuICAgICAgYmFja3VwR3BnS2V5LFxuICAgICAgYmFja3VwS2V5U2hhcmUsXG4gICAgICBiaXRnb0tleWNoYWluLFxuICAgICAgcGFzc3BocmFzZTogcGFyYW1zLnBhc3NwaHJhc2UsXG4gICAgICBvcmlnaW5hbFBhc3Njb2RlRW5jcnlwdGlvbkNvZGU6IHBhcmFtcy5vcmlnaW5hbFBhc3Njb2RlRW5jcnlwdGlvbkNvZGUsXG4gICAgfSk7XG4gICAgY29uc3QgYmFja3VwS2V5Y2hhaW5Qcm9taXNlID0gdGhpcy5jcmVhdGVCYWNrdXBLZXljaGFpbih7XG4gICAgICB1c2VyR3BnS2V5LFxuICAgICAgdXNlcktleVNoYXJlLFxuICAgICAgYmFja3VwR3BnS2V5LFxuICAgICAgYmFja3VwS2V5U2hhcmUsXG4gICAgICBiaXRnb0tleWNoYWluLFxuICAgICAgcGFzc3BocmFzZTogcGFyYW1zLnBhc3NwaHJhc2UsXG4gICAgfSk7XG4gICAgY29uc3QgW3VzZXJLZXljaGFpbiwgYmFja3VwS2V5Y2hhaW5dID0gYXdhaXQgUHJvbWlzZS5hbGwoW3VzZXJLZXljaGFpblByb21pc2UsIGJhY2t1cEtleWNoYWluUHJvbWlzZV0pO1xuXG4gICAgLy8gY3JlYXRlIHdhbGxldFxuICAgIGNvbnN0IGtleWNoYWlucyA9IHtcbiAgICAgIHVzZXJLZXljaGFpbixcbiAgICAgIGJhY2t1cEtleWNoYWluLFxuICAgICAgYml0Z29LZXljaGFpbixcbiAgICB9O1xuXG4gICAgcmV0dXJuIGtleWNoYWlucztcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZVJTaGFyZUZyb21UeFJlcXVlc3QocGFyYW1zOiB7XG4gICAgdHhSZXF1ZXN0OiBUeFJlcXVlc3Q7XG4gICAgcHJ2OiBzdHJpbmc7XG4gIH0pOiBQcm9taXNlPHsgclNoYXJlOiBTaWduU2hhcmU7IHNpZ25pbmdLZXlZU2hhcmU6IFlTaGFyZSB9PiB7XG4gICAgY29uc3QgeyB0eFJlcXVlc3QsIHBydiB9ID0gcGFyYW1zO1xuICAgIGNvbnN0IHR4UmVxdWVzdFJlc29sdmVkOiBUeFJlcXVlc3QgPSB0eFJlcXVlc3Q7XG5cbiAgICBjb25zdCBoZFRyZWUgPSBhd2FpdCBFZDI1NTE5QklQMzIuaW5pdGlhbGl6ZSgpO1xuICAgIGNvbnN0IE1QQyA9IGF3YWl0IEVkZHNhLmluaXRpYWxpemUoaGRUcmVlKTtcblxuICAgIGNvbnN0IHVzZXJTaWduaW5nTWF0ZXJpYWw6IFNpZ25pbmdNYXRlcmlhbCA9IEpTT04ucGFyc2UocHJ2KTtcbiAgICBpZiAoIXVzZXJTaWduaW5nTWF0ZXJpYWwuYmFja3VwWVNoYXJlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdXNlciBrZXkgLSBtaXNzaW5nIGJhY2t1cFlTaGFyZScpO1xuICAgIH1cblxuICAgIGFzc2VydCh0eFJlcXVlc3RSZXNvbHZlZC50cmFuc2FjdGlvbnMgfHwgdHhSZXF1ZXN0UmVzb2x2ZWQudW5zaWduZWRUeHMsICdVbmFibGUgdG8gZmluZCB0cmFuc2FjdGlvbnMgaW4gdHhSZXF1ZXN0Jyk7XG4gICAgY29uc3QgdW5zaWduZWRUeCA9XG4gICAgICB0eFJlcXVlc3RSZXNvbHZlZC5hcGlWZXJzaW9uID09PSAnZnVsbCdcbiAgICAgICAgPyB0eFJlcXVlc3RSZXNvbHZlZC50cmFuc2FjdGlvbnMhWzBdLnVuc2lnbmVkVHhcbiAgICAgICAgOiB0eFJlcXVlc3RSZXNvbHZlZC51bnNpZ25lZFR4c1swXTtcblxuICAgIGNvbnN0IHNpZ25pbmdLZXkgPSBNUEMua2V5RGVyaXZlKFxuICAgICAgdXNlclNpZ25pbmdNYXRlcmlhbC51U2hhcmUsXG4gICAgICBbdXNlclNpZ25pbmdNYXRlcmlhbC5iaXRnb1lTaGFyZSwgdXNlclNpZ25pbmdNYXRlcmlhbC5iYWNrdXBZU2hhcmVdLFxuICAgICAgdW5zaWduZWRUeC5kZXJpdmF0aW9uUGF0aFxuICAgICk7XG5cbiAgICBjb25zdCBzaWduYWJsZVBheWxvYWQgPSBCdWZmZXIuZnJvbSh1bnNpZ25lZFR4LnNpZ25hYmxlSGV4LCAnaGV4Jyk7XG5cbiAgICBjb25zdCB1c2VyU2lnblNoYXJlID0gYXdhaXQgY3JlYXRlVXNlclNpZ25TaGFyZShzaWduYWJsZVBheWxvYWQsIHNpZ25pbmdLZXkucFNoYXJlKTtcblxuICAgIHJldHVybiB7IHJTaGFyZTogdXNlclNpZ25TaGFyZSwgc2lnbmluZ0tleVlTaGFyZTogc2lnbmluZ0tleS55U2hhcmVzWzNdIH07XG4gIH1cblxuICBhc3luYyBjcmVhdGVHU2hhcmVGcm9tVHhSZXF1ZXN0KHBhcmFtczoge1xuICAgIHR4UmVxdWVzdDogc3RyaW5nIHwgVHhSZXF1ZXN0O1xuICAgIHBydjogc3RyaW5nO1xuICAgIGJpdGdvVG9Vc2VyUlNoYXJlOiBTaWduYXR1cmVTaGFyZVJlY29yZDtcbiAgICB1c2VyVG9CaXRnb1JTaGFyZTogU2lnblNoYXJlO1xuICB9KTogUHJvbWlzZTxHU2hhcmU+IHtcbiAgICBsZXQgdHhSZXF1ZXN0UmVzb2x2ZWQ6IFR4UmVxdWVzdDtcblxuICAgIGNvbnN0IHsgdHhSZXF1ZXN0LCBwcnYsIGJpdGdvVG9Vc2VyUlNoYXJlLCB1c2VyVG9CaXRnb1JTaGFyZSB9ID0gcGFyYW1zO1xuXG4gICAgaWYgKHR5cGVvZiB0eFJlcXVlc3QgPT09ICdzdHJpbmcnKSB7XG4gICAgICB0eFJlcXVlc3RSZXNvbHZlZCA9IGF3YWl0IGdldFR4UmVxdWVzdCh0aGlzLmJpdGdvLCB0aGlzLndhbGxldC5pZCgpLCB0eFJlcXVlc3QpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0eFJlcXVlc3RSZXNvbHZlZCA9IHR4UmVxdWVzdDtcbiAgICB9XG5cbiAgICBjb25zdCB1c2VyU2lnbmluZ01hdGVyaWFsOiBTaWduaW5nTWF0ZXJpYWwgPSBKU09OLnBhcnNlKHBydik7XG4gICAgaWYgKCF1c2VyU2lnbmluZ01hdGVyaWFsLmJhY2t1cFlTaGFyZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHVzZXIga2V5IC0gbWlzc2luZyBiYWNrdXBZU2hhcmUnKTtcbiAgICB9XG5cbiAgICBhc3NlcnQodHhSZXF1ZXN0UmVzb2x2ZWQudHJhbnNhY3Rpb25zIHx8IHR4UmVxdWVzdFJlc29sdmVkLnVuc2lnbmVkVHhzLCAnVW5hYmxlIHRvIGZpbmQgdHJhbnNhY3Rpb25zIGluIHR4UmVxdWVzdCcpO1xuICAgIGNvbnN0IHVuc2lnbmVkVHggPVxuICAgICAgdHhSZXF1ZXN0UmVzb2x2ZWQuYXBpVmVyc2lvbiA9PT0gJ2Z1bGwnXG4gICAgICAgID8gdHhSZXF1ZXN0UmVzb2x2ZWQudHJhbnNhY3Rpb25zIVswXS51bnNpZ25lZFR4XG4gICAgICAgIDogdHhSZXF1ZXN0UmVzb2x2ZWQudW5zaWduZWRUeHNbMF07XG5cbiAgICBjb25zdCBzaWduYWJsZVBheWxvYWQgPSBCdWZmZXIuZnJvbSh1bnNpZ25lZFR4LnNpZ25hYmxlSGV4LCAnaGV4Jyk7XG5cbiAgICBjb25zdCB1c2VyVG9CaXRHb0dTaGFyZSA9IGF3YWl0IGNyZWF0ZVVzZXJUb0JpdEdvR1NoYXJlKFxuICAgICAgdXNlclRvQml0Z29SU2hhcmUsXG4gICAgICBiaXRnb1RvVXNlclJTaGFyZSxcbiAgICAgIHVzZXJTaWduaW5nTWF0ZXJpYWwuYmFja3VwWVNoYXJlLFxuICAgICAgdXNlclNpZ25pbmdNYXRlcmlhbC5iaXRnb1lTaGFyZSxcbiAgICAgIHNpZ25hYmxlUGF5bG9hZFxuICAgICk7XG4gICAgcmV0dXJuIHVzZXJUb0JpdEdvR1NoYXJlO1xuICB9XG5cbiAgYXN5bmMgc2lnblVzaW5nRXh0ZXJuYWxTaWduZXIoXG4gICAgdHhSZXF1ZXN0OiBzdHJpbmcgfCBUeFJlcXVlc3QsXG4gICAgZXh0ZXJuYWxTaWduZXJSU2hhcmVHZW5lcmF0b3I6IEN1c3RvbVJTaGFyZUdlbmVyYXRpbmdGdW5jdGlvbixcbiAgICBleHRlcm5hbFNpZ25lckdTaGFyZUdlbmVyYXRvcjogQ3VzdG9tR1NoYXJlR2VuZXJhdGluZ0Z1bmN0aW9uXG4gICk6IFByb21pc2U8VHhSZXF1ZXN0PiB7XG4gICAgbGV0IHR4UmVxdWVzdFJlc29sdmVkOiBUeFJlcXVlc3Q7XG4gICAgbGV0IHR4UmVxdWVzdElkOiBzdHJpbmc7XG4gICAgaWYgKHR5cGVvZiB0eFJlcXVlc3QgPT09ICdzdHJpbmcnKSB7XG4gICAgICB0eFJlcXVlc3RSZXNvbHZlZCA9IGF3YWl0IGdldFR4UmVxdWVzdCh0aGlzLmJpdGdvLCB0aGlzLndhbGxldC5pZCgpLCB0eFJlcXVlc3QpO1xuICAgICAgdHhSZXF1ZXN0SWQgPSB0eFJlcXVlc3RSZXNvbHZlZC50eFJlcXVlc3RJZDtcbiAgICB9IGVsc2Uge1xuICAgICAgdHhSZXF1ZXN0UmVzb2x2ZWQgPSB0eFJlcXVlc3Q7XG4gICAgICB0eFJlcXVlc3RJZCA9IHR4UmVxdWVzdC50eFJlcXVlc3RJZDtcbiAgICB9XG4gICAgY29uc3QgclNpZ25TaGFyZVRyYW5zYWN0aW9uUGFyYW1zID0ge1xuICAgICAgdHhSZXF1ZXN0OiB0eFJlcXVlc3RSZXNvbHZlZCxcbiAgICB9O1xuICAgIGNvbnN0IHsgclNoYXJlLCBzaWduaW5nS2V5WVNoYXJlIH0gPSBhd2FpdCBleHRlcm5hbFNpZ25lclJTaGFyZUdlbmVyYXRvcihyU2lnblNoYXJlVHJhbnNhY3Rpb25QYXJhbXMpO1xuICAgIGNvbnN0IHNpZ25lclNoYXJlID0gc2lnbmluZ0tleVlTaGFyZS51ICsgc2lnbmluZ0tleVlTaGFyZS5jaGFpbmNvZGU7XG4gICAgY29uc3QgYml0Z29HcGdLZXkgPSBhd2FpdCBnZXRCaXRnb0dwZ1B1YktleSh0aGlzLmJpdGdvKTtcbiAgICBjb25zdCBlbmNyeXB0ZWRTaWduZXJTaGFyZSA9IGF3YWl0IGVuY3J5cHRUZXh0KHNpZ25lclNoYXJlLCBiaXRnb0dwZ0tleSk7XG4gICAgYXdhaXQgb2ZmZXJVc2VyVG9CaXRnb1JTaGFyZSh0aGlzLmJpdGdvLCB0aGlzLndhbGxldC5pZCgpLCB0eFJlcXVlc3RJZCwgclNoYXJlLCBlbmNyeXB0ZWRTaWduZXJTaGFyZSwgJ2Z1bGwnKTtcbiAgICBjb25zdCBiaXRnb1RvVXNlclJTaGFyZSA9IGF3YWl0IGdldEJpdGdvVG9Vc2VyUlNoYXJlKHRoaXMuYml0Z28sIHRoaXMud2FsbGV0LmlkKCksIHR4UmVxdWVzdElkKTtcbiAgICBjb25zdCBnU2lnblNoYXJlVHJhbnNhY3Rpb25QYXJhbXMgPSB7XG4gICAgICB0eFJlcXVlc3Q6IHR4UmVxdWVzdFJlc29sdmVkLFxuICAgICAgYml0Z29Ub1VzZXJSU2hhcmU6IGJpdGdvVG9Vc2VyUlNoYXJlLFxuICAgICAgdXNlclRvQml0Z29SU2hhcmU6IHJTaGFyZSxcbiAgICB9O1xuICAgIGNvbnN0IGdTaGFyZSA9IGF3YWl0IGV4dGVybmFsU2lnbmVyR1NoYXJlR2VuZXJhdG9yKGdTaWduU2hhcmVUcmFuc2FjdGlvblBhcmFtcyk7XG4gICAgYXdhaXQgc2VuZFVzZXJUb0JpdGdvR1NoYXJlKHRoaXMuYml0Z28sIHRoaXMud2FsbGV0LmlkKCksIHR4UmVxdWVzdElkLCBnU2hhcmUsICdmdWxsJyk7XG4gICAgcmV0dXJuIGF3YWl0IGdldFR4UmVxdWVzdCh0aGlzLmJpdGdvLCB0aGlzLndhbGxldC5pZCgpLCB0eFJlcXVlc3RJZCk7XG4gIH1cblxuICAvKipcbiAgICogU2lnbnMgdGhlIHRyYW5zYWN0aW9uIGFzc29jaWF0ZWQgdG8gdGhlIHRyYW5zYWN0aW9uIHJlcXVlc3QuXG4gICAqXG4gICAqIEBwYXJhbSB0eFJlcXVlc3QgLSB0cmFuc2FjdGlvbiByZXF1ZXN0IG9iamVjdCBvciBpZFxuICAgKiBAcGFyYW0gcHJ2IC0gZGVjcnlwdGVkIHByaXZhdGUga2V5XG4gICAqIEBwYXJhbSByZXFJZCAtIHJlcXVlc3QgaWRcbiAgICogQHJldHVybnMge1Byb21pc2U8VHhSZXF1ZXN0Pn0gZnVsbHkgc2lnbmVkIFR4UmVxdWVzdCBvYmplY3RcbiAgICovXG4gIGFzeW5jIHNpZ25UeFJlcXVlc3QocGFyYW1zOiBUU1NQYXJhbXMpOiBQcm9taXNlPFR4UmVxdWVzdD4ge1xuICAgIGxldCB0eFJlcXVlc3RSZXNvbHZlZDogVHhSZXF1ZXN0O1xuICAgIGxldCB0eFJlcXVlc3RJZDogc3RyaW5nO1xuXG4gICAgY29uc3QgeyB0eFJlcXVlc3QsIHBydiwgYXBpVmVyc2lvbiB9ID0gcGFyYW1zO1xuXG4gICAgaWYgKHR5cGVvZiB0eFJlcXVlc3QgPT09ICdzdHJpbmcnKSB7XG4gICAgICB0eFJlcXVlc3RSZXNvbHZlZCA9IGF3YWl0IGdldFR4UmVxdWVzdCh0aGlzLmJpdGdvLCB0aGlzLndhbGxldC5pZCgpLCB0eFJlcXVlc3QpO1xuICAgICAgdHhSZXF1ZXN0SWQgPSB0eFJlcXVlc3RSZXNvbHZlZC50eFJlcXVlc3RJZDtcbiAgICB9IGVsc2Uge1xuICAgICAgdHhSZXF1ZXN0UmVzb2x2ZWQgPSB0eFJlcXVlc3Q7XG4gICAgICB0eFJlcXVlc3RJZCA9IHR4UmVxdWVzdC50eFJlcXVlc3RJZDtcbiAgICB9XG5cbiAgICBjb25zdCBoZFRyZWUgPSBhd2FpdCBFZDI1NTE5QklQMzIuaW5pdGlhbGl6ZSgpO1xuICAgIGNvbnN0IE1QQyA9IGF3YWl0IEVkZHNhLmluaXRpYWxpemUoaGRUcmVlKTtcblxuICAgIGNvbnN0IHVzZXJTaWduaW5nTWF0ZXJpYWw6IFNpZ25pbmdNYXRlcmlhbCA9IEpTT04ucGFyc2UocHJ2KTtcbiAgICBpZiAoIXVzZXJTaWduaW5nTWF0ZXJpYWwuYmFja3VwWVNoYXJlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdXNlciBrZXkgLSBtaXNzaW5nIGJhY2t1cFlTaGFyZScpO1xuICAgIH1cblxuICAgIGFzc2VydCh0eFJlcXVlc3RSZXNvbHZlZC50cmFuc2FjdGlvbnMgfHwgdHhSZXF1ZXN0UmVzb2x2ZWQudW5zaWduZWRUeHMsICdVbmFibGUgdG8gZmluZCB0cmFuc2FjdGlvbnMgaW4gdHhSZXF1ZXN0Jyk7XG4gICAgY29uc3QgdW5zaWduZWRUeCA9XG4gICAgICB0eFJlcXVlc3RSZXNvbHZlZC5hcGlWZXJzaW9uID09PSAnZnVsbCdcbiAgICAgICAgPyB0eFJlcXVlc3RSZXNvbHZlZC50cmFuc2FjdGlvbnMhWzBdLnVuc2lnbmVkVHhcbiAgICAgICAgOiB0eFJlcXVlc3RSZXNvbHZlZC51bnNpZ25lZFR4c1swXTtcblxuICAgIGNvbnN0IHNpZ25pbmdLZXkgPSBNUEMua2V5RGVyaXZlKFxuICAgICAgdXNlclNpZ25pbmdNYXRlcmlhbC51U2hhcmUsXG4gICAgICBbdXNlclNpZ25pbmdNYXRlcmlhbC5iaXRnb1lTaGFyZSwgdXNlclNpZ25pbmdNYXRlcmlhbC5iYWNrdXBZU2hhcmVdLFxuICAgICAgdW5zaWduZWRUeC5kZXJpdmF0aW9uUGF0aFxuICAgICk7XG5cbiAgICBjb25zdCBzaWduYWJsZVBheWxvYWQgPSBCdWZmZXIuZnJvbSh1bnNpZ25lZFR4LnNpZ25hYmxlSGV4LCAnaGV4Jyk7XG5cbiAgICBjb25zdCB1c2VyU2lnblNoYXJlID0gYXdhaXQgY3JlYXRlVXNlclNpZ25TaGFyZShzaWduYWJsZVBheWxvYWQsIHNpZ25pbmdLZXkucFNoYXJlKTtcblxuICAgIGNvbnN0IGJpdGdvSW5kZXggPSAzO1xuICAgIGNvbnN0IHNpZ25lclNoYXJlID0gc2lnbmluZ0tleS55U2hhcmVzW2JpdGdvSW5kZXhdLnUgKyBzaWduaW5nS2V5LnlTaGFyZXNbYml0Z29JbmRleF0uY2hhaW5jb2RlO1xuICAgIGNvbnN0IGJpdGdvR3BnS2V5ID0gYXdhaXQgZ2V0Qml0Z29HcGdQdWJLZXkodGhpcy5iaXRnbyk7XG4gICAgY29uc3QgZW5jcnlwdGVkU2lnbmVyU2hhcmUgPSBhd2FpdCBlbmNyeXB0VGV4dChzaWduZXJTaGFyZSwgYml0Z29HcGdLZXkpO1xuXG4gICAgY29uc3QgdXNlckdwZ0tleSA9IGF3YWl0IGdlbmVyYXRlR1BHS2V5UGFpcignc2VjcDI1NmsxJyk7XG4gICAgY29uc3QgcHJpdmF0ZVNoYXJlUHJvb2YgPSBhd2FpdCBjcmVhdGVTaGFyZVByb29mKHVzZXJHcGdLZXkucHJpdmF0ZUtleSwgc2lnbmluZ0tleS55U2hhcmVzW2JpdGdvSW5kZXhdLnUsICdlZGRzYScpO1xuICAgIGNvbnN0IHZzc1Byb29mID0gc2lnbmluZ0tleS55U2hhcmVzW2JpdGdvSW5kZXhdLnY7XG4gICAgY29uc3QgdXNlclB1YmxpY0dwZ0tleSA9IHVzZXJHcGdLZXkucHVibGljS2V5O1xuICAgIGNvbnN0IHB1YmxpY1NoYXJlID0gc2lnbmluZ0tleS55U2hhcmVzW2JpdGdvSW5kZXhdLnkgKyBzaWduaW5nS2V5LnlTaGFyZXNbYml0Z29JbmRleF0uY2hhaW5jb2RlO1xuXG4gICAgYXdhaXQgb2ZmZXJVc2VyVG9CaXRnb1JTaGFyZShcbiAgICAgIHRoaXMuYml0Z28sXG4gICAgICB0aGlzLndhbGxldC5pZCgpLFxuICAgICAgdHhSZXF1ZXN0SWQsXG4gICAgICB1c2VyU2lnblNoYXJlLFxuICAgICAgZW5jcnlwdGVkU2lnbmVyU2hhcmUsXG4gICAgICBhcGlWZXJzaW9uLFxuICAgICAgdnNzUHJvb2YsXG4gICAgICBwcml2YXRlU2hhcmVQcm9vZixcbiAgICAgIHVzZXJQdWJsaWNHcGdLZXksXG4gICAgICBwdWJsaWNTaGFyZVxuICAgICk7XG5cbiAgICBjb25zdCBiaXRnb1RvVXNlclJTaGFyZSA9IGF3YWl0IGdldEJpdGdvVG9Vc2VyUlNoYXJlKHRoaXMuYml0Z28sIHRoaXMud2FsbGV0LmlkKCksIHR4UmVxdWVzdElkKTtcblxuICAgIGNvbnN0IHVzZXJUb0JpdEdvR1NoYXJlID0gYXdhaXQgY3JlYXRlVXNlclRvQml0R29HU2hhcmUoXG4gICAgICB1c2VyU2lnblNoYXJlLFxuICAgICAgYml0Z29Ub1VzZXJSU2hhcmUsXG4gICAgICB1c2VyU2lnbmluZ01hdGVyaWFsLmJhY2t1cFlTaGFyZSxcbiAgICAgIHVzZXJTaWduaW5nTWF0ZXJpYWwuYml0Z29ZU2hhcmUsXG4gICAgICBzaWduYWJsZVBheWxvYWRcbiAgICApO1xuXG4gICAgYXdhaXQgc2VuZFVzZXJUb0JpdGdvR1NoYXJlKHRoaXMuYml0Z28sIHRoaXMud2FsbGV0LmlkKCksIHR4UmVxdWVzdElkLCB1c2VyVG9CaXRHb0dTaGFyZSwgYXBpVmVyc2lvbik7XG5cbiAgICByZXR1cm4gYXdhaXQgZ2V0VHhSZXF1ZXN0KHRoaXMuYml0Z28sIHRoaXMud2FsbGV0LmlkKCksIHR4UmVxdWVzdElkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGNvbW1vblB1YiBwb3J0aW9uIG9mIHRoZSBjb21tb25LZXljaGFpbi5cbiAgICpcbiAgICogQHBhcmFtIHtTdHJpbmd9IGNvbW1vbktleWNoYWluXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICAqL1xuICBzdGF0aWMgZ2V0UHVibGljS2V5RnJvbUNvbW1vbktleWNoYWluKGNvbW1vbktleWNoYWluOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChjb21tb25LZXljaGFpbi5sZW5ndGggIT09IDEyOCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNvbW1vbktleWNoYWluIGxlbmd0aCwgZXhwZWN0ZWQgMTI4LCBnb3QgJHtjb21tb25LZXljaGFpbi5sZW5ndGh9YCk7XG4gICAgfVxuICAgIGNvbnN0IGNvbW1vblB1YkhleFN0ciA9IGNvbW1vbktleWNoYWluLnNsaWNlKDAsIDY0KTtcbiAgICByZXR1cm4gYnM1OC5lbmNvZGUoQnVmZmVyLmZyb20oY29tbW9uUHViSGV4U3RyLCAnaGV4JykpO1xuICB9XG59XG4vKipcbiAqIEBkZXByZWNhdGVkIC0gdXNlIEVkZHNhVXRpbHNcbiAqL1xuZXhwb3J0IGNvbnN0IFRzc1V0aWxzID0gRWRkc2FVdGlscztcbiJdfQ==
|
|
@@ -135,7 +135,7 @@ export interface WalletSignMessageOptions extends WalletSignBaseOptions {
|
|
|
135
135
|
message?: Message;
|
|
136
136
|
custodianMessageId?: string;
|
|
137
137
|
}
|
|
138
|
-
export interface WalletSignTypedDataOptions extends
|
|
138
|
+
export interface WalletSignTypedDataOptions extends WalletSignBaseOptions {
|
|
139
139
|
typedData: TypedData;
|
|
140
140
|
custodianMessageId?: string;
|
|
141
141
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iWallet.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/wallet/iWallet.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"iWallet.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/wallet/iWallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaVdhbGxldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby93YWxsZXQvaVdhbGxldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVJlcXVlc3RUcmFjZXIgfSBmcm9tICcuLi8uLi9hcGknO1xuaW1wb3J0IHtcbiAgSUJhc2VDb2luLFxuICBNZXNzYWdlLFxuICBTaWduZWRNZXNzYWdlLFxuICBTaWduZWRUcmFuc2FjdGlvbixcbiAgVHJhbnNhY3Rpb25QcmVidWlsZCxcbiAgVmVyaWZpY2F0aW9uT3B0aW9ucyxcbiAgVHlwZWREYXRhLFxufSBmcm9tICcuLi9iYXNlQ29pbic7XG5pbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICcuLi9iaXRnb0Jhc2UnO1xuaW1wb3J0IHsgS2V5Y2hhaW4gfSBmcm9tICcuLi9rZXljaGFpbic7XG5pbXBvcnQgeyBJUGVuZGluZ0FwcHJvdmFsLCBQZW5kaW5nQXBwcm92YWxEYXRhIH0gZnJvbSAnLi4vcGVuZGluZ0FwcHJvdmFsJztcbmltcG9ydCB7IElTdGFraW5nV2FsbGV0IH0gZnJvbSAnLi4vc3Rha2luZyc7XG5pbXBvcnQgeyBJVHJhZGluZ0FjY291bnQgfSBmcm9tICcuLi90cmFkaW5nJztcbmltcG9ydCB7XG4gIEN1c3RvbUdTaGFyZUdlbmVyYXRpbmdGdW5jdGlvbixcbiAgQ3VzdG9tUlNoYXJlR2VuZXJhdGluZ0Z1bmN0aW9uLFxuICBUb2tlbkVuYWJsZW1lbnQsXG4gIFRva2VuVHJhbnNmZXJSZWNpcGllbnRQYXJhbXMsXG59IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IElMaWdodG5pbmcgfSBmcm9tICcuLi9saWdodG5pbmcnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1heGltdW1TcGVuZGFibGVPcHRpb25zIHtcbiAgbWluVmFsdWU/OiBudW1iZXIgfCBzdHJpbmc7XG4gIG1heFZhbHVlPzogbnVtYmVyIHwgc3RyaW5nO1xuICBtaW5IZWlnaHQ/OiBudW1iZXI7XG4gIG1pbkNvbmZpcm1zPzogbnVtYmVyO1xuICBlbmZvcmNlTWluQ29uZmlybXNGb3JDaGFuZ2U/OiBib29sZWFuO1xuICBmZWVSYXRlPzogbnVtYmVyO1xuICBtYXhGZWVSYXRlPzogbnVtYmVyO1xuICByZWNpcGllbnRBZGRyZXNzPzogc3RyaW5nO1xuICBsaW1pdD86IG51bWJlcjtcbiAgdGFyZ2V0PzogbnVtYmVyIHwgc3RyaW5nO1xuICBwbGFpblRhcmdldD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXhpbXVtU3BlbmRhYmxlIHtcbiAgbWF4aW11bVNwZW5kYWJsZTogbnVtYmVyO1xuICBjb2luOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVtbyB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZENvbnNvbGlkYXRpb25UcmFuc2FjdGlvbk9wdGlvbnMgZXh0ZW5kcyBQcmVidWlsZFRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIGNvbnNvbGlkYXRlQWRkcmVzc2VzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRUb2tlbkVuYWJsZW1lbnRPcHRpb25zIGV4dGVuZHMgUHJlYnVpbGRUcmFuc2FjdGlvbk9wdGlvbnMge1xuICBlbmFibGVUb2tlbnM6IFRva2VuRW5hYmxlbWVudFtdO1xufVxuXG5leHBvcnQgdHlwZSBBcGlWZXJzaW9uID0gJ2xpdGUnIHwgJ2Z1bGwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFByZWJ1aWxkVHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgcmVxSWQ/OiBJUmVxdWVzdFRyYWNlcjtcbiAgcmVjaXBpZW50cz86IHtcbiAgICBhZGRyZXNzOiBzdHJpbmc7XG4gICAgYW1vdW50OiBzdHJpbmcgfCBudW1iZXI7XG4gICAgdG9rZW5OYW1lPzogc3RyaW5nO1xuICAgIHRva2VuRGF0YT86IFRva2VuVHJhbnNmZXJSZWNpcGllbnRQYXJhbXM7XG4gIH1bXTtcbiAgbnVtQmxvY2tzPzogbnVtYmVyO1xuICBtYXhGZWVSYXRlPzogbnVtYmVyO1xuICBtaW5Db25maXJtcz86IG51bWJlcjtcbiAgZW5mb3JjZU1pbkNvbmZpcm1zRm9yQ2hhbmdlPzogYm9vbGVhbjtcbiAgdGFyZ2V0V2FsbGV0VW5zcGVudHM/OiBudW1iZXI7XG4gIG1pblZhbHVlPzogbnVtYmVyIHwgc3RyaW5nO1xuICBtYXhWYWx1ZT86IG51bWJlciB8IHN0cmluZztcbiAgc2VxdWVuY2VJZD86IHN0cmluZztcbiAgbGFzdExlZGdlclNlcXVlbmNlPzogbnVtYmVyO1xuICBsZWRnZXJTZXF1ZW5jZURlbHRhPzogbnVtYmVyO1xuICBnYXNQcmljZT86IG51bWJlcjtcbiAgbm9TcGxpdENoYW5nZT86IGJvb2xlYW47XG4gIHVuc3BlbnRzPzogYW55W107XG4gIGNoYW5nZUFkZHJlc3M/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIGNsb3NlUmVtYWluZGVyVG8/OiBzdHJpbmc7XG4gIG5vblBhcnRpY2lwYXRpb24/OiBib29sZWFuO1xuICB2YWxpZEZyb21CbG9jaz86IG51bWJlcjtcbiAgdmFsaWRUb0Jsb2NrPzogbnVtYmVyO1xuICBpbnN0YW50PzogYm9vbGVhbjtcbiAgbWVtbz86IE1lbW87XG4gIGFkZHJlc3NUeXBlPzogc3RyaW5nO1xuICBob3A/OiBib29sZWFuO1xuICB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nO1xuICByZXNlcnZhdGlvbj86IHtcbiAgICBleHBpcmVUaW1lPzogc3RyaW5nO1xuICAgIHBlbmRpbmdBcHByb3ZhbElkPzogc3RyaW5nO1xuICB9O1xuICBvZmZsaW5lVmVyaWZpY2F0aW9uPzogYm9vbGVhbjtcbiAgd2FsbGV0Q29udHJhY3RBZGRyZXNzPzogc3RyaW5nO1xuICBpZGZTaWduZWRUaW1lc3RhbXA/OiBzdHJpbmc7XG4gIGlkZlVzZXJJZD86IHN0cmluZztcbiAgaWRmVmVyc2lvbj86IG51bWJlcjtcbiAgY29tbWVudD86IHN0cmluZztcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xuICB0b2tlbk5hbWU/OiBzdHJpbmc7XG4gIGVuYWJsZVRva2Vucz86IFRva2VuRW5hYmxlbWVudFtdO1xuICBub25jZT86IHN0cmluZztcbiAgcHJldmlldz86IGJvb2xlYW47XG4gIGVpcDE1NTk/OiBFSVAxNTU5O1xuICBnYXNMaW1pdD86IG51bWJlcjtcbiAgbG93RmVlVHhpZD86IHN0cmluZztcbiAgaXNUc3M/OiBib29sZWFuO1xuICBjdXN0b2RpYW5UcmFuc2FjdGlvbklkPzogc3RyaW5nO1xuICBhcGlWZXJzaW9uPzogQXBpVmVyc2lvbjtcbiAgLyoqXG4gICAqIElmIHNldCB0byBmYWxzZSwgc3dlZXAgYWxsIGZ1bmRzIGluY2x1ZGluZyB0aGUgcmVxdWlyZWQgbWluaW11bXMgZm9yIGFkZHJlc3MoZXMpLiBFLmcuIFBvbGthZG90IChET1QpIHJlcXVpcmVzIDEgRE9UIG1pbmltdW0uXG4gICAqL1xuICBrZWVwQWxpdmU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByZWJ1aWxkQW5kU2lnblRyYW5zYWN0aW9uT3B0aW9ucyBleHRlbmRzIFByZWJ1aWxkVHJhbnNhY3Rpb25PcHRpb25zLCBXYWxsZXRTaWduVHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgcHJlYnVpbGRUeD86IHN0cmluZyB8IFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHQ7XG4gIHZlcmlmaWNhdGlvbj86IFZlcmlmaWNhdGlvbk9wdGlvbnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdCBleHRlbmRzIFRyYW5zYWN0aW9uUHJlYnVpbGQge1xuICB3YWxsZXRJZDogc3RyaW5nO1xuICAvLyBDb25zb2xpZGF0ZSBJRCBpcyB1c2VkIGZvciBjb25zb2xpZGF0ZSBhY2NvdW50IHRyYW5zYWN0aW9ucyBhbmQgaW5kaWNhdGVzIGlmIHRoaXMgaXNcbiAgLy8gYSBjb25zb2xpZGF0aW9uIGFuZCB3aGF0IGNvbnNvbGlkYXRlIGdyb3VwIGl0IHNob3VsZCBiZSByZWZlcmVuY2VkIGJ5LlxuICBjb25zb2xpZGF0ZUlkPzogc3RyaW5nO1xuICBjb25zb2xpZGF0aW9uRGV0YWlscz86IHtcbiAgICBzZW5kZXJBZGRyZXNzSW5kZXg6IG51bWJlcjtcbiAgfTtcbiAgZmVlSW5mbz86IHtcbiAgICBmZWU/OiBudW1iZXI7XG4gICAgZmVlU3RyaW5nPzogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbVNpZ25pbmdGdW5jdGlvbiB7XG4gIChwYXJhbXM6IHsgY29pbjogSUJhc2VDb2luOyB0eFByZWJ1aWxkOiBUcmFuc2FjdGlvblByZWJ1aWxkOyBwdWJzPzogc3RyaW5nW10gfSk6IFByb21pc2U8U2lnbmVkVHJhbnNhY3Rpb24+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdhbGxldFNpZ25CYXNlT3B0aW9ucyB7XG4gIHJlcUlkPzogSVJlcXVlc3RUcmFjZXI7XG4gIHBydj86IHN0cmluZztcbiAgcHVicz86IHN0cmluZ1tdO1xuICB0eFJlcXVlc3RJZD86IHN0cmluZztcbiAgY29zaWduZXJQdWI/OiBzdHJpbmc7XG4gIGlzTGFzdFNpZ25hdHVyZT86IGJvb2xlYW47XG4gIGN1c3RvbVNpZ25pbmdGdW5jdGlvbj86IEN1c3RvbVNpZ25pbmdGdW5jdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXYWxsZXRTaWduVHJhbnNhY3Rpb25PcHRpb25zIGV4dGVuZHMgV2FsbGV0U2lnbkJhc2VPcHRpb25zIHtcbiAgdHhQcmVidWlsZD86IFRyYW5zYWN0aW9uUHJlYnVpbGQ7XG4gIGN1c3RvbVJTaGFyZUdlbmVyYXRpbmdGdW5jdGlvbj86IEN1c3RvbVJTaGFyZUdlbmVyYXRpbmdGdW5jdGlvbjtcbiAgY3VzdG9tR1NoYXJlR2VuZXJhdGluZ0Z1bmN0aW9uPzogQ3VzdG9tR1NoYXJlR2VuZXJhdGluZ0Z1bmN0aW9uO1xuICBhcGlWZXJzaW9uPzogQXBpVmVyc2lvbjtcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdhbGxldFNpZ25NZXNzYWdlT3B0aW9ucyBleHRlbmRzIFdhbGxldFNpZ25CYXNlT3B0aW9ucyB7XG4gIG1lc3NhZ2U/OiBNZXNzYWdlO1xuICBjdXN0b2RpYW5NZXNzYWdlSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2FsbGV0U2lnblR5cGVkRGF0YU9wdGlvbnMgZXh0ZW5kcyBXYWxsZXRTaWduTWVzc2FnZU9wdGlvbnMge1xuICB0eXBlZERhdGE6IFR5cGVkRGF0YTtcbiAgY3VzdG9kaWFuTWVzc2FnZUlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFVzZXJQcnZPcHRpb25zIHtcbiAga2V5Y2hhaW4/OiBLZXljaGFpbjtcbiAga2V5PzogS2V5Y2hhaW47XG4gIHBydj86IHN0cmluZztcbiAgY29sZERlcml2YXRpb25TZWVkPzogc3RyaW5nO1xuICB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdhbGxldENvaW5TcGVjaWZpYyB7XG4gIHRva2VuRmx1c2hUaHJlc2hvbGRzPzogYW55O1xuICBhZGRyZXNzVmVyc2lvbj86IG51bWJlcjtcbiAgYmFzZUFkZHJlc3M/OiBzdHJpbmc7XG4gIHJvb3RBZGRyZXNzPzogc3RyaW5nO1xuICBjdXN0b21DaGFuZ2VXYWxsZXRJZDogc3RyaW5nO1xuICB3YWxsZXRWZXJzaW9uPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luYXRpb25PcHRpb25zIHtcbiAgcHJldklkPzogc3RyaW5nO1xuICBsaW1pdD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRUcmFuc2FjdGlvbk9wdGlvbnMgZXh0ZW5kcyBQYWdpbmF0aW9uT3B0aW9ucyB7XG4gIHR4SGFzaD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2ZlcnNPcHRpb25zIGV4dGVuZHMgUGFnaW5hdGlvbk9wdGlvbnMge1xuICB0eEhhc2g/OiBzdHJpbmc7XG4gIGFsbFRva2Vucz86IGJvb2xlYW47XG4gIHNlYXJjaExhYmVsPzogc3RyaW5nO1xuICBhZGRyZXNzPzogc3RyaW5nW10gfCBzdHJpbmc7XG4gIGRhdGVHdGU/OiBzdHJpbmc7XG4gIGRhdGVMdD86IHN0cmluZztcbiAgdmFsdWVHdGU/OiBudW1iZXI7XG4gIHZhbHVlTHQ/OiBudW1iZXI7XG4gIGluY2x1ZGVIZXg/OiBib29sZWFuO1xuICBzdGF0ZT86IHN0cmluZ1tdIHwgc3RyaW5nO1xuICB0eXBlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFRyYW5zZmVyT3B0aW9ucyB7XG4gIGlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zZmVyQnlTZXF1ZW5jZUlkT3B0aW9ucyB7XG4gIHNlcXVlbmNlSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVW5zcGVudHNPcHRpb25zIGV4dGVuZHMgUGFnaW5hdGlvbk9wdGlvbnMge1xuICBtaW5WYWx1ZT86IG51bWJlciB8IHN0cmluZztcbiAgbWF4VmFsdWU/OiBudW1iZXIgfCBzdHJpbmc7XG4gIG1pbkhlaWdodD86IG51bWJlcjtcbiAgbWluQ29uZmlybXM/OiBudW1iZXI7XG4gIHRhcmdldD86IG51bWJlciB8IHN0cmluZztcbiAgc2Vnd2l0PzogYm9vbGVhbjtcbiAgY2hhaW5zPzogbnVtYmVyW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uc29saWRhdGVVbnNwZW50c09wdGlvbnMgZXh0ZW5kcyBXYWxsZXRTaWduVHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbiAgeHBydj86IHN0cmluZztcbiAgbWluVmFsdWU/OiBudW1iZXIgfCBzdHJpbmc7XG4gIG1heFZhbHVlPzogbnVtYmVyIHwgc3RyaW5nO1xuICBtaW5IZWlnaHQ/OiBudW1iZXI7XG4gIG51bVVuc3BlbnRzVG9NYWtlPzogbnVtYmVyO1xuICBmZWVUeENvbmZpcm1UYXJnZXQ/OiBudW1iZXI7XG4gIGxpbWl0PzogbnVtYmVyO1xuICBtaW5Db25maXJtcz86IG51bWJlcjtcbiAgZW5mb3JjZU1pbkNvbmZpcm1zRm9yQ2hhbmdlPzogYm9vbGVhbjtcbiAgZmVlUmF0ZT86IG51bWJlcjtcbiAgbWF4RmVlUmF0ZT86IG51bWJlcjtcbiAgbWF4RmVlUGVyY2VudGFnZT86IG51bWJlcjtcbiAgY29tbWVudD86IHN0cmluZztcbiAgb3RwPzogc3RyaW5nO1xuICB0YXJnZXRBZGRyZXNzPzogc3RyaW5nO1xuICBbaW5kZXg6IHN0cmluZ106IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmFub3V0VW5zcGVudHNPcHRpb25zIGV4dGVuZHMgV2FsbGV0U2lnblRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG4gIHhwcnY/OiBzdHJpbmc7XG4gIG1pblZhbHVlPzogbnVtYmVyIHwgc3RyaW5nO1xuICBtYXhWYWx1ZT86IG51bWJlciB8IHN0cmluZztcbiAgbWluSGVpZ2h0PzogbnVtYmVyO1xuICBtYXhOdW1JbnB1dHNUb1VzZT86IG51bWJlcjtcbiAgbnVtVW5zcGVudHNUb01ha2U/OiBudW1iZXI7XG4gIG1pbkNvbmZpcm1zPzogbnVtYmVyO1xuICBlbmZvcmNlTWluQ29uZmlybXNGb3JDaGFuZ2U/OiBib29sZWFuO1xuICBmZWVSYXRlPzogbnVtYmVyO1xuICBtYXhGZWVSYXRlPzogbnVtYmVyO1xuICBtYXhGZWVQZXJjZW50YWdlPzogbnVtYmVyO1xuICBmZWVUeENvbmZpcm1UYXJnZXQ/OiBudW1iZXI7XG4gIGNvbW1lbnQ/OiBzdHJpbmc7XG4gIG90cD86IHN0cmluZztcbiAgdGFyZ2V0QWRkcmVzcz86IHN0cmluZztcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN3ZWVwT3B0aW9ucyB7XG4gIGFkZHJlc3M/OiBzdHJpbmc7XG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG4gIHhwcnY/OiBzdHJpbmc7XG4gIG90cD86IHN0cmluZztcbiAgZmVlUmF0ZT86IG51bWJlcjtcbiAgbWF4RmVlUmF0ZT86IG51bWJlcjtcbiAgZmVlVHhDb25maXJtVGFyZ2V0PzogbnVtYmVyO1xuICBhbGxvd1BhcnRpYWxTd2VlcD86IGJvb2xlYW47XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGcmVlemVPcHRpb25zIHtcbiAgZHVyYXRpb24/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNmZXJDb21tZW50T3B0aW9ucyB7XG4gIGlkPzogc3RyaW5nO1xuICBjb21tZW50Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkZHJlc3Nlc09wdGlvbnMgZXh0ZW5kcyBQYWdpbmF0aW9uT3B0aW9ucyB7XG4gIG1pbmU/OiBib29sZWFuO1xuICBzb3J0PzogbnVtYmVyO1xuICBsYWJlbENvbnRhaW5zPzogc3RyaW5nO1xuICBzZWd3aXQ/OiBib29sZWFuO1xuICBjaGFpbnM/OiBudW1iZXJbXTtcbiAgaW5jbHVkZUJhbGFuY2VzPzogYm9vbGVhbjtcbiAgaW5jbHVkZVRva2Vucz86IGJvb2xlYW47XG4gIGluY2x1ZGVUb3RhbEFkZHJlc3NDb3VudD86IGJvb2xlYW47XG4gIHJldHVybkJhbGFuY2VzRm9yVG9rZW4/OiBzdHJpbmc7XG4gIHBlbmRpbmdEZXBsb3ltZW50PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRBZGRyZXNzT3B0aW9ucyB7XG4gIGFkZHJlc3M/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICByZXFJZD86IElSZXF1ZXN0VHJhY2VyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlcGxveUZvcndhcmRlcnNPcHRpb25zIHtcbiAgYWRkcmVzcz86IHN0cmluZztcbiAgaWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnVuZEZvcndhcmRlcnNPcHRpb25zIHtcbiAgZm9yd2FyZGVyQWRkcmVzczogc3RyaW5nO1xuICBhbW91bnQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmx1c2hGb3J3YXJkZXJUb2tlbk9wdGlvbnMge1xuICBhZGRyZXNzPzogc3RyaW5nO1xuICBpZD86IHN0cmluZztcbiAgdG9rZW5OYW1lOiBzdHJpbmc7XG4gIGdhc1ByaWNlPzogbnVtYmVyO1xuICBlaXAxNTU5Pzoge1xuICAgIG1heFByaW9yaXR5RmVlUGVyR2FzOiBudW1iZXI7XG4gICAgbWF4RmVlUGVyR2FzOiBudW1iZXI7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9yd2FyZGVyQmFsYW5jZSB7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgYmFsYW5jZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZvcndhcmRlckJhbGFuY2VPcHRpb25zIHtcbiAgbWluaW11bUJhbGFuY2U/OiBudW1iZXI7XG4gIG1heGltdW1CYWxhbmNlPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUFkZHJlc3NPcHRpb25zIHtcbiAgY2hhaW4/OiBudW1iZXI7XG4gIGdhc1ByaWNlPzogbnVtYmVyIHwgc3RyaW5nO1xuICBjb3VudD86IG51bWJlcjtcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIGxvd1ByaW9yaXR5PzogYm9vbGVhbjtcbiAgZm9yd2FyZGVyVmVyc2lvbj86IG51bWJlcjtcbiAgZm9ybWF0PzogJ2Jhc2U1OCcgfCAnY2FzaGFkZHInO1xuICBiYXNlQWRkcmVzcz86IHN0cmluZztcbiAgYWxsb3dTa2lwVmVyaWZ5QWRkcmVzcz86IGJvb2xlYW47XG4gIGRlcml2ZWRBZGRyZXNzPzogc3RyaW5nO1xuICBpbmRleD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVBZGRyZXNzT3B0aW9ucyB7XG4gIGxhYmVsPzogc3RyaW5nO1xuICBhZGRyZXNzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpbXVsYXRlV2ViaG9va09wdGlvbnMge1xuICB3ZWJob29rSWQ/OiBzdHJpbmc7XG4gIHRyYW5zZmVySWQ/OiBzdHJpbmc7XG4gIHBlbmRpbmdBcHByb3ZhbElkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vZGlmeVdlYmhvb2tPcHRpb25zIHtcbiAgdXJsPzogc3RyaW5nO1xuICB0eXBlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFBydk9wdGlvbnMge1xuICBwcnY/OiBzdHJpbmc7XG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlU2hhcmVPcHRpb25zIHtcbiAgdXNlcj86IHN0cmluZztcbiAgcGVybWlzc2lvbnM/OiBzdHJpbmc7XG4gIGtleWNoYWluPzoge1xuICAgIC8vIEluIHRoZSBjb250ZXh0IG9mIHdhbGxldCBzaGFyaW5nLCBwdWIgY2FuIHJlcHJlc2VudCBvbmUgb2Y6XG4gICAgLy8gcHViIChpbmRlcGVuZGFudCBtdWx0aSBzaWcpLCBjb21tb25QdWIgKGJscyksIG9yIGNvbW1vblB1YiBwb3J0aW9uIG9mIGNvbW1vbktleWNoYWluIChUU1MpXG4gICAgcHViPzogc3RyaW5nO1xuICAgIGVuY3J5cHRlZFBydj86IHN0cmluZztcbiAgICBmcm9tUHViS2V5Pzogc3RyaW5nO1xuICAgIHRvUHViS2V5Pzogc3RyaW5nO1xuICAgIHBhdGg/OiBzdHJpbmc7XG4gIH07XG4gIHJlc2hhcmU/OiBib29sZWFuO1xuICBtZXNzYWdlPzogc3RyaW5nO1xuICBkaXNhYmxlRW1haWw/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNoYXJlV2FsbGV0T3B0aW9ucyB7XG4gIGVtYWlsPzogc3RyaW5nO1xuICBwZXJtaXNzaW9ucz86IHN0cmluZztcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbiAgbWVzc2FnZT86IHN0cmluZztcbiAgcmVzaGFyZT86IGJvb2xlYW47XG4gIHNraXBLZXljaGFpbj86IGJvb2xlYW47XG4gIGRpc2FibGVFbWFpbD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVtb3ZlVXNlck9wdGlvbnMge1xuICB1c2VySWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWNjZWxlcmF0ZVRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIGNwZnBUeElkcz86IHN0cmluZ1tdO1xuICBjcGZwRmVlUmF0ZT86IG51bWJlcjtcbiAgbm9DcGZwRmVlUmF0ZT86IGJvb2xlYW47XG4gIG1heEZlZT86IG51bWJlcjtcbiAgbm9NYXhGZWU/OiBib29sZWFuO1xuICByZWNpcGllbnRzPzoge1xuICAgIGFkZHJlc3M6IHN0cmluZztcbiAgICBhbW91bnQ6IHN0cmluZztcbiAgfVtdO1xuICBbaW5kZXg6IHN0cmluZ106IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VibWl0VHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgb3RwPzogc3RyaW5nO1xuICB0eEhleD86IHN0cmluZztcbiAgaGFsZlNpZ25lZD86IHtcbiAgICB0eEhleD86IHN0cmluZzsgLy8gVHJhbnNhY3Rpb24gaW4gYW55IGZvcm1hdCByZXF1aXJlZCBieSBlYWNoIGNvaW4sIGkuZS4gaW4gVHJvbiBpdCBpcyBhIHN0cmluZ2lmeWVkIEpTT05cbiAgICBwYXlsb2FkPzogc3RyaW5nO1xuICAgIHR4QmFzZTY0Pzogc3RyaW5nO1xuICB9O1xuICBjb21tZW50Pzogc3RyaW5nO1xuICB0eFJlcXVlc3RJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZW5kT3B0aW9ucyB7XG4gIGFkZHJlc3M/OiBzdHJpbmc7XG4gIGFtb3VudD86IG51bWJlciB8IHN0cmluZztcbiAgZGF0YT86IHN0cmluZztcbiAgZmVlTGltaXQ/OiBzdHJpbmc7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG4gIHBydj86IHN0cmluZztcbiAgbWluQ29uZmlybXM/OiBudW1iZXI7XG4gIGVuZm9yY2VNaW5Db25maXJtc0ZvckNoYW5nZT86IGJvb2xlYW47XG4gIGN1c3RvZGlhblRyYW5zYWN0aW9uSWQ/OiBzdHJpbmc7XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbiAgdG9rZW5OYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbmRNYW55T3B0aW9ucyBleHRlbmRzIFByZWJ1aWxkQW5kU2lnblRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIHJlcUlkPzogSVJlcXVlc3RUcmFjZXI7XG4gIHJlY2lwaWVudHM/OiB7XG4gICAgYWRkcmVzczogc3RyaW5nO1xuICAgIGFtb3VudDogc3RyaW5nIHwgbnVtYmVyO1xuICAgIGZlZUxpbWl0Pzogc3RyaW5nO1xuICAgIGRhdGE/OiBzdHJpbmc7XG4gICAgdG9rZW5OYW1lPzogc3RyaW5nO1xuICB9W107XG4gIG51bUJsb2Nrcz86IG51bWJlcjtcbiAgZmVlUmF0ZT86IG51bWJlcjtcbiAgbWF4RmVlUmF0ZT86IG51bWJlcjtcbiAgbWluQ29uZmlybXM/OiBudW1iZXI7XG4gIGVuZm9yY2VNaW5Db25maXJtc0ZvckNoYW5nZT86IGJvb2xlYW47XG4gIHRhcmdldFdhbGxldFVuc3BlbnRzPzogbnVtYmVyO1xuICBtZXNzYWdlPzogc3RyaW5nO1xuICBtaW5WYWx1ZT86IG51bWJlciB8IHN0cmluZztcbiAgbWF4VmFsdWU/OiBudW1iZXIgfCBzdHJpbmc7XG4gIHNlcXVlbmNlSWQ/OiBzdHJpbmc7XG4gIGxhc3RMZWRnZXJTZXF1ZW5jZT86IG51bWJlcjtcbiAgbGVkZ2VyU2VxdWVuY2VEZWx0YT86IG51bWJlcjtcbiAgZ2FzUHJpY2U/OiBudW1iZXI7XG4gIG5vU3BsaXRDaGFuZ2U/OiBib29sZWFuO1xuICB1bnNwZW50cz86IHN0cmluZ1tdO1xuICBjb21tZW50Pzogc3RyaW5nO1xuICBvdHA/OiBzdHJpbmc7XG4gIGNoYW5nZUFkZHJlc3M/OiBzdHJpbmc7XG4gIGluc3RhbnQ/OiBib29sZWFuO1xuICBtZW1vPzogTWVtbztcbiAgdHJhbnNmZXJJZD86IG51bWJlcjtcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xuICBlaXAxNTU5PzogRUlQMTU1OTtcbiAgZ2FzTGltaXQ/OiBudW1iZXI7XG4gIGN1c3RvZGlhblRyYW5zYWN0aW9uSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmV0Y2hDcm9zc0NoYWluVVRYT3NPcHRpb25zIHtcbiAgc291cmNlQ2hhaW4/OiAnUCcgfCAnQyc7XG59XG5cbmV4cG9ydCB0eXBlIFVuc3BlbnQgPSB7XG4gIG91dHB1dElEOiBudW1iZXI7XG4gIGFtb3VudDogc3RyaW5nOyAvLyBCaWdOdW1iZXIgZW5jb2RlZCBpbiBjYjU4XG4gIHR4aWQ6IHN0cmluZzsgLy8gVHJhbnNhY3Rpb24gSUQgZW5jb2RlZCBpbiBjYjU4XG4gIHRocmVzaG9sZDogbnVtYmVyOyAvLyBUaHJlc2hvbGQgZm9yIG51bWJlciBvZiBhZGRyZXNzZXNcbiAgYWRkcmVzc2VzOiBzdHJpbmdbXTsgLy8gQWRkcmVzc2VzIHVzZWQgZm9yIHVubG9ja2luZyB1dHhvXG4gIG91dHB1dGlkeDogc3RyaW5nOyAvLyBPdXRwdXQgaW5kZXggZW5jb2RlZCBpbiBjYjU4XG4gIGxvY2t0aW1lOiBzdHJpbmc7IC8vIFRpbWUgd2hlbiB1bmxvY2tlZC4gQmlnTnVtYmVyIGVuY29kZWQgaW4gY2I1OFxufTtcblxuZXhwb3J0IGludGVyZmFjZSBDcm9zc0NoYWluVVRYTyB7XG4gIHVuc3BlbnQ6IFVuc3BlbnQ7XG4gIGZyb21XYWxsZXQ6IHN0cmluZztcbiAgdG9XYWxsZXQ6IHN0cmluZztcbiAgdG9BZGRyZXNzOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFdhbGxldFR5cGUgPSAnYmFja2luZycgfCAnY29sZCcgfCAnY3VzdG9kaWFsJyB8ICdjdXN0b2RpYWxQYWlyZWQnIHwgJ2hvdCcgfCAndHJhZGluZyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2FsbGV0RGF0YSB7XG4gIGlkOiBzdHJpbmc7XG4gIGFwcHJvdmFsc1JlcXVpcmVkOiBudW1iZXI7XG4gIGJhbGFuY2U6IG51bWJlcjtcbiAgY29uZmlybWVkQmFsYW5jZTogbnVtYmVyO1xuICBzcGVuZGFibGVCYWxhbmNlOiBudW1iZXI7XG4gIGJhbGFuY2VTdHJpbmc6IHN0cmluZztcbiAgY29uZmlybWVkQmFsYW5jZVN0cmluZzogc3RyaW5nO1xuICBzcGVuZGFibGVCYWxhbmNlU3RyaW5nOiBzdHJpbmc7XG4gIGNvaW46IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAga2V5czogc3RyaW5nW107XG4gIHJlY2VpdmVBZGRyZXNzOiB7XG4gICAgYWRkcmVzczogc3RyaW5nO1xuICB9O1xuICBtaWdyYXRlZEZyb20/OiBzdHJpbmc7XG4gIGNvaW5TcGVjaWZpYzogV2FsbGV0Q29pblNwZWNpZmljO1xuICBwZW5kaW5nQXBwcm92YWxzOiBQZW5kaW5nQXBwcm92YWxEYXRhW107XG4gIGVudGVycHJpc2U6IHN0cmluZztcbiAgY3VzdG9tQ2hhbmdlS2V5U2lnbmF0dXJlcz86IHtcbiAgICB1c2VyPzogc3RyaW5nO1xuICAgIGJhY2t1cD86IHN0cmluZztcbiAgICBiaXRnbz86IHN0cmluZztcbiAgfTtcbiAgbXVsdGlzaWdUeXBlOiAnb25jaGFpbicgfCAndHNzJztcbiAgdHlwZT86IFdhbGxldFR5cGU7XG4gIHRva2Vucz86IFJlY29yZDxzdHJpbmcsIGFueT5bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWNvdmVyVG9rZW5PcHRpb25zIHtcbiAgdG9rZW5Db250cmFjdEFkZHJlc3M/OiBzdHJpbmc7XG4gIHJlY2lwaWVudD86IHN0cmluZztcbiAgYnJvYWRjYXN0PzogYm9vbGVhbjtcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbiAgcHJ2Pzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgRUlQMTU1OSB7XG4gIG1heFByaW9yaXR5RmVlUGVyR2FzOiBzdHJpbmc7XG4gIG1heEZlZVBlckdhczogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYW5nZUZlZU9wdGlvbnMge1xuICB0eGlkPzogc3RyaW5nO1xuICBmZWU/OiBzdHJpbmc7XG4gIGVpcDE1NTk/OiBFSVAxNTU5O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZVBvbGljeVJ1bGVPcHRpb25zIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIGNvbmRpdGlvbj86IHVua25vd247XG4gIGFjdGlvbj86IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVtb3ZlUG9saWN5UnVsZU9wdGlvbnMge1xuICBpZD86IHN0cmluZztcbiAgbWVzc2FnZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEb3dubG9hZEtleWNhcmRPcHRpb25zIHtcbiAganNQREY/OiBhbnk7XG4gIFFSQ29kZT86IGFueTtcbiAgdXNlcktleWNoYWluPzogS2V5Y2hhaW47XG4gIGJhY2t1cEtleWNoYWluPzogS2V5Y2hhaW47XG4gIGJpdGdvS2V5Y2hhaW4/OiBLZXljaGFpbjtcbiAgcGFzc3BocmFzZT86IHN0cmluZztcbiAgcGFzc2NvZGVFbmNyeXB0aW9uQ29kZT86IHN0cmluZztcbiAgYWN0aXZhdGlvbkNvZGU/OiBzdHJpbmc7XG4gIHdhbGxldEtleUlEPzogc3RyaW5nO1xuICBiYWNrdXBLZXlJRD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJV2FsbGV0IHtcbiAgYml0Z286IEJpdEdvQmFzZTtcbiAgYmFzZUNvaW46IElCYXNlQ29pbjtcbiAgdXJsKGV4dHJhPzogc3RyaW5nKTogc3RyaW5nO1xuICBpZCgpOiBzdHJpbmc7XG4gIGFwcHJvdmFsc1JlcXVpcmVkKCk6IG51bWJlcjtcbiAgYmFsYW5jZSgpOiBudW1iZXI7XG4gIHByZWJ1aWxkV2hpdGVsaXN0ZWRQYXJhbXMoKTogc3RyaW5nW107XG4gIHByZWJ1aWxkQ29uc29saWRhdGVBY2NvdW50UGFyYW1zKCk6IHN0cmluZ1tdO1xuICBjb25maXJtZWRCYWxhbmNlKCk6IG51bWJlcjtcbiAgc3BlbmRhYmxlQmFsYW5jZSgpOiBudW1iZXI7XG4gIGJhbGFuY2VTdHJpbmcoKTogc3RyaW5nO1xuICBjb25maXJtZWRCYWxhbmNlU3RyaW5nKCk6IHN0cmluZztcbiAgc3BlbmRhYmxlQmFsYW5jZVN0cmluZygpOiBzdHJpbmc7XG4gIGNvaW4oKTogc3RyaW5nO1xuICBsYWJlbCgpOiBzdHJpbmc7XG4gIGtleUlkcygpOiBzdHJpbmdbXTtcbiAgcmVjZWl2ZUFkZHJlc3MoKTogc3RyaW5nO1xuICBtaWdyYXRlZEZyb20oKTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB0b2tlbkZsdXNoVGhyZXNob2xkcygpOiBhbnk7XG4gIGNvaW5TcGVjaWZpYygpOiBXYWxsZXRDb2luU3BlY2lmaWMgfCB1bmRlZmluZWQ7XG4gIHBlbmRpbmdBcHByb3ZhbHMoKTogSVBlbmRpbmdBcHByb3ZhbFtdO1xuICByZWZyZXNoKHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIG5ldmVyPik6IFByb21pc2U8SVdhbGxldD47XG4gIHRyYW5zYWN0aW9ucyhwYXJhbXM/OiBQYWdpbmF0aW9uT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgZ2V0VHJhbnNhY3Rpb24ocGFyYW1zPzogR2V0VHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICB0cmFuc2ZlcnMocGFyYW1zPzogVHJhbnNmZXJzT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgZ2V0VHJhbnNmZXIocGFyYW1zPzogR2V0VHJhbnNmZXJPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICB0cmFuc2ZlckJ5U2VxdWVuY2VJZChwYXJhbXM/OiBUcmFuc2ZlckJ5U2VxdWVuY2VJZE9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIG1heGltdW1TcGVuZGFibGUocGFyYW1zPzogTWF4aW11bVNwZW5kYWJsZU9wdGlvbnMpOiBQcm9taXNlPE1heGltdW1TcGVuZGFibGU+O1xuICB1bnNwZW50cyhwYXJhbXM/OiBVbnNwZW50c09wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGNvbnNvbGlkYXRlVW5zcGVudHMocGFyYW1zPzogQ29uc29saWRhdGVVbnNwZW50c09wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGZhbm91dFVuc3BlbnRzKHBhcmFtcz86IEZhbm91dFVuc3BlbnRzT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgdXBkYXRlVG9rZW5GbHVzaFRocmVzaG9sZHModGhyZXNob2xkcz86IGFueSk6IFByb21pc2U8YW55PjtcbiAgdXBkYXRlRm9yd2FyZGVycyhmb3J3YXJkZXJGbGFncz86IGFueSk6IFByb21pc2U8YW55PjtcbiAgZGVwbG95Rm9yd2FyZGVycyhwYXJhbXM6IERlcGxveUZvcndhcmRlcnNPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBmbHVzaEZvcndhcmRlclRva2VuKHBhcmFtczogRmx1c2hGb3J3YXJkZXJUb2tlbk9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGdldEZvcndhcmRlckJhbGFuY2UocGFyYW1zPzogRm9yd2FyZGVyQmFsYW5jZU9wdGlvbnMpOiBQcm9taXNlPEZvcndhcmRlckJhbGFuY2VbXT47XG4gIHN3ZWVwKHBhcmFtcz86IFN3ZWVwT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgZnJlZXplKHBhcmFtcz86IEZyZWV6ZU9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHRyYW5zZmVyQ29tbWVudChwYXJhbXM/OiBUcmFuc2ZlckNvbW1lbnRPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBhZGRyZXNzZXMocGFyYW1zPzogQWRkcmVzc2VzT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgZ2V0QWRkcmVzcyhwYXJhbXM/OiBHZXRBZGRyZXNzT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgY3JlYXRlQWRkcmVzcyhwYXJhbXM/OiBDcmVhdGVBZGRyZXNzT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgdXBkYXRlQWRkcmVzcyhwYXJhbXM/OiBVcGRhdGVBZGRyZXNzT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgbGlzdFdlYmhvb2tzKHBhcmFtcz86IFBhZ2luYXRpb25PcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBzaW11bGF0ZVdlYmhvb2socGFyYW1zPzogU2ltdWxhdGVXZWJob29rT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgYWRkV2ViaG9vayhwYXJhbXM/OiBNb2RpZnlXZWJob29rT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgcmVtb3ZlV2ViaG9vayhwYXJhbXM/OiBNb2RpZnlXZWJob29rT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgZ2V0RW5jcnlwdGVkVXNlcktleWNoYWluKHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIG5ldmVyPik6IFByb21pc2U8eyBlbmNyeXB0ZWRQcnY6IHN0cmluZyB9PjtcbiAgZ2V0UHJ2KHBhcmFtcz86IEdldFBydk9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGNyZWF0ZVNoYXJlKHBhcmFtcz86IENyZWF0ZVNoYXJlT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgc2hhcmVXYWxsZXQocGFyYW1zPzogU2hhcmVXYWxsZXRPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICByZW1vdmVVc2VyKHBhcmFtcz86IFJlbW92ZVVzZXJPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBwcmVidWlsZFRyYW5zYWN0aW9uKHBhcmFtcz86IFByZWJ1aWxkVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0PjtcbiAgc2lnblRyYW5zYWN0aW9uKHBhcmFtcz86IFdhbGxldFNpZ25UcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPFNpZ25lZFRyYW5zYWN0aW9uPjtcbiAgZ2V0VXNlclBydihwYXJhbXM/OiBHZXRVc2VyUHJ2T3B0aW9ucyk6IHN0cmluZztcbiAgcHJlYnVpbGRBbmRTaWduVHJhbnNhY3Rpb24ocGFyYW1zPzogUHJlYnVpbGRBbmRTaWduVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxTaWduZWRUcmFuc2FjdGlvbj47XG4gIGFjY2VsZXJhdGVUcmFuc2FjdGlvbihwYXJhbXM/OiBBY2NlbGVyYXRlVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBzdWJtaXRUcmFuc2FjdGlvbihwYXJhbXM/OiBTdWJtaXRUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHNlbmQocGFyYW1zPzogU2VuZE9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHNlbmRNYW55KHBhcmFtcz86IFNlbmRNYW55T3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgcmVjb3ZlclRva2VuKHBhcmFtcz86IFJlY292ZXJUb2tlbk9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGdldEZpcnN0UGVuZGluZ1RyYW5zYWN0aW9uKHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIG5ldmVyPik6IFByb21pc2U8YW55PjtcbiAgY2hhbmdlRmVlKHBhcmFtcz86IENoYW5nZUZlZU9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGdldFBheW1lbnRJbmZvKHBhcmFtcz86IHsgdXJsPzogc3RyaW5nIH0pOiBQcm9taXNlPGFueT47XG4gIHNlbmRQYXltZW50UmVzcG9uc2UocGFyYW1zPzogYW55KTogUHJvbWlzZTxhbnk+O1xuICBjcmVhdGVQb2xpY3lSdWxlKHBhcmFtcz86IENyZWF0ZVBvbGljeVJ1bGVPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBzZXRQb2xpY3lSdWxlKHBhcmFtcz86IGFueSk6IGFueTtcbiAgcmVtb3ZlUG9saWN5UnVsZShwYXJhbXM/OiBSZW1vdmVQb2xpY3lSdWxlT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgcmVtb3ZlKHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIG5ldmVyPik6IFByb21pc2U8YW55PjtcbiAgdG9KU09OKCk6IFdhbGxldERhdGE7XG4gIHRvVHJhZGluZ0FjY291bnQoKTogSVRyYWRpbmdBY2NvdW50O1xuICB0b1N0YWtpbmdXYWxsZXQoKTogSVN0YWtpbmdXYWxsZXQ7XG4gIGRvd25sb2FkS2V5Y2FyZChwYXJhbXM/OiBEb3dubG9hZEtleWNhcmRPcHRpb25zKTogdm9pZDtcbiAgYnVpbGRBY2NvdW50Q29uc29saWRhdGlvbnMocGFyYW1zPzogQnVpbGRDb25zb2xpZGF0aW9uVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0W10+O1xuICBzZW5kQWNjb3VudENvbnNvbGlkYXRpb24ocGFyYW1zPzogUHJlYnVpbGRBbmRTaWduVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBzZW5kQWNjb3VudENvbnNvbGlkYXRpb25zKHBhcmFtcz86IEJ1aWxkQ29uc29saWRhdGlvblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgYnVpbGRUb2tlbkVuYWJsZW1lbnRzKHBhcmFtcz86IEJ1aWxkVG9rZW5FbmFibGVtZW50T3B0aW9ucyk6IFByb21pc2U8UHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdFtdPjtcbiAgc2VuZFRva2VuRW5hYmxlbWVudChwYXJhbXM/OiBQcmVidWlsZEFuZFNpZ25UcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHNlbmRUb2tlbkVuYWJsZW1lbnRzKHBhcmFtcz86IEJ1aWxkVG9rZW5FbmFibGVtZW50T3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgbGlnaHRuaW5nKCk6IElMaWdodG5pbmc7XG4gIHNpZ25NZXNzYWdlKHBhcmFtczogV2FsbGV0U2lnbk1lc3NhZ2VPcHRpb25zKTogUHJvbWlzZTxTaWduZWRNZXNzYWdlPjtcbiAgc2lnblR5cGVkRGF0YShwYXJhbXM6IFdhbGxldFNpZ25UeXBlZERhdGFPcHRpb25zKTogUHJvbWlzZTxTaWduZWRNZXNzYWdlPjtcbiAgZmV0Y2hDcm9zc0NoYWluVVRYT3MocGFyYW1zOiBGZXRjaENyb3NzQ2hhaW5VVFhPc09wdGlvbnMpOiBQcm9taXNlPENyb3NzQ2hhaW5VVFhPW10+O1xufVxuIl19
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaVdhbGxldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby93YWxsZXQvaVdhbGxldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVJlcXVlc3RUcmFjZXIgfSBmcm9tICcuLi8uLi9hcGknO1xuaW1wb3J0IHtcbiAgSUJhc2VDb2luLFxuICBNZXNzYWdlLFxuICBTaWduZWRNZXNzYWdlLFxuICBTaWduZWRUcmFuc2FjdGlvbixcbiAgVHJhbnNhY3Rpb25QcmVidWlsZCxcbiAgVmVyaWZpY2F0aW9uT3B0aW9ucyxcbiAgVHlwZWREYXRhLFxufSBmcm9tICcuLi9iYXNlQ29pbic7XG5pbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICcuLi9iaXRnb0Jhc2UnO1xuaW1wb3J0IHsgS2V5Y2hhaW4gfSBmcm9tICcuLi9rZXljaGFpbic7XG5pbXBvcnQgeyBJUGVuZGluZ0FwcHJvdmFsLCBQZW5kaW5nQXBwcm92YWxEYXRhIH0gZnJvbSAnLi4vcGVuZGluZ0FwcHJvdmFsJztcbmltcG9ydCB7IElTdGFraW5nV2FsbGV0IH0gZnJvbSAnLi4vc3Rha2luZyc7XG5pbXBvcnQgeyBJVHJhZGluZ0FjY291bnQgfSBmcm9tICcuLi90cmFkaW5nJztcbmltcG9ydCB7XG4gIEN1c3RvbUdTaGFyZUdlbmVyYXRpbmdGdW5jdGlvbixcbiAgQ3VzdG9tUlNoYXJlR2VuZXJhdGluZ0Z1bmN0aW9uLFxuICBUb2tlbkVuYWJsZW1lbnQsXG4gIFRva2VuVHJhbnNmZXJSZWNpcGllbnRQYXJhbXMsXG59IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IElMaWdodG5pbmcgfSBmcm9tICcuLi9saWdodG5pbmcnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1heGltdW1TcGVuZGFibGVPcHRpb25zIHtcbiAgbWluVmFsdWU/OiBudW1iZXIgfCBzdHJpbmc7XG4gIG1heFZhbHVlPzogbnVtYmVyIHwgc3RyaW5nO1xuICBtaW5IZWlnaHQ/OiBudW1iZXI7XG4gIG1pbkNvbmZpcm1zPzogbnVtYmVyO1xuICBlbmZvcmNlTWluQ29uZmlybXNGb3JDaGFuZ2U/OiBib29sZWFuO1xuICBmZWVSYXRlPzogbnVtYmVyO1xuICBtYXhGZWVSYXRlPzogbnVtYmVyO1xuICByZWNpcGllbnRBZGRyZXNzPzogc3RyaW5nO1xuICBsaW1pdD86IG51bWJlcjtcbiAgdGFyZ2V0PzogbnVtYmVyIHwgc3RyaW5nO1xuICBwbGFpblRhcmdldD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXhpbXVtU3BlbmRhYmxlIHtcbiAgbWF4aW11bVNwZW5kYWJsZTogbnVtYmVyO1xuICBjb2luOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVtbyB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZENvbnNvbGlkYXRpb25UcmFuc2FjdGlvbk9wdGlvbnMgZXh0ZW5kcyBQcmVidWlsZFRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIGNvbnNvbGlkYXRlQWRkcmVzc2VzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRUb2tlbkVuYWJsZW1lbnRPcHRpb25zIGV4dGVuZHMgUHJlYnVpbGRUcmFuc2FjdGlvbk9wdGlvbnMge1xuICBlbmFibGVUb2tlbnM6IFRva2VuRW5hYmxlbWVudFtdO1xufVxuXG5leHBvcnQgdHlwZSBBcGlWZXJzaW9uID0gJ2xpdGUnIHwgJ2Z1bGwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFByZWJ1aWxkVHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgcmVxSWQ/OiBJUmVxdWVzdFRyYWNlcjtcbiAgcmVjaXBpZW50cz86IHtcbiAgICBhZGRyZXNzOiBzdHJpbmc7XG4gICAgYW1vdW50OiBzdHJpbmcgfCBudW1iZXI7XG4gICAgdG9rZW5OYW1lPzogc3RyaW5nO1xuICAgIHRva2VuRGF0YT86IFRva2VuVHJhbnNmZXJSZWNpcGllbnRQYXJhbXM7XG4gIH1bXTtcbiAgbnVtQmxvY2tzPzogbnVtYmVyO1xuICBtYXhGZWVSYXRlPzogbnVtYmVyO1xuICBtaW5Db25maXJtcz86IG51bWJlcjtcbiAgZW5mb3JjZU1pbkNvbmZpcm1zRm9yQ2hhbmdlPzogYm9vbGVhbjtcbiAgdGFyZ2V0V2FsbGV0VW5zcGVudHM/OiBudW1iZXI7XG4gIG1pblZhbHVlPzogbnVtYmVyIHwgc3RyaW5nO1xuICBtYXhWYWx1ZT86IG51bWJlciB8IHN0cmluZztcbiAgc2VxdWVuY2VJZD86IHN0cmluZztcbiAgbGFzdExlZGdlclNlcXVlbmNlPzogbnVtYmVyO1xuICBsZWRnZXJTZXF1ZW5jZURlbHRhPzogbnVtYmVyO1xuICBnYXNQcmljZT86IG51bWJlcjtcbiAgbm9TcGxpdENoYW5nZT86IGJvb2xlYW47XG4gIHVuc3BlbnRzPzogYW55W107XG4gIGNoYW5nZUFkZHJlc3M/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIGNsb3NlUmVtYWluZGVyVG8/OiBzdHJpbmc7XG4gIG5vblBhcnRpY2lwYXRpb24/OiBib29sZWFuO1xuICB2YWxpZEZyb21CbG9jaz86IG51bWJlcjtcbiAgdmFsaWRUb0Jsb2NrPzogbnVtYmVyO1xuICBpbnN0YW50PzogYm9vbGVhbjtcbiAgbWVtbz86IE1lbW87XG4gIGFkZHJlc3NUeXBlPzogc3RyaW5nO1xuICBob3A/OiBib29sZWFuO1xuICB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nO1xuICByZXNlcnZhdGlvbj86IHtcbiAgICBleHBpcmVUaW1lPzogc3RyaW5nO1xuICAgIHBlbmRpbmdBcHByb3ZhbElkPzogc3RyaW5nO1xuICB9O1xuICBvZmZsaW5lVmVyaWZpY2F0aW9uPzogYm9vbGVhbjtcbiAgd2FsbGV0Q29udHJhY3RBZGRyZXNzPzogc3RyaW5nO1xuICBpZGZTaWduZWRUaW1lc3RhbXA/OiBzdHJpbmc7XG4gIGlkZlVzZXJJZD86IHN0cmluZztcbiAgaWRmVmVyc2lvbj86IG51bWJlcjtcbiAgY29tbWVudD86IHN0cmluZztcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xuICB0b2tlbk5hbWU/OiBzdHJpbmc7XG4gIGVuYWJsZVRva2Vucz86IFRva2VuRW5hYmxlbWVudFtdO1xuICBub25jZT86IHN0cmluZztcbiAgcHJldmlldz86IGJvb2xlYW47XG4gIGVpcDE1NTk/OiBFSVAxNTU5O1xuICBnYXNMaW1pdD86IG51bWJlcjtcbiAgbG93RmVlVHhpZD86IHN0cmluZztcbiAgaXNUc3M/OiBib29sZWFuO1xuICBjdXN0b2RpYW5UcmFuc2FjdGlvbklkPzogc3RyaW5nO1xuICBhcGlWZXJzaW9uPzogQXBpVmVyc2lvbjtcbiAgLyoqXG4gICAqIElmIHNldCB0byBmYWxzZSwgc3dlZXAgYWxsIGZ1bmRzIGluY2x1ZGluZyB0aGUgcmVxdWlyZWQgbWluaW11bXMgZm9yIGFkZHJlc3MoZXMpLiBFLmcuIFBvbGthZG90IChET1QpIHJlcXVpcmVzIDEgRE9UIG1pbmltdW0uXG4gICAqL1xuICBrZWVwQWxpdmU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByZWJ1aWxkQW5kU2lnblRyYW5zYWN0aW9uT3B0aW9ucyBleHRlbmRzIFByZWJ1aWxkVHJhbnNhY3Rpb25PcHRpb25zLCBXYWxsZXRTaWduVHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgcHJlYnVpbGRUeD86IHN0cmluZyB8IFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHQ7XG4gIHZlcmlmaWNhdGlvbj86IFZlcmlmaWNhdGlvbk9wdGlvbnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdCBleHRlbmRzIFRyYW5zYWN0aW9uUHJlYnVpbGQge1xuICB3YWxsZXRJZDogc3RyaW5nO1xuICAvLyBDb25zb2xpZGF0ZSBJRCBpcyB1c2VkIGZvciBjb25zb2xpZGF0ZSBhY2NvdW50IHRyYW5zYWN0aW9ucyBhbmQgaW5kaWNhdGVzIGlmIHRoaXMgaXNcbiAgLy8gYSBjb25zb2xpZGF0aW9uIGFuZCB3aGF0IGNvbnNvbGlkYXRlIGdyb3VwIGl0IHNob3VsZCBiZSByZWZlcmVuY2VkIGJ5LlxuICBjb25zb2xpZGF0ZUlkPzogc3RyaW5nO1xuICBjb25zb2xpZGF0aW9uRGV0YWlscz86IHtcbiAgICBzZW5kZXJBZGRyZXNzSW5kZXg6IG51bWJlcjtcbiAgfTtcbiAgZmVlSW5mbz86IHtcbiAgICBmZWU/OiBudW1iZXI7XG4gICAgZmVlU3RyaW5nPzogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbVNpZ25pbmdGdW5jdGlvbiB7XG4gIChwYXJhbXM6IHsgY29pbjogSUJhc2VDb2luOyB0eFByZWJ1aWxkOiBUcmFuc2FjdGlvblByZWJ1aWxkOyBwdWJzPzogc3RyaW5nW10gfSk6IFByb21pc2U8U2lnbmVkVHJhbnNhY3Rpb24+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdhbGxldFNpZ25CYXNlT3B0aW9ucyB7XG4gIHJlcUlkPzogSVJlcXVlc3RUcmFjZXI7XG4gIHBydj86IHN0cmluZztcbiAgcHVicz86IHN0cmluZ1tdO1xuICB0eFJlcXVlc3RJZD86IHN0cmluZztcbiAgY29zaWduZXJQdWI/OiBzdHJpbmc7XG4gIGlzTGFzdFNpZ25hdHVyZT86IGJvb2xlYW47XG4gIGN1c3RvbVNpZ25pbmdGdW5jdGlvbj86IEN1c3RvbVNpZ25pbmdGdW5jdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXYWxsZXRTaWduVHJhbnNhY3Rpb25PcHRpb25zIGV4dGVuZHMgV2FsbGV0U2lnbkJhc2VPcHRpb25zIHtcbiAgdHhQcmVidWlsZD86IFRyYW5zYWN0aW9uUHJlYnVpbGQ7XG4gIGN1c3RvbVJTaGFyZUdlbmVyYXRpbmdGdW5jdGlvbj86IEN1c3RvbVJTaGFyZUdlbmVyYXRpbmdGdW5jdGlvbjtcbiAgY3VzdG9tR1NoYXJlR2VuZXJhdGluZ0Z1bmN0aW9uPzogQ3VzdG9tR1NoYXJlR2VuZXJhdGluZ0Z1bmN0aW9uO1xuICBhcGlWZXJzaW9uPzogQXBpVmVyc2lvbjtcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdhbGxldFNpZ25NZXNzYWdlT3B0aW9ucyBleHRlbmRzIFdhbGxldFNpZ25CYXNlT3B0aW9ucyB7XG4gIG1lc3NhZ2U/OiBNZXNzYWdlO1xuICBjdXN0b2RpYW5NZXNzYWdlSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2FsbGV0U2lnblR5cGVkRGF0YU9wdGlvbnMgZXh0ZW5kcyBXYWxsZXRTaWduQmFzZU9wdGlvbnMge1xuICB0eXBlZERhdGE6IFR5cGVkRGF0YTtcbiAgY3VzdG9kaWFuTWVzc2FnZUlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFVzZXJQcnZPcHRpb25zIHtcbiAga2V5Y2hhaW4/OiBLZXljaGFpbjtcbiAga2V5PzogS2V5Y2hhaW47XG4gIHBydj86IHN0cmluZztcbiAgY29sZERlcml2YXRpb25TZWVkPzogc3RyaW5nO1xuICB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdhbGxldENvaW5TcGVjaWZpYyB7XG4gIHRva2VuRmx1c2hUaHJlc2hvbGRzPzogYW55O1xuICBhZGRyZXNzVmVyc2lvbj86IG51bWJlcjtcbiAgYmFzZUFkZHJlc3M/OiBzdHJpbmc7XG4gIHJvb3RBZGRyZXNzPzogc3RyaW5nO1xuICBjdXN0b21DaGFuZ2VXYWxsZXRJZDogc3RyaW5nO1xuICB3YWxsZXRWZXJzaW9uPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luYXRpb25PcHRpb25zIHtcbiAgcHJldklkPzogc3RyaW5nO1xuICBsaW1pdD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRUcmFuc2FjdGlvbk9wdGlvbnMgZXh0ZW5kcyBQYWdpbmF0aW9uT3B0aW9ucyB7XG4gIHR4SGFzaD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2ZlcnNPcHRpb25zIGV4dGVuZHMgUGFnaW5hdGlvbk9wdGlvbnMge1xuICB0eEhhc2g/OiBzdHJpbmc7XG4gIGFsbFRva2Vucz86IGJvb2xlYW47XG4gIHNlYXJjaExhYmVsPzogc3RyaW5nO1xuICBhZGRyZXNzPzogc3RyaW5nW10gfCBzdHJpbmc7XG4gIGRhdGVHdGU/OiBzdHJpbmc7XG4gIGRhdGVMdD86IHN0cmluZztcbiAgdmFsdWVHdGU/OiBudW1iZXI7XG4gIHZhbHVlTHQ/OiBudW1iZXI7XG4gIGluY2x1ZGVIZXg/OiBib29sZWFuO1xuICBzdGF0ZT86IHN0cmluZ1tdIHwgc3RyaW5nO1xuICB0eXBlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFRyYW5zZmVyT3B0aW9ucyB7XG4gIGlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zZmVyQnlTZXF1ZW5jZUlkT3B0aW9ucyB7XG4gIHNlcXVlbmNlSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVW5zcGVudHNPcHRpb25zIGV4dGVuZHMgUGFnaW5hdGlvbk9wdGlvbnMge1xuICBtaW5WYWx1ZT86IG51bWJlciB8IHN0cmluZztcbiAgbWF4VmFsdWU/OiBudW1iZXIgfCBzdHJpbmc7XG4gIG1pbkhlaWdodD86IG51bWJlcjtcbiAgbWluQ29uZmlybXM/OiBudW1iZXI7XG4gIHRhcmdldD86IG51bWJlciB8IHN0cmluZztcbiAgc2Vnd2l0PzogYm9vbGVhbjtcbiAgY2hhaW5zPzogbnVtYmVyW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uc29saWRhdGVVbnNwZW50c09wdGlvbnMgZXh0ZW5kcyBXYWxsZXRTaWduVHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbiAgeHBydj86IHN0cmluZztcbiAgbWluVmFsdWU/OiBudW1iZXIgfCBzdHJpbmc7XG4gIG1heFZhbHVlPzogbnVtYmVyIHwgc3RyaW5nO1xuICBtaW5IZWlnaHQ/OiBudW1iZXI7XG4gIG51bVVuc3BlbnRzVG9NYWtlPzogbnVtYmVyO1xuICBmZWVUeENvbmZpcm1UYXJnZXQ/OiBudW1iZXI7XG4gIGxpbWl0PzogbnVtYmVyO1xuICBtaW5Db25maXJtcz86IG51bWJlcjtcbiAgZW5mb3JjZU1pbkNvbmZpcm1zRm9yQ2hhbmdlPzogYm9vbGVhbjtcbiAgZmVlUmF0ZT86IG51bWJlcjtcbiAgbWF4RmVlUmF0ZT86IG51bWJlcjtcbiAgbWF4RmVlUGVyY2VudGFnZT86IG51bWJlcjtcbiAgY29tbWVudD86IHN0cmluZztcbiAgb3RwPzogc3RyaW5nO1xuICB0YXJnZXRBZGRyZXNzPzogc3RyaW5nO1xuICBbaW5kZXg6IHN0cmluZ106IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmFub3V0VW5zcGVudHNPcHRpb25zIGV4dGVuZHMgV2FsbGV0U2lnblRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG4gIHhwcnY/OiBzdHJpbmc7XG4gIG1pblZhbHVlPzogbnVtYmVyIHwgc3RyaW5nO1xuICBtYXhWYWx1ZT86IG51bWJlciB8IHN0cmluZztcbiAgbWluSGVpZ2h0PzogbnVtYmVyO1xuICBtYXhOdW1JbnB1dHNUb1VzZT86IG51bWJlcjtcbiAgbnVtVW5zcGVudHNUb01ha2U/OiBudW1iZXI7XG4gIG1pbkNvbmZpcm1zPzogbnVtYmVyO1xuICBlbmZvcmNlTWluQ29uZmlybXNGb3JDaGFuZ2U/OiBib29sZWFuO1xuICBmZWVSYXRlPzogbnVtYmVyO1xuICBtYXhGZWVSYXRlPzogbnVtYmVyO1xuICBtYXhGZWVQZXJjZW50YWdlPzogbnVtYmVyO1xuICBmZWVUeENvbmZpcm1UYXJnZXQ/OiBudW1iZXI7XG4gIGNvbW1lbnQ/OiBzdHJpbmc7XG4gIG90cD86IHN0cmluZztcbiAgdGFyZ2V0QWRkcmVzcz86IHN0cmluZztcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN3ZWVwT3B0aW9ucyB7XG4gIGFkZHJlc3M/OiBzdHJpbmc7XG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG4gIHhwcnY/OiBzdHJpbmc7XG4gIG90cD86IHN0cmluZztcbiAgZmVlUmF0ZT86IG51bWJlcjtcbiAgbWF4RmVlUmF0ZT86IG51bWJlcjtcbiAgZmVlVHhDb25maXJtVGFyZ2V0PzogbnVtYmVyO1xuICBhbGxvd1BhcnRpYWxTd2VlcD86IGJvb2xlYW47XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGcmVlemVPcHRpb25zIHtcbiAgZHVyYXRpb24/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNmZXJDb21tZW50T3B0aW9ucyB7XG4gIGlkPzogc3RyaW5nO1xuICBjb21tZW50Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkZHJlc3Nlc09wdGlvbnMgZXh0ZW5kcyBQYWdpbmF0aW9uT3B0aW9ucyB7XG4gIG1pbmU/OiBib29sZWFuO1xuICBzb3J0PzogbnVtYmVyO1xuICBsYWJlbENvbnRhaW5zPzogc3RyaW5nO1xuICBzZWd3aXQ/OiBib29sZWFuO1xuICBjaGFpbnM/OiBudW1iZXJbXTtcbiAgaW5jbHVkZUJhbGFuY2VzPzogYm9vbGVhbjtcbiAgaW5jbHVkZVRva2Vucz86IGJvb2xlYW47XG4gIGluY2x1ZGVUb3RhbEFkZHJlc3NDb3VudD86IGJvb2xlYW47XG4gIHJldHVybkJhbGFuY2VzRm9yVG9rZW4/OiBzdHJpbmc7XG4gIHBlbmRpbmdEZXBsb3ltZW50PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRBZGRyZXNzT3B0aW9ucyB7XG4gIGFkZHJlc3M/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICByZXFJZD86IElSZXF1ZXN0VHJhY2VyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlcGxveUZvcndhcmRlcnNPcHRpb25zIHtcbiAgYWRkcmVzcz86IHN0cmluZztcbiAgaWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnVuZEZvcndhcmRlcnNPcHRpb25zIHtcbiAgZm9yd2FyZGVyQWRkcmVzczogc3RyaW5nO1xuICBhbW91bnQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmx1c2hGb3J3YXJkZXJUb2tlbk9wdGlvbnMge1xuICBhZGRyZXNzPzogc3RyaW5nO1xuICBpZD86IHN0cmluZztcbiAgdG9rZW5OYW1lOiBzdHJpbmc7XG4gIGdhc1ByaWNlPzogbnVtYmVyO1xuICBlaXAxNTU5Pzoge1xuICAgIG1heFByaW9yaXR5RmVlUGVyR2FzOiBudW1iZXI7XG4gICAgbWF4RmVlUGVyR2FzOiBudW1iZXI7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9yd2FyZGVyQmFsYW5jZSB7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgYmFsYW5jZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZvcndhcmRlckJhbGFuY2VPcHRpb25zIHtcbiAgbWluaW11bUJhbGFuY2U/OiBudW1iZXI7XG4gIG1heGltdW1CYWxhbmNlPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUFkZHJlc3NPcHRpb25zIHtcbiAgY2hhaW4/OiBudW1iZXI7XG4gIGdhc1ByaWNlPzogbnVtYmVyIHwgc3RyaW5nO1xuICBjb3VudD86IG51bWJlcjtcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIGxvd1ByaW9yaXR5PzogYm9vbGVhbjtcbiAgZm9yd2FyZGVyVmVyc2lvbj86IG51bWJlcjtcbiAgZm9ybWF0PzogJ2Jhc2U1OCcgfCAnY2FzaGFkZHInO1xuICBiYXNlQWRkcmVzcz86IHN0cmluZztcbiAgYWxsb3dTa2lwVmVyaWZ5QWRkcmVzcz86IGJvb2xlYW47XG4gIGRlcml2ZWRBZGRyZXNzPzogc3RyaW5nO1xuICBpbmRleD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVBZGRyZXNzT3B0aW9ucyB7XG4gIGxhYmVsPzogc3RyaW5nO1xuICBhZGRyZXNzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpbXVsYXRlV2ViaG9va09wdGlvbnMge1xuICB3ZWJob29rSWQ/OiBzdHJpbmc7XG4gIHRyYW5zZmVySWQ/OiBzdHJpbmc7XG4gIHBlbmRpbmdBcHByb3ZhbElkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vZGlmeVdlYmhvb2tPcHRpb25zIHtcbiAgdXJsPzogc3RyaW5nO1xuICB0eXBlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFBydk9wdGlvbnMge1xuICBwcnY/OiBzdHJpbmc7XG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlU2hhcmVPcHRpb25zIHtcbiAgdXNlcj86IHN0cmluZztcbiAgcGVybWlzc2lvbnM/OiBzdHJpbmc7XG4gIGtleWNoYWluPzoge1xuICAgIC8vIEluIHRoZSBjb250ZXh0IG9mIHdhbGxldCBzaGFyaW5nLCBwdWIgY2FuIHJlcHJlc2VudCBvbmUgb2Y6XG4gICAgLy8gcHViIChpbmRlcGVuZGFudCBtdWx0aSBzaWcpLCBjb21tb25QdWIgKGJscyksIG9yIGNvbW1vblB1YiBwb3J0aW9uIG9mIGNvbW1vbktleWNoYWluIChUU1MpXG4gICAgcHViPzogc3RyaW5nO1xuICAgIGVuY3J5cHRlZFBydj86IHN0cmluZztcbiAgICBmcm9tUHViS2V5Pzogc3RyaW5nO1xuICAgIHRvUHViS2V5Pzogc3RyaW5nO1xuICAgIHBhdGg/OiBzdHJpbmc7XG4gIH07XG4gIHJlc2hhcmU/OiBib29sZWFuO1xuICBtZXNzYWdlPzogc3RyaW5nO1xuICBkaXNhYmxlRW1haWw/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNoYXJlV2FsbGV0T3B0aW9ucyB7XG4gIGVtYWlsPzogc3RyaW5nO1xuICBwZXJtaXNzaW9ucz86IHN0cmluZztcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbiAgbWVzc2FnZT86IHN0cmluZztcbiAgcmVzaGFyZT86IGJvb2xlYW47XG4gIHNraXBLZXljaGFpbj86IGJvb2xlYW47XG4gIGRpc2FibGVFbWFpbD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVtb3ZlVXNlck9wdGlvbnMge1xuICB1c2VySWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWNjZWxlcmF0ZVRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIGNwZnBUeElkcz86IHN0cmluZ1tdO1xuICBjcGZwRmVlUmF0ZT86IG51bWJlcjtcbiAgbm9DcGZwRmVlUmF0ZT86IGJvb2xlYW47XG4gIG1heEZlZT86IG51bWJlcjtcbiAgbm9NYXhGZWU/OiBib29sZWFuO1xuICByZWNpcGllbnRzPzoge1xuICAgIGFkZHJlc3M6IHN0cmluZztcbiAgICBhbW91bnQ6IHN0cmluZztcbiAgfVtdO1xuICBbaW5kZXg6IHN0cmluZ106IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VibWl0VHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgb3RwPzogc3RyaW5nO1xuICB0eEhleD86IHN0cmluZztcbiAgaGFsZlNpZ25lZD86IHtcbiAgICB0eEhleD86IHN0cmluZzsgLy8gVHJhbnNhY3Rpb24gaW4gYW55IGZvcm1hdCByZXF1aXJlZCBieSBlYWNoIGNvaW4sIGkuZS4gaW4gVHJvbiBpdCBpcyBhIHN0cmluZ2lmeWVkIEpTT05cbiAgICBwYXlsb2FkPzogc3RyaW5nO1xuICAgIHR4QmFzZTY0Pzogc3RyaW5nO1xuICB9O1xuICBjb21tZW50Pzogc3RyaW5nO1xuICB0eFJlcXVlc3RJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZW5kT3B0aW9ucyB7XG4gIGFkZHJlc3M/OiBzdHJpbmc7XG4gIGFtb3VudD86IG51bWJlciB8IHN0cmluZztcbiAgZGF0YT86IHN0cmluZztcbiAgZmVlTGltaXQ/OiBzdHJpbmc7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG4gIHBydj86IHN0cmluZztcbiAgbWluQ29uZmlybXM/OiBudW1iZXI7XG4gIGVuZm9yY2VNaW5Db25maXJtc0ZvckNoYW5nZT86IGJvb2xlYW47XG4gIGN1c3RvZGlhblRyYW5zYWN0aW9uSWQ/OiBzdHJpbmc7XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbiAgdG9rZW5OYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbmRNYW55T3B0aW9ucyBleHRlbmRzIFByZWJ1aWxkQW5kU2lnblRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIHJlcUlkPzogSVJlcXVlc3RUcmFjZXI7XG4gIHJlY2lwaWVudHM/OiB7XG4gICAgYWRkcmVzczogc3RyaW5nO1xuICAgIGFtb3VudDogc3RyaW5nIHwgbnVtYmVyO1xuICAgIGZlZUxpbWl0Pzogc3RyaW5nO1xuICAgIGRhdGE/OiBzdHJpbmc7XG4gICAgdG9rZW5OYW1lPzogc3RyaW5nO1xuICB9W107XG4gIG51bUJsb2Nrcz86IG51bWJlcjtcbiAgZmVlUmF0ZT86IG51bWJlcjtcbiAgbWF4RmVlUmF0ZT86IG51bWJlcjtcbiAgbWluQ29uZmlybXM/OiBudW1iZXI7XG4gIGVuZm9yY2VNaW5Db25maXJtc0ZvckNoYW5nZT86IGJvb2xlYW47XG4gIHRhcmdldFdhbGxldFVuc3BlbnRzPzogbnVtYmVyO1xuICBtZXNzYWdlPzogc3RyaW5nO1xuICBtaW5WYWx1ZT86IG51bWJlciB8IHN0cmluZztcbiAgbWF4VmFsdWU/OiBudW1iZXIgfCBzdHJpbmc7XG4gIHNlcXVlbmNlSWQ/OiBzdHJpbmc7XG4gIGxhc3RMZWRnZXJTZXF1ZW5jZT86IG51bWJlcjtcbiAgbGVkZ2VyU2VxdWVuY2VEZWx0YT86IG51bWJlcjtcbiAgZ2FzUHJpY2U/OiBudW1iZXI7XG4gIG5vU3BsaXRDaGFuZ2U/OiBib29sZWFuO1xuICB1bnNwZW50cz86IHN0cmluZ1tdO1xuICBjb21tZW50Pzogc3RyaW5nO1xuICBvdHA/OiBzdHJpbmc7XG4gIGNoYW5nZUFkZHJlc3M/OiBzdHJpbmc7XG4gIGluc3RhbnQ/OiBib29sZWFuO1xuICBtZW1vPzogTWVtbztcbiAgdHJhbnNmZXJJZD86IG51bWJlcjtcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xuICBlaXAxNTU5PzogRUlQMTU1OTtcbiAgZ2FzTGltaXQ/OiBudW1iZXI7XG4gIGN1c3RvZGlhblRyYW5zYWN0aW9uSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmV0Y2hDcm9zc0NoYWluVVRYT3NPcHRpb25zIHtcbiAgc291cmNlQ2hhaW4/OiAnUCcgfCAnQyc7XG59XG5cbmV4cG9ydCB0eXBlIFVuc3BlbnQgPSB7XG4gIG91dHB1dElEOiBudW1iZXI7XG4gIGFtb3VudDogc3RyaW5nOyAvLyBCaWdOdW1iZXIgZW5jb2RlZCBpbiBjYjU4XG4gIHR4aWQ6IHN0cmluZzsgLy8gVHJhbnNhY3Rpb24gSUQgZW5jb2RlZCBpbiBjYjU4XG4gIHRocmVzaG9sZDogbnVtYmVyOyAvLyBUaHJlc2hvbGQgZm9yIG51bWJlciBvZiBhZGRyZXNzZXNcbiAgYWRkcmVzc2VzOiBzdHJpbmdbXTsgLy8gQWRkcmVzc2VzIHVzZWQgZm9yIHVubG9ja2luZyB1dHhvXG4gIG91dHB1dGlkeDogc3RyaW5nOyAvLyBPdXRwdXQgaW5kZXggZW5jb2RlZCBpbiBjYjU4XG4gIGxvY2t0aW1lOiBzdHJpbmc7IC8vIFRpbWUgd2hlbiB1bmxvY2tlZC4gQmlnTnVtYmVyIGVuY29kZWQgaW4gY2I1OFxufTtcblxuZXhwb3J0IGludGVyZmFjZSBDcm9zc0NoYWluVVRYTyB7XG4gIHVuc3BlbnQ6IFVuc3BlbnQ7XG4gIGZyb21XYWxsZXQ6IHN0cmluZztcbiAgdG9XYWxsZXQ6IHN0cmluZztcbiAgdG9BZGRyZXNzOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFdhbGxldFR5cGUgPSAnYmFja2luZycgfCAnY29sZCcgfCAnY3VzdG9kaWFsJyB8ICdjdXN0b2RpYWxQYWlyZWQnIHwgJ2hvdCcgfCAndHJhZGluZyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2FsbGV0RGF0YSB7XG4gIGlkOiBzdHJpbmc7XG4gIGFwcHJvdmFsc1JlcXVpcmVkOiBudW1iZXI7XG4gIGJhbGFuY2U6IG51bWJlcjtcbiAgY29uZmlybWVkQmFsYW5jZTogbnVtYmVyO1xuICBzcGVuZGFibGVCYWxhbmNlOiBudW1iZXI7XG4gIGJhbGFuY2VTdHJpbmc6IHN0cmluZztcbiAgY29uZmlybWVkQmFsYW5jZVN0cmluZzogc3RyaW5nO1xuICBzcGVuZGFibGVCYWxhbmNlU3RyaW5nOiBzdHJpbmc7XG4gIGNvaW46IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAga2V5czogc3RyaW5nW107XG4gIHJlY2VpdmVBZGRyZXNzOiB7XG4gICAgYWRkcmVzczogc3RyaW5nO1xuICB9O1xuICBtaWdyYXRlZEZyb20/OiBzdHJpbmc7XG4gIGNvaW5TcGVjaWZpYzogV2FsbGV0Q29pblNwZWNpZmljO1xuICBwZW5kaW5nQXBwcm92YWxzOiBQZW5kaW5nQXBwcm92YWxEYXRhW107XG4gIGVudGVycHJpc2U6IHN0cmluZztcbiAgY3VzdG9tQ2hhbmdlS2V5U2lnbmF0dXJlcz86IHtcbiAgICB1c2VyPzogc3RyaW5nO1xuICAgIGJhY2t1cD86IHN0cmluZztcbiAgICBiaXRnbz86IHN0cmluZztcbiAgfTtcbiAgbXVsdGlzaWdUeXBlOiAnb25jaGFpbicgfCAndHNzJztcbiAgdHlwZT86IFdhbGxldFR5cGU7XG4gIHRva2Vucz86IFJlY29yZDxzdHJpbmcsIGFueT5bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWNvdmVyVG9rZW5PcHRpb25zIHtcbiAgdG9rZW5Db250cmFjdEFkZHJlc3M/OiBzdHJpbmc7XG4gIHJlY2lwaWVudD86IHN0cmluZztcbiAgYnJvYWRjYXN0PzogYm9vbGVhbjtcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbiAgcHJ2Pzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgRUlQMTU1OSB7XG4gIG1heFByaW9yaXR5RmVlUGVyR2FzOiBzdHJpbmc7XG4gIG1heEZlZVBlckdhczogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYW5nZUZlZU9wdGlvbnMge1xuICB0eGlkPzogc3RyaW5nO1xuICBmZWU/OiBzdHJpbmc7XG4gIGVpcDE1NTk/OiBFSVAxNTU5O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZVBvbGljeVJ1bGVPcHRpb25zIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIGNvbmRpdGlvbj86IHVua25vd247XG4gIGFjdGlvbj86IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVtb3ZlUG9saWN5UnVsZU9wdGlvbnMge1xuICBpZD86IHN0cmluZztcbiAgbWVzc2FnZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEb3dubG9hZEtleWNhcmRPcHRpb25zIHtcbiAganNQREY/OiBhbnk7XG4gIFFSQ29kZT86IGFueTtcbiAgdXNlcktleWNoYWluPzogS2V5Y2hhaW47XG4gIGJhY2t1cEtleWNoYWluPzogS2V5Y2hhaW47XG4gIGJpdGdvS2V5Y2hhaW4/OiBLZXljaGFpbjtcbiAgcGFzc3BocmFzZT86IHN0cmluZztcbiAgcGFzc2NvZGVFbmNyeXB0aW9uQ29kZT86IHN0cmluZztcbiAgYWN0aXZhdGlvbkNvZGU/OiBzdHJpbmc7XG4gIHdhbGxldEtleUlEPzogc3RyaW5nO1xuICBiYWNrdXBLZXlJRD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJV2FsbGV0IHtcbiAgYml0Z286IEJpdEdvQmFzZTtcbiAgYmFzZUNvaW46IElCYXNlQ29pbjtcbiAgdXJsKGV4dHJhPzogc3RyaW5nKTogc3RyaW5nO1xuICBpZCgpOiBzdHJpbmc7XG4gIGFwcHJvdmFsc1JlcXVpcmVkKCk6IG51bWJlcjtcbiAgYmFsYW5jZSgpOiBudW1iZXI7XG4gIHByZWJ1aWxkV2hpdGVsaXN0ZWRQYXJhbXMoKTogc3RyaW5nW107XG4gIHByZWJ1aWxkQ29uc29saWRhdGVBY2NvdW50UGFyYW1zKCk6IHN0cmluZ1tdO1xuICBjb25maXJtZWRCYWxhbmNlKCk6IG51bWJlcjtcbiAgc3BlbmRhYmxlQmFsYW5jZSgpOiBudW1iZXI7XG4gIGJhbGFuY2VTdHJpbmcoKTogc3RyaW5nO1xuICBjb25maXJtZWRCYWxhbmNlU3RyaW5nKCk6IHN0cmluZztcbiAgc3BlbmRhYmxlQmFsYW5jZVN0cmluZygpOiBzdHJpbmc7XG4gIGNvaW4oKTogc3RyaW5nO1xuICBsYWJlbCgpOiBzdHJpbmc7XG4gIGtleUlkcygpOiBzdHJpbmdbXTtcbiAgcmVjZWl2ZUFkZHJlc3MoKTogc3RyaW5nO1xuICBtaWdyYXRlZEZyb20oKTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB0b2tlbkZsdXNoVGhyZXNob2xkcygpOiBhbnk7XG4gIGNvaW5TcGVjaWZpYygpOiBXYWxsZXRDb2luU3BlY2lmaWMgfCB1bmRlZmluZWQ7XG4gIHBlbmRpbmdBcHByb3ZhbHMoKTogSVBlbmRpbmdBcHByb3ZhbFtdO1xuICByZWZyZXNoKHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIG5ldmVyPik6IFByb21pc2U8SVdhbGxldD47XG4gIHRyYW5zYWN0aW9ucyhwYXJhbXM/OiBQYWdpbmF0aW9uT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgZ2V0VHJhbnNhY3Rpb24ocGFyYW1zPzogR2V0VHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICB0cmFuc2ZlcnMocGFyYW1zPzogVHJhbnNmZXJzT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgZ2V0VHJhbnNmZXIocGFyYW1zPzogR2V0VHJhbnNmZXJPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICB0cmFuc2ZlckJ5U2VxdWVuY2VJZChwYXJhbXM/OiBUcmFuc2ZlckJ5U2VxdWVuY2VJZE9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIG1heGltdW1TcGVuZGFibGUocGFyYW1zPzogTWF4aW11bVNwZW5kYWJsZU9wdGlvbnMpOiBQcm9taXNlPE1heGltdW1TcGVuZGFibGU+O1xuICB1bnNwZW50cyhwYXJhbXM/OiBVbnNwZW50c09wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGNvbnNvbGlkYXRlVW5zcGVudHMocGFyYW1zPzogQ29uc29saWRhdGVVbnNwZW50c09wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGZhbm91dFVuc3BlbnRzKHBhcmFtcz86IEZhbm91dFVuc3BlbnRzT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgdXBkYXRlVG9rZW5GbHVzaFRocmVzaG9sZHModGhyZXNob2xkcz86IGFueSk6IFByb21pc2U8YW55PjtcbiAgdXBkYXRlRm9yd2FyZGVycyhmb3J3YXJkZXJGbGFncz86IGFueSk6IFByb21pc2U8YW55PjtcbiAgZGVwbG95Rm9yd2FyZGVycyhwYXJhbXM6IERlcGxveUZvcndhcmRlcnNPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBmbHVzaEZvcndhcmRlclRva2VuKHBhcmFtczogRmx1c2hGb3J3YXJkZXJUb2tlbk9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGdldEZvcndhcmRlckJhbGFuY2UocGFyYW1zPzogRm9yd2FyZGVyQmFsYW5jZU9wdGlvbnMpOiBQcm9taXNlPEZvcndhcmRlckJhbGFuY2VbXT47XG4gIHN3ZWVwKHBhcmFtcz86IFN3ZWVwT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgZnJlZXplKHBhcmFtcz86IEZyZWV6ZU9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHRyYW5zZmVyQ29tbWVudChwYXJhbXM/OiBUcmFuc2ZlckNvbW1lbnRPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBhZGRyZXNzZXMocGFyYW1zPzogQWRkcmVzc2VzT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgZ2V0QWRkcmVzcyhwYXJhbXM/OiBHZXRBZGRyZXNzT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgY3JlYXRlQWRkcmVzcyhwYXJhbXM/OiBDcmVhdGVBZGRyZXNzT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgdXBkYXRlQWRkcmVzcyhwYXJhbXM/OiBVcGRhdGVBZGRyZXNzT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgbGlzdFdlYmhvb2tzKHBhcmFtcz86IFBhZ2luYXRpb25PcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBzaW11bGF0ZVdlYmhvb2socGFyYW1zPzogU2ltdWxhdGVXZWJob29rT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgYWRkV2ViaG9vayhwYXJhbXM/OiBNb2RpZnlXZWJob29rT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgcmVtb3ZlV2ViaG9vayhwYXJhbXM/OiBNb2RpZnlXZWJob29rT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgZ2V0RW5jcnlwdGVkVXNlcktleWNoYWluKHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIG5ldmVyPik6IFByb21pc2U8eyBlbmNyeXB0ZWRQcnY6IHN0cmluZyB9PjtcbiAgZ2V0UHJ2KHBhcmFtcz86IEdldFBydk9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGNyZWF0ZVNoYXJlKHBhcmFtcz86IENyZWF0ZVNoYXJlT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgc2hhcmVXYWxsZXQocGFyYW1zPzogU2hhcmVXYWxsZXRPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICByZW1vdmVVc2VyKHBhcmFtcz86IFJlbW92ZVVzZXJPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBwcmVidWlsZFRyYW5zYWN0aW9uKHBhcmFtcz86IFByZWJ1aWxkVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0PjtcbiAgc2lnblRyYW5zYWN0aW9uKHBhcmFtcz86IFdhbGxldFNpZ25UcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPFNpZ25lZFRyYW5zYWN0aW9uPjtcbiAgZ2V0VXNlclBydihwYXJhbXM/OiBHZXRVc2VyUHJ2T3B0aW9ucyk6IHN0cmluZztcbiAgcHJlYnVpbGRBbmRTaWduVHJhbnNhY3Rpb24ocGFyYW1zPzogUHJlYnVpbGRBbmRTaWduVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxTaWduZWRUcmFuc2FjdGlvbj47XG4gIGFjY2VsZXJhdGVUcmFuc2FjdGlvbihwYXJhbXM/OiBBY2NlbGVyYXRlVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBzdWJtaXRUcmFuc2FjdGlvbihwYXJhbXM/OiBTdWJtaXRUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHNlbmQocGFyYW1zPzogU2VuZE9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHNlbmRNYW55KHBhcmFtcz86IFNlbmRNYW55T3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgcmVjb3ZlclRva2VuKHBhcmFtcz86IFJlY292ZXJUb2tlbk9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGdldEZpcnN0UGVuZGluZ1RyYW5zYWN0aW9uKHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIG5ldmVyPik6IFByb21pc2U8YW55PjtcbiAgY2hhbmdlRmVlKHBhcmFtcz86IENoYW5nZUZlZU9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGdldFBheW1lbnRJbmZvKHBhcmFtcz86IHsgdXJsPzogc3RyaW5nIH0pOiBQcm9taXNlPGFueT47XG4gIHNlbmRQYXltZW50UmVzcG9uc2UocGFyYW1zPzogYW55KTogUHJvbWlzZTxhbnk+O1xuICBjcmVhdGVQb2xpY3lSdWxlKHBhcmFtcz86IENyZWF0ZVBvbGljeVJ1bGVPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBzZXRQb2xpY3lSdWxlKHBhcmFtcz86IGFueSk6IGFueTtcbiAgcmVtb3ZlUG9saWN5UnVsZShwYXJhbXM/OiBSZW1vdmVQb2xpY3lSdWxlT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgcmVtb3ZlKHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIG5ldmVyPik6IFByb21pc2U8YW55PjtcbiAgdG9KU09OKCk6IFdhbGxldERhdGE7XG4gIHRvVHJhZGluZ0FjY291bnQoKTogSVRyYWRpbmdBY2NvdW50O1xuICB0b1N0YWtpbmdXYWxsZXQoKTogSVN0YWtpbmdXYWxsZXQ7XG4gIGRvd25sb2FkS2V5Y2FyZChwYXJhbXM/OiBEb3dubG9hZEtleWNhcmRPcHRpb25zKTogdm9pZDtcbiAgYnVpbGRBY2NvdW50Q29uc29saWRhdGlvbnMocGFyYW1zPzogQnVpbGRDb25zb2xpZGF0aW9uVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0W10+O1xuICBzZW5kQWNjb3VudENvbnNvbGlkYXRpb24ocGFyYW1zPzogUHJlYnVpbGRBbmRTaWduVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBzZW5kQWNjb3VudENvbnNvbGlkYXRpb25zKHBhcmFtcz86IEJ1aWxkQ29uc29saWRhdGlvblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgYnVpbGRUb2tlbkVuYWJsZW1lbnRzKHBhcmFtcz86IEJ1aWxkVG9rZW5FbmFibGVtZW50T3B0aW9ucyk6IFByb21pc2U8UHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdFtdPjtcbiAgc2VuZFRva2VuRW5hYmxlbWVudChwYXJhbXM/OiBQcmVidWlsZEFuZFNpZ25UcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHNlbmRUb2tlbkVuYWJsZW1lbnRzKHBhcmFtcz86IEJ1aWxkVG9rZW5FbmFibGVtZW50T3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgbGlnaHRuaW5nKCk6IElMaWdodG5pbmc7XG4gIHNpZ25NZXNzYWdlKHBhcmFtczogV2FsbGV0U2lnbk1lc3NhZ2VPcHRpb25zKTogUHJvbWlzZTxTaWduZWRNZXNzYWdlPjtcbiAgc2lnblR5cGVkRGF0YShwYXJhbXM6IFdhbGxldFNpZ25UeXBlZERhdGFPcHRpb25zKTogUHJvbWlzZTxTaWduZWRNZXNzYWdlPjtcbiAgZmV0Y2hDcm9zc0NoYWluVVRYT3MocGFyYW1zOiBGZXRjaENyb3NzQ2hhaW5VVFhPc09wdGlvbnMpOiBQcm9taXNlPENyb3NzQ2hhaW5VVFhPW10+O1xufVxuIl19
|
|
@@ -6,6 +6,10 @@ import { TxRequest } from '../utils';
|
|
|
6
6
|
import { AccelerateTransactionOptions, AddressesOptions, BuildConsolidationTransactionOptions, BuildTokenEnablementOptions, ChangeFeeOptions, ConsolidateUnspentsOptions, CreateAddressOptions, CreatePolicyRuleOptions, CreateShareOptions, CrossChainUTXO, DeployForwardersOptions, DownloadKeycardOptions, FanoutUnspentsOptions, FetchCrossChainUTXOsOptions, FlushForwarderTokenOptions, ForwarderBalance, ForwarderBalanceOptions, FreezeOptions, FundForwardersOptions, GetAddressOptions, GetPrvOptions, GetTransactionOptions, GetTransferOptions, GetUserPrvOptions, IWallet, MaximumSpendable, MaximumSpendableOptions, ModifyWebhookOptions, PaginationOptions, PrebuildAndSignTransactionOptions, PrebuildTransactionOptions, PrebuildTransactionResult, RecoverTokenOptions, RemovePolicyRuleOptions, RemoveUserOptions, SendManyOptions, SendOptions, ShareWalletOptions, SimulateWebhookOptions, SubmitTransactionOptions, SweepOptions, TransferBySequenceIdOptions, TransferCommentOptions, TransfersOptions, UnspentsOptions, UpdateAddressOptions, WalletCoinSpecific, WalletData, WalletSignMessageOptions, WalletSignTransactionOptions, WalletSignTypedDataOptions } from './iWallet';
|
|
7
7
|
import { StakingWallet } from '../staking/stakingWallet';
|
|
8
8
|
import { Lightning } from '../lightning';
|
|
9
|
+
export declare enum ManageUnspentsOptions {
|
|
10
|
+
BUILD_ONLY = 0,
|
|
11
|
+
BUILD_SIGN_SEND = 1
|
|
12
|
+
}
|
|
9
13
|
export declare class Wallet implements IWallet {
|
|
10
14
|
readonly bitgo: BitGoBase;
|
|
11
15
|
readonly baseCoin: IBaseCoin;
|
|
@@ -205,7 +209,7 @@ export declare class Wallet implements IWallet {
|
|
|
205
209
|
* - maximum number of unspents you want to use in the transaction
|
|
206
210
|
* @param {Number} params.numUnspentsToMake - the number of new unspents to make
|
|
207
211
|
*/
|
|
208
|
-
consolidateUnspents(params?: ConsolidateUnspentsOptions): Promise<any>;
|
|
212
|
+
consolidateUnspents(params?: ConsolidateUnspentsOptions, option?: ManageUnspentsOptions): Promise<any>;
|
|
209
213
|
/**
|
|
210
214
|
* Fanout unspents on a wallet
|
|
211
215
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/wallet/wallet.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/wallet/wallet.ts"],"names":[],"mappings":"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"}
|