@bitgo/sdk-core 38.18.0 → 38.19.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.
Files changed (52) hide show
  1. package/dist/src/account-lib/baseCoin/enum.d.ts +2 -1
  2. package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
  3. package/dist/src/account-lib/baseCoin/enum.js +4 -1
  4. package/dist/src/bitgo/coinFactory.d.ts +7 -0
  5. package/dist/src/bitgo/coinFactory.d.ts.map +1 -1
  6. package/dist/src/bitgo/coinFactory.js +10 -1
  7. package/dist/src/bitgo/keychain/keychains.d.ts +4 -0
  8. package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
  9. package/dist/src/bitgo/keychain/keychains.js +9 -5
  10. package/dist/src/bitgo/safe/iSafe.d.ts +2 -2
  11. package/dist/src/bitgo/safe/iSafe.js +1 -1
  12. package/dist/src/bitgo/safe/safe.d.ts.map +1 -1
  13. package/dist/src/bitgo/safe/safe.js +5 -10
  14. package/dist/src/bitgo/utils/tss/baseTypes.d.ts +1 -0
  15. package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
  16. package/dist/src/bitgo/utils/tss/baseTypes.js +1 -1
  17. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +6 -2
  18. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -1
  19. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +18 -14
  20. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaVrfMPCv2.d.ts +0 -19
  21. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaVrfMPCv2.d.ts.map +1 -1
  22. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaVrfMPCv2.js +4 -64
  23. package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.d.ts +2 -2
  24. package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.d.ts.map +1 -1
  25. package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.js +5 -4
  26. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts +16 -2
  27. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts.map +1 -1
  28. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.js +34 -6
  29. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.d.ts +3 -1
  30. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.d.ts.map +1 -1
  31. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.js +1 -1
  32. package/dist/src/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.d.ts +0 -8
  33. package/dist/src/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.d.ts.map +1 -1
  34. package/dist/src/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.js +4 -23
  35. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts +3 -0
  36. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts.map +1 -1
  37. package/dist/src/bitgo/utils/tss/eddsa/types.js +1 -1
  38. package/dist/src/bitgo/utils/tss/index.d.ts +1 -0
  39. package/dist/src/bitgo/utils/tss/index.d.ts.map +1 -1
  40. package/dist/src/bitgo/utils/tss/index.js +2 -1
  41. package/dist/src/bitgo/utils/tss/keyShareEnvelope.d.ts +40 -0
  42. package/dist/src/bitgo/utils/tss/keyShareEnvelope.d.ts.map +1 -0
  43. package/dist/src/bitgo/utils/tss/keyShareEnvelope.js +103 -0
  44. package/dist/test/unit/bitgo/safe/safe.js +15 -2
  45. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.js +76 -1
  46. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.js +4 -3
  47. package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.js +66 -1
  48. package/dist/test/unit/bitgo/utils/tss/keyShareEnvelope.d.ts +2 -0
  49. package/dist/test/unit/bitgo/utils/tss/keyShareEnvelope.d.ts.map +1 -0
  50. package/dist/test/unit/bitgo/utils/tss/keyShareEnvelope.js +83 -0
  51. package/dist/tsconfig.tsbuildinfo +1 -1
  52. package/package.json +4 -4
@@ -129,14 +129,9 @@ class Safe {
129
129
  if (params.type !== undefined && params.type !== 'hot') {
130
130
  throw new Error('Safe wallets are hot-only in v1');
131
131
  }
132
- const isTss = params.multisigType === 'tss';
132
+ const multisigType = params.multisigType ?? 'onchain';
133
+ const isTss = multisigType === 'tss';
133
134
  const coin = this.bitgo.coin(params.coin);
134
- if (isTss && coin.getDefaultMultisigType() !== 'tss') {
135
- throw new Error(`Coin '${coin.getChain()}' is not a TSS coin; cannot mint a tss safe wallet for it`);
136
- }
137
- if (!isTss && coin.getDefaultMultisigType() === 'tss') {
138
- throw new Error('MPC safe wallet minting requires multisigType "tss"; use "onchain" for non-MPC minting');
139
- }
140
135
  const slot = isTss ? (0, sdk_lib_safes_1.tssSlotForCoin)(coin.getChain()) : (0, sdk_lib_safes_1.onchainSlotForCoin)(coin.getChain());
141
136
  const indexResponse = await this.bitgo.get(this.url('/derivation-index')).query({ slot }).result();
142
137
  const peeked = (0, codecs_1.decodeWithCodec)(GetDerivationIndexResponse, indexResponse, 'GetDerivationIndexResponse');
@@ -190,7 +185,7 @@ class Safe {
190
185
  coin: params.coin,
191
186
  label: params.label,
192
187
  type: 'hot',
193
- multisigType: 'onchain',
188
+ multisigType,
194
189
  keys,
195
190
  }).result();
196
191
  return new wallet_1.Wallet(this.bitgo, coin, response);
