@bitgo-beta/statics 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.mocharc.js +10 -0
- package/.prettierignore +2 -0
- package/CHANGELOG.md +251 -0
- package/LICENSE +191 -0
- package/README.md +124 -0
- package/dist/resources/aca/index.d.ts +3 -0
- package/dist/resources/aca/index.d.ts.map +1 -0
- package/dist/resources/aca/index.js +15 -0
- package/dist/resources/aca/mainnet.d.ts +2 -0
- package/dist/resources/aca/mainnet.d.ts.map +1 -0
- package/dist/resources/aca/mainnet.js +5 -0
- package/dist/resources/aca/mandala.d.ts +2 -0
- package/dist/resources/aca/mandala.d.ts.map +1 -0
- package/dist/resources/aca/mandala.js +5 -0
- package/dist/resources/dot/index.d.ts +3 -0
- package/dist/resources/dot/index.d.ts.map +1 -0
- package/dist/resources/dot/index.js +15 -0
- package/dist/resources/dot/mainnet.d.ts +2 -0
- package/dist/resources/dot/mainnet.d.ts.map +1 -0
- package/dist/resources/dot/mainnet.js +5 -0
- package/dist/resources/dot/westend.d.ts +2 -0
- package/dist/resources/dot/westend.d.ts.map +1 -0
- package/dist/resources/dot/westend.js +5 -0
- package/dist/src/account.d.ts +676 -0
- package/dist/src/account.d.ts.map +1 -0
- package/dist/src/account.js +1055 -0
- package/dist/src/ada.d.ts +33 -0
- package/dist/src/ada.d.ts.map +1 -0
- package/dist/src/ada.js +55 -0
- package/dist/src/avaxp.d.ts +38 -0
- package/dist/src/avaxp.d.ts.map +1 -0
- package/dist/src/avaxp.js +51 -0
- package/dist/src/base.d.ts +851 -0
- package/dist/src/base.d.ts.map +1 -0
- package/dist/src/base.js +928 -0
- package/dist/src/coins.d.ts +3 -0
- package/dist/src/coins.d.ts.map +1 -0
- package/dist/src/coins.js +978 -0
- package/dist/src/errors.d.ts +31 -0
- package/dist/src/errors.d.ts.map +1 -0
- package/dist/src/errors.js +60 -0
- package/dist/src/index.d.ts +10 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +36 -0
- package/dist/src/map.d.ts +21 -0
- package/dist/src/map.d.ts.map +1 -0
- package/dist/src/map.js +75 -0
- package/dist/src/networks.d.ts +668 -0
- package/dist/src/networks.d.ts.map +1 -0
- package/dist/src/networks.js +838 -0
- package/dist/src/ofc.d.ts +93 -0
- package/dist/src/ofc.d.ts.map +1 -0
- package/dist/src/ofc.js +161 -0
- package/dist/src/tokenConfig.d.ts +129 -0
- package/dist/src/tokenConfig.d.ts.map +1 -0
- package/dist/src/tokenConfig.js +295 -0
- package/dist/src/utxo.d.ts +38 -0
- package/dist/src/utxo.d.ts.map +1 -0
- package/dist/src/utxo.js +55 -0
- package/dist/tsconfig.tsbuildinfo +2021 -0
- package/package.json +41 -0
- package/resources/dot/index.ts +2 -0
- package/resources/dot/mainnet.ts +2 -0
- package/resources/dot/westend.ts +2 -0
package/dist/src/base.js
ADDED
|
@@ -0,0 +1,928 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseCoin = exports.KeyCurve = exports.UnderlyingAsset = exports.CoinFeature = exports.CoinFamily = exports.CoinKind = void 0;
|
|
4
|
+
const errors_1 = require("./errors");
|
|
5
|
+
var CoinKind;
|
|
6
|
+
(function (CoinKind) {
|
|
7
|
+
CoinKind["CRYPTO"] = "crypto";
|
|
8
|
+
CoinKind["FIAT"] = "fiat";
|
|
9
|
+
})(CoinKind = exports.CoinKind || (exports.CoinKind = {}));
|
|
10
|
+
/**
|
|
11
|
+
* The coin family links related variants of a single coin together.
|
|
12
|
+
*
|
|
13
|
+
* Typically, each coin will have a testnet and mainnet variant,
|
|
14
|
+
* and these will both have the same coin family.
|
|
15
|
+
*
|
|
16
|
+
* For example, the coins `btc` and `tbtc` both belong to the same family, `btc`.
|
|
17
|
+
*/
|
|
18
|
+
var CoinFamily;
|
|
19
|
+
(function (CoinFamily) {
|
|
20
|
+
CoinFamily["ADA"] = "ada";
|
|
21
|
+
CoinFamily["ALGO"] = "algo";
|
|
22
|
+
CoinFamily["AVAXC"] = "avaxc";
|
|
23
|
+
CoinFamily["AVAXP"] = "avaxp";
|
|
24
|
+
CoinFamily["BCH"] = "bch";
|
|
25
|
+
CoinFamily["BCHA"] = "bcha";
|
|
26
|
+
CoinFamily["BSC"] = "bsc";
|
|
27
|
+
CoinFamily["BSV"] = "bsv";
|
|
28
|
+
CoinFamily["BTC"] = "btc";
|
|
29
|
+
CoinFamily["BTG"] = "btg";
|
|
30
|
+
CoinFamily["CELO"] = "celo";
|
|
31
|
+
CoinFamily["CSPR"] = "cspr";
|
|
32
|
+
CoinFamily["DASH"] = "dash";
|
|
33
|
+
CoinFamily["DOGE"] = "doge";
|
|
34
|
+
CoinFamily["DOT"] = "dot";
|
|
35
|
+
CoinFamily["ETH"] = "eth";
|
|
36
|
+
CoinFamily["ETH2"] = "eth2";
|
|
37
|
+
CoinFamily["ETHW"] = "ethw";
|
|
38
|
+
CoinFamily["ETC"] = "etc";
|
|
39
|
+
CoinFamily["EOS"] = "eos";
|
|
40
|
+
CoinFamily["FIAT"] = "fiat";
|
|
41
|
+
CoinFamily["HBAR"] = "hbar";
|
|
42
|
+
CoinFamily["LTC"] = "ltc";
|
|
43
|
+
CoinFamily["POLYGON"] = "polygon";
|
|
44
|
+
CoinFamily["NEAR"] = "near";
|
|
45
|
+
CoinFamily["OFC"] = "ofc";
|
|
46
|
+
CoinFamily["RBTC"] = "rbtc";
|
|
47
|
+
CoinFamily["SOL"] = "sol";
|
|
48
|
+
CoinFamily["SUI"] = "sui";
|
|
49
|
+
CoinFamily["STX"] = "stx";
|
|
50
|
+
CoinFamily["SUSD"] = "susd";
|
|
51
|
+
CoinFamily["TRX"] = "trx";
|
|
52
|
+
CoinFamily["XLM"] = "xlm";
|
|
53
|
+
CoinFamily["XRP"] = "xrp";
|
|
54
|
+
CoinFamily["XTZ"] = "xtz";
|
|
55
|
+
CoinFamily["ZEC"] = "zec";
|
|
56
|
+
})(CoinFamily = exports.CoinFamily || (exports.CoinFamily = {}));
|
|
57
|
+
/**
|
|
58
|
+
* Coin features are yes or no questions about what a coin requires or is capable of.
|
|
59
|
+
*
|
|
60
|
+
* This allows coin-agnostic handling of coin-specific features. This is designed
|
|
61
|
+
* to replace checking the coin name against a whitelist of supported coins
|
|
62
|
+
* before executing some coin-specific logic, and instead allows one to check if a
|
|
63
|
+
* coin supports the coin-specific feature that the logic implements.
|
|
64
|
+
*/
|
|
65
|
+
var CoinFeature;
|
|
66
|
+
(function (CoinFeature) {
|
|
67
|
+
/*
|
|
68
|
+
* The valueless transfer feature indicates that it is valid to send a transaction which moves zero units of the coin.
|
|
69
|
+
*
|
|
70
|
+
* An example is Ethereum, which uses zero value transactions to trigger contract calls.
|
|
71
|
+
*/
|
|
72
|
+
CoinFeature["VALUELESS_TRANSFER"] = "valueless-transfer";
|
|
73
|
+
/*
|
|
74
|
+
* Transaction data means there can be arbitrary data encoded in a transaction.
|
|
75
|
+
*
|
|
76
|
+
* Ethereum contract call data is an example.
|
|
77
|
+
*/
|
|
78
|
+
CoinFeature["TRANSACTION_DATA"] = "transaction-data";
|
|
79
|
+
/*
|
|
80
|
+
* Some coins have a higher precision range than IEEE 754 doubles, which are used to represent numbers in javascript.
|
|
81
|
+
*
|
|
82
|
+
* For these coins, we must use an arbitrary precision arithmetic library, and this feature indicates this requirement.
|
|
83
|
+
*/
|
|
84
|
+
CoinFeature["REQUIRES_BIG_NUMBER"] = "requires-big-number";
|
|
85
|
+
/*
|
|
86
|
+
* RMG requires all wallets to have a backup key held by a BitGo approved Key Recovery Service (KRS)
|
|
87
|
+
*/
|
|
88
|
+
CoinFeature["REQUIRES_KRS_BACKUP_KEY"] = "requires-krs-backup-key";
|
|
89
|
+
/*
|
|
90
|
+
* For customers which are not on a postpaid contract, we add an extra output to transactions which pays BitGo a fee.
|
|
91
|
+
*
|
|
92
|
+
* This fee is known as the "pay-as-you-go fee", or just "paygo" for short.
|
|
93
|
+
*
|
|
94
|
+
* Some coins are unable to create transactions with more than one output, so paygo outputs are not possible for these coins.
|
|
95
|
+
*/
|
|
96
|
+
CoinFeature["PAYGO"] = "paygo";
|
|
97
|
+
/*
|
|
98
|
+
* Does this coin align with the unspent model?
|
|
99
|
+
*
|
|
100
|
+
* These are typically Bitcoin and forks of it, such as Litecoin and Bitcoin Cash.
|
|
101
|
+
*/
|
|
102
|
+
CoinFeature["UNSPENT_MODEL"] = "unspent-model";
|
|
103
|
+
/*
|
|
104
|
+
* Does this coin align with the account model?
|
|
105
|
+
*
|
|
106
|
+
* Examples of this coin type are Ethereum, XRP, and Stellar
|
|
107
|
+
*/
|
|
108
|
+
CoinFeature["ACCOUNT_MODEL"] = "account-model";
|
|
109
|
+
/*
|
|
110
|
+
* Does this coin support child-pays-for-parent transactions?
|
|
111
|
+
*
|
|
112
|
+
* These are special types of transactions which can accelerate the confirmation time
|
|
113
|
+
* of another transaction which is stuck in the mempool due to low fees.
|
|
114
|
+
*
|
|
115
|
+
* This is only possible for coins which follow the unspent model (UTXO coins).
|
|
116
|
+
*/
|
|
117
|
+
CoinFeature["CHILD_PAYS_FOR_PARENT"] = "cpfp";
|
|
118
|
+
/*
|
|
119
|
+
* Does this coin support tokens? These are distinct assets from the underlying coin, but run on the same network.
|
|
120
|
+
*
|
|
121
|
+
* For example, Ethereum's ERC 20 token standard means that it supports tokens, so it shall have this feature.
|
|
122
|
+
*/
|
|
123
|
+
CoinFeature["SUPPORTS_TOKENS"] = "supports-tokens";
|
|
124
|
+
/*
|
|
125
|
+
* Are fees for transactions of this coin paid for by the Enterprise (eg, Enterprise gas tank)?
|
|
126
|
+
*/
|
|
127
|
+
CoinFeature["ENTERPRISE_PAYS_FEES"] = "enterprise-pays-fees";
|
|
128
|
+
/*
|
|
129
|
+
* This coin requires that accounts keep a minimum balance as reserve
|
|
130
|
+
*/
|
|
131
|
+
CoinFeature["REQUIRES_RESERVE"] = "requires-reserve";
|
|
132
|
+
/*
|
|
133
|
+
* This coin supports custodial wallet types
|
|
134
|
+
*/
|
|
135
|
+
CoinFeature["CUSTODY"] = "custody";
|
|
136
|
+
/*
|
|
137
|
+
This coin uses TSS for key creation and signing
|
|
138
|
+
*/
|
|
139
|
+
CoinFeature["TSS"] = "tss";
|
|
140
|
+
/*
|
|
141
|
+
* This coin supports staking
|
|
142
|
+
*/
|
|
143
|
+
CoinFeature["STAKING"] = "staking";
|
|
144
|
+
})(CoinFeature = exports.CoinFeature || (exports.CoinFeature = {}));
|
|
145
|
+
/**
|
|
146
|
+
* Some coins are representations of another underlying asset class. An example
|
|
147
|
+
* is Wrapped Bitcoin, which represents Bitcoin on the Ethereum blockchain.
|
|
148
|
+
*
|
|
149
|
+
* For these coins, the `UnderlyingAsset` provides a link to the actual
|
|
150
|
+
* asset for which the coin is a unit of account.
|
|
151
|
+
*/
|
|
152
|
+
var UnderlyingAsset;
|
|
153
|
+
(function (UnderlyingAsset) {
|
|
154
|
+
UnderlyingAsset["ADA"] = "ada";
|
|
155
|
+
UnderlyingAsset["ALGO"] = "algo";
|
|
156
|
+
UnderlyingAsset["APE"] = "ape";
|
|
157
|
+
UnderlyingAsset["API3"] = "api3";
|
|
158
|
+
UnderlyingAsset["AVAXC"] = "avaxc";
|
|
159
|
+
UnderlyingAsset["AVAXP"] = "avaxp";
|
|
160
|
+
UnderlyingAsset["AXL"] = "AXL";
|
|
161
|
+
UnderlyingAsset["BCH"] = "bch";
|
|
162
|
+
UnderlyingAsset["BCHA"] = "bcha";
|
|
163
|
+
UnderlyingAsset["BSC"] = "bsc";
|
|
164
|
+
UnderlyingAsset["BSV"] = "bsv";
|
|
165
|
+
UnderlyingAsset["BTC"] = "btc";
|
|
166
|
+
UnderlyingAsset["BTG"] = "btg";
|
|
167
|
+
UnderlyingAsset["DASH"] = "dash";
|
|
168
|
+
UnderlyingAsset["DOT"] = "dot";
|
|
169
|
+
UnderlyingAsset["CELO"] = "celo";
|
|
170
|
+
UnderlyingAsset["CSPR"] = "cspr";
|
|
171
|
+
UnderlyingAsset["ETH"] = "eth";
|
|
172
|
+
UnderlyingAsset["ETH2"] = "eth2";
|
|
173
|
+
UnderlyingAsset["ETHW"] = "ethw";
|
|
174
|
+
UnderlyingAsset["ETC"] = "etc";
|
|
175
|
+
UnderlyingAsset["EOS"] = "eos";
|
|
176
|
+
UnderlyingAsset["ERD"] = "erd";
|
|
177
|
+
UnderlyingAsset["EUR"] = "eur";
|
|
178
|
+
UnderlyingAsset["EUROC"] = "euroc";
|
|
179
|
+
UnderlyingAsset["GBP"] = "gbp";
|
|
180
|
+
UnderlyingAsset["GTC"] = "gtc";
|
|
181
|
+
UnderlyingAsset["GTETH"] = "gteth";
|
|
182
|
+
UnderlyingAsset["HBAR"] = "hbar";
|
|
183
|
+
UnderlyingAsset["LTC"] = "ltc";
|
|
184
|
+
UnderlyingAsset["NEAR"] = "near";
|
|
185
|
+
UnderlyingAsset["POLYGON"] = "polygon";
|
|
186
|
+
UnderlyingAsset["RBTC"] = "rbtc";
|
|
187
|
+
UnderlyingAsset["SOL"] = "sol";
|
|
188
|
+
UnderlyingAsset["SUI"] = "sui";
|
|
189
|
+
UnderlyingAsset["STX"] = "stx";
|
|
190
|
+
UnderlyingAsset["TRX"] = "trx";
|
|
191
|
+
UnderlyingAsset["USD"] = "usd";
|
|
192
|
+
UnderlyingAsset["XLM"] = "xlm";
|
|
193
|
+
UnderlyingAsset["XRP"] = "xrp";
|
|
194
|
+
UnderlyingAsset["XTZ"] = "xtz";
|
|
195
|
+
UnderlyingAsset["ZEC"] = "zec";
|
|
196
|
+
// ERC 20 tokens
|
|
197
|
+
UnderlyingAsset["1INCH"] = "1inch";
|
|
198
|
+
UnderlyingAsset["1UP"] = "1up";
|
|
199
|
+
UnderlyingAsset["AAVE"] = "aave";
|
|
200
|
+
UnderlyingAsset["ABT"] = "abt";
|
|
201
|
+
UnderlyingAsset["ACE"] = "ace";
|
|
202
|
+
UnderlyingAsset["ACXT"] = "acxt";
|
|
203
|
+
UnderlyingAsset["ACH"] = "ach";
|
|
204
|
+
UnderlyingAsset["AE"] = "ae";
|
|
205
|
+
UnderlyingAsset["AERGO"] = "aergo";
|
|
206
|
+
UnderlyingAsset["AERGO1"] = "aergo1";
|
|
207
|
+
UnderlyingAsset["AGWD"] = "agwd";
|
|
208
|
+
UnderlyingAsset["AION"] = "aion";
|
|
209
|
+
UnderlyingAsset["ALI"] = "ali";
|
|
210
|
+
UnderlyingAsset["ALPHA"] = "alpha";
|
|
211
|
+
UnderlyingAsset["AMN"] = "amn";
|
|
212
|
+
UnderlyingAsset["AMO"] = "amo";
|
|
213
|
+
UnderlyingAsset["AMP"] = "amp";
|
|
214
|
+
UnderlyingAsset["AMON"] = "amon";
|
|
215
|
+
UnderlyingAsset["AMPX"] = "ampx";
|
|
216
|
+
UnderlyingAsset["ANA"] = "ana";
|
|
217
|
+
UnderlyingAsset["ANT"] = "ant";
|
|
218
|
+
UnderlyingAsset["ANTV2"] = "antv2";
|
|
219
|
+
UnderlyingAsset["AOA"] = "aoa";
|
|
220
|
+
UnderlyingAsset["APPC"] = "appc";
|
|
221
|
+
UnderlyingAsset["AQT"] = "aqt";
|
|
222
|
+
UnderlyingAsset["ARCT"] = "arct";
|
|
223
|
+
UnderlyingAsset["ARCX"] = "arcx";
|
|
224
|
+
UnderlyingAsset["AST"] = "ast";
|
|
225
|
+
UnderlyingAsset["ATRI"] = "atri";
|
|
226
|
+
UnderlyingAsset["AUDIO"] = "audio";
|
|
227
|
+
UnderlyingAsset["AUDX"] = "audx";
|
|
228
|
+
UnderlyingAsset["AUST"] = "aust";
|
|
229
|
+
UnderlyingAsset["AKRO"] = "akro";
|
|
230
|
+
UnderlyingAsset["AXPR"] = "axpr";
|
|
231
|
+
UnderlyingAsset["AXS"] = "axs";
|
|
232
|
+
UnderlyingAsset["AXSV2"] = "axsv2";
|
|
233
|
+
UnderlyingAsset["BADGER"] = "badger";
|
|
234
|
+
UnderlyingAsset["BAL"] = "bal";
|
|
235
|
+
UnderlyingAsset["BAND"] = "band";
|
|
236
|
+
UnderlyingAsset["BASIC"] = "basic";
|
|
237
|
+
UnderlyingAsset["BAT"] = "bat";
|
|
238
|
+
UnderlyingAsset["BAX"] = "bax";
|
|
239
|
+
UnderlyingAsset["BBX"] = "bbx";
|
|
240
|
+
UnderlyingAsset["BCAP"] = "bcap";
|
|
241
|
+
UnderlyingAsset["BCC"] = "bcc";
|
|
242
|
+
UnderlyingAsset["BCIO"] = "bcio";
|
|
243
|
+
UnderlyingAsset["BED"] = "bed";
|
|
244
|
+
UnderlyingAsset["BEPRO"] = "bepro";
|
|
245
|
+
UnderlyingAsset["BICO"] = "bico";
|
|
246
|
+
UnderlyingAsset["BID"] = "bid";
|
|
247
|
+
UnderlyingAsset["BIDL"] = "bidl";
|
|
248
|
+
UnderlyingAsset["BIRD"] = "bird";
|
|
249
|
+
UnderlyingAsset["BIT"] = "bit";
|
|
250
|
+
UnderlyingAsset["BNB"] = "bnb";
|
|
251
|
+
UnderlyingAsset["BNK"] = "bnk";
|
|
252
|
+
UnderlyingAsset["BNL"] = "bnl";
|
|
253
|
+
UnderlyingAsset["BNT"] = "bnt";
|
|
254
|
+
UnderlyingAsset["BNTY"] = "bnty";
|
|
255
|
+
UnderlyingAsset["BOND"] = "bond";
|
|
256
|
+
UnderlyingAsset["BLOCKS"] = "blocks";
|
|
257
|
+
UnderlyingAsset["BOX"] = "box";
|
|
258
|
+
UnderlyingAsset["BOBA"] = "boba";
|
|
259
|
+
UnderlyingAsset["BRD"] = "brd";
|
|
260
|
+
UnderlyingAsset["BRZ"] = "brz";
|
|
261
|
+
UnderlyingAsset["BST"] = "bst";
|
|
262
|
+
UnderlyingAsset["BSX"] = "bsx";
|
|
263
|
+
UnderlyingAsset["BTRST"] = "btrst";
|
|
264
|
+
UnderlyingAsset["BTT"] = "btt";
|
|
265
|
+
UnderlyingAsset["BTU"] = "btu";
|
|
266
|
+
UnderlyingAsset["BURP"] = "burp";
|
|
267
|
+
UnderlyingAsset["BUSD"] = "busd";
|
|
268
|
+
UnderlyingAsset["BUY"] = "buy";
|
|
269
|
+
UnderlyingAsset["BPT"] = "bpt";
|
|
270
|
+
UnderlyingAsset["BXX"] = "bxx";
|
|
271
|
+
UnderlyingAsset["BXXV1"] = "bxxv1";
|
|
272
|
+
UnderlyingAsset["BZZ"] = "bzz";
|
|
273
|
+
UnderlyingAsset["C8P"] = "c8p";
|
|
274
|
+
UnderlyingAsset["CACXT"] = "cacxt";
|
|
275
|
+
UnderlyingAsset["CADX"] = "cadx";
|
|
276
|
+
UnderlyingAsset["CAG"] = "cag";
|
|
277
|
+
UnderlyingAsset["CBAT"] = "cbat";
|
|
278
|
+
UnderlyingAsset["CBC"] = "cbc";
|
|
279
|
+
UnderlyingAsset["CBRL"] = "cbrl";
|
|
280
|
+
UnderlyingAsset["CCT"] = "cct";
|
|
281
|
+
UnderlyingAsset["CDAG"] = "cdag";
|
|
282
|
+
UnderlyingAsset["CDAI"] = "cdai";
|
|
283
|
+
UnderlyingAsset["CDT"] = "cdt";
|
|
284
|
+
UnderlyingAsset["CEL"] = "cel";
|
|
285
|
+
UnderlyingAsset["CELR"] = "celr";
|
|
286
|
+
UnderlyingAsset["CETH"] = "ceth";
|
|
287
|
+
UnderlyingAsset["CHO"] = "cho";
|
|
288
|
+
UnderlyingAsset["CHFX"] = "chfx";
|
|
289
|
+
UnderlyingAsset["CHSB"] = "chsb";
|
|
290
|
+
UnderlyingAsset["CHZ"] = "chz";
|
|
291
|
+
UnderlyingAsset["CIX100"] = "cix100";
|
|
292
|
+
UnderlyingAsset["CLIQ"] = "cliq";
|
|
293
|
+
UnderlyingAsset["CLN"] = "cln";
|
|
294
|
+
UnderlyingAsset["CLT"] = "clt";
|
|
295
|
+
UnderlyingAsset["CLV"] = "clv";
|
|
296
|
+
UnderlyingAsset["CNG"] = "cng";
|
|
297
|
+
UnderlyingAsset["CNYX"] = "cnyx";
|
|
298
|
+
UnderlyingAsset["COMP"] = "comp";
|
|
299
|
+
UnderlyingAsset["COTI"] = "coti";
|
|
300
|
+
UnderlyingAsset["COVER"] = "cover";
|
|
301
|
+
UnderlyingAsset["CPAY"] = "cpay";
|
|
302
|
+
UnderlyingAsset["CPLT"] = "cplt";
|
|
303
|
+
UnderlyingAsset["CQT"] = "cqt";
|
|
304
|
+
UnderlyingAsset["CQX"] = "cqx";
|
|
305
|
+
UnderlyingAsset["CRA"] = "cra";
|
|
306
|
+
UnderlyingAsset["CRDT"] = "crdt";
|
|
307
|
+
UnderlyingAsset["CRE"] = "cre";
|
|
308
|
+
UnderlyingAsset["CREAM"] = "cream";
|
|
309
|
+
UnderlyingAsset["CREP"] = "crep";
|
|
310
|
+
UnderlyingAsset["CRO"] = "cro";
|
|
311
|
+
UnderlyingAsset["CRV"] = "crv";
|
|
312
|
+
UnderlyingAsset["CRPT"] = "crpt";
|
|
313
|
+
UnderlyingAsset["CRPT1"] = "crpt1";
|
|
314
|
+
UnderlyingAsset["CSLV"] = "cslv";
|
|
315
|
+
UnderlyingAsset["CSP"] = "csp";
|
|
316
|
+
UnderlyingAsset["CTSI"] = "ctsi";
|
|
317
|
+
UnderlyingAsset["CUSD"] = "cusd";
|
|
318
|
+
UnderlyingAsset["CUSDC"] = "cusdc";
|
|
319
|
+
UnderlyingAsset["CWBTC"] = "cwbtc";
|
|
320
|
+
UnderlyingAsset["CVC"] = "cvc";
|
|
321
|
+
UnderlyingAsset["CVX"] = "cvx";
|
|
322
|
+
UnderlyingAsset["CZRX"] = "czrx";
|
|
323
|
+
UnderlyingAsset["DACXI"] = "dacxi";
|
|
324
|
+
UnderlyingAsset["DAI"] = "dai";
|
|
325
|
+
UnderlyingAsset["DAO"] = "dao";
|
|
326
|
+
UnderlyingAsset["DATA"] = "data";
|
|
327
|
+
UnderlyingAsset["DATAV2"] = "datav2";
|
|
328
|
+
UnderlyingAsset["DATAECON"] = "dataecon";
|
|
329
|
+
UnderlyingAsset["DEC"] = "dec";
|
|
330
|
+
UnderlyingAsset["DENT"] = "dent";
|
|
331
|
+
UnderlyingAsset["DEP"] = "dep";
|
|
332
|
+
UnderlyingAsset["DEXA"] = "dexa";
|
|
333
|
+
UnderlyingAsset["DFD"] = "dfd";
|
|
334
|
+
UnderlyingAsset["DFI"] = "dfi";
|
|
335
|
+
UnderlyingAsset["DGCL"] = "dgcl";
|
|
336
|
+
UnderlyingAsset["DGD"] = "dgd";
|
|
337
|
+
UnderlyingAsset["DGX"] = "dgx";
|
|
338
|
+
UnderlyingAsset["DIGG"] = "digg";
|
|
339
|
+
UnderlyingAsset["DIA"] = "dia";
|
|
340
|
+
UnderlyingAsset["DMT"] = "dmt";
|
|
341
|
+
UnderlyingAsset["DODO"] = "dodo";
|
|
342
|
+
UnderlyingAsset["DOGE"] = "doge";
|
|
343
|
+
UnderlyingAsset["DPI"] = "dpi";
|
|
344
|
+
UnderlyingAsset["DRPU"] = "drpu";
|
|
345
|
+
UnderlyingAsset["DRV"] = "drv";
|
|
346
|
+
UnderlyingAsset["DUC"] = "duc";
|
|
347
|
+
UnderlyingAsset["DX1U"] = "dx1u";
|
|
348
|
+
UnderlyingAsset["DXGT"] = "dxgt";
|
|
349
|
+
UnderlyingAsset["DXPT"] = "dxpt";
|
|
350
|
+
UnderlyingAsset["DXST"] = "dxst";
|
|
351
|
+
UnderlyingAsset["DYDX"] = "dydx";
|
|
352
|
+
UnderlyingAsset["DYN"] = "dyn";
|
|
353
|
+
UnderlyingAsset["EASY"] = "easy";
|
|
354
|
+
UnderlyingAsset["EBTCQ"] = "ebtcq";
|
|
355
|
+
UnderlyingAsset["ECHT"] = "echt";
|
|
356
|
+
UnderlyingAsset["EDISON"] = "edison";
|
|
357
|
+
UnderlyingAsset["EDN"] = "edn";
|
|
358
|
+
UnderlyingAsset["EDR"] = "edr";
|
|
359
|
+
UnderlyingAsset["EFI"] = "efi";
|
|
360
|
+
UnderlyingAsset["EGL"] = "egl";
|
|
361
|
+
UnderlyingAsset["EGLD"] = "egld";
|
|
362
|
+
UnderlyingAsset["EGOLD"] = "egold";
|
|
363
|
+
UnderlyingAsset["ELF"] = "elf";
|
|
364
|
+
UnderlyingAsset["EMX"] = "emx";
|
|
365
|
+
UnderlyingAsset["ENG"] = "eng";
|
|
366
|
+
UnderlyingAsset["ENJ"] = "enj";
|
|
367
|
+
UnderlyingAsset["ENS"] = "ens";
|
|
368
|
+
UnderlyingAsset["EQO"] = "eqo";
|
|
369
|
+
UnderlyingAsset["ETA"] = "eta";
|
|
370
|
+
UnderlyingAsset["ETHOS"] = "ethos";
|
|
371
|
+
UnderlyingAsset["ETV"] = "etv";
|
|
372
|
+
UnderlyingAsset["EURS"] = "eurs";
|
|
373
|
+
UnderlyingAsset["EURST"] = "eurst";
|
|
374
|
+
UnderlyingAsset["EURT"] = "eurt";
|
|
375
|
+
UnderlyingAsset["EURX"] = "eurx";
|
|
376
|
+
UnderlyingAsset["EUX"] = "eux";
|
|
377
|
+
UnderlyingAsset["EVX"] = "evx";
|
|
378
|
+
UnderlyingAsset["EXE"] = "exe";
|
|
379
|
+
UnderlyingAsset["FEI"] = "fei";
|
|
380
|
+
UnderlyingAsset["FET"] = "fet";
|
|
381
|
+
UnderlyingAsset["FET1"] = "fet1";
|
|
382
|
+
UnderlyingAsset["FDT"] = "fdt";
|
|
383
|
+
UnderlyingAsset["FF1"] = "ff1";
|
|
384
|
+
UnderlyingAsset["FFT"] = "fft";
|
|
385
|
+
UnderlyingAsset["FIRE"] = "fire";
|
|
386
|
+
UnderlyingAsset["FIXED"] = "fixed";
|
|
387
|
+
UnderlyingAsset["FLY"] = "fly";
|
|
388
|
+
UnderlyingAsset["FMF"] = "fmf";
|
|
389
|
+
UnderlyingAsset["FORTH"] = "forth";
|
|
390
|
+
UnderlyingAsset["FRONT"] = "front";
|
|
391
|
+
UnderlyingAsset["FTM"] = "ftm";
|
|
392
|
+
UnderlyingAsset["FTT"] = "ftt";
|
|
393
|
+
UnderlyingAsset["FUN"] = "fun";
|
|
394
|
+
UnderlyingAsset["FWB"] = "fwb";
|
|
395
|
+
UnderlyingAsset["FXRT"] = "fxrt";
|
|
396
|
+
UnderlyingAsset["FXS"] = "fxs";
|
|
397
|
+
UnderlyingAsset["GAL"] = "gal";
|
|
398
|
+
UnderlyingAsset["GALA"] = "gala";
|
|
399
|
+
UnderlyingAsset["GAMMA"] = "gamma";
|
|
400
|
+
UnderlyingAsset["GBPX"] = "gbpx";
|
|
401
|
+
UnderlyingAsset["GDT"] = "gdt";
|
|
402
|
+
UnderlyingAsset["GEC"] = "gec";
|
|
403
|
+
UnderlyingAsset["GEN"] = "gen";
|
|
404
|
+
UnderlyingAsset["GFI"] = "gfi";
|
|
405
|
+
UnderlyingAsset["GHUB"] = "ghub";
|
|
406
|
+
UnderlyingAsset["GIGDROP"] = "gigdrop";
|
|
407
|
+
UnderlyingAsset["GLDX"] = "gldx";
|
|
408
|
+
UnderlyingAsset["GLM"] = "glm";
|
|
409
|
+
UnderlyingAsset["GMT"] = "gmt";
|
|
410
|
+
UnderlyingAsset["GNO"] = "gno";
|
|
411
|
+
UnderlyingAsset["GNT"] = "gnt";
|
|
412
|
+
UnderlyingAsset["GODS"] = "gods";
|
|
413
|
+
UnderlyingAsset["GOG"] = "gog";
|
|
414
|
+
UnderlyingAsset["GOLD"] = "gold";
|
|
415
|
+
UnderlyingAsset["GOT"] = "got";
|
|
416
|
+
UnderlyingAsset["GRT"] = "grt";
|
|
417
|
+
UnderlyingAsset["GTAAVE18DP"] = "gtaave18dp";
|
|
418
|
+
UnderlyingAsset["GTBAT18DP"] = "gtbat18dp";
|
|
419
|
+
UnderlyingAsset["GTCOMP18DP"] = "gtcomp18dp";
|
|
420
|
+
UnderlyingAsset["GTGRT18DP"] = "gtgrt18dp";
|
|
421
|
+
UnderlyingAsset["GTLINK18DP"] = "gtlink18dp";
|
|
422
|
+
UnderlyingAsset["GTMKR18DP"] = "gtmkr18dp";
|
|
423
|
+
UnderlyingAsset["GTSNX18DP"] = "gtsnx18dp";
|
|
424
|
+
UnderlyingAsset["GTUNI18DP"] = "gtuni18dp";
|
|
425
|
+
UnderlyingAsset["GTUSDT6DP"] = "gtusdt6dp";
|
|
426
|
+
UnderlyingAsset["GTYFI18DP"] = "gtyfi18dp";
|
|
427
|
+
UnderlyingAsset["GTWBTC8DP"] = "gtwbtc8dp";
|
|
428
|
+
UnderlyingAsset["GTO"] = "gto";
|
|
429
|
+
UnderlyingAsset["GTERC2DP"] = "gterc2dp";
|
|
430
|
+
UnderlyingAsset["GTERC6DP"] = "gterc6dp";
|
|
431
|
+
UnderlyingAsset["GTERC18DP"] = "gterc18dp";
|
|
432
|
+
UnderlyingAsset["GUSD"] = "gusd";
|
|
433
|
+
UnderlyingAsset["GUSDT"] = "gusdt";
|
|
434
|
+
UnderlyingAsset["GXC"] = "gxc";
|
|
435
|
+
UnderlyingAsset["GYEN"] = "gyen";
|
|
436
|
+
UnderlyingAsset["HCN"] = "hcn";
|
|
437
|
+
UnderlyingAsset["HDO"] = "hdo";
|
|
438
|
+
UnderlyingAsset["HEDG"] = "hedg";
|
|
439
|
+
UnderlyingAsset["HKDX"] = "hkdx";
|
|
440
|
+
UnderlyingAsset["HLC"] = "hlc";
|
|
441
|
+
UnderlyingAsset["HMT"] = "hmt";
|
|
442
|
+
UnderlyingAsset["HOLD"] = "hold";
|
|
443
|
+
UnderlyingAsset["HOT"] = "hot";
|
|
444
|
+
UnderlyingAsset["HQT"] = "hqt";
|
|
445
|
+
UnderlyingAsset["HST"] = "hst";
|
|
446
|
+
UnderlyingAsset["HT"] = "ht";
|
|
447
|
+
UnderlyingAsset["HUM"] = "hum";
|
|
448
|
+
UnderlyingAsset["HUSD"] = "husd";
|
|
449
|
+
UnderlyingAsset["HXRO"] = "hxro";
|
|
450
|
+
UnderlyingAsset["HYB"] = "hyb";
|
|
451
|
+
UnderlyingAsset["HYDRO"] = "hydro";
|
|
452
|
+
UnderlyingAsset["I8"] = "i8";
|
|
453
|
+
UnderlyingAsset["ICETH"] = "iceth";
|
|
454
|
+
UnderlyingAsset["IDEX"] = "idex";
|
|
455
|
+
UnderlyingAsset["IDRC"] = "idrc";
|
|
456
|
+
UnderlyingAsset["IDRT"] = "idrt";
|
|
457
|
+
UnderlyingAsset["IMX"] = "imx";
|
|
458
|
+
UnderlyingAsset["IMXV2"] = "imxv2";
|
|
459
|
+
UnderlyingAsset["INCX"] = "incx";
|
|
460
|
+
UnderlyingAsset["IND"] = "ind";
|
|
461
|
+
UnderlyingAsset["INDEX"] = "index";
|
|
462
|
+
UnderlyingAsset["INF"] = "inf";
|
|
463
|
+
UnderlyingAsset["INJ"] = "inj";
|
|
464
|
+
UnderlyingAsset["INJV2"] = "injv2";
|
|
465
|
+
UnderlyingAsset["INST"] = "inst";
|
|
466
|
+
UnderlyingAsset["INX"] = "inx";
|
|
467
|
+
UnderlyingAsset["ISF"] = "isf";
|
|
468
|
+
UnderlyingAsset["ISR"] = "isr";
|
|
469
|
+
UnderlyingAsset["IVO"] = "ivo";
|
|
470
|
+
UnderlyingAsset["IVY"] = "ivy";
|
|
471
|
+
UnderlyingAsset["JBC"] = "jbc";
|
|
472
|
+
UnderlyingAsset["JCR"] = "jcr";
|
|
473
|
+
UnderlyingAsset["JCG"] = "jcg";
|
|
474
|
+
UnderlyingAsset["JFIN"] = "jfin";
|
|
475
|
+
UnderlyingAsset["JPYX"] = "jpyx";
|
|
476
|
+
UnderlyingAsset["KEEP"] = "keep";
|
|
477
|
+
UnderlyingAsset["KEY"] = "key";
|
|
478
|
+
UnderlyingAsset["KIN"] = "kin";
|
|
479
|
+
UnderlyingAsset["KIRO"] = "kiro";
|
|
480
|
+
UnderlyingAsset["KNC"] = "knc";
|
|
481
|
+
UnderlyingAsset["KNC2"] = "knc2";
|
|
482
|
+
UnderlyingAsset["KOIN"] = "koin";
|
|
483
|
+
UnderlyingAsset["KOZ"] = "koz";
|
|
484
|
+
UnderlyingAsset["KP3R"] = "kp3r";
|
|
485
|
+
UnderlyingAsset["KZE"] = "kze";
|
|
486
|
+
UnderlyingAsset["LAYER"] = "layer";
|
|
487
|
+
UnderlyingAsset["LBA"] = "lba";
|
|
488
|
+
UnderlyingAsset["LEND"] = "lend";
|
|
489
|
+
UnderlyingAsset["LEO"] = "leo";
|
|
490
|
+
UnderlyingAsset["LGO"] = "lgo";
|
|
491
|
+
UnderlyingAsset["LINK"] = "link";
|
|
492
|
+
UnderlyingAsset["LION"] = "lion";
|
|
493
|
+
UnderlyingAsset["LNC"] = "lnc";
|
|
494
|
+
UnderlyingAsset["LOOKS"] = "looks";
|
|
495
|
+
UnderlyingAsset["LOOM"] = "loom";
|
|
496
|
+
UnderlyingAsset["LOOM1"] = "loom1";
|
|
497
|
+
UnderlyingAsset["LRC"] = "lrc";
|
|
498
|
+
UnderlyingAsset["LRCV2"] = "lrcv2";
|
|
499
|
+
UnderlyingAsset["LYN"] = "lyn";
|
|
500
|
+
UnderlyingAsset["MANA"] = "mana";
|
|
501
|
+
UnderlyingAsset["MAPS"] = "maps";
|
|
502
|
+
UnderlyingAsset["MATIC"] = "matic";
|
|
503
|
+
UnderlyingAsset["MCAU"] = "mcau";
|
|
504
|
+
UnderlyingAsset["MCDAI"] = "mcdai";
|
|
505
|
+
UnderlyingAsset["MCO"] = "mco";
|
|
506
|
+
UnderlyingAsset["MCO2"] = "mco2";
|
|
507
|
+
UnderlyingAsset["MCS"] = "mcs";
|
|
508
|
+
UnderlyingAsset["MCX"] = "mcx";
|
|
509
|
+
UnderlyingAsset["MDFC"] = "mdfc";
|
|
510
|
+
UnderlyingAsset["MDX"] = "mdx";
|
|
511
|
+
UnderlyingAsset["MEDX"] = "medx";
|
|
512
|
+
UnderlyingAsset["MEME"] = "meme";
|
|
513
|
+
UnderlyingAsset["MET"] = "met";
|
|
514
|
+
UnderlyingAsset["META"] = "meta";
|
|
515
|
+
UnderlyingAsset["MFG"] = "mfg";
|
|
516
|
+
UnderlyingAsset["MFPH"] = "mfph";
|
|
517
|
+
UnderlyingAsset["MFT"] = "mft";
|
|
518
|
+
UnderlyingAsset["MILKV2"] = "milkv2";
|
|
519
|
+
UnderlyingAsset["MIR"] = "mir";
|
|
520
|
+
UnderlyingAsset["MITH"] = "mith";
|
|
521
|
+
UnderlyingAsset["MIX"] = "mix";
|
|
522
|
+
UnderlyingAsset["MIZN"] = "mizn";
|
|
523
|
+
UnderlyingAsset["MKR"] = "mkr";
|
|
524
|
+
UnderlyingAsset["MNS"] = "mns";
|
|
525
|
+
UnderlyingAsset["MNDE"] = "mnde";
|
|
526
|
+
UnderlyingAsset["MOC"] = "moc";
|
|
527
|
+
UnderlyingAsset["MOF"] = "mof";
|
|
528
|
+
UnderlyingAsset["MPAY"] = "mpay";
|
|
529
|
+
UnderlyingAsset["MPL"] = "mpl";
|
|
530
|
+
UnderlyingAsset["MTCN"] = "mtcn";
|
|
531
|
+
UnderlyingAsset["MTL"] = "mtl";
|
|
532
|
+
UnderlyingAsset["MUSD"] = "musd";
|
|
533
|
+
UnderlyingAsset["MVL"] = "mvl";
|
|
534
|
+
UnderlyingAsset["MVI"] = "mvi";
|
|
535
|
+
UnderlyingAsset["MWT"] = "mwt";
|
|
536
|
+
UnderlyingAsset["NAS"] = "nas";
|
|
537
|
+
UnderlyingAsset["NCT"] = "nct";
|
|
538
|
+
UnderlyingAsset["NDX"] = "ndx";
|
|
539
|
+
UnderlyingAsset["NEU"] = "neu";
|
|
540
|
+
UnderlyingAsset["NEXO"] = "nexo";
|
|
541
|
+
UnderlyingAsset["NFTX"] = "nftx";
|
|
542
|
+
UnderlyingAsset["NGNT"] = "ngnt";
|
|
543
|
+
UnderlyingAsset["NIAX"] = "niax";
|
|
544
|
+
UnderlyingAsset["NMR"] = "nmr";
|
|
545
|
+
UnderlyingAsset["NPXS"] = "npxs";
|
|
546
|
+
UnderlyingAsset["NS2DRP"] = "ns2drp";
|
|
547
|
+
UnderlyingAsset["NU"] = "nu";
|
|
548
|
+
UnderlyingAsset["NYM"] = "nym";
|
|
549
|
+
UnderlyingAsset["NZDX"] = "nzdx";
|
|
550
|
+
UnderlyingAsset["OCEAN"] = "ocean";
|
|
551
|
+
UnderlyingAsset["OCEANV2"] = "oceanv2";
|
|
552
|
+
UnderlyingAsset["OGN"] = "ogn";
|
|
553
|
+
UnderlyingAsset["OM"] = "om";
|
|
554
|
+
UnderlyingAsset["OKB"] = "okb";
|
|
555
|
+
UnderlyingAsset["OMG"] = "omg";
|
|
556
|
+
UnderlyingAsset["ONL"] = "onl";
|
|
557
|
+
UnderlyingAsset["OP"] = "op";
|
|
558
|
+
UnderlyingAsset["OPT"] = "opt";
|
|
559
|
+
UnderlyingAsset["ORAI"] = "orai";
|
|
560
|
+
UnderlyingAsset["ORBS"] = "orbs";
|
|
561
|
+
UnderlyingAsset["ORCA"] = "orca";
|
|
562
|
+
UnderlyingAsset["OXT"] = "oxt";
|
|
563
|
+
UnderlyingAsset["OXY"] = "oxy";
|
|
564
|
+
UnderlyingAsset["OHM"] = "ohm";
|
|
565
|
+
UnderlyingAsset["SD"] = "sd";
|
|
566
|
+
UnderlyingAsset["SOHM"] = "sohm";
|
|
567
|
+
UnderlyingAsset["GOHM"] = "gohm";
|
|
568
|
+
UnderlyingAsset["PAR"] = "par";
|
|
569
|
+
UnderlyingAsset["PASS"] = "pass";
|
|
570
|
+
UnderlyingAsset["PAU"] = "pau";
|
|
571
|
+
UnderlyingAsset["PAX"] = "pax";
|
|
572
|
+
UnderlyingAsset["PAXG"] = "paxg";
|
|
573
|
+
UnderlyingAsset["PAY"] = "pay";
|
|
574
|
+
UnderlyingAsset["PBCH"] = "pbch";
|
|
575
|
+
UnderlyingAsset["PDATA"] = "pdata";
|
|
576
|
+
UnderlyingAsset["PBTC"] = "pbtc";
|
|
577
|
+
UnderlyingAsset["PEG"] = "peg";
|
|
578
|
+
UnderlyingAsset["PERP"] = "perp";
|
|
579
|
+
UnderlyingAsset["PETH"] = "peth";
|
|
580
|
+
UnderlyingAsset["PHNX"] = "phnx";
|
|
581
|
+
UnderlyingAsset["PIE"] = "pie";
|
|
582
|
+
UnderlyingAsset["PLC"] = "plc";
|
|
583
|
+
UnderlyingAsset["PFCT"] = "pfct";
|
|
584
|
+
UnderlyingAsset["PLANET"] = "planet";
|
|
585
|
+
UnderlyingAsset["PLNX"] = "plnx";
|
|
586
|
+
UnderlyingAsset["PLX"] = "plx";
|
|
587
|
+
UnderlyingAsset["PMA"] = "pma";
|
|
588
|
+
UnderlyingAsset["POLY"] = "poly";
|
|
589
|
+
UnderlyingAsset["POWR"] = "powr";
|
|
590
|
+
UnderlyingAsset["PPT"] = "ppt";
|
|
591
|
+
UnderlyingAsset["PRDX"] = "prdx";
|
|
592
|
+
UnderlyingAsset["PRINTS"] = "prints";
|
|
593
|
+
UnderlyingAsset["PRO"] = "pro";
|
|
594
|
+
UnderlyingAsset["PRTS"] = "prts";
|
|
595
|
+
UnderlyingAsset["PSTAKE"] = "pstake";
|
|
596
|
+
UnderlyingAsset["PUNDIX"] = "pundix";
|
|
597
|
+
UnderlyingAsset["PUSD"] = "pusd";
|
|
598
|
+
UnderlyingAsset["PXP"] = "pxp";
|
|
599
|
+
UnderlyingAsset["PYR"] = "pyr";
|
|
600
|
+
UnderlyingAsset["QASH"] = "qash";
|
|
601
|
+
UnderlyingAsset["QCAD"] = "qcad";
|
|
602
|
+
UnderlyingAsset["QUICK"] = "quick";
|
|
603
|
+
UnderlyingAsset["QDT"] = "qdt";
|
|
604
|
+
UnderlyingAsset["QKC"] = "qkc";
|
|
605
|
+
UnderlyingAsset["QNT"] = "qnt";
|
|
606
|
+
UnderlyingAsset["QRDO"] = "qrdo";
|
|
607
|
+
UnderlyingAsset["QRL"] = "qrl";
|
|
608
|
+
UnderlyingAsset["QSP"] = "qsp";
|
|
609
|
+
UnderlyingAsset["QVT"] = "qvt";
|
|
610
|
+
UnderlyingAsset["RAD"] = "rad";
|
|
611
|
+
UnderlyingAsset["RCOIN"] = "rcoin";
|
|
612
|
+
UnderlyingAsset["RARE"] = "rare";
|
|
613
|
+
UnderlyingAsset["RARI"] = "rari";
|
|
614
|
+
UnderlyingAsset["RAY"] = "ray";
|
|
615
|
+
UnderlyingAsset["RBY"] = "rby";
|
|
616
|
+
UnderlyingAsset["RDN"] = "rdn";
|
|
617
|
+
UnderlyingAsset["REB"] = "reb";
|
|
618
|
+
UnderlyingAsset["REBL"] = "rebl";
|
|
619
|
+
UnderlyingAsset["REEF"] = "reef";
|
|
620
|
+
UnderlyingAsset["REP"] = "rep";
|
|
621
|
+
UnderlyingAsset["REPV2"] = "repv2";
|
|
622
|
+
UnderlyingAsset["RETH-H"] = "reth-h";
|
|
623
|
+
UnderlyingAsset["RFR"] = "rfr";
|
|
624
|
+
UnderlyingAsset["RFUEL"] = "rfuel";
|
|
625
|
+
UnderlyingAsset["RGT"] = "rgt";
|
|
626
|
+
UnderlyingAsset["RIF"] = "rif";
|
|
627
|
+
UnderlyingAsset["RINGX"] = "ringx";
|
|
628
|
+
UnderlyingAsset["RLC"] = "rlc";
|
|
629
|
+
UnderlyingAsset["RLY"] = "rly";
|
|
630
|
+
UnderlyingAsset["RNDR"] = "rndr";
|
|
631
|
+
UnderlyingAsset["ROOK"] = "rook";
|
|
632
|
+
UnderlyingAsset["RON"] = "ron";
|
|
633
|
+
UnderlyingAsset["RONC"] = "ronc";
|
|
634
|
+
UnderlyingAsset["ROOBEE"] = "roobee";
|
|
635
|
+
UnderlyingAsset["RSR"] = "rsr";
|
|
636
|
+
UnderlyingAsset["RUBX"] = "rubx";
|
|
637
|
+
UnderlyingAsset["RUEDATK"] = "ruedatk";
|
|
638
|
+
UnderlyingAsset["SALT"] = "salt";
|
|
639
|
+
UnderlyingAsset["SAND"] = "sand";
|
|
640
|
+
UnderlyingAsset["SASHIMI"] = "sashimi";
|
|
641
|
+
UnderlyingAsset["SGA"] = "sga";
|
|
642
|
+
UnderlyingAsset["SGDX"] = "sgdx";
|
|
643
|
+
UnderlyingAsset["SGR"] = "sgr";
|
|
644
|
+
UnderlyingAsset["SHK"] = "shk";
|
|
645
|
+
UnderlyingAsset["SHOPX"] = "shopx";
|
|
646
|
+
UnderlyingAsset["SHIB"] = "shib";
|
|
647
|
+
UnderlyingAsset["SHR"] = "shr";
|
|
648
|
+
UnderlyingAsset["SIH"] = "sih";
|
|
649
|
+
UnderlyingAsset["SILV"] = "silv";
|
|
650
|
+
UnderlyingAsset["SIPHER"] = "sipher";
|
|
651
|
+
UnderlyingAsset["SIS"] = "sis";
|
|
652
|
+
UnderlyingAsset["SKALE"] = "skale";
|
|
653
|
+
UnderlyingAsset["SLAB"] = "slab";
|
|
654
|
+
UnderlyingAsset["SLND"] = "slnd";
|
|
655
|
+
UnderlyingAsset["SLOT"] = "slot";
|
|
656
|
+
UnderlyingAsset["SLP"] = "slp";
|
|
657
|
+
UnderlyingAsset["SLVX"] = "slvx";
|
|
658
|
+
UnderlyingAsset["SNC"] = "snc";
|
|
659
|
+
UnderlyingAsset["SNOV"] = "snov";
|
|
660
|
+
UnderlyingAsset["SNT"] = "snt";
|
|
661
|
+
UnderlyingAsset["SNX"] = "snx";
|
|
662
|
+
UnderlyingAsset["SOC"] = "soc";
|
|
663
|
+
UnderlyingAsset["SPELL"] = "spell";
|
|
664
|
+
UnderlyingAsset["SPO"] = "spo";
|
|
665
|
+
UnderlyingAsset["SOLVE"] = "solve";
|
|
666
|
+
UnderlyingAsset["SRNT"] = "srnt";
|
|
667
|
+
UnderlyingAsset["SRM"] = "srm";
|
|
668
|
+
UnderlyingAsset["STBU"] = "stbu";
|
|
669
|
+
UnderlyingAsset["STC"] = "stc";
|
|
670
|
+
UnderlyingAsset["STCV2"] = "stcv2";
|
|
671
|
+
UnderlyingAsset["SETH-H"] = "seth-h";
|
|
672
|
+
UnderlyingAsset["STKAAVE"] = "stkaave";
|
|
673
|
+
UnderlyingAsset["STORE"] = "store";
|
|
674
|
+
UnderlyingAsset["STORJ"] = "storj";
|
|
675
|
+
UnderlyingAsset["STMX"] = "stmx";
|
|
676
|
+
UnderlyingAsset["STORM"] = "storm";
|
|
677
|
+
UnderlyingAsset["STZEN"] = "stzen";
|
|
678
|
+
UnderlyingAsset["SUPER"] = "super";
|
|
679
|
+
UnderlyingAsset["SUSHI"] = "sushi";
|
|
680
|
+
UnderlyingAsset["SQUIG"] = "squig";
|
|
681
|
+
UnderlyingAsset["SXP"] = "sxp";
|
|
682
|
+
UnderlyingAsset["THRESHOLD"] = "threshold";
|
|
683
|
+
UnderlyingAsset["TAUD"] = "taud";
|
|
684
|
+
UnderlyingAsset["TBTC1"] = "tbtc1";
|
|
685
|
+
UnderlyingAsset["TCAD"] = "tcad";
|
|
686
|
+
UnderlyingAsset["TCO"] = "tco";
|
|
687
|
+
UnderlyingAsset["TEL"] = "tel";
|
|
688
|
+
UnderlyingAsset["TEN"] = "ten";
|
|
689
|
+
UnderlyingAsset["TENX"] = "tenx";
|
|
690
|
+
UnderlyingAsset["TERC"] = "terc";
|
|
691
|
+
UnderlyingAsset["TEUROC"] = "teuroc";
|
|
692
|
+
UnderlyingAsset["TERC2DP"] = "terc2dp";
|
|
693
|
+
UnderlyingAsset["TERC6DP"] = "terc6dp";
|
|
694
|
+
UnderlyingAsset["TERC18DP"] = "terc18DP";
|
|
695
|
+
UnderlyingAsset["TERC20"] = "terc20";
|
|
696
|
+
UnderlyingAsset["TERC2DP1"] = "terc2dp1";
|
|
697
|
+
UnderlyingAsset["TERC2DP2"] = "terc2dp2";
|
|
698
|
+
UnderlyingAsset["TERC2DP3"] = "terc2dp3";
|
|
699
|
+
UnderlyingAsset["TERC2DP4"] = "terc2dp4";
|
|
700
|
+
UnderlyingAsset["TERC2DP5"] = "terc2dp5";
|
|
701
|
+
UnderlyingAsset["TERC6DP1"] = "terc6dp1";
|
|
702
|
+
UnderlyingAsset["TERC6DP2"] = "terc6dp2";
|
|
703
|
+
UnderlyingAsset["TERC6DP3"] = "terc6dp3";
|
|
704
|
+
UnderlyingAsset["TERC6DP4"] = "terc6dp4";
|
|
705
|
+
UnderlyingAsset["TERC6DP5"] = "terc6dp5";
|
|
706
|
+
UnderlyingAsset["TERC18DP1"] = "terc18dp1";
|
|
707
|
+
UnderlyingAsset["TERC18DP2"] = "terc18dp2";
|
|
708
|
+
UnderlyingAsset["TERC18DP3"] = "terc18dp3";
|
|
709
|
+
UnderlyingAsset["TERC18DP4"] = "terc18dp4";
|
|
710
|
+
UnderlyingAsset["TERC18DP5"] = "terc18dp5";
|
|
711
|
+
UnderlyingAsset["TERC18DP6"] = "terc18dp6";
|
|
712
|
+
UnderlyingAsset["TERC18DP7"] = "terc18dp7";
|
|
713
|
+
UnderlyingAsset["TERC18DP8"] = "terc18dp8";
|
|
714
|
+
UnderlyingAsset["TERC18DP9"] = "terc18dp9";
|
|
715
|
+
UnderlyingAsset["TERC18DP10"] = "terc18dp10";
|
|
716
|
+
UnderlyingAsset["TERC18DP11"] = "terc18dp11";
|
|
717
|
+
UnderlyingAsset["TERC18DP12"] = "terc18dp12";
|
|
718
|
+
UnderlyingAsset["TERC18DP13"] = "terc18dp13";
|
|
719
|
+
UnderlyingAsset["TERC18DP14"] = "terc18dp14";
|
|
720
|
+
UnderlyingAsset["TERC18DP15"] = "terc18dp15";
|
|
721
|
+
UnderlyingAsset["TGBP"] = "tgbp";
|
|
722
|
+
UnderlyingAsset["THKD"] = "thkd";
|
|
723
|
+
UnderlyingAsset["TIOX"] = "tiox";
|
|
724
|
+
UnderlyingAsset["TKNT"] = "tknt";
|
|
725
|
+
UnderlyingAsset["TKX"] = "tkx";
|
|
726
|
+
UnderlyingAsset["TLAB"] = "tlab";
|
|
727
|
+
UnderlyingAsset["TMATIC"] = "tmatic";
|
|
728
|
+
UnderlyingAsset["TNT"] = "tnt";
|
|
729
|
+
UnderlyingAsset["TOK"] = "tok";
|
|
730
|
+
UnderlyingAsset["TRAC"] = "trac";
|
|
731
|
+
UnderlyingAsset["TRAXX"] = "traxx";
|
|
732
|
+
UnderlyingAsset["TRIBE"] = "tribe";
|
|
733
|
+
UnderlyingAsset["TRL"] = "trl";
|
|
734
|
+
UnderlyingAsset["TRST"] = "trst";
|
|
735
|
+
UnderlyingAsset["TRU"] = "tru";
|
|
736
|
+
UnderlyingAsset["TRYB"] = "tryb";
|
|
737
|
+
UnderlyingAsset["TRYX"] = "tryx";
|
|
738
|
+
UnderlyingAsset["TUSD"] = "tusd";
|
|
739
|
+
UnderlyingAsset["TXL"] = "txl";
|
|
740
|
+
UnderlyingAsset["UAIR"] = "uair";
|
|
741
|
+
UnderlyingAsset["UCO"] = "uco";
|
|
742
|
+
UnderlyingAsset["UKG"] = "ukg";
|
|
743
|
+
UnderlyingAsset["UMA"] = "uma";
|
|
744
|
+
UnderlyingAsset["UMEE"] = "umee";
|
|
745
|
+
UnderlyingAsset["UNB"] = "unb";
|
|
746
|
+
UnderlyingAsset["UNI"] = "uni";
|
|
747
|
+
UnderlyingAsset["UP"] = "up";
|
|
748
|
+
UnderlyingAsset["UPBTC"] = "upbtc";
|
|
749
|
+
UnderlyingAsset["UPP"] = "upp";
|
|
750
|
+
UnderlyingAsset["UPT"] = "upt";
|
|
751
|
+
UnderlyingAsset["UPUSD"] = "upusd";
|
|
752
|
+
UnderlyingAsset["UQC"] = "uqc";
|
|
753
|
+
UnderlyingAsset["URHD"] = "urhd";
|
|
754
|
+
UnderlyingAsset["USDC"] = "usdc";
|
|
755
|
+
// Also available on EOS
|
|
756
|
+
UnderlyingAsset["USDT"] = "usdt";
|
|
757
|
+
UnderlyingAsset["USDX"] = "usdx";
|
|
758
|
+
UnderlyingAsset["USG"] = "usg";
|
|
759
|
+
UnderlyingAsset["USPX"] = "uspx";
|
|
760
|
+
UnderlyingAsset["UST"] = "ust";
|
|
761
|
+
UnderlyingAsset["USX"] = "usx";
|
|
762
|
+
UnderlyingAsset["UTK"] = "utk";
|
|
763
|
+
UnderlyingAsset["UTK1"] = "utk1";
|
|
764
|
+
UnderlyingAsset["VALOR"] = "valor";
|
|
765
|
+
UnderlyingAsset["VDX"] = "vdx";
|
|
766
|
+
UnderlyingAsset["VEGA"] = "vega";
|
|
767
|
+
UnderlyingAsset["VISR"] = "visr";
|
|
768
|
+
UnderlyingAsset["VRGX"] = "vrgx";
|
|
769
|
+
UnderlyingAsset["VXC"] = "vxc";
|
|
770
|
+
UnderlyingAsset["VSP"] = "vsp";
|
|
771
|
+
UnderlyingAsset["WAFL"] = "wafl";
|
|
772
|
+
UnderlyingAsset["WAX"] = "wax";
|
|
773
|
+
UnderlyingAsset["WABI"] = "wabi";
|
|
774
|
+
UnderlyingAsset["WOO"] = "woo";
|
|
775
|
+
UnderlyingAsset["WTK"] = "wtk";
|
|
776
|
+
UnderlyingAsset["WBTC"] = "wbtc";
|
|
777
|
+
UnderlyingAsset["WCFG"] = "wcfg";
|
|
778
|
+
UnderlyingAsset["WEC"] = "wec";
|
|
779
|
+
UnderlyingAsset["WET"] = "wet";
|
|
780
|
+
UnderlyingAsset["WETH"] = "weth";
|
|
781
|
+
UnderlyingAsset["WHALE"] = "whale";
|
|
782
|
+
UnderlyingAsset["WHT"] = "wht";
|
|
783
|
+
UnderlyingAsset["WILD"] = "wild";
|
|
784
|
+
UnderlyingAsset["WNXM"] = "wnxm";
|
|
785
|
+
UnderlyingAsset["WLUNA"] = "wluna";
|
|
786
|
+
UnderlyingAsset["WLXT"] = "wlxt";
|
|
787
|
+
UnderlyingAsset["WSTETH"] = "wsteth";
|
|
788
|
+
UnderlyingAsset["WPX"] = "wpx";
|
|
789
|
+
UnderlyingAsset["WTC"] = "wtc";
|
|
790
|
+
UnderlyingAsset["WXRP"] = "wxrp";
|
|
791
|
+
UnderlyingAsset["WXRPV0"] = "wxrpv0";
|
|
792
|
+
UnderlyingAsset["WXT"] = "wxt";
|
|
793
|
+
UnderlyingAsset["XAUD"] = "xaud";
|
|
794
|
+
UnderlyingAsset["XBGOLD"] = "xbgold";
|
|
795
|
+
UnderlyingAsset["XCD"] = "xcd";
|
|
796
|
+
UnderlyingAsset["XEX"] = "xex";
|
|
797
|
+
UnderlyingAsset["XRL"] = "xrl";
|
|
798
|
+
UnderlyingAsset["XSGD"] = "xsgd";
|
|
799
|
+
UnderlyingAsset["XSUSHI"] = "xsushi";
|
|
800
|
+
UnderlyingAsset["XTP"] = "xtp";
|
|
801
|
+
UnderlyingAsset["YFDAI"] = "yfdai";
|
|
802
|
+
UnderlyingAsset["YFI"] = "yfi";
|
|
803
|
+
UnderlyingAsset["YFII"] = "yfii";
|
|
804
|
+
UnderlyingAsset["YGG"] = "ygg";
|
|
805
|
+
UnderlyingAsset["YLD"] = "yld";
|
|
806
|
+
UnderlyingAsset["YNG"] = "yng";
|
|
807
|
+
UnderlyingAsset["YSEY"] = "ysey";
|
|
808
|
+
UnderlyingAsset["ZARX"] = "zarx";
|
|
809
|
+
UnderlyingAsset["ZCO"] = "zco";
|
|
810
|
+
UnderlyingAsset["ZIL"] = "zil";
|
|
811
|
+
UnderlyingAsset["ZIX"] = "zix";
|
|
812
|
+
UnderlyingAsset["ZLW"] = "zlw";
|
|
813
|
+
UnderlyingAsset["ZMT"] = "zmt";
|
|
814
|
+
UnderlyingAsset["ZOOM"] = "zoom";
|
|
815
|
+
UnderlyingAsset["ZRX"] = "zrx";
|
|
816
|
+
UnderlyingAsset["ZUSD"] = "zusd";
|
|
817
|
+
UnderlyingAsset["xlm:BST-GADDFE4R72YUP2AOEL67OHZN3GJQYPC3VE734N2XFMEGRR2L32CZ3XYZ"] = "xlm:BST-GADDFE4R72YUP2AOEL67OHZN3GJQYPC3VE734N2XFMEGRR2L32CZ3XYZ";
|
|
818
|
+
UnderlyingAsset["xlm:VELO-GDM4RQUQQUVSKQA7S6EM7XBZP3FCGH4Q7CL6TABQ7B2BEJ5ERARM2M5M"] = "xlm:VELO-GDM4RQUQQUVSKQA7S6EM7XBZP3FCGH4Q7CL6TABQ7B2BEJ5ERARM2M5M";
|
|
819
|
+
UnderlyingAsset["xlm:SLT-GCKA6K5PCQ6PNF5RQBF7PQDJWRHO6UOGFMRLK3DYHDOI244V47XKQ4GP"] = "xlm:SLT-GCKA6K5PCQ6PNF5RQBF7PQDJWRHO6UOGFMRLK3DYHDOI244V47XKQ4GP";
|
|
820
|
+
UnderlyingAsset["xlm:USD-GDUKMGUGDZQK6YHYA5Z6AY2G4XDSZPSZ3SW5UN3ARVMO6QSRDWP5YLEX"] = "xlm:USD-GDUKMGUGDZQK6YHYA5Z6AY2G4XDSZPSZ3SW5UN3ARVMO6QSRDWP5YLEX";
|
|
821
|
+
UnderlyingAsset["xlm:ETH-GBVOL67TMUQBGL4TZYNMY3ZQ5WGQYFPFD5VJRWXR72VA33VFNL225PL5"] = "xlm:ETH-GBVOL67TMUQBGL4TZYNMY3ZQ5WGQYFPFD5VJRWXR72VA33VFNL225PL5";
|
|
822
|
+
UnderlyingAsset["xlm:WXT-GASBLVHS5FOABSDNW5SPPH3QRJYXY5JHA2AOA2QHH2FJLZBRXSG4SWXT"] = "xlm:WXT-GASBLVHS5FOABSDNW5SPPH3QRJYXY5JHA2AOA2QHH2FJLZBRXSG4SWXT";
|
|
823
|
+
UnderlyingAsset["xlm:USDC-GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN"] = "xlm:USDC-GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN";
|
|
824
|
+
UnderlyingAsset["xlm:SIX-GDMS6EECOH6MBMCP3FYRYEVRBIV3TQGLOFQIPVAITBRJUMTI6V7A2X6Z"] = "xlm:SIX-GDMS6EECOH6MBMCP3FYRYEVRBIV3TQGLOFQIPVAITBRJUMTI6V7A2X6Z";
|
|
825
|
+
UnderlyingAsset["xlm:BRLT-GCHQ3F2BF5P74DMDNOOGHT5DUCKC773AW5DTOFINC26W4KGYFPYDPRSO"] = "xlm:BRLT-GCHQ3F2BF5P74DMDNOOGHT5DUCKC773AW5DTOFINC26W4KGYFPYDPRSO";
|
|
826
|
+
UnderlyingAsset["xlm:ARST-GCSAZVWXZKWS4XS223M5F54H2B6XPIIXZZGP7KEAIU6YSL5HDRGCI3DG"] = "xlm:ARST-GCSAZVWXZKWS4XS223M5F54H2B6XPIIXZZGP7KEAIU6YSL5HDRGCI3DG";
|
|
827
|
+
UnderlyingAsset["xlm:AQUA-GBNZILSTVQZ4R7IKQDGHYGY2QXL5QOFJYQMXPKWRRM5PAV7Y4M67AQUA"] = "xlm:AQUA-GBNZILSTVQZ4R7IKQDGHYGY2QXL5QOFJYQMXPKWRRM5PAV7Y4M67AQUA";
|
|
828
|
+
// Algorand mainnet tokens
|
|
829
|
+
UnderlyingAsset["algo:USDC-31566704"] = "algo:USDC-31566704";
|
|
830
|
+
UnderlyingAsset["algo:USDt-312769"] = "algo:USDt-312769";
|
|
831
|
+
UnderlyingAsset["algo:MCAU-6547014"] = "algo:MCAU-6547014";
|
|
832
|
+
UnderlyingAsset["algo:VCAD-438505559"] = "algo:VCAD-438505559";
|
|
833
|
+
// Kovan-only ERC20 tokens
|
|
834
|
+
UnderlyingAsset["TEST"] = "test";
|
|
835
|
+
UnderlyingAsset["SCHZ"] = "schz";
|
|
836
|
+
UnderlyingAsset["CAT"] = "cat";
|
|
837
|
+
// Stellar testnet tokens
|
|
838
|
+
UnderlyingAsset["txlm:BST-GBQTIOS3XGHB7LVYGBKQVJGCZ3R4JL5E4CBSWJ5ALIJUHBKS6263644L"] = "txlm:BST-GBQTIOS3XGHB7LVYGBKQVJGCZ3R4JL5E4CBSWJ5ALIJUHBKS6263644L";
|
|
839
|
+
UnderlyingAsset["txlm:TST-GBQTIOS3XGHB7LVYGBKQVJGCZ3R4JL5E4CBSWJ5ALIJUHBKS6263644L"] = "txlm:TST-GBQTIOS3XGHB7LVYGBKQVJGCZ3R4JL5E4CBSWJ5ALIJUHBKS6263644L";
|
|
840
|
+
// Algorand testnet tokens
|
|
841
|
+
UnderlyingAsset["talgo:USON-16026728"] = "talgo:USON-16026728";
|
|
842
|
+
UnderlyingAsset["talgo:SPRW-16026732"] = "talgo:SPRW-16026732";
|
|
843
|
+
UnderlyingAsset["talgo:KAL-16026733"] = "talgo:KAL-16026733";
|
|
844
|
+
UnderlyingAsset["talgo:USDC-10458941"] = "talgo:USDC-10458941";
|
|
845
|
+
UnderlyingAsset["talgo:USDt-180447"] = "talgo:USDt-180447";
|
|
846
|
+
// EOS tokens
|
|
847
|
+
UnderlyingAsset["CHEX"] = "chex";
|
|
848
|
+
UnderlyingAsset["IQ"] = "iq";
|
|
849
|
+
UnderlyingAsset["EOS_BOX"] = "eos:box";
|
|
850
|
+
// Avax Token ERC-20
|
|
851
|
+
UnderlyingAsset["avaxc:qi"] = "avaxc:qi";
|
|
852
|
+
UnderlyingAsset["avaxc:xava"] = "avaxc:xava";
|
|
853
|
+
UnderlyingAsset["avaxc:klo"] = "avaxc:klo";
|
|
854
|
+
UnderlyingAsset["avaxc:joe"] = "avaxc:joe";
|
|
855
|
+
UnderlyingAsset["avaxc:png"] = "avaxc:png";
|
|
856
|
+
UnderlyingAsset["avaxc:usdt"] = "avaxc:usdt";
|
|
857
|
+
UnderlyingAsset["avaxc:usdc"] = "avaxc:usdc";
|
|
858
|
+
UnderlyingAsset["avaxc:link"] = "avaxc:link";
|
|
859
|
+
// BSC Token BEP-20
|
|
860
|
+
UnderlyingAsset["bsc:busd"] = "bsc:busd";
|
|
861
|
+
UnderlyingAsset["tbsc:busd"] = "tbsc:busd";
|
|
862
|
+
// Polygon testnet tokens
|
|
863
|
+
UnderlyingAsset["tpolygon:derc20"] = "tpolygon:derc20";
|
|
864
|
+
UnderlyingAsset["tpolygon:link"] = "tpolygon:link";
|
|
865
|
+
UnderlyingAsset["ERC721"] = "erc721";
|
|
866
|
+
UnderlyingAsset["ERC1155"] = "erc1155";
|
|
867
|
+
// Cardano Token
|
|
868
|
+
UnderlyingAsset["adaTestnetToken"] = "temporary-placeholder";
|
|
869
|
+
})(UnderlyingAsset = exports.UnderlyingAsset || (exports.UnderlyingAsset = {}));
|
|
870
|
+
/**
|
|
871
|
+
* This is the curve BitGo signs against with the user, backup and BitGo key.
|
|
872
|
+
*/
|
|
873
|
+
var KeyCurve;
|
|
874
|
+
(function (KeyCurve) {
|
|
875
|
+
KeyCurve["Secp256k1"] = "secp256k1";
|
|
876
|
+
KeyCurve["Ed25519"] = "ed25519";
|
|
877
|
+
KeyCurve["BLS"] = "bls";
|
|
878
|
+
})(KeyCurve = exports.KeyCurve || (exports.KeyCurve = {}));
|
|
879
|
+
class BaseCoin {
|
|
880
|
+
constructor(options) {
|
|
881
|
+
this.validateOptions(options);
|
|
882
|
+
this.fullName = options.fullName;
|
|
883
|
+
this.name = options.name;
|
|
884
|
+
this.alias = options.alias;
|
|
885
|
+
this.prefix = options.prefix;
|
|
886
|
+
this.suffix = options.suffix;
|
|
887
|
+
this.kind = options.kind;
|
|
888
|
+
this.family = options.network.family;
|
|
889
|
+
this.isToken = options.isToken;
|
|
890
|
+
this.features = options.features;
|
|
891
|
+
this.decimalPlaces = options.decimalPlaces;
|
|
892
|
+
this.asset = options.asset;
|
|
893
|
+
this.network = options.network;
|
|
894
|
+
this.primaryKeyCurve = options.primaryKeyCurve;
|
|
895
|
+
}
|
|
896
|
+
/**
|
|
897
|
+
* Ensures that the base coin constructor was passed a valid set of options.
|
|
898
|
+
*
|
|
899
|
+
* This includes checking that:
|
|
900
|
+
* - All coin features of the new instance are allowed by the coin class
|
|
901
|
+
* - No features required by the coin class are missing from the new instance
|
|
902
|
+
* @param {BaseCoinConstructorOptions} options
|
|
903
|
+
* @throws {DisallowedCoinFeatureError} if any of the coin features are not allowed for the coin class
|
|
904
|
+
* @throws {MissingRequiredCoinFeatureError} if any features required by the coin class are missing
|
|
905
|
+
*/
|
|
906
|
+
validateOptions(options) {
|
|
907
|
+
const requiredFeatures = this.requiredFeatures();
|
|
908
|
+
const disallowedFeatures = this.disallowedFeatures();
|
|
909
|
+
const intersectionFeatures = Array.from(requiredFeatures).filter((feat) => disallowedFeatures.has(feat));
|
|
910
|
+
if (intersectionFeatures.length > 0) {
|
|
911
|
+
throw new errors_1.ConflictingCoinFeaturesError(options.name, intersectionFeatures);
|
|
912
|
+
}
|
|
913
|
+
for (const feature of options.features) {
|
|
914
|
+
if (disallowedFeatures.has(feature)) {
|
|
915
|
+
throw new errors_1.DisallowedCoinFeatureError(options.name, feature);
|
|
916
|
+
}
|
|
917
|
+
if (requiredFeatures.has(feature)) {
|
|
918
|
+
requiredFeatures.delete(feature);
|
|
919
|
+
}
|
|
920
|
+
}
|
|
921
|
+
if (requiredFeatures.size > 0) {
|
|
922
|
+
// some required features were missing
|
|
923
|
+
throw new errors_1.MissingRequiredCoinFeatureError(options.name, Array.from(requiredFeatures));
|
|
924
|
+
}
|
|
925
|
+
}
|
|
926
|
+
}
|
|
927
|
+
exports.BaseCoin = BaseCoin;
|
|
928
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFDQUFxSDtBQUdySCxJQUFZLFFBR1g7QUFIRCxXQUFZLFFBQVE7SUFDbEIsNkJBQWlCLENBQUE7SUFDakIseUJBQWEsQ0FBQTtBQUNmLENBQUMsRUFIVyxRQUFRLEdBQVIsZ0JBQVEsS0FBUixnQkFBUSxRQUduQjtBQUVEOzs7Ozs7O0dBT0c7QUFDSCxJQUFZLFVBcUNYO0FBckNELFdBQVksVUFBVTtJQUNwQix5QkFBVyxDQUFBO0lBQ1gsMkJBQWEsQ0FBQTtJQUNiLDZCQUFlLENBQUE7SUFDZiw2QkFBZSxDQUFBO0lBQ2YseUJBQVcsQ0FBQTtJQUNYLDJCQUFhLENBQUE7SUFDYix5QkFBVyxDQUFBO0lBQ1gseUJBQVcsQ0FBQTtJQUNYLHlCQUFXLENBQUE7SUFDWCx5QkFBVyxDQUFBO0lBQ1gsMkJBQWEsQ0FBQTtJQUNiLDJCQUFhLENBQUE7SUFDYiwyQkFBYSxDQUFBO0lBQ2IsMkJBQWEsQ0FBQTtJQUNiLHlCQUFXLENBQUE7SUFDWCx5QkFBVyxDQUFBO0lBQ1gsMkJBQWEsQ0FBQTtJQUNiLDJCQUFhLENBQUE7SUFDYix5QkFBVyxDQUFBO0lBQ1gseUJBQVcsQ0FBQTtJQUNYLDJCQUFhLENBQUE7SUFDYiwyQkFBYSxDQUFBO0lBQ2IseUJBQVcsQ0FBQTtJQUNYLGlDQUFtQixDQUFBO0lBQ25CLDJCQUFhLENBQUE7SUFDYix5QkFBVyxDQUFBO0lBQ1gsMkJBQWEsQ0FBQTtJQUNiLHlCQUFXLENBQUE7SUFDWCx5QkFBVyxDQUFBO0lBQ1gseUJBQVcsQ0FBQTtJQUNYLDJCQUFhLENBQUE7SUFDYix5QkFBVyxDQUFBO0lBQ1gseUJBQVcsQ0FBQTtJQUNYLHlCQUFXLENBQUE7SUFDWCx5QkFBVyxDQUFBO0lBQ1gseUJBQVcsQ0FBQTtBQUNiLENBQUMsRUFyQ1csVUFBVSxHQUFWLGtCQUFVLEtBQVYsa0JBQVUs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Q2IsZ0NBQWEsQ0FBQTtJQUNiLDhCQUFXLENBQUE7SUFDWCxrQ0FBZSxDQUFBO0lBQ2Ysb0NBQWlCLENBQUE7SUFDakIsOEJBQVcsQ0FBQTtJQUNYLGdDQUFhLENBQUE7SUFDYixrQ0FBZSxDQUFBO0lBQ2YsOEJBQVcsQ0FBQTtJQUNYLDhCQUFXLENBQUE7SUFDWCw4QkFBVyxDQUFBO0lBQ1gsZ0NBQWEsQ0FBQTtJQUNiLDhCQUFXLENBQUE7SUFDWCxnQ0FBYSxDQUFBO0lBQ2IsOEJBQVcsQ0FBQTtJQUNYLGtDQUFlLENBQUE7SUFDZixnQ0FBYSxDQUFBO0lBQ2IsOEJBQVcsQ0FBQTtJQUNYLGdDQUFhLENBQUE7SUFDYixnQ0FBYSxDQUFBO0lBQ2IsOEJBQVcsQ0FBQTtJQUNYLDhCQUFXLENBQUE7SUFDWCw4QkFBVyxDQUFBO0lBQ1gsOEJBQVcsQ0FBQTtJQUNYLDhCQUFXLENBQUE7SUFDWCxnQ0FBYSxDQUFBO0lBQ2IsZ0NBQWEsQ0FBQTtJQUNiLG9DQUFpQixDQUFBO0lBQ2pCLDhCQUFXLENBQUE7SUFDWCxnQ0FBYSxDQUFBO0lBQ2IsOEJBQVcsQ0FBQTtJQUNYLDhCQUFXLENBQUE7SUFDWCw4QkFBVyxDQUFBO0lBQ1gsOEJBQVcsQ0FBQTtJQUNYLGtDQUFlLENBQUE7SUFDZiw4QkFBVyxDQUFBO0lBQ1gsOEJBQVcsQ0FBQTtJQUNYLGdDQUFhLENBQUE7SUFDYixnQ0FBYSxDQUFBO0lBQ2IsOEJBQVcsQ0FBQTtJQUNYLDhCQUFXLENBQUE7SUFDWCw4QkFBVyxDQUFBO0lBQ1gsa0NBQWUsQ0FBQTtJQUNmLDhCQUFXLENBQUE7SUFDWCw4QkFBVyxDQUFBO0lBQ1gsa0NBQWUsQ0FBQTtJQUNmLGdDQUFhLENBQUE7SUFDYiw4QkFBVyxDQUFBO0lBQ1gsZ0NBQWEsQ0FBQTtJQUNiLDhCQUFXLENBQUE7SUFDWCxnQ0FBYSxDQUFBO0lBQ2IsOEJBQVcsQ0FBQTtJQUNYLGdDQUFhLENBQUE7SUFDYixnQ0FBYSxDQUFBO0lBQ2IsOEJBQVcsQ0FBQTtJQUNYLDhCQUFXLENBQUE7SUFDWCxnQ0FBYSxDQUFBO0lBQ2IsZ0NBQWEsQ0FBQTtJQUNiLDhCQUFXLENBQUE7SUFDWCxnQ0FBYSxDQUFBO0lBQ2IsZ0NBQWEsQ0FBQTtJQUNiLDhCQUFXLENBQUE7SUFDWCxvQ0FBaUIsQ0FBQTtJQUNqQixnQ0FBYSxDQUFBO0lBQ2IsOEJBQVcsQ0FBQTtJQUNYLDhCQUFXLENBQUE7SUFDWCw4QkFBVyxDQUFBO0lBQ1gsOEJBQVcsQ0FBQTtJQUNYLGdDQUFhLENBQUE7SUFDYixnQ0FBYSxDQUFBO0lBQ2IsZ0NBQWEsQ0FBQTtJQUNiLGtDQUFlLENBQUE7SUFDZixnQ0FBYSxDQUFBO0lBQ2IsZ0NBQWEsQ0FBQTtJQUNiLDhCQUFXLENBQUE7SUFDWCw4QkFBVyxDQUFBO0lBQ1gsOEJBQVcsQ0FBQTtJQUNYLGdDQUFhLENBQUE7SUFDYiw4QkFBVyxDQUFBO0lBQ1gsa0NBQWUsQ0FBQTtJQUNmLGdDQUFhLENBQUE7SUFDYiw4QkFBVyxDQUFBO0lBQ1gsOEJBQVcsQ0FBQTtJQUNYLGdDQUFhLENBQUE7SUFDYixrQ0FBZSxDQUFBO0lBQ2YsZ0NBQWEsQ0FBQTtJQUNiLDhCQUFXLENBQUE7SUFDWCxnQ0FBYSxDQUFBO0lBQ2IsZ0NBQWEsQ0FBQTtJQUNiLGtDQUFlLENBQUE7SUFDZixrQ0FBZSxDQUFBO0lBQ2YsOEJBQVcsQ0FBQTtJQUNYLDhCQUFXLENBQUE7SUFDWCxnQ0FBYSxDQUFBO0lBQ2Isa0NBQWUsQ0FBQTtJQUNmLDhCQUFXLENBQUE7SUFDWCw4QkFBVyxDQUFBO0lBQ1gsZ0NBQWEsQ0FBQTtJQUNiLG9DQUFpQixDQUFBO0lBQ2pCLHdDQUFxQixDQUFBO0lBQ3JCLDhCQUFXLENBQUE7SUFDWCxnQ0FBYSxDQUFBO0lBQ2IsOEJBQVcsQ0FBQTtJQUNYLGdDQUFhLENBQUE7SUFDYiw4QkFBVyxDQUFBO0lBQ1gsOEJBQVcsQ0FBQTtJQUNYLGdDQUFhLENBQUE7SUFDYiw4QkFBVyxDQUFBO0lBQ1gsOEJBQVcsQ0FBQTtJQUNYLGdDQUFhLENBQUE7SUFDYiw4QkFBVyxDQUFBO0lBQ1gsOEJBQVcsQ0FBQTtJQUNYLGdDQUFhLENBQUE7SUFDYixnQ0FBYSxDQUFBO0lBQ2IsOEJBQVcsQ0FBQTtJQUNYLGdDQUFhLENBQUE7SUFDYiw4QkFBVyxDQUFBO0lBQ1gsOEJBQVcsQ0FBQTtJQUNYLGdDQUFhLENBQUE7SUFDYixnQ0FBYSxDQUFBO0lBQ2IsZ0NBQWEsQ0FBQTtJQUNiLGdDQUFhLENBQUE7SUFDYixnQ0FBYSxDQUFBO0lBQ2IsOEJBQVcsQ0FBQTtJQUNYLGdDQUFhLENBQUE7SUFDYixrQ0FBZSxDQUFBO0lBQ2YsZ0NBQWEsQ0FBQTtJQUNiLG9DQUFpQixDQUFBO0lBQ2pCLDhCQUFXLENBQUE7SUFDWCw4QkFBVyxDQUFBO0lBQ1gsOEJBQVcsQ0FBQTtJQUNYLDhCQUFXLENBQUE7SUFDWCxnQ0FBYSxDQUFBO0lBQ2Isa0NBQWUsQ0FBQTtJQUNmLDhCQUFXLENBQUE7SUFDWCw4QkFBVyxDQUFBO0lBQ1gsOEJBQVcsQ0FBQTtJQUNYLDhCQUFXLENBQUE7SUFDWCw4QkFBVyxDQUFBO0lBQ1gsOEJBQVcsQ0FBQTtJQUNYLDhCQUFXLENBQUE7SUFDWCxrQ0FBZSxDQUFBO0lBQ2YsOEJBQVcsQ0FBQTtJQUNYLGdDQUFhLENBQUE7SUFDYixrQ0FBZSxDQUFBO0lBQ2YsZ0NBQWEsQ0FBQTtJQUNiLGdDQUFhLENBQUE7SUFDYiw4QkFBVyxDQUFBO0lBQ1gsOEJBQVcsQ0FBQTtJQUNYLDhCQUFXLENBQUE7SUFDWCw4QkFBVyxDQUFBO0lBQ1gsOEJBQVcsQ0FBQTtJQUNYLGdDQUFhLENBQUE7SUFDYiw4QkFBVyxDQUFBO0lBQ1gsOEJBQVcsQ0FBQTtJQUNYLDhCQUFXLENBQUE7SUFDWCxnQ0FBYSxDQUFBO0lBQ2Isa0NBQWUsQ0FBQTtJQUNmLDhCQUFXLENBQUE7SUFDWCw4QkFBVyxDQUFBO0lBQ1gsa0NBQWUsQ0FBQTtJQUNmLGtDQUFlLENBQUE7SUFDZiw4QkFBVyxDQUFBO0lBQ1gsOEJBQVcsQ0FBQTtJQUNYLDhCQUFXLENBQUE7SUFDWCw4QkFBVyxDQUFBO0lBQ1gsZ0NBQWEsQ0FBQTtJQUNiLDhCQUFXLENBQUE7SUFDWCw4QkFBVyxDQUFBO0lBQ1gsZ0NBQWEsQ0FBQTtJQUNiLGtDQUFlLENBQUE7SUFDZixnQ0FBYSxDQUFBO0lBQ2IsOEJBQVcsQ0FBQTtJQUNYLDhCQUFXLENBQUE7SUFDWCw4QkFBVyxDQUFBO0lBQ1gsOEJBQVcsQ0FBQTtJQUNYLGdDQUFhLENBQUE7SUFDYixzQ0FBbUIsQ0FBQTtJQUNuQixnQ0FBYSxDQUFBO0lBQ2IsOEJBQVcsQ0FBQTtJQUNYLDhCQUFXLENBQUE7SUFDWCw4QkFBVyxDQUFBO0lBQ1gsOEJBQVcsQ0FBQTtJQUNYLGdDQUFhLENBQUE7SUFDYiw4QkFBVyxDQUFBO0lBQ1gsZ0NBQWEsQ0FBQTtJQUNiLDhCQUFXLENBQUE7SUFDWCw4QkFBVyxDQUFBO0lBQ1gsNENBQXlCLENBQUE7SUFDekIsMENBQXVCLENBQUE7SUFDdkIsNENBQXlCLENBQUE7SUFDekIsMENBQXVCLENBQUE7SUFDdkIsNENBQXlCLENBQUE7SUFDekIsMENBQXVCLENBQUE7SUFDdkIsMENBQXVCLENBQUE7SUFDdkIsMENBQXVCLENBQUE7SUFDdkIsMENBQXVCLENBQUE7SUFDdkIsMENBQXVCLENBQUE7SUFDdkIsMENBQXVCLENBQUE7SUFDdkIsOEJBQVcsQ0FBQTtJQUNYLHdDQUFxQixDQUFBO0lBQ3JCLHdDQUFxQixDQUFBO0lBQ3JCLDBDQUF1QixDQUFBO0lBQ3ZCLGdDQUFhLENBQUE7SUFDYixrQ0FBZSxDQUFBO0lBQ2YsOEJBQVcsQ0FBQTtJQUNYLGdDQUFhLENBQUE7SUFDYiw4QkFBVyxDQUFBO0lBQ1gsOEJBQVcsQ0FBQTtJQUNYLGdDQUFhLENBQUE7SUFDYixnQ0FBYSxDQUFBO0lBQ2IsOEJBQVcsQ0FBQTtJQUNYLDhCQUFXLENBQUE7SUFDWCxnQ0FBYSxDQUFBO0lBQ2IsOEJBQVcsQ0FBQTtJQUNYLDhCQUFXLENBQUE7SUFDWCw4QkFBVyxDQUFBO0lBQ1gsNEJBQVMsQ0FBQTtJQUNULDhCQUFXLENBQUE7SUFDWCxnQ0FBYSxDQUFBO0lBQ2IsZ0NBQWEsQ0FBQTtJQUNiLDhCQUFXLENBQUE7SUFDWCxrQ0FBZSxDQUFBO0lBQ2YsNEJBQVMsQ0FBQTtJQUNULGtDQUFlLENBQUE7SUFDZixnQ0FBYSxDQUFBO0lBQ2IsZ0NBQWEsQ0FBQTtJQUNiLGdDQUFhLENBQUE7SUFDYiw4QkFBVyxDQUFBO0lBQ1gsa0NBQWUsQ0FBQTtJQUNmLGdDQUFhLENBQUE7SUFDYiw4QkFBVyxDQUFBO0lBQ1gsa0NBQWUsQ0FBQTtJQUNmLDhCQUFXLENBQUE7SUFDWCw4QkFBVyxDQUFBO0lBQ1gsa0NBQWUsQ0FBQTtJQUNmLGdDQUFhLENBQUE7SUFDYiw4QkFBVyxDQUFBO0lBQ1gsOEJBQVcsQ0FBQTtJQUNYLDhCQUFXLENBQUE7SUFDWCw4QkFBVyxDQUFBO0lBQ1gsOEJBQVcsQ0FBQTtJQUNYLDhCQUFXLENBQUE7SUFDWCw4QkFBVyxDQUFBO0lBQ1gsOEJBQVcsQ0FBQTtJQUNYLGdDQUFhLENBQUE7SUFDYixnQ0FBYSxDQUFBO0lBQ2IsZ0NBQWEsQ0FBQTtJQUNiLDhCQUFXLENBQUE7SUFDWCw4QkFBVyxDQUFBO0lBQ1gsZ0NBQWEsQ0FBQTtJQUNiLDhCQUFXLENBQUE7SUFDWCxnQ0FBYSxDQUFBO0lBQ2IsZ0NBQWEsQ0FBQTtJQUNiLDhCQUFXLENBQUE7SUFDWCxnQ0FBYSxDQUFBO0lBQ2IsOEJBQVcsQ0FBQTtJQUNYLGtDQUFlLENBQUE7SUFDZiw4QkFBVyxDQUFBO0lBQ1gsZ0NBQWEsQ0FBQTtJQUNiLDhCQUFXLENBQUE7SUFDWCw4QkFBVyxDQUFBO0lBQ1gsZ0NBQWEsQ0FBQTtJQUNiLGdDQUFhLENBQUE7SUFDYiw4QkFBVyxDQUFBO0lBQ1gsa0NBQWUsQ0FBQTtJQUNmLGdDQUFhLENBQUE7SUFDYixrQ0FBZSxDQUFBO0lBQ2YsOEJBQVcsQ0FBQTtJQUNYLGtDQUFlLENBQUE7SUFDZiw4QkFBVyxDQUFBO0lBQ1gsZ0NBQWEsQ0FBQTtJQUNiLGdDQUFhLENBQUE7SUFDYixrQ0FBZSxDQUFBO0lBQ2YsZ0NBQWEsQ0FBQTtJQUNiLGtDQUFlLENBQUE7SUFDZiw4QkFBVyxDQUFBO0lBQ1gsZ0NBQWEsQ0FBQTtJQUNiLDhCQUFXLENBQUE7SUFDWCw4QkFBVyxD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QU0sT0FBTyxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDdEMsSUFBSSxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ25DLE1BQU0sSUFBSSxtQ0FBMEIsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQzdEO1lBRUQsSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ2pDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNsQztTQUNGO1FBRUQsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFO1lBQzdCLHNDQUFzQztZQUN0QyxNQUFNLElBQUksd0NBQStCLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztTQUN2RjtJQUNILENBQUM7Q0FtQkY7QUF2R0QsNEJBdUdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uZmxpY3RpbmdDb2luRmVhdHVyZXNFcnJvciwgRGlzYWxsb3dlZENvaW5GZWF0dXJlRXJyb3IsIE1pc3NpbmdSZXF1aXJlZENvaW5GZWF0dXJlRXJyb3IgfSBmcm9tICcuL2Vycm9ycyc7XG5pbXBvcnQgeyBCYXNlTmV0d29yayB9IGZyb20gJy4vbmV0d29ya3MnO1xuXG5leHBvcnQgZW51bSBDb2luS2luZCB7XG4gIENSWVBUTyA9ICdjcnlwdG8nLFxuICBGSUFUID0gJ2ZpYXQnLFxufVxuXG4vKipcbiAqIFRoZSBjb2luIGZhbWlseSBsaW5rcyByZWxhdGVkIHZhcmlhbnRzIG9mIGEgc2luZ2xlIGNvaW4gdG9nZXRoZXIuXG4gKlxuICogVHlwaWNhbGx5LCBlYWNoIGNvaW4gd2lsbCBoYXZlIGEgdGVzdG5ldCBhbmQgbWFpbm5ldCB2YXJpYW50LFxuICogYW5kIHRoZXNlIHdpbGwgYm90aCBoYXZlIHRoZSBzYW1lIGNvaW4gZmFtaWx5LlxuICpcbiAqIEZvciBleGFtcGxlLCB0aGUgY29pbnMgYGJ0Y2AgYW5kIGB0YnRjYCBib3RoIGJlbG9uZyB0byB0aGUgc2FtZSBmYW1pbHksIGBidGNgLlxuICovXG5leHBvcnQgZW51bSBDb2luRmFtaWx5IHtcbiAgQURBID0gJ2FkYScsXG4gIEFMR08gPSAnYWxnbycsXG4gIEFWQVhDID0gJ2F2YXhjJyxcbiAgQVZBWFAgPSAnYXZheHAnLFxuICBCQ0ggPSAnYmNoJyxcbiAgQkNIQSA9ICdiY2hhJyxcbiAgQlNDID0gJ2JzYycsXG4gIEJTViA9ICdic3YnLFxuICBCVEMgPSAnYnRjJyxcbiAgQlRHID0gJ2J0ZycsXG4gIENFTE8gPSAnY2VsbycsXG4gIENTUFIgPSAnY3NwcicsXG4gIERBU0ggPSAnZGFzaCcsXG4gIERPR0UgPSAnZG9nZScsXG4gIERPVCA9ICdkb3QnLFxuICBFVEggPSAnZXRoJyxcbiAgRVRIMiA9ICdldGgyJyxcbiAgRVRIVyA9ICdldGh3JyxcbiAgRVRDID0gJ2V0YycsXG4gIEVPUyA9ICdlb3MnLFxuICBGSUFUID0gJ2ZpYXQnLFxuICBIQkFSID0gJ2hiYXInLFxuICBMVEMgPSAnbHRjJyxcbiAgUE9MWUdPTiA9ICdwb2x5Z29uJyxcbiAgTkVBUiA9ICduZWFyJyxcbiAgT0ZDID0gJ29mYycsXG4gIFJCVEMgPSAncmJ0YycsXG4gIFNPTCA9ICdzb2wnLFxuICBTVUkgPSAnc3VpJyxcbiAgU1RYID0gJ3N0eCcsXG4gIFNVU0QgPSAnc3VzZCcsXG4gIFRSWCA9ICd0cngnLFxuICBYTE0gPSAneGxtJyxcbiAgWFJQID0gJ3hycCcsXG4gIFhUWiA9ICd4dHonLFxuICBaRUMgPSAnemVjJyxcbn1cblxuLyoqXG4gKiBDb2luIGZlYXR1cmVzIGFyZSB5ZXMgb3Igbm8gcXVlc3Rpb25zIGFib3V0IHdoYXQgYSBjb2luIHJlcXVpcmVzIG9yIGlzIGNhcGFibGUgb2YuXG4gKlxuICogVGhpcyBhbGxvd3MgY29pbi1hZ25vc3RpYyBoYW5kbGluZyBvZiBjb2luLXNwZWNpZmljIGZlYXR1cmVzLiBUaGlzIGlzIGRlc2lnbmVkXG4gKiB0byByZXBsYWNlIGNoZWNraW5nIHRoZSBjb2luIG5hbWUgYWdhaW5zdCBhIHdoaXRlbGlzdCBvZiBzdXBwb3J0ZWQgY29pbnNcbiAqIGJlZm9yZSBleGVjdXRpbmcgc29tZSBjb2luLXNwZWNpZmljIGxvZ2ljLCBhbmQgaW5zdGVhZCBhbGxvd3Mgb25lIHRvIGNoZWNrIGlmIGFcbiAqIGNvaW4gc3VwcG9ydHMgdGhlIGNvaW4tc3BlY2lmaWMgZmVhdHVyZSB0aGF0IHRoZSBsb2dpYyBpbXBsZW1lbnRzLlxuICovXG5leHBvcnQgZW51bSBDb2luRmVhdHVyZSB7XG4gIC8qXG4gICAqIFRoZSB2YWx1ZWxlc3MgdHJhbnNmZXIgZmVhdHVyZSBpbmRpY2F0ZXMgdGhhdCBpdCBpcyB2YWxpZCB0byBzZW5kIGEgdHJhbnNhY3Rpb24gd2hpY2ggbW92ZXMgemVybyB1bml0cyBvZiB0aGUgY29pbi5cbiAgICpcbiAgICogQW4gZXhhbXBsZSBpcyBFdGhlcmV1bSwgd2hpY2ggdXNlcyB6ZXJvIHZhbHVlIHRyYW5zYWN0aW9ucyB0byB0cmlnZ2VyIGNvbnRyYWN0IGNhbGxzLlxuICAgKi9cbiAgVkFMVUVMRVNTX1RSQU5TRkVSID0gJ3ZhbHVlbGVzcy10cmFuc2ZlcicsXG4gIC8qXG4gICAqIFRyYW5zYWN0aW9uIGRhdGEgbWVhbnMgdGhlcmUgY2FuIGJlIGFyYml0cmFyeSBkYXRhIGVuY29kZWQgaW4gYSB0cmFuc2FjdGlvbi5cbiAgICpcbiAgICogRXRoZXJldW0gY29udHJhY3QgY2FsbCBkYXRhIGlzIGFuIGV4YW1wbGUuXG4gICAqL1xuICBUUkFOU0FDVElPTl9EQVRBID0gJ3RyYW5zYWN0aW9uLWRhdGEnLFxuICAvKlxuICAgKiBTb21lIGNvaW5zIGhhdmUgYSBoaWdoZXIgcHJlY2lzaW9uIHJhbmdlIHRoYW4gSUVFRSA3NTQgZG91Ymxlcywgd2hpY2ggYXJlIHVzZWQgdG8gcmVwcmVzZW50IG51bWJlcnMgaW4gamF2YXNjcmlwdC5cbiAgICpcbiAgICogRm9yIHRoZXNlIGNvaW5zLCB3ZSBtdXN0IHVzZSBhbiBhcmJpdHJhcnkgcHJlY2lzaW9uIGFyaXRobWV0aWMgbGlicmFyeSwgYW5kIHRoaXMgZmVhdHVyZSBpbmRpY2F0ZXMgdGhpcyByZXF1aXJlbWVudC5cbiAgICovXG4gIFJFUVVJUkVTX0JJR19OVU1CRVIgPSAncmVxdWlyZXMtYmlnLW51bWJlcicsXG4gIC8qXG4gICAqIFJNRyByZXF1aXJlcyBhbGwgd2FsbGV0cyB0byBoYXZlIGEgYmFja3VwIGtleSBoZWxkIGJ5IGEgQml0R28gYXBwcm92ZWQgS2V5IFJlY292ZXJ5IFNlcnZpY2UgKEtSUylcbiAgICovXG4gIFJFUVVJUkVTX0tSU19CQUNLVVBfS0VZID0gJ3JlcXVpcmVzLWtycy1iYWNrdXAta2V5JyxcbiAgLypcbiAgICogRm9yIGN1c3RvbWVycyB3aGljaCBhcmUgbm90IG9uIGEgcG9zdHBhaWQgY29udHJhY3QsIHdlIGFkZCBhbiBleHRyYSBvdXRwdXQgdG8gdHJhbnNhY3Rpb25zIHdoaWNoIHBheXMgQml0R28gYSBmZWUuXG4gICAqXG4gICAqIFRoaXMgZmVlIGlzIGtub3duIGFzIHRoZSBcInBheS1hcy15b3UtZ28gZmVlXCIsIG9yIGp1c3QgXCJwYXlnb1wiIGZvciBzaG9ydC5cbiAgICpcbiAgICogU29tZSBjb2lucyBhcmUgdW5hYmxlIHRvIGNyZWF0ZSB0cmFuc2FjdGlvbnMgd2l0aCBtb3JlIHRoYW4gb25lIG91dHB1dCwgc28gcGF5Z28gb3V0cHV0cyBhcmUgbm90IHBvc3NpYmxlIGZvciB0aGVzZSBjb2lucy5cbiAgICovXG4gIFBBWUdPID0gJ3BheWdvJyxcbiAgLypcbiAgICogRG9lcyB0aGlzIGNvaW4gYWxpZ24gd2l0aCB0aGUgdW5zcGVudCBtb2RlbD9cbiAgICpcbiAgICogVGhlc2UgYXJlIHR5cGljYWxseSBCaXRjb2luIGFuZCBmb3JrcyBvZiBpdCwgc3VjaCBhcyBMaXRlY29pbiBhbmQgQml0Y29pbiBDYXNoLlxuICAgKi9cbiAgVU5TUEVOVF9NT0RFTCA9ICd1bnNwZW50LW1vZGVsJyxcbiAgLypcbiAgICogRG9lcyB0aGlzIGNvaW4gYWxpZ24gd2l0aCB0aGUgYWNjb3VudCBtb2RlbD9cbiAgICpcbiAgICogRXhhbXBsZXMgb2YgdGhpcyBjb2luIHR5cGUgYXJlIEV0aGVyZXVtLCBYUlAsIGFuZCBTdGVsbGFyXG4gICAqL1xuICBBQ0NPVU5UX01PREVMID0gJ2FjY291bnQtbW9kZWwnLFxuICAvKlxuICAgKiBEb2VzIHRoaXMgY29pbiBzdXBwb3J0IGNoaWxkLXBheXMtZm9yLXBhcmVudCB0cmFuc2FjdGlvbnM/XG4gICAqXG4gICAqIFRoZXNlIGFyZSBzcGVjaWFsIHR5cGVzIG9mIHRyYW5zYWN0aW9ucyB3aGljaCBjYW4gYWNjZWxlcmF0ZSB0aGUgY29uZmlybWF0aW9uIHRpbWVcbiAgICogb2YgYW5vdGhlciB0cmFuc2FjdGlvbiB3aGljaCBpcyBzdHVjayBpbiB0aGUgbWVtcG9vbCBkdWUgdG8gbG93IGZlZXMuXG4gICAqXG4gICAqIFRoaXMgaXMgb25seSBwb3NzaWJsZSBmb3IgY29pbnMgd2hpY2ggZm9sbG93IHRoZSB1bnNwZW50IG1vZGVsIChVVFhPIGNvaW5zKS5cbiAgICovXG4gIENISUxEX1BBWVNfRk9SX1BBUkVOVCA9ICdjcGZwJyxcbiAgLypcbiAgICogRG9lcyB0aGlzIGNvaW4gc3VwcG9ydCB0b2tlbnM/IFRoZXNlIGFyZSBkaXN0aW5jdCBhc3NldHMgZnJvbSB0aGUgdW5kZXJseWluZyBjb2luLCBidXQgcnVuIG9uIHRoZSBzYW1lIG5ldHdvcmsuXG4gICAqXG4gICAqIEZvciBleGFtcGxlLCBFdGhlcmV1bSdzIEVSQyAyMCB0b2tlbiBzdGFuZGFyZCBtZWFucyB0aGF0IGl0IHN1cHBvcnRzIHRva2Vucywgc28gaXQgc2hhbGwgaGF2ZSB0aGlzIGZlYXR1cmUuXG4gICAqL1xuICBTVVBQT1JUU19UT0tFTlMgPSAnc3VwcG9ydHMtdG9rZW5zJyxcbiAgLypcbiAgICogQXJlIGZlZXMgZm9yIHRyYW5zYWN0aW9ucyBvZiB0aGlzIGNvaW4gcGFpZCBmb3IgYnkgdGhlIEVudGVycHJpc2UgKGVnLCBFbnRlcnByaXNlIGdhcyB0YW5rKT9cbiAgICovXG4gIEVOVEVSUFJJU0VfUEFZU19GRUVTID0gJ2VudGVycHJpc2UtcGF5cy1mZWVzJyxcbiAgLypcbiAgICogVGhpcyBjb2luIHJlcXVpcmVzIHRoYXQgYWNjb3VudHMga2VlcCBhIG1pbmltdW0gYmFsYW5jZSBhcyByZXNlcnZlXG4gICAqL1xuICBSRVFVSVJFU19SRVNFUlZFID0gJ3JlcXVpcmVzLXJlc2VydmUnLFxuICAvKlxuICAgKiBUaGlzIGNvaW4gc3VwcG9ydHMgY3VzdG9kaWFsIHdhbGxldCB0eXBlc1xuICAgKi9cbiAgQ1VTVE9EWSA9ICdjdXN0b2R5JyxcbiAgLypcbiAgVGhpcyBjb2luIHVzZXMgVFNTIGZvciBrZXkgY3JlYXRpb24gYW5kIHNpZ25pbmdcbiAgICovXG4gIFRTUyA9ICd0c3MnLFxuICAvKlxuICAgKiBUaGlzIGNvaW4gc3VwcG9ydHMgc3Rha2luZ1xuICAgKi9cbiAgU1RBS0lORyA9ICdzdGFraW5nJyxcbn1cblxuLyoqXG4gKiBTb21lIGNvaW5zIGFyZSByZXByZXNlbnRhdGlvbnMgb2YgYW5vdGhlciB1bmRlcmx5aW5nIGFzc2V0IGNsYXNzLiBBbiBleGFtcGxlXG4gKiBpcyBXcmFwcGVkIEJpdGNvaW4sIHdoaWNoIHJlcHJlc2VudHMgQml0Y29pbiBvbiB0aGUgRXRoZXJldW0gYmxvY2tjaGFpbi5cbiAqXG4gKiBGb3IgdGhlc2UgY29pbnMsIHRoZSBgVW5kZXJseWluZ0Fzc2V0YCBwcm92aWRlcyBhIGxpbmsgdG8gdGhlIGFjdHVhbFxuICogYXNzZXQgZm9yIHdoaWNoIHRoZSBjb2luIGlzIGEgdW5pdCBvZiBhY2NvdW50LlxuICovXG5leHBvcnQgZW51bSBVbmRlcmx5aW5nQXNzZXQge1xuICBBREEgPSAnYWRhJyxcbiAgQUxHTyA9ICdhbGdvJyxcbiAgQVBFID0gJ2FwZScsXG4gIEFQSTMgPSAnYXBpMycsXG4gIEFWQVhDID0gJ2F2YXhjJyxcbiAgQVZBWFAgPSAnYXZheHAnLFxuICBBWEwgPSAnQVhMJyxcbiAgQkNIID0gJ2JjaCcsXG4gIEJDSEEgPSAnYmNoYScsXG4gIEJTQyA9ICdic2MnLFxuICBCU1YgPSAnYnN2JyxcbiAgQlRDID0gJ2J0YycsXG4gIEJURyA9ICdidGcnLFxuICBEQVNIID0gJ2Rhc2gnLFxuICBET1QgPSAnZG90JyxcbiAgQ0VMTyA9ICdjZWxvJywgLy8gQ2VsbyBtYWluIGNvaW5cbiAgQ1NQUiA9ICdjc3ByJyxcbiAgRVRIID0gJ2V0aCcsXG4gIEVUSDIgPSAnZXRoMicsXG4gIEVUSFcgPSAnZXRodycsXG4gIEVUQyA9ICdldGMnLFxuICBFT1MgPSAnZW9zJyxcbiAgRVJEID0gJ2VyZCcsXG4gIEVVUiA9ICdldXInLFxuICBFVVJPQyA9ICdldXJvYycsXG4gIEdCUCA9ICdnYnAnLFxuICBHVEMgPSAnZ3RjJyxcbiAgR1RFVEggPSAnZ3RldGgnLFxuICBIQkFSID0gJ2hiYXInLCAvLyBIZWRlcmEgbWFpbiBjb2luXG4gIExUQyA9ICdsdGMnLFxuICBORUFSID0gJ25lYXInLFxuICBQT0xZR09OID0gJ3BvbHlnb24nLFxuICBSQlRDID0gJ3JidGMnLCAvLyBSU0sgbWFpbiBjb2luXG4gIFNPTCA9ICdzb2wnLFxuICBTVUkgPSAnc3VpJyxcbiAgU1RYID0gJ3N0eCcsXG4gIFRSWCA9ICd0cngnLFxuICBVU0QgPSAndXNkJyxcbiAgWExNID0gJ3hsbScsXG4gIFhSUCA9ICd4cnAnLFxuICBYVFogPSAneHR6JyxcbiAgWkVDID0gJ3plYycsXG5cbiAgLy8gRVJDIDIwIHRva2Vuc1xuICAnMUlOQ0gnID0gJzFpbmNoJyxcbiAgJzFVUCcgPSAnMXVwJyxcbiAgQUFWRSA9ICdhYXZlJyxcbiAgQUJUID0gJ2FidCcsXG4gIEFDRSA9ICdhY2UnLFxuICBBQ1hUID0gJ2FjeHQnLFxuICBBQ0ggPSAnYWNoJyxcbiAgQUUgPSAnYWUnLFxuICBBRVJHTyA9ICdhZXJnbycsXG4gIEFFUkdPMSA9ICdhZXJnbzEnLFxuICBBR1dEID0gJ2Fnd2QnLFxuICBBSU9OID0gJ2Fpb24nLFxuICBBTEkgPSAnYWxpJyxcbiAgQUxQSEEgPSAnYWxwaGEnLFxuICBBTU4gPSAnYW1uJyxcbiAgQU1PID0gJ2FtbycsXG4gIEFNUCA9ICdhbXAnLFxuICBBTU9OID0gJ2Ftb24nLFxuICBBTVBYID0gJ2FtcHgnLFxuICBBTkEgPSAnYW5hJyxcbiAgQU5UID0gJ2FudCcsXG4gIEFOVFYyID0gJ2FudHYyJyxcbiAgQU9BID0gJ2FvYScsXG4gIEFQUEMgPSAnYXBwYycsXG4gIEFRVCA9ICdhcXQnLFxuICBBUkNUID0gJ2FyY3QnLFxuICBBUkNYID0gJ2FyY3gnLFxuICBBU1QgPSAnYXN0JyxcbiAgQVRSSSA9ICdhdHJpJyxcbiAgQVVESU8gPSAnYXVkaW8nLFxuICBBVURYID0gJ2F1ZHgnLFxuICBBVVNUID0gJ2F1c3QnLFxuICBBS1JPID0gJ2Frcm8nLFxuICBBWFBSID0gJ2F4cHInLFxuICBBWFMgPSAnYXhzJyxcbiAgQVhTVjIgPSAnYXhzdjInLFxuICBCQURHRVIgPSAnYmFkZ2VyJyxcbiAgQkFMID0gJ2JhbCcsXG4gIEJBTkQgPSAnYmFuZCcsXG4gIEJBU0lDID0gJ2Jhc2ljJyxcbiAgQkFUID0gJ2JhdCcsXG4gIEJBWCA9ICdiYXgnLFxuICBCQlggPSAnYmJ4JyxcbiAgQkNBUCA9ICdiY2FwJyxcbiAgQkNDID0gJ2JjYycsXG4gIEJDSU8gPSAnYmNpbycsXG4gIEJFRCA9ICdiZWQnLFxuICBCRVBSTyA9ICdiZXBybycsXG4gIEJJQ08gPSAnYmljbycsXG4gIEJJRCA9ICdiaWQnLFxuICBCSURMID0gJ2JpZGwnLFxuICBCSVJEID0gJ2JpcmQnLFxuICBCSVQgPSAnYml0JyxcbiAgQk5CID0gJ2JuYicsXG4gIEJOSyA9ICdibmsnLFxuICBCTkwgPSAnYm5sJyxcbiAgQk5UID0gJ2JudCcsXG4gIEJOVFkgPSAnYm50eScsXG4gIEJPTkQgPSAnYm9uZCcsXG4gIEJMT0NLUyA9ICdibG9ja3MnLFxuICBCT1ggPSAnYm94JyxcbiAgQk9CQSA9ICdib2JhJyxcbiAgQlJEID0gJ2JyZCcsXG4gIEJSWiA9ICdicnonLFxuICBCU1QgPSAnYnN0JyxcbiAgQlNYID0gJ2JzeCcsXG4gIEJUUlNUID0gJ2J0cnN0JyxcbiAgQlRUID0gJ2J0dCcsXG4gIEJUVSA9ICdidHUnLFxuICBCVVJQID0gJ2J1cnAnLFxuICBCVVNEID0gJ2J1c2QnLFxuICBCVVkgPSAnYnV5JyxcbiAgQlBUID0gJ2JwdCcsXG4gIEJYWCA9ICdieHgnLFxuICBCWFhWMSA9ICdieHh2MScsXG4gIEJaWiA9ICdienonLFxuICBDOFAgPSAnYzhwJyxcbiAgQ0FDWFQgPSAnY2FjeHQnLFxuICBDQURYID0gJ2NhZHgnLFxuICBDQUcgPSAnY2FnJyxcbiAgQ0JBVCA9ICdjYmF0JyxcbiAgQ0JDID0gJ2NiYycsXG4gIENCUkwgPSAnY2JybCcsXG4gIENDVCA9ICdjY3QnLFxuICBDREFHID0gJ2NkYWcnLFxuICBDREFJID0gJ2NkYWknLFxuICBDRFQgPSAnY2R0JyxcbiAgQ0VMID0gJ2NlbCcsXG4gIENFTFIgPSAnY2VscicsXG4gIENFVEggPSAnY2V0aCcsXG4gIENITyA9ICdjaG8nLFxuICBDSEZYID0gJ2NoZngnLFxuICBDSFNCID0gJ2Noc2InLFxuICBDSFogPSAnY2h6JyxcbiAgQ0lYMTAwID0gJ2NpeDEwMCcsXG4gIENMSVEgPSAnY2xpcScsXG4gIENMTiA9ICdjbG4nLFxuICBDTFQgPSAnY2x0JyxcbiAgQ0xWID0gJ2NsdicsXG4gIENORyA9ICdjbmcnLFxuICBDTllYID0gJ2NueXgnLFxuICBDT01QID0gJ2NvbXAnLFxuICBDT1RJID0gJ2NvdGknLFxuICBDT1ZFUiA9ICdjb3ZlcicsXG4gIENQQVkgPSAnY3BheScsXG4gIENQTFQgPSAnY3BsdCcsXG4gIENRVCA9ICdjcXQnLFxuICBDUVggPSAnY3F4JyxcbiAgQ1JBID0gJ2NyYScsXG4gIENSRFQgPSAnY3JkdCcsXG4gIENSRSA9ICdjcmUnLFxuICBDUkVBTSA9ICdjcmVhbScsXG4gIENSRVAgPSAnY3JlcCcsXG4gIENSTyA9ICdjcm8nLFxuICBDUlYgPSAnY3J2JyxcbiAgQ1JQVCA9ICdjcnB0JyxcbiAgQ1JQVDEgPSAnY3JwdDEnLFxuICBDU0xWID0gJ2NzbHYnLFxuICBDU1AgPSAnY3NwJyxcbiAgQ1RTSSA9ICdjdHNpJyxcbiAgQ1VTRCA9ICdjdXNkJyxcbiAgQ1VTREMgPSAnY3VzZGMnLFxuICBDV0JUQyA9ICdjd2J0YycsXG4gIENWQyA9ICdjdmMnLFxuICBDVlggPSAnY3Z4JyxcbiAgQ1pSWCA9ICdjenJ4JyxcbiAgREFDWEkgPSAnZGFjeGknLFxuICBEQUkgPSAnZGFpJyxcbiAgREFPID0gJ2RhbycsXG4gIERBVEEgPSAnZGF0YScsXG4gIERBVEFWMiA9ICdkYXRhdjInLFxuICBEQVRBRUNPTiA9ICdkYXRhZWNvbicsXG4gIERFQyA9ICdkZWMnLFxuICBERU5UID0gJ2RlbnQnLFxuICBERVAgPSAnZGVwJyxcbiAgREVYQSA9ICdkZXhhJyxcbiAgREZEID0gJ2RmZCcsXG4gIERGSSA9ICdkZmknLFxuICBER0NMID0gJ2RnY2wnLFxuICBER0QgPSAnZGdkJyxcbiAgREdYID0gJ2RneCcsXG4gIERJR0cgPSAnZGlnZycsXG4gIERJQSA9ICdkaWEnLFxuICBETVQgPSAnZG10JyxcbiAgRE9ETyA9ICdkb2RvJyxcbiAgRE9HRSA9ICdkb2dlJyxcbiAgRFBJID0gJ2RwaScsXG4gIERSUFUgPSAnZHJwdScsXG4gIERSViA9ICdkcnYnLFxuICBEVUMgPSAnZHVjJyxcbiAgRFgxVSA9ICdkeDF1JyxcbiAgRFhHVCA9ICdkeGd0JyxcbiAgRFhQVCA9ICdkeHB0JyxcbiAgRFhTVCA9ICdkeHN0JyxcbiAgRFlEWCA9ICdkeWR4JyxcbiAgRFlOID0gJ2R5bicsXG4gIEVBU1kgPSAnZWFzeScsXG4gIEVCVENRID0gJ2VidGNxJyxcbiAgRUNIVCA9ICdlY2h0JyxcbiAgRURJU09OID0gJ2VkaXNvbicsXG4gIEVETiA9ICdlZG4nLFxuICBFRFIgPSAnZWRyJyxcbiAgRUZJID0gJ2VmaScsXG4gIEVHTCA9ICdlZ2wnLFxuICBFR0xEID0gJ2VnbGQnLFxuICBFR09MRCA9ICdlZ29sZCcsXG4gIEVMRiA9ICdlbGYnLFxuICBFTVggPSAnZW14JyxcbiAgRU5HID0gJ2VuZycsXG4gIEVOSiA9ICdlbmonLFxuICBFTlMgPSAnZW5zJyxcbiAgRVFPID0gJ2VxbycsXG4gIEVUQSA9ICdldGEnLFxuICBFVEhPUyA9ICdldGhvcycsXG4gIEVUViA9ICdldHYnLFxuICBFVVJTID0gJ2V1cnMnLFxuICBFVVJTVCA9ICdldXJzdCcsXG4gIEVVUlQgPSAnZXVydCcsXG4gIEVVUlggPSAnZXVyeCcsXG4gIEVVWCA9ICdldXgnLFxuICBFVlggPSAnZXZ4JyxcbiAgRVhFID0gJ2V4ZScsXG4gIEZFSSA9ICdmZWknLFxuICBGRVQgPSAnZmV0JyxcbiAgRkVUMSA9ICdmZXQxJyxcbiAgRkRUID0gJ2ZkdCcsXG4gIEZGMSA9ICdmZjEnLFxuICBGRlQgPSAnZmZ0JyxcbiAgRklSRSA9ICdmaXJlJyxcbiAgRklYRUQgPSAnZml4ZWQnLFxuICBGTFkgPSAnZmx5JyxcbiAgRk1GID0gJ2ZtZicsXG4gIEZPUlRIID0gJ2ZvcnRoJyxcbiAgRlJPTlQgPSAnZnJvbnQnLFxuICBGVE0gPSAnZnRtJyxcbiAgRlRUID0gJ2Z0dCcsXG4gIEZVTiA9ICdmdW4nLFxuICBGV0IgPSAnZndiJyxcbiAgRlhSVCA9ICdmeHJ0JyxcbiAgRlhTID0gJ2Z4cycsXG4gIEdBTCA9ICdnYWwnLFxuICBHQUxBID0gJ2dhbGEnLFxuICBHQU1NQSA9ICdnYW1tYScsXG4gIEdCUFggPSAnZ2JweCcsXG4gIEdEVCA9ICdnZHQnLFxuICBHRUMgPSAnZ2VjJyxcbiAgR0VOID0gJ2dlbicsXG4gIEdGSSA9ICdnZmknLFxuICBHSFVCID0gJ2dodWInLFxuICBHSUdEUk9QID0gJ2dpZ2Ryb3AnLFxuICBHTERYID0gJ2dsZHgnLFxuICBHTE0gPSAnZ2xtJyxcbiAgR01UID0gJ2dtdCcsXG4gIEdOTyA9ICdnbm8nLFxuICBHTlQgPSAnZ250JyxcbiAgR09EUyA9ICdnb2RzJyxcbiAgR09HID0gJ2dvZycsXG4gIEdPTEQgPSAnZ29sZCcsXG4gIEdPVCA9ICdnb3QnLFxuICBHUlQgPSAnZ3J0JyxcbiAgR1RBQVZFMThEUCA9ICdndGFhdmUxOGRwJyxcbiAgR1RCQVQxOERQID0gJ2d0YmF0MThkcCcsXG4gIEdUQ09NUDE4RFAgPSAnZ3Rjb21wMThkcCcsXG4gIEdUR1JUMThEUCA9ICdndGdydDE4ZHAnLFxuICBHVExJTksxOERQID0gJ2d0bGluazE4ZHAnLFxuICBHVE1LUjE4RFAgPSAnZ3Rta3IxOGRwJyxcbiAgR1RTTlgxOERQID0gJ2d0c254MThkcCcsXG4gIEdUVU5JMThEUCA9ICdndHVuaTE4ZHAnLFxuICBHVFVTRFQ2RFAgPSAnZ3R1c2R0NmRwJyxcbiAgR1RZRkkxOERQID0gJ2d0eWZpMThkcCcsXG4gIEdUV0JUQzhEUCA9ICdndHdidGM4ZHAnLFxuICBHVE8gPSAnZ3RvJyxcbiAgR1RFUkMyRFAgPSAnZ3RlcmMyZHAnLFxuICBHVEVSQzZEUCA9ICdndGVyYzZkcCcsXG4gIEdURVJDMThEUCA9ICdndGVyYzE4ZHAnLFxuICBHVVNEID0gJ2d1c2QnLFxuICBHVVNEVCA9ICdndXNkdCcsXG4gIEdYQyA9ICdneGMnLFxuICBHWUVOID0gJ2d5ZW4nLFxuICBIQ04gPSAnaGNuJyxcbiAgSERPID0gJ2hkbycsXG4gIEhFREcgPSAnaGVkZycsXG4gIEhLRFggPSAnaGtkeCcsXG4gIEhMQyA9ICdobGMnLFxuICBITVQgPSAnaG10JyxcbiAgSE9MRCA9ICdob2xkJyxcbiAgSE9UID0gJ2hvdCcsXG4gIEhRVCA9ICdocXQnLFxuICBIU1QgPSAnaHN0JyxcbiAgSFQgPSAnaHQnLFxuICBIVU0gPSAnaHVtJyxcbiAgSFVTRCA9ICdodXNkJyxcbiAgSFhSTyA9ICdoeHJvJyxcbiAgSFlCID0gJ2h5YicsXG4gIEhZRFJPID0gJ2h5ZHJvJyxcbiAgSTggPSAnaTgnLFxuICBJQ0VUSCA9ICdpY2V0aCcsXG4gIElERVggPSAnaWRleCcsXG4gIElEUkMgPSAnaWRyYycsXG4gIElEUlQgPSAnaWRydCcsXG4gIElNWCA9ICdpbXgnLFxuICBJTVhWMiA9ICdpbXh2MicsXG4gIElOQ1ggPSAnaW5jeCcsXG4gIElORCA9ICdpbmQnLFxuICBJTkRFWCA9ICdpbmRleCcsXG4gIElORiA9ICdpbmYnLFxuICBJTkogPSAnaW5qJyxcbiAgSU5KVjIgPSAnaW5qdjInLFxuICBJTlNUID0gJ2luc3QnLFxuICBJTlggPSAnaW54JyxcbiAgSVNGID0gJ2lzZicsXG4gIElTUiA9ICdpc3InLFxuICBJVk8gPSAnaXZvJyxcbiAgSVZZID0gJ2l2eScsXG4gIEpCQyA9ICdqYmMnLFxuICBKQ1IgPSAnamNyJyxcbiAgSkNHID0gJ2pjZycsXG4gIEpGSU4gPSAnamZpbicsXG4gIEpQWVggPSAnanB5eCcsXG4gIEtFRVAgPSAna2VlcCcsXG4gIEtFWSA9ICdrZXknLFxuICBLSU4gPSAna2luJyxcbiAgS0lSTyA9ICdraXJvJyxcbiAgS05DID0gJ2tuYycsXG4gIEtOQzIgPSAna25jMicsXG4gIEtPSU4gPSAna29pbicsXG4gIEtPWiA9ICdrb3onLFxuICBLUDNSID0gJ2twM3InLFxuICBLWkUgPSAna3plJyxcbiAgTEFZRVIgPSAnbGF5ZXInLFxuICBMQkEgPSAnbGJhJyxcbiAgTEVORCA9ICdsZW5kJyxcbiAgTEVPID0gJ2xlbycsXG4gIExHTyA9ICdsZ28nLFxuICBMSU5LID0gJ2xpbmsnLFxuICBMSU9OID0gJ2xpb24nLFxuICBMTkMgPSAnbG5jJyxcbiAgTE9PS1MgPSAnbG9va3MnLFxuICBMT09NID0gJ2xvb20nLFxuICBMT09NMSA9ICdsb29tMScsXG4gIExSQyA9ICdscmMnLFxuICBMUkNWMiA9ICdscmN2MicsXG4gIExZTiA9ICdseW4nLFxuICBNQU5BID0gJ21hbmEnLFxuICBNQVBTID0gJ21hcHMnLFxuICBNQVRJQyA9ICdtYXRpYycsXG4gIE1DQVUgPSAnbWNhdScsXG4gIE1DREFJID0gJ21jZGFpJyxcbiAgTUNPID0gJ21jbycsXG4gIE1DTzIgPSAnbWNvMicsXG4gIE1DUyA9ICdtY3MnLFxuICBNQ1ggPSAnbWN4JyxcbiAgTURGQyA9ICdtZGZjJyxcbiAgTURYID0gJ21keCcsXG4gIE1FRFggPSAnbWVkeCcsXG4gIE1FTUUgPSAnbWVtZScsXG4gIE1FVCA9ICdtZXQnLFxuICBNRVRBID0gJ21ldGEnLFxuICBNRkcgPSAnbWZnJyxcbiAgTUZQSCA9ICdtZnBoJyxcbiAgTUZUID0gJ21mdCcsXG4gIE1JTEtWMiA9ICdtaWxrdjInLFxuICBNSVIgPSAnbWlyJyxcbiAgTUlUSCA9ICdtaXRoJyxcbiAgTUlYID0gJ21peCcsXG4gIE1JWk4gPSAnbWl6bicsXG4gIE1LUiA9ICdta3InLFxuICBNTlMgPSAnbW5zJyxcbiAgTU5ERSA9ICdtbmRlJyxcbiAgTU9DID0gJ21vYycsXG4gIE1PRiA9ICdtb2YnLFxuICBNUEFZID0gJ21wYXknLFxuICBNUEwgPSAnbXBsJyxcbiAgTVRDTiA9ICdtdGNuJyxcbiAgTVRMID0gJ210bCcsXG4gIE1VU0QgPSAnbXVzZCcsXG4gIE1WTCA9ICdtdmwnLFxuICBNVkkgPSAnbXZpJyxcbiAgTVdUID0gJ213dCcsXG4gIE5BUyA9ICduYXMnLFxuICBOQ1QgPSAnbmN0JyxcbiAgTkRYID0gJ25keCcsXG4gIE5FVSA9ICduZXUnLFxuICBORVhPID0gJ25leG8nLFxuICBORlRYID0gJ25mdHgnLFxuICBOR05UID0gJ25nbnQnLFxuICBOSUFYID0gJ25pYXgnLFxuICBOTVIgPSAnbm1yJyxcbiAgTlBYUyA9ICducHhzJyxcbiAgTlMyRFJQID0gJ25zMmRycCcsXG4gIE5VID0gJ251JyxcbiAgTllNID0gJ255bScsXG4gIE5aRFggPSAnbnpkeCcsXG4gIE9DRUFOID0gJ29jZWFuJyxcbiAgT0NFQU5WMiA9ICdvY2VhbnYyJyxcbiAgT0dOID0gJ29nbicsXG4gIE9NID0gJ29tJyxcbiAgT0tCID0gJ29rYicsXG4gIE9NRyA9ICdvbWcnLFxuICBPTkwgPSAnb25sJyxcbiAgT1AgPSAnb3AnLFxuICBPUFQgPSAnb3B0JyxcbiAgT1JBSSA9ICdvcmFpJyxcbiAgT1JCUyA9ICdvcmJzJyxcbiAgT1JDQSA9ICdvcmNhJyxcbiAgT1hUID0gJ294dCcsXG4gIE9YWSA9ICdveHknLFxuICBPSE0gPSAnb2htJyxcbiAgU0QgPSAnc2QnLFxuICBTT0hNID0gJ3NvaG0nLFxuICBHT0hNID0gJ2dvaG0nLFxuICBQQVIgPSAncGFyJyxcbiAgUEFTUyA9ICdwYXNzJyxcbiAgUEFVID0gJ3BhdScsXG4gIFBBWCA9ICdwYXgnLFxuICBQQVhHID0gJ3BheGcnLFxuICBQQVkgPSAncGF5JyxcbiAgUEJDSCA9ICdwYmNoJyxcbiAgUERBVEEgPSAncGRhdGEnLFxuICBQQlRDID0gJ3BidGMnLFxuICBQRUcgPSAncGVnJyxcbiAgUEVSUCA9ICdwZXJwJyxcbiAgUEVUSCA9ICdwZXRoJyxcbiAgUEhOWCA9ICdwaG54JyxcbiAgUElFID0gJ3BpZScsXG4gIFBMQyA9ICdwbGMnLFxuICBQRkNUID0gJ3BmY3QnLFxuICBQTEFORVQgPSAncGxhbmV0JyxcbiAgUExOWCA9ICdwbG54JyxcbiAgUExYID0gJ3BseCcsXG4gIFBNQSA9ICdwbWEnLFxuICBQT0xZID0gJ3BvbHknLFxuICBQT1dSID0gJ3Bvd3InLFxuICBQUFQgPSAncHB0JyxcbiAgUFJEWCA9ICdwcmR4JyxcbiAgUFJJTlRTID0gJ3ByaW50cycsXG4gIFBSTyA9ICdwcm8nLFxuICBQUlRTID0gJ3BydHMnLFxuICBQU1RBS0UgPSAncHN0YWtlJyxcbiAgUFVORElYID0gJ3B1bmRpeCcsXG4gIFBVU0QgPSAncHVzZCcsXG4gIFBYUCA9ICdweHAnLFxuICBQWVIgPSAncHlyJyxcbiAgUUFTSCA9ICdxYXNoJyxcbiAgUUNBRCA9ICdxY2FkJyxcbiAgUVVJQ0sgPSAncXVpY2snLFxuICBRRFQgPSAncWR0JyxcbiAgUUtDID0gJ3FrYycsXG4gIFFOVCA9ICdxbnQnLFxuICBRUkRPID0gJ3FyZG8nLFxuICBRUkwgPSAncXJsJyxcbiAgUVNQID0gJ3FzcCcsXG4gIFFWVCA9ICdxdnQnLFxuICBSQUQgPSAncmFkJyxcbiAgUkNPSU4gPSAncmNvaW4nLFxuICBSQVJFID0gJ3JhcmUnLFxuICBSQVJJID0gJ3JhcmknLFxuICBSQVkgPSAncmF5JyxcbiAgUkJZID0gJ3JieScsXG4gIFJETiA9ICdyZG4nLFxuICBSRUIgPSAncmViJyxcbiAgUkVCTCA9ICdyZWJsJyxcbiAgUkVFRiA9ICdyZWVmJyxcbiAgUkVQID0gJ3JlcCcsXG4gIFJFUFYyID0gJ3JlcHYyJyxcbiAgJ1JFVEgtSCcgPSAncmV0aC1oJyxcbiAgUkZSID0gJ3JmcicsXG4gIFJGVUVMID0gJ3JmdWVsJyxcbiAgUkdUID0gJ3JndCcsXG4gIFJJRiA9ICdyaWYnLFxuICBSSU5HWCA9ICdyaW5neCcsXG4gIFJMQyA9ICdybGMnLFxuICBSTFkgPSAncmx5JyxcbiAgUk5EUiA9ICdybmRyJyxcbiAgUk9PSyA9ICdyb29rJyxcbiAgUk9OID0gJ3JvbicsXG4gIFJPTkMgPSAncm9uYycsXG4gIFJPT0JFRSA9ICdyb29iZWUnLFxuICBSU1IgPSAncnNyJyxcbiAgUlVCWCA9ICdydWJ4JyxcbiAgUlVFREFUSyA9ICdydWVkYXRrJyxcbiAgU0FMVCA9ICdzYWx0JyxcbiAgU0FORCA9ICdzYW5kJyxcbiAgU0FTSElNSSA9ICdzYXNoaW1pJyxcbiAgU0dBID0gJ3NnYScsXG4gIFNHRFggPSAnc2dkeCcsXG4gIFNHUiA9ICdzZ3InLFxuICBTSEsgPSAnc2hrJyxcbiAgU0hPUFggPSAnc2hvcHgnLFxuICBTSElCID0gJ3NoaWInLFxuICBTSFIgPSAnc2hyJyxcbiAgU0lIID0gJ3NpaCcsXG4gIFNJTFYgPSAnc2lsdicsXG4gIFNJUEhFUiA9ICdzaXBoZXInLFxuICBTSVMgPSAnc2lzJyxcbiAgU0tBTEUgPSAnc2thbGUnLFxuICBTTEFCID0gJ3NsYWInLFxuICBTTE5EID0gJ3NsbmQnLFxuICBTTE9UID0gJ3Nsb3QnLFxuICBTTFAgPSAnc2xwJyxcbiAgU0xWWCA9ICdzbHZ4JyxcbiAgU05DID0gJ3NuYycsXG4gIFNOT1YgPSAnc25vdicsXG4gIFNOVCA9ICdzbnQnLFxuICBTTlggPSAnc254JyxcbiAgU09DID0gJ3NvYycsXG4gIFNQRUxMID0gJ3NwZWxsJyxcbiAgU1BPID0gJ3NwbycsXG4gIFNPTFZFID0gJ3NvbHZlJyxcbiAgU1JOVCA9ICdzcm50JyxcbiAgU1JNID0gJ3NybScsXG4gIFNUQlUgPSAnc3RidScsXG4gIFNUQyA9ICdzdGMnLFxuICBTVENWMiA9ICdzdGN2MicsXG4gICdTRVRILUgnID0gJ3NldGgtaCcsXG4gIFNUS0FBVkUgPSAnc3RrYWF2ZScsXG4gIFNUT1JFID0gJ3N0b3JlJyxcbiAgU1RPUkogPSAnc3RvcmonLFxuICBTVE1YID0gJ3N0bXgnLFxuICBTVE9STSA9ICdzdG9ybScsXG4gIFNUWkVOID0gJ3N0emVuJyxcbiAgU1VQRVIgPSAnc3VwZXInLFxuICBTVVNISSA9ICdzdXNoaScsXG4gIFNRVUlHID0gJ3NxdWlnJyxcbiAgU1hQID0gJ3N4cCcsXG4gIFRIUkVTSE9MRCA9ICd0aHJlc2hvbGQnLFxuICBUQVVEID0gJ3RhdWQnLFxuICBUQlRDMSA9ICd0YnRjMScsXG4gIFRDQUQgPSAndGNhZCcsXG4gIFRDTyA9ICd0Y28nLFxuICBURUwgPSAndGVsJyxcbiAgVEVOID0gJ3RlbicsXG4gIFRFTlggPSAndGVueCcsXG4gIFRFUkMgPSAndGVyYycsXG4gIFRFVVJPQyA9ICd0ZXVyb2MnLFxuICBURVJDMkRQID0gJ3RlcmMyZHAnLFxuICBURVJDNkRQID0gJ3RlcmM2ZHAnLFxuICBURVJDMThEUCA9ICd0ZXJjMThEUCcsXG4gIFRFUkMyMCA9ICd0ZXJjMjAnLFxuICBURVJDMkRQMSA9ICd0ZXJjMmRwMScsXG4gIFRFUkMyRFAyID0gJ3RlcmMyZHAyJyxcbiAgVEVSQzJEUDMgPSAndGVyYzJkcDMnLFxuICBURVJDMkRQNCA9ICd0ZXJjMmRwNCcsXG4gIFRFUkMyRFA1ID0gJ3RlcmMyZHA1JyxcbiAgVEVSQzZEUDEgPSAndGVyYzZkcDEnLFxuICBURVJDNkRQMiA9ICd0ZXJjNmRwMicsXG4gIFRFUkM2RFAzID0gJ3RlcmM2ZHAzJyxcbiAgVEVSQzZEUDQgPSAndGVyYzZkcDQnLFxuICBURVJDNkRQNSA9ICd0ZXJjNmRwNScsXG4gIFRFUkMxOERQMSA9ICd0ZXJjMThkcDEnLFxuICBURVJDMThEUDIgPSAndGVyYzE4ZHAyJyxcbiAgVEVSQzE4RFAzID0gJ3RlcmMxOGRwMycsXG4gIFRFUkMxOERQNCA9ICd0ZXJjMThkcDQnLFxuICBURVJDMThEUDUgPSAndGVyYzE4ZHA1JyxcbiAgVEVSQzE4RFA2ID0gJ3RlcmMxOGRwNicsXG4gIFRFUkMxOERQNyA9ICd0ZXJjMThkcDcnLFxuICBURVJDMThEUDggPSAndGVyYzE4ZHA4JyxcbiAgVEVSQzE4RFA5ID0gJ3RlcmMxOGRwOScsXG4gIFRFUkMxOERQMTAgPSAndGVyYzE4ZHAxMCcsXG4gIFRFUkMxOERQMTEgPSAndGVyYzE4ZHAxMScsXG4gIFRFUkMxOERQMTIgPSAndGVyYzE4ZHAxMicsXG4gIFRFUkMxOERQMTMgPSAndGVyYzE4ZHAxMycsXG4gIFRFUkMxOERQMTQgPSAndGVyYzE4ZHAxNCcsXG4gIFRFUkMxOERQMTUgPSAndGVyYzE4ZHAxNScsXG4gIFRHQlAgPSAndGdicCcsXG4gIFRIS0QgPSAndGhrZCcsXG4gIFRJT1ggPSAndGlveCcsXG4gIFRLTlQgPSAndGtudCcsXG4gIFRLWCA9ICd0a3gnLFxuICBUTEFCID0gJ3RsYWInLFxuICBUTUFUSUMgPSAndG1hdGljJyxcbiAgVE5UID0gJ3RudCcsXG4gIFRPSyA9ICd0b2snLFxuICBUUkFDID0gJ3RyYWMnLFxuICBUUkFYWCA9ICd0cmF4eCcsXG4gIFRSSUJFID0gJ3RyaWJlJyxcbiAgVFJMID0gJ3RybCcsXG4gIFRSU1QgPSAndHJzdCcsXG4gIFRSVSA9ICd0cnUnLFxuICBUUllCID0gJ3RyeWInLFxuICBUUllYID0gJ3RyeXgnLFxuICBUVVNEID0gJ3R1c2QnLFxuICBUWEwgPSAndHhsJyxcbiAgVUFJUiA9ICd1YWlyJyxcbiAgVUNPID0gJ3VjbycsXG4gIFVLRyA9ICd1a2cnLFxuICBVTUEgPSAndW1hJyxcbiAgVU1FRSA9ICd1bWVlJyxcbiAgVU5CID0gJ3VuYicsXG4gIFVOSSA9ICd1bmknLFxuICBVUCA9ICd1cCcsXG4gIFVQQlRDID0gJ3VwYnRjJyxcbiAgVVBQID0gJ3VwcCcsXG4gIFVQVCA9ICd1cHQnLFxuICBVUFVTRCA9ICd1cHVzZCcsXG4gIFVRQyA9ICd1cWMnLFxuICBVUkhEID0gJ3VyaGQnLFxuICBVU0RDID0gJ3VzZGMnLFxuICAvLyBBbHNvIGF2YWlsYWJsZSBvbiBFT1NcbiAgVVNEVCA9ICd1c2R0JyxcbiAgVVNEWCA9ICd1c2R4JyxcbiAgVVNHID0gJ3VzZycsXG4gIFVTUFggPSAndXNweCcsXG4gIFVTVCA9ICd1c3QnLFxuICBVU1ggPSAndXN4JyxcbiAgVVRLID0gJ3V0aycsXG4gIFVUSzEgPSAndXRrMScsXG4gIFZBTE9SID0gJ3ZhbG9yJyxcbiAgVkRYID0gJ3ZkeCcsXG4gIFZFR0EgPSAndmVnYScsXG4gIFZJU1IgPSAndmlzcicsXG4gIFZSR1ggPSAndnJneCcsXG4gIFZYQyA9ICd2eGMnLFxuICBWU1AgPSAndnNwJyxcbiAgV0FGTCA9ICd3YWZsJyxcbiAgV0FYID0gJ3dheCcsXG4gIFdBQkkgPSAnd2FiaScsXG4gIFdPTyA9ICd3b28nLFxuICBXVEsgPSAnd3RrJyxcbiAgV0JUQyA9ICd3YnRjJyxcbiAgV0NGRyA9ICd3Y2ZnJyxcbiAgV0VDID0gJ3dlYycsXG4gIFdFVCA9ICd3ZXQnLFxuICBXRVRIID0gJ3dldGgnLFxuICBXSEFMRSA9ICd3aGFsZScsXG4gIFdIVCA9ICd3aHQnLFxuICBXSUxEID0gJ3dpbGQnLFxuICBXTlhNID0gJ3dueG0nLFxuICBXTFVOQSA9ICd3bHVuYScsXG4gIFdMWFQgPSAnd2x4dCcsXG4gIFdTVEVUSCA9ICd3c3RldGgnLFxuICBXUFggPSAnd3B4JyxcbiAgV1RDID0gJ3d0YycsXG4gIFdYUlAgPSAnd3hycCcsXG4gIFdYUlBWMCA9ICd3eHJwdjAnLFxuICBXWFQgPSAnd3h0JyxcbiAgWEFVRCA9ICd4YXVkJyxcbiAgWEJHT0xEID0gJ3hiZ29sZCcsXG4gIFhDRCA9ICd4Y2QnLFxuICBYRVggPSAneGV4JyxcbiAgWFJMID0gJ3hybCcsXG4gIFhTR0QgPSAneHNnZCcsXG4gIFhTVVNISSA9ICd4c3VzaGknLFxuICBYVFAgPSAneHRwJyxcbiAgWUZEQUkgPSAneWZkYWknLFxuICBZRkkgPSAneWZpJyxcbiAgWUZJSSA9ICd5ZmlpJyxcbiAgWUdHID0gJ3lnZycsXG4gIFlMRCA9ICd5bGQnLFxuICBZTkcgPSAneW5nJyxcbiAgWVNFWSA9ICd5c2V5JyxcbiAgWkFSWCA9ICd6YXJ4JyxcbiAgWkNPID0gJ3pjbycsXG4gIFpJTCA9ICd6aWwnLFxuICBaSVggPSAneml4JyxcbiAgWkxXID0gJ3psdycsXG4gIFpNVCA9ICd6bXQnLFxuICBaT09NID0gJ3pvb20nLFxuICBaUlggPSAnenJ4JyxcbiAgWlVTRCA9ICd6dXNkJyxcbiAgJ3hsbTpCU1QtR0FEREZFNFI3MllVUDJBT0VMNjdPSFpOM0dKUVlQQzNWRTczNE4yWEZNRUdSUjJMMzJDWjNYWVonID0gJ3hsbTpCU1QtR0FEREZFNFI3MllVUDJBT0VMNjdPSFpOM0dKUVlQQzNWRTczNE4yWEZNRUdSUjJMMzJDWjNYWVonLFxuICAneGxtOlZFTE8tR0RNNFJRVVFRVVZTS1FBN1M2RU03WEJaUDNGQ0dINFE3Q0w2VEFCUTdCMkJFSjVFUkFSTTJNNU0nID0gJ3hsbTpWRUxPLUdETTRSUVVRUVVWU0tRQTdTNkVNN1hCWlAzRkNHSDRRN0NMNlRBQlE3QjJCRUo1RVJBUk0yTTVNJyxcbiAgJ3hsbTpTTFQtR0NLQTZLNVBDUTZQTkY1UlFCRjdQUURKV1JITzZVT0dGTVJMSzNEWUhET0kyNDRWNDdYS1E0R1AnID0gJ3hsbTpTTFQtR0NLQTZLNVBDUTZQTkY1UlFCRjdQUURKV1JITzZVT0dGTVJMSzNEWUhET0kyNDRWNDdYS1E0R1AnLFxuICAneGxtOlVTRC1HRFVLTUdVR0RaUUs2WUhZQTVaNkFZMkc0WERTWlBTWjNTVzVVTjNBUlZNTzZRU1JEV1A1WUxFWCcgPSAneGxtOlVTRC1HRFVLTUdVR0RaUUs2WUhZQTVaNkFZMkc0WERTWlBTWjNTVzVVTjNBUlZNTzZRU1JEV1A1WUxFWCcsXG4gICd4bG06RVRILUdCVk9MNjdUTVVRQkdMNFRaWU5NWTNaUTVXR1FZRlBGRDVWSlJXWFI3MlZBMzNWRk5MMjI1UEw1JyA9ICd4bG06RVRILUdCVk9MNjdUTVVRQkdMNFRaWU5NWTNaUTVXR1FZRlBGRDVWSlJXWFI3MlZBMzNWRk5MMjI1UEw1JyxcbiAgJ3hsbTpXWFQtR0FTQkxWSFM1Rk9BQlNETlc1U1BQSDNRUkpZWFk1SkhBMkFPQTJRSEgyRkpMWkJSWFNHNFNXWFQnID0gJ3hsbTpXWFQtR0FTQkxWSFM1Rk9BQlNETlc1U1BQSDNRUkpZWFk1SkhBMkFPQTJRSEgyRkpMWkJSWFNHNFNXWFQnLFxuICAneGxtOlVTREMtR0E1WlNFSllCMzdKUkM1QVZDSUE1TU9QNFJIVE0zMzVYMktHWDNJSE9KQVBQNVJFMzRLNEtaVk4nID0gJ3hsbTpVU0RDLUdBNVpTRUpZQjM3SlJDNUFWQ0lBNU1PUDRSSFRNMzM1WDJLR1gzSUhPSkFQUDVSRTM0SzRLWlZOJyxcbiAgJ3hsbTpTSVgtR0RNUzZFRUNPSDZNQk1DUDNGWVJZRVZSQklWM1RRR0xPRlFJUFZBSVRCUkpVTVRJNlY3QTJYNlonID0gJ3hsbTpTSVgtR0RNUzZFRUNPSDZNQk1DUDNGWVJZRVZSQklWM1RRR0xPRlFJUFZBSVRCUkpVTVRJNlY3QTJYNlonLFxuICAneGxtOkJSTFQtR0NIUTNGMkJGNVA3NERNRE5PT0dIVDVEVUNLQzc3M0FXNURUT0ZJTkMyNlc0S0dZRlBZRFBSU08nID0gJ3hsbTpCUkxULUdDSFEzRjJCRjVQNzRETUROT09HSFQ1RFVDS0M3NzNBVzVEVE9GSU5DMjZXNEtHWUZQWURQUlNPJyxcbiAgJ3hsbTpBUlNULUdDU0FaVldYWktXUzRYUzIyM001RjU0SDJCNlhQSUlYWlpHUDdLRUFJVTZZU0w1SERSR0NJM0RHJyA9ICd4bG06QVJTVC1HQ1NBWlZXWFpLV1M0WFMyMjNNNUY1NEgyQjZYUElJWFpaR1A3S0VBSVU2WVNMNUhEUkdDSTNERycsXG4gICd4bG06QVFVQS1HQk5aSUxTVFZRWjRSN0lLUURHSFlHWTJRWEw1UU9GSllRTVhQS1dSUk01UEFWN1k0TTY3QVFVQScgPSAneGxtOkFRVUEtR0JOWklMU1RWUVo0UjdJS1FER0hZR1kyUVhMNVFPRkpZUU1YUEtXUlJNNVBBVjdZNE02N0FRVUEnLFxuXG4gIC8vIEFsZ29yYW5kIG1haW5uZXQgdG9rZW5zXG4gICdhbGdvOlVTREMtMzE1NjY3MDQnID0gJ2FsZ286VVNEQy0zMTU2NjcwNCcsXG4gICdhbGdvOlVTRHQtMzEyNzY5JyA9ICdhbGdvOlVTRHQtMzEyNzY5JyxcbiAgJ2FsZ286TUNBVS02NTQ3MDE0JyA9ICdhbGdvOk1DQVUtNjU0NzAxNCcsXG4gICdhbGdvOlZDQUQtNDM4NTA1NTU5JyA9ICdhbGdvOlZDQUQtNDM4NTA1NTU5JyxcblxuICAvLyBLb3Zhbi1vbmx5IEVSQzIwIHRva2Vuc1xuICBURVNUID0gJ3Rlc3QnLFxuICBTQ0haID0gJ3NjaHonLFxuICBDQVQgPSAnY2F0JyxcblxuICAvLyBTdGVsbGFyIHRlc3RuZXQgdG9rZW5zXG4gICd0eGxtOkJTVC1HQlFUSU9TM1hHSEI3TFZZR0JLUVZKR0NaM1I0Skw1RTRDQlNXSjVBTElKVUhCS1M2MjYzNjQ0TCcgPSAndHhsbTpCU1QtR0JRVElPUzNYR0hCN0xWWUdCS1FWSkdDWjNSNEpMNUU0Q0JTV0o1QUxJSlVIQktTNjI2MzY0NEwnLFxuICAndHhsbTpUU1QtR0JRVElPUzNYR0hCN0xWWUdCS1FWSkdDWjNSNEpMNUU0Q0JTV0o1QUxJSlVIQktTNjI2MzY0NEwnID0gJ3R4bG06VFNULUdCUVRJT1MzWEdIQjdMVllHQktRVkpHQ1ozUjRKTDVFNENCU1dKNUFMSUpVSEJLUzYyNjM2NDRMJyxcblxuICAvLyBBbGdvcmFuZCB0ZXN0bmV0IHRva2Vuc1xuICAndGFsZ286VVNPTi0xNjAyNjcyOCcgPSAndGFsZ286VVNPTi0xNjAyNjcyOCcsXG4gICd0YWxnbzpTUFJXLTE2MDI2NzMyJyA9ICd0YWxnbzpTUFJXLTE2MDI2NzMyJyxcbiAgJ3RhbGdvOktBTC0xNjAyNjczMycgPSAndGFsZ286S0FMLTE2MDI2NzMzJyxcbiAgJ3RhbGdvOlVTREMtMTA0NTg5NDEnID0gJ3RhbGdvOlVTREMtMTA0NTg5NDEnLFxuICAndGFsZ286VVNEdC0xODA0NDcnID0gJ3RhbGdvOlVTRHQtMTgwNDQ3JyxcblxuICAvLyBFT1MgdG9rZW5zXG4gIENIRVggPSAnY2hleCcsXG4gIElRID0gJ2lxJyxcbiAgRU9TX0JPWCA9ICdlb3M6Ym94JyxcblxuICAvLyBBdmF4IFRva2VuIEVSQy0yMFxuICAnYXZheGM6cWknID0gJ2F2YXhjOnFpJyxcbiAgJ2F2YXhjOnhhdmEnID0gJ2F2YXhjOnhhdmEnLFxuICAnYXZheGM6a2xvJyA9ICdhdmF4YzprbG8nLFxuICAnYXZheGM6am9lJyA9ICdhdmF4Yzpqb2UnLFxuICAnYXZheGM6cG5nJyA9ICdhdmF4YzpwbmcnLFxuICAnYXZheGM6dXNkdCcgPSAnYXZheGM6dXNkdCcsXG4gICdhdmF4Yzp1c2RjJyA9ICdhdmF4Yzp1c2RjJyxcbiAgJ2F2YXhjOmxpbmsnID0gJ2F2YXhjOmxpbmsnLFxuXG4gIC8vIEJTQyBUb2tlbiBCRVAtMjBcbiAgJ2JzYzpidXNkJyA9ICdic2M6YnVzZCcsXG4gICd0YnNjOmJ1c2QnID0gJ3Ric2M6YnVzZCcsXG5cbiAgLy8gUG9seWdvbiB0ZXN0bmV0IHRva2Vuc1xuICAndHBvbHlnb246ZGVyYzIwJyA9ICd0cG9seWdvbjpkZXJjMjAnLFxuICAndHBvbHlnb246bGluaycgPSAndHBvbHlnb246bGluaycsXG5cbiAgRVJDNzIxID0gJ2VyYzcyMScsXG4gIEVSQzExNTUgPSAnZXJjMTE1NScsXG5cbiAgLy8gQ2FyZGFubyBUb2tlblxuICBhZGFUZXN0bmV0VG9rZW4gPSAndGVtcG9yYXJ5LXBsYWNlaG9sZGVyJyxcbn1cblxuLyoqXG4gKiBUaGlzIGlzIHRoZSBjdXJ2ZSBCaXRHbyBzaWducyBhZ2FpbnN0IHdpdGggdGhlIHVzZXIsIGJhY2t1cCBhbmQgQml0R28ga2V5LlxuICovXG5leHBvcnQgZW51bSBLZXlDdXJ2ZSB7XG4gIFNlY3AyNTZrMSA9ICdzZWNwMjU2azEnLFxuICBFZDI1NTE5ID0gJ2VkMjU1MTknLFxuICBCTFMgPSAnYmxzJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYXNlQ29pbkNvbnN0cnVjdG9yT3B0aW9ucyB7XG4gIGZ1bGxOYW1lOiBzdHJpbmc7IC8vIGZ1bGwsIGh1bWFuIHJlYWRhYmxlIG5hbWUgb2YgdGhpcyBjb2luLiBFZywgXCJCaXRjb2luIENhc2hcIiBmb3IgYmNoXG4gIG5hbWU6IHN0cmluZzsgLy8gdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgY29pbiwgdXN1YWxseSB0aGUgbG93ZXJjYXNlIHRpY2tlciBvciBzeW1ib2wuIEVnLCBcImJ0Y1wiIGZvciBiaXRjb2luXG4gIGFsaWFzPzogc3RyaW5nOyAvLyBhbHRlcm5hdGl2ZSBuYW1lIHVzdWFsbHkgdXNlZCBkdXJpbmcgbmFtZSBtaWdyYXRpb25zXG4gIHByZWZpeD86IHN0cmluZztcbiAgc3VmZml4Pzogc3RyaW5nO1xuICBraW5kOiBDb2luS2luZDtcbiAgaXNUb2tlbjogYm9vbGVhbjtcbiAgZmVhdHVyZXM6IENvaW5GZWF0dXJlW107XG4gIGRlY2ltYWxQbGFjZXM6IG51bWJlcjtcbiAgYXNzZXQ6IFVuZGVybHlpbmdBc3NldDtcbiAgbmV0d29yazogQmFzZU5ldHdvcms7XG4gIHByaW1hcnlLZXlDdXJ2ZTogS2V5Q3VydmU7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlQ29pbiB7XG4gIC8qXG4gICAgRGlzcGxheSBwcm9wZXJ0aWVzXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZnVsbE5hbWU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHByZWZpeD86IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHN1ZmZpeD86IHN0cmluZztcbiAgLypcbiAgICBQcm9wZXJ0eSB0byBoZWxwIGR1cmluZyBtaWdyYXRpb24gb2YgdG9rZW4gbmFtZXMuXG4gICAgSGVscHMgdG8gZmluZCBhIGNvaW4vdG9rZW4gd2l0aCBhIGRpZmZlcmVudCBuYW1lIHRoYW4gdGhlIGN1cnJlbnQgb25lXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYWxpYXM/OiBzdHJpbmc7XG4gIC8qXG4gICAgQ2xhc3NpZmljYXRpb24gcHJvcGVydGllc1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGtpbmQ6IENvaW5LaW5kO1xuICBwdWJsaWMgcmVhZG9ubHkgZmFtaWx5OiBDb2luRmFtaWx5O1xuICBwdWJsaWMgcmVhZG9ubHkgaXNUb2tlbjogYm9vbGVhbjtcbiAgLypcbiAgICBDb2luIEZlYXR1cmVzLiBUaGVzZSBhcmUgeWVzIG9yIG5vIHF1ZXN0aW9ucyBhYm91dCB3aGF0IHRoZSBjb2luIHN1cHBvcnRzIGFuZCBkb2VzIG5vdCBzdXBwb3J0LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGZlYXR1cmVzOiBDb2luRmVhdHVyZVtdO1xuICAvKlxuICAgIENvaW4gTmV0d29yay4gVGhpcyBpcyBhIGxpc3Qgb2YgcHJvcGVydGllcyB3aGljaCBhcmUgcmVsZXZhbnQgdG8gdGhlIHVuZGVybHlpbmcgbmV0d29yayBvbiB3aGljaCB0aGlzIGNvaW4gZXhpc3RzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG5ldHdvcms6IEJhc2VOZXR3b3JrO1xuICAvKlxuICAgIENvbnZlcnNpb24gcHJvcGVydGllc1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRlY2ltYWxQbGFjZXM6IG51bWJlcjtcbiAgcHVibGljIHJlYWRvbmx5IGFzc2V0OiBVbmRlcmx5aW5nQXNzZXQ7XG5cbiAgLyoqXG4gICAqIFRoZSBwcmltYXJ5IGVsbGlwdGljIGN1cnZlIEJpdEdvIHNpZ25zIGFuZCBnZW5lcmF0ZXMga2V5cyBhZ2FpbnN0LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHByaW1hcnlLZXlDdXJ2ZTogS2V5Q3VydmU7XG5cbiAgLyoqXG4gICAqIFNldCBvZiBmZWF0dXJlcyB3aGljaCBhcmUgcmVxdWlyZWQgYnkgYSBjb2luIHN1YmNsYXNzXG4gICAqIEByZXR1cm4ge1NldDxDb2luRmVhdHVyZT59XG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVxdWlyZWRGZWF0dXJlcygpOiBTZXQ8Q29pbkZlYXR1cmU+O1xuXG4gIC8qKlxuICAgKiBTZXQgb2YgZmVhdHVyZXMgd2hpY2ggYXJlIG5vdCB2YWxpZCBhbmQgYXJlIGRpc2FsbG93ZWQgYnkgYSBjb2luIHN1YmNsYXNzXG4gICAqIEByZXR1cm4ge1NldDxDb2luRmVhdHVyZT59XG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZGlzYWxsb3dlZEZlYXR1cmVzKCk6IFNldDxDb2luRmVhdHVyZT47XG5cbiAgLyoqXG4gICAqIEVuc3VyZXMgdGhhdCB0aGUgYmFzZSBjb2luIGNvbnN0cnVjdG9yIHdhcyBwYXNzZWQgYSB2YWxpZCBzZXQgb2Ygb3B0aW9ucy5cbiAgICpcbiAgICogVGhpcyBpbmNsdWRlcyBjaGVja2luZyB0aGF0OlxuICAgKiAtIEFsbCBjb2luIGZlYXR1cmVzIG9mIHRoZSBuZXcgaW5zdGFuY2UgYXJlIGFsbG93ZWQgYnkgdGhlIGNvaW4gY2xhc3NcbiAgICogLSBObyBmZWF0dXJlcyByZXF1aXJlZCBieSB0aGUgY29pbiBjbGFzcyBhcmUgbWlzc2luZyBmcm9tIHRoZSBuZXcgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtCYXNlQ29pbkNvbnN0cnVjdG9yT3B0aW9uc30gb3B0aW9uc1xuICAgKiBAdGhyb3dzIHtEaXNhbGxvd2VkQ29pbkZlYXR1cmVFcnJvcn0gaWYgYW55IG9mIHRoZSBjb2luIGZlYXR1cmVzIGFyZSBub3QgYWxsb3dlZCBmb3IgdGhlIGNvaW4gY2xhc3NcbiAgICogQHRocm93cyB7TWlzc2luZ1JlcXVpcmVkQ29pbkZlYXR1cmVFcnJvcn0gaWYgYW55IGZlYXR1cmVzIHJlcXVpcmVkIGJ5IHRoZSBjb2luIGNsYXNzIGFyZSBtaXNzaW5nXG4gICAqL1xuICBwcml2YXRlIHZhbGlkYXRlT3B0aW9ucyhvcHRpb25zOiBCYXNlQ29pbkNvbnN0cnVjdG9yT3B0aW9ucykge1xuICAgIGNvbnN0IHJlcXVpcmVkRmVhdHVyZXMgPSB0aGlzLnJlcXVpcmVkRmVhdHVyZXMoKTtcbiAgICBjb25zdCBkaXNhbGxvd2VkRmVhdHVyZXMgPSB0aGlzLmRpc2FsbG93ZWRGZWF0dXJlcygpO1xuXG4gICAgY29uc3QgaW50ZXJzZWN0aW9uRmVhdHVyZXMgPSBBcnJheS5mcm9tKHJlcXVpcmVkRmVhdHVyZXMpLmZpbHRlcigoZmVhdCkgPT4gZGlzYWxsb3dlZEZlYXR1cmVzLmhhcyhmZWF0KSk7XG5cbiAgICBpZiAoaW50ZXJzZWN0aW9uRmVhdHVyZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhyb3cgbmV3IENvbmZsaWN0aW5nQ29pbkZlYXR1cmVzRXJyb3Iob3B0aW9ucy5uYW1lLCBpbnRlcnNlY3Rpb25GZWF0dXJlcyk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBmZWF0dXJlIG9mIG9wdGlvbnMuZmVhdHVyZXMpIHtcbiAgICAgIGlmIChkaXNhbGxvd2VkRmVhdHVyZXMuaGFzKGZlYXR1cmUpKSB7XG4gICAgICAgIHRocm93IG5ldyBEaXNhbGxvd2VkQ29pbkZlYXR1cmVFcnJvcihvcHRpb25zLm5hbWUsIGZlYXR1cmUpO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVxdWlyZWRGZWF0dXJlcy5oYXMoZmVhdHVyZSkpIHtcbiAgICAgICAgcmVxdWlyZWRGZWF0dXJlcy5kZWxldGUoZmVhdHVyZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHJlcXVpcmVkRmVhdHVyZXMuc2l6ZSA+IDApIHtcbiAgICAgIC8vIHNvbWUgcmVxdWlyZWQgZmVhdHVyZXMgd2VyZSBtaXNzaW5nXG4gICAgICB0aHJvdyBuZXcgTWlzc2luZ1JlcXVpcmVkQ29pbkZlYXR1cmVFcnJvcihvcHRpb25zLm5hbWUsIEFycmF5LmZyb20ocmVxdWlyZWRGZWF0dXJlcykpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihvcHRpb25zOiBCYXNlQ29pbkNvbnN0cnVjdG9yT3B0aW9ucykge1xuICAgIHRoaXMudmFsaWRhdGVPcHRpb25zKG9wdGlvbnMpO1xuXG4gICAgdGhpcy5mdWxsTmFtZSA9IG9wdGlvbnMuZnVsbE5hbWU7XG4gICAgdGhpcy5uYW1lID0gb3B0aW9ucy5uYW1lO1xuICAgIHRoaXMuYWxpYXMgPSBvcHRpb25zLmFsaWFzO1xuICAgIHRoaXMucHJlZml4ID0gb3B0aW9ucy5wcmVmaXg7XG4gICAgdGhpcy5zdWZmaXggPSBvcHRpb25zLnN1ZmZpeDtcbiAgICB0aGlzLmtpbmQgPSBvcHRpb25zLmtpbmQ7XG4gICAgdGhpcy5mYW1pbHkgPSBvcHRpb25zLm5ldHdvcmsuZmFtaWx5O1xuICAgIHRoaXMuaXNUb2tlbiA9IG9wdGlvbnMuaXNUb2tlbjtcbiAgICB0aGlzLmZlYXR1cmVzID0gb3B0aW9ucy5mZWF0dXJlcztcbiAgICB0aGlzLmRlY2ltYWxQbGFjZXMgPSBvcHRpb25zLmRlY2ltYWxQbGFjZXM7XG4gICAgdGhpcy5hc3NldCA9IG9wdGlvbnMuYXNzZXQ7XG4gICAgdGhpcy5uZXR3b3JrID0gb3B0aW9ucy5uZXR3b3JrO1xuICAgIHRoaXMucHJpbWFyeUtleUN1cnZlID0gb3B0aW9ucy5wcmltYXJ5S2V5Q3VydmU7XG4gIH1cbn1cbiJdfQ==
|