@bitgo-beta/statics 15.1.1-beta.21 → 15.1.1-beta.2100
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/account.d.ts +1266 -74
- package/dist/src/account.d.ts.map +1 -1
- package/dist/src/account.js +1968 -211
- package/dist/src/ada.d.ts.map +1 -1
- package/dist/src/ada.js +9 -3
- package/dist/src/allCoinsAndTokens.d.ts +2 -0
- package/dist/src/allCoinsAndTokens.d.ts.map +1 -0
- package/dist/src/allCoinsAndTokens.js +1905 -0
- package/dist/src/avaxp.d.ts.map +1 -1
- package/dist/src/avaxp.js +11 -3
- package/dist/src/base.d.ts +3480 -41
- package/dist/src/base.d.ts.map +1 -1
- package/dist/src/base.js +3625 -59
- package/dist/src/canton.d.ts +34 -0
- package/dist/src/canton.d.ts.map +1 -0
- package/dist/src/canton.js +51 -0
- package/dist/src/coinFeatures.d.ts +134 -0
- package/dist/src/coinFeatures.d.ts.map +1 -0
- package/dist/src/coinFeatures.js +817 -0
- package/dist/src/coins/adaTokens.d.ts +2 -0
- package/dist/src/coins/adaTokens.d.ts.map +1 -0
- package/dist/src/coins/adaTokens.js +27 -0
- package/dist/src/coins/avaxTokens.d.ts +2 -0
- package/dist/src/coins/avaxTokens.d.ts.map +1 -0
- package/dist/src/coins/avaxTokens.js +133 -0
- package/dist/src/coins/botOfcTokens.d.ts +3 -0
- package/dist/src/coins/botOfcTokens.d.ts.map +1 -0
- package/dist/src/coins/botOfcTokens.js +309 -0
- package/dist/src/coins/botTokens.d.ts +3 -0
- package/dist/src/coins/botTokens.d.ts.map +1 -0
- package/dist/src/coins/botTokens.js +966 -0
- package/dist/src/coins/bscTokens.d.ts +2 -0
- package/dist/src/coins/bscTokens.d.ts.map +1 -0
- package/dist/src/coins/bscTokens.js +421 -0
- package/dist/src/coins/cantonTokens.d.ts +2 -0
- package/dist/src/coins/cantonTokens.d.ts.map +1 -0
- package/dist/src/coins/cantonTokens.js +134 -0
- package/dist/src/coins/cosmosTokens.d.ts +2 -0
- package/dist/src/coins/cosmosTokens.d.ts.map +1 -0
- package/dist/src/coins/cosmosTokens.js +14 -0
- package/dist/src/coins/erc20Coins.d.ts +2 -0
- package/dist/src/coins/erc20Coins.d.ts.map +1 -0
- package/dist/src/coins/erc20Coins.js +2086 -0
- package/dist/src/coins/erc7984Tokens.d.ts +17 -0
- package/dist/src/coins/erc7984Tokens.d.ts.map +1 -0
- package/dist/src/coins/erc7984Tokens.js +40 -0
- package/dist/src/coins/generateERC20.d.ts +36 -0
- package/dist/src/coins/generateERC20.d.ts.map +1 -0
- package/dist/src/coins/generateERC20.js +46 -0
- package/dist/src/coins/hoodethTokens.d.ts +2 -0
- package/dist/src/coins/hoodethTokens.d.ts.map +1 -0
- package/dist/src/coins/hoodethTokens.js +318 -0
- package/dist/src/coins/jettonTokens.d.ts +2 -0
- package/dist/src/coins/jettonTokens.d.ts.map +1 -0
- package/dist/src/coins/jettonTokens.js +19 -0
- package/dist/src/coins/nep141Tokens.d.ts +2 -0
- package/dist/src/coins/nep141Tokens.d.ts.map +1 -0
- package/dist/src/coins/nep141Tokens.js +18 -0
- package/dist/src/coins/ofcCoins.d.ts +2 -0
- package/dist/src/coins/ofcCoins.d.ts.map +1 -0
- package/dist/src/coins/ofcCoins.js +1457 -0
- package/dist/src/coins/ofcErc20Coins.d.ts +4 -0
- package/dist/src/coins/ofcErc20Coins.d.ts.map +1 -0
- package/dist/src/coins/ofcErc20Coins.js +1902 -0
- package/dist/src/coins/ofcHoodethTokens.d.ts +2 -0
- package/dist/src/coins/ofcHoodethTokens.d.ts.map +1 -0
- package/dist/src/coins/ofcHoodethTokens.js +316 -0
- package/dist/src/coins/polygonTokens.d.ts +2 -0
- package/dist/src/coins/polygonTokens.d.ts.map +1 -0
- package/dist/src/coins/polygonTokens.js +216 -0
- package/dist/src/coins/polyxTokens.d.ts +2 -0
- package/dist/src/coins/polyxTokens.d.ts.map +1 -0
- package/dist/src/coins/polyxTokens.js +22 -0
- package/dist/src/coins/sip10Tokens.d.ts +2 -0
- package/dist/src/coins/sip10Tokens.d.ts.map +1 -0
- package/dist/src/coins/sip10Tokens.js +25 -0
- package/dist/src/coins/solTokens.d.ts +3 -0
- package/dist/src/coins/solTokens.d.ts.map +1 -0
- package/dist/src/coins/solTokens.js +538 -0
- package/dist/src/coins/vetTokens.d.ts +2 -0
- package/dist/src/coins/vetTokens.d.ts.map +1 -0
- package/dist/src/coins/vetTokens.js +11 -0
- package/dist/src/coins.d.ts +22 -1
- package/dist/src/coins.d.ts.map +1 -1
- package/dist/src/coins.js +477 -1412
- package/dist/src/constants.d.ts +1 -0
- package/dist/src/constants.d.ts.map +1 -1
- package/dist/src/constants.js +3 -2
- package/dist/src/errors.d.ts +9 -0
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +23 -2
- package/dist/src/flrp.d.ts +40 -0
- package/dist/src/flrp.d.ts.map +1 -0
- package/dist/src/flrp.js +66 -0
- package/dist/src/hypeevm.d.ts +28 -0
- package/dist/src/hypeevm.d.ts.map +1 -0
- package/dist/src/hypeevm.js +60 -0
- package/dist/src/index.d.ts +5 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +49 -3
- package/dist/src/kaspa.d.ts +34 -0
- package/dist/src/kaspa.d.ts.map +1 -0
- package/dist/src/kaspa.js +63 -0
- package/dist/src/lightning.d.ts +43 -0
- package/dist/src/lightning.d.ts.map +1 -0
- package/dist/src/lightning.js +64 -0
- package/dist/src/map.d.ts +34 -0
- package/dist/src/map.d.ts.map +1 -1
- package/dist/src/map.js +251 -17
- package/dist/src/networkFeatureMapForTokens.d.ts +30 -0
- package/dist/src/networkFeatureMapForTokens.d.ts.map +1 -0
- package/dist/src/networkFeatureMapForTokens.js +91 -0
- package/dist/src/networks.d.ts +2233 -45
- package/dist/src/networks.d.ts.map +1 -1
- package/dist/src/networks.js +2854 -149
- package/dist/src/ofc.d.ts +695 -3
- package/dist/src/ofc.d.ts.map +1 -1
- package/dist/src/ofc.js +1653 -28
- package/dist/src/tokenConfig.d.ts +717 -102
- package/dist/src/tokenConfig.d.ts.map +1 -1
- package/dist/src/tokenConfig.js +1131 -205
- package/dist/src/utxo.d.ts +6 -2
- package/dist/src/utxo.d.ts.map +1 -1
- package/dist/src/utxo.js +133 -4
- package/dist/tsconfig.tsbuildinfo +1 -2744
- package/package.json +6 -3
- package/.mocharc.js +0 -10
- package/.prettierignore +0 -2
- package/CHANGELOG.md +0 -552
- package/dist/resources/dot/index.d.ts +0 -3
- package/dist/resources/dot/index.d.ts.map +0 -1
- package/dist/resources/dot/index.js +0 -15
- package/dist/resources/dot/mainnet.d.ts +0 -2
- package/dist/resources/dot/mainnet.d.ts.map +0 -1
- package/dist/resources/dot/mainnet.js +0 -5
- package/dist/resources/dot/westend.d.ts +0 -2
- package/dist/resources/dot/westend.d.ts.map +0 -1
- package/dist/resources/dot/westend.js +0 -5
- package/resources/dot/index.ts +0 -2
- package/resources/dot/mainnet.ts +0 -2
- package/resources/dot/westend.ts +0 -2
package/dist/src/utxo.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BaseCoin, BaseUnit, CoinFeature, KeyCurve, UnderlyingAsset } from './base';
|
|
2
2
|
import { UtxoNetwork } from './networks';
|
|
3
|
-
|
|
3
|
+
interface UtxoConstructorOptions {
|
|
4
4
|
id: string;
|
|
5
5
|
fullName: string;
|
|
6
6
|
name: string;
|
|
@@ -11,6 +11,7 @@ export interface UtxoConstructorOptions {
|
|
|
11
11
|
prefix?: string;
|
|
12
12
|
suffix?: string;
|
|
13
13
|
primaryKeyCurve: KeyCurve;
|
|
14
|
+
otherSupportedKeyCurves?: KeyCurve[];
|
|
14
15
|
}
|
|
15
16
|
export declare class UtxoCoin extends BaseCoin {
|
|
16
17
|
static readonly DEFAULT_FEATURES: CoinFeature[];
|
|
@@ -34,8 +35,11 @@ export declare class UtxoCoin extends BaseCoin {
|
|
|
34
35
|
* @param prefix? Optional coin prefix. Defaults to empty string
|
|
35
36
|
* @param suffix? Optional coin suffix. Defaults to coin name.
|
|
36
37
|
* @param primaryKeyCurve The elliptic curve for this chain/token
|
|
38
|
+
* @param otherSupportedKeyCurves? Additional elliptic curves this coin supports, e.g. for shielded pools
|
|
37
39
|
*/
|
|
38
40
|
export declare function utxo(id: string, name: string, fullName: string, network: UtxoNetwork, asset: UnderlyingAsset, baseUnit: BaseUnit, features?: CoinFeature[], prefix?: string, suffix?: string,
|
|
39
41
|
/** All UTXOs BitGo supports are SECP256K1 **/
|
|
40
|
-
primaryKeyCurve?: KeyCurve): Readonly<UtxoCoin>;
|
|
42
|
+
primaryKeyCurve?: KeyCurve, otherSupportedKeyCurves?: KeyCurve[]): Readonly<UtxoCoin>;
|
|
43
|
+
export declare const utxoCoins: Readonly<BaseCoin>[];
|
|
44
|
+
export {};
|
|
41
45
|
//# sourceMappingURL=utxo.d.ts.map
|
package/dist/src/utxo.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utxo.d.ts","sourceRoot":"","sources":["../../src/utxo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAY,QAAQ,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC9F,OAAO,
|
|
1
|
+
{"version":3,"file":"utxo.d.ts","sourceRoot":"","sources":["../../src/utxo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAY,QAAQ,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC9F,OAAO,EAAY,WAAW,EAAE,MAAM,YAAY,CAAC;AAEnD,UAAU,sBAAsB;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,WAAW,CAAC;IACrB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,eAAe,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,QAAQ,CAAC;IAC1B,uBAAuB,CAAC,EAAE,QAAQ,EAAE,CAAC;CACtC;AAED,qBAAa,QAAS,SAAQ,QAAQ;IACpC,gBAAuB,gBAAgB,gBAWrC;IAEF;;OAEG;IACH,SAAgB,OAAO,EAAE,WAAW,CAAC;gBAEzB,OAAO,EAAE,sBAAsB;IAW3C,SAAS,CAAC,kBAAkB,IAAI,GAAG,CAAC,WAAW,CAAC;IAIhD,SAAS,CAAC,gBAAgB,IAAI,GAAG,CAAC,WAAW,CAAC;CAG/C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,IAAI,CAClB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,GAAE,WAAW,EAA8B,EACnD,MAAM,SAAK,EACX,MAAM,GAAE,MAA2B;AACnC,8CAA8C;AAC9C,eAAe,GAAE,QAA6B,EAC9C,uBAAuB,CAAC,EAAE,QAAQ,EAAE,sBAiBrC;AAoFD,eAAO,MAAM,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,EA2PzC,CAAC"}
|
package/dist/src/utxo.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.utxoCoins = exports.UtxoCoin = void 0;
|
|
4
|
+
exports.utxo = utxo;
|
|
4
5
|
const base_1 = require("./base");
|
|
6
|
+
const networks_1 = require("./networks");
|
|
5
7
|
class UtxoCoin extends base_1.BaseCoin {
|
|
6
8
|
constructor(options) {
|
|
7
9
|
super({
|
|
@@ -25,6 +27,12 @@ UtxoCoin.DEFAULT_FEATURES = [
|
|
|
25
27
|
base_1.CoinFeature.CHILD_PAYS_FOR_PARENT,
|
|
26
28
|
base_1.CoinFeature.CUSTODY,
|
|
27
29
|
base_1.CoinFeature.CUSTODY_BITGO_TRUST,
|
|
30
|
+
base_1.CoinFeature.CUSTODY_BITGO_MENA_FZE,
|
|
31
|
+
base_1.CoinFeature.CUSTODY_BITGO_CUSTODY_MENA_FZE,
|
|
32
|
+
base_1.CoinFeature.CUSTODY_BITGO_INDIA,
|
|
33
|
+
base_1.CoinFeature.MULTISIG_COLD,
|
|
34
|
+
base_1.CoinFeature.MULTISIG,
|
|
35
|
+
base_1.CoinFeature.PAYGO,
|
|
28
36
|
];
|
|
29
37
|
/**
|
|
30
38
|
* Factory function for utxo coin instances.
|
|
@@ -38,10 +46,11 @@ UtxoCoin.DEFAULT_FEATURES = [
|
|
|
38
46
|
* @param prefix? Optional coin prefix. Defaults to empty string
|
|
39
47
|
* @param suffix? Optional coin suffix. Defaults to coin name.
|
|
40
48
|
* @param primaryKeyCurve The elliptic curve for this chain/token
|
|
49
|
+
* @param otherSupportedKeyCurves? Additional elliptic curves this coin supports, e.g. for shielded pools
|
|
41
50
|
*/
|
|
42
51
|
function utxo(id, name, fullName, network, asset, baseUnit, features = UtxoCoin.DEFAULT_FEATURES, prefix = '', suffix = name.toUpperCase(),
|
|
43
52
|
/** All UTXOs BitGo supports are SECP256K1 **/
|
|
44
|
-
primaryKeyCurve = base_1.KeyCurve.Secp256k1) {
|
|
53
|
+
primaryKeyCurve = base_1.KeyCurve.Secp256k1, otherSupportedKeyCurves) {
|
|
45
54
|
return Object.freeze(new UtxoCoin({
|
|
46
55
|
id,
|
|
47
56
|
name,
|
|
@@ -52,8 +61,128 @@ primaryKeyCurve = base_1.KeyCurve.Secp256k1) {
|
|
|
52
61
|
features,
|
|
53
62
|
asset,
|
|
54
63
|
primaryKeyCurve,
|
|
64
|
+
otherSupportedKeyCurves,
|
|
55
65
|
baseUnit,
|
|
56
66
|
}));
|
|
57
67
|
}
|
|
58
|
-
|
|
59
|
-
|
|
68
|
+
const BCH_FEATURES = [
|
|
69
|
+
...UtxoCoin.DEFAULT_FEATURES,
|
|
70
|
+
base_1.CoinFeature.BULK_TRANSACTION,
|
|
71
|
+
base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
|
|
72
|
+
base_1.CoinFeature.CUSTODY_BITGO_NEW_YORK,
|
|
73
|
+
base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
|
|
74
|
+
base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
|
|
75
|
+
base_1.CoinFeature.CUSTODY_BULK_TRANSACTION,
|
|
76
|
+
];
|
|
77
|
+
const BTC_FEATURES = [
|
|
78
|
+
...UtxoCoin.DEFAULT_FEATURES,
|
|
79
|
+
base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
|
|
80
|
+
base_1.CoinFeature.CUSTODY_BITGO_NEW_YORK,
|
|
81
|
+
base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
|
|
82
|
+
base_1.CoinFeature.CUSTODY_BITGO_SISTER_TRUST_ONE,
|
|
83
|
+
base_1.CoinFeature.CUSTODY_BITGO_KOREA,
|
|
84
|
+
base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS,
|
|
85
|
+
base_1.CoinFeature.BULK_TRANSACTION,
|
|
86
|
+
base_1.CoinFeature.DISTRIBUTED_CUSTODY,
|
|
87
|
+
base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
|
|
88
|
+
base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
|
|
89
|
+
base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_ONCHAIN,
|
|
90
|
+
base_1.CoinFeature.STAKING,
|
|
91
|
+
];
|
|
92
|
+
const BTG_FEATURES = [
|
|
93
|
+
...UtxoCoin.DEFAULT_FEATURES,
|
|
94
|
+
base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
|
|
95
|
+
base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
|
|
96
|
+
];
|
|
97
|
+
const LTC_FEATURES = [
|
|
98
|
+
...UtxoCoin.DEFAULT_FEATURES,
|
|
99
|
+
base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
|
|
100
|
+
base_1.CoinFeature.CUSTODY_BITGO_NEW_YORK,
|
|
101
|
+
base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
|
|
102
|
+
base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
|
|
103
|
+
base_1.CoinFeature.BULK_TRANSACTION,
|
|
104
|
+
];
|
|
105
|
+
const DOGE_FEATURES = [
|
|
106
|
+
...UtxoCoin.DEFAULT_FEATURES,
|
|
107
|
+
base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
|
|
108
|
+
base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
|
|
109
|
+
base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
|
|
110
|
+
base_1.CoinFeature.CUSTODY_BITGO_NEW_YORK,
|
|
111
|
+
base_1.CoinFeature.BULK_TRANSACTION,
|
|
112
|
+
];
|
|
113
|
+
const DASH_FEATURES = [...UtxoCoin.DEFAULT_FEATURES, base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT, base_1.CoinFeature.BULK_TRANSACTION];
|
|
114
|
+
const TDASH_FEATURES = [...UtxoCoin.DEFAULT_FEATURES, base_1.CoinFeature.BULK_TRANSACTION];
|
|
115
|
+
const ZEC_FEATURES = [
|
|
116
|
+
...UtxoCoin.DEFAULT_FEATURES,
|
|
117
|
+
base_1.CoinFeature.BULK_TRANSACTION,
|
|
118
|
+
base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
|
|
119
|
+
/**
|
|
120
|
+
* Zcash also supports a RedPallas/Orchard shielded pool, selectable via
|
|
121
|
+
* `otherSupportedKeyCurves` (see the `zec`/`tzec` entries below). TSS/TSS_COLD are added
|
|
122
|
+
* here (alongside the existing MULTISIG/MULTISIG_COLD used for transparent addresses) so
|
|
123
|
+
* downstream OVC/BitGo tooling can treat this coin as TSS-eligible for shielded DKG, without
|
|
124
|
+
* touching the existing transparent multisig flows which remain keyed on `primaryKeyCurve`
|
|
125
|
+
* (secp256k1).
|
|
126
|
+
*
|
|
127
|
+
* TSS_SUPPORT_GATED hides the MPC wallet-creation option in bitgo-ui for mainnet zec until
|
|
128
|
+
* shielded MPC wallet creation ships (CSHLD-1763 / T1-3922); TZEC_FEATURES drops the gate below so the
|
|
129
|
+
* option remains enabled on testnet.
|
|
130
|
+
*/
|
|
131
|
+
base_1.CoinFeature.TSS,
|
|
132
|
+
base_1.CoinFeature.TSS_COLD,
|
|
133
|
+
base_1.CoinFeature.MPCV2,
|
|
134
|
+
base_1.CoinFeature.TSS_SUPPORT_GATED,
|
|
135
|
+
];
|
|
136
|
+
const TZEC_FEATURES = [...ZEC_FEATURES.filter((feature) => feature !== base_1.CoinFeature.TSS_SUPPORT_GATED)];
|
|
137
|
+
const PEARL_FEATURES = [
|
|
138
|
+
...UtxoCoin.DEFAULT_FEATURES,
|
|
139
|
+
base_1.CoinFeature.BULK_TRANSACTION,
|
|
140
|
+
base_1.CoinFeature.DISTRIBUTED_CUSTODY,
|
|
141
|
+
base_1.CoinFeature.CUSTODY_BITGO_NEW_YORK,
|
|
142
|
+
base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
|
|
143
|
+
base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
|
|
144
|
+
base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
|
|
145
|
+
base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
|
|
146
|
+
base_1.CoinFeature.CUSTODY_BITGO_SISTER_TRUST_ONE,
|
|
147
|
+
base_1.CoinFeature.CUSTODY_BITGO_KOREA,
|
|
148
|
+
base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS,
|
|
149
|
+
];
|
|
150
|
+
exports.utxoCoins = [
|
|
151
|
+
utxo('8d6e08d5-399f-414f-8430-6ceca1798cbf', 'bch', 'Bitcoin Cash', networks_1.Networks.main.bitcoinCash, base_1.UnderlyingAsset.BCH, base_1.BaseUnit.BTC, BCH_FEATURES),
|
|
152
|
+
utxo('aae6fafc-5091-4b10-9a11-aa6cefea2805', 'tbch', 'Testnet Bitcoin Cash', networks_1.Networks.test.bitcoinCash, base_1.UnderlyingAsset.BCH, base_1.BaseUnit.BTC, BCH_FEATURES),
|
|
153
|
+
utxo('941587ce-1c7a-4305-b908-15455d15e961', 'bcha', 'ECash', networks_1.Networks.main.eCash, base_1.UnderlyingAsset.BCHA, base_1.BaseUnit.BTC),
|
|
154
|
+
utxo('af8de1e0-3e33-47bf-94d3-fb3c2bebead2', 'tbcha', 'Testnet ECash', networks_1.Networks.test.eCash, base_1.UnderlyingAsset.BCHA, base_1.BaseUnit.BTC),
|
|
155
|
+
utxo('f728cfc7-d0cf-4f99-bca0-d25273e65fcf', 'bsv', 'Bitcoin SV', networks_1.Networks.main.bitcoinSV, base_1.UnderlyingAsset.BSV, base_1.BaseUnit.BTC, [base_1.CoinFeature.DEPRECATED, ...UtxoCoin.DEFAULT_FEATURES]),
|
|
156
|
+
utxo('7cb81518-85d7-400f-960e-7bc00b3bfa62', 'tbsv', 'Testnet Bitcoin SV', networks_1.Networks.test.bitcoinSV, base_1.UnderlyingAsset.BSV, base_1.BaseUnit.BTC, [base_1.CoinFeature.DEPRECATED, ...UtxoCoin.DEFAULT_FEATURES]),
|
|
157
|
+
utxo('5c1691c5-c9cc-49ed-abe0-c433dab2edaa', 'btc', 'Bitcoin', networks_1.Networks.main.bitcoin, base_1.UnderlyingAsset.BTC, base_1.BaseUnit.BTC, BTC_FEATURES),
|
|
158
|
+
utxo('cde7559d-a536-4d12-8de4-90baa09f90bd', 'tbtc', 'Testnet Bitcoin', networks_1.Networks.test.bitcoin, base_1.UnderlyingAsset.BTC, base_1.BaseUnit.BTC, BTC_FEATURES.filter((f) => f !== base_1.CoinFeature.STAKING)),
|
|
159
|
+
utxo('a0d53dc9-2dcc-4ebb-a2d4-51983fe20da6', 'tbtcsig', 'Public Signet Bitcoin', networks_1.Networks.test.bitcoinPublicSignet, base_1.UnderlyingAsset.BTC, base_1.BaseUnit.BTC, BTC_FEATURES),
|
|
160
|
+
utxo('f76cec3f-7aef-473d-af5d-4c47dd40dfa8', 'tbtc4', 'Testnet4 Bitcoin', networks_1.Networks.test.bitcoinTestnet4, base_1.UnderlyingAsset.BTC, base_1.BaseUnit.BTC, BTC_FEATURES),
|
|
161
|
+
utxo('722522dc-a613-4bff-a1d1-183ebe5138ae', 'tbtcbgsig', 'BitGo Signet Bitcoin', networks_1.Networks.test.bitcoinBitGoSignet, base_1.UnderlyingAsset.BTC, base_1.BaseUnit.BTC, BTC_FEATURES),
|
|
162
|
+
utxo('f3e1c2d4-5b6a-47c8-9012-3456789abcde', 'tbtcstx',
|
|
163
|
+
// Stacks Bitcoin regtest, represented by Bitcoin testnet transaction semantics in utxo-lib.
|
|
164
|
+
'Stacks Bitcoin (Regtest)', networks_1.Networks.test.bitcoinStx, base_1.UnderlyingAsset.BTC, base_1.BaseUnit.BTC, BTC_FEATURES),
|
|
165
|
+
utxo('b1f9e6d0-8a4c-4c67-9d0a-2c7e5b8f3146', 'tbtcstxprivate1',
|
|
166
|
+
// Stacks private-1 Bitcoin regtest, represented by Bitcoin testnet transaction semantics in utxo-lib.
|
|
167
|
+
'Stacks Bitcoin (Private-1 Regtest)', networks_1.Networks.test.bitcoinStxPrivate1, base_1.UnderlyingAsset.BTC, base_1.BaseUnit.BTC, BTC_FEATURES),
|
|
168
|
+
utxo('086a53bc-052a-4ab4-b812-3f6f13d66c88', 'tbtcstxsignet',
|
|
169
|
+
// Stacks staking-testnet Bitcoin signet (BIP-325), represented by the public signet network in utxo-lib.
|
|
170
|
+
'Stacks Bitcoin (Signet)', networks_1.Networks.test.bitcoinStxSignet, base_1.UnderlyingAsset.BTC, base_1.BaseUnit.BTC, BTC_FEATURES),
|
|
171
|
+
utxo('8feb110d-0d68-44ce-ae97-b8c30ec870a9', 'btg', 'Bitcoin Gold', networks_1.Networks.main.bitcoinGold, base_1.UnderlyingAsset.BTG, base_1.BaseUnit.BTC, BTG_FEATURES.filter((f) => f !== base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE)),
|
|
172
|
+
utxo('633246f2-af21-41b8-8b9e-ba9ae25d386f', 'tbtg', 'Testnet Bitcoin Gold', networks_1.Networks.test.bitcoinGold, base_1.UnderlyingAsset.BTG, base_1.BaseUnit.BTC, base_1.BaseCoin.getFeaturesByTypeExcluding([base_1.CoinFeature.CUSTODY_BITGO_MENA_FZE, base_1.CoinFeature.MULTISIG_COLD], BTG_FEATURES)),
|
|
173
|
+
utxo('9c8097f1-5d2c-4a62-a94c-96c271c0e5e0', 'ltc', 'Litecoin', networks_1.Networks.main.litecoin, base_1.UnderlyingAsset.LTC, base_1.BaseUnit.LTC, LTC_FEATURES),
|
|
174
|
+
utxo('1aca32c8-a3e5-42eb-82df-4c263d8bfc68', 'tltc', 'Testnet Litecoin', networks_1.Networks.test.litecoin, base_1.UnderlyingAsset.LTC, base_1.BaseUnit.LTC, LTC_FEATURES),
|
|
175
|
+
utxo('0739be6a-c72e-468d-9464-ca5601965708', 'dash', 'Dash', networks_1.Networks.main.dash, base_1.UnderlyingAsset.DASH, base_1.BaseUnit.DASH, DASH_FEATURES.filter((feature) => ![
|
|
176
|
+
base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
|
|
177
|
+
base_1.CoinFeature.CUSTODY_BITGO_CUSTODY_MENA_FZE,
|
|
178
|
+
base_1.CoinFeature.CUSTODY_BITGO_MENA_FZE,
|
|
179
|
+
].includes(feature))),
|
|
180
|
+
utxo('5950d78f-e8dd-457a-ab5d-310e6b476bb1', 'tdash', 'Testnet Dash', networks_1.Networks.test.dash, base_1.UnderlyingAsset.DASH, base_1.BaseUnit.DASH, TDASH_FEATURES),
|
|
181
|
+
utxo('508f6b53-1e6e-41fd-b541-b2498b7c4b61', 'zec', 'ZCash', networks_1.Networks.main.zCash, base_1.UnderlyingAsset.ZEC, base_1.BaseUnit.ZEC, ZEC_FEATURES, '', 'ZEC', base_1.KeyCurve.Secp256k1, [base_1.KeyCurve.Pallas]),
|
|
182
|
+
utxo('549a4499-387c-42d3-9048-c01d6724d98a', 'tzec', 'Testnet ZCash', networks_1.Networks.test.zCash, base_1.UnderlyingAsset.ZEC, base_1.BaseUnit.ZEC, TZEC_FEATURES, '', 'TZEC', base_1.KeyCurve.Secp256k1, [base_1.KeyCurve.Pallas]),
|
|
183
|
+
utxo('4518a5b9-00d3-476e-bc40-d3f87eb82250', 'pearl', 'Pearl', networks_1.Networks.main.pearl, base_1.UnderlyingAsset.PEARL, base_1.BaseUnit.BTC, PEARL_FEATURES),
|
|
184
|
+
utxo('5d88723a-7e86-43c7-9fb1-f4cee7abc48f', 'tpearl', 'Testnet Pearl', networks_1.Networks.test.pearl, base_1.UnderlyingAsset.PEARL, base_1.BaseUnit.BTC, PEARL_FEATURES),
|
|
185
|
+
utxo('c93a9160-458f-4a31-bea0-4a93ae8b1d2d', 'doge', 'Dogecoin', networks_1.Networks.main.dogecoin, base_1.UnderlyingAsset.DOGE, base_1.BaseUnit.BTC, DOGE_FEATURES),
|
|
186
|
+
utxo('7a1597e8-fd8e-4b68-8086-f9159e37e0ce', 'tdoge', 'Testnet Dogecoin', networks_1.Networks.test.dogecoin, base_1.UnderlyingAsset.DOGE, base_1.BaseUnit.BTC, DOGE_FEATURES),
|
|
187
|
+
];
|
|
188
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXR4by5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dHhvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXNFQSxvQkE2QkM7QUFuR0QsaUNBQThGO0FBQzlGLHlDQUFtRDtBQWdCbkQsTUFBYSxRQUFTLFNBQVEsZUFBUTtJQW1CcEMsWUFBWSxPQUErQjtRQUN6QyxLQUFLLENBQUM7WUFDSixHQUFHLE9BQU87WUFDVixJQUFJLEVBQUUsZUFBUSxDQUFDLE1BQU07WUFDckIsT0FBTyxFQUFFLEtBQUs7WUFDZCxhQUFhLEVBQUUsQ0FBQztTQUNqQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDakMsQ0FBQztJQUVTLGtCQUFrQjtRQUMxQixPQUFPLElBQUksR0FBRyxDQUFDLENBQUMsa0JBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFUyxnQkFBZ0I7UUFDeEIsT0FBTyxJQUFJLEdBQUcsQ0FBQyxDQUFDLGtCQUFXLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDOztBQXBDSCw0QkFxQ0M7QUFwQ3dCLHlCQUFnQixHQUFHO0lBQ3hDLGtCQUFXLENBQUMsYUFBYTtJQUN6QixrQkFBVyxDQUFDLHFCQUFxQjtJQUNqQyxrQkFBVyxDQUFDLE9BQU87SUFDbkIsa0JBQVcsQ0FBQyxtQkFBbUI7SUFDL0Isa0JBQVcsQ0FBQyxzQkFBc0I7SUFDbEMsa0JBQVcsQ0FBQyw4QkFBOEI7SUFDMUMsa0JBQVcsQ0FBQyxtQkFBbUI7SUFDL0Isa0JBQVcsQ0FBQyxhQUFhO0lBQ3pCLGtCQUFXLENBQUMsUUFBUTtJQUNwQixrQkFBVyxDQUFDLEtBQUs7Q0FDbEIsQ0FBQztBQTJCSjs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsU0FBZ0IsSUFBSSxDQUNsQixFQUFVLEVBQ1YsSUFBWSxFQUNaLFFBQWdCLEVBQ2hCLE9BQW9CLEVBQ3BCLEtBQXNC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QUNaLGFBQWEsQ0FDZDtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiwgQmFzZVVuaXQsIENvaW5GZWF0dXJlLCBDb2luS2luZCwgS2V5Q3VydmUsIFVuZGVybHlpbmdBc3NldCB9IGZyb20gJy4vYmFzZSc7XG5pbXBvcnQgeyBOZXR3b3JrcywgVXR4b05ldHdvcmsgfSBmcm9tICcuL25ldHdvcmtzJztcblxuaW50ZXJmYWNlIFV0eG9Db25zdHJ1Y3Rvck9wdGlvbnMge1xuICBpZDogc3RyaW5nO1xuICBmdWxsTmFtZTogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIG5ldHdvcms6IFV0eG9OZXR3b3JrO1xuICBmZWF0dXJlczogQ29pbkZlYXR1cmVbXTtcbiAgYXNzZXQ6IFVuZGVybHlpbmdBc3NldDtcbiAgYmFzZVVuaXQ6IEJhc2VVbml0O1xuICBwcmVmaXg/OiBzdHJpbmc7XG4gIHN1ZmZpeD86IHN0cmluZztcbiAgcHJpbWFyeUtleUN1cnZlOiBLZXlDdXJ2ZTtcbiAgb3RoZXJTdXBwb3J0ZWRLZXlDdXJ2ZXM/OiBLZXlDdXJ2ZVtdO1xufVxuXG5leHBvcnQgY2xhc3MgVXR4b0NvaW4gZXh0ZW5kcyBCYXNlQ29pbiB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9GRUFUVVJFUyA9IFtcbiAgICBDb2luRmVhdHVyZS5VTlNQRU5UX01PREVMLFxuICAgIENvaW5GZWF0dXJlLkNISUxEX1BBWVNfRk9SX1BBUkVOVCxcbiAgICBDb2luRmVhdHVyZS5DVVNUT0RZLFxuICAgIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fVFJVU1QsXG4gICAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19NRU5BX0ZaRSxcbiAgICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0NVU1RPRFlfTUVOQV9GWkUsXG4gICAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19JTkRJQSxcbiAgICBDb2luRmVhdHVyZS5NVUxUSVNJR19DT0xELFxuICAgIENvaW5GZWF0dXJlLk1VTFRJU0lHLFxuICAgIENvaW5GZWF0dXJlLlBBWUdPLFxuICBdO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGZpZWxkcyBmb3IgdXR4byBjb2luc1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG5ldHdvcms6IFV0eG9OZXR3b3JrO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFV0eG9Db25zdHJ1Y3Rvck9wdGlvbnMpIHtcbiAgICBzdXBlcih7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAga2luZDogQ29pbktpbmQuQ1JZUFRPLFxuICAgICAgaXNUb2tlbjogZmFsc2UsXG4gICAgICBkZWNpbWFsUGxhY2VzOiA4LFxuICAgIH0pO1xuXG4gICAgdGhpcy5uZXR3b3JrID0gb3B0aW9ucy5uZXR3b3JrO1xuICB9XG5cbiAgcHJvdGVjdGVkIGRpc2FsbG93ZWRGZWF0dXJlcygpOiBTZXQ8Q29pbkZlYXR1cmU+IHtcbiAgICByZXR1cm4gbmV3IFNldChbQ29pbkZlYXR1cmUuQUNDT1VOVF9NT0RFTF0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlcXVpcmVkRmVhdHVyZXMoKTogU2V0PENvaW5GZWF0dXJlPiB7XG4gICAgcmV0dXJuIG5ldyBTZXQoW0NvaW5GZWF0dXJlLlVOU1BFTlRfTU9ERUxdKTtcbiAgfVxufVxuXG4vKipcbiAqIEZhY3RvcnkgZnVuY3Rpb24gZm9yIHV0eG8gY29pbiBpbnN0YW5jZXMuXG4gKlxuICogQHBhcmFtIGlkIHV1aWQgdjQgb2YgdGhlIGNvaW5cbiAqIEBwYXJhbSBuYW1lIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBjb2luXG4gKiBAcGFyYW0gZnVsbE5hbWUgQ29tcGxldGUgaHVtYW4tcmVhZGFibGUgbmFtZSBvZiB0aGUgY29pblxuICogQHBhcmFtIG5ldHdvcmsgTmV0d29yayBvYmplY3QgZm9yIHRoaXMgY29pblxuICogQHBhcmFtIGFzc2V0IEFzc2V0IHdoaWNoIHRoaXMgY29pbiByZXByZXNlbnRzLiBUaGlzIGlzIHRoZSBzYW1lIGZvciBib3RoIG1haW5uZXQgYW5kIHRlc3RuZXQgdmFyaWFudHMgb2YgYSBjb2luLlxuICogQHBhcmFtIGZlYXR1cmVzPyBGZWF0dXJlcyBvZiB0aGlzIGNvaW4uIERlZmF1bHRzIHRvIHRoZSBERUZBVUxUX0ZFQVRVUkVTIGRlZmluZWQgaW4gYFV0eG9Db2luYFxuICogQHBhcmFtIHByZWZpeD8gT3B0aW9uYWwgY29pbiBwcmVmaXguIERlZmF1bHRzIHRvIGVtcHR5IHN0cmluZ1xuICogQHBhcmFtIHN1ZmZpeD8gT3B0aW9uYWwgY29pbiBzdWZmaXguIERlZmF1bHRzIHRvIGNvaW4gbmFtZS5cbiAqIEBwYXJhbSBwcmltYXJ5S2V5Q3VydmUgVGhlIGVsbGlwdGljIGN1cnZlIGZvciB0aGlzIGNoYWluL3Rva2VuXG4gKiBAcGFyYW0gb3RoZXJTdXBwb3J0ZWRLZXlDdXJ2ZXM/IEFkZGl0aW9uYWwgZWxsaXB0aWMgY3VydmVzIHRoaXMgY29pbiBzdXBwb3J0cywgZS5nLiBmb3Igc2hpZWxkZWQgcG9vbHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHV0eG8oXG4gIGlkOiBzdHJpbmcsXG4gIG5hbWU6IHN0cmluZyxcbiAgZnVsbE5hbWU6IHN0cmluZyxcbiAgbmV0d29yazogVXR4b05ldHdvcmssXG4gIGFzc2V0OiBVbmRlcmx5aW5nQXNzZXQsXG4gIGJhc2VVbml0OiBCYXNlVW5pdCxcbiAgZmVhdHVyZXM6IENvaW5GZWF0dXJlW10gPSBVdHhvQ29pbi5ERUZBVUxUX0ZFQVRVUkVTLFxuICBwcmVmaXggPSAnJyxcbiAgc3VmZml4OiBzdHJpbmcgPSBuYW1lLnRvVXBwZXJDYXNlKCksXG4gIC8qKiBBbGwgVVRYT3MgQml0R28gc3VwcG9ydHMgYXJlIFNFQ1AyNTZLMSAqKi9cbiAgcHJpbWFyeUtleUN1cnZlOiBLZXlDdXJ2ZSA9IEtleUN1cnZlLlNlY3AyNTZrMSxcbiAgb3RoZXJTdXBwb3J0ZWRLZXlDdXJ2ZXM/OiBLZXlDdXJ2ZVtdXG4pIHtcbiAgcmV0dXJuIE9iamVjdC5mcmVlemUoXG4gICAgbmV3IFV0eG9Db2luKHtcbiAgICAgIGlkLFxuICAgICAgbmFtZSxcbiAgICAgIGZ1bGxOYW1lLFxuICAgICAgbmV0d29yayxcbiAgICAgIHByZWZpeCxcbiAgICAgIHN1ZmZpeCxcbiAgICAgIGZlYXR1cmVzLFxuICAgICAgYXNzZXQsXG4gICAgICBwcmltYXJ5S2V5Q3VydmUsXG4gICAgICBvdGhlclN1cHBvcnRlZEtleUN1cnZlcyxcbiAgICAgIGJhc2VVbml0LFxuICAgIH0pXG4gICk7XG59XG5cbmNvbnN0IEJDSF9GRUFUVVJFUyA9IFtcbiAgLi4uVXR4b0NvaW4uREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19HRVJNQU5ZLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX05FV19ZT1JLLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TSU5HQVBPUkUsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQlVMS19UUkFOU0FDVElPTixcbl07XG5jb25zdCBCVENfRkVBVFVSRVMgPSBbXG4gIC4uLlV0eG9Db2luLkRFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fR0VSTUFOWSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19ORVdfWU9SSyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lTVEVSX1RSVVNUX09ORSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19LT1JFQSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19FVVJPUEVfQVBTLFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5ESVNUUklCVVRFRF9DVVNUT0RZLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NJTkdBUE9SRSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TV0lUWkVSTEFORCxcbiAgQ29pbkZlYXR1cmUuU1RVQ0tfVFJBTlNBQ1RJT05fTUFOQUdFTUVOVF9PTkNIQUlOLFxuICBDb2luRmVhdHVyZS5TVEFLSU5HLFxuXTtcbmNvbnN0IEJUR19GRUFUVVJFUyA9IFtcbiAgLi4uVXR4b0NvaW4uREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19HRVJNQU5ZLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVCxcbl07XG5jb25zdCBMVENfRkVBVFVSRVMgPSBbXG4gIC4uLlV0eG9Db2luLkRFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fR0VSTUFOWSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19ORVdfWU9SSyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFLFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuXTtcbmNvbnN0IERPR0VfRkVBVFVSRVMgPSBbXG4gIC4uLlV0eG9Db2luLkRFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fR0VSTUFOWSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX05FV19ZT1JLLFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuXTtcbmNvbnN0IERBU0hfRkVBVFVSRVMgPSBbLi4uVXR4b0NvaW4uREVGQVVMVF9GRUFUVVJFUywgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsIENvaW5GZWF0dXJlLkJVTEtfVFJBTlNBQ1RJT05dO1xuY29uc3QgVERBU0hfRkVBVFVSRVMgPSBbLi4uVXR4b0NvaW4uREVGQVVMVF9GRUFUVVJFUywgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTl07XG5jb25zdCBaRUNfRkVBVFVSRVMgPSBbXG4gIC4uLlV0eG9Db2luLkRFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLkJVTEtfVFJBTlNBQ1RJT04sXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICAvKipcbiAgICogWmNhc2ggYWxzbyBzdXBwb3J0cyBhIFJlZFBhbGxhcy9PcmNoYXJkIHNoaWVsZGVkIHBvb2wsIHNlbGVjdGFibGUgdmlhXG4gICAqIGBvdGhlclN1cHBvcnRlZEtleUN1cnZlc2AgKHNlZSB0aGUgYHplY2AvYHR6ZWNgIGVudHJpZXMgYmVsb3cpLiBUU1MvVFNTX0NPTEQgYXJlIGFkZGVkXG4gICAqIGhlcmUgKGFsb25nc2lkZSB0aGUgZXhpc3RpbmcgTVVMVElTSUcvTVVMVElTSUdfQ09MRCB1c2VkIGZvciB0cmFuc3BhcmVudCBhZGRyZXNzZXMpIHNvXG4gICAqIGRvd25zdHJlYW0gT1ZDL0JpdEdvIHRvb2xpbmcgY2FuIHRyZWF0IHRoaXMgY29pbiBhcyBUU1MtZWxpZ2libGUgZm9yIHNoaWVsZGVkIERLRywgd2l0aG91dFxuICAgKiB0b3VjaGluZyB0aGUgZXhpc3RpbmcgdHJhbnNwYXJlbnQgbXVsdGlzaWcgZmxvd3Mgd2hpY2ggcmVtYWluIGtleWVkIG9uIGBwcmltYXJ5S2V5Q3VydmVgXG4gICAqIChzZWNwMjU2azEpLlxuICAgKlxuICAgKiBUU1NfU1VQUE9SVF9HQVRFRCBoaWRlcyB0aGUgTVBDIHdhbGxldC1jcmVhdGlvbiBvcHRpb24gaW4gYml0Z28tdWkgZm9yIG1haW5uZXQgemVjIHVudGlsXG4gICAqIHNoaWVsZGVkIE1QQyB3YWxsZXQgY3JlYXRpb24gc2hpcHMgKENTSExELTE3NjMgLyBUMS0zOTIyKTsgVFpFQ19GRUFUVVJFUyBkcm9wcyB0aGUgZ2F0ZSBiZWxvdyBzbyB0aGVcbiAgICogb3B0aW9uIHJlbWFpbnMgZW5hYmxlZCBvbiB0ZXN0bmV0LlxuICAgKi9cbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTVBDVjIsXG4gIENvaW5GZWF0dXJlLlRTU19TVVBQT1JUX0dBVEVELFxuXTtcbmNvbnN0IFRaRUNfRkVBVFVSRVMgPSBbLi4uWkVDX0ZFQVRVUkVTLmZpbHRlcigoZmVhdHVyZSkgPT4gZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuVFNTX1NVUFBPUlRfR0FURUQpXTtcbmNvbnN0IFBFQVJMX0ZFQVRVUkVTID0gW1xuICAuLi5VdHhvQ29pbi5ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5ESVNUUklCVVRFRF9DVVNUT0RZLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX05FV19ZT1JLLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0dFUk1BTlksXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU1dJVFpFUkxBTkQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NJTkdBUE9SRSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TSVNURVJfVFJVU1RfT05FLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0tPUkVBLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0VVUk9QRV9BUFMsXG5dO1xuZXhwb3J0IGNvbnN0IHV0eG9Db2luczogUmVhZG9ubHk8QmFzZUNvaW4+W10gPSBbXG4gIHV0eG8oXG4gICAgJzhkNmUwOGQ1LTM5OWYtNDE0Zi04NDMwLTZjZWNhMTc5OGNiZicsXG4gICAgJ2JjaCcsXG4gICAgJ0JpdGNvaW4gQ2FzaCcsXG4gICAgTmV0d29ya3MubWFpbi5iaXRjb2luQ2FzaCxcbiAgICBVbmRlcmx5aW5nQXNzZXQuQkNILFxuICAgIEJhc2VVbml0LkJUQyxcbiAgICBCQ0hfRkVBVFVSRVNcbiAgKSxcbiAgdXR4byhcbiAgICAnYWFlNmZhZmMtNTA5MS00YjEwLTlhMTEtYWE2Y2VmZWEyODA1JyxcbiAgICAndGJjaCcsXG4gICAgJ1Rlc3RuZXQgQml0Y29pbiBDYXNoJyxcbiAgICBOZXR3b3Jrcy50ZXN0LmJpdGNvaW5DYXNoLFxuICAgIFVuZGVybHlpbmdBc3NldC5CQ0gsXG4gICAgQmFzZVVuaXQuQlRDLFxuICAgIEJDSF9GRUFUVVJFU1xuICApLFxuICB1dHhvKFxuICAgICc5NDE1ODdjZS0xYzdhLTQzMDUtYjkwOC0xNTQ1NWQxNWU5NjEnLFxuICAgICdiY2hhJyxcbiAgICAnRUNhc2gnLFxuICAgIE5ldHdvcmtzLm1haW4uZUNhc2gsXG4gICAgVW5kZXJseWluZ0Fzc2V0LkJDSEEsXG4gICAgQmFzZVVuaXQuQlRDXG4gICksXG4gIHV0eG8oXG4gICAgJ2FmOGRlMWUwLTNlMzMtNDdiZi05NGQzLWZiM2MyYmViZWFkMicsXG4gICAgJ3RiY2hhJyxcbiAgICAnVGVzdG5ldCBFQ2FzaCcsXG4gICAgTmV0d29ya3MudGVzdC5lQ2FzaCxcbiAgICBVbmRlcmx5aW5nQXNzZXQuQkNIQSxcbiAgICBCYXNlVW5pdC5CVENcbiAgKSxcbiAgdXR4byhcbiAgICAnZjcyOGNmYzctZDBjZi00Zjk5LWJjYTAtZDI1MjczZTY1ZmNmJyxcbiAgICAnYnN2JyxcbiAgICAnQml0Y29pbiBTVicsXG4gICAgTmV0d29ya3MubWFpbi5iaXRjb2luU1YsXG4gICAgVW5kZXJseWluZ0Fzc2V0LkJTVixcbiAgICBCYXNlVW5pdC5CVEMsXG4gICAgW0NvaW5GZWF0dXJlLkRFUFJFQ0FURUQsIC4uLlV0eG9Db2luLkRFRkFVTFRfRkVBVFVSRVNdXG4gICksXG4gIHV0eG8oXG4gICAgJzdjYjgxNTE4LTg1ZDctNDAwZi05NjBlLTdiYzAwYjNiZmE2MicsXG4gICAgJ3Ric3YnLFxuICAgICdUZXN0bmV0IEJpdGNvaW4gU1YnLFxuICAgIE5ldHdvcmtzLnRlc3QuYml0Y29pblNWLFxuICAgIFVuZGVybHlpbmdBc3NldC5CU1YsXG4gICAgQmFzZVVuaXQuQlRDLFxuICAgIFtDb2luRmVhdHVyZS5ERVBSRUNBVEVELCAuLi5VdHhvQ29pbi5ERUZBVUxUX0ZFQVRVUkVTXVxuICApLFxuICB1dHhvKFxuICAgICc1YzE2OTFjNS1jOWNjLTQ5ZWQtYWJlMC1jNDMzZGFiMmVkYWEnLFxuICAgICdidGMnLFxuICAgICdCaXRjb2luJyxcbiAgICBOZXR3b3Jrcy5tYWluLmJpdGNvaW4sXG4gICAgVW5kZXJseWluZ0Fzc2V0LkJUQyxcbiAgICBCYXNlVW5pdC5CVEMsXG4gICAgQlRDX0ZFQVRVUkVTXG4gICksXG4gIHV0eG8oXG4gICAgJ2NkZTc1NTlkLWE1MzYtNGQxMi04ZGU0LTkwYmFhMDlmOTBiZCcsXG4gICAgJ3RidGMnLFxuICAgICdUZXN0bmV0IEJpdGNvaW4nLFxuICAgIE5ldHdvcmtzLnRlc3QuYml0Y29pbixcbiAgICBVbmRlcmx5aW5nQXNzZXQuQlRDLFxuICAgIEJhc2VVbml0LkJUQyxcbiAgICBCVENfRkVBVFVSRVMuZmlsdGVyKChmKSA9PiBmICE9PSBDb2luRmVhdHVyZS5TVEFLSU5HKVxuICApLFxuICB1dHhvKFxuICAgICdhMGQ1M2RjOS0yZGNjLTRlYmItYTJkNC01MTk4M2ZlMjBkYTYnLFxuICAgICd0YnRjc2lnJyxcbiAgICAnUHVibGljIFNpZ25ldCBCaXRjb2luJyxcbiAgICBOZXR3b3Jrcy50ZXN0LmJpdGNvaW5QdWJsaWNTaWduZXQsXG4gICAgVW5kZXJseWluZ0Fzc2V0LkJUQyxcbiAgICBCYXNlVW5pdC5CVEMsXG4gICAgQlRDX0ZFQVRVUkVTXG4gICksXG4gIHV0eG8oXG4gICAgJ2Y3NmNlYzNmLTdhZWYtNDczZC1hZjVkLTRjNDdkZDQwZGZhOCcsXG4gICAgJ3RidGM0JyxcbiAgICAnVGVzdG5ldDQgQml0Y29pbicsXG4gICAgTmV0d29ya3MudGVzdC5iaXRjb2luVGVzdG5ldDQsXG4gICAgVW5kZXJseWluZ0Fzc2V0LkJUQyxcbiAgICBCYXNlVW5pdC5CVEMsXG4gICAgQlRDX0ZFQVRVUkVTXG4gICksXG4gIHV0eG8oXG4gICAgJzcyMjUyMmRjLWE2MTMtNGJmZi1hMWQxLTE4M2ViZTUxMzhhZScsXG4gICAgJ3RidGNiZ3NpZycsXG4gICAgJ0JpdEdvIFNpZ25ldCBCaXRjb2luJyxcbiAgICBOZXR3b3Jrcy50ZXN0LmJpdGNvaW5CaXRHb1NpZ25ldCxcbiAgICBVbmRlcmx5aW5nQXNzZXQuQlRDLFxuICAgIEJhc2VVbml0LkJUQyxcbiAgICBCVENfRkVBVFVSRVNcbiAgKSxcbiAgdXR4byhcbiAgICAnZjNlMWMyZDQtNWI2YS00N2M4LTkwMTItMzQ1Njc4OWFiY2RlJyxcbiAgICAndGJ0Y3N0eCcsXG4gICAgLy8gU3RhY2tzIEJpdGNvaW4gcmVndGVzdCwgcmVwcmVzZW50ZWQgYnkgQml0Y29pbiB0ZXN0bmV0IHRyYW5zYWN0aW9uIHNlbWFudGljcyBpbiB1dHhvLWxpYi5cbiAgICAnU3RhY2tzIEJpdGNvaW4gKFJlZ3Rlc3QpJyxcbiAgICBOZXR3b3Jrcy50ZXN0LmJpdGNvaW5TdHgsXG4gICAgVW5kZXJseWluZ0Fzc2V0LkJUQyxcbiAgICBCYXNlVW5pdC5CVEMsXG4gICAgQlRDX0ZFQVRVUkVTXG4gICksXG4gIHV0eG8oXG4gICAgJ2IxZjllNmQwLThhNGMtNGM2Ny05ZDBhLTJjN2U1YjhmMzE0NicsXG4gICAgJ3RidGNzdHhwcml2YXRlMScsXG4gICAgLy8gU3RhY2tzIHByaXZhdGUtMSBCaXRjb2luIHJlZ3Rlc3QsIHJlcHJlc2VudGVkIGJ5IEJpdGNvaW4gdGVzdG5ldCB0cmFuc2FjdGlvbiBzZW1hbnRpY3MgaW4gdXR4by1saWIuXG4gICAgJ1N0YWNrcyBCaXRjb2luIChQcml2YXRlLTEgUmVndGVzdCknLFxuICAgIE5ldHdvcmtzLnRlc3QuYml0Y29pblN0eFByaXZhdGUxLFxuICAgIFVuZGVybHlpbmdBc3NldC5CVEMsXG4gICAgQmFzZVVuaXQuQlRDLFxuICAgIEJUQ19GRUFUVVJFU1xuICApLFxuICB1dHhvKFxuICAgICcwODZhNTNiYy0wNTJhLTRhYjQtYjgxMi0zZjZmMTNkNjZjODgnLFxuICAgICd0YnRjc3R4c2lnbmV0JyxcbiAgICAvLyBTdGFja3Mgc3Rha2luZy10ZXN0bmV0IEJpdGNvaW4gc2lnbmV0IChCSVAtMzI1KSwgcmVwcmVzZW50ZWQgYnkgdGhlIHB1YmxpYyBzaWduZXQgbmV0d29yayBpbiB1dHhvLWxpYi5cbiAgICAnU3RhY2tzIEJpdGNvaW4gKFNpZ25ldCknLFxuICAgIE5ldHdvcmtzLnRlc3QuYml0Y29pblN0eFNpZ25ldCxcbiAgICBVbmRlcmx5aW5nQXNzZXQuQlRDLFxuICAgIEJhc2VVbml0LkJUQyxcbiAgICBCVENfRkVBVFVSRVNcbiAgKSxcbiAgdXR4byhcbiAgICAnOGZlYjExMGQtMGQ2OC00NGNlLWFlOTctYjhjMzBlYzg3MGE5JyxcbiAgICAnYnRnJyxcbiAgICAnQml0Y29pbiBHb2xkJyxcbiAgICBOZXR3b3Jrcy5tYWluLmJpdGNvaW5Hb2xkLFxuICAgIFVuZGVybHlpbmdBc3NldC5CVEcsXG4gICAgQmFzZVVuaXQuQlRDLFxuICAgIEJUR19GRUFUVVJFUy5maWx0ZXIoKGYpID0+IGYgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFKVxuICApLFxuICB1dHhvKFxuICAgICc2MzMyNDZmMi1hZjIxLTQxYjgtOGI5ZS1iYTlhZTI1ZDM4NmYnLFxuICAgICd0YnRnJyxcbiAgICAnVGVzdG5ldCBCaXRjb2luIEdvbGQnLFxuICAgIE5ldHdvcmtzLnRlc3QuYml0Y29pbkdvbGQsXG4gICAgVW5kZXJseWluZ0Fzc2V0LkJURyxcbiAgICBCYXNlVW5pdC5CVEMsXG4gICAgQmFzZUNvaW4uZ2V0RmVhdHVyZXNCeVR5cGVFeGNsdWRpbmcoW0NvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fTUVOQV9GWkUsIENvaW5GZWF0dXJlLk1VTFRJU0lHX0NPTERdLCBCVEdfRkVBVFVSRVMpXG4gICksXG4gIHV0eG8oXG4gICAgJzljODA5N2YxLTVkMmMtNGE2Mi1hOTRjLTk2YzI3MWMwZTVlMCcsXG4gICAgJ2x0YycsXG4gICAgJ0xpdGVjb2luJyxcbiAgICBOZXR3b3Jrcy5tYWluLmxpdGVjb2luLFxuICAgIFVuZGVybHlpbmdBc3NldC5MVEMsXG4gICAgQmFzZVVuaXQuTFRDLFxuICAgIExUQ19GRUFUVVJFU1xuICApLFxuICB1dHhvKFxuICAgICcxYWNhMzJjOC1hM2U1LTQyZWItODJkZi00YzI2M2Q4YmZjNjgnLFxuICAgICd0bHRjJyxcbiAgICAnVGVzdG5ldCBMaXRlY29pbicsXG4gICAgTmV0d29ya3MudGVzdC5saXRlY29pbixcbiAgICBVbmRlcmx5aW5nQXNzZXQuTFRDLFxuICAgIEJhc2VVbml0LkxUQyxcbiAgICBMVENfRkVBVFVSRVNcbiAgKSxcbiAgdXR4byhcbiAgICAnMDczOWJlNmEtYzcyZS00NjhkLTk0NjQtY2E1NjAxOTY1NzA4JyxcbiAgICAnZGFzaCcsXG4gICAgJ0Rhc2gnLFxuICAgIE5ldHdvcmtzLm1haW4uZGFzaCxcbiAgICBVbmRlcmx5aW5nQXNzZXQuREFTSCxcbiAgICBCYXNlVW5pdC5EQVNILFxuICAgIERBU0hfRkVBVFVSRVMuZmlsdGVyKFxuICAgICAgKGZlYXR1cmUpID0+XG4gICAgICAgICFbXG4gICAgICAgICAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TSU5HQVBPUkUsXG4gICAgICAgICAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19DVVNUT0RZX01FTkFfRlpFLFxuICAgICAgICAgIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fTUVOQV9GWkUsXG4gICAgICAgIF0uaW5jbHVkZXMoZmVhdHVyZSlcbiAgICApXG4gICksXG4gIHV0eG8oXG4gICAgJzU5NTBkNzhmLWU4ZGQtNDU3YS1hYjVkLTMxMGU2YjQ3NmJiMScsXG4gICAgJ3RkYXNoJyxcbiAgICAnVGVzdG5ldCBEYXNoJyxcbiAgICBOZXR3b3Jrcy50ZXN0LmRhc2gsXG4gICAgVW5kZXJseWluZ0Fzc2V0LkRBU0gsXG4gICAgQmFzZVVuaXQuREFTSCxcbiAgICBUREFTSF9GRUFUVVJFU1xuICApLFxuICB1dHhvKFxuICAgICc1MDhmNmI1My0xZTZlLTQxZmQtYjU0MS1iMjQ5OGI3YzRiNjEnLFxuICAgICd6ZWMnLFxuICAgICdaQ2FzaCcsXG4gICAgTmV0d29ya3MubWFpbi56Q2FzaCxcbiAgICBVbmRlcmx5aW5nQXNzZXQuWkVDLFxuICAgIEJhc2VVbml0LlpFQyxcbiAgICBaRUNfRkVBVFVSRVMsXG4gICAgJycsXG4gICAgJ1pFQycsXG4gICAgS2V5Q3VydmUuU2VjcDI1NmsxLFxuICAgIFtLZXlDdXJ2ZS5QYWxsYXNdXG4gICksXG4gIHV0eG8oXG4gICAgJzU0OWE0NDk5LTM4N2MtNDJkMy05MDQ4LWMwMWQ2NzI0ZDk4YScsXG4gICAgJ3R6ZWMnLFxuICAgICdUZXN0bmV0IFpDYXNoJyxcbiAgICBOZXR3b3Jrcy50ZXN0LnpDYXNoLFxuICAgIFVuZGVybHlpbmdBc3NldC5aRUMsXG4gICAgQmFzZVVuaXQuWkVDLFxuICAgIFRaRUNfRkVBVFVSRVMsXG4gICAgJycsXG4gICAgJ1RaRUMnLFxuICAgIEtleUN1cnZlLlNlY3AyNTZrMSxcbiAgICBbS2V5Q3VydmUuUGFsbGFzXVxuICApLFxuICB1dHhvKFxuICAgICc0NTE4YTViOS0wMGQzLTQ3NmUtYmM0MC1kM2Y4N2ViODIyNTAnLFxuICAgICdwZWFybCcsXG4gICAgJ1BlYXJsJyxcbiAgICBOZXR3b3Jrcy5tYWluLnBlYXJsLFxuICAgIFVuZGVybHlpbmdBc3NldC5QRUFSTCxcbiAgICBCYXNlVW5pdC5CVEMsXG4gICAgUEVBUkxfRkVBVFVSRVNcbiAgKSxcbiAgdXR4byhcbiAgICAnNWQ4ODcyM2EtN2U4Ni00M2M3LTlmYjEtZjRjZWU3YWJjNDhmJyxcbiAgICAndHBlYXJsJyxcbiAgICAnVGVzdG5ldCBQZWFybCcsXG4gICAgTmV0d29ya3MudGVzdC5wZWFybCxcbiAgICBVbmRlcmx5aW5nQXNzZXQuUEVBUkwsXG4gICAgQmFzZVVuaXQuQlRDLFxuICAgIFBFQVJMX0ZFQVRVUkVTXG4gICksXG4gIHV0eG8oXG4gICAgJ2M5M2E5MTYwLTQ1OGYtNGEzMS1iZWEwLTRhOTNhZThiMWQyZCcsXG4gICAgJ2RvZ2UnLFxuICAgICdEb2dlY29pbicsXG4gICAgTmV0d29ya3MubWFpbi5kb2dlY29pbixcbiAgICBVbmRlcmx5aW5nQXNzZXQuRE9HRSxcbiAgICBCYXNlVW5pdC5CVEMsXG4gICAgRE9HRV9GRUFUVVJFU1xuICApLFxuICB1dHhvKFxuICAgICc3YTE1OTdlOC1mZDhlLTRiNjgtODA4Ni1mOTE1OWUzN2UwY2UnLFxuICAgICd0ZG9nZScsXG4gICAgJ1Rlc3RuZXQgRG9nZWNvaW4nLFxuICAgIE5ldHdvcmtzLnRlc3QuZG9nZWNvaW4sXG4gICAgVW5kZXJseWluZ0Fzc2V0LkRPR0UsXG4gICAgQmFzZVVuaXQuQlRDLFxuICAgIERPR0VfRkVBVFVSRVNcbiAgKSxcbl07XG4iXX0=
|