@@ -209,7 +204,7 @@ class Safe {
209
204
  if (!userRootPrv) {
210
205
  throw new errors_1.IncorrectPasswordError();
211
206
  }
212
- const userRootMaterial = utils_1.ECDSAUtils.parseVrfKeyEnvelopes(userRootPrv);
207
+ const userRootMaterial = (0, utils_1.parseSafeMpcKeyEnvelopes)(userRootPrv);
213
208
  const tssUtils = new utils_1.ECDSAUtils.EcdsaVrfMPCv2Utils(this.bitgo, coin);
214
209
  const { userKeychain, backupKeychain, bitgoKeychain } = await tssUtils.createSafeChildKeychains({
215
210
  passphrase: params.passphrase,
@@ -291,4 +286,4 @@ class Safe {
291
286
  }
292
287
  }
293
288
  exports.Safe = Safe;
294
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby9zYWZlL3NhZmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7O0dBS0c7QUFDSCx5Q0FBMkI7QUFDM0Isc0RBQWdIO0FBR2hILHNDQUFtRDtBQUNuRCwwQ0FBd0Q7QUFDeEQsb0NBQXNDO0FBQ3RDLDRDQUE4RDtBQUM5RCwwREFBdUQ7QUFDdkQsc0NBQW1DO0FBQ25DLHlEQUF3RTtBQVV4RSx3REFNOEI7QUFFOUIsTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUM5QixpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCLFFBQVEsRUFBRSxJQUFJO0lBQ2QsUUFBUSxFQUFFLElBQUk7SUFDZCxlQUFlLEVBQUUsSUFBSTtDQUN0QixDQUFDLENBQUM7QUFFSCxNQUFNLDBCQUEwQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDeEMsSUFBSSxFQUFFLGVBQWU7SUFDckIsS0FBSyxFQUFFLElBQUEsbUJBQVUsRUFBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixDQUFDO0NBQ3BELENBQUMsQ0FBQztBQUVILE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNyQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ1AsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNO1FBQ2QsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNO1FBQ2YsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ3RCLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUNsQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUMxQixDQUFDO0lBQ0YseURBQXlEO0lBQ3pELENBQUMs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Q0gsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUF5QixFQUFFO1FBQ3RDLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBQSw2QkFBYSxFQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSw2QkFBYyxFQUFFLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3ZHLE9BQU8sSUFBQSx3QkFBZSxFQUFDLHVCQUFRLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsT0FBTztRQUNYLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzdFLE9BQU8sSUFBQSx3QkFBZSxFQUFDLHVCQUFRLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7Q0FDRjtBQW5QRCxvQkFtUEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICpcbiAqIEBleHBlcmltZW50YWwgVGhlIHNhZmUgY2xpZW50IHN1cmZhY2UgaXMgZXhwZXJpbWVudGFsIGFuZCBtYXkgY2hhbmdlIChpbmNsdWRpbmcgYnJlYWtpbmdcbiAqIGNoYW5nZXMpIGJlZm9yZSB0aGUgcHVibGljIHJlbGVhc2UuXG4gKi9cbmltcG9ydCAqIGFzIHQgZnJvbSAnaW8tdHMnO1xuaW1wb3J0IHsgRnJlZXplU2FmZUJvZHksIFNhZmVEYXRhLCBTYWZlU2hhcmVEYXRhLCBTYWZlU2hhcmVTdGF0ZSwgdHlwZSBSb290S2V5VHlwZSB9IGZyb20gJ0BiaXRnby9wdWJsaWMtdHlwZXMnO1xuaW1wb3J0IHsgSUJhc2VDb2luIH0gZnJvbSAnLi4vYmFzZUNvaW4nO1xuaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnLi4vYml0Z29CYXNlJztcbmltcG9ydCB7IEluY29ycmVjdFBhc3N3b3JkRXJyb3IgfSBmcm9tICcuLi9lcnJvcnMnO1xuaW1wb3J0IHsgZGVjcnlwdEtleWNoYWluUHJpdmF0ZUtleSB9IGZyb20gJy4uL2tleWNoYWluJztcbmltcG9ydCB7IEVDRFNBVXRpbHMgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBib3VuZGVkSW50LCBkZWNvZGVXaXRoQ29kZWMgfSBmcm9tICcuLi91dGlscy9jb2RlY3MnO1xuaW1wb3J0IHsgcG9zdFdpdGhDb2RlYyB9IGZyb20gJy4uL3V0aWxzL3Bvc3RXaXRoQ29kZWMnO1xuaW1wb3J0IHsgV2FsbGV0IH0gZnJvbSAnLi4vd2FsbGV0JztcbmltcG9ydCB7IEludmFsaWRSb290S2V5Y2hhaW5Tb3VyY2VFcnJvciB9IGZyb20gJy4uL3dhbGxldC9zYWZlS2V5Y2hhaW4nO1xuaW1wb3J0IHtcbiAgQWNjZXB0U2FmZVNoYXJlT3B0aW9ucyxcbiAgQWRkU2FmZU1lbWJlck9wdGlvbnMsXG4gIEFkZFNhZmVXYWxsZXRNZW1iZXJPcHRpb25zLFxuICBDcmVhdGVTYWZlV2FsbGV0T3B0aW9ucyxcbiAgSVNhZmUsXG4gIFVwZGF0ZVNhZmVPcHRpb25zLFxuICBXYWxsZXRTaGFyZURhdGEsXG59IGZyb20gJy4vaVNhZmUnO1xuaW1wb3J0IHtcbiAgZGVyaXZlQW5kU2VsZkNoZWNrU2FmZUNoaWxkSGFyZGVuZWQsXG4gIGRlcml2ZVNhZmVDaGlsZEVkMjU1MTlIYXJkZW5lZCxcbiAgRGVyaXZlZEZyb21QYXJlbnRXaXRoSGFyZGVuZWRQYXRoLFxuICBvbmNoYWluU2xvdEZvckNvaW4sXG4gIHRzc1Nsb3RGb3JDb2luLFxufSBmcm9tICdAYml0Z28vc2RrLWxpYi1zYWZlcyc7XG5cbmNvbnN0IFNhZmVSb290S2V5U2xvdCA9IHQua2V5b2Yoe1xuICBzZWNwMjU2azFNdWx0aXNpZzogbnVsbCxcbiAgZWNkc2FNcGM6IG51bGwsXG4gIGVkZHNhTXBjOiBudWxsLFxuICBlZDI1NTE5TXVsdGlzaWc6IG51bGwsXG59KTtcblxuY29uc3QgR2V0RGVyaXZhdGlvbkluZGV4UmVzcG9uc2UgPSB0LnR5cGUoe1xuICBzbG90OiBTYWZlUm9vdEtleVNsb3QsXG4gIGluZGV4OiBib3VuZGVkSW50KDAsIDB4N2ZmZmZmZmYsICdkZXJpdmF0aW9uSW5kZXgnKSxcbn0pO1xuXG5jb25zdCBDcmVhdGVXYWxsZXRJblNhZmVCb2R5ID0gdC51bmlvbihbXG4gIHQuc3RyaWN0KHtcbiAgICBjb2luOiB0LnN0cmluZyxcbiAgICBsYWJlbDogdC5zdHJpbmcsXG4gICAgdHlwZTogdC5saXRlcmFsKCdob3QnKSxcbiAgICBtdWx0aXNpZ1R5cGU6IHQubGl0ZXJhbCgnb25jaGFpbicpLFxuICAgIGtleXM6IHQudHVwbGUoW3Quc3RyaW5nXSksXG4gIH0pLFxuICAvLyBUU1MgbWludCB1c2VzIG9yZGVyZWQgdXNlciBhbmQgYmFja3VwIGNoaWxkIGRvY3VtZW50cy5cbiAgdC5zdHJpY3Qoe1xuICAgIGNvaW46IHQuc3RyaW5nLFxuICAgIGxhYmVsOiB0LnN0cmluZyxcbiAgICB0eXBlOiB0LmxpdGVyYWwoJ2hvdCcpLFxuICAgIG11bHRpc2lnVHlwZTogdC5saXRlcmFsKCd0c3MnKSxcbiAgICBrZXlzOiB0LnR1cGxlKFt0LnN0cmluZywgdC5zdHJpbmcsIHQuc3RyaW5nXSksXG4gIH0pLFxuXSk7XG5cbmZ1bmN0aW9uIHJvb3RJZEZyb21TYWZlKHNhZmU6IFNhZmVEYXRhLCBzbG90OiBSb290S2V5VHlwZSwgcG9zaXRpb246IDAgfCAxIHwgMik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHRyaXBsZXQgPSBzYWZlLnJvb3RLZXlzPy5ob3Q/LltzbG90XTtcbiAgaWYgKCF0cmlwbGV0IHx8IHRyaXBsZXQubGVuZ3RoICE9PSAzKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBjb25zdCByb290SWQgPSB0cmlwbGV0W3Bvc2l0aW9uXTtcbiAgcmV0dXJuIHJvb3RJZC5sZW5ndGggPiAwID8gcm9vdElkIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNhZmUgaW1wbGVtZW50cyBJU2FmZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYml0Z286IEJpdEdvQmFzZTtcbiAgcHVibGljIHJlYWRvbmx5IF9zYWZlOiBTYWZlRGF0YTtcblxuICBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBzYWZlRGF0YTogU2FmZURhdGEpIHtcbiAgICB0aGlzLmJpdGdvID0gYml0Z287XG4gICAgdGhpcy5fc2FmZSA9IHNhZmVEYXRhO1xuICB9XG5cbiAgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc2FmZS5pZDtcbiAgfVxuXG4gIGVudGVycHJpc2VJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zYWZlLmVudGVycHJpc2VJZDtcbiAgfVxuXG4gIGxhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3NhZmUubGFiZWw7XG4gIH1cblxuICBzdGF0dXMoKTogU2FmZURhdGFbJ3N0YXR1cyddIHtcbiAgICByZXR1cm4gdGhpcy5fc2FmZS5zdGF0dXM7XG4gIH1cblxuICAvKipcbiAgICogRW50ZXJwcmlzZS1zY29wZWQgdjIgVVJMIGZvciB0aGlzIHNhZmUsIGUuZy4gL2FwaS92Mi9lbnRlcnByaXNlLzplSWQvc2FmZXMvOnNhZmVJZFxuICAgKiBAcGFyYW0gZXh0cmFcbiAgICovXG4gIHVybChleHRyYSA9ICcnKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5iaXRnby51cmwoYC9lbnRlcnByaXNlLyR7dGhpcy5lbnRlcnByaXNlSWQoKX0vc2FmZXMvJHt0aGlzLmlkKCl9JHtleHRyYX1gLCAyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNaW50IGEgY2hpbGQgd2FsbGV0OiBwZWVrIHRoZSBzZXF1ZW50aWFsIGluZGV4LCBkZXJpdmUgdGhlIGNoaWxkIGtleXMsIHJlZ2lzdGVyXG4gICAqIHRoZW0sIHRoZW4gbWludC5cbiAgICpcbiAgICogYG9uY2hhaW5gOiBoYXJkZW5lZC1kZXJpdmUgdGhlIHVzZXIgY2hpbGQgKGBtLzxpbmRleD4nYCksIHJlZ2lzdGVyIGl0XG4gICAqIHB1YmxpYy1vbmx5OyBiYWNrdXAgYW5kIEJpdEdvIGNoaWxkcmVuIGFyZSBzb2Z0LWRlcml2ZWQgb24gdGhlIHNlcnZlci5cbiAgICpcbiAgICogYHRzc2A6IGRlY3J5cHQgdGhlIHVzZXIgcm9vdCBibG9iLCBydW4gdGhlIHVzZXIvQml0R28gaGFyZC1kZXJpdmUgY2VyZW1vbnksXG4gICAqIHJlZ2lzdGVyIHRoZSBvcmRlcmVkIGNoaWxkIGRvY3VtZW50cywgdGhlbiBtaW50LlxuICAgKi9cbiAgYXN5bmMgY3JlYXRlV2FsbGV0KHBhcmFtczogQ3JlYXRlU2FmZVdhbGxldE9wdGlvbnMpOiBQcm9taXNlPFdhbGxldD4ge1xuICAgIGlmIChwYXJhbXMucGFzc3BocmFzZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigncGFzc3BocmFzZSBpcyByZXF1aXJlZCB0byBtaW50IGEgc2FmZSB3YWxsZXQnKTtcbiAgICB9XG4gICAgaWYgKHBhcmFtcy50eXBlICE9PSB1bmRlZmluZWQgJiYgcGFyYW1zLnR5cGUgIT09ICdob3QnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NhZmUgd2FsbGV0cyBhcmUgaG90LW9ubHkgaW4gdjEnKTtcbiAgICB9XG4gICAgY29uc3QgaXNUc3MgPSBwYXJhbXMubXVsdGlzaWdUeXBlID09PSAndHNzJztcblxuICAgIGNvbnN0IGNvaW4gPSB0aGlzLmJpdGdvLmNvaW4ocGFyYW1zLmNvaW4pO1xuICAgIGlmIChpc1RzcyAmJiBjb2luLmdldERlZmF1bHRNdWx0aXNpZ1R5cGUoKSAhPT0gJ3RzcycpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ29pbiAnJHtjb2luLmdldENoYWluKCl9JyBpcyBub3QgYSBUU1MgY29pbjsgY2Fubm90IG1pbnQgYSB0c3Mgc2FmZSB3YWxsZXQgZm9yIGl0YCk7XG4gICAgfVxuICAgIGlmICghaXNUc3MgJiYgY29pbi5nZXREZWZhdWx0TXVsdGlzaWdUeXBlKCkgPT09ICd0c3MnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01QQyBzYWZlIHdhbGxldCBtaW50aW5nIHJlcXVpcmVzIG11bHRpc2lnVHlwZSBcInRzc1wiOyB1c2UgXCJvbmNoYWluXCIgZm9yIG5vbi1NUEMgbWludGluZycpO1xuICAgIH1cbiAgICBjb25zdCBzbG90ID0gaXNUc3MgPyB0c3NTbG90Rm9yQ29pbihjb2luLmdldENoYWluKCkpIDogb25jaGFpblNsb3RGb3JDb2luKGNvaW4uZ2V0Q2hhaW4oKSk7XG5cbiAgICBjb25zdCBpbmRleFJlc3BvbnNlID0gYXdhaXQgdGhpcy5iaXRnby5nZXQodGhpcy51cmwoJy9kZXJpdmF0aW9uLWluZGV4JykpLnF1ZXJ5KHsgc2xvdCB9KS5yZXN1bHQoKTtcbiAgICBjb25zdCBwZWVrZWQgPSBkZWNvZGVXaXRoQ29kZWMoR2V0RGVyaXZhdGlvbkluZGV4UmVzcG9uc2UsIGluZGV4UmVzcG9uc2UsICdHZXREZXJpdmF0aW9uSW5kZXhSZXNwb25zZScpO1xuICAgIGlmIChwZWVrZWQuc2xvdCAhPT0gc2xvdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBkZXJpdmF0aW9uLWluZGV4IHJldHVybmVkIHNsb3QgJyR7cGVla2VkLnNsb3R9JywgZXhwZWN0ZWQgJyR7c2xvdH0nYCk7XG4gICAgfVxuICAgIGNvbnN0IHsgaW5kZXggfSA9IHBlZWtlZDtcblxuICAgIGNvbnN0IHNhZmVEYXRhID0gcm9vdElkRnJvbVNhZmUodGhpcy5fc2FmZSwgc2xvdCwgMCkgIT09IHVuZGVmaW5lZCA/IHRoaXMuX3NhZmUgOiBhd2FpdCB0aGlzLmZldGNoU2FmZURhdGEoKTtcbiAgICBjb25zdCB1c2VyUm9vdElkID0gcm9vdElkRnJvbVNhZmUoc2FmZURhdGEsIHNsb3QsIDApO1xuICAgIGlmICh1c2VyUm9vdElkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgU2FmZSAke3RoaXMuaWQoKX0gaXMgbWlzc2luZyByb290S2V5cy5ob3QuJHtzbG90fWApO1xuICAgIH1cblxuICAgIGlmIChpc1Rzcykge1xuICAgICAgY29uc3QgYmFja3VwUm9vdElkID0gcm9vdElkRnJvbVNhZmUoc2FmZURhdGEsIHNsb3QsIDEpO1xuICAgICAgY29uc3QgYml0Z29Sb290SWQgPSByb290SWRGcm9tU2FmZShzYWZlRGF0YSwgc2xvdCwgMik7XG4gICAgICBpZiAoYmFja3VwUm9vdElkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBTYWZlICR7dGhpcy5pZCgpfSBpcyBtaXNzaW5nIHJvb3RLZXlzLmhvdC4ke3Nsb3R9IGJhY2t1cCBrZXlgKTtcbiAgICAgIH1cbiAgICAgIGlmIChiaXRnb1Jvb3RJZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgU2FmZSAke3RoaXMuaWQoKX0gaXMgbWlzc2luZyByb290S2V5cy5ob3QuJHtzbG90fSBiaXRnbyBrZXlgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVRzc1dhbGxldEluU2FmZShjb2luLCB1c2VyUm9vdElkLCBiYWNrdXBSb290SWQsIGJpdGdvUm9vdElkLCBpbmRleCwgcGFyYW1zKTtcbiAgICB9XG5cbiAgICBjb25zdCBrZXljaGFpbnMgPSBjb2luLmtleWNoYWlucygpO1xuICAgIGNvbnN0IHJvb3RLZXljaGFpbiA9IGF3YWl0IGtleWNoYWlucy5nZXQoeyBpZDogdXNlclJvb3RJZCB9KTtcbiAgICBpZiAocm9vdEtleWNoYWluLnNvdXJjZSAhPT0gJ3VzZXInKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFJvb3RLZXljaGFpblNvdXJjZUVycm9yKHJvb3RLZXljaGFpbi5pZCwgcm9vdEtleWNoYWluLnNvdXJjZSk7XG4gICAgfVxuICAgIGNvbnN0IHJvb3RQcnYgPSBhd2FpdCBkZWNyeXB0S2V5Y2hhaW5Qcml2YXRlS2V5KHRoaXMuYml0Z28sIHJvb3RLZXljaGFpbiwgcGFyYW1zLnBhc3NwaHJhc2UpO1xuICAgIGlmICghcm9vdFBydikge1xuICAgICAgdGhyb3cgbmV3IEluY29ycmVjdFBhc3N3b3JkRXJyb3IoKTtcbiAgICB9XG5cbiAgICBjb25zdCBkZXJpdmVkID1cbiAgICAgIHNsb3QgPT09ICdlZDI1NTE5TXVsdGlzaWcnXG4gICAgICAgID8gZGVyaXZlU2FmZUNoaWxkRWQyNTUxOUhhcmRlbmVkKHJvb3RQcnYsIGluZGV4KVxuICAgICAgICA6IGRlcml2ZUFuZFNlbGZDaGVja1NhZmVDaGlsZEhhcmRlbmVkKHJvb3RQcnYsIGluZGV4KTtcbiAgICBjb25zdCBkZXJpdmVkRnJvbVBhcmVudFdpdGhIYXJkZW5lZFBhdGggPSBkZWNvZGVXaXRoQ29kZWMoXG4gICAgICBEZXJpdmVkRnJvbVBhcmVudFdpdGhIYXJkZW5lZFBhdGgsXG4gICAgICBkZXJpdmVkLmRlcml2YXRpb25QYXRoLFxuICAgICAgJ2Rlcml2ZWRGcm9tUGFyZW50V2l0aEhhcmRlbmVkUGF0aCdcbiAgICApO1xuXG4gICAgY29uc3QgY2hpbGQgPSBhd2FpdCBrZXljaGFpbnMuYWRkKHtcbiAgICAgIHB1YjogZGVyaXZlZC5wdWIsXG4gICAgICBzb3VyY2U6ICd1c2VyJyxcbiAgICAgIGtleVR5cGU6ICdpbmRlcGVuZGVudCcsXG4gICAgICBwYXJlbnQ6IHVzZXJSb290SWQsXG4gICAgICBzYWZlSWQ6IHRoaXMuaWQoKSxcbiAgICAgIGRlcml2ZWRGcm9tUGFyZW50V2l0aFBhdGg6IGRlcml2ZWRGcm9tUGFyZW50V2l0aEhhcmRlbmVkUGF0aCxcbiAgICB9KTtcbiAgICBjb25zdCBjaGlsZElkID0gY2hpbGQuaWQ7XG4gICAgaWYgKGNoaWxkSWQubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3NhZmUgY2hpbGQga2V5IHJlZ2lzdHJhdGlvbiByZXR1cm5lZCBhbiBlbXB0eSBpZCcpO1xuICAgIH1cbiAgICBjb25zdCBrZXlzOiBbc3RyaW5nXSA9IFtjaGlsZElkXTtcblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgcG9zdFdpdGhDb2RlYyh0aGlzLmJpdGdvLCB0aGlzLnVybCgnL3dhbGxldHMnKSwgQ3JlYXRlV2FsbGV0SW5TYWZlQm9keSwge1xuICAgICAgY29pbjogcGFyYW1zLmNvaW4sXG4gICAgICBsYWJlbDogcGFyYW1zLmxhYmVsLFxuICAgICAgdHlwZTogJ2hvdCcsXG4gICAgICBtdWx0aXNpZ1R5cGU6ICdvbmNoYWluJyxcbiAgICAgIGtleXMsXG4gICAgfSkucmVzdWx0KCk7XG4gICAgcmV0dXJuIG5ldyBXYWxsZXQodGhpcy5iaXRnbywgY29pbiwgcmVzcG9uc2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRTUyB3YWxsZXQgbWludDogZGVjcnlwdCB0aGUgdXNlciByb290IGJsb2IsIHJ1biB0aGUgdXNlci9CaXRHbyBoYXJkLWRlcml2ZVxuICAgKiBjZXJlbW9ueSwgcmVnaXN0ZXIgdGhlIG9yZGVyZWQgY2hpbGQgZG9jdW1lbnRzLCB0aGVuIG1pbnQuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGNyZWF0ZVRzc1dhbGxldEluU2FmZShcbiAgICBjb2luOiBJQmFzZUNvaW4sXG4gICAgdXNlclJvb3RJZDogc3RyaW5nLFxuICAgIGJhY2t1cFJvb3RJZDogc3RyaW5nLFxuICAgIGJpdGdvUm9vdElkOiBzdHJpbmcsXG4gICAgaW5kZXg6IG51bWJlcixcbiAgICBwYXJhbXM6IENyZWF0ZVNhZmVXYWxsZXRPcHRpb25zXG4gICk6IFByb21pc2U8V2FsbGV0PiB7XG4gICAgY29uc3Qga2V5Y2hhaW5zID0gY29pbi5rZXljaGFpbnMoKTtcbiAgICBjb25zdCB1c2VyUm9vdEtleWNoYWluID0gYXdhaXQga2V5Y2hhaW5zLmdldCh7IGlkOiB1c2VyUm9vdElkIH0pO1xuICAgIGlmICh1c2VyUm9vdEtleWNoYWluLnNvdXJjZSAhPT0gJ3VzZXInKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFJvb3RLZXljaGFpblNvdXJjZUVycm9yKHVzZXJSb290S2V5Y2hhaW4uaWQsIHVzZXJSb290S2V5Y2hhaW4uc291cmNlKTtcbiAgICB9XG5cbiAgICBjb25zdCB1c2VyUm9vdFBydiA9IGF3YWl0IGRlY3J5cHRLZXljaGFpblByaXZhdGVLZXkodGhpcy5iaXRnbywgdXNlclJvb3RLZXljaGFpbiwgcGFyYW1zLnBhc3NwaHJhc2UpO1xuICAgIGlmICghdXNlclJvb3RQcnYpIHtcbiAgICAgIHRocm93IG5ldyBJbmNvcnJlY3RQYXNzd29yZEVycm9yKCk7XG4gICAgfVxuICAgIGNvbnN0IHVzZXJSb290TWF0ZXJpYWwgPSBFQ0RTQVV0aWxzLnBhcnNlVnJmS2V5RW52ZWxvcGVzKHVzZXJSb290UHJ2KTtcblxuICAgIGNvbnN0IHRzc1V0aWxzID0gbmV3IEVDRFNBVXRpbHMuRWNkc2FWcmZNUEN2MlV0aWxzKHRoaXMuYml0Z28sIGNvaW4pO1xuICAgIGNvbnN0IHsgdXNlcktleWNoYWluLCBiYWNrdXBLZXljaGFpbiwgYml0Z29LZXljaGFpbiB9ID0gYXdhaXQgdHNzVXRpbHMuY3JlYXRlU2FmZUNoaWxkS2V5Y2hhaW5zKHtcbiAgICAgIHBhc3NwaHJhc2U6IHBhcmFtcy5wYXNzcGhyYXNlLFxuICAgICAgZW50ZXJwcmlzZTogdGhpcy5lbnRlcnByaXNlSWQoKSxcbiAgICAgIHNhZmVJZDogdGhpcy5pZCgpLFxuICAgICAgcGFyZW50S2V5SWQ6IGJpdGdvUm9vdElkLFxuICAgICAgZGVyaXZhdGlvbkluZGV4OiBpbmRleCxcbiAgICAgIHVzZXJSb290S2V5SWQ6IHVzZXJSb290SWQsXG4gICAgICBiYWNrdXBSb290S2V5SWQ6IGJhY2t1cFJvb3RJZCxcbiAgICAgIHVzZXJSb290S2V5U2hhcmU6IHVzZXJSb290TWF0ZXJpYWwuc2lnbmluZyxcbiAgICAgIHVzZXJSb290VnJmS2V5U2hhcmU6IHVzZXJSb290TWF0ZXJpYWwudnJmLFxuICAgIH0pO1xuICAgIGlmICh1c2VyS2V5Y2hhaW4uaWQubGVuZ3RoID09PSAwIHx8IGJhY2t1cEtleWNoYWluLmlkLmxlbmd0aCA9PT0gMCB8fCBiaXRnb0tleWNoYWluLmlkLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdzYWZlIGNoaWxkIGtleSByZWdpc3RyYXRpb24gcmV0dXJuZWQgYW4gZW1wdHkgaWQnKTtcbiAgICB9XG4gICAgY29uc3Qga2V5czogW3N0cmluZywgc3RyaW5nLCBzdHJpbmddID0gW3VzZXJLZXljaGFpbi5pZCwgYmFja3VwS2V5Y2hhaW4uaWQsIGJpdGdvS2V5Y2hhaW4uaWRdO1xuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBwb3N0V2l0aENvZGVjKHRoaXMuYml0Z28sIHRoaXMudXJsKCcvd2FsbGV0cycpLCBDcmVhdGVXYWxsZXRJblNhZmVCb2R5LCB7XG4gICAgICBjb2luOiBwYXJhbXMuY29pbixcbiAgICAgIGxhYmVsOiBwYXJhbXMubGFiZWwsXG4gICAgICB0eXBlOiAnaG90JyxcbiAgICAgIG11bHRpc2lnVHlwZTogJ3RzcycsXG4gICAgICBrZXlzLFxuICAgIH0pLnJlc3VsdCgpO1xuICAgIHJldHVybiBuZXcgV2FsbGV0KHRoaXMuYml0Z28sIGNvaW4sIHJlc3BvbnNlKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZmV0Y2hTYWZlRGF0YSgpOiBQcm9taXNlPFNhZmVEYXRhPiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmJpdGdvLmdldCh0aGlzLnVybCgpKS5yZXN1bHQoKTtcbiAgICByZXR1cm4gZGVjb2RlV2l0aENvZGVjKFNhZmVEYXRhLCByZXNwb25zZSwgJ1NhZmVEYXRhJyk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgbWVtYmVyIHRvIHRoZSB3aG9sZSBzYWZlICh2aWV3L2FkbWluL3NwZW5kKS4gU3BlbmQgb3BlbnMgYSBrZXkgc2hhcmUuXG4gICAqL1xuICBhc3luYyBhZGRNZW1iZXIocGFyYW1zOiBBZGRTYWZlTWVtYmVyT3B0aW9ucyk6IFByb21pc2U8U2FmZURhdGE+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1NhZmUuYWRkTWVtYmVyIGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTaGFyZSBPTkUgc2FmZSB3YWxsZXQgd2l0aCBhIG5vbi1tZW1iZXIgdmlhIHRoZSBleGlzdGluZyB3YWxsZXQtc2hhcmUgaGFuZHNoYWtlLlxuICAgKi9cbiAgYXN5bmMgYWRkTWVtYmVyVG9XYWxsZXQocGFyYW1zOiBBZGRTYWZlV2FsbGV0TWVtYmVyT3B0aW9ucyk6IFByb21pc2U8V2FsbGV0U2hhcmVEYXRhPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdTYWZlLmFkZE1lbWJlclRvV2FsbGV0IGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0IHRoZSBzYWZlIGtleSBzaGFyZXMgdmlzaWJsZSB0byB0aGUgY2FsbGVyLlxuICAgKi9cbiAgYXN5bmMgbGlzdFNoYXJlcyhwYXJhbXM6IHsgc3RhdGU/OiBTYWZlU2hhcmVTdGF0ZSB9ID0ge30pOiBQcm9taXNlPFNhZmVTaGFyZURhdGFbXT4ge1xuICAgIHRocm93IG5ldyBFcnJvcignU2FmZS5saXN0U2hhcmVzIGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY2NlcHQgYSBzYWZlIGtleSBzaGFyZSBhZGRyZXNzZWQgdG8gdGhlIGNhbGxlci5cbiAgICovXG4gIGFzeW5jIGFjY2VwdFNoYXJlKHBhcmFtczogQWNjZXB0U2FmZVNoYXJlT3B0aW9ucyk6IFByb21pc2U8U2FmZVNoYXJlRGF0YT4ge1xuICAgIHRocm93IG5ldyBFcnJvcignU2FmZS5hY2NlcHRTaGFyZSBpcyBub3QgeWV0IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIHRoZSBzYWZlIGxhYmVsLlxuICAgKi9cbiAgYXN5bmMgdXBkYXRlKHBhcmFtczogVXBkYXRlU2FmZU9wdGlvbnMpOiBQcm9taXNlPFNhZmVEYXRhPiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmJpdGdvLnB1dCh0aGlzLnVybCgpKS5zZW5kKHsgbGFiZWw6IHBhcmFtcy5sYWJlbCB9KS5yZXN1bHQoKTtcbiAgICByZXR1cm4gZGVjb2RlV2l0aENvZGVjKFNhZmVEYXRhLCByZXNwb25zZSwgJ1NhZmVEYXRhJyk7XG4gIH1cblxuICAvKipcbiAgICogRnJlZXplIHRoZSBzYWZlIOKAlCBibG9ja3Mgd2l0aGRyYXdhbHMgb24gYWxsIHNhZmUgd2FsbGV0cy4gU2FmZSBzdGF5cyAnYWN0aXZlJy5cbiAgICogQHBhcmFtIHBhcmFtc1xuICAgKi9cbiAgYXN5bmMgZnJlZXplKHBhcmFtczogRnJlZXplU2FmZUJvZHkgPSB7fSk6IFByb21pc2U8U2FmZURhdGE+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHBvc3RXaXRoQ29kZWModGhpcy5iaXRnbywgdGhpcy51cmwoJy9mcmVlemUnKSwgRnJlZXplU2FmZUJvZHksIHBhcmFtcykucmVzdWx0KCk7XG4gICAgcmV0dXJuIGRlY29kZVdpdGhDb2RlYyhTYWZlRGF0YSwgcmVzcG9uc2UsICdTYWZlRGF0YScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFyY2hpdmUgdGhlIHNhZmUuIFJlcXVpcmVzIGV2ZXJ5IHNhZmUgd2FsbGV0IHRvIGFscmVhZHkgYmUgYXJjaGl2ZWQ7IGFsc28gdGhlIGFiYW5kb25tZW50XG4gICAqIHBhdGggZm9yIGEgc3R1Y2sgJ2luaXRpYWxpemluZycgc2FmZS5cbiAgICovXG4gIGFzeW5jIGFyY2hpdmUoKTogUHJvbWlzZTxTYWZlRGF0YT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5iaXRnby5wb3N0KHRoaXMudXJsKCcvYXJjaGl2ZScpKS5zZW5kKCkucmVzdWx0KCk7XG4gICAgcmV0dXJuIGRlY29kZVdpdGhDb2RlYyhTYWZlRGF0YSwgcmVzcG9uc2UsICdTYWZlRGF0YScpO1xuICB9XG5cbiAgdG9KU09OKCk6IFNhZmVEYXRhIHtcbiAgICByZXR1cm4gdGhpcy5fc2FmZTtcbiAgfVxufVxuIl19
289
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby9zYWZlL3NhZmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7O0dBS0c7QUFDSCx5Q0FBMkI7QUFDM0Isc0RBQWdIO0FBR2hILHNDQUFtRDtBQUNuRCwwQ0FBd0Q7QUFDeEQsb0NBQWdFO0FBQ2hFLDRDQUE4RDtBQUM5RCwwREFBdUQ7QUFDdkQsc0NBQW1DO0FBQ25DLHlEQUF3RTtBQVV4RSx3REFNOEI7QUFFOUIsTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUM5QixpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCLFFBQVEsRUFBRSxJQUFJO0lBQ2QsUUFBUSxFQUFFLElBQUk7SUFDZCxlQUFlLEVBQUUsSUFBSTtDQUN0QixDQUFDLENBQUM7QUFFSCxNQUFNLDBCQUEwQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDeEMsSUFBSSxFQUFFLGVBQWU7SUFDckIsS0FBSyxFQUFFLElBQUEsbUJBQVUsRUFBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixDQUFDO0NBQ3BELENBQUMsQ0FBQztBQUVILE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNyQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ1AsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNO1FBQ2QsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNO1FBQ2YsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ3RCLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUNsQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUMxQixDQUFDO0lBQ0YseURBQXlEO0lBQ3pELENBQUMs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ekQsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDN0UsT0FBTyxJQUFBLHdCQUFlLEVBQUMsdUJBQVEsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztDQUNGO0FBOU9ELG9CQThPQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHByZXR0aWVyXG4gKlxuICogQGV4cGVyaW1lbnRhbCBUaGUgc2FmZSBjbGllbnQgc3VyZmFjZSBpcyBleHBlcmltZW50YWwgYW5kIG1heSBjaGFuZ2UgKGluY2x1ZGluZyBicmVha2luZ1xuICogY2hhbmdlcykgYmVmb3JlIHRoZSBwdWJsaWMgcmVsZWFzZS5cbiAqL1xuaW1wb3J0ICogYXMgdCBmcm9tICdpby10cyc7XG5pbXBvcnQgeyBGcmVlemVTYWZlQm9keSwgU2FmZURhdGEsIFNhZmVTaGFyZURhdGEsIFNhZmVTaGFyZVN0YXRlLCB0eXBlIFJvb3RLZXlUeXBlIH0gZnJvbSAnQGJpdGdvL3B1YmxpYy10eXBlcyc7XG5pbXBvcnQgeyBJQmFzZUNvaW4gfSBmcm9tICcuLi9iYXNlQ29pbic7XG5pbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICcuLi9iaXRnb0Jhc2UnO1xuaW1wb3J0IHsgSW5jb3JyZWN0UGFzc3dvcmRFcnJvciB9IGZyb20gJy4uL2Vycm9ycyc7XG5pbXBvcnQgeyBkZWNyeXB0S2V5Y2hhaW5Qcml2YXRlS2V5IH0gZnJvbSAnLi4va2V5Y2hhaW4nO1xuaW1wb3J0IHsgRUNEU0FVdGlscywgcGFyc2VTYWZlTXBjS2V5RW52ZWxvcGVzIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgYm91bmRlZEludCwgZGVjb2RlV2l0aENvZGVjIH0gZnJvbSAnLi4vdXRpbHMvY29kZWNzJztcbmltcG9ydCB7IHBvc3RXaXRoQ29kZWMgfSBmcm9tICcuLi91dGlscy9wb3N0V2l0aENvZGVjJztcbmltcG9ydCB7IFdhbGxldCB9IGZyb20gJy4uL3dhbGxldCc7XG5pbXBvcnQgeyBJbnZhbGlkUm9vdEtleWNoYWluU291cmNlRXJyb3IgfSBmcm9tICcuLi93YWxsZXQvc2FmZUtleWNoYWluJztcbmltcG9ydCB7XG4gIEFjY2VwdFNhZmVTaGFyZU9wdGlvbnMsXG4gIEFkZFNhZmVNZW1iZXJPcHRpb25zLFxuICBBZGRTYWZlV2FsbGV0TWVtYmVyT3B0aW9ucyxcbiAgQ3JlYXRlU2FmZVdhbGxldE9wdGlvbnMsXG4gIElTYWZlLFxuICBVcGRhdGVTYWZlT3B0aW9ucyxcbiAgV2FsbGV0U2hhcmVEYXRhLFxufSBmcm9tICcuL2lTYWZlJztcbmltcG9ydCB7XG4gIGRlcml2ZUFuZFNlbGZDaGVja1NhZmVDaGlsZEhhcmRlbmVkLFxuICBkZXJpdmVTYWZlQ2hpbGRFZDI1NTE5SGFyZGVuZWQsXG4gIERlcml2ZWRGcm9tUGFyZW50V2l0aEhhcmRlbmVkUGF0aCxcbiAgb25jaGFpblNsb3RGb3JDb2luLFxuICB0c3NTbG90Rm9yQ29pbixcbn0gZnJvbSAnQGJpdGdvL3Nkay1saWItc2FmZXMnO1xuXG5jb25zdCBTYWZlUm9vdEtleVNsb3QgPSB0LmtleW9mKHtcbiAgc2VjcDI1NmsxTXVsdGlzaWc6IG51bGwsXG4gIGVjZHNhTXBjOiBudWxsLFxuICBlZGRzYU1wYzogbnVsbCxcbiAgZWQyNTUxOU11bHRpc2lnOiBudWxsLFxufSk7XG5cbmNvbnN0IEdldERlcml2YXRpb25JbmRleFJlc3BvbnNlID0gdC50eXBlKHtcbiAgc2xvdDogU2FmZVJvb3RLZXlTbG90LFxuICBpbmRleDogYm91bmRlZEludCgwLCAweDdmZmZmZmZmLCAnZGVyaXZhdGlvbkluZGV4JyksXG59KTtcblxuY29uc3QgQ3JlYXRlV2FsbGV0SW5TYWZlQm9keSA9IHQudW5pb24oW1xuICB0LnN0cmljdCh7XG4gICAgY29pbjogdC5zdHJpbmcsXG4gICAgbGFiZWw6IHQuc3RyaW5nLFxuICAgIHR5cGU6IHQubGl0ZXJhbCgnaG90JyksXG4gICAgbXVsdGlzaWdUeXBlOiB0LmxpdGVyYWwoJ29uY2hhaW4nKSxcbiAgICBrZXlzOiB0LnR1cGxlKFt0LnN0cmluZ10pLFxuICB9KSxcbiAgLy8gVFNTIG1pbnQgdXNlcyBvcmRlcmVkIHVzZXIgYW5kIGJhY2t1cCBjaGlsZCBkb2N1bWVudHMuXG4gIHQuc3RyaWN0KHtcbiAgICBjb2luOiB0LnN0cmluZyxcbiAgICBsYWJlbDogdC5zdHJpbmcsXG4gICAgdHlwZTogdC5saXRlcmFsKCdob3QnKSxcbiAgICBtdWx0aXNpZ1R5cGU6IHQubGl0ZXJhbCgndHNzJyksXG4gICAga2V5czogdC50dXBsZShbdC5zdHJpbmcsIHQuc3RyaW5nLCB0LnN0cmluZ10pLFxuICB9KSxcbl0pO1xuXG5mdW5jdGlvbiByb290SWRGcm9tU2FmZShzYWZlOiBTYWZlRGF0YSwgc2xvdDogUm9vdEtleVR5cGUsIHBvc2l0aW9uOiAwIHwgMSB8IDIpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCB0cmlwbGV0ID0gc2FmZS5yb290S2V5cz8uaG90Py5bc2xvdF07XG4gIGlmICghdHJpcGxldCB8fCB0cmlwbGV0Lmxlbmd0aCAhPT0gMykge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgY29uc3Qgcm9vdElkID0gdHJpcGxldFtwb3NpdGlvbl07XG4gIHJldHVybiByb290SWQubGVuZ3RoID4gMCA/IHJvb3RJZCA6IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBjbGFzcyBTYWZlIGltcGxlbWVudHMgSVNhZmUge1xuICBwcml2YXRlIHJlYWRvbmx5IGJpdGdvOiBCaXRHb0Jhc2U7XG4gIHB1YmxpYyByZWFkb25seSBfc2FmZTogU2FmZURhdGE7XG5cbiAgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSwgc2FmZURhdGE6IFNhZmVEYXRhKSB7XG4gICAgdGhpcy5iaXRnbyA9IGJpdGdvO1xuICAgIHRoaXMuX3NhZmUgPSBzYWZlRGF0YTtcbiAgfVxuXG4gIGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3NhZmUuaWQ7XG4gIH1cblxuICBlbnRlcnByaXNlSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc2FmZS5lbnRlcnByaXNlSWQ7XG4gIH1cblxuICBsYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zYWZlLmxhYmVsO1xuICB9XG5cbiAgc3RhdHVzKCk6IFNhZmVEYXRhWydzdGF0dXMnXSB7XG4gICAgcmV0dXJuIHRoaXMuX3NhZmUuc3RhdHVzO1xuICB9XG5cbiAgLyoqXG4gICAqIEVudGVycHJpc2Utc2NvcGVkIHYyIFVSTCBmb3IgdGhpcyBzYWZlLCBlLmcuIC9hcGkvdjIvZW50ZXJwcmlzZS86ZUlkL3NhZmVzLzpzYWZlSWRcbiAgICogQHBhcmFtIGV4dHJhXG4gICAqL1xuICB1cmwoZXh0cmEgPSAnJyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYml0Z28udXJsKGAvZW50ZXJwcmlzZS8ke3RoaXMuZW50ZXJwcmlzZUlkKCl9L3NhZmVzLyR7dGhpcy5pZCgpfSR7ZXh0cmF9YCwgMik7XG4gIH1cblxuICAvKipcbiAgICogTWludCBhIGNoaWxkIHdhbGxldDogcGVlayB0aGUgc2VxdWVudGlhbCBpbmRleCwgZGVyaXZlIHRoZSBjaGlsZCBrZXlzLCByZWdpc3RlclxuICAgKiB0aGVtLCB0aGVuIG1pbnQuXG4gICAqXG4gICAqIGBvbmNoYWluYDogaGFyZGVuZWQtZGVyaXZlIHRoZSB1c2VyIGNoaWxkIChgbS88aW5kZXg+J2ApLCByZWdpc3RlciBpdFxuICAgKiBwdWJsaWMtb25seTsgYmFja3VwIGFuZCBCaXRHbyBjaGlsZHJlbiBhcmUgc29mdC1kZXJpdmVkIG9uIHRoZSBzZXJ2ZXIuXG4gICAqXG4gICAqIGB0c3NgOiBkZWNyeXB0IHRoZSB1c2VyIHJvb3QgYmxvYiwgcnVuIHRoZSB1c2VyL0JpdEdvIGhhcmQtZGVyaXZlIGNlcmVtb255LFxuICAgKiByZWdpc3RlciB0aGUgb3JkZXJlZCBjaGlsZCBkb2N1bWVudHMsIHRoZW4gbWludC5cbiAgICovXG4gIGFzeW5jIGNyZWF0ZVdhbGxldChwYXJhbXM6IENyZWF0ZVNhZmVXYWxsZXRPcHRpb25zKTogUHJvbWlzZTxXYWxsZXQ+IHtcbiAgICBpZiAocGFyYW1zLnBhc3NwaHJhc2UubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3Bhc3NwaHJhc2UgaXMgcmVxdWlyZWQgdG8gbWludCBhIHNhZmUgd2FsbGV0Jyk7XG4gICAgfVxuICAgIGlmIChwYXJhbXMudHlwZSAhPT0gdW5kZWZpbmVkICYmIHBhcmFtcy50eXBlICE9PSAnaG90Jykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTYWZlIHdhbGxldHMgYXJlIGhvdC1vbmx5IGluIHYxJyk7XG4gICAgfVxuICAgIGNvbnN0IG11bHRpc2lnVHlwZSA9IHBhcmFtcy5tdWx0aXNpZ1R5cGUgPz8gJ29uY2hhaW4nO1xuICAgIGNvbnN0IGlzVHNzID0gbXVsdGlzaWdUeXBlID09PSAndHNzJztcblxuICAgIGNvbnN0IGNvaW4gPSB0aGlzLmJpdGdvLmNvaW4ocGFyYW1zLmNvaW4pO1xuICAgIGNvbnN0IHNsb3QgPSBpc1RzcyA/IHRzc1Nsb3RGb3JDb2luKGNvaW4uZ2V0Q2hhaW4oKSkgOiBvbmNoYWluU2xvdEZvckNvaW4oY29pbi5nZXRDaGFpbigpKTtcblxuICAgIGNvbnN0IGluZGV4UmVzcG9uc2UgPSBhd2FpdCB0aGlzLmJpdGdvLmdldCh0aGlzLnVybCgnL2Rlcml2YXRpb24taW5kZXgnKSkucXVlcnkoeyBzbG90IH0pLnJlc3VsdCgpO1xuICAgIGNvbnN0IHBlZWtlZCA9IGRlY29kZVdpdGhDb2RlYyhHZXREZXJpdmF0aW9uSW5kZXhSZXNwb25zZSwgaW5kZXhSZXNwb25zZSwgJ0dldERlcml2YXRpb25JbmRleFJlc3BvbnNlJyk7XG4gICAgaWYgKHBlZWtlZC5zbG90ICE9PSBzbG90KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGRlcml2YXRpb24taW5kZXggcmV0dXJuZWQgc2xvdCAnJHtwZWVrZWQuc2xvdH0nLCBleHBlY3RlZCAnJHtzbG90fSdgKTtcbiAgICB9XG4gICAgY29uc3QgeyBpbmRleCB9ID0gcGVla2VkO1xuXG4gICAgY29uc3Qgc2FmZURhdGEgPSByb290SWRGcm9tU2FmZSh0aGlzLl9zYWZlLCBzbG90LCAwKSAhPT0gdW5kZWZpbmVkID8gdGhpcy5fc2FmZSA6IGF3YWl0IHRoaXMuZmV0Y2hTYWZlRGF0YSgpO1xuICAgIGNvbnN0IHVzZXJSb290SWQgPSByb290SWRGcm9tU2FmZShzYWZlRGF0YSwgc2xvdCwgMCk7XG4gICAgaWYgKHVzZXJSb290SWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBTYWZlICR7dGhpcy5pZCgpfSBpcyBtaXNzaW5nIHJvb3RLZXlzLmhvdC4ke3Nsb3R9YCk7XG4gICAgfVxuXG4gICAgaWYgKGlzVHNzKSB7XG4gICAgICBjb25zdCBiYWNrdXBSb290SWQgPSByb290SWRGcm9tU2FmZShzYWZlRGF0YSwgc2xvdCwgMSk7XG4gICAgICBjb25zdCBiaXRnb1Jvb3RJZCA9IHJvb3RJZEZyb21TYWZlKHNhZmVEYXRhLCBzbG90LCAyKTtcbiAgICAgIGlmIChiYWNrdXBSb290SWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFNhZmUgJHt0aGlzLmlkKCl9IGlzIG1pc3Npbmcgcm9vdEtleXMuaG90LiR7c2xvdH0gYmFja3VwIGtleWApO1xuICAgICAgfVxuICAgICAgaWYgKGJpdGdvUm9vdElkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBTYWZlICR7dGhpcy5pZCgpfSBpcyBtaXNzaW5nIHJvb3RLZXlzLmhvdC4ke3Nsb3R9IGJpdGdvIGtleWApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlVHNzV2FsbGV0SW5TYWZlKGNvaW4sIHVzZXJSb290SWQsIGJhY2t1cFJvb3RJZCwgYml0Z29Sb290SWQsIGluZGV4LCBwYXJhbXMpO1xuICAgIH1cblxuICAgIGNvbnN0IGtleWNoYWlucyA9IGNvaW4ua2V5Y2hhaW5zKCk7XG4gICAgY29uc3Qgcm9vdEtleWNoYWluID0gYXdhaXQga2V5Y2hhaW5zLmdldCh7IGlkOiB1c2VyUm9vdElkIH0pO1xuICAgIGlmIChyb290S2V5Y2hhaW4uc291cmNlICE9PSAndXNlcicpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUm9vdEtleWNoYWluU291cmNlRXJyb3Iocm9vdEtleWNoYWluLmlkLCByb290S2V5Y2hhaW4uc291cmNlKTtcbiAgICB9XG4gICAgY29uc3Qgcm9vdFBydiA9IGF3YWl0IGRlY3J5cHRLZXljaGFpblByaXZhdGVLZXkodGhpcy5iaXRnbywgcm9vdEtleWNoYWluLCBwYXJhbXMucGFzc3BocmFzZSk7XG4gICAgaWYgKCFyb290UHJ2KSB7XG4gICAgICB0aHJvdyBuZXcgSW5jb3JyZWN0UGFzc3dvcmRFcnJvcigpO1xuICAgIH1cblxuICAgIGNvbnN0IGRlcml2ZWQgPVxuICAgICAgc2xvdCA9PT0gJ2VkMjU1MTlNdWx0aXNpZydcbiAgICAgICAgPyBkZXJpdmVTYWZlQ2hpbGRFZDI1NTE5SGFyZGVuZWQocm9vdFBydiwgaW5kZXgpXG4gICAgICAgIDogZGVyaXZlQW5kU2VsZkNoZWNrU2FmZUNoaWxkSGFyZGVuZWQocm9vdFBydiwgaW5kZXgpO1xuICAgIGNvbnN0IGRlcml2ZWRGcm9tUGFyZW50V2l0aEhhcmRlbmVkUGF0aCA9IGRlY29kZVdpdGhDb2RlYyhcbiAgICAgIERlcml2ZWRGcm9tUGFyZW50V2l0aEhhcmRlbmVkUGF0aCxcbiAgICAgIGRlcml2ZWQuZGVyaXZhdGlvblBhdGgsXG4gICAgICAnZGVyaXZlZEZyb21QYXJlbnRXaXRoSGFyZGVuZWRQYXRoJ1xuICAgICk7XG5cbiAgICBjb25zdCBjaGlsZCA9IGF3YWl0IGtleWNoYWlucy5hZGQoe1xuICAgICAgcHViOiBkZXJpdmVkLnB1YixcbiAgICAgIHNvdXJjZTogJ3VzZXInLFxuICAgICAga2V5VHlwZTogJ2luZGVwZW5kZW50JyxcbiAgICAgIHBhcmVudDogdXNlclJvb3RJZCxcbiAgICAgIHNhZmVJZDogdGhpcy5pZCgpLFxuICAgICAgZGVyaXZlZEZyb21QYXJlbnRXaXRoUGF0aDogZGVyaXZlZEZyb21QYXJlbnRXaXRoSGFyZGVuZWRQYXRoLFxuICAgIH0pO1xuICAgIGNvbnN0IGNoaWxkSWQgPSBjaGlsZC5pZDtcbiAgICBpZiAoY2hpbGRJZC5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignc2FmZSBjaGlsZCBrZXkgcmVnaXN0cmF0aW9uIHJldHVybmVkIGFuIGVtcHR5IGlkJyk7XG4gICAgfVxuICAgIGNvbnN0IGtleXM6IFtzdHJpbmddID0gW2NoaWxkSWRdO1xuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBwb3N0V2l0aENvZGVjKHRoaXMuYml0Z28sIHRoaXMudXJsKCcvd2FsbGV0cycpLCBDcmVhdGVXYWxsZXRJblNhZmVCb2R5LCB7XG4gICAgICBjb2luOiBwYXJhbXMuY29pbixcbiAgICAgIGxhYmVsOiBwYXJhbXMubGFiZWwsXG4gICAgICB0eXBlOiAnaG90JyxcbiAgICAgIG11bHRpc2lnVHlwZSxcbiAgICAgIGtleXMsXG4gICAgfSkucmVzdWx0KCk7XG4gICAgcmV0dXJuIG5ldyBXYWxsZXQodGhpcy5iaXRnbywgY29pbiwgcmVzcG9uc2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRTUyB3YWxsZXQgbWludDogZGVjcnlwdCB0aGUgdXNlciByb290IGJsb2IsIHJ1biB0aGUgdXNlci9CaXRHbyBoYXJkLWRlcml2ZVxuICAgKiBjZXJlbW9ueSwgcmVnaXN0ZXIgdGhlIG9yZGVyZWQgY2hpbGQgZG9jdW1lbnRzLCB0aGVuIG1pbnQuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGNyZWF0ZVRzc1dhbGxldEluU2FmZShcbiAgICBjb2luOiBJQmFzZUNvaW4sXG4gICAgdXNlclJvb3RJZDogc3RyaW5nLFxuICAgIGJhY2t1cFJvb3RJZDogc3RyaW5nLFxuICAgIGJpdGdvUm9vdElkOiBzdHJpbmcsXG4gICAgaW5kZXg6IG51bWJlcixcbiAgICBwYXJhbXM6IENyZWF0ZVNhZmVXYWxsZXRPcHRpb25zXG4gICk6IFByb21pc2U8V2FsbGV0PiB7XG4gICAgY29uc3Qga2V5Y2hhaW5zID0gY29pbi5rZXljaGFpbnMoKTtcbiAgICBjb25zdCB1c2VyUm9vdEtleWNoYWluID0gYXdhaXQga2V5Y2hhaW5zLmdldCh7IGlkOiB1c2VyUm9vdElkIH0pO1xuICAgIGlmICh1c2VyUm9vdEtleWNoYWluLnNvdXJjZSAhPT0gJ3VzZXInKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFJvb3RLZXljaGFpblNvdXJjZUVycm9yKHVzZXJSb290S2V5Y2hhaW4uaWQsIHVzZXJSb290S2V5Y2hhaW4uc291cmNlKTtcbiAgICB9XG5cbiAgICBjb25zdCB1c2VyUm9vdFBydiA9IGF3YWl0IGRlY3J5cHRLZXljaGFpblByaXZhdGVLZXkodGhpcy5iaXRnbywgdXNlclJvb3RLZXljaGFpbiwgcGFyYW1zLnBhc3NwaHJhc2UpO1xuICAgIGlmICghdXNlclJvb3RQcnYpIHtcbiAgICAgIHRocm93IG5ldyBJbmNvcnJlY3RQYXNzd29yZEVycm9yKCk7XG4gICAgfVxuICAgIGNvbnN0IHVzZXJSb290TWF0ZXJpYWwgPSBwYXJzZVNhZmVNcGNLZXlFbnZlbG9wZXModXNlclJvb3RQcnYpO1xuXG4gICAgY29uc3QgdHNzVXRpbHMgPSBuZXcgRUNEU0FVdGlscy5FY2RzYVZyZk1QQ3YyVXRpbHModGhpcy5iaXRnbywgY29pbik7XG4gICAgY29uc3QgeyB1c2VyS2V5Y2hhaW4sIGJhY2t1cEtleWNoYWluLCBiaXRnb0tleWNoYWluIH0gPSBhd2FpdCB0c3NVdGlscy5jcmVhdGVTYWZlQ2hpbGRLZXljaGFpbnMoe1xuICAgICAgcGFzc3BocmFzZTogcGFyYW1zLnBhc3NwaHJhc2UsXG4gICAgICBlbnRlcnByaXNlOiB0aGlzLmVudGVycHJpc2VJZCgpLFxuICAgICAgc2FmZUlkOiB0aGlzLmlkKCksXG4gICAgICBwYXJlbnRLZXlJZDogYml0Z29Sb290SWQsXG4gICAgICBkZXJpdmF0aW9uSW5kZXg6IGluZGV4LFxuICAgICAgdXNlclJvb3RLZXlJZDogdXNlclJvb3RJZCxcbiAgICAgIGJhY2t1cFJvb3RLZXlJZDogYmFja3VwUm9vdElkLFxuICAgICAgdXNlclJvb3RLZXlTaGFyZTogdXNlclJvb3RNYXRlcmlhbC5zaWduaW5nLFxuICAgICAgdXNlclJvb3RWcmZLZXlTaGFyZTogdXNlclJvb3RNYXRlcmlhbC52cmYsXG4gICAgfSk7XG4gICAgaWYgKHVzZXJLZXljaGFpbi5pZC5sZW5ndGggPT09IDAgfHwgYmFja3VwS2V5Y2hhaW4uaWQubGVuZ3RoID09PSAwIHx8IGJpdGdvS2V5Y2hhaW4uaWQubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3NhZmUgY2hpbGQga2V5IHJlZ2lzdHJhdGlvbiByZXR1cm5lZCBhbiBlbXB0eSBpZCcpO1xuICAgIH1cbiAgICBjb25zdCBrZXlzOiBbc3RyaW5nLCBzdHJpbmcsIHN0cmluZ10gPSBbdXNlcktleWNoYWluLmlkLCBiYWNrdXBLZXljaGFpbi5pZCwgYml0Z29LZXljaGFpbi5pZF07XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHBvc3RXaXRoQ29kZWModGhpcy5iaXRnbywgdGhpcy51cmwoJy93YWxsZXRzJyksIENyZWF0ZVdhbGxldEluU2FmZUJvZHksIHtcbiAgICAgIGNvaW46IHBhcmFtcy5jb2luLFxuICAgICAgbGFiZWw6IHBhcmFtcy5sYWJlbCxcbiAgICAgIHR5cGU6ICdob3QnLFxuICAgICAgbXVsdGlzaWdUeXBlOiAndHNzJyxcbiAgICAgIGtleXMsXG4gICAgfSkucmVzdWx0KCk7XG4gICAgcmV0dXJuIG5ldyBXYWxsZXQodGhpcy5iaXRnbywgY29pbiwgcmVzcG9uc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBmZXRjaFNhZmVEYXRhKCk6IFByb21pc2U8U2FmZURhdGE+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuYml0Z28uZ2V0KHRoaXMudXJsKCkpLnJlc3VsdCgpO1xuICAgIHJldHVybiBkZWNvZGVXaXRoQ29kZWMoU2FmZURhdGEsIHJlc3BvbnNlLCAnU2FmZURhdGEnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBtZW1iZXIgdG8gdGhlIHdob2xlIHNhZmUgKHZpZXcvYWRtaW4vc3BlbmQpLiBTcGVuZCBvcGVucyBhIGtleSBzaGFyZS5cbiAgICovXG4gIGFzeW5jIGFkZE1lbWJlcihwYXJhbXM6IEFkZFNhZmVNZW1iZXJPcHRpb25zKTogUHJvbWlzZTxTYWZlRGF0YT4ge1xuICAgIHRocm93IG5ldyBFcnJvcignU2FmZS5hZGRNZW1iZXIgaXMgbm90IHlldCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNoYXJlIE9ORSBzYWZlIHdhbGxldCB3aXRoIGEgbm9uLW1lbWJlciB2aWEgdGhlIGV4aXN0aW5nIHdhbGxldC1zaGFyZSBoYW5kc2hha2UuXG4gICAqL1xuICBhc3luYyBhZGRNZW1iZXJUb1dhbGxldChwYXJhbXM6IEFkZFNhZmVXYWxsZXRNZW1iZXJPcHRpb25zKTogUHJvbWlzZTxXYWxsZXRTaGFyZURhdGE+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1NhZmUuYWRkTWVtYmVyVG9XYWxsZXQgaXMgbm90IHlldCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3QgdGhlIHNhZmUga2V5IHNoYXJlcyB2aXNpYmxlIHRvIHRoZSBjYWxsZXIuXG4gICAqL1xuICBhc3luYyBsaXN0U2hhcmVzKHBhcmFtczogeyBzdGF0ZT86IFNhZmVTaGFyZVN0YXRlIH0gPSB7fSk6IFByb21pc2U8U2FmZVNoYXJlRGF0YVtdPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdTYWZlLmxpc3RTaGFyZXMgaXMgbm90IHlldCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFjY2VwdCBhIHNhZmUga2V5IHNoYXJlIGFkZHJlc3NlZCB0byB0aGUgY2FsbGVyLlxuICAgKi9cbiAgYXN5bmMgYWNjZXB0U2hhcmUocGFyYW1zOiBBY2NlcHRTYWZlU2hhcmVPcHRpb25zKTogUHJvbWlzZTxTYWZlU2hhcmVEYXRhPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdTYWZlLmFjY2VwdFNoYXJlIGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgdGhlIHNhZmUgbGFiZWwuXG4gICAqL1xuICBhc3luYyB1cGRhdGUocGFyYW1zOiBVcGRhdGVTYWZlT3B0aW9ucyk6IFByb21pc2U8U2FmZURhdGE+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuYml0Z28ucHV0KHRoaXMudXJsKCkpLnNlbmQoeyBsYWJlbDogcGFyYW1zLmxhYmVsIH0pLnJlc3VsdCgpO1xuICAgIHJldHVybiBkZWNvZGVXaXRoQ29kZWMoU2FmZURhdGEsIHJlc3BvbnNlLCAnU2FmZURhdGEnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGcmVlemUgdGhlIHNhZmUg4oCUIGJsb2NrcyB3aXRoZHJhd2FscyBvbiBhbGwgc2FmZSB3YWxsZXRzLiBTYWZlIHN0YXlzICdhY3RpdmUnLlxuICAgKiBAcGFyYW0gcGFyYW1zXG4gICAqL1xuICBhc3luYyBmcmVlemUocGFyYW1zOiBGcmVlemVTYWZlQm9keSA9IHt9KTogUHJvbWlzZTxTYWZlRGF0YT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgcG9zdFdpdGhDb2RlYyh0aGlzLmJpdGdvLCB0aGlzLnVybCgnL2ZyZWV6ZScpLCBGcmVlemVTYWZlQm9keSwgcGFyYW1zKS5yZXN1bHQoKTtcbiAgICByZXR1cm4gZGVjb2RlV2l0aENvZGVjKFNhZmVEYXRhLCByZXNwb25zZSwgJ1NhZmVEYXRhJyk7XG4gIH1cblxuICAvKipcbiAgICogQXJjaGl2ZSB0aGUgc2FmZS4gUmVxdWlyZXMgZXZlcnkgc2FmZSB3YWxsZXQgdG8gYWxyZWFkeSBiZSBhcmNoaXZlZDsgYWxzbyB0aGUgYWJhbmRvbm1lbnRcbiAgICogcGF0aCBmb3IgYSBzdHVjayAnaW5pdGlhbGl6aW5nJyBzYWZlLlxuICAgKi9cbiAgYXN5bmMgYXJjaGl2ZSgpOiBQcm9taXNlPFNhZmVEYXRhPiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmJpdGdvLnBvc3QodGhpcy51cmwoJy9hcmNoaXZlJykpLnNlbmQoKS5yZXN1bHQoKTtcbiAgICByZXR1cm4gZGVjb2RlV2l0aENvZGVjKFNhZmVEYXRhLCByZXNwb25zZSwgJ1NhZmVEYXRhJyk7XG4gIH1cblxuICB0b0pTT04oKTogU2FmZURhdGEge1xuICAgIHJldHVybiB0aGlzLl9zYWZlO1xuICB9XG59XG4iXX0=
@@ -762,6 +762,7 @@ interface SignatureShare {
762
762
  interface Ovc {
763
763
  eddsaSignature: Signature;
764
764
  ecdsaSignature?: EcdsaSignature;
765
+ eddsaMpcv2Signature?: string;
765
766
  }
766
767
  export interface MPCTxs {
767
768
  transactions: MPCTx[];
@@ -1 +1 @@
1
- {"version":3,"file":"baseTypes.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/utils/tss/baseTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseTypes.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/utils/tss/baseTypes.ts"],"names":[],"mappings":"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"}
@@ -68,4 +68,4 @@ exports.TssTxRecipientSource = {
68
68
  */
69
69
  Resolved: 'resolved',
70
70
  };
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZVR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3V0aWxzL3Rzcy9iYXNlVHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBbW5CQSxvQ0FNQztBQXJnQkQsSUFBWSxTQWNYO0FBZEQsV0FBWSxTQUFTO0lBQ25CLG9CQUFPLENBQUE7SUFDUCxzQ0FBeUIsQ0FBQTtJQUN6QixvQkFBTyxDQUFBO0lBQ1Asb0JBQU8sQ0FBQTtJQUNQLG9CQUFPLENBQUE7SUFDUCxnQ0FBbUIsQ0FBQTtJQUNuQixnREFBbUMsQ0FBQTtJQUNuQyx3Q0FBMkIsQ0FBQTtJQUMzQix3Q0FBMkIsQ0FBQTtJQUMzQix3Q0FBMkIsQ0FBQTtJQUMzQixrREFBcUMsQ0FBQTtJQUNyQyxrREFBcUMsQ0FBQTtJQUNyQyxrREFBcUMsQ0FBQTtBQUN2QyxDQUFDLEVBZFcsU0FBUyx5QkFBVCxTQUFTLFFBY3BCO0FBRUQsSUFBWSxPQUdYO0FBSEQsV0FBWSxPQUFPO0lBQ2pCLDBCQUFlLENBQUE7SUFDZiwwQkFBZSxDQUFBO0FBQ2pCLENBQUMsRUFIVyxPQUFPLHVCQUFQLE9BQU8sUUFHbEI7QUEwSEQsSUFBWSxTQUtYO0FBTEQsV0FBWSxTQUFTO0lBQ25CLDhCQUFpQixDQUFBO0lBQ2pCLGdDQUFtQixDQUFBO0lBQ25CLDRCQUFlLENBQUE7SUFDZiw0Q0FBK0IsQ0FBQTtBQUNqQyxDQUFDLEVBTFcsU0FBUyx5QkFBVCxTQUFTLFFBS3BCO0FBdVNELElBQVksV0FHWDtBQUhELFdBQVksV0FBVztJQUNyQix5Q0FBRSxDQUFBO0lBQ0YsbURBQU8sQ0FBQTtBQUNULENBQUMsRUFIVyxXQUFXLDJCQUFYLFdBQVcsUUFHdEI7QUFnRUQ7O0dBRUc7QUFDSCxTQUFnQixZQUFZLENBQUMsVUFBa0I7SUFDN0MsSUFBSSxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztBQUNILENBQUM7QUFFWSxRQUFBLGtCQUFrQixHQUFHO0lBQ2hDLElBQUksRUFBRSxNQUFNO0lBQ1osTUFBTSxFQUFFLFFBQVE7SUFDaEIsS0FBSyxFQUFFLE9BQU87Q0FDTixDQUFDO0FBZ0JFLFFBQUEsY0FBYyxHQUFHO0lBQzVCLFVBQVUsRUFBRSxZQUFZO0lBQ3hCLFlBQVksRUFBRSxjQUFjO0NBQ3BCLENBQUM7QUFZRSxRQUFBLHdCQUF3QixHQUFHO0lBQ3RDLHNCQUFzQixFQUFFLHNCQUFzQjtJQUM5QyxpQkFBaUIsRUFBRSxpQkFBaUI7Q0FDNUIsQ0FBQztBQStCRSxRQUFBLG9CQUFvQixHQUFHO0lBQ2xDLG9HQUFvRztJQUNwRyxRQUFRLEVBQUUsVUFBVTtJQUNwQjs7O09BR0c7SUFDSCxRQUFRLEVBQUUsVUFBVTtDQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBLZXksIFNlcmlhbGl6ZWRLZXlQYWlyIH0gZnJvbSAnb3BlbnBncCc7XG5pbXBvcnQgeyBFbmNyeXB0aW9uVmVyc2lvbiwgSUVuY3J5cHRpb25TZXNzaW9uLCBJUmVxdWVzdFRyYWNlciB9IGZyb20gJy4uLy4uLy4uL2FwaSc7XG5pbXBvcnQgeyB0eXBlIElUcmFuc2FjdGlvblJlY2lwaWVudCwgS2V5Y2hhaW5zVHJpcGxldCwgUGFyc2VkVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uUGFyYW1zIH0gZnJvbSAnLi4vLi4vYmFzZUNvaW4nO1xuaW1wb3J0IHsgQXBpS2V5U2hhcmUsIEtleWNoYWluLCBXZWJhdXRobktleUVuY3J5cHRpb25JbmZvIH0gZnJvbSAnLi4vLi4va2V5Y2hhaW4nO1xuaW1wb3J0IHsgQXBpVmVyc2lvbiwgTWVtbywgV2FsbGV0VHlwZSwgdHlwZSBQcmVidWlsZFRyYW5zYWN0aW9uRmVlSW5mbyB9IGZyb20gJy4uLy4uL3dhbGxldCc7XG5pbXBvcnQgeyBFRERTQSwgR1NoYXJlLCBTaWduYXR1cmUsIFNpZ25TaGFyZSB9IGZyb20gJy4uLy4uLy4uL2FjY291bnQtbGliL21wYy90c3MnO1xuaW1wb3J0IHsgU2lnbmF0dXJlIGFzIEVjZHNhU2lnbmF0dXJlIH0gZnJvbSAnLi4vLi4vLi4vYWNjb3VudC1saWIvbXBjL3Rzcy9lY2RzYS90eXBlcyc7XG5pbXBvcnQgeyBLZXlTaGFyZSB9IGZyb20gJy4vZWNkc2EnO1xuaW1wb3J0IHsgRWNkc2FUeXBlcyB9IGZyb20gJ0BiaXRnby9zZGstbGliLW1wYyc7XG5pbXBvcnQgeyBUc3NFY2RzYVN0ZXAxUmV0dXJuTWVzc2FnZSwgVHNzRWNkc2FTdGVwMlJldHVybk1lc3NhZ2UsIFR4UmVxdWVzdENoYWxsZW5nZVJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vdHNzL3R5cGVzJztcbmltcG9ydCB7IEFTaGFyZSwgRFNoYXJlLCBTU2hhcmUgfSBmcm9tICcuLi8uLi90c3MvZWNkc2EvdHlwZXMnO1xuaW1wb3J0IHsgTWVzc2FnZVN0YW5kYXJkVHlwZSB9IGZyb20gJy4uL21lc3NhZ2VUeXBlcyc7XG5cbmV4cG9ydCB0eXBlIFR4UmVxdWVzdFZlcnNpb24gPSAnZnVsbCcgfCAnbGl0ZSc7XG5leHBvcnQgaW50ZXJmYWNlIEhvcFBhcmFtcyB7XG4gIHBheW1lbnRJZD86IHN0cmluZztcbiAgdXNlclJlcVNpZz86IHN0cmluZztcbiAgZ2FzUHJpY2VNYXg/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRUlQMTU1OUZlZU9wdGlvbnMge1xuICBnYXNMaW1pdD86IG51bWJlcjtcbiAgbWF4RmVlUGVyR2FzOiBudW1iZXI7XG4gIG1heFByaW9yaXR5RmVlUGVyR2FzOiBudW1iZXI7XG4gIGZlZVRva2VuPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlZU9wdGlvbiB7XG4gIHVuaXQ/OiAnYmFzZVVuaXQnIHwgJ2NwdScgfCAncmFtJztcbiAgZm9ybXVsYT86ICdmaXhlZCcgfCAnZmVlUmF0ZScgfCAncGVyS0InIHwgJ2N1c3RvbScgfCAncGVyVktCJztcbiAgZmVlVHlwZT86ICdiYXNlJyB8ICdtYXgnIHwgJ3RpcCc7XG4gIGdhc0xpbWl0PzogbnVtYmVyO1xuICBnYXNQcmljZT86IG51bWJlcjtcbiAgZmVlVG9rZW4/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9rZW5FbmFibGVtZW50IHtcbiAgbmFtZTogc3RyaW5nO1xuICBhZGRyZXNzPzogc3RyaW5nOyAvLyBTb21lIGNoYWlucyBsaWtlIFNvbGFuYSByZXF1aXJlIHRva2VucyB0byBiZSBlbmFibGVkIGZvciBzcGVjaWZpYyBhZGRyZXNzLiBJZiBhYnNlbnQsIHdlIHdpbGwgZW5hYmxlIGl0IGZvciB0aGUgd2FsbGV0J3Mgcm9vdCBhZGRyZXNzXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29sSW5zdHJ1Y3Rpb24ge1xuICBwcm9ncmFtSWQ6IHN0cmluZztcbiAga2V5czogQXJyYXk8e1xuICAgIHB1YmtleTogc3RyaW5nO1xuICAgIGlzU2lnbmVyOiBib29sZWFuO1xuICAgIGlzV3JpdGFibGU6IGJvb2xlYW47XG4gIH0+O1xuICBkYXRhOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29sVmVyc2lvbmVkSW5zdHJ1Y3Rpb24ge1xuICBwcm9ncmFtSWRJbmRleDogbnVtYmVyO1xuICBhY2NvdW50S2V5SW5kZXhlczogbnVtYmVyW107XG4gIGRhdGE6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTb2xBZGRyZXNzTG9va3VwVGFibGUge1xuICBhY2NvdW50S2V5OiBzdHJpbmc7XG4gIHdyaXRhYmxlSW5kZXhlczogbnVtYmVyW107XG4gIHJlYWRvbmx5SW5kZXhlczogbnVtYmVyW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29sVmVyc2lvbmVkVHJhbnNhY3Rpb25EYXRhIHtcbiAgdmVyc2lvbmVkSW5zdHJ1Y3Rpb25zOiBTb2xWZXJzaW9uZWRJbnN0cnVjdGlvbltdO1xuICBhZGRyZXNzTG9va3VwVGFibGVzOiBTb2xBZGRyZXNzTG9va3VwVGFibGVbXTtcbiAgc3RhdGljQWNjb3VudEtleXM6IHN0cmluZ1tdO1xuICBtZXNzYWdlSGVhZGVyOiB7XG4gICAgbnVtUmVxdWlyZWRTaWduYXR1cmVzOiBudW1iZXI7XG4gICAgbnVtUmVhZG9ubHlTaWduZWRBY2NvdW50czogbnVtYmVyO1xuICAgIG51bVJlYWRvbmx5VW5zaWduZWRBY2NvdW50czogbnVtYmVyO1xuICB9O1xuICByZWNlbnRCbG9ja2hhc2g/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgYXB0b3NDdXN0b21UcmFuc2FjdGlvblBhcmFtcyB7XG4gIG1vZHVsZU5hbWU6IHN0cmluZztcbiAgZnVuY3Rpb25OYW1lOiBzdHJpbmc7XG4gIHR5cGVBcmd1bWVudHM/OiBzdHJpbmdbXTtcbiAgZnVuY3Rpb25Bcmd1bWVudHM/OiBhbnlbXTtcbiAgYWJpPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhbnRvbkNyZWF0ZUNvbW1hbmQge1xuICBDcmVhdGVDb21tYW5kOiB7XG4gICAgdGVtcGxhdGVJZDogc3RyaW5nO1xuICAgIGNyZWF0ZUFyZ3VtZW50czogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FudG9uRXhlcmNpc2VDb21tYW5kIHtcbiAgRXhlcmNpc2VDb21tYW5kOiB7XG4gICAgdGVtcGxhdGVJZDogc3RyaW5nO1xuICAgIGNvbnRyYWN0SWQ/OiBzdHJpbmc7XG4gICAgY2hvaWNlOiBzdHJpbmc7XG4gICAgY2hvaWNlQXJndW1lbnQ/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgfTtcbn1cblxuZXhwb3J0IHR5cGUgQ2FudG9uQ29tbWFuZCA9IENhbnRvbkNyZWF0ZUNvbW1hbmQgfCBDYW50b25FeGVyY2lzZUNvbW1hbmQ7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FudG9uQ29tbWFuZFJlc29sdmVDb250cmFjdFNwZWMge1xuICB0ZW1wbGF0ZUlkOiBzdHJpbmc7XG4gIGFjdEFzOiBzdHJpbmdbXTtcbiAgcmVhZEFzPzogc3RyaW5nW107XG4gIGluamVjdEFzOiBzdHJpbmc7XG4gIHJlc29sdmVBbGw/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhbnRvbkNvbW1hbmRQYXJhbXMge1xuICBjb21tYW5kOiBDYW50b25Db21tYW5kO1xuICBhY3RBczogc3RyaW5nW107XG4gIHJlYWRBcz86IHN0cmluZ1tdO1xuICByZXNvbHZlQ29udHJhY3RzPzogQ2FudG9uQ29tbWFuZFJlc29sdmVDb250cmFjdFNwZWNbXTtcbn1cblxuZXhwb3J0IGVudW0gU2hhcmVUeXBlIHtcbiAgUiA9ICdSJyxcbiAgQ29tbWl0bWVudCA9ICdjb21taXRtZW50JyxcbiAgRyA9ICdHJyxcbiAgUyA9ICdTJyxcbiAgSyA9ICdLJyxcbiAgTXVEZWx0YSA9ICdNdURlbHRhJyxcbiAgUGFpbGxpZXJNb2R1bHVzID0gJ1BhaWxsaWVyTW9kdWx1cycsXG4gIE1QQ3YyUm91bmQxID0gJ01QQ3YyUm91bmQxJyxcbiAgTVBDdjJSb3VuZDIgPSAnTVBDdjJSb3VuZDInLFxuICBNUEN2MlJvdW5kMyA9ICdNUEN2MlJvdW5kMycsXG4gIEVkZHNhTVBDdjJSb3VuZDEgPSAnRWRkc2FNUEN2MlJvdW5kMScsXG4gIEVkZHNhTVBDdjJSb3VuZDIgPSAnRWRkc2FNUEN2MlJvdW5kMicsXG4gIEVkZHNhTVBDdjJSb3VuZDMgPSAnRWRkc2FNUEN2MlJvdW5kMycsXG59XG5cbmV4cG9ydCBlbnVtIE1QQ1R5cGUge1xuICBFRERTQSA9ICdlZGRzYScsXG4gIEVDRFNBID0gJ2VjZHNhJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21QYWlsbGllck1vZHVsdXNHZXR0ZXJGdW5jdGlvbiB7XG4gIChwYXJhbXM6IHsgdHhSZXF1ZXN0OiBUeFJlcXVlc3QgfSk6IFByb21pc2U8e1xuICAgIHVzZXJQYWlsbGllck1vZHVsdXM6IHN0cmluZztcbiAgfT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tS1NoYXJlR2VuZXJhdGluZ0Z1bmN0aW9uIHtcbiAgKHBhcmFtczoge1xuICAgIHRzc1BhcmFtczogVFNTUGFyYW1zIHwgVFNTUGFyYW1zRm9yTWVzc2FnZTtcbiAgICBjaGFsbGVuZ2VzOiB7XG4gICAgICBlbnRlcnByaXNlQ2hhbGxlbmdlOiBFY2RzYVR5cGVzLlNlcmlhbGl6ZWRFY2RzYUNoYWxsZW5nZXM7XG4gICAgICBiaXRnb0NoYWxsZW5nZTogVHhSZXF1ZXN0Q2hhbGxlbmdlUmVzcG9uc2U7XG4gICAgfTtcbiAgICByZXF1ZXN0VHlwZTogUmVxdWVzdFR5cGU7XG4gIH0pOiBQcm9taXNlPFRzc0VjZHNhU3RlcDFSZXR1cm5NZXNzYWdlPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21NdURlbHRhU2hhcmVHZW5lcmF0aW5nRnVuY3Rpb24ge1xuICAocGFyYW1zOiB7XG4gICAgdHhSZXF1ZXN0OiBUeFJlcXVlc3Q7XG4gICAgYVNoYXJlRnJvbUJpdGdvOiBPbWl0PEFTaGFyZSwgJ250aWxkZScgfCAnaDEnIHwgJ2gyJz47XG4gICAgYml0Z29DaGFsbGVuZ2U6IFR4UmVxdWVzdENoYWxsZW5nZVJlc3BvbnNlO1xuICAgIGVuY3J5cHRlZFdTaGFyZTogc3RyaW5nO1xuICB9KTogUHJvbWlzZTxUc3NFY2RzYVN0ZXAyUmV0dXJuTWVzc2FnZT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tU1NoYXJlR2VuZXJhdGluZ0Z1bmN0aW9uIHtcbiAgKHBhcmFtczoge1xuICAgIHRzc1BhcmFtczogVFNTUGFyYW1zIHwgVFNTUGFyYW1zRm9yTWVzc2FnZTtcbiAgICBkU2hhcmVGcm9tQml0Z286IERTaGFyZTtcbiAgICByZXF1ZXN0VHlwZTogUmVxdWVzdFR5cGU7XG4gICAgZW5jcnlwdGVkT1NoYXJlOiBzdHJpbmc7XG4gIH0pOiBQcm9taXNlPFNTaGFyZT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tQ29tbWl0bWVudEdlbmVyYXRpbmdGdW5jdGlvbiB7XG4gIChwYXJhbXM6IHsgdHhSZXF1ZXN0OiBUeFJlcXVlc3Q7IGJpdGdvR3BnUHViS2V5Pzogc3RyaW5nIH0pOiBQcm9taXNlPHtcbiAgICB1c2VyVG9CaXRnb0NvbW1pdG1lbnQ6IENvbW1pdG1lbnRTaGFyZVJlY29yZDtcbiAgICBlbmNyeXB0ZWRTaWduZXJTaGFyZTogRW5jcnlwdGVkU2lnbmVyU2hhcmVSZWNvcmQ7XG4gICAgZW5jcnlwdGVkVXNlclRvQml0Z29SU2hhcmU6IEVuY3J5cHRlZFNpZ25lclNoYXJlUmVjb3JkO1xuICB9Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21SU2hhcmVHZW5lcmF0aW5nRnVuY3Rpb24ge1xuICAocGFyYW1zOiB7IHR4UmVxdWVzdDogVHhSZXF1ZXN0OyBlbmNyeXB0ZWRVc2VyVG9CaXRnb1JTaGFyZTogRW5jcnlwdGVkU2lnbmVyU2hhcmVSZWNvcmQgfSk6IFByb21pc2U8e1xuICAgIHJTaGFyZTogU2lnblNoYXJlO1xuICB9Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21HU2hhcmVHZW5lcmF0aW5nRnVuY3Rpb24ge1xuICAocGFyYW1zOiB7XG4gICAgdHhSZXF1ZXN0OiBUeFJlcXVlc3Q7XG4gICAgdXNlclRvQml0Z29SU2hhcmU6IFNpZ25TaGFyZTtcbiAgICBiaXRnb1RvVXNlclJTaGFyZTogU2lnbmF0dXJlU2hhcmVSZWNvcmQ7XG4gICAgYml0Z29Ub1VzZXJDb21taXRtZW50OiBDb21taXRtZW50U2hhcmVSZWNvcmQ7XG4gIH0pOiBQcm9taXNlPEdTaGFyZT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tTVBDdjJTaWduaW5nUm91bmQxR2VuZXJhdGluZ0Z1bmN0aW9uIHtcbiAgKHBhcmFtczogeyB0eFJlcXVlc3Q6IFR4UmVxdWVzdCB9KTogUHJvbWlzZTx7XG4gICAgc2lnbmF0dXJlU2hhcmVSb3VuZDE6IFNpZ25hdHVyZVNoYXJlUmVjb3JkO1xuICAgIGVuY3J5cHRlZFJvdW5kMVNlc3Npb246IHN0cmluZztcbiAgICB1c2VyR3BnUHViS2V5OiBzdHJpbmc7XG4gICAgZW5jcnlwdGVkVXNlckdwZ1BydktleTogc3RyaW5nO1xuICB9Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21NUEN2MlNpZ25pbmdSb3VuZDJHZW5lcmF0aW5nRnVuY3Rpb24ge1xuICAocGFyYW1zOiB7XG4gICAgdHhSZXF1ZXN0OiBUeFJlcXVlc3Q7XG4gICAgYml0Z29QdWJsaWNHcGdLZXk6IHN0cmluZztcbiAgICBlbmNyeXB0ZWRVc2VyR3BnUHJ2S2V5OiBzdHJpbmc7XG4gICAgZW5jcnlwdGVkUm91bmQxU2Vzc2lvbjogc3RyaW5nO1xuICB9KTogUHJvbWlzZTx7XG4gICAgc2lnbmF0dXJlU2hhcmVSb3VuZDI6IFNpZ25hdHVyZVNoYXJlUmVjb3JkO1xuICAgIGVuY3J5cHRlZFJvdW5kMlNlc3Npb246IHN0cmluZztcbiAgfT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tTVBDdjJTaWduaW5nUm91bmQzR2VuZXJhdGluZ0Z1bmN0aW9uIHtcbiAgKHBhcmFtczoge1xuICAgIHR4UmVxdWVzdDogVHhSZXF1ZXN0O1xuICAgIGJpdGdvUHVibGljR3BnS2V5OiBzdHJpbmc7XG4gICAgZW5jcnlwdGVkVXNlckdwZ1BydktleTogc3RyaW5nO1xuICAgIGVuY3J5cHRlZFJvdW5kMlNlc3Npb246IHN0cmluZztcbiAgfSk6IFByb21pc2U8e1xuICAgIHNpZ25hdHVyZVNoYXJlUm91bmQzOiBTaWduYXR1cmVTaGFyZVJlY29yZDtcbiAgfT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tRWRkc2FNUEN2MlNpZ25pbmdSb3VuZDFHZW5lcmF0aW5nRnVuY3Rpb24ge1xuICAocGFyYW1zOiB7IHR4UmVxdWVzdDogVHhSZXF1ZXN0IH0pOiBQcm9taXNlPHtcbiAgICBzaWduYXR1cmVTaGFyZVJvdW5kMTogU2lnbmF0dXJlU2hhcmVSZWNvcmQ7XG4gICAgZW5jcnlwdGVkUm91bmQxU2Vzc2lvbjogc3RyaW5nO1xuICAgIHVzZXJHcGdQdWJLZXk6IHN0cmluZztcbiAgICBlbmNyeXB0ZWRVc2VyR3BnUHJ2S2V5OiBzdHJpbmc7XG4gIH0+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbUVkZHNhTVBDdjJTaWduaW5nUm91bmQyR2VuZXJhdGluZ0Z1bmN0aW9uIHtcbiAgKHBhcmFtczoge1xuICAgIHR4UmVxdWVzdDogVHhSZXF1ZXN0O1xuICAgIGJpdGdvUHVibGljR3BnS2V5OiBzdHJpbmc7XG4gICAgZW5jcnlwdGVkVXNlckdwZ1BydktleTogc3RyaW5nO1xuICAgIGVuY3J5cHRlZFJvdW5kMVNlc3Npb246IHN0cmluZztcbiAgfSk6IFByb21pc2U8e1xuICAgIHNpZ25hdHVyZVNoYXJlUm91bmQyOiBTaWduYXR1cmVTaGFyZVJlY29yZDtcbiAgICBlbmNyeXB0ZWRSb3VuZDJTZXNzaW9uOiBzdHJpbmc7XG4gIH0+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbUVkZHNhTVBDdjJTaWduaW5nUm91bmQzR2VuZXJhdGluZ0Z1bmN0aW9uIHtcbiAgKHBhcmFtczoge1xuICAgIHR4UmVxdWVzdDogVHhSZXF1ZXN0O1xuICAgIGJpdGdvUHVibGljR3BnS2V5OiBzdHJpbmc7XG4gICAgZW5jcnlwdGVkVXNlckdwZ1BydktleTogc3RyaW5nO1xuICAgIGVuY3J5cHRlZFJvdW5kMlNlc3Npb246IHN0cmluZztcbiAgfSk6IFByb21pc2U8eyBzaWduYXR1cmVTaGFyZVJvdW5kMzogU2lnbmF0dXJlU2hhcmVSZWNvcmQgfT47XG59XG5cbmV4cG9ydCBlbnVtIFRva2VuVHlwZSB7XG4gIEVSQzcyMSA9ICdFUkM3MjEnLFxuICBFUkMxMTU1ID0gJ0VSQzExNTUnLFxuICBFUkMyMCA9ICdFUkMyMCcsXG4gIERJR0lUQUxfQVNTRVQgPSAnRGlnaXRhbCBBc3NldCcsXG59XG5leHBvcnQgaW50ZXJmYWNlIFRva2VuVHJhbnNmZXJSZWNpcGllbnRQYXJhbXMge1xuICB0b2tlblR5cGU6IFRva2VuVHlwZTtcbiAgdG9rZW5RdWFudGl0eTogc3RyaW5nO1xuICB0b2tlbkNvbnRyYWN0QWRkcmVzcz86IHN0cmluZztcbiAgdG9rZW5OYW1lPzogc3RyaW5nO1xuICB0b2tlbklkPzogc3RyaW5nO1xuICBkZWNpbWFsUGxhY2VzPzogbnVtYmVyO1xufVxuaW50ZXJmYWNlIEludGVudE9wdGlvbnNCYXNlIHtcbiAgcmVxSWQ6IElSZXF1ZXN0VHJhY2VyO1xuICBpbnRlbnRUeXBlOiBzdHJpbmc7XG4gIHNlcXVlbmNlSWQ/OiBzdHJpbmc7XG4gIGlzVHNzPzogYm9vbGVhbjtcbiAgY29tbWVudD86IHN0cmluZztcbiAgbWVtbz86IE1lbW87XG4gIGN1c3RvZGlhblRyYW5zYWN0aW9uSWQ/OiBzdHJpbmc7XG4gIGN1c3RvZGlhbk1lc3NhZ2VJZD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBEZUZpIGludGVudCBmaWVsZHMgZm9yIEVSQy00NjI2IHZhdWx0IG9wZXJhdGlvbnMuXG4gKiBFeHRlbmRlZCBieSBQb3B1bGF0ZWRJbnRlbnQgc28gdGhlc2UgbGFuZCBhdCB0aGUgdG9wIGxldmVsIG9mIHRoZSBwYXlsb2FkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERlZmlJbnRlbnRGaWVsZHMge1xuICB2YXVsdElkPzogc3RyaW5nO1xuICBhbW91bnQ/OiB7IHZhbHVlOiBzdHJpbmc7IHN5bWJvbDogc3RyaW5nIH0gfCBzdHJpbmc7XG4gIC8qKiBWYXVsdCBzaGFyZSB0b2tlbiBhbW91bnQgZm9yIGRlZmktd2l0aGRyYXcgaW50ZW50IChiYXNlIHVuaXRzKSAqL1xuICBzaGFyZVRva2VuQW1vdW50PzogeyB2YWx1ZTogc3RyaW5nOyBzeW1ib2w6IHN0cmluZyB9IHwgc3RyaW5nO1xuICBvcGVyYXRpb25JZD86IHN0cmluZztcbn1cblxuLyoqIERlRmktc3BlY2lmaWMgaW50ZW50IHBhcmFtZXRlcnMgKGlucHV0IGNvbnRhaW5lciBmb3IgZGVmaVBhcmFtcykuICovXG5leHBvcnQgaW50ZXJmYWNlIERlZmlJbnRlbnRQYXJhbXMge1xuICB2YXVsdElkOiBzdHJpbmc7XG4gIGFtb3VudDogc3RyaW5nO1xuICBvcGVyYXRpb25JZD86IHN0cmluZztcbn1cblxuLyoqIEVSQy03OTg0IHdyYXAgLyB3cmFwQXBwcm92ZSBwYXJhbWV0ZXJzIChpbnB1dCBjb250YWluZXIgZm9yIHdyYXBQYXJhbXMpLiAqL1xuZXhwb3J0IGludGVyZmFjZSBXcmFwSW50ZW50UGFyYW1zIHtcbiAgdG9rZW5OYW1lOiBzdHJpbmc7XG4gIGFtb3VudDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludGVudE9wdGlvbnNGb3JNZXNzYWdlIGV4dGVuZHMgSW50ZW50T3B0aW9uc0Jhc2Uge1xuICBtZXNzYWdlUmF3OiBzdHJpbmc7XG4gIG1lc3NhZ2VFbmNvZGVkPzogc3RyaW5nO1xuICBtZXNzYWdlU3RhbmRhcmRUeXBlPzogTWVzc2FnZVN0YW5kYXJkVHlwZTtcbiAgc2lnbmVyQWRkcmVzcz86IHN0cmluZztcbiAgLyoqIEJhc2U2NC1lbmNvZGVkIHByZXBhcmVkIHRyYW5zYWN0aW9uIGJ5dGVzIHJlcXVpcmVkIGJ5IENhbnRvbiBtZXNzYWdlIHNpZ25pbmcuICovXG4gIHByZXBhcmVkVHJhbnNhY3Rpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZW50T3B0aW9uc0ZvclR5cGVkRGF0YSBleHRlbmRzIEludGVudE9wdGlvbnNCYXNlIHtcbiAgdHlwZWREYXRhUmF3OiBzdHJpbmc7XG4gIHR5cGVkRGF0YUVuY29kZWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJlYnVpbGRUcmFuc2FjdGlvbldpdGhJbnRlbnRPcHRpb25zIGV4dGVuZHMgSW50ZW50T3B0aW9uc0Jhc2Uge1xuICByZWNpcGllbnRzPzoge1xuICAgIGFkZHJlc3M6IHN0cmluZztcbiAgICBhbW91bnQ6IHN0cmluZyB8IG51bWJlcjtcbiAgICBkYXRhPzogc3RyaW5nO1xuICAgIHRva2VuTmFtZT86IHN0cmluZztcbiAgICB0b2tlbkRhdGE/OiBUb2tlblRyYW5zZmVyUmVjaXBpZW50UGFyYW1zO1xuICB9W107XG4gIHRva2VuTmFtZT86IHN0cmluZztcbiAgZW5hYmxlVG9rZW5zPzogVG9rZW5FbmFibGVtZW50W107XG4gIG5vbmNlPzogc3RyaW5nO1xuICBzZWxmU2VuZD86IGJvb2xlYW47XG4gIGZlZU9wdGlvbnM/OiBGZWVPcHRpb24gfCBFSVAxNTU5RmVlT3B0aW9ucztcbiAgaG9wUGFyYW1zPzogSG9wUGFyYW1zO1xuICBsb3dGZWVUeGlkPzogc3RyaW5nO1xuICBjdXN0b2RpYW5UcmFuc2FjdGlvbklkPzogc3RyaW5nO1xuICByZWNlaXZlQWRkcmVzcz86IHN0cmluZztcbiAgdW5zcGVudHM/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIE1JU1QgdG8gcmVkZWVtIGZyb20gdGhlIHNlbmRlcidzIGFkZHJlc3MgYmFsYW5jZSAoU0lQLTU4IC8gU1VJIGFkZHJlc3MgYmFsYW5jZXMpLlxuICAgKiBXaGVuIHNldCwgdGhlIFBUQiBpbmNsdWRlcyB0eC53aXRoZHJhd2FsKCkgKyByZWRlZW1fZnVuZHMoKSBiZWZvcmUgdGhlIHRyYW5zZmVyLlxuICAgKi9cbiAgZnVuZHNJbkFkZHJlc3NCYWxhbmNlPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHJlY2VpdmUgYWRkcmVzcyBmcm9tIHdoaWNoIGZ1bmRzIHdpbGwgYmUgd2l0aGRyYXduLlxuICAgKiBUaGlzIGZlYXR1cmUgaXMgc3VwcG9ydGVkIG9ubHkgZm9yIHNwZWNpZmljIGNvaW5zLCBsaWtlIEFEQS5cbiAgICovXG4gIHNlbmRlckFkZHJlc3M/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBDdXN0b20gU29sYW5hIGluc3RydWN0aW9ucyBmb3IgdXNlIHdpdGggdGhlIGN1c3RvbVR4IGludGVudCB0eXBlLlxuICAgKiBFYWNoIGluc3RydWN0aW9uIHNob3VsZCBjb250YWluIHByb2dyYW1JZCwga2V5cywgYW5kIGRhdGEgZmllbGRzLlxuICAgKi9cbiAgc29sSW5zdHJ1Y3Rpb25zPzogU29sSW5zdHJ1Y3Rpb25bXTtcbiAgLyoqXG4gICAqIERlY29uc3RydWN0ZWQgVmVyc2lvbmVkIFRyYW5zYWN0aW9uIGRhdGEgZm9yIFNvbGFuYSBjdXN0b21UeCBpbnRlbnQgdHlwZS5cbiAgICogQ29udGFpbnMgY29tcGlsZWQgaW5zdHJ1Y3Rpb25zLCBBZGRyZXNzIExvb2t1cCBUYWJsZXMsIGFuZCBzdGF0aWMgYWNjb3VudCBrZXlzLlxuICAgKi9cbiAgc29sVmVyc2lvbmVkVHJhbnNhY3Rpb25EYXRhPzogU29sVmVyc2lvbmVkVHJhbnNhY3Rpb25EYXRhO1xuICAvKipcbiAgICogQ3VzdG9tIHRyYW5zYWN0aW9uIHBhcmFtZXRlcnMgZm9yIEFwdG9zIGVudHJ5IGZ1bmN0aW9uIGNhbGxzLlxuICAgKiBVc2VkIHdpdGggdGhlIGN1c3RvbVR4IGludGVudCB0eXBlIGZvciBBcHRvcyBzbWFydCBjb250cmFjdCBpbnRlcmFjdGlvbnMuXG4gICAqL1xuICBhcHRvc0N1c3RvbVRyYW5zYWN0aW9uUGFyYW1zPzoge1xuICAgIG1vZHVsZU5hbWU6IHN0cmluZztcbiAgICBmdW5jdGlvbk5hbWU6IHN0cmluZztcbiAgICB0eXBlQXJndW1lbnRzPzogc3RyaW5nW107XG4gICAgZnVuY3Rpb25Bcmd1bWVudHM/OiBhbnlbXTtcbiAgICBhYmk/OiBhbnk7XG4gIH07XG4gIHR4UmVxdWVzdElkPzogc3RyaW5nO1xuICBpc1Rlc3RUcmFuc2FjdGlvbj86IGJvb2xlYW47XG4gIHRyYW5zZmVyT2ZmZXJJZD86IHN0cmluZztcbiAgLyoqXG4gICAqIEFtb3VudCBmb3IgaW50ZW50cyB0aGF0IHVzZSBhIHRvcC1sZXZlbCBhbW91bnQgaW5zdGVhZCBvZiByZWNpcGllbnRzIChlLmcuIGJyaWRnZUZ1bmRzKS5cbiAgICovXG4gIGFtb3VudD86IHsgdmFsdWU6IHN0cmluZzsgc3ltYm9sOiBzdHJpbmcgfTtcbiAgLyoqXG4gICAqIFRJUC0yMCB0b2tlbiBhZGRyZXNzIHRvIHVzZSBmb3IgcGF5aW5nIHRyYW5zYWN0aW9uIGZlZXMgKFRlbXBvIG9ubHkpLlxuICAgKi9cbiAgZmVlVG9rZW4/OiBzdHJpbmc7XG4gIC8qKiBDYW50b24tc3BlY2lmaWMgcGFyYW1zIGZvciB0aGUgY2FudG9uQ29tbWFuZCBpbnRlbnQuICovXG4gIGNhbnRvbkNvbW1hbmRQYXJhbXM/OiBDYW50b25Db21tYW5kUGFyYW1zO1xuICAvKiogRGVGaSB2YXVsdCBpbnRlbnQgZmllbGRzIGZvciBkZWZpLSogYW5kIHdyYXAtbmF0aXZlIC8gdW53cmFwLW5hdGl2ZSBpbnRlbnRzLiAqL1xuICBkZWZpUGFyYW1zPzogRGVmaUludGVudFBhcmFtcztcbiAgLyoqIEVSQy03OTg0IHdyYXAgLyB3cmFwQXBwcm92ZSBmaWVsZHMgZmxhdHRlbmVkIG9udG8gdGhlIFdQIGludGVudC4gKi9cbiAgd3JhcFBhcmFtcz86IFdyYXBJbnRlbnRQYXJhbXM7XG4gIC8qKiBDYW50b24gcGFydHkgSUQgb2YgdGhlIGVuZCBpbnZlc3RvciB0byBvbmJvYXJkIChjYW50b25FbmRJbnZlc3Rvck9uYm9hcmRpbmdPZmZlciBpbnRlbnQpLiAqL1xuICBlbmRJbnZlc3RvclBhcnR5SWQ/OiBzdHJpbmc7XG4gIC8qKiBSZWFzb24gZm9yIHJlamVjdGluZyB0aGUgb25ib2FyZGluZyBvZmZlciAoY2FudG9uRW5kSW52ZXN0b3JPbmJvYXJkaW5nUmVqZWN0IGludGVudCkuICovXG4gIHJlYXNvbj86IHN0cmluZztcbiAgLyoqIERUQ0Mgb3BlcmF0b3IgcGFydHkgSUQgKGNhbnRvblBhcnRpY2lwYW50T25ib2FyZGluZ1JlcXVlc3QgaW50ZW50KS4gKi9cbiAgb3BlcmF0b3I/OiBzdHJpbmc7XG4gIC8qKiBEVENDIHByb3ZpZGVyIHBhcnR5IElEIChjYW50b25QYXJ0aWNpcGFudE9uYm9hcmRpbmdSZXF1ZXN0IGludGVudCkuICovXG4gIHByb3ZpZGVyPzogc3RyaW5nO1xuICAvKiogRFRDQyBjb21wbGlhbmNlIHBhcnR5IElEIChjYW50b25QYXJ0aWNpcGFudE9uYm9hcmRpbmdSZXF1ZXN0IGludGVudCkuICovXG4gIGNvbXBsaWFuY2U/OiBzdHJpbmc7XG4gIC8qKiBEVENDIHJlZ2lzdHJhciBwYXJ0eSBJRCAoY2FudG9uUGFydGljaXBhbnRPbmJvYXJkaW5nUmVxdWVzdCBpbnRlbnQpLiAqL1xuICByZWdpc3RyYXI/OiBzdHJpbmc7XG4gIC8qKiBEVENDIGNsaWVudCBvbmJvYXJkZXIgcGFydHkgSUQgKGNhbnRvblBhcnRpY2lwYW50T25ib2FyZGluZ1JlcXVlc3QgaW50ZW50KS4gKi9cbiAgY2xpZW50T25ib2FyZGVyPzogc3RyaW5nO1xuICAvKiogT3B0aW9uYWwgSVNPIDg2MDEgZXhwaXJhdGlvbiB0aW1lc3RhbXAgKGNhbnRvblBhcnRpY2lwYW50T25ib2FyZGluZ1JlcXVlc3QgaW50ZW50KS4gKi9cbiAgZXhwaXJhdGlvbklzbz86IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZW50UmVjaXBpZW50IHtcbiAgYWRkcmVzczoge1xuICAgIGFkZHJlc3M6IHN0cmluZztcbiAgfTtcbiAgYW1vdW50OiB7XG4gICAgdmFsdWU6IHN0cmluZyB8IG51bWJlcjtcbiAgICBzeW1ib2w6IHN0cmluZztcbiAgfTtcbiAgZGF0YT86IHN0cmluZztcbiAgdG9rZW5EYXRhPzogVG9rZW5UcmFuc2ZlclJlY2lwaWVudFBhcmFtcztcbn1cbmludGVyZmFjZSBQb3B1bGF0ZWRJbnRlbnRCYXNlIHtcbiAgaW50ZW50VHlwZTogc3RyaW5nO1xuICBzZXF1ZW5jZUlkPzogc3RyaW5nO1xuICBjb21tZW50Pzogc3RyaW5nO1xuICBtZW1vPzogc3RyaW5nO1xuICBpc1Rzcz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9wdWxhdGVkSW50ZW50Rm9yTWVzc2FnZVNpZ25pbmcgZXh0ZW5kcyBQb3B1bGF0ZWRJbnRlbnRCYXNlIHtcbiAgbWVzc2FnZVJhdzogc3RyaW5nO1xuICBtZXNzYWdlRW5jb2RlZDogc3RyaW5nO1xuICBjdXN0b2RpYW5NZXNzYWdlSWQ/OiBzdHJpbmc7XG4gIG1lc3NhZ2VTdGFuZGFyZFR5cGU/OiBNZXNzYWdlU3RhbmRhcmRUeXBlO1xuICBzaWduZXJBZGRyZXNzPzogc3RyaW5nO1xuICAvKiogQmFzZTY0LWVuY29kZWQgcHJlcGFyZWQgdHJhbnNhY3Rpb24gYnl0ZXMgcmVxdWlyZWQgYnkgQ2FudG9uIG1lc3NhZ2Ugc2lnbmluZy4gKi9cbiAgcHJlcGFyZWRUcmFuc2FjdGlvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQb3B1bGF0ZWRJbnRlbnRGb3JUeXBlZERhdGFTaWduaW5nIGV4dGVuZHMgUG9wdWxhdGVkSW50ZW50QmFzZSB7XG4gIG1lc3NhZ2VSYXc6IHN0cmluZztcbiAgbWVzc2FnZUVuY29kZWQ6IHN0cmluZztcbiAgY3VzdG9kaWFuTWVzc2FnZUlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvcHVsYXRlZEludGVudCBleHRlbmRzIFBvcHVsYXRlZEludGVudEJhc2UsIERlZmlJbnRlbnRGaWVsZHMge1xuICBzdGFraW5nUmVxdWVzdElkPzogc3RyaW5nO1xuICByZWNpcGllbnRzPzogSW50ZW50UmVjaXBpZW50W107XG4gIG5vbmNlPzogc3RyaW5nO1xuICB0b2tlbj86IHN0cmluZztcbiAgZW5hYmxlVG9rZW5zPzogVG9rZW5FbmFibGVtZW50W107XG4gIHVuc3BlbnRzPzogc3RyaW5nW107XG4gIGZ1bmRzSW5BZGRyZXNzQmFsYW5jZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSByZWNlaXZlIGFkZHJlc3MgZnJvbSB3aGljaCBmdW5kcyB3aWxsIGJlIHdpdGhkcmF3bi5cbiAgICogVGhpcyBmZWF0dXJlIGlzIHN1cHBvcnRlZCBvbmx5IGZvciBzcGVjaWZpYyBjb2lucywgbGlrZSBBREEuXG4gICAqL1xuICBzZW5kZXJBZGRyZXNzPzogc3RyaW5nO1xuICAvLyBFVEggJiBFVEgtbGlrZSBwYXJhbXNcbiAgc2VsZlNlbmQ/OiBib29sZWFuO1xuICBmZWVPcHRpb25zPzogRmVlT3B0aW9uIHwgRUlQMTU1OUZlZU9wdGlvbnM7XG4gIC8qKlxuICAgKiBUSVAtMjAgdG9rZW4gYWRkcmVzcyB0byB1c2UgZm9yIHBheWluZyB0cmFuc2FjdGlvbiBmZWVzIChUZW1wbyBvbmx5KS5cbiAgICogVGhpcyBpcyBwbGFjZWQgYXQgdGhlIGludGVudCBsZXZlbCwgbm90IG5lc3RlZCBpbiBmZWVPcHRpb25zLlxuICAgKi9cbiAgZmVlVG9rZW4/OiBzdHJpbmc7XG4gIGhvcFBhcmFtcz86IEhvcFBhcmFtcztcbiAgdHhpZD86IHN0cmluZztcbiAgcmVjZWl2ZUFkZHJlc3M/OiBzdHJpbmc7XG4gIGN1c3RvZGlhblRyYW5zYWN0aW9uSWQ/OiBzdHJpbmc7XG4gIGN1c3RvZGlhbk1lc3NhZ2VJZD86IHN0cmluZztcbiAgdG9rZW5OYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogQ3VzdG9tIFNvbGFuYSBpbnN0cnVjdGlvbnMgZm9yIHVzZSB3aXRoIHRoZSBjdXN0b21UeCBpbnRlbnQgdHlwZS5cbiAgICogRWFjaCBpbnN0cnVjdGlvbiBzaG91bGQgY29udGFpbiBwcm9ncmFtSWQsIGtleXMsIGFuZCBkYXRhIGZpZWxkcy5cbiAgICovXG4gIHNvbEluc3RydWN0aW9ucz86IFNvbEluc3RydWN0aW9uW107XG4gIC8qKlxuICAgKiBEZWNvbnN0cnVjdGVkIFZlcnNpb25lZCBUcmFuc2FjdGlvbiBkYXRhIGZvciBTb2xhbmEgY3VzdG9tVHggaW50ZW50IHR5cGUuXG4gICAqIENvbnRhaW5zIGNvbXBpbGVkIGluc3RydWN0aW9ucywgQWRkcmVzcyBMb29rdXAgVGFibGVzLCBhbmQgc3RhdGljIGFjY291bnQga2V5cy5cbiAgICovXG4gIHNvbFZlcnNpb25lZFRyYW5zYWN0aW9uRGF0YT86IFNvbFZlcnNpb25lZFRyYW5zYWN0aW9uRGF0YTtcbiAgLyoqXG4gICAqIEN1c3RvbSBBcHRvcyB0cmFuc2FjdGlvbiBmb3IgdXNlIHdpdGggdGhlIGN1c3RvbVR4IGludGVudCB0eXBlLlxuICAgKi9cbiAgYXB0b3NDdXN0b21UcmFuc2FjdGlvblBhcmFtcz86IGFwdG9zQ3VzdG9tVHJhbnNhY3Rpb25QYXJhbXM7XG4gIHR4UmVxdWVzdElkPzogc3RyaW5nO1xuICBpc1Rlc3RUcmFuc2FjdGlvbj86IGJvb2xlYW47XG4gIHRyYW5zZmVyT2ZmZXJJZD86IHN0cmluZztcbiAgLyoqXG4gICAqIEFtb3VudCBmb3IgaW50ZW50cyB0aGF0IHVzZSBhIHRvcC1sZXZlbCBhbW91bnQgaW5zdGVhZCBvZiByZWNpcGllbnRzIChlLmcuIGJyaWRnZUZ1bmRzKS5cbiAgICovXG4gIGFtb3VudD86IHsgdmFsdWU6IHN0cmluZzsgc3ltYm9sOiBzdHJpbmcgfSB8IHN0cmluZztcbiAgLyoqIENhbnRvbi1zcGVjaWZpYyBwYXJhbXMgc2VyaWFsaXplZCBpbnRvIHRoZSBjYW50b25Db21tYW5kIGludGVudCBwYXlsb2FkLiAqL1xuICBjYW50b25Db21tYW5kUGFyYW1zPzogQ2FudG9uQ29tbWFuZFBhcmFtcztcbiAgLyoqIENhbnRvbiBwYXJ0eSBJRCBvZiB0aGUgZW5kIGludmVzdG9yIHRvIG9uYm9hcmQgKGNhbnRvbkVuZEludmVzdG9yT25ib2FyZGluZ09mZmVyIGludGVudCkuICovXG4gIGVuZEludmVzdG9yUGFydHlJZD86IHN0cmluZztcbiAgLyoqIFJlYXNvbiBmb3IgcmVqZWN0aW5nIHRoZSBvbmJvYXJkaW5nIG9mZmVyIChjYW50b25FbmRJbnZlc3Rvck9uYm9hcmRpbmdSZWplY3QgaW50ZW50KS4gKi9cbiAgcmVhc29uPzogc3RyaW5nO1xuICAvKiogRFRDQyBvcGVyYXRvciBwYXJ0eSBJRCAoY2FudG9uUGFydGljaXBhbnRPbmJvYXJkaW5nUmVxdWVzdCBpbnRlbnQpLiAqL1xuICBvcGVyYXRvcj86IHN0cmluZztcbiAgLyoqIERUQ0MgcHJvdmlkZXIgcGFydHkgSUQgKGNhbnRvblBhcnRpY2lwYW50T25ib2FyZGluZ1JlcXVlc3QgaW50ZW50KS4gKi9cbiAgcHJvdmlkZXI/OiBzdHJpbmc7XG4gIC8qKiBEVENDIGNvbXBsaWFuY2UgcGFydHkgSUQgKGNhbnRvblBhcnRpY2lwYW50T25ib2FyZGluZ1JlcXVlc3QgaW50ZW50KS4gKi9cbiAgY29tcGxpYW5jZT86IHN0cmluZztcbiAgLyoqIERUQ0MgcmVnaXN0cmFyIHBhcnR5IElEIChjYW50b25QYXJ0aWNpcGFudE9uYm9hcmRpbmdSZXF1ZXN0IGludGVudCkuICovXG4gIHJlZ2lzdHJhcj86IHN0cmluZztcbiAgLyoqIERUQ0MgY2xpZW50IG9uYm9hcmRlciBwYXJ0eSBJRCAoY2FudG9uUGFydGljaXBhbnRPbmJvYXJkaW5nUmVxdWVzdCBpbnRlbnQpLiAqL1xuICBjbGllbnRPbmJvYXJkZXI/OiBzdHJpbmc7XG4gIC8qKiBPcHRpb25hbCBJU08gODYwMSBleHBpcmF0aW9uIHRpbWVzdGFtcCAoY2FudG9uUGFydGljaXBhbnRPbmJvYXJkaW5nUmVxdWVzdCBpbnRlbnQpLiAqL1xuICBleHBpcmF0aW9uSXNvPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBUeFJlcXVlc3RTdGF0ZSA9XG4gIHwgJ3BlbmRpbmdDb21taXRtZW50J1xuICB8ICdwZW5kaW5nQXBwcm92YWwnXG4gIHwgJ2NhbmNlbGVkJ1xuICB8ICdyZWplY3RlZCdcbiAgfCAnaW5pdGlhbGl6ZWQnXG4gIHwgJ3BlbmRpbmdEZWxpdmVyeSdcbiAgfCAnZGVsaXZlcmVkJ1xuICB8ICdwZW5kaW5nVXNlclNpZ25hdHVyZSdcbiAgfCAnc2lnbmVkJztcblxuZXhwb3J0IHR5cGUgVHJhbnNhY3Rpb25TdGF0ZSA9XG4gIHwgJ2luaXRpYWxpemVkJ1xuICB8ICdwZW5kaW5nQ29tbWl0bWVudCdcbiAgfCAncGVuZGluZ1NpZ25hdHVyZSdcbiAgfCAnc2lnbmVkJ1xuICB8ICdoZWxkJ1xuICB8ICdkZWxpdmVyZWQnXG4gIHwgJ2ludmFsaWRTaWduYXR1cmUnXG4gIHwgJ3JlamVjdGVkJztcblxuLy8gVHlwZSB1c2VkIHRvIHNpZ24gYSBUU1MgdHJhbnNhY3Rpb25cbmV4cG9ydCB0eXBlIFNpZ25hYmxlVHJhbnNhY3Rpb24gPSB7XG4gIC8vIHVuc2lnbmVkIHRyYW5zYWN0aW9uIGluIGJyb2FkY2FzdCBmb3JtYXRcbiAgc2VyaWFsaXplZFR4SGV4OiBzdHJpbmc7XG4gIC8vIHBvcnRpb24gb2YgYSB0cmFuc2FjdGlvbiB1c2VkIHRvIGdlbmVyYXRlIGEgc2lnbmF0dXJlXG4gIHNpZ25hYmxlSGV4OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlcGxheVByb3RlY3Rpb25PcHRpb25zIHtcbiAgY2hhaW46IHN0cmluZyB8IG51bWJlcjtcbiAgaGFyZGZvcms6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgVW5zaWduZWRUcmFuc2FjdGlvblRzcyA9IFNpZ25hYmxlVHJhbnNhY3Rpb24gJiB7XG4gIC8vIGRlcml2YXRpb24gcGF0aCBvZiB0aGUgc2lnbmVyXG4gIGRlcml2YXRpb25QYXRoOiBzdHJpbmc7XG4gIC8vIHRyYW5zYWN0aW9uIGZlZXNcbiAgZmVlSW5mbz86IFJlcXVpcmVkPFByZWJ1aWxkVHJhbnNhY3Rpb25GZWVJbmZvPjtcbiAgY29pblNwZWNpZmljPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIHBhcnNlZFR4PzogdW5rbm93bjtcbiAgZWlwMTU1OT86IEVJUDE1NTlGZWVPcHRpb25zO1xuICByZXBsYXlQcm90ZWN0aW9uT3B0aW9ucz86IFJlcGxheVByb3RlY3Rpb25PcHRpb25zO1xufTtcblxuZXhwb3J0IHR5cGUgVW5zaWduZWRNZXNzYWdlVHNzID0ge1xuICBkZXJpdmF0aW9uUGF0aDogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgZW51bSBSZXF1ZXN0VHlwZSB7XG4gIHR4LFxuICBtZXNzYWdlLFxufVxuZXhwb3J0IHR5cGUgU2lnbmVkVHggPSB7XG4gIGlkOiBzdHJpbmc7XG4gIHR4OiBzdHJpbmc7XG4gIHB1YmxpY0tleT86IHN0cmluZztcbiAgc2lnbmF0dXJlPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgVHhSZXF1ZXN0ID0ge1xuICB0eFJlcXVlc3RJZDogc3RyaW5nO1xuICB3YWxsZXRJZDogc3RyaW5nO1xuICB3YWxsZXRUeXBlOiBXYWxsZXRUeXBlO1xuICB2ZXJzaW9uOiBudW1iZXI7XG4gIGVudGVycHJpc2VJZD86IHN0cmluZztcbiAgc3RhdGU6IFR4UmVxdWVzdFN0YXRlO1xuICBkYXRlOiBzdHJpbmc7XG4gIHVzZXJJZDogc3RyaW5nO1xuICBpbnRlbnQ6IHVua25vd247IC8vIFNob3VsZCBvdmVycmlkZSB3aXRoIHNpZyBzY2hlbWUgc3BlY2lmaWMgaW50ZW50XG4gIHBlbmRpbmdBcHByb3ZhbElkPzogc3RyaW5nO1xuICBwb2xpY2llc0NoZWNrZWQ6IGJvb2xlYW47XG4gIHNpZ25hdHVyZVNoYXJlcz86IFNpZ25hdHVyZVNoYXJlUmVjb3JkW107XG4gIGNvbW1pdG1lbnRTaGFyZXM/OiBDb21taXRtZW50U2hhcmVSZWNvcmRbXTtcbiAgcGVuZGluZ1R4SGFzaGVzPzogc3RyaW5nW107XG4gIHR4SGFzaGVzPzogc3RyaW5nW107XG4gIHVuc2lnbmVkTWVzc2FnZXM/OiBVbnNpZ25lZE1lc3NhZ2VUc3NbXTtcbiAgLy8gT25seSBhdmFpbGFibGUgaW4gJ2xpdGUnIHZlcnNpb25cbiAgdW5zaWduZWRUeHM6IFVuc2lnbmVkVHJhbnNhY3Rpb25Uc3NbXTsgLy8gU2hvdWxkIG92ZXJyaWRlIHdpdGggYmxvY2tjaGFpbiAvIHNpZyBzY2hlbWUgc3BlY2lmaWMgdW5zaWduZWQgdHhcbiAgLy8gT25seSBhdmFpbGFibGUgaW4gJ2Z1bGwnIHZlcnNpb25cbiAgdHJhbnNhY3Rpb25zPzoge1xuICAgIHN0YXRlOiBUcmFuc2FjdGlvblN0YXRlO1xuICAgIHVuc2lnbmVkVHg6IFVuc2lnbmVkVHJhbnNhY3Rpb25Uc3M7IC8vIFNob3VsZCBvdmVycmlkZSB3aXRoIGJsb2NrY2hhaW4gLyBzaWcgc3BlY2lmaWMgdW5zaWduZWQgdHhcbiAgICBzaWduYXR1cmVTaGFyZXM6IFNpZ25hdHVyZVNoYXJlUmVjb3JkW107XG4gICAgc2lnbmVkVHg/OiBTaWduZWRUeDtcbiAgICBjb21taXRtZW50U2hhcmVzPzogQ29tbWl0bWVudFNoYXJlUmVjb3JkW107XG4gIH1bXTtcbiAgbWVzc2FnZXM/OiB7XG4gICAgc3RhdGU6IFRyYW5zYWN0aW9uU3RhdGU7XG4gICAgc2lnbmF0dXJlU2hhcmVzOiBTaWduYXR1cmVTaGFyZVJlY29yZFtdO1xuICAgIG1lc3NhZ2VSYXc6IHN0cmluZztcbiAgICBtZXNzYWdlRW5jb2RlZD86IHN0cmluZztcbiAgICBtZXNzYWdlQnJvYWRjYXN0YWJsZT86IHN0cmluZztcbiAgICBtZXNzYWdlU3RhbmRhcmRUeXBlPzogTWVzc2FnZVN0YW5kYXJkVHlwZTtcbiAgICBkZXJpdmF0aW9uUGF0aDogc3RyaW5nO1xuICAgIGNvbWJpbmVTaWdTaGFyZT86IHN0cmluZztcbiAgICB0eEhhc2g/OiBzdHJpbmc7XG4gICAgY29tbWl0bWVudFNoYXJlcz86IENvbW1pdG1lbnRTaGFyZVJlY29yZFtdO1xuICB9W107XG4gIGFwaVZlcnNpb24/OiBUeFJlcXVlc3RWZXJzaW9uO1xuICBsYXRlc3Q6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBDcmVhdGVLZXljaGFpblBhcmFtc0Jhc2UgPSB7XG4gIHVzZXJHcGdLZXk6IFNlcmlhbGl6ZWRLZXlQYWlyPHN0cmluZz47XG4gIGJpdGdvS2V5Y2hhaW46IEtleWNoYWluO1xuICBwYXNzcGhyYXNlPzogc3RyaW5nO1xuICBlbnRlcnByaXNlPzogc3RyaW5nO1xuICBvcmlnaW5hbFBhc3Njb2RlRW5jcnlwdGlvbkNvZGU/OiBzdHJpbmc7XG4gIHdlYmF1dGhuSW5mbz86IFdlYmF1dGhuS2V5RW5jcnlwdGlvbkluZm87XG4gIGVuY3J5cHRpb25WZXJzaW9uPzogRW5jcnlwdGlvblZlcnNpb247XG4gIGVuY3J5cHRpb25TZXNzaW9uPzogSUVuY3J5cHRpb25TZXNzaW9uO1xufTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlQml0R29LZXljaGFpblBhcmFtc0Jhc2UgPSBPbWl0PENyZWF0ZUtleWNoYWluUGFyYW1zQmFzZSwgJ2JpdGdvS2V5Y2hhaW4nPjtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIGNpcGhlcnRleHQgc3RyaW5nIGlzIGEgdjIgZW5jcnlwdGlvbiBlbnZlbG9wZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVjJFbnZlbG9wZShjaXBoZXJ0ZXh0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShjaXBoZXJ0ZXh0KS52ID09PSAyO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IFNpZ25hdHVyZVNoYXJlVHlwZSA9IHtcbiAgVVNFUjogJ3VzZXInLFxuICBCQUNLVVA6ICdiYWNrdXAnLFxuICBCSVRHTzogJ2JpdGdvJyxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIFNpZ25hdHVyZVNoYXJlVHlwZSA9ICh0eXBlb2YgU2lnbmF0dXJlU2hhcmVUeXBlKVtrZXlvZiB0eXBlb2YgU2lnbmF0dXJlU2hhcmVUeXBlXTtcblxuaW50ZXJmYWNlIFNoYXJlQmFzZVJlY29yZCB7XG4gIGZyb206IFNpZ25hdHVyZVNoYXJlVHlwZTtcbiAgdG86IFNpZ25hdHVyZVNoYXJlVHlwZTtcbiAgc2hhcmU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaWduYXR1cmVTaGFyZVJlY29yZCBleHRlbmRzIFNoYXJlQmFzZVJlY29yZCB7XG4gIHZzc1Byb29mPzogc3RyaW5nO1xuICBwcml2YXRlU2hhcmVQcm9vZj86IHN0cmluZztcbiAgcHVibGljU2hhcmU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBDb21taXRtZW50VHlwZSA9IHtcbiAgQ09NTUlUTUVOVDogJ2NvbW1pdG1lbnQnLFxuICBERUNPTU1JVE1FTlQ6ICdkZWNvbW1pdG1lbnQnLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgQ29tbWl0bWVudFR5cGUgPSAodHlwZW9mIENvbW1pdG1lbnRUeXBlKVtrZXlvZiB0eXBlb2YgQ29tbWl0bWVudFR5cGVdO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbW1pdG1lbnRTaGFyZVJlY29yZCBleHRlbmRzIFNoYXJlQmFzZVJlY29yZCB7XG4gIHR5cGU6IENvbW1pdG1lbnRUeXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV4Y2hhbmdlQ29tbWl0bWVudFJlc3BvbnNlIHtcbiAgY29tbWl0bWVudFNoYXJlOiBDb21taXRtZW50U2hhcmVSZWNvcmQ7XG59XG5cbmV4cG9ydCBjb25zdCBFbmNyeXB0ZWRTaWduZXJTaGFyZVR5cGUgPSB7XG4gIEVOQ1JZUFRFRF9TSUdORVJfU0hBUkU6ICdlbmNyeXB0ZWRTaWduZXJTaGFyZScsXG4gIEVOQ1JZUFRFRF9SX1NIQVJFOiAnZW5jcnlwdGVkUlNoYXJlJyxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIEVuY3J5cHRlZFNpZ25lclNoYXJlVHlwZSA9ICh0eXBlb2YgRW5jcnlwdGVkU2lnbmVyU2hhcmVUeXBlKVtrZXlvZiB0eXBlb2YgRW5jcnlwdGVkU2lnbmVyU2hhcmVUeXBlXTtcblxuZXhwb3J0IGludGVyZmFjZSBFbmNyeXB0ZWRTaWduZXJTaGFyZVJlY29yZCBleHRlbmRzIFNoYXJlQmFzZVJlY29yZCB7XG4gIHR5cGU6IEVuY3J5cHRlZFNpZ25lclNoYXJlVHlwZTtcbn1cblxuZXhwb3J0IHR5cGUgQml0Z29QdWJLZXlUeXBlID0gJ25pdHJvJyB8ICdvbnByZW0nO1xuXG5leHBvcnQgdHlwZSBUU1NQYXJhbXMgPSB7XG4gIHR4UmVxdWVzdDogc3RyaW5nIHwgVHhSZXF1ZXN0OyAvLyBjYW4gYmUgZWl0aGVyIGEgc3RyaW5nIG9yIFR4UmVxdWVzdFxuICByZXFJZDogSVJlcXVlc3RUcmFjZXI7XG4gIGFwaVZlcnNpb24/OiBBcGlWZXJzaW9uO1xuICB0eFBhcmFtcz86IFRyYW5zYWN0aW9uUGFyYW1zO1xufTtcblxuZXhwb3J0IHR5cGUgVFNTUGFyYW1zRm9yTWVzc2FnZSA9IFRTU1BhcmFtcyAmIHtcbiAgbWVzc2FnZVJhdzogc3RyaW5nO1xuICBtZXNzYWdlRW5jb2RlZD86IHN0cmluZztcbiAgYnVmZmVyVG9TaWduOiBCdWZmZXI7XG59O1xuXG4vKiogQXQgbGVhc3Qgb25lIHJlY2lwaWVudCAod2hlbiB1c2luZyBgcmVjaXBpZW50U291cmNlOiBUc3NUeFJlY2lwaWVudFNvdXJjZS5FeHBsaWNpdGApLiAqL1xuZXhwb3J0IHR5cGUgTm9uRW1wdHlSZWNpcGllbnRMaXN0ID0gW0lUcmFuc2FjdGlvblJlY2lwaWVudCwgLi4uSVRyYW5zYWN0aW9uUmVjaXBpZW50W11dO1xuXG4vKiogdHhQYXJhbXMgaW5jbHVkaW5nIGEgbm9uLWVtcHR5IHJlY2lwaWVudHMgbGlzdCBmb3Igc3RyaWN0IHNpZ25pbmcgdmVyaWZpY2F0aW9uIHR5cGluZy4gKi9cbmV4cG9ydCB0eXBlIFRyYW5zYWN0aW9uUGFyYW1zV2l0aE1hbmRhdG9yeVJlY2lwaWVudHMgPSBUcmFuc2FjdGlvblBhcmFtcyAmIHtcbiAgcmVjaXBpZW50czogTm9uRW1wdHlSZWNpcGllbnRMaXN0O1xufTtcblxuZXhwb3J0IGNvbnN0IFRzc1R4UmVjaXBpZW50U291cmNlID0ge1xuICAvKiogUmVxdWlyZSB0eFBhcmFtcy5yZWNpcGllbnRzIHdpdGggYXQgbGVhc3Qgb25lIGVudHJ5IChlbmZvcmNlZCBieSBUeXBlU2NyaXB0IGZvciB0aGlzIGJyYW5jaCkuICovXG4gIEV4cGxpY2l0OiAnZXhwbGljaXQnLFxuICAvKipcbiAgICogRGVmYXVsdDogdHhQYXJhbXMgbWF5IGJlIG9taXR0ZWQgb3IgcGFydGlhbDsgdmVyaWZpY2F0aW9uIHVzZXMgY29pbi1zcGVjaWZpYyBydWxlc1xuICAgKiAoZm9yIGV4YW1wbGUgcmVjaXBpZW50cyBmcm9tIHR4UmVxdWVzdCBjb250ZXh0KS5cbiAgICovXG4gIFJlc29sdmVkOiAncmVzb2x2ZWQnLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgVHNzVHhSZWNpcGllbnRTb3VyY2UgPSAodHlwZW9mIFRzc1R4UmVjaXBpZW50U291cmNlKVtrZXlvZiB0eXBlb2YgVHNzVHhSZWNpcGllbnRTb3VyY2VdO1xuXG5leHBvcnQgdHlwZSBUc3NTaWduVHhFeHBsaWNpdFJlY2lwaWVudFBhcmFtcyA9IHtcbiAgdHhSZXF1ZXN0OiBzdHJpbmcgfCBUeFJlcXVlc3Q7XG4gIHJlcUlkOiBJUmVxdWVzdFRyYWNlcjtcbiAgYXBpVmVyc2lvbj86IEFwaVZlcnNpb247XG4gIHJlY2lwaWVudFNvdXJjZTogdHlwZW9mIFRzc1R4UmVjaXBpZW50U291cmNlLkV4cGxpY2l0O1xuICB0eFBhcmFtczogVHJhbnNhY3Rpb25QYXJhbXNXaXRoTWFuZGF0b3J5UmVjaXBpZW50cztcbn07XG5cbmV4cG9ydCB0eXBlIFRzc1NpZ25UeFJlc29sdmVkUmVjaXBpZW50UGFyYW1zID0ge1xuICB0eFJlcXVlc3Q6IHN0cmluZyB8IFR4UmVxdWVzdDtcbiAgcmVxSWQ6IElSZXF1ZXN0VHJhY2VyO1xuICBhcGlWZXJzaW9uPzogQXBpVmVyc2lvbjtcbiAgcmVjaXBpZW50U291cmNlPzogdHlwZW9mIFRzc1R4UmVjaXBpZW50U291cmNlLlJlc29sdmVkO1xuICB0eFBhcmFtcz86IFRyYW5zYWN0aW9uUGFyYW1zO1xufTtcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciBUU1MgdHJhbnNhY3Rpb24gc2lnbmluZyAoe0BsaW5rIElUc3NVdGlscy5zaWduVHhSZXF1ZXN0fSkuXG4gKiBTZXQge0BsaW5rIFRzc1R4UmVjaXBpZW50U291cmNlLkV4cGxpY2l0fSB0byByZXF1aXJlIGEgbm9uLWVtcHR5IHR4UGFyYW1zLnJlY2lwaWVudHMgYXJyYXkgYXQgY29tcGlsZSB0aW1lLlxuICovXG5leHBvcnQgdHlwZSBUc3NTaWduVHhSZXF1ZXN0UGFyYW1zID0gVHNzU2lnblR4RXhwbGljaXRSZWNpcGllbnRQYXJhbXMgfCBUc3NTaWduVHhSZXNvbHZlZFJlY2lwaWVudFBhcmFtcztcblxuZXhwb3J0IHR5cGUgVHNzU2lnblR4UmVxdWVzdFBhcmFtc1dpdGhQcnYgPSBUc3NTaWduVHhSZXF1ZXN0UGFyYW1zICYge1xuICBwcnY6IHN0cmluZztcbiAgbXBjdjJQYXJ0eUlkPzogMCB8IDE7XG59O1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIFVzZSB7QGxpbmsgVHNzU2lnblR4UmVxdWVzdFBhcmFtc1dpdGhQcnZ9IGluc3RlYWQuIFRoaXMgYWxpYXMgZXhpc3RzIGZvclxuICogYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSBtYWpvciByZWxlYXNlLlxuICovXG5leHBvcnQgdHlwZSBUU1NQYXJhbXNXaXRoUHJ2ID0gVHNzU2lnblR4UmVxdWVzdFBhcmFtc1dpdGhQcnY7XG5cbmV4cG9ydCB0eXBlIFRTU1BhcmFtc0Zvck1lc3NhZ2VXaXRoUHJ2ID0gVFNTUGFyYW1zRm9yTWVzc2FnZSAmIHtcbiAgcHJ2OiBzdHJpbmc7XG4gIG1wY3YyUGFydHlJZD86IDAgfCAxO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBCaXRnb0hlbGRCYWNrdXBLZXlTaGFyZSB7XG4gIGNvbW1vbktleWNoYWluPzogc3RyaW5nO1xuICBpZDogc3RyaW5nO1xuICBrZXlTaGFyZXM6IEFwaUtleVNoYXJlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFja3VwS2V5U2hhcmUge1xuICBiaXRHb0hlbGRLZXlTaGFyZXM/OiBCaXRnb0hlbGRCYWNrdXBLZXlTaGFyZTtcbiAgdXNlckhlbGRLZXlTaGFyZT86IEtleVNoYXJlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJpdGdvR1BHUHVibGljS2V5IHtcbiAgbmFtZTogc3RyaW5nO1xuICBwdWJsaWNLZXk6IHN0cmluZztcbiAgbXBjdjJQdWJsaWNLZXk/OiBzdHJpbmc7XG4gIGVkZHNhTXBjdjJQdWJsaWNLZXk/OiBzdHJpbmc7XG4gIHJlZHBhbGxhc01wY3YyUHVibGljS2V5Pzogc3RyaW5nO1xuICBlbnRlcnByaXNlSWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNUENUeCB7XG4gIHNlcmlhbGl6ZWRUeDogc3RyaW5nO1xuICBzY2FuSW5kZXg/OiBudW1iZXI7XG4gIGNvaW4/OiBzdHJpbmc7XG4gIHNpZ25hYmxlSGV4Pzogc3RyaW5nO1xuICBkZXJpdmF0aW9uUGF0aD86IHN0cmluZztcbiAgcGFyc2VkVHg/OiBQYXJzZWRUcmFuc2FjdGlvbjtcbiAgZmVlSW5mbz86IFJlcXVpcmVkPFByZWJ1aWxkVHJhbnNhY3Rpb25GZWVJbmZvPjtcbiAgY29pblNwZWNpZmljPzoge1xuICAgIGZpcnN0VmFsaWQ/OiBudW1iZXI7XG4gICAgbWF4RHVyYXRpb24/OiBudW1iZXI7XG4gICAgY29tbW9uS2V5Y2hhaW4/OiBzdHJpbmc7XG4gICAgbGFzdFNjYW5JbmRleD86IG51bWJlcjtcbiAgfTtcbiAgLy8gdGhlIGFtb3VudCByZWNvdmVyZWQgdXNpbmcgV1JXXG4gIHJlY292ZXJ5QW1vdW50Pzogc3RyaW5nO1xuICAvLyB0aGUgdHJhbnNhY3Rpb24gc2lnbmF0dXJlIHVzZWQgZm9yIGJyb2FkY2FzdGluZyB0aGUgdHJhbnNhY3Rpb25cbiAgc2lnbmF0dXJlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1QQ1JlY292ZXJ5T3B0aW9ucyB7XG4gIHVzZXJLZXk/OiBzdHJpbmc7IC8vIEJveCBBXG4gIGJhY2t1cEtleT86IHN0cmluZzsgLy8gQm94IEJcbiAgYml0Z29LZXk6IHN0cmluZzsgLy8gQm94IEMgLSB0aGlzIGlzIGJpdGdvJ3MgeHB1YiBhbmQgd2lsbCBiZSB1c2VkIHRvIGRlcml2ZSB0aGVpciByb290IGFkZHJlc3NcbiAgcmVjb3ZlcnlEZXN0aW5hdGlvbjogc3RyaW5nO1xuICB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nO1xuICBzZWVkPzogc3RyaW5nO1xuICBpbmRleD86IG51bWJlcjtcbiAgLy8gdGhlIHN0YXJ0aW5nIHJlY2VpdmUgYWRkcmVzcyBpbmRleCB0byBzY2FuIGZyb20gZm9yIFdSVyByZWNvdmVyeVxuICBzdGFydGluZ1NjYW5JbmRleD86IG51bWJlcjtcbiAgLy8gdGhlIG51bWJlciBvZiBhZGRyZXNzZXMgdG8gc2NhbiBmcm9tIHRoZSBzdGFydGluZyBpbmRleFxuICBzY2FuPzogbnVtYmVyO1xuICAvLyB0b2tlbiBjb250cmFjdCBhZGRyZXNzIG9mIHRoZSB0b2tlbiB0byByZWNvdmVyXG4gIHRva2VuQ29udHJhY3RBZGRyZXNzPzogc3RyaW5nO1xuICBhcGlLZXk/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTVBDQ29uc29saWRhdGlvblJlY292ZXJ5T3B0aW9ucyB7XG4gIHVzZXJLZXk/OiBzdHJpbmc7IC8vIEJveCBBXG4gIGJhY2t1cEtleT86IHN0cmluZzsgLy8gQm94IEJcbiAgYml0Z29LZXk6IHN0cmluZzsgLy8gQm94IENcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbiAgc3RhcnRpbmdTY2FuSW5kZXg/OiBudW1iZXI7IC8vIGRlZmF1bHQgdG8gMSAoaW5jbHVzaXZlKVxuICBlbmRpbmdTY2FuSW5kZXg/OiBudW1iZXI7IC8vIGRlZmF1bHQgdG8gc3RhcnRpbmdTY2FuSW5kZXggKyAyMCAoZXhjbHVzaXZlKVxuICBzZWVkPzogc3RyaW5nO1xuICB0b2tlbkNvbnRyYWN0QWRkcmVzcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNUENTd2VlcFR4cyB7XG4gIHR4UmVxdWVzdHM6IFJlY292ZXJ5VHhSZXF1ZXN0W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3ZlcnlUeFJlcXVlc3Qge1xuICB3YWxsZXRDb2luOiBzdHJpbmc7XG4gIHRyYW5zYWN0aW9uczogTVBDVW5zaWduZWRUeFtdIHwgT3ZjVHJhbnNhY3Rpb25bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNUENVbnNpZ25lZFR4IHtcbiAgdW5zaWduZWRUeDogTVBDVHg7XG4gIHNpZ25hdHVyZVNoYXJlczogW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTVBDU3dlZXBSZWNvdmVyeU9wdGlvbnMge1xuICBzaWduYXR1cmVTaGFyZXM6IFNpZ25hdHVyZVNoYXJlc1tdO1xufVxuXG5pbnRlcmZhY2UgU2lnbmF0dXJlU2hhcmVzIHtcbiAgdHhSZXF1ZXN0OiBSZWNvdmVyeVR4UmVxdWVzdDtcbiAgdHNzVmVyc2lvbjogc3RyaW5nO1xuICBvdmM6IE92Y1tdO1xufVxuXG5pbnRlcmZhY2UgT3ZjVHJhbnNhY3Rpb24ge1xuICB1bnNpZ25lZFR4OiBNUENUeDtcbiAgc2lnbmF0dXJlU2hhcmVzOiBTaWduYXR1cmVTaGFyZVJlY29yZFtdO1xuICBzaWduYXR1cmVTaGFyZTogU2lnbmF0dXJlU2hhcmU7XG59XG5cbmludGVyZmFjZSBTaWduYXR1cmVTaGFyZSB7XG4gIGZyb206IHN0cmluZztcbiAgdG86IHN0cmluZztcbiAgc2hhcmU6IHN0cmluZztcbiAgcHVibGljU2hhcmU6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIE92YyB7XG4gIGVkZHNhU2lnbmF0dXJlOiBTaWduYXR1cmU7XG4gIGVjZHNhU2lnbmF0dXJlPzogRWNkc2FTaWduYXR1cmU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTVBDVHhzIHtcbiAgdHJhbnNhY3Rpb25zOiBNUENUeFtdO1xuICBsYXN0U2NhbkluZGV4PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE92Y0lucHV0IHtcbiAgYWRkcmVzczogc3RyaW5nO1xuICB2YWx1ZTogbnVtYmVyO1xuICB2YWx1ZVN0cmluZzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE92Y091dHB1dCB7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgdmFsdWVTdHJpbmc6IHN0cmluZztcbiAgY29pbk5hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIEJhY2t1cEdwZ0tleSA9IFNlcmlhbGl6ZWRLZXlQYWlyPHN0cmluZz4gfCBLZXk7XG5cbi8qKlxuICogQ29tbW9uIEludGVyZmFjZSBmb3IgaW1wbGVtZW50aW5nIHNpZ25hdHVyZSBzY2hlbWUgc3BlY2lmaWNcbiAqIHV0aWwgZnVuY3Rpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVRzc1V0aWxzPEtleVNoYXJlID0gRUREU0EuS2V5U2hhcmU+IHtcbiAgY3JlYXRlQml0Z29IZWxkQmFja3VwS2V5U2hhcmUoXG4gICAgdXNlckdwZ0tleTogU2VyaWFsaXplZEtleVBhaXI8c3RyaW5nPixcbiAgICBlbnRlcnByaXNlOiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgKTogUHJvbWlzZTxCaXRnb0hlbGRCYWNrdXBLZXlTaGFyZT47XG4gIGZpbmFsaXplQml0Z29IZWxkQmFja3VwS2V5U2hhcmUoXG4gICAga2V5SWQ6IHN0cmluZyxcbiAgICBjb21tb25LZXljaGFpbjogc3RyaW5nLFxuICAgIHVzZXJLZXlTaGFyZTogS2V5U2hhcmUsXG4gICAgYml0Z29LZXljaGFpbjogS2V5Y2hhaW4sXG4gICAgZ3BnS2V5OiBTZXJpYWxpemVkS2V5UGFpcjxzdHJpbmc+LFxuICAgIGJpdGdvUHVibGljR3BnS2V5PzogS2V5XG4gICk6IFByb21pc2U8Qml0Z29IZWxkQmFja3VwS2V5U2hhcmU+O1xuICBjcmVhdGVVc2VyS2V5Y2hhaW4ocGFyYW1zOiBDcmVhdGVLZXljaGFpblBhcmFtc0Jhc2UpOiBQcm9taXNlPEtleWNoYWluPjtcbiAgY3JlYXRlQmFja3VwS2V5Y2hhaW4ocGFyYW1zOiBDcmVhdGVLZXljaGFpblBhcmFtc0Jhc2UpOiBQcm9taXNlPEtleWNoYWluPjtcbiAgY3JlYXRlQml0Z29LZXljaGFpbihwYXJhbXM6IENyZWF0ZUJpdEdvS2V5Y2hhaW5QYXJhbXNCYXNlKTogUHJvbWlzZTxLZXljaGFpbj47XG4gIGNyZWF0ZUtleWNoYWlucyhwYXJhbXM6IHtcbiAgICBwYXNzcGhyYXNlOiBzdHJpbmc7XG4gICAgZW50ZXJwcmlzZT86IHN0cmluZztcbiAgICBvcmlnaW5hbFBhc3Njb2RlRW5jcnlwdGlvbkNvZGU/OiBzdHJpbmc7XG4gICAgaXNUaGlyZFBhcnR5QmFja3VwPzogYm9vbGVhbjtcbiAgICBlbmNyeXB0aW9uVmVyc2lvbj86IEVuY3J5cHRpb25WZXJzaW9uO1xuICB9KTogUHJvbWlzZTxLZXljaGFpbnNUcmlwbGV0PjtcbiAgc2lnblR4UmVxdWVzdChwYXJhbXM6IFRzc1NpZ25UeFJlcXVlc3RQYXJhbXNXaXRoUHJ2KTogUHJvbWlzZTxUeFJlcXVlc3Q+O1xuICBzaWduVHhSZXF1ZXN0Rm9yTWVzc2FnZShwYXJhbXM6IFRTU1BhcmFtcyk6IFByb21pc2U8VHhSZXF1ZXN0PjtcbiAgc2lnbkVkZHNhVHNzVXNpbmdFeHRlcm5hbFNpZ25lcihcbiAgICB0eFJlcXVlc3Q6IHN0cmluZyB8IFR4UmVxdWVzdCxcbiAgICBleHRlcm5hbFNpZ25lckNvbW1pdG1lbnRHZW5lcmF0b3I6IEN1c3RvbUNvbW1pdG1lbnRHZW5lcmF0aW5nRnVuY3Rpb24sXG4gICAgZXh0ZXJuYWxTaWduZXJSU2hhcmVHZW5lcmF0b3I6IEN1c3RvbVJTaGFyZUdlbmVyYXRpbmdGdW5jdGlvbixcbiAgICBleHRlcm5hbFNpZ25lckdTaGFyZUdlbmVyYXRvcjogQ3VzdG9tR1NoYXJlR2VuZXJhdGluZ0Z1bmN0aW9uXG4gICk6IFByb21pc2U8VHhSZXF1ZXN0PjtcbiAgc2lnbkVjZHNhVHNzVXNpbmdFeHRlcm5hbFNpZ25lcihcbiAgICBwYXJhbXM6IFRTU1BhcmFtcyB8IFRTU1BhcmFtc0Zvck1lc3NhZ2UsXG4gICAgcmVxdWVzdFR5cGU6IFJlcXVlc3RUeXBlLFxuICAgIGV4dGVybmFsU2lnbmVyUGFpbGxpZXJNb2R1bHVzR2V0dGVyOiBDdXN0b21QYWlsbGllck1vZHVsdXNHZXR0ZXJGdW5jdGlvbixcbiAgICBleHRlcm5hbFNpZ25lcktTaGFyZUdlbmVyYXRvcjogQ3VzdG9tS1NoYXJlR2VuZXJhdGluZ0Z1bmN0aW9uLFxuICAgIGV4dGVybmFsU2lnbmVyTXVEZWx0YVNoYXJlR2VuZXJhdG9yOiBDdXN0b21NdURlbHRhU2hhcmVHZW5lcmF0aW5nRnVuY3Rpb24sXG4gICAgZXh0ZXJuYWxTaWduZXJTU2hhcmVHZW5lcmF0b3I6IEN1c3RvbVNTaGFyZUdlbmVyYXRpbmdGdW5jdGlvblxuICApOiBQcm9taXNlPFR4UmVxdWVzdD47XG4gIGNyZWF0ZUNvbW1pdG1lbnRTaGFyZUZyb21UeFJlcXVlc3QocGFyYW1zOiB7XG4gICAgdHhSZXF1ZXN0OiBUeFJlcXVlc3Q7XG4gICAgcHJ2OiBzdHJpbmc7XG4gICAgd2FsbGV0UGFzc3BocmFzZTogc3RyaW5nO1xuICAgIGJpdGdvR3BnUHViS2V5OiBzdHJpbmc7XG4gIH0pOiBQcm9taXNlPHtcbiAgICB1c2VyVG9CaXRnb0NvbW1pdG1lbnQ6IENvbW1pdG1lbnRTaGFyZVJlY29yZDtcbiAgICBlbmNyeXB0ZWRTaWduZXJTaGFyZTogRW5jcnlwdGVkU2lnbmVyU2hhcmVSZWNvcmQ7XG4gICAgZW5jcnlwdGVkVXNlclRvQml0Z29SU2hhcmU6IEVuY3J5cHRlZFNpZ25lclNoYXJlUmVjb3JkO1xuICB9PjtcbiAgY3JlYXRlUlNoYXJlRnJvbVR4UmVxdWVzdChwYXJhbXM6IHtcbiAgICB0eFJlcXVlc3Q6IFR4UmVxdWVzdDtcbiAgICB3YWxsZXRQYXNzcGhyYXNlOiBzdHJpbmc7XG4gICAgZW5jcnlwdGVkVXNlclRvQml0Z29SU2hhcmU6IEVuY3J5cHRlZFNpZ25lclNoYXJlUmVjb3JkO1xuICB9KTogUHJvbWlzZTx7IHJTaGFyZTogU2lnblNoYXJlIH0+O1xuICBjcmVhdGVHU2hhcmVGcm9tVHhSZXF1ZXN0KHBhcmFtczoge1xuICAgIHR4UmVxdWVzdDogVHhSZXF1ZXN0O1xuICAgIHBydjogc3RyaW5nO1xuICAgIGJpdGdvVG9Vc2VyUlNoYXJlOiBTaWduYXR1cmVTaGFyZVJlY29yZDtcbiAgICB1c2VyVG9CaXRnb1JTaGFyZTogU2lnblNoYXJlO1xuICAgIGJpdGdvVG9Vc2VyQ29tbWl0bWVudDogQ29tbWl0bWVudFNoYXJlUmVjb3JkO1xuICB9KTogUHJvbWlzZTxHU2hhcmU+O1xuICBwcmVidWlsZFR4V2l0aEludGVudChcbiAgICBwYXJhbXM6IFByZWJ1aWxkVHJhbnNhY3Rpb25XaXRoSW50ZW50T3B0aW9ucyxcbiAgICBhcGlWZXJzaW9uPzogVHhSZXF1ZXN0VmVyc2lvbixcbiAgICBwcmV2aWV3PzogYm9vbGVhblxuICApOiBQcm9taXNlPFR4UmVxdWVzdD47XG4gIGRlbGV0ZVNpZ25hdHVyZVNoYXJlcyh0eFJlcXVlc3RJZDogc3RyaW5nKTogUHJvbWlzZTxTaWduYXR1cmVTaGFyZVJlY29yZFtdPjtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgc2VuZFR4UmVxdWVzdCh0eFJlcXVlc3RJZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+O1xuICByZWNyZWF0ZVR4UmVxdWVzdCh0eFJlcXVlc3RJZDogc3RyaW5nLCBkZWNyeXB0ZWRQcnY6IHN0cmluZywgcmVxSWQ6IElSZXF1ZXN0VHJhY2VyKTogUHJvbWlzZTxUeFJlcXVlc3Q+O1xuICBnZXRUeFJlcXVlc3QodHhSZXF1ZXN0SWQ6IHN0cmluZyk6IFByb21pc2U8VHhSZXF1ZXN0PjtcbiAgc3VwcG9ydGVkVHhSZXF1ZXN0VmVyc2lvbnMoKTogVHhSZXF1ZXN0VmVyc2lvbltdO1xufVxuIl19
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZVR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3V0aWxzL3Rzcy9iYXNlVHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBbW5CQSxvQ0FNQztBQXJnQkQsSUFBWSxTQWNYO0FBZEQsV0FBWSxTQUFTO0lBQ25CLG9CQUFPLENBQUE7SUFDUCxzQ0FBeUIsQ0FBQTtJQUN6QixvQkFBTyxDQUFBO0lBQ1Asb0JBQU8sQ0FBQTtJQUNQLG9CQUFPLENBQUE7SUFDUCxnQ0FBbUIsQ0FBQTtJQUNuQixnREFBbUMsQ0FBQTtJQUNuQyx3Q0FBMkIsQ0FBQTtJQUMzQix3Q0FBMkIsQ0FBQTtJQUMzQix3Q0FBMkIsQ0FBQTtJQUMzQixrREFBcUMsQ0FBQTtJQUNyQyxrREFBcUMsQ0FBQTtJQUNyQyxrREFBcUMsQ0FBQTtBQUN2QyxDQUFDLEVBZFcsU0FBUyx5QkFBVCxTQUFTLFFBY3BCO0FBRUQsSUFBWSxPQUdYO0FBSEQsV0FBWSxPQUFPO0lBQ2pCLDBCQUFlLENBQUE7SUFDZiwwQkFBZSxDQUFBO0FBQ2pCLENBQUMsRUFIVyxPQUFPLHVCQUFQLE9BQU8sUUFHbEI7QUEwSEQsSUFBWSxTQUtYO0FBTEQsV0FBWSxTQUFTO0lBQ25CLDhCQUFpQixDQUFBO0lBQ2pCLGdDQUFtQixDQUFBO0lBQ25CLDRCQUFlLENBQUE7SUFDZiw0Q0FBK0IsQ0FBQTtBQUNqQyxDQUFDLEVBTFcsU0FBUyx5QkFBVCxTQUFTLFFBS3BCO0FBdVNELElBQVksV0FHWDtBQUhELFdBQVksV0FBVztJQUNyQix5Q0FBRSxDQUFBO0lBQ0YsbURBQU8sQ0FBQTtBQUNULENBQUMsRUFIVyxXQUFXLDJCQUFYLFdBQVcsUUFHdEI7QUFnRUQ7O0dBRUc7QUFDSCxTQUFnQixZQUFZLENBQUMsVUFBa0I7SUFDN0MsSUFBSSxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztBQUNILENBQUM7QUFFWSxRQUFBLGtCQUFrQixHQUFHO0lBQ2hDLElBQUksRUFBRSxNQUFNO0lBQ1osTUFBTSxFQUFFLFFBQVE7SUFDaEIsS0FBSyxFQUFFLE9BQU87Q0FDTixDQUFDO0FBZ0JFLFFBQUEsY0FBYyxHQUFHO0lBQzVCLFVBQVUsRUFBRSxZQUFZO0lBQ3hCLFlBQVksRUFBRSxjQUFjO0NBQ3BCLENBQUM7QUFZRSxRQUFBLHdCQUF3QixHQUFHO0lBQ3RDLHNCQUFzQixFQUFFLHNCQUFzQjtJQUM5QyxpQkFBaUIsRUFBRSxpQkFBaUI7Q0FDNUIsQ0FBQztBQStCRSxRQUFBLG9CQUFvQixHQUFHO0lBQ2xDLG9HQUFvRztJQUNwRyxRQUFRLEVBQUUsVUFBVTtJQUNwQjs7O09BR0c7SUFDSCxRQUFRLEVBQUUsVUFBVTtDQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBLZXksIFNlcmlhbGl6ZWRLZXlQYWlyIH0gZnJvbSAnb3BlbnBncCc7XG5pbXBvcnQgeyBFbmNyeXB0aW9uVmVyc2lvbiwgSUVuY3J5cHRpb25TZXNzaW9uLCBJUmVxdWVzdFRyYWNlciB9IGZyb20gJy4uLy4uLy4uL2FwaSc7XG5pbXBvcnQgeyB0eXBlIElUcmFuc2FjdGlvblJlY2lwaWVudCwgS2V5Y2hhaW5zVHJpcGxldCwgUGFyc2VkVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uUGFyYW1zIH0gZnJvbSAnLi4vLi4vYmFzZUNvaW4nO1xuaW1wb3J0IHsgQXBpS2V5U2hhcmUsIEtleWNoYWluLCBXZWJhdXRobktleUVuY3J5cHRpb25JbmZvIH0gZnJvbSAnLi4vLi4va2V5Y2hhaW4nO1xuaW1wb3J0IHsgQXBpVmVyc2lvbiwgTWVtbywgV2FsbGV0VHlwZSwgdHlwZSBQcmVidWlsZFRyYW5zYWN0aW9uRmVlSW5mbyB9IGZyb20gJy4uLy4uL3dhbGxldCc7XG5pbXBvcnQgeyBFRERTQSwgR1NoYXJlLCBTaWduYXR1cmUsIFNpZ25TaGFyZSB9IGZyb20gJy4uLy4uLy4uL2FjY291bnQtbGliL21wYy90c3MnO1xuaW1wb3J0IHsgU2lnbmF0dXJlIGFzIEVjZHNhU2lnbmF0dXJlIH0gZnJvbSAnLi4vLi4vLi4vYWNjb3VudC1saWIvbXBjL3Rzcy9lY2RzYS90eXBlcyc7XG5pbXBvcnQgeyBLZXlTaGFyZSB9IGZyb20gJy4vZWNkc2EnO1xuaW1wb3J0IHsgRWNkc2FUeXBlcyB9IGZyb20gJ0BiaXRnby9zZGstbGliLW1wYyc7XG5pbXBvcnQgeyBUc3NFY2RzYVN0ZXAxUmV0dXJuTWVzc2FnZSwgVHNzRWNkc2FTdGVwMlJldHVybk1lc3NhZ2UsIFR4UmVxdWVzdENoYWxsZW5nZVJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vdHNzL3R5cGVzJztcbmltcG9ydCB7IEFTaGFyZSwgRFNoYXJlLCBTU2hhcmUgfSBmcm9tICcuLi8uLi90c3MvZWNkc2EvdHlwZXMnO1xuaW1wb3J0IHsgTWVzc2FnZVN0YW5kYXJkVHlwZSB9IGZyb20gJy4uL21lc3NhZ2VUeXBlcyc7XG5cbmV4cG9ydCB0eXBlIFR4UmVxdWVzdFZlcnNpb24gPSAnZnVsbCcgfCAnbGl0ZSc7XG5leHBvcnQgaW50ZXJmYWNlIEhvcFBhcmFtcyB7XG4gIHBheW1lbnRJZD86IHN0cmluZztcbiAgdXNlclJlcVNpZz86IHN0cmluZztcbiAgZ2FzUHJpY2VNYXg/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRUlQMTU1OUZlZU9wdGlvbnMge1xuICBnYXNMaW1pdD86IG51bWJlcjtcbiAgbWF4RmVlUGVyR2FzOiBudW1iZXI7XG4gIG1heFByaW9yaXR5RmVlUGVyR2FzOiBudW1iZXI7XG4gIGZlZVRva2VuPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlZU9wdGlvbiB7XG4gIHVuaXQ/OiAnYmFzZVVuaXQnIHwgJ2NwdScgfCAncmFtJztcbiAgZm9ybXVsYT86ICdmaXhlZCcgfCAnZmVlUmF0ZScgfCAncGVyS0InIHwgJ2N1c3RvbScgfCAncGVyVktCJztcbiAgZmVlVHlwZT86ICdiYXNlJyB8ICdtYXgnIHwgJ3RpcCc7XG4gIGdhc0xpbWl0PzogbnVtYmVyO1xuICBnYXNQcmljZT86IG51bWJlcjtcbiAgZmVlVG9rZW4/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9rZW5FbmFibGVtZW50IHtcbiAgbmFtZTogc3RyaW5nO1xuICBhZGRyZXNzPzogc3RyaW5nOyAvLyBTb21lIGNoYWlucyBsaWtlIFNvbGFuYSByZXF1aXJlIHRva2VucyB0byBiZSBlbmFibGVkIGZvciBzcGVjaWZpYyBhZGRyZXNzLiBJZiBhYnNlbnQsIHdlIHdpbGwgZW5hYmxlIGl0IGZvciB0aGUgd2FsbGV0J3Mgcm9vdCBhZGRyZXNzXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29sSW5zdHJ1Y3Rpb24ge1xuICBwcm9ncmFtSWQ6IHN0cmluZztcbiAga2V5czogQXJyYXk8e1xuICAgIHB1YmtleTogc3RyaW5nO1xuICAgIGlzU2lnbmVyOiBib29sZWFuO1xuICAgIGlzV3JpdGFibGU6IGJvb2xlYW47XG4gIH0+O1xuICBkYXRhOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29sVmVyc2lvbmVkSW5zdHJ1Y3Rpb24ge1xuICBwcm9ncmFtSWRJbmRleDogbnVtYmVyO1xuICBhY2NvdW50S2V5SW5kZXhlczogbnVtYmVyW107XG4gIGRhdGE6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTb2xBZGRyZXNzTG9va3VwVGFibGUge1xuICBhY2NvdW50S2V5OiBzdHJpbmc7XG4gIHdyaXRhYmxlSW5kZXhlczogbnVtYmVyW107XG4gIHJlYWRvbmx5SW5kZXhlczogbnVtYmVyW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29sVmVyc2lvbmVkVHJhbnNhY3Rpb25EYXRhIHtcbiAgdmVyc2lvbmVkSW5zdHJ1Y3Rpb25zOiBTb2xWZXJzaW9uZWRJbnN0cnVjdGlvbltdO1xuICBhZGRyZXNzTG9va3VwVGFibGVzOiBTb2xBZGRyZXNzTG9va3VwVGFibGVbXTtcbiAgc3RhdGljQWNjb3VudEtleXM6IHN0cmluZ1tdO1xuICBtZXNzYWdlSGVhZGVyOiB7XG4gICAgbnVtUmVxdWlyZWRTaWduYXR1cmVzOiBudW1iZXI7XG4gICAgbnVtUmVhZG9ubHlTaWduZWRBY2NvdW50czogbnVtYmVyO1xuICAgIG51bVJlYWRvbmx5VW5zaWduZWRBY2NvdW50czogbnVtYmVyO1xuICB9O1xuICByZWNlbnRCbG9ja2hhc2g/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgYXB0b3NDdXN0b21UcmFuc2FjdGlvblBhcmFtcyB7XG4gIG1vZHVsZU5hbWU6IHN0cmluZztcbiAgZnVuY3Rpb25OYW1lOiBzdHJpbmc7XG4gIHR5cGVBcmd1bWVudHM/OiBzdHJpbmdbXTtcbiAgZnVuY3Rpb25Bcmd1bWVudHM/OiBhbnlbXTtcbiAgYWJpPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhbnRvbkNyZWF0ZUNvbW1hbmQge1xuICBDcmVhdGVDb21tYW5kOiB7XG4gICAgdGVtcGxhdGVJZDogc3RyaW5nO1xuICAgIGNyZWF0ZUFyZ3VtZW50czogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FudG9uRXhlcmNpc2VDb21tYW5kIHtcbiAgRXhlcmNpc2VDb21tYW5kOiB7XG4gICAgdGVtcGxhdGVJZDogc3RyaW5nO1xuICAgIGNvbnRyYWN0SWQ/OiBzdHJpbmc7XG4gICAgY2hvaWNlOiBzdHJpbmc7XG4gICAgY2hvaWNlQXJndW1lbnQ/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgfTtcbn1cblxuZXhwb3J0IHR5cGUgQ2FudG9uQ29tbWFuZCA9IENhbnRvbkNyZWF0ZUNvbW1hbmQgfCBDYW50b25FeGVyY2lzZUNvbW1hbmQ7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FudG9uQ29tbWFuZFJlc29sdmVDb250cmFjdFNwZWMge1xuICB0ZW1wbGF0ZUlkOiBzdHJpbmc7XG4gIGFjdEFzOiBzdHJpbmdbXTtcbiAgcmVhZEFzPzogc3RyaW5nW107XG4gIGluamVjdEFzOiBzdHJpbmc7XG4gIHJlc29sdmVBbGw/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhbnRvbkNvbW1hbmRQYXJhbXMge1xuICBjb21tYW5kOiBDYW50b25Db21tYW5kO1xuICBhY3RBczogc3RyaW5nW107XG4gIHJlYWRBcz86IHN0cmluZ1tdO1xuICByZXNvbHZlQ29udHJhY3RzPzogQ2FudG9uQ29tbWFuZFJlc29sdmVDb250cmFjdFNwZWNbXTtcbn1cblxuZXhwb3J0IGVudW0gU2hhcmVUeXBlIHtcbiAgUiA9ICdSJyxcbiAgQ29tbWl0bWVudCA9ICdjb21taXRtZW50JyxcbiAgRyA9ICdHJyxcbiAgUyA9ICdTJyxcbiAgSyA9ICdLJyxcbiAgTXVEZWx0YSA9ICdNdURlbHRhJyxcbiAgUGFpbGxpZXJNb2R1bHVzID0gJ1BhaWxsaWVyTW9kdWx1cycsXG4gIE1QQ3YyUm91bmQxID0gJ01QQ3YyUm91bmQxJyxcbiAgTVBDdjJSb3VuZDIgPSAnTVBDdjJSb3VuZDInLFxuICBNUEN2MlJvdW5kMyA9ICdNUEN2MlJvdW5kMycsXG4gIEVkZHNhTVBDdjJSb3VuZDEgPSAnRWRkc2FNUEN2MlJvdW5kMScsXG4gIEVkZHNhTVBDdjJSb3VuZDIgPSAnRWRkc2FNUEN2MlJvdW5kMicsXG4gIEVkZHNhTVBDdjJSb3VuZDMgPSAnRWRkc2FNUEN2MlJvdW5kMycsXG59XG5cbmV4cG9ydCBlbnVtIE1QQ1R5cGUge1xuICBFRERTQSA9ICdlZGRzYScsXG4gIEVDRFNBID0gJ2VjZHNhJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21QYWlsbGllck1vZHVsdXNHZXR0ZXJGdW5jdGlvbiB7XG4gIChwYXJhbXM6IHsgdHhSZXF1ZXN0OiBUeFJlcXVlc3QgfSk6IFByb21pc2U8e1xuICAgIHVzZXJQYWlsbGllck1vZHVsdXM6IHN0cmluZztcbiAgfT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tS1NoYXJlR2VuZXJhdGluZ0Z1bmN0aW9uIHtcbiAgKHBhcmFtczoge1xuICAgIHRzc1BhcmFtczogVFNTUGFyYW1zIHwgVFNTUGFyYW1zRm9yTWVzc2FnZTtcbiAgICBjaGFsbGVuZ2VzOiB7XG4gICAgICBlbnRlcnByaXNlQ2hhbGxlbmdlOiBFY2RzYVR5cGVzLlNlcmlhbGl6ZWRFY2RzYUNoYWxsZW5nZXM7XG4gICAgICBiaXRnb0NoYWxsZW5nZTogVHhSZXF1ZXN0Q2hhbGxlbmdlUmVzcG9uc2U7XG4gICAgfTtcbiAgICByZXF1ZXN0VHlwZTogUmVxdWVzdFR5cGU7XG4gIH0pOiBQcm9taXNlPFRzc0VjZHNhU3RlcDFSZXR1cm5NZXNzYWdlPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21NdURlbHRhU2hhcmVHZW5lcmF0aW5nRnVuY3Rpb24ge1xuICAocGFyYW1zOiB7XG4gICAgdHhSZXF1ZXN0OiBUeFJlcXVlc3Q7XG4gICAgYVNoYXJlRnJvbUJpdGdvOiBPbWl0PEFTaGFyZSwgJ250aWxkZScgfCAnaDEnIHwgJ2gyJz47XG4gICAgYml0Z29DaGFsbGVuZ2U6IFR4UmVxdWVzdENoYWxsZW5nZVJlc3BvbnNlO1xuICAgIGVuY3J5cHRlZFdTaGFyZTogc3RyaW5nO1xuICB9KTogUHJvbWlzZTxUc3NFY2RzYVN0ZXAyUmV0dXJuTWVzc2FnZT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tU1NoYXJlR2VuZXJhdGluZ0Z1bmN0aW9uIHtcbiAgKHBhcmFtczoge1xuICAgIHRzc1BhcmFtczogVFNTUGFyYW1zIHwgVFNTUGFyYW1zRm9yTWVzc2FnZTtcbiAgICBkU2hhcmVGcm9tQml0Z286IERTaGFyZTtcbiAgICByZXF1ZXN0VHlwZTogUmVxdWVzdFR5cGU7XG4gICAgZW5jcnlwdGVkT1NoYXJlOiBzdHJpbmc7XG4gIH0pOiBQcm9taXNlPFNTaGFyZT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tQ29tbWl0bWVudEdlbmVyYXRpbmdGdW5jdGlvbiB7XG4gIChwYXJhbXM6IHsgdHhSZXF1ZXN0OiBUeFJlcXVlc3Q7IGJpdGdvR3BnUHViS2V5Pzogc3RyaW5nIH0pOiBQcm9taXNlPHtcbiAgICB1c2VyVG9CaXRnb0NvbW1pdG1lbnQ6IENvbW1pdG1lbnRTaGFyZVJlY29yZDtcbiAgICBlbmNyeXB0ZWRTaWduZXJTaGFyZTogRW5jcnlwdGVkU2lnbmVyU2hhcmVSZWNvcmQ7XG4gICAgZW5jcnlwdGVkVXNlclRvQml0Z29SU2hhcmU6IEVuY3J5cHRlZFNpZ25lclNoYXJlUmVjb3JkO1xuICB9Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21SU2hhcmVHZW5lcmF0aW5nRnVuY3Rpb24ge1xuICAocGFyYW1zOiB7IHR4UmVxdWVzdDogVHhSZXF1ZXN0OyBlbmNyeXB0ZWRVc2VyVG9CaXRnb1JTaGFyZTogRW5jcnlwdGVkU2lnbmVyU2hhcmVSZWNvcmQgfSk6IFByb21pc2U8e1xuICAgIHJTaGFyZTogU2lnblNoYXJlO1xuICB9Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21HU2hhcmVHZW5lcmF0aW5nRnVuY3Rpb24ge1xuICAocGFyYW1zOiB7XG4gICAgdHhSZXF1ZXN0OiBUeFJlcXVlc3Q7XG4gICAgdXNlclRvQml0Z29SU2hhcmU6IFNpZ25TaGFyZTtcbiAgICBiaXRnb1RvVXNlclJTaGFyZTogU2lnbmF0dXJlU2hhcmVSZWNvcmQ7XG4gICAgYml0Z29Ub1VzZXJDb21taXRtZW50OiBDb21taXRtZW50U2hhcmVSZWNvcmQ7XG4gIH0pOiBQcm9taXNlPEdTaGFyZT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tTVBDdjJTaWduaW5nUm91bmQxR2VuZXJhdGluZ0Z1bmN0aW9uIHtcbiAgKHBhcmFtczogeyB0eFJlcXVlc3Q6IFR4UmVxdWVzdCB9KTogUHJvbWlzZTx7XG4gICAgc2lnbmF0dXJlU2hhcmVSb3VuZDE6IFNpZ25hdHVyZVNoYXJlUmVjb3JkO1xuICAgIGVuY3J5cHRlZFJvdW5kMVNlc3Npb246IHN0cmluZztcbiAgICB1c2VyR3BnUHViS2V5OiBzdHJpbmc7XG4gICAgZW5jcnlwdGVkVXNlckdwZ1BydktleTogc3RyaW5nO1xuICB9Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21NUEN2MlNpZ25pbmdSb3VuZDJHZW5lcmF0aW5nRnVuY3Rpb24ge1xuICAocGFyYW1zOiB7XG4gICAgdHhSZXF1ZXN0OiBUeFJlcXVlc3Q7XG4gICAgYml0Z29QdWJsaWNHcGdLZXk6IHN0cmluZztcbiAgICBlbmNyeXB0ZWRVc2VyR3BnUHJ2S2V5OiBzdHJpbmc7XG4gICAgZW5jcnlwdGVkUm91bmQxU2Vzc2lvbjogc3RyaW5nO1xuICB9KTogUHJvbWlzZTx7XG4gICAgc2lnbmF0dXJlU2hhcmVSb3VuZDI6IFNpZ25hdHVyZVNoYXJlUmVjb3JkO1xuICAgIGVuY3J5cHRlZFJvdW5kMlNlc3Npb246IHN0cmluZztcbiAgfT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tTVBDdjJTaWduaW5nUm91bmQzR2VuZXJhdGluZ0Z1bmN0aW9uIHtcbiAgKHBhcmFtczoge1xuICAgIHR4UmVxdWVzdDogVHhSZXF1ZXN0O1xuICAgIGJpdGdvUHVibGljR3BnS2V5OiBzdHJpbmc7XG4gICAgZW5jcnlwdGVkVXNlckdwZ1BydktleTogc3RyaW5nO1xuICAgIGVuY3J5cHRlZFJvdW5kMlNlc3Npb246IHN0cmluZztcbiAgfSk6IFByb21pc2U8e1xuICAgIHNpZ25hdHVyZVNoYXJlUm91bmQzOiBTaWduYXR1cmVTaGFyZVJlY29yZDtcbiAgfT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tRWRkc2FNUEN2MlNpZ25pbmdSb3VuZDFHZW5lcmF0aW5nRnVuY3Rpb24ge1xuICAocGFyYW1zOiB7IHR4UmVxdWVzdDogVHhSZXF1ZXN0IH0pOiBQcm9taXNlPHtcbiAgICBzaWduYXR1cmVTaGFyZVJvdW5kMTogU2lnbmF0dXJlU2hhcmVSZWNvcmQ7XG4gICAgZW5jcnlwdGVkUm91bmQxU2Vzc2lvbjogc3RyaW5nO1xuICAgIHVzZXJHcGdQdWJLZXk6IHN0cmluZztcbiAgICBlbmNyeXB0ZWRVc2VyR3BnUHJ2S2V5OiBzdHJpbmc7XG4gIH0+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbUVkZHNhTVBDdjJTaWduaW5nUm91bmQyR2VuZXJhdGluZ0Z1bmN0aW9uIHtcbiAgKHBhcmFtczoge1xuICAgIHR4UmVxdWVzdDogVHhSZXF1ZXN0O1xuICAgIGJpdGdvUHVibGljR3BnS2V5OiBzdHJpbmc7XG4gICAgZW5jcnlwdGVkVXNlckdwZ1BydktleTogc3RyaW5nO1xuICAgIGVuY3J5cHRlZFJvdW5kMVNlc3Npb246IHN0cmluZztcbiAgfSk6IFByb21pc2U8e1xuICAgIHNpZ25hdHVyZVNoYXJlUm91bmQyOiBTaWduYXR1cmVTaGFyZVJlY29yZDtcbiAgICBlbmNyeXB0ZWRSb3VuZDJTZXNzaW9uOiBzdHJpbmc7XG4gIH0+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbUVkZHNhTVBDdjJTaWduaW5nUm91bmQzR2VuZXJhdGluZ0Z1bmN0aW9uIHtcbiAgKHBhcmFtczoge1xuICAgIHR4UmVxdWVzdDogVHhSZXF1ZXN0O1xuICAgIGJpdGdvUHVibGljR3BnS2V5OiBzdHJpbmc7XG4gICAgZW5jcnlwdGVkVXNlckdwZ1BydktleTogc3RyaW5nO1xuICAgIGVuY3J5cHRlZFJvdW5kMlNlc3Npb246IHN0cmluZztcbiAgfSk6IFByb21pc2U8eyBzaWduYXR1cmVTaGFyZVJvdW5kMzogU2lnbmF0dXJlU2hhcmVSZWNvcmQgfT47XG59XG5cbmV4cG9ydCBlbnVtIFRva2VuVHlwZSB7XG4gIEVSQzcyMSA9ICdFUkM3MjEnLFxuICBFUkMxMTU1ID0gJ0VSQzExNTUnLFxuICBFUkMyMCA9ICdFUkMyMCcsXG4gIERJR0lUQUxfQVNTRVQgPSAnRGlnaXRhbCBBc3NldCcsXG59XG5leHBvcnQgaW50ZXJmYWNlIFRva2VuVHJhbnNmZXJSZWNpcGllbnRQYXJhbXMge1xuICB0b2tlblR5cGU6IFRva2VuVHlwZTtcbiAgdG9rZW5RdWFudGl0eTogc3RyaW5nO1xuICB0b2tlbkNvbnRyYWN0QWRkcmVzcz86IHN0cmluZztcbiAgdG9rZW5OYW1lPzogc3RyaW5nO1xuICB0b2tlbklkPzogc3RyaW5nO1xuICBkZWNpbWFsUGxhY2VzPzogbnVtYmVyO1xufVxuaW50ZXJmYWNlIEludGVudE9wdGlvbnNCYXNlIHtcbiAgcmVxSWQ6IElSZXF1ZXN0VHJhY2VyO1xuICBpbnRlbnRUeXBlOiBzdHJpbmc7XG4gIHNlcXVlbmNlSWQ/OiBzdHJpbmc7XG4gIGlzVHNzPzogYm9vbGVhbjtcbiAgY29tbWVudD86IHN0cmluZztcbiAgbWVtbz86IE1lbW87XG4gIGN1c3RvZGlhblRyYW5zYWN0aW9uSWQ/OiBzdHJpbmc7XG4gIGN1c3RvZGlhbk1lc3NhZ2VJZD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBEZUZpIGludGVudCBmaWVsZHMgZm9yIEVSQy00NjI2IHZhdWx0IG9wZXJhdGlvbnMuXG4gKiBFeHRlbmRlZCBieSBQb3B1bGF0ZWRJbnRlbnQgc28gdGhlc2UgbGFuZCBhdCB0aGUgdG9wIGxldmVsIG9mIHRoZSBwYXlsb2FkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERlZmlJbnRlbnRGaWVsZHMge1xuICB2YXVsdElkPzogc3RyaW5nO1xuICBhbW91bnQ/OiB7IHZhbHVlOiBzdHJpbmc7IHN5bWJvbDogc3RyaW5nIH0gfCBzdHJpbmc7XG4gIC8qKiBWYXVsdCBzaGFyZSB0b2tlbiBhbW91bnQgZm9yIGRlZmktd2l0aGRyYXcgaW50ZW50IChiYXNlIHVuaXRzKSAqL1xuICBzaGFyZVRva2VuQW1vdW50PzogeyB2YWx1ZTogc3RyaW5nOyBzeW1ib2w6IHN0cmluZyB9IHwgc3RyaW5nO1xuICBvcGVyYXRpb25JZD86IHN0cmluZztcbn1cblxuLyoqIERlRmktc3BlY2lmaWMgaW50ZW50IHBhcmFtZXRlcnMgKGlucHV0IGNvbnRhaW5lciBmb3IgZGVmaVBhcmFtcykuICovXG5leHBvcnQgaW50ZXJmYWNlIERlZmlJbnRlbnRQYXJhbXMge1xuICB2YXVsdElkOiBzdHJpbmc7XG4gIGFtb3VudDogc3RyaW5nO1xuICBvcGVyYXRpb25JZD86IHN0cmluZztcbn1cblxuLyoqIEVSQy03OTg0IHdyYXAgLyB3cmFwQXBwcm92ZSBwYXJhbWV0ZXJzIChpbnB1dCBjb250YWluZXIgZm9yIHdyYXBQYXJhbXMpLiAqL1xuZXhwb3J0IGludGVyZmFjZSBXcmFwSW50ZW50UGFyYW1zIHtcbiAgdG9rZW5OYW1lOiBzdHJpbmc7XG4gIGFtb3VudDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludGVudE9wdGlvbnNGb3JNZXNzYWdlIGV4dGVuZHMgSW50ZW50T3B0aW9uc0Jhc2Uge1xuICBtZXNzYWdlUmF3OiBzdHJpbmc7XG4gIG1lc3NhZ2VFbmNvZGVkPzogc3RyaW5nO1xuICBtZXNzYWdlU3RhbmRhcmRUeXBlPzogTWVzc2FnZVN0YW5kYXJkVHlwZTtcbiAgc2lnbmVyQWRkcmVzcz86IHN0cmluZztcbiAgLyoqIEJhc2U2NC1lbmNvZGVkIHByZXBhcmVkIHRyYW5zYWN0aW9uIGJ5dGVzIHJlcXVpcmVkIGJ5IENhbnRvbiBtZXNzYWdlIHNpZ25pbmcuICovXG4gIHByZXBhcmVkVHJhbnNhY3Rpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZW50T3B0aW9uc0ZvclR5cGVkRGF0YSBleHRlbmRzIEludGVudE9wdGlvbnNCYXNlIHtcbiAgdHlwZWREYXRhUmF3OiBzdHJpbmc7XG4gIHR5cGVkRGF0YUVuY29kZWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJlYnVpbGRUcmFuc2FjdGlvbldpdGhJbnRlbnRPcHRpb25zIGV4dGVuZHMgSW50ZW50T3B0aW9uc0Jhc2Uge1xuICByZWNpcGllbnRzPzoge1xuICAgIGFkZHJlc3M6IHN0cmluZztcbiAgICBhbW91bnQ6IHN0cmluZyB8IG51bWJlcjtcbiAgICBkYXRhPzogc3RyaW5nO1xuICAgIHRva2VuTmFtZT86IHN0cmluZztcbiAgICB0b2tlbkRhdGE/OiBUb2tlblRyYW5zZmVyUmVjaXBpZW50UGFyYW1zO1xuICB9W107XG4gIHRva2VuTmFtZT86IHN0cmluZztcbiAgZW5hYmxlVG9rZW5zPzogVG9rZW5FbmFibGVtZW50W107XG4gIG5vbmNlPzogc3RyaW5nO1xuICBzZWxmU2VuZD86IGJvb2xlYW47XG4gIGZlZU9wdGlvbnM/OiBGZWVPcHRpb24gfCBFSVAxNTU5RmVlT3B0aW9ucztcbiAgaG9wUGFyYW1zPzogSG9wUGFyYW1zO1xuICBsb3dGZWVUeGlkPzogc3RyaW5nO1xuICBjdXN0b2RpYW5UcmFuc2FjdGlvbklkPzogc3RyaW5nO1xuICByZWNlaXZlQWRkcmVzcz86IHN0cmluZztcbiAgdW5zcGVudHM/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIE1JU1QgdG8gcmVkZWVtIGZyb20gdGhlIHNlbmRlcidzIGFkZHJlc3MgYmFsYW5jZSAoU0lQLTU4IC8gU1VJIGFkZHJlc3MgYmFsYW5jZXMpLlxuICAgKiBXaGVuIHNldCwgdGhlIFBUQiBpbmNsdWRlcyB0eC53aXRoZHJhd2FsKCkgKyByZWRlZW1fZnVuZHMoKSBiZWZvcmUgdGhlIHRyYW5zZmVyLlxuICAgKi9cbiAgZnVuZHNJbkFkZHJlc3NCYWxhbmNlPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHJlY2VpdmUgYWRkcmVzcyBmcm9tIHdoaWNoIGZ1bmRzIHdpbGwgYmUgd2l0aGRyYXduLlxuICAgKiBUaGlzIGZlYXR1cmUgaXMgc3VwcG9ydGVkIG9ubHkgZm9yIHNwZWNpZmljIGNvaW5zLCBsaWtlIEFEQS5cbiAgICovXG4gIHNlbmRlckFkZHJlc3M/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBDdXN0b20gU29sYW5hIGluc3RydWN0aW9ucyBmb3IgdXNlIHdpdGggdGhlIGN1c3RvbVR4IGludGVudCB0eXBlLlxuICAgKiBFYWNoIGluc3RydWN0aW9uIHNob3VsZCBjb250YWluIHByb2dyYW1JZCwga2V5cywgYW5kIGRhdGEgZmllbGRzLlxuICAgKi9cbiAgc29sSW5zdHJ1Y3Rpb25zPzogU29sSW5zdHJ1Y3Rpb25bXTtcbiAgLyoqXG4gICAqIERlY29uc3RydWN0ZWQgVmVyc2lvbmVkIFRyYW5zYWN0aW9uIGRhdGEgZm9yIFNvbGFuYSBjdXN0b21UeCBpbnRlbnQgdHlwZS5cbiAgICogQ29udGFpbnMgY29tcGlsZWQgaW5zdHJ1Y3Rpb25zLCBBZGRyZXNzIExvb2t1cCBUYWJsZXMsIGFuZCBzdGF0aWMgYWNjb3VudCBrZXlzLlxuICAgKi9cbiAgc29sVmVyc2lvbmVkVHJhbnNhY3Rpb25EYXRhPzogU29sVmVyc2lvbmVkVHJhbnNhY3Rpb25EYXRhO1xuICAvKipcbiAgICogQ3VzdG9tIHRyYW5zYWN0aW9uIHBhcmFtZXRlcnMgZm9yIEFwdG9zIGVudHJ5IGZ1bmN0aW9uIGNhbGxzLlxuICAgKiBVc2VkIHdpdGggdGhlIGN1c3RvbVR4IGludGVudCB0eXBlIGZvciBBcHRvcyBzbWFydCBjb250cmFjdCBpbnRlcmFjdGlvbnMuXG4gICAqL1xuICBhcHRvc0N1c3RvbVRyYW5zYWN0aW9uUGFyYW1zPzoge1xuICAgIG1vZHVsZU5hbWU6IHN0cmluZztcbiAgICBmdW5jdGlvbk5hbWU6IHN0cmluZztcbiAgICB0eXBlQXJndW1lbnRzPzogc3RyaW5nW107XG4gICAgZnVuY3Rpb25Bcmd1bWVudHM/OiBhbnlbXTtcbiAgICBhYmk/OiBhbnk7XG4gIH07XG4gIHR4UmVxdWVzdElkPzogc3RyaW5nO1xuICBpc1Rlc3RUcmFuc2FjdGlvbj86IGJvb2xlYW47XG4gIHRyYW5zZmVyT2ZmZXJJZD86IHN0cmluZztcbiAgLyoqXG4gICAqIEFtb3VudCBmb3IgaW50ZW50cyB0aGF0IHVzZSBhIHRvcC1sZXZlbCBhbW91bnQgaW5zdGVhZCBvZiByZWNpcGllbnRzIChlLmcuIGJyaWRnZUZ1bmRzKS5cbiAgICovXG4gIGFtb3VudD86IHsgdmFsdWU6IHN0cmluZzsgc3ltYm9sOiBzdHJpbmcgfTtcbiAgLyoqXG4gICAqIFRJUC0yMCB0b2tlbiBhZGRyZXNzIHRvIHVzZSBmb3IgcGF5aW5nIHRyYW5zYWN0aW9uIGZlZXMgKFRlbXBvIG9ubHkpLlxuICAgKi9cbiAgZmVlVG9rZW4/OiBzdHJpbmc7XG4gIC8qKiBDYW50b24tc3BlY2lmaWMgcGFyYW1zIGZvciB0aGUgY2FudG9uQ29tbWFuZCBpbnRlbnQuICovXG4gIGNhbnRvbkNvbW1hbmRQYXJhbXM/OiBDYW50b25Db21tYW5kUGFyYW1zO1xuICAvKiogRGVGaSB2YXVsdCBpbnRlbnQgZmllbGRzIGZvciBkZWZpLSogYW5kIHdyYXAtbmF0aXZlIC8gdW53cmFwLW5hdGl2ZSBpbnRlbnRzLiAqL1xuICBkZWZpUGFyYW1zPzogRGVmaUludGVudFBhcmFtcztcbiAgLyoqIEVSQy03OTg0IHdyYXAgLyB3cmFwQXBwcm92ZSBmaWVsZHMgZmxhdHRlbmVkIG9udG8gdGhlIFdQIGludGVudC4gKi9cbiAgd3JhcFBhcmFtcz86IFdyYXBJbnRlbnRQYXJhbXM7XG4gIC8qKiBDYW50b24gcGFydHkgSUQgb2YgdGhlIGVuZCBpbnZlc3RvciB0byBvbmJvYXJkIChjYW50b25FbmRJbnZlc3Rvck9uYm9hcmRpbmdPZmZlciBpbnRlbnQpLiAqL1xuICBlbmRJbnZlc3RvclBhcnR5SWQ/OiBzdHJpbmc7XG4gIC8qKiBSZWFzb24gZm9yIHJlamVjdGluZyB0aGUgb25ib2FyZGluZyBvZmZlciAoY2FudG9uRW5kSW52ZXN0b3JPbmJvYXJkaW5nUmVqZWN0IGludGVudCkuICovXG4gIHJlYXNvbj86IHN0cmluZztcbiAgLyoqIERUQ0Mgb3BlcmF0b3IgcGFydHkgSUQgKGNhbnRvblBhcnRpY2lwYW50T25ib2FyZGluZ1JlcXVlc3QgaW50ZW50KS4gKi9cbiAgb3BlcmF0b3I/OiBzdHJpbmc7XG4gIC8qKiBEVENDIHByb3ZpZGVyIHBhcnR5IElEIChjYW50b25QYXJ0aWNpcGFudE9uYm9hcmRpbmdSZXF1ZXN0IGludGVudCkuICovXG4gIHByb3ZpZGVyPzogc3RyaW5nO1xuICAvKiogRFRDQyBjb21wbGlhbmNlIHBhcnR5IElEIChjYW50b25QYXJ0aWNpcGFudE9uYm9hcmRpbmdSZXF1ZXN0IGludGVudCkuICovXG4gIGNvbXBsaWFuY2U/OiBzdHJpbmc7XG4gIC8qKiBEVENDIHJlZ2lzdHJhciBwYXJ0eSBJRCAoY2FudG9uUGFydGljaXBhbnRPbmJvYXJkaW5nUmVxdWVzdCBpbnRlbnQpLiAqL1xuICByZWdpc3RyYXI/OiBzdHJpbmc7XG4gIC8qKiBEVENDIGNsaWVudCBvbmJvYXJkZXIgcGFydHkgSUQgKGNhbnRvblBhcnRpY2lwYW50T25ib2FyZGluZ1JlcXVlc3QgaW50ZW50KS4gKi9cbiAgY2xpZW50T25ib2FyZGVyPzogc3RyaW5nO1xuICAvKiogT3B0aW9uYWwgSVNPIDg2MDEgZXhwaXJhdGlvbiB0aW1lc3RhbXAgKGNhbnRvblBhcnRpY2lwYW50T25ib2FyZGluZ1JlcXVlc3QgaW50ZW50KS4gKi9cbiAgZXhwaXJhdGlvbklzbz86IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZW50UmVjaXBpZW50IHtcbiAgYWRkcmVzczoge1xuICAgIGFkZHJlc3M6IHN0cmluZztcbiAgfTtcbiAgYW1vdW50OiB7XG4gICAgdmFsdWU6IHN0cmluZyB8IG51bWJlcjtcbiAgICBzeW1ib2w6IHN0cmluZztcbiAgfTtcbiAgZGF0YT86IHN0cmluZztcbiAgdG9rZW5EYXRhPzogVG9rZW5UcmFuc2ZlclJlY2lwaWVudFBhcmFtcztcbn1cbmludGVyZmFjZSBQb3B1bGF0ZWRJbnRlbnRCYXNlIHtcbiAgaW50ZW50VHlwZTogc3RyaW5nO1xuICBzZXF1ZW5jZUlkPzogc3RyaW5nO1xuICBjb21tZW50Pzogc3RyaW5nO1xuICBtZW1vPzogc3RyaW5nO1xuICBpc1Rzcz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9wdWxhdGVkSW50ZW50Rm9yTWVzc2FnZVNpZ25pbmcgZXh0ZW5kcyBQb3B1bGF0ZWRJbnRlbnRCYXNlIHtcbiAgbWVzc2FnZVJhdzogc3RyaW5nO1xuICBtZXNzYWdlRW5jb2RlZDogc3RyaW5nO1xuICBjdXN0b2RpYW5NZXNzYWdlSWQ/OiBzdHJpbmc7XG4gIG1lc3NhZ2VTdGFuZGFyZFR5cGU/OiBNZXNzYWdlU3RhbmRhcmRUeXBlO1xuICBzaWduZXJBZGRyZXNzPzogc3RyaW5nO1xuICAvKiogQmFzZTY0LWVuY29kZWQgcHJlcGFyZWQgdHJhbnNhY3Rpb24gYnl0ZXMgcmVxdWlyZWQgYnkgQ2FudG9uIG1lc3NhZ2Ugc2lnbmluZy4gKi9cbiAgcHJlcGFyZWRUcmFuc2FjdGlvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQb3B1bGF0ZWRJbnRlbnRGb3JUeXBlZERhdGFTaWduaW5nIGV4dGVuZHMgUG9wdWxhdGVkSW50ZW50QmFzZSB7XG4gIG1lc3NhZ2VSYXc6IHN0cmluZztcbiAgbWVzc2FnZUVuY29kZWQ6IHN0cmluZztcbiAgY3VzdG9kaWFuTWVzc2FnZUlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvcHVsYXRlZEludGVudCBleHRlbmRzIFBvcHVsYXRlZEludGVudEJhc2UsIERlZmlJbnRlbnRGaWVsZHMge1xuICBzdGFraW5nUmVxdWVzdElkPzogc3RyaW5nO1xuICByZWNpcGllbnRzPzogSW50ZW50UmVjaXBpZW50W107XG4gIG5vbmNlPzogc3RyaW5nO1xuICB0b2tlbj86IHN0cmluZztcbiAgZW5hYmxlVG9rZW5zPzogVG9rZW5FbmFibGVtZW50W107XG4gIHVuc3BlbnRzPzogc3RyaW5nW107XG4gIGZ1bmRzSW5BZGRyZXNzQmFsYW5jZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSByZWNlaXZlIGFkZHJlc3MgZnJvbSB3aGljaCBmdW5kcyB3aWxsIGJlIHdpdGhkcmF3bi5cbiAgICogVGhpcyBmZWF0dXJlIGlzIHN1cHBvcnRlZCBvbmx5IGZvciBzcGVjaWZpYyBjb2lucywgbGlrZSBBREEuXG4gICAqL1xuICBzZW5kZXJBZGRyZXNzPzogc3RyaW5nO1xuICAvLyBFVEggJiBFVEgtbGlrZSBwYXJhbXNcbiAgc2VsZlNlbmQ/OiBib29sZWFuO1xuICBmZWVPcHRpb25zPzogRmVlT3B0aW9uIHwgRUlQMTU1OUZlZU9wdGlvbnM7XG4gIC8qKlxuICAgKiBUSVAtMjAgdG9rZW4gYWRkcmVzcyB0byB1c2UgZm9yIHBheWluZyB0cmFuc2FjdGlvbiBmZWVzIChUZW1wbyBvbmx5KS5cbiAgICogVGhpcyBpcyBwbGFjZWQgYXQgdGhlIGludGVudCBsZXZlbCwgbm90IG5lc3RlZCBpbiBmZWVPcHRpb25zLlxuICAgKi9cbiAgZmVlVG9rZW4/OiBzdHJpbmc7XG4gIGhvcFBhcmFtcz86IEhvcFBhcmFtcztcbiAgdHhpZD86IHN0cmluZztcbiAgcmVjZWl2ZUFkZHJlc3M/OiBzdHJpbmc7XG4gIGN1c3RvZGlhblRyYW5zYWN0aW9uSWQ/OiBzdHJpbmc7XG4gIGN1c3RvZGlhbk1lc3NhZ2VJZD86IHN0cmluZztcbiAgdG9rZW5OYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogQ3VzdG9tIFNvbGFuYSBpbnN0cnVjdGlvbnMgZm9yIHVzZSB3aXRoIHRoZSBjdXN0b21UeCBpbnRlbnQgdHlwZS5cbiAgICogRWFjaCBpbnN0cnVjdGlvbiBzaG91bGQgY29udGFpbiBwcm9ncmFtSWQsIGtleXMsIGFuZCBkYXRhIGZpZWxkcy5cbiAgICovXG4gIHNvbEluc3RydWN0aW9ucz86IFNvbEluc3RydWN0aW9uW107XG4gIC8qKlxuICAgKiBEZWNvbnN0cnVjdGVkIFZlcnNpb25lZCBUcmFuc2FjdGlvbiBkYXRhIGZvciBTb2xhbmEgY3VzdG9tVHggaW50ZW50IHR5cGUuXG4gICAqIENvbnRhaW5zIGNvbXBpbGVkIGluc3RydWN0aW9ucywgQWRkcmVzcyBMb29rdXAgVGFibGVzLCBhbmQgc3RhdGljIGFjY291bnQga2V5cy5cbiAgICovXG4gIHNvbFZlcnNpb25lZFRyYW5zYWN0aW9uRGF0YT86IFNvbFZlcnNpb25lZFRyYW5zYWN0aW9uRGF0YTtcbiAgLyoqXG4gICAqIEN1c3RvbSBBcHRvcyB0cmFuc2FjdGlvbiBmb3IgdXNlIHdpdGggdGhlIGN1c3RvbVR4IGludGVudCB0eXBlLlxuICAgKi9cbiAgYXB0b3NDdXN0b21UcmFuc2FjdGlvblBhcmFtcz86IGFwdG9zQ3VzdG9tVHJhbnNhY3Rpb25QYXJhbXM7XG4gIHR4UmVxdWVzdElkPzogc3RyaW5nO1xuICBpc1Rlc3RUcmFuc2FjdGlvbj86IGJvb2xlYW47XG4gIHRyYW5zZmVyT2ZmZXJJZD86IHN0cmluZztcbiAgLyoqXG4gICAqIEFtb3VudCBmb3IgaW50ZW50cyB0aGF0IHVzZSBhIHRvcC1sZXZlbCBhbW91bnQgaW5zdGVhZCBvZiByZWNpcGllbnRzIChlLmcuIGJyaWRnZUZ1bmRzKS5cbiAgICovXG4gIGFtb3VudD86IHsgdmFsdWU6IHN0cmluZzsgc3ltYm9sOiBzdHJpbmcgfSB8IHN0cmluZztcbiAgLyoqIENhbnRvbi1zcGVjaWZpYyBwYXJhbXMgc2VyaWFsaXplZCBpbnRvIHRoZSBjYW50b25Db21tYW5kIGludGVudCBwYXlsb2FkLiAqL1xuICBjYW50b25Db21tYW5kUGFyYW1zPzogQ2FudG9uQ29tbWFuZFBhcmFtcztcbiAgLyoqIENhbnRvbiBwYXJ0eSBJRCBvZiB0aGUgZW5kIGludmVzdG9yIHRvIG9uYm9hcmQgKGNhbnRvbkVuZEludmVzdG9yT25ib2FyZGluZ09mZmVyIGludGVudCkuICovXG4gIGVuZEludmVzdG9yUGFydHlJZD86IHN0cmluZztcbiAgLyoqIFJlYXNvbiBmb3IgcmVqZWN0aW5nIHRoZSBvbmJvYXJkaW5nIG9mZmVyIChjYW50b25FbmRJbnZlc3Rvck9uYm9hcmRpbmdSZWplY3QgaW50ZW50KS4gKi9cbiAgcmVhc29uPzogc3RyaW5nO1xuICAvKiogRFRDQyBvcGVyYXRvciBwYXJ0eSBJRCAoY2FudG9uUGFydGljaXBhbnRPbmJvYXJkaW5nUmVxdWVzdCBpbnRlbnQpLiAqL1xuICBvcGVyYXRvcj86IHN0cmluZztcbiAgLyoqIERUQ0MgcHJvdmlkZXIgcGFydHkgSUQgKGNhbnRvblBhcnRpY2lwYW50T25ib2FyZGluZ1JlcXVlc3QgaW50ZW50KS4gKi9cbiAgcHJvdmlkZXI/OiBzdHJpbmc7XG4gIC8qKiBEVENDIGNvbXBsaWFuY2UgcGFydHkgSUQgKGNhbnRvblBhcnRpY2lwYW50T25ib2FyZGluZ1JlcXVlc3QgaW50ZW50KS4gKi9cbiAgY29tcGxpYW5jZT86IHN0cmluZztcbiAgLyoqIERUQ0MgcmVnaXN0cmFyIHBhcnR5IElEIChjYW50b25QYXJ0aWNpcGFudE9uYm9hcmRpbmdSZXF1ZXN0IGludGVudCkuICovXG4gIHJlZ2lzdHJhcj86IHN0cmluZztcbiAgLyoqIERUQ0MgY2xpZW50IG9uYm9hcmRlciBwYXJ0eSBJRCAoY2FudG9uUGFydGljaXBhbnRPbmJvYXJkaW5nUmVxdWVzdCBpbnRlbnQpLiAqL1xuICBjbGllbnRPbmJvYXJkZXI/OiBzdHJpbmc7XG4gIC8qKiBPcHRpb25hbCBJU08gODYwMSBleHBpcmF0aW9uIHRpbWVzdGFtcCAoY2FudG9uUGFydGljaXBhbnRPbmJvYXJkaW5nUmVxdWVzdCBpbnRlbnQpLiAqL1xuICBleHBpcmF0aW9uSXNvPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBUeFJlcXVlc3RTdGF0ZSA9XG4gIHwgJ3BlbmRpbmdDb21taXRtZW50J1xuICB8ICdwZW5kaW5nQXBwcm92YWwnXG4gIHwgJ2NhbmNlbGVkJ1xuICB8ICdyZWplY3RlZCdcbiAgfCAnaW5pdGlhbGl6ZWQnXG4gIHwgJ3BlbmRpbmdEZWxpdmVyeSdcbiAgfCAnZGVsaXZlcmVkJ1xuICB8ICdwZW5kaW5nVXNlclNpZ25hdHVyZSdcbiAgfCAnc2lnbmVkJztcblxuZXhwb3J0IHR5cGUgVHJhbnNhY3Rpb25TdGF0ZSA9XG4gIHwgJ2luaXRpYWxpemVkJ1xuICB8ICdwZW5kaW5nQ29tbWl0bWVudCdcbiAgfCAncGVuZGluZ1NpZ25hdHVyZSdcbiAgfCAnc2lnbmVkJ1xuICB8ICdoZWxkJ1xuICB8ICdkZWxpdmVyZWQnXG4gIHwgJ2ludmFsaWRTaWduYXR1cmUnXG4gIHwgJ3JlamVjdGVkJztcblxuLy8gVHlwZSB1c2VkIHRvIHNpZ24gYSBUU1MgdHJhbnNhY3Rpb25cbmV4cG9ydCB0eXBlIFNpZ25hYmxlVHJhbnNhY3Rpb24gPSB7XG4gIC8vIHVuc2lnbmVkIHRyYW5zYWN0aW9uIGluIGJyb2FkY2FzdCBmb3JtYXRcbiAgc2VyaWFsaXplZFR4SGV4OiBzdHJpbmc7XG4gIC8vIHBvcnRpb24gb2YgYSB0cmFuc2FjdGlvbiB1c2VkIHRvIGdlbmVyYXRlIGEgc2lnbmF0dXJlXG4gIHNpZ25hYmxlSGV4OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlcGxheVByb3RlY3Rpb25PcHRpb25zIHtcbiAgY2hhaW46IHN0cmluZyB8IG51bWJlcjtcbiAgaGFyZGZvcms6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgVW5zaWduZWRUcmFuc2FjdGlvblRzcyA9IFNpZ25hYmxlVHJhbnNhY3Rpb24gJiB7XG4gIC8vIGRlcml2YXRpb24gcGF0aCBvZiB0aGUgc2lnbmVyXG4gIGRlcml2YXRpb25QYXRoOiBzdHJpbmc7XG4gIC8vIHRyYW5zYWN0aW9uIGZlZXNcbiAgZmVlSW5mbz86IFJlcXVpcmVkPFByZWJ1aWxkVHJhbnNhY3Rpb25GZWVJbmZvPjtcbiAgY29pblNwZWNpZmljPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIHBhcnNlZFR4PzogdW5rbm93bjtcbiAgZWlwMTU1OT86IEVJUDE1NTlGZWVPcHRpb25zO1xuICByZXBsYXlQcm90ZWN0aW9uT3B0aW9ucz86IFJlcGxheVByb3RlY3Rpb25PcHRpb25zO1xufTtcblxuZXhwb3J0IHR5cGUgVW5zaWduZWRNZXNzYWdlVHNzID0ge1xuICBkZXJpdmF0aW9uUGF0aDogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgZW51bSBSZXF1ZXN0VHlwZSB7XG4gIHR4LFxuICBtZXNzYWdlLFxufVxuZXhwb3J0IHR5cGUgU2lnbmVkVHggPSB7XG4gIGlkOiBzdHJpbmc7XG4gIHR4OiBzdHJpbmc7XG4gIHB1YmxpY0tleT86IHN0cmluZztcbiAgc2lnbmF0dXJlPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgVHhSZXF1ZXN0ID0ge1xuICB0eFJlcXVlc3RJZDogc3RyaW5nO1xuICB3YWxsZXRJZDogc3RyaW5nO1xuICB3YWxsZXRUeXBlOiBXYWxsZXRUeXBlO1xuICB2ZXJzaW9uOiBudW1iZXI7XG4gIGVudGVycHJpc2VJZD86IHN0cmluZztcbiAgc3RhdGU6IFR4UmVxdWVzdFN0YXRlO1xuICBkYXRlOiBzdHJpbmc7XG4gIHVzZXJJZDogc3RyaW5nO1xuICBpbnRlbnQ6IHVua25vd247IC8vIFNob3VsZCBvdmVycmlkZSB3aXRoIHNpZyBzY2hlbWUgc3BlY2lmaWMgaW50ZW50XG4gIHBlbmRpbmdBcHByb3ZhbElkPzogc3RyaW5nO1xuICBwb2xpY2llc0NoZWNrZWQ6IGJvb2xlYW47XG4gIHNpZ25hdHVyZVNoYXJlcz86IFNpZ25hdHVyZVNoYXJlUmVjb3JkW107XG4gIGNvbW1pdG1lbnRTaGFyZXM/OiBDb21taXRtZW50U2hhcmVSZWNvcmRbXTtcbiAgcGVuZGluZ1R4SGFzaGVzPzogc3RyaW5nW107XG4gIHR4SGFzaGVzPzogc3RyaW5nW107XG4gIHVuc2lnbmVkTWVzc2FnZXM/OiBVbnNpZ25lZE1lc3NhZ2VUc3NbXTtcbiAgLy8gT25seSBhdmFpbGFibGUgaW4gJ2xpdGUnIHZlcnNpb25cbiAgdW5zaWduZWRUeHM6IFVuc2lnbmVkVHJhbnNhY3Rpb25Uc3NbXTsgLy8gU2hvdWxkIG92ZXJyaWRlIHdpdGggYmxvY2tjaGFpbiAvIHNpZyBzY2hlbWUgc3BlY2lmaWMgdW5zaWduZWQgdHhcbiAgLy8gT25seSBhdmFpbGFibGUgaW4gJ2Z1bGwnIHZlcnNpb25cbiAgdHJhbnNhY3Rpb25zPzoge1xuICAgIHN0YXRlOiBUcmFuc2FjdGlvblN0YXRlO1xuICAgIHVuc2lnbmVkVHg6IFVuc2lnbmVkVHJhbnNhY3Rpb25Uc3M7IC8vIFNob3VsZCBvdmVycmlkZSB3aXRoIGJsb2NrY2hhaW4gLyBzaWcgc3BlY2lmaWMgdW5zaWduZWQgdHhcbiAgICBzaWduYXR1cmVTaGFyZXM6IFNpZ25hdHVyZVNoYXJlUmVjb3JkW107XG4gICAgc2lnbmVkVHg/OiBTaWduZWRUeDtcbiAgICBjb21taXRtZW50U2hhcmVzPzogQ29tbWl0bWVudFNoYXJlUmVjb3JkW107XG4gIH1bXTtcbiAgbWVzc2FnZXM/OiB7XG4gICAgc3RhdGU6IFRyYW5zYWN0aW9uU3RhdGU7XG4gICAgc2lnbmF0dXJlU2hhcmVzOiBTaWduYXR1cmVTaGFyZVJlY29yZFtdO1xuICAgIG1lc3NhZ2VSYXc6IHN0cmluZztcbiAgICBtZXNzYWdlRW5jb2RlZD86IHN0cmluZztcbiAgICBtZXNzYWdlQnJvYWRjYXN0YWJsZT86IHN0cmluZztcbiAgICBtZXNzYWdlU3RhbmRhcmRUeXBlPzogTWVzc2FnZVN0YW5kYXJkVHlwZTtcbiAgICBkZXJpdmF0aW9uUGF0aDogc3RyaW5nO1xuICAgIGNvbWJpbmVTaWdTaGFyZT86IHN0cmluZztcbiAgICB0eEhhc2g/OiBzdHJpbmc7XG4gICAgY29tbWl0bWVudFNoYXJlcz86IENvbW1pdG1lbnRTaGFyZVJlY29yZFtdO1xuICB9W107XG4gIGFwaVZlcnNpb24/OiBUeFJlcXVlc3RWZXJzaW9uO1xuICBsYXRlc3Q6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBDcmVhdGVLZXljaGFpblBhcmFtc0Jhc2UgPSB7XG4gIHVzZXJHcGdLZXk6IFNlcmlhbGl6ZWRLZXlQYWlyPHN0cmluZz47XG4gIGJpdGdvS2V5Y2hhaW46IEtleWNoYWluO1xuICBwYXNzcGhyYXNlPzogc3RyaW5nO1xuICBlbnRlcnByaXNlPzogc3RyaW5nO1xuICBvcmlnaW5hbFBhc3Njb2RlRW5jcnlwdGlvbkNvZGU/OiBzdHJpbmc7XG4gIHdlYmF1dGhuSW5mbz86IFdlYmF1dGhuS2V5RW5jcnlwdGlvbkluZm87XG4gIGVuY3J5cHRpb25WZXJzaW9uPzogRW5jcnlwdGlvblZlcnNpb247XG4gIGVuY3J5cHRpb25TZXNzaW9uPzogSUVuY3J5cHRpb25TZXNzaW9uO1xufTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlQml0R29LZXljaGFpblBhcmFtc0Jhc2UgPSBPbWl0PENyZWF0ZUtleWNoYWluUGFyYW1zQmFzZSwgJ2JpdGdvS2V5Y2hhaW4nPjtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIGNpcGhlcnRleHQgc3RyaW5nIGlzIGEgdjIgZW5jcnlwdGlvbiBlbnZlbG9wZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVjJFbnZlbG9wZShjaXBoZXJ0ZXh0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShjaXBoZXJ0ZXh0KS52ID09PSAyO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IFNpZ25hdHVyZVNoYXJlVHlwZSA9IHtcbiAgVVNFUjogJ3VzZXInLFxuICBCQUNLVVA6ICdiYWNrdXAnLFxuICBCSVRHTzogJ2JpdGdvJyxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIFNpZ25hdHVyZVNoYXJlVHlwZSA9ICh0eXBlb2YgU2lnbmF0dXJlU2hhcmVUeXBlKVtrZXlvZiB0eXBlb2YgU2lnbmF0dXJlU2hhcmVUeXBlXTtcblxuaW50ZXJmYWNlIFNoYXJlQmFzZVJlY29yZCB7XG4gIGZyb206IFNpZ25hdHVyZVNoYXJlVHlwZTtcbiAgdG86IFNpZ25hdHVyZVNoYXJlVHlwZTtcbiAgc2hhcmU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaWduYXR1cmVTaGFyZVJlY29yZCBleHRlbmRzIFNoYXJlQmFzZVJlY29yZCB7XG4gIHZzc1Byb29mPzogc3RyaW5nO1xuICBwcml2YXRlU2hhcmVQcm9vZj86IHN0cmluZztcbiAgcHVibGljU2hhcmU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBDb21taXRtZW50VHlwZSA9IHtcbiAgQ09NTUlUTUVOVDogJ2NvbW1pdG1lbnQnLFxuICBERUNPTU1JVE1FTlQ6ICdkZWNvbW1pdG1lbnQnLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgQ29tbWl0bWVudFR5cGUgPSAodHlwZW9mIENvbW1pdG1lbnRUeXBlKVtrZXlvZiB0eXBlb2YgQ29tbWl0bWVudFR5cGVdO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbW1pdG1lbnRTaGFyZVJlY29yZCBleHRlbmRzIFNoYXJlQmFzZVJlY29yZCB7XG4gIHR5cGU6IENvbW1pdG1lbnRUeXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV4Y2hhbmdlQ29tbWl0bWVudFJlc3BvbnNlIHtcbiAgY29tbWl0bWVudFNoYXJlOiBDb21taXRtZW50U2hhcmVSZWNvcmQ7XG59XG5cbmV4cG9ydCBjb25zdCBFbmNyeXB0ZWRTaWduZXJTaGFyZVR5cGUgPSB7XG4gIEVOQ1JZUFRFRF9TSUdORVJfU0hBUkU6ICdlbmNyeXB0ZWRTaWduZXJTaGFyZScsXG4gIEVOQ1JZUFRFRF9SX1NIQVJFOiAnZW5jcnlwdGVkUlNoYXJlJyxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIEVuY3J5cHRlZFNpZ25lclNoYXJlVHlwZSA9ICh0eXBlb2YgRW5jcnlwdGVkU2lnbmVyU2hhcmVUeXBlKVtrZXlvZiB0eXBlb2YgRW5jcnlwdGVkU2lnbmVyU2hhcmVUeXBlXTtcblxuZXhwb3J0IGludGVyZmFjZSBFbmNyeXB0ZWRTaWduZXJTaGFyZVJlY29yZCBleHRlbmRzIFNoYXJlQmFzZVJlY29yZCB7XG4gIHR5cGU6IEVuY3J5cHRlZFNpZ25lclNoYXJlVHlwZTtcbn1cblxuZXhwb3J0IHR5cGUgQml0Z29QdWJLZXlUeXBlID0gJ25pdHJvJyB8ICdvbnByZW0nO1xuXG5leHBvcnQgdHlwZSBUU1NQYXJhbXMgPSB7XG4gIHR4UmVxdWVzdDogc3RyaW5nIHwgVHhSZXF1ZXN0OyAvLyBjYW4gYmUgZWl0aGVyIGEgc3RyaW5nIG9yIFR4UmVxdWVzdFxuICByZXFJZDogSVJlcXVlc3RUcmFjZXI7XG4gIGFwaVZlcnNpb24/OiBBcGlWZXJzaW9uO1xuICB0eFBhcmFtcz86IFRyYW5zYWN0aW9uUGFyYW1zO1xufTtcblxuZXhwb3J0IHR5cGUgVFNTUGFyYW1zRm9yTWVzc2FnZSA9IFRTU1BhcmFtcyAmIHtcbiAgbWVzc2FnZVJhdzogc3RyaW5nO1xuICBtZXNzYWdlRW5jb2RlZD86IHN0cmluZztcbiAgYnVmZmVyVG9TaWduOiBCdWZmZXI7XG59O1xuXG4vKiogQXQgbGVhc3Qgb25lIHJlY2lwaWVudCAod2hlbiB1c2luZyBgcmVjaXBpZW50U291cmNlOiBUc3NUeFJlY2lwaWVudFNvdXJjZS5FeHBsaWNpdGApLiAqL1xuZXhwb3J0IHR5cGUgTm9uRW1wdHlSZWNpcGllbnRMaXN0ID0gW0lUcmFuc2FjdGlvblJlY2lwaWVudCwgLi4uSVRyYW5zYWN0aW9uUmVjaXBpZW50W11dO1xuXG4vKiogdHhQYXJhbXMgaW5jbHVkaW5nIGEgbm9uLWVtcHR5IHJlY2lwaWVudHMgbGlzdCBmb3Igc3RyaWN0IHNpZ25pbmcgdmVyaWZpY2F0aW9uIHR5cGluZy4gKi9cbmV4cG9ydCB0eXBlIFRyYW5zYWN0aW9uUGFyYW1zV2l0aE1hbmRhdG9yeVJlY2lwaWVudHMgPSBUcmFuc2FjdGlvblBhcmFtcyAmIHtcbiAgcmVjaXBpZW50czogTm9uRW1wdHlSZWNpcGllbnRMaXN0O1xufTtcblxuZXhwb3J0IGNvbnN0IFRzc1R4UmVjaXBpZW50U291cmNlID0ge1xuICAvKiogUmVxdWlyZSB0eFBhcmFtcy5yZWNpcGllbnRzIHdpdGggYXQgbGVhc3Qgb25lIGVudHJ5IChlbmZvcmNlZCBieSBUeXBlU2NyaXB0IGZvciB0aGlzIGJyYW5jaCkuICovXG4gIEV4cGxpY2l0OiAnZXhwbGljaXQnLFxuICAvKipcbiAgICogRGVmYXVsdDogdHhQYXJhbXMgbWF5IGJlIG9taXR0ZWQgb3IgcGFydGlhbDsgdmVyaWZpY2F0aW9uIHVzZXMgY29pbi1zcGVjaWZpYyBydWxlc1xuICAgKiAoZm9yIGV4YW1wbGUgcmVjaXBpZW50cyBmcm9tIHR4UmVxdWVzdCBjb250ZXh0KS5cbiAgICovXG4gIFJlc29sdmVkOiAncmVzb2x2ZWQnLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgVHNzVHhSZWNpcGllbnRTb3VyY2UgPSAodHlwZW9mIFRzc1R4UmVjaXBpZW50U291cmNlKVtrZXlvZiB0eXBlb2YgVHNzVHhSZWNpcGllbnRTb3VyY2VdO1xuXG5leHBvcnQgdHlwZSBUc3NTaWduVHhFeHBsaWNpdFJlY2lwaWVudFBhcmFtcyA9IHtcbiAgdHhSZXF1ZXN0OiBzdHJpbmcgfCBUeFJlcXVlc3Q7XG4gIHJlcUlkOiBJUmVxdWVzdFRyYWNlcjtcbiAgYXBpVmVyc2lvbj86IEFwaVZlcnNpb247XG4gIHJlY2lwaWVudFNvdXJjZTogdHlwZW9mIFRzc1R4UmVjaXBpZW50U291cmNlLkV4cGxpY2l0O1xuICB0eFBhcmFtczogVHJhbnNhY3Rpb25QYXJhbXNXaXRoTWFuZGF0b3J5UmVjaXBpZW50cztcbn07XG5cbmV4cG9ydCB0eXBlIFRzc1NpZ25UeFJlc29sdmVkUmVjaXBpZW50UGFyYW1zID0ge1xuICB0eFJlcXVlc3Q6IHN0cmluZyB8IFR4UmVxdWVzdDtcbiAgcmVxSWQ6IElSZXF1ZXN0VHJhY2VyO1xuICBhcGlWZXJzaW9uPzogQXBpVmVyc2lvbjtcbiAgcmVjaXBpZW50U291cmNlPzogdHlwZW9mIFRzc1R4UmVjaXBpZW50U291cmNlLlJlc29sdmVkO1xuICB0eFBhcmFtcz86IFRyYW5zYWN0aW9uUGFyYW1zO1xufTtcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciBUU1MgdHJhbnNhY3Rpb24gc2lnbmluZyAoe0BsaW5rIElUc3NVdGlscy5zaWduVHhSZXF1ZXN0fSkuXG4gKiBTZXQge0BsaW5rIFRzc1R4UmVjaXBpZW50U291cmNlLkV4cGxpY2l0fSB0byByZXF1aXJlIGEgbm9uLWVtcHR5IHR4UGFyYW1zLnJlY2lwaWVudHMgYXJyYXkgYXQgY29tcGlsZSB0aW1lLlxuICovXG5leHBvcnQgdHlwZSBUc3NTaWduVHhSZXF1ZXN0UGFyYW1zID0gVHNzU2lnblR4RXhwbGljaXRSZWNpcGllbnRQYXJhbXMgfCBUc3NTaWduVHhSZXNvbHZlZFJlY2lwaWVudFBhcmFtcztcblxuZXhwb3J0IHR5cGUgVHNzU2lnblR4UmVxdWVzdFBhcmFtc1dpdGhQcnYgPSBUc3NTaWduVHhSZXF1ZXN0UGFyYW1zICYge1xuICBwcnY6IHN0cmluZztcbiAgbXBjdjJQYXJ0eUlkPzogMCB8IDE7XG59O1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIFVzZSB7QGxpbmsgVHNzU2lnblR4UmVxdWVzdFBhcmFtc1dpdGhQcnZ9IGluc3RlYWQuIFRoaXMgYWxpYXMgZXhpc3RzIGZvclxuICogYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSBtYWpvciByZWxlYXNlLlxuICovXG5leHBvcnQgdHlwZSBUU1NQYXJhbXNXaXRoUHJ2ID0gVHNzU2lnblR4UmVxdWVzdFBhcmFtc1dpdGhQcnY7XG5cbmV4cG9ydCB0eXBlIFRTU1BhcmFtc0Zvck1lc3NhZ2VXaXRoUHJ2ID0gVFNTUGFyYW1zRm9yTWVzc2FnZSAmIHtcbiAgcHJ2OiBzdHJpbmc7XG4gIG1wY3YyUGFydHlJZD86IDAgfCAxO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBCaXRnb0hlbGRCYWNrdXBLZXlTaGFyZSB7XG4gIGNvbW1vbktleWNoYWluPzogc3RyaW5nO1xuICBpZDogc3RyaW5nO1xuICBrZXlTaGFyZXM6IEFwaUtleVNoYXJlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFja3VwS2V5U2hhcmUge1xuICBiaXRHb0hlbGRLZXlTaGFyZXM/OiBCaXRnb0hlbGRCYWNrdXBLZXlTaGFyZTtcbiAgdXNlckhlbGRLZXlTaGFyZT86IEtleVNoYXJlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJpdGdvR1BHUHVibGljS2V5IHtcbiAgbmFtZTogc3RyaW5nO1xuICBwdWJsaWNLZXk6IHN0cmluZztcbiAgbXBjdjJQdWJsaWNLZXk/OiBzdHJpbmc7XG4gIGVkZHNhTXBjdjJQdWJsaWNLZXk/OiBzdHJpbmc7XG4gIHJlZHBhbGxhc01wY3YyUHVibGljS2V5Pzogc3RyaW5nO1xuICBlbnRlcnByaXNlSWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNUENUeCB7XG4gIHNlcmlhbGl6ZWRUeDogc3RyaW5nO1xuICBzY2FuSW5kZXg/OiBudW1iZXI7XG4gIGNvaW4/OiBzdHJpbmc7XG4gIHNpZ25hYmxlSGV4Pzogc3RyaW5nO1xuICBkZXJpdmF0aW9uUGF0aD86IHN0cmluZztcbiAgcGFyc2VkVHg/OiBQYXJzZWRUcmFuc2FjdGlvbjtcbiAgZmVlSW5mbz86IFJlcXVpcmVkPFByZWJ1aWxkVHJhbnNhY3Rpb25GZWVJbmZvPjtcbiAgY29pblNwZWNpZmljPzoge1xuICAgIGZpcnN0VmFsaWQ/OiBudW1iZXI7XG4gICAgbWF4RHVyYXRpb24/OiBudW1iZXI7XG4gICAgY29tbW9uS2V5Y2hhaW4/OiBzdHJpbmc7XG4gICAgbGFzdFNjYW5JbmRleD86IG51bWJlcjtcbiAgfTtcbiAgLy8gdGhlIGFtb3VudCByZWNvdmVyZWQgdXNpbmcgV1JXXG4gIHJlY292ZXJ5QW1vdW50Pzogc3RyaW5nO1xuICAvLyB0aGUgdHJhbnNhY3Rpb24gc2lnbmF0dXJlIHVzZWQgZm9yIGJyb2FkY2FzdGluZyB0aGUgdHJhbnNhY3Rpb25cbiAgc2lnbmF0dXJlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1QQ1JlY292ZXJ5T3B0aW9ucyB7XG4gIHVzZXJLZXk/OiBzdHJpbmc7IC8vIEJveCBBXG4gIGJhY2t1cEtleT86IHN0cmluZzsgLy8gQm94IEJcbiAgYml0Z29LZXk6IHN0cmluZzsgLy8gQm94IEMgLSB0aGlzIGlzIGJpdGdvJ3MgeHB1YiBhbmQgd2lsbCBiZSB1c2VkIHRvIGRlcml2ZSB0aGVpciByb290IGFkZHJlc3NcbiAgcmVjb3ZlcnlEZXN0aW5hdGlvbjogc3RyaW5nO1xuICB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nO1xuICBzZWVkPzogc3RyaW5nO1xuICBpbmRleD86IG51bWJlcjtcbiAgLy8gdGhlIHN0YXJ0aW5nIHJlY2VpdmUgYWRkcmVzcyBpbmRleCB0byBzY2FuIGZyb20gZm9yIFdSVyByZWNvdmVyeVxuICBzdGFydGluZ1NjYW5JbmRleD86IG51bWJlcjtcbiAgLy8gdGhlIG51bWJlciBvZiBhZGRyZXNzZXMgdG8gc2NhbiBmcm9tIHRoZSBzdGFydGluZyBpbmRleFxuICBzY2FuPzogbnVtYmVyO1xuICAvLyB0b2tlbiBjb250cmFjdCBhZGRyZXNzIG9mIHRoZSB0b2tlbiB0byByZWNvdmVyXG4gIHRva2VuQ29udHJhY3RBZGRyZXNzPzogc3RyaW5nO1xuICBhcGlLZXk/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTVBDQ29uc29saWRhdGlvblJlY292ZXJ5T3B0aW9ucyB7XG4gIHVzZXJLZXk/OiBzdHJpbmc7IC8vIEJveCBBXG4gIGJhY2t1cEtleT86IHN0cmluZzsgLy8gQm94IEJcbiAgYml0Z29LZXk6IHN0cmluZzsgLy8gQm94IENcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbiAgc3RhcnRpbmdTY2FuSW5kZXg/OiBudW1iZXI7IC8vIGRlZmF1bHQgdG8gMSAoaW5jbHVzaXZlKVxuICBlbmRpbmdTY2FuSW5kZXg/OiBudW1iZXI7IC8vIGRlZmF1bHQgdG8gc3RhcnRpbmdTY2FuSW5kZXggKyAyMCAoZXhjbHVzaXZlKVxuICBzZWVkPzogc3RyaW5nO1xuICB0b2tlbkNvbnRyYWN0QWRkcmVzcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNUENTd2VlcFR4cyB7XG4gIHR4UmVxdWVzdHM6IFJlY292ZXJ5VHhSZXF1ZXN0W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3ZlcnlUeFJlcXVlc3Qge1xuICB3YWxsZXRDb2luOiBzdHJpbmc7XG4gIHRyYW5zYWN0aW9uczogTVBDVW5zaWduZWRUeFtdIHwgT3ZjVHJhbnNhY3Rpb25bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNUENVbnNpZ25lZFR4IHtcbiAgdW5zaWduZWRUeDogTVBDVHg7XG4gIHNpZ25hdHVyZVNoYXJlczogW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTVBDU3dlZXBSZWNvdmVyeU9wdGlvbnMge1xuICBzaWduYXR1cmVTaGFyZXM6IFNpZ25hdHVyZVNoYXJlc1tdO1xufVxuXG5pbnRlcmZhY2UgU2lnbmF0dXJlU2hhcmVzIHtcbiAgdHhSZXF1ZXN0OiBSZWNvdmVyeVR4UmVxdWVzdDtcbiAgdHNzVmVyc2lvbjogc3RyaW5nO1xuICBvdmM6IE92Y1tdO1xufVxuXG5pbnRlcmZhY2UgT3ZjVHJhbnNhY3Rpb24ge1xuICB1bnNpZ25lZFR4OiBNUENUeDtcbiAgc2lnbmF0dXJlU2hhcmVzOiBTaWduYXR1cmVTaGFyZVJlY29yZFtdO1xuICBzaWduYXR1cmVTaGFyZTogU2lnbmF0dXJlU2hhcmU7XG59XG5cbmludGVyZmFjZSBTaWduYXR1cmVTaGFyZSB7XG4gIGZyb206IHN0cmluZztcbiAgdG86IHN0cmluZztcbiAgc2hhcmU6IHN0cmluZztcbiAgcHVibGljU2hhcmU6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIE92YyB7XG4gIGVkZHNhU2lnbmF0dXJlOiBTaWduYXR1cmU7XG4gIGVjZHNhU2lnbmF0dXJlPzogRWNkc2FTaWduYXR1cmU7XG4gIGVkZHNhTXBjdjJTaWduYXR1cmU/OiBzdHJpbmc7IC8vIHJhdyA2NC1ieXRlIEVkMjU1MTkgc2lnbmF0dXJlLCBoZXgtZW5jb2RlZCAoT1ZDIDUtcGFzcyBvdXRwdXQpXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTVBDVHhzIHtcbiAgdHJhbnNhY3Rpb25zOiBNUENUeFtdO1xuICBsYXN0U2NhbkluZGV4PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE92Y0lucHV0IHtcbiAgYWRkcmVzczogc3RyaW5nO1xuICB2YWx1ZTogbnVtYmVyO1xuICB2YWx1ZVN0cmluZzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE92Y091dHB1dCB7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgdmFsdWVTdHJpbmc6IHN0cmluZztcbiAgY29pbk5hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIEJhY2t1cEdwZ0tleSA9IFNlcmlhbGl6ZWRLZXlQYWlyPHN0cmluZz4gfCBLZXk7XG5cbi8qKlxuICogQ29tbW9uIEludGVyZmFjZSBmb3IgaW1wbGVtZW50aW5nIHNpZ25hdHVyZSBzY2hlbWUgc3BlY2lmaWNcbiAqIHV0aWwgZnVuY3Rpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVRzc1V0aWxzPEtleVNoYXJlID0gRUREU0EuS2V5U2hhcmU+IHtcbiAgY3JlYXRlQml0Z29IZWxkQmFja3VwS2V5U2hhcmUoXG4gICAgdXNlckdwZ0tleTogU2VyaWFsaXplZEtleVBhaXI8c3RyaW5nPixcbiAgICBlbnRlcnByaXNlOiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgKTogUHJvbWlzZTxCaXRnb0hlbGRCYWNrdXBLZXlTaGFyZT47XG4gIGZpbmFsaXplQml0Z29IZWxkQmFja3VwS2V5U2hhcmUoXG4gICAga2V5SWQ6IHN0cmluZyxcbiAgICBjb21tb25LZXljaGFpbjogc3RyaW5nLFxuICAgIHVzZXJLZXlTaGFyZTogS2V5U2hhcmUsXG4gICAgYml0Z29LZXljaGFpbjogS2V5Y2hhaW4sXG4gICAgZ3BnS2V5OiBTZXJpYWxpemVkS2V5UGFpcjxzdHJpbmc+LFxuICAgIGJpdGdvUHVibGljR3BnS2V5PzogS2V5XG4gICk6IFByb21pc2U8Qml0Z29IZWxkQmFja3VwS2V5U2hhcmU+O1xuICBjcmVhdGVVc2VyS2V5Y2hhaW4ocGFyYW1zOiBDcmVhdGVLZXljaGFpblBhcmFtc0Jhc2UpOiBQcm9taXNlPEtleWNoYWluPjtcbiAgY3JlYXRlQmFja3VwS2V5Y2hhaW4ocGFyYW1zOiBDcmVhdGVLZXljaGFpblBhcmFtc0Jhc2UpOiBQcm9taXNlPEtleWNoYWluPjtcbiAgY3JlYXRlQml0Z29LZXljaGFpbihwYXJhbXM6IENyZWF0ZUJpdEdvS2V5Y2hhaW5QYXJhbXNCYXNlKTogUHJvbWlzZTxLZXljaGFpbj47XG4gIGNyZWF0ZUtleWNoYWlucyhwYXJhbXM6IHtcbiAgICBwYXNzcGhyYXNlOiBzdHJpbmc7XG4gICAgZW50ZXJwcmlzZT86IHN0cmluZztcbiAgICBvcmlnaW5hbFBhc3Njb2RlRW5jcnlwdGlvbkNvZGU/OiBzdHJpbmc7XG4gICAgaXNUaGlyZFBhcnR5QmFja3VwPzogYm9vbGVhbjtcbiAgICBlbmNyeXB0aW9uVmVyc2lvbj86IEVuY3J5cHRpb25WZXJzaW9uO1xuICB9KTogUHJvbWlzZTxLZXljaGFpbnNUcmlwbGV0PjtcbiAgc2lnblR4UmVxdWVzdChwYXJhbXM6IFRzc1NpZ25UeFJlcXVlc3RQYXJhbXNXaXRoUHJ2KTogUHJvbWlzZTxUeFJlcXVlc3Q+O1xuICBzaWduVHhSZXF1ZXN0Rm9yTWVzc2FnZShwYXJhbXM6IFRTU1BhcmFtcyk6IFByb21pc2U8VHhSZXF1ZXN0PjtcbiAgc2lnbkVkZHNhVHNzVXNpbmdFeHRlcm5hbFNpZ25lcihcbiAgICB0eFJlcXVlc3Q6IHN0cmluZyB8IFR4UmVxdWVzdCxcbiAgICBleHRlcm5hbFNpZ25lckNvbW1pdG1lbnRHZW5lcmF0b3I6IEN1c3RvbUNvbW1pdG1lbnRHZW5lcmF0aW5nRnVuY3Rpb24sXG4gICAgZXh0ZXJuYWxTaWduZXJSU2hhcmVHZW5lcmF0b3I6IEN1c3RvbVJTaGFyZUdlbmVyYXRpbmdGdW5jdGlvbixcbiAgICBleHRlcm5hbFNpZ25lckdTaGFyZUdlbmVyYXRvcjogQ3VzdG9tR1NoYXJlR2VuZXJhdGluZ0Z1bmN0aW9uXG4gICk6IFByb21pc2U8VHhSZXF1ZXN0PjtcbiAgc2lnbkVjZHNhVHNzVXNpbmdFeHRlcm5hbFNpZ25lcihcbiAgICBwYXJhbXM6IFRTU1BhcmFtcyB8IFRTU1BhcmFtc0Zvck1lc3NhZ2UsXG4gICAgcmVxdWVzdFR5cGU6IFJlcXVlc3RUeXBlLFxuICAgIGV4dGVybmFsU2lnbmVyUGFpbGxpZXJNb2R1bHVzR2V0dGVyOiBDdXN0b21QYWlsbGllck1vZHVsdXNHZXR0ZXJGdW5jdGlvbixcbiAgICBleHRlcm5hbFNpZ25lcktTaGFyZUdlbmVyYXRvcjogQ3VzdG9tS1NoYXJlR2VuZXJhdGluZ0Z1bmN0aW9uLFxuICAgIGV4dGVybmFsU2lnbmVyTXVEZWx0YVNoYXJlR2VuZXJhdG9yOiBDdXN0b21NdURlbHRhU2hhcmVHZW5lcmF0aW5nRnVuY3Rpb24sXG4gICAgZXh0ZXJuYWxTaWduZXJTU2hhcmVHZW5lcmF0b3I6IEN1c3RvbVNTaGFyZUdlbmVyYXRpbmdGdW5jdGlvblxuICApOiBQcm9taXNlPFR4UmVxdWVzdD47XG4gIGNyZWF0ZUNvbW1pdG1lbnRTaGFyZUZyb21UeFJlcXVlc3QocGFyYW1zOiB7XG4gICAgdHhSZXF1ZXN0OiBUeFJlcXVlc3Q7XG4gICAgcHJ2OiBzdHJpbmc7XG4gICAgd2FsbGV0UGFzc3BocmFzZTogc3RyaW5nO1xuICAgIGJpdGdvR3BnUHViS2V5OiBzdHJpbmc7XG4gIH0pOiBQcm9taXNlPHtcbiAgICB1c2VyVG9CaXRnb0NvbW1pdG1lbnQ6IENvbW1pdG1lbnRTaGFyZVJlY29yZDtcbiAgICBlbmNyeXB0ZWRTaWduZXJTaGFyZTogRW5jcnlwdGVkU2lnbmVyU2hhcmVSZWNvcmQ7XG4gICAgZW5jcnlwdGVkVXNlclRvQml0Z29SU2hhcmU6IEVuY3J5cHRlZFNpZ25lclNoYXJlUmVjb3JkO1xuICB9PjtcbiAgY3JlYXRlUlNoYXJlRnJvbVR4UmVxdWVzdChwYXJhbXM6IHtcbiAgICB0eFJlcXVlc3Q6IFR4UmVxdWVzdDtcbiAgICB3YWxsZXRQYXNzcGhyYXNlOiBzdHJpbmc7XG4gICAgZW5jcnlwdGVkVXNlclRvQml0Z29SU2hhcmU6IEVuY3J5cHRlZFNpZ25lclNoYXJlUmVjb3JkO1xuICB9KTogUHJvbWlzZTx7IHJTaGFyZTogU2lnblNoYXJlIH0+O1xuICBjcmVhdGVHU2hhcmVGcm9tVHhSZXF1ZXN0KHBhcmFtczoge1xuICAgIHR4UmVxdWVzdDogVHhSZXF1ZXN0O1xuICAgIHBydjogc3RyaW5nO1xuICAgIGJpdGdvVG9Vc2VyUlNoYXJlOiBTaWduYXR1cmVTaGFyZVJlY29yZDtcbiAgICB1c2VyVG9CaXRnb1JTaGFyZTogU2lnblNoYXJlO1xuICAgIGJpdGdvVG9Vc2VyQ29tbWl0bWVudDogQ29tbWl0bWVudFNoYXJlUmVjb3JkO1xuICB9KTogUHJvbWlzZTxHU2hhcmU+O1xuICBwcmVidWlsZFR4V2l0aEludGVudChcbiAgICBwYXJhbXM6IFByZWJ1aWxkVHJhbnNhY3Rpb25XaXRoSW50ZW50T3B0aW9ucyxcbiAgICBhcGlWZXJzaW9uPzogVHhSZXF1ZXN0VmVyc2lvbixcbiAgICBwcmV2aWV3PzogYm9vbGVhblxuICApOiBQcm9taXNlPFR4UmVxdWVzdD47XG4gIGRlbGV0ZVNpZ25hdHVyZVNoYXJlcyh0eFJlcXVlc3RJZDogc3RyaW5nKTogUHJvbWlzZTxTaWduYXR1cmVTaGFyZVJlY29yZFtdPjtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgc2VuZFR4UmVxdWVzdCh0eFJlcXVlc3RJZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+O1xuICByZWNyZWF0ZVR4UmVxdWVzdCh0eFJlcXVlc3RJZDogc3RyaW5nLCBkZWNyeXB0ZWRQcnY6IHN0cmluZywgcmVxSWQ6IElSZXF1ZXN0VHJhY2VyKTogUHJvbWlzZTxUeFJlcXVlc3Q+O1xuICBnZXRUeFJlcXVlc3QodHhSZXF1ZXN0SWQ6IHN0cmluZyk6IFByb21pc2U8VHhSZXF1ZXN0PjtcbiAgc3VwcG9ydGVkVHhSZXF1ZXN0VmVyc2lvbnMoKTogVHhSZXF1ZXN0VmVyc2lvbltdO1xufVxuIl19
@@ -211,11 +211,15 @@ export declare function isGG18SigningMaterial(keyShare: string, walletPassphrase
211
211
  * @param bitgo BitGo instance for v1/v2 auto-detect decrypt
212
212
  * @returns MPC v2 recovery key shares
213
213
  */
214
- export declare function getMpcV2RecoveryKeyShares(encryptedUserKey: string, encryptedBackupKey: string, walletPassphrase: string | undefined, bitgo: BitGoBase): Promise<{
214
+ export interface MpcV2RecoveryKeyShares {
215
215
  userKeyShare: Buffer;
216
216
  backupKeyShare: Buffer;
217
217
  commonKeyChain: string;
218
- }>;
218
+ /** Serialized VRF keyshares from safe-root envelopes, when present. */
219
+ userVrfKeyShare?: Buffer;
220
+ backupVrfKeyShare?: Buffer;
221
+ }
222
+ export declare function getMpcV2RecoveryKeyShares(encryptedUserKey: string, encryptedBackupKey: string, walletPassphrase: string | undefined, bitgo: BitGoBase): Promise<MpcV2RecoveryKeyShares>;
219
223
  /**
220
224
  * Signs a message hash using MPC v2 recovery key shares.
221
225
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ecdsaMPCv2.d.ts","sourceRoot":"","sources":["../../../../../../src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ecdsaMPCv2.d.ts","sourceRoot":"","sources":["../../../../../../src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAiD,SAAS,EAAa,MAAM,oBAAoB,CAAC;AAEzG,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EAEzB,eAAe,EACf,4BAA4B,EAG7B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAsB,QAAQ,EAAW,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACrG,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAGxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAUhD,OAAO,EACL,0CAA0C,EAC1C,0CAA0C,EAC1C,0CAA0C,EAC1C,WAAW,EACX,oBAAoB,EACpB,SAAS,EACT,mBAAmB,EACnB,0BAA0B,EAE1B,6BAA6B,EAE7B,SAAS,EAGV,MAAM,cAAc,CAAC;AAItB,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAA6B,MAAM,0BAA0B,CAAC;AAG7F,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAG1E,qBAAa,eAAgB,SAAQ,cAAc;IACjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,2BAA2B,CAAiC;IACpF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,2BAA2B,CAAiC;IACpF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,2BAA2B,CAAiC;IAEpF,kBAAkB;IACZ,eAAe,CAAC,MAAM,EAAE;QAC5B,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,8BAA8B,CAAC,EAAE,MAAM,CAAC;QACxC,QAAQ,CAAC,EAAE,wBAAwB,CAAC;QACpC,YAAY,CAAC,EAAE,yBAAyB,CAAC;QACzC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;QAEtC,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA8SvB,yBAAyB,CAC7B,gBAAgB,EAAE,4BAA4B,EAC9C,cAAc,EAAE,MAAM,EACtB,eAAe,CAAC,EAAE,MAAM,EACxB,sBAAsB,CAAC,EAAE,MAAM,EAC/B,UAAU,CAAC,EAAE,MAAM,EACnB,8BAA8B,CAAC,EAAE,MAAM,EACvC,YAAY,CAAC,EAAE,yBAAyB,EACxC,iBAAiB,CAAC,EAAE;QAClB,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5C,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,IAAI,IAAI,CAAC;KACjB,EACD,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,UAAU,CAAC,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,EAEf,KAAK,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/C,OAAO,CAAC,QAAQ,CAAC;IA0FpB;;;;;;;OAOG;IACH,MAAM,CAAC,qBAAqB,CAC1B,iBAAiB,EAAE,MAAM,EACzB,OAAO,EAAE,gBAAgB,CAAC,MAAM,GAAG,gBAAgB,CAAC,IAAI,GACvD,SAAS,CAAC,YAAY;IAezB;;;;;OAKG;IACH,iCAAiC,CAAC,MAAM,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAA;KAAE,GAAG;QACrG,iBAAiB,EAAE,SAAS,CAAC,YAAY,CAAC;QAC1C,mBAAmB,EAAE,SAAS,CAAC,YAAY,CAAC;KAC7C;IAuBD;;;;;;;OAOG;IACH,MAAM,CAAC,gCAAgC,CAAC,EACtC,kBAAkB,EAClB,eAAe,EACf,MAAM,EACN,GAAG,GACJ,EAAE;QACD,kBAAkB,EAAE,MAAM,CAAC;QAC3B,eAAe,EAAE,MAAM,CAAC;QACxB,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;QACnB,GAAG,EAAE,KAAK,CAAC;KACZ,GAAG,SAAS,CAAC,YAAY;cAkCV,eAAe,CAC7B,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,EACvB,sBAAsB,EAAE,MAAM,EAC9B,UAAU,EAAE,MAAM,EAClB,8BAA8B,CAAC,EAAE,MAAM,EACvC,YAAY,CAAC,EAAE,yBAAyB,EACxC,iBAAiB,CAAC,EAAE;QAClB,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5C,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,IAAI,IAAI,CAAC;KACjB,EACD,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,UAAU,CAAC,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/C,OAAO,CAAC,QAAQ,CAAC;cAiBJ,iBAAiB,CAC/B,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,GAAG,SAAS,EACnC,sBAAsB,EAAE,MAAM,GAAG,SAAS,EAC1C,UAAU,EAAE,MAAM,EAClB,8BAA8B,CAAC,EAAE,MAAM,EACvC,iBAAiB,CAAC,EAAE;QAClB,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5C,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,IAAI,IAAI,CAAC;KACjB,EACD,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/C,OAAO,CAAC,QAAQ,CAAC;IAyBpB,OAAO,CAAC,uBAAuB;cAmBf,gBAAgB,CAC9B,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/C,OAAO,CAAC,QAAQ,CAAC;IAgBpB;;;OAGG;IACG,iCAAiC,CAAC,MAAM,EAAE;QAC9C,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,yBAAyB,CAAC;KACtC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA+EvB,uBAAuB,CAC3B,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,EACxB,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE,SAAS,CAAC,eAAe,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EAC1D,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,yBAAyB,CAAC;IAS/B,uBAAuB,CAC3B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,SAAS,CAAC,eAAe,GACjC,OAAO,CAAC,yBAAyB,CAAC;IAI/B,uBAAuB,CAC3B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,SAAS,CAAC,eAAe,GACjC,OAAO,CAAC,yBAAyB,CAAC;IAI/B,+BAA+B,CACnC,QAAQ,EAAE,sBAAsB,CAAC,yBAAyB,CAAC,EAC3D,gBAAgB,EAAE,MAAM,EACxB,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE,SAAS,CAAC,eAAe,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GACzD,OAAO,CAAC,yBAAyB,CAAC;IAiB/B,+BAA+B,CACnC,QAAQ,EAAE,sBAAsB,CAAC,yBAAyB,CAAC,EAC3D,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,SAAS,CAAC,eAAe,GACjC,OAAO,CAAC,yBAAyB,CAAC;IAkC/B,+BAA+B,CACnC,QAAQ,EAAE,sBAAsB,CAAC,yBAAyB,CAAC,EAC3D,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,SAAS,CAAC,eAAe,GACjC,OAAO,CAAC,yBAAyB,CAAC;IA4BrC;;;;;;;;;OASG;IAEG,aAAa,CAAC,MAAM,EAAE,6BAA6B,GAAG,OAAO,CAAC,SAAS,CAAC;IAK9E;;;;;;OAMG;IACG,uBAAuB,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,SAAS,CAAC;YAKvE,eAAe;IAmN7B,2BAA2B,CAAC,gBAAgB,EAAE,qBAAqB;;;;;;;IAOnE,gBAAgB,CAAC,UAAU,EAAE,eAAe,EAAE,UAAU,CAAC,EAAE,MAAM;;;;;;;;;IAWjE;;;;;OAKG;IACH,OAAO,CAAC,8BAA8B;IAuBtC;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAyB1B,kBAAkB;IACZ,oCAAoC,CACxC,MAAM,EAAE,SAAS,GAAG,mBAAmB,EACvC,yCAAyC,EAAE,0CAA0C,EACrF,yCAAyC,EAAE,0CAA0C,EACrF,yCAAyC,EAAE,0CAA0C,EACrF,WAAW,GAAE,WAA4B,GACxC,OAAO,CAAC,SAAS,CAAC;IAyFf,wBAAwB,CAAC,MAAM,EAAE;QACrC,SAAS,EAAE,SAAS,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC;QACZ,gBAAgB,EAAE,MAAM,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC;QACV,oBAAoB,EAAE,oBAAoB,CAAC;QAC3C,aAAa,EAAE,MAAM,CAAC;QACtB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,sBAAsB,EAAE,MAAM,CAAC;KAChC,CAAC;IAgDI,wBAAwB,CAAC,MAAM,EAAE;QACrC,SAAS,EAAE,SAAS,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC;QACZ,gBAAgB,EAAE,MAAM,CAAC;QACzB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,sBAAsB,EAAE,MAAM,CAAC;QAC/B,sBAAsB,EAAE,MAAM,CAAC;KAChC,GAAG,OAAO,CAAC;QACV,oBAAoB,EAAE,oBAAoB,CAAC;QAC3C,sBAAsB,EAAE,MAAM,CAAC;KAChC,CAAC;IAqFI,wBAAwB,CAAC,MAAM,EAAE;QACrC,SAAS,EAAE,SAAS,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC;QACZ,gBAAgB,EAAE,MAAM,CAAC;QACzB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,sBAAsB,EAAE,MAAM,CAAC;QAC/B,sBAAsB,EAAE,MAAM,CAAC;KAChC,GAAG,OAAO,CAAC;QACV,oBAAoB,EAAE,oBAAoB,CAAC;KAC5C,CAAC;CAwDH;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,OAAO,CAAC,CAYlB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAsB,yBAAyB,CAC7C,gBAAgB,EAAE,MAAM,EACxB,kBAAkB,EAAE,MAAM,EAC1B,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,sBAAsB,CAAC,CAKjC;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC,CAoBD"}