@witnet/sdk 1.1.3 → 1.2.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 (192) hide show
  1. package/.env_witnet +13 -1
  2. package/dist/package.json +31 -24
  3. package/dist/src/bin/helpers.d.ts +59 -49
  4. package/dist/src/bin/helpers.d.ts.map +1 -1
  5. package/dist/src/bin/helpers.js +228 -229
  6. package/dist/src/index.d.ts +3 -4
  7. package/dist/src/index.d.ts.map +1 -1
  8. package/dist/src/index.js +4 -47
  9. package/dist/src/lib/crypto/account.d.ts +3 -3
  10. package/dist/src/lib/crypto/account.d.ts.map +1 -1
  11. package/dist/src/lib/crypto/account.js +31 -25
  12. package/dist/src/lib/crypto/coinbase.d.ts +4 -4
  13. package/dist/src/lib/crypto/coinbase.d.ts.map +1 -1
  14. package/dist/src/lib/crypto/coinbase.js +8 -13
  15. package/dist/src/lib/crypto/index.d.ts +7 -7
  16. package/dist/src/lib/crypto/index.d.ts.map +1 -1
  17. package/dist/src/lib/crypto/index.js +7 -30
  18. package/dist/src/lib/crypto/interfaces.d.ts +5 -5
  19. package/dist/src/lib/crypto/interfaces.d.ts.map +1 -1
  20. package/dist/src/lib/crypto/interfaces.js +2 -3
  21. package/dist/src/lib/crypto/payloads/DataRequestPayload.d.ts +5 -5
  22. package/dist/src/lib/crypto/payloads/DataRequestPayload.d.ts.map +1 -1
  23. package/dist/src/lib/crypto/payloads/DataRequestPayload.js +107 -95
  24. package/dist/src/lib/crypto/payloads/StakePayload.d.ts +3 -4
  25. package/dist/src/lib/crypto/payloads/StakePayload.d.ts.map +1 -1
  26. package/dist/src/lib/crypto/payloads/StakePayload.js +81 -71
  27. package/dist/src/lib/crypto/payloads/UnstakePayload.d.ts +4 -5
  28. package/dist/src/lib/crypto/payloads/UnstakePayload.d.ts.map +1 -1
  29. package/dist/src/lib/crypto/payloads/UnstakePayload.js +36 -43
  30. package/dist/src/lib/crypto/payloads/ValueTransferPayload.d.ts +3 -4
  31. package/dist/src/lib/crypto/payloads/ValueTransferPayload.d.ts.map +1 -1
  32. package/dist/src/lib/crypto/payloads/ValueTransferPayload.js +46 -48
  33. package/dist/src/lib/crypto/payloads.d.ts +5 -5
  34. package/dist/src/lib/crypto/payloads.d.ts.map +1 -1
  35. package/dist/src/lib/crypto/payloads.js +44 -45
  36. package/dist/src/lib/crypto/signer.d.ts +3 -3
  37. package/dist/src/lib/crypto/signer.d.ts.map +1 -1
  38. package/dist/src/lib/crypto/signer.js +45 -88
  39. package/dist/src/lib/crypto/transmitters/DataRequests.d.ts +6 -6
  40. package/dist/src/lib/crypto/transmitters/DataRequests.d.ts.map +1 -1
  41. package/dist/src/lib/crypto/transmitters/DataRequests.js +6 -10
  42. package/dist/src/lib/crypto/transmitters/StakeDeposits.d.ts +5 -5
  43. package/dist/src/lib/crypto/transmitters/StakeDeposits.d.ts.map +1 -1
  44. package/dist/src/lib/crypto/transmitters/StakeDeposits.js +7 -11
  45. package/dist/src/lib/crypto/transmitters/StakeWithdrawals.d.ts +6 -7
  46. package/dist/src/lib/crypto/transmitters/StakeWithdrawals.d.ts.map +1 -1
  47. package/dist/src/lib/crypto/transmitters/StakeWithdrawals.js +9 -13
  48. package/dist/src/lib/crypto/transmitters/ValueTransfers.d.ts +5 -5
  49. package/dist/src/lib/crypto/transmitters/ValueTransfers.d.ts.map +1 -1
  50. package/dist/src/lib/crypto/transmitters/ValueTransfers.js +6 -10
  51. package/dist/src/lib/crypto/transmitters.d.ts +6 -6
  52. package/dist/src/lib/crypto/transmitters.d.ts.map +1 -1
  53. package/dist/src/lib/crypto/transmitters.js +88 -76
  54. package/dist/src/lib/crypto/types.d.ts +1 -2
  55. package/dist/src/lib/crypto/types.d.ts.map +1 -1
  56. package/dist/src/lib/crypto/types.js +71 -67
  57. package/dist/src/lib/crypto/utils.d.ts +5 -5
  58. package/dist/src/lib/crypto/utils.d.ts.map +1 -1
  59. package/dist/src/lib/crypto/utils.js +48 -66
  60. package/dist/src/lib/crypto/wallet.d.ts +3 -3
  61. package/dist/src/lib/crypto/wallet.d.ts.map +1 -1
  62. package/dist/src/lib/crypto/wallet.js +72 -89
  63. package/dist/src/lib/index.d.ts +5 -4
  64. package/dist/src/lib/index.d.ts.map +1 -1
  65. package/dist/src/lib/index.js +6 -44
  66. package/dist/src/lib/radon/ccdr/eth.d.ts +1 -1
  67. package/dist/src/lib/radon/ccdr/eth.d.ts.map +1 -1
  68. package/dist/src/lib/radon/ccdr/eth.js +95 -83
  69. package/dist/src/lib/radon/ccdr/index.d.ts +2 -2
  70. package/dist/src/lib/radon/ccdr/index.d.ts.map +1 -1
  71. package/dist/src/lib/radon/ccdr/index.js +3 -39
  72. package/dist/src/lib/radon/ccdr/wit.d.ts +2 -2
  73. package/dist/src/lib/radon/ccdr/wit.d.ts.map +1 -1
  74. package/dist/src/lib/radon/ccdr/wit.js +17 -19
  75. package/dist/src/lib/radon/filters.d.ts.map +1 -1
  76. package/dist/src/lib/radon/filters.js +23 -19
  77. package/dist/src/lib/radon/index.d.ts +10 -11
  78. package/dist/src/lib/radon/index.d.ts.map +1 -1
  79. package/dist/src/lib/radon/index.js +205 -187
  80. package/dist/src/lib/radon/reducers.d.ts +2 -2
  81. package/dist/src/lib/radon/reducers.d.ts.map +1 -1
  82. package/dist/src/lib/radon/reducers.js +48 -34
  83. package/dist/src/lib/radon/types.d.ts +2 -2
  84. package/dist/src/lib/radon/types.d.ts.map +1 -1
  85. package/dist/src/lib/radon/types.js +80 -110
  86. package/dist/src/lib/radon/utils.d.ts +3 -3
  87. package/dist/src/lib/radon/utils.d.ts.map +1 -1
  88. package/dist/src/lib/radon/utils.js +49 -52
  89. package/dist/src/lib/rest/kermit.d.ts +20 -0
  90. package/dist/src/lib/rest/kermit.d.ts.map +1 -0
  91. package/dist/src/lib/rest/kermit.js +68 -0
  92. package/dist/src/lib/rest/types.d.ts +5 -0
  93. package/dist/src/lib/rest/types.d.ts.map +1 -0
  94. package/dist/src/lib/rest/types.js +2 -0
  95. package/dist/src/lib/rpc/index.d.ts +2 -2
  96. package/dist/src/lib/rpc/index.d.ts.map +1 -1
  97. package/dist/src/lib/rpc/index.js +3 -19
  98. package/dist/src/lib/rpc/nodes.d.ts +13 -13
  99. package/dist/src/lib/rpc/nodes.d.ts.map +1 -1
  100. package/dist/src/lib/rpc/nodes.js +69 -98
  101. package/dist/src/lib/rpc/provider.d.ts +4 -4
  102. package/dist/src/lib/rpc/provider.d.ts.map +1 -1
  103. package/dist/src/lib/rpc/provider.js +111 -125
  104. package/dist/src/lib/rpc/types.d.ts +2 -2
  105. package/dist/src/lib/rpc/types.d.ts.map +1 -1
  106. package/dist/src/lib/rpc/types.js +13 -16
  107. package/dist/src/lib/types.d.ts +5 -4
  108. package/dist/src/lib/types.d.ts.map +1 -1
  109. package/dist/src/lib/types.js +3 -9
  110. package/dist/src/lib/utils.d.ts +5 -5
  111. package/dist/src/lib/utils.d.ts.map +1 -1
  112. package/dist/src/lib/utils.js +40 -99
  113. package/dist/witnet/assets/index.cjs +6 -0
  114. package/dist/witnet/assets/index.d.cts +29 -0
  115. package/dist/witnet/assets/index.d.cts.map +1 -0
  116. package/dist/witnet/assets/modals/index.cjs +9 -0
  117. package/dist/witnet/assets/modals/index.d.cts +16 -0
  118. package/dist/witnet/assets/modals/index.d.cts.map +1 -0
  119. package/dist/witnet/assets/modals/web3/eth.cjs +23 -0
  120. package/dist/witnet/assets/modals/web3/eth.d.cts +4 -0
  121. package/dist/witnet/assets/modals/web3/eth.d.cts.map +1 -0
  122. package/dist/witnet/assets/modals/web3/ipfs.cjs +18 -0
  123. package/dist/witnet/assets/modals/web3/ipfs.d.cts +3 -0
  124. package/dist/witnet/assets/modals/web3/ipfs.d.cts.map +1 -0
  125. package/dist/witnet/assets/modals/web3/wit.cjs +24 -0
  126. package/dist/witnet/assets/modals/web3/wit.d.cts +3 -0
  127. package/dist/witnet/assets/modals/web3/wit.d.cts.map +1 -0
  128. package/dist/witnet/assets/requests.cjs +43 -0
  129. package/dist/witnet/assets/requests.d.cts +10 -0
  130. package/dist/witnet/assets/requests.d.cts.map +1 -0
  131. package/package.json +31 -24
  132. package/src/bin/bots/watcher.cjs +354 -0
  133. package/src/bin/cli/history.cjs +31 -0
  134. package/src/bin/cli/inspect.js +545 -471
  135. package/src/bin/cli/network.js +658 -557
  136. package/src/bin/cli/nodes.js +392 -332
  137. package/src/bin/cli/radon.js +1071 -844
  138. package/src/bin/cli/wallet.js +1317 -1074
  139. package/src/bin/helpers.js +969 -868
  140. package/src/bin/index.js +329 -0
  141. package/witnet/assets/_index.cjs +5 -0
  142. package/witnet/assets/_requests.cjs +25 -0
  143. package/witnet/assets/_sources.cjs +36 -0
  144. package/witnet/assets/_templates.cjs +36 -0
  145. package/witnet/assets/index.cjs +4 -0
  146. package/witnet/assets/modals/index.cjs +7 -0
  147. package/witnet/assets/modals/web3/eth.cjs +27 -0
  148. package/witnet/assets/modals/web3/ipfs.cjs +22 -0
  149. package/witnet/assets/modals/web3/wit.cjs +28 -0
  150. package/witnet/assets/requests.cjs +49 -0
  151. package/witnet/witnet copy.proto +457 -0
  152. package/witnet/witnet.proto +456 -0
  153. package/witnet/witnet_toolkit-1.6.7-x86_64-pc-windows-msvc.exe +0 -0
  154. package/witnet/witnet_toolkit-1.7.1-x86_64-pc-windows-msvc.exe +0 -0
  155. package/witnet/witnet_toolkit-2.0.0-rc.7-x86_64-pc-windows-msvc.exe +0 -0
  156. package/witnet/witnet_toolkit-2.0.2-x86_64-pc-windows-msvc.exe +0 -0
  157. package/witnet/witnet_toolkit-2.0.21-x86_64-pc-windows-msvc.exe +0 -0
  158. package/witnet/witnet_toolkit-2.0.7-x86_64-pc-windows-msvc.exe +0 -0
  159. package/witnet/witnet_toolkit-2.0.8-x86_64-pc-windows-msvc.exe +0 -0
  160. package/dist/witnet/assets/index.d.ts +0 -29
  161. package/dist/witnet/assets/index.d.ts.map +0 -1
  162. package/dist/witnet/assets/index.js +0 -6
  163. package/dist/witnet/assets/modals/index.d.ts +0 -16
  164. package/dist/witnet/assets/modals/index.d.ts.map +0 -1
  165. package/dist/witnet/assets/modals/index.js +0 -11
  166. package/dist/witnet/assets/modals/web3/eth.d.ts +0 -5
  167. package/dist/witnet/assets/modals/web3/eth.d.ts.map +0 -1
  168. package/dist/witnet/assets/modals/web3/eth.js +0 -26
  169. package/dist/witnet/assets/modals/web3/ipfs.d.ts +0 -4
  170. package/dist/witnet/assets/modals/web3/ipfs.d.ts.map +0 -1
  171. package/dist/witnet/assets/modals/web3/ipfs.js +0 -18
  172. package/dist/witnet/assets/modals/web3/wit.d.ts +0 -4
  173. package/dist/witnet/assets/modals/web3/wit.d.ts.map +0 -1
  174. package/dist/witnet/assets/modals/web3/wit.js +0 -17
  175. package/dist/witnet/assets/requests.d.ts +0 -11
  176. package/dist/witnet/assets/requests.d.ts.map +0 -1
  177. package/dist/witnet/assets/requests.js +0 -43
  178. package/src/bin/cli/history.js +0 -31
  179. package/src/bin/postinstall.js +0 -9
  180. package/src/bin/toolkit.js +0 -290
  181. package/witnet/assets/_index.js +0 -8
  182. package/witnet/assets/_requests.js +0 -25
  183. package/witnet/assets/_sources.js +0 -36
  184. package/witnet/assets/_templates.js +0 -36
  185. package/witnet/assets/index.js +0 -4
  186. package/witnet/assets/modals/index.js +0 -9
  187. package/witnet/assets/modals/web3/eth.js +0 -29
  188. package/witnet/assets/modals/web3/ipfs.js +0 -22
  189. package/witnet/assets/modals/web3/wit.js +0 -21
  190. package/witnet/assets/requests.js +0 -49
  191. /package/witnet/assets/modals/web3/{btc.js → btc.cjs} +0 -0
  192. /package/witnet/assets/modals/web3/{sol.js → sol.cjs} +0 -0
