@bitgo/sdk-core 26.2.0 → 26.4.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 (106) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/src/account-lib/baseCoin/blsKeyPair.js +26 -22
  3. package/dist/src/account-lib/baseCoin/ed25519KeyPair.js +20 -16
  4. package/dist/src/account-lib/baseCoin/enum.d.ts +3 -1
  5. package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
  6. package/dist/src/account-lib/baseCoin/enum.js +3 -1
  7. package/dist/src/account-lib/baseCoin/index.js +6 -2
  8. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.js +6 -2
  9. package/dist/src/account-lib/index.js +6 -2
  10. package/dist/src/account-lib/mpc/index.js +6 -2
  11. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +1 -0
  12. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -1
  13. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +346 -342
  14. package/dist/src/account-lib/mpc/tss/ecdsa/index.js +6 -2
  15. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.js +60 -60
  16. package/dist/src/account-lib/mpc/tss/eddsa/index.js +6 -2
  17. package/dist/src/account-lib/mpc/tss/index.js +6 -2
  18. package/dist/src/account-lib/staking/index.js +6 -2
  19. package/dist/src/account-lib/util/crypto.js +7 -3
  20. package/dist/src/account-lib/util/ed25519KeyDeriver.js +3 -3
  21. package/dist/src/api/index.js +6 -2
  22. package/dist/src/bitgo/address-book/index.js +6 -2
  23. package/dist/src/bitgo/baseCoin/baseCoin.d.ts +1 -0
  24. package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
  25. package/dist/src/bitgo/baseCoin/baseCoin.js +7 -3
  26. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +1 -0
  27. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
  28. package/dist/src/bitgo/baseCoin/index.js +6 -2
  29. package/dist/src/bitgo/bip32util.js +6 -2
  30. package/dist/src/bitgo/bitcoin.js +6 -2
  31. package/dist/src/bitgo/config.js +6 -2
  32. package/dist/src/bitgo/ecdh.js +6 -2
  33. package/dist/src/bitgo/enterprise/enterprise.js +10 -6
  34. package/dist/src/bitgo/enterprise/enterprises.js +6 -2
  35. package/dist/src/bitgo/enterprise/index.js +6 -2
  36. package/dist/src/bitgo/index.js +6 -2
  37. package/dist/src/bitgo/inscriptionBuilder/index.js +6 -2
  38. package/dist/src/bitgo/internal/index.js +6 -2
  39. package/dist/src/bitgo/internal/internal.js +4 -4
  40. package/dist/src/bitgo/internal/keycard.js +5 -5
  41. package/dist/src/bitgo/keychain/index.js +6 -2
  42. package/dist/src/bitgo/keychain/keychains.js +17 -13
  43. package/dist/src/bitgo/keychain/ovcJsonCodec.js +6 -2
  44. package/dist/src/bitgo/legacyBitcoin.js +7 -3
  45. package/dist/src/bitgo/lightning/iLightning.js +6 -2
  46. package/dist/src/bitgo/lightning/index.js +6 -2
  47. package/dist/src/bitgo/lightning/lightning.js +12 -12
  48. package/dist/src/bitgo/lightning/lightningUtils.js +8 -4
  49. package/dist/src/bitgo/market/index.js +6 -2
  50. package/dist/src/bitgo/market/markets.js +6 -2
  51. package/dist/src/bitgo/pendingApproval/index.js +6 -2
  52. package/dist/src/bitgo/pendingApproval/pendingApproval.js +6 -2
  53. package/dist/src/bitgo/pendingApproval/pendingApprovals.js +6 -2
  54. package/dist/src/bitgo/recovery/index.js +6 -2
  55. package/dist/src/bitgo/staking/iStakingWallet.d.ts +8 -0
  56. package/dist/src/bitgo/staking/iStakingWallet.d.ts.map +1 -1
  57. package/dist/src/bitgo/staking/iStakingWallet.js +1 -1
  58. package/dist/src/bitgo/staking/index.js +6 -2
  59. package/dist/src/bitgo/trading/index.js +6 -2
  60. package/dist/src/bitgo/trading/network/index.js +6 -2
  61. package/dist/src/bitgo/trading/network/network.js +2 -2
  62. package/dist/src/bitgo/tss/common.js +6 -6
  63. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts +1 -0
  64. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -1
  65. package/dist/src/bitgo/tss/ecdsa/ecdsa.js +18 -14
  66. package/dist/src/bitgo/tss/ecdsa/index.js +6 -2
  67. package/dist/src/bitgo/tss/eddsa/eddsa.js +9 -9
  68. package/dist/src/bitgo/tss/eddsa/index.js +6 -2
  69. package/dist/src/bitgo/tss/index.js +6 -2
  70. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.js +7 -3
  71. package/dist/src/bitgo/utils/blsUtils.js +5 -5
  72. package/dist/src/bitgo/utils/codecProps.js +6 -2
  73. package/dist/src/bitgo/utils/decode.js +10 -6
  74. package/dist/src/bitgo/utils/index.js +6 -2
  75. package/dist/src/bitgo/utils/mpcUtils.js +8 -8
  76. package/dist/src/bitgo/utils/opengpgUtils.js +26 -22
  77. package/dist/src/bitgo/utils/tss/baseTSSUtils.js +9 -5
  78. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +43 -39
  79. package/dist/src/bitgo/utils/tss/ecdsa/index.js +6 -2
  80. package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +45 -41
  81. package/dist/src/bitgo/utils/tss/eddsa/index.js +6 -2
  82. package/dist/src/bitgo/utils/tss/index.js +6 -2
  83. package/dist/src/bitgo/utils/util.js +7 -3
  84. package/dist/src/bitgo/wallet/BuildParams.js +7 -3
  85. package/dist/src/bitgo/wallet/index.js +6 -2
  86. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  87. package/dist/src/bitgo/wallet/wallet.js +35 -35
  88. package/dist/src/bitgo/wallet/wallets.js +17 -13
  89. package/dist/src/bitgo/webhook/index.js +6 -2
  90. package/dist/src/bitgo/webhook/webhooks.js +6 -2
  91. package/dist/src/coins/index.js +6 -2
  92. package/dist/src/coins/ofc.js +2 -2
  93. package/dist/src/coins/ofcToken.js +2 -2
  94. package/dist/src/common.js +6 -2
  95. package/dist/src/index.js +6 -2
  96. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.js +22 -18
  97. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.js +7 -7
  98. package/dist/test/unit/bitgo/utils/notEmpty.js +3 -3
  99. package/dist/test/unit/bitgo/utils/postWithCodec.js +7 -3
  100. package/dist/test/unit/bitgo/wallet/BuildParams.js +6 -2
  101. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.js +6 -2
  102. package/dist/test/unit/openssl.js +4 -4
  103. package/dist/test/unit/units.js +63 -63
  104. package/dist/tsconfig.tsbuildinfo +1 -1
  105. package/package.json +4 -5
  106. package/LICENSE +0 -191
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -301,7 +305,7 @@ class Keychains {
301
305
  */
302
306
  async createTssBitGoKeyFromOvcShares(ovcOutputJson) {
303
307
  var _a, _b, _c, _d;
304
- const decodedOvcOutput = utils_1.decodeOrElse(ovcJsonCodec_1.OvcToBitGoJSON.name, ovcJsonCodec_1.OvcToBitGoJSON, ovcOutputJson, (errors) => {
308
+ const decodedOvcOutput = (0, utils_1.decodeOrElse)(ovcJsonCodec_1.OvcToBitGoJSON.name, ovcJsonCodec_1.OvcToBitGoJSON, ovcOutputJson, (errors) => {
305
309
  throw new Error(`Error(s) parsing OVC JSON: ${errors}`);
306
310
  });
307
311
  if (decodedOvcOutput.state !== 1) {
@@ -336,17 +340,17 @@ class Keychains {
336
340
  userGPGPublicKey: ovc1.gpgPubKey,
337
341
  backupGPGPublicKey: ovc2.gpgPubKey,
338
342
  });
339
- assert_1.default(key.keyShares);
340
- assert_1.default(key.commonKeychain);
341
- assert_1.default(key.walletHSMGPGPublicKeySigs);
343
+ (0, assert_1.default)(key.keyShares);
344
+ (0, assert_1.default)(key.commonKeychain);
345
+ (0, assert_1.default)(key.walletHSMGPGPublicKeySigs);
342
346
  const bitgoToUserShare = key.keyShares.find((value) => value.from === 'bitgo' && value.to === 'user');
343
- assert_1.default(bitgoToUserShare);
344
- assert_1.default(bitgoToUserShare.vssProof);
345
- assert_1.default(bitgoToUserShare.paillierPublicKey);
347
+ (0, assert_1.default)(bitgoToUserShare);
348
+ (0, assert_1.default)(bitgoToUserShare.vssProof);
349
+ (0, assert_1.default)(bitgoToUserShare.paillierPublicKey);
346
350
  const bitgoToBackupShare = key.keyShares.find((value) => value.from === 'bitgo' && value.to === 'backup');
347
- assert_1.default(bitgoToBackupShare);
348
- assert_1.default(bitgoToBackupShare.vssProof);
349
- assert_1.default(bitgoToBackupShare.paillierPublicKey);
351
+ (0, assert_1.default)(bitgoToBackupShare);
352
+ (0, assert_1.default)(bitgoToBackupShare.vssProof);
353
+ (0, assert_1.default)(bitgoToBackupShare.paillierPublicKey);
350
354
  // Create JSON data with platform shares for OVC-1 and OVC-2
351
355
  const bitgoToOvcOutput = {
352
356
  wallet: {
@@ -387,10 +391,10 @@ class Keychains {
387
391
  bitGoKeyId: key.id,
388
392
  bitGoOutputJsonForOvc: bitgoToOvcOutput,
389
393
  };
390
- return utils_1.decodeOrElse(ovcJsonCodec_1.BitGoKeyFromOvcShares.name, ovcJsonCodec_1.BitGoKeyFromOvcShares, output, (errors) => {
394
+ return (0, utils_1.decodeOrElse)(ovcJsonCodec_1.BitGoKeyFromOvcShares.name, ovcJsonCodec_1.BitGoKeyFromOvcShares, output, (errors) => {
391
395
  throw new Error(`Error producing the output: ${errors}`);
392
396
  });
393
397
  }
394
398
  }
395
399
  exports.Keychains = Keychains;
396
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Y2hhaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL2tleWNoYWluL2tleWNoYWlucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMENBQTRCO0FBQzVCLG9EQUE0QjtBQUM1QixxREFBdUM7QUFHdkMsb0NBQXlGO0FBaUJ6RixpREFBdUY7QUFFdkYsTUFBYSxTQUFTO0lBSXBCLFlBQVksS0FBZ0IsRUFBRSxRQUFtQjtRQUMvQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBMEI7UUFDbEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFFMUQsSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7U0FDdkM7UUFFRCxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3JCLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRTtZQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMzQztRQUNELE9BQU8sTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEdBQUcsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzVGLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxLQUFLLENBQUMs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SUFBSSxFQUFFLG9DQUFxQixFQUFFLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3hGLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDM0QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFyWkQsOEJBcVpDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0ICogYXMgY29tbW9uIGZyb20gJy4uLy4uL2NvbW1vbic7XG5pbXBvcnQgeyBJQmFzZUNvaW4sIEtleWNoYWluc1RyaXBsZXQsIEtleVBhaXIgfSBmcm9tICcuLi9iYXNlQ29pbic7XG5pbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICcuLi9iaXRnb0Jhc2UnO1xuaW1wb3J0IHsgQmxzVXRpbHMsIFJlcXVlc3RUcmFjZXIsIEVERFNBVXRpbHMsIEVDRFNBVXRpbHMsIGRlY29kZU9yRWxzZSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7XG4gIEFkZEtleWNoYWluT3B0aW9ucyxcbiAgQXBpS2V5U2hhcmUsXG4gIENoYW5nZWRLZXljaGFpbnMsXG4gIENyZWF0ZUJhY2t1cE9wdGlvbnMsXG4gIENyZWF0ZUJpdEdvT3B0aW9ucyxcbiAgQ3JlYXRlTXBjT3B0aW9ucyxcbiAgR2V0S2V5Y2hhaW5PcHRpb25zLFxuICBHZXRLZXlzRm9yU2lnbmluZ09wdGlvbnMsXG4gIElLZXljaGFpbnMsXG4gIEtleWNoYWluLFxuICBMaXN0S2V5Y2hhaW5PcHRpb25zLFxuICBMaXN0S2V5Y2hhaW5zUmVzdWx0LFxuICBVcGRhdGVQYXNzd29yZE9wdGlvbnMsXG4gIFVwZGF0ZVNpbmdsZUtleWNoYWluUGFzc3dvcmRPcHRpb25zLFxufSBmcm9tICcuL2lLZXljaGFpbnMnO1xuaW1wb3J0IHsgQml0R29LZXlGcm9tT3ZjU2hhcmVzLCBCaXRHb1RvT3ZjSlNPTiwgT3ZjVG9CaXRHb0pTT04gfSBmcm9tICcuL292Y0pzb25Db2RlYyc7XG5cbmV4cG9ydCBjbGFzcyBLZXljaGFpbnMgaW1wbGVtZW50cyBJS2V5Y2hhaW5zIHtcbiAgcHJpdmF0ZSByZWFkb25seSBiaXRnbzogQml0R29CYXNlO1xuICBwcml2YXRlIHJlYWRvbmx5IGJhc2VDb2luOiBJQmFzZUNvaW47XG5cbiAgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSwgYmFzZUNvaW46IElCYXNlQ29pbikge1xuICAgIHRoaXMuYml0Z28gPSBiaXRnbztcbiAgICB0aGlzLmJhc2VDb2luID0gYmFzZUNvaW47XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEga2V5Y2hhaW4gYnkgSURcbiAgICogQHBhcmFtIHBhcmFtc1xuICAgKiBAcGFyYW0gcGFyYW1zLmlkXG4gICAqIEBwYXJhbSBwYXJhbXMueHB1YiAob3B0aW9uYWwpXG4gICAqIEBwYXJhbSBwYXJhbXMuZXRoQWRkcmVzcyAob3B0aW9uYWwpXG4gICAqIEBwYXJhbSBwYXJhbXMucmVxSWQgKG9wdGlvbmFsKVxuICAgKi9cbiAgYXN5bmMgZ2V0KHBhcmFtczogR2V0S2V5Y2hhaW5PcHRpb25zKTogUHJvbWlzZTxLZXljaGFpbj4ge1xuICAgIGNvbW1vbi52YWxpZGF0ZVBhcmFtcyhwYXJhbXMsIFtdLCBbJ3hwdWInLCAnZXRoQWRkcmVzcyddKTtcblxuICAgIGlmIChfLmlzVW5kZWZpbmVkKHBhcmFtcy5pZCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaWQgbXVzdCBiZSBkZWZpbmVkJyk7XG4gICAgfVxuXG4gICAgY29uc3QgaWQgPSBwYXJhbXMuaWQ7XG4gICAgaWYgKHBhcmFtcy5yZXFJZCkge1xuICAgICAgdGhpcy5iaXRnby5zZXRSZXF1ZXN0VHJhY2VyKHBhcmFtcy5yZXFJZCk7XG4gICAgfVxuICAgIHJldHVybiBhd2FpdCB0aGlzLmJpdGdvLmdldCh0aGlzLmJhc2VDb2luLnVybCgnL2tleS8nICsgZW5jb2RlVVJJQ29tcG9uZW50KGlkKSkpLnJlc3VsdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIGxpc3QgdGhlIHVzZXJzIGtleWNoYWluc1xuICAgKiBAcGFyYW0gcGFyYW1zXG4gICAqIEBwYXJhbSBwYXJhbXMubGltaXQgLSBNYXggbnVtYmVyIG9mIHJlc3VsdHMgaW4gYSBzaW5nbGUgY2FsbC5cbiAgICogQHBhcmFtIHBhcmFtcy5wcmV2SWQgLSBDb250aW51ZSBpdGVyYXRpbmcgKHByb3ZpZGVkIGJ5IG5leHRCYXRjaFByZXZJZCBpbiB0aGUgcHJldmlvdXMgbGlzdClcbiAgICogQHJldHVybnMgeyp9XG4gICAqL1xuICBhc3luYyBsaXN0KHBhcmFtczogTGlzdEtleWNoYWluT3B0aW9ucyA9IHt9KTogUHJvbWlzZTxMaXN0S2V5Y2hhaW5zUmVzdWx0PiB7XG4gICAgY29uc3QgcXVlcnlPYmplY3Q6IGFueSA9IHt9O1xuXG4gICAgaWYgKCFfLmlzVW5kZWZpbmVkKHBhcmFtcy5saW1pdCkpIHtcbiAgICAgIGlmICghXy5pc051bWJlcihwYXJhbXMubGltaXQpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBsaW1pdCBhcmd1bWVudCwgZXhwZWN0aW5nIG51bWJlcicpO1xuICAgICAgfVxuICAgICAgcXVlcnlPYmplY3QubGltaXQgPSBwYXJhbXMubGltaXQ7XG4gICAgfVxuICAgIGlmICghXy5pc1VuZGVmaW5lZChwYXJhbXMucHJldklkKSkge1xuICAgICAgaWYgKCFfLmlzU3RyaW5nKHBhcmFtcy5wcmV2SWQpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBwcmV2SWQgYXJndW1lbnQsIGV4cGVjdGluZyBzdHJpbmcnKTtcbiAgICAgIH1cbiAgICAgIHF1ZXJ5T2JqZWN0LnByZXZJZCA9IHBhcmFtcy5wcmV2SWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYml0Z28uZ2V0KHRoaXMuYmFzZUNvaW4udXJsKCcva2V5JykpLnF1ZXJ5KHF1ZXJ5T2JqZWN0KS5yZXN1bHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGFuZ2UgdGhlIGRlY3J5cHRpb24gcGFzc3dvcmQgZm9yIGFsbCBwb3NzaWJsZSBrZXljaGFpbnMgYXNzb2NpYXRlZCB3aXRoIGEgdXNlci5cbiAgICpcbiAgICogVGhpcyBmdW5jdGlvbiBpdGVyYXRlcyB0aHJvdWdoIGFsbCBrZXlzIGFzc29jaWF0ZWQgd2l0aCB0aGUgdXNlciwgZGVjcnlwdHNcbiAgICogdGhlbSB3aXRoIHRoZSBvbGQgcGFzc3dvcmQgYW5kIHJlLWVuY3J5cHRzIHRoZW0gd2l0aCB0aGUgbmV3IHBhc3N3b3JkLlxuICAgKlxuICAgKiBUaGlzIHNob3VsZCBiZSBjYWxsZWQgd2hlbiBhIHVzZXIgY2hhbmdlcyB0aGVpciBsb2dpbiBwYXNzd29yZCwgYW5kIGFyZSBleHBlY3RpbmdcbiAgICogdGhhdCB0aGVpciB3YWxsZXQgcGFzc3dvcmRzIGFyZSBjaGFuZ2VkIHRvIG1hdGNoIHRoZSBuZXcgbG9naW4gcGFzc3dvcmQuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXNcbiAgICogQHBhcmFtIHBhcmFtcy5vbGRQYXNzd29yZCAtIFRoZSBvbGQgcGFzc3dvcmQgdXNlZCBmb3IgZW5jcnlwdGluZyB0aGUga2V5XG4gICAqIEBwYXJhbSBwYXJhbXMubmV3UGFzc3dvcmQgLSBUaGUgbmV3IHBhc3N3b3JkIHRvIGJlIHVzZWQgZm9yIGVuY3J5cHRpbmcgdGhlIGtleVxuICAgKiBAcmV0dXJucyBjaGFuZ2VkS2V5cyBPYmplY3QgLSBlLmcuOlxuICAgKiAge1xuICAgKiAgICB4cHViMTogZW5jcnlwdGVkUHJ2LFxuICAgKiAgICAuLi5cbiAgICogIH1cbiAgICovXG4gIGFzeW5jIHVwZGF0ZVBhc3N3b3JkKHBhcmFtczogVXBkYXRlUGFzc3dvcmRPcHRpb25zKTogUHJvbWlzZTxDaGFuZ2VkS2V5Y2hhaW5zPiB7XG4gICAgY29tbW9uLnZhbGlkYXRlUGFyYW1zKHBhcmFtcywgWydvbGRQYXNzd29yZCcsICduZXdQYXNzd29yZCddLCBbXSk7XG4gICAgY29uc3QgY2hhbmdlZEtleXM6IENoYW5nZWRLZXljaGFpbnMgPSB7fTtcbiAgICBsZXQgcHJldklkO1xuICAgIGxldCBrZXlzTGVmdCA9IHRydWU7XG4gICAgd2hpbGUgKGtleXNMZWZ0KSB7XG4gICAgICBjb25zdCByZXN1bHQ6IExpc3RLZXljaGFpbnNSZXN1bHQgPSBhd2FpdCB0aGlzLmxpc3QoeyBsaW1pdDogNTAwLCBwcmV2SWQgfSk7XG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiByZXN1bHQua2V5cykge1xuICAgICAgICBjb25zdCBvbGRFbmNyeXB0ZWRQcnYgPSBrZXkuZW5jcnlwdGVkUHJ2O1xuICAgICAgICBpZiAoXy5pc1VuZGVmaW5lZChvbGRFbmNyeXB0ZWRQcnYpKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCB1cGRhdGVkS2V5Y2hhaW4gPSB0aGlzLnVwZGF0ZVNpbmdsZUtleWNoYWluUGFzc3dvcmQoe1xuICAgICAgICAgICAga2V5Y2hhaW46IGtleSxcbiAgICAgICAgICAgIG9sZFBhc3N3b3JkOiBwYXJhbXMub2xkUGFzc3dvcmQsXG4gICAgICAgICAgICBuZXdQYXNzd29yZDogcGFyYW1zLm5ld1Bhc3N3b3JkLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGlmICh1cGRhdGVkS2V5Y2hhaW4uZW5jcnlwdGVkUHJ2KSB7XG4gICAgICAgICAgICBjb25zdCBjaGFuZ2VkS2V5SWRlbnRpZmllciA9XG4gICAgICAgICAgICAgIHVwZGF0ZWRLZXljaGFpbi50eXBlID09PSAndHNzJyA/IHVwZGF0ZWRLZXljaGFpbi5jb21tb25LZXljaGFpbiA6IHVwZGF0ZWRLZXljaGFpbi5wdWI7XG4gICAgICAgICAgICBpZiAoY2hhbmdlZEtleUlkZW50aWZpZXIpIHtcbiAgICAgICAgICAgICAgY2hhbmdlZEtleXNbY2hhbmdlZEtleUlkZW50aWZpZXJdID0gdXBkYXRlZEtleWNoYWluLmVuY3J5cHRlZFBydjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAvLyBpZiB0aGUgcGFzc3dvcmQgd2FzIGluY29ycmVjdCwgc2lsZW5jZSB0aGUgZXJyb3IsIHRocm93IG90aGVyd2lzZVxuICAgICAgICAgIGlmICghZS5tZXNzYWdlLmluY2x1ZGVzKCdwcml2YXRlIGtleSBpcyBpbmNvcnJlY3QnKSkge1xuICAgICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChyZXN1bHQubmV4dEJhdGNoUHJldklkKSB7XG4gICAgICAgIHByZXZJZCA9IHJlc3VsdC5uZXh0QmF0Y2hQcmV2SWQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBrZXlzTGVmdCA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY2hhbmdlZEtleXM7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIHRoZSBwYXNzd29yZCB1c2VkIHRvIGRlY3J5cHQgYSBzaW5nbGUga2V5Y2hhaW5cbiAgICogQHBhcmFtIHBhcmFtc1xuICAgKiBAcGFyYW0gcGFyYW1zLmtleWNoYWluIC0gVGhlIGtleWNoYWluIHdob3NlIHBhc3N3b3JkIHNob3VsZCBiZSB1cGRhdGVkXG4gICAqIEBwYXJhbSBwYXJhbXMub2xkUGFzc3dvcmQgLSBUaGUgb2xkIHBhc3N3b3JkIHVzZWQgZm9yIGVuY3J5cHRpbmcgdGhlIGtleVxuICAgKiBAcGFyYW0gcGFyYW1zLm5ld1Bhc3N3b3JkIC0gVGhlIG5ldyBwYXNzd29yZCB0byBiZSB1c2VkIGZvciBlbmNyeXB0aW5nIHRoZSBrZXlcbiAgICogQHJldHVybnMge29iamVjdH1cbiAgICovXG4gIHVwZGF0ZVNpbmdsZUtleWNoYWluUGFzc3dvcmQocGFyYW1zOiBVcGRhdGVTaW5nbGVLZXljaGFpblBhc3N3b3JkT3B0aW9ucyA9IHt9KTogS2V5Y2hhaW4ge1xuICAgIGlmICghXy5pc1N0cmluZyhwYXJhbXMub2xkUGFzc3dvcmQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2V4cGVjdGVkIG9sZCBwYXNzd29yZCB0byBiZSBhIHN0cmluZycpO1xuICAgIH1cblxuICAgIGlmICghXy5pc1N0cmluZyhwYXJhbXMubmV3UGFzc3dvcmQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2V4cGVjdGVkIG5ldyBwYXNzd29yZCB0byBiZSBhIHN0cmluZycpO1xuICAgIH1cblxuICAgIGlmICghXy5pc09iamVjdChwYXJhbXMua2V5Y2hhaW4pIHx8ICFfLmlzU3RyaW5nKHBhcmFtcy5rZXljaGFpbi5lbmNyeXB0ZWRQcnYpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2V4cGVjdGVkIGtleWNoYWluIHRvIGJlIGFuIG9iamVjdCB3aXRoIGFuIGVuY3J5cHRlZFBydiBwcm9wZXJ0eScpO1xuICAgIH1cblxuICAgIGNvbnN0IG9sZEVuY3J5cHRlZFBydiA9IHBhcmFtcy5rZXljaGFpbi5lbmNyeXB0ZWRQcnY7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRlY3J5cHRlZFBydiA9IHRoaXMuYml0Z28uZGVjcnlwdCh7IGlucHV0OiBvbGRFbmNyeXB0ZWRQcnYsIHBhc3N3b3JkOiBwYXJhbXMub2xkUGFzc3dvcmQgfSk7XG4gICAgICBjb25zdCBuZXdFbmNyeXB0ZWRQcnYgPSB0aGlzLmJpdGdvLmVuY3J5cHQoeyBpbnB1dDogZGVjcnlwdGVkUHJ2LCBwYXNzd29yZDogcGFyYW1zLm5ld1Bhc3N3b3JkIH0pO1xuICAgICAgcmV0dXJuIF8uYXNzaWduKHt9LCBwYXJhbXMua2V5Y2hhaW4sIHsgZW5jcnlwdGVkUHJ2OiBuZXdFbmNyeXB0ZWRQcnYgfSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gY2F0Y2hpbmcgYW4gZXJyb3IgaGVyZSBtZWFucyB0aGF0IHRoZSBwYXNzd29yZCB3YXMgaW5jb3JyZWN0IG9yLCBsZXNzIGxpa2VseSwgdGhlIGlucHV0IHRvIGRlY3J5cHQgaXMgY29ycnVwdGVkXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3Bhc3N3b3JkIHVzZWQgdG8gZGVjcnlwdCBrZXljaGFpbiBwcml2YXRlIGtleSBpcyBpbmNvcnJlY3QnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgcHVibGljL3ByaXZhdGUga2V5IHBhaXJcbiAgICogQHBhcmFtIHBhcmFtcyAtIG9wdGlvbmFsIHBhcmFtc1xuICAgKiBAcGFyYW0gcGFyYW1zLnNlZWQgb3B0aW9uYWwgLSBzZWVkIHRvIHVzZSBmb3Iga2V5cGFpciBnZW5lcmF0aW9uXG4gICAqIEBwYXJhbSBwYXJhbXMuaXNSb290S2V5IG9wdGlvbmFsIC0gd2hldGhlciB0aGUgcmVzdWx0aW5nIGtleXBhaXIgc2hvdWxkIGJlIGEgcm9vdCBrZXlcbiAgICogQHJldHVybnMge0tleVBhaXJ9IC0gdGhlIGdlbmVyYXRlZCBrZXlwYWlyXG4gICAqL1xuICBjcmVhdGUocGFyYW1zOiB7IHNlZWQ/OiBCdWZmZXI7IGlzUm9vdEtleT86IGJvb2xlYW4gfSA9IHt9KTogS2V5UGFpciB7XG4gICAgaWYgKHBhcmFtcz8uaXNSb290S2V5KSB7XG4gICAgICByZXR1cm4gdGhpcy5iYXNlQ29pbi5nZW5lcmF0ZVJvb3RLZXlQYWlyKHBhcmFtcy5zZWVkKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYmFzZUNvaW4uZ2VuZXJhdGVLZXlQYWlyKHBhcmFtcy5zZWVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBrZXljaGFpbiB0byBCaXRHbydzIHJlY29yZHNcbiAgICogQHBhcmFtIHBhcmFtc1xuICAgKi9cbiAgYXN5bmMgYWRkKHBhcmFtczogQWRkS2V5Y2hhaW5PcHRpb25zID0ge30pOiBQcm9taXNlPEtleWNoYWluPiB7XG4gICAgcGFyYW1zID0gcGFyYW1zIHx8IHt9O1xuICAgIGNvbW1vbi52YWxpZGF0ZVBhcmFtcyhcbiAgICAgIHBhcmFtcyxcbiAgICAgIFtdLFxuICAgICAgW1xuICAgICAgICAncHViJyxcbiAgICAgICAgJ2VuY3J5cHRlZFBydicsXG4gICAgICAgICdrZXlUeXBlJyxcbiAgICAgICAgJ3R5cGUnLFxuICAgICAgICAnc291cmNlJyxcbiAgICAgICAgJ29yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZScsXG4gICAgICAgICdlbnRlcnByaXNlJyxcbiAgICAgICAgJ2Rlcml2ZWRGcm9tUGFyZW50V2l0aFNlZWQnLFxuICAgICAgXVxuICAgICk7XG5cbiAgICBpZiAoIV8uaXNVbmRlZmluZWQocGFyYW1zLmRpc2FibGVLUlNFbWFpbCkpIHtcbiAgICAgIGlmICghXy5pc0Jvb2xlYW4ocGFyYW1zLmRpc2FibGVLUlNFbWFpbCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGRpc2FibGVLUlNFbWFpbCBhcmd1bWVudCwgZXhwZWN0aW5nIGJvb2xlYW4nKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocGFyYW1zLnJlcUlkKSB7XG4gICAgICB0aGlzLmJpdGdvLnNldFJlcXVlc3RUcmFjZXIocGFyYW1zLnJlcUlkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5iaXRnb1xuICAgICAgLnBvc3QodGhpcy5iYXNlQ29pbi51cmwoJy9rZXknKSlcbiAgICAgIC5zZW5kKHtcbiAgICAgICAgcHViOiBwYXJhbXMucHViLFxuICAgICAgICBjb21tb25QdWI6IHBhcmFtcy5jb21tb25QdWIsXG4gICAgICAgIGNvbW1vbktleWNoYWluOiBwYXJhbXMuY29tbW9uS2V5Y2hhaW4sXG4gICAgICAgIGVuY3J5cHRlZFBydjogcGFyYW1zLmVuY3J5cHRlZFBydixcbiAgICAgICAgdHlwZTogcGFyYW1zLnR5cGUsXG4gICAgICAgIGtleVR5cGU6IHBhcmFtcy5rZXlUeXBlLFxuICAgICAgICBzb3VyY2U6IHBhcmFtcy5zb3VyY2UsXG4gICAgICAgIHByb3ZpZGVyOiBwYXJhbXMucHJvdmlkZXIsXG4gICAgICAgIG9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZTogcGFyYW1zLm9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZSxcbiAgICAgICAgZW50ZXJwcmlzZTogcGFyYW1zLmVudGVycHJpc2UsXG4gICAgICAgIGRlcml2ZWRGcm9tUGFyZW50V2l0aFNlZWQ6IHBhcmFtcy5kZXJpdmVkRnJvbVBhcmVudFdpdGhTZWVkLFxuICAgICAgICBkaXNhYmxlS1JTRW1haWw6IHBhcmFtcy5kaXNhYmxlS1JTRW1haWwsXG4gICAgICAgIGtyc1NwZWNpZmljOiBwYXJhbXMua3JzU3BlY2lmaWMsXG4gICAgICAgIGtleVNoYXJlczogcGFyYW1zLmtleVNoYXJlcyxcbiAgICAgICAgdXNlckdQR1B1YmxpY0tleTogcGFyYW1zLnVzZXJHUEdQdWJsaWNLZXksXG4gICAgICAgIGJhY2t1cEdQR1B1YmxpY0tleTogcGFyYW1zLmJhY2t1cEdQR1B1YmxpY0tleSxcbiAgICAgICAgYWxnb1VzZWQ6IHBhcmFtcy5hbGdvVXNlZCxcbiAgICAgICAgaXNEaXN0cmlidXRlZEN1c3RvZHk6IHBhcmFtcy5pc0Rpc3RyaWJ1dGVkQ3VzdG9keSxcbiAgICAgIH0pXG4gICAgICAucmVzdWx0KCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgQml0R28ga2V5XG4gICAqIEBwYXJhbSBwYXJhbXMgKGVtcHR5KVxuICAgKi9cbiAgYXN5bmMgY3JlYXRlQml0R28ocGFyYW1zOiBDcmVhdGVCaXRHb09wdGlvbnMgPSB7fSk6IFByb21pc2U8S2V5Y2hhaW4+IHtcbiAgICBwYXJhbXMuc291cmNlID0gJ2JpdGdvJztcblxuICAgIHRoaXMuYmFzZUNvaW4ucHJlQ3JlYXRlQml0R28ocGFyYW1zIGFzIGFueSk7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYWRkKHBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgYmFja3VwIGtleVxuICAgKiBAcGFyYW0gcGFyYW1zXG4gICAqIEBwYXJhbSBwYXJhbXMucHJvdmlkZXIgKG9wdGlvbmFsKVxuICAgKi9cbiAgYXN5bmMgY3JlYXRlQmFja3VwKHBhcmFtczogQ3JlYXRlQmFja3VwT3B0aW9ucyA9IHt9KTogUHJvbWlzZTxLZXljaGFpbj4ge1xuICAgIHBhcmFtcy5zb3VyY2UgPSAnYmFja3VwJztcblxuICAgIGNvbnN0IGlzVHNzQmFja3VwS2V5ID0gcGFyYW1zLnBydiAmJiAocGFyYW1zLmNvbW1vbktleWNoYWluIHx8IHBhcmFtcy5jb21tb25QdWIpO1xuXG4gICAgaWYgKF8uaXNVbmRlZmluZWQocGFyYW1zLnByb3ZpZGVyKSAmJiAhaXNUc3NCYWNrdXBLZXkpIHtcbiAgICAgIC8vIGlmIHRoZSBwcm92aWRlciBpcyB1bmRlZmluZWQsIHdlIGdlbmVyYXRlIGEgbG9jYWwga2V5IGFuZCBhZGQgdGhlIHNvdXJjZSBkZXRhaWxzXG4gICAgICBjb25zdCBrZXkgPSB0aGlzLmNyZWF0ZSgpO1xuICAgICAgXy5leHRlbmQocGFyYW1zLCBrZXkpO1xuICAgIH1cblxuICAgIGNvbnN0IHNlcnZlclJlc3BvbnNlID0gYXdhaXQgdGhpcy5hZGQocGFyYW1zKTtcbiAgICByZXR1cm4gXy5leHRlbmQoe30sIHNlcnZlclJlc3BvbnNlLCBfLnBpY2socGFyYW1zLCBbJ3BydicsICdlbmNyeXB0ZWRQcnYnLCAncHJvdmlkZXInLCAnc291cmNlJ10pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGtleXMgZm9yIHNpZ25pbmcgZnJvbSBhIHdhbGxldFxuICAgKiBAcGFyYW0gcGFyYW1zXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEtleWNoYWluW10+fVxuICAgKi9cbiAgYXN5bmMgZ2V0S2V5c0ZvclNpZ25pbmcocGFyYW1zOiBHZXRLZXlzRm9yU2lnbmluZ09wdGlvbnMgPSB7fSk6IFByb21pc2U8S2V5Y2hhaW5bXT4ge1xuICAgIGlmICghXy5pc09iamVjdChwYXJhbXMud2FsbGV0KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHJlcXVpcmVkIHBhcmFtIHdhbGxldCcpO1xuICAgIH1cbiAgICBjb25zdCB3YWxsZXQgPSBwYXJhbXMud2FsbGV0O1xuICAgIGNvbnN0IHJlcUlkID0gcGFyYW1zLnJlcUlkIHx8IG5ldyBSZXF1ZXN0VHJhY2VyKCk7XG4gICAgY29uc3QgaWRzID0gd2FsbGV0LmJhc2VDb2luLmtleUlkc0ZvclNpZ25pbmcoKTtcbiAgICBjb25zdCBrZXljaGFpblF1ZXJpZXNCbHVlYmlyZHMgPSBpZHMubWFwKChpZCkgPT4gdGhpcy5nZXQoeyBpZDogd2FsbGV0LmtleUlkcygpW2lkXSwgcmVxSWQgfSkpO1xuICAgIHJldHVybiBQcm9taXNlLmFsbChrZXljaGFpblF1ZXJpZXNCbHVlYmlyZHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlbmllbmNlIGZ1bmN0aW9uIHRvIGNyZWF0ZSBhbmQgc3RvcmUgTVBDIGtleWNoYWlucyB3aXRoIEJpdEdvLlxuICAgKiBAcGFyYW0gcGFyYW1zIHBhc3NwaHJhc2UgdXNlZCB0byBlbmNyeXB0IHNlY3JldCBtYXRlcmlhbHNcbiAgICogQHJldHVybiB7UHJvbWlzZTxLZXljaGFpbnNUcmlwbGV0Pn0gbmV3bHkgY3JlYXRlZCBVc2VyLCBCYWNrdXAsIGFuZCBCaXRHbyBrZXlzXG4gICAqL1xuICBhc3luYyBjcmVhdGVNcGMocGFyYW1zOiBDcmVhdGVNcGNPcHRpb25zKTogUHJvbWlzZTxLZXljaGFpbnNUcmlwbGV0PiB7XG4gICAgbGV0IE1wY1V0aWxzO1xuICAgIHN3aXRjaCAocGFyYW1zLm11bHRpc2lnVHlwZSkge1xuICAgICAgY2FzZSAndHNzJzpcbiAgICAgICAgTXBjVXRpbHMgPSB0aGlzLmJhc2VDb2luLmdldE1QQ0FsZ29yaXRobSgpID09PSAnZWNkc2EnID8gRUNEU0FVdGlscy5FY2RzYVV0aWxzIDogRUREU0FVdGlscy5kZWZhdWx0O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2Jsc2RrZyc6XG4gICAgICAgIGlmIChfLmlzVW5kZWZpbmVkKHBhcmFtcy5wYXNzcGhyYXNlKSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCBwYXJhbSBwYXNzcGhyYXNlJyk7XG4gICAgICAgIH1cbiAgICAgICAgTXBjVXRpbHMgPSBCbHNVdGlscztcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIG11bHRpLXNpZyB0eXBlJyk7XG4gICAgfVxuICAgIGNvbnN0IG1wY1V0aWxzID0gbmV3IE1wY1V0aWxzKHRoaXMuYml0Z28sIHRoaXMuYmFzZUNvaW4pO1xuICAgIHJldHVybiBhd2FpdCBtcGNVdGlscy5jcmVhdGVLZXljaGFpbnMoe1xuICAgICAgcGFzc3BocmFzZTogcGFyYW1zLnBhc3NwaHJhc2UsXG4gICAgICBlbnRlcnByaXNlOiBwYXJhbXMuZW50ZXJwcmlzZSxcbiAgICAgIG9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZTogcGFyYW1zLm9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZSxcbiAgICAgIGJhY2t1cFByb3ZpZGVyOiBwYXJhbXMuYmFja3VwUHJvdmlkZXIsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSXQgcGFyc2VzIHRoZSBKU09OIGRvd25sb2FkZWQgZnJvbSB0aGUgT1ZDIGZvciBwbGF0Zm9ybSAoQml0R28pLFxuICAgKiBhbmQgY3JlYXRlcyBhIGNvcnJlc3BvbmRpbmcgVFNTIEJpdEdvIGtleS4gSXQgYWxzbyByZXR1cm5zIHRoZSBKU09OIHRoYXQgbmVlZHNcbiAgICogdG8gYmUgdXBsb2FkZWQgYmFjayB0byB0aGUgT1ZDcyBjb250YWluaW5nIHRoZSBCaXRHbyAtPiBPVkMgc2hhcmVzLlxuICAgKiBAcGFyYW0gb3ZjT3V0cHV0SnNvbiBKU09OIGZvcm1hdCBvZiB0aGUgZmlsZSBkb3dubG9hZGVkIGZyb20gdGhlIE9WQyBmb3IgcGxhdGZvcm1cbiAgICogQHJldHVybnMge0JpdEdvS2V5RnJvbU92Y1NoYXJlc31cbiAgICovXG4gIGFzeW5jIGNyZWF0ZVRzc0JpdEdvS2V5RnJvbU92Y1NoYXJlcyhvdmNPdXRwdXRKc29uOiB1bmtub3duKTogUHJvbWlzZTxCaXRHb0tleUZyb21PdmNTaGFyZXM+IHtcbiAgICBjb25zdCBkZWNvZGVkT3ZjT3V0cHV0ID0gZGVjb2RlT3JFbHNlKE92Y1RvQml0R29KU09OLm5hbWUsIE92Y1RvQml0R29KU09OLCBvdmNPdXRwdXRKc29uLCAoZXJyb3JzKSA9PiB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEVycm9yKHMpIHBhcnNpbmcgT1ZDIEpTT046ICR7ZXJyb3JzfWApO1xuICAgIH0pO1xuXG4gICAgaWYgKGRlY29kZWRPdmNPdXRwdXQuc3RhdGUgIT09IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignU3RhdGUgZXhwZWN0ZWQgdG8gYmUgXCIxXCIuIFBsZWFzZSBjb21wbGV0ZSB0aGUgZmlyc3QgdHdvIE9WQyBvcGVyYXRpb25zJyk7XG4gICAgfVxuXG4gICAgLy8gT1ZDLTEgaXMgcmVzcG9uc2libGUgZm9yIHRoZSBVc2VyIGtleVxuICAgIGNvbnN0IG92YzEgPSBkZWNvZGVkT3ZjT3V0cHV0Lm92Y1sxXTtcbiAgICAvLyBPVkMtMiBpcyByZXNwb25zaWJsZSBmb3IgdGhlIEJhY2t1cCBrZXlcbiAgICBjb25zdCBvdmMyID0gZGVjb2RlZE92Y091dHB1dC5vdmNbMl07XG5cbiAgICBjb25zdCBrZXlTaGFyZXM6IEFwaUtleVNoYXJlW10gPSBbXG4gICAgICB7XG4gICAgICAgIGZyb206ICd1c2VyJyxcbiAgICAgICAgdG86ICdiaXRnbycsXG4gICAgICAgIHB1YmxpY1NoYXJlOiBvdmMxLm92Y1RvQml0Z29TaGFyZS5wdWJsaWNTaGFyZSxcbiAgICAgICAgcHJpdmF0ZVNoYXJlOiBvdmMxLm92Y1RvQml0Z29TaGFyZS5wcml2YXRlU2hhcmUsXG4gICAgICAgIHByaXZhdGVTaGFyZVByb29mOiBvdmMxLm92Y1RvQml0Z29TaGFyZS51U2lnLnRvU3RyaW5nKCkgPz8gJycsXG4gICAgICAgIHZzc1Byb29mOiBvdmMxLm92Y1RvQml0Z29TaGFyZS52c3NQcm9vZiA/PyAnJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGZyb206ICdiYWNrdXAnLFxuICAgICAgICB0bzogJ2JpdGdvJyxcbiAgICAgICAgcHVibGljU2hhcmU6IG92YzIub3ZjVG9CaXRnb1NoYXJlLnB1YmxpY1NoYXJlLFxuICAgICAgICBwcml2YXRlU2hhcmU6IG92YzIub3ZjVG9CaXRnb1NoYXJlLnByaXZhdGVTaGFyZSxcbiAgICAgICAgcHJpdmF0ZVNoYXJlUHJvb2Y6IG92YzIub3ZjVG9CaXRnb1NoYXJlLnVTaWcudG9TdHJpbmcoKSA/PyAnJyxcbiAgICAgICAgdnNzUHJvb2Y6IG92YzIub3ZjVG9CaXRnb1NoYXJlLnZzc1Byb29mID8/ICcnLFxuICAgICAgfSxcbiAgICBdO1xuXG4gICAgY29uc3Qga2V5ID0gYXdhaXQgdGhpcy5iYXNlQ29pbi5rZXljaGFpbnMoKS5hZGQoe1xuICAgICAgc291cmNlOiAnYml0Z28nLFxuICAgICAga2V5U2hhcmVzLFxuICAgICAga2V5VHlwZTogJ3RzcycsXG4gICAgICB1c2VyR1BHUHVibGljS2V5OiBvdmMxLmdwZ1B1YktleSxcbiAgICAgIGJhY2t1cEdQR1B1YmxpY0tleTogb3ZjMi5ncGdQdWJLZXksXG4gICAgfSk7XG4gICAgYXNzZXJ0KGtleS5rZXlTaGFyZXMpO1xuICAgIGFzc2VydChrZXkuY29tbW9uS2V5Y2hhaW4pO1xuICAgIGFzc2VydChrZXkud2FsbGV0SFNNR1BHUHVibGljS2V5U2lncyk7XG5cbiAgICBjb25zdCBiaXRnb1RvVXNlclNoYXJlID0ga2V5LmtleVNoYXJlcy5maW5kKFxuICAgICAgKHZhbHVlOiB7IGZyb206IHN0cmluZzsgdG86IHN0cmluZyB9KSA9PiB2YWx1ZS5mcm9tID09PSAnYml0Z28nICYmIHZhbHVlLnRvID09PSAndXNlcidcbiAgICApO1xuICAgIGFzc2VydChiaXRnb1RvVXNlclNoYXJlKTtcbiAgICBhc3NlcnQoYml0Z29Ub1VzZXJTaGFyZS52c3NQcm9vZik7XG4gICAgYXNzZXJ0KGJpdGdvVG9Vc2VyU2hhcmUucGFpbGxpZXJQdWJsaWNLZXkpO1xuICAgIGNvbnN0IGJpdGdvVG9CYWNrdXBTaGFyZSA9IGtleS5rZXlTaGFyZXMuZmluZChcbiAgICAgICh2YWx1ZTogeyBmcm9tOiBzdHJpbmc7IHRvOiBzdHJpbmcgfSkgPT4gdmFsdWUuZnJvbSA9PT0gJ2JpdGdvJyAmJiB2YWx1ZS50byA9PT0gJ2JhY2t1cCdcbiAgICApO1xuICAgIGFzc2VydChiaXRnb1RvQmFja3VwU2hhcmUpO1xuICAgIGFzc2VydChiaXRnb1RvQmFja3VwU2hhcmUudnNzUHJvb2YpO1xuICAgIGFzc2VydChiaXRnb1RvQmFja3VwU2hhcmUucGFpbGxpZXJQdWJsaWNLZXkpO1xuXG4gICAgLy8gQ3JlYXRlIEpTT04gZGF0YSB3aXRoIHBsYXRmb3JtIHNoYXJlcyBmb3IgT1ZDLTEgYW5kIE9WQy0yXG4gICAgY29uc3QgYml0Z29Ub092Y091dHB1dDogQml0R29Ub092Y0pTT04gPSB7XG4gICAgICB3YWxsZXQ6IHtcbiAgICAgICAgLi4uZGVjb2RlZE92Y091dHB1dCxcbiAgICAgICAgcGxhdGZvcm06IHtcbiAgICAgICAgICBjb21tb25LZXljaGFpbjoga2V5LmNvbW1vbktleWNoYWluLFxuICAgICAgICAgIHdhbGxldEdwZ1B1YktleVNpZ3M6IGtleS53YWxsZXRIU01HUEdQdWJsaWNLZXlTaWdzLFxuICAgICAgICAgIG92Yzoge1xuICAgICAgICAgICAgLy8gQml0R28gdG8gVXNlciAoT1ZDLTEpXG4gICAgICAgICAgICAxOiB7XG4gICAgICAgICAgICAgIGJpdGdvVG9PdmNTaGFyZToge1xuICAgICAgICAgICAgICAgIGk6IDEsXG4gICAgICAgICAgICAgICAgajogMyxcbiAgICAgICAgICAgICAgICBwdWJsaWNTaGFyZTogYml0Z29Ub1VzZXJTaGFyZS5wdWJsaWNTaGFyZSxcbiAgICAgICAgICAgICAgICBwcml2YXRlU2hhcmU6IGJpdGdvVG9Vc2VyU2hhcmUucHJpdmF0ZVNoYXJlLFxuICAgICAgICAgICAgICAgIHBhaWxsaWVyUHVibGljS2V5OiBiaXRnb1RvVXNlclNoYXJlLnBhaWxsaWVyUHVibGljS2V5LFxuICAgICAgICAgICAgICAgIHZzc1Byb29mOiBiaXRnb1RvVXNlclNoYXJlLnZzc1Byb29mLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC8vIEJpdEdvIHRvIEJhY2t1cCAoT1ZDLTIpXG4gICAgICAgICAgICAyOiB7XG4gICAgICAgICAgICAgIGJpdGdvVG9PdmNTaGFyZToge1xuICAgICAgICAgICAgICAgIGk6IDIsXG4gICAgICAgICAgICAgICAgajogMyxcbiAgICAgICAgICAgICAgICBwdWJsaWNTaGFyZTogYml0Z29Ub0JhY2t1cFNoYXJlLnB1YmxpY1NoYXJlLFxuICAgICAgICAgICAgICAgIHByaXZhdGVTaGFyZTogYml0Z29Ub0JhY2t1cFNoYXJlLnByaXZhdGVTaGFyZSxcbiAgICAgICAgICAgICAgICBwYWlsbGllclB1YmxpY0tleTogYml0Z29Ub0JhY2t1cFNoYXJlLnBhaWxsaWVyUHVibGljS2V5LFxuICAgICAgICAgICAgICAgIHZzc1Byb29mOiBiaXRnb1RvQmFja3VwU2hhcmUudnNzUHJvb2YsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG5cbiAgICAvLyBNYXJrIGl0IHJlYWR5IGZvciBuZXh0IG9wZXJhdGlvbiwgc2hvdWxkIGJlIDJcbiAgICBiaXRnb1RvT3ZjT3V0cHV0LndhbGxldC5zdGF0ZSArPSAxO1xuXG4gICAgY29uc3Qgb3V0cHV0OiBCaXRHb0tleUZyb21PdmNTaGFyZXMgPSB7XG4gICAgICBiaXRHb0tleUlkOiBrZXkuaWQsXG4gICAgICBiaXRHb091dHB1dEpzb25Gb3JPdmM6IGJpdGdvVG9PdmNPdXRwdXQsXG4gICAgfTtcblxuICAgIHJldHVybiBkZWNvZGVPckVsc2UoQml0R29LZXlGcm9tT3ZjU2hhcmVzLm5hbWUsIEJpdEdvS2V5RnJvbU92Y1NoYXJlcywgb3V0cHV0LCAoZXJyb3JzKSA9PiB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEVycm9yIHByb2R1Y2luZyB0aGUgb3V0cHV0OiAke2Vycm9yc31gKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
400
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Y2hhaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL2tleWNoYWluL2tleWNoYWlucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDBDQUE0QjtBQUM1QixvREFBNEI7QUFDNUIscURBQXVDO0FBR3ZDLG9DQUF5RjtBQWlCekYsaURBQXVGO0FBRXZGLE1BQWEsU0FBUztJQUlwQixZQUFZLEtBQWdCLEVBQUUsUUFBbUI7UUFDL0MsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQTBCO1FBQ2xDLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBRTFELElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1NBQ3ZDO1FBRUQsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNyQixJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUU7WUFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0M7UUFDRCxPQUFPLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxHQUFHLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM1RixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsS0FBSyxD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QUUsZ0JBQWdCO1NBQ3hDLENBQUM7UUFFRixPQUFPLElBQUEsb0JBQVksRUFBQyxvQ0FBcUIsQ0FBQyxJQUFJLEVBQUUsb0NBQXFCLEVBQUUsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDeEYsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUMzRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXJaRCw4QkFxWkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgKiBhcyBjb21tb24gZnJvbSAnLi4vLi4vY29tbW9uJztcbmltcG9ydCB7IElCYXNlQ29pbiwgS2V5Y2hhaW5zVHJpcGxldCwgS2V5UGFpciB9IGZyb20gJy4uL2Jhc2VDb2luJztcbmltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJy4uL2JpdGdvQmFzZSc7XG5pbXBvcnQgeyBCbHNVdGlscywgUmVxdWVzdFRyYWNlciwgRUREU0FVdGlscywgRUNEU0FVdGlscywgZGVjb2RlT3JFbHNlIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHtcbiAgQWRkS2V5Y2hhaW5PcHRpb25zLFxuICBBcGlLZXlTaGFyZSxcbiAgQ2hhbmdlZEtleWNoYWlucyxcbiAgQ3JlYXRlQmFja3VwT3B0aW9ucyxcbiAgQ3JlYXRlQml0R29PcHRpb25zLFxuICBDcmVhdGVNcGNPcHRpb25zLFxuICBHZXRLZXljaGFpbk9wdGlvbnMsXG4gIEdldEtleXNGb3JTaWduaW5nT3B0aW9ucyxcbiAgSUtleWNoYWlucyxcbiAgS2V5Y2hhaW4sXG4gIExpc3RLZXljaGFpbk9wdGlvbnMsXG4gIExpc3RLZXljaGFpbnNSZXN1bHQsXG4gIFVwZGF0ZVBhc3N3b3JkT3B0aW9ucyxcbiAgVXBkYXRlU2luZ2xlS2V5Y2hhaW5QYXNzd29yZE9wdGlvbnMsXG59IGZyb20gJy4vaUtleWNoYWlucyc7XG5pbXBvcnQgeyBCaXRHb0tleUZyb21PdmNTaGFyZXMsIEJpdEdvVG9PdmNKU09OLCBPdmNUb0JpdEdvSlNPTiB9IGZyb20gJy4vb3ZjSnNvbkNvZGVjJztcblxuZXhwb3J0IGNsYXNzIEtleWNoYWlucyBpbXBsZW1lbnRzIElLZXljaGFpbnMge1xuICBwcml2YXRlIHJlYWRvbmx5IGJpdGdvOiBCaXRHb0Jhc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgYmFzZUNvaW46IElCYXNlQ29pbjtcblxuICBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBiYXNlQ29pbjogSUJhc2VDb2luKSB7XG4gICAgdGhpcy5iaXRnbyA9IGJpdGdvO1xuICAgIHRoaXMuYmFzZUNvaW4gPSBiYXNlQ29pbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBrZXljaGFpbiBieSBJRFxuICAgKiBAcGFyYW0gcGFyYW1zXG4gICAqIEBwYXJhbSBwYXJhbXMuaWRcbiAgICogQHBhcmFtIHBhcmFtcy54cHViIChvcHRpb25hbClcbiAgICogQHBhcmFtIHBhcmFtcy5ldGhBZGRyZXNzIChvcHRpb25hbClcbiAgICogQHBhcmFtIHBhcmFtcy5yZXFJZCAob3B0aW9uYWwpXG4gICAqL1xuICBhc3luYyBnZXQocGFyYW1zOiBHZXRLZXljaGFpbk9wdGlvbnMpOiBQcm9taXNlPEtleWNoYWluPiB7XG4gICAgY29tbW9uLnZhbGlkYXRlUGFyYW1zKHBhcmFtcywgW10sIFsneHB1YicsICdldGhBZGRyZXNzJ10pO1xuXG4gICAgaWYgKF8uaXNVbmRlZmluZWQocGFyYW1zLmlkKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpZCBtdXN0IGJlIGRlZmluZWQnKTtcbiAgICB9XG5cbiAgICBjb25zdCBpZCA9IHBhcmFtcy5pZDtcbiAgICBpZiAocGFyYW1zLnJlcUlkKSB7XG4gICAgICB0aGlzLmJpdGdvLnNldFJlcXVlc3RUcmFjZXIocGFyYW1zLnJlcUlkKTtcbiAgICB9XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYml0Z28uZ2V0KHRoaXMuYmFzZUNvaW4udXJsKCcva2V5LycgKyBlbmNvZGVVUklDb21wb25lbnQoaWQpKSkucmVzdWx0KCk7XG4gIH1cblxuICAvKipcbiAgICogbGlzdCB0aGUgdXNlcnMga2V5Y2hhaW5zXG4gICAqIEBwYXJhbSBwYXJhbXNcbiAgICogQHBhcmFtIHBhcmFtcy5saW1pdCAtIE1heCBudW1iZXIgb2YgcmVzdWx0cyBpbiBhIHNpbmdsZSBjYWxsLlxuICAgKiBAcGFyYW0gcGFyYW1zLnByZXZJZCAtIENvbnRpbnVlIGl0ZXJhdGluZyAocHJvdmlkZWQgYnkgbmV4dEJhdGNoUHJldklkIGluIHRoZSBwcmV2aW91cyBsaXN0KVxuICAgKiBAcmV0dXJucyB7Kn1cbiAgICovXG4gIGFzeW5jIGxpc3QocGFyYW1zOiBMaXN0S2V5Y2hhaW5PcHRpb25zID0ge30pOiBQcm9taXNlPExpc3RLZXljaGFpbnNSZXN1bHQ+IHtcbiAgICBjb25zdCBxdWVyeU9iamVjdDogYW55ID0ge307XG5cbiAgICBpZiAoIV8uaXNVbmRlZmluZWQocGFyYW1zLmxpbWl0KSkge1xuICAgICAgaWYgKCFfLmlzTnVtYmVyKHBhcmFtcy5saW1pdCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGxpbWl0IGFyZ3VtZW50LCBleHBlY3RpbmcgbnVtYmVyJyk7XG4gICAgICB9XG4gICAgICBxdWVyeU9iamVjdC5saW1pdCA9IHBhcmFtcy5saW1pdDtcbiAgICB9XG4gICAgaWYgKCFfLmlzVW5kZWZpbmVkKHBhcmFtcy5wcmV2SWQpKSB7XG4gICAgICBpZiAoIV8uaXNTdHJpbmcocGFyYW1zLnByZXZJZCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIHByZXZJZCBhcmd1bWVudCwgZXhwZWN0aW5nIHN0cmluZycpO1xuICAgICAgfVxuICAgICAgcXVlcnlPYmplY3QucHJldklkID0gcGFyYW1zLnByZXZJZDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5iaXRnby5nZXQodGhpcy5iYXNlQ29pbi51cmwoJy9rZXknKSkucXVlcnkocXVlcnlPYmplY3QpLnJlc3VsdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoYW5nZSB0aGUgZGVjcnlwdGlvbiBwYXNzd29yZCBmb3IgYWxsIHBvc3NpYmxlIGtleWNoYWlucyBhc3NvY2lhdGVkIHdpdGggYSB1c2VyLlxuICAgKlxuICAgKiBUaGlzIGZ1bmN0aW9uIGl0ZXJhdGVzIHRocm91Z2ggYWxsIGtleXMgYXNzb2NpYXRlZCB3aXRoIHRoZSB1c2VyLCBkZWNyeXB0c1xuICAgKiB0aGVtIHdpdGggdGhlIG9sZCBwYXNzd29yZCBhbmQgcmUtZW5jcnlwdHMgdGhlbSB3aXRoIHRoZSBuZXcgcGFzc3dvcmQuXG4gICAqXG4gICAqIFRoaXMgc2hvdWxkIGJlIGNhbGxlZCB3aGVuIGEgdXNlciBjaGFuZ2VzIHRoZWlyIGxvZ2luIHBhc3N3b3JkLCBhbmQgYXJlIGV4cGVjdGluZ1xuICAgKiB0aGF0IHRoZWlyIHdhbGxldCBwYXNzd29yZHMgYXJlIGNoYW5nZWQgdG8gbWF0Y2ggdGhlIG5ldyBsb2dpbiBwYXNzd29yZC5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtc1xuICAgKiBAcGFyYW0gcGFyYW1zLm9sZFBhc3N3b3JkIC0gVGhlIG9sZCBwYXNzd29yZCB1c2VkIGZvciBlbmNyeXB0aW5nIHRoZSBrZXlcbiAgICogQHBhcmFtIHBhcmFtcy5uZXdQYXNzd29yZCAtIFRoZSBuZXcgcGFzc3dvcmQgdG8gYmUgdXNlZCBmb3IgZW5jcnlwdGluZyB0aGUga2V5XG4gICAqIEByZXR1cm5zIGNoYW5nZWRLZXlzIE9iamVjdCAtIGUuZy46XG4gICAqICB7XG4gICAqICAgIHhwdWIxOiBlbmNyeXB0ZWRQcnYsXG4gICAqICAgIC4uLlxuICAgKiAgfVxuICAgKi9cbiAgYXN5bmMgdXBkYXRlUGFzc3dvcmQocGFyYW1zOiBVcGRhdGVQYXNzd29yZE9wdGlvbnMpOiBQcm9taXNlPENoYW5nZWRLZXljaGFpbnM+IHtcbiAgICBjb21tb24udmFsaWRhdGVQYXJhbXMocGFyYW1zLCBbJ29sZFBhc3N3b3JkJywgJ25ld1Bhc3N3b3JkJ10sIFtdKTtcbiAgICBjb25zdCBjaGFuZ2VkS2V5czogQ2hhbmdlZEtleWNoYWlucyA9IHt9O1xuICAgIGxldCBwcmV2SWQ7XG4gICAgbGV0IGtleXNMZWZ0ID0gdHJ1ZTtcbiAgICB3aGlsZSAoa2V5c0xlZnQpIHtcbiAgICAgIGNvbnN0IHJlc3VsdDogTGlzdEtleWNoYWluc1Jlc3VsdCA9IGF3YWl0IHRoaXMubGlzdCh7IGxpbWl0OiA1MDAsIHByZXZJZCB9KTtcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIHJlc3VsdC5rZXlzKSB7XG4gICAgICAgIGNvbnN0IG9sZEVuY3J5cHRlZFBydiA9IGtleS5lbmNyeXB0ZWRQcnY7XG4gICAgICAgIGlmIChfLmlzVW5kZWZpbmVkKG9sZEVuY3J5cHRlZFBydikpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHVwZGF0ZWRLZXljaGFpbiA9IHRoaXMudXBkYXRlU2luZ2xlS2V5Y2hhaW5QYXNzd29yZCh7XG4gICAgICAgICAgICBrZXljaGFpbjoga2V5LFxuICAgICAgICAgICAgb2xkUGFzc3dvcmQ6IHBhcmFtcy5vbGRQYXNzd29yZCxcbiAgICAgICAgICAgIG5ld1Bhc3N3b3JkOiBwYXJhbXMubmV3UGFzc3dvcmQsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgaWYgKHVwZGF0ZWRLZXljaGFpbi5lbmNyeXB0ZWRQcnYpIHtcbiAgICAgICAgICAgIGNvbnN0IGNoYW5nZWRLZXlJZGVudGlmaWVyID1cbiAgICAgICAgICAgICAgdXBkYXRlZEtleWNoYWluLnR5cGUgPT09ICd0c3MnID8gdXBkYXRlZEtleWNoYWluLmNvbW1vbktleWNoYWluIDogdXBkYXRlZEtleWNoYWluLnB1YjtcbiAgICAgICAgICAgIGlmIChjaGFuZ2VkS2V5SWRlbnRpZmllcikge1xuICAgICAgICAgICAgICBjaGFuZ2VkS2V5c1tjaGFuZ2VkS2V5SWRlbnRpZmllcl0gPSB1cGRhdGVkS2V5Y2hhaW4uZW5jcnlwdGVkUHJ2O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIC8vIGlmIHRoZSBwYXNzd29yZCB3YXMgaW5jb3JyZWN0LCBzaWxlbmNlIHRoZSBlcnJvciwgdGhyb3cgb3RoZXJ3aXNlXG4gICAgICAgICAgaWYgKCFlLm1lc3NhZ2UuaW5jbHVkZXMoJ3ByaXZhdGUga2V5IGlzIGluY29ycmVjdCcpKSB7XG4gICAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHJlc3VsdC5uZXh0QmF0Y2hQcmV2SWQpIHtcbiAgICAgICAgcHJldklkID0gcmVzdWx0Lm5leHRCYXRjaFByZXZJZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGtleXNMZWZ0ID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjaGFuZ2VkS2V5cztcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgdGhlIHBhc3N3b3JkIHVzZWQgdG8gZGVjcnlwdCBhIHNpbmdsZSBrZXljaGFpblxuICAgKiBAcGFyYW0gcGFyYW1zXG4gICAqIEBwYXJhbSBwYXJhbXMua2V5Y2hhaW4gLSBUaGUga2V5Y2hhaW4gd2hvc2UgcGFzc3dvcmQgc2hvdWxkIGJlIHVwZGF0ZWRcbiAgICogQHBhcmFtIHBhcmFtcy5vbGRQYXNzd29yZCAtIFRoZSBvbGQgcGFzc3dvcmQgdXNlZCBmb3IgZW5jcnlwdGluZyB0aGUga2V5XG4gICAqIEBwYXJhbSBwYXJhbXMubmV3UGFzc3dvcmQgLSBUaGUgbmV3IHBhc3N3b3JkIHRvIGJlIHVzZWQgZm9yIGVuY3J5cHRpbmcgdGhlIGtleVxuICAgKiBAcmV0dXJucyB7b2JqZWN0fVxuICAgKi9cbiAgdXBkYXRlU2luZ2xlS2V5Y2hhaW5QYXNzd29yZChwYXJhbXM6IFVwZGF0ZVNpbmdsZUtleWNoYWluUGFzc3dvcmRPcHRpb25zID0ge30pOiBLZXljaGFpbiB7XG4gICAgaWYgKCFfLmlzU3RyaW5nKHBhcmFtcy5vbGRQYXNzd29yZCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZXhwZWN0ZWQgb2xkIHBhc3N3b3JkIHRvIGJlIGEgc3RyaW5nJyk7XG4gICAgfVxuXG4gICAgaWYgKCFfLmlzU3RyaW5nKHBhcmFtcy5uZXdQYXNzd29yZCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZXhwZWN0ZWQgbmV3IHBhc3N3b3JkIHRvIGJlIGEgc3RyaW5nJyk7XG4gICAgfVxuXG4gICAgaWYgKCFfLmlzT2JqZWN0KHBhcmFtcy5rZXljaGFpbikgfHwgIV8uaXNTdHJpbmcocGFyYW1zLmtleWNoYWluLmVuY3J5cHRlZFBydikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZXhwZWN0ZWQga2V5Y2hhaW4gdG8gYmUgYW4gb2JqZWN0IHdpdGggYW4gZW5jcnlwdGVkUHJ2IHByb3BlcnR5Jyk7XG4gICAgfVxuXG4gICAgY29uc3Qgb2xkRW5jcnlwdGVkUHJ2ID0gcGFyYW1zLmtleWNoYWluLmVuY3J5cHRlZFBydjtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZGVjcnlwdGVkUHJ2ID0gdGhpcy5iaXRnby5kZWNyeXB0KHsgaW5wdXQ6IG9sZEVuY3J5cHRlZFBydiwgcGFzc3dvcmQ6IHBhcmFtcy5vbGRQYXNzd29yZCB9KTtcbiAgICAgIGNvbnN0IG5ld0VuY3J5cHRlZFBydiA9IHRoaXMuYml0Z28uZW5jcnlwdCh7IGlucHV0OiBkZWNyeXB0ZWRQcnYsIHBhc3N3b3JkOiBwYXJhbXMubmV3UGFzc3dvcmQgfSk7XG4gICAgICByZXR1cm4gXy5hc3NpZ24oe30sIHBhcmFtcy5rZXljaGFpbiwgeyBlbmNyeXB0ZWRQcnY6IG5ld0VuY3J5cHRlZFBydiB9KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvLyBjYXRjaGluZyBhbiBlcnJvciBoZXJlIG1lYW5zIHRoYXQgdGhlIHBhc3N3b3JkIHdhcyBpbmNvcnJlY3Qgb3IsIGxlc3MgbGlrZWx5LCB0aGUgaW5wdXQgdG8gZGVjcnlwdCBpcyBjb3JydXB0ZWRcbiAgICAgIHRocm93IG5ldyBFcnJvcigncGFzc3dvcmQgdXNlZCB0byBkZWNyeXB0IGtleWNoYWluIHByaXZhdGUga2V5IGlzIGluY29ycmVjdCcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBwdWJsaWMvcHJpdmF0ZSBrZXkgcGFpclxuICAgKiBAcGFyYW0gcGFyYW1zIC0gb3B0aW9uYWwgcGFyYW1zXG4gICAqIEBwYXJhbSBwYXJhbXMuc2VlZCBvcHRpb25hbCAtIHNlZWQgdG8gdXNlIGZvciBrZXlwYWlyIGdlbmVyYXRpb25cbiAgICogQHBhcmFtIHBhcmFtcy5pc1Jvb3RLZXkgb3B0aW9uYWwgLSB3aGV0aGVyIHRoZSByZXN1bHRpbmcga2V5cGFpciBzaG91bGQgYmUgYSByb290IGtleVxuICAgKiBAcmV0dXJucyB7S2V5UGFpcn0gLSB0aGUgZ2VuZXJhdGVkIGtleXBhaXJcbiAgICovXG4gIGNyZWF0ZShwYXJhbXM6IHsgc2VlZD86IEJ1ZmZlcjsgaXNSb290S2V5PzogYm9vbGVhbiB9ID0ge30pOiBLZXlQYWlyIHtcbiAgICBpZiAocGFyYW1zPy5pc1Jvb3RLZXkpIHtcbiAgICAgIHJldHVybiB0aGlzLmJhc2VDb2luLmdlbmVyYXRlUm9vdEtleVBhaXIocGFyYW1zLnNlZWQpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5iYXNlQ29pbi5nZW5lcmF0ZUtleVBhaXIocGFyYW1zLnNlZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIGtleWNoYWluIHRvIEJpdEdvJ3MgcmVjb3Jkc1xuICAgKiBAcGFyYW0gcGFyYW1zXG4gICAqL1xuICBhc3luYyBhZGQocGFyYW1zOiBBZGRLZXljaGFpbk9wdGlvbnMgPSB7fSk6IFByb21pc2U8S2V5Y2hhaW4+IHtcbiAgICBwYXJhbXMgPSBwYXJhbXMgfHwge307XG4gICAgY29tbW9uLnZhbGlkYXRlUGFyYW1zKFxuICAgICAgcGFyYW1zLFxuICAgICAgW10sXG4gICAgICBbXG4gICAgICAgICdwdWInLFxuICAgICAgICAnZW5jcnlwdGVkUHJ2JyxcbiAgICAgICAgJ2tleVR5cGUnLFxuICAgICAgICAndHlwZScsXG4gICAgICAgICdzb3VyY2UnLFxuICAgICAgICAnb3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlJyxcbiAgICAgICAgJ2VudGVycHJpc2UnLFxuICAgICAgICAnZGVyaXZlZEZyb21QYXJlbnRXaXRoU2VlZCcsXG4gICAgICBdXG4gICAgKTtcblxuICAgIGlmICghXy5pc1VuZGVmaW5lZChwYXJhbXMuZGlzYWJsZUtSU0VtYWlsKSkge1xuICAgICAgaWYgKCFfLmlzQm9vbGVhbihwYXJhbXMuZGlzYWJsZUtSU0VtYWlsKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgZGlzYWJsZUtSU0VtYWlsIGFyZ3VtZW50LCBleHBlY3RpbmcgYm9vbGVhbicpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwYXJhbXMucmVxSWQpIHtcbiAgICAgIHRoaXMuYml0Z28uc2V0UmVxdWVzdFRyYWNlcihwYXJhbXMucmVxSWQpO1xuICAgIH1cblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmJpdGdvXG4gICAgICAucG9zdCh0aGlzLmJhc2VDb2luLnVybCgnL2tleScpKVxuICAgICAgLnNlbmQoe1xuICAgICAgICBwdWI6IHBhcmFtcy5wdWIsXG4gICAgICAgIGNvbW1vblB1YjogcGFyYW1zLmNvbW1vblB1YixcbiAgICAgICAgY29tbW9uS2V5Y2hhaW46IHBhcmFtcy5jb21tb25LZXljaGFpbixcbiAgICAgICAgZW5jcnlwdGVkUHJ2OiBwYXJhbXMuZW5jcnlwdGVkUHJ2LFxuICAgICAgICB0eXBlOiBwYXJhbXMudHlwZSxcbiAgICAgICAga2V5VHlwZTogcGFyYW1zLmtleVR5cGUsXG4gICAgICAgIHNvdXJjZTogcGFyYW1zLnNvdXJjZSxcbiAgICAgICAgcHJvdmlkZXI6IHBhcmFtcy5wcm92aWRlcixcbiAgICAgICAgb3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlOiBwYXJhbXMub3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlLFxuICAgICAgICBlbnRlcnByaXNlOiBwYXJhbXMuZW50ZXJwcmlzZSxcbiAgICAgICAgZGVyaXZlZEZyb21QYXJlbnRXaXRoU2VlZDogcGFyYW1zLmRlcml2ZWRGcm9tUGFyZW50V2l0aFNlZWQsXG4gICAgICAgIGRpc2FibGVLUlNFbWFpbDogcGFyYW1zLmRpc2FibGVLUlNFbWFpbCxcbiAgICAgICAga3JzU3BlY2lmaWM6IHBhcmFtcy5rcnNTcGVjaWZpYyxcbiAgICAgICAga2V5U2hhcmVzOiBwYXJhbXMua2V5U2hhcmVzLFxuICAgICAgICB1c2VyR1BHUHVibGljS2V5OiBwYXJhbXMudXNlckdQR1B1YmxpY0tleSxcbiAgICAgICAgYmFja3VwR1BHUHVibGljS2V5OiBwYXJhbXMuYmFja3VwR1BHUHVibGljS2V5LFxuICAgICAgICBhbGdvVXNlZDogcGFyYW1zLmFsZ29Vc2VkLFxuICAgICAgICBpc0Rpc3RyaWJ1dGVkQ3VzdG9keTogcGFyYW1zLmlzRGlzdHJpYnV0ZWRDdXN0b2R5LFxuICAgICAgfSlcbiAgICAgIC5yZXN1bHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBCaXRHbyBrZXlcbiAgICogQHBhcmFtIHBhcmFtcyAoZW1wdHkpXG4gICAqL1xuICBhc3luYyBjcmVhdGVCaXRHbyhwYXJhbXM6IENyZWF0ZUJpdEdvT3B0aW9ucyA9IHt9KTogUHJvbWlzZTxLZXljaGFpbj4ge1xuICAgIHBhcmFtcy5zb3VyY2UgPSAnYml0Z28nO1xuXG4gICAgdGhpcy5iYXNlQ29pbi5wcmVDcmVhdGVCaXRHbyhwYXJhbXMgYXMgYW55KTtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5hZGQocGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBiYWNrdXAga2V5XG4gICAqIEBwYXJhbSBwYXJhbXNcbiAgICogQHBhcmFtIHBhcmFtcy5wcm92aWRlciAob3B0aW9uYWwpXG4gICAqL1xuICBhc3luYyBjcmVhdGVCYWNrdXAocGFyYW1zOiBDcmVhdGVCYWNrdXBPcHRpb25zID0ge30pOiBQcm9taXNlPEtleWNoYWluPiB7XG4gICAgcGFyYW1zLnNvdXJjZSA9ICdiYWNrdXAnO1xuXG4gICAgY29uc3QgaXNUc3NCYWNrdXBLZXkgPSBwYXJhbXMucHJ2ICYmIChwYXJhbXMuY29tbW9uS2V5Y2hhaW4gfHwgcGFyYW1zLmNvbW1vblB1Yik7XG5cbiAgICBpZiAoXy5pc1VuZGVmaW5lZChwYXJhbXMucHJvdmlkZXIpICYmICFpc1Rzc0JhY2t1cEtleSkge1xuICAgICAgLy8gaWYgdGhlIHByb3ZpZGVyIGlzIHVuZGVmaW5lZCwgd2UgZ2VuZXJhdGUgYSBsb2NhbCBrZXkgYW5kIGFkZCB0aGUgc291cmNlIGRldGFpbHNcbiAgICAgIGNvbnN0IGtleSA9IHRoaXMuY3JlYXRlKCk7XG4gICAgICBfLmV4dGVuZChwYXJhbXMsIGtleSk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2VydmVyUmVzcG9uc2UgPSBhd2FpdCB0aGlzLmFkZChwYXJhbXMpO1xuICAgIHJldHVybiBfLmV4dGVuZCh7fSwgc2VydmVyUmVzcG9uc2UsIF8ucGljayhwYXJhbXMsIFsncHJ2JywgJ2VuY3J5cHRlZFBydicsICdwcm92aWRlcicsICdzb3VyY2UnXSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMga2V5cyBmb3Igc2lnbmluZyBmcm9tIGEgd2FsbGV0XG4gICAqIEBwYXJhbSBwYXJhbXNcbiAgICogQHJldHVybnMge1Byb21pc2U8S2V5Y2hhaW5bXT59XG4gICAqL1xuICBhc3luYyBnZXRLZXlzRm9yU2lnbmluZyhwYXJhbXM6IEdldEtleXNGb3JTaWduaW5nT3B0aW9ucyA9IHt9KTogUHJvbWlzZTxLZXljaGFpbltdPiB7XG4gICAgaWYgKCFfLmlzT2JqZWN0KHBhcmFtcy53YWxsZXQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgcmVxdWlyZWQgcGFyYW0gd2FsbGV0Jyk7XG4gICAgfVxuICAgIGNvbnN0IHdhbGxldCA9IHBhcmFtcy53YWxsZXQ7XG4gICAgY29uc3QgcmVxSWQgPSBwYXJhbXMucmVxSWQgfHwgbmV3IFJlcXVlc3RUcmFjZXIoKTtcbiAgICBjb25zdCBpZHMgPSB3YWxsZXQuYmFzZUNvaW4ua2V5SWRzRm9yU2lnbmluZygpO1xuICAgIGNvbnN0IGtleWNoYWluUXVlcmllc0JsdWViaXJkcyA9IGlkcy5tYXAoKGlkKSA9PiB0aGlzLmdldCh7IGlkOiB3YWxsZXQua2V5SWRzKClbaWRdLCByZXFJZCB9KSk7XG4gICAgcmV0dXJuIFByb21pc2UuYWxsKGtleWNoYWluUXVlcmllc0JsdWViaXJkcyk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVuaWVuY2UgZnVuY3Rpb24gdG8gY3JlYXRlIGFuZCBzdG9yZSBNUEMga2V5Y2hhaW5zIHdpdGggQml0R28uXG4gICAqIEBwYXJhbSBwYXJhbXMgcGFzc3BocmFzZSB1c2VkIHRvIGVuY3J5cHQgc2VjcmV0IG1hdGVyaWFsc1xuICAgKiBAcmV0dXJuIHtQcm9taXNlPEtleWNoYWluc1RyaXBsZXQ+fSBuZXdseSBjcmVhdGVkIFVzZXIsIEJhY2t1cCwgYW5kIEJpdEdvIGtleXNcbiAgICovXG4gIGFzeW5jIGNyZWF0ZU1wYyhwYXJhbXM6IENyZWF0ZU1wY09wdGlvbnMpOiBQcm9taXNlPEtleWNoYWluc1RyaXBsZXQ+IHtcbiAgICBsZXQgTXBjVXRpbHM7XG4gICAgc3dpdGNoIChwYXJhbXMubXVsdGlzaWdUeXBlKSB7XG4gICAgICBjYXNlICd0c3MnOlxuICAgICAgICBNcGNVdGlscyA9IHRoaXMuYmFzZUNvaW4uZ2V0TVBDQWxnb3JpdGhtKCkgPT09ICdlY2RzYScgPyBFQ0RTQVV0aWxzLkVjZHNhVXRpbHMgOiBFRERTQVV0aWxzLmRlZmF1bHQ7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYmxzZGtnJzpcbiAgICAgICAgaWYgKF8uaXNVbmRlZmluZWQocGFyYW1zLnBhc3NwaHJhc2UpKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHJlcXVpcmVkIHBhcmFtIHBhc3NwaHJhc2UnKTtcbiAgICAgICAgfVxuICAgICAgICBNcGNVdGlscyA9IEJsc1V0aWxzO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgbXVsdGktc2lnIHR5cGUnKTtcbiAgICB9XG4gICAgY29uc3QgbXBjVXRpbHMgPSBuZXcgTXBjVXRpbHModGhpcy5iaXRnbywgdGhpcy5iYXNlQ29pbik7XG4gICAgcmV0dXJuIGF3YWl0IG1wY1V0aWxzLmNyZWF0ZUtleWNoYWlucyh7XG4gICAgICBwYXNzcGhyYXNlOiBwYXJhbXMucGFzc3BocmFzZSxcbiAgICAgIGVudGVycHJpc2U6IHBhcmFtcy5lbnRlcnByaXNlLFxuICAgICAgb3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlOiBwYXJhbXMub3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlLFxuICAgICAgYmFja3VwUHJvdmlkZXI6IHBhcmFtcy5iYWNrdXBQcm92aWRlcixcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJdCBwYXJzZXMgdGhlIEpTT04gZG93bmxvYWRlZCBmcm9tIHRoZSBPVkMgZm9yIHBsYXRmb3JtIChCaXRHbyksXG4gICAqIGFuZCBjcmVhdGVzIGEgY29ycmVzcG9uZGluZyBUU1MgQml0R28ga2V5LiBJdCBhbHNvIHJldHVybnMgdGhlIEpTT04gdGhhdCBuZWVkc1xuICAgKiB0byBiZSB1cGxvYWRlZCBiYWNrIHRvIHRoZSBPVkNzIGNvbnRhaW5pbmcgdGhlIEJpdEdvIC0+IE9WQyBzaGFyZXMuXG4gICAqIEBwYXJhbSBvdmNPdXRwdXRKc29uIEpTT04gZm9ybWF0IG9mIHRoZSBmaWxlIGRvd25sb2FkZWQgZnJvbSB0aGUgT1ZDIGZvciBwbGF0Zm9ybVxuICAgKiBAcmV0dXJucyB7Qml0R29LZXlGcm9tT3ZjU2hhcmVzfVxuICAgKi9cbiAgYXN5bmMgY3JlYXRlVHNzQml0R29LZXlGcm9tT3ZjU2hhcmVzKG92Y091dHB1dEpzb246IHVua25vd24pOiBQcm9taXNlPEJpdEdvS2V5RnJvbU92Y1NoYXJlcz4ge1xuICAgIGNvbnN0IGRlY29kZWRPdmNPdXRwdXQgPSBkZWNvZGVPckVsc2UoT3ZjVG9CaXRHb0pTT04ubmFtZSwgT3ZjVG9CaXRHb0pTT04sIG92Y091dHB1dEpzb24sIChlcnJvcnMpID0+IHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRXJyb3IocykgcGFyc2luZyBPVkMgSlNPTjogJHtlcnJvcnN9YCk7XG4gICAgfSk7XG5cbiAgICBpZiAoZGVjb2RlZE92Y091dHB1dC5zdGF0ZSAhPT0gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTdGF0ZSBleHBlY3RlZCB0byBiZSBcIjFcIi4gUGxlYXNlIGNvbXBsZXRlIHRoZSBmaXJzdCB0d28gT1ZDIG9wZXJhdGlvbnMnKTtcbiAgICB9XG5cbiAgICAvLyBPVkMtMSBpcyByZXNwb25zaWJsZSBmb3IgdGhlIFVzZXIga2V5XG4gICAgY29uc3Qgb3ZjMSA9IGRlY29kZWRPdmNPdXRwdXQub3ZjWzFdO1xuICAgIC8vIE9WQy0yIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgQmFja3VwIGtleVxuICAgIGNvbnN0IG92YzIgPSBkZWNvZGVkT3ZjT3V0cHV0Lm92Y1syXTtcblxuICAgIGNvbnN0IGtleVNoYXJlczogQXBpS2V5U2hhcmVbXSA9IFtcbiAgICAgIHtcbiAgICAgICAgZnJvbTogJ3VzZXInLFxuICAgICAgICB0bzogJ2JpdGdvJyxcbiAgICAgICAgcHVibGljU2hhcmU6IG92YzEub3ZjVG9CaXRnb1NoYXJlLnB1YmxpY1NoYXJlLFxuICAgICAgICBwcml2YXRlU2hhcmU6IG92YzEub3ZjVG9CaXRnb1NoYXJlLnByaXZhdGVTaGFyZSxcbiAgICAgICAgcHJpdmF0ZVNoYXJlUHJvb2Y6IG92YzEub3ZjVG9CaXRnb1NoYXJlLnVTaWcudG9TdHJpbmcoKSA/PyAnJyxcbiAgICAgICAgdnNzUHJvb2Y6IG92YzEub3ZjVG9CaXRnb1NoYXJlLnZzc1Byb29mID8/ICcnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgZnJvbTogJ2JhY2t1cCcsXG4gICAgICAgIHRvOiAnYml0Z28nLFxuICAgICAgICBwdWJsaWNTaGFyZTogb3ZjMi5vdmNUb0JpdGdvU2hhcmUucHVibGljU2hhcmUsXG4gICAgICAgIHByaXZhdGVTaGFyZTogb3ZjMi5vdmNUb0JpdGdvU2hhcmUucHJpdmF0ZVNoYXJlLFxuICAgICAgICBwcml2YXRlU2hhcmVQcm9vZjogb3ZjMi5vdmNUb0JpdGdvU2hhcmUudVNpZy50b1N0cmluZygpID8/ICcnLFxuICAgICAgICB2c3NQcm9vZjogb3ZjMi5vdmNUb0JpdGdvU2hhcmUudnNzUHJvb2YgPz8gJycsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICBjb25zdCBrZXkgPSBhd2FpdCB0aGlzLmJhc2VDb2luLmtleWNoYWlucygpLmFkZCh7XG4gICAgICBzb3VyY2U6ICdiaXRnbycsXG4gICAgICBrZXlTaGFyZXMsXG4gICAgICBrZXlUeXBlOiAndHNzJyxcbiAgICAgIHVzZXJHUEdQdWJsaWNLZXk6IG92YzEuZ3BnUHViS2V5LFxuICAgICAgYmFja3VwR1BHUHVibGljS2V5OiBvdmMyLmdwZ1B1YktleSxcbiAgICB9KTtcbiAgICBhc3NlcnQoa2V5LmtleVNoYXJlcyk7XG4gICAgYXNzZXJ0KGtleS5jb21tb25LZXljaGFpbik7XG4gICAgYXNzZXJ0KGtleS53YWxsZXRIU01HUEdQdWJsaWNLZXlTaWdzKTtcblxuICAgIGNvbnN0IGJpdGdvVG9Vc2VyU2hhcmUgPSBrZXkua2V5U2hhcmVzLmZpbmQoXG4gICAgICAodmFsdWU6IHsgZnJvbTogc3RyaW5nOyB0bzogc3RyaW5nIH0pID0+IHZhbHVlLmZyb20gPT09ICdiaXRnbycgJiYgdmFsdWUudG8gPT09ICd1c2VyJ1xuICAgICk7XG4gICAgYXNzZXJ0KGJpdGdvVG9Vc2VyU2hhcmUpO1xuICAgIGFzc2VydChiaXRnb1RvVXNlclNoYXJlLnZzc1Byb29mKTtcbiAgICBhc3NlcnQoYml0Z29Ub1VzZXJTaGFyZS5wYWlsbGllclB1YmxpY0tleSk7XG4gICAgY29uc3QgYml0Z29Ub0JhY2t1cFNoYXJlID0ga2V5LmtleVNoYXJlcy5maW5kKFxuICAgICAgKHZhbHVlOiB7IGZyb206IHN0cmluZzsgdG86IHN0cmluZyB9KSA9PiB2YWx1ZS5mcm9tID09PSAnYml0Z28nICYmIHZhbHVlLnRvID09PSAnYmFja3VwJ1xuICAgICk7XG4gICAgYXNzZXJ0KGJpdGdvVG9CYWNrdXBTaGFyZSk7XG4gICAgYXNzZXJ0KGJpdGdvVG9CYWNrdXBTaGFyZS52c3NQcm9vZik7XG4gICAgYXNzZXJ0KGJpdGdvVG9CYWNrdXBTaGFyZS5wYWlsbGllclB1YmxpY0tleSk7XG5cbiAgICAvLyBDcmVhdGUgSlNPTiBkYXRhIHdpdGggcGxhdGZvcm0gc2hhcmVzIGZvciBPVkMtMSBhbmQgT1ZDLTJcbiAgICBjb25zdCBiaXRnb1RvT3ZjT3V0cHV0OiBCaXRHb1RvT3ZjSlNPTiA9IHtcbiAgICAgIHdhbGxldDoge1xuICAgICAgICAuLi5kZWNvZGVkT3ZjT3V0cHV0LFxuICAgICAgICBwbGF0Zm9ybToge1xuICAgICAgICAgIGNvbW1vbktleWNoYWluOiBrZXkuY29tbW9uS2V5Y2hhaW4sXG4gICAgICAgICAgd2FsbGV0R3BnUHViS2V5U2lnczoga2V5LndhbGxldEhTTUdQR1B1YmxpY0tleVNpZ3MsXG4gICAgICAgICAgb3ZjOiB7XG4gICAgICAgICAgICAvLyBCaXRHbyB0byBVc2VyIChPVkMtMSlcbiAgICAgICAgICAgIDE6IHtcbiAgICAgICAgICAgICAgYml0Z29Ub092Y1NoYXJlOiB7XG4gICAgICAgICAgICAgICAgaTogMSxcbiAgICAgICAgICAgICAgICBqOiAzLFxuICAgICAgICAgICAgICAgIHB1YmxpY1NoYXJlOiBiaXRnb1RvVXNlclNoYXJlLnB1YmxpY1NoYXJlLFxuICAgICAgICAgICAgICAgIHByaXZhdGVTaGFyZTogYml0Z29Ub1VzZXJTaGFyZS5wcml2YXRlU2hhcmUsXG4gICAgICAgICAgICAgICAgcGFpbGxpZXJQdWJsaWNLZXk6IGJpdGdvVG9Vc2VyU2hhcmUucGFpbGxpZXJQdWJsaWNLZXksXG4gICAgICAgICAgICAgICAgdnNzUHJvb2Y6IGJpdGdvVG9Vc2VyU2hhcmUudnNzUHJvb2YsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLy8gQml0R28gdG8gQmFja3VwIChPVkMtMilcbiAgICAgICAgICAgIDI6IHtcbiAgICAgICAgICAgICAgYml0Z29Ub092Y1NoYXJlOiB7XG4gICAgICAgICAgICAgICAgaTogMixcbiAgICAgICAgICAgICAgICBqOiAzLFxuICAgICAgICAgICAgICAgIHB1YmxpY1NoYXJlOiBiaXRnb1RvQmFja3VwU2hhcmUucHVibGljU2hhcmUsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZVNoYXJlOiBiaXRnb1RvQmFja3VwU2hhcmUucHJpdmF0ZVNoYXJlLFxuICAgICAgICAgICAgICAgIHBhaWxsaWVyUHVibGljS2V5OiBiaXRnb1RvQmFja3VwU2hhcmUucGFpbGxpZXJQdWJsaWNLZXksXG4gICAgICAgICAgICAgICAgdnNzUHJvb2Y6IGJpdGdvVG9CYWNrdXBTaGFyZS52c3NQcm9vZixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIC8vIE1hcmsgaXQgcmVhZHkgZm9yIG5leHQgb3BlcmF0aW9uLCBzaG91bGQgYmUgMlxuICAgIGJpdGdvVG9PdmNPdXRwdXQud2FsbGV0LnN0YXRlICs9IDE7XG5cbiAgICBjb25zdCBvdXRwdXQ6IEJpdEdvS2V5RnJvbU92Y1NoYXJlcyA9IHtcbiAgICAgIGJpdEdvS2V5SWQ6IGtleS5pZCxcbiAgICAgIGJpdEdvT3V0cHV0SnNvbkZvck92YzogYml0Z29Ub092Y091dHB1dCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGRlY29kZU9yRWxzZShCaXRHb0tleUZyb21PdmNTaGFyZXMubmFtZSwgQml0R29LZXlGcm9tT3ZjU2hhcmVzLCBvdXRwdXQsIChlcnJvcnMpID0+IHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRXJyb3IgcHJvZHVjaW5nIHRoZSBvdXRwdXQ6ICR7ZXJyb3JzfWApO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -82,4 +86,4 @@ exports.BitGoKeyFromOvcShares = t.strict({
82
86
  bitGoOutputJsonForOvc: exports.BitGoToOvcJSON,
83
87
  bitGoKeyId: t.string,
84
88
  }, 'BitGoKeyFromOvcShares');
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZjSnNvbkNvZGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL2tleWNoYWluL292Y0pzb25Db2RlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaUNBQWlDO0FBQ2pDLHlDQUEyQjtBQUVkLFFBQUEsUUFBUSxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQ3BDO0lBQ0UsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNMLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTTtRQUNyQixZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU07UUFDdEIsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNO1FBQ2xCLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTTtRQUNYLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTTtLQUNaLENBQUM7SUFDRixDQUFDLENBQUMsT0FBTyxDQUFDO1FBQ1IsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLE1BQU07S0FDNUIsQ0FBQztDQUNILEVBQ0QsVUFBVSxDQUNYLENBQUM7QUFFVyxRQUFBLGVBQWUsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUMzQztJQUNFLGdCQUFRO0lBQ1IsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNMLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTTtLQUNmLENBQUM7Q0FDSCxFQUNELGlCQUFpQixDQUNsQixDQUFDO0FBRVcsUUFBQSxjQUFjLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FDcEM7SUFDRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDcEIsVUFBVSxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ3BCLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNkLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNmLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ1YsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDUixTQUFTLEVBQUUsQ0FBQyxDQUFDLE1BQU07WUFDbkIsZUFBZSxFQUFFLHVCQUFlO1NBQ2pDLENBQUM7UUFDRixDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNSLFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTTtZQUNuQixlQUFlLEVBQUUsdUJBQWU7WUFDaEMsYUFBYSxFQUFFLHVCQUFlO1NBQy9CLENBQUM7S0FDSCxDQUFDO0NBQ0gsRUFDRCxnQkFBZ0IsQ0FDakIsQ0FBQztBQUlXLFFBQUEsY0FBYyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQ3BDO0lBQ0UsTUFBTSxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUM7UUFDckIsc0JBQWM7UUFDZCxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ0wsUUFBUSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ2YsY0FBYyxFQUFFLENBQUMsQ0FBQyxNQUFNO2dCQUN4QixtQkFBbUIsRUFBRSxDQUFDLENBQUMsTUFBTTtnQkFDN0IsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUM7b0JBQ1Ysd0JBQXdCO29CQUN4QixDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQzt3QkFDUixlQUFlLEVBQUUsZ0JBQVE7cUJBQzFCLENBQUM7b0JBQ0YsMEJBQTBCO29CQUMxQixDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQzt3QkFDUixlQUFlLEVBQUUsZ0JBQVE7cUJBQzFCLENBQUM7aUJBQ0gsQ0FBQzthQUNILENBQUM7U0FDSCxDQUFDO0tBQ0gsQ0FBQztDQUNILEVBQ0QsZ0JBQWdCLENBQ2pCLENBQUM7QUFJVyxRQUFBLHFCQUFxQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQzNDO0lBQ0UscUJBQXFCLEVBQUUsc0JBQWM7SUFDckMsVUFBVSxFQUFFLENBQUMsQ0FBQyxNQUFNO0NBQ3JCLEVBQ0QsdUJBQXVCLENBQ3hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1yZWRlY2xhcmUgKi9cbmltcG9ydCAqIGFzIHQgZnJvbSAnaW8tdHMnO1xuXG5leHBvcnQgY29uc3QgT3ZjU2hhcmUgPSB0LmludGVyc2VjdGlvbihcbiAgW1xuICAgIHQudHlwZSh7XG4gICAgICBwdWJsaWNTaGFyZTogdC5zdHJpbmcsXG4gICAgICBwcml2YXRlU2hhcmU6IHQuc3RyaW5nLFxuICAgICAgdnNzUHJvb2Y6IHQuc3RyaW5nLFxuICAgICAgaTogdC5udW1iZXIsXG4gICAgICBqOiB0Lm51bWJlcixcbiAgICB9KSxcbiAgICB0LnBhcnRpYWwoe1xuICAgICAgcGFpbGxpZXJQdWJsaWNLZXk6IHQuc3RyaW5nLFxuICAgIH0pLFxuICBdLFxuICAnT3ZjU2hhcmUnXG4pO1xuXG5leHBvcnQgY29uc3QgT3ZjVG9PdGhlclNoYXJlID0gdC5pbnRlcnNlY3Rpb24oXG4gIFtcbiAgICBPdmNTaGFyZSxcbiAgICB0LnR5cGUoe1xuICAgICAgdVNpZzogdC5zdHJpbmcsXG4gICAgfSksXG4gIF0sXG4gICdPdmNUb090aGVyU2hhcmUnXG4pO1xuXG5leHBvcnQgY29uc3QgT3ZjVG9CaXRHb0pTT04gPSB0LnN0cmljdChcbiAge1xuICAgIHRzc1ZlcnNpb246IHQuc3RyaW5nLFxuICAgIHdhbGxldFR5cGU6IHQuc3RyaW5nLFxuICAgIGNvaW46IHQuc3RyaW5nLFxuICAgIHN0YXRlOiB0Lm51bWJlcixcbiAgICBvdmM6IHQudHlwZSh7XG4gICAgICAxOiB0LnR5cGUoe1xuICAgICAgICBncGdQdWJLZXk6IHQuc3RyaW5nLFxuICAgICAgICBvdmNUb0JpdGdvU2hhcmU6IE92Y1RvT3RoZXJTaGFyZSxcbiAgICAgIH0pLFxuICAgICAgMjogdC50eXBlKHtcbiAgICAgICAgZ3BnUHViS2V5OiB0LnN0cmluZyxcbiAgICAgICAgb3ZjVG9CaXRnb1NoYXJlOiBPdmNUb090aGVyU2hhcmUsXG4gICAgICAgIG92Y1RvT3ZjU2hhcmU6IE92Y1RvT3RoZXJTaGFyZSxcbiAgICAgIH0pLFxuICAgIH0pLFxuICB9LFxuICAnT3ZjVG9CaXRHb0pTT04nXG4pO1xuXG5leHBvcnQgdHlwZSBPdmNUb0JpdEdvSlNPTiA9IHQuVHlwZU9mPHR5cGVvZiBPdmNUb0JpdEdvSlNPTj47XG5cbmV4cG9ydCBjb25zdCBCaXRHb1RvT3ZjSlNPTiA9IHQuc3RyaWN0KFxuICB7XG4gICAgd2FsbGV0OiB0LmludGVyc2VjdGlvbihbXG4gICAgICBPdmNUb0JpdEdvSlNPTixcbiAgICAgIHQudHlwZSh7XG4gICAgICAgIHBsYXRmb3JtOiB0LnR5cGUoe1xuICAgICAgICAgIGNvbW1vbktleWNoYWluOiB0LnN0cmluZyxcbiAgICAgICAgICB3YWxsZXRHcGdQdWJLZXlTaWdzOiB0LnN0cmluZyxcbiAgICAgICAgICBvdmM6IHQudHlwZSh7XG4gICAgICAgICAgICAvLyBCaXRHbyB0byBVc2VyIChPVkMtMSlcbiAgICAgICAgICAgIDE6IHQudHlwZSh7XG4gICAgICAgICAgICAgIGJpdGdvVG9PdmNTaGFyZTogT3ZjU2hhcmUsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIC8vIEJpdEdvIHRvIEJhY2t1cCAoT1ZDLTIpXG4gICAgICAgICAgICAyOiB0LnR5cGUoe1xuICAgICAgICAgICAgICBiaXRnb1RvT3ZjU2hhcmU6IE92Y1NoYXJlLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSksXG4gICAgICAgIH0pLFxuICAgICAgfSksXG4gICAgXSksXG4gIH0sXG4gICdCaXRnb1RvT3ZjSnNvbidcbik7XG5cbmV4cG9ydCB0eXBlIEJpdEdvVG9PdmNKU09OID0gdC5UeXBlT2Y8dHlwZW9mIEJpdEdvVG9PdmNKU09OPjtcblxuZXhwb3J0IGNvbnN0IEJpdEdvS2V5RnJvbU92Y1NoYXJlcyA9IHQuc3RyaWN0KFxuICB7XG4gICAgYml0R29PdXRwdXRKc29uRm9yT3ZjOiBCaXRHb1RvT3ZjSlNPTixcbiAgICBiaXRHb0tleUlkOiB0LnN0cmluZyxcbiAgfSxcbiAgJ0JpdEdvS2V5RnJvbU92Y1NoYXJlcydcbik7XG5cbmV4cG9ydCB0eXBlIEJpdEdvS2V5RnJvbU92Y1NoYXJlcyA9IHQuVHlwZU9mPHR5cGVvZiBCaXRHb0tleUZyb21PdmNTaGFyZXM+O1xuIl19
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZjSnNvbkNvZGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL2tleWNoYWluL292Y0pzb25Db2RlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlDQUFpQztBQUNqQyx5Q0FBMkI7QUFFZCxRQUFBLFFBQVEsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUNwQztJQUNFLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDTCxXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU07UUFDckIsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNO1FBQ3RCLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTTtRQUNsQixDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU07UUFDWCxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU07S0FDWixDQUFDO0lBQ0YsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUNSLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxNQUFNO0tBQzVCLENBQUM7Q0FDSCxFQUNELFVBQVUsQ0FDWCxDQUFDO0FBRVcsUUFBQSxlQUFlLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FDM0M7SUFDRSxnQkFBUTtJQUNSLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDTCxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU07S0FDZixDQUFDO0NBQ0gsRUFDRCxpQkFBaUIsQ0FDbEIsQ0FBQztBQUVXLFFBQUEsY0FBYyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQ3BDO0lBQ0UsVUFBVSxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ3BCLFVBQVUsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNwQixJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDZCxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDZixHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNWLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ1IsU0FBUyxFQUFFLENBQUMsQ0FBQyxNQUFNO1lBQ25CLGVBQWUsRUFBRSx1QkFBZTtTQUNqQyxDQUFDO1FBQ0YsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDUixTQUFTLEVBQUUsQ0FBQyxDQUFDLE1BQU07WUFDbkIsZUFBZSxFQUFFLHVCQUFlO1lBQ2hDLGFBQWEsRUFBRSx1QkFBZTtTQUMvQixDQUFDO0tBQ0gsQ0FBQztDQUNILEVBQ0QsZ0JBQWdCLENBQ2pCLENBQUM7QUFJVyxRQUFBLGNBQWMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUNwQztJQUNFLE1BQU0sRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDO1FBQ3JCLHNCQUFjO1FBQ2QsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNMLFFBQVEsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUNmLGNBQWMsRUFBRSxDQUFDLENBQUMsTUFBTTtnQkFDeEIsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLE1BQU07Z0JBQzdCLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDO29CQUNWLHdCQUF3QjtvQkFDeEIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUM7d0JBQ1IsZUFBZSxFQUFFLGdCQUFRO3FCQUMxQixDQUFDO29CQUNGLDBCQUEwQjtvQkFDMUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUM7d0JBQ1IsZUFBZSxFQUFFLGdCQUFRO3FCQUMxQixDQUFDO2lCQUNILENBQUM7YUFDSCxDQUFDO1NBQ0gsQ0FBQztLQUNILENBQUM7Q0FDSCxFQUNELGdCQUFnQixDQUNqQixDQUFDO0FBSVcsUUFBQSxxQkFBcUIsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUMzQztJQUNFLHFCQUFxQixFQUFFLHNCQUFjO0lBQ3JDLFVBQVUsRUFBRSxDQUFDLENBQUMsTUFBTTtDQUNyQixFQUNELHVCQUF1QixDQUN4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcmVkZWNsYXJlICovXG5pbXBvcnQgKiBhcyB0IGZyb20gJ2lvLXRzJztcblxuZXhwb3J0IGNvbnN0IE92Y1NoYXJlID0gdC5pbnRlcnNlY3Rpb24oXG4gIFtcbiAgICB0LnR5cGUoe1xuICAgICAgcHVibGljU2hhcmU6IHQuc3RyaW5nLFxuICAgICAgcHJpdmF0ZVNoYXJlOiB0LnN0cmluZyxcbiAgICAgIHZzc1Byb29mOiB0LnN0cmluZyxcbiAgICAgIGk6IHQubnVtYmVyLFxuICAgICAgajogdC5udW1iZXIsXG4gICAgfSksXG4gICAgdC5wYXJ0aWFsKHtcbiAgICAgIHBhaWxsaWVyUHVibGljS2V5OiB0LnN0cmluZyxcbiAgICB9KSxcbiAgXSxcbiAgJ092Y1NoYXJlJ1xuKTtcblxuZXhwb3J0IGNvbnN0IE92Y1RvT3RoZXJTaGFyZSA9IHQuaW50ZXJzZWN0aW9uKFxuICBbXG4gICAgT3ZjU2hhcmUsXG4gICAgdC50eXBlKHtcbiAgICAgIHVTaWc6IHQuc3RyaW5nLFxuICAgIH0pLFxuICBdLFxuICAnT3ZjVG9PdGhlclNoYXJlJ1xuKTtcblxuZXhwb3J0IGNvbnN0IE92Y1RvQml0R29KU09OID0gdC5zdHJpY3QoXG4gIHtcbiAgICB0c3NWZXJzaW9uOiB0LnN0cmluZyxcbiAgICB3YWxsZXRUeXBlOiB0LnN0cmluZyxcbiAgICBjb2luOiB0LnN0cmluZyxcbiAgICBzdGF0ZTogdC5udW1iZXIsXG4gICAgb3ZjOiB0LnR5cGUoe1xuICAgICAgMTogdC50eXBlKHtcbiAgICAgICAgZ3BnUHViS2V5OiB0LnN0cmluZyxcbiAgICAgICAgb3ZjVG9CaXRnb1NoYXJlOiBPdmNUb090aGVyU2hhcmUsXG4gICAgICB9KSxcbiAgICAgIDI6IHQudHlwZSh7XG4gICAgICAgIGdwZ1B1YktleTogdC5zdHJpbmcsXG4gICAgICAgIG92Y1RvQml0Z29TaGFyZTogT3ZjVG9PdGhlclNoYXJlLFxuICAgICAgICBvdmNUb092Y1NoYXJlOiBPdmNUb090aGVyU2hhcmUsXG4gICAgICB9KSxcbiAgICB9KSxcbiAgfSxcbiAgJ092Y1RvQml0R29KU09OJ1xuKTtcblxuZXhwb3J0IHR5cGUgT3ZjVG9CaXRHb0pTT04gPSB0LlR5cGVPZjx0eXBlb2YgT3ZjVG9CaXRHb0pTT04+O1xuXG5leHBvcnQgY29uc3QgQml0R29Ub092Y0pTT04gPSB0LnN0cmljdChcbiAge1xuICAgIHdhbGxldDogdC5pbnRlcnNlY3Rpb24oW1xuICAgICAgT3ZjVG9CaXRHb0pTT04sXG4gICAgICB0LnR5cGUoe1xuICAgICAgICBwbGF0Zm9ybTogdC50eXBlKHtcbiAgICAgICAgICBjb21tb25LZXljaGFpbjogdC5zdHJpbmcsXG4gICAgICAgICAgd2FsbGV0R3BnUHViS2V5U2lnczogdC5zdHJpbmcsXG4gICAgICAgICAgb3ZjOiB0LnR5cGUoe1xuICAgICAgICAgICAgLy8gQml0R28gdG8gVXNlciAoT1ZDLTEpXG4gICAgICAgICAgICAxOiB0LnR5cGUoe1xuICAgICAgICAgICAgICBiaXRnb1RvT3ZjU2hhcmU6IE92Y1NoYXJlLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAvLyBCaXRHbyB0byBCYWNrdXAgKE9WQy0yKVxuICAgICAgICAgICAgMjogdC50eXBlKHtcbiAgICAgICAgICAgICAgYml0Z29Ub092Y1NoYXJlOiBPdmNTaGFyZSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9KSxcbiAgICAgIH0pLFxuICAgIF0pLFxuICB9LFxuICAnQml0Z29Ub092Y0pzb24nXG4pO1xuXG5leHBvcnQgdHlwZSBCaXRHb1RvT3ZjSlNPTiA9IHQuVHlwZU9mPHR5cGVvZiBCaXRHb1RvT3ZjSlNPTj47XG5cbmV4cG9ydCBjb25zdCBCaXRHb0tleUZyb21PdmNTaGFyZXMgPSB0LnN0cmljdChcbiAge1xuICAgIGJpdEdvT3V0cHV0SnNvbkZvck92YzogQml0R29Ub092Y0pTT04sXG4gICAgYml0R29LZXlJZDogdC5zdHJpbmcsXG4gIH0sXG4gICdCaXRHb0tleUZyb21PdmNTaGFyZXMnXG4pO1xuXG5leHBvcnQgdHlwZSBCaXRHb0tleUZyb21PdmNTaGFyZXMgPSB0LlR5cGVPZjx0eXBlb2YgQml0R29LZXlGcm9tT3ZjU2hhcmVzPjtcbiJdfQ==
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -64,7 +68,7 @@ class HDNode {
64
68
  return this.bip32.toBase58();
65
69
  }
66
70
  derivePath(p) {
67
- return new HDNode(this.bip32.derivePath(api_1.sanitizeLegacyPath(p)));
71
+ return new HDNode(this.bip32.derivePath((0, api_1.sanitizeLegacyPath)(p)));
68
72
  }
69
73
  }
70
74
  exports.HDNode = HDNode;
@@ -94,4 +98,4 @@ exports.address = {
94
98
  return utxolib.address.toBase58Check(hash, version, utxolib.networks.bitcoin);
95
99
  },
96
100
  };
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnYWN5Qml0Y29pbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iaXRnby9sZWdhY3lCaXRjb2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx5REFBMkM7QUFDM0MsOENBQXlFO0FBQ3pFLGdDQUE0QztBQUM1Qyx1REFBeUM7QUFNekMsU0FBUyxrQkFBa0IsQ0FBQyxNQUF1QjtJQUNqRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQzNCLGtCQUFrQjtZQUNoQixPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDMUIsQ0FBQztLQUNGLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxTQUFnQixhQUFhO0lBQzNCLE9BQU8sa0JBQWtCLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7QUFDekQsQ0FBQztBQUZELHNDQUVDO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLE1BQU07SUFDakIsWUFBb0IsS0FBcUI7UUFBckIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7SUFBRyxDQUFDO0lBRTdDLElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7SUFDL0IsQ0FBQztJQUVNLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBVztRQUN0QyxPQUFPLElBQUksTUFBTSxDQUFDLGdCQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBVztRQUNsQyxPQUFPLElBQUksTUFBTSxDQUFDLGdCQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVNLFFBQVE7UUFDYixPQUFPLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU0sUUFBUTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRU0sVUFBVSxDQUFDLENBQVM7UUFDekIsT0FBTyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyx3QkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztDQUNGO0FBbENELHdCQWtDQztBQU9ELFNBQWdCLE1BQU0sQ0FBQyxNQUFjO0lBQ25DLE9BQU87UUFDTCxNQUFNLENBQUMsSUFBWTtZQUNqQixPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsQ0FBQztRQUVELFNBQVMsQ0FBQyxJQUFZO1lBQ3BCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDckMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNuQixPQUFPLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO2FBQzNFO2lCQUFNO2dCQUNMLE9BQU8sa0JBQWtCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7YUFDekU7UUFDSCxDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFmRCx3QkFlQztBQUVZLFFBQUEsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7QUFFNUIsUUFBQSxPQUFPLEdBQUc7SUFDckIsZUFBZSxDQUFDLElBQVk7UUFDMUIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQVksRUFBRSxPQUFlO1FBQ3pDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hGLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuaW1wb3J0IHsgYmlwMzIsIEJJUDMySW50ZXJmYWNlLCBFQ1BhaXJJbnRlcmZhY2UgfSBmcm9tICdAYml0Z28vdXR4by1saWInO1xuaW1wb3J0IHsgc2FuaXRpemVMZWdhY3lQYXRoIH0gZnJvbSAnLi4vYXBpJztcbmltcG9ydCAqIGFzIGJpdGNvaW5VdGlsIGZyb20gJy4vYml0Y29pbic7XG5cbmludGVyZmFjZSBFQ1BhaXJDb21wYXQgZXh0ZW5kcyBFQ1BhaXJJbnRlcmZhY2Uge1xuICBnZXRQdWJsaWNLZXlCdWZmZXIoKTogQnVmZmVyO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVFQ1BhaXJDb21wYXQoZWNQYWlyOiBFQ1BhaXJJbnRlcmZhY2UpOiBFQ1BhaXJDb21wYXQge1xuICByZXR1cm4gT2JqZWN0LmFzc2lnbihlY1BhaXIsIHtcbiAgICBnZXRQdWJsaWNLZXlCdWZmZXIoKTogQnVmZmVyIHtcbiAgICAgIHJldHVybiBlY1BhaXIucHVibGljS2V5O1xuICAgIH0sXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFrZVJhbmRvbUtleSgpOiBFQ1BhaXJDb21wYXQge1xuICByZXR1cm4gY3JlYXRlRUNQYWlyQ29tcGF0KGJpdGNvaW5VdGlsLm1ha2VSYW5kb21LZXkoKSk7XG59XG5cbi8qKlxuICogSW1wbGVtZW50YXRpb24gb2YgbGVnYWN5IFwiSEROb2RlXCIgY2xhc3MgYXMgdXNlZCBieSBjZXJ0YWluIGNvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGNsYXNzIEhETm9kZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYmlwMzI6IEJJUDMySW50ZXJmYWNlKSB7fVxuXG4gIGdldCBwdWJsaWNLZXkoKTogQnVmZmVyIHtcbiAgICByZXR1cm4gdGhpcy5iaXAzMi5wdWJsaWNLZXk7XG4gIH1cblxuICBnZXQgcHJpdmF0ZUtleSgpOiBCdWZmZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmJpcDMyLnByaXZhdGVLZXk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZyb21TZWVkQnVmZmVyKGJ1ZjogQnVmZmVyKTogSEROb2RlIHtcbiAgICByZXR1cm4gbmV3IEhETm9kZShiaXAzMi5mcm9tU2VlZChidWYpKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUJhc2U1OChzdHI6IHN0cmluZyk6IEhETm9kZSB7XG4gICAgcmV0dXJuIG5ldyBIRE5vZGUoYmlwMzIuZnJvbUJhc2U1OChzdHIpKTtcbiAgfVxuXG4gIHB1YmxpYyBpc05ldXRlcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmJpcDMyLmlzTmV1dGVyZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZXV0ZXJlZCgpOiBIRE5vZGUge1xuICAgIHJldHVybiBuZXcgSEROb2RlKHRoaXMuYmlwMzIubmV1dGVyZWQoKSk7XG4gIH1cblxuICBwdWJsaWMgdG9CYXNlNTgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5iaXAzMi50b0Jhc2U1OCgpO1xuICB9XG5cbiAgcHVibGljIGRlcml2ZVBhdGgocDogc3RyaW5nKTogSEROb2RlIHtcbiAgICByZXR1cm4gbmV3IEhETm9kZSh0aGlzLmJpcDMyLmRlcml2ZVBhdGgoc2FuaXRpemVMZWdhY3lQYXRoKHApKSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXJpdmFibGUge1xuICBkZXJpdmVLZXkocGF0aDogc3RyaW5nKTogRUNQYWlyQ29tcGF0O1xuICBkZXJpdmUocGF0aDogc3RyaW5nKTogSEROb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGRQYXRoKGhkTm9kZTogSEROb2RlKTogRGVyaXZhYmxlIHtcbiAgcmV0dXJuIHtcbiAgICBkZXJpdmUocGF0aDogc3RyaW5nKTogSEROb2RlIHtcbiAgICAgIHJldHVybiBoZE5vZGUuZGVyaXZlUGF0aChwYXRoKTtcbiAgICB9LFxuXG4gICAgZGVyaXZlS2V5KHBhdGg6IHN0cmluZyk6IEVDUGFpckNvbXBhdCB7XG4gICAgICBjb25zdCBub2RlID0gaGROb2RlLmRlcml2ZVBhdGgocGF0aCk7XG4gICAgICBpZiAobm9kZS5wcml2YXRlS2V5KSB7XG4gICAgICAgIHJldHVybiBjcmVhdGVFQ1BhaXJDb21wYXQodXR4b2xpYi5FQ1BhaXIuZnJvbVByaXZhdGVLZXkobm9kZS5wcml2YXRlS2V5KSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gY3JlYXRlRUNQYWlyQ29tcGF0KHV0eG9saWIuRUNQYWlyLmZyb21QdWJsaWNLZXkobm9kZS5wdWJsaWNLZXkpKTtcbiAgICAgIH1cbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgY29uc3QgbmV0d29ya3MgPSB1dHhvbGliLm5ldHdvcmtzO1xuXG5leHBvcnQgY29uc3QgYWRkcmVzcyA9IHtcbiAgZnJvbUJhc2U1OENoZWNrKGFkZHI6IHN0cmluZyk6IHsgaGFzaDogQnVmZmVyOyB2ZXJzaW9uOiBudW1iZXIgfSB7XG4gICAgcmV0dXJuIHV0eG9saWIuYWRkcmVzcy5mcm9tQmFzZTU4Q2hlY2soYWRkciwgdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luKTtcbiAgfSxcblxuICB0b0Jhc2U1OENoZWNrKGhhc2g6IEJ1ZmZlciwgdmVyc2lvbjogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdXR4b2xpYi5hZGRyZXNzLnRvQmFzZTU4Q2hlY2soaGFzaCwgdmVyc2lvbiwgdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luKTtcbiAgfSxcbn07XG4iXX0=
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnYWN5Qml0Y29pbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iaXRnby9sZWdhY3lCaXRjb2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseURBQTJDO0FBQzNDLDhDQUF5RTtBQUN6RSxnQ0FBNEM7QUFDNUMsdURBQXlDO0FBTXpDLFNBQVMsa0JBQWtCLENBQUMsTUFBdUI7SUFDakQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUMzQixrQkFBa0I7WUFDaEIsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQzFCLENBQUM7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBZ0IsYUFBYTtJQUMzQixPQUFPLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0FBQ3pELENBQUM7QUFGRCxzQ0FFQztBQUVEOztHQUVHO0FBQ0gsTUFBYSxNQUFNO0lBQ2pCLFlBQW9CLEtBQXFCO1FBQXJCLFVBQUssR0FBTCxLQUFLLENBQWdCO0lBQUcsQ0FBQztJQUU3QyxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFTSxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQVc7UUFDdEMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxnQkFBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTSxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQVc7UUFDbEMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxnQkFBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTSxRQUFRO1FBQ2IsT0FBTyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVNLFFBQVE7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVNLFVBQVUsQ0FBQyxDQUFTO1FBQ3pCLE9BQU8sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBQSx3QkFBa0IsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztDQUNGO0FBbENELHdCQWtDQztBQU9ELFNBQWdCLE1BQU0sQ0FBQyxNQUFjO0lBQ25DLE9BQU87UUFDTCxNQUFNLENBQUMsSUFBWTtZQUNqQixPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsQ0FBQztRQUVELFNBQVMsQ0FBQyxJQUFZO1lBQ3BCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDckMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNuQixPQUFPLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO2FBQzNFO2lCQUFNO2dCQUNMLE9BQU8sa0JBQWtCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7YUFDekU7UUFDSCxDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFmRCx3QkFlQztBQUVZLFFBQUEsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7QUFFNUIsUUFBQSxPQUFPLEdBQUc7SUFDckIsZUFBZSxDQUFDLElBQVk7UUFDMUIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQVksRUFBRSxPQUFlO1FBQ3pDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hGLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuaW1wb3J0IHsgYmlwMzIsIEJJUDMySW50ZXJmYWNlLCBFQ1BhaXJJbnRlcmZhY2UgfSBmcm9tICdAYml0Z28vdXR4by1saWInO1xuaW1wb3J0IHsgc2FuaXRpemVMZWdhY3lQYXRoIH0gZnJvbSAnLi4vYXBpJztcbmltcG9ydCAqIGFzIGJpdGNvaW5VdGlsIGZyb20gJy4vYml0Y29pbic7XG5cbmludGVyZmFjZSBFQ1BhaXJDb21wYXQgZXh0ZW5kcyBFQ1BhaXJJbnRlcmZhY2Uge1xuICBnZXRQdWJsaWNLZXlCdWZmZXIoKTogQnVmZmVyO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVFQ1BhaXJDb21wYXQoZWNQYWlyOiBFQ1BhaXJJbnRlcmZhY2UpOiBFQ1BhaXJDb21wYXQge1xuICByZXR1cm4gT2JqZWN0LmFzc2lnbihlY1BhaXIsIHtcbiAgICBnZXRQdWJsaWNLZXlCdWZmZXIoKTogQnVmZmVyIHtcbiAgICAgIHJldHVybiBlY1BhaXIucHVibGljS2V5O1xuICAgIH0sXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFrZVJhbmRvbUtleSgpOiBFQ1BhaXJDb21wYXQge1xuICByZXR1cm4gY3JlYXRlRUNQYWlyQ29tcGF0KGJpdGNvaW5VdGlsLm1ha2VSYW5kb21LZXkoKSk7XG59XG5cbi8qKlxuICogSW1wbGVtZW50YXRpb24gb2YgbGVnYWN5IFwiSEROb2RlXCIgY2xhc3MgYXMgdXNlZCBieSBjZXJ0YWluIGNvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGNsYXNzIEhETm9kZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYmlwMzI6IEJJUDMySW50ZXJmYWNlKSB7fVxuXG4gIGdldCBwdWJsaWNLZXkoKTogQnVmZmVyIHtcbiAgICByZXR1cm4gdGhpcy5iaXAzMi5wdWJsaWNLZXk7XG4gIH1cblxuICBnZXQgcHJpdmF0ZUtleSgpOiBCdWZmZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmJpcDMyLnByaXZhdGVLZXk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZyb21TZWVkQnVmZmVyKGJ1ZjogQnVmZmVyKTogSEROb2RlIHtcbiAgICByZXR1cm4gbmV3IEhETm9kZShiaXAzMi5mcm9tU2VlZChidWYpKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUJhc2U1OChzdHI6IHN0cmluZyk6IEhETm9kZSB7XG4gICAgcmV0dXJuIG5ldyBIRE5vZGUoYmlwMzIuZnJvbUJhc2U1OChzdHIpKTtcbiAgfVxuXG4gIHB1YmxpYyBpc05ldXRlcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmJpcDMyLmlzTmV1dGVyZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZXV0ZXJlZCgpOiBIRE5vZGUge1xuICAgIHJldHVybiBuZXcgSEROb2RlKHRoaXMuYmlwMzIubmV1dGVyZWQoKSk7XG4gIH1cblxuICBwdWJsaWMgdG9CYXNlNTgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5iaXAzMi50b0Jhc2U1OCgpO1xuICB9XG5cbiAgcHVibGljIGRlcml2ZVBhdGgocDogc3RyaW5nKTogSEROb2RlIHtcbiAgICByZXR1cm4gbmV3IEhETm9kZSh0aGlzLmJpcDMyLmRlcml2ZVBhdGgoc2FuaXRpemVMZWdhY3lQYXRoKHApKSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXJpdmFibGUge1xuICBkZXJpdmVLZXkocGF0aDogc3RyaW5nKTogRUNQYWlyQ29tcGF0O1xuICBkZXJpdmUocGF0aDogc3RyaW5nKTogSEROb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGRQYXRoKGhkTm9kZTogSEROb2RlKTogRGVyaXZhYmxlIHtcbiAgcmV0dXJuIHtcbiAgICBkZXJpdmUocGF0aDogc3RyaW5nKTogSEROb2RlIHtcbiAgICAgIHJldHVybiBoZE5vZGUuZGVyaXZlUGF0aChwYXRoKTtcbiAgICB9LFxuXG4gICAgZGVyaXZlS2V5KHBhdGg6IHN0cmluZyk6IEVDUGFpckNvbXBhdCB7XG4gICAgICBjb25zdCBub2RlID0gaGROb2RlLmRlcml2ZVBhdGgocGF0aCk7XG4gICAgICBpZiAobm9kZS5wcml2YXRlS2V5KSB7XG4gICAgICAgIHJldHVybiBjcmVhdGVFQ1BhaXJDb21wYXQodXR4b2xpYi5FQ1BhaXIuZnJvbVByaXZhdGVLZXkobm9kZS5wcml2YXRlS2V5KSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gY3JlYXRlRUNQYWlyQ29tcGF0KHV0eG9saWIuRUNQYWlyLmZyb21QdWJsaWNLZXkobm9kZS5wdWJsaWNLZXkpKTtcbiAgICAgIH1cbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgY29uc3QgbmV0d29ya3MgPSB1dHhvbGliLm5ldHdvcmtzO1xuXG5leHBvcnQgY29uc3QgYWRkcmVzcyA9IHtcbiAgZnJvbUJhc2U1OENoZWNrKGFkZHI6IHN0cmluZyk6IHsgaGFzaDogQnVmZmVyOyB2ZXJzaW9uOiBudW1iZXIgfSB7XG4gICAgcmV0dXJuIHV0eG9saWIuYWRkcmVzcy5mcm9tQmFzZTU4Q2hlY2soYWRkciwgdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luKTtcbiAgfSxcblxuICB0b0Jhc2U1OENoZWNrKGhhc2g6IEJ1ZmZlciwgdmVyc2lvbjogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdXR4b2xpYi5hZGRyZXNzLnRvQmFzZTU4Q2hlY2soaGFzaCwgdmVyc2lvbiwgdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luKTtcbiAgfSxcbn07XG4iXX0=
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -103,4 +107,4 @@ exports.LnurlPayResponse = t.strict({
103
107
  /** A json array in string format describing the payment */
104
108
  metadata: t.string,
105
109
  });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaUxpZ2h0bmluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby9saWdodG5pbmcvaUxpZ2h0bmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaUNBQWlDO0FBQ2pDLHlDQUEyQjtBQThDZCxRQUFBLGVBQWUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUN0QztJQUNFLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNoQixPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDakIsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ2YsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ3JCLFFBQVEsRUFBRSxDQUFDLENBQUMsT0FBTztJQUNuQixPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU87SUFDbEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNO0NBQ2hCLEVBQ0QsaUJBQWlCLENBQ2xCLENBQUM7QUFJVyxRQUFBLFVBQVUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUM5QjtJQUNFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLHVCQUFlLENBQUM7SUFDakMsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ1osUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ2xCLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNkLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNmLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTTtDQUNoQixFQUNELFlBQVksQ0FDYixDQUFDO0FBSVcsUUFBQSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUN0QztJQUNFLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTTtDQUNmLEVBQ0QsMEJBQTBCLENBQzNCLENBQUM7QUFJVyxRQUFBLHFCQUFxQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQzNDO0lBQ0UsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ2YsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN0QyxXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDckIsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ2pCLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNsQixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDaEIsU0FBUyxFQUFFLENBQUMsQ0FBQyxNQUFNO0NBQ3BCLEVBQ0QsdUJBQXVCLENBQ3hCLENBQUM7QUFJVyxRQUFBLDRCQUE0QixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQ2xEO0lBQ0UsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNO0NBQ2xCLEVBQ0QsOEJBQThCLENBQy9CLENBQUM7QUFJVyxRQUFBLGVBQWUsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUNyQztJQUNFLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNoQixRQUFRLEVBQUUsa0JBQVU7Q0FDckIsRUFDRCxpQkFBaUIsQ0FDbEIsQ0FBQztBQUlXLFFBQUEsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FDeEM7SUFDRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDckIsUUFBUSxFQUFFLGtCQUFVO0lBQ3BCLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTTtDQUNqQixFQUNELG9CQUFvQixDQUNyQixDQUFDO0FBSVcsUUFBQSxrQkFBa0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUN4QztJQUNFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNqQixnQkFBZ0IsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUMxQixjQUFjLEVBQUUsQ0FBQyxDQUFDLE1BQU07Q0FDekIsRUFDRCxvQkFBb0IsQ0FDckIsQ0FBQztBQUlGLE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDM0IsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ3JCLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNsQixNQUFNLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDakYsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ2YsU0FBUyxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ25CLFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNuQixTQUFTLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDbkIsV0FBVyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztDQUM5QyxDQUFDLENBQUM7QUFFVSxRQUFBLG1CQUFtQixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7QUFJeEQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUMzQixXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDckIsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ2xCLE1BQU0sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUNwRixNQUFNLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNqQixXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDckIsYUFBYSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JDLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNsQixlQUFlLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pELFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTTtDQUN0QixDQUFDLENBQUM7QUFFVSxRQUFBLG1CQUFtQixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7QUFJM0MsUUFBQSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3ZDLEdBQUcsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQztJQUM1QixRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDbEIsNEVBQTRFO0lBQzVFLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNyQiw0RUFBNEU7SUFDNUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ3JCLDJEQUEyRDtJQUMzRCxRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU07Q0FDbkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcmVkZWNsYXJlICovXG5pbXBvcnQgKiBhcyB0IGZyb20gJ2lvLXRzJztcblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVJbnZvaWNlUGFyYW1zIHtcbiAgdmFsdWU6IG51bWJlcjtcbiAgbWVtbz86IHN0cmluZztcbiAgZXhwaXJ5PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0bmluZ1dpdGhkcmF3YWxQYXJhbXMge1xuICB2YWx1ZTogbnVtYmVyO1xuICBkZXN0aW5hdGlvbj86IHN0cmluZztcbiAgc2VxdWVuY2VJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaWdodG5pbmdEZXBvc2l0UGFyYW1zIHtcbiAgYW1vdW50OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF5SW52b2ljZVBhcmFtcyB7XG4gIGludm9pY2U6IHN0cmluZztcbiAgc2VxdWVuY2VJZD86IHN0cmluZztcbiAgY29tbWVudD86IHN0cmluZztcbiAgZmVlTGltaXRSYXRpbz86IG51bWJlcjtcbiAgZmVlTGltaXQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0SW52b2ljZXNRdWVyeSB7XG4gIHN0YXR1cz86IHN0cmluZztcbiAgbGltaXQ/OiBudW1iZXI7XG4gIHN0YXJ0RGF0ZT86IHN0cmluZztcbiAgZW5kRGF0ZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRQYXltZW50c1F1ZXJ5IHtcbiAgc3RhdHVzPzogc3RyaW5nO1xuICBsaW1pdD86IG51bWJlcjtcbiAgc3RhcnREYXRlPzogc3RyaW5nO1xuICBlbmREYXRlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExudXJsUGF5UGFyYW1zIHtcbiAgY2FsbGJhY2s6IHN0cmluZztcbiAgbWlsbGlzYXRBbW91bnQ6IHN0cmluZztcbiAgbWV0YWRhdGE6IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IFdQVHJhbnNmZXJFbnRyeSA9IHQucGFydGlhbChcbiAge1xuICAgIHdhbGxldDogdC5zdHJpbmcsXG4gICAgYWRkcmVzczogdC5zdHJpbmcsXG4gICAgdmFsdWU6IHQubnVtYmVyLFxuICAgIHZhbHVlU3RyaW5nOiB0LnN0cmluZyxcbiAgICBpc0NoYW5nZTogdC5ib29sZWFuLFxuICAgIGlzUGF5R286IHQuYm9vbGVhbixcbiAgICB0b2tlbjogdC5zdHJpbmcsXG4gIH0sXG4gICdXUFRyYW5zZmVyRW50cnknXG4pO1xuXG5leHBvcnQgdHlwZSBXUFRyYW5zZmVyRW50cnkgPSB0LlR5cGVPZjx0eXBlb2YgV1BUcmFuc2ZlckVudHJ5PjtcblxuZXhwb3J0IGNvbnN0IFdQVHJhbnNmZXIgPSB0LnR5cGUoXG4gIHtcbiAgICBlbnRyaWVzOiB0LmFycmF5KFdQVHJhbnNmZXJFbnRyeSksXG4gICAgaWQ6IHQuc3RyaW5nLFxuICAgIGhlaWdodElkOiB0LnN0cmluZyxcbiAgICB0eXBlOiB0LnN0cmluZyxcbiAgICB2YWx1ZTogdC5udW1iZXIsXG4gICAgc3RhdGU6IHQuc3RyaW5nLFxuICB9LFxuICAnV1BUcmFuc2Zlcidcbik7XG5cbmV4cG9ydCB0eXBlIFdQVHJhbnNmZXIgPSB0LlR5cGVPZjx0eXBlb2YgV1BUcmFuc2Zlcj47XG5cbmV4cG9ydCBjb25zdCBXaXRoZHJhd1Jlc3BvbnNlID0gdC5zdHJpY3QoXG4gIHtcbiAgICB0eGlkOiB0LnN0cmluZyxcbiAgfSxcbiAgJ0NyZWF0ZVdpdGhkcmF3YWxSZXNwb25zZSdcbik7XG5cbmV4cG9ydCB0eXBlIFdpdGhkcmF3UmVzcG9uc2UgPSB0LlR5cGVPZjx0eXBlb2YgV2l0aGRyYXdSZXNwb25zZT47XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVJbnZvaWNlUmVzcG9uc2UgPSB0LnN0cmljdChcbiAge1xuICAgIHZhbHVlOiB0Lm51bWJlcixcbiAgICBtZW1vOiB0LnVuaW9uKFt0LnN0cmluZywgdC51bmRlZmluZWRdKSxcbiAgICBwYXltZW50SGFzaDogdC5zdHJpbmcsXG4gICAgaW52b2ljZTogdC5zdHJpbmcsXG4gICAgd2FsbGV0SWQ6IHQuc3RyaW5nLFxuICAgIHN0YXR1czogdC5zdHJpbmcsXG4gICAgZXhwaXJlc0F0OiB0LnN0cmluZyxcbiAgfSxcbiAgJ0NyZWF0ZUludm9pY2VSZXNwb25zZSdcbik7XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUludm9pY2VSZXNwb25zZSA9IHQuVHlwZU9mPHR5cGVvZiBDcmVhdGVJbnZvaWNlUmVzcG9uc2U+O1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlRGVwb3NpdEFkZHJlc3NSZXNwb25zZSA9IHQuc3RyaWN0KFxuICB7XG4gICAgYWRkcmVzczogdC5zdHJpbmcsXG4gIH0sXG4gICdDcmVhdGVEZXBvc2l0QWRkcmVzc1Jlc3BvbnNlJ1xuKTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlRGVwb3NpdEFkZHJlc3NSZXNwb25zZSA9IHQuVHlwZU9mPHR5cGVvZiBDcmVhdGVEZXBvc2l0QWRkcmVzc1Jlc3BvbnNlPjtcblxuZXhwb3J0IGNvbnN0IERlcG9zaXRSZXNwb25zZSA9IHQuc3RyaWN0KFxuICB7XG4gICAgc3RhdHVzOiB0LnN0cmluZyxcbiAgICB0cmFuc2ZlcjogV1BUcmFuc2ZlcixcbiAgfSxcbiAgJ0RlcG9zaXRSZXNwb25zZSdcbik7XG5cbmV4cG9ydCB0eXBlIERlcG9zaXRSZXNwb25zZSA9IHQuVHlwZU9mPHR5cGVvZiBEZXBvc2l0UmVzcG9uc2U+O1xuXG5leHBvcnQgY29uc3QgUGF5SW52b2ljZVJlc3BvbnNlID0gdC5zdHJpY3QoXG4gIHtcbiAgICBwYXltZW50SGFzaDogdC5zdHJpbmcsXG4gICAgdHJhbnNmZXI6IFdQVHJhbnNmZXIsXG4gICAgc3RhdHVzOiB0LnN0cmluZyxcbiAgfSxcbiAgJ1BheUludm9pY2VSZXNwb25zZSdcbik7XG5cbmV4cG9ydCB0eXBlIFBheUludm9pY2VSZXNwb25zZSA9IHQuVHlwZU9mPHR5cGVvZiBQYXlJbnZvaWNlUmVzcG9uc2U+O1xuXG5leHBvcnQgY29uc3QgR2V0QmFsYW5jZVJlc3BvbnNlID0gdC5zdHJpY3QoXG4gIHtcbiAgICBiYWxhbmNlOiB0Lm51bWJlcixcbiAgICBhdmFpbGFibGVCYWxhbmNlOiB0Lm51bWJlcixcbiAgICBtYXhpbXVtQmFsYW5jZTogdC5udW1iZXIsXG4gIH0sXG4gICdHZXRCYWxhbmNlUmVzcG9uc2UnXG4pO1xuXG5leHBvcnQgdHlwZSBHZXRCYWxhbmNlUmVzcG9uc2UgPSB0LlR5cGVPZjx0eXBlb2YgR2V0QmFsYW5jZVJlc3BvbnNlPjtcblxuY29uc3QgSW52b2ljZUluZm8gPSB0LnN0cmljdCh7XG4gIHBheW1lbnRIYXNoOiB0LnN0cmluZyxcbiAgd2FsbGV0SWQ6IHQuc3RyaW5nLFxuICBzdGF0dXM6IHQudW5pb24oW3QubGl0ZXJhbCgnb3BlbicpLCB0LmxpdGVyYWwoJ3NldHRsZWQnKSwgdC5saXRlcmFsKCdjYW5jZWxlZCcpXSksXG4gIHZhbHVlOiB0Lm51bWJlcixcbiAgZXhwaXJlc0F0OiB0LnN0cmluZyxcbiAgY3JlYXRlZEF0OiB0LnN0cmluZyxcbiAgdXBkYXRlZEF0OiB0LnN0cmluZyxcbiAgYW10UGFpZFNhdHM6IHQudW5pb24oW3QubnVtYmVyLCB0LnVuZGVmaW5lZF0pLFxufSk7XG5cbmV4cG9ydCBjb25zdCBHZXRJbnZvaWNlc1Jlc3BvbnNlID0gdC5hcnJheShJbnZvaWNlSW5mbyk7XG5cbmV4cG9ydCB0eXBlIEdldEludm9pY2VzUmVzcG9uc2UgPSB0LlR5cGVPZjx0eXBlb2YgR2V0SW52b2ljZXNSZXNwb25zZT47XG5cbmNvbnN0IFBheW1lbnRJbmZvID0gdC5zdHJpY3Qoe1xuICBwYXltZW50SGFzaDogdC5zdHJpbmcsXG4gIHdhbGxldElkOiB0LnN0cmluZyxcbiAgc3RhdHVzOiB0LnVuaW9uKFt0LmxpdGVyYWwoJ2luX2ZsaWdodCcpLCB0LmxpdGVyYWwoJ3NldHRsZWQnKSwgdC5saXRlcmFsKCdmYWlsZWQnKV0pLFxuICBhbW91bnQ6IHQudW5pb24oW3QubnVtYmVyLCB0LnVuZGVmaW5lZF0pLFxuICBpbnZvaWNlOiB0LnN0cmluZyxcbiAgc2VuZFF1ZXVlSWQ6IHQuc3RyaW5nLFxuICBmYWlsdXJlUmVhc29uOiB0LnVuaW9uKFt0LnN0cmluZywgdC51bmRlZmluZWRdKSxcbiAgZmVlOiB0LnVuaW9uKFt0Lm51bWJlciwgdC51bmRlZmluZWRdKSxcbiAgZmVlTGltaXQ6IHQubnVtYmVyLFxuICBwYXltZW50UHJlaW1hZ2U6IHQudW5pb24oW3Quc3RyaW5nLCB0LnVuZGVmaW5lZF0pLFxuICBkZXN0aW5hdGlvbjogdC5zdHJpbmcsXG59KTtcblxuZXhwb3J0IGNvbnN0IEdldFBheW1lbnRzUmVzcG9uc2UgPSB0LmFycmF5KFBheW1lbnRJbmZvKTtcblxuZXhwb3J0IHR5cGUgR2V0UGF5bWVudHNSZXNwb25zZSA9IHQuVHlwZU9mPHR5cGVvZiBHZXRQYXltZW50c1Jlc3BvbnNlPjtcblxuZXhwb3J0IGNvbnN0IExudXJsUGF5UmVzcG9uc2UgPSB0LnN0cmljdCh7XG4gIHRhZzogdC5saXRlcmFsKCdwYXlSZXF1ZXN0JyksXG4gIGNhbGxiYWNrOiB0LnN0cmluZyxcbiAgLyoqIFRoZSBtYXhpbXVtIGFtb3VudCBpbiBtaWxsaXNhdG9zaGlzIHdlIGNhbiBwYXkgZm9yIHRoaXMgTE5SVUwgcmVxdWVzdCAqL1xuICBtYXhTZW5kYWJsZTogdC5udW1iZXIsXG4gIC8qKiBUaGUgbWluaW11bSBhbW91bnQgaW4gbWlsbGlzYXRvc2hpcyB3ZSBjYW4gcGF5IGZvciB0aGlzIExOUlVMIHJlcXVlc3QgKi9cbiAgbWluU2VuZGFibGU6IHQubnVtYmVyLFxuICAvKiogQSBqc29uIGFycmF5IGluIHN0cmluZyBmb3JtYXQgZGVzY3JpYmluZyB0aGUgcGF5bWVudCAqL1xuICBtZXRhZGF0YTogdC5zdHJpbmcsXG59KTtcblxuZXhwb3J0IHR5cGUgTG51cmxQYXlSZXNwb25zZSA9IHQuVHlwZU9mPHR5cGVvZiBMbnVybFBheVJlc3BvbnNlPjtcblxuZXhwb3J0IHR5cGUgRGVjb2RlZExudXJsUGF5UmVxdWVzdCA9IExudXJsUGF5UmVzcG9uc2UgJiB7XG4gIC8qKlxuICAgKiBGcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9maWF0amFmL2xudXJsLXJmYy9ibG9iL2x1ZHMvMDYubWQjcGF5LXRvLXN0YXRpYy1xcm5mY2xpbmtcbiAgICogYSBwYXltZW50IGRpYWxvZyBtdXN0IGluY2x1ZGU6IERvbWFpbiBuYW1lIGV4dHJhY3RlZCBmcm9tIExOVVJMIHF1ZXJ5IHN0cmluZy5cbiAgICovXG4gIGRvbWFpbjogc3RyaW5nO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBJTGlnaHRuaW5nIHtcbiAgY3JlYXRlSW52b2ljZShwYXJhbXM6IENyZWF0ZUludm9pY2VQYXJhbXMpOiBQcm9taXNlPENyZWF0ZUludm9pY2VSZXNwb25zZT47XG4gIGNyZWF0ZURlcG9zaXRBZGRyZXNzKCk6IFByb21pc2U8Q3JlYXRlRGVwb3NpdEFkZHJlc3NSZXNwb25zZT47XG4gIHBheUludm9pY2UocGFyYW1zOiBQYXlJbnZvaWNlUGFyYW1zKTogUHJvbWlzZTxQYXlJbnZvaWNlUmVzcG9uc2U+O1xuICBnZXRCYWxhbmNlKCk6IFByb21pc2U8R2V0QmFsYW5jZVJlc3BvbnNlPjtcbiAgd2l0aGRyYXcocGFyYW1zOiBMaWdodG5pbmdXaXRoZHJhd2FsUGFyYW1zKTogUHJvbWlzZTxXaXRoZHJhd1Jlc3BvbnNlPjtcbiAgZGVwb3NpdChwYXJhbXM6IExpZ2h0bmluZ0RlcG9zaXRQYXJhbXMpOiBQcm9taXNlPERlcG9zaXRSZXNwb25zZT47XG4gIGdldEludm9pY2VzKHF1ZXJ5PzogR2V0SW52b2ljZXNRdWVyeSk6IFByb21pc2U8R2V0SW52b2ljZXNSZXNwb25zZT47XG4gIGRlY29kZUxudXJsUGF5KGxudXJsOiBzdHJpbmcpOiBQcm9taXNlPERlY29kZWRMbnVybFBheVJlcXVlc3Q+O1xuICBmZXRjaExudXJsUGF5SW52b2ljZShwYXJhbXM6IExudXJsUGF5UGFyYW1zKTogUHJvbWlzZTxzdHJpbmc+O1xuICBnZXRQYXltZW50cyhxdWVyeT86IEdldFBheW1lbnRzUXVlcnkpOiBQcm9taXNlPEdldFBheW1lbnRzUmVzcG9uc2U+O1xufVxuIl19
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaUxpZ2h0bmluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby9saWdodG5pbmcvaUxpZ2h0bmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlDQUFpQztBQUNqQyx5Q0FBMkI7QUE4Q2QsUUFBQSxlQUFlLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FDdEM7SUFDRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDaEIsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ2pCLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNmLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNyQixRQUFRLEVBQUUsQ0FBQyxDQUFDLE9BQU87SUFDbkIsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO0lBQ2xCLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTTtDQUNoQixFQUNELGlCQUFpQixDQUNsQixDQUFDO0FBSVcsUUFBQSxVQUFVLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDOUI7SUFDRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyx1QkFBZSxDQUFDO0lBQ2pDLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNaLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNsQixJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDZCxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDZixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU07Q0FDaEIsRUFDRCxZQUFZLENBQ2IsQ0FBQztBQUlXLFFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FDdEM7SUFDRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU07Q0FDZixFQUNELDBCQUEwQixDQUMzQixDQUFDO0FBSVcsUUFBQSxxQkFBcUIsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUMzQztJQUNFLEtBQUssRUFBRSxDQUFD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QUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0MsR0FBRyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDbEIsZUFBZSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqRCxXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU07Q0FDdEIsQ0FBQyxDQUFDO0FBRVUsUUFBQSxtQkFBbUIsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBSTNDLFFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN2QyxHQUFHLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7SUFDNUIsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ2xCLDRFQUE0RTtJQUM1RSxXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDckIsNEVBQTRFO0lBQzVFLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNyQiwyREFBMkQ7SUFDM0QsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNO0NBQ25CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXJlZGVjbGFyZSAqL1xuaW1wb3J0ICogYXMgdCBmcm9tICdpby10cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlSW52b2ljZVBhcmFtcyB7XG4gIHZhbHVlOiBudW1iZXI7XG4gIG1lbW8/OiBzdHJpbmc7XG4gIGV4cGlyeT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaWdodG5pbmdXaXRoZHJhd2FsUGFyYW1zIHtcbiAgdmFsdWU6IG51bWJlcjtcbiAgZGVzdGluYXRpb24/OiBzdHJpbmc7XG4gIHNlcXVlbmNlSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlnaHRuaW5nRGVwb3NpdFBhcmFtcyB7XG4gIGFtb3VudDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBheUludm9pY2VQYXJhbXMge1xuICBpbnZvaWNlOiBzdHJpbmc7XG4gIHNlcXVlbmNlSWQ/OiBzdHJpbmc7XG4gIGNvbW1lbnQ/OiBzdHJpbmc7XG4gIGZlZUxpbWl0UmF0aW8/OiBudW1iZXI7XG4gIGZlZUxpbWl0PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldEludm9pY2VzUXVlcnkge1xuICBzdGF0dXM/OiBzdHJpbmc7XG4gIGxpbWl0PzogbnVtYmVyO1xuICBzdGFydERhdGU/OiBzdHJpbmc7XG4gIGVuZERhdGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0UGF5bWVudHNRdWVyeSB7XG4gIHN0YXR1cz86IHN0cmluZztcbiAgbGltaXQ/OiBudW1iZXI7XG4gIHN0YXJ0RGF0ZT86IHN0cmluZztcbiAgZW5kRGF0ZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMbnVybFBheVBhcmFtcyB7XG4gIGNhbGxiYWNrOiBzdHJpbmc7XG4gIG1pbGxpc2F0QW1vdW50OiBzdHJpbmc7XG4gIG1ldGFkYXRhOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBXUFRyYW5zZmVyRW50cnkgPSB0LnBhcnRpYWwoXG4gIHtcbiAgICB3YWxsZXQ6IHQuc3RyaW5nLFxuICAgIGFkZHJlc3M6IHQuc3RyaW5nLFxuICAgIHZhbHVlOiB0Lm51bWJlcixcbiAgICB2YWx1ZVN0cmluZzogdC5zdHJpbmcsXG4gICAgaXNDaGFuZ2U6IHQuYm9vbGVhbixcbiAgICBpc1BheUdvOiB0LmJvb2xlYW4sXG4gICAgdG9rZW46IHQuc3RyaW5nLFxuICB9LFxuICAnV1BUcmFuc2ZlckVudHJ5J1xuKTtcblxuZXhwb3J0IHR5cGUgV1BUcmFuc2ZlckVudHJ5ID0gdC5UeXBlT2Y8dHlwZW9mIFdQVHJhbnNmZXJFbnRyeT47XG5cbmV4cG9ydCBjb25zdCBXUFRyYW5zZmVyID0gdC50eXBlKFxuICB7XG4gICAgZW50cmllczogdC5hcnJheShXUFRyYW5zZmVyRW50cnkpLFxuICAgIGlkOiB0LnN0cmluZyxcbiAgICBoZWlnaHRJZDogdC5zdHJpbmcsXG4gICAgdHlwZTogdC5zdHJpbmcsXG4gICAgdmFsdWU6IHQubnVtYmVyLFxuICAgIHN0YXRlOiB0LnN0cmluZyxcbiAgfSxcbiAgJ1dQVHJhbnNmZXInXG4pO1xuXG5leHBvcnQgdHlwZSBXUFRyYW5zZmVyID0gdC5UeXBlT2Y8dHlwZW9mIFdQVHJhbnNmZXI+O1xuXG5leHBvcnQgY29uc3QgV2l0aGRyYXdSZXNwb25zZSA9IHQuc3RyaWN0KFxuICB7XG4gICAgdHhpZDogdC5zdHJpbmcsXG4gIH0sXG4gICdDcmVhdGVXaXRoZHJhd2FsUmVzcG9uc2UnXG4pO1xuXG5leHBvcnQgdHlwZSBXaXRoZHJhd1Jlc3BvbnNlID0gdC5UeXBlT2Y8dHlwZW9mIFdpdGhkcmF3UmVzcG9uc2U+O1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlSW52b2ljZVJlc3BvbnNlID0gdC5zdHJpY3QoXG4gIHtcbiAgICB2YWx1ZTogdC5udW1iZXIsXG4gICAgbWVtbzogdC51bmlvbihbdC5zdHJpbmcsIHQudW5kZWZpbmVkXSksXG4gICAgcGF5bWVudEhhc2g6IHQuc3RyaW5nLFxuICAgIGludm9pY2U6IHQuc3RyaW5nLFxuICAgIHdhbGxldElkOiB0LnN0cmluZyxcbiAgICBzdGF0dXM6IHQuc3RyaW5nLFxuICAgIGV4cGlyZXNBdDogdC5zdHJpbmcsXG4gIH0sXG4gICdDcmVhdGVJbnZvaWNlUmVzcG9uc2UnXG4pO1xuXG5leHBvcnQgdHlwZSBDcmVhdGVJbnZvaWNlUmVzcG9uc2UgPSB0LlR5cGVPZjx0eXBlb2YgQ3JlYXRlSW52b2ljZVJlc3BvbnNlPjtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZURlcG9zaXRBZGRyZXNzUmVzcG9uc2UgPSB0LnN0cmljdChcbiAge1xuICAgIGFkZHJlc3M6IHQuc3RyaW5nLFxuICB9LFxuICAnQ3JlYXRlRGVwb3NpdEFkZHJlc3NSZXNwb25zZSdcbik7XG5cbmV4cG9ydCB0eXBlIENyZWF0ZURlcG9zaXRBZGRyZXNzUmVzcG9uc2UgPSB0LlR5cGVPZjx0eXBlb2YgQ3JlYXRlRGVwb3NpdEFkZHJlc3NSZXNwb25zZT47XG5cbmV4cG9ydCBjb25zdCBEZXBvc2l0UmVzcG9uc2UgPSB0LnN0cmljdChcbiAge1xuICAgIHN0YXR1czogdC5zdHJpbmcsXG4gICAgdHJhbnNmZXI6IFdQVHJhbnNmZXIsXG4gIH0sXG4gICdEZXBvc2l0UmVzcG9uc2UnXG4pO1xuXG5leHBvcnQgdHlwZSBEZXBvc2l0UmVzcG9uc2UgPSB0LlR5cGVPZjx0eXBlb2YgRGVwb3NpdFJlc3BvbnNlPjtcblxuZXhwb3J0IGNvbnN0IFBheUludm9pY2VSZXNwb25zZSA9IHQuc3RyaWN0KFxuICB7XG4gICAgcGF5bWVudEhhc2g6IHQuc3RyaW5nLFxuICAgIHRyYW5zZmVyOiBXUFRyYW5zZmVyLFxuICAgIHN0YXR1czogdC5zdHJpbmcsXG4gIH0sXG4gICdQYXlJbnZvaWNlUmVzcG9uc2UnXG4pO1xuXG5leHBvcnQgdHlwZSBQYXlJbnZvaWNlUmVzcG9uc2UgPSB0LlR5cGVPZjx0eXBlb2YgUGF5SW52b2ljZVJlc3BvbnNlPjtcblxuZXhwb3J0IGNvbnN0IEdldEJhbGFuY2VSZXNwb25zZSA9IHQuc3RyaWN0KFxuICB7XG4gICAgYmFsYW5jZTogdC5udW1iZXIsXG4gICAgYXZhaWxhYmxlQmFsYW5jZTogdC5udW1iZXIsXG4gICAgbWF4aW11bUJhbGFuY2U6IHQubnVtYmVyLFxuICB9LFxuICAnR2V0QmFsYW5jZVJlc3BvbnNlJ1xuKTtcblxuZXhwb3J0IHR5cGUgR2V0QmFsYW5jZVJlc3BvbnNlID0gdC5UeXBlT2Y8dHlwZW9mIEdldEJhbGFuY2VSZXNwb25zZT47XG5cbmNvbnN0IEludm9pY2VJbmZvID0gdC5zdHJpY3Qoe1xuICBwYXltZW50SGFzaDogdC5zdHJpbmcsXG4gIHdhbGxldElkOiB0LnN0cmluZyxcbiAgc3RhdHVzOiB0LnVuaW9uKFt0LmxpdGVyYWwoJ29wZW4nKSwgdC5saXRlcmFsKCdzZXR0bGVkJyksIHQubGl0ZXJhbCgnY2FuY2VsZWQnKV0pLFxuICB2YWx1ZTogdC5udW1iZXIsXG4gIGV4cGlyZXNBdDogdC5zdHJpbmcsXG4gIGNyZWF0ZWRBdDogdC5zdHJpbmcsXG4gIHVwZGF0ZWRBdDogdC5zdHJpbmcsXG4gIGFtdFBhaWRTYXRzOiB0LnVuaW9uKFt0Lm51bWJlciwgdC51bmRlZmluZWRdKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgR2V0SW52b2ljZXNSZXNwb25zZSA9IHQuYXJyYXkoSW52b2ljZUluZm8pO1xuXG5leHBvcnQgdHlwZSBHZXRJbnZvaWNlc1Jlc3BvbnNlID0gdC5UeXBlT2Y8dHlwZW9mIEdldEludm9pY2VzUmVzcG9uc2U+O1xuXG5jb25zdCBQYXltZW50SW5mbyA9IHQuc3RyaWN0KHtcbiAgcGF5bWVudEhhc2g6IHQuc3RyaW5nLFxuICB3YWxsZXRJZDogdC5zdHJpbmcsXG4gIHN0YXR1czogdC51bmlvbihbdC5saXRlcmFsKCdpbl9mbGlnaHQnKSwgdC5saXRlcmFsKCdzZXR0bGVkJyksIHQubGl0ZXJhbCgnZmFpbGVkJyldKSxcbiAgYW1vdW50OiB0LnVuaW9uKFt0Lm51bWJlciwgdC51bmRlZmluZWRdKSxcbiAgaW52b2ljZTogdC5zdHJpbmcsXG4gIHNlbmRRdWV1ZUlkOiB0LnN0cmluZyxcbiAgZmFpbHVyZVJlYXNvbjogdC51bmlvbihbdC5zdHJpbmcsIHQudW5kZWZpbmVkXSksXG4gIGZlZTogdC51bmlvbihbdC5udW1iZXIsIHQudW5kZWZpbmVkXSksXG4gIGZlZUxpbWl0OiB0Lm51bWJlcixcbiAgcGF5bWVudFByZWltYWdlOiB0LnVuaW9uKFt0LnN0cmluZywgdC51bmRlZmluZWRdKSxcbiAgZGVzdGluYXRpb246IHQuc3RyaW5nLFxufSk7XG5cbmV4cG9ydCBjb25zdCBHZXRQYXltZW50c1Jlc3BvbnNlID0gdC5hcnJheShQYXltZW50SW5mbyk7XG5cbmV4cG9ydCB0eXBlIEdldFBheW1lbnRzUmVzcG9uc2UgPSB0LlR5cGVPZjx0eXBlb2YgR2V0UGF5bWVudHNSZXNwb25zZT47XG5cbmV4cG9ydCBjb25zdCBMbnVybFBheVJlc3BvbnNlID0gdC5zdHJpY3Qoe1xuICB0YWc6IHQubGl0ZXJhbCgncGF5UmVxdWVzdCcpLFxuICBjYWxsYmFjazogdC5zdHJpbmcsXG4gIC8qKiBUaGUgbWF4aW11bSBhbW91bnQgaW4gbWlsbGlzYXRvc2hpcyB3ZSBjYW4gcGF5IGZvciB0aGlzIExOUlVMIHJlcXVlc3QgKi9cbiAgbWF4U2VuZGFibGU6IHQubnVtYmVyLFxuICAvKiogVGhlIG1pbmltdW0gYW1vdW50IGluIG1pbGxpc2F0b3NoaXMgd2UgY2FuIHBheSBmb3IgdGhpcyBMTlJVTCByZXF1ZXN0ICovXG4gIG1pblNlbmRhYmxlOiB0Lm51bWJlcixcbiAgLyoqIEEganNvbiBhcnJheSBpbiBzdHJpbmcgZm9ybWF0IGRlc2NyaWJpbmcgdGhlIHBheW1lbnQgKi9cbiAgbWV0YWRhdGE6IHQuc3RyaW5nLFxufSk7XG5cbmV4cG9ydCB0eXBlIExudXJsUGF5UmVzcG9uc2UgPSB0LlR5cGVPZjx0eXBlb2YgTG51cmxQYXlSZXNwb25zZT47XG5cbmV4cG9ydCB0eXBlIERlY29kZWRMbnVybFBheVJlcXVlc3QgPSBMbnVybFBheVJlc3BvbnNlICYge1xuICAvKipcbiAgICogRnJvbSBodHRwczovL2dpdGh1Yi5jb20vZmlhdGphZi9sbnVybC1yZmMvYmxvYi9sdWRzLzA2Lm1kI3BheS10by1zdGF0aWMtcXJuZmNsaW5rXG4gICAqIGEgcGF5bWVudCBkaWFsb2cgbXVzdCBpbmNsdWRlOiBEb21haW4gbmFtZSBleHRyYWN0ZWQgZnJvbSBMTlVSTCBxdWVyeSBzdHJpbmcuXG4gICAqL1xuICBkb21haW46IHN0cmluZztcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUxpZ2h0bmluZyB7XG4gIGNyZWF0ZUludm9pY2UocGFyYW1zOiBDcmVhdGVJbnZvaWNlUGFyYW1zKTogUHJvbWlzZTxDcmVhdGVJbnZvaWNlUmVzcG9uc2U+O1xuICBjcmVhdGVEZXBvc2l0QWRkcmVzcygpOiBQcm9taXNlPENyZWF0ZURlcG9zaXRBZGRyZXNzUmVzcG9uc2U+O1xuICBwYXlJbnZvaWNlKHBhcmFtczogUGF5SW52b2ljZVBhcmFtcyk6IFByb21pc2U8UGF5SW52b2ljZVJlc3BvbnNlPjtcbiAgZ2V0QmFsYW5jZSgpOiBQcm9taXNlPEdldEJhbGFuY2VSZXNwb25zZT47XG4gIHdpdGhkcmF3KHBhcmFtczogTGlnaHRuaW5nV2l0aGRyYXdhbFBhcmFtcyk6IFByb21pc2U8V2l0aGRyYXdSZXNwb25zZT47XG4gIGRlcG9zaXQocGFyYW1zOiBMaWdodG5pbmdEZXBvc2l0UGFyYW1zKTogUHJvbWlzZTxEZXBvc2l0UmVzcG9uc2U+O1xuICBnZXRJbnZvaWNlcyhxdWVyeT86IEdldEludm9pY2VzUXVlcnkpOiBQcm9taXNlPEdldEludm9pY2VzUmVzcG9uc2U+O1xuICBkZWNvZGVMbnVybFBheShsbnVybDogc3RyaW5nKTogUHJvbWlzZTxEZWNvZGVkTG51cmxQYXlSZXF1ZXN0PjtcbiAgZmV0Y2hMbnVybFBheUludm9pY2UocGFyYW1zOiBMbnVybFBheVBhcmFtcyk6IFByb21pc2U8c3RyaW5nPjtcbiAgZ2V0UGF5bWVudHMocXVlcnk/OiBHZXRQYXltZW50c1F1ZXJ5KTogUHJvbWlzZTxHZXRQYXltZW50c1Jlc3BvbnNlPjtcbn1cbiJdfQ==
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -14,4 +18,4 @@ __exportStar(require("./iLightning"), exports);
14
18
  __exportStar(require("./lightning"), exports);
15
19
  __exportStar(require("./lnurlCodec"), exports);
16
20
  __exportStar(require("./lightningUtils"), exports);
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vbGlnaHRuaW5nL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLCtDQUE2QjtBQUM3Qiw4Q0FBNEI7QUFDNUIsK0NBQTZCO0FBQzdCLG1EQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaUxpZ2h0bmluZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpZ2h0bmluZyc7XG5leHBvcnQgKiBmcm9tICcuL2xudXJsQ29kZWMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWdodG5pbmdVdGlscyc7XG4iXX0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vbGlnaHRuaW5nL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBNkI7QUFDN0IsOENBQTRCO0FBQzVCLCtDQUE2QjtBQUM3QixtREFBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2lMaWdodG5pbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9saWdodG5pbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9sbnVybENvZGVjJztcbmV4cG9ydCAqIGZyb20gJy4vbGlnaHRuaW5nVXRpbHMnO1xuIl19
@@ -16,13 +16,13 @@ class Lightning {
16
16
  .post(this.url + '/invoice')
17
17
  .send(params)
18
18
  .result();
19
- return decode_1.decodeOrElse(iLightning_1.CreateInvoiceResponse.name, iLightning_1.CreateInvoiceResponse, body, (errors) => {
19
+ return (0, decode_1.decodeOrElse)(iLightning_1.CreateInvoiceResponse.name, iLightning_1.CreateInvoiceResponse, body, (errors) => {
20
20
  throw new Error(`error(s) parsing response body: ${errors}`);
21
21
  });
22
22
  }
23
23
  async createDepositAddress() {
24
24
  const body = await this.bitgo.post(this.url + '/address').result();
25
- return decode_1.decodeOrElse(iLightning_1.CreateDepositAddressResponse.name, iLightning_1.CreateDepositAddressResponse, body, (errors) => {
25
+ return (0, decode_1.decodeOrElse)(iLightning_1.CreateDepositAddressResponse.name, iLightning_1.CreateDepositAddressResponse, body, (errors) => {
26
26
  throw new Error(`error(s) parsing response body: ${errors}`);
27
27
  });
28
28
  }
@@ -31,13 +31,13 @@ class Lightning {
31
31
  .post(this.url + '/payment')
32
32
  .send(params)
33
33
  .result();
34
- return decode_1.decodeOrElse(iLightning_1.PayInvoiceResponse.name, iLightning_1.PayInvoiceResponse, body, (errors) => {
34
+ return (0, decode_1.decodeOrElse)(iLightning_1.PayInvoiceResponse.name, iLightning_1.PayInvoiceResponse, body, (errors) => {
35
35
  throw new Error(`error(s) parsing response body: ${errors}`);
36
36
  });
37
37
  }
38
38
  async getBalance() {
39
39
  const body = await this.bitgo.get(this.url + '/balance').result();
40
- return decode_1.decodeOrElse(iLightning_1.GetBalanceResponse.name, iLightning_1.GetBalanceResponse, body, (errors) => {
40
+ return (0, decode_1.decodeOrElse)(iLightning_1.GetBalanceResponse.name, iLightning_1.GetBalanceResponse, body, (errors) => {
41
41
  throw new Error(`error(s) parsing response body: ${errors}`);
42
42
  });
43
43
  }
@@ -48,13 +48,13 @@ class Lightning {
48
48
  destination = (await this.wallet.createAddress()).address;
49
49
  }
50
50
  if (sequenceId === undefined) {
51
- sequenceId = crypto_1.randomBytes(16).toString('hex');
51
+ sequenceId = (0, crypto_1.randomBytes)(16).toString('hex');
52
52
  }
53
53
  const body = await this.bitgo
54
54
  .post(this.url + '/withdrawal')
55
55
  .send({ value, destination, sequenceId })
56
56
  .result();
57
- return decode_1.decodeOrElse(iLightning_1.WithdrawResponse.name, iLightning_1.WithdrawResponse, body, (errors) => {
57
+ return (0, decode_1.decodeOrElse)(iLightning_1.WithdrawResponse.name, iLightning_1.WithdrawResponse, body, (errors) => {
58
58
  throw new Error(`error(s) parsing response body: ${errors}`);
59
59
  });
60
60
  }
@@ -62,7 +62,7 @@ class Lightning {
62
62
  const { amount } = params;
63
63
  const address = (await this.createDepositAddress()).address;
64
64
  const res = await this.wallet.send({ amount, address });
65
- return decode_1.decodeOrElse(iLightning_1.DepositResponse.name, iLightning_1.DepositResponse, res, (errors) => {
65
+ return (0, decode_1.decodeOrElse)(iLightning_1.DepositResponse.name, iLightning_1.DepositResponse, res, (errors) => {
66
66
  throw new Error(`error(s) parsing response body: ${errors}`);
67
67
  });
68
68
  }
@@ -77,7 +77,7 @@ class Lightning {
77
77
  .get(this.url + '/invoices')
78
78
  .query(queryParams)
79
79
  .result();
80
- return decode_1.decodeOrElse(iLightning_1.GetInvoicesResponse.name, iLightning_1.GetInvoicesResponse, body, (errors) => {
80
+ return (0, decode_1.decodeOrElse)(iLightning_1.GetInvoicesResponse.name, iLightning_1.GetInvoicesResponse, body, (errors) => {
81
81
  throw new Error(`error(s) parsing response body: ${errors}`);
82
82
  });
83
83
  }
@@ -96,16 +96,16 @@ class Lightning {
96
96
  .get(this.url + '/payments')
97
97
  .query(queryParams)
98
98
  .result();
99
- return decode_1.decodeOrElse(iLightning_1.GetPaymentsResponse.name, iLightning_1.GetPaymentsResponse, body, (errors) => {
99
+ return (0, decode_1.decodeOrElse)(iLightning_1.GetPaymentsResponse.name, iLightning_1.GetPaymentsResponse, body, (errors) => {
100
100
  throw new Error(`error(s) parsing response body: ${errors}`);
101
101
  });
102
102
  }
103
103
  decodeLnurlPay(lnurl) {
104
- return lightningUtils_1.decodeLnurlPay(lnurl);
104
+ return (0, lightningUtils_1.decodeLnurlPay)(lnurl);
105
105
  }
106
106
  fetchLnurlPayInvoice(params) {
107
- return lightningUtils_1.fetchLnurlPayInvoice(params);
107
+ return (0, lightningUtils_1.fetchLnurlPayInvoice)(params);
108
108
  }
109
109
  }
110
110
  exports.Lightning = Lightning;
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRuaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL2xpZ2h0bmluZy9saWdodG5pbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBa0JzQjtBQUN0QixxREFBd0U7QUFHeEUsNENBQStDO0FBQy9DLG1DQUFxQztBQUVyQyxNQUFhLFNBQVM7SUFLcEIsWUFBWSxLQUFnQixFQUFFLE1BQWU7UUFDM0MsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxXQUFXLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRU0sS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUEyQjtRQUNwRCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLO2FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLFVBQVUsQ0FBQzthQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDO2FBQ1osTUFBTSxFQUFFLENBQUM7UUFFWixPQUFPLHFCQUFZLENBQUMsa0NBQXFCLENBQUMsSUFBSSxFQUFFLGtDQUFxQixFQUFFLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3RGLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDL0QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sS0FBSyxDQUFDLG9CQUFvQjtRQUMvQixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsVUFBVSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbkUsT0FB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Q0FBRSxTQUFTLENBQUM7UUFDekMsV0FBVyxDQUFDLE9BQU8sR0FBRyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsT0FBTyxDQUFDO1FBRXJDLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUs7YUFDMUIsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsV0FBVyxDQUFDO2FBQzNCLEtBQUssQ0FBQyxXQUFXLENBQUM7YUFDbEIsTUFBTSxFQUFFLENBQUM7UUFDWixPQUFPLHFCQUFZLENBQUMsZ0NBQW1CLENBQUMsSUFBSSxFQUFFLGdDQUFtQixFQUFFLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2xGLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDL0QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sY0FBYyxDQUFDLEtBQWE7UUFDakMsT0FBTywrQkFBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxNQUFzQjtRQUNoRCxPQUFPLHFDQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7Q0FDRjtBQTVIRCw4QkE0SEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJTGlnaHRuaW5nLFxuICBDcmVhdGVJbnZvaWNlUGFyYW1zLFxuICBQYXlJbnZvaWNlUGFyYW1zLFxuICBMaWdodG5pbmdXaXRoZHJhd2FsUGFyYW1zLFxuICBMaWdodG5pbmdEZXBvc2l0UGFyYW1zLFxuICBMbnVybFBheVBhcmFtcyxcbiAgQ3JlYXRlSW52b2ljZVJlc3BvbnNlLFxuICBDcmVhdGVEZXBvc2l0QWRkcmVzc1Jlc3BvbnNlLFxuICBQYXlJbnZvaWNlUmVzcG9uc2UsXG4gIEdldEJhbGFuY2VSZXNwb25zZSxcbiAgV2l0aGRyYXdSZXNwb25zZSxcbiAgRGVwb3NpdFJlc3BvbnNlLFxuICBHZXRJbnZvaWNlc1F1ZXJ5LFxuICBHZXRJbnZvaWNlc1Jlc3BvbnNlLFxuICBEZWNvZGVkTG51cmxQYXlSZXF1ZXN0LFxuICBHZXRQYXltZW50c1F1ZXJ5LFxuICBHZXRQYXltZW50c1Jlc3BvbnNlLFxufSBmcm9tICcuL2lMaWdodG5pbmcnO1xuaW1wb3J0IHsgZGVjb2RlTG51cmxQYXksIGZldGNoTG51cmxQYXlJbnZvaWNlIH0gZnJvbSAnLi9saWdodG5pbmdVdGlscyc7XG5pbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICcuLi9iaXRnb0Jhc2UnO1xuaW1wb3J0IHsgSVdhbGxldCB9IGZyb20gJy4uL3dhbGxldCc7XG5pbXBvcnQgeyBkZWNvZGVPckVsc2UgfSBmcm9tICcuLi91dGlscy9kZWNvZGUnO1xuaW1wb3J0IHsgcmFuZG9tQnl0ZXMgfSBmcm9tICdjcnlwdG8nO1xuXG5leHBvcnQgY2xhc3MgTGlnaHRuaW5nIGltcGxlbWVudHMgSUxpZ2h0bmluZyB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYml0Z286IEJpdEdvQmFzZTtcbiAgcHJpdmF0ZSByZWFkb25seSB3YWxsZXQ6IElXYWxsZXQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgdXJsOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSwgd2FsbGV0OiBJV2FsbGV0KSB7XG4gICAgdGhpcy5iaXRnbyA9IGJpdGdvO1xuICAgIHRoaXMud2FsbGV0ID0gd2FsbGV0O1xuICAgIHRoaXMudXJsID0gdGhpcy5iaXRnby51cmwoYC93YWxsZXQvJHt0aGlzLndhbGxldC5pZCgpfS9saWdodG5pbmdgLCAyKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBjcmVhdGVJbnZvaWNlKHBhcmFtczogQ3JlYXRlSW52b2ljZVBhcmFtcyk6IFByb21pc2U8Q3JlYXRlSW52b2ljZVJlc3BvbnNlPiB7XG4gICAgY29uc3QgYm9keSA9IGF3YWl0IHRoaXMuYml0Z29cbiAgICAgIC5wb3N0KHRoaXMudXJsICsgJy9pbnZvaWNlJylcbiAgICAgIC5zZW5kKHBhcmFtcylcbiAgICAgIC5yZXN1bHQoKTtcblxuICAgIHJldHVybiBkZWNvZGVPckVsc2UoQ3JlYXRlSW52b2ljZVJlc3BvbnNlLm5hbWUsIENyZWF0ZUludm9pY2VSZXNwb25zZSwgYm9keSwgKGVycm9ycykgPT4ge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBlcnJvcihzKSBwYXJzaW5nIHJlc3BvbnNlIGJvZHk6ICR7ZXJyb3JzfWApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGNyZWF0ZURlcG9zaXRBZGRyZXNzKCk6IFByb21pc2U8Q3JlYXRlRGVwb3NpdEFkZHJlc3NSZXNwb25zZT4ge1xuICAgIGNvbnN0IGJvZHkgPSBhd2FpdCB0aGlzLmJpdGdvLnBvc3QodGhpcy51cmwgKyAnL2FkZHJlc3MnKS5yZXN1bHQoKTtcbiAgICByZXR1cm4gZGVjb2RlT3JFbHNlKENyZWF0ZURlcG9zaXRBZGRyZXNzUmVzcG9uc2UubmFtZSwgQ3JlYXRlRGVwb3NpdEFkZHJlc3NSZXNwb25zZSwgYm9keSwgKGVycm9ycykgPT4ge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBlcnJvcihzKSBwYXJzaW5nIHJlc3BvbnNlIGJvZHk6ICR7ZXJyb3JzfWApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHBheUludm9pY2UocGFyYW1zOiBQYXlJbnZvaWNlUGFyYW1zKTogUHJvbWlzZTxQYXlJbnZvaWNlUmVzcG9uc2U+IHtcbiAgICBjb25zdCBib2R5ID0gYXdhaXQgdGhpcy5iaXRnb1xuICAgICAgLnBvc3QodGhpcy51cmwgKyAnL3BheW1lbnQnKVxuICAgICAgLnNlbmQocGFyYW1zKVxuICAgICAgLnJlc3VsdCgpO1xuXG4gICAgcmV0dXJuIGRlY29kZU9yRWxzZShQYXlJbnZvaWNlUmVzcG9uc2UubmFtZSwgUGF5SW52b2ljZVJlc3BvbnNlLCBib2R5LCAoZXJyb3JzKSA9PiB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGVycm9yKHMpIHBhcnNpbmcgcmVzcG9uc2UgYm9keTogJHtlcnJvcnN9YCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0QmFsYW5jZSgpOiBQcm9taXNlPEdldEJhbGFuY2VSZXNwb25zZT4ge1xuICAgIGNvbnN0IGJvZHkgPSBhd2FpdCB0aGlzLmJpdGdvLmdldCh0aGlzLnVybCArICcvYmFsYW5jZScpLnJlc3VsdCgpO1xuICAgIHJldHVybiBkZWNvZGVPckVsc2UoR2V0QmFsYW5jZVJlc3BvbnNlLm5hbWUsIEdldEJhbGFuY2VSZXNwb25zZSwgYm9keSwgKGVycm9ycykgPT4ge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBlcnJvcihzKSBwYXJzaW5nIHJlc3BvbnNlIGJvZHk6ICR7ZXJyb3JzfWApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHdpdGhkcmF3KHBhcmFtczogTGlnaHRuaW5nV2l0aGRyYXdhbFBhcmFtcyk6IFByb21pc2U8V2l0aGRyYXdSZXNwb25zZT4ge1xuICAgIGNvbnN0IHsgdmFsdWUgfSA9IHBhcmFtcztcbiAgICBsZXQgeyBkZXN0aW5hdGlvbiwgc2VxdWVuY2VJZCB9ID0gcGFyYW1zO1xuXG4gICAgaWYgKGRlc3RpbmF0aW9uID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGRlc3RpbmF0aW9uID0gKGF3YWl0IHRoaXMud2FsbGV0LmNyZWF0ZUFkZHJlc3MoKSkuYWRkcmVzcztcbiAgICB9XG5cbiAgICBpZiAoc2VxdWVuY2VJZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBzZXF1ZW5jZUlkID0gcmFuZG9tQnl0ZXMoMTYpLnRvU3RyaW5nKCdoZXgnKTtcbiAgICB9XG5cbiAgICBjb25zdCBib2R5ID0gYXdhaXQgdGhpcy5iaXRnb1xuICAgICAgLnBvc3QodGhpcy51cmwgKyAnL3dpdGhkcmF3YWwnKVxuICAgICAgLnNlbmQoeyB2YWx1ZSwgZGVzdGluYXRpb24sIHNlcXVlbmNlSWQgfSlcbiAgICAgIC5yZXN1bHQoKTtcbiAgICByZXR1cm4gZGVjb2RlT3JFbHNlKFdpdGhkcmF3UmVzcG9uc2UubmFtZSwgV2l0aGRyYXdSZXNwb25zZSwgYm9keSwgKGVycm9ycykgPT4ge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBlcnJvcihzKSBwYXJzaW5nIHJlc3BvbnNlIGJvZHk6ICR7ZXJyb3JzfWApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGRlcG9zaXQocGFyYW1zOiBMaWdodG5pbmdEZXBvc2l0UGFyYW1zKTogUHJvbWlzZTxEZXBvc2l0UmVzcG9uc2U+IHtcbiAgICBjb25zdCB7IGFtb3VudCB9ID0gcGFyYW1zO1xuICAgIGNvbnN0IGFkZHJlc3MgPSAoYXdhaXQgdGhpcy5jcmVhdGVEZXBvc2l0QWRkcmVzcygpKS5hZGRyZXNzO1xuXG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy53YWxsZXQuc2VuZCh7IGFtb3VudCwgYWRkcmVzcyB9KTtcblxuICAgIHJldHVybiBkZWNvZGVPckVsc2UoRGVwb3NpdFJlc3BvbnNlLm5hbWUsIERlcG9zaXRSZXNwb25zZSwgcmVzLCAoZXJyb3JzKSA9PiB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGVycm9yKHMpIHBhcnNpbmcgcmVzcG9uc2UgYm9keTogJHtlcnJvcnN9YCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0SW52b2ljZXMocXVlcnk/OiBHZXRJbnZvaWNlc1F1ZXJ5KTogUHJvbWlzZTxHZXRJbnZvaWNlc1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgcXVlcnlQYXJhbXMgPSB7XG4gICAgICBzdGF0dXM6IHF1ZXJ5Py5zdGF0dXMsXG4gICAgICBsaW1pdDogcXVlcnk/LmxpbWl0LFxuICAgICAgc3RhcnREYXRlOiBxdWVyeT8uc3RhcnREYXRlLFxuICAgICAgZW5kRGF0ZTogcXVlcnk/LmVuZERhdGUsXG4gICAgfTtcblxuICAgIGNvbnN0IGJvZHkgPSBhd2FpdCB0aGlzLmJpdGdvXG4gICAgICAuZ2V0KHRoaXMudXJsICsgJy9pbnZvaWNlcycpXG4gICAgICAucXVlcnkocXVlcnlQYXJhbXMpXG4gICAgICAucmVzdWx0KCk7XG4gICAgcmV0dXJuIGRlY29kZU9yRWxzZShHZXRJbnZvaWNlc1Jlc3BvbnNlLm5hbWUsIEdldEludm9pY2VzUmVzcG9uc2UsIGJvZHksIChlcnJvcnMpID0+IHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZXJyb3IocykgcGFyc2luZyByZXNwb25zZSBib2R5OiAke2Vycm9yc31gKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBmZXRjaGVzIGxpZ2h0bmluZyBwYXltZW50cyBieSBzdGF0dXMsIGxpbWl0LCBzdGFydERhdGUgYW5kIGVuZERhdGVcbiAgICogQHBhcmFtIHF1ZXJ5XG4gICAqIEByZXR1cm4ge0dldFBheW1lbnRzUmVzcG9uc2V9XG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0UGF5bWVudHMocXVlcnk/OiBHZXRQYXltZW50c1F1ZXJ5KTogUHJvbWlzZTxHZXRQYXltZW50c1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgcXVlcnlQYXJhbXM6IHsgc3RhdHVzPzogc3RyaW5nOyBsaW1pdD86IG51bWJlcjsgc3RhcnREYXRlPzogc3RyaW5nOyBlbmREYXRlPzogc3RyaW5nIH0gPSB7fTtcbiAgICBxdWVyeVBhcmFtcy5zdGF0dXMgPSBxdWVyeT8uc3RhdHVzO1xuICAgIHF1ZXJ5UGFyYW1zLmxpbWl0ID0gcXVlcnk/LmxpbWl0O1xuICAgIHF1ZXJ5UGFyYW1zLnN0YXJ0RGF0ZSA9IHF1ZXJ5Py5zdGFydERhdGU7XG4gICAgcXVlcnlQYXJhbXMuZW5kRGF0ZSA9IHF1ZXJ5Py5lbmREYXRlO1xuXG4gICAgY29uc3QgYm9keSA9IGF3YWl0IHRoaXMuYml0Z29cbiAgICAgIC5nZXQodGhpcy51cmwgKyAnL3BheW1lbnRzJylcbiAgICAgIC5xdWVyeShxdWVyeVBhcmFtcylcbiAgICAgIC5yZXN1bHQoKTtcbiAgICByZXR1cm4gZGVjb2RlT3JFbHNlKEdldFBheW1lbnRzUmVzcG9uc2UubmFtZSwgR2V0UGF5bWVudHNSZXNwb25zZSwgYm9keSwgKGVycm9ycykgPT4ge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBlcnJvcihzKSBwYXJzaW5nIHJlc3BvbnNlIGJvZHk6ICR7ZXJyb3JzfWApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGRlY29kZUxudXJsUGF5KGxudXJsOiBzdHJpbmcpOiBQcm9taXNlPERlY29kZWRMbnVybFBheVJlcXVlc3Q+IHtcbiAgICByZXR1cm4gZGVjb2RlTG51cmxQYXkobG51cmwpO1xuICB9XG5cbiAgcHVibGljIGZldGNoTG51cmxQYXlJbnZvaWNlKHBhcmFtczogTG51cmxQYXlQYXJhbXMpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBmZXRjaExudXJsUGF5SW52b2ljZShwYXJhbXMpO1xuICB9XG59XG4iXX0=
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRuaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL2xpZ2h0bmluZy9saWdodG5pbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBa0JzQjtBQUN0QixxREFBd0U7QUFHeEUsNENBQStDO0FBQy9DLG1DQUFxQztBQUVyQyxNQUFhLFNBQVM7SUFLcEIsWUFBWSxLQUFnQixFQUFFLE1BQWU7UUFDM0MsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxXQUFXLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRU0sS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUEyQjtRQUNwRCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLO2FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLFVBQVUsQ0FBQzthQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDO2FBQ1osTUFBTSxFQUFFLENBQUM7UUFFWixPQUFPLElBQUEscUJBQVksRUFBQyxrQ0FBcUIsQ0FBQyxJQUFJLEVBQUUsa0NBQXFCLEVBQUUsSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDdEYsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUMvRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxLQUFLLENBQUMsb0JBQW9CO1FBQy9CLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxVQUFVLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNu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QUFDLFNBQVMsR0FBRyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsU0FBUyxDQUFDO1FBQ3pDLFdBQVcsQ0FBQyxPQUFPLEdBQUcsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLE9BQU8sQ0FBQztRQUVyQyxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLO2FBQzFCLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQzthQUMzQixLQUFLLENBQUMsV0FBVyxDQUFDO2FBQ2xCLE1BQU0sRUFBRSxDQUFDO1FBQ1osT0FBTyxJQUFBLHFCQUFZLEVBQUMsZ0NBQW1CLENBQUMsSUFBSSxFQUFFLGdDQUFtQixFQUFFLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2xGLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDL0QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sY0FBYyxDQUFDLEtBQWE7UUFDakMsT0FBTyxJQUFBLCtCQUFjLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVNLG9CQUFvQixDQUFDLE1BQXNCO1FBQ2hELE9BQU8sSUFBQSxxQ0FBb0IsRUFBQyxNQUFNLENBQUMsQ0FBQztJQUN0QyxDQUFDO0NBQ0Y7QUE1SEQsOEJBNEhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSUxpZ2h0bmluZyxcbiAgQ3JlYXRlSW52b2ljZVBhcmFtcyxcbiAgUGF5SW52b2ljZVBhcmFtcyxcbiAgTGlnaHRuaW5nV2l0aGRyYXdhbFBhcmFtcyxcbiAgTGlnaHRuaW5nRGVwb3NpdFBhcmFtcyxcbiAgTG51cmxQYXlQYXJhbXMsXG4gIENyZWF0ZUludm9pY2VSZXNwb25zZSxcbiAgQ3JlYXRlRGVwb3NpdEFkZHJlc3NSZXNwb25zZSxcbiAgUGF5SW52b2ljZVJlc3BvbnNlLFxuICBHZXRCYWxhbmNlUmVzcG9uc2UsXG4gIFdpdGhkcmF3UmVzcG9uc2UsXG4gIERlcG9zaXRSZXNwb25zZSxcbiAgR2V0SW52b2ljZXNRdWVyeSxcbiAgR2V0SW52b2ljZXNSZXNwb25zZSxcbiAgRGVjb2RlZExudXJsUGF5UmVxdWVzdCxcbiAgR2V0UGF5bWVudHNRdWVyeSxcbiAgR2V0UGF5bWVudHNSZXNwb25zZSxcbn0gZnJvbSAnLi9pTGlnaHRuaW5nJztcbmltcG9ydCB7IGRlY29kZUxudXJsUGF5LCBmZXRjaExudXJsUGF5SW52b2ljZSB9IGZyb20gJy4vbGlnaHRuaW5nVXRpbHMnO1xuaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnLi4vYml0Z29CYXNlJztcbmltcG9ydCB7IElXYWxsZXQgfSBmcm9tICcuLi93YWxsZXQnO1xuaW1wb3J0IHsgZGVjb2RlT3JFbHNlIH0gZnJvbSAnLi4vdXRpbHMvZGVjb2RlJztcbmltcG9ydCB7IHJhbmRvbUJ5dGVzIH0gZnJvbSAnY3J5cHRvJztcblxuZXhwb3J0IGNsYXNzIExpZ2h0bmluZyBpbXBsZW1lbnRzIElMaWdodG5pbmcge1xuICBwcml2YXRlIHJlYWRvbmx5IGJpdGdvOiBCaXRHb0Jhc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgd2FsbGV0OiBJV2FsbGV0O1xuICBwcml2YXRlIHJlYWRvbmx5IHVybDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UsIHdhbGxldDogSVdhbGxldCkge1xuICAgIHRoaXMuYml0Z28gPSBiaXRnbztcbiAgICB0aGlzLndhbGxldCA9IHdhbGxldDtcbiAgICB0aGlzLnVybCA9IHRoaXMuYml0Z28udXJsKGAvd2FsbGV0LyR7dGhpcy53YWxsZXQuaWQoKX0vbGlnaHRuaW5nYCwgMik7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY3JlYXRlSW52b2ljZShwYXJhbXM6IENyZWF0ZUludm9pY2VQYXJhbXMpOiBQcm9taXNlPENyZWF0ZUludm9pY2VSZXNwb25zZT4ge1xuICAgIGNvbnN0IGJvZHkgPSBhd2FpdCB0aGlzLmJpdGdvXG4gICAgICAucG9zdCh0aGlzLnVybCArICcvaW52b2ljZScpXG4gICAgICAuc2VuZChwYXJhbXMpXG4gICAgICAucmVzdWx0KCk7XG5cbiAgICByZXR1cm4gZGVjb2RlT3JFbHNlKENyZWF0ZUludm9pY2VSZXNwb25zZS5uYW1lLCBDcmVhdGVJbnZvaWNlUmVzcG9uc2UsIGJvZHksIChlcnJvcnMpID0+IHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZXJyb3IocykgcGFyc2luZyByZXNwb25zZSBib2R5OiAke2Vycm9yc31gKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBjcmVhdGVEZXBvc2l0QWRkcmVzcygpOiBQcm9taXNlPENyZWF0ZURlcG9zaXRBZGRyZXNzUmVzcG9uc2U+IHtcbiAgICBjb25zdCBib2R5ID0gYXdhaXQgdGhpcy5iaXRnby5wb3N0KHRoaXMudXJsICsgJy9hZGRyZXNzJykucmVzdWx0KCk7XG4gICAgcmV0dXJuIGRlY29kZU9yRWxzZShDcmVhdGVEZXBvc2l0QWRkcmVzc1Jlc3BvbnNlLm5hbWUsIENyZWF0ZURlcG9zaXRBZGRyZXNzUmVzcG9uc2UsIGJvZHksIChlcnJvcnMpID0+IHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZXJyb3IocykgcGFyc2luZyByZXNwb25zZSBib2R5OiAke2Vycm9yc31gKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBwYXlJbnZvaWNlKHBhcmFtczogUGF5SW52b2ljZVBhcmFtcyk6IFByb21pc2U8UGF5SW52b2ljZVJlc3BvbnNlPiB7XG4gICAgY29uc3QgYm9keSA9IGF3YWl0IHRoaXMuYml0Z29cbiAgICAgIC5wb3N0KHRoaXMudXJsICsgJy9wYXltZW50JylcbiAgICAgIC5zZW5kKHBhcmFtcylcbiAgICAgIC5yZXN1bHQoKTtcblxuICAgIHJldHVybiBkZWNvZGVPckVsc2UoUGF5SW52b2ljZVJlc3BvbnNlLm5hbWUsIFBheUludm9pY2VSZXNwb25zZSwgYm9keSwgKGVycm9ycykgPT4ge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBlcnJvcihzKSBwYXJzaW5nIHJlc3BvbnNlIGJvZHk6ICR7ZXJyb3JzfWApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldEJhbGFuY2UoKTogUHJvbWlzZTxHZXRCYWxhbmNlUmVzcG9uc2U+IHtcbiAgICBjb25zdCBib2R5ID0gYXdhaXQgdGhpcy5iaXRnby5nZXQodGhpcy51cmwgKyAnL2JhbGFuY2UnKS5yZXN1bHQoKTtcbiAgICByZXR1cm4gZGVjb2RlT3JFbHNlKEdldEJhbGFuY2VSZXNwb25zZS5uYW1lLCBHZXRCYWxhbmNlUmVzcG9uc2UsIGJvZHksIChlcnJvcnMpID0+IHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZXJyb3IocykgcGFyc2luZyByZXNwb25zZSBib2R5OiAke2Vycm9yc31gKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyB3aXRoZHJhdyhwYXJhbXM6IExpZ2h0bmluZ1dpdGhkcmF3YWxQYXJhbXMpOiBQcm9taXNlPFdpdGhkcmF3UmVzcG9uc2U+IHtcbiAgICBjb25zdCB7IHZhbHVlIH0gPSBwYXJhbXM7XG4gICAgbGV0IHsgZGVzdGluYXRpb24sIHNlcXVlbmNlSWQgfSA9IHBhcmFtcztcblxuICAgIGlmIChkZXN0aW5hdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBkZXN0aW5hdGlvbiA9IChhd2FpdCB0aGlzLndhbGxldC5jcmVhdGVBZGRyZXNzKCkpLmFkZHJlc3M7XG4gICAgfVxuXG4gICAgaWYgKHNlcXVlbmNlSWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgc2VxdWVuY2VJZCA9IHJhbmRvbUJ5dGVzKDE2KS50b1N0cmluZygnaGV4Jyk7XG4gICAgfVxuXG4gICAgY29uc3QgYm9keSA9IGF3YWl0IHRoaXMuYml0Z29cbiAgICAgIC5wb3N0KHRoaXMudXJsICsgJy93aXRoZHJhd2FsJylcbiAgICAgIC5zZW5kKHsgdmFsdWUsIGRlc3RpbmF0aW9uLCBzZXF1ZW5jZUlkIH0pXG4gICAgICAucmVzdWx0KCk7XG4gICAgcmV0dXJuIGRlY29kZU9yRWxzZShXaXRoZHJhd1Jlc3BvbnNlLm5hbWUsIFdpdGhkcmF3UmVzcG9uc2UsIGJvZHksIChlcnJvcnMpID0+IHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZXJyb3IocykgcGFyc2luZyByZXNwb25zZSBib2R5OiAke2Vycm9yc31gKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBkZXBvc2l0KHBhcmFtczogTGlnaHRuaW5nRGVwb3NpdFBhcmFtcyk6IFByb21pc2U8RGVwb3NpdFJlc3BvbnNlPiB7XG4gICAgY29uc3QgeyBhbW91bnQgfSA9IHBhcmFtcztcbiAgICBjb25zdCBhZGRyZXNzID0gKGF3YWl0IHRoaXMuY3JlYXRlRGVwb3NpdEFkZHJlc3MoKSkuYWRkcmVzcztcblxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMud2FsbGV0LnNlbmQoeyBhbW91bnQsIGFkZHJlc3MgfSk7XG5cbiAgICByZXR1cm4gZGVjb2RlT3JFbHNlKERlcG9zaXRSZXNwb25zZS5uYW1lLCBEZXBvc2l0UmVzcG9uc2UsIHJlcywgKGVycm9ycykgPT4ge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBlcnJvcihzKSBwYXJzaW5nIHJlc3BvbnNlIGJvZHk6ICR7ZXJyb3JzfWApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldEludm9pY2VzKHF1ZXJ5PzogR2V0SW52b2ljZXNRdWVyeSk6IFByb21pc2U8R2V0SW52b2ljZXNSZXNwb25zZT4ge1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0ge1xuICAgICAgc3RhdHVzOiBxdWVyeT8uc3RhdHVzLFxuICAgICAgbGltaXQ6IHF1ZXJ5Py5saW1pdCxcbiAgICAgIHN0YXJ0RGF0ZTogcXVlcnk/LnN0YXJ0RGF0ZSxcbiAgICAgIGVuZERhdGU6IHF1ZXJ5Py5lbmREYXRlLFxuICAgIH07XG5cbiAgICBjb25zdCBib2R5ID0gYXdhaXQgdGhpcy5iaXRnb1xuICAgICAgLmdldCh0aGlzLnVybCArICcvaW52b2ljZXMnKVxuICAgICAgLnF1ZXJ5KHF1ZXJ5UGFyYW1zKVxuICAgICAgLnJlc3VsdCgpO1xuICAgIHJldHVybiBkZWNvZGVPckVsc2UoR2V0SW52b2ljZXNSZXNwb25zZS5uYW1lLCBHZXRJbnZvaWNlc1Jlc3BvbnNlLCBib2R5LCAoZXJyb3JzKSA9PiB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGVycm9yKHMpIHBhcnNpbmcgcmVzcG9uc2UgYm9keTogJHtlcnJvcnN9YCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogZmV0Y2hlcyBsaWdodG5pbmcgcGF5bWVudHMgYnkgc3RhdHVzLCBsaW1pdCwgc3RhcnREYXRlIGFuZCBlbmREYXRlXG4gICAqIEBwYXJhbSBxdWVyeVxuICAgKiBAcmV0dXJuIHtHZXRQYXltZW50c1Jlc3BvbnNlfVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFBheW1lbnRzKHF1ZXJ5PzogR2V0UGF5bWVudHNRdWVyeSk6IFByb21pc2U8R2V0UGF5bWVudHNSZXNwb25zZT4ge1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zOiB7IHN0YXR1cz86IHN0cmluZzsgbGltaXQ/OiBudW1iZXI7IHN0YXJ0RGF0ZT86IHN0cmluZzsgZW5kRGF0ZT86IHN0cmluZyB9ID0ge307XG4gICAgcXVlcnlQYXJhbXMuc3RhdHVzID0gcXVlcnk/LnN0YXR1cztcbiAgICBxdWVyeVBhcmFtcy5saW1pdCA9IHF1ZXJ5Py5saW1pdDtcbiAgICBxdWVyeVBhcmFtcy5zdGFydERhdGUgPSBxdWVyeT8uc3RhcnREYXRlO1xuICAgIHF1ZXJ5UGFyYW1zLmVuZERhdGUgPSBxdWVyeT8uZW5kRGF0ZTtcblxuICAgIGNvbnN0IGJvZHkgPSBhd2FpdCB0aGlzLmJpdGdvXG4gICAgICAuZ2V0KHRoaXMudXJsICsgJy9wYXltZW50cycpXG4gICAgICAucXVlcnkocXVlcnlQYXJhbXMpXG4gICAgICAucmVzdWx0KCk7XG4gICAgcmV0dXJuIGRlY29kZU9yRWxzZShHZXRQYXltZW50c1Jlc3BvbnNlLm5hbWUsIEdldFBheW1lbnRzUmVzcG9uc2UsIGJvZHksIChlcnJvcnMpID0+IHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZXJyb3IocykgcGFyc2luZyByZXNwb25zZSBib2R5OiAke2Vycm9yc31gKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBkZWNvZGVMbnVybFBheShsbnVybDogc3RyaW5nKTogUHJvbWlzZTxEZWNvZGVkTG51cmxQYXlSZXF1ZXN0PiB7XG4gICAgcmV0dXJuIGRlY29kZUxudXJsUGF5KGxudXJsKTtcbiAgfVxuXG4gIHB1YmxpYyBmZXRjaExudXJsUGF5SW52b2ljZShwYXJhbXM6IExudXJsUGF5UGFyYW1zKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gZmV0Y2hMbnVybFBheUludm9pY2UocGFyYW1zKTtcbiAgfVxufVxuIl19