@bitgo-beta/statics 15.1.1-beta.145 → 15.1.1-beta.1450

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 (105) hide show
  1. package/dist/src/account.d.ts +897 -73
  2. package/dist/src/account.d.ts.map +1 -1
  3. package/dist/src/account.js +1407 -149
  4. package/dist/src/ada.d.ts.map +1 -1
  5. package/dist/src/ada.js +7 -3
  6. package/dist/src/allCoinsAndTokens.d.ts +2 -0
  7. package/dist/src/allCoinsAndTokens.d.ts.map +1 -0
  8. package/dist/src/allCoinsAndTokens.js +1038 -0
  9. package/dist/src/avaxp.d.ts.map +1 -1
  10. package/dist/src/avaxp.js +8 -3
  11. package/dist/src/base.d.ts +1946 -48
  12. package/dist/src/base.d.ts.map +1 -1
  13. package/dist/src/base.js +2030 -58
  14. package/dist/src/canton.d.ts +34 -0
  15. package/dist/src/canton.d.ts.map +1 -0
  16. package/dist/src/canton.js +51 -0
  17. package/dist/src/coinFeatures.d.ts +110 -0
  18. package/dist/src/coinFeatures.d.ts.map +1 -0
  19. package/dist/src/coinFeatures.js +701 -0
  20. package/dist/src/coins/adaTokens.d.ts +2 -0
  21. package/dist/src/coins/adaTokens.d.ts.map +1 -0
  22. package/dist/src/coins/adaTokens.js +18 -0
  23. package/dist/src/coins/avaxTokens.d.ts +2 -0
  24. package/dist/src/coins/avaxTokens.d.ts.map +1 -0
  25. package/dist/src/coins/avaxTokens.js +125 -0
  26. package/dist/src/coins/botOfcTokens.d.ts +2 -0
  27. package/dist/src/coins/botOfcTokens.d.ts.map +1 -0
  28. package/dist/src/coins/botOfcTokens.js +5 -0
  29. package/dist/src/coins/botTokens.d.ts +3 -0
  30. package/dist/src/coins/botTokens.d.ts.map +1 -0
  31. package/dist/src/coins/botTokens.js +43 -0
  32. package/dist/src/coins/bscTokens.d.ts +2 -0
  33. package/dist/src/coins/bscTokens.d.ts.map +1 -0
  34. package/dist/src/coins/bscTokens.js +189 -0
  35. package/dist/src/coins/cosmosTokens.d.ts +2 -0
  36. package/dist/src/coins/cosmosTokens.d.ts.map +1 -0
  37. package/dist/src/coins/cosmosTokens.js +12 -0
  38. package/dist/src/coins/erc20Coins.d.ts +2 -0
  39. package/dist/src/coins/erc20Coins.d.ts.map +1 -0
  40. package/dist/src/coins/erc20Coins.js +1946 -0
  41. package/dist/src/coins/jettonTokens.d.ts +2 -0
  42. package/dist/src/coins/jettonTokens.d.ts.map +1 -0
  43. package/dist/src/coins/jettonTokens.js +17 -0
  44. package/dist/src/coins/nep141Tokens.d.ts +2 -0
  45. package/dist/src/coins/nep141Tokens.d.ts.map +1 -0
  46. package/dist/src/coins/nep141Tokens.js +16 -0
  47. package/dist/src/coins/ofcCoins.d.ts +2 -0
  48. package/dist/src/coins/ofcCoins.d.ts.map +1 -0
  49. package/dist/src/coins/ofcCoins.js +801 -0
  50. package/dist/src/coins/ofcErc20Coins.d.ts +3 -0
  51. package/dist/src/coins/ofcErc20Coins.d.ts.map +1 -0
  52. package/dist/src/coins/ofcErc20Coins.js +1612 -0
  53. package/dist/src/coins/polygonTokens.d.ts +2 -0
  54. package/dist/src/coins/polygonTokens.d.ts.map +1 -0
  55. package/dist/src/coins/polygonTokens.js +159 -0
  56. package/dist/src/coins/polyxTokens.d.ts +2 -0
  57. package/dist/src/coins/polyxTokens.d.ts.map +1 -0
  58. package/dist/src/coins/polyxTokens.js +21 -0
  59. package/dist/src/coins/sip10Tokens.d.ts +2 -0
  60. package/dist/src/coins/sip10Tokens.d.ts.map +1 -0
  61. package/dist/src/coins/sip10Tokens.js +25 -0
  62. package/dist/src/coins/solTokens.d.ts +3 -0
  63. package/dist/src/coins/solTokens.d.ts.map +1 -0
  64. package/dist/src/coins/solTokens.js +426 -0
  65. package/dist/src/coins/vetTokens.d.ts +2 -0
  66. package/dist/src/coins/vetTokens.d.ts.map +1 -0
  67. package/dist/src/coins/vetTokens.js +11 -0
  68. package/dist/src/coins.d.ts +11 -1
  69. package/dist/src/coins.d.ts.map +1 -1
  70. package/dist/src/coins.js +354 -1674
  71. package/dist/src/constants.d.ts +1 -0
  72. package/dist/src/constants.d.ts.map +1 -1
  73. package/dist/src/constants.js +3 -2
  74. package/dist/src/flrp.d.ts +40 -0
  75. package/dist/src/flrp.d.ts.map +1 -0
  76. package/dist/src/flrp.js +65 -0
  77. package/dist/src/index.d.ts +3 -1
  78. package/dist/src/index.d.ts.map +1 -1
  79. package/dist/src/index.js +26 -3
  80. package/dist/src/lightning.d.ts +43 -0
  81. package/dist/src/lightning.d.ts.map +1 -0
  82. package/dist/src/lightning.js +62 -0
  83. package/dist/src/map.d.ts +10 -0
  84. package/dist/src/map.d.ts.map +1 -1
  85. package/dist/src/map.js +146 -17
  86. package/dist/src/networkFeatureMapForTokens.d.ts +3 -0
  87. package/dist/src/networkFeatureMapForTokens.d.ts.map +1 -0
  88. package/dist/src/networkFeatureMapForTokens.js +31 -0
  89. package/dist/src/networks.d.ts +1289 -15
  90. package/dist/src/networks.d.ts.map +1 -1
  91. package/dist/src/networks.js +1622 -96
  92. package/dist/src/ofc.d.ts +597 -3
  93. package/dist/src/ofc.d.ts.map +1 -1
  94. package/dist/src/ofc.js +1419 -28
  95. package/dist/src/tokenConfig.d.ts +250 -102
  96. package/dist/src/tokenConfig.d.ts.map +1 -1
  97. package/dist/src/tokenConfig.js +900 -205
  98. package/dist/src/utxo.d.ts +3 -1
  99. package/dist/src/utxo.d.ts.map +1 -1
  100. package/dist/src/utxo.js +84 -3
  101. package/dist/tsconfig.tsbuildinfo +1 -1
  102. package/package.json +6 -3
  103. package/.mocharc.js +0 -10
  104. package/.prettierignore +0 -2
  105. package/CHANGELOG.md +0 -838
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Networks = exports.BaseNetwork = exports.NetworkType = void 0;
3
+ exports.Networks = exports.FlareTestnet = exports.Flare = exports.FlarePTestnet = exports.FlareP = exports.BaseNetwork = exports.NetworkType = void 0;
4
4
  const base_1 = require("./base");
5
5
  var NetworkType;
6
6
  (function (NetworkType) {
7
7
  NetworkType["MAINNET"] = "mainnet";
8
8
  NetworkType["TESTNET"] = "testnet";
9
- })(NetworkType = exports.NetworkType || (exports.NetworkType = {}));
9
+ })(NetworkType || (exports.NetworkType = NetworkType = {}));
10
10
  class BaseNetwork {
11
11
  }
12
12
  exports.BaseNetwork = BaseNetwork;
@@ -27,7 +27,7 @@ class Algorand extends Mainnet {
27
27
  super(...arguments);
28
28
  this.name = 'Algorand';
29
29
  this.family = base_1.CoinFamily.ALGO;
30
- this.explorerUrl = 'https://algoexplorer.io/tx/';
30
+ this.explorerUrl = 'https://allo.info/tx/';
31
31
  }
32
32
  }
33
33
  class AlgorandTestnet extends Testnet {
@@ -35,7 +35,7 @@ class AlgorandTestnet extends Testnet {
35
35
  super(...arguments);
36
36
  this.name = 'AlgorandTestnet';
37
37
  this.family = base_1.CoinFamily.ALGO;
38
- this.explorerUrl = 'https://testnet.algoexplorer.io/tx/';
38
+ this.explorerUrl = 'https://explorer.bitquery.io/algorand_testnet/tx/';
39
39
  }
40
40
  }
41
41
  class Ada extends Mainnet {
@@ -46,7 +46,7 @@ class Ada extends Mainnet {
46
46
  this.utxolibName = 'cardano';
47
47
  this.poolDeposit = 500000000;
48
48
  this.stakeKeyDeposit = 2000000;
49
- this.explorerUrl = 'https://explorer.cardano.org/en/transaction?id=';
49
+ this.explorerUrl = 'https://cardanoscan.io/transaction/';
50
50
  this.coinsPerUtxoWord = 34482;
51
51
  this.maxTransactionSize = 8000;
52
52
  this.maxValueSize = 4000;
@@ -58,7 +58,7 @@ class AdaTestnet extends Testnet {
58
58
  this.name = 'AdaCardanoTestnet';
59
59
  this.family = base_1.CoinFamily.ADA;
60
60
  this.utxolibName = 'cardanoTestnet';
61
- this.explorerUrl = 'https://preprod.cexplorer.io/';
61
+ this.explorerUrl = 'https://preprod.cardanoscan.io/transaction/';
62
62
  this.coinsPerUtxoWord = 34482;
63
63
  this.maxTransactionSize = 8000;
64
64
  this.maxValueSize = 4000;
@@ -66,6 +66,44 @@ class AdaTestnet extends Testnet {
66
66
  this.stakeKeyDeposit = 2000000;
67
67
  }
68
68
  }
69
+ class Apt extends Mainnet {
70
+ constructor() {
71
+ super(...arguments);
72
+ this.name = 'Apt';
73
+ this.family = base_1.CoinFamily.APT;
74
+ this.explorerUrl = 'https://explorer.aptoslabs.com/txn/?network=mainnet';
75
+ this.accountExplorerUrl = 'https://explorer.aptoslabs.com/account/?network=mainnet';
76
+ this.blockExplorerUrl = 'https://explorer.aptoslabs.com/block/?network=mainnet';
77
+ }
78
+ }
79
+ class AptTestnet extends Testnet {
80
+ constructor() {
81
+ super(...arguments);
82
+ this.name = 'Testnet Apt';
83
+ this.family = base_1.CoinFamily.APT;
84
+ this.explorerUrl = 'https://explorer.aptoslabs.com/txn/?network=testnet';
85
+ this.accountExplorerUrl = 'https://explorer.aptoslabs.com/account/?network=testnet';
86
+ this.blockExplorerUrl = 'https://explorer.aptoslabs.com/block/?network=testnet';
87
+ }
88
+ }
89
+ class Icp extends Mainnet {
90
+ constructor() {
91
+ super(...arguments);
92
+ this.name = 'Internet Computer';
93
+ this.family = base_1.CoinFamily.ICP;
94
+ this.explorerUrl = 'https://dashboard.internetcomputer.org/transaction/';
95
+ this.accountExplorerUrl = 'https://dashboard.internetcomputer.org/account/';
96
+ }
97
+ }
98
+ class IcpTestnet extends Testnet {
99
+ constructor() {
100
+ super(...arguments);
101
+ this.name = 'Testnet Internet Computer';
102
+ this.family = base_1.CoinFamily.ICP;
103
+ this.explorerUrl = 'https://dashboard.internetcomputer.org/transaction/'; // ICP testnet explorer is not available, so using mainnet explorer
104
+ this.accountExplorerUrl = 'https://dashboard.internetcomputer.org/account/';
105
+ }
106
+ }
69
107
  class Arbitrum extends Mainnet {
70
108
  constructor() {
71
109
  super(...arguments);
@@ -74,6 +112,13 @@ class Arbitrum extends Mainnet {
74
112
  this.explorerUrl = 'https://arbiscan.io/tx/';
75
113
  this.accountExplorerUrl = 'https://arbiscan.io/address/';
76
114
  this.chainId = 42161;
115
+ this.nativeCoinOperationHashPrefix = '42161';
116
+ this.tokenOperationHashPrefix = '42161-ERC20';
117
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
118
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
119
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
120
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
121
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
77
122
  }
78
123
  }
79
124
  class ArbitrumTestnet extends Testnet {
@@ -81,9 +126,16 @@ class ArbitrumTestnet extends Testnet {
81
126
  super(...arguments);
82
127
  this.name = 'ArbitrumTestnet';
83
128
  this.family = base_1.CoinFamily.ARBETH;
84
- this.explorerUrl = 'https://sepolia-explorer.arbitrum.io/tx/';
85
- this.accountExplorerUrl = 'https://sepolia-explorer.arbitrum.io/address/';
129
+ this.explorerUrl = 'https://sepolia.arbiscan.io/tx/';
130
+ this.accountExplorerUrl = 'https://sepolia.arbiscan.io/address/';
86
131
  this.chainId = 421614;
132
+ this.nativeCoinOperationHashPrefix = '421614';
133
+ this.tokenOperationHashPrefix = '421614-ERC20';
134
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
135
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
136
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
137
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
138
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
87
139
  }
88
140
  }
89
141
  class AvalancheC extends Mainnet {
@@ -92,8 +144,8 @@ class AvalancheC extends Mainnet {
92
144
  // https://docs.avax.network/build/tutorials/smart-contracts/deploy-a-smart-contract-on-avalanche-using-remix-and-metamask#avalanche-mainnet-settings
93
145
  this.name = 'AvalancheC';
94
146
  this.family = base_1.CoinFamily.AVAXC;
95
- this.explorerUrl = 'https://snowtrace.io/tx/';
96
- this.accountExplorerUrl = 'https://snowtrace.io/address/';
147
+ this.explorerUrl = 'https://subnets.avax.network/c-chain/tx/';
148
+ this.accountExplorerUrl = 'https://subnets.avax.network/c-chain/address/';
97
149
  this.chainId = 43114;
98
150
  }
99
151
  }
@@ -103,8 +155,8 @@ class AvalancheCTestnet extends Testnet {
103
155
  // https://docs.avax.network/build/tutorials/smart-contracts/deploy-a-smart-contract-on-avalanche-using-remix-and-metamask#avalanche-mainnet-settings
104
156
  this.name = 'AvalancheCTestnet';
105
157
  this.family = base_1.CoinFamily.AVAXC;
106
- this.explorerUrl = 'https://testnet.snowtrace.io/tx/';
107
- this.accountExplorerUrl = 'https://testnet.snowtrace.io/address/';
158
+ this.explorerUrl = 'https://subnets-test.avax.network/c-chain/tx/';
159
+ this.accountExplorerUrl = 'https://subnets-test.avax.network/c-chain/address/';
108
160
  this.chainId = 43113;
109
161
  }
110
162
  }
@@ -123,6 +175,7 @@ class AvalancheP extends Mainnet {
123
175
  this.alias = 'P';
124
176
  this.vm = 'platformvm';
125
177
  this.txFee = '1000000'; // 1 MILLIAVAX
178
+ this.maxImportFee = '10000000'; // 0.01 AVAX
126
179
  this.createSubnetTx = '1000000000'; // 1 AVAX
127
180
  this.createChainTx = '1000000000'; // 1 AVAX
128
181
  this.creationTxFee = '10000000'; // 1 CENTIAVAX
@@ -151,6 +204,7 @@ class AvalanchePTestnet extends Testnet {
151
204
  this.hrp = 'fuji';
152
205
  this.vm = 'platformvm';
153
206
  this.txFee = '1000000'; // 1 MILLIAVAX
207
+ this.maxImportFee = '10000000'; // 0.01 AVAX
154
208
  this.createSubnetTx = '1000000000'; // 1 AVAX
155
209
  this.createChainTx = '1000000000'; // 1 AVAX
156
210
  this.creationTxFee = '10000000'; // 1 CENTIAVAX
@@ -169,9 +223,12 @@ class BinanceSmartChain extends Mainnet {
169
223
  super(...arguments);
170
224
  this.name = 'BinanceSmartChain';
171
225
  this.family = base_1.CoinFamily.BSC;
172
- this.explorerUrl = 'https://www.bscscan.com/tx/';
173
- this.accountExplorerUrl = 'https://www.bscscan.com/address/';
226
+ this.explorerUrl = 'https://bscscan.com/tx/';
227
+ this.accountExplorerUrl = 'https://bscscan.com/address/';
174
228
  this.chainId = 56;
229
+ this.nativeCoinOperationHashPrefix = '56';
230
+ this.tokenOperationHashPrefix = '56-ERC20';
231
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
175
232
  }
176
233
  }
177
234
  class BinanceSmartChainTestnet extends Testnet {
@@ -182,6 +239,33 @@ class BinanceSmartChainTestnet extends Testnet {
182
239
  this.explorerUrl = 'https://testnet.bscscan.com/tx/';
183
240
  this.accountExplorerUrl = 'https://testnet.bscscan.com/address/';
184
241
  this.chainId = 97;
242
+ this.nativeCoinOperationHashPrefix = '97';
243
+ this.tokenOperationHashPrefix = '97-ERC20';
244
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
245
+ }
246
+ }
247
+ class LightningBitcoin extends Mainnet {
248
+ constructor() {
249
+ super(...arguments);
250
+ this.name = 'LightningBitcoin';
251
+ this.family = base_1.CoinFamily.LNBTC;
252
+ this.utxolibName = 'bitcoin';
253
+ this.explorerUrl = 'https://mempool.space/lightning';
254
+ this.lightningServicePubKey = '0338508686f978ceffd7ce05404041b1a5b4f75a39bc92a6d355240ccc081f763e';
255
+ this.middlewarePubKey = '020d52f6458b17b565bc03516568d1a65c8cbd131ce03f2207567e4cd3322e82f3';
256
+ this.tatPubKey = '03953da20068c096858d3cca60f8c5b0e5a2f5d0383ecf9b6ab392d71e4f3e72df';
257
+ }
258
+ }
259
+ class LightningBitcoinTestnet extends Testnet {
260
+ constructor() {
261
+ super(...arguments);
262
+ this.name = 'LightningBitcoinTestnet';
263
+ this.family = base_1.CoinFamily.LNBTC;
264
+ this.utxolibName = 'testnet';
265
+ this.explorerUrl = 'https://mempool.space/testnet/lightning';
266
+ this.lightningServicePubKey = '024055021db1e7f019ebb783ab0b0810c21a819207d4cb1ec4a6e2150ac07f1482';
267
+ this.middlewarePubKey = '027cb3bc6b49fc385d282b42a7be232a94ffcbaffc7818b603b17722582bbf539b';
268
+ this.tatPubKey = '02e747c99c371eac9c14fb19913bec8a0e3e46e35ab1a45878e5b9afbb69899c1e';
185
269
  }
186
270
  }
187
271
  class Bitcoin extends Mainnet {
@@ -200,6 +284,35 @@ class BitcoinTestnet extends Testnet {
200
284
  this.family = base_1.CoinFamily.BTC;
201
285
  this.utxolibName = 'testnet';
202
286
  this.explorerUrl = 'https://mempool.space/testnet/tx/';
287
+ // Add our pubkey for our paygo wallet
288
+ this.paygoAddressAttestationPubkey = 'xpub6BKRgmCPX5oQiJgJ6Vq6BF8tDvZhwQki5dVVQohckK2ZJXtxj8K6M9pavLwt9piW33hZz17SWmG8QWsjJ1tHdde2Fs5UA3DFbApCtbdaGKn';
289
+ }
290
+ }
291
+ class BitcoinPublicSignet extends Testnet {
292
+ constructor() {
293
+ super(...arguments);
294
+ this.name = 'BitcoinPublicSignet';
295
+ this.family = base_1.CoinFamily.BTC;
296
+ this.utxolibName = 'bitcoinPublicSignet';
297
+ this.explorerUrl = 'https://mempool.space/signet/tx/';
298
+ }
299
+ }
300
+ class BitcoinTestnet4 extends Testnet {
301
+ constructor() {
302
+ super(...arguments);
303
+ this.name = 'BitcoinTestnet4';
304
+ this.family = base_1.CoinFamily.BTC;
305
+ this.utxolibName = 'bitcoinTestnet4';
306
+ this.explorerUrl = 'https://mempool.space/testnet4/tx/';
307
+ }
308
+ }
309
+ class BitcoinBitGoSignet extends Testnet {
310
+ constructor() {
311
+ super(...arguments);
312
+ this.name = 'BitcoinBitGoSignet';
313
+ this.family = base_1.CoinFamily.BTC;
314
+ this.utxolibName = 'bitcoinBitGoSignet';
315
+ this.explorerUrl = 'https://mempool.space/notanetwork/tx/';
203
316
  }
204
317
  }
205
318
  class BitcoinCash extends Mainnet {
@@ -217,7 +330,7 @@ class BitcoinCashTestnet extends Testnet {
217
330
  this.name = 'BitcoinCashTestnet';
218
331
  this.family = base_1.CoinFamily.BCH;
219
332
  this.utxolibName = 'bitcoincashTestnet';
220
- this.explorerUrl = 'https://www.blockchain.com/bch-testnet/tx/';
333
+ this.explorerUrl = 'https://tbch.loping.net/tx/';
221
334
  }
222
335
  }
223
336
  class BitcoinSV extends Mainnet {
@@ -310,30 +423,30 @@ class ECashTestnet extends Testnet {
310
423
  this.explorerUrl = undefined;
311
424
  }
312
425
  }
313
- class Polkadot extends Mainnet {
426
+ class PolkadotAssetHub extends Mainnet {
314
427
  constructor() {
315
428
  super(...arguments);
316
- this.name = 'Polkadot';
429
+ this.name = 'PolkadotAssetHub';
317
430
  this.family = base_1.CoinFamily.DOT;
318
- this.explorerUrl = 'https://polkadot.subscan.io/extrinsic/';
319
- this.specName = 'polkadot';
320
- this.genesisHash = '0x91b171bb158e2d3848fa23a9f1c25182fb8e20313b2c1eb49219da7a70ce90c3';
321
- this.specVersion = 9140;
322
- this.chainName = 'Polkadot';
323
- this.txVersion = 9;
431
+ this.explorerUrl = 'https://assethub-polkadot.subscan.io/extrinsic/';
432
+ this.specName = 'statemint';
433
+ this.genesisHash = '0x68d56f15f85d3136970ec16946040bc1752654e906147f7e43e9d539d7c3de2f';
434
+ this.specVersion = 1007001;
435
+ this.chainName = 'Polkadot Asset Hub';
436
+ this.txVersion = 15;
324
437
  }
325
438
  }
326
- class PolkadotTestnet extends Testnet {
439
+ class WestendAssetHub extends Testnet {
327
440
  constructor() {
328
441
  super(...arguments);
329
- this.name = 'Westend';
442
+ this.name = 'WestendAssetHub';
330
443
  this.family = base_1.CoinFamily.DOT;
331
- this.explorerUrl = 'https://westend.subscan.io/extrinsic/';
332
- this.specName = 'westend';
333
- this.genesisHash = '0xe143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e';
334
- this.specVersion = 9430;
335
- this.chainName = 'Westend';
336
- this.txVersion = 22;
444
+ this.explorerUrl = 'https://assethub-westend.subscan.io/extrinsic/';
445
+ this.specName = 'westmint';
446
+ this.genesisHash = '0x67f9723393ef76214df0118c34bbbd3dbebc8ed46a10973a8c969d48fe7598c9';
447
+ this.specVersion = 1020000;
448
+ this.chainName = 'Westend Asset Hub';
449
+ this.txVersion = 16;
337
450
  }
338
451
  }
339
452
  class Celo extends Mainnet {
@@ -344,6 +457,8 @@ class Celo extends Mainnet {
344
457
  this.explorerUrl = 'https://explorer.celo.org/tx/';
345
458
  this.accountExplorerUrl = 'https://explorer.celo.org/address/';
346
459
  this.chainId = 42220;
460
+ this.nativeCoinOperationHashPrefix = 'CELO';
461
+ this.tokenOperationHashPrefix = 'CELO-ERC20';
347
462
  }
348
463
  }
349
464
  class CeloTestnet extends Testnet {
@@ -351,9 +466,11 @@ class CeloTestnet extends Testnet {
351
466
  super(...arguments);
352
467
  this.name = 'CeloTestnet';
353
468
  this.family = base_1.CoinFamily.CELO;
354
- this.explorerUrl = 'https://alfajores-blockscout.celo-testnet.org/tx/';
355
- this.accountExplorerUrl = 'https://alfajores-blockscout.celo-testnet.org/address/';
356
- this.chainId = 44787;
469
+ this.explorerUrl = 'https://sepolia.celoscan.io/tx/';
470
+ this.accountExplorerUrl = 'https://sepolia.celoscan.io/address/';
471
+ this.chainId = 11142220;
472
+ this.nativeCoinOperationHashPrefix = 'CELO';
473
+ this.tokenOperationHashPrefix = 'CELO-ERC20';
357
474
  }
358
475
  }
359
476
  // TODO update explorerUrl STLX-1657
@@ -385,9 +502,21 @@ class Ethereum extends Mainnet {
385
502
  this.blockExplorerUrl = 'https://etherscan.io/block/';
386
503
  // from https://github.com/ethereumjs/ethereumjs-common/blob/a978f630858f6843176bb20b277569785914e899/src/chains/index.ts
387
504
  this.chainId = 1;
388
- this.batcherContractAddress = '0x0c9b25dfe02b2c89cce86e1a0bd6c04a7aca01b6';
505
+ this.batcherContractAddress = '0xebe27913fcc7510eadf10643a8f86bf5492a9541';
389
506
  this.forwarderFactoryAddress = '0xffa397285ce46fb78c588a9e993286aac68c37cd';
390
507
  this.forwarderImplementationAddress = '0x059ffafdc6ef594230de44f824e2bd0a51ca5ded';
508
+ this.walletV2ForwarderFactoryAddress = '0x29Ef46035e9fA3D570c598d3266424Ca11413b0C';
509
+ this.walletV2ForwarderImplementationAddress = '0x5397d0869aBA0D55e96D5716d383F6e1d8695ed7';
510
+ this.walletV4ForwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
511
+ this.walletV4ForwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
512
+ this.nativeCoinOperationHashPrefix = 'ETHER';
513
+ this.tokenOperationHashPrefix = 'ERC20';
514
+ this.walletFactoryAddress = '0x9a0d63911620f7fc15c3c020edbe4d7267ea3e4d';
515
+ this.walletImplementationAddress = '0xe8e847cf573fc8ed75621660a36affd18c543d7e';
516
+ this.walletV2FactoryAddress = '0xa7198f48C58E91f01317E70Cd24C5Cce475c1555';
517
+ this.walletV2ImplementationAddress = '0xe5DcdC13B628c2df813DB1080367E929c1507Ca0';
518
+ this.walletV4FactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
519
+ this.walletV4ImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
391
520
  }
392
521
  }
393
522
  class Ethereum2 extends Mainnet {
@@ -410,6 +539,8 @@ class EthereumW extends Mainnet {
410
539
  this.batcherContractAddress = '';
411
540
  this.forwarderFactoryAddress = '';
412
541
  this.forwarderImplementationAddress = '';
542
+ this.nativeCoinOperationHashPrefix = 'ETHER';
543
+ this.tokenOperationHashPrefix = 'ERC20';
413
544
  }
414
545
  }
415
546
  class Pyrmont extends Testnet {
@@ -433,6 +564,8 @@ class Kovan extends Testnet {
433
564
  this.batcherContractAddress = '0xc0aaf2649e7b0f3950164681eca2b1a8f654a478';
434
565
  this.forwarderFactoryAddress = '0xa79a485294d226075ee65410bc94ea454f3e409d';
435
566
  this.forwarderImplementationAddress = '0xa946e748f25a5ec6878eb1a9f2e902028174c0b3';
567
+ this.nativeCoinOperationHashPrefix = 'ETHER';
568
+ this.tokenOperationHashPrefix = 'ERC20';
436
569
  }
437
570
  }
438
571
  class Goerli extends Testnet {
@@ -448,6 +581,8 @@ class Goerli extends Testnet {
448
581
  this.batcherContractAddress = '0xe8e847cf573fc8ed75621660a36affd18c543d7e';
449
582
  this.forwarderFactoryAddress = '0xf5caa5e3e93afbc21bd19ef4f2691a37121f7917';
450
583
  this.forwarderImplementationAddress = '0x80d5c91e8cc21df69fc4d64f21dc2d83121c3999';
584
+ this.nativeCoinOperationHashPrefix = 'ETHER';
585
+ this.tokenOperationHashPrefix = 'ERC20';
451
586
  }
452
587
  }
453
588
  class Holesky extends Testnet {
@@ -455,14 +590,45 @@ class Holesky extends Testnet {
455
590
  super(...arguments);
456
591
  this.name = 'Holesky';
457
592
  this.family = base_1.CoinFamily.ETH;
458
- this.explorerUrl = 'https://holesky.beaconcha.in/tx/';
459
- this.accountExplorerUrl = 'https://holesky.beaconcha.in/address/';
460
- this.blockExplorerUrl = 'https://holesky.beaconcha.in/block/';
593
+ this.explorerUrl = 'https://holesky.etherscan.io/tx/';
594
+ this.accountExplorerUrl = 'https://holesky.etherscan.io/address/';
595
+ this.blockExplorerUrl = 'https://holesky.etherscan.io/block/';
461
596
  // https://chainlist.org/chain/17000
462
597
  this.chainId = 17000;
463
- this.batcherContractAddress = '0xe8e847cf573fc8ed75621660a36affd18c543d7e';
464
- this.forwarderFactoryAddress = '0xf5caa5e3e93afbc21bd19ef4f2691a37121f7917';
465
- this.forwarderImplementationAddress = '0x80d5c91e8cc21df69fc4d64f21dc2d83121c3999';
598
+ this.batcherContractAddress = '0xebe27913fcc7510eadf10643a8f86bf5492a9541';
599
+ this.forwarderFactoryAddress = '0xffa397285ce46fb78c588a9e993286aac68c37cd';
600
+ this.forwarderImplementationAddress = '0x059ffafdc6ef594230de44f824e2bd0a51ca5ded';
601
+ this.nativeCoinOperationHashPrefix = 'ETHER';
602
+ this.tokenOperationHashPrefix = 'ERC20';
603
+ this.walletV4ForwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
604
+ this.walletV4ForwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
605
+ }
606
+ }
607
+ class Hoodi extends Testnet {
608
+ constructor() {
609
+ super(...arguments);
610
+ this.name = 'Hoodi';
611
+ this.family = base_1.CoinFamily.ETH;
612
+ this.explorerUrl = 'https://hoodi.etherscan.io/tx/';
613
+ this.accountExplorerUrl = 'https://hoodi.etherscan.io/address/';
614
+ this.blockExplorerUrl = 'https://hoodi.etherscan.io/block/';
615
+ // https://chainlist.org/chain/560048
616
+ this.chainId = 560048;
617
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
618
+ this.forwarderFactoryAddress = '0x0e2874d6824fae4f61e446012317a9b86384bd8e';
619
+ this.forwarderImplementationAddress = '0x7441f20a59be97011842404b9aefd8d85fd81aa6';
620
+ this.walletV2ForwarderFactoryAddress = '0x0e2874d6824fae4f61e446012317a9b86384bd8e';
621
+ this.walletV2ForwarderImplementationAddress = '0x7441f20a59be97011842404b9aefd8d85fd81aa6';
622
+ this.walletV4ForwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
623
+ this.walletV4ForwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
624
+ this.walletFactoryAddress = '0xf514cd80a41bde2e20033b251f1f74633caf3e59';
625
+ this.walletImplementationAddress = '0x6bb86b3b27b092bf8a285080fe7d58acdf841041';
626
+ this.walletV2FactoryAddress = '0xf514cd80a41bde2e20033b251f1f74633caf3e59';
627
+ this.walletV2ImplementationAddress = '0x6bb86b3b27b092bf8a285080fe7d58acdf841041';
628
+ this.walletV4FactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
629
+ this.walletV4ImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
630
+ this.nativeCoinOperationHashPrefix = 'ETHER';
631
+ this.tokenOperationHashPrefix = 'ERC20';
466
632
  }
467
633
  }
468
634
  class EthereumClassic extends Mainnet {
@@ -474,6 +640,8 @@ class EthereumClassic extends Mainnet {
474
640
  this.accountExplorerUrl = 'https://blockscout.com/etc/mainnet/address/';
475
641
  // from https://chainid.network/chains/
476
642
  this.chainId = 61;
643
+ this.nativeCoinOperationHashPrefix = 'ETC';
644
+ this.tokenOperationHashPrefix = 'ETC-ERC20';
477
645
  }
478
646
  }
479
647
  class EthereumClassicTestnet extends Testnet {
@@ -485,6 +653,8 @@ class EthereumClassicTestnet extends Testnet {
485
653
  this.accountExplorerUrl = 'https://blockscout.com/etc/mordor/address/';
486
654
  // from https://chainid.network/chains/
487
655
  this.chainId = 63;
656
+ this.nativeCoinOperationHashPrefix = 'ETC';
657
+ this.tokenOperationHashPrefix = 'ETC-ERC20';
488
658
  }
489
659
  }
490
660
  class Eos extends Mainnet {
@@ -508,7 +678,7 @@ class Hedera extends Mainnet {
508
678
  super(...arguments);
509
679
  this.name = 'Hedera';
510
680
  this.family = base_1.CoinFamily.HBAR;
511
- this.explorerUrl = 'https://explorer.kabuto.sh/mainnet/transaction/';
681
+ this.explorerUrl = 'https://hashscan.io/mainnet/transaction/';
512
682
  }
513
683
  }
514
684
  class HederaTestnet extends Testnet {
@@ -516,7 +686,7 @@ class HederaTestnet extends Testnet {
516
686
  super(...arguments);
517
687
  this.name = 'HederaTestnet';
518
688
  this.family = base_1.CoinFamily.HBAR;
519
- this.explorerUrl = 'https://explorer.kabuto.sh/testnet/transaction/';
689
+ this.explorerUrl = 'https://testnet.dragonglass.me/hedera/search?q=';
520
690
  }
521
691
  }
522
692
  class Litecoin extends Mainnet {
@@ -525,7 +695,7 @@ class Litecoin extends Mainnet {
525
695
  this.name = 'Litecoin';
526
696
  this.family = base_1.CoinFamily.LTC;
527
697
  this.utxolibName = 'litecoin';
528
- this.explorerUrl = 'https://blockchair.com/litecoin/transaction/';
698
+ this.explorerUrl = 'https://litecoinspace.org/tx/';
529
699
  }
530
700
  }
531
701
  class LitecoinTestnet extends Testnet {
@@ -561,6 +731,8 @@ class Rbtc extends Mainnet {
561
731
  this.explorerUrl = 'https://explorer.rsk.co/tx/';
562
732
  this.accountExplorerUrl = 'https://explorer.rsk.co/address/';
563
733
  this.chainId = 30;
734
+ this.nativeCoinOperationHashPrefix = 'RSK';
735
+ this.tokenOperationHashPrefix = 'RSK-ERC20';
564
736
  }
565
737
  }
566
738
  class RbtcTestnet extends Testnet {
@@ -571,6 +743,8 @@ class RbtcTestnet extends Testnet {
571
743
  this.explorerUrl = 'https://explorer.testnet.rsk.co/tx/';
572
744
  this.accountExplorerUrl = 'https://explorer.testnet.rsk.co/address/';
573
745
  this.chainId = 31;
746
+ this.nativeCoinOperationHashPrefix = 'RSK';
747
+ this.tokenOperationHashPrefix = 'RSK-ERC20';
574
748
  }
575
749
  }
576
750
  class Stellar extends Mainnet {
@@ -626,7 +800,7 @@ class Atom extends Mainnet {
626
800
  super(...arguments);
627
801
  this.name = 'Cosmos Hub ATOM';
628
802
  this.family = base_1.CoinFamily.ATOM;
629
- this.explorerUrl = 'https://atomscan.com/transactions/';
803
+ this.explorerUrl = 'https://www.mintscan.io/cosmos/tx/';
630
804
  }
631
805
  }
632
806
  class AtomTestnet extends Testnet {
@@ -634,7 +808,7 @@ class AtomTestnet extends Testnet {
634
808
  super(...arguments);
635
809
  this.name = 'Testnet Cosmos Hub ATOM';
636
810
  this.family = base_1.CoinFamily.ATOM;
637
- this.explorerUrl = 'https://explorer.theta-testnet.polypore.xyz/transactions/';
811
+ this.explorerUrl = 'https://explorer.polypore.xyz/provider/tx/';
638
812
  }
639
813
  }
640
814
  class Osmo extends Mainnet {
@@ -658,8 +832,7 @@ class Tia extends Mainnet {
658
832
  super(...arguments);
659
833
  this.name = 'Celestia';
660
834
  this.family = base_1.CoinFamily.TIA;
661
- // TODO(BG-78997): Celestia is still only in testnet update to mainnet url when it's live
662
- this.explorerUrl = 'https://testnet.mintscan.io/celestia-testnet/txs/';
835
+ this.explorerUrl = 'https://www.mintscan.io/celestia/tx/';
663
836
  }
664
837
  }
665
838
  class TiaTestnet extends Testnet {
@@ -667,7 +840,7 @@ class TiaTestnet extends Testnet {
667
840
  super(...arguments);
668
841
  this.name = 'Testnet Celestia';
669
842
  this.family = base_1.CoinFamily.TIA;
670
- this.explorerUrl = 'https://celestia.explorers.guru/transaction/';
843
+ this.explorerUrl = 'https://testnet.celestia.explorers.guru/transaction/';
671
844
  }
672
845
  }
673
846
  class Hash extends Mainnet {
@@ -707,8 +880,7 @@ class Sei extends Mainnet {
707
880
  super(...arguments);
708
881
  this.name = 'Sei';
709
882
  this.family = base_1.CoinFamily.SEI;
710
- // TODO(BG-78997): Sei is still only in testnet update to mainnet url when it's live
711
- this.explorerUrl = 'https://sei.explorers.guru/transaction/';
883
+ this.explorerUrl = 'https://seistream.app/transactions/';
712
884
  }
713
885
  }
714
886
  class SeiTestnet extends Testnet {
@@ -716,7 +888,7 @@ class SeiTestnet extends Testnet {
716
888
  super(...arguments);
717
889
  this.name = 'Testnet Sei';
718
890
  this.family = base_1.CoinFamily.SEI;
719
- this.explorerUrl = 'https://www.seiscan.app/atlantic-2/txs/';
891
+ this.explorerUrl = 'https://testnet.seistream.app/transactions/';
720
892
  }
721
893
  }
722
894
  class Zeta extends Mainnet {
@@ -724,8 +896,7 @@ class Zeta extends Mainnet {
724
896
  super(...arguments);
725
897
  this.name = 'Zeta';
726
898
  this.family = base_1.CoinFamily.ZETA;
727
- // TODO(WIN-142): Zeta is still only in testnet update to mainnet url when it's live
728
- this.explorerUrl = 'https://explorer.zetachain.com/cc/tx/';
899
+ this.explorerUrl = 'https://explorer.zetachain.com/cosmos/tx/';
729
900
  }
730
901
  }
731
902
  class ZetaTestnet extends Testnet {
@@ -733,7 +904,7 @@ class ZetaTestnet extends Testnet {
733
904
  super(...arguments);
734
905
  this.name = 'Testnet Zeta';
735
906
  this.family = base_1.CoinFamily.ZETA;
736
- this.explorerUrl = 'https://explorer.zetachain.com/cosmos/tx/';
907
+ this.explorerUrl = 'https://athens.explorer.zetachain.com/cosmos/tx/';
737
908
  }
738
909
  }
739
910
  class Injective extends Mainnet {
@@ -741,7 +912,7 @@ class Injective extends Mainnet {
741
912
  super(...arguments);
742
913
  this.name = 'Injective';
743
914
  this.family = base_1.CoinFamily.INJECTIVE;
744
- this.explorerUrl = 'https://explorer.injective.network/transaction/';
915
+ this.explorerUrl = 'https://www.mintscan.io/injective/tx/';
745
916
  }
746
917
  }
747
918
  class InjectiveTestnet extends Testnet {
@@ -773,7 +944,7 @@ class Ton extends Mainnet {
773
944
  super(...arguments);
774
945
  this.name = 'Ton';
775
946
  this.family = base_1.CoinFamily.TON;
776
- this.explorerUrl = 'https://https://tonscan.org/';
947
+ this.explorerUrl = 'https://tonscan.org/tx/';
777
948
  }
778
949
  }
779
950
  class TonTestnet extends Testnet {
@@ -781,39 +952,147 @@ class TonTestnet extends Testnet {
781
952
  super(...arguments);
782
953
  this.name = 'Testnet Ton';
783
954
  this.family = base_1.CoinFamily.TON;
784
- this.explorerUrl = 'https://https://testnet.tonscan.org/';
955
+ this.explorerUrl = 'https://testnet.tonscan.org/tx/';
785
956
  }
786
957
  }
787
- class Core extends Mainnet {
958
+ class Coreum extends Mainnet {
788
959
  constructor() {
789
960
  super(...arguments);
790
961
  this.name = 'Coreum';
791
- this.family = base_1.CoinFamily.CORE;
792
- this.explorerUrl = 'https://explorer.coreum.com/coreum/transactions/';
962
+ this.family = base_1.CoinFamily.COREUM;
963
+ this.explorerUrl = 'https://www.mintscan.io/coreum/tx/';
793
964
  }
794
965
  }
795
- class CoreTestnet extends Testnet {
966
+ class CoreumTestnet extends Testnet {
796
967
  constructor() {
797
968
  super(...arguments);
798
969
  this.name = 'CoreumTestnet';
799
- this.family = base_1.CoinFamily.CORE;
970
+ this.family = base_1.CoinFamily.COREUM;
800
971
  this.explorerUrl = 'https://explorer.testnet-1.coreum.dev/coreum/transactions/';
801
972
  }
802
973
  }
803
- class Bera extends Mainnet {
974
+ class Rune extends Mainnet {
804
975
  constructor() {
805
976
  super(...arguments);
806
- this.name = 'Berachain';
807
- this.family = base_1.CoinFamily.BERA;
808
- this.explorerUrl = undefined;
977
+ this.name = 'Rune';
978
+ this.family = base_1.CoinFamily.THOR;
979
+ this.explorerUrl = 'https://runescan.io/tx/';
809
980
  }
810
981
  }
811
- class BeraTestnet extends Testnet {
982
+ class RuneTestNet extends Testnet {
812
983
  constructor() {
813
984
  super(...arguments);
814
- this.name = 'BerachainTestnet';
815
- this.family = base_1.CoinFamily.BERA;
816
- this.explorerUrl = undefined;
985
+ this.name = 'RuneTestNet';
986
+ this.family = base_1.CoinFamily.THOR;
987
+ this.explorerUrl = 'https://runescan.io/tx/?network=stagenet';
988
+ }
989
+ }
990
+ class Baby extends Mainnet {
991
+ constructor() {
992
+ super(...arguments);
993
+ this.name = 'Babylon';
994
+ this.family = base_1.CoinFamily.BABY;
995
+ this.explorerUrl = 'https://babylon.explorers.guru/transaction/';
996
+ }
997
+ }
998
+ class BabyTestnet extends Testnet {
999
+ constructor() {
1000
+ super(...arguments);
1001
+ this.name = 'Testnet Babylon';
1002
+ this.family = base_1.CoinFamily.BABY;
1003
+ this.explorerUrl = 'https://testnet.babylon.explorers.guru/transaction/';
1004
+ }
1005
+ }
1006
+ class Mantra extends Mainnet {
1007
+ constructor() {
1008
+ super(...arguments);
1009
+ this.name = 'Mantra';
1010
+ this.family = base_1.CoinFamily.MANTRA;
1011
+ this.explorerUrl = 'https://explorer.mantrachain.io/MANTRA-1/tx/';
1012
+ this.addressPrefix = 'mantra';
1013
+ this.validatorPrefix = 'mantravaloper';
1014
+ this.denom = 'uom';
1015
+ this.gasAmount = '8000';
1016
+ this.gasLimit = 200000;
1017
+ this.validDenoms = ['om', 'uom'];
1018
+ }
1019
+ }
1020
+ class MantraTestnet extends Testnet {
1021
+ constructor() {
1022
+ super(...arguments);
1023
+ this.name = 'Testnet Mantra';
1024
+ this.family = base_1.CoinFamily.MANTRA;
1025
+ this.explorerUrl = 'https://explorer.mantrachain.io/MANTRA-Dukong/tx/';
1026
+ this.addressPrefix = 'mantra';
1027
+ this.validatorPrefix = 'mantravaloper';
1028
+ this.denom = 'uom';
1029
+ this.gasAmount = '8000';
1030
+ this.gasLimit = 200000;
1031
+ this.validDenoms = ['om', 'uom'];
1032
+ }
1033
+ }
1034
+ class Cronos extends Mainnet {
1035
+ constructor() {
1036
+ super(...arguments);
1037
+ this.name = 'Cronos POS';
1038
+ this.family = base_1.CoinFamily.CRONOS;
1039
+ this.explorerUrl = 'https://cronos-pos.org/explorer/tx/';
1040
+ }
1041
+ }
1042
+ class CronosTestnet extends Testnet {
1043
+ constructor() {
1044
+ super(...arguments);
1045
+ this.name = 'Testnet Cronos POS';
1046
+ this.family = base_1.CoinFamily.CRONOS;
1047
+ this.explorerUrl = 'https://cronos-pos.org/explorer/croeseid4/tx/';
1048
+ }
1049
+ }
1050
+ class FetchAi extends Mainnet {
1051
+ constructor() {
1052
+ super(...arguments);
1053
+ this.name = 'Fetch';
1054
+ this.family = base_1.CoinFamily.FETCHAI;
1055
+ this.explorerUrl = 'https://www.mintscan.io/fetchai';
1056
+ }
1057
+ }
1058
+ class FetchAiTestnet extends Testnet {
1059
+ constructor() {
1060
+ super(...arguments);
1061
+ this.name = 'Testnet Fetch';
1062
+ this.family = base_1.CoinFamily.FETCHAI;
1063
+ this.explorerUrl = 'https://explore-eridanus-1.fetch.ai/';
1064
+ }
1065
+ }
1066
+ class Initia extends Mainnet {
1067
+ constructor() {
1068
+ super(...arguments);
1069
+ this.name = 'Initia';
1070
+ this.family = base_1.CoinFamily.INITIA;
1071
+ this.explorerUrl = 'https://scan.initia.xyz/interwoven-1/txs/';
1072
+ }
1073
+ }
1074
+ class InitiaTestnet extends Testnet {
1075
+ constructor() {
1076
+ super(...arguments);
1077
+ this.name = 'Testnet Initia';
1078
+ this.family = base_1.CoinFamily.INITIA;
1079
+ this.explorerUrl = 'https://scan.testnet.initia.xyz/initiation-2/txs/';
1080
+ }
1081
+ }
1082
+ class Asi extends Mainnet {
1083
+ constructor() {
1084
+ super(...arguments);
1085
+ this.name = 'Fetch Native';
1086
+ this.family = base_1.CoinFamily.ASI;
1087
+ this.explorerUrl = 'https://companion.fetch.ai/fetchhub-4/transactions/';
1088
+ }
1089
+ }
1090
+ class AsiTestnet extends Testnet {
1091
+ constructor() {
1092
+ super(...arguments);
1093
+ this.name = 'Testnet Fetch Native';
1094
+ this.family = base_1.CoinFamily.ASI;
1095
+ this.explorerUrl = 'https://companion.fetch.ai/dorado-1/transactions/';
817
1096
  }
818
1097
  }
819
1098
  class Islm extends Mainnet {
@@ -837,7 +1116,7 @@ class Stx extends Mainnet {
837
1116
  super(...arguments);
838
1117
  this.name = 'Stx';
839
1118
  this.family = base_1.CoinFamily.STX;
840
- this.explorerUrl = 'https://explorer.stacks.co/txid/';
1119
+ this.explorerUrl = 'https://explorer.hiro.so/txid/';
841
1120
  this.sendmanymemoContractAddress = 'SP3FBR2AGK5H9QBDH3EEN6DF8EK8JY7RX8QJ5SVTE';
842
1121
  this.stakingContractAddress = 'SP000000000000000000002Q6VF78';
843
1122
  }
@@ -847,7 +1126,7 @@ class StxTestnet extends Testnet {
847
1126
  super(...arguments);
848
1127
  this.name = 'StxTestnet';
849
1128
  this.family = base_1.CoinFamily.STX;
850
- this.explorerUrl = 'https://explorer.stacks.co/txid/?chain=testnet';
1129
+ this.explorerUrl = 'https://explorer.hiro.so/txid/?chain=testnet';
851
1130
  this.sendmanymemoContractAddress = 'ST3F1X4QGV2SM8XD96X45M6RTQXKA1PZJZZCQAB4B';
852
1131
  this.stakingContractAddress = 'ST000000000000000000002AMW42H';
853
1132
  }
@@ -884,11 +1163,33 @@ class Fiat extends Mainnet {
884
1163
  this.explorerUrl = undefined;
885
1164
  }
886
1165
  }
1166
+ class Bittensor extends Mainnet {
1167
+ constructor() {
1168
+ super(...arguments);
1169
+ this.name = 'Tao';
1170
+ this.family = base_1.CoinFamily.TAO;
1171
+ this.explorerUrl = 'https://taostats.io/extrinsic/';
1172
+ }
1173
+ }
1174
+ class BittensorTestnet extends Testnet {
1175
+ constructor() {
1176
+ super(...arguments);
1177
+ this.name = 'Testnet Tao';
1178
+ this.family = base_1.CoinFamily.TAO;
1179
+ this.explorerUrl = 'https://explorer.finney.opentensor.ai/#/';
1180
+ this.specName = 'node-subtensor';
1181
+ this.genesisHash = '0x8f9cf856bf558a14440e75569c9e58594757048d7b3a84b5d25f6bd978263105';
1182
+ this.specVersion = 224;
1183
+ this.chainName = 'bittensor';
1184
+ this.txVersion = 1;
1185
+ }
1186
+ }
887
1187
  class Trx extends Mainnet {
888
1188
  constructor() {
889
1189
  super(...arguments);
890
1190
  this.name = 'Trx';
891
1191
  this.family = base_1.CoinFamily.TRX;
1192
+ this.accountExplorerUrl = 'https://tronscan.org/#/address/';
892
1193
  this.explorerUrl = 'https://tronscan.org/#/transaction/';
893
1194
  this.maxFeeLimit = '5000000000';
894
1195
  this.contractCallFeeLimit = '100000000';
@@ -899,6 +1200,7 @@ class TrxTestnet extends Testnet {
899
1200
  super(...arguments);
900
1201
  this.name = 'TrxTestnet';
901
1202
  this.family = base_1.CoinFamily.TRX;
1203
+ this.accountExplorerUrl = 'https://shasta.tronscan.org/#/address/';
902
1204
  this.explorerUrl = 'https://shasta.tronscan.org/#/transaction/';
903
1205
  this.maxFeeLimit = '5000000000';
904
1206
  this.contractCallFeeLimit = '100000000';
@@ -917,7 +1219,7 @@ class XrpTestnet extends Testnet {
917
1219
  super(...arguments);
918
1220
  this.name = 'XrpTestnet';
919
1221
  this.family = base_1.CoinFamily.XRP;
920
- this.explorerUrl = 'https://test.bithomp.com/explorer/';
1222
+ this.explorerUrl = 'https://test.xrplexplorer.com/explorer/';
921
1223
  }
922
1224
  }
923
1225
  class Xtz extends Mainnet {
@@ -926,6 +1228,7 @@ class Xtz extends Mainnet {
926
1228
  this.name = 'Xtz';
927
1229
  this.family = base_1.CoinFamily.XTZ;
928
1230
  this.explorerUrl = 'https://tzstats.com/';
1231
+ this.accountExplorerUrl = 'https://tzstats.com/';
929
1232
  }
930
1233
  }
931
1234
  class XtzTestnet extends Testnet {
@@ -933,7 +1236,8 @@ class XtzTestnet extends Testnet {
933
1236
  super(...arguments);
934
1237
  this.name = 'XtzTestnet';
935
1238
  this.family = base_1.CoinFamily.XTZ;
936
- this.explorerUrl = 'https://mumbai.tzstats.com/';
1239
+ this.explorerUrl = 'https://ghostnet.tzkt.io/';
1240
+ this.accountExplorerUrl = 'https://ghostnet.tzkt.io/';
937
1241
  }
938
1242
  }
939
1243
  class ZCash extends Mainnet {
@@ -959,7 +1263,7 @@ class Near extends Mainnet {
959
1263
  super(...arguments);
960
1264
  this.name = 'Near';
961
1265
  this.family = base_1.CoinFamily.NEAR;
962
- this.explorerUrl = 'https://explorer.near.org/transactions/';
1266
+ this.explorerUrl = 'https://nearblocks.io/txns/';
963
1267
  this.feeReserve = '50000000000000000000000';
964
1268
  this.storageReserve = '2000000000000000000000'; // feeReserve + storageReserve is minimum account balance for a NEAR wallet https://docs.near.org/integrator/faq#is-there-a-minimum-account-balance
965
1269
  }
@@ -969,7 +1273,7 @@ class NearTestnet extends Testnet {
969
1273
  super(...arguments);
970
1274
  this.name = 'NearTestnet';
971
1275
  this.family = base_1.CoinFamily.NEAR;
972
- this.explorerUrl = 'https://explorer.testnet.near.org/transactions/';
1276
+ this.explorerUrl = 'https://testnet.nearblocks.io/txns/';
973
1277
  this.feeReserve = '50000000000000000000000';
974
1278
  this.storageReserve = '2000000000000000000000'; // feeReserve + storageReserve is minimum account balance for a NEAR wallet https://docs.near.org/integrator/faq#is-there-a-minimum-account-balance
975
1279
  }
@@ -986,7 +1290,11 @@ class Polygon extends Mainnet {
986
1290
  this.forwarderImplementationAddress = '0x5397d0869aba0d55e96d5716d383f6e1d8695ed7';
987
1291
  this.walletFactoryAddress = '0xa7198f48c58e91f01317e70cd24c5cce475c1555';
988
1292
  this.walletImplementationAddress = '0xe5dcdc13b628c2df813db1080367e929c1507ca0';
989
- this.batcherContractAddress = '0x7adc9b3d7521710321bec7dd6897d337e53c2493';
1293
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1294
+ this.nativeCoinOperationHashPrefix = 'POLYGON';
1295
+ this.tokenOperationHashPrefix = 'POLYGON-ERC20';
1296
+ this.walletV4ForwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1297
+ this.walletV4ForwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
990
1298
  }
991
1299
  }
992
1300
  class PolygonTestnet extends Testnet {
@@ -994,14 +1302,18 @@ class PolygonTestnet extends Testnet {
994
1302
  super(...arguments);
995
1303
  this.name = 'PolygonTestnet';
996
1304
  this.family = base_1.CoinFamily.POLYGON;
997
- this.explorerUrl = 'https://mumbai.polygonscan.com/tx/';
998
- this.accountExplorerUrl = 'https://mumbai.polygonscan.com/address/';
999
- this.chainId = 80001;
1000
- this.forwarderFactoryAddress = '0x7d10cfdcb763375fb5f0a0e9101f490f0bf1b43a';
1001
- this.forwarderImplementationAddress = '0xaa2216d72d7c149dfe4c3dd2154cd00994216506';
1002
- this.walletFactoryAddress = '0xe37c07faec87be075ce4002b5fedbde00a4fe9d5';
1003
- this.walletImplementationAddress = '0x11f8d70a4ee9d0962bb1160d776d4a996cfdff40';
1004
- this.batcherContractAddress = '0xcdf01a31ea2a1d62951aac3a5743c4416f9da3fb';
1305
+ this.explorerUrl = 'https://amoy.polygonscan.com/tx/';
1306
+ this.accountExplorerUrl = 'https://amoy.polygonscan.com/address/';
1307
+ this.chainId = 80002;
1308
+ this.forwarderFactoryAddress = '0x23223fd7cfc5f34b20f38ebb9a489e1ff3c084d1';
1309
+ this.forwarderImplementationAddress = '0xd4c24325b5ef514fbb1ecc76a9bb4dcb57a8341e';
1310
+ this.walletFactoryAddress = '0xe9c16033e01bf9f94bf9f99fc0fefcfb8b124992';
1311
+ this.walletImplementationAddress = '0xf8360c213e4f44cce03e48cb9281254de2a7a566';
1312
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1313
+ this.nativeCoinOperationHashPrefix = 'POLYGON';
1314
+ this.tokenOperationHashPrefix = 'POLYGON-ERC20';
1315
+ this.walletV4ForwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1316
+ this.walletV4ForwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1005
1317
  }
1006
1318
  }
1007
1319
  class Optimism extends Mainnet {
@@ -1009,9 +1321,18 @@ class Optimism extends Mainnet {
1009
1321
  super(...arguments);
1010
1322
  this.name = 'Optimism';
1011
1323
  this.family = base_1.CoinFamily.OPETH;
1012
- this.explorerUrl = 'https://optimistic.etherscan.io/ tx/';
1324
+ this.explorerUrl = 'https://optimistic.etherscan.io/tx/';
1013
1325
  this.accountExplorerUrl = 'https://optimistic.etherscan.io/address/';
1014
1326
  this.chainId = 10;
1327
+ this.nativeCoinOperationHashPrefix = '10';
1328
+ this.tokenOperationHashPrefix = '10-ERC20';
1329
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1330
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1331
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
1332
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
1333
+ this.walletV4ForwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1334
+ this.walletV4ForwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1335
+ this.batcherContractAddress = '0xebe27913fcc7510eadf10643a8f86bf5492a9541';
1015
1336
  }
1016
1337
  }
1017
1338
  class OptimismTestnet extends Testnet {
@@ -1019,32 +1340,1140 @@ class OptimismTestnet extends Testnet {
1019
1340
  super(...arguments);
1020
1341
  this.name = 'OptimismTestnet';
1021
1342
  this.family = base_1.CoinFamily.OPETH;
1022
- this.explorerUrl = 'https://optimism-sepolia.blockscout.com/tx/';
1023
- this.accountExplorerUrl = 'https://optimism-sepolia.blockscout.com/address/';
1343
+ this.explorerUrl = 'https://sepolia-optimism.etherscan.io/tx/';
1344
+ this.accountExplorerUrl = 'https://sepolia-optimism.etherscan.io/address/';
1024
1345
  this.chainId = 11155420;
1346
+ this.nativeCoinOperationHashPrefix = '11155420';
1347
+ this.tokenOperationHashPrefix = '11155420-ERC20';
1348
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1349
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1350
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
1351
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
1352
+ this.walletV4ForwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1353
+ this.walletV4ForwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1354
+ this.batcherContractAddress = '0xebe27913fcc7510eadf10643a8f86bf5492a9541';
1355
+ }
1356
+ }
1357
+ class ZkSync extends Mainnet {
1358
+ constructor() {
1359
+ super(...arguments);
1360
+ this.name = 'ZkSync';
1361
+ this.family = base_1.CoinFamily.ZKETH;
1362
+ this.explorerUrl = 'https://explorer.zksync.io/tx/';
1363
+ this.accountExplorerUrl = 'https://explorer.zksync.io/address/';
1364
+ this.chainId = 324;
1365
+ this.nativeCoinOperationHashPrefix = '324';
1366
+ this.tokenOperationHashPrefix = '324-ERC20';
1367
+ }
1368
+ }
1369
+ class ZkSyncTestnet extends Testnet {
1370
+ constructor() {
1371
+ super(...arguments);
1372
+ this.name = 'ZkSyncTestnet';
1373
+ this.family = base_1.CoinFamily.ZKETH;
1374
+ this.explorerUrl = 'https://sepolia.explorer.zksync.io/tx/';
1375
+ this.accountExplorerUrl = 'https://sepolia.explorer.zksync.io/address/';
1376
+ this.chainId = 300;
1377
+ this.nativeCoinOperationHashPrefix = '300';
1378
+ this.tokenOperationHashPrefix = '300-ERC20';
1379
+ this.forwarderFactoryAddress = '0xdd498702f44c4da08eb9e08d3f015eefe5cb71fc';
1380
+ this.forwarderImplementationAddress = '0xbe69cae311191fb45e648ed20847f06fad2dbab4';
1381
+ this.walletV4ForwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1382
+ this.walletV4ForwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1383
+ this.walletFactoryAddress = '0x4550e1e7616d3364877fc6c9324938dab678621a';
1384
+ this.walletImplementationAddress = '0x92db2759d1dca129a0d9d46877f361be819184c4';
1385
+ }
1386
+ }
1387
+ class Berachain extends Mainnet {
1388
+ constructor() {
1389
+ super(...arguments);
1390
+ this.name = 'Bera';
1391
+ this.family = base_1.CoinFamily.BERA;
1392
+ this.explorerUrl = 'https://berascan.com/tx/';
1393
+ this.accountExplorerUrl = 'https://berascan.com/address/';
1394
+ this.chainId = 80094;
1395
+ this.nativeCoinOperationHashPrefix = '80094';
1396
+ this.tokenOperationHashPrefix = '80094-ERC20';
1397
+ this.batcherContractAddress = '0xedf1a0016d9c41d2ad0c275e1ba708361a90c0d1';
1398
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1399
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1400
+ }
1401
+ }
1402
+ class BerachainTestnet extends Testnet {
1403
+ constructor() {
1404
+ super(...arguments);
1405
+ this.name = 'BeraTestnet';
1406
+ this.family = base_1.CoinFamily.BERA;
1407
+ this.explorerUrl = 'https://testnet.berascan.com/tx/';
1408
+ this.accountExplorerUrl = 'https://testnet.berascan.com/address/';
1409
+ this.chainId = 80069;
1410
+ this.nativeCoinOperationHashPrefix = '80069';
1411
+ this.tokenOperationHashPrefix = '80069-ERC20';
1412
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1413
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1414
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1415
+ }
1416
+ }
1417
+ class Oas extends Mainnet {
1418
+ constructor() {
1419
+ super(...arguments);
1420
+ this.name = 'Oas';
1421
+ this.family = base_1.CoinFamily.OAS;
1422
+ this.explorerUrl = 'https://explorer.oasys.games/tx/';
1423
+ this.accountExplorerUrl = 'https://explorer.oasys.games/address/';
1424
+ this.chainId = 248;
1425
+ this.nativeCoinOperationHashPrefix = '248';
1426
+ this.batcherContractAddress = '0xedf1a0016d9c41d2ad0c275e1ba708361a90c0d1';
1427
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1428
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1429
+ }
1430
+ }
1431
+ class OasTestnet extends Testnet {
1432
+ constructor() {
1433
+ super(...arguments);
1434
+ this.name = 'OasTestnet';
1435
+ this.family = base_1.CoinFamily.OAS;
1436
+ this.explorerUrl = 'https://explorer.testnet.oasys.games/tx/';
1437
+ this.accountExplorerUrl = 'https://explorer.testnet.oasys.games/address/';
1438
+ this.chainId = 9372;
1439
+ this.nativeCoinOperationHashPrefix = '9372';
1440
+ this.batcherContractAddress = '0xedf1a0016d9c41d2ad0c275e1ba708361a90c0d1';
1441
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1442
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1443
+ }
1444
+ }
1445
+ class Coredao extends Mainnet {
1446
+ constructor() {
1447
+ super(...arguments);
1448
+ this.name = 'Coredao';
1449
+ this.family = base_1.CoinFamily.COREDAO;
1450
+ this.explorerUrl = 'https://scan.coredao.org/tx/';
1451
+ this.accountExplorerUrl = 'https://scan.coredao.org/address/';
1452
+ this.chainId = 1116;
1453
+ this.nativeCoinOperationHashPrefix = '1116';
1454
+ this.batcherContractAddress = '0xc5d7a3b4c490c6242fb28f20e5fe33cd983372a3';
1455
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1456
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1457
+ }
1458
+ }
1459
+ class CoredaoTestnet extends Testnet {
1460
+ constructor() {
1461
+ super(...arguments);
1462
+ this.name = 'CoredaoTestnet';
1463
+ this.family = base_1.CoinFamily.COREDAO;
1464
+ this.explorerUrl = 'https://scan.test2.btcs.network/tx/';
1465
+ this.accountExplorerUrl = 'https://scan.test2.btcs.network/address/';
1466
+ this.chainId = 1114;
1467
+ this.nativeCoinOperationHashPrefix = '1114';
1468
+ this.batcherContractAddress = '0xc5d7a3b4c490c6242fb28f20e5fe33cd983372a3';
1469
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1470
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1471
+ }
1472
+ }
1473
+ class IP extends Mainnet {
1474
+ constructor() {
1475
+ super(...arguments);
1476
+ this.name = 'Story';
1477
+ this.family = base_1.CoinFamily.IP;
1478
+ this.explorerUrl = 'https://www.storyscan.io/tx/';
1479
+ this.accountExplorerUrl = 'https://www.storyscan.io/address/';
1480
+ this.chainId = 1514;
1481
+ this.nativeCoinOperationHashPrefix = '1514';
1482
+ }
1483
+ }
1484
+ class IPTestnet extends Testnet {
1485
+ constructor() {
1486
+ super(...arguments);
1487
+ this.name = 'StoryTestnet';
1488
+ this.family = base_1.CoinFamily.IP;
1489
+ this.explorerUrl = 'https://aeneid.explorer.story.foundation/tx/';
1490
+ this.accountExplorerUrl = 'https://aeneid.storyscan.io/address/';
1491
+ this.chainId = 1315;
1492
+ this.nativeCoinOperationHashPrefix = '1315';
1493
+ }
1494
+ }
1495
+ class ApeChain extends Mainnet {
1496
+ constructor() {
1497
+ super(...arguments);
1498
+ this.name = 'ApeChain';
1499
+ this.family = base_1.CoinFamily.APECHAIN;
1500
+ this.explorerUrl = 'https://apescan.io/tx/';
1501
+ this.accountExplorerUrl = 'https://apescan.io/address/';
1502
+ this.chainId = 33139;
1503
+ this.nativeCoinOperationHashPrefix = '33139';
1504
+ }
1505
+ }
1506
+ class ApeChainTestnet extends Testnet {
1507
+ constructor() {
1508
+ super(...arguments);
1509
+ this.name = 'ApeChainTestnet';
1510
+ this.family = base_1.CoinFamily.APECHAIN;
1511
+ this.explorerUrl = 'https://curtis.apescan.io/tx/';
1512
+ this.accountExplorerUrl = 'https://curtis.apescan.io/address/';
1513
+ this.chainId = 33111;
1514
+ this.nativeCoinOperationHashPrefix = '33111';
1515
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1516
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1517
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
1518
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
1519
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1520
+ }
1521
+ }
1522
+ class Pharos extends Mainnet {
1523
+ constructor() {
1524
+ super(...arguments);
1525
+ this.name = 'Pharos';
1526
+ this.family = base_1.CoinFamily.PHRS;
1527
+ this.explorerUrl = ''; // TODO: WIN-5787 Add mainnet url when available
1528
+ this.accountExplorerUrl = ''; // TODO: WIN-5787 Add mainnet url when available
1529
+ this.chainId = 688688; // TODO: WIN-5787 Add mainnet id when available
1530
+ this.nativeCoinOperationHashPrefix = '688688';
1531
+ }
1532
+ }
1533
+ class PharosTestnet extends Testnet {
1534
+ constructor() {
1535
+ super(...arguments);
1536
+ this.name = 'PharosTestnet';
1537
+ this.family = base_1.CoinFamily.PHRS;
1538
+ this.explorerUrl = 'https://testnet.pharosscan.xyz/tx/';
1539
+ this.accountExplorerUrl = 'https://testnet.pharosscan.xyz/address/';
1540
+ this.chainId = 688688;
1541
+ this.nativeCoinOperationHashPrefix = '688688';
1542
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1543
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1544
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
1545
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
1546
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1547
+ }
1548
+ }
1549
+ class Creditcoin extends Mainnet {
1550
+ constructor() {
1551
+ super(...arguments);
1552
+ this.name = 'Creditcoin';
1553
+ this.family = base_1.CoinFamily.CTC;
1554
+ this.explorerUrl = 'https://creditcoin.blockscout.com/tx/';
1555
+ this.accountExplorerUrl = 'https://creditcoin.blockscout.com/address/';
1556
+ this.chainId = 102030;
1557
+ this.nativeCoinOperationHashPrefix = '102030';
1558
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1559
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1560
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
1561
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
1562
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1563
+ }
1564
+ }
1565
+ class Plasma extends Mainnet {
1566
+ constructor() {
1567
+ super(...arguments);
1568
+ this.name = 'Plasma';
1569
+ this.family = base_1.CoinFamily.XPL;
1570
+ this.explorerUrl = 'https://plasmascan.to/tx/';
1571
+ this.accountExplorerUrl = 'https://plasmascan.to/address/';
1572
+ this.chainId = 9745;
1573
+ this.nativeCoinOperationHashPrefix = '9745';
1574
+ }
1575
+ }
1576
+ class PlasmaTestnet extends Testnet {
1577
+ constructor() {
1578
+ super(...arguments);
1579
+ this.name = 'PlasmaTestnet';
1580
+ this.family = base_1.CoinFamily.XPL;
1581
+ this.explorerUrl = 'https://testnet.plasmascan.to/tx/';
1582
+ this.accountExplorerUrl = 'https://testnet.plasmascan.to/address/';
1583
+ this.chainId = 9746;
1584
+ this.nativeCoinOperationHashPrefix = '9746';
1585
+ }
1586
+ }
1587
+ class HypeEVMTestnet extends Testnet {
1588
+ constructor() {
1589
+ super(...arguments);
1590
+ this.name = 'HyperliquidEVMTestnet';
1591
+ this.family = base_1.CoinFamily.HYPEEVM;
1592
+ this.explorerUrl = 'https://testnet.purrsec.com/tx/';
1593
+ this.accountExplorerUrl = 'https://testnet.purrsec.com/address/';
1594
+ this.chainId = 998;
1595
+ this.nativeCoinOperationHashPrefix = '998';
1596
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1597
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1598
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
1599
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
1600
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1601
+ }
1602
+ }
1603
+ class HypeEVM extends Mainnet {
1604
+ constructor() {
1605
+ super(...arguments);
1606
+ this.name = 'HyperliquidEVM';
1607
+ this.family = base_1.CoinFamily.HYPEEVM;
1608
+ this.explorerUrl = 'https://hyperevm-explorer.vercel.app/tx/';
1609
+ this.accountExplorerUrl = 'https://hyperevm-explorer.vercel.app/address/';
1610
+ this.chainId = 999;
1611
+ this.nativeCoinOperationHashPrefix = '999';
1612
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1613
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1614
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
1615
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
1616
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1617
+ }
1618
+ }
1619
+ class KavaEVMTestnet extends Testnet {
1620
+ constructor() {
1621
+ super(...arguments);
1622
+ this.name = 'KavaEVMTestnet';
1623
+ this.family = base_1.CoinFamily.KAVAEVM;
1624
+ this.explorerUrl = 'https://testnet.kavascan.com/tx/';
1625
+ this.accountExplorerUrl = 'https://testnet.kavascan.com/address/';
1626
+ this.chainId = 2221;
1627
+ this.nativeCoinOperationHashPrefix = '2221';
1628
+ }
1629
+ }
1630
+ class KavaEVM extends Mainnet {
1631
+ constructor() {
1632
+ super(...arguments);
1633
+ this.name = 'KavaEVM';
1634
+ this.family = base_1.CoinFamily.KAVAEVM;
1635
+ this.explorerUrl = 'https://kavascan.com/tx/';
1636
+ this.accountExplorerUrl = 'https://kavascan.com/address/';
1637
+ this.chainId = 2222;
1638
+ this.nativeCoinOperationHashPrefix = '2222';
1639
+ }
1640
+ }
1641
+ class LineaETH extends Mainnet {
1642
+ constructor() {
1643
+ super(...arguments);
1644
+ this.name = 'Linea Ethereum Testnet';
1645
+ this.family = base_1.CoinFamily.LINEAETH;
1646
+ this.explorerUrl = 'https://lineascan.build/tx/';
1647
+ this.accountExplorerUrl = 'https://lineascan.build/address/';
1648
+ this.chainId = 59144;
1649
+ this.nativeCoinOperationHashPrefix = '59144';
1650
+ }
1651
+ }
1652
+ class LineaETHTestnet extends Testnet {
1653
+ constructor() {
1654
+ super(...arguments);
1655
+ this.name = 'Linea Ethereum Testnet';
1656
+ this.family = base_1.CoinFamily.LINEAETH;
1657
+ this.explorerUrl = 'https://sepolia.lineascan.build/tx/';
1658
+ this.accountExplorerUrl = 'https://sepolia.lineascan.build/address/';
1659
+ this.chainId = 59141;
1660
+ this.nativeCoinOperationHashPrefix = '59141';
1661
+ }
1662
+ }
1663
+ class FluentETH extends Mainnet {
1664
+ constructor() {
1665
+ super(...arguments);
1666
+ this.name = 'Fluent Ethereum';
1667
+ this.family = base_1.CoinFamily.FLUENTETH;
1668
+ this.explorerUrl = 'https://devnet.fluentscan.xyz/tx/';
1669
+ this.accountExplorerUrl = 'https://devnet.fluentscan.xyz/address/';
1670
+ this.chainId = 20993;
1671
+ this.nativeCoinOperationHashPrefix = '20993';
1672
+ }
1673
+ }
1674
+ class FluentETHTestnet extends Testnet {
1675
+ constructor() {
1676
+ super(...arguments);
1677
+ this.name = 'Testnet Fluent Ethereum';
1678
+ this.family = base_1.CoinFamily.FLUENTETH;
1679
+ this.explorerUrl = 'https://testnet.fluentscan.xyz/tx/';
1680
+ this.accountExplorerUrl = 'https://testnet.fluentscan.xyz/address/';
1681
+ this.chainId = 20994;
1682
+ this.nativeCoinOperationHashPrefix = '20994';
1683
+ }
1684
+ }
1685
+ class Mantle extends Mainnet {
1686
+ constructor() {
1687
+ super(...arguments);
1688
+ this.name = 'Mantle Native';
1689
+ this.family = base_1.CoinFamily.MANTLE;
1690
+ this.explorerUrl = 'https://mantlescan.xyz/tx/';
1691
+ this.accountExplorerUrl = 'https://mantlescan.xyz/address/';
1692
+ this.chainId = 5000;
1693
+ this.nativeCoinOperationHashPrefix = '5000';
1694
+ }
1695
+ }
1696
+ class MantleTestnet extends Testnet {
1697
+ constructor() {
1698
+ super(...arguments);
1699
+ this.name = 'Testnet Mantle Native';
1700
+ this.family = base_1.CoinFamily.MANTLE;
1701
+ this.explorerUrl = 'https://sepolia.mantlescan.xyz/tx/';
1702
+ this.accountExplorerUrl = 'https://sepolia.mantlescan.xyz/address/';
1703
+ this.chainId = 5003;
1704
+ this.nativeCoinOperationHashPrefix = '5003';
1705
+ }
1706
+ }
1707
+ class JovayETH extends Mainnet {
1708
+ constructor() {
1709
+ super(...arguments);
1710
+ this.name = 'Jovay Ethereum';
1711
+ this.family = base_1.CoinFamily.JOVAYETH;
1712
+ this.explorerUrl = 'https://explorer.jovay.io/tx/';
1713
+ this.accountExplorerUrl = 'https://explorer.jovay.io/address/';
1714
+ this.chainId = 5734951;
1715
+ this.nativeCoinOperationHashPrefix = '5734951';
1716
+ }
1717
+ }
1718
+ class JovayETHTestnet extends Testnet {
1719
+ constructor() {
1720
+ super(...arguments);
1721
+ this.name = 'Testnet Jovay Ethereum';
1722
+ this.family = base_1.CoinFamily.JOVAYETH;
1723
+ this.explorerUrl = 'https://sepolia-explorer.jovay.io/tx/';
1724
+ this.accountExplorerUrl = 'https://sepolia-explorer.jovay.io/address/';
1725
+ this.chainId = 2019775;
1726
+ this.nativeCoinOperationHashPrefix = '2019775';
1727
+ }
1728
+ }
1729
+ class Xlayer extends Mainnet {
1730
+ constructor() {
1731
+ super(...arguments);
1732
+ this.name = 'X Layer';
1733
+ this.family = base_1.CoinFamily.OKB;
1734
+ this.explorerUrl = 'https://www.oklink.com/x-layer/tx/';
1735
+ this.accountExplorerUrl = 'https://www.oklink.com/x-layer/address/';
1736
+ this.chainId = 196;
1737
+ this.nativeCoinOperationHashPrefix = '196';
1738
+ }
1739
+ }
1740
+ class XlayerTestnet extends Testnet {
1741
+ constructor() {
1742
+ super(...arguments);
1743
+ this.name = 'Testnet X Layer';
1744
+ this.family = base_1.CoinFamily.OKB;
1745
+ this.explorerUrl = 'https://www.oklink.com/x-layer-testnet/tx/';
1746
+ this.accountExplorerUrl = 'https://www.oklink.com/x-layer-testnet/address/';
1747
+ this.chainId = 195;
1748
+ this.nativeCoinOperationHashPrefix = '195';
1749
+ }
1750
+ }
1751
+ class Morph extends Mainnet {
1752
+ constructor() {
1753
+ super(...arguments);
1754
+ this.name = 'Morph Mainnet';
1755
+ this.family = base_1.CoinFamily.MORPH;
1756
+ this.explorerUrl = 'https://explorer-api-hoodi.morphl2.io/tx/'; // TODO: WIN-8134 add mainnet url when available
1757
+ this.accountExplorerUrl = 'https://explorer-api-hoodi.morphl2.io/address/'; // TODO: WIN-8134 add mainnet account explorer url when available
1758
+ this.chainId = 2818;
1759
+ this.nativeCoinOperationHashPrefix = '2818';
1760
+ }
1761
+ }
1762
+ class MorphTestnet extends Testnet {
1763
+ constructor() {
1764
+ super(...arguments);
1765
+ this.name = 'Morph Testnet';
1766
+ this.family = base_1.CoinFamily.MORPH;
1767
+ this.explorerUrl = 'https://explorer-api-hoodi.morphl2.io/tx/';
1768
+ this.accountExplorerUrl = 'https://explorer-api-hoodi.morphl2.io/address/';
1769
+ this.chainId = 2710;
1770
+ this.nativeCoinOperationHashPrefix = '2710';
1771
+ }
1772
+ }
1773
+ class CreditcoinTestnet extends Testnet {
1774
+ constructor() {
1775
+ super(...arguments);
1776
+ this.name = 'CreditcoinTestnet';
1777
+ this.family = base_1.CoinFamily.CTC;
1778
+ this.explorerUrl = 'https://creditcoin-testnet.blockscout.com/tx/';
1779
+ this.accountExplorerUrl = 'https://creditcoin-testnet.blockscout.com/address/';
1780
+ this.chainId = 102031;
1781
+ this.nativeCoinOperationHashPrefix = '102031';
1782
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1783
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1784
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
1785
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
1786
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1787
+ }
1788
+ }
1789
+ class Sonic extends Mainnet {
1790
+ constructor() {
1791
+ super(...arguments);
1792
+ this.name = 'Sonic';
1793
+ this.family = base_1.CoinFamily.SONIC;
1794
+ this.explorerUrl = 'https://sonicscan.org/tx/';
1795
+ this.accountExplorerUrl = 'https://sonicscan.org/address/';
1796
+ this.chainId = 146;
1797
+ this.nativeCoinOperationHashPrefix = '146';
1798
+ }
1799
+ }
1800
+ class SonicTestnet extends Testnet {
1801
+ constructor() {
1802
+ super(...arguments);
1803
+ this.name = 'SonicTestnet';
1804
+ this.family = base_1.CoinFamily.SONIC;
1805
+ this.explorerUrl = 'https://testnet.sonicscan.org/tx/';
1806
+ this.accountExplorerUrl = 'https://testnet.sonicscan.org/address/';
1807
+ this.chainId = 14601;
1808
+ this.nativeCoinOperationHashPrefix = '14601';
1809
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
1810
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1811
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1812
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1813
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
1814
+ }
1815
+ }
1816
+ class Kaia extends Mainnet {
1817
+ constructor() {
1818
+ super(...arguments);
1819
+ this.name = 'Kaia';
1820
+ this.family = base_1.CoinFamily.KAIA;
1821
+ this.explorerUrl = 'https://kaiascan.io/tx/';
1822
+ this.accountExplorerUrl = 'https://kaiascan.io/address/';
1823
+ this.chainId = 8217;
1824
+ this.nativeCoinOperationHashPrefix = '8217';
1825
+ }
1826
+ }
1827
+ class KaiaTestnet extends Testnet {
1828
+ constructor() {
1829
+ super(...arguments);
1830
+ this.name = 'KaiaTestnet';
1831
+ this.family = base_1.CoinFamily.KAIA;
1832
+ this.explorerUrl = 'https://kairos.kaiascan.io/tx/';
1833
+ this.accountExplorerUrl = 'https://kairos.kaiascan.io/address/';
1834
+ this.chainId = 1001;
1835
+ this.nativeCoinOperationHashPrefix = '1001';
1836
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
1837
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1838
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1839
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1840
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
1841
+ }
1842
+ }
1843
+ class Irys extends Mainnet {
1844
+ constructor() {
1845
+ super(...arguments);
1846
+ this.name = 'Irys';
1847
+ this.family = base_1.CoinFamily.IRYS;
1848
+ this.explorerUrl = ''; //WIN-6191 add mainnet url when available
1849
+ this.accountExplorerUrl = ''; //WIN-6191 add mainnet url when available
1850
+ this.chainId = 1270; //WIN-6191 add mainnet id when available
1851
+ this.nativeCoinOperationHashPrefix = '1270';
1852
+ }
1853
+ }
1854
+ class IrysTestnet extends Testnet {
1855
+ constructor() {
1856
+ super(...arguments);
1857
+ this.name = 'IrysTestnet';
1858
+ this.family = base_1.CoinFamily.IRYS;
1859
+ this.explorerUrl = 'https://testnet-explorer.irys.xyz/tx/';
1860
+ this.accountExplorerUrl = 'https://testnet-explorer.irys.xyz/address/';
1861
+ this.chainId = 1270;
1862
+ this.nativeCoinOperationHashPrefix = '1270';
1863
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
1864
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1865
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1866
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1867
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
1868
+ }
1869
+ }
1870
+ class Og extends Mainnet {
1871
+ constructor() {
1872
+ super(...arguments);
1873
+ this.name = 'Zero Gravity';
1874
+ this.family = base_1.CoinFamily.OG;
1875
+ this.explorerUrl = 'https://chainscan.0g.ai/tx/';
1876
+ this.accountExplorerUrl = 'https://chainscan.0g.ai/address/';
1877
+ this.chainId = 16661;
1878
+ this.nativeCoinOperationHashPrefix = '16661';
1879
+ }
1880
+ }
1881
+ class OgTestnet extends Testnet {
1882
+ constructor() {
1883
+ super(...arguments);
1884
+ this.name = 'Zero Gravity Testnet';
1885
+ this.family = base_1.CoinFamily.OG;
1886
+ this.explorerUrl = 'https://chainscan-galileo.0g.ai/tx/';
1887
+ this.accountExplorerUrl = 'https://chainscan-galileo.0g.ai/address/';
1888
+ this.chainId = 16602;
1889
+ this.nativeCoinOperationHashPrefix = '16602';
1890
+ }
1891
+ }
1892
+ class Xdc extends Mainnet {
1893
+ constructor() {
1894
+ super(...arguments);
1895
+ this.name = 'XdcChain';
1896
+ this.family = base_1.CoinFamily.XDC;
1897
+ this.explorerUrl = 'https://xdcscan.com/tx/';
1898
+ this.accountExplorerUrl = 'https://xdcscan.com/address/';
1899
+ this.chainId = 50;
1900
+ this.nativeCoinOperationHashPrefix = '50';
1901
+ this.batcherContractAddress = '0xc5d7a3b4c490c6242fb28f20e5fe33cd983372a3';
1902
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1903
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1904
+ }
1905
+ }
1906
+ class XdcTestnet extends Testnet {
1907
+ constructor() {
1908
+ super(...arguments);
1909
+ this.name = 'XdcChainTestnet';
1910
+ this.family = base_1.CoinFamily.XDC;
1911
+ this.explorerUrl = 'https://testnet.xdcscan.com/tx/';
1912
+ this.accountExplorerUrl = 'https://testnet.xdcscan.com/address/';
1913
+ this.chainId = 51;
1914
+ this.nativeCoinOperationHashPrefix = '51';
1915
+ this.batcherContractAddress = '0xebe27913fcc7510eadf10643a8f86bf5492a9541';
1916
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1917
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1918
+ }
1919
+ }
1920
+ class Wemix extends Mainnet {
1921
+ constructor() {
1922
+ super(...arguments);
1923
+ this.name = 'WemixChain';
1924
+ this.family = base_1.CoinFamily.WEMIX;
1925
+ this.explorerUrl = 'https://explorer.wemix.com/tx/';
1926
+ this.accountExplorerUrl = 'https://explorer.wemix.com/address/';
1927
+ this.chainId = 1111;
1928
+ this.nativeCoinOperationHashPrefix = '1111';
1929
+ this.batcherContractAddress = '0xc5d7a3b4c490c6242fb28f20e5fe33cd983372a3';
1930
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1931
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1932
+ }
1933
+ }
1934
+ class WemixTestnet extends Testnet {
1935
+ constructor() {
1936
+ super(...arguments);
1937
+ this.name = 'WemixChainTestnet';
1938
+ this.family = base_1.CoinFamily.WEMIX;
1939
+ this.explorerUrl = 'https://explorer.test.wemix.com/tx/';
1940
+ this.accountExplorerUrl = 'https://explorer.test.wemix.com/address/';
1941
+ this.chainId = 1112;
1942
+ this.nativeCoinOperationHashPrefix = '1112';
1943
+ this.batcherContractAddress = '0xc5d7a3b4c490c6242fb28f20e5fe33cd983372a3';
1944
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1945
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1946
+ }
1947
+ }
1948
+ class MonadTestnet extends Testnet {
1949
+ constructor() {
1950
+ super(...arguments);
1951
+ this.name = 'MonadTestnet';
1952
+ this.family = base_1.CoinFamily.MON;
1953
+ this.explorerUrl = 'https://testnet.monadexplorer.com/tx/';
1954
+ this.accountExplorerUrl = 'https://testnet.monadexplorer.com/address/';
1955
+ this.chainId = 10143;
1956
+ this.nativeCoinOperationHashPrefix = '10143';
1957
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
1958
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1959
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1960
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1961
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
1962
+ }
1963
+ }
1964
+ class Monad extends Mainnet {
1965
+ constructor() {
1966
+ super(...arguments);
1967
+ this.name = 'Monad';
1968
+ this.family = base_1.CoinFamily.MON;
1969
+ this.explorerUrl = 'https://mainnet-beta.monvision.io/tx/';
1970
+ this.chainId = 143;
1971
+ this.nativeCoinOperationHashPrefix = '143';
1972
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
1973
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1974
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1975
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1976
+ }
1977
+ }
1978
+ class World extends Mainnet {
1979
+ constructor() {
1980
+ super(...arguments);
1981
+ this.name = 'Worldchain';
1982
+ this.family = base_1.CoinFamily.WORLD;
1983
+ this.explorerUrl = 'https://worldscan.org/tx/';
1984
+ this.accountExplorerUrl = 'https://worldscan.org/address/';
1985
+ this.chainId = 480;
1986
+ this.nativeCoinOperationHashPrefix = '480';
1987
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
1988
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1989
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1990
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1991
+ }
1992
+ }
1993
+ class WorldTestnet extends Testnet {
1994
+ constructor() {
1995
+ super(...arguments);
1996
+ this.name = 'WorldchainTestnet';
1997
+ this.family = base_1.CoinFamily.WORLD;
1998
+ this.explorerUrl = 'https://sepolia.worldscan.org/tx/';
1999
+ this.accountExplorerUrl = 'https://sepolia.worldscan.org/address/';
2000
+ this.chainId = 4801;
2001
+ this.nativeCoinOperationHashPrefix = '4801';
2002
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
2003
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
2004
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
2005
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
2006
+ }
2007
+ }
2008
+ class Soneium extends Mainnet {
2009
+ constructor() {
2010
+ super(...arguments);
2011
+ this.name = 'Soneium';
2012
+ this.family = base_1.CoinFamily.SONEIUM;
2013
+ this.explorerUrl = 'https://soneium.blockscout.com/tx/';
2014
+ this.accountExplorerUrl = 'https://soneium.blockscout.com/address/';
2015
+ this.chainId = 1868;
2016
+ this.nativeCoinOperationHashPrefix = '1868';
2017
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
2018
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
2019
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
2020
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
2021
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
2022
+ }
2023
+ }
2024
+ class SoneiumTestnet extends Testnet {
2025
+ constructor() {
2026
+ super(...arguments);
2027
+ this.name = 'SoneiumTestnet';
2028
+ this.family = base_1.CoinFamily.SONEIUM;
2029
+ this.explorerUrl = 'https://soneium-minato.blockscout.com/tx/';
2030
+ this.accountExplorerUrl = 'https://soneium-minato.blockscout.com/address/';
2031
+ this.chainId = 1946;
2032
+ this.nativeCoinOperationHashPrefix = '1946';
2033
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
2034
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
2035
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
2036
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
2037
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
2038
+ }
2039
+ }
2040
+ class SeiEvm extends Mainnet {
2041
+ constructor() {
2042
+ super(...arguments);
2043
+ this.name = 'Seievm';
2044
+ this.family = base_1.CoinFamily.SEIEVM;
2045
+ this.explorerUrl = 'https://seitrace.com/tx/';
2046
+ this.accountExplorerUrl = 'https://seitrace.com/address/';
2047
+ this.chainId = 1329;
2048
+ this.nativeCoinOperationHashPrefix = '1329';
2049
+ }
2050
+ }
2051
+ class SeiEvmTestnet extends Testnet {
2052
+ constructor() {
2053
+ super(...arguments);
2054
+ this.name = 'SeiEvmTestnet';
2055
+ this.family = base_1.CoinFamily.SEIEVM;
2056
+ this.explorerUrl = 'https://testnet.seistream.app/transactions/';
2057
+ this.accountExplorerUrl = 'https://testnet.seistream.app/account/';
2058
+ this.chainId = 1328;
2059
+ this.nativeCoinOperationHashPrefix = '1328';
2060
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
2061
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
2062
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
2063
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
2064
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
2065
+ }
2066
+ }
2067
+ class SomniaTestnet extends Testnet {
2068
+ constructor() {
2069
+ super(...arguments);
2070
+ this.name = 'SomniaTestnet';
2071
+ this.family = base_1.CoinFamily.STT;
2072
+ this.explorerUrl = 'https://shannon-explorer.somnia.network/tx/';
2073
+ this.accountExplorerUrl = 'https://shannon-explorer.somnia.network/address/';
2074
+ this.chainId = 50312;
2075
+ this.nativeCoinOperationHashPrefix = '50312';
2076
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
2077
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
2078
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
2079
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
2080
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
2081
+ }
2082
+ }
2083
+ class Somi extends Mainnet {
2084
+ constructor() {
2085
+ super(...arguments);
2086
+ this.name = 'Somnia';
2087
+ this.family = base_1.CoinFamily.SOMI;
2088
+ this.explorerUrl = 'https://mainnet.somnia.w3us.site/tx/';
2089
+ this.chainId = 5031;
2090
+ this.nativeCoinOperationHashPrefix = '5031';
2091
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
2092
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
2093
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
2094
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
2095
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
2096
+ }
2097
+ }
2098
+ class FlareP extends Mainnet {
2099
+ constructor() {
2100
+ super(...arguments);
2101
+ this.assetId = 'Flare';
2102
+ this.name = 'FlareP';
2103
+ this.family = base_1.CoinFamily.FLRP;
2104
+ this.explorerUrl = 'https://flarescan.com/blockchain/pvm/transactions/';
2105
+ this.accountExplorerUrl = 'https://flarescan.com/blockchain/pvm/address/';
2106
+ this.blockchainID = '11111111111111111111111111111111LpoYY';
2107
+ this.cChainBlockchainID = '2q9e4r6Mu3U68nU1fYjgbR6JvwrRx36CohpAX5UQxse55x1Q5';
2108
+ this.networkID = 14;
2109
+ this.hrp = 'flare';
2110
+ this.alias = 'P';
2111
+ this.vm = 'platformvm';
2112
+ this.txFee = '1000000'; // defaults
2113
+ this.maxImportFee = '10000000'; // defaults
2114
+ this.createSubnetTx = '100000000'; // defaults
2115
+ this.createChainTx = '100000000'; // defaults
2116
+ this.creationTxFee = '10000000'; // defaults
2117
+ this.minConsumption = '0.1';
2118
+ this.maxConsumption = '0.12';
2119
+ this.maxSupply = '103688266974000000000'; // 103B tokens
2120
+ this.minStake = '1000000000000000'; // 1M FLR
2121
+ this.minStakeDuration = '5256000'; // 2 months
2122
+ this.maxStakeDuration = '31536000'; // 1 year
2123
+ this.minDelegationStake = '50000000000000'; // 50000 FLR
2124
+ this.minDelegationFee = '0';
2125
+ }
2126
+ }
2127
+ exports.FlareP = FlareP;
2128
+ class FlarePTestnet extends Testnet {
2129
+ constructor() {
2130
+ super(...arguments);
2131
+ this.name = 'FlarePTestnet';
2132
+ this.family = base_1.CoinFamily.FLRP;
2133
+ this.explorerUrl = 'https://coston2.testnet.flarescan.com/blockchain/pvm/transactions';
2134
+ this.accountExplorerUrl = 'https://coston2.testnet.flarescan.com/blockchain/pvm/address/';
2135
+ this.blockchainID = '11111111111111111111111111111111LpoYY';
2136
+ this.cChainBlockchainID = 'vE8M98mEQH6wk56sStD1ML8HApTgSqfJZLk9gQ3Fsd4i6m3Bi';
2137
+ this.networkID = 114;
2138
+ this.hrp = 'costwo';
2139
+ this.alias = 'P';
2140
+ this.assetId = 'fxMAKpBQQpFedrUhWMsDYfCUJxdUw4mneTczKBzNg3rc2JUub';
2141
+ this.vm = 'platformvm';
2142
+ this.txFee = '1000000'; // defaults
2143
+ this.maxImportFee = '10000000'; // defaults
2144
+ this.createSubnetTx = '100000000'; // defaults
2145
+ this.createChainTx = '100000000'; // defaults
2146
+ this.creationTxFee = '10000000'; // defaults
2147
+ this.minConsumption = '0.1';
2148
+ this.maxConsumption = '0.12';
2149
+ this.maxSupply = '79000000000000000000000'; // 79 trillion tokens
2150
+ this.minStake = '1000000000000000'; // 1M FLR
2151
+ this.minStakeDuration = '5256000'; // 2 months
2152
+ this.maxStakeDuration = '31536000'; // 1 year
2153
+ this.minDelegationStake = '50000000000000'; // 50000 FLR
2154
+ this.minDelegationFee = '0';
2155
+ }
2156
+ }
2157
+ exports.FlarePTestnet = FlarePTestnet;
2158
+ class Flare extends Mainnet {
2159
+ constructor() {
2160
+ super(...arguments);
2161
+ this.name = 'Flarechain';
2162
+ this.family = base_1.CoinFamily.FLR;
2163
+ this.explorerUrl = 'https://flare-explorer.flare.network/tx/';
2164
+ this.accountExplorerUrl = 'https://flare-explorer.flare.network/address/';
2165
+ this.chainId = 14;
2166
+ this.nativeCoinOperationHashPrefix = '14';
2167
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
2168
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
2169
+ this.batcherContractAddress = '0xc5d7a3b4c490c6242fb28f20e5fe33cd983372a3';
2170
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
2171
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
2172
+ }
2173
+ }
2174
+ exports.Flare = Flare;
2175
+ class FlareTestnet extends Testnet {
2176
+ constructor() {
2177
+ super(...arguments);
2178
+ this.name = 'FlarechainTestnet';
2179
+ this.family = base_1.CoinFamily.FLR;
2180
+ this.explorerUrl = 'https://coston2-explorer.flare.network/tx/';
2181
+ this.accountExplorerUrl = 'https://coston2-explorer.flare.network/address/';
2182
+ this.chainId = 114;
2183
+ this.nativeCoinOperationHashPrefix = '114';
2184
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
2185
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
2186
+ this.batcherContractAddress = '0xc5d7a3b4c490c6242fb28f20e5fe33cd983372a3';
2187
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
2188
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
2189
+ }
2190
+ }
2191
+ exports.FlareTestnet = FlareTestnet;
2192
+ class Songbird extends Mainnet {
2193
+ constructor() {
2194
+ super(...arguments);
2195
+ this.name = 'Songbirdchain';
2196
+ this.family = base_1.CoinFamily.SGB;
2197
+ this.explorerUrl = 'https://songbird-explorer.flare.network/tx/';
2198
+ this.accountExplorerUrl = 'https://songbird-explorer.flare.network/address/';
2199
+ this.chainId = 19;
2200
+ this.nativeCoinOperationHashPrefix = '19';
2201
+ this.batcherContractAddress = '0xc5d7a3b4c490c6242fb28f20e5fe33cd983372a3';
2202
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
2203
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
2204
+ }
2205
+ }
2206
+ class SongbirdTestnet extends Testnet {
2207
+ constructor() {
2208
+ super(...arguments);
2209
+ this.name = 'SongbirdchainTestnet';
2210
+ this.family = base_1.CoinFamily.SGB;
2211
+ this.explorerUrl = 'https://coston-explorer.flare.network/tx/';
2212
+ this.accountExplorerUrl = 'https://coston-explorer.flare.network/address/';
2213
+ this.chainId = 16;
2214
+ this.nativeCoinOperationHashPrefix = '16';
2215
+ this.batcherContractAddress = '0xc5d7a3b4c490c6242fb28f20e5fe33cd983372a3';
2216
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
2217
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
2218
+ }
2219
+ }
2220
+ class BaseChainTestnet extends Testnet {
2221
+ constructor() {
2222
+ super(...arguments);
2223
+ //BaseETH testnet
2224
+ this.name = 'BaseChainTestnet';
2225
+ this.family = base_1.CoinFamily.BASEETH;
2226
+ this.explorerUrl = 'https://sepolia.basescan.org/tx/';
2227
+ this.accountExplorerUrl = 'https://sepolia.basescan.org/address/';
2228
+ this.chainId = 84532;
2229
+ this.nativeCoinOperationHashPrefix = '84532';
2230
+ this.tokenOperationHashPrefix = '84532-ERC20';
2231
+ this.forwarderFactoryAddress = '0xdd498702f44c4da08eb9e08d3f015eefe5cb71fc';
2232
+ this.forwarderImplementationAddress = '0xbe69cae311191fb45e648ed20847f06fad2dbab4';
2233
+ this.walletFactoryAddress = '0x4550e1e7616d3364877fc6c9324938dab678621a';
2234
+ this.walletImplementationAddress = '0x92db2759d1dca129a0d9d46877f361be819184c4';
2235
+ }
2236
+ }
2237
+ class BaseChain extends Mainnet {
2238
+ constructor() {
2239
+ super(...arguments);
2240
+ //BaseETH
2241
+ this.name = 'BaseChain';
2242
+ this.family = base_1.CoinFamily.BASEETH;
2243
+ this.explorerUrl = 'https://basescan.org/tx/';
2244
+ this.accountExplorerUrl = 'https://basescan.org/address/';
2245
+ this.chainId = 8453;
2246
+ this.nativeCoinOperationHashPrefix = '8453';
2247
+ this.tokenOperationHashPrefix = '8453-ERC20';
2248
+ this.forwarderFactoryAddress = '0xdd498702f44c4da08eb9e08d3f015eefe5cb71fc';
2249
+ this.forwarderImplementationAddress = '0xbe69cae311191fb45e648ed20847f06fad2dbab4';
2250
+ this.walletFactoryAddress = '0x4550e1e7616d3364877fc6c9324938dab678621a';
2251
+ this.walletImplementationAddress = '0x92db2759d1dca129a0d9d46877f361be819184c4';
2252
+ }
2253
+ }
2254
+ class Polymesh extends Mainnet {
2255
+ constructor() {
2256
+ super(...arguments);
2257
+ this.name = 'Polymesh';
2258
+ this.family = base_1.CoinFamily.POLYX;
2259
+ this.explorerUrl = 'https://polymesh.subscan.io/extrinsic/';
2260
+ this.specName = 'polymesh_mainnet';
2261
+ this.genesisHash = '0x6fbd74e5e1d0a61d52ccfe9d4adaed16dd3a7caa37c6bc4d0c2fa12e8b2f4063';
2262
+ this.specVersion = 7002000;
2263
+ this.chainName = 'Polymesh Mainnet';
2264
+ this.txVersion = 7;
2265
+ }
2266
+ }
2267
+ class PolymeshTestnet extends Testnet {
2268
+ constructor() {
2269
+ super(...arguments);
2270
+ this.name = 'PolymeshTestnet';
2271
+ this.family = base_1.CoinFamily.POLYX;
2272
+ this.explorerUrl = 'https://polymesh-testnet.subscan.io/extrinsic/';
2273
+ this.specName = 'polymesh_testnet';
2274
+ this.genesisHash = '0x2ace05e703aa50b48c0ccccfc8b424f7aab9a1e2c424ed12e45d20b1e8ffd0d6';
2275
+ this.specVersion = 7002000;
2276
+ this.chainName = 'Polymesh Testnet';
2277
+ this.txVersion = 7;
2278
+ }
2279
+ }
2280
+ class Vet extends Mainnet {
2281
+ constructor() {
2282
+ super(...arguments);
2283
+ this.name = 'VeChain';
2284
+ this.family = base_1.CoinFamily.VET;
2285
+ this.explorerUrl = 'https://explore.vechain.org/transactions/';
2286
+ this.accountExplorerUrl = 'https://explore.vechain.org/accounts/';
2287
+ this.chainId = 100009;
2288
+ this.forwarderFactoryAddress = '0x65343e18c376d2fc8c3cf10cd146d63e2e0dc9ef';
2289
+ this.forwarderImplementationAddress = '0x62de34c87f847d385af07f6c25dbd97b1fffefc0';
2290
+ }
2291
+ }
2292
+ class VetTestnet extends Testnet {
2293
+ constructor() {
2294
+ super(...arguments);
2295
+ this.name = 'VeChainTestnet';
2296
+ this.family = base_1.CoinFamily.VET;
2297
+ this.explorerUrl = 'https://explore-testnet.vechain.org/transactions/';
2298
+ this.accountExplorerUrl = 'https://explore-testnet.vechain.org/accounts/';
2299
+ this.chainId = 100010;
2300
+ this.forwarderFactoryAddress = '0x65343e18c376d2fc8c3cf10cd146d63e2e0dc9ef';
2301
+ this.forwarderImplementationAddress = '0x62de34c87f847d385af07f6c25dbd97b1fffefc0';
2302
+ }
2303
+ }
2304
+ class Iota extends Mainnet {
2305
+ constructor() {
2306
+ super(...arguments);
2307
+ this.name = 'Iota';
2308
+ this.family = base_1.CoinFamily.IOTA;
2309
+ this.explorerUrl = 'https://explorer.iota.org/?network=mainnet';
2310
+ }
2311
+ }
2312
+ class IotaTestnet extends Testnet {
2313
+ constructor() {
2314
+ super(...arguments);
2315
+ this.name = 'Testnet Iota';
2316
+ this.family = base_1.CoinFamily.IOTA;
2317
+ this.explorerUrl = 'https://explorer.iota.org/?network=testnet';
2318
+ }
2319
+ }
2320
+ class Flow extends Mainnet {
2321
+ constructor() {
2322
+ super(...arguments);
2323
+ this.name = 'Flow';
2324
+ this.family = base_1.CoinFamily.FLOW;
2325
+ this.explorerUrl = 'https://evm.flowscan.io/tx/';
2326
+ this.accountExplorerUrl = 'https://evm.flowscan.io/address/';
2327
+ this.chainId = 747;
2328
+ this.nativeCoinOperationHashPrefix = '747';
2329
+ }
2330
+ }
2331
+ class FlowTestnet extends Testnet {
2332
+ constructor() {
2333
+ super(...arguments);
2334
+ this.name = 'FlowTestnet';
2335
+ this.family = base_1.CoinFamily.FLOW;
2336
+ this.explorerUrl = 'https://evm-testnet.flowscan.io/tx/';
2337
+ this.accountExplorerUrl = 'https://evm-testnet.flowscan.io/address/';
2338
+ this.chainId = 545;
2339
+ this.nativeCoinOperationHashPrefix = '545';
2340
+ }
2341
+ }
2342
+ // TODO update MegaETH explorer urls and chainId when available
2343
+ class MegaETH extends Mainnet {
2344
+ constructor() {
2345
+ super(...arguments);
2346
+ this.name = 'MegaETH';
2347
+ this.family = base_1.CoinFamily.MEGAETH;
2348
+ this.explorerUrl = 'https://www.megaexplorer.xyz/tx/';
2349
+ this.accountExplorerUrl = 'https://www.megaexplorer.xyz/address/';
2350
+ this.chainId = 6342;
2351
+ this.nativeCoinOperationHashPrefix = '6342';
2352
+ }
2353
+ }
2354
+ class MegaETHTestnet extends Testnet {
2355
+ constructor() {
2356
+ super(...arguments);
2357
+ this.name = 'MegaETHTestnet';
2358
+ this.family = base_1.CoinFamily.MEGAETH;
2359
+ this.explorerUrl = 'https://www.megaexplorer.xyz/tx/';
2360
+ this.accountExplorerUrl = 'https://www.megaexplorer.xyz/address/';
2361
+ this.chainId = 6342;
2362
+ this.nativeCoinOperationHashPrefix = '6342';
2363
+ }
2364
+ }
2365
+ class Plume extends Mainnet {
2366
+ constructor() {
2367
+ super(...arguments);
2368
+ this.name = 'Plume';
2369
+ this.family = base_1.CoinFamily.PLUME;
2370
+ this.explorerUrl = 'https://explorer.plume.org/tx/';
2371
+ this.accountExplorerUrl = 'https://explorer.plume.org/address/';
2372
+ this.chainId = 98866;
2373
+ this.nativeCoinOperationHashPrefix = '98866';
2374
+ }
2375
+ }
2376
+ class HederaEVMTestnet extends Testnet {
2377
+ constructor() {
2378
+ super(...arguments);
2379
+ this.name = 'Testnet Hedera EVM';
2380
+ this.family = base_1.CoinFamily.HBAREVM;
2381
+ this.explorerUrl = 'https://hashscan.io/mainnet/transaction/';
2382
+ this.accountExplorerUrl = 'https://hashscan.io/mainnet/account/';
2383
+ this.chainId = 296;
2384
+ this.nativeCoinOperationHashPrefix = '296';
2385
+ }
2386
+ }
2387
+ class HederaEVM extends Mainnet {
2388
+ constructor() {
2389
+ super(...arguments);
2390
+ this.name = 'Hedera EVM';
2391
+ this.family = base_1.CoinFamily.HBAREVM;
2392
+ this.explorerUrl = 'https://hashscan.io/testnet/transaction/';
2393
+ this.accountExplorerUrl = 'https://hashscan.io/testnet/account/';
2394
+ this.chainId = 295;
2395
+ this.nativeCoinOperationHashPrefix = '295';
2396
+ }
2397
+ }
2398
+ class PlumeTestnet extends Testnet {
2399
+ constructor() {
2400
+ super(...arguments);
2401
+ this.name = 'PlumeTestnet';
2402
+ this.family = base_1.CoinFamily.PLUME;
2403
+ this.explorerUrl = 'https://testnet-explorer.plume.org/tx/';
2404
+ this.accountExplorerUrl = 'https://testnet-explorer.plume.org/address/';
2405
+ this.chainId = 98867;
2406
+ this.nativeCoinOperationHashPrefix = '98867';
2407
+ }
2408
+ }
2409
+ class Canton extends Mainnet {
2410
+ constructor() {
2411
+ super(...arguments);
2412
+ this.name = 'Canton';
2413
+ this.family = base_1.CoinFamily.CANTON;
2414
+ this.explorerUrl = 'https://ccview.io/updates/';
2415
+ }
2416
+ }
2417
+ class CantonTestnet extends Testnet {
2418
+ constructor() {
2419
+ super(...arguments);
2420
+ this.name = 'CantonTestnet';
2421
+ this.family = base_1.CoinFamily.CANTON;
2422
+ this.explorerUrl = 'https://devnet.ccview.io/updates/';
2423
+ }
2424
+ }
2425
+ class Dogeos extends Mainnet {
2426
+ constructor() {
2427
+ super(...arguments);
2428
+ this.name = 'Doge OS';
2429
+ this.family = base_1.CoinFamily.DOGEOS;
2430
+ this.explorerUrl = 'https://blockscout.testnet.dogeos.com/tx/'; //TODO: WIN-8082 => add mainnet url when available
2431
+ this.accountExplorerUrl = "'https://blockscout.testnet.dogeos.com/address/"; //TODO: WIN-8082 => add mainnet url when available
2432
+ this.chainId = 1234567; ////TODO: WIN-8082 => add mainnet chainId when available
2433
+ this.nativeCoinOperationHashPrefix = '1234567'; //TODO: WIN-8082 => add when mainnet details available
2434
+ }
2435
+ }
2436
+ class DogeosTestnet extends Testnet {
2437
+ constructor() {
2438
+ super(...arguments);
2439
+ this.name = 'Doge OS Testnet';
2440
+ this.family = base_1.CoinFamily.DOGEOS;
2441
+ this.explorerUrl = 'https://blockscout.testnet.dogeos.com/tx/';
2442
+ this.accountExplorerUrl = 'https://blockscout.testnet.dogeos.com/address/';
2443
+ this.chainId = 6281971;
2444
+ this.nativeCoinOperationHashPrefix = '6281971';
1025
2445
  }
1026
2446
  }
1027
2447
  exports.Networks = {
1028
2448
  main: {
1029
2449
  ada: Object.freeze(new Ada()),
1030
2450
  algorand: Object.freeze(new Algorand()),
2451
+ apechain: Object.freeze(new ApeChain()),
2452
+ apt: Object.freeze(new Apt()),
1031
2453
  arbitrum: Object.freeze(new Arbitrum()),
2454
+ asi: Object.freeze(new Asi()),
1032
2455
  atom: Object.freeze(new Atom()),
1033
2456
  avalancheC: Object.freeze(new AvalancheC()),
1034
2457
  avalancheP: Object.freeze(new AvalancheP()),
2458
+ baby: Object.freeze(new Baby()),
2459
+ basechain: Object.freeze(new BaseChain()),
1035
2460
  bitcoin: Object.freeze(new Bitcoin()),
1036
2461
  bitcoinCash: Object.freeze(new BitcoinCash()),
1037
2462
  bitcoinGold: Object.freeze(new BitcoinGold()),
1038
2463
  bitcoinSV: Object.freeze(new BitcoinSV()),
1039
- bera: Object.freeze(new Bera()),
2464
+ bera: Object.freeze(new Berachain()),
1040
2465
  bld: Object.freeze(new Bld()),
1041
2466
  bsc: Object.freeze(new BinanceSmartChain()),
2467
+ canton: Object.freeze(new Canton()),
1042
2468
  casper: Object.freeze(new Casper()),
1043
2469
  celo: Object.freeze(new Celo()),
1044
- core: Object.freeze(new Core()),
2470
+ coredao: Object.freeze(new Coredao()),
2471
+ coreum: Object.freeze(new Coreum()),
2472
+ cronos: Object.freeze(new Cronos()),
1045
2473
  dash: Object.freeze(new Dash()),
1046
2474
  dogecoin: Object.freeze(new Dogecoin()),
1047
- dot: Object.freeze(new Polkadot()),
2475
+ dogeos: Object.freeze(new Dogeos()),
2476
+ dot: Object.freeze(new PolkadotAssetHub()),
1048
2477
  eCash: Object.freeze(new ECash()),
1049
2478
  eos: Object.freeze(new Eos()),
1050
2479
  ethereum: Object.freeze(new Ethereum()),
@@ -1052,85 +2481,182 @@ exports.Networks = {
1052
2481
  ethereumClassic: Object.freeze(new EthereumClassic()),
1053
2482
  ethereumW: Object.freeze(new EthereumW()),
1054
2483
  fiat: Object.freeze(new Fiat()),
2484
+ fetchai: Object.freeze(new FetchAi()),
2485
+ flow: Object.freeze(new Flow()),
2486
+ flr: Object.freeze(new Flare()),
2487
+ flrP: Object.freeze(new FlareP()),
2488
+ fluenteth: Object.freeze(new FluentETH()),
1055
2489
  hash: Object.freeze(new Hash()),
1056
2490
  hedera: Object.freeze(new Hedera()),
2491
+ hederaEVM: Object.freeze(new HederaEVM()),
2492
+ icp: Object.freeze(new Icp()),
2493
+ ip: Object.freeze(new IP()),
2494
+ initia: Object.freeze(new Initia()),
2495
+ iota: Object.freeze(new Iota()),
1057
2496
  injective: Object.freeze(new Injective()),
2497
+ irys: Object.freeze(new Irys()),
1058
2498
  islm: Object.freeze(new Islm()),
2499
+ jovayeth: Object.freeze(new JovayETH()),
2500
+ kaia: Object.freeze(new Kaia()),
1059
2501
  kava: Object.freeze(new Kava()),
2502
+ kavaevm: Object.freeze(new KavaEVM()),
2503
+ lnbtc: Object.freeze(new LightningBitcoin()),
1060
2504
  litecoin: Object.freeze(new Litecoin()),
2505
+ megaeth: Object.freeze(new MegaETH()),
2506
+ mon: Object.freeze(new Monad()),
2507
+ mantle: Object.freeze(new Mantle()),
2508
+ mantra: Object.freeze(new Mantra()),
2509
+ plume: Object.freeze(new Plume()),
1061
2510
  polygon: Object.freeze(new Polygon()),
2511
+ polyx: Object.freeze(new Polymesh()),
2512
+ phrs: Object.freeze(new Pharos()),
2513
+ ctc: Object.freeze(new Creditcoin()),
2514
+ hypeevm: Object.freeze(new HypeEVM()),
2515
+ lineaeth: Object.freeze(new LineaETH()),
2516
+ oas: Object.freeze(new Oas()),
2517
+ og: Object.freeze(new Og()),
1062
2518
  ofc: Object.freeze(new Ofc()),
2519
+ okb: Object.freeze(new Xlayer()),
2520
+ morph: Object.freeze(new Morph()),
1063
2521
  optimism: Object.freeze(new Optimism()),
1064
2522
  osmo: Object.freeze(new Osmo()),
1065
2523
  rbtc: Object.freeze(new Rbtc()),
2524
+ rune: Object.freeze(new Rune()),
1066
2525
  stellar: Object.freeze(new Stellar()),
1067
2526
  sei: Object.freeze(new Sei()),
2527
+ seievm: Object.freeze(new SeiEvm()),
2528
+ sgb: Object.freeze(new Songbird()),
1068
2529
  sol: Object.freeze(new Sol()),
2530
+ sonic: Object.freeze(new Sonic()),
1069
2531
  sui: Object.freeze(new Sui()),
1070
2532
  near: Object.freeze(new Near()),
1071
2533
  stx: Object.freeze(new Stx()),
2534
+ somi: Object.freeze(new Somi()),
2535
+ soneium: Object.freeze(new Soneium()),
1072
2536
  susd: Object.freeze(new SUSD()),
2537
+ tao: Object.freeze(new Bittensor()),
1073
2538
  tia: Object.freeze(new Tia()),
1074
2539
  ton: Object.freeze(new Ton()),
1075
2540
  trx: Object.freeze(new Trx()),
2541
+ vet: Object.freeze(new Vet()),
2542
+ wemix: Object.freeze(new Wemix()),
2543
+ world: Object.freeze(new World()),
2544
+ xdc: Object.freeze(new Xdc()),
2545
+ xpl: Object.freeze(new Plasma()),
1076
2546
  xrp: Object.freeze(new Xrp()),
1077
2547
  xtz: Object.freeze(new Xtz()),
1078
2548
  zCash: Object.freeze(new ZCash()),
1079
2549
  zeta: Object.freeze(new Zeta()),
2550
+ zkSync: Object.freeze(new ZkSync()),
1080
2551
  },
1081
2552
  test: {
1082
2553
  ada: Object.freeze(new AdaTestnet()),
1083
2554
  algorand: Object.freeze(new AlgorandTestnet()),
2555
+ apechain: Object.freeze(new ApeChainTestnet()),
2556
+ apt: Object.freeze(new AptTestnet()),
1084
2557
  arbitrum: Object.freeze(new ArbitrumTestnet()),
2558
+ asi: Object.freeze(new AsiTestnet()),
1085
2559
  atom: Object.freeze(new AtomTestnet()),
1086
2560
  avalancheC: Object.freeze(new AvalancheCTestnet()),
1087
2561
  avalancheP: Object.freeze(new AvalanchePTestnet()),
2562
+ baby: Object.freeze(new BabyTestnet()),
2563
+ basechain: Object.freeze(new BaseChainTestnet()),
1088
2564
  bitcoin: Object.freeze(new BitcoinTestnet()),
2565
+ bitcoinPublicSignet: Object.freeze(new BitcoinPublicSignet()),
2566
+ bitcoinTestnet4: Object.freeze(new BitcoinTestnet4()),
2567
+ bitcoinBitGoSignet: Object.freeze(new BitcoinBitGoSignet()),
1089
2568
  bitcoinCash: Object.freeze(new BitcoinCashTestnet()),
1090
2569
  bitcoinGold: Object.freeze(new BitcoinGoldTestnet()),
1091
2570
  bitcoinSV: Object.freeze(new BitcoinSVTestnet()),
1092
- bera: Object.freeze(new BeraTestnet()),
2571
+ bera: Object.freeze(new BerachainTestnet()),
1093
2572
  bld: Object.freeze(new BldTestnet()),
1094
2573
  bsc: Object.freeze(new BinanceSmartChainTestnet()),
2574
+ canton: Object.freeze(new CantonTestnet()),
1095
2575
  casper: Object.freeze(new CasperTestnet()),
2576
+ coredao: Object.freeze(new CoredaoTestnet()),
1096
2577
  celo: Object.freeze(new CeloTestnet()),
2578
+ cronos: Object.freeze(new CronosTestnet()),
1097
2579
  dash: Object.freeze(new DashTestnet()),
1098
2580
  dogecoin: Object.freeze(new DogecoinTestnet()),
1099
- dot: Object.freeze(new PolkadotTestnet()),
2581
+ dogeos: Object.freeze(new DogeosTestnet()),
2582
+ dot: Object.freeze(new WestendAssetHub()),
1100
2583
  eCash: Object.freeze(new ECashTestnet()),
1101
2584
  eos: Object.freeze(new EosTestnet()),
1102
2585
  fiat: Object.freeze(new FiatTestnet()),
2586
+ fetchai: Object.freeze(new FetchAiTestnet()),
2587
+ flow: Object.freeze(new FlowTestnet()),
2588
+ flr: Object.freeze(new FlareTestnet()),
2589
+ flrP: Object.freeze(new FlarePTestnet()),
2590
+ fluenteth: Object.freeze(new FluentETHTestnet()),
2591
+ mon: Object.freeze(new MonadTestnet()),
2592
+ megaeth: Object.freeze(new MegaETHTestnet()),
1103
2593
  pyrmont: Object.freeze(new Pyrmont()),
2594
+ plume: Object.freeze(new PlumeTestnet()),
1104
2595
  ethereumClassicTestnet: Object.freeze(new EthereumClassicTestnet()),
1105
2596
  hash: Object.freeze(new HashTestnet()),
1106
2597
  hedera: Object.freeze(new HederaTestnet()),
2598
+ hederaEVM: Object.freeze(new HederaEVMTestnet()),
2599
+ icp: Object.freeze(new IcpTestnet()),
2600
+ ip: Object.freeze(new IPTestnet()),
2601
+ initia: Object.freeze(new InitiaTestnet()),
1107
2602
  injective: Object.freeze(new InjectiveTestnet()),
2603
+ iota: Object.freeze(new IotaTestnet()),
2604
+ irys: Object.freeze(new IrysTestnet()),
1108
2605
  islm: Object.freeze(new IslmTestnet()),
2606
+ jovayeth: Object.freeze(new JovayETHTestnet()),
1109
2607
  kava: Object.freeze(new KavaTestnet()),
2608
+ kavaevm: Object.freeze(new KavaEVMTestnet()),
1110
2609
  kovan: Object.freeze(new Kovan()),
1111
2610
  goerli: Object.freeze(new Goerli()),
1112
2611
  holesky: Object.freeze(new Holesky()),
2612
+ hoodi: Object.freeze(new Hoodi()),
2613
+ lnbtc: Object.freeze(new LightningBitcoinTestnet()),
1113
2614
  litecoin: Object.freeze(new LitecoinTestnet()),
2615
+ mantle: Object.freeze(new MantleTestnet()),
2616
+ mantra: Object.freeze(new MantraTestnet()),
1114
2617
  polygon: Object.freeze(new PolygonTestnet()),
2618
+ polyx: Object.freeze(new PolymeshTestnet()),
2619
+ phrs: Object.freeze(new PharosTestnet()),
2620
+ ctc: Object.freeze(new CreditcoinTestnet()),
2621
+ hypeevm: Object.freeze(new HypeEVMTestnet()),
2622
+ lineaeth: Object.freeze(new LineaETHTestnet()),
2623
+ oas: Object.freeze(new OasTestnet()),
2624
+ og: Object.freeze(new OgTestnet()),
1115
2625
  ofc: Object.freeze(new OfcTestnet()),
2626
+ okb: Object.freeze(new XlayerTestnet()),
2627
+ morph: Object.freeze(new MorphTestnet()),
1116
2628
  optimism: Object.freeze(new OptimismTestnet()),
1117
2629
  osmo: Object.freeze(new OsmoTestnet()),
1118
2630
  rbtc: Object.freeze(new RbtcTestnet()),
2631
+ rune: Object.freeze(new RuneTestNet()),
2632
+ sgb: Object.freeze(new SongbirdTestnet()),
1119
2633
  stellar: Object.freeze(new StellarTestnet()),
1120
2634
  sei: Object.freeze(new SeiTestnet()),
2635
+ seievm: Object.freeze(new SeiEvmTestnet()),
1121
2636
  sol: Object.freeze(new SolTestnet()),
1122
2637
  sui: Object.freeze(new SuiTestnet()),
1123
2638
  near: Object.freeze(new NearTestnet()),
1124
2639
  stx: Object.freeze(new StxTestnet()),
2640
+ stt: Object.freeze(new SomniaTestnet()),
2641
+ soneium: Object.freeze(new SoneiumTestnet()),
2642
+ sonic: Object.freeze(new SonicTestnet()),
2643
+ kaia: Object.freeze(new KaiaTestnet()),
1125
2644
  susd: Object.freeze(new SUSDTestnet()),
1126
- core: Object.freeze(new CoreTestnet()),
2645
+ coreum: Object.freeze(new CoreumTestnet()),
2646
+ tao: Object.freeze(new BittensorTestnet()),
1127
2647
  tia: Object.freeze(new TiaTestnet()),
1128
2648
  ton: Object.freeze(new TonTestnet()),
1129
2649
  trx: Object.freeze(new TrxTestnet()),
2650
+ vet: Object.freeze(new VetTestnet()),
2651
+ wemix: Object.freeze(new WemixTestnet()),
2652
+ world: Object.freeze(new WorldTestnet()),
2653
+ xdc: Object.freeze(new XdcTestnet()),
2654
+ xpl: Object.freeze(new PlasmaTestnet()),
1130
2655
  xrp: Object.freeze(new XrpTestnet()),
1131
2656
  xtz: Object.freeze(new XtzTestnet()),
1132
2657
  zCash: Object.freeze(new ZCashTestnet()),
1133
2658
  zeta: Object.freeze(new ZetaTestnet()),
2659
+ zkSync: Object.freeze(new ZkSyncTestnet()),
1134
2660
  },
1135
2661
  };
1136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmV0d29ya3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQW9DO0FBRXBDLElBQVksV0FHWDtBQUhELFdBQVksV0FBVztJQUNyQixrQ0FBbUIsQ0FBQTtJQUNuQixrQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBSFcsV0FBVyxHQUFYLG1CQUFXLEtBQVgsbUJBQVcsUUFHdEI7QUFFRCxNQUFzQixXQUFXO0NBS2hDO0FBTEQsa0NBS0M7QUFxRkQsTUFBZSxPQUFRLFNBQVEsV0FBVztJQUExQzs7UUFDRSxTQUFJLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQztJQUM3QixDQUFDO0NBQUE7QUFFRCxNQUFlLE9BQVEsU0FBUSxXQUFXO0lBQTFDOztRQUNFLFNBQUksR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDO0lBQzdCLENBQUM7Q0FBQTtBQUVELE1BQU0sUUFBUyxTQUFRLE9BQU87SUFBOUI7O1FBQ0UsU0FBSSxHQUFHLFVBQVUsQ0FBQztRQUNsQixXQUFNLEdBQUcsaUJBQVUsQ0FBQyxJQUFJLENBQUM7UUFDekIsZ0JBQVcsR0FBRyw2QkFBNkIsQ0FBQztJQUM5QyxDQUFDO0NBQUE7QUFFRCxNQUFNLGVBQWdCLFNBQVEsT0FBTztJQUFyQzs7UUFDRSxTQUFJLEdBQUcsaUJBQWlCLENBQUM7UUFDekIsV0FBTSxHQUFHLGlCQUFVLENBQUMsSUFBSSxDQUFDO1FBQ3pCLGdCQUFXLEdBQUcscUNBQXFDLENBQUM7SUFDdEQsQ0FBQztDQUFBO0FBRUQsTUFBTSxHQUFJLFNBQVEsT0FBTztJQUF6Qjs7UUFDRSxTQUFJLEdBQUcsWUFBWSxDQUFDO1FBQ3BCLFdBQU0sR0FBRyxpQkFBVSxDQUFDLEdBQUcsQ0FBQztRQUN4QixnQkFBVyxHQUFHLFNBQVMsQ0FBQztRQUN4QixnQkFBVyxHQUFHLFNBQVMsQ0FBQztRQUN4QixvQkFBZSxHQUFHLE9BQU8sQ0FBQztRQUMx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LENBQUMsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUN2QyxPQUFPLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3JDLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDN0IsUUFBUSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUN2QyxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQy9CLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDL0IsT0FBTyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNyQyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzdCLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDN0IsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUM3QixJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQy9CLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDN0IsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUMvQixHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzdCLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDN0IsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUM3QixHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FB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QUksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksV0FBVyxFQUFFLENBQUM7UUFDdEMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNwQyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ3BDLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksVUFBVSxFQUFFLENBQUM7UUFDcEMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNwQyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ3BDLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksWUFBWSxFQUFFLENBQUM7UUFDeEMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxXQUFXLEVBQUUsQ0FBQztLQUN2QztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2luRmFtaWx5IH0gZnJvbSAnLi9iYXNlJztcblxuZXhwb3J0IGVudW0gTmV0d29ya1R5cGUge1xuICBNQUlOTkVUID0gJ21haW5uZXQnLFxuICBURVNUTkVUID0gJ3Rlc3RuZXQnLFxufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZU5ldHdvcmsge1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgdHlwZTogTmV0d29ya1R5cGU7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBmYW1pbHk6IENvaW5GYW1pbHk7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBleHBsb3JlclVybDogc3RyaW5nIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFV0eG9OZXR3b3JrIGV4dGVuZHMgQmFzZU5ldHdvcmsge1xuICAvLyBOZXR3b3JrIG5hbWUgYXMgZGVmaW5lZCBpbiBAYml0Z28tYmV0YS91dHhvLWxpYiBuZXR3b3Jrcy50c1xuICB1dHhvbGliTmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkYU5ldHdvcmsgZXh0ZW5kcyBCYXNlTmV0d29yayB7XG4gIC8vIE5ldHdvcmsgbmFtZSBhcyBkZWZpbmVkIGluIEBiaXRnby1iZXRhL3V0eG8tbGliIG5ldHdvcmtzLnRzXG4gIC8vIG1heWJlIGFkZCBuZXR3b3JrIGlkZW50aWZpZXIgLyBtYWdpYyBuZXR3b3JrIG51bWJlclxuICB1dHhvbGliTmFtZTogc3RyaW5nO1xuICBwb29sRGVwb3NpdDogbnVtYmVyO1xuICBzdGFrZUtleURlcG9zaXQ6IG51bWJlcjtcbiAgbWF4VmFsdWVTaXplOiBudW1iZXI7XG4gIG1heFRyYW5zYWN0aW9uU2l6ZTogbnVtYmVyO1xuICBjb2luc1BlclV0eG9Xb3JkOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXZhbGFuY2hlTmV0d29yayBleHRlbmRzIEJhc2VOZXR3b3JrIHtcbiAgcmVhZG9ubHkgYWxpYXM6IHN0cmluZztcbiAgcmVhZG9ubHkgYmxvY2tjaGFpbklEOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNDaGFpbkJsb2NrY2hhaW5JRDogc3RyaW5nO1xuICByZWFkb25seSBuZXR3b3JrSUQ6IG51bWJlcjtcbiAgcmVhZG9ubHkgaHJwOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZtOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNyZWF0aW9uVHhGZWU6IHN0cmluZztcbiAgcmVhZG9ubHkgY3JlYXRlU3VibmV0VHg6IHN0cmluZztcbiAgcmVhZG9ubHkgY3JlYXRlQ2hhaW5UeDogc3RyaW5nO1xuICByZWFkb25seSBtaW5Db25zdW1wdGlvbjogc3RyaW5nO1xuICByZWFkb25seSBtYXhDb25zdW1wdGlvbjogc3RyaW5nO1xuICByZWFkb25seSBtYXhTdXBwbHk6IHN0cmluZztcbiAgcmVhZG9ubHkgbWluU3Rha2U6IHN0cmluZztcbiAgcmVhZG9ubHkgbWluU3Rha2VEdXJhdGlvbjogc3RyaW5nO1xuICByZWFkb25seSBtYXhTdGFrZUR1cmF0aW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1pbkRlbGVnYXRpb25TdGFrZTogc3RyaW5nO1xuICByZWFkb25seSBtaW5EZWxlZ2F0aW9uRmVlOiBzdHJpbmc7XG4gIC8vIGN1cnJlbnQgdmFsaWQgYXNzZXQgaWQgaXMgQVZBWFxuICByZWFkb25seSBhdmF4QXNzZXRJRDogc3RyaW5nO1xuICByZWFkb25seSB0eEZlZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjY291bnROZXR3b3JrIGV4dGVuZHMgQmFzZU5ldHdvcmsge1xuICAvLyBzb21lIGNoYWlucyBwYXkgZmVlcyB2aWEgYW4gZW50ZXJwcmlzZSBnYXMgdGFzay4gVGhlIGFjY291bnQgZXhwbG9yZXIgdXJsXG4gIC8vIGlzIGEgdXJsIHRoYXQgY2FuIGJlIHVzZWQgdG8gbG9vayB1cCB0aGUgYWNjb3VudCBmb3IgdGhlIGdhcyB0YW5rIG9uLWNoYWluLlxuICByZWFkb25seSBhY2NvdW50RXhwbG9yZXJVcmw/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGJsb2NrRXhwbG9yZXJVcmw/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogU3BlY2lmaWNhdGlvbiBuYW1lIHR5cGUgb2YgdGhlIGNoYWluLiBVc2VkIGluIHNldHRpbmcgdXAgdGhlIHJlZ2lzdHJ5XG4gKi9cbmV4cG9ydCB0eXBlIFBvbGthZG90U3BlY05hbWVUeXBlID0gJ2t1c2FtYScgfCAncG9sa2Fkb3QnIHwgJ3dlc3RlbmQnIHwgJ3N0YXRlbWludCcgfCAnc3RhdGVtaW5lJztcblxuZXhwb3J0IGludGVyZmFjZSBEb3ROZXR3b3JrIGV4dGVuZHMgQWNjb3VudE5ldHdvcmsge1xuICAvLyBzb21lIGNoYWlucyBwYXkgZmVlcyB2aWEgYW4gZW50ZXJwcmlzZSBnYXMgdGFzay4gVGhlIGFjY291bnQgZXhwbG9yZXIgdXJsXG4gIC8vIGlzIGEgdXJsIHRoYXQgY2FuIGJlIHVzZWQgdG8gbG9vayB1cCB0aGUgYWNjb3VudCBmb3IgdGhlIGdhcyB0YW5rIG9uLWNoYWluLlxuICByZWFkb25seSBzcGVjTmFtZTogUG9sa2Fkb3RTcGVjTmFtZVR5cGU7XG4gIHJlYWRvbmx5IGdlbmVzaXNIYXNoOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNwZWNWZXJzaW9uOiBudW1iZXI7XG4gIHJlYWRvbmx5IGNoYWluTmFtZTogc3RyaW5nO1xuICByZWFkb25seSB0eFZlcnNpb246IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdGhlcmV1bU5ldHdvcmsgZXh0ZW5kcyBBY2NvdW50TmV0d29yayB7XG4gIC8vIHVuaXF1ZSBjaGFpbiBpZCB1c2VkIGZvciByZXBsYXktcHJvdGVjdGluZyB0cmFuc2FjdGlvbnNcbiAgcmVhZG9ubHkgY2hhaW5JZDogbnVtYmVyO1xuICByZWFkb25seSBiYXRjaGVyQ29udHJhY3RBZGRyZXNzPzogc3RyaW5nO1xuICAvLyBmb3J3YXJkZXIgY29uZmlndXJhdGlvbiBhZGRyZXNzZXMgdXNlZCBmb3IgY2FsY3VsYXRpbmcgZm9yd2FyZGVyIHZlcnNpb24gMSBhZGRyZXNzZXNcbiAgcmVhZG9ubHkgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3M/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcm9uTmV0d29yayBleHRlbmRzIEFjY291bnROZXR3b3JrIHtcbiAgbWF4RmVlTGltaXQ6IHN0cmluZztcbiAgY29udHJhY3RDYWxsRmVlTGltaXQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGFja3NOZXR3b3JrIGV4dGVuZHMgQWNjb3VudE5ldHdvcmsge1xuICByZWFkb25seSBzZW5kbWFueW1lbW9Db250cmFjdEFkZHJlc3M6IHN0cmluZztcbiAgcmVhZG9ubHkgc3Rha2luZ0NvbnRyYWN0QWRkcmVzczogc3RyaW5nO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZVxuZXhwb3J0IGludGVyZmFjZSBPZmNOZXR3b3JrIGV4dGVuZHMgQmFzZU5ldHdvcmsge31cblxuYWJzdHJhY3QgY2xhc3MgTWFpbm5ldCBleHRlbmRzIEJhc2VOZXR3b3JrIHtcbiAgdHlwZSA9IE5ldHdvcmtUeXBlLk1BSU5ORVQ7XG59XG5cbmFic3RyYWN0IGNsYXNzIFRlc3RuZXQgZXh0ZW5kcyBCYXNlTmV0d29yayB7XG4gIHR5cGUgPSBOZXR3b3JrVHlwZS5URVNUTkVUO1xufVxuXG5jbGFzcyBBbGdvcmFuZCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnQWxnb3JhbmQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkFMR087XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYWxnb2V4cGxvcmVyLmlvL3R4Lyc7XG59XG5cbmNsYXNzIEFsZ29yYW5kVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnQWxnb3JhbmRUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BTEdPO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQuYWxnb2V4cGxvcmVyLmlvL3R4Lyc7XG59XG5cbmNsYXNzIEFkYSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBZGFOZXR3b3JrIHtcbiAgbmFtZSA9ICdBZGFDYXJkYW5vJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BREE7XG4gIHV0eG9saWJOYW1lID0gJ2NhcmRhbm8nO1xuICBwb29sRGVwb3NpdCA9IDUwMDAwMDAwMDtcbiAgc3Rha2VLZXlEZXBvc2l0ID0gMjAwMDAwMDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5jYXJkYW5vLm9yZy9lbi90cmFuc2FjdGlvbj9pZD0nO1xuICBjb2luc1BlclV0eG9Xb3JkID0gMzQ0ODI7XG4gIG1heFRyYW5zYWN0aW9uU2l6ZSA9IDgwMDA7XG4gIG1heFZhbHVlU2l6ZSA9IDQwMDA7XG59XG5cbmNsYXNzIEFkYVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWRhTmV0d29yayB7XG4gIG5hbWUgPSAnQWRhQ2FyZGFub1Rlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkFEQTtcbiAgdXR4b2xpYk5hbWUgPSAnY2FyZGFub1Rlc3RuZXQnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3ByZXByb2QuY2V4cGxvcmVyLmlvLyc7XG4gIGNvaW5zUGVyVXR4b1dvcmQgPSAzNDQ4MjtcbiAgbWF4VHJhbnNhY3Rpb25TaXplID0gODAwMDtcbiAgbWF4VmFsdWVTaXplID0gNDAwMDtcbiAgcG9vbERlcG9zaXQgPSA1MDAwMDAwMDA7XG4gIHN0YWtlS2V5RGVwb3NpdCA9IDIwMDAwMDA7XG59XG5cbmNsYXNzIEFyYml0cnVtIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnQXJiaXRydW0nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkFSQkVUSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9hcmJpc2Nhbi5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9hcmJpc2Nhbi5pby9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA0MjE2MTtcbn1cblxuY2xhc3MgQXJiaXRydW1UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnQXJiaXRydW1UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BUkJFVEg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc2Vwb2xpYS1leHBsb3Jlci5hcmJpdHJ1bS5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zZXBvbGlhLWV4cGxvcmVyLmFyYml0cnVtLmlvL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDQyMTYxNDtcbn1cblxuY2xhc3MgQXZhbGFuY2hlQyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIC8vIGh0dHBzOi8vZG9jcy5hdmF4Lm5ldHdvcmsvYnVpbGQvdHV0b3JpYWxzL3NtYXJ0LWNvbnRyYWN0cy9kZXBsb3ktYS1zbWFydC1jb250cmFjdC1vbi1hdmFsYW5jaGUtdXNpbmctcmVtaXgtYW5kLW1ldGFtYXNrI2F2YWxhbmNoZS1tYWlubmV0LXNldHRpbmdzXG4gIG5hbWUgPSAnQXZhbGFuY2hlQyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQVZBWEM7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc25vd3RyYWNlLmlvL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3Nub3d0cmFjZS5pby9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA0MzExNDtcbn1cblxuY2xhc3MgQXZhbGFuY2hlQ1Rlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICAvLyBodHRwczovL2RvY3MuYXZheC5uZXR3b3JrL2J1aWxkL3R1dG9yaWFscy9zbWFydC1jb250cmFjdHMvZGVwbG95LWEtc21hcnQtY29udHJhY3Qtb24tYXZhbGFuY2hlLXVzaW5nLXJlbWl4LWFuZC1tZXRhbWFzayNhdmFsYW5jaGUtbWFpbm5ldC1zZXR0aW5nc1xuICBuYW1lID0gJ0F2YWxhbmNoZUNUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BVkFYQztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LnNub3d0cmFjZS5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LnNub3d0cmFjZS5pby9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA0MzExMztcbn1cblxuY2xhc3MgQXZhbGFuY2hlUCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBdmFsYW5jaGVOZXR3b3JrIHtcbiAgbmFtZSA9ICdBdmFsYW5jaGVQJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BVkFYUDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zdWJuZXRzLmF2YXgubmV0d29yay9wLWNoYWluL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3N1Ym5ldHMuYXZheC5uZXR3b3JrL3AtY2hhaW4vYWRkcmVzcy8nO1xuICBibG9ja2NoYWluSUQgPSAnMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTFMcG9ZWSc7XG4gIGNDaGFpbkJsb2NrY2hhaW5JRCA9ICcycTllNHI2TXUzVTY4blUxZllqZ2JSNkp2d3JSeDM2Q29ocEFYNVVReHNlNTV4MVE1JztcbiAgYXZheEFzc2V0SUQgPSAnRnZ3RUFobXhLZmVpRzhTbkV2cTQyaGM2d2hSeVkzRUZZQXZlYk1xRE5ER0NneE41Wic7XG4gIG5ldHdvcmtJRCA9IDE7XG4gIGhycCA9ICdhdmF4JztcbiAgYWxpYXMgPSAnUCc7XG4gIHZtID0gJ3BsYXRmb3Jtdm0nO1xuICB0eEZlZSA9ICcxMDAwMDAwJzsgLy8gMSBNSUxMSUFWQVhcbiAgY3JlYXRlU3VibmV0VHggPSAnMTAwMDAwMDAwMCc7IC8vIDEgQVZBWFxuICBjcmVhdGVDaGFpblR4ID0gJzEwMDAwMDAwMDAnOyAvLyAxIEFWQVhcbiAgY3JlYXRpb25UeEZlZSA9ICcxMDAwMDAwMCc7IC8vIDEgQ0VOVElBVkFYXG4gIG1pbkNvbnN1bXB0aW9uID0gJzAuMSc7XG4gIG1heENvbnN1bXB0aW9uID0gJzAuMTInO1xuICBtYXhTdXBwbHkgPSAnNzIwMDAwMDAwMDAwMDAwMDAwJzsgLy8gNzIwIG1pbCB0b2tlbnNcbiAgbWluU3Rha2UgPSAnMjAwMDAwMDAwMDAwMCc7IC8vIDIwMDAgQVZBWFxuICBtaW5TdGFrZUR1cmF0aW9uID0gJzEyMDk2MDAnOyAvLyAyIHdlZWtzXG4gIG1heFN0YWtlRHVyYXRpb24gPSAnMzE1MzYwMDAnOyAvLyAxIHllYXJcbiAgbWluRGVsZWdhdGlvblN0YWtlID0gJzI1MDAwMDAwMDAwJzsgLy8gMjUgQVZBWFxuICBtaW5EZWxlZ2F0aW9uRmVlID0gJzInO1xufVxuXG5jbGFzcyBBdmFsYW5jaGVQVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBdmFsYW5jaGVOZXR3b3JrIHtcbiAgbmFtZSA9ICdBdmFsYW5jaGVQVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQVZBWFA7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc3VibmV0cy10ZXN0LmF2YXgubmV0d29yay9wLWNoYWluL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3N1Ym5ldHMtdGVzdC5hdmF4Lm5ldHdvcmsvcC1jaGFpbi9hZGRyZXNzLyc7XG4gIGJsb2NrY2hhaW5JRCA9ICcxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMUxwb1lZJztcbiAgY0NoYWluQmxvY2tjaGFpbklEID0gJ3lIOEQ3VGhOSmt4bXRrdXYyamdCYTRQMVJuM1FwcjRwUHI3UVlOZmNkb1M2azZIV3AnO1xuICBhdmF4QXNzZXRJRCA9ICdVOGlScUpvaUptOHhaSEFhY212WXlaVndxUXg2dUROdFFlUDNDUTZmY2dRazNKcW5LJztcbiAgbmV0d29ya0lEID0gNTtcbiAgYWxpYXMgPSAnUCc7XG4gIGhycCA9ICdmdWppJztcbiAgdm0gPSAncGxhdGZvcm12bSc7XG4gIHR4RmVlID0gJzEwMDAwMDAnOyAvLyAxIE1JTExJQVZBWFxuICBjcmVhdGVTdWJuZXRUeCA9ICcxMDAwMDAwMDAwJzsgLy8gMSBBVkFYXG4gIGNyZWF0ZUNoYWluVHggPSAnMTAwMDAwMDAwMCc7IC8vIDEgQVZBWFxuICBjcmVhdGlvblR4RmVlID0gJzEwMDAwMDAwJzsgLy8gMSBDRU5USUFWQVhcbiAgbWluQ29uc3VtcHRpb24gPSAnMC4xJztcbiAgbWF4Q29uc3VtcHRpb24gPSAnMC4xMic7XG4gIG1heFN1cHBseSA9ICc3MjAwMDAwMDAwMDAwMDAwMDAnOyAvLyA3MjAgbWlsIHRva2Vuc1xuICBtaW5TdGFrZSA9ICcxMDAwMDAwMDAwJzsgLy8gMSBBVkFYXG4gIG1pblN0YWtlRHVyYXRpb24gPSAnODY0MDAnOyAvLyAxIGRheVxuICBtYXhTdGFrZUR1cmF0aW9uID0gJzMxNTM2MDAwJzsgLy8gMSB5ZWFyXG4gIG1pbkRlbGVnYXRpb25TdGFrZSA9ICcxMDAwMDAwMDAwJzsgLy8gMSBBVkFYXG4gIG1pbkRlbGVnYXRpb25GZWUgPSAnMic7XG59XG5cbmNsYXNzIEJpbmFuY2VTbWFydENoYWluIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnQmluYW5jZVNtYXJ0Q2hhaW4nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJTQztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93d3cuYnNjc2Nhbi5jb20vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vd3d3LmJzY3NjYW4uY29tL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDU2O1xufVxuXG5jbGFzcyBCaW5hbmNlU21hcnRDaGFpblRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdCaW5hbmNlU21hcnRDaGFpblRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJTQztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LmJzY3NjYW4uY29tL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQuYnNjc2Nhbi5jb20vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gOTc7XG59XG5cbmNsYXNzIEJpdGNvaW4gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0JpdGNvaW4nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJUQztcbiAgdXR4b2xpYk5hbWUgPSAnYml0Y29pbic7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vbWVtcG9vbC5zcGFjZS90eC8nO1xufVxuXG5jbGFzcyBCaXRjb2luVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnQml0Y29pblRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJUQztcbiAgdXR4b2xpYk5hbWUgPSAndGVzdG5ldCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vbWVtcG9vbC5zcGFjZS90ZXN0bmV0L3R4Lyc7XG59XG5cbmNsYXNzIEJpdGNvaW5DYXNoIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdCaXRjb2luQ2FzaCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQkNIO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luY2FzaCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vd3d3LmJsb2NrY2hhaW4uY29tL2JjaC90eC8nO1xufVxuXG5jbGFzcyBCaXRjb2luQ2FzaFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0JpdGNvaW5DYXNoVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQkNIO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luY2FzaFRlc3RuZXQnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3d3dy5ibG9ja2NoYWluLmNvbS9iY2gtdGVzdG5ldC90eC8nO1xufVxuY2xhc3MgQml0Y29pblNWIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdCaXRjb2luU1YnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJTVjtcbiAgdXR4b2xpYk5hbWUgPSAnYml0Y29pbnN2JztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja2NoYWlyLmNvbS9iaXRjb2luLXN2L3RyYW5zYWN0aW9uLyc7XG59XG5cbmNsYXNzIEJpdGNvaW5TVlRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0JpdGNvaW5TVlRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJTVjtcbiAgdXR4b2xpYk5hbWUgPSAnYml0Y29pbnN2VGVzdG5ldCc7XG4gIGV4cGxvcmVyVXJsID0gdW5kZWZpbmVkO1xufVxuXG5jbGFzcyBCaXRjb2luR29sZCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnQml0Y29pbkdvbGQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJURztcbiAgdXR4b2xpYk5hbWUgPSAnYml0Y29pbmdvbGQnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2J0Z2V4cGxvcmVyLmNvbS90eC8nO1xufVxuXG5jbGFzcyBCaXRjb2luR29sZFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0JpdGNvaW5Hb2xkVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlRHO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luZ29sZFRlc3RuZXQnO1xuICBleHBsb3JlclVybCA9IHVuZGVmaW5lZDtcbn1cblxuY2xhc3MgRGFzaCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnRGFzaCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuREFTSDtcbiAgdXR4b2xpYk5hbWUgPSAnZGFzaCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vaW5zaWdodC5kYXNoZXZvLm9yZy9pbnNpZ2h0L3R4Lyc7XG59XG5cbmNsYXNzIERhc2hUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdEYXNoVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuREFTSDtcbiAgdXR4b2xpYk5hbWUgPSAnZGFzaFRlc3QnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQtaW5zaWdodC5kYXNoZXZvLm9yZy9pbnNpZ2h0L3R4Lyc7XG59XG5cbmNsYXNzIERvZ2Vjb2luIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdEb2dlY29pbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRE9HRTtcbiAgdXR4b2xpYk5hbWUgPSAnZG9nZWNvaW4nO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2Jsb2NrY2hhaXIuY29tL2RvZ2Vjb2luL3RyYW5zYWN0aW9uLyc7XG59XG5cbmNsYXNzIERvZ2Vjb2luVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnRG9nZWNvaW5UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5ET0dFO1xuICB1dHhvbGliTmFtZSA9ICdkb2dlY29pblRlc3QnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2Jsb2NrZXhwbG9yZXIub25lL2RvZ2Vjb2luL3Rlc3RuZXQvdHgvJztcbn1cblxuY2xhc3MgRUNhc2ggZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0VDYXNoJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CQ0hBO1xuICB1dHhvbGliTmFtZSA9ICdlY2FzaCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmxvY2tjaGFpci5jb20vZWNhc2gnO1xufVxuXG5jbGFzcyBFQ2FzaFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0VDYXNoVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQkNIQTtcbiAgdXR4b2xpYk5hbWUgPSAnZWNhc2hUZXN0JztcbiAgZXhwbG9yZXJVcmwgPSB1bmRlZmluZWQ7XG59XG5cbmNsYXNzIFBvbGthZG90IGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIERvdE5ldHdvcmsge1xuICBuYW1lID0gJ1BvbGthZG90JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5ET1Q7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vcG9sa2Fkb3Quc3Vic2Nhbi5pby9leHRyaW5zaWMvJztcbiAgc3BlY05hbWUgPSAncG9sa2Fkb3QnIGFzIFBvbGthZG90U3BlY05hbWVUeXBlO1xuICBnZW5lc2lzSGFzaCA9ICcweDkxYjE3MWJiMTU4ZTJkMzg0OGZhMjNhOWYxYzI1MTgyZmI4ZTIwMzEzYjJjMWViNDkyMTlkYTdhNzBjZTkwYzMnO1xuICBzcGVjVmVyc2lvbiA9IDkxNDA7XG4gIGNoYWluTmFtZSA9ICdQb2xrYWRvdCc7XG4gIHR4VmVyc2lvbiA9IDk7XG59XG5cbmNsYXNzIFBvbGthZG90VGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBEb3ROZXR3b3JrIHtcbiAgbmFtZSA9ICdXZXN0ZW5kJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5ET1Q7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vd2VzdGVuZC5zdWJzY2FuLmlvL2V4dHJpbnNpYy8nO1xuICBzcGVjTmFtZSA9ICd3ZXN0ZW5kJyBhcyBQb2xrYWRvdFNwZWNOYW1lVHlwZTtcbiAgZ2VuZXNpc0hhc2ggPSAnMHhlMTQzZjIzODAzYWM1MGU4ZjZmOGU2MjY5NWQxY2U5ZTRlMWQ2OGFhMzZjMWNkMmNmZDE1MzQwMjEzZjM0MjNlJztcbiAgc3BlY1ZlcnNpb24gPSA5NDMwO1xuICBjaGFpbk5hbWUgPSAnV2VzdGVuZCc7XG4gIHR4VmVyc2lvbiA9IDIyO1xufVxuXG5jbGFzcyBDZWxvIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnQ2Vsbyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQ0VMTztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5jZWxvLm9yZy90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5jZWxvLm9yZy9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA0MjIyMDtcbn1cblxuY2xhc3MgQ2Vsb1Rlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdDZWxvVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQ0VMTztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9hbGZham9yZXMtYmxvY2tzY291dC5jZWxvLXRlc3RuZXQub3JnL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2FsZmFqb3Jlcy1ibG9ja3Njb3V0LmNlbG8tdGVzdG5ldC5vcmcvYWRkcmVzcy8nO1xuICBjaGFpbklkID0gNDQ3ODc7XG59XG5cbi8vIFRPRE8gdXBkYXRlIGV4cGxvcmVyVXJsIFNUTFgtMTY1N1xuY2xhc3MgQ2FzcGVyIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdDYXNwZXInO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkNTUFI7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vY3Nwci5saXZlL2RlcGxveS8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9jc3ByLmxpdmUvYWNjb3VudC8nO1xufVxuXG5jbGFzcyBDYXNwZXJUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdDYXNwZXJUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5DU1BSO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2ludGVncmF0aW9uLmNzcHIubGl2ZS9kZXBsb3kvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vaW50ZWdyYXRpb24uY3Nwci5saXZlL2FjY291bnQvJztcbn1cblxuY2xhc3MgRXRoZXJldW0gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdFdGhlcmV1bSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRVRIO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V0aGVyc2Nhbi5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ldGhlcnNjYW4uaW8vYWRkcmVzcy8nO1xuICBibG9ja0V4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXRoZXJzY2FuLmlvL2Jsb2NrLyc7XG4gIC8vIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2V0aGVyZXVtanMvZXRoZXJldW1qcy1jb21tb24vYmxvYi9hOTc4ZjYzMDg1OGY2ODQzMTc2YmIyMGIyNzc1Njk3ODU5MTRlODk5L3NyYy9jaGFpbnMvaW5kZXgudHNcbiAgY2hhaW5JZCA9IDE7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHgwYzliMjVkZmUwMmIyYzg5Y2NlODZlMWEwYmQ2YzA0YTdhY2EwMWI2JztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHhmZmEzOTcyODVjZTQ2ZmI3OGM1ODhhOWU5OTMyODZhYWM2OGMzN2NkJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4MDU5ZmZhZmRjNmVmNTk0MjMwZGU0NGY4MjRlMmJkMGE1MWNhNWRlZCc7XG59XG5cbmNsYXNzIEV0aGVyZXVtMiBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnRXRoZXJldW0yJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5FVEgyO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2JlYWNvbnNjYW4uY29tL3R4JztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmVhY29uc2Nhbi5jb20vYWRkcmVzcyc7XG59XG5cbmNsYXNzIEV0aGVyZXVtVyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0V0aGVyZXVtIFBvVyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRVRIVztcbiAgZXhwbG9yZXJVcmwgPSAnJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJyc7XG4gIGNoYWluSWQgPSAxMDAwMTtcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnJztcbn1cblxuY2xhc3MgUHlybW9udCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnUHlybW9udCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRVRIMjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9iZWFjb25zY2FuLmNvbS9weXJtb250L3R4JztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmVhY29uc2Nhbi5jb20vcHlybW9udC9hZGRyZXNzJztcbn1cblxuY2xhc3MgS292YW4gZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdLb3Zhbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRVRIO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2tvdmFuLmV0aGVyc2Nhbi5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9rb3Zhbi5ldGhlcnNjYW4uaW8vYWRkcmVzcy8nO1xuICAvLyBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9ldGhlcmV1bWpzL2V0aGVyZXVtanMtY29tbW9uL2Jsb2IvYTk3OGY2MzA4NThmNjg0MzE3NmJiMjBiMjc3NTY5Nzg1OTE0ZTg5OS9zcmMvY2hhaW5zL2luZGV4LnRzXG4gIGNoYWluSWQgPSA0MjtcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweGMwYWFmMjY0OWU3YjBmMzk1MDE2NDY4MWVjYTJiMWE4ZjY1NGE0NzgnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweGE3OWE0ODUyOTRkMjI2MDc1ZWU2NTQxMGJjOTRlYTQ1NGYzZTQwOWQnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhhOTQ2ZTc0OGYyNWE1ZWM2ODc4ZWIxYTlmMmU5MDIwMjgxNzRjMGIzJztcbn1cblxuY2xhc3MgR29lcmxpIGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnR29lcmxpJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5FVEg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZ29lcmxpLmV0aGVyc2Nhbi5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9nb2VybGkuZXRoZXJzY2FuLmlvL2FkZHJlc3MvJztcbiAgYmxvY2tFeHBsb3JlclVybCA9ICdodHRwczovL2dvZXJsaS5ldGhlcnNjYW4uaW8vYmxvY2svJztcbiAgLy8gZnJvbSBodHRwczovL2dpdGh1Yi5jb20vZXRoZXJldW1qcy9ldGhlcmV1bWpzLWNvbW1vbi9ibG9iL2E5NzhmNjMwODU4ZjY4NDMxNzZiYjIwYjI3NzU2OTc4NTkxNGU4OTkvc3JjL2NoYWlucy9pbmRleC50c1xuICBjaGFpbklkID0gNTtcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweGU4ZTg0N2NmNTczZmM4ZWQ3NTYyMTY2MGEzNmFmZmQxOGM1NDNkN2UnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweGY1Y2FhNWUzZTkzYWZiYzIxYmQxOWVmNGYyNjkxYTM3MTIxZjc5MTcnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHg4MGQ1YzkxZThjYzIxZGY2OWZjNGQ2NGYyMWRjMmQ4MzEyMWMzOTk5Jztcbn1cblxuY2xhc3MgSG9sZXNreSBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0hvbGVza3knO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkVUSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ob2xlc2t5LmJlYWNvbmNoYS5pbi90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ob2xlc2t5LmJlYWNvbmNoYS5pbi9hZGRyZXNzLyc7XG4gIGJsb2NrRXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ob2xlc2t5LmJlYWNvbmNoYS5pbi9ibG9jay8nO1xuICAvLyBodHRwczovL2NoYWlubGlzdC5vcmcvY2hhaW4vMTcwMDBcbiAgY2hhaW5JZCA9IDE3MDAwO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4ZThlODQ3Y2Y1NzNmYzhlZDc1NjIxNjYwYTM2YWZmZDE4YzU0M2Q3ZSc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4ZjVjYWE1ZTNlOTNhZmJjMjFiZDE5ZWY0ZjI2OTFhMzcxMjFmNzkxNyc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweDgwZDVjOTFlOGNjMjFkZjY5ZmM0ZDY0ZjIxZGMyZDgzMTIxYzM5OTknO1xufVxuXG5jbGFzcyBFdGhlcmV1bUNsYXNzaWMgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdFdGhlcmV1bUNsYXNzaWMnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkVUQztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja3Njb3V0LmNvbS9ldGMvbWFpbm5ldC90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja3Njb3V0LmNvbS9ldGMvbWFpbm5ldC9hZGRyZXNzLyc7XG4gIC8vIGZyb20gIGh0dHBzOi8vY2hhaW5pZC5uZXR3b3JrL2NoYWlucy9cbiAgY2hhaW5JZCA9IDYxO1xufVxuXG5jbGFzcyBFdGhlcmV1bUNsYXNzaWNUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnRXRoZXJldW1DbGFzc2ljVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRVRDO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2Jsb2Nrc2NvdXQuY29tL2V0Yy9tb3Jkb3IvdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmxvY2tzY291dC5jb20vZXRjL21vcmRvci9hZGRyZXNzLyc7XG4gIC8vIGZyb20gIGh0dHBzOi8vY2hhaW5pZC5uZXR3b3JrL2NoYWlucy9cbiAgY2hhaW5JZCA9IDYzO1xufVxuXG5jbGFzcyBFb3MgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0Vvcyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRU9TO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLmVvc25ldHdvcmsuY29tL3RyYW5zYWN0aW9uLyc7XG59XG5cbmNsYXNzIEVvc1Rlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0Vvc1Rlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkVPUztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9reWxpbi5lb3N4LmlvL3R4Lyc7XG59XG5cbmNsYXNzIEhlZGVyYSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnSGVkZXJhJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5IQkFSO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLmthYnV0by5zaC9tYWlubmV0L3RyYW5zYWN0aW9uLyc7XG59XG5cbmNsYXNzIEhlZGVyYVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0hlZGVyYVRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkhCQVI7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIua2FidXRvLnNoL3Rlc3RuZXQvdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgTGl0ZWNvaW4gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0xpdGVjb2luJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5MVEM7XG4gIHV0eG9saWJOYW1lID0gJ2xpdGVjb2luJztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja2NoYWlyLmNvbS9saXRlY29pbi90cmFuc2FjdGlvbi8nO1xufVxuXG5jbGFzcyBMaXRlY29pblRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0xpdGVjb2luVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuTFRDO1xuICB1dHhvbGliTmFtZSA9ICdsaXRlY29pblRlc3QnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2Jsb2NrZXhwbG9yZXIub25lL2xpdGVjb2luL3Rlc3RuZXQvdHgvJztcbn1cblxuY2xhc3MgT2ZjIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIE9mY05ldHdvcmsge1xuICBuYW1lID0gJ09mYyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuT0ZDO1xuICBleHBsb3JlclVybCA9IHVuZGVmaW5lZDtcbn1cblxuY2xhc3MgT2ZjVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBPZmNOZXR3b3JrIHtcbiAgbmFtZSA9ICdPZmNUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5PRkM7XG4gIGV4cGxvcmVyVXJsID0gdW5kZWZpbmVkO1xufVxuXG5jbGFzcyBSYnRjIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnUmJ0Yyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuUkJUQztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5yc2suY28vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIucnNrLmNvL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDMwO1xufVxuXG5jbGFzcyBSYnRjVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1JidGNUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5SQlRDO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnRlc3RuZXQucnNrLmNvL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnRlc3RuZXQucnNrLmNvL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDMxO1xufVxuXG5jbGFzcyBTdGVsbGFyIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdTdGVsbGFyJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5YTE07XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc3RlbGxhci5leHBlcnQvZXhwbG9yZXIvcHVibGljL3R4Lyc7XG59XG5cbmNsYXNzIFN0ZWxsYXJUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdTdGVsbGFyVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWExNO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3N0ZWxsYXIuZXhwZXJ0L2V4cGxvcmVyL3Rlc3RuZXQvdHgvJztcbn1cblxuY2xhc3MgU29sIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdTb2wnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNPTDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5zb2xhbmEuY29tL3R4Lyc7XG59XG5cbmNsYXNzIFNvbFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1NvbFRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNPTDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5zb2xhbmEuY29tL3R4Lz9jbHVzdGVyPWRldm5ldCc7XG59XG5cbmNsYXNzIFN1aSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnU3VpJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TVUk7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuc3VpLmlvL3R4YmxvY2svP25ldHdvcms9bWFpbm5ldCc7XG59XG5cbmNsYXNzIFN1aVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rlc3RuZXQgU3VpJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TVUk7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuc3VpLmlvL3R4YmxvY2svP25ldHdvcms9dGVzdG5ldCc7XG59XG5cbmNsYXNzIEF0b20gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0Nvc21vcyBIdWIgQVRPTSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQVRPTTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9hdG9tc2Nhbi5jb20vdHJhbnNhY3Rpb25zLyc7XG59XG5cbmNsYXNzIEF0b21UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdUZXN0bmV0IENvc21vcyBIdWIgQVRPTSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQVRPTTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci50aGV0YS10ZXN0bmV0LnBvbHlwb3JlLnh5ei90cmFuc2FjdGlvbnMvJztcbn1cblxuY2xhc3MgT3NtbyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnT3Ntb3Npcyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuT1NNTztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93d3cubWludHNjYW4uaW8vb3Ntb3Npcy90eHMvJztcbn1cblxuY2xhc3MgT3Ntb1Rlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rlc3RuZXQgT3Ntb3Npcyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuT1NNTztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0Lm9zbW9zaXMuZXhwbG9yZXJzLmd1cnUvdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgVGlhIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdDZWxlc3RpYSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuVElBO1xuICAvLyAgVE9ETyhCRy03ODk5Nyk6IENlbGVzdGlhIGlzIHN0aWxsIG9ubHkgaW4gdGVzdG5ldCB1cGRhdGUgdG8gbWFpbm5ldCB1cmwgd2hlbiBpdCdzIGxpdmVcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0Lm1pbnRzY2FuLmlvL2NlbGVzdGlhLXRlc3RuZXQvdHhzLyc7XG59XG5cbmNsYXNzIFRpYVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rlc3RuZXQgQ2VsZXN0aWEnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlRJQTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9jZWxlc3RpYS5leHBsb3JlcnMuZ3VydS90cmFuc2FjdGlvbi8nO1xufVxuXG5jbGFzcyBIYXNoIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdQcm92ZW5hbmNlJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5IQVNIO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnByb3ZlbmFuY2UuaW8vdHgvJztcbn1cblxuY2xhc3MgSGFzaFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rlc3RuZXQgUHJvdmVuYW5jZSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuSEFTSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci50ZXN0LnByb3ZlbmFuY2UuaW8vdHgvJztcbn1cblxuY2xhc3MgQmxkIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdBZ29yaWMnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJMRDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9iaWdkaXBwZXIubGl2ZS9hZ29yaWMvdHJhbnNhY3Rpb25zLyc7XG59XG5cbmNsYXNzIEJsZFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rlc3RuZXQgQWdvcmljJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CTEQ7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZW1lcnluZXQuZXhwbG9yZXIuYWdvcmljLm5ldC9hZ29yaWMvdHgvJztcbn1cblxuY2xhc3MgU2VpIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdTZWknO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNFSTtcbiAgLy8gIFRPRE8oQkctNzg5OTcpOiBTZWkgaXMgc3RpbGwgb25seSBpbiB0ZXN0bmV0IHVwZGF0ZSB0byBtYWlubmV0IHVybCB3aGVuIGl0J3MgbGl2ZVxuICBleHBsb3JlclVybCA9ICdodHRwczovL3NlaS5leHBsb3JlcnMuZ3VydS90cmFuc2FjdGlvbi8nO1xufVxuXG5jbGFzcyBTZWlUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdUZXN0bmV0IFNlaSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuU0VJO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3d3dy5zZWlzY2FuLmFwcC9hdGxhbnRpYy0yL3R4cy8nO1xufVxuXG5jbGFzcyBaZXRhIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdaZXRhJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5aRVRBO1xuICAvLyAgVE9ETyhXSU4tMTQyKTogWmV0YSBpcyBzdGlsbCBvbmx5IGluIHRlc3RuZXQgdXBkYXRlIHRvIG1haW5uZXQgdXJsIHdoZW4gaXQncyBsaXZlXG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuemV0YWNoYWluLmNvbS9jYy90eC8nO1xufVxuXG5jbGFzcyBaZXRhVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnVGVzdG5ldCBaZXRhJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5aRVRBO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnpldGFjaGFpbi5jb20vY29zbW9zL3R4Lyc7XG59XG5cbmNsYXNzIEluamVjdGl2ZSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnSW5qZWN0aXZlJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5JTkpFQ1RJVkU7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuaW5qZWN0aXZlLm5ldHdvcmsvdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgSW5qZWN0aXZlVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnSW5qZWN0aXZlVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuSU5KRUNUSVZFO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQuZXhwbG9yZXIuaW5qZWN0aXZlLm5ldHdvcmsvdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgS2F2YSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnS2F2YSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuS0FWQTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93d3cubWludHNjYW4uaW8va2F2YS90cmFuc2FjdGlvbnMvJztcbn1cblxuY2xhc3MgS2F2YVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0thdmFUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5LQVZBO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQubWludHNjYW4uaW8va2F2YS10ZXN0bmV0L3R4cy8nO1xufVxuXG5jbGFzcyBUb24gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rvbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuVE9OO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2h0dHBzOi8vdG9uc2Nhbi5vcmcvJztcbn1cblxuY2xhc3MgVG9uVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnVGVzdG5ldCBUb24nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlRPTjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9odHRwczovL3Rlc3RuZXQudG9uc2Nhbi5vcmcvJztcbn1cblxuY2xhc3MgQ29yZSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnQ29yZXVtJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5DT1JFO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLmNvcmV1bS5jb20vY29yZXVtL3RyYW5zYWN0aW9ucy8nO1xufVxuXG5jbGFzcyBDb3JlVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnQ29yZXVtVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQ09SRTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci50ZXN0bmV0LTEuY29yZXVtLmRldi9jb3JldW0vdHJhbnNhY3Rpb25zLyc7XG59XG5cbmNsYXNzIEJlcmEgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0JlcmFjaGFpbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQkVSQTtcbiAgZXhwbG9yZXJVcmwgPSB1bmRlZmluZWQ7XG59XG5cbmNsYXNzIEJlcmFUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdCZXJhY2hhaW5UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CRVJBO1xuICBleHBsb3JlclVybCA9IHVuZGVmaW5lZDtcbn1cblxuY2xhc3MgSXNsbSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnSGFxcSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuSVNMTTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9waW5nLnB1Yi9oYXFxL3R4Lyc7XG59XG5cbmNsYXNzIElzbG1UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdIYXFxVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuSVNMTTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LnBpbmcucHViL2hhcXEvdHgvJztcbn1cblxuY2xhc3MgU3R4IGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFN0YWNrc05ldHdvcmsge1xuICBuYW1lID0gJ1N0eCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuU1RYO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnN0YWNrcy5jby90eGlkLyc7XG4gIHNlbmRtYW55bWVtb0NvbnRyYWN0QWRkcmVzcyA9ICdTUDNGQlIyQUdLNUg5UUJESDNFRU42REY4RUs4Slk3Ulg4UUo1U1ZURSc7XG4gIHN0YWtpbmdDb250cmFjdEFkZHJlc3MgPSAnU1AwMDAwMDAwMDAwMDAwMDAwMDAwMDJRNlZGNzgnO1xufVxuXG5jbGFzcyBTdHhUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIFN0YWNrc05ldHdvcmsge1xuICBuYW1lID0gJ1N0eFRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNUWDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5zdGFja3MuY28vdHhpZC8/Y2hhaW49dGVzdG5ldCc7XG4gIHNlbmRtYW55bWVtb0NvbnRyYWN0QWRkcmVzcyA9ICdTVDNGMVg0UUdWMlNNOFhEOTZYNDVNNlJUUVhLQTFQWkpaWkNRQUI0Qic7XG4gIHN0YWtpbmdDb250cmFjdEFkZHJlc3MgPSAnU1QwMDAwMDAwMDAwMDAwMDAwMDAwMDJBTVc0MkgnO1xufVxuXG5jbGFzcyBTVVNEIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdTVVNEJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TVVNEO1xuICBleHBsb3JlclVybCA9IHVuZGVmaW5lZDtcbn1cblxuY2xhc3MgU1VTRFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1NVU0RUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TVVNEO1xuICBleHBsb3JlclVybCA9IHVuZGVmaW5lZDtcbn1cblxuY2xhc3MgRmlhdFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQmFzZU5ldHdvcmsge1xuICBuYW1lID0gJ0ZpYXRUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5GSUFUO1xuICBleHBsb3JlclVybCA9IHVuZGVmaW5lZDtcbn1cblxuY2xhc3MgRmlhdCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBCYXNlTmV0d29yayB7XG4gIG5hbWUgPSAnRmlhdCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRklBVDtcbiAgZXhwbG9yZXJVcmwgPSB1bmRlZmluZWQ7XG59XG5cbmNsYXNzIFRyeCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBUcm9uTmV0d29yayB7XG4gIG5hbWUgPSAnVHJ4JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5UUlg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdHJvbnNjYW4ub3JnLyMvdHJhbnNhY3Rpb24vJztcbiAgbWF4RmVlTGltaXQgPSAnNTAwMDAwMDAwMCc7XG4gIGNvbnRyYWN0Q2FsbEZlZUxpbWl0ID0gJzEwMDAwMDAwMCc7XG59XG5cbmNsYXNzIFRyeFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgVHJvbk5ldHdvcmsge1xuICBuYW1lID0gJ1RyeFRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlRSWDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zaGFzdGEudHJvbnNjYW4ub3JnLyMvdHJhbnNhY3Rpb24vJztcbiAgbWF4RmVlTGltaXQgPSAnNTAwMDAwMDAwMCc7XG4gIGNvbnRyYWN0Q2FsbEZlZUxpbWl0ID0gJzEwMDAwMDAwMCc7XG59XG5cbmNsYXNzIFhycCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnWHJwJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5YUlA7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vbGl2ZW5ldC54cnBsLm9yZy90cmFuc2FjdGlvbnMvJztcbn1cblxuY2xhc3MgWHJwVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnWHJwVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWFJQO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3QuYml0aG9tcC5jb20vZXhwbG9yZXIvJztcbn1cblxuY2xhc3MgWHR6IGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdYdHonO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlhUWjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90enN0YXRzLmNvbS8nO1xufVxuXG5jbGFzcyBYdHpUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdYdHpUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5YVFo7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vbXVtYmFpLnR6c3RhdHMuY29tLyc7XG59XG5cbmNsYXNzIFpDYXNoIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdaQ2FzaCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWkVDO1xuICB1dHhvbGliTmFtZSA9ICd6Y2FzaCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vY2hhaW4uc28vdHgvWkVDLyc7XG59XG5cbmNsYXNzIFpDYXNoVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnWkNhc2hUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5aRUM7XG4gIHV0eG9saWJOYW1lID0gJ3pjYXNoVGVzdCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vY2hhaW4uc28vdHgvWkVDVEVTVC8nO1xufVxuXG5jbGFzcyBOZWFyIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdOZWFyJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5ORUFSO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLm5lYXIub3JnL3RyYW5zYWN0aW9ucy8nO1xuICBmZWVSZXNlcnZlID0gJzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJztcbiAgc3RvcmFnZVJlc2VydmUgPSAnMjAwMDAwMDAwMDAwMDAwMDAwMDAwMCc7IC8vIGZlZVJlc2VydmUgKyBzdG9yYWdlUmVzZXJ2ZSBpcyBtaW5pbXVtIGFjY291bnQgYmFsYW5jZSBmb3IgYSBORUFSIHdhbGxldCBodHRwczovL2RvY3MubmVhci5vcmcvaW50ZWdyYXRvci9mYXEjaXMtdGhlcmUtYS1taW5pbXVtLWFjY291bnQtYmFsYW5jZVxufVxuXG5jbGFzcyBOZWFyVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnTmVhclRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5Lk5FQVI7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIudGVzdG5ldC5uZWFyLm9yZy90cmFuc2FjdGlvbnMvJztcbiAgZmVlUmVzZXJ2ZSA9ICc1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMCc7XG4gIHN0b3JhZ2VSZXNlcnZlID0gJzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAnOyAvLyBmZWVSZXNlcnZlICsgc3RvcmFnZVJlc2VydmUgaXMgbWluaW11bSBhY2NvdW50IGJhbGFuY2UgZm9yIGEgTkVBUiB3YWxsZXQgaHR0cHM6Ly9kb2NzLm5lYXIub3JnL2ludGVncmF0b3IvZmFxI2lzLXRoZXJlLWEtbWluaW11bS1hY2NvdW50LWJhbGFuY2Vcbn1cblxuY2xhc3MgUG9seWdvbiBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1BvbHlnb24nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlBPTFlHT047XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vcG9seWdvbnNjYW4uY29tL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3BvbHlnb25zY2FuLmNvbS9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAxMzc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4MjllZjQ2MDM1ZTlmYTNkNTcwYzU5OGQzMjY2NDI0Y2ExMTQxM2IwYyc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweDUzOTdkMDg2OWFiYTBkNTVlOTZkNTcxNmQzODNmNmUxZDg2OTVlZDcnO1xuICB3YWxsZXRGYWN0b3J5QWRkcmVzcyA9ICcweGE3MTk4ZjQ4YzU4ZTkxZjAxMzE3ZTcwY2QyNGM1Y2NlNDc1YzE1NTUnO1xuICB3YWxsZXRJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhlNWRjZGMxM2I2MjhjMmRmODEzZGIxMDgwMzY3ZTkyOWMxNTA3Y2EwJztcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweDdhZGM5YjNkNzUyMTcxMDMyMWJlYzdkZDY4OTdkMzM3ZTUzYzI0OTMnO1xufVxuXG5jbGFzcyBQb2x5Z29uVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1BvbHlnb25UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5QT0xZR09OO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL211bWJhaS5wb2x5Z29uc2Nhbi5jb20vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vbXVtYmFpLnBvbHlnb25zY2FuLmNvbS9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA4MDAwMTtcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHg3ZDEwY2ZkY2I3NjMzNzVmYjVmMGEwZTkxMDFmNDkwZjBiZjFiNDNhJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4YWEyMjE2ZDcyZDdjMTQ5ZGZlNGMzZGQyMTU0Y2QwMDk5NDIxNjUwNic7XG4gIHdhbGxldEZhY3RvcnlBZGRyZXNzID0gJzB4ZTM3YzA3ZmFlYzg3YmUwNzVjZTQwMDJiNWZlZGJkZTAwYTRmZTlkNSc7XG4gIHdhbGxldEltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweDExZjhkNzBhNGVlOWQwOTYyYmIxMTYwZDc3NmQ0YTk5NmNmZGZmNDAnO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4Y2RmMDFhMzFlYTJhMWQ2Mjk1MWFhYzNhNTc0M2M0NDE2ZjlkYTNmYic7XG59XG5cbmNsYXNzIE9wdGltaXNtIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnT3B0aW1pc20nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5Lk9QRVRIO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL29wdGltaXN0aWMuZXRoZXJzY2FuLmlvLyB0eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9vcHRpbWlzdGljLmV0aGVyc2Nhbi5pby9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAxMDtcbn1cblxuY2xhc3MgT3B0aW1pc21UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnT3B0aW1pc21UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5PUEVUSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9vcHRpbWlzbS1zZXBvbGlhLmJsb2Nrc2NvdXQuY29tL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL29wdGltaXNtLXNlcG9saWEuYmxvY2tzY291dC5jb20vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMTExNTU0MjA7XG59XG5cbmV4cG9ydCBjb25zdCBOZXR3b3JrcyA9IHtcbiAgbWFpbjoge1xuICAgIGFkYTogT2JqZWN0LmZyZWV6ZShuZXcgQWRhKCkpLFxuICAgIGFsZ29yYW5kOiBPYmplY3QuZnJlZXplKG5ldyBBbGdvcmFuZCgpKSxcbiAgICBhcmJpdHJ1bTogT2JqZWN0LmZyZWV6ZShuZXcgQXJiaXRydW0oKSksXG4gICAgYXRvbTogT2JqZWN0LmZyZWV6ZShuZXcgQXRvbSgpKSxcbiAgICBhdmFsYW5jaGVDOiBPYmplY3QuZnJlZXplKG5ldyBBdmFsYW5jaGVDKCkpLFxuICAgIGF2YWxhbmNoZVA6IE9iamVjdC5mcmVlemUobmV3IEF2YWxhbmNoZVAoKSksXG4gICAgYml0Y29pbjogT2JqZWN0LmZyZWV6ZShuZXcgQml0Y29pbigpKSxcbiAgICBiaXRjb2luQ2FzaDogT2JqZWN0LmZyZWV6ZShuZXcgQml0Y29pbkNhc2goKSksXG4gICAgYml0Y29pbkdvbGQ6IE9iamVjdC5mcmVlemUobmV3IEJpdGNvaW5Hb2xkKCkpLFxuICAgIGJpdGNvaW5TVjogT2JqZWN0LmZyZWV6ZShuZXcgQml0Y29pblNWKCkpLFxuICAgIGJlcmE6IE9iamVjdC5mcmVlemUobmV3IEJlcmEoKSksXG4gICAgYmxkOiBPYmplY3QuZnJlZXplKG5ldyBCbGQoKSksXG4gICAgYnNjOiBPYmplY3QuZnJlZXplKG5ldyBCaW5hbmNlU21hcnRDaGFpbigpKSxcbiAgICBjYXNwZXI6IE9iamVjdC5mcmVlemUobmV3IENhc3BlcigpKSxcbiAgICBjZWxvOiBPYmplY3QuZnJlZXplKG5ldyBDZWxvKCkpLFxuICAgIGNvcmU6IE9iamVjdC5mcmVlemUobmV3IENvcmUoKSksXG4gICAgZGFzaDogT2JqZWN0LmZyZWV6ZShuZXcgRGFzaCgpKSxcbiAgICBkb2dlY29pbjogT2JqZWN0LmZyZWV6ZShuZXcgRG9nZWNvaW4oKSksXG4gICAgZG90OiBPYmplY3QuZnJlZXplKG5ldyBQb2xrYWRvdCgpKSxcbiAgICBlQ2FzaDogT2JqZWN0LmZyZWV6ZShuZXcgRUNhc2goKSksXG4gICAgZW9zOiBPYmplY3QuZnJlZXplKG5ldyBFb3MoKSksXG4gICAgZXRoZXJldW06IE9iamVjdC5mcmVlemUobmV3IEV0aGVyZXVtKCkpLFxuICAgIGV0aGVyZXVtMjogT2JqZWN0LmZyZWV6ZShuZXcgRXRoZXJldW0yKCkpLFxuICAgIGV0aGVyZXVtQ2xhc3NpYzogT2JqZWN0LmZyZWV6ZShuZXcgRXRoZXJldW1DbGFzc2ljKCkpLFxuICAgIGV0aGVyZXVtVzogT2JqZWN0LmZyZWV6ZShuZXcgRXRoZXJldW1XKCkpLFxuICAgIGZpYXQ6IE9iamVjdC5mcmVlemUobmV3IEZpYXQoKSksXG4gICAgaGFzaDogT2JqZWN0LmZyZWV6ZShuZXcgSGFzaCgpKSxcbiAgICBoZWRlcmE6IE9iamVjdC5mcmVlemUobmV3IEhlZGVyYSgpKSxcbiAgICBpbmplY3RpdmU6IE9iamVjdC5mcmVlemUobmV3IEluamVjdGl2ZSgpKSxcbiAgICBpc2xtOiBPYmplY3QuZnJlZXplKG5ldyBJc2xtKCkpLFxuICAgIGthdmE6IE9iamVjdC5mcmVlemUobmV3IEthdmEoKSksXG4gICAgbGl0ZWNvaW46IE9iamVjdC5mcmVlemUobmV3IExpdGVjb2luKCkpLFxuICAgIHBvbHlnb246IE9iamVjdC5mcmVlemUobmV3IFBvbHlnb24oKSksXG4gICAgb2ZjOiBPYmplY3QuZnJlZXplKG5ldyBPZmMoKSksXG4gICAgb3B0aW1pc206IE9iamVjdC5mcmVlemUobmV3IE9wdGltaXNtKCkpLFxuICAgIG9zbW86IE9iamVjdC5mcmVlemUobmV3IE9zbW8oKSksXG4gICAgcmJ0YzogT2JqZWN0LmZyZWV6ZShuZXcgUmJ0YygpKSxcbiAgICBzdGVsbGFyOiBPYmplY3QuZnJlZXplKG5ldyBTdGVsbGFyKCkpLFxuICAgIHNlaTogT2JqZWN0LmZyZWV6ZShuZXcgU2VpKCkpLFxuICAgIHNvbDogT2JqZWN0LmZyZWV6ZShuZXcgU29sKCkpLFxuICAgIHN1aTogT2JqZWN0LmZyZWV6ZShuZXcgU3VpKCkpLFxuICAgIG5lYXI6IE9iamVjdC5mcmVlemUobmV3IE5lYXIoKSksXG4gICAgc3R4OiBPYmplY3QuZnJlZXplKG5ldyBTdHgoKSksXG4gICAgc3VzZDogT2JqZWN0LmZyZWV6ZShuZXcgU1VTRCgpKSxcbiAgICB0aWE6IE9iamVjdC5mcmVlemUobmV3IFRpYSgpKSxcbiAgICB0b246IE9iamVjdC5mcmVlemUobmV3IFRvbigpKSxcbiAgICB0cng6IE9iamVjdC5mcmVlemUobmV3IFRyeCgpKSxcbiAgICB4cnA6IE9iamVjdC5mcmVlemUobmV3IFhycCgpKSxcbiAgICB4dHo6IE9iamVjdC5mcmVlemUobmV3IFh0eigpKSxcbiAgICB6Q2FzaDogT2JqZWN0LmZyZWV6ZShuZXcgWkNhc2goKSksXG4gICAgemV0YTogT2JqZWN0LmZyZWV6ZShuZXcgWmV0YSgpKSxcbiAgfSxcbiAgdGVzdDoge1xuICAgIGFkYTogT2JqZWN0LmZyZWV6ZShuZXcgQWRhVGVzdG5ldCgpKSxcbiAgICBhbGdvcmFuZDogT2JqZWN0LmZyZWV6ZShuZXcgQWxnb3JhbmRUZXN0bmV0KCkpLFxuICAgIGFyYml0cnVtOiBPYmplY3QuZnJlZXplKG5ldyBBcmJpdHJ1bVRlc3RuZXQoKSksXG4gICAgYXRvbTogT2JqZWN0LmZyZWV6ZShuZXcgQXRvbVRlc3RuZXQoKSksXG4gICAgYXZhbGFuY2hlQzogT2JqZWN0LmZyZWV6ZShuZXcgQXZhbGFuY2hlQ1Rlc3RuZXQoKSksXG4gICAgYXZhbGFuY2hlUDogT2JqZWN0LmZyZWV6ZShuZXcgQXZhbGFuY2hlUFRlc3RuZXQoKSksXG4gICAgYml0Y29pbjogT2JqZWN0LmZyZWV6ZShuZXcgQml0Y29pblRlc3RuZXQoKSksXG4gICAgYml0Y29pbkNhc2g6IE9iamVjdC5mcmVlemUobmV3IEJpdGNvaW5DYXNoVGVzdG5ldCgpKSxcbiAgICBiaXRjb2luR29sZDogT2JqZWN0LmZyZWV6ZShuZXcgQml0Y29pbkdvbGRUZXN0bmV0KCkpLFxuICAgIGJpdGNvaW5TVjogT2JqZWN0LmZyZWV6ZShuZXcgQml0Y29pblNWVGVzdG5ldCgpKSxcbiAgICBiZXJhOiBPYmplY3QuZnJlZXplKG5ldyBCZXJhVGVzdG5ldCgpKSxcbiAgICBibGQ6IE9iamVjdC5mcmVlemUobmV3IEJsZFRlc3RuZXQoKSksXG4gICAgYnNjOiBPYmplY3QuZnJlZXplKG5ldyBCaW5hbmNlU21hcnRDaGFpblRlc3RuZXQoKSksXG4gICAgY2FzcGVyOiBPYmplY3QuZnJlZXplKG5ldyBDYXNwZXJUZXN0bmV0KCkpLFxuICAgIGNlbG86IE9iamVjdC5mcmVlemUobmV3IENlbG9UZXN0bmV0KCkpLFxuICAgIGRhc2g6IE9iamVjdC5mcmVlemUobmV3IERhc2hUZXN0bmV0KCkpLFxuICAgIGRvZ2Vjb2luOiBPYmplY3QuZnJlZXplKG5ldyBEb2dlY29pblRlc3RuZXQoKSksXG4gICAgZG90OiBPYmplY3QuZnJlZXplKG5ldyBQb2xrYWRvdFRlc3RuZXQoKSksXG4gICAgZUNhc2g6IE9iamVjdC5mcmVlemUobmV3IEVDYXNoVGVzdG5ldCgpKSxcbiAgICBlb3M6IE9iamVjdC5mcmVlemUobmV3IEVvc1Rlc3RuZXQoKSksXG4gICAgZmlhdDogT2JqZWN0LmZyZWV6ZShuZXcgRmlhdFRlc3RuZXQoKSksXG4gICAgcHlybW9udDogT2JqZWN0LmZyZWV6ZShuZXcgUHlybW9udCgpKSxcbiAgICBldGhlcmV1bUNsYXNzaWNUZXN0bmV0OiBPYmplY3QuZnJlZXplKG5ldyBFdGhlcmV1bUNsYXNzaWNUZXN0bmV0KCkpLFxuICAgIGhhc2g6IE9iamVjdC5mcmVlemUobmV3IEhhc2hUZXN0bmV0KCkpLFxuICAgIGhlZGVyYTogT2JqZWN0LmZyZWV6ZShuZXcgSGVkZXJhVGVzdG5ldCgpKSxcbiAgICBpbmplY3RpdmU6IE9iamVjdC5mcmVlemUobmV3IEluamVjdGl2ZVRlc3RuZXQoKSksXG4gICAgaXNsbTogT2JqZWN0LmZyZWV6ZShuZXcgSXNsbVRlc3RuZXQoKSksXG4gICAga2F2YTogT2JqZWN0LmZyZWV6ZShuZXcgS2F2YVRlc3RuZXQoKSksXG4gICAga292YW46IE9iamVjdC5mcmVlemUobmV3IEtvdmFuKCkpLFxuICAgIGdvZXJsaTogT2JqZWN0LmZyZWV6ZShuZXcgR29lcmxpKCkpLFxuICAgIGhvbGVza3k6IE9iamVjdC5mcmVlemUobmV3IEhvbGVza3koKSksXG4gICAgbGl0ZWNvaW46IE9iamVjdC5mcmVlemUobmV3IExpdGVjb2luVGVzdG5ldCgpKSxcbiAgICBwb2x5Z29uOiBPYmplY3QuZnJlZXplKG5ldyBQb2x5Z29uVGVzdG5ldCgpKSxcbiAgICBvZmM6IE9iamVjdC5mcmVlemUobmV3IE9mY1Rlc3RuZXQoKSksXG4gICAgb3B0aW1pc206IE9iamVjdC5mcmVlemUobmV3IE9wdGltaXNtVGVzdG5ldCgpKSxcbiAgICBvc21vOiBPYmplY3QuZnJlZXplKG5ldyBPc21vVGVzdG5ldCgpKSxcbiAgICByYnRjOiBPYmplY3QuZnJlZXplKG5ldyBSYnRjVGVzdG5ldCgpKSxcbiAgICBzdGVsbGFyOiBPYmplY3QuZnJlZXplKG5ldyBTdGVsbGFyVGVzdG5ldCgpKSxcbiAgICBzZWk6IE9iamVjdC5mcmVlemUobmV3IFNlaVRlc3RuZXQoKSksXG4gICAgc29sOiBPYmplY3QuZnJlZXplKG5ldyBTb2xUZXN0bmV0KCkpLFxuICAgIHN1aTogT2JqZWN0LmZyZWV6ZShuZXcgU3VpVGVzdG5ldCgpKSxcbiAgICBuZWFyOiBPYmplY3QuZnJlZXplKG5ldyBOZWFyVGVzdG5ldCgpKSxcbiAgICBzdHg6IE9iamVjdC5mcmVlemUobmV3IFN0eFRlc3RuZXQoKSksXG4gICAgc3VzZDogT2JqZWN0LmZyZWV6ZShuZXcgU1VTRFRlc3RuZXQoKSksXG4gICAgY29yZTogT2JqZWN0LmZyZWV6ZShuZXcgQ29yZVRlc3RuZXQoKSksXG4gICAgdGlhOiBPYmplY3QuZnJlZXplKG5ldyBUaWFUZXN0bmV0KCkpLFxuICAgIHRvbjogT2JqZWN0LmZyZWV6ZShuZXcgVG9uVGVzdG5ldCgpKSxcbiAgICB0cng6IE9iamVjdC5mcmVlemUobmV3IFRyeFRlc3RuZXQoKSksXG4gICAgeHJwOiBPYmplY3QuZnJlZXplKG5ldyBYcnBUZXN0bmV0KCkpLFxuICAgIHh0ejogT2JqZWN0LmZyZWV6ZShuZXcgWHR6VGVzdG5ldCgpKSxcbiAgICB6Q2FzaDogT2JqZWN0LmZyZWV6ZShuZXcgWkNhc2hUZXN0bmV0KCkpLFxuICAgIHpldGE6IE9iamVjdC5mcmVlemUobmV3IFpldGFUZXN0bmV0KCkpLFxuICB9LFxufTtcbiJdfQ==
2662
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmV0d29ya3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBaUNBLGlDQUFvQztBQUVwQyxJQUFZLFdBR1g7QUFIRCxXQUFZLFdBQVc7SUFDckIsa0NBQW1CLENBQUE7SUFDbkIsa0NBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUhXLFdBQVcsMkJBQVgsV0FBVyxRQUd0QjtBQUVELE1BQXNCLFdBQVc7Q0FLaEM7QUFMRCxrQ0FLQztBQXlJRCxNQUFlLE9BQVEsU0FBUSxXQUFXO0lBQTFDOztRQUNFLFNBQUksR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDO0lBQzdCLENBQUM7Q0FBQTtBQUVELE1BQWUsT0FBUSxTQUFRLFdBQVc7SUFBMUM7O1FBQ0UsU0FBSSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUM7SUFDN0IsQ0FBQztDQUFBO0FBRUQsTUFBTSxRQUFTLFNBQVEsT0FBTztJQUE5Qjs7UUFDRSxTQUFJLEdBQUcsVUFBVSxDQUFDO1FBQ2xCLFdBQU0sR0FBRyxpQkFBVSxDQUFDLElBQUksQ0FBQztRQUN6QixnQkFBVyxHQUFHLHVCQUF1QixDQUFDO0lBQ3hDLENBQUM7Q0FBQTtBQUVELE1BQU0sZUFBZ0IsU0FBUSxPQUFPO0lBQXJDOztRQUNFLFNBQUksR0FBRyxpQkFBaUIsQ0FBQztRQUN6QixXQUFNLEdBQUcsaUJBQVUsQ0FBQyxJQUFJLENBQUM7UUFDekIsZ0JBQVcsR0FBRyxtREFBbUQsQ0FBQztJQUNwRSxDQUFDO0NBQUE7QUFFRCxNQUFNLEdBQUksU0FBUSxPQUFPO0lBQXpCOztRQUNFLFNBQUksR0FBRyxZQUFZLENBQUM7UUFDcEIsV0FBTSxHQUFHLGlCQUFVLENBQUMsR0FBRyxDQUFDO1FBQ3hCLGdCQUFXLEdBQUcsU0FBUyxDQUFDO1FBQ3hCLGdCQUFXLEdBQUcsU0FBUyxDQUFDO1FBQ3hCLG9CQUFlLEdBQUcsT0FBTyxDQUFDO1FBQzFCLGdCQUFXLEdB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QUFRLEVBQUUsQ0FBQztRQUNsQyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzdCLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUM7UUFDakMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUM3QixJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQy9CLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDN0IsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUMvQixPQUFPLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3JDLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDL0IsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNuQyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzdCLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDN0IsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUM3QixHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzdCLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUM7UUFDakMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNqQyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcs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QUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN4QyxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ3RDLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksV0FBVyxFQUFFLENBQUM7UUFDdEMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUMxQyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLGdCQUFnQixFQUFFLENBQUM7UUFDMUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNwQyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ3BDLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksVUFBVSxFQUFFLENBQUM7UUFDcEMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNwQyxLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3hDLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksWUFBWSxFQUFFLENBQUM7UUFDeEMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNwQyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ3ZDLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksVUFBVSxFQUFFLENBQUM7UUFDcEMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNwQyxLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3hDLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksV0FBVyxFQUFFLENBQUM7UUFDdEMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxhQUFhLEVBQUUsQ0FBQztLQUMzQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBGbGFyZU5ldHdvcmsgaW50ZXJmYWNlIGZvciBGbGFyZS1mYW1pbHkgY2hhaW5zXG5leHBvcnQgaW50ZXJmYWNlIEZsYXJlTmV0d29yayBleHRlbmRzIEJhc2VOZXR3b3JrIHtcbiAgbmFtZTogc3RyaW5nO1xuICBmYW1pbHk6IENvaW5GYW1pbHk7XG4gIGV4cGxvcmVyVXJsOiBzdHJpbmc7XG4gIGFjY291bnRFeHBsb3JlclVybDogc3RyaW5nO1xuICBjaGFpbklkPzogbnVtYmVyO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeD86IHN0cmluZztcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcz86IHN0cmluZztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3M/OiBzdHJpbmc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcz86IHN0cmluZztcbiAgYmxvY2tjaGFpbklEOiBzdHJpbmc7XG4gIGNDaGFpbkJsb2NrY2hhaW5JRDogc3RyaW5nO1xuICBuZXR3b3JrSUQ6IG51bWJlcjtcbiAgaHJwOiBzdHJpbmc7XG4gIGFsaWFzOiBzdHJpbmc7XG4gIGFzc2V0SWQ6IHN0cmluZztcbiAgdm0/OiBzdHJpbmc7XG4gIHR4RmVlOiBzdHJpbmc7XG4gIG1heEltcG9ydEZlZT86IHN0cmluZztcbiAgY3JlYXRlU3VibmV0VHg/OiBzdHJpbmc7XG4gIGNyZWF0ZUNoYWluVHg/OiBzdHJpbmc7XG4gIGNyZWF0aW9uVHhGZWU/OiBzdHJpbmc7XG4gIG1pbkNvbnN1bXB0aW9uPzogc3RyaW5nO1xuICBtYXhDb25zdW1wdGlvbj86IHN0cmluZztcbiAgbWF4U3VwcGx5Pzogc3RyaW5nO1xuICBtaW5TdGFrZTogc3RyaW5nO1xuICBtaW5TdGFrZUR1cmF0aW9uPzogc3RyaW5nO1xuICBtYXhTdGFrZUR1cmF0aW9uPzogc3RyaW5nO1xuICBtaW5EZWxlZ2F0aW9uU3Rha2U/OiBzdHJpbmc7XG4gIG1pbkRlbGVnYXRpb25GZWU/OiBzdHJpbmc7XG59XG5cbmltcG9ydCB7IENvaW5GYW1pbHkgfSBmcm9tICcuL2Jhc2UnO1xuXG5leHBvcnQgZW51bSBOZXR3b3JrVHlwZSB7XG4gIE1BSU5ORVQgPSAnbWFpbm5ldCcsXG4gIFRFU1RORVQgPSAndGVzdG5ldCcsXG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlTmV0d29yayB7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSB0eXBlOiBOZXR3b3JrVHlwZTtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGZhbWlseTogQ29pbkZhbWlseTtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGV4cGxvcmVyVXJsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXR4b05ldHdvcmsgZXh0ZW5kcyBCYXNlTmV0d29yayB7XG4gIC8vIE5ldHdvcmsgbmFtZSBhcyBkZWZpbmVkIGluIEBiaXRnby1iZXRhL3V0eG8tbGliIG5ldHdvcmtzLnRzXG4gIHV0eG9saWJOYW1lOiBzdHJpbmc7XG4gIHBheWdvQWRkcmVzc0F0dGVzdGF0aW9uUHVia2V5Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0bmluZ05ldHdvcmsgZXh0ZW5kcyBVdHhvTmV0d29yayB7XG4gIC8qKlxuICAgKiBUaGUgcHVibGljIGtleSBvZiB0aGUgTGlnaHRuaW5nIHNlcnZpY2UsIHVzZWQgZm9yIGRlcml2aW5nIHRoZSBzaGFyZWQgRWxsaXB0aWMgQ3VydmUgRGlmZmllLUhlbGxtYW4gKEVDREgpIHNlY3JldFxuICAgKiBiZXR3ZWVuIHRoZSB1c2VyJ3MgZXh0ZW5kZWQgcHJpdmF0ZSBrZXkgYW5kIHRoZSBMaWdodG5pbmcgc2VydmljZS4gVGhpcyBrZXkgZmFjaWxpdGF0ZXMgc2VjdXJlIGNvbW11bmljYXRpb25cbiAgICogYnkgZW5hYmxpbmcgdGhlIGNyZWF0aW9uIG9mIGEgc2hhcmVkIHNlY3JldCBmb3IgZW5jcnlwdGlvbiBhbmQgZGVjcnlwdGlvbiBvZiBkYXRhLlxuICAgKi9cbiAgbGlnaHRuaW5nU2VydmljZVB1YktleTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHB1YmxpYyBrZXkgb2YgdGhlIG1pZGRsZXdhcmUgc2VydmljZSwgdXNlZCBmb3IgZGVyaXZpbmcgdGhlIHNoYXJlZCBFbGxpcHRpYyBDdXJ2ZSBEaWZmaWUtSGVsbG1hbiAoRUNESCkgc2VjcmV0XG4gICAqIGJldHdlZW4gdGhlIHVzZXIncyBleHRlbmRlZCBwcml2YXRlIGtleSBhbmQgdGhlIG1pZGRsZXdhcmUgc2VydmljZS5cbiAgICovXG4gIG1pZGRsZXdhcmVQdWJLZXk6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBwdWJsaWMga2V5IG9mIHRoZSBUQVQgc2VydmljZSwgdXNlZCBmb3IgZGVyaXZpbmcgdGhlIHNoYXJlZCBFbGxpcHRpYyBDdXJ2ZSBEaWZmaWUtSGVsbG1hbiAoRUNESCkgc2VjcmV0XG4gICAqIGJldHdlZW4gdGhlIHVzZXIncyBleHRlbmRlZCBwcml2YXRlIGtleSBhbmQgdGhlIFRBVCBzZXJ2aWNlLlxuICAgKi9cbiAgdGF0UHViS2V5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRhTmV0d29yayBleHRlbmRzIEJhc2VOZXR3b3JrIHtcbiAgLy8gTmV0d29yayBuYW1lIGFzIGRlZmluZWQgaW4gQGJpdGdvLWJldGEvdXR4by1saWIgbmV0d29ya3MudHNcbiAgLy8gbWF5YmUgYWRkIG5ldHdvcmsgaWRlbnRpZmllciAvIG1hZ2ljIG5ldHdvcmsgbnVtYmVyXG4gIHV0eG9saWJOYW1lOiBzdHJpbmc7XG4gIHBvb2xEZXBvc2l0OiBudW1iZXI7XG4gIHN0YWtlS2V5RGVwb3NpdDogbnVtYmVyO1xuICBtYXhWYWx1ZVNpemU6IG51bWJlcjtcbiAgbWF4VHJhbnNhY3Rpb25TaXplOiBudW1iZXI7XG4gIGNvaW5zUGVyVXR4b1dvcmQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdmFsYW5jaGVOZXR3b3JrIGV4dGVuZHMgQmFzZU5ldHdvcmsge1xuICByZWFkb25seSBhbGlhczogc3RyaW5nO1xuICByZWFkb25seSBibG9ja2NoYWluSUQ6IHN0cmluZztcbiAgcmVhZG9ubHkgY0NoYWluQmxvY2tjaGFpbklEOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG5ldHdvcmtJRDogbnVtYmVyO1xuICByZWFkb25seSBocnA6IHN0cmluZztcbiAgcmVhZG9ubHkgdm06IHN0cmluZztcbiAgcmVhZG9ubHkgY3JlYXRpb25UeEZlZTogc3RyaW5nO1xuICByZWFkb25seSBjcmVhdGVTdWJuZXRUeDogc3RyaW5nO1xuICByZWFkb25seSBjcmVhdGVDaGFpblR4OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1pbkNvbnN1bXB0aW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1heENvbnN1bXB0aW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1heFN1cHBseTogc3RyaW5nO1xuICByZWFkb25seSBtaW5TdGFrZTogc3RyaW5nO1xuICByZWFkb25seSBtaW5TdGFrZUR1cmF0aW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1heFN0YWtlRHVyYXRpb246IHN0cmluZztcbiAgcmVhZG9ubHkgbWluRGVsZWdhdGlvblN0YWtlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1pbkRlbGVnYXRpb25GZWU6IHN0cmluZztcbiAgLy8gY3VycmVudCB2YWxpZCBhc3NldCBpZCBpcyBBVkFYXG4gIHJlYWRvbmx5IGF2YXhBc3NldElEOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHR4RmVlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1heEltcG9ydEZlZTogc3RyaW5nOyAvLyAwLjAxIEFWQVhcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY2NvdW50TmV0d29yayBleHRlbmRzIEJhc2VOZXR3b3JrIHtcbiAgLy8gc29tZSBjaGFpbnMgcGF5IGZlZXMgdmlhIGFuIGVudGVycHJpc2UgZ2FzIHRhc2suIFRoZSBhY2NvdW50IGV4cGxvcmVyIHVybFxuICAvLyBpcyBhIHVybCB0aGF0IGNhbiBiZSB1c2VkIHRvIGxvb2sgdXAgdGhlIGFjY291bnQgZm9yIHRoZSBnYXMgdGFuayBvbi1jaGFpbi5cbiAgcmVhZG9ubHkgYWNjb3VudEV4cGxvcmVyVXJsPzogc3RyaW5nO1xuICByZWFkb25seSBibG9ja0V4cGxvcmVyVXJsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvc21vc05ldHdvcmsgZXh0ZW5kcyBBY2NvdW50TmV0d29yayB7XG4gIHJlYWRvbmx5IGFkZHJlc3NQcmVmaXg6IHN0cmluZztcbiAgcmVhZG9ubHkgdmFsaWRhdG9yUHJlZml4OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRlbm9tOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGdhc0Ftb3VudDogc3RyaW5nO1xuICByZWFkb25seSBnYXNMaW1pdDogbnVtYmVyO1xuICByZWFkb25seSB2YWxpZERlbm9tczogc3RyaW5nW107XG59XG5cbi8qKlxuICogU3BlY2lmaWNhdGlvbiBuYW1lIHR5cGUgb2YgdGhlIGNoYWluLiBVc2VkIGluIHNldHRpbmcgdXAgdGhlIHJlZ2lzdHJ5XG4gKi9cbmV4cG9ydCB0eXBlIFBvbGthZG90U3BlY05hbWVUeXBlID0gJ2t1c2FtYScgfCAncG9sa2Fkb3QnIHwgJ3dlc3RlbmQnIHwgJ3N0YXRlbWludCcgfCAnc3RhdGVtaW5lJyB8ICd3ZXN0bWludCc7XG5cbmV4cG9ydCB0eXBlIFN1YnN0cmF0ZVNwZWNOYW1lVHlwZSA9XG4gIHwgJ2t1c2FtYSdcbiAgfCAncG9sa2Fkb3QnXG4gIHwgJ3dlc3RlbmQnXG4gIHwgJ3N0YXRlbWludCdcbiAgfCAnc3RhdGVtaW5lJ1xuICB8ICdub2RlLXN1YnRlbnNvcidcbiAgfCAncG9seW1lc2hfdGVzdG5ldCdcbiAgfCAncG9seW1lc2hfbWFpbm5ldCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG90TmV0d29yayBleHRlbmRzIEFjY291bnROZXR3b3JrIHtcbiAgLy8gc29tZSBjaGFpbnMgcGF5IGZlZXMgdmlhIGFuIGVudGVycHJpc2UgZ2FzIHRhc2suIFRoZSBhY2NvdW50IGV4cGxvcmVyIHVybFxuICAvLyBpcyBhIHVybCB0aGF0IGNhbiBiZSB1c2VkIHRvIGxvb2sgdXAgdGhlIGFjY291bnQgZm9yIHRoZSBnYXMgdGFuayBvbi1jaGFpbi5cbiAgcmVhZG9ubHkgc3BlY05hbWU6IFBvbGthZG90U3BlY05hbWVUeXBlO1xuICByZWFkb25seSBnZW5lc2lzSGFzaDogc3RyaW5nO1xuICByZWFkb25seSBzcGVjVmVyc2lvbjogbnVtYmVyO1xuICByZWFkb25seSBjaGFpbk5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgdHhWZXJzaW9uOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXRoZXJldW1OZXR3b3JrIGV4dGVuZHMgQWNjb3VudE5ldHdvcmsge1xuICAvLyB1bmlxdWUgY2hhaW4gaWQgdXNlZCBmb3IgcmVwbGF5LXByb3RlY3RpbmcgdHJhbnNhY3Rpb25zXG4gIHJlYWRvbmx5IGNoYWluSWQ6IG51bWJlcjtcbiAgcmVhZG9ubHkgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcz86IHN0cmluZztcbiAgLy8gZm9yd2FyZGVyIGNvbmZpZ3VyYXRpb24gYWRkcmVzc2VzIHVzZWQgZm9yIGNhbGN1bGF0aW5nIGZvcndhcmRlciB2ZXJzaW9uIDEgYWRkcmVzc2VzXG4gIHJlYWRvbmx5IGZvcndhcmRlckZhY3RvcnlBZGRyZXNzPzogc3RyaW5nO1xuICByZWFkb25seSBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3M/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHdhbGxldFYyRm9yd2FyZGVyRmFjdG9yeUFkZHJlc3M/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHdhbGxldFYyRm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzPzogc3RyaW5nO1xuICByZWFkb25seSB3YWxsZXRWNEZvcndhcmRlckZhY3RvcnlBZGRyZXNzPzogc3RyaW5nO1xuICByZWFkb25seSB3YWxsZXRWNEZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcz86IHN0cmluZztcbiAgcmVhZG9ubHkgd2FsbGV0RmFjdG9yeUFkZHJlc3M/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHdhbGxldEltcGxlbWVudGF0aW9uQWRkcmVzcz86IHN0cmluZztcbiAgcmVhZG9ubHkgd2FsbGV0VjJGYWN0b3J5QWRkcmVzcz86IHN0cmluZztcbiAgcmVhZG9ubHkgd2FsbGV0VjJJbXBsZW1lbnRhdGlvbkFkZHJlc3M/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHdhbGxldFY0RmFjdG9yeUFkZHJlc3M/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHdhbGxldFY0SW1wbGVtZW50YXRpb25BZGRyZXNzPzogc3RyaW5nO1xuICByZWFkb25seSBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeD86IHN0cmluZztcbiAgcmVhZG9ubHkgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyb25OZXR3b3JrIGV4dGVuZHMgQWNjb3VudE5ldHdvcmsge1xuICBtYXhGZWVMaW1pdDogc3RyaW5nO1xuICBjb250cmFjdENhbGxGZWVMaW1pdDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YWNrc05ldHdvcmsgZXh0ZW5kcyBBY2NvdW50TmV0d29yayB7XG4gIHJlYWRvbmx5IHNlbmRtYW55bWVtb0NvbnRyYWN0QWRkcmVzczogc3RyaW5nO1xuICByZWFkb25seSBzdGFraW5nQ29udHJhY3RBZGRyZXNzOiBzdHJpbmc7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlXG5leHBvcnQgaW50ZXJmYWNlIE9mY05ldHdvcmsgZXh0ZW5kcyBCYXNlTmV0d29yayB7fVxuXG5hYnN0cmFjdCBjbGFzcyBNYWlubmV0IGV4dGVuZHMgQmFzZU5ldHdvcmsge1xuICB0eXBlID0gTmV0d29ya1R5cGUuTUFJTk5FVDtcbn1cblxuYWJzdHJhY3QgY2xhc3MgVGVzdG5ldCBleHRlbmRzIEJhc2VOZXR3b3JrIHtcbiAgdHlwZSA9IE5ldHdvcmtUeXBlLlRFU1RORVQ7XG59XG5cbmNsYXNzIEFsZ29yYW5kIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdBbGdvcmFuZCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQUxHTztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9hbGxvLmluZm8vdHgvJztcbn1cblxuY2xhc3MgQWxnb3JhbmRUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdBbGdvcmFuZFRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkFMR087XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuYml0cXVlcnkuaW8vYWxnb3JhbmRfdGVzdG5ldC90eC8nO1xufVxuXG5jbGFzcyBBZGEgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWRhTmV0d29yayB7XG4gIG5hbWUgPSAnQWRhQ2FyZGFubyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQURBO1xuICB1dHhvbGliTmFtZSA9ICdjYXJkYW5vJztcbiAgcG9vbERlcG9zaXQgPSA1MDAwMDAwMDA7XG4gIHN0YWtlS2V5RGVwb3NpdCA9IDIwMDAwMDA7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vY2FyZGFub3NjYW4uaW8vdHJhbnNhY3Rpb24vJztcbiAgY29pbnNQZXJVdHhvV29yZCA9IDM0NDgyO1xuICBtYXhUcmFuc2FjdGlvblNpemUgPSA4MDAwO1xuICBtYXhWYWx1ZVNpemUgPSA0MDAwO1xufVxuXG5jbGFzcyBBZGFUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFkYU5ldHdvcmsge1xuICBuYW1lID0gJ0FkYUNhcmRhbm9UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BREE7XG4gIHV0eG9saWJOYW1lID0gJ2NhcmRhbm9UZXN0bmV0JztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9wcmVwcm9kLmNhcmRhbm9zY2FuLmlvL3RyYW5zYWN0aW9uLyc7XG4gIGNvaW5zUGVyVXR4b1dvcmQgPSAzNDQ4MjtcbiAgbWF4VHJhbnNhY3Rpb25TaXplID0gODAwMDtcbiAgbWF4VmFsdWVTaXplID0gNDAwMDtcbiAgcG9vbERlcG9zaXQgPSA1MDAwMDAwMDA7XG4gIHN0YWtlS2V5RGVwb3NpdCA9IDIwMDAwMDA7XG59XG5cbmNsYXNzIEFwdCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnQXB0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BUFQ7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuYXB0b3NsYWJzLmNvbS90eG4vP25ldHdvcms9bWFpbm5ldCc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLmFwdG9zbGFicy5jb20vYWNjb3VudC8/bmV0d29yaz1tYWlubmV0JztcbiAgYmxvY2tFeHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLmFwdG9zbGFicy5jb20vYmxvY2svP25ldHdvcms9bWFpbm5ldCc7XG59XG5cbmNsYXNzIEFwdFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rlc3RuZXQgQXB0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BUFQ7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuYXB0b3NsYWJzLmNvbS90eG4vP25ldHdvcms9dGVzdG5ldCc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLmFwdG9zbGFicy5jb20vYWNjb3VudC8/bmV0d29yaz10ZXN0bmV0JztcbiAgYmxvY2tFeHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLmFwdG9zbGFicy5jb20vYmxvY2svP25ldHdvcms9dGVzdG5ldCc7XG59XG5cbmNsYXNzIEljcCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnSW50ZXJuZXQgQ29tcHV0ZXInO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LklDUDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9kYXNoYm9hcmQuaW50ZXJuZXRjb21wdXRlci5vcmcvdHJhbnNhY3Rpb24vJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZGFzaGJvYXJkLmludGVybmV0Y29tcHV0ZXIub3JnL2FjY291bnQvJztcbn1cblxuY2xhc3MgSWNwVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnVGVzdG5ldCBJbnRlcm5ldCBDb21wdXRlcic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuSUNQO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2Rhc2hib2FyZC5pbnRlcm5ldGNvbXB1dGVyLm9yZy90cmFuc2FjdGlvbi8nOyAvLyBJQ1AgdGVzdG5ldCBleHBsb3JlciBpcyBub3QgYXZhaWxhYmxlLCBzbyB1c2luZyBtYWlubmV0IGV4cGxvcmVyXG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2Rhc2hib2FyZC5pbnRlcm5ldGNvbXB1dGVyLm9yZy9hY2NvdW50Lyc7XG59XG5cbmNsYXNzIEFyYml0cnVtIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnQXJiaXRydW0nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkFSQkVUSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9hcmJpc2Nhbi5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9hcmJpc2Nhbi5pby9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA0MjE2MTtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnNDIxNjEnO1xuICB0b2tlbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnNDIxNjEtRVJDMjAnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDM3OTk2ZTc2MmZhOGI2NzE4Njk3NDBjNzllYjMzZjYyNWIzYmY5MmEnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhkNWZlMWMxZjIxNmI3NzVkZmQzMDYzOGZhNzE2NGQ0MTMyMWVmNzliJztcbiAgd2FsbGV0RmFjdG9yeUFkZHJlc3MgPSAnMHg4MDllZTU2N2U0MTM1NDNhZjFjYWViY2RiMjQ3ZjZhNjdlYWZjOGRkJztcbiAgd2FsbGV0SW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4OTQ0ZmVmMDNhZjM2ODQxNGYyOWRjMzFhNzIwNjFiOGQ2NGY1NjhkMic7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHgzZTFlNWQ3OGU0NGYxNTU5M2IzYjYxZWQyNzhmMTJjMjdmMGZmMzNlJztcbn1cblxuY2xhc3MgQXJiaXRydW1UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnQXJiaXRydW1UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BUkJFVEg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc2Vwb2xpYS5hcmJpc2Nhbi5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zZXBvbGlhLmFyYmlzY2FuLmlvL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDQyMTYxNDtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnNDIxNjE0JztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzQyMTYxNC1FUkMyMCc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4Mzc5OTZlNzYyZmE4YjY3MTg2OTc0MGM3OWViMzNmNjI1YjNiZjkyYSc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGQ1ZmUxYzFmMjE2Yjc3NWRmZDMwNjM4ZmE3MTY0ZDQxMzIxZWY3OWInO1xuICB3YWxsZXRGYWN0b3J5QWRkcmVzcyA9ICcweDgwOWVlNTY3ZTQxMzU0M2FmMWNhZWJjZGIyNDdmNmE2N2VhZmM4ZGQnO1xuICB3YWxsZXRJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHg5NDRmZWYwM2FmMzY4NDE0ZjI5ZGMzMWE3MjA2MWI4ZDY0ZjU2OGQyJztcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweDNlMWU1ZDc4ZTQ0ZjE1NTkzYjNiNjFlZDI3OGYxMmMyN2YwZmYzM2UnO1xufVxuXG5jbGFzcyBBdmFsYW5jaGVDIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgLy8gaHR0cHM6Ly9kb2NzLmF2YXgubmV0d29yay9idWlsZC90dXRvcmlhbHMvc21hcnQtY29udHJhY3RzL2RlcGxveS1hLXNtYXJ0LWNvbnRyYWN0LW9uLWF2YWxhbmNoZS11c2luZy1yZW1peC1hbmQtbWV0YW1hc2sjYXZhbGFuY2hlLW1haW5uZXQtc2V0dGluZ3NcbiAgbmFtZSA9ICdBdmFsYW5jaGVDJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BVkFYQztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zdWJuZXRzLmF2YXgubmV0d29yay9jLWNoYWluL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3N1Ym5ldHMuYXZheC5uZXR3b3JrL2MtY2hhaW4vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gNDMxMTQ7XG59XG5cbmNsYXNzIEF2YWxhbmNoZUNUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgLy8gaHR0cHM6Ly9kb2NzLmF2YXgubmV0d29yay9idWlsZC90dXRvcmlhbHMvc21hcnQtY29udHJhY3RzL2RlcGxveS1hLXNtYXJ0LWNvbnRyYWN0LW9uLWF2YWxhbmNoZS11c2luZy1yZW1peC1hbmQtbWV0YW1hc2sjYXZhbGFuY2hlLW1haW5uZXQtc2V0dGluZ3NcbiAgbmFtZSA9ICdBdmFsYW5jaGVDVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQVZBWEM7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc3VibmV0cy10ZXN0LmF2YXgubmV0d29yay9jLWNoYWluL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3N1Ym5ldHMtdGVzdC5hdmF4Lm5ldHdvcmsvYy1jaGFpbi9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA0MzExMztcbn1cblxuY2xhc3MgQXZhbGFuY2hlUCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBdmFsYW5jaGVOZXR3b3JrIHtcbiAgbmFtZSA9ICdBdmFsYW5jaGVQJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BVkFYUDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zdWJuZXRzLmF2YXgubmV0d29yay9wLWNoYWluL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3N1Ym5ldHMuYXZheC5uZXR3b3JrL3AtY2hhaW4vYWRkcmVzcy8nO1xuICBibG9ja2NoYWluSUQgPSAnMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTFMcG9ZWSc7XG4gIGNDaGFpbkJsb2NrY2hhaW5JRCA9ICcycTllNHI2TXUzVTY4blUxZllqZ2JSNkp2d3JSeDM2Q29ocEFYNVVReHNlNTV4MVE1JztcbiAgYXZheEFzc2V0SUQgPSAnRnZ3RUFobXhLZmVpRzhTbkV2cTQyaGM2d2hSeVkzRUZZQXZlYk1xRE5ER0NneE41Wic7XG4gIG5ldHdvcmtJRCA9IDE7XG4gIGhycCA9ICdhdmF4JztcbiAgYWxpYXMgPSAnUCc7XG4gIHZtID0gJ3BsYXRmb3Jtdm0nO1xuICB0eEZlZSA9ICcxMDAwMDAwJzsgLy8gMSBNSUxMSUFWQVhcbiAgbWF4SW1wb3J0RmVlID0gJzEwMDAwMDAwJzsgLy8gMC4wMSBBVkFYXG4gIGNyZWF0ZVN1Ym5ldFR4ID0gJzEwMDAwMDAwMDAnOyAvLyAxIEFWQVhcbiAgY3JlYXRlQ2hhaW5UeCA9ICcxMDAwMDAwMDAwJzsgLy8gMSBBVkFYXG4gIGNyZWF0aW9uVHhGZWUgPSAnMTAwMDAwMDAnOyAvLyAxIENFTlRJQVZBWFxuICBtaW5Db25zdW1wdGlvbiA9ICcwLjEnO1xuICBtYXhDb25zdW1wdGlvbiA9ICcwLjEyJztcbiAgbWF4U3VwcGx5ID0gJzcyMDAwMDAwMDAwMDAwMDAwMCc7IC8vIDcyMCBtaWwgdG9rZW5zXG4gIG1pblN0YWtlID0gJzIwMDAwMDAwMDAwMDAnOyAvLyAyMDAwIEFWQVhcbiAgbWluU3Rha2VEdXJhdGlvbiA9ICcxMjA5NjAwJzsgLy8gMiB3ZWVrc1xuICBtYXhTdGFrZUR1cmF0aW9uID0gJzMxNTM2MDAwJzsgLy8gMSB5ZWFyXG4gIG1pbkRlbGVnYXRpb25TdGFrZSA9ICcyNTAwMDAwMDAwMCc7IC8vIDI1IEFWQVhcbiAgbWluRGVsZWdhdGlvbkZlZSA9ICcyJztcbn1cblxuY2xhc3MgQXZhbGFuY2hlUFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQXZhbGFuY2hlTmV0d29yayB7XG4gIG5hbWUgPSAnQXZhbGFuY2hlUFRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkFWQVhQO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3N1Ym5ldHMtdGVzdC5hdmF4Lm5ldHdvcmsvcC1jaGFpbi90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zdWJuZXRzLXRlc3QuYXZheC5uZXR3b3JrL3AtY2hhaW4vYWRkcmVzcy8nO1xuICBibG9ja2NoYWluSUQgPSAnMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTFMcG9ZWSc7XG4gIGNDaGFpbkJsb2NrY2hhaW5JRCA9ICd5SDhEN1RoTkpreG10a3V2MmpnQmE0UDFSbjNRcHI0cFByN1FZTmZjZG9TNms2SFdwJztcbiAgYXZheEFzc2V0SUQgPSAnVThpUnFKb2lKbTh4WkhBYWNtdll5WlZ3cVF4NnVETnRRZVAzQ1E2ZmNnUWszSnFuSyc7XG4gIG5ldHdvcmtJRCA9IDU7XG4gIGFsaWFzID0gJ1AnO1xuICBocnAgPSAnZnVqaSc7XG4gIHZtID0gJ3BsYXRmb3Jtdm0nO1xuICB0eEZlZSA9ICcxMDAwMDAwJzsgLy8gMSBNSUxMSUFWQVhcbiAgbWF4SW1wb3J0RmVlID0gJzEwMDAwMDAwJzsgLy8gMC4wMSBBVkFYXG4gIGNyZWF0ZVN1Ym5ldFR4ID0gJzEwMDAwMDAwMDAnOyAvLyAxIEFWQVhcbiAgY3JlYXRlQ2hhaW5UeCA9ICcxMDAwMDAwMDAwJzsgLy8gMSBBVkFYXG4gIGNyZWF0aW9uVHhGZWUgPSAnMTAwMDAwMDAnOyAvLyAxIENFTlRJQVZBWFxuICBtaW5Db25zdW1wdGlvbiA9ICcwLjEnO1xuICBtYXhDb25zdW1wdGlvbiA9ICcwLjEyJztcbiAgbWF4U3VwcGx5ID0gJzcyMDAwMDAwMDAwMDAwMDAwMCc7IC8vIDcyMCBtaWwgdG9rZW5zXG4gIG1pblN0YWtlID0gJzEwMDAwMDAwMDAnOyAvLyAxIEFWQVhcbiAgbWluU3Rha2VEdXJhdGlvbiA9ICc4NjQwMCc7IC8vIDEgZGF5XG4gIG1heFN0YWtlRHVyYXRpb24gPSAnMzE1MzYwMDAnOyAvLyAxIHllYXJcbiAgbWluRGVsZWdhdGlvblN0YWtlID0gJzEwMDAwMDAwMDAnOyAvLyAxIEFWQVhcbiAgbWluRGVsZWdhdGlvbkZlZSA9ICcyJztcbn1cblxuY2xhc3MgQmluYW5jZVNtYXJ0Q2hhaW4gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdCaW5hbmNlU21hcnRDaGFpbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlNDO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2JzY3NjYW4uY29tL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2JzY3NjYW4uY29tL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDU2O1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc1Nic7XG4gIHRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc1Ni1FUkMyMCc7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHgzZTFlNWQ3OGU0NGYxNTU5M2IzYjYxZWQyNzhmMTJjMjdmMGZmMzNlJztcbn1cblxuY2xhc3MgQmluYW5jZVNtYXJ0Q2hhaW5UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnQmluYW5jZVNtYXJ0Q2hhaW5UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CU0M7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC5ic2NzY2FuLmNvbS90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LmJzY3NjYW4uY29tL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDk3O1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc5Nyc7XG4gIHRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc5Ny1FUkMyMCc7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHgzZTFlNWQ3OGU0NGYxNTU5M2IzYjYxZWQyNzhmMTJjMjdmMGZmMzNlJztcbn1cblxuY2xhc3MgTGlnaHRuaW5nQml0Y29pbiBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBMaWdodG5pbmdOZXR3b3JrIHtcbiAgbmFtZSA9ICdMaWdodG5pbmdCaXRjb2luJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5MTkJUQztcbiAgdXR4b2xpYk5hbWUgPSAnYml0Y29pbic7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vbWVtcG9vbC5zcGFjZS9saWdodG5pbmcnO1xuICBsaWdodG5pbmdTZXJ2aWNlUHViS2V5ID0gJzAzMzg1MDg2ODZmOTc4Y2VmZmQ3Y2UwNTQwNDA0MWIxYTViNGY3NWEzOWJjOTJhNmQzNTUyNDBjY2MwODFmNzYzZSc7XG4gIG1pZGRsZXdhcmVQdWJLZXkgPSAnMDIwZDUyZjY0NThiMTdiNTY1YmMwMzUxNjU2OGQxYTY1YzhjYmQxMzFjZTAzZjIyMDc1NjdlNGNkMzMyMmU4MmYzJztcbiAgdGF0UHViS2V5ID0gJzAzOTUzZGEyMDA2OGMwOTY4NThkM2NjYTYwZjhjNWIwZTVhMmY1ZDAzODNlY2Y5YjZhYjM5MmQ3MWU0ZjNlNzJkZic7XG59XG5cbmNsYXNzIExpZ2h0bmluZ0JpdGNvaW5UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIExpZ2h0bmluZ05ldHdvcmsge1xuICBuYW1lID0gJ0xpZ2h0bmluZ0JpdGNvaW5UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5MTkJUQztcbiAgdXR4b2xpYk5hbWUgPSAndGVzdG5ldCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vbWVtcG9vbC5zcGFjZS90ZXN0bmV0L2xpZ2h0bmluZyc7XG4gIGxpZ2h0bmluZ1NlcnZpY2VQdWJLZXkgPSAnMDI0MDU1MDIxZGIxZTdmMDE5ZWJiNzgzYWIwYjA4MTBjMjFhODE5MjA3ZDRjYjFlYzRhNmUyMTUwYWMwN2YxNDgyJztcbiAgbWlkZGxld2FyZVB1YktleSA9ICcwMjdjYjNiYzZiNDlmYzM4NWQyODJiNDJhN2JlMjMyYTk0ZmZjYmFmZmM3ODE4YjYwM2IxNzcyMjU4MmJiZjUzOWInO1xuICB0YXRQdWJLZXkgPSAnMDJlNzQ3Yzk5YzM3MWVhYzljMTRmYjE5OTEzYmVjOGEwZTNlNDZlMzVhYjFhNDU4NzhlNWI5YWZiYjY5ODk5YzFlJztcbn1cblxuY2xhc3MgQml0Y29pbiBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnQml0Y29pbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlRDO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luJztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9tZW1wb29sLnNwYWNlL3R4Lyc7XG59XG5cbmNsYXNzIEJpdGNvaW5UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdCaXRjb2luVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlRDO1xuICB1dHhvbGliTmFtZSA9ICd0ZXN0bmV0JztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9tZW1wb29sLnNwYWNlL3Rlc3RuZXQvdHgvJztcbiAgLy8gQWRkIG91ciBwdWJrZXkgZm9yIG91ciBwYXlnbyB3YWxsZXRcbiAgcGF5Z29BZGRyZXNzQXR0ZXN0YXRpb25QdWJrZXkgPVxuICAgICd4cHViNkJLUmdtQ1BYNW9RaUpnSjZWcTZCRjh0RHZaaHdRa2k1ZFZWUW9oY2tLMlpKWHR4ajhLNk05cGF2THd0OXBpVzMzaFp6MTdTV21HOFFXc2pKMXRIZGRlMkZzNVVBM0RGYkFwQ3RiZGFHS24nO1xufVxuXG5jbGFzcyBCaXRjb2luUHVibGljU2lnbmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdCaXRjb2luUHVibGljU2lnbmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CVEM7XG4gIHV0eG9saWJOYW1lID0gJ2JpdGNvaW5QdWJsaWNTaWduZXQnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL21lbXBvb2wuc3BhY2Uvc2lnbmV0L3R4Lyc7XG59XG5cbmNsYXNzIEJpdGNvaW5UZXN0bmV0NCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnQml0Y29pblRlc3RuZXQ0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CVEM7XG4gIHV0eG9saWJOYW1lID0gJ2JpdGNvaW5UZXN0bmV0NCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vbWVtcG9vbC5zcGFjZS90ZXN0bmV0NC90eC8nO1xufVxuXG5jbGFzcyBCaXRjb2luQml0R29TaWduZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0JpdGNvaW5CaXRHb1NpZ25ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlRDO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luQml0R29TaWduZXQnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL21lbXBvb2wuc3BhY2Uvbm90YW5ldHdvcmsvdHgvJztcbn1cblxuY2xhc3MgQml0Y29pbkNhc2ggZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0JpdGNvaW5DYXNoJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CQ0g7XG4gIHV0eG9saWJOYW1lID0gJ2JpdGNvaW5jYXNoJztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93d3cuYmxvY2tjaGFpbi5jb20vYmNoL3R4Lyc7XG59XG5cbmNsYXNzIEJpdGNvaW5DYXNoVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnQml0Y29pbkNhc2hUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CQ0g7XG4gIHV0eG9saWJOYW1lID0gJ2JpdGNvaW5jYXNoVGVzdG5ldCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGJjaC5sb3BpbmcubmV0L3R4Lyc7XG59XG5jbGFzcyBCaXRjb2luU1YgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0JpdGNvaW5TVic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlNWO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luc3YnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2Jsb2NrY2hhaXIuY29tL2JpdGNvaW4tc3YvdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgQml0Y29pblNWVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnQml0Y29pblNWVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlNWO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luc3ZUZXN0bmV0JztcbiAgZXhwbG9yZXJVcmwgPSB1bmRlZmluZWQ7XG59XG5cbmNsYXNzIEJpdGNvaW5Hb2xkIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdCaXRjb2luR29sZCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlRHO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luZ29sZCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYnRnZXhwbG9yZXIuY29tL3R4Lyc7XG59XG5cbmNsYXNzIEJpdGNvaW5Hb2xkVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnQml0Y29pbkdvbGRUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CVEc7XG4gIHV0eG9saWJOYW1lID0gJ2JpdGNvaW5nb2xkVGVzdG5ldCc7XG4gIGV4cGxvcmVyVXJsID0gdW5kZWZpbmVkO1xufVxuXG5jbGFzcyBEYXNoIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdEYXNoJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5EQVNIO1xuICB1dHhvbGliTmFtZSA9ICdkYXNoJztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9pbnNpZ2h0LmRhc2hldm8ub3JnL2luc2lnaHQvdHgvJztcbn1cblxuY2xhc3MgRGFzaFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0Rhc2hUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5EQVNIO1xuICB1dHhvbGliTmFtZSA9ICdkYXNoVGVzdCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC1pbnNpZ2h0LmRhc2hldm8ub3JnL2luc2lnaHQvdHgvJztcbn1cblxuY2xhc3MgRG9nZWNvaW4gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0RvZ2Vjb2luJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5ET0dFO1xuICB1dHhvbGliTmFtZSA9ICdkb2dlY29pbic7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmxvY2tjaGFpci5jb20vZG9nZWNvaW4vdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgRG9nZWNvaW5UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdEb2dlY29pblRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkRPR0U7XG4gIHV0eG9saWJOYW1lID0gJ2RvZ2Vjb2luVGVzdCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmxvY2tleHBsb3Jlci5vbmUvZG9nZWNvaW4vdGVzdG5ldC90eC8nO1xufVxuXG5jbGFzcyBFQ2FzaCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnRUNhc2gnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJDSEE7XG4gIHV0eG9saWJOYW1lID0gJ2VjYXNoJztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja2NoYWlyLmNvbS9lY2FzaCc7XG59XG5cbmNsYXNzIEVDYXNoVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnRUNhc2hUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CQ0hBO1xuICB1dHhvbGliTmFtZSA9ICdlY2FzaFRlc3QnO1xuICBleHBsb3JlclVybCA9IHVuZGVmaW5lZDtcbn1cblxuY2xhc3MgUG9sa2Fkb3RBc3NldEh1YiBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBEb3ROZXR3b3JrIHtcbiAgbmFtZSA9ICdQb2xrYWRvdEFzc2V0SHViJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5ET1Q7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYXNzZXRodWItcG9sa2Fkb3Quc3Vic2Nhbi5pby9leHRyaW5zaWMvJztcbiAgc3BlY05hbWUgPSAnc3RhdGVtaW50JyBhcyBQb2xrYWRvdFNwZWNOYW1lVHlwZTtcbiAgZ2VuZXNpc0hhc2ggPSAnMHg2OGQ1NmYxNWY4NWQzMTM2OTcwZWMxNjk0NjA0MGJjMTc1MjY1NGU5MDYxNDdmN2U0M2U5ZDUzOWQ3YzNkZTJmJztcbiAgc3BlY1ZlcnNpb24gPSAxMDA3MDAxO1xuICBjaGFpbk5hbWUgPSAnUG9sa2Fkb3QgQXNzZXQgSHViJztcbiAgdHhWZXJzaW9uID0gMTU7XG59XG5cbmNsYXNzIFdlc3RlbmRBc3NldEh1YiBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBEb3ROZXR3b3JrIHtcbiAgbmFtZSA9ICdXZXN0ZW5kQXNzZXRIdWInO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkRPVDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9hc3NldGh1Yi13ZXN0ZW5kLnN1YnNjYW4uaW8vZXh0cmluc2ljLyc7XG4gIHNwZWNOYW1lID0gJ3dlc3RtaW50JyBhcyBQb2xrYWRvdFNwZWNOYW1lVHlwZTtcbiAgZ2VuZXNpc0hhc2ggPSAnMHg2N2Y5NzIzMzkzZWY3NjIxNGRmMDExOGMzNGJiYmQzZGJlYmM4ZWQ0NmExMDk3M2E4Yzk2OWQ0OGZlNzU5OGM5JztcbiAgc3BlY1ZlcnNpb24gPSAxMDIwMDAwO1xuICBjaGFpbk5hbWUgPSAnV2VzdGVuZCBBc3NldCBIdWInO1xuICB0eFZlcnNpb24gPSAxNjtcbn1cblxuY2xhc3MgQ2VsbyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0NlbG8nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkNFTE87XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuY2Vsby5vcmcvdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuY2Vsby5vcmcvYWRkcmVzcy8nO1xuICBjaGFpbklkID0gNDIyMjA7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ0NFTE8nO1xuICB0b2tlbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnQ0VMTy1FUkMyMCc7XG59XG5cbmNsYXNzIENlbG9UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnQ2Vsb1Rlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkNFTE87XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc2Vwb2xpYS5jZWxvc2Nhbi5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zZXBvbGlhLmNlbG9zY2FuLmlvL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDExMTQyMjIwO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICdDRUxPJztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ0NFTE8tRVJDMjAnO1xufVxuXG4vLyBUT0RPIHVwZGF0ZSBleHBsb3JlclVybCBTVExYLTE2NTdcbmNsYXNzIENhc3BlciBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnQ2FzcGVyJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5DU1BSO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2NzcHIubGl2ZS9kZXBsb3kvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vY3Nwci5saXZlL2FjY291bnQvJztcbn1cblxuY2xhc3MgQ2FzcGVyVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnQ2FzcGVyVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQ1NQUjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9pbnRlZ3JhdGlvbi5jc3ByLmxpdmUvZGVwbG95Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2ludGVncmF0aW9uLmNzcHIubGl2ZS9hY2NvdW50Lyc7XG59XG5cbmNsYXNzIEV0aGVyZXVtIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnRXRoZXJldW0nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkVUSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ldGhlcnNjYW4uaW8vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXRoZXJzY2FuLmlvL2FkZHJlc3MvJztcbiAgYmxvY2tFeHBsb3JlclVybCA9ICdodHRwczovL2V0aGVyc2Nhbi5pby9ibG9jay8nO1xuICAvLyBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9ldGhlcmV1bWpzL2V0aGVyZXVtanMtY29tbW9uL2Jsb2IvYTk3OGY2MzA4NThmNjg0MzE3NmJiMjBiMjc3NTY5Nzg1OTE0ZTg5OS9zcmMvY2hhaW5zL2luZGV4LnRzXG4gIGNoYWluSWQgPSAxO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4ZWJlMjc5MTNmY2M3NTEwZWFkZjEwNjQzYThmODZiZjU0OTJhOTU0MSc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4ZmZhMzk3Mjg1Y2U0NmZiNzhjNTg4YTllOTkzMjg2YWFjNjhjMzdjZCc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweDA1OWZmYWZkYzZlZjU5NDIzMGRlNDRmODI0ZTJiZDBhNTFjYTVkZWQnO1xuICB3YWxsZXRWMkZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4MjlFZjQ2MDM1ZTlmQTNENTcwYzU5OGQzMjY2NDI0Q2ExMTQxM2IwQyc7XG4gIHdhbGxldFYyRm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4NTM5N2QwODY5YUJBMEQ1NWU5NkQ1NzE2ZDM4M0Y2ZTFkODY5NWVkNyc7XG4gIHdhbGxldFY0Rm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgzNzk5NmU3NjJmYThiNjcxODY5NzQwYzc5ZWIzM2Y2MjViM2JmOTJhJztcbiAgd2FsbGV0VjRGb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhkNWZlMWMxZjIxNmI3NzVkZmQzMDYzOGZhNzE2NGQ0MTMyMWVmNzliJztcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnRVRIRVInO1xuICB0b2tlbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnRVJDMjAnO1xuICB3YWxsZXRGYWN0b3J5QWRkcmVzcyA9ICcweDlhMGQ2MzkxMTYyMGY3ZmMxNWMzYzAyMGVkYmU0ZDcyNjdlYTNlNGQnO1xuICB3YWxsZXRJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhlOGU4NDdjZjU3M2ZjOGVkNzU2MjE2NjBhMzZhZmZkMThjNTQzZDdlJztcbiAgd2FsbGV0VjJGYWN0b3J5QWRkcmVzcyA9ICcweGE3MTk4ZjQ4QzU4RTkxZjAxMzE3RTcwQ2QyNEM1Q2NlNDc1YzE1NTUnO1xuICB3YWxsZXRWMkltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGU1RGNkQzEzQjYyOGMyZGY4MTNEQjEwODAzNjdFOTI5YzE1MDdDYTAnO1xuICB3YWxsZXRWNEZhY3RvcnlBZGRyZXNzID0gJzB4ODA5ZWU1NjdlNDEzNTQzYWYxY2FlYmNkYjI0N2Y2YTY3ZWFmYzhkZCc7XG4gIHdhbGxldFY0SW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4OTQ0ZmVmMDNhZjM2ODQxNGYyOWRjMzFhNzIwNjFiOGQ2NGY1NjhkMic7XG59XG5cbmNsYXNzIEV0aGVyZXVtMiBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnRXRoZXJldW0yJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5FVEgyO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2JlYWNvbnNjYW4uY29tL3R4JztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmVhY29uc2Nhbi5jb20vYWRkcmVzcyc7XG59XG5cbmNsYXNzIEV0aGVyZXVtVyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0V0aGVyZXVtIFBvVyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRVRIVztcbiAgZXhwbG9yZXJVcmwgPSAnJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJyc7XG4gIGNoYWluSWQgPSAxMDAwMTtcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnJztcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnRVRIRVInO1xuICB0b2tlbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnRVJDMjAnO1xufVxuXG5jbGFzcyBQeXJtb250IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdQeXJtb250JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5FVEgyO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2JlYWNvbnNjYW4uY29tL3B5cm1vbnQvdHgnO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9iZWFjb25zY2FuLmNvbS9weXJtb250L2FkZHJlc3MnO1xufVxuXG5jbGFzcyBLb3ZhbiBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0tvdmFuJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5FVEg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8va292YW4uZXRoZXJzY2FuLmlvL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2tvdmFuLmV0aGVyc2Nhbi5pby9hZGRyZXNzLyc7XG4gIC8vIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2V0aGVyZXVtanMvZXRoZXJldW1qcy1jb21tb24vYmxvYi9hOTc4ZjYzMDg1OGY2ODQzMTc2YmIyMGIyNzc1Njk3ODU5MTRlODk5L3NyYy9jaGFpbnMvaW5kZXgudHNcbiAgY2hhaW5JZCA9IDQyO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4YzBhYWYyNjQ5ZTdiMGYzOTUwMTY0NjgxZWNhMmIxYThmNjU0YTQ3OCc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4YTc5YTQ4NTI5NGQyMjYwNzVlZTY1NDEwYmM5NGVhNDU0ZjNlNDA5ZCc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGE5NDZlNzQ4ZjI1YTVlYzY4NzhlYjFhOWYyZTkwMjAyODE3NGMwYjMnO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICdFVEhFUic7XG4gIHRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCA9ICdFUkMyMCc7XG59XG5cbmNsYXNzIEdvZXJsaSBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0dvZXJsaSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRVRIO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2dvZXJsaS5ldGhlcnNjYW4uaW8vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZ29lcmxpLmV0aGVyc2Nhbi5pby9hZGRyZXNzLyc7XG4gIGJsb2NrRXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9nb2VybGkuZXRoZXJzY2FuLmlvL2Jsb2NrLyc7XG4gIC8vIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2V0aGVyZXVtanMvZXRoZXJldW1qcy1jb21tb24vYmxvYi9hOTc4ZjYzMDg1OGY2ODQzMTc2YmIyMGIyNzc1Njk3ODU5MTRlODk5L3NyYy9jaGFpbnMvaW5kZXgudHNcbiAgY2hhaW5JZCA9IDU7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHhlOGU4NDdjZjU3M2ZjOGVkNzU2MjE2NjBhMzZhZmZkMThjNTQzZDdlJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHhmNWNhYTVlM2U5M2FmYmMyMWJkMTllZjRmMjY5MWEzNzEyMWY3OTE3JztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ODBkNWM5MWU4Y2MyMWRmNjlmYzRkNjRmMjFkYzJkODMxMjFjMzk5OSc7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ0VUSEVSJztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ0VSQzIwJztcbn1cblxuY2xhc3MgSG9sZXNreSBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0hvbGVza3knO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkVUSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ob2xlc2t5LmV0aGVyc2Nhbi5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ob2xlc2t5LmV0aGVyc2Nhbi5pby9hZGRyZXNzLyc7XG4gIGJsb2NrRXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ob2xlc2t5LmV0aGVyc2Nhbi5pby9ibG9jay8nO1xuICAvLyBodHRwczovL2NoYWlubGlzdC5vcmcvY2hhaW4vMTcwMDBcbiAgY2hhaW5JZCA9IDE3MDAwO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4ZWJlMjc5MTNmY2M3NTEwZWFkZjEwNjQzYThmODZiZjU0OTJhOTU0MSc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4ZmZhMzk3Mjg1Y2U0NmZiNzhjNTg4YTllOTkzMjg2YWFjNjhjMzdjZCc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweDA1OWZmYWZkYzZlZjU5NDIzMGRlNDRmODI0ZTJiZDBhNTFjYTVkZWQnO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICdFVEhFUic7XG4gIHRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCA9ICdFUkMyMCc7XG4gIHdhbGxldFY0Rm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgzNzk5NmU3NjJmYThiNjcxODY5NzQwYzc5ZWIzM2Y2MjViM2JmOTJhJztcbiAgd2FsbGV0VjRGb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhkNWZlMWMxZjIxNmI3NzVkZmQzMDYzOGZhNzE2NGQ0MTMyMWVmNzliJztcbn1cblxuY2xhc3MgSG9vZGkgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdIb29kaSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRVRIO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2hvb2RpLmV0aGVyc2Nhbi5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ob29kaS5ldGhlcnNjYW4uaW8vYWRkcmVzcy8nO1xuICBibG9ja0V4cGxvcmVyVXJsID0gJ2h0dHBzOi8vaG9vZGkuZXRoZXJzY2FuLmlvL2Jsb2NrLyc7XG4gIC8vIGh0dHBzOi8vY2hhaW5saXN0Lm9yZy9jaGFpbi81NjAwNDhcbiAgY2hhaW5JZCA9IDU2MDA0ODtcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweDNlMWU1ZDc4ZTQ0ZjE1NTkzYjNiNjFlZDI3OGYxMmMyN2YwZmYzM2UnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDBlMjg3NGQ2ODI0ZmFlNGY2MWU0NDYwMTIzMTdhOWI4NjM4NGJkOGUnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHg3NDQxZjIwYTU5YmU5NzAxMTg0MjQwNGI5YWVmZDhkODVmZDgxYWE2JztcbiAgd2FsbGV0VjJGb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDBlMjg3NGQ2ODI0ZmFlNGY2MWU0NDYwMTIzMTdhOWI4NjM4NGJkOGUnO1xuICB3YWxsZXRWMkZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweDc0NDFmMjBhNTliZTk3MDExODQyNDA0YjlhZWZkOGQ4NWZkODFhYTYnO1xuICB3YWxsZXRWNEZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4Mzc5OTZlNzYyZmE4YjY3MTg2OTc0MGM3OWViMzNmNjI1YjNiZjkyYSc7XG4gIHdhbGxldFY0Rm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG4gIHdhbGxldEZhY3RvcnlBZGRyZXNzID0gJzB4ZjUxNGNkODBhNDFiZGUyZTIwMDMzYjI1MWYxZjc0NjMzY2FmM2U1OSc7XG4gIHdhbGxldEltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweDZiYjg2YjNiMjdiMDkyYmY4YTI4NTA4MGZlN2Q1OGFjZGY4NDEwNDEnO1xuICB3YWxsZXRWMkZhY3RvcnlBZGRyZXNzID0gJzB4ZjUxNGNkODBhNDFiZGUyZTIwMDMzYjI1MWYxZjc0NjMzY2FmM2U1OSc7XG4gIHdhbGxldFYySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4NmJiODZiM2IyN2IwOTJiZjhhMjg1MDgwZmU3ZDU4YWNkZjg0MTA0MSc7XG4gIHdhbGxldFY0RmFjdG9yeUFkZHJlc3MgPSAnMHg4MDllZTU2N2U0MTM1NDNhZjFjYWViY2RiMjQ3ZjZhNjdlYWZjOGRkJztcbiAgd2FsbGV0VjRJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHg5NDRmZWYwM2FmMzY4NDE0ZjI5ZGMzMWE3MjA2MWI4ZDY0ZjU2OGQyJztcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnRVRIRVInO1xuICB0b2tlbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnRVJDMjAnO1xufVxuXG5jbGFzcyBFdGhlcmV1bUNsYXNzaWMgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdFdGhlcmV1bUNsYXNzaWMnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkVUQztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja3Njb3V0LmNvbS9ldGMvbWFpbm5ldC90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja3Njb3V0LmNvbS9ldGMvbWFpbm5ldC9hZGRyZXNzLyc7XG4gIC8vIGZyb20gIGh0dHBzOi8vY2hhaW5pZC5uZXR3b3JrL2NoYWlucy9cbiAgY2hhaW5JZCA9IDYxO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICdFVEMnO1xuICB0b2tlbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnRVRDLUVSQzIwJztcbn1cblxuY2xhc3MgRXRoZXJldW1DbGFzc2ljVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0V0aGVyZXVtQ2xhc3NpY1Rlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkVUQztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja3Njb3V0LmNvbS9ldGMvbW9yZG9yL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2Jsb2Nrc2NvdXQuY29tL2V0Yy9tb3Jkb3IvYWRkcmVzcy8nO1xuICAvLyBmcm9tICBodHRwczovL2NoYWluaWQubmV0d29yay9jaGFpbnMvXG4gIGNoYWluSWQgPSA2MztcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnRVRDJztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ0VUQy1FUkMyMCc7XG59XG5cbmNsYXNzIEVvcyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnRW9zJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5FT1M7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuZW9zbmV0d29yay5jb20vdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgRW9zVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnRW9zVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRU9TO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2t5bGluLmVvc3guaW8vdHgvJztcbn1cblxuY2xhc3MgSGVkZXJhIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdIZWRlcmEnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkhCQVI7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vaGFzaHNjYW4uaW8vbWFpbm5ldC90cmFuc2FjdGlvbi8nO1xufVxuXG5jbGFzcyBIZWRlcmFUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdIZWRlcmFUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5IQkFSO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQuZHJhZ29uZ2xhc3MubWUvaGVkZXJhL3NlYXJjaD9xPSc7XG59XG5cbmNsYXNzIExpdGVjb2luIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdMaXRlY29pbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuTFRDO1xuICB1dHhvbGliTmFtZSA9ICdsaXRlY29pbic7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vbGl0ZWNvaW5zcGFjZS5vcmcvdHgvJztcbn1cblxuY2xhc3MgTGl0ZWNvaW5UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdMaXRlY29pblRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkxUQztcbiAgdXR4b2xpYk5hbWUgPSAnbGl0ZWNvaW5UZXN0JztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja2V4cGxvcmVyLm9uZS9saXRlY29pbi90ZXN0bmV0L3R4Lyc7XG59XG5cbmNsYXNzIE9mYyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBPZmNOZXR3b3JrIHtcbiAgbmFtZSA9ICdPZmMnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5Lk9GQztcbiAgZXhwbG9yZXJVcmwgPSB1bmRlZmluZWQ7XG59XG5cbmNsYXNzIE9mY1Rlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgT2ZjTmV0d29yayB7XG4gIG5hbWUgPSAnT2ZjVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuT0ZDO1xuICBleHBsb3JlclVybCA9IHVuZGVmaW5lZDtcbn1cblxuY2xhc3MgUmJ0YyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1JidGMnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlJCVEM7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIucnNrLmNvL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnJzay5jby9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAzMDtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnUlNLJztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ1JTSy1FUkMyMCc7XG59XG5cbmNsYXNzIFJidGNUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnUmJ0Y1Rlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlJCVEM7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIudGVzdG5ldC5yc2suY28vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIudGVzdG5ldC5yc2suY28vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMzE7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ1JTSyc7XG4gIHRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCA9ICdSU0stRVJDMjAnO1xufVxuXG5jbGFzcyBTdGVsbGFyIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdTdGVsbGFyJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5YTE07XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc3RlbGxhci5leHBlcnQvZXhwbG9yZXIvcHVibGljL3R4Lyc7XG59XG5cbmNsYXNzIFN0ZWxsYXJUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdTdGVsbGFyVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWExNO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3N0ZWxsYXIuZXhwZXJ0L2V4cGxvcmVyL3Rlc3RuZXQvdHgvJztcbn1cblxuY2xhc3MgU29sIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdTb2wnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNPTDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5zb2xhbmEuY29tL3R4Lyc7XG59XG5cbmNsYXNzIFNvbFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1NvbFRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNPTDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5zb2xhbmEuY29tL3R4Lz9jbHVzdGVyPWRldm5ldCc7XG59XG5cbmNsYXNzIFN1aSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnU3VpJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TVUk7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuc3VpLmlvL3R4YmxvY2svP25ldHdvcms9bWFpbm5ldCc7XG59XG5cbmNsYXNzIFN1aVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rlc3RuZXQgU3VpJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TVUk7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuc3VpLmlvL3R4YmxvY2svP25ldHdvcms9dGVzdG5ldCc7XG59XG5cbmNsYXNzIEF0b20gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0Nvc21vcyBIdWIgQVRPTSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQVRPTTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93d3cubWludHNjYW4uaW8vY29zbW9zL3R4Lyc7XG59XG5cbmNsYXNzIEF0b21UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdUZXN0bmV0IENvc21vcyBIdWIgQVRPTSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQVRPTTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5wb2x5cG9yZS54eXovcHJvdmlkZXIvdHgvJztcbn1cblxuY2xhc3MgT3NtbyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnT3Ntb3Npcyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuT1NNTztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93d3cubWludHNjYW4uaW8vb3Ntb3Npcy90eHMvJztcbn1cblxuY2xhc3MgT3Ntb1Rlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rlc3RuZXQgT3Ntb3Npcyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuT1NNTztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0Lm9zbW9zaXMuZXhwbG9yZXJzLmd1cnUvdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgVGlhIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdDZWxlc3RpYSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuVElBO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3d3dy5taW50c2Nhbi5pby9jZWxlc3RpYS90eC8nO1xufVxuXG5jbGFzcyBUaWFUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdUZXN0bmV0IENlbGVzdGlhJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5USUE7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC5jZWxlc3RpYS5leHBsb3JlcnMuZ3VydS90cmFuc2FjdGlvbi8nO1xufVxuXG5jbGFzcyBIYXNoIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdQcm92ZW5hbmNlJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5IQVNIO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnByb3ZlbmFuY2UuaW8vdHgvJztcbn1cblxuY2xhc3MgSGFzaFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rlc3RuZXQgUHJvdmVuYW5jZSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuSEFTSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci50ZXN0LnByb3ZlbmFuY2UuaW8vdHgvJztcbn1cblxuY2xhc3MgQmxkIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdBZ29yaWMnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJMRDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9iaWdkaXBwZXIubGl2ZS9hZ29yaWMvdHJhbnNhY3Rpb25zLyc7XG59XG5cbmNsYXNzIEJsZFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rlc3RuZXQgQWdvcmljJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CTEQ7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZW1lcnluZXQuZXhwbG9yZXIuYWdvcmljLm5ldC9hZ29yaWMvdHgvJztcbn1cblxuY2xhc3MgU2VpIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdTZWknO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNFSTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zZWlzdHJlYW0uYXBwL3RyYW5zYWN0aW9ucy8nO1xufVxuXG5jbGFzcyBTZWlUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdUZXN0bmV0IFNlaSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuU0VJO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQuc2Vpc3RyZWFtLmFwcC90cmFuc2FjdGlvbnMvJztcbn1cblxuY2xhc3MgWmV0YSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnWmV0YSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWkVUQTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci56ZXRhY2hhaW4uY29tL2Nvc21vcy90eC8nO1xufVxuXG5jbGFzcyBaZXRhVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnVGVzdG5ldCBaZXRhJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5aRVRBO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2F0aGVucy5leHBsb3Jlci56ZXRhY2hhaW4uY29tL2Nvc21vcy90eC8nO1xufVxuXG5jbGFzcyBJbmplY3RpdmUgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0luamVjdGl2ZSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuSU5KRUNUSVZFO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3d3dy5taW50c2Nhbi5pby9pbmplY3RpdmUvdHgvJztcbn1cblxuY2xhc3MgSW5qZWN0aXZlVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnSW5qZWN0aXZlVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuSU5KRUNUSVZFO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQuZXhwbG9yZXIuaW5qZWN0aXZlLm5ldHdvcmsvdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgS2F2YSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnS2F2YSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuS0FWQTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93d3cubWludHNjYW4uaW8va2F2YS90cmFuc2FjdGlvbnMvJztcbn1cblxuY2xhc3MgS2F2YVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0thdmFUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5LQVZBO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQubWludHNjYW4uaW8va2F2YS10ZXN0bmV0L3R4cy8nO1xufVxuXG5jbGFzcyBUb24gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rvbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuVE9OO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3RvbnNjYW4ub3JnL3R4Lyc7XG59XG5cbmNsYXNzIFRvblRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rlc3RuZXQgVG9uJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5UT047XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC50b25zY2FuLm9yZy90eC8nO1xufVxuXG5jbGFzcyBDb3JldW0gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0NvcmV1bSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQ09SRVVNO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3d3dy5taW50c2Nhbi5pby9jb3JldW0vdHgvJztcbn1cblxuY2xhc3MgQ29yZXVtVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnQ29yZXVtVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQ09SRVVNO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnRlc3RuZXQtMS5jb3JldW0uZGV2L2NvcmV1bS90cmFuc2FjdGlvbnMvJztcbn1cblxuY2xhc3MgUnVuZSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnUnVuZSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuVEhPUjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ydW5lc2Nhbi5pby90eC8nO1xufVxuXG5jbGFzcyBSdW5lVGVzdE5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnUnVuZVRlc3ROZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlRIT1I7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vcnVuZXNjYW4uaW8vdHgvP25ldHdvcms9c3RhZ2VuZXQnO1xufVxuXG5jbGFzcyBCYWJ5IGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdCYWJ5bG9uJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CQUJZO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2JhYnlsb24uZXhwbG9yZXJzLmd1cnUvdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgQmFieVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rlc3RuZXQgQmFieWxvbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQkFCWTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LmJhYnlsb24uZXhwbG9yZXJzLmd1cnUvdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgTWFudHJhIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIENvc21vc05ldHdvcmsge1xuICBuYW1lID0gJ01hbnRyYSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuTUFOVFJBO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLm1hbnRyYWNoYWluLmlvL01BTlRSQS0xL3R4Lyc7XG4gIGFkZHJlc3NQcmVmaXggPSAnbWFudHJhJztcbiAgdmFsaWRhdG9yUHJlZml4ID0gJ21hbnRyYXZhbG9wZXInO1xuICBkZW5vbSA9ICd1b20nO1xuICBnYXNBbW91bnQgPSAnODAwMCc7XG4gIGdhc0xpbWl0ID0gMjAwMDAwO1xuICB2YWxpZERlbm9tcyA9IFsnb20nLCAndW9tJ107XG59XG5cbmNsYXNzIE1hbnRyYVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQ29zbW9zTmV0d29yayB7XG4gIG5hbWUgPSAnVGVzdG5ldCBNYW50cmEnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5Lk1BTlRSQTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5tYW50cmFjaGFpbi5pby9NQU5UUkEtRHVrb25nL3R4Lyc7XG4gIGFkZHJlc3NQcmVmaXggPSAnbWFudHJhJztcbiAgdmFsaWRhdG9yUHJlZml4ID0gJ21hbnRyYXZhbG9wZXInO1xuICBkZW5vbSA9ICd1b20nO1xuICBnYXNBbW91bnQgPSAnODAwMCc7XG4gIGdhc0xpbWl0ID0gMjAwMDAwO1xuICB2YWxpZERlbm9tcyA9IFsnb20nLCAndW9tJ107XG59XG5cbmNsYXNzIENyb25vcyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnQ3Jvbm9zIFBPUyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQ1JPTk9TO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2Nyb25vcy1wb3Mub3JnL2V4cGxvcmVyL3R4Lyc7XG59XG5cbmNsYXNzIENyb25vc1Rlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rlc3RuZXQgQ3Jvbm9zIFBPUyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQ1JPTk9TO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2Nyb25vcy1wb3Mub3JnL2V4cGxvcmVyL2Nyb2VzZWlkNC90eC8nO1xufVxuXG5jbGFzcyBGZXRjaEFpIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdGZXRjaCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRkVUQ0hBSTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93d3cubWludHNjYW4uaW8vZmV0Y2hhaSc7XG59XG5cbmNsYXNzIEZldGNoQWlUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdUZXN0bmV0IEZldGNoJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5GRVRDSEFJO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmUtZXJpZGFudXMtMS5mZXRjaC5haS8nO1xufVxuXG5jbGFzcyBJbml0aWEgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0luaXRpYSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuSU5JVElBO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3NjYW4uaW5pdGlhLnh5ei9pbnRlcndvdmVuLTEvdHhzLyc7XG59XG5cbmNsYXNzIEluaXRpYVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rlc3RuZXQgSW5pdGlhJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5JTklUSUE7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc2Nhbi50ZXN0bmV0LmluaXRpYS54eXovaW5pdGlhdGlvbi0yL3R4cy8nO1xufVxuXG5jbGFzcyBBc2kgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0ZldGNoIE5hdGl2ZSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQVNJO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2NvbXBhbmlvbi5mZXRjaC5haS9mZXRjaGh1Yi00L3RyYW5zYWN0aW9ucy8nO1xufVxuXG5jbGFzcyBBc2lUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdUZXN0bmV0IEZldGNoIE5hdGl2ZSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQVNJO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2NvbXBhbmlvbi5mZXRjaC5haS9kb3JhZG8tMS90cmFuc2FjdGlvbnMvJztcbn1cblxuY2xhc3MgSXNsbSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnSGFxcSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuSVNMTTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9waW5nLnB1Yi9oYXFxL3R4Lyc7XG59XG5cbmNsYXNzIElzbG1UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdIYXFxVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuSVNMTTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LnBpbmcucHViL2hhcXEvdHgvJztcbn1cblxuY2xhc3MgU3R4IGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFN0YWNrc05ldHdvcmsge1xuICBuYW1lID0gJ1N0eCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuU1RYO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLmhpcm8uc28vdHhpZC8nO1xuICBzZW5kbWFueW1lbW9Db250cmFjdEFkZHJlc3MgPSAnU1AzRkJSMkFHSzVIOVFCREgzRUVONkRGOEVLOEpZN1JYOFFKNVNWVEUnO1xuICBzdGFraW5nQ29udHJhY3RBZGRyZXNzID0gJ1NQMDAwMDAwMDAwMDAwMDAwMDAwMDAyUTZWRjc4Jztcbn1cblxuY2xhc3MgU3R4VGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBTdGFja3NOZXR3b3JrIHtcbiAgbmFtZSA9ICdTdHhUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TVFg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuaGlyby5zby90eGlkLz9jaGFpbj10ZXN0bmV0JztcbiAgc2VuZG1hbnltZW1vQ29udHJhY3RBZGRyZXNzID0gJ1NUM0YxWDRRR1YyU004WEQ5Nlg0NU02UlRRWEtBMVBaSlpaQ1FBQjRCJztcbiAgc3Rha2luZ0NvbnRyYWN0QWRkcmVzcyA9ICdTVDAwMDAwMDAwMDAwMDAwMDAwMDAwMkFNVzQySCc7XG59XG5cbmNsYXNzIFNVU0QgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1NVU0QnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNVU0Q7XG4gIGV4cGxvcmVyVXJsID0gdW5kZWZpbmVkO1xufVxuXG5jbGFzcyBTVVNEVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnU1VTRFRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNVU0Q7XG4gIGV4cGxvcmVyVXJsID0gdW5kZWZpbmVkO1xufVxuXG5jbGFzcyBGaWF0VGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBCYXNlTmV0d29yayB7XG4gIG5hbWUgPSAnRmlhdFRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkZJQVQ7XG4gIGV4cGxvcmVyVXJsID0gdW5kZWZpbmVkO1xufVxuXG5jbGFzcyBGaWF0IGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEJhc2VOZXR3b3JrIHtcbiAgbmFtZSA9ICdGaWF0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5GSUFUO1xuICBleHBsb3JlclVybCA9IHVuZGVmaW5lZDtcbn1cblxuY2xhc3MgQml0dGVuc29yIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdUYW8nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlRBTztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90YW9zdGF0cy5pby9leHRyaW5zaWMvJztcbn1cblxuY2xhc3MgQml0dGVuc29yVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnVGVzdG5ldCBUYW8nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlRBTztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5maW5uZXkub3BlbnRlbnNvci5haS8jLyc7XG4gIHNwZWNOYW1lID0gJ25vZGUtc3VidGVuc29yJyBhcyBTdWJzdHJhdGVTcGVjTmFtZVR5cGU7XG4gIGdlbmVzaXNIYXNoID0gJzB4OGY5Y2Y4NTZiZjU1OGExNDQ0MGU3NTU2OWM5ZTU4NTk0NzU3MDQ4ZDdiM2E4NGI1ZDI1ZjZiZDk3ODI2MzEwNSc7XG4gIHNwZWNWZXJzaW9uID0gMjI0O1xuICBjaGFpbk5hbWUgPSAnYml0dGVuc29yJztcbiAgdHhWZXJzaW9uID0gMTtcbn1cblxuY2xhc3MgVHJ4IGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFRyb25OZXR3b3JrIHtcbiAgbmFtZSA9ICdUcngnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlRSWDtcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdHJvbnNjYW4ub3JnLyMvYWRkcmVzcy8nO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Ryb25zY2FuLm9yZy8jL3RyYW5zYWN0aW9uLyc7XG4gIG1heEZlZUxpbWl0ID0gJzUwMDAwMDAwMDAnO1xuICBjb250cmFjdENhbGxGZWVMaW1pdCA9ICcxMDAwMDAwMDAnO1xufVxuXG5jbGFzcyBUcnhUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIFRyb25OZXR3b3JrIHtcbiAgbmFtZSA9ICdUcnhUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5UUlg7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3NoYXN0YS50cm9uc2Nhbi5vcmcvIy9hZGRyZXNzLyc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc2hhc3RhLnRyb25zY2FuLm9yZy8jL3RyYW5zYWN0aW9uLyc7XG4gIG1heEZlZUxpbWl0ID0gJzUwMDAwMDAwMDAnO1xuICBjb250cmFjdENhbGxGZWVMaW1pdCA9ICcxMDAwMDAwMDAnO1xufVxuXG5jbGFzcyBYcnAgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1hycCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWFJQO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2xpdmVuZXQueHJwbC5vcmcvdHJhbnNhY3Rpb25zLyc7XG59XG5cbmNsYXNzIFhycFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1hycFRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlhSUDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0LnhycGxleHBsb3Jlci5jb20vZXhwbG9yZXIvJztcbn1cblxuY2xhc3MgWHR6IGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdYdHonO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlhUWjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90enN0YXRzLmNvbS8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90enN0YXRzLmNvbS8nO1xufVxuXG5jbGFzcyBYdHpUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdYdHpUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5YVFo7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZ2hvc3RuZXQudHprdC5pby8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9naG9zdG5ldC50emt0LmlvLyc7XG59XG5cbmNsYXNzIFpDYXNoIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdaQ2FzaCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWkVDO1xuICB1dHhvbGliTmFtZSA9ICd6Y2FzaCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vY2hhaW4uc28vdHgvWkVDLyc7XG59XG5cbmNsYXNzIFpDYXNoVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnWkNhc2hUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5aRUM7XG4gIHV0eG9saWJOYW1lID0gJ3pjYXNoVGVzdCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vY2hhaW4uc28vdHgvWkVDVEVTVC8nO1xufVxuXG5jbGFzcyBOZWFyIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdOZWFyJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5ORUFSO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL25lYXJibG9ja3MuaW8vdHhucy8nO1xuICBmZWVSZXNlcnZlID0gJzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJztcbiAgc3RvcmFnZVJlc2VydmUgPSAnMjAwMDAwMDAwMDAwMDAwMDAwMDAwMCc7IC8vIGZlZVJlc2VydmUgKyBzdG9yYWdlUmVzZXJ2ZSBpcyBtaW5pbXVtIGFjY291bnQgYmFsYW5jZSBmb3IgYSBORUFSIHdhbGxldCBodHRwczovL2RvY3MubmVhci5vcmcvaW50ZWdyYXRvci9mYXEjaXMtdGhlcmUtYS1taW5pbXVtLWFjY291bnQtYmFsYW5jZVxufVxuXG5jbGFzcyBOZWFyVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnTmVhclRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5Lk5FQVI7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC5uZWFyYmxvY2tzLmlvL3R4bnMvJztcbiAgZmVlUmVzZXJ2ZSA9ICc1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMCc7XG4gIHN0b3JhZ2VSZXNlcnZlID0gJzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAnOyAvLyBmZWVSZXNlcnZlICsgc3RvcmFnZVJlc2VydmUgaXMgbWluaW11bSBhY2NvdW50IGJhbGFuY2UgZm9yIGEgTkVBUiB3YWxsZXQgaHR0cHM6Ly9kb2NzLm5lYXIub3JnL2ludGVncmF0b3IvZmFxI2lzLXRoZXJlLWEtbWluaW11bS1hY2NvdW50LWJhbGFuY2Vcbn1cblxuY2xhc3MgUG9seWdvbiBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1BvbHlnb24nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlBPTFlHT047XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vcG9seWdvbnNjYW4uY29tL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3BvbHlnb25zY2FuLmNvbS9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAxMzc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4MjllZjQ2MDM1ZTlmYTNkNTcwYzU5OGQzMjY2NDI0Y2ExMTQxM2IwYyc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweDUzOTdkMDg2OWFiYTBkNTVlOTZkNTcxNmQzODNmNmUxZDg2OTVlZDcnO1xuICB3YWxsZXRGYWN0b3J5QWRkcmVzcyA9ICcweGE3MTk4ZjQ4YzU4ZTkxZjAxMzE3ZTcwY2QyNGM1Y2NlNDc1YzE1NTUnO1xuICB3YWxsZXRJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhlNWRjZGMxM2I2MjhjMmRmODEzZGIxMDgwMzY3ZTkyOWMxNTA3Y2EwJztcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweDNlMWU1ZDc4ZTQ0ZjE1NTkzYjNiNjFlZDI3OGYxMmMyN2YwZmYzM2UnO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICdQT0xZR09OJztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ1BPTFlHT04tRVJDMjAnO1xuICB3YWxsZXRWNEZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4Mzc5OTZlNzYyZmE4YjY3MTg2OTc0MGM3OWViMzNmNjI1YjNiZjkyYSc7XG4gIHdhbGxldFY0Rm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG59XG5cbmNsYXNzIFBvbHlnb25UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnUG9seWdvblRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlBPTFlHT047XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYW1veS5wb2x5Z29uc2Nhbi5jb20vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYW1veS5wb2x5Z29uc2Nhbi5jb20vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gODAwMDI7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4MjMyMjNmZDdjZmM1ZjM0YjIwZjM4ZWJiOWE0ODllMWZmM2MwODRkMSc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGQ0YzI0MzI1YjVlZjUxNGZiYjFlY2M3NmE5YmI0ZGNiNTdhODM0MWUnO1xuICB3YWxsZXRGYWN0b3J5QWRkcmVzcyA9ICcweGU5YzE2MDMzZTAxYmY5Zjk0YmY5Zjk5ZmMwZmVmY2ZiOGIxMjQ5OTInO1xuICB3YWxsZXRJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhmODM2MGMyMTNlNGY0NGNjZTAzZTQ4Y2I5MjgxMjU0ZGUyYTdhNTY2JztcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweDNlMWU1ZDc4ZTQ0ZjE1NTkzYjNiNjFlZDI3OGYxMmMyN2YwZmYzM2UnO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICdQT0xZR09OJztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ1BPTFlHT04tRVJDMjAnO1xuICB3YWxsZXRWNEZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4Mzc5OTZlNzYyZmE4YjY3MTg2OTc0MGM3OWViMzNmNjI1YjNiZjkyYSc7XG4gIHdhbGxldFY0Rm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG59XG5cbmNsYXNzIE9wdGltaXNtIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnT3B0aW1pc20nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5Lk9QRVRIO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL29wdGltaXN0aWMuZXRoZXJzY2FuLmlvL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL29wdGltaXN0aWMuZXRoZXJzY2FuLmlvL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDEwO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICcxMCc7XG4gIHRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCA9ICcxMC1FUkMyMCc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4Mzc5OTZlNzYyZmE4YjY3MTg2OTc0MGM3OWViMzNmNjI1YjNiZjkyYSc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGQ1ZmUxYzFmMjE2Yjc3NWRmZDMwNjM4ZmE3MTY0ZDQxMzIxZWY3OWInO1xuICB3YWxsZXRGYWN0b3J5QWRkcmVzcyA9ICcweDgwOWVlNTY3ZTQxMzU0M2FmMWNhZWJjZGIyNDdmNmE2N2VhZmM4ZGQnO1xuICB3YWxsZXRJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHg5NDRmZWYwM2FmMzY4NDE0ZjI5ZGMzMWE3MjA2MWI4ZDY0ZjU2OGQyJztcbiAgd2FsbGV0VjRGb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDM3OTk2ZTc2MmZhOGI2NzE4Njk3NDBjNzllYjMzZjYyNWIzYmY5MmEnO1xuICB3YWxsZXRWNEZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGQ1ZmUxYzFmMjE2Yjc3NWRmZDMwNjM4ZmE3MTY0ZDQxMzIxZWY3OWInO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4ZWJlMjc5MTNmY2M3NTEwZWFkZjEwNjQzYThmODZiZjU0OTJhOTU0MSc7XG59XG5cbmNsYXNzIE9wdGltaXNtVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ09wdGltaXNtVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuT1BFVEg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc2Vwb2xpYS1vcHRpbWlzbS5ldGhlcnNjYW4uaW8vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc2Vwb2xpYS1vcHRpbWlzbS5ldGhlcnNjYW4uaW8vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMTExNTU0MjA7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzExMTU1NDIwJztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzExMTU1NDIwLUVSQzIwJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgzNzk5NmU3NjJmYThiNjcxODY5NzQwYzc5ZWIzM2Y2MjViM2JmOTJhJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG4gIHdhbGxldEZhY3RvcnlBZGRyZXNzID0gJzB4ODA5ZWU1NjdlNDEzNTQzYWYxY2FlYmNkYjI0N2Y2YTY3ZWFmYzhkZCc7XG4gIHdhbGxldEltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweDk0NGZlZjAzYWYzNjg0MTRmMjlkYzMxYTcyMDYxYjhkNjRmNTY4ZDInO1xuICB3YWxsZXRWNEZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4Mzc5OTZlNzYyZmE4YjY3MTg2OTc0MGM3OWViMzNmNjI1YjNiZjkyYSc7XG4gIHdhbGxldFY0Rm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHhlYmUyNzkxM2ZjYzc1MTBlYWRmMTA2NDNhOGY4NmJmNTQ5MmE5NTQxJztcbn1cblxuY2xhc3MgWmtTeW5jIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnWmtTeW5jJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5aS0VUSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci56a3N5bmMuaW8vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuemtzeW5jLmlvL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDMyNDtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMzI0JztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzMyNC1FUkMyMCc7XG59XG5cbmNsYXNzIFprU3luY1Rlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdaa1N5bmNUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5aS0VUSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zZXBvbGlhLmV4cGxvcmVyLnprc3luYy5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zZXBvbGlhLmV4cGxvcmVyLnprc3luYy5pby9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAzMDA7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzMwMCc7XG4gIHRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCA9ICczMDAtRVJDMjAnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweGRkNDk4NzAyZjQ0YzRkYTA4ZWI5ZTA4ZDNmMDE1ZWVmZTVjYjcxZmMnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhiZTY5Y2FlMzExMTkxZmI0NWU2NDhlZDIwODQ3ZjA2ZmFkMmRiYWI0JztcbiAgd2FsbGV0VjRGb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDM3OTk2ZTc2MmZhOGI2NzE4Njk3NDBjNzllYjMzZjYyNWIzYmY5MmEnO1xuICB3YWxsZXRWNEZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGQ1ZmUxYzFmMjE2Yjc3NWRmZDMwNjM4ZmE3MTY0ZDQxMzIxZWY3OWInO1xuICB3YWxsZXRGYWN0b3J5QWRkcmVzcyA9ICcweDQ1NTBlMWU3NjE2ZDMzNjQ4NzdmYzZjOTMyNDkzOGRhYjY3ODYyMWEnO1xuICB3YWxsZXRJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHg5MmRiMjc1OWQxZGNhMTI5YTBkOWQ0Njg3N2YzNjFiZTgxOTE4NGM0Jztcbn1cblxuY2xhc3MgQmVyYWNoYWluIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnQmVyYSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQkVSQTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9iZXJhc2Nhbi5jb20vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmVyYXNjYW4uY29tL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDgwMDk0O1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc4MDA5NCc7XG4gIHRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc4MDA5NC1FUkMyMCc7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHhlZGYxYTAwMTZkOWM0MWQyYWQwYzI3NWUxYmE3MDgzNjFhOTBjMGQxJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgzNzk5NmU3NjJmYThiNjcxODY5NzQwYzc5ZWIzM2Y2MjViM2JmOTJhJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG59XG5cbmNsYXNzIEJlcmFjaGFpblRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdCZXJhVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQkVSQTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LmJlcmFzY2FuLmNvbS90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LmJlcmFzY2FuLmNvbS9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA4MDA2OTtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnODAwNjknO1xuICB0b2tlbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnODAwNjktRVJDMjAnO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4M2UxZTVkNzhlNDRmMTU1OTNiM2I2MWVkMjc4ZjEyYzI3ZjBmZjMzZSc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4Mzc5OTZlNzYyZmE4YjY3MTg2OTc0MGM3OWViMzNmNjI1YjNiZjkyYSc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGQ1ZmUxYzFmMjE2Yjc3NWRmZDMwNjM4ZmE3MTY0ZDQxMzIxZWY3OWInO1xufVxuXG5jbGFzcyBPYXMgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdPYXMnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5Lk9BUztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5vYXN5cy5nYW1lcy90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5vYXN5cy5nYW1lcy9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAyNDg7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzI0OCc7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHhlZGYxYTAwMTZkOWM0MWQyYWQwYzI3NWUxYmE3MDgzNjFhOTBjMGQxJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgzNzk5NmU3NjJmYThiNjcxODY5NzQwYzc5ZWIzM2Y2MjViM2JmOTJhJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG59XG5cbmNsYXNzIE9hc1Rlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdPYXNUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5PQVM7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIudGVzdG5ldC5vYXN5cy5nYW1lcy90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci50ZXN0bmV0Lm9hc3lzLmdhbWVzL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDkzNzI7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzkzNzInO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4ZWRmMWEwMDE2ZDljNDFkMmFkMGMyNzVlMWJhNzA4MzYxYTkwYzBkMSc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4Mzc5OTZlNzYyZmE4YjY3MTg2OTc0MGM3OWViMzNmNjI1YjNiZjkyYSc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGQ1ZmUxYzFmMjE2Yjc3NWRmZDMwNjM4ZmE3MTY0ZDQxMzIxZWY3OWInO1xufVxuXG5jbGFzcyBDb3JlZGFvIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnQ29yZWRhbyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQ09SRURBTztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zY2FuLmNvcmVkYW8ub3JnL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3NjYW4uY29yZWRhby5vcmcvYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMTExNjtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMTExNic7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHhjNWQ3YTNiNGM0OTBjNjI0MmZiMjhmMjBlNWZlMzNjZDk4MzM3MmEzJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgzNzk5NmU3NjJmYThiNjcxODY5NzQwYzc5ZWIzM2Y2MjViM2JmOTJhJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG59XG5cbmNsYXNzIENvcmVkYW9UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnQ29yZWRhb1Rlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkNPUkVEQU87XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc2Nhbi50ZXN0Mi5idGNzLm5ldHdvcmsvdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc2Nhbi50ZXN0Mi5idGNzLm5ldHdvcmsvYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMTExNDtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMTExNCc7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHhjNWQ3YTNiNGM0OTBjNjI0MmZiMjhmMjBlNWZlMzNjZDk4MzM3MmEzJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgzNzk5NmU3NjJmYThiNjcxODY5NzQwYzc5ZWIzM2Y2MjViM2JmOTJhJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG59XG5cbmNsYXNzIElQIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnU3RvcnknO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LklQO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3d3dy5zdG9yeXNjYW4uaW8vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vd3d3LnN0b3J5c2Nhbi5pby9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAxNTE0O1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICcxNTE0Jztcbn1cblxuY2xhc3MgSVBUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnU3RvcnlUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5JUDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9hZW5laWQuZXhwbG9yZXIuc3RvcnkuZm91bmRhdGlvbi90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9hZW5laWQuc3RvcnlzY2FuLmlvL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDEzMTU7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzEzMTUnO1xufVxuXG5jbGFzcyBBcGVDaGFpbiBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0FwZUNoYWluJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BUEVDSEFJTjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9hcGVzY2FuLmlvL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2FwZXNjYW4uaW8vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMzMxMzk7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzMzMTM5Jztcbn1cblxuY2xhc3MgQXBlQ2hhaW5UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnQXBlQ2hhaW5UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BUEVDSEFJTjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9jdXJ0aXMuYXBlc2Nhbi5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9jdXJ0aXMuYXBlc2Nhbi5pby9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAzMzExMTtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMzMxMTEnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDM3OTk2ZTc2MmZhOGI2NzE4Njk3NDBjNzllYjMzZjYyNWIzYmY5MmEnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhkNWZlMWMxZjIxNmI3NzVkZmQzMDYzOGZhNzE2NGQ0MTMyMWVmNzliJztcbiAgd2FsbGV0RmFjdG9yeUFkZHJlc3MgPSAnMHg4MDllZTU2N2U0MTM1NDNhZjFjYWViY2RiMjQ3ZjZhNjdlYWZjOGRkJztcbiAgd2FsbGV0SW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4OTQ0ZmVmMDNhZjM2ODQxNGYyOWRjMzFhNzIwNjFiOGQ2NGY1NjhkMic7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHgzZTFlNWQ3OGU0NGYxNTU5M2IzYjYxZWQyNzhmMTJjMjdmMGZmMzNlJztcbn1cblxuY2xhc3MgUGhhcm9zIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnUGhhcm9zJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5QSFJTO1xuICBleHBsb3JlclVybCA9ICcnOyAvLyBUT0RPOiBXSU4tNTc4NyBBZGQgbWFpbm5ldCB1cmwgd2hlbiBhdmFpbGFibGVcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJyc7IC8vIFRPRE86IFdJTi01Nzg3IEFkZCBtYWlubmV0IHVybCB3aGVuIGF2YWlsYWJsZVxuICBjaGFpbklkID0gNjg4Njg4OyAvLyBUT0RPOiBXSU4tNTc4NyBBZGQgbWFpbm5ldCBpZCB3aGVuIGF2YWlsYWJsZVxuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc2ODg2ODgnO1xufVxuXG5jbGFzcyBQaGFyb3NUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnUGhhcm9zVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuUEhSUztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LnBoYXJvc3NjYW4ueHl6L3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQucGhhcm9zc2Nhbi54eXovYWRkcmVzcy8nO1xuICBjaGFpbklkID0gNjg4Njg4O1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc2ODg2ODgnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDM3OTk2ZTc2MmZhOGI2NzE4Njk3NDBjNzllYjMzZjYyNWIzYmY5MmEnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhkNWZlMWMxZjIxNmI3NzVkZmQzMDYzOGZhNzE2NGQ0MTMyMWVmNzliJztcbiAgd2FsbGV0RmFjdG9yeUFkZHJlc3MgPSAnMHg4MDllZTU2N2U0MTM1NDNhZjFjYWViY2RiMjQ3ZjZhNjdlYWZjOGRkJztcbiAgd2FsbGV0SW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4OTQ0ZmVmMDNhZjM2ODQxNGYyOWRjMzFhNzIwNjFiOGQ2NGY1NjhkMic7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHgzZTFlNWQ3OGU0NGYxNTU5M2IzYjYxZWQyNzhmMTJjMjdmMGZmMzNlJztcbn1cblxuY2xhc3MgQ3JlZGl0Y29pbiBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0NyZWRpdGNvaW4nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkNUQztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9jcmVkaXRjb2luLmJsb2Nrc2NvdXQuY29tL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2NyZWRpdGNvaW4uYmxvY2tzY291dC5jb20vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMTAyMDMwO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICcxMDIwMzAnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDM3OTk2ZTc2MmZhOGI2NzE4Njk3NDBjNzllYjMzZjYyNWIzYmY5MmEnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhkNWZlMWMxZjIxNmI3NzVkZmQzMDYzOGZhNzE2NGQ0MTMyMWVmNzliJztcbiAgd2FsbGV0RmFjdG9yeUFkZHJlc3MgPSAnMHg4MDllZTU2N2U0MTM1NDNhZjFjYWViY2RiMjQ3ZjZhNjdlYWZjOGRkJztcbiAgd2FsbGV0SW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4OTQ0ZmVmMDNhZjM2ODQxNGYyOWRjMzFhNzIwNjFiOGQ2NGY1NjhkMic7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHgzZTFlNWQ3OGU0NGYxNTU5M2IzYjYxZWQyNzhmMTJjMjdmMGZmMzNlJztcbn1cblxuY2xhc3MgUGxhc21hIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnUGxhc21hJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5YUEw7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vcGxhc21hc2Nhbi50by90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9wbGFzbWFzY2FuLnRvL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDk3NDU7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzk3NDUnO1xufVxuXG5jbGFzcyBQbGFzbWFUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnUGxhc21hVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWFBMO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQucGxhc21hc2Nhbi50by90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LnBsYXNtYXNjYW4udG8vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gOTc0NjtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnOTc0Nic7XG59XG5cbmNsYXNzIEh5cGVFVk1UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnSHlwZXJsaXF1aWRFVk1UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5IWVBFRVZNO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQucHVycnNlYy5jb20vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC5wdXJyc2VjLmNvbS9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA5OTg7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzk5OCc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4Mzc5OTZlNzYyZmE4YjY3MTg2OTc0MGM3OWViMzNmNjI1YjNiZjkyYSc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGQ1ZmUxYzFmMjE2Yjc3NWRmZDMwNjM4ZmE3MTY0ZDQxMzIxZWY3OWInO1xuICB3YWxsZXRGYWN0b3J5QWRkcmVzcyA9ICcweDgwOWVlNTY3ZTQxMzU0M2FmMWNhZWJjZGIyNDdmNmE2N2VhZmM4ZGQnO1xuICB3YWxsZXRJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHg5NDRmZWYwM2FmMzY4NDE0ZjI5ZGMzMWE3MjA2MWI4ZDY0ZjU2OGQyJztcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweDNlMWU1ZDc4ZTQ0ZjE1NTkzYjNiNjFlZDI3OGYxMmMyN2YwZmYzM2UnO1xufVxuXG5jbGFzcyBIeXBlRVZNIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnSHlwZXJsaXF1aWRFVk0nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkhZUEVFVk07XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vaHlwZXJldm0tZXhwbG9yZXIudmVyY2VsLmFwcC90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9oeXBlcmV2bS1leHBsb3Jlci52ZXJjZWwuYXBwL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDk5OTtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnOTk5JztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgzNzk5NmU3NjJmYThiNjcxODY5NzQwYzc5ZWIzM2Y2MjViM2JmOTJhJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG4gIHdhbGxldEZhY3RvcnlBZGRyZXNzID0gJzB4ODA5ZWU1NjdlNDEzNTQzYWYxY2FlYmNkYjI0N2Y2YTY3ZWFmYzhkZCc7XG4gIHdhbGxldEltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweDk0NGZlZjAzYWYzNjg0MTRmMjlkYzMxYTcyMDYxYjhkNjRmNTY4ZDInO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4M2UxZTVkNzhlNDRmMTU1OTNiM2I2MWVkMjc4ZjEyYzI3ZjBmZjMzZSc7XG59XG5cbmNsYXNzIEthdmFFVk1UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnS2F2YUVWTVRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LktBVkFFVk07XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC5rYXZhc2Nhbi5jb20vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC5rYXZhc2Nhbi5jb20vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMjIyMTtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMjIyMSc7XG59XG5cbmNsYXNzIEthdmFFVk0gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdLYXZhRVZNJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5LQVZBRVZNO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2thdmFzY2FuLmNvbS90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9rYXZhc2Nhbi5jb20vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMjIyMjtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMjIyMic7XG59XG5cbmNsYXNzIExpbmVhRVRIIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnTGluZWEgRXRoZXJldW0gVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuTElORUFFVEg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vbGluZWFzY2FuLmJ1aWxkL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2xpbmVhc2Nhbi5idWlsZC9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA1OTE0NDtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnNTkxNDQnO1xufVxuXG5jbGFzcyBMaW5lYUVUSFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdMaW5lYSBFdGhlcmV1bSBUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5MSU5FQUVUSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zZXBvbGlhLmxpbmVhc2Nhbi5idWlsZC90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zZXBvbGlhLmxpbmVhc2Nhbi5idWlsZC9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA1OTE0MTtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnNTkxNDEnO1xufVxuXG5jbGFzcyBGbHVlbnRFVEggZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdGbHVlbnQgRXRoZXJldW0nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkZMVUVOVEVUSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9kZXZuZXQuZmx1ZW50c2Nhbi54eXovdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZGV2bmV0LmZsdWVudHNjYW4ueHl6L2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDIwOTkzO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICcyMDk5Myc7XG59XG5cbmNsYXNzIEZsdWVudEVUSFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdUZXN0bmV0IEZsdWVudCBFdGhlcmV1bSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRkxVRU5URVRIO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQuZmx1ZW50c2Nhbi54eXovdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC5mbHVlbnRzY2FuLnh5ei9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAyMDk5NDtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMjA5OTQnO1xufVxuXG5jbGFzcyBNYW50bGUgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdNYW50bGUgTmF0aXZlJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5NQU5UTEU7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vbWFudGxlc2Nhbi54eXovdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vbWFudGxlc2Nhbi54eXovYWRkcmVzcy8nO1xuICBjaGFpbklkID0gNTAwMDtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnNTAwMCc7XG59XG5cbmNsYXNzIE1hbnRsZVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdUZXN0bmV0IE1hbnRsZSBOYXRpdmUnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5Lk1BTlRMRTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zZXBvbGlhLm1hbnRsZXNjYW4ueHl6L3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3NlcG9saWEubWFudGxlc2Nhbi54eXovYWRkcmVzcy8nO1xuICBjaGFpbklkID0gNTAwMztcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnNTAwMyc7XG59XG5cbmNsYXNzIEpvdmF5RVRIIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnSm92YXkgRXRoZXJldW0nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkpPVkFZRVRIO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLmpvdmF5LmlvL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLmpvdmF5LmlvL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDU3MzQ5NTE7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzU3MzQ5NTEnO1xufVxuXG5jbGFzcyBKb3ZheUVUSFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdUZXN0bmV0IEpvdmF5IEV0aGVyZXVtJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5KT1ZBWUVUSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zZXBvbGlhLWV4cGxvcmVyLmpvdmF5LmlvL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3NlcG9saWEtZXhwbG9yZXIuam92YXkuaW8vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMjAxOTc3NTtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMjAxOTc3NSc7XG59XG5cbmNsYXNzIFhsYXllciBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1ggTGF5ZXInO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5Lk9LQjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93d3cub2tsaW5rLmNvbS94LWxheWVyL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3d3dy5va2xpbmsuY29tL3gtbGF5ZXIvYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMTk2O1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICcxOTYnO1xufVxuXG5jbGFzcyBYbGF5ZXJUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnVGVzdG5ldCBYIExheWVyJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5PS0I7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vd3d3Lm9rbGluay5jb20veC1sYXllci10ZXN0bmV0L3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3d3dy5va2xpbmsuY29tL3gtbGF5ZXItdGVzdG5ldC9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAxOTU7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzE5NSc7XG59XG5cbmNsYXNzIE1vcnBoIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnTW9ycGggTWFpbm5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuTU9SUEg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXItYXBpLWhvb2RpLm1vcnBobDIuaW8vdHgvJzsgLy8gVE9ETzogV0lOLTgxMzQgYWRkIG1haW5uZXQgdXJsIHdoZW4gYXZhaWxhYmxlXG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLWFwaS1ob29kaS5tb3JwaGwyLmlvL2FkZHJlc3MvJzsgLy8gVE9ETzogV0lOLTgxMzQgYWRkIG1haW5uZXQgYWNjb3VudCBleHBsb3JlciB1cmwgd2hlbiBhdmFpbGFibGVcbiAgY2hhaW5JZCA9IDI4MTg7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzI4MTgnO1xufVxuXG5jbGFzcyBNb3JwaFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdNb3JwaCBUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5NT1JQSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci1hcGktaG9vZGkubW9ycGhsMi5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci1hcGktaG9vZGkubW9ycGhsMi5pby9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAyNzEwO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICcyNzEwJztcbn1cblxuY2xhc3MgQ3JlZGl0Y29pblRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdDcmVkaXRjb2luVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQ1RDO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2NyZWRpdGNvaW4tdGVzdG5ldC5ibG9ja3Njb3V0LmNvbS90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9jcmVkaXRjb2luLXRlc3RuZXQuYmxvY2tzY291dC5jb20vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMTAyMDMxO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICcxMDIwMzEnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDM3OTk2ZTc2MmZhOGI2NzE4Njk3NDBjNzllYjMzZjYyNWIzYmY5MmEnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhkNWZlMWMxZjIxNmI3NzVkZmQzMDYzOGZhNzE2NGQ0MTMyMWVmNzliJztcbiAgd2FsbGV0RmFjdG9yeUFkZHJlc3MgPSAnMHg4MDllZTU2N2U0MTM1NDNhZjFjYWViY2RiMjQ3ZjZhNjdlYWZjOGRkJztcbiAgd2FsbGV0SW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4OTQ0ZmVmMDNhZjM2ODQxNGYyOWRjMzFhNzIwNjFiOGQ2NGY1NjhkMic7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHgzZTFlNWQ3OGU0NGYxNTU5M2IzYjYxZWQyNzhmMTJjMjdmMGZmMzNlJztcbn1cblxuY2xhc3MgU29uaWMgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdTb25pYyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuU09OSUM7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc29uaWNzY2FuLm9yZy90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zb25pY3NjYW4ub3JnL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDE0NjtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMTQ2Jztcbn1cblxuY2xhc3MgU29uaWNUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnU29uaWNUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TT05JQztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LnNvbmljc2Nhbi5vcmcvdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC5zb25pY3NjYW4ub3JnL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDE0NjAxO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICcxNDYwMSc7XG4gIHdhbGxldEZhY3RvcnlBZGRyZXNzID0gJzB4ODA5ZWU1NjdlNDEzNTQzYWYxY2FlYmNkYjI0N2Y2YTY3ZWFmYzhkZCc7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHgzZTFlNWQ3OGU0NGYxNTU5M2IzYjYxZWQyNzhmMTJjMjdmMGZmMzNlJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgzNzk5NmU3NjJmYThiNjcxODY5NzQwYzc5ZWIzM2Y2MjViM2JmOTJhJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG4gIHdhbGxldEltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweDk0NGZlZjAzYWYzNjg0MTRmMjlkYzMxYTcyMDYxYjhkNjRmNTY4ZDInO1xufVxuXG5jbGFzcyBLYWlhIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnS2FpYSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuS0FJQTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9rYWlhc2Nhbi5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9rYWlhc2Nhbi5pby9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA4MjE3O1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc4MjE3Jztcbn1cblxuY2xhc3MgS2FpYVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdLYWlhVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuS0FJQTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9rYWlyb3Mua2FpYXNjYW4uaW8vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8va2Fpcm9zLmthaWFzY2FuLmlvL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDEwMDE7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzEwMDEnO1xuICB3YWxsZXRGYWN0b3J5QWRkcmVzcyA9ICcweDgwOWVlNTY3ZTQxMzU0M2FmMWNhZWJjZGIyNDdmNmE2N2VhZmM4ZGQnO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4M2UxZTVkNzhlNDRmMTU1OTNiM2I2MWVkMjc4ZjEyYzI3ZjBmZjMzZSc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4Mzc5OTZlNzYyZmE4YjY3MTg2OTc0MGM3OWViMzNmNjI1YjNiZjkyYSc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGQ1ZmUxYzFmMjE2Yjc3NWRmZDMwNjM4ZmE3MTY0ZDQxMzIxZWY3OWInO1xuICB3YWxsZXRJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHg5NDRmZWYwM2FmMzY4NDE0ZjI5ZGMzMWE3MjA2MWI4ZDY0ZjU2OGQyJztcbn1cblxuY2xhc3MgSXJ5cyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0lyeXMnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LklSWVM7XG4gIGV4cGxvcmVyVXJsID0gJyc7IC8vV0lOLTYxOTEgYWRkIG1haW5uZXQgdXJsIHdoZW4gYXZhaWxhYmxlXG4gIGFjY291bnRFeHBsb3JlclVybCA9ICcnOyAvL1dJTi02MTkxIGFkZCBtYWlubmV0IHVybCB3aGVuIGF2YWlsYWJsZVxuICBjaGFpbklkID0gMTI3MDsgLy9XSU4tNjE5MSBhZGQgbWFpbm5ldCBpZCB3aGVuIGF2YWlsYWJsZVxuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICcxMjcwJztcbn1cblxuY2xhc3MgSXJ5c1Rlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdJcnlzVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuSVJZUztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LWV4cGxvcmVyLmlyeXMueHl6L3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQtZXhwbG9yZXIuaXJ5cy54eXovYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMTI3MDtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMTI3MCc7XG4gIHdhbGxldEZhY3RvcnlBZGRyZXNzID0gJzB4ODA5ZWU1NjdlNDEzNTQzYWYxY2FlYmNkYjI0N2Y2YTY3ZWFmYzhkZCc7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHgzZTFlNWQ3OGU0NGYxNTU5M2IzYjYxZWQyNzhmMTJjMjdmMGZmMzNlJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgzNzk5NmU3NjJmYThiNjcxODY5NzQwYzc5ZWIzM2Y2MjViM2JmOTJhJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG4gIHdhbGxldEltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweDk0NGZlZjAzYWYzNjg0MTRmMjlkYzMxYTcyMDYxYjhkNjRmNTY4ZDInO1xufVxuXG5jbGFzcyBPZyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1plcm8gR3Jhdml0eSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuT0c7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vY2hhaW5zY2FuLjBnLmFpL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2NoYWluc2Nhbi4wZy5haS9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAxNjY2MTtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMTY2NjEnO1xufVxuXG5jbGFzcyBPZ1Rlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdaZXJvIEdyYXZpdHkgVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuT0c7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vY2hhaW5zY2FuLWdhbGlsZW8uMGcuYWkvdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vY2hhaW5zY2FuLWdhbGlsZW8uMGcuYWkvYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMTY2MDI7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzE2NjAyJztcbn1cblxuY2xhc3MgWGRjIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnWGRjQ2hhaW4nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlhEQztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly94ZGNzY2FuLmNvbS90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly94ZGNzY2FuLmNvbS9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA1MDtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnNTAnO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4YzVkN2EzYjRjNDkwYzYyNDJmYjI4ZjIwZTVmZTMzY2Q5ODMzNzJhMyc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4Mzc5OTZlNzYyZmE4YjY3MTg2OTc0MGM3OWViMzNmNjI1YjNiZjkyYSc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGQ1ZmUxYzFmMjE2Yjc3NWRmZDMwNjM4ZmE3MTY0ZDQxMzIxZWY3OWInO1xufVxuY2xhc3MgWGRjVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1hkY0NoYWluVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWERDO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQueGRjc2Nhbi5jb20vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC54ZGNzY2FuLmNvbS9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA1MTtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnNTEnO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4ZWJlMjc5MTNmY2M3NTEwZWFkZjEwNjQzYThmODZiZjU0OTJhOTU0MSc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4Mzc5OTZlNzYyZmE4YjY3MTg2OTc0MGM3OWViMzNmNjI1YjNiZjkyYSc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGQ1ZmUxYzFmMjE2Yjc3NWRmZDMwNjM4ZmE3MTY0ZDQxMzIxZWY3OWInO1xufVxuY2xhc3MgV2VtaXggZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdXZW1peENoYWluJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5XRU1JWDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci53ZW1peC5jb20vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIud2VtaXguY29tL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDExMTE7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzExMTEnO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4YzVkN2EzYjRjNDkwYzYyNDJmYjI4ZjIwZTVmZTMzY2Q5ODMzNzJhMyc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4Mzc5OTZlNzYyZmE4YjY3MTg2OTc0MGM3OWViMzNmNjI1YjNiZjkyYSc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGQ1ZmUxYzFmMjE2Yjc3NWRmZDMwNjM4ZmE3MTY0ZDQxMzIxZWY3OWInO1xufVxuY2xhc3MgV2VtaXhUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnV2VtaXhDaGFpblRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LldFTUlYO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnRlc3Qud2VtaXguY29tL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnRlc3Qud2VtaXguY29tL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDExMTI7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzExMTInO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4YzVkN2EzYjRjNDkwYzYyNDJmYjI4ZjIwZTVmZTMzY2Q5ODMzNzJhMyc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4Mzc5OTZlNzYyZmE4YjY3MTg2OTc0MGM3OWViMzNmNjI1YjNiZjkyYSc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGQ1ZmUxYzFmMjE2Yjc3NWRmZDMwNjM4ZmE3MTY0ZDQxMzIxZWY3OWInO1xufVxuY2xhc3MgTW9uYWRUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnTW9uYWRUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5NT047XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC5tb25hZGV4cGxvcmVyLmNvbS90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0Lm1vbmFkZXhwbG9yZXIuY29tL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDEwMTQzO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICcxMDE0Myc7XG4gIHdhbGxldEZhY3RvcnlBZGRyZXNzID0gJzB4ODA5ZWU1NjdlNDEzNTQzYWYxY2FlYmNkYjI0N2Y2YTY3ZWFmYzhkZCc7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHgzZTFlNWQ3OGU0NGYxNTU5M2IzYjYxZWQyNzhmMTJjMjdmMGZmMzNlJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgzNzk5NmU3NjJmYThiNjcxODY5NzQwYzc5ZWIzM2Y2MjViM2JmOTJhJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG4gIHdhbGxldEltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweDk0NGZlZjAzYWYzNjg0MTRmMjlkYzMxYTcyMDYxYjhkNjRmNTY4ZDInO1xufVxuY2xhc3MgTW9uYWQgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdNb25hZCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuTU9OO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL21haW5uZXQtYmV0YS5tb252aXNpb24uaW8vdHgvJztcbiAgY2hhaW5JZCA9IDE0MztcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMTQzJztcbiAgd2FsbGV0SW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4OTQ0ZmVmMDNhZjM2ODQxNGYyOWRjMzFhNzIwNjFiOGQ2NGY1NjhkMic7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHgzZTFlNWQ3OGU0NGYxNTU5M2IzYjYxZWQyNzhmMTJjMjdmMGZmMzNlJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgzNzk5NmU3NjJmYThiNjcxODY5NzQwYzc5ZWIzM2Y2MjViM2JmOTJhJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG59XG5cbmNsYXNzIFdvcmxkIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnV29ybGRjaGFpbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuV09STEQ7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vd29ybGRzY2FuLm9yZy90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93b3JsZHNjYW4ub3JnL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDQ4MDtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnNDgwJztcbiAgd2FsbGV0SW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4OTQ0ZmVmMDNhZjM2ODQxNGYyOWRjMzFhNzIwNjFiOGQ2NGY1NjhkMic7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHgzZTFlNWQ3OGU0NGYxNTU5M2IzYjYxZWQyNzhmMTJjMjdmMGZmMzNlJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgzNzk5NmU3NjJmYThiNjcxODY5NzQwYzc5ZWIzM2Y2MjViM2JmOTJhJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG59XG5cbmNsYXNzIFdvcmxkVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1dvcmxkY2hhaW5UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5XT1JMRDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zZXBvbGlhLndvcmxkc2Nhbi5vcmcvdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc2Vwb2xpYS53b3JsZHNjYW4ub3JnL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDQ4MDE7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzQ4MDEnO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4M2UxZTVkNzhlNDRmMTU1OTNiM2I2MWVkMjc4ZjEyYzI3ZjBmZjMzZSc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4Mzc5OTZlNzYyZmE4YjY3MTg2OTc0MGM3OWViMzNmNjI1YjNiZjkyYSc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGQ1ZmUxYzFmMjE2Yjc3NWRmZDMwNjM4ZmE3MTY0ZDQxMzIxZWY3OWInO1xuICB3YWxsZXRJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHg5NDRmZWYwM2FmMzY4NDE0ZjI5ZGMzMWE3MjA2MWI4ZDY0ZjU2OGQyJztcbn1cblxuY2xhc3MgU29uZWl1bSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1NvbmVpdW0nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNPTkVJVU07XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc29uZWl1bS5ibG9ja3Njb3V0LmNvbS90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zb25laXVtLmJsb2Nrc2NvdXQuY29tL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDE4Njg7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzE4NjgnO1xuICB3YWxsZXRJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHg5NDRmZWYwM2FmMzY4NDE0ZjI5ZGMzMWE3MjA2MWI4ZDY0ZjU2OGQyJztcbiAgd2FsbGV0RmFjdG9yeUFkZHJlc3MgPSAnMHg4MDllZTU2N2U0MTM1NDNhZjFjYWViY2RiMjQ3ZjZhNjdlYWZjOGRkJztcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweDNlMWU1ZDc4ZTQ0ZjE1NTkzYjNiNjFlZDI3OGYxMmMyN2YwZmYzM2UnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDM3OTk2ZTc2MmZhOGI2NzE4Njk3NDBjNzllYjMzZjYyNWIzYmY5MmEnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhkNWZlMWMxZjIxNmI3NzVkZmQzMDYzOGZhNzE2NGQ0MTMyMWVmNzliJztcbn1cblxuY2xhc3MgU29uZWl1bVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdTb25laXVtVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuU09ORUlVTTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zb25laXVtLW1pbmF0by5ibG9ja3Njb3V0LmNvbS90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zb25laXVtLW1pbmF0by5ibG9ja3Njb3V0LmNvbS9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAxOTQ2O1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICcxOTQ2JztcbiAgd2FsbGV0RmFjdG9yeUFkZHJlc3MgPSAnMHg4MDllZTU2N2U0MTM1NDNhZjFjYWViY2RiMjQ3ZjZhNjdlYWZjOGRkJztcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweDNlMWU1ZDc4ZTQ0ZjE1NTkzYjNiNjFlZDI3OGYxMmMyN2YwZmYzM2UnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDM3OTk2ZTc2MmZhOGI2NzE4Njk3NDBjNzllYjMzZjYyNWIzYmY5MmEnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhkNWZlMWMxZjIxNmI3NzVkZmQzMDYzOGZhNzE2NGQ0MTMyMWVmNzliJztcbiAgd2FsbGV0SW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4OTQ0ZmVmMDNhZjM2ODQxNGYyOWRjMzFhNzIwNjFiOGQ2NGY1NjhkMic7XG59XG5cbmNsYXNzIFNlaUV2bSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1NlaWV2bSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuU0VJRVZNO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3NlaXRyYWNlLmNvbS90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zZWl0cmFjZS5jb20vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMTMyOTtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMTMyOSc7XG59XG5cbmNsYXNzIFNlaUV2bVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdTZWlFdm1UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TRUlFVk07XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC5zZWlzdHJlYW0uYXBwL3RyYW5zYWN0aW9ucy8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LnNlaXN0cmVhbS5hcHAvYWNjb3VudC8nO1xuICBjaGFpbklkID0gMTMyODtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMTMyOCc7XG4gIHdhbGxldEZhY3RvcnlBZGRyZXNzID0gJzB4ODA5ZWU1NjdlNDEzNTQzYWYxY2FlYmNkYjI0N2Y2YTY3ZWFmYzhkZCc7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHgzZTFlNWQ3OGU0NGYxNTU5M2IzYjYxZWQyNzhmMTJjMjdmMGZmMzNlJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgzNzk5NmU3NjJmYThiNjcxODY5NzQwYzc5ZWIzM2Y2MjViM2JmOTJhJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG4gIHdhbGxldEltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweDk0NGZlZjAzYWYzNjg0MTRmMjlkYzMxYTcyMDYxYjhkNjRmNTY4ZDInO1xufVxuXG5jbGFzcyBTb21uaWFUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnU29tbmlhVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuU1RUO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3NoYW5ub24tZXhwbG9yZXIuc29tbmlhLm5ldHdvcmsvdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc2hhbm5vbi1leHBsb3Jlci5zb21uaWEubmV0d29yay9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA1MDMxMjtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnNTAzMTInO1xuICB3YWxsZXRGYWN0b3J5QWRkcmVzcyA9ICcweDgwOWVlNTY3ZTQxMzU0M2FmMWNhZWJjZGIyNDdmNmE2N2VhZmM4ZGQnO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4M2UxZTVkNzhlNDRmMTU1OTNiM2I2MWVkMjc4ZjEyYzI3ZjBmZjMzZSc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4Mzc5OTZlNzYyZmE4YjY3MTg2OTc0MGM3OWViMzNmNjI1YjNiZjkyYSc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGQ1ZmUxYzFmMjE2Yjc3NWRmZDMwNjM4ZmE3MTY0ZDQxMzIxZWY3OWInO1xuICB3YWxsZXRJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHg5NDRmZWYwM2FmMzY4NDE0ZjI5ZGMzMWE3MjA2MWI4ZDY0ZjU2OGQyJztcbn1cblxuY2xhc3MgU29taSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1NvbW5pYSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuU09NSTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9tYWlubmV0LnNvbW5pYS53M3VzLnNpdGUvdHgvJztcbiAgY2hhaW5JZCA9IDUwMzE7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzUwMzEnO1xuICB3YWxsZXRJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHg5NDRmZWYwM2FmMzY4NDE0ZjI5ZGMzMWE3MjA2MWI4ZDY0ZjU2OGQyJztcbiAgd2FsbGV0RmFjdG9yeUFkZHJlc3MgPSAnMHg4MDllZTU2N2U0MTM1NDNhZjFjYWViY2RiMjQ3ZjZhNjdlYWZjOGRkJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4Mzc5OTZlNzYyZmE4YjY3MTg2OTc0MGM3OWViMzNmNjI1YjNiZjkyYSc7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHgzZTFlNWQ3OGU0NGYxNTU5M2IzYjYxZWQyNzhmMTJjMjdmMGZmMzNlJztcbn1cblxuZXhwb3J0IGNsYXNzIEZsYXJlUCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBGbGFyZU5ldHdvcmsge1xuICBhc3NldElkID0gJ0ZsYXJlJztcbiAgbmFtZSA9ICdGbGFyZVAnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkZMUlA7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZmxhcmVzY2FuLmNvbS9ibG9ja2NoYWluL3B2bS90cmFuc2FjdGlvbnMvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZmxhcmVzY2FuLmNvbS9ibG9ja2NoYWluL3B2bS9hZGRyZXNzLyc7XG4gIGJsb2NrY2hhaW5JRCA9ICcxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMUxwb1lZJztcbiAgY0NoYWluQmxvY2tjaGFpbklEID0gJzJxOWU0cjZNdTNVNjhuVTFmWWpnYlI2SnZ3clJ4MzZDb2hwQVg1VVF4c2U1NXgxUTUnO1xuICBuZXR3b3JrSUQgPSAxNDtcbiAgaHJwID0gJ2ZsYXJlJztcbiAgYWxpYXMgPSAnUCc7XG4gIHZtID0gJ3BsYXRmb3Jtdm0nO1xuICB0eEZlZSA9ICcxMDAwMDAwJzsgLy8gZGVmYXVsdHNcbiAgbWF4SW1wb3J0RmVlID0gJzEwMDAwMDAwJzsgLy8gZGVmYXVsdHNcbiAgY3JlYXRlU3VibmV0VHggPSAnMTAwMDAwMDAwJzsgLy8gZGVmYXVsdHNcbiAgY3JlYXRlQ2hhaW5UeCA9ICcxMDAwMDAwMDAnOyAvLyBkZWZhdWx0c1xuICBjcmVhdGlvblR4RmVlID0gJzEwMDAwMDAwJzsgLy8gZGVmYXVsdHNcbiAgbWluQ29uc3VtcHRpb24gPSAnMC4xJztcbiAgbWF4Q29uc3VtcHRpb24gPSAnMC4xMic7XG4gIG1heFN1cHBseSA9ICcxMDM2ODgyNjY5NzQwMDAwMDAwMDAnOyAvLyAxMDNCIHRva2Vuc1xuICBtaW5TdGFrZSA9ICcxMDAwMDAwMDAwMDAwMDAwJzsgLy8gMU0gRkxSXG4gIG1pblN0YWtlRHVyYXRpb24gPSAnNTI1NjAwMCc7IC8vIDIgbW9udGhzXG4gIG1heFN0YWtlRHVyYXRpb24gPSAnMzE1MzYwMDAnOyAvLyAxIHllYXJcbiAgbWluRGVsZWdhdGlvblN0YWtlID0gJzUwMDAwMDAwMDAwMDAwJzsgLy8gNTAwMDAgRkxSXG4gIG1pbkRlbGVnYXRpb25GZWUgPSAnMCc7XG59XG5cbmV4cG9ydCBjbGFzcyBGbGFyZVBUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEZsYXJlTmV0d29yayB7XG4gIG5hbWUgPSAnRmxhcmVQVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRkxSUDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9jb3N0b24yLnRlc3RuZXQuZmxhcmVzY2FuLmNvbS9ibG9ja2NoYWluL3B2bS90cmFuc2FjdGlvbnMnO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9jb3N0b24yLnRlc3RuZXQuZmxhcmVzY2FuLmNvbS9ibG9ja2NoYWluL3B2bS9hZGRyZXNzLyc7XG4gIGJsb2NrY2hhaW5JRCA9ICcxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMUxwb1lZJztcbiAgY0NoYWluQmxvY2tjaGFpbklEID0gJ3ZFOE05OG1FUUg2d2s1NnNTdEQxTUw4SEFwVGdTcWZKWkxrOWdRM0ZzZDRpNm0zQmknO1xuICBuZXR3b3JrSUQgPSAxMTQ7XG4gIGhycCA9ICdjb3N0d28nO1xuICBhbGlhcyA9ICdQJztcbiAgYXNzZXRJZCA9ICdmeE1BS3BCUVFwRmVkclVoV01zRFlmQ1VKeGRVdzRtbmVUY3pLQnpOZzNyYzJKVXViJztcbiAgdm0gPSAncGxhdGZvcm12bSc7XG4gIHR4RmVlID0gJzEwMDAwMDAnOyAvLyBkZWZhdWx0c1xuICBtYXhJbXBvcnRGZWUgPSAnMTAwMDAwMDAnOyAvLyBkZWZhdWx0c1xuICBjcmVhdGVTdWJuZXRUeCA9ICcxMDAwMDAwMDAnOyAvLyBkZWZhdWx0c1xuICBjcmVhdGVDaGFpblR4ID0gJzEwMDAwMDAwMCc7IC8vIGRlZmF1bHRzXG4gIGNyZWF0aW9uVHhGZWUgPSAnMTAwMDAwMDAnOyAvLyBkZWZhdWx0c1xuICBtaW5Db25zdW1wdGlvbiA9ICcwLjEnO1xuICBtYXhDb25zdW1wdGlvbiA9ICcwLjEyJztcbiAgbWF4U3VwcGx5ID0gJzc5MDAwMDAwMDAwMDAwMDAwMDAwMDAwJzsgLy8gNzkgdHJpbGxpb24gdG9rZW5zXG4gIG1pblN0YWtlID0gJzEwMDAwMDAwMDAwMDAwMDAnOyAvLyAxTSBGTFJcbiAgbWluU3Rha2VEdXJhdGlvbiA9ICc1MjU2MDAwJzsgLy8gMiBtb250aHNcbiAgbWF4U3Rha2VEdXJhdGlvbiA9ICczMTUzNjAwMCc7IC8vIDEgeWVhclxuICBtaW5EZWxlZ2F0aW9uU3Rha2UgPSAnNTAwMDAwMDAwMDAwMDAnOyAvLyA1MDAwMCBGTFJcbiAgbWluRGVsZWdhdGlvbkZlZSA9ICcwJztcbn1cblxuZXhwb3J0IGNsYXNzIEZsYXJlIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnRmxhcmVjaGFpbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRkxSO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2ZsYXJlLWV4cGxvcmVyLmZsYXJlLm5ldHdvcmsvdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZmxhcmUtZXhwbG9yZXIuZmxhcmUubmV0d29yay9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAxNDtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMTQnO1xuICB3YWxsZXRGYWN0b3J5QWRkcmVzcyA9ICcweDgwOWVlNTY3ZTQxMzU0M2FmMWNhZWJjZGIyNDdmNmE2N2VhZmM4ZGQnO1xuICB3YWxsZXRJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHg5NDRmZWYwM2FmMzY4NDE0ZjI5ZGMzMWE3MjA2MWI4ZDY0ZjU2OGQyJztcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweGM1ZDdhM2I0YzQ5MGM2MjQyZmIyOGYyMGU1ZmUzM2NkOTgzMzcyYTMnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDM3OTk2ZTc2MmZhOGI2NzE4Njk3NDBjNzllYjMzZjYyNWIzYmY5MmEnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhkNWZlMWMxZjIxNmI3NzVkZmQzMDYzOGZhNzE2NGQ0MTMyMWVmNzliJztcbn1cblxuZXhwb3J0IGNsYXNzIEZsYXJlVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0ZsYXJlY2hhaW5UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5GTFI7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vY29zdG9uMi1leHBsb3Jlci5mbGFyZS5uZXR3b3JrL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2Nvc3RvbjItZXhwbG9yZXIuZmxhcmUubmV0d29yay9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAxMTQ7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzExNCc7XG4gIHdhbGxldEZhY3RvcnlBZGRyZXNzID0gJzB4ODA5ZWU1NjdlNDEzNTQzYWYxY2FlYmNkYjI0N2Y2YTY3ZWFmYzhkZCc7XG4gIHdhbGxldEltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweDk0NGZlZjAzYWYzNjg0MTRmMjlkYzMxYTcyMDYxYjhkNjRmNTY4ZDInO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4YzVkN2EzYjRjNDkwYzYyNDJmYjI4ZjIwZTVmZTMzY2Q5ODMzNzJhMyc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4Mzc5OTZlNzYyZmE4YjY3MTg2OTc0MGM3OWViMzNmNjI1YjNiZjkyYSc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGQ1ZmUxYzFmMjE2Yjc3NWRmZDMwNjM4ZmE3MTY0ZDQxMzIxZWY3OWInO1xufVxuY2xhc3MgU29uZ2JpcmQgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdTb25nYmlyZGNoYWluJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TR0I7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc29uZ2JpcmQtZXhwbG9yZXIuZmxhcmUubmV0d29yay90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zb25nYmlyZC1leHBsb3Jlci5mbGFyZS5uZXR3b3JrL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDE5O1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICcxOSc7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHhjNWQ3YTNiNGM0OTBjNjI0MmZiMjhmMjBlNWZlMzNjZDk4MzM3MmEzJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgzNzk5NmU3NjJmYThiNjcxODY5NzQwYzc5ZWIzM2Y2MjViM2JmOTJhJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG59XG5jbGFzcyBTb25nYmlyZFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdTb25nYmlyZGNoYWluVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuU0dCO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2Nvc3Rvbi1leHBsb3Jlci5mbGFyZS5uZXR3b3JrL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2Nvc3Rvbi1leHBsb3Jlci5mbGFyZS5uZXR3b3JrL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDE2O1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICcxNic7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHhjNWQ3YTNiNGM0OTBjNjI0MmZiMjhmMjBlNWZlMzNjZDk4MzM3MmEzJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgzNzk5NmU3NjJmYThiNjcxODY5NzQwYzc5ZWIzM2Y2MjViM2JmOTJhJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG59XG5jbGFzcyBCYXNlQ2hhaW5UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIC8vQmFzZUVUSCB0ZXN0bmV0XG4gIG5hbWUgPSAnQmFzZUNoYWluVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQkFTRUVUSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zZXBvbGlhLmJhc2VzY2FuLm9yZy90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zZXBvbGlhLmJhc2VzY2FuLm9yZy9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA4NDUzMjtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnODQ1MzInO1xuICB0b2tlbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnODQ1MzItRVJDMjAnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweGRkNDk4NzAyZjQ0YzRkYTA4ZWI5ZTA4ZDNmMDE1ZWVmZTVjYjcxZmMnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhiZTY5Y2FlMzExMTkxZmI0NWU2NDhlZDIwODQ3ZjA2ZmFkMmRiYWI0JztcbiAgd2FsbGV0RmFjdG9yeUFkZHJlc3MgPSAnMHg0NTUwZTFlNzYxNmQzMzY0ODc3ZmM2YzkzMjQ5MzhkYWI2Nzg2MjFhJztcbiAgd2FsbGV0SW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4OTJkYjI3NTlkMWRjYTEyOWEwZDlkNDY4NzdmMzYxYmU4MTkxODRjNCc7XG59XG5cbmNsYXNzIEJhc2VDaGFpbiBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICAvL0Jhc2VFVEhcbiAgbmFtZSA9ICdCYXNlQ2hhaW4nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJBU0VFVEg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmFzZXNjYW4ub3JnL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2Jhc2VzY2FuLm9yZy9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA4NDUzO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc4NDUzJztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzg0NTMtRVJDMjAnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweGRkNDk4NzAyZjQ0YzRkYTA4ZWI5ZTA4ZDNmMDE1ZWVmZTVjYjcxZmMnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhiZTY5Y2FlMzExMTkxZmI0NWU2NDhlZDIwODQ3ZjA2ZmFkMmRiYWI0JztcbiAgd2FsbGV0RmFjdG9yeUFkZHJlc3MgPSAnMHg0NTUwZTFlNzYxNmQzMzY0ODc3ZmM2YzkzMjQ5MzhkYWI2Nzg2MjFhJztcbiAgd2FsbGV0SW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4OTJkYjI3NTlkMWRjYTEyOWEwZDlkNDY4NzdmMzYxYmU4MTkxODRjNCc7XG59XG5cbmNsYXNzIFBvbHltZXNoIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdQb2x5bWVzaCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuUE9MWVg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vcG9seW1lc2guc3Vic2Nhbi5pby9leHRyaW5zaWMvJztcbiAgc3BlY05hbWUgPSAncG9seW1lc2hfbWFpbm5ldCc7XG4gIGdlbmVzaXNIYXNoID0gJzB4NmZiZDc0ZTVlMWQwYTYxZDUyY2NmZTlkNGFkYWVkMTZkZDNhN2NhYTM3YzZiYzRkMGMyZmExMmU4YjJmNDA2Myc7XG4gIHNwZWNWZXJzaW9uID0gNzAwMjAwMDtcbiAgY2hhaW5OYW1lID0gJ1BvbHltZXNoIE1haW5uZXQnO1xuICB0eFZlcnNpb24gPSA3O1xufVxuXG5jbGFzcyBQb2x5bWVzaFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1BvbHltZXNoVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuUE9MWVg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vcG9seW1lc2gtdGVzdG5ldC5zdWJzY2FuLmlvL2V4dHJpbnNpYy8nO1xuICBzcGVjTmFtZSA9ICdwb2x5bWVzaF90ZXN0bmV0JyBhcyBTdWJzdHJhdGVTcGVjTmFtZVR5cGU7XG4gIGdlbmVzaXNIYXNoID0gJzB4MmFjZTA1ZTcwM2FhNTBiNDhjMGNjY2NmYzhiNDI0ZjdhYWI5YTFlMmM0MjRlZDEyZTQ1ZDIwYjFlOGZmZDBkNic7XG4gIHNwZWNWZXJzaW9uID0gNzAwMjAwMDtcbiAgY2hhaW5OYW1lID0gJ1BvbHltZXNoIFRlc3RuZXQnO1xuICB0eFZlcnNpb24gPSA3O1xufVxuXG5jbGFzcyBWZXQgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdWZUNoYWluJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5WRVQ7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZS52ZWNoYWluLm9yZy90cmFuc2FjdGlvbnMvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZS52ZWNoYWluLm9yZy9hY2NvdW50cy8nO1xuICBjaGFpbklkID0gMTAwMDA5O1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDY1MzQzZTE4YzM3NmQyZmM4YzNjZjEwY2QxNDZkNjNlMmUwZGM5ZWYnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHg2MmRlMzRjODdmODQ3ZDM4NWFmMDdmNmMyNWRiZDk3YjFmZmZlZmMwJztcbn1cblxuY2xhc3MgVmV0VGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1ZlQ2hhaW5UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5WRVQ7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZS10ZXN0bmV0LnZlY2hhaW4ub3JnL3RyYW5zYWN0aW9ucy8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3JlLXRlc3RuZXQudmVjaGFpbi5vcmcvYWNjb3VudHMvJztcbiAgY2hhaW5JZCA9IDEwMDAxMDtcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHg2NTM0M2UxOGMzNzZkMmZjOGMzY2YxMGNkMTQ2ZDYzZTJlMGRjOWVmJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4NjJkZTM0Yzg3Zjg0N2QzODVhZjA3ZjZjMjVkYmQ5N2IxZmZmZWZjMCc7XG59XG5cbmNsYXNzIElvdGEgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0lvdGEnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LklPVEE7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuaW90YS5vcmcvP25ldHdvcms9bWFpbm5ldCc7XG59XG5cbmNsYXNzIElvdGFUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdUZXN0bmV0IElvdGEnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LklPVEE7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuaW90YS5vcmcvP25ldHdvcms9dGVzdG5ldCc7XG59XG5cbmNsYXNzIEZsb3cgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdGbG93JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5GTE9XO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V2bS5mbG93c2Nhbi5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ldm0uZmxvd3NjYW4uaW8vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gNzQ3O1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc3NDcnO1xufVxuXG5jbGFzcyBGbG93VGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0Zsb3dUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5GTE9XO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V2bS10ZXN0bmV0LmZsb3dzY2FuLmlvL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2V2bS10ZXN0bmV0LmZsb3dzY2FuLmlvL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDU0NTtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnNTQ1Jztcbn1cblxuLy8gVE9ETyB1cGRhdGUgTWVnYUVUSCBleHBsb3JlciB1cmxzIGFuZCBjaGFpbklkIHdoZW4gYXZhaWxhYmxlXG5jbGFzcyBNZWdhRVRIIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnTWVnYUVUSCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuTUVHQUVUSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93d3cubWVnYWV4cGxvcmVyLnh5ei90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93d3cubWVnYWV4cGxvcmVyLnh5ei9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA2MzQyO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc2MzQyJztcbn1cblxuY2xhc3MgTWVnYUVUSFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdNZWdhRVRIVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuTUVHQUVUSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93d3cubWVnYWV4cGxvcmVyLnh5ei90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93d3cubWVnYWV4cGxvcmVyLnh5ei9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA2MzQyO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc2MzQyJztcbn1cblxuY2xhc3MgUGx1bWUgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdQbHVtZSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuUExVTUU7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIucGx1bWUub3JnL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnBsdW1lLm9yZy9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA5ODg2NjtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnOTg4NjYnO1xufVxuXG5jbGFzcyBIZWRlcmFFVk1UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnVGVzdG5ldCBIZWRlcmEgRVZNJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5IQkFSRVZNO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2hhc2hzY2FuLmlvL21haW5uZXQvdHJhbnNhY3Rpb24vJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vaGFzaHNjYW4uaW8vbWFpbm5ldC9hY2NvdW50Lyc7XG4gIGNoYWluSWQgPSAyOTY7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzI5Nic7XG59XG5cbmNsYXNzIEhlZGVyYUVWTSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0hlZGVyYSBFVk0nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkhCQVJFVk07XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vaGFzaHNjYW4uaW8vdGVzdG5ldC90cmFuc2FjdGlvbi8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9oYXNoc2Nhbi5pby90ZXN0bmV0L2FjY291bnQvJztcbiAgY2hhaW5JZCA9IDI5NTtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMjk1Jztcbn1cblxuY2xhc3MgUGx1bWVUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnUGx1bWVUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5QTFVNRTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LWV4cGxvcmVyLnBsdW1lLm9yZy90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LWV4cGxvcmVyLnBsdW1lLm9yZy9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA5ODg2NztcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnOTg4NjcnO1xufVxuXG5jbGFzcyBDYW50b24gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQmFzZU5ldHdvcmsge1xuICBuYW1lID0gJ0NhbnRvbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQ0FOVE9OO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2Njdmlldy5pby91cGRhdGVzLyc7XG59XG5cbmNsYXNzIENhbnRvblRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQmFzZU5ldHdvcmsge1xuICBuYW1lID0gJ0NhbnRvblRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkNBTlRPTjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9kZXZuZXQuY2N2aWV3LmlvL3VwZGF0ZXMvJztcbn1cblxuY2xhc3MgRG9nZW9zIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnRG9nZSBPUyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRE9HRU9TO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2Jsb2Nrc2NvdXQudGVzdG5ldC5kb2dlb3MuY29tL3R4Lyc7IC8vVE9ETzogV0lOLTgwODIgPT4gYWRkIG1haW5uZXQgdXJsIHdoZW4gYXZhaWxhYmxlXG4gIGFjY291bnRFeHBsb3JlclVybCA9IFwiJ2h0dHBzOi8vYmxvY2tzY291dC50ZXN0bmV0LmRvZ2Vvcy5jb20vYWRkcmVzcy9cIjsgLy9UT0RPOiBXSU4tODA4MiA9PiBhZGQgbWFpbm5ldCB1cmwgd2hlbiBhdmFpbGFibGVcbiAgY2hhaW5JZCA9IDEyMzQ1Njc7IC8vLy9UT0RPOiBXSU4tODA4MiA9PiBhZGQgbWFpbm5ldCBjaGFpbklkIHdoZW4gYXZhaWxhYmxlXG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzEyMzQ1NjcnOyAvL1RPRE86IFdJTi04MDgyID0+IGFkZCB3aGVuIG1haW5uZXQgZGV0YWlscyBhdmFpbGFibGVcbn1cblxuY2xhc3MgRG9nZW9zVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0RvZ2UgT1MgVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRE9HRU9TO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2Jsb2Nrc2NvdXQudGVzdG5ldC5kb2dlb3MuY29tL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2Jsb2Nrc2NvdXQudGVzdG5ldC5kb2dlb3MuY29tL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDYyODE5NzE7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzYyODE5NzEnO1xufVxuXG5leHBvcnQgY29uc3QgTmV0d29ya3MgPSB7XG4gIG1haW46IHtcbiAgICBhZGE6IE9iamVjdC5mcmVlemUobmV3IEFkYSgpKSxcbiAgICBhbGdvcmFuZDogT2JqZWN0LmZyZWV6ZShuZXcgQWxnb3JhbmQoKSksXG4gICAgYXBlY2hhaW46IE9iamVjdC5mcmVlemUobmV3IEFwZUNoYWluKCkpLFxuICAgIGFwdDogT2JqZWN0LmZyZWV6ZShuZXcgQXB0KCkpLFxuICAgIGFyYml0cnVtOiBPYmplY3QuZnJlZXplKG5ldyBBcmJpdHJ1bSgpKSxcbiAgICBhc2k6IE9iamVjdC5mcmVlemUobmV3IEFzaSgpKSxcbiAgICBhdG9tOiBPYmplY3QuZnJlZXplKG5ldyBBdG9tKCkpLFxuICAgIGF2YWxhbmNoZUM6IE9iamVjdC5mcmVlemUobmV3IEF2YWxhbmNoZUMoKSksXG4gICAgYXZhbGFuY2hlUDogT2JqZWN0LmZyZWV6ZShuZXcgQXZhbGFuY2hlUCgpKSxcbiAgICBiYWJ5OiBPYmplY3QuZnJlZXplKG5ldyBCYWJ5KCkpLFxuICAgIGJhc2VjaGFpbjogT2JqZWN0LmZyZWV6ZShuZXcgQmFzZUNoYWluKCkpLFxuICAgIGJpdGNvaW46IE9iamVjdC5mcmVlemUobmV3IEJpdGNvaW4oKSksXG4gICAgYml0Y29pbkNhc2g6IE9iamVjdC5mcmVlemUobmV3IEJpdGNvaW5DYXNoKCkpLFxuICAgIGJpdGNvaW5Hb2xkOiBPYmplY3QuZnJlZXplKG5ldyBCaXRjb2luR29sZCgpKSxcbiAgICBiaXRjb2luU1Y6IE9iamVjdC5mcmVlemUobmV3IEJpdGNvaW5TVigpKSxcbiAgICBiZXJhOiBPYmplY3QuZnJlZXplKG5ldyBCZXJhY2hhaW4oKSksXG4gICAgYmxkOiBPYmplY3QuZnJlZXplKG5ldyBCbGQoKSksXG4gICAgYnNjOiBPYmplY3QuZnJlZXplKG5ldyBCaW5hbmNlU21hcnRDaGFpbigpKSxcbiAgICBjYW50b246IE9iamVjdC5mcmVlemUobmV3IENhbnRvbigpKSxcbiAgICBjYXNwZXI6IE9iamVjdC5mcmVlemUobmV3IENhc3BlcigpKSxcbiAgICBjZWxvOiBPYmplY3QuZnJlZXplKG5ldyBDZWxvKCkpLFxuICAgIGNvcmVkYW86IE9iamVjdC5mcmVlemUobmV3IENvcmVkYW8oKSksXG4gICAgY29yZXVtOiBPYmplY3QuZnJlZXplKG5ldyBDb3JldW0oKSksXG4gICAgY3Jvbm9zOiBPYmplY3QuZnJlZXplKG5ldyBDcm9ub3MoKSksXG4gICAgZGFzaDogT2JqZWN0LmZyZWV6ZShuZXcgRGFzaCgpKSxcbiAgICBkb2dlY29pbjogT2JqZWN0LmZyZWV6ZShuZXcgRG9nZWNvaW4oKSksXG4gICAgZG9nZW9zOiBPYmplY3QuZnJlZXplKG5ldyBEb2dlb3MoKSksXG4gICAgZG90OiBPYmplY3QuZnJlZXplKG5ldyBQb2xrYWRvdEFzc2V0SHViKCkpLFxuICAgIGVDYXNoOiBPYmplY3QuZnJlZXplKG5ldyBFQ2FzaCgpKSxcbiAgICBlb3M6IE9iamVjdC5mcmVlemUobmV3IEVvcygpKSxcbiAgICBldGhlcmV1bTogT2JqZWN0LmZyZWV6ZShuZXcgRXRoZXJldW0oKSksXG4gICAgZXRoZXJldW0yOiBPYmplY3QuZnJlZXplKG5ldyBFdGhlcmV1bTIoKSksXG4gICAgZXRoZXJldW1DbGFzc2ljOiBPYmplY3QuZnJlZXplKG5ldyBFdGhlcmV1bUNsYXNzaWMoKSksXG4gICAgZXRoZXJldW1XOiBPYmplY3QuZnJlZXplKG5ldyBFdGhlcmV1bVcoKSksXG4gICAgZmlhdDogT2JqZWN0LmZyZWV6ZShuZXcgRmlhdCgpKSxcbiAgICBmZXRjaGFpOiBPYmplY3QuZnJlZXplKG5ldyBGZXRjaEFpKCkpLFxuICAgIGZsb3c6IE9iamVjdC5mcmVlemUobmV3IEZsb3coKSksXG4gICAgZmxyOiBPYmplY3QuZnJlZXplKG5ldyBGbGFyZSgpKSxcbiAgICBmbHJQOiBPYmplY3QuZnJlZXplKG5ldyBGbGFyZVAoKSksXG4gICAgZmx1ZW50ZXRoOiBPYmplY3QuZnJlZXplKG5ldyBGbHVlbnRFVEgoKSksXG4gICAgaGFzaDogT2JqZWN0LmZyZWV6ZShuZXcgSGFzaCgpKSxcbiAgICBoZWRlcmE6IE9iamVjdC5mcmVlemUobmV3IEhlZGVyYSgpKSxcbiAgICBoZWRlcmFFVk06IE9iamVjdC5mcmVlemUobmV3IEhlZGVyYUVWTSgpKSxcbiAgICBpY3A6IE9iamVjdC5mcmVlemUobmV3IEljcCgpKSxcbiAgICBpcDogT2JqZWN0LmZyZWV6ZShuZXcgSVAoKSksXG4gICAgaW5pdGlhOiBPYmplY3QuZnJlZXplKG5ldyBJbml0aWEoKSksXG4gICAgaW90YTogT2JqZWN0LmZyZWV6ZShuZXcgSW90YSgpKSxcbiAgICBpbmplY3RpdmU6IE9iamVjdC5mcmVlemUobmV3IEluamVjdGl2ZSgpKSxcbiAgICBpcnlzOiBPYmplY3QuZnJlZXplKG5ldyBJcnlzKCkpLFxuICAgIGlzbG06IE9iamVjdC5mcmVlemUobmV3IElzbG0oKSksXG4gICAgam92YXlldGg6IE9iamVjdC5mcmVlemUobmV3IEpvdmF5RVRIKCkpLFxuICAgIGthaWE6IE9iamVjdC5mcmVlemUobmV3IEthaWEoKSksXG4gICAga2F2YTogT2JqZWN0LmZyZWV6ZShuZXcgS2F2YSgpKSxcbiAgICBrYXZhZXZtOiBPYmplY3QuZnJlZXplKG5ldyBLYXZhRVZNKCkpLFxuICAgIGxuYnRjOiBPYmplY3QuZnJlZXplKG5ldyBMaWdodG5pbmdCaXRjb2luKCkpLFxuICAgIGxpdGVjb2luOiBPYmplY3QuZnJlZXplKG5ldyBMaXRlY29pbigpKSxcbiAgICBtZWdhZXRoOiBPYmplY3QuZnJlZXplKG5ldyBNZWdhRVRIKCkpLFxuICAgIG1vbjogT2JqZWN0LmZyZWV6ZShuZXcgTW9uYWQoKSksXG4gICAgbWFudGxlOiBPYmplY3QuZnJlZXplKG5ldyBNYW50bGUoKSksXG4gICAgbWFudHJhOiBPYmplY3QuZnJlZXplKG5ldyBNYW50cmEoKSksXG4gICAgcGx1bWU6IE9iamVjdC5mcmVlemUobmV3IFBsdW1lKCkpLFxuICAgIHBvbHlnb246IE9iamVjdC5mcmVlemUobmV3IFBvbHlnb24oKSksXG4gICAgcG9seXg6IE9iamVjdC5mcmVlemUobmV3IFBvbHltZXNoKCkpLFxuICAgIHBocnM6IE9iamVjdC5mcmVlemUobmV3IFBoYXJvcygpKSxcbiAgICBjdGM6IE9iamVjdC5mcmVlemUobmV3IENyZWRpdGNvaW4oKSksXG4gICAgaHlwZWV2bTogT2JqZWN0LmZyZWV6ZShuZXcgSHlwZUVWTSgpKSxcbiAgICBsaW5lYWV0aDogT2JqZWN0LmZyZWV6ZShuZXcgTGluZWFFVEgoKSksXG4gICAgb2FzOiBPYmplY3QuZnJlZXplKG5ldyBPYXMoKSksXG4gICAgb2c6IE9iamVjdC5mcmVlemUobmV3IE9nKCkpLFxuICAgIG9mYzogT2JqZWN0LmZyZWV6ZShuZXcgT2ZjKCkpLFxuICAgIG9rYjogT2JqZWN0LmZyZWV6ZShuZXcgWGxheWVyKCkpLFxuICAgIG1vcnBoOiBPYmplY3QuZnJlZXplKG5ldyBNb3JwaCgpKSxcbiAgICBvcHRpbWlzbTogT2JqZWN0LmZyZWV6ZShuZXcgT3B0aW1pc20oKSksXG4gICAgb3NtbzogT2JqZWN0LmZyZWV6ZShuZXcgT3NtbygpKSxcbiAgICByYnRjOiBPYmplY3QuZnJlZXplKG5ldyBSYnRjKCkpLFxuICAgIHJ1bmU6IE9iamVjdC5mcmVlemUobmV3IFJ1bmUoKSksXG4gICAgc3RlbGxhcjogT2JqZWN0LmZyZWV6ZShuZXcgU3RlbGxhcigpKSxcbiAgICBzZWk6IE9iamVjdC5mcmVlemUobmV3IFNlaSgpKSxcbiAgICBzZWlldm06IE9iamVjdC5mcmVlemUobmV3IFNlaUV2bSgpKSxcbiAgICBzZ2I6IE9iamVjdC5mcmVlemUobmV3IFNvbmdiaXJkKCkpLFxuICAgIHNvbDogT2JqZWN0LmZyZWV6ZShuZXcgU29sKCkpLFxuICAgIHNvbmljOiBPYmplY3QuZnJlZXplKG5ldyBTb25pYygpKSxcbiAgICBzdWk6IE9iamVjdC5mcmVlemUobmV3IFN1aSgpKSxcbiAgICBuZWFyOiBPYmplY3QuZnJlZXplKG5ldyBOZWFyKCkpLFxuICAgIHN0eDogT2JqZWN0LmZyZWV6ZShuZXcgU3R4KCkpLFxuICAgIHNvbWk6IE9iamVjdC5mcmVlemUobmV3IFNvbWkoKSksXG4gICAgc29uZWl1bTogT2JqZWN0LmZyZWV6ZShuZXcgU29uZWl1bSgpKSxcbiAgICBzdXNkOiBPYmplY3QuZnJlZXplKG5ldyBTVVNEKCkpLFxuICAgIHRhbzogT2JqZWN0LmZyZWV6ZShuZXcgQml0dGVuc29yKCkpLFxuICAgIHRpYTogT2JqZWN0LmZyZWV6ZShuZXcgVGlhKCkpLFxuICAgIHRvbjogT2JqZWN0LmZyZWV6ZShuZXcgVG9uKCkpLFxuICAgIHRyeDogT2JqZWN0LmZyZWV6ZShuZXcgVHJ4KCkpLFxuICAgIHZldDogT2JqZWN0LmZyZWV6ZShuZXcgVmV0KCkpLFxuICAgIHdlbWl4OiBPYmplY3QuZnJlZXplKG5ldyBXZW1peCgpKSxcbiAgICB3b3JsZDogT2JqZWN0LmZyZWV6ZShuZXcgV29ybGQoKSksXG4gICAgeGRjOiBPYmplY3QuZnJlZXplKG5ldyBYZGMoKSksXG4gICAgeHBsOiBPYmplY3QuZnJlZXplKG5ldyBQbGFzbWEoKSksXG4gICAgeHJwOiBPYmplY3QuZnJlZXplKG5ldyBYcnAoKSksXG4gICAgeHR6OiBPYmplY3QuZnJlZXplKG5ldyBYdHooKSksXG4gICAgekNhc2g6IE9iamVjdC5mcmVlemUobmV3IFpDYXNoKCkpLFxuICAgIHpldGE6IE9iamVjdC5mcmVlemUobmV3IFpldGEoKSksXG4gICAgemtTeW5jOiBPYmplY3QuZnJlZXplKG5ldyBaa1N5bmMoKSksXG4gIH0sXG4gIHRlc3Q6IHtcbiAgICBhZGE6IE9iamVjdC5mcmVlemUobmV3IEFkYVRlc3RuZXQoKSksXG4gICAgYWxnb3JhbmQ6IE9iamVjdC5mcmVlemUobmV3IEFsZ29yYW5kVGVzdG5ldCgpKSxcbiAgICBhcGVjaGFpbjogT2JqZWN0LmZyZWV6ZShuZXcgQXBlQ2hhaW5UZXN0bmV0KCkpLFxuICAgIGFwdDogT2JqZWN0LmZyZWV6ZShuZXcgQXB0VGVzdG5ldCgpKSxcbiAgICBhcmJpdHJ1bTogT2JqZWN0LmZyZWV6ZShuZXcgQXJiaXRydW1UZXN0bmV0KCkpLFxuICAgIGFzaTogT2JqZWN0LmZyZWV6ZShuZXcgQXNpVGVzdG5ldCgpKSxcbiAgICBhdG9tOiBPYmplY3QuZnJlZXplKG5ldyBBdG9tVGVzdG5ldCgpKSxcbiAgICBhdmFsYW5jaGVDOiBPYmplY3QuZnJlZXplKG5ldyBBdmFsYW5jaGVDVGVzdG5ldCgpKSxcbiAgICBhdmFsYW5jaGVQOiBPYmplY3QuZnJlZXplKG5ldyBBdmFsYW5jaGVQVGVzdG5ldCgpKSxcbiAgICBiYWJ5OiBPYmplY3QuZnJlZXplKG5ldyBCYWJ5VGVzdG5ldCgpKSxcbiAgICBiYXNlY2hhaW46IE9iamVjdC5mcmVlemUobmV3IEJhc2VDaGFpblRlc3RuZXQoKSksXG4gICAgYml0Y29pbjogT2JqZWN0LmZyZWV6ZShuZXcgQml0Y29pblRlc3RuZXQoKSksXG4gICAgYml0Y29pblB1YmxpY1NpZ25ldDogT2JqZWN0LmZyZWV6ZShuZXcgQml0Y29pblB1YmxpY1NpZ25ldCgpKSxcbiAgICBiaXRjb2luVGVzdG5ldDQ6IE9iamVjdC5mcmVlemUobmV3IEJpdGNvaW5UZXN0bmV0NCgpKSxcbiAgICBiaXRjb2luQml0R29TaWduZXQ6IE9iamVjdC5mcmVlemUobmV3IEJpdGNvaW5CaXRHb1NpZ25ldCgpKSxcbiAgICBiaXRjb2luQ2FzaDogT2JqZWN0LmZyZWV6ZShuZXcgQml0Y29pbkNhc2hUZXN0bmV0KCkpLFxuICAgIGJpdGNvaW5Hb2xkOiBPYmplY3QuZnJlZXplKG5ldyBCaXRjb2luR29sZFRlc3RuZXQoKSksXG4gICAgYml0Y29pblNWOiBPYmplY3QuZnJlZXplKG5ldyBCaXRjb2luU1ZUZXN0bmV0KCkpLFxuICAgIGJlcmE6IE9iamVjdC5mcmVlemUobmV3IEJlcmFjaGFpblRlc3RuZXQoKSksXG4gICAgYmxkOiBPYmplY3QuZnJlZXplKG5ldyBCbGRUZXN0bmV0KCkpLFxuICAgIGJzYzogT2JqZWN0LmZyZWV6ZShuZXcgQmluYW5jZVNtYXJ0Q2hhaW5UZXN0bmV0KCkpLFxuICAgIGNhbnRvbjogT2JqZWN0LmZyZWV6ZShuZXcgQ2FudG9uVGVzdG5ldCgpKSxcbiAgICBjYXNwZXI6IE9iamVjdC5mcmVlemUobmV3IENhc3BlclRlc3RuZXQoKSksXG4gICAgY29yZWRhbzogT2JqZWN0LmZyZWV6ZShuZXcgQ29yZWRhb1Rlc3RuZXQoKSksXG4gICAgY2VsbzogT2JqZWN0LmZyZWV6ZShuZXcgQ2Vsb1Rlc3RuZXQoKSksXG4gICAgY3Jvbm9zOiBPYmplY3QuZnJlZXplKG5ldyBDcm9ub3NUZXN0bmV0KCkpLFxuICAgIGRhc2g6IE9iamVjdC5mcmVlemUobmV3IERhc2hUZXN0bmV0KCkpLFxuICAgIGRvZ2Vjb2luOiBPYmplY3QuZnJlZXplKG5ldyBEb2dlY29pblRlc3RuZXQoKSksXG4gICAgZG9nZW9zOiBPYmplY3QuZnJlZXplKG5ldyBEb2dlb3NUZXN0bmV0KCkpLFxuICAgIGRvdDogT2JqZWN0LmZyZWV6ZShuZXcgV2VzdGVuZEFzc2V0SHViKCkpLFxuICAgIGVDYXNoOiBPYmplY3QuZnJlZXplKG5ldyBFQ2FzaFRlc3RuZXQoKSksXG4gICAgZW9zOiBPYmplY3QuZnJlZXplKG5ldyBFb3NUZXN0bmV0KCkpLFxuICAgIGZpYXQ6IE9iamVjdC5mcmVlemUobmV3IEZpYXRUZXN0bmV0KCkpLFxuICAgIGZldGNoYWk6IE9iamVjdC5mcmVlemUobmV3IEZldGNoQWlUZXN0bmV0KCkpLFxuICAgIGZsb3c6IE9iamVjdC5mcmVlemUobmV3IEZsb3dUZXN0bmV0KCkpLFxuICAgIGZscjogT2JqZWN0LmZyZWV6ZShuZXcgRmxhcmVUZXN0bmV0KCkpLFxuICAgIGZsclA6IE9iamVjdC5mcmVlemUobmV3IEZsYXJlUFRlc3RuZXQoKSksXG4gICAgZmx1ZW50ZXRoOiBPYmplY3QuZnJlZXplKG5ldyBGbHVlbnRFVEhUZXN0bmV0KCkpLFxuICAgIG1vbjogT2JqZWN0LmZyZWV6ZShuZXcgTW9uYWRUZXN0bmV0KCkpLFxuICAgIG1lZ2FldGg6IE9iamVjdC5mcmVlemUobmV3IE1lZ2FFVEhUZXN0bmV0KCkpLFxuICAgIHB5cm1vbnQ6IE9iamVjdC5mcmVlemUobmV3IFB5cm1vbnQoKSksXG4gICAgcGx1bWU6IE9iamVjdC5mcmVlemUobmV3IFBsdW1lVGVzdG5ldCgpKSxcbiAgICBldGhlcmV1bUNsYXNzaWNUZXN0bmV0OiBPYmplY3QuZnJlZXplKG5ldyBFdGhlcmV1bUNsYXNzaWNUZXN0bmV0KCkpLFxuICAgIGhhc2g6IE9iamVjdC5mcmVlemUobmV3IEhhc2hUZXN0bmV0KCkpLFxuICAgIGhlZGVyYTogT2JqZWN0LmZyZWV6ZShuZXcgSGVkZXJhVGVzdG5ldCgpKSxcbiAgICBoZWRlcmFFVk06IE9iamVjdC5mcmVlemUobmV3IEhlZGVyYUVWTVRlc3RuZXQoKSksXG4gICAgaWNwOiBPYmplY3QuZnJlZXplKG5ldyBJY3BUZXN0bmV0KCkpLFxuICAgIGlwOiBPYmplY3QuZnJlZXplKG5ldyBJUFRlc3RuZXQoKSksXG4gICAgaW5pdGlhOiBPYmplY3QuZnJlZXplKG5ldyBJbml0aWFUZXN0bmV0KCkpLFxuICAgIGluamVjdGl2ZTogT2JqZWN0LmZyZWV6ZShuZXcgSW5qZWN0aXZlVGVzdG5ldCgpKSxcbiAgICBpb3RhOiBPYmplY3QuZnJlZXplKG5ldyBJb3RhVGVzdG5ldCgpKSxcbiAgICBpcnlzOiBPYmplY3QuZnJlZXplKG5ldyBJcnlzVGVzdG5ldCgpKSxcbiAgICBpc2xtOiBPYmplY3QuZnJlZXplKG5ldyBJc2xtVGVzdG5ldCgpKSxcbiAgICBqb3ZheWV0aDogT2JqZWN0LmZyZWV6ZShuZXcgSm92YXlFVEhUZXN0bmV0KCkpLFxuICAgIGthdmE6IE9iamVjdC5mcmVlemUobmV3IEthdmFUZXN0bmV0KCkpLFxuICAgIGthdmFldm06IE9iamVjdC5mcmVlemUobmV3IEthdmFFVk1UZXN0bmV0KCkpLFxuICAgIGtvdmFuOiBPYmplY3QuZnJlZXplKG5ldyBLb3ZhbigpKSxcbiAgICBnb2VybGk6IE9iamVjdC5mcmVlemUobmV3IEdvZXJsaSgpKSxcbiAgICBob2xlc2t5OiBPYmplY3QuZnJlZXplKG5ldyBIb2xlc2t5KCkpLFxuICAgIGhvb2RpOiBPYmplY3QuZnJlZXplKG5ldyBIb29kaSgpKSxcbiAgICBsbmJ0YzogT2JqZWN0LmZyZWV6ZShuZXcgTGlnaHRuaW5nQml0Y29pblRlc3RuZXQoKSksXG4gICAgbGl0ZWNvaW46IE9iamVjdC5mcmVlemUobmV3IExpdGVjb2luVGVzdG5ldCgpKSxcbiAgICBtYW50bGU6IE9iamVjdC5mcmVlemUobmV3IE1hbnRsZVRlc3RuZXQoKSksXG4gICAgbWFudHJhOiBPYmplY3QuZnJlZXplKG5ldyBNYW50cmFUZXN0bmV0KCkpLFxuICAgIHBvbHlnb246IE9iamVjdC5mcmVlemUobmV3IFBvbHlnb25UZXN0bmV0KCkpLFxuICAgIHBvbHl4OiBPYmplY3QuZnJlZXplKG5ldyBQb2x5bWVzaFRlc3RuZXQoKSksXG4gICAgcGhyczogT2JqZWN0LmZyZWV6ZShuZXcgUGhhcm9zVGVzdG5ldCgpKSxcbiAgICBjdGM6IE9iamVjdC5mcmVlemUobmV3IENyZWRpdGNvaW5UZXN0bmV0KCkpLFxuICAgIGh5cGVldm06IE9iamVjdC5mcmVlemUobmV3IEh5cGVFVk1UZXN0bmV0KCkpLFxuICAgIGxpbmVhZXRoOiBPYmplY3QuZnJlZXplKG5ldyBMaW5lYUVUSFRlc3RuZXQoKSksXG4gICAgb2FzOiBPYmplY3QuZnJlZXplKG5ldyBPYXNUZXN0bmV0KCkpLFxuICAgIG9nOiBPYmplY3QuZnJlZXplKG5ldyBPZ1Rlc3RuZXQoKSksXG4gICAgb2ZjOiBPYmplY3QuZnJlZXplKG5ldyBPZmNUZXN0bmV0KCkpLFxuICAgIG9rYjogT2JqZWN0LmZyZWV6ZShuZXcgWGxheWVyVGVzdG5ldCgpKSxcbiAgICBtb3JwaDogT2JqZWN0LmZyZWV6ZShuZXcgTW9ycGhUZXN0bmV0KCkpLFxuICAgIG9wdGltaXNtOiBPYmplY3QuZnJlZXplKG5ldyBPcHRpbWlzbVRlc3RuZXQoKSksXG4gICAgb3NtbzogT2JqZWN0LmZyZWV6ZShuZXcgT3Ntb1Rlc3RuZXQoKSksXG4gICAgcmJ0YzogT2JqZWN0LmZyZWV6ZShuZXcgUmJ0Y1Rlc3RuZXQoKSksXG4gICAgcnVuZTogT2JqZWN0LmZyZWV6ZShuZXcgUnVuZVRlc3ROZXQoKSksXG4gICAgc2diOiBPYmplY3QuZnJlZXplKG5ldyBTb25nYmlyZFRlc3RuZXQoKSksXG4gICAgc3RlbGxhcjogT2JqZWN0LmZyZWV6ZShuZXcgU3RlbGxhclRlc3RuZXQoKSksXG4gICAgc2VpOiBPYmplY3QuZnJlZXplKG5ldyBTZWlUZXN0bmV0KCkpLFxuICAgIHNlaWV2bTogT2JqZWN0LmZyZWV6ZShuZXcgU2VpRXZtVGVzdG5ldCgpKSxcbiAgICBzb2w6IE9iamVjdC5mcmVlemUobmV3IFNvbFRlc3RuZXQoKSksXG4gICAgc3VpOiBPYmplY3QuZnJlZXplKG5ldyBTdWlUZXN0bmV0KCkpLFxuICAgIG5lYXI6IE9iamVjdC5mcmVlemUobmV3IE5lYXJUZXN0bmV0KCkpLFxuICAgIHN0eDogT2JqZWN0LmZyZWV6ZShuZXcgU3R4VGVzdG5ldCgpKSxcbiAgICBzdHQ6IE9iamVjdC5mcmVlemUobmV3IFNvbW5pYVRlc3RuZXQoKSksXG4gICAgc29uZWl1bTogT2JqZWN0LmZyZWV6ZShuZXcgU29uZWl1bVRlc3RuZXQoKSksXG4gICAgc29uaWM6IE9iamVjdC5mcmVlemUobmV3IFNvbmljVGVzdG5ldCgpKSxcbiAgICBrYWlhOiBPYmplY3QuZnJlZXplKG5ldyBLYWlhVGVzdG5ldCgpKSxcbiAgICBzdXNkOiBPYmplY3QuZnJlZXplKG5ldyBTVVNEVGVzdG5ldCgpKSxcbiAgICBjb3JldW06IE9iamVjdC5mcmVlemUobmV3IENvcmV1bVRlc3RuZXQoKSksXG4gICAgdGFvOiBPYmplY3QuZnJlZXplKG5ldyBCaXR0ZW5zb3JUZXN0bmV0KCkpLFxuICAgIHRpYTogT2JqZWN0LmZyZWV6ZShuZXcgVGlhVGVzdG5ldCgpKSxcbiAgICB0b246IE9iamVjdC5mcmVlemUobmV3IFRvblRlc3RuZXQoKSksXG4gICAgdHJ4OiBPYmplY3QuZnJlZXplKG5ldyBUcnhUZXN0bmV0KCkpLFxuICAgIHZldDogT2JqZWN0LmZyZWV6ZShuZXcgVmV0VGVzdG5ldCgpKSxcbiAgICB3ZW1peDogT2JqZWN0LmZyZWV6ZShuZXcgV2VtaXhUZXN0bmV0KCkpLFxuICAgIHdvcmxkOiBPYmplY3QuZnJlZXplKG5ldyBXb3JsZFRlc3RuZXQoKSksXG4gICAgeGRjOiBPYmplY3QuZnJlZXplKG5ldyBYZGNUZXN0bmV0KCkpLFxuICAgIHhwbDogT2JqZWN0LmZyZWV6ZShuZXcgUGxhc21hVGVzdG5ldCgpKSxcbiAgICB4cnA6IE9iamVjdC5mcmVlemUobmV3IFhycFRlc3RuZXQoKSksXG4gICAgeHR6OiBPYmplY3QuZnJlZXplKG5ldyBYdHpUZXN0bmV0KCkpLFxuICAgIHpDYXNoOiBPYmplY3QuZnJlZXplKG5ldyBaQ2FzaFRlc3RuZXQoKSksXG4gICAgemV0YTogT2JqZWN0LmZyZWV6ZShuZXcgWmV0YVRlc3RuZXQoKSksXG4gICAgemtTeW5jOiBPYmplY3QuZnJlZXplKG5ldyBaa1N5bmNUZXN0bmV0KCkpLFxuICB9LFxufTtcbiJdfQ==