@@ -1,53 +1,19 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.Wallet = void 0;
40
- const utils = __importStar(require("./utils"));
41
- const bip32_1 = __importDefault(require("bip32"));
42
- const ecc = __importStar(require("@bitcoinerlab/secp256k1"));
43
- const bip32 = (0, bip32_1.default)(ecc);
44
- const rpc_1 = require("../rpc");
45
- const types_1 = require("../types");
46
- const account_1 = require("./account");
47
- const coinbase_1 = require("./coinbase");
48
- const types_2 = require("./types");
1
+ import * as ecc from "@bitcoinerlab/secp256k1";
2
+ import { BIP32Factory } from "bip32";
3
+ import * as utils from "./utils.js";
4
+ const bip32 = BIP32Factory(ecc);
5
+ import { JsonRpcProvider } from "../rpc/index.js";
6
+ import { StakesOrderBy, } from "../types.js";
7
+ import { Account } from "./account.js";
8
+ import { Coinbase } from "./coinbase.js";
9
+ import { UtxoSelectionStrategy, } from "./types.js";
49
10
  const DEFAULT_GAP = 20;
50
- class Wallet {
11
+ export class Wallet {
12
+ root;
13
+ _accounts = [];
14
+ coinbase;
15
+ provider;
16
+ strategy;
51
17
  /**
52
18
  * Create a Wallet by reading the XPRV master key from the WITNET_SDK_WALLET_MASTER_KEY environment variable.
53
19
  * @param specs Wallet creation parameters.
@@ -73,7 +39,7 @@ class Wallet {
73
39
  static async fromXprv(xprv, options) {
74
40
  const { chainCode, privateKey } = utils.parseXprv(xprv);
75
41
  const root = bip32.fromPrivateKey(Buffer.from(privateKey), Buffer.from(chainCode));
76
- const provider = options?.provider || (await rpc_1.JsonRpcProvider.fromEnv());
42
+ const provider = options?.provider || (await JsonRpcProvider.fromEnv());
77
43
  await provider.constants();
78
44
  const wallet = new Wallet(root, provider, options?.strategy);
79
45
  if (options?.onlyWithFunds) {
@@ -96,19 +62,22 @@ class Wallet {
96
62
  return Wallet.fromXprv(utils.decipherXprv(xprv, passwd), options);
97
63
  }
98
64
  constructor(root, provider, strategy) {
99
- this._accounts = [];
100
65
  this.provider = provider;
101
- this.coinbase = new coinbase_1.Coinbase(root, provider, strategy);
66
+ this.coinbase = new Coinbase(root, provider, strategy);
102
67
  this.root = root;
103
- this.strategy = strategy || types_2.UtxoSelectionStrategy.SmallFirst;
68
+ this.strategy = strategy || UtxoSelectionStrategy.SmallFirst;
104
69
  this.deriveAccounts(1);
105
70
  }
106
71
  get accounts() {
107
72
  return this._accounts;
108
73
  }
109
74
  get cacheInfo() {
110
- const info = { expendable: 0n, size: 0, timelock: Number.MAX_SAFE_INTEGER };
111
- this.accounts?.forEach(account => {
75
+ const info = {
76
+ expendable: 0n,
77
+ size: 0,
78
+ timelock: Number.MAX_SAFE_INTEGER,
79
+ };
80
+ this.accounts?.forEach((account) => {
112
81
  const accountInfo = account.cacheInfo;
113
82
  info.expendable += accountInfo.expendable;
114
83
  info.size += accountInfo.size;
@@ -121,7 +90,9 @@ class Wallet {
121
90
  return info;
122
91
  }
123
92
  get changePkh() {
124
- return this.accounts.length > 0 ? this.accounts[0].changePkh : this.coinbase.pkh;
93
+ return this.accounts.length > 0
94
+ ? this.accounts[0].changePkh
95
+ : this.coinbase.pkh;
125
96
  }
126
97
  get network() {
127
98
  return this.provider.network;
@@ -130,44 +101,45 @@ class Wallet {
130
101
  return this.accounts.length > 0 ? this.accounts[0].pkh : this.coinbase.pkh;
131
102
  }
132
103
  get publicKey() {
133
- return this.accounts.length > 0 ? this.accounts[0].publicKey : this.coinbase.publicKey;
104
+ return this.accounts.length > 0
105
+ ? this.accounts[0].publicKey
106
+ : this.coinbase.publicKey;
134
107
  }
135
108
  get privateKey() {
136
- return this.accounts.length > 0 ? this.accounts[0].privateKey : this.coinbase.privateKey;
109
+ return this.accounts.length > 0
110
+ ? this.accounts[0].privateKey
111
+ : this.coinbase.privateKey;
137
112
  }
138
113
  authorizeEvmAddress(evmAddress) {
139
- return this.accounts.length > 0 ? this.accounts[0].authorizeEvmAddress(evmAddress) : this.coinbase.authorizeEvmAddress(evmAddress);
114
+ return this.accounts.length > 0
115
+ ? this.accounts[0].authorizeEvmAddress(evmAddress)
116
+ : this.coinbase.authorizeEvmAddress(evmAddress);
140
117
  }
141
118
  addUtxos(...utxos) {
142
119
  const included = [];
143
- this.accounts.forEach(account => {
120
+ this.accounts.forEach((account) => {
144
121
  const _utxos = account.addUtxos(...utxos);
145
122
  utxos = _utxos.excluded;
146
123
  included.push(..._utxos.included);
147
124
  });
148
125
  return {
149
126
  excluded: utxos,
150
- included
127
+ included,
151
128
  };
152
129
  }
153
130
  consumeUtxos(...utxos) {
154
- this.accounts.forEach(account => {
131
+ this.accounts.forEach((account) => {
155
132
  utxos = account.consumeUtxos(...utxos);
156
133
  });
157
134
  return utxos;
158
135
  }
159
136
  async getBalance() {
160
137
  if (this._accounts.length > 0) {
161
- return Promise
162
- .all(this._accounts.map(async (acc) => {
138
+ return Promise.all(this._accounts.map(async (acc) => {
163
139
  const balance = await acc.getBalance();
164
- // console.log(acc.index, acc.pkh, balance.unlocked);
165
140
  return balance;
166
- }))
167
- .then((balances) => {
141
+ })).then((balances) => {
168
142
  return balances.reduce((prev, curr) => {
169
- // console.log("\nprev =>", prev.unlocked)
170
- // console.log("curr =>", curr.unlocked)
171
143
  return {
172
144
  locked: prev.locked + curr.locked,
173
145
  staked: prev.staked + curr.staked,
@@ -182,42 +154,54 @@ class Wallet {
182
154
  }
183
155
  async getDelegatees(order, leftJoin = true) {
184
156
  const records = [];
185
- records.push(...await this.coinbase.getDelegatees(order));
186
- await Promise.all(this._accounts.map(account => account.getDelegatees(order, leftJoin).then(entries => records.push(...entries))));
157
+ records.push(...(await this.coinbase.getDelegatees(order)));
158
+ await Promise.all(this._accounts.map((account) => account
159
+ .getDelegatees(order, leftJoin)
160
+ .then((entries) => records.push(...entries))));
187
161
  if (order) {
188
- const reverse = order?.reverse ? (+1) : (-1);
162
+ const reverse = order?.reverse ? +1 : -1;
189
163
  return records.sort((a, b) => {
190
164
  switch (order.by) {
191
- case types_1.StakesOrderBy.Coins: return ((a.value.coins < b.value.coins) ? 1 : ((a.value.coins > b.value.coins) ? -1 : 0)) * reverse;
192
- case types_1.StakesOrderBy.Mining: return (b.value.epochs.mining - a.value.epochs.mining) * reverse;
193
- case types_1.StakesOrderBy.Witnessing: return (b.value.epochs.witnessing - a.value.epochs.witnessing) * reverse;
194
- case types_1.StakesOrderBy.Nonce: return (b.value.nonce - a.value.nonce) * reverse;
165
+ case StakesOrderBy.Coins:
166
+ return ((a.value.coins < b.value.coins
167
+ ? 1
168
+ : a.value.coins > b.value.coins
169
+ ? -1
170
+ : 0) * reverse);
171
+ case StakesOrderBy.Mining:
172
+ return (b.value.epochs.mining - a.value.epochs.mining) * reverse;
173
+ case StakesOrderBy.Witnessing:
174
+ return ((b.value.epochs.witnessing - a.value.epochs.witnessing) * reverse);
175
+ case StakesOrderBy.Nonce:
176
+ return (b.value.nonce - a.value.nonce) * reverse;
195
177
  }
196
178
  });
197
179
  }
198
180
  return records;
199
181
  }
200
182
  async getUtxos(reload) {
201
- return Promise
202
- .all(this.accounts.map(account => account.getUtxos(reload)))
203
- .then(async (utxoss) => {
183
+ return Promise.all(this.accounts.map((account) => account.getUtxos(reload))).then(async (utxoss) => {
204
184
  // utxoss.push(await this.coinbase.getUtxos(reload))
205
185
  return utxoss.flat();
206
186
  });
207
187
  }
208
188
  async selectUtxos(specs) {
209
- return this
210
- .getUtxos(specs?.reload)
211
- .then(utxos => utils.selectUtxos({ utxos, value: specs?.value, strategy: specs?.strategy || this.strategy }));
189
+ return this.getUtxos(specs?.reload).then((utxos) => utils.selectUtxos({
190
+ utxos,
191
+ value: specs?.value,
192
+ strategy: specs?.strategy || this.strategy,
193
+ }));
212
194
  }
213
195
  // ================================================================================================================
214
196
  // --- IWallet ----------------------------------------------------------------------------------------------------
215
197
  deriveAccounts(limit) {
216
198
  if (limit > this._accounts.length) {
217
- const startIndex = this._accounts.length > 0 ? this.accounts[this.accounts.length - 1].index + 1 : 0;
199
+ const startIndex = this._accounts.length > 0
200
+ ? this.accounts[this.accounts.length - 1].index + 1
201
+ : 0;
218
202
  limit = limit - this._accounts.length;
219
203
  for (let ix = 0; ix < limit; ix++) {
220
- this._accounts.push(new account_1.Account(this.root, this.provider, startIndex + ix, this.strategy));
204
+ this._accounts.push(new Account(this.root, this.provider, startIndex + ix, this.strategy));
221
205
  }
222
206
  }
223
207
  return this._accounts;
@@ -227,7 +211,7 @@ class Wallet {
227
211
  const lastIndex = (x) => Number(x.length > 0 ? x[x.length - 1].index + 1 : 0);
228
212
  const startIndex = lastIndex(this.accounts);
229
213
  for (let index = startIndex; index < lastIndex(this.accounts) + Number(gap); index++) {
230
- const account = new account_1.Account(this.root, this.provider, index, this.strategy);
214
+ const account = new Account(this.root, this.provider, index, this.strategy);
231
215
  if (utils.totalCoins(await account.getBalance()).pedros > 0n) {
232
216
  this.accounts.push(account);
233
217
  if (limit && this.accounts.length >= limit)
@@ -238,10 +222,10 @@ class Wallet {
238
222
  return this._accounts;
239
223
  }
240
224
  getAccount(pkh, gap) {
241
- let account = this._accounts.find(account => account.internal.pkh === pkh || account.pkh === pkh);
225
+ let account = this._accounts.find((account) => account.internal.pkh === pkh || account.pkh === pkh);
242
226
  if (!account) {
243
227
  for (let index = 0; index < (gap || DEFAULT_GAP); index++) {
244
- account = new account_1.Account(this.root, this.provider, index, this.strategy);
228
+ account = new Account(this.root, this.provider, index, this.strategy);
245
229
  if (account.pkh === pkh || account.internal.pkh === pkh) {
246
230
  this._accounts.push(account);
247
231
  return account;
@@ -260,5 +244,4 @@ class Wallet {
260
244
  return account?.getSigner(pkh) || this.coinbase.getSigner(pkh);
261
245
  }
262
246
  }
263
- exports.Wallet = Wallet;
264
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jcnlwdG8vd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFnQztBQUVoQyxrREFBaUM7QUFDakMsNkRBQStDO0FBQy9DLE1BQU0sS0FBSyxHQUFHLElBQUEsZUFBWSxFQUFDLEdBQUcsQ0FBQyxDQUFDO0FBRWhDLGdDQUF3QztBQUN4QyxvQ0FBbUc7QUFDbkcsdUNBQW1DO0FBQ25DLHlDQUFxQztBQUVyQyxtQ0FBMkc7QUFFM0csTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO0FBRXZCLE1BQWEsTUFBTTtJQVNmOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BeUJwQjtRQUNHLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUE7UUFDckQsSUFBSSxDQUFDLElBQUk7WUFBRSxNQUFNLEtBQUssQ0FBQywwREFBMEQsQ0FBQyxDQUFBO1FBQ2xGLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07Z0JBQUUsTUFBTSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQTtZQUN0RixPQUFPLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUNuRSxDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDekMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQ2pCLElBQVksRUFDWixPQXFCQztRQUVELE1BQU0sRUFBRSxTQUFT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Q0FBQztZQUNMLENBQUM7WUFDRCxPQUFPLFNBQVMsQ0FBQTtRQUNwQixDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sT0FBTyxDQUFBO1FBQ2xCLENBQUM7SUFDTCxDQUFDO0lBRU0sU0FBUyxDQUFDLEdBQXlCLEVBQUUsR0FBWTtRQUNwRCxJQUFJLENBQUMsR0FBRztZQUFFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQTtRQUN6QyxPQUFPLE9BQU8sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDbEUsQ0FBQztDQUNKO0FBMVRELHdCQTBUQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0aWxzIGZyb20gXCIuL3V0aWxzXCJcclxuXHJcbmltcG9ydCBCSVAzMkZhY3RvcnkgZnJvbSAnYmlwMzInO1xyXG5pbXBvcnQgKiBhcyBlY2MgZnJvbSAnQGJpdGNvaW5lcmxhYi9zZWNwMjU2azEnO1xyXG5jb25zdCBiaXAzMiA9IEJJUDMyRmFjdG9yeShlY2MpO1xyXG5cclxuaW1wb3J0IHsgSnNvblJwY1Byb3ZpZGVyIH0gZnJvbSBcIi4uL3JwY1wiXHJcbmltcG9ydCB7IEJhbGFuY2UsIEhleFN0cmluZywgTmV0d29yaywgUXVlcnlTdGFrZXNPcmRlciwgU3Rha2VFbnRyeSwgU3Rha2VzT3JkZXJCeSB9IGZyb20gXCIuLi90eXBlc1wiXHJcbmltcG9ydCB7IEFjY291bnQgfSBmcm9tIFwiLi9hY2NvdW50XCJcclxuaW1wb3J0IHsgQ29pbmJhc2UgfSBmcm9tIFwiLi9jb2luYmFzZVwiXHJcbmltcG9ydCB7IElBY2NvdW50LCBJQklQMzIsIElDb2luYmFzZSwgSUpzb25ScGNQcm92aWRlciwgSVNpZ25lciwgSVdhbGxldCB9IGZyb20gXCIuL2ludGVyZmFjZXNcIlxyXG5pbXBvcnQgeyBDb2lucywgUHVibGljS2V5LCBQdWJsaWNLZXlIYXNoU3RyaW5nLCBVdHhvLCBVdHhvQ2FjaGVJbmZvLCBVdHhvU2VsZWN0aW9uU3RyYXRlZ3kgfSBmcm9tIFwiLi90eXBlc1wiXHJcblxyXG5jb25zdCBERUZBVUxUX0dBUCA9IDIwO1xyXG5cclxuZXhwb3J0IGNsYXNzIFdhbGxldCBpbXBsZW1lbnRzIElXYWxsZXQge1xyXG4gICAgcHJvdGVjdGVkIHJvb3Q6IElCSVAzMjtcclxuICAgIFxyXG4gICAgcHJvdGVjdGVkIF9hY2NvdW50czogQXJyYXk8SUFjY291bnQ+ID0gW107XHJcblxyXG4gICAgcHVibGljIHJlYWRvbmx5IGNvaW5iYXNlOiBJQ29pbmJhc2U7XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgcHJvdmlkZXI6IElKc29uUnBjUHJvdmlkZXI7XHJcbiAgICBwdWJsaWMgc3RyYXRlZ3k6IFV0eG9TZWxlY3Rpb25TdHJhdGVneTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENyZWF0ZSBhIFdhbGxldCBieSByZWFkaW5nIHRoZSBYUFJWIG1hc3RlciBrZXkgZnJvbSB0aGUgV0lUTkVUX1NES19XQUxMRVRfTUFTVEVSX0tFWSBlbnZpcm9ubWVudCB2YXJpYWJsZS5cclxuICAgICAqIEBwYXJhbSBzcGVjcyBXYWxsZXQgY3JlYXRpb24gcGFyYW1ldGVycy5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGFzeW5jIGZyb21FbnYob3B0aW9uczoge1xyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIFBhc3N3b3JkIHRvIGRlY3J5cHQgdGhlIFhQUlYgbWFzdGVyIGtleSByZWFkIGZyb20gZW52aXJvbm1lbnQsIGluIGNhc2UgaXQncyBlbmNyeXB0ZWQuXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgcGFzc3dkPzogc3RyaW5nLFxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIE51bWJlciBvZiBjb25zZWN1dGl2ZSBhY2NvdW50cyB3aXRoIG5vIGZ1bmRzIGJlZm9yZSBzdG9wcGluZyBkZXJpdmF0aW9uIG9mIG5ldyBXYWxsZXQgYWNjb3VudHMuXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgZ2FwPzogbnVtYmVyLFxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIE1heGltdW0gbnVtYmVyIG9mIGFjY291bnRzIHRvIGRlcml2ZS4gXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgbGltaXQ/OiBudW1iZXIsXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogU3BlY2lmaWMgV2l0L1JQQyBwcm92aWRlciB0byB1c2UgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIFdpdG5ldCBuZXR3b3JrLlxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHByb3ZpZGVyPzogSUpzb25ScGNQcm92aWRlciwgXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogVVRYTyBzZWxlY3Rpb24gc3RyYXRlZ3kgd2hlbiBidWlsZGluZyB0cmFuc2FjdGlvbnMgb3V0IG9mIHRoaXMgd2FsbGV0IChkZWZhdWx0OiBVdHhvU2VsZWN0aW9uU3RyYXRlZ3kuU21hbGxGaXJzdCkuXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgc3RyYXRlZ3k/OiBVdHhvU2VsZWN0aW9uU3RyYXRlZ3ksIFxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIE9ubHkgZGVyaXZlIGFjY291bnRzIHRoYXQgaG9sZCBzb21lIHVubG9ja2VkIGJhbGFuY2Ugb2YgJFdJVC5cclxuICAgICAgICAgKi9cclxuICAgICAgICBvbmx5V2l0aEZ1bmRzPzogYm9vbGVhbixcclxuICAgIH0pOiBQcm9taXNlPFdhbGxldD4ge1xyXG4gICAgICAgIGNvbnN0IHhwcnYgPSBwcm9jZXNzLmVudi5XSVRORVRfU0RLX1dBTExFVF9NQVNURVJfS0VZXHJcbiAgICAgICAgaWYgKCF4cHJ2KSB0aHJvdyBFcnJvcihgV0lUTkVUX1NES19XQUxMRVRfTUFTVEVSX0tFWSBtdXN0IGJlIHNldCBvbiBlbnZpcm9ubWVudC5gKVxyXG4gICAgICAgIGlmICh4cHJ2Lmxlbmd0aCA+IDExNykge1xyXG4gICAgICAgICAgICBpZiAoIW9wdGlvbnMucGFzc3dkKSB0aHJvdyBFcnJvcihgTWlzc2luZyBwYXNzd29yZCBmb3IgV0lUTkVUX1NES19XQUxMRVRfTUFTVEVSX0tFWS5gKVxyXG4gICAgICAgICAgICByZXR1cm4gV2FsbGV0LmZyb21FbmNyeXB0ZWRYcHJ2KHhwcnYsIG9wdGlvbnM/LnBhc3N3ZCwgb3B0aW9ucylcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gV2FsbGV0LmZyb21YcHJ2KHhwcnYsIG9wdGlvbnMpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIENyZWF0ZSBhIFdhbGxldCBieSB1c2luZyBwYXNzZWQgWFBSViBtYXN0ZXIga2V5LlxyXG4gICAgICogQHBhcmFtIHhwcnYgRGVjcnlwdGVkIFhQUlYgbWFzdGVyIGtleSBzdHJpbmcuXHJcbiAgICAgKiBAcGFyYW0gb3B0aW9ucyBXYWxsZXQgY3JlYXRpb24gcGFyYW1ldGVycy5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGFzeW5jIGZyb21YcHJ2KFxyXG4gICAgICAgIHhwcnY6IHN0cmluZyxcclxuICAgICAgICBvcHRpb25zPzoge1xyXG4gICAgICAgICAgICAvKipcclxuICAgICAgICAgICAgICogTnVtYmVyIG9mIGNvbnNlY3V0aXZlIGFjY291bnRzIHdpdGggbm8gZnVuZHMgYmVmb3JlIHN0b3BwaW5nIGRlcml2YXRpb24gb2YgbmV3IFdhbGxldCBhY2NvdW50cy5cclxuICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgIGdhcD86IG51bWJlcixcclxuICAgICAgICAgICAgLyoqXHJcbiAgICAgICAgICAgICAqIE1heGltdW0gbnVtYmVyIG9mIGFjY291bnRzIHRvIGRlcml2ZS4gXHJcbiAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICBsaW1pdD86IG51bWJlcixcclxuICAgICAgICAgICAgLyoqXHJcbiAgICAgICAgICAgICAqIFNwZWNpZmljIFdpdC9SUEMgcHJvdmlkZXIgdG8gdXNlIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBXaXRuZXQgbmV0d29yay5cclxuICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgIHByb3ZpZGVyPzogSUpzb25ScGNQcm92aWRlciwgXHJcbiAgICAgICAgICAgIC8qKlxyXG4gICAgICAgICAgICAgKiBVVFhPIHNlbGVjdGlvbiBzdHJhdGVneSB3aGVuIGJ1aWxkaW5nIHRyYW5zYWN0aW9ucyBvdXQgb2YgdGhpcyB3YWxsZXQgKGRlZmF1bHQ6IFV0eG9TZWxlY3Rpb25TdHJhdGVneS5TbWFsbEZpcnN0KS5cclxuICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgIHN0cmF0ZWd5PzogVXR4b1NlbGVjdGlvblN0cmF0ZWd5LCBcclxuICAgICAgICAgICAgLyoqXHJcbiAgICAgICAgICAgICAqIE9ubHkgZGVyaXZlIGFjY291bnRzIGhvbGRpbmcgc29tZSAkV0lUIGZ1bmRzIChlaXRoZXIgbG9ja2VkLCBzdGFrZWQgb3IgdW5sb2NrZWQpLlxyXG4gICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgb25seVdpdGhGdW5kcz86IGJvb2xlYW4sXHJcbiAgICAgICAgfVxyXG4gICAgKTogUHJvbWlzZTxXYWxsZXQ+IHtcclxuICAgICAgICBjb25zdCB7IGNoYWluQ29kZSwgcHJpdmF0ZUtleSB9ID0gdXRpbHMucGFyc2VYcHJ2KHhwcnYpO1xyXG4gICAgICAgIGNvbnN0IHJvb3QgPSBiaXAzMi5mcm9tUHJpdmF0ZUtleShCdWZmZXIuZnJvbShwcml2YXRlS2V5KSwgQnVmZmVyLmZyb20oY2hhaW5Db2RlKSk7XHJcbiAgICAgICAgY29uc3QgcHJvdmlkZXIgPSBvcHRpb25zPy5wcm92aWRlciB8fCAoYXdhaXQgSnNvblJwY1Byb3ZpZGVyLmZyb21FbnYoKSlcclxuICAgICAgICBhd2FpdCBwcm92aWRlci5jb25zdGFudHMoKVxyXG4gICAgICAgIGNvbnN0IHdhbGxldCA9IG5ldyBXYWxsZXQocm9vdCwgcHJvdmlkZXIsIG9wdGlvbnM/LnN0cmF0ZWd5KVxyXG4gICAgICAgIGlmIChvcHRpb25zPy5vbmx5V2l0aEZ1bmRzKSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHdhbGxldC5leHBsb3JlQWNjb3VudHMob3B0aW9ucz8ubGltaXQgfHwgMCwgb3B0aW9ucz8uZ2FwKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHdhbGxldC5kZXJpdmVBY2NvdW50cyhvcHRpb25zPy5saW1pdCB8fCAxKVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBsb2FkIHVwIHV0eG9zIGNhY2hlXHJcbiAgICAgICAgYXdhaXQgd2FsbGV0LmdldFV0eG9zKHRydWUpXHJcbiAgICAgICAgcmV0dXJuIHdhbGxldFxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3JlYXRlIGEgV2FsbGV0IGJ5IHVzaW5nIHBhc3NlZCBYUFJWIG1hc3RlciBrZXkuXHJcbiAgICAgKiBAcGFyYW0geHBydiBFbmNyeXB0ZWQgWFBSViBtYXN0ZXIga2V5IHN0cmluZy5cclxuICAgICAqIEBwYXJhbSBwYXNzd2QgUGFzc3dvcmQgdG8gZGVjaXBoZXIgdGhlIFhQUlYgbWFzdGVyIGtleS5cclxuICAgICAqIEBwYXJhbSBvcHRpb25zIFdhbGxldCBjcmVhdGlvbiBwYXJhbWV0ZXJzLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgYXN5bmMgZnJvbUVuY3J5cHRlZFhwcnYoXHJcbiAgICAgICAgeHBydjogc3RyaW5nLFxyXG4gICAgICAgIHBhc3N3ZDogc3RyaW5nLFxyXG4gICAgICAgIG9wdGlvbnM/OiB7XHJcbiAgICAgICAgICAgIC8qKlxyXG4gICAgICAgICAgICAgKiBOdW1iZXIgb2YgY29uc2VjdXRpdmUgYWNjb3VudHMgd2l0aCBubyBmdW5kcyBiZWZvcmUgc3RvcHBpbmcgZGVyaXZhdGlvbiBvZiBuZXcgV2FsbGV0IGFjY291bnRzLlxyXG4gICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgZ2FwPzogbnVtYmVyLFxyXG4gICAgICAgICAgICAvKipcclxuICAgICAgICAgICAgICogTWF4aW11bSBudW1iZXIgb2YgYWNjb3VudHMgdG8gZGVyaXZlLiBcclxuICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgIGxpbWl0PzogbnVtYmVyLFxyXG4gICAgICAgICAgICAvKipcclxuICAgICAgICAgICAgICogU3BlY2lmaWMgV2l0L1JQQyBwcm92aWRlciB0byB1c2UgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIFdpdG5ldCBuZXR3b3JrLlxyXG4gICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgcHJvdmlkZXI/OiBJSnNvblJwY1Byb3ZpZGVyLCBcclxuICAgICAgICAgICAgLyoqXHJcbiAgICAgICAgICAgICAqIFVUWE8gc2VsZWN0aW9uIHN0cmF0ZWd5IHdoZW4gYnVpbGRpbmcgdHJhbnNhY3Rpb25zIG91dCBvZiB0aGlzIHdhbGxldCAoZGVmYXVsdDogVXR4b1NlbGVjdGlvblN0cmF0ZWd5LlNtYWxsRmlyc3QpLlxyXG4gICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgc3RyYXRlZ3k/OiBVdHhvU2VsZWN0aW9uU3RyYXRlZ3ksIFxyXG4gICAgICAgICAgICAvKipcclxuICAgICAgICAgICAgICogT25seSBkZXJpdmUgYWNjb3VudHMgaG9sZGluZyBzb21lICRXSVQgZnVuZHMgKGVpdGhlciBsb2NrZWQsIHN0YWtlZCBvciB1bmxvY2tlZCkuXHJcbiAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICBvbmx5V2l0aEZ1bmRzPzogYm9vbGVhbixcclxuICAgICAgICB9XHJcbiAgICApOiBQcm9taXNlPFdhbGxldD4ge1xyXG4gICAgICAgIHJldHVybiBXYWxsZXQuZnJvbVhwcnYodXRpbHMuZGVjaXBoZXJYcHJ2KHhwcnYsIHBhc3N3ZCksIG9wdGlvbnMpXHJcbiAgICB9XHJcbiAgICBcclxuICAgIGNvbnN0cnVjdG9yKHJvb3Q6IElCSVAzMiwgcHJvdmlkZXI6IElKc29uUnBjUHJvdmlkZXIsIHN0cmF0ZWd5PzogVXR4b1NlbGVjdGlvblN0cmF0ZWd5KSB7XHJcbiAgICAgICAgdGhpcy5wcm92aWRlciA9IHByb3ZpZGVyXHJcbiAgICAgICAgdGhpcy5jb2luYmFzZSA9IG5ldyBDb2luYmFzZShyb290LCBwcm92aWRlciwgc3RyYXRlZ3kpXHJcbiAgICAgICAgdGhpcy5yb290ID0gcm9vdFxyXG4gICAgICAgIHRoaXMuc3RyYXRlZ3kgPSBzdHJhdGVneSB8fCBVdHhvU2VsZWN0aW9uU3RyYXRlZ3kuU21hbGxGaXJzdFxyXG4gICAgICAgIHRoaXMuZGVyaXZlQWNjb3VudHMoMSlcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGFjY291bnRzKCk6IEFycmF5PElBY2NvdW50PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FjY291bnRzXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBjYWNoZUluZm8oKTogVXR4b0NhY2hlSW5mbyB7XHJcbiAgICAgICAgY29uc3QgaW5mbzogVXR4b0NhY2hlSW5mbyA9IHsgZXhwZW5kYWJsZTogMG4sIHNpemU6IDAsIHRpbWVsb2NrOiBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUiB9XHJcbiAgICAgICAgdGhpcy5hY2NvdW50cz8uZm9yRWFjaChhY2NvdW50ID0+IHtcclxuICAgICAgICAgICAgY29uc3QgYWNjb3VudEluZm8gPSBhY2NvdW50LmNhY2hlSW5mb1xyXG4gICAgICAgICAgICBpbmZvLmV4cGVuZGFibGUgKz0gYWNjb3VudEluZm8uZXhwZW5kYWJsZVxyXG4gICAgICAgICAgICBpbmZvLnNpemUgKz0gYWNjb3VudEluZm8uc2l6ZVxyXG4gICAgICAgICAgICBpZiAoYWNjb3VudEluZm8udGltZWxvY2sgIT09IDAgJiYgYWNjb3VudEluZm8udGltZWxvY2sgPCBpbmZvLnRpbWVsb2NrKSB7XHJcbiAgICAgICAgICAgICAgICBpbmZvLnRpbWVsb2NrID0gYWNjb3VudEluZm8udGltZWxvY2tcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgaWYgKGluZm8udGltZWxvY2sgPT09IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSBpbmZvLnRpbWVsb2NrID0gMDtcclxuICAgICAgICByZXR1cm4gaW5mbztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGNoYW5nZVBraCgpOiBQdWJsaWNLZXlIYXNoU3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hY2NvdW50cy5sZW5ndGggPiAwID8gdGhpcy5hY2NvdW50c1swXS5jaGFuZ2VQa2ggOiB0aGlzLmNvaW5iYXNlLnBraFxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgbmV0d29yaygpOiBOZXR3b3JrIHwgdW5kZWZpbmVkIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5wcm92aWRlci5uZXR3b3JrXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBwa2goKTogUHVibGljS2V5SGFzaFN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWNjb3VudHMubGVuZ3RoID4gMCA/IHRoaXMuYWNjb3VudHNbMF0ucGtoIDogdGhpcy5jb2luYmFzZS5wa2hcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHB1YmxpY0tleSgpOiBQdWJsaWNLZXkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFjY291bnRzLmxlbmd0aCA+IDAgPyB0aGlzLmFjY291bnRzWzBdLnB1YmxpY0tleSA6IHRoaXMuY29pbmJhc2UucHVibGljS2V5XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBwcml2YXRlS2V5KCk6IEhleFN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWNjb3VudHMubGVuZ3RoID4gMCA/IHRoaXMuYWNjb3VudHNbMF0ucHJpdmF0ZUtleSA6IHRoaXMuY29pbmJhc2UucHJpdmF0ZUtleVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhdXRob3JpemVFdm1BZGRyZXNzKGV2bUFkZHJlc3M6IEhleFN0cmluZyk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWNjb3VudHMubGVuZ3RoID4gMCA/IHRoaXMuYWNjb3VudHNbMF0uYXV0aG9yaXplRXZtQWRkcmVzcyhldm1BZGRyZXNzKSA6IHRoaXMuY29pbmJhc2UuYXV0aG9yaXplRXZtQWRkcmVzcyhldm1BZGRyZXNzKVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhZGRVdHhvcyguLi51dHhvczogQXJyYXk8VXR4bz4pOiB7IGV4Y2x1ZGVkOiBBcnJheTxVdHhvPiwgaW5jbHVkZWQ6IEFycmF5PFV0eG8+IH0ge1xyXG4gICAgICAgIGNvbnN0IGluY2x1ZGVkOiBBcnJheTxVdHhvPiA9IFtdXHJcbiAgICAgICAgdGhpcy5hY2NvdW50cy5mb3JFYWNoKGFjY291bnQgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBfdXR4b3MgPSBhY2NvdW50LmFkZFV0eG9zKC4uLnV0eG9zKVxyXG4gICAgICAgICAgICB1dHhvcyA9IF91dHhvcy5leGNsdWRlZFxyXG4gICAgICAgICAgICBpbmNsdWRlZC5wdXNoKC4uLl91dHhvcy5pbmNsdWRlZClcclxuICAgICAgICB9KVxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGV4Y2x1ZGVkOiB1dHhvcyxcclxuICAgICAgICAgICAgaW5jbHVkZWRcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNvbnN1bWVVdHhvcyguLi51dHhvczogQXJyYXk8VXR4bz4pOiBBcnJheTxVdHhvPiB7XHJcbiAgICAgICAgdGhpcy5hY2NvdW50cy5mb3JFYWNoKGFjY291bnQgPT4ge1xyXG4gICAgICAgICAgICB1dHhvcyA9IGFjY291bnQuY29uc3VtZVV0eG9zKC4uLnV0eG9zKVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgcmV0dXJuIHV0eG9zXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldEJhbGFuY2UoKTogUHJvbWlzZTxCYWxhbmNlPiB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2FjY291bnRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIFByb21pc2VcclxuICAgICAgICAgICAgICAgIC5hbGwodGhpcy5fYWNjb3VudHMubWFwKGFzeW5jIChhY2M6IElBY2NvdW50KSA9PiB7IFxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJhbGFuY2UgPSBhd2FpdCBhY2MuZ2V0QmFsYW5jZSgpXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coYWNjLmluZGV4LCBhY2MucGtoLCBiYWxhbmNlLnVubG9ja2VkKTsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGJhbGFuY2UgfSkpXHJcbiAgICAgICAgICAgICAgICAudGhlbigoYmFsYW5jZXM6IEFycmF5PEJhbGFuY2U+KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGJhbGFuY2VzLnJlZHVjZSgocHJldiwgY3VycikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIlxcbnByZXYgPT5cIiwgcHJldi51bmxvY2tlZClcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCJjdXJyID0+XCIsIGN1cnIudW5sb2NrZWQpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NrZWQ6IHByZXYubG9ja2VkICsgY3Vyci5sb2NrZWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFrZWQ6IHByZXYuc3Rha2VkICsgY3Vyci5zdGFrZWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmxvY2tlZDogcHJldi51bmxvY2tlZCArIGN1cnIudW5sb2NrZWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9LCB7IGxvY2tlZDogMG4sIHN0YWtlZDogMG4sIHVubG9ja2VkOiAwbiB9KVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jb2luYmFzZS5nZXRCYWxhbmNlKClcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldERlbGVnYXRlZXMob3JkZXI/OiBRdWVyeVN0YWtlc09yZGVyLCBsZWZ0Sm9pbiA9IHRydWUpOiBQcm9taXNlPEFycmF5PFN0YWtlRW50cnk+PiB7XHJcbiAgICAgICAgY29uc3QgcmVjb3JkczogQXJyYXk8U3Rha2VFbnRyeT4gPSBbXVxyXG4gICAgICAgIHJlY29yZHMucHVzaCguLi5hd2FpdCB0aGlzLmNvaW5iYXNlLmdldERlbGVnYXRlZXMob3JkZXIpKVxyXG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKHRoaXMuX2FjY291bnRzLm1hcChhY2NvdW50ID0+IGFjY291bnQuZ2V0RGVsZWdhdGVlcyhvcmRlciwgbGVmdEpvaW4pLnRoZW4oZW50cmllcyA9PiByZWNvcmRzLnB1c2goLi4uZW50cmllcykpKSlcclxuICAgICAgICBpZiAob3JkZXIpIHtcclxuICAgICAgICAgICAgY29uc3QgcmV2ZXJzZSA9IG9yZGVyPy5yZXZlcnNlID8gKCsxKSA6ICgtMSlcclxuICAgICAgICAgICAgcmV0dXJuIHJlY29yZHMuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgICAgICAgICAgc3dpdGNoIChvcmRlci5ieSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgU3Rha2VzT3JkZXJCeS5Db2luczogcmV0dXJuICgoYS52YWx1ZS5jb2lucyA8IGIudmFsdWUuY29pbnMpID8gMSA6ICgoYS52YWx1ZS5jb2lucyA+IGIudmFsdWUuY29pbnMpID8gLTEgOiAwKSkgKiByZXZlcnNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgU3Rha2VzT3JkZXJCeS5NaW5pbmc6IHJldHVybiAoYi52YWx1ZS5lcG9jaHMubWluaW5nIC0gYS52YWx1ZS5lcG9jaHMubWluaW5nKSAqIHJldmVyc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBTdGFrZXNPcmRlckJ5LldpdG5lc3Npbmc6IHJldHVybiAoYi52YWx1ZS5lcG9jaHMud2l0bmVzc2luZyAtIGEudmFsdWUuZXBvY2hzLndpdG5lc3NpbmcpICogcmV2ZXJzZTtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIFN0YWtlc09yZGVyQnkuTm9uY2U6IHJldHVybiAoYi52YWx1ZS5ub25jZSAtIGEudmFsdWUubm9uY2UpICogcmV2ZXJzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlY29yZHNcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0VXR4b3MocmVsb2FkPzogYm9vbGVhbik6IFByb21pc2U8QXJyYXk8VXR4bz4+IHtcclxuICAgICAgICByZXR1cm4gUHJvbWlzZVxyXG4gICAgICAgICAgICAuYWxsKHRoaXMuYWNjb3VudHMubWFwKGFjY291bnQgPT4gYWNjb3VudC5nZXRVdHhvcyhyZWxvYWQpKSlcclxuICAgICAgICAgICAgLnRoZW4oYXN5bmMgKHV0eG9zczogQXJyYXk8QXJyYXk8VXR4bz4+KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAvLyB1dHhvc3MucHVzaChhd2FpdCB0aGlzLmNvaW5iYXNlLmdldFV0eG9zKHJlbG9hZCkpXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdXR4b3NzLmZsYXQoKVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBzZWxlY3RVdHhvcyhzcGVjcz86IHtcclxuICAgICAgICB2YWx1ZT86IENvaW5zLFxyXG4gICAgICAgIHJlbG9hZD86IGJvb2xlYW5cclxuICAgICAgICBzdHJhdGVneT86IFV0eG9TZWxlY3Rpb25TdHJhdGVneVxyXG4gICAgfSk6IFByb21pc2U8QXJyYXk8VXR4bz4+IHtcclxuICAgICAgICByZXR1cm4gdGhpc1xyXG4gICAgICAgICAgICAuZ2V0VXR4b3Moc3BlY3M/LnJlbG9hZClcclxuICAgICAgICAgICAgLnRoZW4odXR4b3MgPT4gdXRpbHMuc2VsZWN0VXR4b3MoeyB1dHhvcywgdmFsdWU6IHNwZWNzPy52YWx1ZSwgc3RyYXRlZ3k6IHNwZWNzPy5zdHJhdGVneSB8fCB0aGlzLnN0cmF0ZWd5IH0pKVxyXG4gICAgfVxyXG5cclxuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgIC8vIC0tLSBJV2FsbGV0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgICBwdWJsaWMgZGVyaXZlQWNjb3VudHMobGltaXQ6IG51bWJlcik6IEFycmF5PElBY2NvdW50PiB7XHJcbiAgICAgICAgaWYgKGxpbWl0ID4gdGhpcy5fYWNjb3VudHMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0SW5kZXggPSB0aGlzLl9hY2NvdW50cy5sZW5ndGggPiAwID8gdGhpcy5hY2NvdW50c1t0aGlzLmFjY291bnRzLmxlbmd0aCAtIDFdLmluZGV4ICsgMSA6IDBcclxuICAgICAgICAgICAgbGltaXQgPSBsaW1pdCAtIHRoaXMuX2FjY291bnRzLmxlbmd0aFxyXG4gICAgICAgICAgICBmb3IgKGxldCBpeCA9IDA7IGl4IDwgbGltaXQ7IGl4ICsrKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9hY2NvdW50cy5wdXNoKG5ldyBBY2NvdW50KFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm9vdCxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3ZpZGVyLFxyXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0SW5kZXggKyBpeCxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0cmF0ZWd5XHJcbiAgICAgICAgICAgICAgICApKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLl9hY2NvdW50c1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBleHBsb3JlQWNjb3VudHMobGltaXQgPSAxLCBnYXAgPSBERUZBVUxUX0dBUCk6IFByb21pc2U8QXJyYXk8SUFjY291bnQ+PiB7XHJcbiAgICAgICAgaWYgKGxpbWl0ID09PSAwIHx8IGxpbWl0ID4gdGhpcy5hY2NvdW50cy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgY29uc3QgbGFzdEluZGV4ID0gKHg6IEFycmF5PElBY2NvdW50PikgPT4gTnVtYmVyKHgubGVuZ3RoID4gMCA/IHhbeC5sZW5ndGggLSAxXS5pbmRleCArIDEgOiAwKVxyXG4gICAgICAgICAgICBjb25zdCBzdGFydEluZGV4ID0gbGFzdEluZGV4KHRoaXMuYWNjb3VudHMpXHJcbiAgICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gc3RhcnRJbmRleDsgaW5kZXggPCBsYXN0SW5kZXgodGhpcy5hY2NvdW50cykgKyBOdW1iZXIoZ2FwKTsgaW5kZXggKyspIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGFjY291bnQgPSBuZXcgQWNjb3VudCh0aGlzLnJvb3QsIHRoaXMucHJvdmlkZXIsIGluZGV4LCB0aGlzLnN0cmF0ZWd5KVxyXG4gICAgICAgICAgICAgICAgaWYgKHV0aWxzLnRvdGFsQ29pbnMoYXdhaXQgYWNjb3VudC5nZXRCYWxhbmNlKCkpLnBlZHJvcyA+IDBuKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hY2NvdW50cy5wdXNoKGFjY291bnQpXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGxpbWl0ICYmIHRoaXMuYWNjb3VudHMubGVuZ3RoID49IGxpbWl0KSBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5fYWNjb3VudHNcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0QWNjb3VudChwa2g6IFB1YmxpY0tleUhhc2hTdHJpbmcsIGdhcD86IG51bWJlcik6IElBY2NvdW50IHwgdW5kZWZpbmVkIHtcclxuICAgICAgICBsZXQgYWNjb3VudCA9IHRoaXMuX2FjY291bnRzLmZpbmQoYWNjb3VudCA9PiBhY2NvdW50LmludGVybmFsLnBraCA9PT0gcGtoIHx8IGFjY291bnQucGtoID09PSBwa2gpXHJcbiAgICAgICAgaWYgKCFhY2NvdW50KSB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCAoZ2FwIHx8IERFRkFVTFRfR0FQKTsgaW5kZXggKyspIHtcclxuICAgICAgICAgICAgICAgIGFjY291bnQgPSBuZXcgQWNjb3VudCh0aGlzLnJvb3QsIHRoaXMucHJvdmlkZXIsIGluZGV4LCB0aGlzLnN0cmF0ZWd5KVxyXG4gICAgICAgICAgICAgICAgaWYgKGFjY291bnQucGtoID09PSBwa2ggfHwgYWNjb3VudC5pbnRlcm5hbC5wa2ggPT09IHBraCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2FjY291bnRzLnB1c2goYWNjb3VudClcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWNjb3VudFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gYWNjb3VudFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0U2lnbmVyKHBraD86IFB1YmxpY0tleUhhc2hTdHJpbmcsIGdhcD86IG51bWJlcik6IElTaWduZXIgfCB1bmRlZmluZWQge1xyXG4gICAgICAgIGlmICghcGtoKSByZXR1cm4gdGhpcy5hY2NvdW50c1swXT8uZ2V0U2lnbmVyKCkgfHwgdGhpcy5jb2luYmFzZS5nZXRTaWduZXIocGtoKTtcclxuICAgICAgICBjb25zdCBhY2NvdW50ID0gdGhpcy5nZXRBY2NvdW50KHBraCwgZ2FwKVxyXG4gICAgICAgIHJldHVybiBhY2NvdW50Py5nZXRTaWduZXIocGtoKSB8fCB0aGlzLmNvaW5iYXNlLmdldFNpZ25lcihwa2gpXHJcbiAgICB9XHJcbn1cclxuIl19
247
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jcnlwdG8vd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxHQUFHLE1BQU0seUJBQXlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNyQyxPQUFPLEtBQUssS0FBSyxNQUFNLFlBQVksQ0FBQztBQUVwQyxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7QUFFaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFNTixhQUFhLEdBQ2IsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBU3pDLE9BQU8sRUFNTixxQkFBcUIsR0FDckIsTUFBTSxZQUFZLENBQUM7QUFFcEIsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO0FBRXZCLE1BQU0sT0FBTyxNQUFNO0lBQ1IsSUFBSSxDQUFTO0lBRWIsU0FBUyxHQUFvQixFQUFFLENBQUM7SUFFMUIsUUFBUSxDQUFZO0lBQ3BCLFFBQVEsQ0FBbUI7SUFDcEMsUUFBUSxDQUF3QjtJQUV2Qzs7O09BR0c7SUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQXlCcEI7UUFDQSxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDO1FBQ3RELElBQUksQ0FBQyxJQUFJO1lBQ1IsTUFBTSxLQUFLLENBQUMsMERBQTBELENBQUMsQ0FBQztRQUN6RSxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO2dCQUNsQixNQUFNLEtBQUssQ0FBQyxv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QyxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN0RSxJQUFJLE9BQU8sQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLEdBQUcsRUFBRSxDQUFDO29CQUN6RCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDN0IsT0FBTyxPQUFPLENBQUM7Z0JBQ2hCLENBQUM7WUFDRixDQUFDO1lBQ0QsT0FBTyxTQUFTLENBQUM7UUFDbEIsQ0FBQzthQUFNLENBQUM7WUFDUCxPQUFPLE9BQU8sQ0FBQztRQUNoQixDQUFDO0lBQ0YsQ0FBQztJQUVNLFNBQVMsQ0FDZixHQUF5QixFQUN6QixHQUFZO1FBRVosSUFBSSxDQUFDLEdBQUc7WUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDMUMsT0FBTyxPQUFPLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGVjYyBmcm9tIFwiQGJpdGNvaW5lcmxhYi9zZWNwMjU2azFcIjtcclxuXHJcbmltcG9ydCB7IEJJUDMyRmFjdG9yeSB9IGZyb20gXCJiaXAzMlwiO1xyXG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tIFwiLi91dGlscy5qc1wiO1xyXG5cclxuY29uc3QgYmlwMzIgPSBCSVAzMkZhY3RvcnkoZWNjKTtcclxuXHJcbmltcG9ydCB7IEpzb25ScGNQcm92aWRlciB9IGZyb20gXCIuLi9ycGMvaW5kZXguanNcIjtcclxuaW1wb3J0IHtcclxuXHR0eXBlIEJhbGFuY2UsXHJcblx0dHlwZSBIZXhTdHJpbmcsXHJcblx0dHlwZSBOZXR3b3JrLFxyXG5cdHR5cGUgUXVlcnlTdGFrZXNPcmRlcixcclxuXHR0eXBlIFN0YWtlRW50cnksXHJcblx0U3Rha2VzT3JkZXJCeSxcclxufSBmcm9tIFwiLi4vdHlwZXMuanNcIjtcclxuaW1wb3J0IHsgQWNjb3VudCB9IGZyb20gXCIuL2FjY291bnQuanNcIjtcclxuaW1wb3J0IHsgQ29pbmJhc2UgfSBmcm9tIFwiLi9jb2luYmFzZS5qc1wiO1xyXG5pbXBvcnQgdHlwZSB7XHJcblx0SUFjY291bnQsXHJcblx0SUJJUDMyLFxyXG5cdElDb2luYmFzZSxcclxuXHRJSnNvblJwY1Byb3ZpZGVyLFxyXG5cdElTaWduZXIsXHJcblx0SVdhbGxldCxcclxufSBmcm9tIFwiLi9pbnRlcmZhY2VzLmpzXCI7XHJcbmltcG9ydCB7XHJcblx0dHlwZSBDb2lucyxcclxuXHR0eXBlIFB1YmxpY0tleSxcclxuXHR0eXBlIFB1YmxpY0tleUhhc2hTdHJpbmcsXHJcblx0dHlwZSBVdHhvLFxyXG5cdHR5cGUgVXR4b0NhY2hlSW5mbyxcclxuXHRVdHhvU2VsZWN0aW9uU3RyYXRlZ3ksXHJcbn0gZnJvbSBcIi4vdHlwZXMuanNcIjtcclxuXHJcbmNvbnN0IERFRkFVTFRfR0FQID0gMjA7XHJcblxyXG5leHBvcnQgY2xhc3MgV2FsbGV0IGltcGxlbWVudHMgSVdhbGxldCB7XHJcblx0cHJvdGVjdGVkIHJvb3Q6IElCSVAzMjtcclxuXHJcblx0cHJvdGVjdGVkIF9hY2NvdW50czogQXJyYXk8SUFjY291bnQ+ID0gW107XHJcblxyXG5cdHB1YmxpYyByZWFkb25seSBjb2luYmFzZTogSUNvaW5iYXNlO1xyXG5cdHB1YmxpYyByZWFkb25seSBwcm92aWRlcjogSUpzb25ScGNQcm92aWRlcjtcclxuXHRwdWJsaWMgc3RyYXRlZ3k6IFV0eG9TZWxlY3Rpb25TdHJhdGVneTtcclxuXHJcblx0LyoqXHJcblx0ICogQ3JlYXRlIGEgV2FsbGV0IGJ5IHJlYWRpbmcgdGhlIFhQUlYgbWFzdGVyIGtleSBmcm9tIHRoZSBXSVRORVRfU0RLX1dBTExFVF9NQVNURVJfS0VZIGVudmlyb25tZW50IHZhcmlhYmxlLlxyXG5cdCAqIEBwYXJhbSBzcGVjcyBXYWxsZXQgY3JlYXRpb24gcGFyYW1ldGVycy5cclxuXHQgKi9cclxuXHRzdGF0aWMgYXN5bmMgZnJvbUVudihvcHRpb25zOiB7XHJcblx0XHQvKipcclxuXHRcdCAqIFBhc3N3b3JkIHRvIGRlY3J5cHQgdGhlIFhQUlYgbWFzdGVyIGtleSByZWFkIGZyb20gZW52aXJvbm1lbnQsIGluIGNhc2UgaXQncyBlbmNyeXB0ZWQuXHJcblx0XHQgKi9cclxuXHRcdHBhc3N3ZD86IHN0cmluZztcclxuXHRcdC8qKlxyXG5cdFx0ICogTnVtYmVyIG9mIGNvbnNlY3V0aXZlIGFjY291bnRzIHdpdGggbm8gZnVuZHMgYmVmb3JlIHN0b3BwaW5nIGRlcml2YXRpb24gb2YgbmV3IFdhbGxldCBhY2NvdW50cy5cclxuXHRcdCAqL1xyXG5cdFx0Z2FwPzogbnVtYmVyO1xyXG5cdFx0LyoqXHJcblx0XHQgKiBNYXhpbXVtIG51bWJlciBvZiBhY2NvdW50cyB0byBkZXJpdmUuXHJcblx0XHQgKi9cclxuXHRcdGxpbWl0PzogbnVtYmVyO1xyXG5cdFx0LyoqXHJcblx0XHQgKiBTcGVjaWZpYyBXaXQvUlBDIHByb3ZpZGVyIHRvIHVzZSBmb3IgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgV2l0bmV0IG5ldHdvcmsuXHJcblx0XHQgKi9cclxuXHRcdHByb3ZpZGVyPzogSUpzb25ScGNQcm92aWRlcjtcclxuXHRcdC8qKlxyXG5cdFx0ICogVVRYTyBzZWxlY3Rpb24gc3RyYXRlZ3kgd2hlbiBidWlsZGluZyB0cmFuc2FjdGlvbnMgb3V0IG9mIHRoaXMgd2FsbGV0IChkZWZhdWx0OiBVdHhvU2VsZWN0aW9uU3RyYXRlZ3kuU21hbGxGaXJzdCkuXHJcblx0XHQgKi9cclxuXHRcdHN0cmF0ZWd5PzogVXR4b1NlbGVjdGlvblN0cmF0ZWd5O1xyXG5cdFx0LyoqXHJcblx0XHQgKiBPbmx5IGRlcml2ZSBhY2NvdW50cyB0aGF0IGhvbGQgc29tZSB1bmxvY2tlZCBiYWxhbmNlIG9mICRXSVQuXHJcblx0XHQgKi9cclxuXHRcdG9ubHlXaXRoRnVuZHM/OiBib29sZWFuO1xyXG5cdH0pOiBQcm9taXNlPFdhbGxldD4ge1xyXG5cdFx0Y29uc3QgeHBydiA9IHByb2Nlc3MuZW52LldJVE5FVF9TREtfV0FMTEVUX01BU1RFUl9LRVk7XHJcblx0XHRpZiAoIXhwcnYpXHJcblx0XHRcdHRocm93IEVycm9yKGBXSVRORVRfU0RLX1dBTExFVF9NQVNURVJfS0VZIG11c3QgYmUgc2V0IG9uIGVudmlyb25tZW50LmApO1xyXG5cdFx0aWYgKHhwcnYubGVuZ3RoID4gMTE3KSB7XHJcblx0XHRcdGlmICghb3B0aW9ucy5wYXNzd2QpXHJcblx0XHRcdFx0dGhyb3cgRXJyb3IoYE1pc3NpbmcgcGFzc3dvcmQgZm9yIFdJVE5FVF9TREtfV0FMTEVUX01BU1RFUl9LRVkuYCk7XHJcblx0XHRcdHJldHVybiBXYWxsZXQuZnJvbUVuY3J5cHRlZFhwcnYoeHBydiwgb3B0aW9ucz8ucGFzc3dkLCBvcHRpb25zKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHJldHVybiBXYWxsZXQuZnJvbVhwcnYoeHBydiwgb3B0aW9ucyk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBDcmVhdGUgYSBXYWxsZXQgYnkgdXNpbmcgcGFzc2VkIFhQUlYgbWFzdGVyIGtleS5cclxuXHQgKiBAcGFyYW0geHBydiBEZWNyeXB0ZWQgWFBSViBtYXN0ZXIga2V5IHN0cmluZy5cclxuXHQgKiBAcGFyYW0gb3B0aW9ucyBXYWxsZXQgY3JlYXRpb24gcGFyYW1ldGVycy5cclxuXHQgKi9cclxuXHRzdGF0aWMgYXN5bmMgZnJvbVhwcnYoXHJcblx0XHR4cHJ2OiBzdHJpbmcsXHJcblx0XHRvcHRpb25zPzoge1xyXG5cdFx0XHQvKipcclxuXHRcdFx0ICogTnVtYmVyIG9mIGNvbnNlY3V0aXZlIGFjY291bnRzIHdpdGggbm8gZnVuZHMgYmVmb3JlIHN0b3BwaW5nIGRlcml2YXRpb24gb2YgbmV3IFdhbGxldCBhY2NvdW50cy5cclxuXHRcdFx0ICovXHJcblx0XHRcdGdhcD86IG51bWJlcjtcclxuXHRcdFx0LyoqXHJcblx0XHRcdCAqIE1heGltdW0gbnVtYmVyIG9mIGFjY291bnRzIHRvIGRlcml2ZS5cclxuXHRcdFx0ICovXHJcblx0XHRcdGxpbWl0PzogbnVtYmVyO1xyXG5cdFx0XHQvKipcclxuXHRcdFx0ICogU3BlY2lmaWMgV2l0L1JQQyBwcm92aWRlciB0byB1c2UgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIFdpdG5ldCBuZXR3b3JrLlxyXG5cdFx0XHQgKi9cclxuXHRcdFx0cHJvdmlkZXI/OiBJSnNvblJwY1Byb3ZpZGVyO1xyXG5cdFx0XHQvKipcclxuXHRcdFx0ICogVVRYTyBzZWxlY3Rpb24gc3RyYXRlZ3kgd2hlbiBidWlsZGluZyB0cmFuc2FjdGlvbnMgb3V0IG9mIHRoaXMgd2FsbGV0IChkZWZhdWx0OiBVdHhvU2VsZWN0aW9uU3RyYXRlZ3kuU21hbGxGaXJzdCkuXHJcblx0XHRcdCAqL1xyXG5cdFx0XHRzdHJhdGVneT86IFV0eG9TZWxlY3Rpb25TdHJhdGVneTtcclxuXHRcdFx0LyoqXHJcblx0XHRcdCAqIE9ubHkgZGVyaXZlIGFjY291bnRzIGhvbGRpbmcgc29tZSAkV0lUIGZ1bmRzIChlaXRoZXIgbG9ja2VkLCBzdGFrZWQgb3IgdW5sb2NrZWQpLlxyXG5cdFx0XHQgKi9cclxuXHRcdFx0b25seVdpdGhGdW5kcz86IGJvb2xlYW47XHJcblx0XHR9LFxyXG5cdCk6IFByb21pc2U8V2FsbGV0PiB7XHJcblx0XHRjb25zdCB7IGNoYWluQ29kZSwgcHJpdmF0ZUtleSB9ID0gdXRpbHMucGFyc2VYcHJ2KHhwcnYpO1xyXG5cdFx0Y29uc3Qgcm9vdCA9IGJpcDMyLmZyb21Qcml2YXRlS2V5KFxyXG5cdFx0XHRCdWZmZXIuZnJvbShwcml2YXRlS2V5KSxcclxuXHRcdFx0QnVmZmVyLmZyb20oY2hhaW5Db2RlKSxcclxuXHRcdCk7XHJcblx0XHRjb25zdCBwcm92aWRlciA9IG9wdGlvbnM/LnByb3ZpZGVyIHx8IChhd2FpdCBKc29uUnBjUHJvdmlkZXIuZnJvbUVudigpKTtcclxuXHRcdGF3YWl0IHByb3ZpZGVyLmNvbnN0YW50cygpO1xyXG5cdFx0Y29uc3Qgd2FsbGV0ID0gbmV3IFdhbGxldChyb290LCBwcm92aWRlciwgb3B0aW9ucz8uc3RyYXRlZ3kpO1xyXG5cdFx0aWYgKG9wdGlvbnM/Lm9ubHlXaXRoRnVuZHMpIHtcclxuXHRcdFx0YXdhaXQgd2FsbGV0LmV4cGxvcmVBY2NvdW50cyhvcHRpb25zPy5saW1pdCB8fCAwLCBvcHRpb25zPy5nYXApO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0d2FsbGV0LmRlcml2ZUFjY291bnRzKG9wdGlvbnM/LmxpbWl0IHx8IDEpO1xyXG5cdFx0fVxyXG5cdFx0Ly8gbG9hZCB1cCB1dHhvcyBjYWNoZVxyXG5cdFx0YXdhaXQgd2FsbGV0LmdldFV0eG9zKHRydWUpO1xyXG5cdFx0cmV0dXJuIHdhbGxldDtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIENyZWF0ZSBhIFdhbGxldCBieSB1c2luZyBwYXNzZWQgWFBSViBtYXN0ZXIga2V5LlxyXG5cdCAqIEBwYXJhbSB4cHJ2IEVuY3J5cHRlZCBYUFJWIG1hc3RlciBrZXkgc3RyaW5nLlxyXG5cdCAqIEBwYXJhbSBwYXNzd2QgUGFzc3dvcmQgdG8gZGVjaXBoZXIgdGhlIFhQUlYgbWFzdGVyIGtleS5cclxuXHQgKiBAcGFyYW0gb3B0aW9ucyBXYWxsZXQgY3JlYXRpb24gcGFyYW1ldGVycy5cclxuXHQgKi9cclxuXHRzdGF0aWMgYXN5bmMgZnJvbUVuY3J5cHRlZFhwcnYoXHJcblx0XHR4cHJ2OiBzdHJpbmcsXHJcblx0XHRwYXNzd2Q6IHN0cmluZyxcclxuXHRcdG9wdGlvbnM/OiB7XHJcblx0XHRcdC8qKlxyXG5cdFx0XHQgKiBOdW1iZXIgb2YgY29uc2VjdXRpdmUgYWNjb3VudHMgd2l0aCBubyBmdW5kcyBiZWZvcmUgc3RvcHBpbmcgZGVyaXZhdGlvbiBvZiBuZXcgV2FsbGV0IGFjY291bnRzLlxyXG5cdFx0XHQgKi9cclxuXHRcdFx0Z2FwPzogbnVtYmVyO1xyXG5cdFx0XHQvKipcclxuXHRcdFx0ICogTWF4aW11bSBudW1iZXIgb2YgYWNjb3VudHMgdG8gZGVyaXZlLlxyXG5cdFx0XHQgKi9cclxuXHRcdFx0bGltaXQ/OiBudW1iZXI7XHJcblx0XHRcdC8qKlxyXG5cdFx0XHQgKiBTcGVjaWZpYyBXaXQvUlBDIHByb3ZpZGVyIHRvIHVzZSBmb3IgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgV2l0bmV0IG5ldHdvcmsuXHJcblx0XHRcdCAqL1xyXG5cdFx0XHRwcm92aWRlcj86IElKc29uUnBjUHJvdmlkZXI7XHJcblx0XHRcdC8qKlxyXG5cdFx0XHQgKiBVVFhPIHNlbGVjdGlvbiBzdHJhdGVneSB3aGVuIGJ1aWxkaW5nIHRyYW5zYWN0aW9ucyBvdXQgb2YgdGhpcyB3YWxsZXQgKGRlZmF1bHQ6IFV0eG9TZWxlY3Rpb25TdHJhdGVneS5TbWFsbEZpcnN0KS5cclxuXHRcdFx0ICovXHJcblx0XHRcdHN0cmF0ZWd5PzogVXR4b1NlbGVjdGlvblN0cmF0ZWd5O1xyXG5cdFx0XHQvKipcclxuXHRcdFx0ICogT25seSBkZXJpdmUgYWNjb3VudHMgaG9sZGluZyBzb21lICRXSVQgZnVuZHMgKGVpdGhlciBsb2NrZWQsIHN0YWtlZCBvciB1bmxvY2tlZCkuXHJcblx0XHRcdCAqL1xyXG5cdFx0XHRvbmx5V2l0aEZ1bmRzPzogYm9vbGVhbjtcclxuXHRcdH0sXHJcblx0KTogUHJvbWlzZTxXYWxsZXQ+IHtcclxuXHRcdHJldHVybiBXYWxsZXQuZnJvbVhwcnYodXRpbHMuZGVjaXBoZXJYcHJ2KHhwcnYsIHBhc3N3ZCksIG9wdGlvbnMpO1xyXG5cdH1cclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRyb290OiBJQklQMzIsXHJcblx0XHRwcm92aWRlcjogSUpzb25ScGNQcm92aWRlcixcclxuXHRcdHN0cmF0ZWd5PzogVXR4b1NlbGVjdGlvblN0cmF0ZWd5LFxyXG5cdCkge1xyXG5cdFx0dGhpcy5wcm92aWRlciA9IHByb3ZpZGVyO1xyXG5cdFx0dGhpcy5jb2luYmFzZSA9IG5ldyBDb2luYmFzZShyb290LCBwcm92aWRlciwgc3RyYXRlZ3kpO1xyXG5cdFx0dGhpcy5yb290ID0gcm9vdDtcclxuXHRcdHRoaXMuc3RyYXRlZ3kgPSBzdHJhdGVneSB8fCBVdHhvU2VsZWN0aW9uU3RyYXRlZ3kuU21hbGxGaXJzdDtcclxuXHRcdHRoaXMuZGVyaXZlQWNjb3VudHMoMSk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgZ2V0IGFjY291bnRzKCk6IEFycmF5PElBY2NvdW50PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5fYWNjb3VudHM7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgZ2V0IGNhY2hlSW5mbygpOiBVdHhvQ2FjaGVJbmZvIHtcclxuXHRcdGNvbnN0IGluZm86IFV0eG9DYWNoZUluZm8gPSB7XHJcblx0XHRcdGV4cGVuZGFibGU6IDBuLFxyXG5cdFx0XHRzaXplOiAwLFxyXG5cdFx0XHR0aW1lbG9jazogTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsXHJcblx0XHR9O1xyXG5cdFx0dGhpcy5hY2NvdW50cz8uZm9yRWFjaCgoYWNjb3VudCkgPT4ge1xyXG5cdFx0XHRjb25zdCBhY2NvdW50SW5mbyA9IGFjY291bnQuY2FjaGVJbmZvO1xyXG5cdFx0XHRpbmZvLmV4cGVuZGFibGUgKz0gYWNjb3VudEluZm8uZXhwZW5kYWJsZTtcclxuXHRcdFx0aW5mby5zaXplICs9IGFjY291bnRJbmZvLnNpemU7XHJcblx0XHRcdGlmIChhY2NvdW50SW5mby50aW1lbG9jayAhPT0gMCAmJiBhY2NvdW50SW5mby50aW1lbG9jayA8IGluZm8udGltZWxvY2spIHtcclxuXHRcdFx0XHRpbmZvLnRpbWVsb2NrID0gYWNjb3VudEluZm8udGltZWxvY2s7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdFx0aWYgKGluZm8udGltZWxvY2sgPT09IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSBpbmZvLnRpbWVsb2NrID0gMDtcclxuXHRcdHJldHVybiBpbmZvO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGdldCBjaGFuZ2VQa2goKTogUHVibGljS2V5SGFzaFN0cmluZyB7XHJcblx0XHRyZXR1cm4gdGhpcy5hY2NvdW50cy5sZW5ndGggPiAwXHJcblx0XHRcdD8gdGhpcy5hY2NvdW50c1swXS5jaGFuZ2VQa2hcclxuXHRcdFx0OiB0aGlzLmNvaW5iYXNlLnBraDtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBnZXQgbmV0d29yaygpOiBOZXR3b3JrIHwgdW5kZWZpbmVkIHtcclxuXHRcdHJldHVybiB0aGlzLnByb3ZpZGVyLm5ldHdvcms7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgZ2V0IHBraCgpOiBQdWJsaWNLZXlIYXNoU3RyaW5nIHtcclxuXHRcdHJldHVybiB0aGlzLmFjY291bnRzLmxlbmd0aCA+IDAgPyB0aGlzLmFjY291bnRzWzBdLnBraCA6IHRoaXMuY29pbmJhc2UucGtoO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGdldCBwdWJsaWNLZXkoKTogUHVibGljS2V5IHtcclxuXHRcdHJldHVybiB0aGlzLmFjY291bnRzLmxlbmd0aCA+IDBcclxuXHRcdFx0PyB0aGlzLmFjY291bnRzWzBdLnB1YmxpY0tleVxyXG5cdFx0XHQ6IHRoaXMuY29pbmJhc2UucHVibGljS2V5O1xyXG5cdH1cclxuXHJcblx0cHVibGljIGdldCBwcml2YXRlS2V5KCk6IEhleFN0cmluZyB7XHJcblx0XHRyZXR1cm4gdGhpcy5hY2NvdW50cy5sZW5ndGggPiAwXHJcblx0XHRcdD8gdGhpcy5hY2NvdW50c1swXS5wcml2YXRlS2V5XHJcblx0XHRcdDogdGhpcy5jb2luYmFzZS5wcml2YXRlS2V5O1xyXG5cdH1cclxuXHJcblx0cHVibGljIGF1dGhvcml6ZUV2bUFkZHJlc3MoZXZtQWRkcmVzczogSGV4U3RyaW5nKTogYW55IHtcclxuXHRcdHJldHVybiB0aGlzLmFjY291bnRzLmxlbmd0aCA+IDBcclxuXHRcdFx0PyB0aGlzLmFjY291bnRzWzBdLmF1dGhvcml6ZUV2bUFkZHJlc3MoZXZtQWRkcmVzcylcclxuXHRcdFx0OiB0aGlzLmNvaW5iYXNlLmF1dGhvcml6ZUV2bUFkZHJlc3MoZXZtQWRkcmVzcyk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgYWRkVXR4b3MoLi4udXR4b3M6IEFycmF5PFV0eG8+KToge1xyXG5cdFx0ZXhjbHVkZWQ6IEFycmF5PFV0eG8+O1xyXG5cdFx0aW5jbHVkZWQ6IEFycmF5PFV0eG8+O1xyXG5cdH0ge1xyXG5cdFx0Y29uc3QgaW5jbHVkZWQ6IEFycmF5PFV0eG8+ID0gW107XHJcblx0XHR0aGlzLmFjY291bnRzLmZvckVhY2goKGFjY291bnQpID0+IHtcclxuXHRcdFx0Y29uc3QgX3V0eG9zID0gYWNjb3VudC5hZGRVdHhvcyguLi51dHhvcyk7XHJcblx0XHRcdHV0eG9zID0gX3V0eG9zLmV4Y2x1ZGVkO1xyXG5cdFx0XHRpbmNsdWRlZC5wdXNoKC4uLl91dHhvcy5pbmNsdWRlZCk7XHJcblx0XHR9KTtcclxuXHRcdHJldHVybiB7XHJcblx0XHRcdGV4Y2x1ZGVkOiB1dHhvcyxcclxuXHRcdFx0aW5jbHVkZWQsXHJcblx0XHR9O1xyXG5cdH1cclxuXHJcblx0cHVibGljIGNvbnN1bWVVdHhvcyguLi51dHhvczogQXJyYXk8VXR4bz4pOiBBcnJheTxVdHhvPiB7XHJcblx0XHR0aGlzLmFjY291bnRzLmZvckVhY2goKGFjY291bnQpID0+IHtcclxuXHRcdFx0dXR4b3MgPSBhY2NvdW50LmNvbnN1bWVVdHhvcyguLi51dHhvcyk7XHJcblx0XHR9KTtcclxuXHRcdHJldHVybiB1dHhvcztcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBhc3luYyBnZXRCYWxhbmNlKCk6IFByb21pc2U8QmFsYW5jZT4ge1xyXG5cdFx0aWYgKHRoaXMuX2FjY291bnRzLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0cmV0dXJuIFByb21pc2UuYWxsKFxyXG5cdFx0XHRcdHRoaXMuX2FjY291bnRzLm1hcChhc3luYyAoYWNjOiBJQWNjb3VudCkgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc3QgYmFsYW5jZSA9IGF3YWl0IGFjYy5nZXRCYWxhbmNlKCk7XHJcblx0XHRcdFx0XHRyZXR1cm4gYmFsYW5jZTtcclxuXHRcdFx0XHR9KSxcclxuXHRcdFx0KS50aGVuKChiYWxhbmNlczogQXJyYXk8QmFsYW5jZT4pID0+IHtcclxuXHRcdFx0XHRyZXR1cm4gYmFsYW5jZXMucmVkdWNlKFxyXG5cdFx0XHRcdFx0KHByZXYsIGN1cnIpID0+IHtcclxuXHRcdFx0XHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRcdFx0XHRsb2NrZWQ6IHByZXYubG9ja2VkICsgY3Vyci5sb2NrZWQsXHJcblx0XHRcdFx0XHRcdFx0c3Rha2VkOiBwcmV2LnN0YWtlZCArIGN1cnIuc3Rha2VkLFxyXG5cdFx0XHRcdFx0XHRcdHVubG9ja2VkOiBwcmV2LnVubG9ja2VkICsgY3Vyci51bmxvY2tlZCxcclxuXHRcdFx0XHRcdFx0fTtcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7IGxvY2tlZDogMG4sIHN0YWtlZDogMG4sIHVubG9ja2VkOiAwbiB9LFxyXG5cdFx0XHRcdCk7XHJcblx0XHRcdH0pO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0cmV0dXJuIHRoaXMuY29pbmJhc2UuZ2V0QmFsYW5jZSgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHVibGljIGFzeW5jIGdldERlbGVnYXRlZXMoXHJcblx0XHRvcmRlcj86IFF1ZXJ5U3Rha2VzT3JkZXIsXHJcblx0XHRsZWZ0Sm9pbiA9IHRydWUsXHJcblx0KTogUHJvbWlzZTxBcnJheTxTdGFrZUVudHJ5Pj4ge1xyXG5cdFx0Y29uc3QgcmVjb3JkczogQXJyYXk8U3Rha2VFbnRyeT4gPSBbXTtcclxuXHRcdHJlY29yZHMucHVzaCguLi4oYXdhaXQgdGhpcy5jb2luYmFzZS5nZXREZWxlZ2F0ZWVzKG9yZGVyKSkpO1xyXG5cdFx0YXdhaXQgUHJvbWlzZS5hbGwoXHJcblx0XHRcdHRoaXMuX2FjY291bnRzLm1hcCgoYWNjb3VudCkgPT5cclxuXHRcdFx0XHRhY2NvdW50XHJcblx0XHRcdFx0XHQuZ2V0RGVsZWdhdGVlcyhvcmRlciwgbGVmdEpvaW4pXHJcblx0XHRcdFx0XHQudGhlbigoZW50cmllcykgPT4gcmVjb3Jkcy5wdXNoKC4uLmVudHJpZXMpKSxcclxuXHRcdFx0KSxcclxuXHRcdCk7XHJcblx0XHRpZiAob3JkZXIpIHtcclxuXHRcdFx0Y29uc3QgcmV2ZXJzZSA9IG9yZGVyPy5yZXZlcnNlID8gKzEgOiAtMTtcclxuXHRcdFx0cmV0dXJuIHJlY29yZHMuc29ydCgoYSwgYikgPT4ge1xyXG5cdFx0XHRcdHN3aXRjaCAob3JkZXIuYnkpIHtcclxuXHRcdFx0XHRcdGNhc2UgU3Rha2VzT3JkZXJCeS5Db2luczpcclxuXHRcdFx0XHRcdFx0cmV0dXJuIChcclxuXHRcdFx0XHRcdFx0XHQoYS52YWx1ZS5jb2lucyA8IGIudmFsdWUuY29pbnNcclxuXHRcdFx0XHRcdFx0XHRcdD8gMVxyXG5cdFx0XHRcdFx0XHRcdFx0OiBhLnZhbHVlLmNvaW5zID4gYi52YWx1ZS5jb2luc1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQ/IC0xXHJcblx0XHRcdFx0XHRcdFx0XHRcdDogMCkgKiByZXZlcnNlXHJcblx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHRjYXNlIFN0YWtlc09yZGVyQnkuTWluaW5nOlxyXG5cdFx0XHRcdFx0XHRyZXR1cm4gKGIudmFsdWUuZXBvY2hzLm1pbmluZyAtIGEudmFsdWUuZXBvY2hzLm1pbmluZykgKiByZXZlcnNlO1xyXG5cdFx0XHRcdFx0Y2FzZSBTdGFrZXNPcmRlckJ5LldpdG5lc3Npbmc6XHJcblx0XHRcdFx0XHRcdHJldHVybiAoXHJcblx0XHRcdFx0XHRcdFx0KGIudmFsdWUuZXBvY2hzLndpdG5lc3NpbmcgLSBhLnZhbHVlLmVwb2Nocy53aXRuZXNzaW5nKSAqIHJldmVyc2VcclxuXHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdGNhc2UgU3Rha2VzT3JkZXJCeS5Ob25jZTpcclxuXHRcdFx0XHRcdFx0cmV0dXJuIChiLnZhbHVlLm5vbmNlIC0gYS52YWx1ZS5ub25jZSkgKiByZXZlcnNlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSk7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gcmVjb3JkcztcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBhc3luYyBnZXRVdHhvcyhyZWxvYWQ/OiBib29sZWFuKTogUHJvbWlzZTxBcnJheTxVdHhvPj4ge1xyXG5cdFx0cmV0dXJuIFByb21pc2UuYWxsKFxyXG5cdFx0XHR0aGlzLmFjY291bnRzLm1hcCgoYWNjb3VudCkgPT4gYWNjb3VudC5nZXRVdHhvcyhyZWxvYWQpKSxcclxuXHRcdCkudGhlbihhc3luYyAodXR4b3NzOiBBcnJheTxBcnJheTxVdHhvPj4pID0+IHtcclxuXHRcdFx0Ly8gdXR4b3NzLnB1c2goYXdhaXQgdGhpcy5jb2luYmFzZS5nZXRVdHhvcyhyZWxvYWQpKVxyXG5cdFx0XHRyZXR1cm4gdXR4b3NzLmZsYXQoKTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGFzeW5jIHNlbGVjdFV0eG9zKHNwZWNzPzoge1xyXG5cdFx0dmFsdWU/OiBDb2lucztcclxuXHRcdHJlbG9hZD86IGJvb2xlYW47XHJcblx0XHRzdHJhdGVneT86IFV0eG9TZWxlY3Rpb25TdHJhdGVneTtcclxuXHR9KTogUHJvbWlzZTxBcnJheTxVdHhvPj4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuZ2V0VXR4b3Moc3BlY3M/LnJlbG9hZCkudGhlbigodXR4b3MpID0+XHJcblx0XHRcdHV0aWxzLnNlbGVjdFV0eG9zKHtcclxuXHRcdFx0XHR1dHhvcyxcclxuXHRcdFx0XHR2YWx1ZTogc3BlY3M/LnZhbHVlLFxyXG5cdFx0XHRcdHN0cmF0ZWd5OiBzcGVjcz8uc3RyYXRlZ3kgfHwgdGhpcy5zdHJhdGVneSxcclxuXHRcdFx0fSksXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cdC8vIC0tLSBJV2FsbGV0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcblx0cHVibGljIGRlcml2ZUFjY291bnRzKGxpbWl0OiBudW1iZXIpOiBBcnJheTxJQWNjb3VudD4ge1xyXG5cdFx0aWYgKGxpbWl0ID4gdGhpcy5fYWNjb3VudHMubGVuZ3RoKSB7XHJcblx0XHRcdGNvbnN0IHN0YXJ0SW5kZXggPVxyXG5cdFx0XHRcdHRoaXMuX2FjY291bnRzLmxlbmd0aCA+IDBcclxuXHRcdFx0XHRcdD8gdGhpcy5hY2NvdW50c1t0aGlzLmFjY291bnRzLmxlbmd0aCAtIDFdLmluZGV4ICsgMVxyXG5cdFx0XHRcdFx0OiAwO1xyXG5cdFx0XHRsaW1pdCA9IGxpbWl0IC0gdGhpcy5fYWNjb3VudHMubGVuZ3RoO1xyXG5cdFx0XHRmb3IgKGxldCBpeCA9IDA7IGl4IDwgbGltaXQ7IGl4KyspIHtcclxuXHRcdFx0XHR0aGlzLl9hY2NvdW50cy5wdXNoKFxyXG5cdFx0XHRcdFx0bmV3IEFjY291bnQodGhpcy5yb290LCB0aGlzLnByb3ZpZGVyLCBzdGFydEluZGV4ICsgaXgsIHRoaXMuc3RyYXRlZ3kpLFxyXG5cdFx0XHRcdCk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdHJldHVybiB0aGlzLl9hY2NvdW50cztcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBhc3luYyBleHBsb3JlQWNjb3VudHMoXHJcblx0XHRsaW1pdCA9IDEsXHJcblx0XHRnYXAgPSBERUZBVUxUX0dBUCxcclxuXHQpOiBQcm9taXNlPEFycmF5PElBY2NvdW50Pj4ge1xyXG5cdFx0aWYgKGxpbWl0ID09PSAwIHx8IGxpbWl0ID4gdGhpcy5hY2NvdW50cy5sZW5ndGgpIHtcclxuXHRcdFx0Y29uc3QgbGFzdEluZGV4ID0gKHg6IEFycmF5PElBY2NvdW50PikgPT5cclxuXHRcdFx0XHROdW1iZXIoeC5sZW5ndGggPiAwID8geFt4Lmxlbmd0aCAtIDFdLmluZGV4ICsgMSA6IDApO1xyXG5cdFx0XHRjb25zdCBzdGFydEluZGV4ID0gbGFzdEluZGV4KHRoaXMuYWNjb3VudHMpO1xyXG5cdFx0XHRmb3IgKFxyXG5cdFx0XHRcdGxldCBpbmRleCA9IHN0YXJ0SW5kZXg7XHJcblx0XHRcdFx0aW5kZXggPCBsYXN0SW5kZXgodGhpcy5hY2NvdW50cykgKyBOdW1iZXIoZ2FwKTtcclxuXHRcdFx0XHRpbmRleCsrXHJcblx0XHRcdCkge1xyXG5cdFx0XHRcdGNvbnN0IGFjY291bnQgPSBuZXcgQWNjb3VudChcclxuXHRcdFx0XHRcdHRoaXMucm9vdCxcclxuXHRcdFx0XHRcdHRoaXMucHJvdmlkZXIsXHJcblx0XHRcdFx0XHRpbmRleCxcclxuXHRcdFx0XHRcdHRoaXMuc3RyYXRlZ3ksXHJcblx0XHRcdFx0KTtcclxuXHRcdFx0XHRpZiAodXRpbHMudG90YWxDb2lucyhhd2FpdCBhY2NvdW50LmdldEJhbGFuY2UoKSkucGVkcm9zID4gMG4pIHtcclxuXHRcdFx0XHRcdHRoaXMuYWNjb3VudHMucHVzaChhY2NvdW50KTtcclxuXHRcdFx0XHRcdGlmIChsaW1pdCAmJiB0aGlzLmFjY291bnRzLmxlbmd0aCA+PSBsaW1pdCkgYnJlYWs7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gdGhpcy5fYWNjb3VudHM7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgZ2V0QWNjb3VudChcclxuXHRcdHBraDogUHVibGljS2V5SGFzaFN0cmluZyxcclxuXHRcdGdhcD86IG51bWJlcixcclxuXHQpOiBJQWNjb3VudCB8IHVuZGVmaW5lZCB7XHJcblx0XHRsZXQgYWNjb3VudCA9IHRoaXMuX2FjY291bnRzLmZpbmQoXHJcblx0XHRcdChhY2NvdW50KSA9PiBhY2NvdW50LmludGVybmFsLnBraCA9PT0gcGtoIHx8IGFjY291bnQucGtoID09PSBwa2gsXHJcblx0XHQpO1xyXG5cdFx0aWYgKCFhY2NvdW50KSB7XHJcblx0XHRcdGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCAoZ2FwIHx8IERFRkFVTFRfR0FQKTsgaW5kZXgrKykge1xyXG5cdFx0XHRcdGFjY291bnQgPSBuZXcgQWNjb3VudCh0aGlzLnJvb3QsIHRoaXMucHJvdmlkZXIsIGluZGV4LCB0aGlzLnN0cmF0ZWd5KTtcclxuXHRcdFx0XHRpZiAoYWNjb3VudC5wa2ggPT09IHBraCB8fCBhY2NvdW50LmludGVybmFsLnBraCA9PT0gcGtoKSB7XHJcblx0XHRcdFx0XHR0aGlzLl9hY2NvdW50cy5wdXNoKGFjY291bnQpO1xyXG5cdFx0XHRcdFx0cmV0dXJuIGFjY291bnQ7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdHJldHVybiB1bmRlZmluZWQ7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRyZXR1cm4gYWNjb3VudDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHB1YmxpYyBnZXRTaWduZXIoXHJcblx0XHRwa2g/OiBQdWJsaWNLZXlIYXNoU3RyaW5nLFxyXG5cdFx0Z2FwPzogbnVtYmVyLFxyXG5cdCk6IElTaWduZXIgfCB1bmRlZmluZWQge1xyXG5cdFx0aWYgKCFwa2gpXHJcblx0XHRcdHJldHVybiB0aGlzLmFjY291bnRzWzBdPy5nZXRTaWduZXIoKSB8fCB0aGlzLmNvaW5iYXNlLmdldFNpZ25lcihwa2gpO1xyXG5cdFx0Y29uc3QgYWNjb3VudCA9IHRoaXMuZ2V0QWNjb3VudChwa2gsIGdhcCk7XHJcblx0XHRyZXR1cm4gYWNjb3VudD8uZ2V0U2lnbmVyKHBraCkgfHwgdGhpcy5jb2luYmFzZS5nZXRTaWduZXIocGtoKTtcclxuXHR9XHJcbn1cclxuIl19
@@ -1,5 +1,6 @@
1
- export * from "./crypto";
2
- export * as Radon from "./radon";
3
- export * from "./rpc";
4
- export * from "./types";
1
+ export * from "./crypto/index.js";
2
+ export * as Radon from "./radon/index.js";
3
+ export * from "./rest/kermit.js";
4
+ export * from "./rpc/index.js";
5
+ export * from "./types.js";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC"}
@@ -1,44 +1,6 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
- };
21
- var __importStar = (this && this.__importStar) || (function () {
22
- var ownKeys = function(o) {
23
- ownKeys = Object.getOwnPropertyNames || function (o) {
24
- var ar = [];
25
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
- return ar;
27
- };
28
- return ownKeys(o);
29
- };
30
- return function (mod) {
31
- if (mod && mod.__esModule) return mod;
32
- var result = {};
33
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
- __setModuleDefault(result, mod);
35
- return result;
36
- };
37
- })();
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.Radon = void 0;
40
- __exportStar(require("./crypto"), exports);
41
- exports.Radon = __importStar(require("./radon"));
42
- __exportStar(require("./rpc"), exports);
43
- __exportStar(require("./types"), exports);
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF3QjtBQUN4QixpREFBZ0M7QUFDaEMsd0NBQXFCO0FBQ3JCLDBDQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2NyeXB0b1wiXHJcbmV4cG9ydCAqIGFzIFJhZG9uIGZyb20gXCIuL3JhZG9uXCJcclxuZXhwb3J0ICogZnJvbSBcIi4vcnBjXCJcclxuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXNcIlxyXG4iXX0=
1
+ export * from "./crypto/index.js";
2
+ export * as Radon from "./radon/index.js";
3
+ export * from "./rest/kermit.js";
4
+ export * from "./rpc/index.js";
5
+ export * from "./types.js";
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsT0FBTyxLQUFLLEtBQUssTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9jcnlwdG8vaW5kZXguanNcIjtcclxuZXhwb3J0ICogYXMgUmFkb24gZnJvbSBcIi4vcmFkb24vaW5kZXguanNcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vcmVzdC9rZXJtaXQuanNcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vcnBjL2luZGV4LmpzXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVzLmpzXCI7XHJcbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { BlockNumber, Bytes, Bytes32, HexString, HexStringOfLength, Wildcard } from ".";
1
+ import type { BlockNumber, Bytes, Bytes32, HexString, HexStringOfLength, Wildcard } from "./index.js";
2
2
  export type EthAddress = HexStringOfLength<40>;
3
3
  export type EthBlockHead = BlockNumber | EthBlockTag | Wildcard;
4
4
  export type EthBlockTag = "latest" | "earliest" | "pending" | "finalized";
@@ -1 +1 @@
1
- {"version":3,"file":"eth.d.ts","sourceRoot":"","sources":["../../../../../src/lib/radon/ccdr/eth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eth.d.ts","sourceRoot":"","sources":["../../../../../src/lib/radon/ccdr/eth.ts"],"names":[],"mappings":"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"}