@bitgo-beta/statics 15.1.1-beta.214 → 15.1.1-beta.2140

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 (137) hide show
  1. package/dist/src/account.d.ts +1188 -73
  2. package/dist/src/account.d.ts.map +1 -1
  3. package/dist/src/account.js +1794 -161
  4. package/dist/src/ada.d.ts +1 -0
  5. package/dist/src/ada.d.ts.map +1 -1
  6. package/dist/src/ada.js +7 -3
  7. package/dist/src/allCoinsAndTokens.d.ts +2 -0
  8. package/dist/src/allCoinsAndTokens.d.ts.map +1 -0
  9. package/dist/src/allCoinsAndTokens.js +1916 -0
  10. package/dist/src/avaxp.d.ts +1 -0
  11. package/dist/src/avaxp.d.ts.map +1 -1
  12. package/dist/src/avaxp.js +8 -3
  13. package/dist/src/base.d.ts +2981 -45
  14. package/dist/src/base.d.ts.map +1 -1
  15. package/dist/src/base.js +3101 -56
  16. package/dist/src/bip44CoinTypes.d.ts +26 -0
  17. package/dist/src/bip44CoinTypes.d.ts.map +1 -0
  18. package/dist/src/bip44CoinTypes.js +148 -0
  19. package/dist/src/canton.d.ts +35 -0
  20. package/dist/src/canton.d.ts.map +1 -0
  21. package/dist/src/canton.js +51 -0
  22. package/dist/src/coinFeatures.d.ts +134 -0
  23. package/dist/src/coinFeatures.d.ts.map +1 -0
  24. package/dist/src/coinFeatures.js +817 -0
  25. package/dist/src/coins/adaTokens.d.ts +2 -0
  26. package/dist/src/coins/adaTokens.d.ts.map +1 -0
  27. package/dist/src/coins/adaTokens.js +27 -0
  28. package/dist/src/coins/avaxTokens.d.ts +2 -0
  29. package/dist/src/coins/avaxTokens.d.ts.map +1 -0
  30. package/dist/src/coins/avaxTokens.js +133 -0
  31. package/dist/src/coins/botOfcTokens.d.ts +3 -0
  32. package/dist/src/coins/botOfcTokens.d.ts.map +1 -0
  33. package/dist/src/coins/botOfcTokens.js +352 -0
  34. package/dist/src/coins/botTokens.d.ts +3 -0
  35. package/dist/src/coins/botTokens.d.ts.map +1 -0
  36. package/dist/src/coins/botTokens.js +1662 -0
  37. package/dist/src/coins/bscTokens.d.ts +2 -0
  38. package/dist/src/coins/bscTokens.d.ts.map +1 -0
  39. package/dist/src/coins/bscTokens.js +421 -0
  40. package/dist/src/coins/cantonTokens.d.ts +2 -0
  41. package/dist/src/coins/cantonTokens.d.ts.map +1 -0
  42. package/dist/src/coins/cantonTokens.js +134 -0
  43. package/dist/src/coins/cosmosTokens.d.ts +2 -0
  44. package/dist/src/coins/cosmosTokens.d.ts.map +1 -0
  45. package/dist/src/coins/cosmosTokens.js +14 -0
  46. package/dist/src/coins/erc20Coins.d.ts +2 -0
  47. package/dist/src/coins/erc20Coins.d.ts.map +1 -0
  48. package/dist/src/coins/erc20Coins.js +2087 -0
  49. package/dist/src/coins/erc7984Tokens.d.ts +17 -0
  50. package/dist/src/coins/erc7984Tokens.d.ts.map +1 -0
  51. package/dist/src/coins/erc7984Tokens.js +40 -0
  52. package/dist/src/coins/generateERC20.d.ts +36 -0
  53. package/dist/src/coins/generateERC20.d.ts.map +1 -0
  54. package/dist/src/coins/generateERC20.js +46 -0
  55. package/dist/src/coins/hoodethTokens.d.ts +2 -0
  56. package/dist/src/coins/hoodethTokens.d.ts.map +1 -0
  57. package/dist/src/coins/hoodethTokens.js +319 -0
  58. package/dist/src/coins/jettonTokens.d.ts +2 -0
  59. package/dist/src/coins/jettonTokens.d.ts.map +1 -0
  60. package/dist/src/coins/jettonTokens.js +19 -0
  61. package/dist/src/coins/nep141Tokens.d.ts +2 -0
  62. package/dist/src/coins/nep141Tokens.d.ts.map +1 -0
  63. package/dist/src/coins/nep141Tokens.js +18 -0
  64. package/dist/src/coins/ofcCoins.d.ts +2 -0
  65. package/dist/src/coins/ofcCoins.d.ts.map +1 -0
  66. package/dist/src/coins/ofcCoins.js +1503 -0
  67. package/dist/src/coins/ofcErc20Coins.d.ts +4 -0
  68. package/dist/src/coins/ofcErc20Coins.d.ts.map +1 -0
  69. package/dist/src/coins/ofcErc20Coins.js +1907 -0
  70. package/dist/src/coins/ofcHoodethTokens.d.ts +2 -0
  71. package/dist/src/coins/ofcHoodethTokens.d.ts.map +1 -0
  72. package/dist/src/coins/ofcHoodethTokens.js +317 -0
  73. package/dist/src/coins/polygonTokens.d.ts +2 -0
  74. package/dist/src/coins/polygonTokens.d.ts.map +1 -0
  75. package/dist/src/coins/polygonTokens.js +220 -0
  76. package/dist/src/coins/polyxTokens.d.ts +2 -0
  77. package/dist/src/coins/polyxTokens.d.ts.map +1 -0
  78. package/dist/src/coins/polyxTokens.js +22 -0
  79. package/dist/src/coins/sip10Tokens.d.ts +2 -0
  80. package/dist/src/coins/sip10Tokens.d.ts.map +1 -0
  81. package/dist/src/coins/sip10Tokens.js +25 -0
  82. package/dist/src/coins/solTokens.d.ts +3 -0
  83. package/dist/src/coins/solTokens.d.ts.map +1 -0
  84. package/dist/src/coins/solTokens.js +538 -0
  85. package/dist/src/coins/vetTokens.d.ts +2 -0
  86. package/dist/src/coins/vetTokens.d.ts.map +1 -0
  87. package/dist/src/coins/vetTokens.js +11 -0
  88. package/dist/src/coins.d.ts +22 -1
  89. package/dist/src/coins.d.ts.map +1 -1
  90. package/dist/src/coins.js +485 -2064
  91. package/dist/src/constants.d.ts +6 -0
  92. package/dist/src/constants.d.ts.map +1 -1
  93. package/dist/src/constants.js +8 -2
  94. package/dist/src/errors.d.ts +15 -0
  95. package/dist/src/errors.d.ts.map +1 -1
  96. package/dist/src/errors.js +37 -2
  97. package/dist/src/flrp.d.ts +41 -0
  98. package/dist/src/flrp.d.ts.map +1 -0
  99. package/dist/src/flrp.js +66 -0
  100. package/dist/src/hypeevm.d.ts +28 -0
  101. package/dist/src/hypeevm.d.ts.map +1 -0
  102. package/dist/src/hypeevm.js +60 -0
  103. package/dist/src/index.d.ts +8 -1
  104. package/dist/src/index.d.ts.map +1 -1
  105. package/dist/src/index.js +53 -3
  106. package/dist/src/kaspa.d.ts +35 -0
  107. package/dist/src/kaspa.d.ts.map +1 -0
  108. package/dist/src/kaspa.js +63 -0
  109. package/dist/src/lightning.d.ts +44 -0
  110. package/dist/src/lightning.d.ts.map +1 -0
  111. package/dist/src/lightning.js +64 -0
  112. package/dist/src/map.d.ts +38 -1
  113. package/dist/src/map.d.ts.map +1 -1
  114. package/dist/src/map.js +269 -35
  115. package/dist/src/networkFeatureMapForTokens.d.ts +30 -0
  116. package/dist/src/networkFeatureMapForTokens.d.ts.map +1 -0
  117. package/dist/src/networkFeatureMapForTokens.js +92 -0
  118. package/dist/src/networks.d.ts +2065 -72
  119. package/dist/src/networks.d.ts.map +1 -1
  120. package/dist/src/networks.js +2532 -108
  121. package/dist/src/ofc.d.ts +695 -3
  122. package/dist/src/ofc.d.ts.map +1 -1
  123. package/dist/src/ofc.js +1653 -28
  124. package/dist/src/safe.d.ts +22 -0
  125. package/dist/src/safe.d.ts.map +1 -0
  126. package/dist/src/safe.js +28 -0
  127. package/dist/src/tokenConfig.d.ts +718 -114
  128. package/dist/src/tokenConfig.d.ts.map +1 -1
  129. package/dist/src/tokenConfig.js +1132 -233
  130. package/dist/src/utxo.d.ts +7 -2
  131. package/dist/src/utxo.d.ts.map +1 -1
  132. package/dist/src/utxo.js +132 -4
  133. package/dist/tsconfig.tsbuildinfo +1 -1
  134. package/package.json +6 -3
  135. package/.mocharc.js +0 -10
  136. package/.prettierignore +0 -2
  137. package/CHANGELOG.md +0 -1584
@@ -0,0 +1,817 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BSC_TOKEN_FEATURES_TRUST_ONLY = exports.BSC_TOKEN_FEATURES_EXCLUDE_MENA_FZE = exports.BSC_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.BSC_TOKEN_FEATURES = exports.BSC_FEATURES = exports.APT_OFC_TOKEN_FEATURES = exports.SOL_OFC_TOKEN_FEATURES = exports.SOL_TOKEN_FEATURES_TRUST_ONLY = exports.SOL_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.SOL_TOKEN_FEATURES = exports.TSOL_FEATURES = exports.SOL_FEATURES = exports.POL_FEATURES = exports.ERC20_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.EVM_ERC20_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.POLYGON_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.POLYGON_TOKEN_FEATURES_TRUST_ONLY = exports.POLYGON_TOKEN_FEATURES = exports.POLYGON_FEATURES = exports.HBAR_FEATURES = exports.EOS_FEATURES = exports.DOT_FEATURES = exports.ADA_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.ADA_TOKEN_FEATURES = exports.ADA_FEATURES = exports.HTETH_TOKEN_FEATURES = exports.ALGO_FEATURES = exports.CSPR_FEATURES = exports.POLYGON_TOKEN_FEATURES_WITH_FRANKFURT = exports.XRP_FEATURES = exports.XTZ_FEATURES = exports.XLM_FEATURES = exports.RBTC_FEATURES = exports.CELO_TOKEN_FEATURES = exports.CELO_FEATURES = exports.AVAXC_FEATURES = exports.EVM_FEATURES = exports.ETC_FEATURES = exports.ETH_FEATURES_WITH_STAKING_AND_MMI = exports.ETH_FEATURES_WITH_STAKING = exports.ETH_FEATURES_WITH_MMI = exports.ETH_FEATURES = exports.EVM_TOKEN_FEATURES_TRUST_ONLY = exports.ACCOUNT_COIN_DEFAULT_FEATURES_TRUST_ONLY = exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_EUROPE = exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE_AND_MENA_FZE = exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_MENA_FZE = exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE = exports.ACCOUNT_COIN_DEFAULT_FEATURES = exports.BITGO_CUSTODY_JURISDICTIONS = void 0;
4
+ exports.ETH_FEATURES_WITH_FRANKFURT = exports.POLYX_TOKEN_FEATURES = exports.POLYX_FEATURES = exports.SONEIUM_FEATURES = exports.TAO_TOKEN_FEATURES = exports.TAO_FEATURES = exports.STARKNET_FEATURES = exports.ICP_FEATURES = exports.APT_FEATURES = exports.APECHAIN_FEATURES = exports.HYPERLIQUID_FEATURES = exports.TEMPO_FEATURES_EXCLUDE_SINGAPORE = exports.TEMPO_FEATURES = exports.COREDAO_FEATURES = exports.OAS_FEATURES = exports.BERA_FEATURES = exports.ZKSYNCERA_FEATURES = exports.ZKETH_FEATURES = exports.OPETH_FEATURES = exports.ARBETH_FEATURES = exports.TON_TOKEN_FEATURES = exports.TON_FEATURES = exports.GENERIC_TOKEN_FEATURES = exports.TOKEN_FEATURES_WITH_NY_GERMANY_FRANKFURT = exports.TOKEN_FEATURES_WITH_FRANKFURT = exports.TOKEN_FEATURES_WITH_SWISS = exports.SEI_FEATURES = exports.COREUM_FEATURES = exports.INJECTIVE_FEATURES = exports.ATOM_FEATURES = exports.COSMOS_TOKEN_FEATURES_WITH_STAKING = exports.COSMOS_TOKEN_FEATURES = exports.COSMOS_SIDECHAIN_FEATURES_WITH_STAKING = exports.COSMOS_SIDECHAIN_FEATURES = exports.TRX_FEATURES = exports.SUI_TOKEN_FEATURES_STAKING = exports.SUI_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.SUI_TOKEN_FEATURES = exports.SUI_FEATURES = exports.RETH_ROCKET_FEATURES = exports.EIGEN_FEATURES = exports.TWETH_FEATURES = exports.WETH_FEATURES = exports.MATIC_FEATURES_WITH_FRANKFURT = exports.MATIC_FEATURES = exports.NEAR_TOKEN_FEATURES = exports.NEAR_FEATURES = exports.STX_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.STX_TOKEN_FEATURES = exports.STX_FEATURES = void 0;
5
+ exports.APT_FEATURES_EXCLUDE_EUROPE = exports.TEMPO_FEATURES_EXCLUDE_EUROPE = exports.TON_TOKEN_FEATURES_EXCLUDE_EUROPE = exports.BSC_TOKEN_FEATURES_EXCLUDE_EUROPE = exports.SOL_TOKEN_FEATURES_EXCLUDE_EUROPE = exports.POLYGON_TOKEN_FEATURES_EXCLUDE_EUROPE = exports.ETH_FEATURES_EXCLUDE_EUROPE = exports.ERC7984_TOKEN_FEATURES = exports.TCANTON_FEATURES = exports.CANTON_TOKEN_FEATURES = exports.CANTON_FEATURES = exports.IOTA_FEATURES = exports.WEMIX_FEATURES = exports.WFLR_FEATURES = exports.FLR_FEATURES = exports.SGB_FEATURES = exports.XDC_TOKEN_FEATURES = exports.XDC_FEATURES = exports.EVM_NON_EIP1559_FEATURES = exports.VET_TOKEN_FEATURES = exports.VET_FEATURES = exports.BERA_BGT_FEATURES = exports.WCT_FEATURES = exports.TIA_FEATURES = exports.ETH_FEATURES_WITH_FRANKFURT_EXCLUDE_SINGAPORE = exports.ZETA_EVM_FEATURES = exports.ZETA_FEATURES = exports.XLM_TOKEN_FEATURES_WITH_FRANKFURT = exports.SOL_TOKEN_FEATURES_WITH_FRANKFURT_GERMANY = exports.SOL_TOKEN_FEATURES_WITH_FRANKFURT = exports.ETH_FEATURES_WITH_FRANKFURT_GERMANY = exports.ETH_FEATURES_WITH_GERMANY = void 0;
6
+ const base_1 = require("./base");
7
+ const ada_1 = require("./ada");
8
+ //list of all the jurisdictions where BitGo Custody is available
9
+ exports.BITGO_CUSTODY_JURISDICTIONS = [
10
+ base_1.CoinFeature.CUSTODY_BITGO_TRUST,
11
+ base_1.CoinFeature.CUSTODY_BITGO_MENA_FZE,
12
+ base_1.CoinFeature.CUSTODY_BITGO_CUSTODY_MENA_FZE,
13
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
14
+ base_1.CoinFeature.CUSTODY_BITGO_KOREA,
15
+ base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS,
16
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
17
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
18
+ base_1.CoinFeature.CUSTODY_BITGO_NEW_YORK,
19
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
20
+ base_1.CoinFeature.CUSTODY_BITGO_SISTER_TRUST_ONE,
21
+ base_1.CoinFeature.CUSTODY_BITGO_INDIA,
22
+ ];
23
+ exports.ACCOUNT_COIN_DEFAULT_FEATURES = [
24
+ base_1.CoinFeature.ACCOUNT_MODEL,
25
+ base_1.CoinFeature.REQUIRES_BIG_NUMBER,
26
+ base_1.CoinFeature.VALUELESS_TRANSFER,
27
+ base_1.CoinFeature.TRANSACTION_DATA,
28
+ base_1.CoinFeature.CUSTODY,
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_SINGAPORE,
33
+ base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS,
34
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
35
+ base_1.CoinFeature.CUSTODY_BITGO_INDIA,
36
+ ];
37
+ exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE = exports.ACCOUNT_COIN_DEFAULT_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE);
38
+ exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_MENA_FZE = exports.ACCOUNT_COIN_DEFAULT_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_MENA_FZE);
39
+ exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE_AND_MENA_FZE = exports.ACCOUNT_COIN_DEFAULT_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE && feature !== base_1.CoinFeature.CUSTODY_BITGO_MENA_FZE);
40
+ exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_EUROPE = exports.ACCOUNT_COIN_DEFAULT_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS && feature !== base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT);
41
+ // keeps custody enabled for BitGo Trust only, dropping every other jurisdiction's custody feature
42
+ exports.ACCOUNT_COIN_DEFAULT_FEATURES_TRUST_ONLY = exports.ACCOUNT_COIN_DEFAULT_FEATURES.filter((feature) => feature === base_1.CoinFeature.CUSTODY_BITGO_TRUST || !exports.BITGO_CUSTODY_JURISDICTIONS.includes(feature));
43
+ // matches the erc20Token/arbethErc20/polygonErc20 default feature set ([...AccountCoin.DEFAULT_FEATURES,
44
+ // CoinFeature.EIP1559]), but scoped to BitGo Trust custody only
45
+ exports.EVM_TOKEN_FEATURES_TRUST_ONLY = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES_TRUST_ONLY, base_1.CoinFeature.EIP1559];
46
+ exports.ETH_FEATURES = [
47
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
48
+ base_1.CoinFeature.SUPPORTS_TOKENS,
49
+ base_1.CoinFeature.ENTERPRISE_PAYS_FEES,
50
+ base_1.CoinFeature.WALLET_CONNECT_DEFI,
51
+ base_1.CoinFeature.EVM_COIN,
52
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_ONCHAIN,
53
+ base_1.CoinFeature.SHARED_EVM_MESSAGE_SIGNING,
54
+ ];
55
+ exports.ETH_FEATURES_WITH_MMI = [...exports.ETH_FEATURES, base_1.CoinFeature.METAMASK_INSTITUTIONAL];
56
+ exports.ETH_FEATURES_WITH_STAKING = [...exports.ETH_FEATURES, base_1.CoinFeature.STAKING];
57
+ exports.ETH_FEATURES_WITH_STAKING_AND_MMI = [...exports.ETH_FEATURES_WITH_STAKING, base_1.CoinFeature.METAMASK_INSTITUTIONAL];
58
+ exports.ETC_FEATURES = [
59
+ ...exports.ETH_FEATURES,
60
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
61
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
62
+ base_1.CoinFeature.CUSTODY_BITGO_NEW_YORK,
63
+ base_1.CoinFeature.CUSTODY_BITGO_KOREA,
64
+ base_1.CoinFeature.MULTISIG_COLD,
65
+ base_1.CoinFeature.MULTISIG,
66
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
67
+ ];
68
+ exports.EVM_FEATURES = [
69
+ ...exports.ETH_FEATURES,
70
+ base_1.CoinFeature.TSS,
71
+ base_1.CoinFeature.TSS_COLD,
72
+ base_1.CoinFeature.MPCV2,
73
+ base_1.CoinFeature.EVM_WALLET,
74
+ base_1.CoinFeature.BULK_TRANSACTION,
75
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
76
+ base_1.CoinFeature.EIP1559,
77
+ ];
78
+ exports.AVAXC_FEATURES = [
79
+ ...exports.ETH_FEATURES_WITH_MMI,
80
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
81
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
82
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
83
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
84
+ base_1.CoinFeature.CUSTODY_BITGO_KOREA,
85
+ base_1.CoinFeature.MULTISIG_COLD,
86
+ base_1.CoinFeature.MULTISIG,
87
+ base_1.CoinFeature.EIP1559,
88
+ base_1.CoinFeature.STAKING,
89
+ base_1.CoinFeature.ERC20_BULK_TRANSACTION,
90
+ ];
91
+ exports.CELO_FEATURES = [
92
+ ...exports.ETH_FEATURES,
93
+ base_1.CoinFeature.MULTISIG_COLD,
94
+ base_1.CoinFeature.MULTISIG,
95
+ base_1.CoinFeature.EIP1559,
96
+ ].filter((feature) => feature !== base_1.CoinFeature.CUSTODY &&
97
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_GERMANY &&
98
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT &&
99
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE &&
100
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_TRUST &&
101
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_MENA_FZE &&
102
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_CUSTODY_MENA_FZE &&
103
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_KOREA &&
104
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS &&
105
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_NEW_YORK &&
106
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND &&
107
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_SISTER_TRUST_ONE &&
108
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_INDIA &&
109
+ feature !== base_1.CoinFeature.DISTRIBUTED_CUSTODY);
110
+ exports.CELO_TOKEN_FEATURES = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES].filter((feature) => feature !== base_1.CoinFeature.CUSTODY &&
111
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_TRUST &&
112
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_MENA_FZE &&
113
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_CUSTODY_MENA_FZE &&
114
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE &&
115
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_KOREA &&
116
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS &&
117
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT &&
118
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_INDIA);
119
+ exports.RBTC_FEATURES = [
120
+ ...exports.ETH_FEATURES,
121
+ base_1.CoinFeature.MULTISIG_COLD,
122
+ base_1.CoinFeature.MULTISIG,
123
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
124
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
125
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
126
+ ];
127
+ exports.XLM_FEATURES = [
128
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
129
+ base_1.CoinFeature.SUPPORTS_TOKENS,
130
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
131
+ base_1.CoinFeature.CUSTODY_BITGO_NEW_YORK,
132
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
133
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
134
+ base_1.CoinFeature.MULTISIG_COLD,
135
+ base_1.CoinFeature.MULTISIG,
136
+ ];
137
+ exports.XTZ_FEATURES = [
138
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
139
+ base_1.CoinFeature.MULTISIG_COLD,
140
+ base_1.CoinFeature.MULTISIG,
141
+ base_1.CoinFeature.ENTERPRISE_PAYS_FEES,
142
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
143
+ base_1.CoinFeature.CUSTODY_BITGO_NEW_YORK,
144
+ ].filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_CUSTODY_MENA_FZE);
145
+ exports.XRP_FEATURES = [
146
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
147
+ base_1.CoinFeature.SUPPORTS_TOKENS,
148
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
149
+ base_1.CoinFeature.CUSTODY_BITGO_NEW_YORK,
150
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
151
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
152
+ base_1.CoinFeature.CUSTODY_BITGO_KOREA,
153
+ base_1.CoinFeature.MULTISIG_COLD,
154
+ base_1.CoinFeature.MULTISIG,
155
+ ];
156
+ exports.POLYGON_TOKEN_FEATURES_WITH_FRANKFURT = [
157
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
158
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
159
+ base_1.CoinFeature.BULK_TRANSACTION,
160
+ ];
161
+ exports.CSPR_FEATURES = [
162
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
163
+ base_1.CoinFeature.REQUIRES_RESERVE,
164
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
165
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
166
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
167
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
168
+ base_1.CoinFeature.MULTISIG_COLD,
169
+ base_1.CoinFeature.MULTISIG,
170
+ base_1.CoinFeature.STAKING,
171
+ ];
172
+ exports.ALGO_FEATURES = [
173
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
174
+ base_1.CoinFeature.SUPPORTS_TOKENS,
175
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
176
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
177
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
178
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
179
+ base_1.CoinFeature.MULTISIG_COLD,
180
+ base_1.CoinFeature.MULTISIG,
181
+ base_1.CoinFeature.BULK_TRANSACTION,
182
+ ];
183
+ exports.HTETH_TOKEN_FEATURES = [
184
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
185
+ base_1.CoinFeature.BULK_TRANSACTION,
186
+ base_1.CoinFeature.EIP1559,
187
+ base_1.CoinFeature.WALLET_CONNECT_DEFI,
188
+ ];
189
+ exports.ADA_FEATURES = [
190
+ ...ada_1.Ada.DEFAULT_FEATURES,
191
+ base_1.CoinFeature.BULK_TRANSACTION,
192
+ base_1.CoinFeature.SUPPORTS_TOKENS,
193
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
194
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
195
+ base_1.CoinFeature.CUSTODY_BITGO_KOREA,
196
+ ];
197
+ exports.ADA_TOKEN_FEATURES = [
198
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
199
+ base_1.CoinFeature.BULK_TRANSACTION,
200
+ base_1.CoinFeature.TSS,
201
+ base_1.CoinFeature.TSS_COLD,
202
+ ];
203
+ exports.ADA_TOKEN_FEATURES_EXCLUDE_SINGAPORE = [
204
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE,
205
+ base_1.CoinFeature.BULK_TRANSACTION,
206
+ base_1.CoinFeature.TSS,
207
+ base_1.CoinFeature.TSS_COLD,
208
+ ];
209
+ exports.DOT_FEATURES = [
210
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
211
+ base_1.CoinFeature.TSS,
212
+ base_1.CoinFeature.TSS_COLD,
213
+ base_1.CoinFeature.STAKING,
214
+ base_1.CoinFeature.EXPIRING_TRANSACTIONS,
215
+ base_1.CoinFeature.REBUILD_ON_CUSTODY_SIGNING,
216
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
217
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
218
+ ];
219
+ exports.EOS_FEATURES = [
220
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
221
+ base_1.CoinFeature.SUPPORTS_TOKENS,
222
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
223
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
224
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
225
+ base_1.CoinFeature.MULTISIG_COLD,
226
+ base_1.CoinFeature.MULTISIG,
227
+ ];
228
+ exports.HBAR_FEATURES = [
229
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
230
+ base_1.CoinFeature.SUPPORTS_TOKENS,
231
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
232
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
233
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
234
+ base_1.CoinFeature.MULTISIG_COLD,
235
+ base_1.CoinFeature.MULTISIG,
236
+ base_1.CoinFeature.BULK_TRANSACTION,
237
+ base_1.CoinFeature.ALPHANUMERIC_MEMO_ID,
238
+ base_1.CoinFeature.STAKING,
239
+ ];
240
+ exports.POLYGON_FEATURES = [
241
+ ...exports.ETH_FEATURES_WITH_MMI,
242
+ base_1.CoinFeature.TSS,
243
+ base_1.CoinFeature.TSS_COLD,
244
+ base_1.CoinFeature.MULTISIG_COLD,
245
+ base_1.CoinFeature.EVM_WALLET,
246
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
247
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
248
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
249
+ base_1.CoinFeature.MPCV2,
250
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
251
+ base_1.CoinFeature.BULK_TRANSACTION,
252
+ base_1.CoinFeature.ERC20_BULK_TRANSACTION,
253
+ ];
254
+ exports.POLYGON_TOKEN_FEATURES = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES, base_1.CoinFeature.BULK_TRANSACTION];
255
+ exports.POLYGON_TOKEN_FEATURES_TRUST_ONLY = [
256
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES_TRUST_ONLY,
257
+ base_1.CoinFeature.BULK_TRANSACTION,
258
+ ];
259
+ exports.POLYGON_TOKEN_FEATURES_EXCLUDE_SINGAPORE = [
260
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE,
261
+ base_1.CoinFeature.BULK_TRANSACTION,
262
+ ];
263
+ exports.EVM_ERC20_TOKEN_FEATURES_EXCLUDE_SINGAPORE = [
264
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE,
265
+ base_1.CoinFeature.EIP1559,
266
+ ];
267
+ exports.ERC20_TOKEN_FEATURES_EXCLUDE_SINGAPORE = [
268
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE,
269
+ base_1.CoinFeature.BULK_TRANSACTION,
270
+ ];
271
+ exports.POL_FEATURES = [
272
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
273
+ base_1.CoinFeature.STAKING,
274
+ base_1.CoinFeature.MULTISIG_COLD,
275
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
276
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
277
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
278
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
279
+ ];
280
+ exports.SOL_FEATURES = [
281
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
282
+ base_1.CoinFeature.TSS,
283
+ base_1.CoinFeature.TSS_COLD,
284
+ base_1.CoinFeature.REQUIRES_RESERVE,
285
+ base_1.CoinFeature.SUPPORTS_TOKENS,
286
+ base_1.CoinFeature.STAKING,
287
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
288
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
289
+ base_1.CoinFeature.CUSTODY_BITGO_KOREA,
290
+ base_1.CoinFeature.BULK_TRANSACTION,
291
+ base_1.CoinFeature.WALLET_CONNECT_DEFI,
292
+ base_1.CoinFeature.CUSTODY_BULK_TRANSACTION,
293
+ ];
294
+ exports.TSOL_FEATURES = [...exports.SOL_FEATURES, base_1.CoinFeature.BULK_TRANSACTION, base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE];
295
+ exports.SOL_TOKEN_FEATURES = [
296
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
297
+ base_1.CoinFeature.TSS,
298
+ base_1.CoinFeature.TSS_COLD,
299
+ base_1.CoinFeature.BULK_TRANSACTION,
300
+ ];
301
+ exports.SOL_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.SOL_TOKEN_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE);
302
+ exports.SOL_TOKEN_FEATURES_TRUST_ONLY = exports.SOL_TOKEN_FEATURES.filter((feature) => feature === base_1.CoinFeature.CUSTODY_BITGO_TRUST || !exports.BITGO_CUSTODY_JURISDICTIONS.includes(feature));
303
+ exports.SOL_OFC_TOKEN_FEATURES = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES, base_1.CoinFeature.TSS, base_1.CoinFeature.TSS_COLD];
304
+ exports.APT_OFC_TOKEN_FEATURES = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES, base_1.CoinFeature.TSS, base_1.CoinFeature.TSS_COLD];
305
+ exports.BSC_FEATURES = [
306
+ ...exports.ETH_FEATURES_WITH_STAKING_AND_MMI,
307
+ base_1.CoinFeature.TSS,
308
+ base_1.CoinFeature.TSS_COLD,
309
+ base_1.CoinFeature.EVM_WALLET,
310
+ base_1.CoinFeature.MPCV2,
311
+ base_1.CoinFeature.USES_NON_PACKED_ENCODING_FOR_TXDATA,
312
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
313
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
314
+ base_1.CoinFeature.CUSTODY_BITGO_KOREA,
315
+ base_1.CoinFeature.BULK_TRANSACTION,
316
+ base_1.CoinFeature.SHARED_EVM_MESSAGE_SIGNING,
317
+ base_1.CoinFeature.ERC20_BULK_TRANSACTION,
318
+ base_1.CoinFeature.TSS_VERIFY_USE_SERIALIZED_TX_HEX,
319
+ ];
320
+ exports.BSC_TOKEN_FEATURES = [
321
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
322
+ base_1.CoinFeature.BULK_TRANSACTION,
323
+ base_1.CoinFeature.TSS_VERIFY_USE_SERIALIZED_TX_HEX,
324
+ ];
325
+ exports.BSC_TOKEN_FEATURES_EXCLUDE_SINGAPORE = [
326
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE,
327
+ base_1.CoinFeature.BULK_TRANSACTION,
328
+ base_1.CoinFeature.TSS_VERIFY_USE_SERIALIZED_TX_HEX,
329
+ ];
330
+ exports.BSC_TOKEN_FEATURES_EXCLUDE_MENA_FZE = [
331
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_MENA_FZE,
332
+ base_1.CoinFeature.BULK_TRANSACTION,
333
+ base_1.CoinFeature.TSS_VERIFY_USE_SERIALIZED_TX_HEX,
334
+ ];
335
+ exports.BSC_TOKEN_FEATURES_TRUST_ONLY = [
336
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES_TRUST_ONLY,
337
+ base_1.CoinFeature.BULK_TRANSACTION,
338
+ base_1.CoinFeature.TSS_VERIFY_USE_SERIALIZED_TX_HEX,
339
+ ];
340
+ exports.STX_FEATURES = [
341
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
342
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
343
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
344
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
345
+ base_1.CoinFeature.MULTISIG_COLD,
346
+ base_1.CoinFeature.MULTISIG,
347
+ base_1.CoinFeature.STAKING,
348
+ base_1.CoinFeature.SUPPORTS_TOKENS,
349
+ base_1.CoinFeature.ALPHANUMERIC_MEMO_ID,
350
+ ];
351
+ exports.STX_TOKEN_FEATURES = [
352
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
353
+ base_1.CoinFeature.MULTISIG_COLD,
354
+ base_1.CoinFeature.ALPHANUMERIC_MEMO_ID,
355
+ ];
356
+ exports.STX_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.STX_TOKEN_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE);
357
+ exports.NEAR_FEATURES = [
358
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
359
+ base_1.CoinFeature.TSS,
360
+ base_1.CoinFeature.TSS_COLD,
361
+ base_1.CoinFeature.STAKING,
362
+ base_1.CoinFeature.REBUILD_ON_CUSTODY_SIGNING,
363
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
364
+ base_1.CoinFeature.SUPPORTS_TOKENS,
365
+ ];
366
+ exports.NEAR_TOKEN_FEATURES = [
367
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
368
+ base_1.CoinFeature.TSS,
369
+ base_1.CoinFeature.TSS_COLD,
370
+ base_1.CoinFeature.REBUILD_ON_CUSTODY_SIGNING,
371
+ ];
372
+ exports.MATIC_FEATURES = [
373
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
374
+ base_1.CoinFeature.STAKING,
375
+ base_1.CoinFeature.MULTISIG_COLD,
376
+ base_1.CoinFeature.METAMASK_INSTITUTIONAL,
377
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
378
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
379
+ ];
380
+ exports.MATIC_FEATURES_WITH_FRANKFURT = [...exports.MATIC_FEATURES, base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT];
381
+ exports.WETH_FEATURES = [
382
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
383
+ base_1.CoinFeature.MULTISIG_COLD,
384
+ base_1.CoinFeature.METAMASK_INSTITUTIONAL,
385
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
386
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
387
+ ];
388
+ exports.TWETH_FEATURES = [...exports.WETH_FEATURES, base_1.CoinFeature.STAKING];
389
+ exports.EIGEN_FEATURES = [
390
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
391
+ base_1.CoinFeature.STAKING,
392
+ base_1.CoinFeature.MULTISIG_COLD,
393
+ base_1.CoinFeature.METAMASK_INSTITUTIONAL,
394
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
395
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
396
+ ];
397
+ exports.RETH_ROCKET_FEATURES = [
398
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
399
+ base_1.CoinFeature.STAKING,
400
+ base_1.CoinFeature.MULTISIG_COLD,
401
+ base_1.CoinFeature.METAMASK_INSTITUTIONAL,
402
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
403
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
404
+ base_1.CoinFeature.LIQUID_STAKING,
405
+ ];
406
+ exports.SUI_FEATURES = [
407
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
408
+ base_1.CoinFeature.TSS,
409
+ base_1.CoinFeature.TSS_COLD,
410
+ base_1.CoinFeature.STAKING,
411
+ base_1.CoinFeature.BULK_TRANSACTION,
412
+ base_1.CoinFeature.BULK_STAKING_TRANSACTION,
413
+ base_1.CoinFeature.SUPPORTS_TOKENS,
414
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
415
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
416
+ base_1.CoinFeature.CUSTODY_BITGO_KOREA,
417
+ base_1.CoinFeature.CUSTODY_BULK_TRANSACTION,
418
+ base_1.CoinFeature.ALLOWS_NEGATIVE_FEE,
419
+ ];
420
+ exports.SUI_TOKEN_FEATURES = [
421
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
422
+ base_1.CoinFeature.TSS,
423
+ base_1.CoinFeature.TSS_COLD,
424
+ base_1.CoinFeature.BULK_TRANSACTION,
425
+ ];
426
+ exports.SUI_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.SUI_TOKEN_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE);
427
+ exports.SUI_TOKEN_FEATURES_STAKING = [
428
+ ...exports.SUI_TOKEN_FEATURES,
429
+ base_1.CoinFeature.STAKING,
430
+ base_1.CoinFeature.BULK_STAKING_TRANSACTION,
431
+ ];
432
+ exports.TRX_FEATURES = [
433
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
434
+ base_1.CoinFeature.SUPPORTS_TOKENS,
435
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
436
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
437
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
438
+ base_1.CoinFeature.CUSTODY_BITGO_KOREA,
439
+ base_1.CoinFeature.MULTISIG_COLD,
440
+ base_1.CoinFeature.MULTISIG,
441
+ base_1.CoinFeature.STAKING,
442
+ base_1.CoinFeature.TSS,
443
+ base_1.CoinFeature.TSS_COLD,
444
+ base_1.CoinFeature.MPCV2,
445
+ base_1.CoinFeature.SHA256_WITH_ECDSA_TSS,
446
+ base_1.CoinFeature.TSS_SUPPORT_IN_PROGRESS, // TODO: remove this after TSS is fully onboarded
447
+ ];
448
+ exports.COSMOS_SIDECHAIN_FEATURES = [
449
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
450
+ base_1.CoinFeature.TSS,
451
+ base_1.CoinFeature.TSS_COLD,
452
+ base_1.CoinFeature.MPCV2,
453
+ base_1.CoinFeature.SHA256_WITH_ECDSA_TSS,
454
+ base_1.CoinFeature.COSMOS_LIKE_COINS,
455
+ base_1.CoinFeature.REBUILD_ON_CUSTODY_SIGNING,
456
+ base_1.CoinFeature.INCREASED_TX_REQUEST_REBUILD_LIMIT,
457
+ base_1.CoinFeature.BULK_TRANSACTION,
458
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
459
+ base_1.CoinFeature.ALPHANUMERIC_MEMO_ID,
460
+ base_1.CoinFeature.SUPPORTS_TOKENS,
461
+ base_1.CoinFeature.CUSTODY_BULK_TRANSACTION,
462
+ ];
463
+ exports.COSMOS_SIDECHAIN_FEATURES_WITH_STAKING = [
464
+ ...exports.COSMOS_SIDECHAIN_FEATURES,
465
+ base_1.CoinFeature.STAKING,
466
+ base_1.CoinFeature.BULK_STAKING_TRANSACTION,
467
+ ];
468
+ exports.COSMOS_TOKEN_FEATURES = [...exports.COSMOS_SIDECHAIN_FEATURES];
469
+ exports.COSMOS_TOKEN_FEATURES_WITH_STAKING = [...exports.COSMOS_SIDECHAIN_FEATURES_WITH_STAKING];
470
+ exports.ATOM_FEATURES = [...exports.COSMOS_SIDECHAIN_FEATURES_WITH_STAKING, base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT];
471
+ exports.INJECTIVE_FEATURES = [
472
+ ...exports.COSMOS_SIDECHAIN_FEATURES_WITH_STAKING,
473
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
474
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
475
+ ];
476
+ exports.COREUM_FEATURES = [...exports.COSMOS_SIDECHAIN_FEATURES_WITH_STAKING, base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT];
477
+ exports.SEI_FEATURES = [
478
+ ...exports.COSMOS_SIDECHAIN_FEATURES_WITH_STAKING,
479
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
480
+ base_1.CoinFeature.SUNSETTING,
481
+ ];
482
+ exports.TOKEN_FEATURES_WITH_SWISS = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES, base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND];
483
+ exports.TOKEN_FEATURES_WITH_FRANKFURT = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES, base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT];
484
+ exports.TOKEN_FEATURES_WITH_NY_GERMANY_FRANKFURT = [
485
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
486
+ base_1.CoinFeature.CUSTODY_BITGO_NEW_YORK,
487
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
488
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
489
+ ];
490
+ exports.GENERIC_TOKEN_FEATURES = [
491
+ base_1.CoinFeature.ACCOUNT_MODEL,
492
+ base_1.CoinFeature.REQUIRES_BIG_NUMBER,
493
+ base_1.CoinFeature.VALUELESS_TRANSFER,
494
+ base_1.CoinFeature.TRANSACTION_DATA,
495
+ base_1.CoinFeature.GENERIC_TOKEN,
496
+ ];
497
+ exports.TON_FEATURES = [
498
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
499
+ base_1.CoinFeature.TSS,
500
+ base_1.CoinFeature.TSS_COLD,
501
+ base_1.CoinFeature.STAKING,
502
+ base_1.CoinFeature.REBUILD_ON_CUSTODY_SIGNING,
503
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
504
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
505
+ base_1.CoinFeature.CUSTODY_BITGO_KOREA,
506
+ base_1.CoinFeature.ALPHANUMERIC_MEMO_ID,
507
+ base_1.CoinFeature.SUPPORTS_TOKENS,
508
+ ];
509
+ exports.TON_TOKEN_FEATURES = [
510
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
511
+ base_1.CoinFeature.TSS,
512
+ base_1.CoinFeature.TSS_COLD,
513
+ base_1.CoinFeature.REBUILD_ON_CUSTODY_SIGNING,
514
+ base_1.CoinFeature.ALPHANUMERIC_MEMO_ID,
515
+ ];
516
+ exports.ARBETH_FEATURES = [
517
+ ...exports.ETH_FEATURES,
518
+ base_1.CoinFeature.TSS,
519
+ base_1.CoinFeature.TSS_COLD,
520
+ base_1.CoinFeature.MPCV2,
521
+ base_1.CoinFeature.MULTISIG_COLD,
522
+ base_1.CoinFeature.EVM_WALLET,
523
+ base_1.CoinFeature.USES_NON_PACKED_ENCODING_FOR_TXDATA,
524
+ base_1.CoinFeature.ETH_ROLLUP_CHAIN,
525
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
526
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
527
+ base_1.CoinFeature.EIP1559,
528
+ base_1.CoinFeature.WALLET_CONNECT_DEFI,
529
+ base_1.CoinFeature.MULTISIG,
530
+ base_1.CoinFeature.BULK_TRANSACTION,
531
+ base_1.CoinFeature.ERC20_BULK_TRANSACTION,
532
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
533
+ ];
534
+ exports.OPETH_FEATURES = [
535
+ ...exports.ETH_FEATURES,
536
+ base_1.CoinFeature.TSS,
537
+ base_1.CoinFeature.TSS_COLD,
538
+ base_1.CoinFeature.MPCV2,
539
+ base_1.CoinFeature.MULTISIG_COLD,
540
+ base_1.CoinFeature.MULTISIG,
541
+ base_1.CoinFeature.EVM_WALLET,
542
+ base_1.CoinFeature.USES_NON_PACKED_ENCODING_FOR_TXDATA,
543
+ base_1.CoinFeature.ETH_ROLLUP_CHAIN,
544
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
545
+ base_1.CoinFeature.EIP1559,
546
+ base_1.CoinFeature.WALLET_CONNECT_DEFI,
547
+ base_1.CoinFeature.BULK_TRANSACTION,
548
+ base_1.CoinFeature.ERC20_BULK_TRANSACTION,
549
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
550
+ ];
551
+ exports.ZKETH_FEATURES = [
552
+ ...exports.ETH_FEATURES,
553
+ base_1.CoinFeature.MULTISIG_COLD,
554
+ base_1.CoinFeature.MULTISIG,
555
+ base_1.CoinFeature.EVM_WALLET,
556
+ base_1.CoinFeature.USES_NON_PACKED_ENCODING_FOR_TXDATA,
557
+ base_1.CoinFeature.ETH_ROLLUP_CHAIN,
558
+ base_1.CoinFeature.EIP1559,
559
+ ];
560
+ exports.ZKSYNCERA_FEATURES = [
561
+ ...exports.EVM_FEATURES,
562
+ base_1.CoinFeature.SHARED_EVM_SIGNING,
563
+ base_1.CoinFeature.SHARED_EVM_SDK,
564
+ base_1.CoinFeature.EVM_COMPATIBLE_IMS,
565
+ base_1.CoinFeature.EVM_COMPATIBLE_UI,
566
+ base_1.CoinFeature.EVM_COMPATIBLE_WP,
567
+ base_1.CoinFeature.SUPPORTS_ERC20,
568
+ base_1.CoinFeature.EVM_NON_BITGO_RECOVERY,
569
+ base_1.CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY,
570
+ base_1.CoinFeature.USES_NON_PACKED_ENCODING_FOR_TXDATA,
571
+ base_1.CoinFeature.ETH_ROLLUP_CHAIN,
572
+ base_1.CoinFeature.ERC20_BULK_TRANSACTION,
573
+ ];
574
+ exports.BERA_FEATURES = [
575
+ ...exports.ETH_FEATURES,
576
+ base_1.CoinFeature.TSS,
577
+ base_1.CoinFeature.TSS_COLD,
578
+ base_1.CoinFeature.MPCV2,
579
+ base_1.CoinFeature.EVM_WALLET,
580
+ base_1.CoinFeature.USES_NON_PACKED_ENCODING_FOR_TXDATA,
581
+ base_1.CoinFeature.BULK_TRANSACTION,
582
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
583
+ base_1.CoinFeature.EIP1559,
584
+ base_1.CoinFeature.STAKING,
585
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
586
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
587
+ base_1.CoinFeature.CUSTODY_BULK_TRANSACTION,
588
+ base_1.CoinFeature.ERC20_BULK_TRANSACTION,
589
+ ];
590
+ exports.OAS_FEATURES = [
591
+ ...exports.ETH_FEATURES,
592
+ base_1.CoinFeature.TSS,
593
+ base_1.CoinFeature.TSS_COLD,
594
+ base_1.CoinFeature.MPCV2,
595
+ base_1.CoinFeature.EVM_WALLET,
596
+ base_1.CoinFeature.BULK_TRANSACTION,
597
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
598
+ base_1.CoinFeature.EIP1559,
599
+ base_1.CoinFeature.ERC20_BULK_TRANSACTION,
600
+ ];
601
+ exports.COREDAO_FEATURES = [
602
+ ...exports.ETH_FEATURES,
603
+ base_1.CoinFeature.TSS,
604
+ base_1.CoinFeature.TSS_COLD,
605
+ base_1.CoinFeature.MPCV2,
606
+ base_1.CoinFeature.EVM_WALLET,
607
+ base_1.CoinFeature.BULK_TRANSACTION,
608
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
609
+ base_1.CoinFeature.EIP1559,
610
+ base_1.CoinFeature.STAKING,
611
+ base_1.CoinFeature.EIP1559,
612
+ base_1.CoinFeature.ERC20_BULK_TRANSACTION,
613
+ ];
614
+ exports.TEMPO_FEATURES = [
615
+ ...exports.EVM_FEATURES.filter((feature) => feature !== base_1.CoinFeature.ENTERPRISE_PAYS_FEES),
616
+ base_1.CoinFeature.EVM_KEYRING_UNSUPPORTED,
617
+ ];
618
+ exports.TEMPO_FEATURES_EXCLUDE_SINGAPORE = exports.TEMPO_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE);
619
+ exports.HYPERLIQUID_FEATURES = [
620
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
621
+ base_1.CoinFeature.MULTISIG_COLD,
622
+ base_1.CoinFeature.TSS,
623
+ base_1.CoinFeature.TSS_COLD,
624
+ base_1.CoinFeature.MPCV2,
625
+ base_1.CoinFeature.SHA256_WITH_ECDSA_TSS,
626
+ ];
627
+ exports.APECHAIN_FEATURES = [
628
+ ...exports.ETH_FEATURES,
629
+ base_1.CoinFeature.TSS,
630
+ base_1.CoinFeature.TSS_COLD,
631
+ base_1.CoinFeature.MPCV2,
632
+ base_1.CoinFeature.EVM_WALLET,
633
+ base_1.CoinFeature.BULK_TRANSACTION,
634
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
635
+ base_1.CoinFeature.EIP1559,
636
+ ];
637
+ exports.APT_FEATURES = [
638
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
639
+ base_1.CoinFeature.TSS,
640
+ base_1.CoinFeature.TSS_COLD,
641
+ base_1.CoinFeature.BULK_TRANSACTION,
642
+ base_1.CoinFeature.SUPPORTS_TOKENS,
643
+ base_1.CoinFeature.ENTERPRISE_PAYS_FEES,
644
+ base_1.CoinFeature.TSS_ENTERPRISE_PAYS_FEES,
645
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
646
+ ];
647
+ exports.ICP_FEATURES = [
648
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
649
+ base_1.CoinFeature.TSS,
650
+ base_1.CoinFeature.TSS_COLD,
651
+ base_1.CoinFeature.MPCV2,
652
+ base_1.CoinFeature.SUPPORTS_TOKENS,
653
+ base_1.CoinFeature.SHA256_WITH_ECDSA_TSS,
654
+ base_1.CoinFeature.REBUILD_ON_CUSTODY_SIGNING,
655
+ base_1.CoinFeature.TSS_VERIFY_USE_SERIALIZED_TX_HEX,
656
+ ];
657
+ exports.STARKNET_FEATURES = [
658
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
659
+ base_1.CoinFeature.TSS,
660
+ base_1.CoinFeature.TSS_COLD,
661
+ base_1.CoinFeature.MPCV2,
662
+ base_1.CoinFeature.SHA256_WITH_ECDSA_TSS,
663
+ base_1.CoinFeature.REBUILD_ON_CUSTODY_SIGNING,
664
+ ];
665
+ exports.TAO_FEATURES = [
666
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
667
+ base_1.CoinFeature.TSS,
668
+ base_1.CoinFeature.TSS_COLD,
669
+ base_1.CoinFeature.STAKING,
670
+ base_1.CoinFeature.SUPPORTS_TOKENS,
671
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
672
+ ];
673
+ exports.TAO_TOKEN_FEATURES = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES, base_1.CoinFeature.TSS, base_1.CoinFeature.TSS_COLD];
674
+ exports.SONEIUM_FEATURES = [
675
+ ...exports.ETH_FEATURES,
676
+ base_1.CoinFeature.TSS,
677
+ base_1.CoinFeature.TSS_COLD,
678
+ base_1.CoinFeature.MPCV2,
679
+ base_1.CoinFeature.EVM_WALLET,
680
+ base_1.CoinFeature.BULK_TRANSACTION,
681
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
682
+ base_1.CoinFeature.EIP1559,
683
+ base_1.CoinFeature.MULTISIG,
684
+ base_1.CoinFeature.MULTISIG_COLD,
685
+ base_1.CoinFeature.MULTISIG_SUPPORT_GATED,
686
+ base_1.CoinFeature.USES_NON_PACKED_ENCODING_FOR_TXDATA,
687
+ base_1.CoinFeature.ERC20_BULK_TRANSACTION,
688
+ ];
689
+ exports.POLYX_FEATURES = [
690
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
691
+ base_1.CoinFeature.TSS,
692
+ base_1.CoinFeature.TSS_COLD,
693
+ base_1.CoinFeature.STAKING,
694
+ base_1.CoinFeature.SUPPORTS_TOKENS,
695
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
696
+ ];
697
+ exports.POLYX_TOKEN_FEATURES = [
698
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
699
+ base_1.CoinFeature.TSS,
700
+ base_1.CoinFeature.TOKEN_STANDARD_USES_ALTERNATIVE_ADDRESS_IDENTIFIER,
701
+ ];
702
+ exports.ETH_FEATURES_WITH_FRANKFURT = [...exports.ETH_FEATURES, base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT];
703
+ exports.ETH_FEATURES_WITH_GERMANY = [...exports.ETH_FEATURES, base_1.CoinFeature.CUSTODY_BITGO_GERMANY];
704
+ exports.ETH_FEATURES_WITH_FRANKFURT_GERMANY = [...exports.ETH_FEATURES_WITH_FRANKFURT, base_1.CoinFeature.CUSTODY_BITGO_GERMANY];
705
+ exports.SOL_TOKEN_FEATURES_WITH_FRANKFURT = [
706
+ ...exports.SOL_TOKEN_FEATURES,
707
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
708
+ base_1.CoinFeature.BULK_TRANSACTION,
709
+ ];
710
+ exports.SOL_TOKEN_FEATURES_WITH_FRANKFURT_GERMANY = [
711
+ ...exports.SOL_TOKEN_FEATURES_WITH_FRANKFURT,
712
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
713
+ ];
714
+ exports.XLM_TOKEN_FEATURES_WITH_FRANKFURT = [
715
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
716
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
717
+ ];
718
+ exports.ZETA_FEATURES = [...exports.COSMOS_SIDECHAIN_FEATURES_WITH_STAKING, base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE];
719
+ exports.ZETA_EVM_FEATURES = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES, base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE];
720
+ exports.ETH_FEATURES_WITH_FRANKFURT_EXCLUDE_SINGAPORE = exports.ETH_FEATURES_WITH_FRANKFURT.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE);
721
+ exports.TIA_FEATURES = [
722
+ ...exports.COSMOS_SIDECHAIN_FEATURES_WITH_STAKING,
723
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
724
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
725
+ ];
726
+ exports.WCT_FEATURES = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES, base_1.CoinFeature.STAKING, base_1.CoinFeature.WALLET_CONNECT_DEFI];
727
+ exports.BERA_BGT_FEATURES = [
728
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
729
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
730
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
731
+ ];
732
+ exports.VET_FEATURES = [
733
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
734
+ base_1.CoinFeature.TSS,
735
+ base_1.CoinFeature.TSS_COLD,
736
+ base_1.CoinFeature.BULK_TRANSACTION,
737
+ base_1.CoinFeature.SUPPORTS_TOKENS,
738
+ base_1.CoinFeature.ENTERPRISE_PAYS_FEES,
739
+ base_1.CoinFeature.TSS_ENTERPRISE_PAYS_FEES,
740
+ base_1.CoinFeature.FEES_PAID_WITH_TOKEN,
741
+ base_1.CoinFeature.MPCV2,
742
+ ];
743
+ exports.VET_TOKEN_FEATURES = exports.VET_FEATURES.filter((feature) => feature !== base_1.CoinFeature.SUPPORTS_TOKENS);
744
+ exports.EVM_NON_EIP1559_FEATURES = [...exports.EVM_FEATURES.filter((feature) => feature !== base_1.CoinFeature.EIP1559)];
745
+ exports.XDC_FEATURES = [
746
+ ...exports.EVM_NON_EIP1559_FEATURES,
747
+ base_1.CoinFeature.ERC20_BULK_TRANSACTION,
748
+ base_1.CoinFeature.TSS_VERIFY_USE_SERIALIZED_TX_HEX,
749
+ ];
750
+ exports.XDC_TOKEN_FEATURES = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES, base_1.CoinFeature.TSS_VERIFY_USE_SERIALIZED_TX_HEX];
751
+ exports.SGB_FEATURES = [...exports.EVM_FEATURES, base_1.CoinFeature.ERC20_BULK_TRANSACTION];
752
+ exports.FLR_FEATURES = [
753
+ ...exports.EVM_FEATURES,
754
+ base_1.CoinFeature.USES_NON_PACKED_ENCODING_FOR_TXDATA,
755
+ base_1.CoinFeature.ERC20_BULK_TRANSACTION,
756
+ ];
757
+ exports.WFLR_FEATURES = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES, base_1.CoinFeature.STABLECOIN, base_1.CoinFeature.STAKING];
758
+ exports.WEMIX_FEATURES = [...exports.EVM_FEATURES, base_1.CoinFeature.ERC20_BULK_TRANSACTION];
759
+ exports.IOTA_FEATURES = [
760
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
761
+ base_1.CoinFeature.TSS,
762
+ base_1.CoinFeature.TSS_COLD,
763
+ base_1.CoinFeature.BULK_TRANSACTION,
764
+ base_1.CoinFeature.CUSTODY_BULK_TRANSACTION,
765
+ ];
766
+ // TODO: https://bitgoinc.atlassian.net/browse/COIN-5870
767
+ exports.CANTON_FEATURES = [
768
+ base_1.CoinFeature.TRANSACTION_DATA,
769
+ base_1.CoinFeature.REQUIRES_BIG_NUMBER,
770
+ base_1.CoinFeature.TSS,
771
+ base_1.CoinFeature.TSS_COLD,
772
+ base_1.CoinFeature.CUSTODY,
773
+ base_1.CoinFeature.CUSTODY_BITGO_TRUST,
774
+ base_1.CoinFeature.CUSTODY_BITGO_MENA_FZE,
775
+ base_1.CoinFeature.CUSTODY_BITGO_CUSTODY_MENA_FZE,
776
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
777
+ base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS,
778
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
779
+ base_1.CoinFeature.CUSTODY_BITGO_INDIA,
780
+ base_1.CoinFeature.SUPPORTS_ONE_STEP_DEPOSIT,
781
+ base_1.CoinFeature.REQUIRES_WALLET_INITIALIZATION_TRANSACTION,
782
+ base_1.CoinFeature.REQUIRES_DEPOSIT_ACCEPTANCE_TRANSACTION,
783
+ base_1.CoinFeature.ALPHANUMERIC_MEMO_ID,
784
+ base_1.CoinFeature.SUPPORTS_TOKENS,
785
+ ];
786
+ exports.CANTON_TOKEN_FEATURES = [
787
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
788
+ base_1.CoinFeature.TSS,
789
+ base_1.CoinFeature.TSS_COLD,
790
+ base_1.CoinFeature.SUPPORTS_ONE_STEP_DEPOSIT,
791
+ base_1.CoinFeature.REQUIRES_WALLET_INITIALIZATION_TRANSACTION,
792
+ base_1.CoinFeature.REQUIRES_DEPOSIT_ACCEPTANCE_TRANSACTION,
793
+ base_1.CoinFeature.ALPHANUMERIC_MEMO_ID,
794
+ ];
795
+ exports.TCANTON_FEATURES = [
796
+ ...exports.CANTON_FEATURES,
797
+ base_1.CoinFeature.UNSPENT_MODEL,
798
+ base_1.CoinFeature.MERGE_UTXOS,
799
+ base_1.CoinFeature.FANOUT_UTXOS,
800
+ base_1.CoinFeature.BYOV_VALIDATOR,
801
+ ];
802
+ exports.ERC7984_TOKEN_FEATURES = [
803
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
804
+ base_1.CoinFeature.BULK_TRANSACTION,
805
+ base_1.CoinFeature.TSS,
806
+ base_1.CoinFeature.TSS_COLD,
807
+ base_1.CoinFeature.CONFIDENTIAL_TRANSFER,
808
+ base_1.CoinFeature.REQUIRES_DECRYPTION_DELEGATION,
809
+ ];
810
+ exports.ETH_FEATURES_EXCLUDE_EUROPE = exports.ETH_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS && feature !== base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT);
811
+ exports.POLYGON_TOKEN_FEATURES_EXCLUDE_EUROPE = exports.POLYGON_TOKEN_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS && feature !== base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT);
812
+ exports.SOL_TOKEN_FEATURES_EXCLUDE_EUROPE = exports.SOL_TOKEN_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS && feature !== base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT);
813
+ exports.BSC_TOKEN_FEATURES_EXCLUDE_EUROPE = exports.BSC_TOKEN_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS && feature !== base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT);
814
+ exports.TON_TOKEN_FEATURES_EXCLUDE_EUROPE = exports.TON_TOKEN_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS && feature !== base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT);
815
+ exports.TEMPO_FEATURES_EXCLUDE_EUROPE = exports.TEMPO_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS && feature !== base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT);
816
+ exports.APT_FEATURES_EXCLUDE_EUROPE = exports.APT_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS && feature !== base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT);
817
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbkZlYXR1cmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvaW5GZWF0dXJlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlDQUFxQztBQUNyQywrQkFBNEI7QUFFNUIsZ0VBQWdFO0FBQ25ELFFBQUEsMkJBQTJCLEdBQUc7SUFDekMsa0JBQVcsQ0FBQyxtQkFBbUI7SUFDL0Isa0JBQVcsQ0FBQyxzQkFBc0I7SUFDbEMsa0JBQVcsQ0FBQyw4QkFBOEI7SUFDMUMsa0JBQVcsQ0FBQyx1QkFBdUI7SUFDbkMsa0JBQVcsQ0FBQyxtQkFBbUI7SUFDL0Isa0JBQVcsQ0FBQyx3QkFBd0I7SUFDcEMsa0JBQVcsQ0FBQyxxQkFBcUI7SUFDakMsa0JBQVcsQ0FBQyx1QkFBdUI7SUFDbkMsa0JBQVcsQ0FBQyxzQkFBc0I7SUFDbEMsa0JBQVcsQ0FBQyx5QkFBeUI7SUFDckMsa0JBQVcsQ0FBQyw4QkFBOEI7SUFDMUMsa0JBQVcsQ0FBQyxtQkFBbUI7Q0FDaEMsQ0FBQztBQUVXLFFBQUEsNkJBQTZCLEdBQUc7SUFDM0Msa0JBQVcsQ0FBQyxhQUFhO0lBQ3pCLGtCQUFXLENBQUMsbUJBQW1CO0lBQy9CLGtCQUFXLENBQUMsa0JBQWtCO0lBQzlCLGtCQUFXLENBQUMsZ0JBQWdCO0lBQzVCLGtCQUFXLENBQUMsT0FBTztJQUNuQixrQkFBVyxDQUFDLG1CQUFtQjtJQUMvQixrQkFBVyxDQUFDLHNCQUFzQjtJQUNsQyxrQkFBVyxDQUFDLDhCQUE4QjtJQUMxQyxrQkFBVyxDQUFDLHVCQUF1QjtJQUNuQyxrQkFBVyxDQUFDLHdCQUF3QjtJQUNwQyxrQkFBVyxDQUFDLHVCQUF1QjtJQUNuQyxrQkFBVyxDQUFDLG1CQUFtQjtDQUNoQyxDQUFDO0FBRVcsUUFBQSwrQ0FBK0MsR0FBRyxxQ0FBNkIsQ0FBQyxNQUFNLENBQ2pHLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEtBQUssa0JBQVcsQ0FBQyx1QkFBdUIsQ0FD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RSxDQUFDLE9BQU8sS0FBSyxrQkFBVyxDQUFDLHdCQUF3QixJQUFJLE9BQU8sS0FBSyxrQkFBVyxDQUFDLHVCQUF1QixDQUNqSCxDQUFDO0FBQ1csUUFBQSxpQ0FBaUMsR0FBRywwQkFBa0IsQ0FBQyxNQUFNLENBQ3hFLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEtBQUssa0JBQVcsQ0FBQyx3QkFBd0IsSUFBSSxPQUFPLEtBQUssa0JBQVcsQ0FBQyx1QkFBdUIsQ0FDakgsQ0FBQztBQUNXLFFBQUEsNkJBQTZCLEdBQUcsc0JBQWMsQ0FBQyxNQUFNLENBQ2hFLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEtBQUssa0JBQVcsQ0FBQyx3QkFBd0IsSUFBSSxPQUFPLEtBQUssa0JBQVcsQ0FBQyx1QkFBdUIsQ0FDakgsQ0FBQztBQUNXLFFBQUEsMkJBQTJCLEdBQUcsb0JBQVksQ0FBQyxNQUFNLENBQzVELENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEtBQUssa0JBQVcsQ0FBQyx3QkFBd0IsSUFBSSxPQUFPLEtBQUssa0JBQVcsQ0FBQyx1QkFBdUIsQ0FDakgsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvaW5GZWF0dXJlIH0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7IEFkYSB9IGZyb20gJy4vYWRhJztcblxuLy9saXN0IG9mIGFsbCB0aGUganVyaXNkaWN0aW9ucyB3aGVyZSBCaXRHbyBDdXN0b2R5IGlzIGF2YWlsYWJsZVxuZXhwb3J0IGNvbnN0IEJJVEdPX0NVU1RPRFlfSlVSSVNESUNUSU9OUyA9IFtcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19UUlVTVCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19NRU5BX0ZaRSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19DVVNUT0RZX01FTkFfRlpFLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NJTkdBUE9SRSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19LT1JFQSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19FVVJPUEVfQVBTLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0dFUk1BTlksXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX05FV19ZT1JLLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NXSVRaRVJMQU5ELFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NJU1RFUl9UUlVTVF9PTkUsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fSU5ESUEsXG5dO1xuXG5leHBvcnQgY29uc3QgQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMgPSBbXG4gIENvaW5GZWF0dXJlLkFDQ09VTlRfTU9ERUwsXG4gIENvaW5GZWF0dXJlLlJFUVVJUkVTX0JJR19OVU1CRVIsXG4gIENvaW5GZWF0dXJlLlZBTFVFTEVTU19UUkFOU0ZFUixcbiAgQ29pbkZlYXR1cmUuVFJBTlNBQ1RJT05fREFUQSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19UUlVTVCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19NRU5BX0ZaRSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19DVVNUT0RZX01FTkFfRlpFLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NJTkdBUE9SRSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19FVVJPUEVfQVBTLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19JTkRJQSxcbl07XG5cbmV4cG9ydCBjb25zdCBBQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFU19FWENMVURFX1NJTkdBUE9SRSA9IEFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLmZpbHRlcihcbiAgKGZlYXR1cmUpID0+IGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFXG4pO1xuXG5leHBvcnQgY29uc3QgQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVNfRVhDTFVERV9NRU5BX0ZaRSA9IEFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLmZpbHRlcihcbiAgKGZlYXR1cmUpID0+IGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fTUVOQV9GWkVcbik7XG5cbmV4cG9ydCBjb25zdCBBQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFU19FWENMVURFX1NJTkdBUE9SRV9BTkRfTUVOQV9GWkUgPSBBQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUy5maWx0ZXIoXG4gIChmZWF0dXJlKSA9PiBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NJTkdBUE9SRSAmJiBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX01FTkFfRlpFXG4pO1xuXG5leHBvcnQgY29uc3QgQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVNfRVhDTFVERV9FVVJPUEUgPSBBQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUy5maWx0ZXIoXG4gIChmZWF0dXJlKSA9PiBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0VVUk9QRV9BUFMgJiYgZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlRcbik7XG5cbi8vIGtlZXBzIGN1c3RvZHkgZW5hYmxlZCBmb3IgQml0R28gVHJ1c3Qgb25seSwgZHJvcHBpbmcgZXZlcnkgb3RoZXIganVyaXNkaWN0aW9uJ3MgY3VzdG9keSBmZWF0dXJlXG5leHBvcnQgY29uc3QgQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVNfVFJVU1RfT05MWSA9IEFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLmZpbHRlcihcbiAgKGZlYXR1cmUpID0+IGZlYXR1cmUgPT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fVFJVU1QgfHwgIUJJVEdPX0NVU1RPRFlfSlVSSVNESUNUSU9OUy5pbmNsdWRlcyhmZWF0dXJlKVxuKTtcblxuLy8gbWF0Y2hlcyB0aGUgZXJjMjBUb2tlbi9hcmJldGhFcmMyMC9wb2x5Z29uRXJjMjAgZGVmYXVsdCBmZWF0dXJlIHNldCAoWy4uLkFjY291bnRDb2luLkRFRkFVTFRfRkVBVFVSRVMsXG4vLyBDb2luRmVhdHVyZS5FSVAxNTU5XSksIGJ1dCBzY29wZWQgdG8gQml0R28gVHJ1c3QgY3VzdG9keSBvbmx5XG5leHBvcnQgY29uc3QgRVZNX1RPS0VOX0ZFQVRVUkVTX1RSVVNUX09OTFkgPSBbLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVNfVFJVU1RfT05MWSwgQ29pbkZlYXR1cmUuRUlQMTU1OV07XG5cbmV4cG9ydCBjb25zdCBFVEhfRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5TVVBQT1JUU19UT0tFTlMsXG4gIENvaW5GZWF0dXJlLkVOVEVSUFJJU0VfUEFZU19GRUVTLFxuICBDb2luRmVhdHVyZS5XQUxMRVRfQ09OTkVDVF9ERUZJLFxuICBDb2luRmVhdHVyZS5FVk1fQ09JTixcbiAgQ29pbkZlYXR1cmUuU1RVQ0tfVFJBTlNBQ1RJT05fTUFOQUdFTUVOVF9PTkNIQUlOLFxuICBDb2luRmVhdHVyZS5TSEFSRURfRVZNX01FU1NBR0VfU0lHTklORyxcbl07XG5leHBvcnQgY29uc3QgRVRIX0ZFQVRVUkVTX1dJVEhfTU1JID0gWy4uLkVUSF9GRUFUVVJFUywgQ29pbkZlYXR1cmUuTUVUQU1BU0tfSU5TVElUVVRJT05BTF07XG5leHBvcnQgY29uc3QgRVRIX0ZFQVRVUkVTX1dJVEhfU1RBS0lORyA9IFsuLi5FVEhfRkVBVFVSRVMsIENvaW5GZWF0dXJlLlNUQUtJTkddO1xuZXhwb3J0IGNvbnN0IEVUSF9GRUFUVVJFU19XSVRIX1NUQUtJTkdfQU5EX01NSSA9IFsuLi5FVEhfRkVBVFVSRVNfV0lUSF9TVEFLSU5HLCBDb2luRmVhdHVyZS5NRVRBTUFTS19JTlNUSVRVVElPTkFMXTtcbmV4cG9ydCBjb25zdCBFVENfRkVBVFVSRVMgPSBbXG4gIC4uLkVUSF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19HRVJNQU5ZLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19ORVdfWU9SSyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19LT1JFQSxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUdfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUcsXG4gIENvaW5GZWF0dXJlLlNUVUNLX1RSQU5TQUNUSU9OX01BTkFHRU1FTlRfVFNTLFxuXTtcbmV4cG9ydCBjb25zdCBFVk1fRkVBVFVSRVMgPSBbXG4gIC4uLkVUSF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTVBDVjIsXG4gIENvaW5GZWF0dXJlLkVWTV9XQUxMRVQsXG4gIENvaW5GZWF0dXJlLkJVTEtfVFJBTlNBQ1RJT04sXG4gIENvaW5GZWF0dXJlLlNUVUNLX1RSQU5TQUNUSU9OX01BTkFHRU1FTlRfVFNTLFxuICBDb2luRmVhdHVyZS5FSVAxNTU5LFxuXTtcbmV4cG9ydCBjb25zdCBBVkFYQ19GRUFUVVJFUyA9IFtcbiAgLi4uRVRIX0ZFQVRVUkVTX1dJVEhfTU1JLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0dFUk1BTlksXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NXSVRaRVJMQU5ELFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NJTkdBUE9SRSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19LT1JFQSxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUdfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUcsXG4gIENvaW5GZWF0dXJlLkVJUDE1NTksXG4gIENvaW5GZWF0dXJlLlNUQUtJTkcsXG4gIENvaW5GZWF0dXJlLkVSQzIwX0JVTEtfVFJBTlNBQ1RJT04sXG5dO1xuZXhwb3J0IGNvbnN0IENFTE9fRkVBVFVSRVMgPSBbXG4gIC4uLkVUSF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUdfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUcsXG4gIENvaW5GZWF0dXJlLkVJUDE1NTksXG5dLmZpbHRlcihcbiAgKGZlYXR1cmUpID0+XG4gICAgZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWSAmJlxuICAgIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fR0VSTUFOWSAmJlxuICAgIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJUICYmXG4gICAgZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TSU5HQVBPUkUgJiZcbiAgICBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1RSVVNUICYmXG4gICAgZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19NRU5BX0ZaRSAmJlxuICAgIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fQ1VTVE9EWV9NRU5BX0ZaRSAmJlxuICAgIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fS09SRUEgJiZcbiAgICBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0VVUk9QRV9BUFMgJiZcbiAgICBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX05FV19ZT1JLICYmXG4gICAgZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TV0lUWkVSTEFORCAmJlxuICAgIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lTVEVSX1RSVVNUX09ORSAmJlxuICAgIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fSU5ESUEgJiZcbiAgICBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5ESVNUUklCVVRFRF9DVVNUT0RZXG4pO1xuXG5leHBvcnQgY29uc3QgQ0VMT19UT0tFTl9GRUFUVVJFUyA9IFsuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFU10uZmlsdGVyKFxuICAoZmVhdHVyZSkgPT5cbiAgICBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZICYmXG4gICAgZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19UUlVTVCAmJlxuICAgIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fTUVOQV9GWkUgJiZcbiAgICBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0NVU1RPRFlfTUVOQV9GWkUgJiZcbiAgICBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NJTkdBUE9SRSAmJlxuICAgIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fS09SRUEgJiZcbiAgICBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0VVUk9QRV9BUFMgJiZcbiAgICBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVCAmJlxuICAgIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fSU5ESUFcbik7XG5cbmV4cG9ydCBjb25zdCBSQlRDX0ZFQVRVUkVTID0gW1xuICAuLi5FVEhfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0dFUk1BTlksXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NJTkdBUE9SRSxcbl07XG5leHBvcnQgY29uc3QgWExNX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuU1VQUE9SVFNfVE9LRU5TLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0dFUk1BTlksXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fTkVXX1lPUkssXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NJTkdBUE9SRSxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUdfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUcsXG5dO1xuZXhwb3J0IGNvbnN0IFhUWl9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHLFxuICBDb2luRmVhdHVyZS5FTlRFUlBSSVNFX1BBWVNfRkVFUyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19HRVJNQU5ZLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX05FV19ZT1JLLFxuXS5maWx0ZXIoKGZlYXR1cmUpID0+IGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fQ1VTVE9EWV9NRU5BX0ZaRSk7XG5cbmV4cG9ydCBjb25zdCBYUlBfRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5TVVBQT1JUU19UT0tFTlMsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fR0VSTUFOWSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19ORVdfWU9SSyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0tPUkVBLFxuICBDb2luRmVhdHVyZS5NVUxUSVNJR19DT0xELFxuICBDb2luRmVhdHVyZS5NVUxUSVNJRyxcbl07XG5leHBvcnQgY29uc3QgUE9MWUdPTl9UT0tFTl9GRUFUVVJFU19XSVRIX0ZSQU5LRlVSVCA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuXTtcbmV4cG9ydCBjb25zdCBDU1BSX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuUkVRVUlSRVNfUkVTRVJWRSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19HRVJNQU5ZLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NXSVRaRVJMQU5ELFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TSU5HQVBPUkUsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHLFxuICBDb2luRmVhdHVyZS5TVEFLSU5HLFxuXTtcbmV4cG9ydCBjb25zdCBBTEdPX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuU1VQUE9SVFNfVE9LRU5TLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NXSVRaRVJMQU5ELFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0dFUk1BTlksXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NJTkdBUE9SRSxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUdfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUcsXG4gIENvaW5GZWF0dXJlLkJVTEtfVFJBTlNBQ1RJT04sXG5dO1xuZXhwb3J0IGNvbnN0IEhURVRIX1RPS0VOX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuRUlQMTU1OSxcbiAgQ29pbkZlYXR1cmUuV0FMTEVUX0NPTk5FQ1RfREVGSSxcbl07XG5leHBvcnQgY29uc3QgQURBX0ZFQVRVUkVTID0gW1xuICAuLi5BZGEuREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuU1VQUE9SVFNfVE9LRU5TLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TSU5HQVBPUkUsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fS09SRUEsXG5dO1xuZXhwb3J0IGNvbnN0IEFEQV9UT0tFTl9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLkJVTEtfVFJBTlNBQ1RJT04sXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG5dO1xuZXhwb3J0IGNvbnN0IEFEQV9UT0tFTl9GRUFUVVJFU19FWENMVURFX1NJTkdBUE9SRSA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVNfRVhDTFVERV9TSU5HQVBPUkUsXG4gIENvaW5GZWF0dXJlLkJVTEtfVFJBTlNBQ1RJT04sXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG5dO1xuZXhwb3J0IGNvbnN0IERPVF9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLlNUQUtJTkcsXG4gIENvaW5GZWF0dXJlLkVYUElSSU5HX1RSQU5TQUNUSU9OUyxcbiAgQ29pbkZlYXR1cmUuUkVCVUlMRF9PTl9DVVNUT0RZX1NJR05JTkcsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5TVFVDS19UUkFOU0FDVElPTl9NQU5BR0VNRU5UX1RTUyxcbl07XG5leHBvcnQgY29uc3QgRU9TX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuU1VQUE9SVFNfVE9LRU5TLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0dFUk1BTlksXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NJTkdBUE9SRSxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUdfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUcsXG5dO1xuZXhwb3J0IGNvbnN0IEhCQVJfRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5TVVBQT1JUU19UT0tFTlMsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fR0VSTUFOWSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFLFxuICBDb2luRmVhdHVyZS5NVUxUSVNJR19DT0xELFxuICBDb2luRmVhdHVyZS5NVUxUSVNJRyxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuQUxQSEFOVU1FUklDX01FTU9fSUQsXG4gIENvaW5GZWF0dXJlLlNUQUtJTkcsXG5dO1xuZXhwb3J0IGNvbnN0IFBPTFlHT05fRkVBVFVSRVMgPSBbXG4gIC4uLkVUSF9GRUFUVVJFU19XSVRIX01NSSxcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUdfQ09MRCxcbiAgQ29pbkZlYXR1cmUuRVZNX1dBTExFVCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19HRVJNQU5ZLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NXSVRaRVJMQU5ELFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVCxcbiAgQ29pbkZlYXR1cmUuTVBDVjIsXG4gIENvaW5GZWF0dXJlLlNUVUNLX1RSQU5TQUNUSU9OX01BTkFHRU1FTlRfVFNTLFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5FUkMyMF9CVUxLX1RSQU5TQUNUSU9OLFxuXTtcblxuZXhwb3J0IGNvbnN0IFBPTFlHT05fVE9LRU5fRkVBVFVSRVMgPSBbLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsIENvaW5GZWF0dXJlLkJVTEtfVFJBTlNBQ1RJT05dO1xuZXhwb3J0IGNvbnN0IFBPTFlHT05fVE9LRU5fRkVBVFVSRVNfVFJVU1RfT05MWSA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVNfVFJVU1RfT05MWSxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbl07XG5leHBvcnQgY29uc3QgUE9MWUdPTl9UT0tFTl9GRUFUVVJFU19FWENMVURFX1NJTkdBUE9SRSA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVNfRVhDTFVERV9TSU5HQVBPUkUsXG4gIENvaW5GZWF0dXJlLkJVTEtfVFJBTlNBQ1RJT04sXG5dO1xuZXhwb3J0IGNvbnN0IEVWTV9FUkMyMF9UT0tFTl9GRUFUVVJFU19FWENMVURFX1NJTkdBUE9SRSA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVNfRVhDTFVERV9TSU5HQVBPUkUsXG4gIENvaW5GZWF0dXJlLkVJUDE1NTksXG5dO1xuZXhwb3J0IGNvbnN0IEVSQzIwX1RPS0VOX0ZFQVRVUkVTX0VYQ0xVREVfU0lOR0FQT1JFID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFU19FWENMVURFX1NJTkdBUE9SRSxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbl07XG5leHBvcnQgY29uc3QgUE9MX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuU1RBS0lORyxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUdfQ09MRCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TV0lUWkVSTEFORCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TSU5HQVBPUkUsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fR0VSTUFOWSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG5dO1xuZXhwb3J0IGNvbnN0IFNPTF9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLlJFUVVJUkVTX1JFU0VSVkUsXG4gIENvaW5GZWF0dXJlLlNVUFBPUlRTX1RPS0VOUyxcbiAgQ29pbkZlYXR1cmUuU1RBS0lORyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19HRVJNQU5ZLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19LT1JFQSxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuV0FMTEVUX0NPTk5FQ1RfREVGSSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CVUxLX1RSQU5TQUNUSU9OLFxuXTtcbmV4cG9ydCBjb25zdCBUU09MX0ZFQVRVUkVTID0gWy4uLlNPTF9GRUFUVVJFUywgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTiwgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TSU5HQVBPUkVdO1xuZXhwb3J0IGNvbnN0IFNPTF9UT0tFTl9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLkJVTEtfVFJBTlNBQ1RJT04sXG5dO1xuZXhwb3J0IGNvbnN0IFNPTF9UT0tFTl9GRUFUVVJFU19FWENMVURFX1NJTkdBUE9SRSA9IFNPTF9UT0tFTl9GRUFUVVJFUy5maWx0ZXIoXG4gIChmZWF0dXJlKSA9PiBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NJTkdBUE9SRVxuKTtcbmV4cG9ydCBjb25zdCBTT0xfVE9LRU5fRkVBVFVSRVNfVFJVU1RfT05MWSA9IFNPTF9UT0tFTl9GRUFUVVJFUy5maWx0ZXIoXG4gIChmZWF0dXJlKSA9PiBmZWF0dXJlID09PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1RSVVNUIHx8ICFCSVRHT19DVVNUT0RZX0pVUklTRElDVElPTlMuaW5jbHVkZXMoZmVhdHVyZSlcbik7XG5leHBvcnQgY29uc3QgU09MX09GQ19UT0tFTl9GRUFUVVJFUyA9IFsuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUywgQ29pbkZlYXR1cmUuVFNTLCBDb2luRmVhdHVyZS5UU1NfQ09MRF07XG5leHBvcnQgY29uc3QgQVBUX09GQ19UT0tFTl9GRUFUVVJFUyA9IFsuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUywgQ29pbkZlYXR1cmUuVFNTLCBDb2luRmVhdHVyZS5UU1NfQ09MRF07XG5cbmV4cG9ydCBjb25zdCBCU0NfRkVBVFVSRVMgPSBbXG4gIC4uLkVUSF9GRUFUVVJFU19XSVRIX1NUQUtJTkdfQU5EX01NSSxcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuRVZNX1dBTExFVCxcbiAgQ29pbkZlYXR1cmUuTVBDVjIsXG4gIENvaW5GZWF0dXJlLlVTRVNfTk9OX1BBQ0tFRF9FTkNPRElOR19GT1JfVFhEQVRBLFxuICBDb2luRmVhdHVyZS5TVFVDS19UUkFOU0FDVElPTl9NQU5BR0VNRU5UX1RTUyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fS09SRUEsXG4gIENvaW5GZWF0dXJlLkJVTEtfVFJBTlNBQ1RJT04sXG4gIENvaW5GZWF0dXJlLlNIQVJFRF9FVk1fTUVTU0FHRV9TSUdOSU5HLFxuICBDb2luRmVhdHVyZS5FUkMyMF9CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5UU1NfVkVSSUZZX1VTRV9TRVJJQUxJWkVEX1RYX0hFWCxcbl07XG5leHBvcnQgY29uc3QgQlNDX1RPS0VOX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuVFNTX1ZFUklGWV9VU0VfU0VSSUFMSVpFRF9UWF9IRVgsXG5dO1xuZXhwb3J0IGNvbnN0IEJTQ19UT0tFTl9GRUFUVVJFU19FWENMVURFX1NJTkdBUE9SRSA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVNfRVhDTFVERV9TSU5HQVBPUkUsXG4gIENvaW5GZWF0dXJlLkJVTEtfVFJBTlNBQ1RJT04sXG4gIENvaW5GZWF0dXJlLlRTU19WRVJJRllfVVNFX1NFUklBTElaRURfVFhfSEVYLFxuXTtcbmV4cG9ydCBjb25zdCBCU0NfVE9LRU5fRkVBVFVSRVNfRVhDTFVERV9NRU5BX0ZaRSA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVNfRVhDTFVERV9NRU5BX0ZaRSxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuVFNTX1ZFUklGWV9VU0VfU0VSSUFMSVpFRF9UWF9IRVgsXG5dO1xuZXhwb3J0IGNvbnN0IEJTQ19UT0tFTl9GRUFUVVJFU19UUlVTVF9PTkxZID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFU19UUlVTVF9PTkxZLFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5UU1NfVkVSSUZZX1VTRV9TRVJJQUxJWkVEX1RYX0hFWCxcbl07XG5leHBvcnQgY29uc3QgU1RYX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19HRVJNQU5ZLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TSU5HQVBPUkUsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHLFxuICBDb2luRmVhdHVyZS5TVEFLSU5HLFxuICBDb2luRmVhdHVyZS5TVVBQT1JUU19UT0tFTlMsXG4gIENvaW5GZWF0dXJlLkFMUEhBTlVNRVJJQ19NRU1PX0lELFxuXTtcbmV4cG9ydCBjb25zdCBTVFhfVE9LRU5fRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5NVUxUSVNJR19DT0xELFxuICBDb2luRmVhdHVyZS5BTFBIQU5VTUVSSUNfTUVNT19JRCxcbl07XG5leHBvcnQgY29uc3QgU1RYX1RPS0VOX0ZFQVRVUkVTX0VYQ0xVREVfU0lOR0FQT1JFID0gU1RYX1RPS0VOX0ZFQVRVUkVTLmZpbHRlcihcbiAgKGZlYXR1cmUpID0+IGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFXG4pO1xuZXhwb3J0IGNvbnN0IE5FQVJfRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5UU1MsXG4gIENvaW5GZWF0dXJlLlRTU19DT0xELFxuICBDb2luRmVhdHVyZS5TVEFLSU5HLFxuICBDb2luRmVhdHVyZS5SRUJVSUxEX09OX0NVU1RPRFlfU0lHTklORyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLlNVUFBPUlRTX1RPS0VOUyxcbl07XG5leHBvcnQgY29uc3QgTkVBUl9UT0tFTl9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLlJFQlVJTERfT05fQ1VTVE9EWV9TSUdOSU5HLFxuXTtcbmV4cG9ydCBjb25zdCBNQVRJQ19GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlNUQUtJTkcsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1FVEFNQVNLX0lOU1RJVFVUSU9OQUwsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU1dJVFpFUkxBTkQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFLFxuXTtcbmV4cG9ydCBjb25zdCBNQVRJQ19GRUFUVVJFU19XSVRIX0ZSQU5LRlVSVCA9IFsuLi5NQVRJQ19GRUFUVVJFUywgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlRdO1xuXG5leHBvcnQgY29uc3QgV0VUSF9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1FVEFNQVNLX0lOU1RJVFVUSU9OQUwsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU1dJVFpFUkxBTkQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFLFxuXTtcbmV4cG9ydCBjb25zdCBUV0VUSF9GRUFUVVJFUyA9IFsuLi5XRVRIX0ZFQVRVUkVTLCBDb2luRmVhdHVyZS5TVEFLSU5HXTtcbmV4cG9ydCBjb25zdCBFSUdFTl9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlNUQUtJTkcsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1FVEFNQVNLX0lOU1RJVFVUSU9OQUwsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU1dJVFpFUkxBTkQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFLFxuXTtcbmV4cG9ydCBjb25zdCBSRVRIX1JPQ0tFVF9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlNUQUtJTkcsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1FVEFNQVNLX0lOU1RJVFVUSU9OQUwsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU1dJVFpFUkxBTkQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFLFxuICBDb2luRmVhdHVyZS5MSVFVSURfU1RBS0lORyxcbl07XG5leHBvcnQgY29uc3QgU1VJX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuU1RBS0lORyxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuQlVMS19TVEFLSU5HX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5TVVBQT1JUU19UT0tFTlMsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0dFUk1BTlksXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fS09SRUEsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuQUxMT1dTX05FR0FUSVZFX0ZFRSxcbl07XG5leHBvcnQgY29uc3QgU1VJX1RPS0VOX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbl07XG5leHBvcnQgY29uc3QgU1VJX1RPS0VOX0ZFQVRVUkVTX0VYQ0xVREVfU0lOR0FQT1JFID0gU1VJX1RPS0VOX0ZFQVRVUkVTLmZpbHRlcihcbiAgKGZlYXR1cmUpID0+IGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFXG4pO1xuZXhwb3J0IGNvbnN0IFNVSV9UT0tFTl9GRUFUVVJFU19TVEFLSU5HID0gW1xuICAuLi5TVUlfVE9LRU5fRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlNUQUtJTkcsXG4gIENvaW5GZWF0dXJlLkJVTEtfU1RBS0lOR19UUkFOU0FDVElPTixcbl07XG5leHBvcnQgY29uc3QgVFJYX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuU1VQUE9SVFNfVE9LRU5TLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0dFUk1BTlksXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NJTkdBUE9SRSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19LT1JFQSxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUdfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUcsXG4gIENvaW5GZWF0dXJlLlNUQUtJTkcsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1QQ1YyLFxuICBDb2luRmVhdHVyZS5TSEEyNTZfV0lUSF9FQ0RTQV9UU1MsXG4gIENvaW5GZWF0dXJlLlRTU19TVVBQT1JUX0lOX1BST0dSRVNTLCAvLyBUT0RPOiByZW1vdmUgdGhpcyBhZnRlciBUU1MgaXMgZnVsbHkgb25ib2FyZGVkXG5dO1xuZXhwb3J0IGNvbnN0IENPU01PU19TSURFQ0hBSU5fRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5UU1MsXG4gIENvaW5GZWF0dXJlLlRTU19DT0xELFxuICBDb2luRmVhdHVyZS5NUENWMixcbiAgQ29pbkZlYXR1cmUuU0hBMjU2X1dJVEhfRUNEU0FfVFNTLFxuICBDb2luRmVhdHVyZS5DT1NNT1NfTElLRV9DT0lOUyxcbiAgQ29pbkZlYXR1cmUuUkVCVUlMRF9PTl9DVVNUT0RZX1NJR05JTkcsXG4gIENvaW5GZWF0dXJlLklOQ1JFQVNFRF9UWF9SRVFVRVNUX1JFQlVJTERfTElNSVQsXG4gIENvaW5GZWF0dXJlLkJVTEtfVFJBTlNBQ1RJT04sXG4gIENvaW5GZWF0dXJlLlNUVUNLX1RSQU5TQUNUSU9OX01BTkFHRU1FTlRfVFNTLFxuICBDb2luRmVhdHVyZS5BTFBIQU5VTUVSSUNfTUVNT19JRCxcbiAgQ29pbkZlYXR1cmUuU1VQUE9SVFNfVE9LRU5TLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JVTEtfVFJBTlNBQ1RJT04sXG5dO1xuZXhwb3J0IGNvbnN0IENPU01PU19TSURFQ0hBSU5fRkVBVFVSRVNfV0lUSF9TVEFLSU5HID0gW1xuICAuLi5DT1NNT1NfU0lERUNIQUlOX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5TVEFLSU5HLFxuICBDb2luRmVhdHVyZS5CVUxLX1NUQUtJTkdfVFJBTlNBQ1RJT04sXG5dO1xuZXhwb3J0IGNvbnN0IENPU01PU19UT0tFTl9GRUFUVVJFUyA9IFsuLi5DT1NNT1NfU0lERUNIQUlOX0ZFQVRVUkVTXTtcbmV4cG9ydCBjb25zdCBDT1NNT1NfVE9LRU5fRkVBVFVSRVNfV0lUSF9TVEFLSU5HID0gWy4uLkNPU01PU19TSURFQ0hBSU5fRkVBVFVSRVNfV0lUSF9TVEFLSU5HXTtcbmV4cG9ydCBjb25zdCBBVE9NX0ZFQVRVUkVTID0gWy4uLkNPU01PU19TSURFQ0hBSU5fRkVBVFVSRVNfV0lUSF9TVEFLSU5HLCBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVF07XG5leHBvcnQgY29uc3QgSU5KRUNUSVZFX0ZFQVRVUkVTID0gW1xuICAuLi5DT1NNT1NfU0lERUNIQUlOX0ZFQVRVUkVTX1dJVEhfU1RBS0lORyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TV0lUWkVSTEFORCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG5dO1xuZXhwb3J0IGNvbnN0IENPUkVVTV9GRUFUVVJFUyA9IFsuLi5DT1NNT1NfU0lERUNIQUlOX0ZFQVRVUkVTX1dJVEhfU1RBS0lORywgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlRdO1xuZXhwb3J0IGNvbnN0IFNFSV9GRUFUVVJFUyA9IFtcbiAgLi4uQ09TTU9TX1NJREVDSEFJTl9GRUFUVVJFU19XSVRIX1NUQUtJTkcsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5TVU5TRVRUSU5HLFxuXTtcbmV4cG9ydCBjb25zdCBUT0tFTl9GRUFUVVJFU19XSVRIX1NXSVNTID0gWy4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLCBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NXSVRaRVJMQU5EXTtcbmV4cG9ydCBjb25zdCBUT0tFTl9GRUFUVVJFU19XSVRIX0ZSQU5LRlVSVCA9IFsuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUywgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlRdO1xuZXhwb3J0IGNvbnN0IFRPS0VOX0ZFQVRVUkVTX1dJVEhfTllfR0VSTUFOWV9GUkFOS0ZVUlQgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX05FV19ZT1JLLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0dFUk1BTlksXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuXTtcbmV4cG9ydCBjb25zdCBHRU5FUklDX1RPS0VOX0ZFQVRVUkVTID0gW1xuICBDb2luRmVhdHVyZS5BQ0NPVU5UX01PREVMLFxuICBDb2luRmVhdHVyZS5SRVFVSVJFU19CSUdfTlVNQkVSLFxuICBDb2luRmVhdHVyZS5WQUxVRUxFU1NfVFJBTlNGRVIsXG4gIENvaW5GZWF0dXJlLlRSQU5TQUNUSU9OX0RBVEEsXG4gIENvaW5GZWF0dXJlLkdFTkVSSUNfVE9LRU4sXG5dO1xuZXhwb3J0IGNvbnN0IFRPTl9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLlNUQUtJTkcsXG4gIENvaW5GZWF0dXJlLlJFQlVJTERfT05fQ1VTVE9EWV9TSUdOSU5HLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19HRVJNQU5ZLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0tPUkVBLFxuICBDb2luRmVhdHVyZS5BTFBIQU5VTUVSSUNfTUVNT19JRCxcbiAgQ29pbkZlYXR1cmUuU1VQUE9SVFNfVE9LRU5TLFxuXTtcbmV4cG9ydCBjb25zdCBUT05fVE9LRU5fRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5UU1MsXG4gIENvaW5GZWF0dXJlLlRTU19DT0xELFxuICBDb2luRmVhdHVyZS5SRUJVSUxEX09OX0NVU1RPRFlfU0lHTklORyxcbiAgQ29pbkZlYXR1cmUuQUxQSEFOVU1FUklDX01FTU9fSUQsXG5dO1xuZXhwb3J0IGNvbnN0IEFSQkVUSF9GRUFUVVJFUyA9IFtcbiAgLi4uRVRIX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5UU1MsXG4gIENvaW5GZWF0dXJlLlRTU19DT0xELFxuICBDb2luRmVhdHVyZS5NUENWMixcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUdfQ09MRCxcbiAgQ29pbkZlYXR1cmUuRVZNX1dBTExFVCxcbiAgQ29pbkZlYXR1cmUuVVNFU19OT05fUEFDS0VEX0VOQ09ESU5HX0ZPUl9UWERBVEEsXG4gIENvaW5GZWF0dXJlLkVUSF9ST0xMVVBfQ0hBSU4sXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0dFUk1BTlksXG4gIENvaW5GZWF0dXJlLkVJUDE1NTksXG4gIENvaW5GZWF0dXJlLldBTExFVF9DT05ORUNUX0RFRkksXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHLFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5FUkMyMF9CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5TVFVDS19UUkFOU0FDVElPTl9NQU5BR0VNRU5UX1RTUyxcbl07XG5leHBvcnQgY29uc3QgT1BFVEhfRkVBVFVSRVMgPSBbXG4gIC4uLkVUSF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTVBDVjIsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHLFxuICBDb2luRmVhdHVyZS5FVk1fV0FMTEVULFxuICBDb2luRmVhdHVyZS5VU0VTX05PTl9QQUNLRURfRU5DT0RJTkdfRk9SX1RYREFUQSxcbiAgQ29pbkZlYXR1cmUuRVRIX1JPTExVUF9DSEFJTixcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLkVJUDE1NTksXG4gIENvaW5GZWF0dXJlLldBTExFVF9DT05ORUNUX0RFRkksXG4gIENvaW5GZWF0dXJlLkJVTEtfVFJBTlNBQ1RJT04sXG4gIENvaW5GZWF0dXJlLkVSQzIwX0JVTEtfVFJBTlNBQ1RJT04sXG4gIENvaW5GZWF0dXJlLlNUVUNLX1RSQU5TQUNUSU9OX01BTkFHRU1FTlRfVFNTLFxuXTtcbmV4cG9ydCBjb25zdCBaS0VUSF9GRUFUVVJFUyA9IFtcbiAgLi4uRVRIX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5NVUxUSVNJR19DT0xELFxuICBDb2luRmVhdHVyZS5NVUxUSVNJRyxcbiAgQ29pbkZlYXR1cmUuRVZNX1dBTExFVCxcbiAgQ29pbkZlYXR1cmUuVVNFU19OT05fUEFDS0VEX0VOQ09ESU5HX0ZPUl9UWERBVEEsXG4gIENvaW5GZWF0dXJlLkVUSF9ST0xMVVBfQ0hBSU4sXG4gIENvaW5GZWF0dXJlLkVJUDE1NTksXG5dO1xuXG5leHBvcnQgY29uc3QgWktTWU5DRVJBX0ZFQVRVUkVTID0gW1xuICAuLi5FVk1fRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlNIQVJFRF9FVk1fU0lHTklORyxcbiAgQ29pbkZlYXR1cmUuU0hBUkVEX0VWTV9TREssXG4gIENvaW5GZWF0dXJlLkVWTV9DT01QQVRJQkxFX0lNUyxcbiAgQ29pbkZlYXR1cmUuRVZNX0NPTVBBVElCTEVfVUksXG4gIENvaW5GZWF0dXJlLkVWTV9DT01QQVRJQkxFX1dQLFxuICBDb2luRmVhdHVyZS5TVVBQT1JUU19FUkMyMCxcbiAgQ29pbkZlYXR1cmUuRVZNX05PTl9CSVRHT19SRUNPVkVSWSxcbiAgQ29pbkZlYXR1cmUuRVZNX1VOU0lHTkVEX1NXRUVQX1JFQ09WRVJZLFxuICBDb2luRmVhdHVyZS5VU0VTX05PTl9QQUNLRURfRU5DT0RJTkdfRk9SX1RYREFUQSxcbiAgQ29pbkZlYXR1cmUuRVRIX1JPTExVUF9DSEFJTixcbiAgQ29pbkZlYXR1cmUuRVJDMjBfQlVMS19UUkFOU0FDVElPTixcbl07XG5cbmV4cG9ydCBjb25zdCBCRVJBX0ZFQVRVUkVTID0gW1xuICAuLi5FVEhfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1QQ1YyLFxuICBDb2luRmVhdHVyZS5FVk1fV0FMTEVULFxuICBDb2luRmVhdHVyZS5VU0VTX05PTl9QQUNLRURfRU5DT0RJTkdfRk9SX1RYREFUQSxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuU1RVQ0tfVFJBTlNBQ1RJT05fTUFOQUdFTUVOVF9UU1MsXG4gIENvaW5GZWF0dXJlLkVJUDE1NTksXG4gIENvaW5GZWF0dXJlLlNUQUtJTkcsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0dFUk1BTlksXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuRVJDMjBfQlVMS19UUkFOU0FDVElPTixcbl07XG5leHBvcnQgY29uc3QgT0FTX0ZFQVRVUkVTID0gW1xuICAuLi5FVEhfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1QQ1YyLFxuICBDb2luRmVhdHVyZS5FVk1fV0FMTEVULFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5TVFVDS19UUkFOU0FDVElPTl9NQU5BR0VNRU5UX1RTUyxcbiAgQ29pbkZlYXR1cmUuRUlQMTU1OSxcbiAgQ29pbkZlYXR1cmUuRVJDMjBfQlVMS19UUkFOU0FDVElPTixcbl07XG5leHBvcnQgY29uc3QgQ09SRURBT19GRUFUVVJFUyA9IFtcbiAgLi4uRVRIX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5UU1MsXG4gIENvaW5GZWF0dXJlLlRTU19DT0xELFxuICBDb2luRmVhdHVyZS5NUENWMixcbiAgQ29pbkZlYXR1cmUuRVZNX1dBTExFVCxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuU1RVQ0tfVFJBTlNBQ1RJT05fTUFOQUdFTUVOVF9UU1MsXG4gIENvaW5GZWF0dXJlLkVJUDE1NTksXG4gIENvaW5GZWF0dXJlLlNUQUtJTkcsXG4gIENvaW5GZWF0dXJlLkVJUDE1NTksXG4gIENvaW5GZWF0dXJlLkVSQzIwX0JVTEtfVFJBTlNBQ1RJT04sXG5dO1xuZXhwb3J0IGNvbnN0IFRFTVBPX0ZFQVRVUkVTID0gW1xuICAuLi5FVk1fRkVBVFVSRVMuZmlsdGVyKChmZWF0dXJlKSA9PiBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5FTlRFUlBSSVNFX1BBWVNfRkVFUyksXG4gIENvaW5GZWF0dXJlLkVWTV9LRVlSSU5HX1VOU1VQUE9SVEVELFxuXTtcbmV4cG9ydCBjb25zdCBURU1QT19GRUFUVVJFU19FWENMVURFX1NJTkdBUE9SRSA9IFRFTVBPX0ZFQVRVUkVTLmZpbHRlcihcbiAgKGZlYXR1cmUpID0+IGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFXG4pO1xuZXhwb3J0IGNvbnN0IEhZUEVSTElRVUlEX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUdfQ09MRCxcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTVBDVjIsXG4gIENvaW5GZWF0dXJlLlNIQTI1Nl9XSVRIX0VDRFNBX1RTUyxcbl07XG5leHBvcnQgY29uc3QgQVBFQ0hBSU5fRkVBVFVSRVMgPSBbXG4gIC4uLkVUSF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTVBDVjIsXG4gIENvaW5GZWF0dXJlLkVWTV9XQUxMRVQsXG4gIENvaW5GZWF0dXJlLkJVTEtfVFJBTlNBQ1RJT04sXG4gIENvaW5GZWF0dXJlLlNUVUNLX1RSQU5TQUNUSU9OX01BTkFHRU1FTlRfVFNTLFxuICBDb2luRmVhdHVyZS5FSVAxNTU5LFxuXTtcbmV4cG9ydCBjb25zdCBBUFRfRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5UU1MsXG4gIENvaW5GZWF0dXJlLlRTU19DT0xELFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5TVVBQT1JUU19UT0tFTlMsXG4gIENvaW5GZWF0dXJlLkVOVEVSUFJJU0VfUEFZU19GRUVTLFxuICBDb2luRmVhdHVyZS5UU1NfRU5URVJQUklTRV9QQVlTX0ZFRVMsXG4gIENvaW5GZWF0dXJlLlNUVUNLX1RSQU5TQUNUSU9OX01BTkFHRU1FTlRfVFNTLFxuXTtcblxuZXhwb3J0IGNvbnN0IElDUF9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1QQ1YyLFxuICBDb2luRmVhdHVyZS5TVVBQT1JUU19UT0tFTlMsXG4gIENvaW5GZWF0dXJlLlNIQTI1Nl9XSVRIX0VDRFNBX1RTUyxcbiAgQ29pbkZlYXR1cmUuUkVCVUlMRF9PTl9DVVNUT0RZX1NJR05JTkcsXG4gIENvaW5GZWF0dXJlLlRTU19WRVJJRllfVVNFX1NFUklBTElaRURfVFhfSEVYLFxuXTtcblxuZXhwb3J0IGNvbnN0IFNUQVJLTkVUX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTVBDVjIsXG4gIENvaW5GZWF0dXJlLlNIQTI1Nl9XSVRIX0VDRFNBX1RTUyxcbiAgQ29pbkZlYXR1cmUuUkVCVUlMRF9PTl9DVVNUT0RZX1NJR05JTkcsXG5dO1xuXG5leHBvcnQgY29uc3QgVEFPX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuU1RBS0lORyxcbiAgQ29pbkZlYXR1cmUuU1VQUE9SVFNfVE9LRU5TLFxuICBDb2luRmVhdHVyZS5TVFVDS19UUkFOU0FDVElPTl9NQU5BR0VNRU5UX1RTUyxcbl07XG5cbmV4cG9ydCBjb25zdCBUQU9fVE9LRU5fRkVBVFVSRVMgPSBbLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsIENvaW5GZWF0dXJlLlRTUywgQ29pbkZlYXR1cmUuVFNTX0NPTERdO1xuXG5leHBvcnQgY29uc3QgU09ORUlVTV9GRUFUVVJFUyA9IFtcbiAgLi4uRVRIX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5UU1MsXG4gIENvaW5GZWF0dXJlLlRTU19DT0xELFxuICBDb2luRmVhdHVyZS5NUENWMixcbiAgQ29pbkZlYXR1cmUuRVZNX1dBTExFVCxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuU1RVQ0tfVFJBTlNBQ1RJT05fTUFOQUdFTUVOVF9UU1MsXG4gIENvaW5GZWF0dXJlLkVJUDE1NTksXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHLFxuICBDb2luRmVhdHVyZS5NVUxUSVNJR19DT0xELFxuICBDb2luRmVhdHVyZS5NVUxUSVNJR19TVVBQT1JUX0dBVEVELFxuICBDb2luRmVhdHVyZS5VU0VTX05PTl9QQUNLRURfRU5DT0RJTkdfRk9SX1RYREFUQSxcbiAgQ29pbkZlYXR1cmUuRVJDMjBfQlVMS19UUkFOU0FDVElPTixcbl07XG5cbmV4cG9ydCBjb25zdCBQT0xZWF9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLlNUQUtJTkcsXG4gIENvaW5GZWF0dXJlLlNVUFBPUlRTX1RPS0VOUyxcbiAgQ29pbkZlYXR1cmUuU1RVQ0tfVFJBTlNBQ1RJT05fTUFOQUdFTUVOVF9UU1MsXG5dO1xuXG5leHBvcnQgY29uc3QgUE9MWVhfVE9LRU5fRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5UU1MsXG4gIENvaW5GZWF0dXJlLlRPS0VOX1NUQU5EQVJEX1VTRVNfQUxURVJOQVRJVkVfQUREUkVTU19JREVOVElGSUVSLFxuXTtcblxuZXhwb3J0IGNvbnN0IEVUSF9GRUFUVVJFU19XSVRIX0ZSQU5LRlVSVCA9IFsuLi5FVEhfRkVBVFVSRVMsIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJUXTtcbmV4cG9ydCBjb25zdCBFVEhfRkVBVFVSRVNfV0lUSF9HRVJNQU5ZID0gWy4uLkVUSF9GRUFUVVJFUywgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19HRVJNQU5ZXTtcbmV4cG9ydCBjb25zdCBFVEhfRkVBVFVSRVNfV0lUSF9GUkFOS0ZVUlRfR0VSTUFOWSA9IFsuLi5FVEhfRkVBVFVSRVNfV0lUSF9GUkFOS0ZVUlQsIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fR0VSTUFOWV07XG5leHBvcnQgY29uc3QgU09MX1RPS0VOX0ZFQVRVUkVTX1dJVEhfRlJBTktGVVJUID0gW1xuICAuLi5TT0xfVE9LRU5fRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuXTtcbmV4cG9ydCBjb25zdCBTT0xfVE9LRU5fRkVBVFVSRVNfV0lUSF9GUkFOS0ZVUlRfR0VSTUFOWSA9IFtcbiAgLi4uU09MX1RPS0VOX0ZFQVRVUkVTX1dJVEhfRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0dFUk1BTlksXG5dO1xuZXhwb3J0IGNvbnN0IFhMTV9UT0tFTl9GRUFUVVJFU19XSVRIX0ZSQU5LRlVSVCA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuXTtcbmV4cG9ydCBjb25zdCBaRVRBX0ZFQVRVUkVTID0gWy4uLkNPU01PU19TSURFQ0hBSU5fRkVBVFVSRVNfV0lUSF9TVEFLSU5HLCBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NJTkdBUE9SRV07XG5leHBvcnQgY29uc3QgWkVUQV9FVk1fRkVBVFVSRVMgPSBbLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFXTtcbmV4cG9ydCBjb25zdCBFVEhfRkVBVFVSRVNfV0lUSF9GUkFOS0ZVUlRfRVhDTFVERV9TSU5HQVBPUkUgPSBFVEhfRkVBVFVSRVNfV0lUSF9GUkFOS0ZVUlQuZmlsdGVyKFxuICAoZmVhdHVyZSkgPT4gZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TSU5HQVBPUkVcbik7XG5leHBvcnQgY29uc3QgVElBX0ZFQVRVUkVTID0gW1xuICAuLi5DT1NNT1NfU0lERUNIQUlOX0ZFQVRVUkVTX1dJVEhfU1RBS0lORyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TV0lUWkVSTEFORCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG5dO1xuZXhwb3J0IGNvbnN0IFdDVF9GRUFUVVJFUyA9IFsuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUywgQ29pbkZlYXR1cmUuU1RBS0lORywgQ29pbkZlYXR1cmUuV0FMTEVUX0NPTk5FQ1RfREVGSV07XG5leHBvcnQgY29uc3QgQkVSQV9CR1RfRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19HRVJNQU5ZLFxuXTtcblxuZXhwb3J0IGNvbnN0IFZFVF9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLkJVTEtfVFJBTlNBQ1RJT04sXG4gIENvaW5GZWF0dXJlLlNVUFBPUlRTX1RPS0VOUyxcbiAgQ29pbkZlYXR1cmUuRU5URVJQUklTRV9QQVlTX0ZFRVMsXG4gIENvaW5GZWF0dXJlLlRTU19FTlRFUlBSSVNFX1BBWVNfRkVFUyxcbiAgQ29pbkZlYXR1cmUuRkVFU19QQUlEX1dJVEhfVE9LRU4sXG4gIENvaW5GZWF0dXJlLk1QQ1YyLFxuXTtcbmV4cG9ydCBjb25zdCBWRVRfVE9LRU5fRkVBVFVSRVMgPSBWRVRfRkVBVFVSRVMuZmlsdGVyKChmZWF0dXJlKSA9PiBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5TVVBQT1JUU19UT0tFTlMpO1xuXG5leHBvcnQgY29uc3QgRVZNX05PTl9FSVAxNTU5X0ZFQVRVUkVTID0gWy4uLkVWTV9GRUFUVVJFUy5maWx0ZXIoKGZlYXR1cmUpID0+IGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkVJUDE1NTkpXTtcblxuZXhwb3J0IGNvbnN0IFhEQ19GRUFUVVJFUyA9IFtcbiAgLi4uRVZNX05PTl9FSVAxNTU5X0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5FUkMyMF9CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5UU1NfVkVSSUZZX1VTRV9TRVJJQUxJWkVEX1RYX0hFWCxcbl07XG5leHBvcnQgY29uc3QgWERDX1RPS0VOX0ZFQVRVUkVTID0gWy4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLCBDb2luRmVhdHVyZS5UU1NfVkVSSUZZX1VTRV9TRVJJQUxJWkVEX1RYX0hFWF07XG5cbmV4cG9ydCBjb25zdCBTR0JfRkVBVFVSRVMgPSBbLi4uRVZNX0ZFQVRVUkVTLCBDb2luRmVhdHVyZS5FUkMyMF9CVUxLX1RSQU5TQUNUSU9OXTtcblxuZXhwb3J0IGNvbnN0IEZMUl9GRUFUVVJFUyA9IFtcbiAgLi4uRVZNX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5VU0VTX05PTl9QQUNLRURfRU5DT0RJTkdfRk9SX1RYREFUQSxcbiAgQ29pbkZlYXR1cmUuRVJDMjBfQlVMS19UUkFOU0FDVElPTixcbl07XG5cbmV4cG9ydCBjb25zdCBXRkxSX0ZFQVRVUkVTID0gWy4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLCBDb2luRmVhdHVyZS5TVEFCTEVDT0lOLCBDb2luRmVhdHVyZS5TVEFLSU5HXTtcblxuZXhwb3J0IGNvbnN0IFdFTUlYX0ZFQVRVUkVTID0gWy4uLkVWTV9GRUFUVVJFUywgQ29pbkZlYXR1cmUuRVJDMjBfQlVMS19UUkFOU0FDVElPTl07XG5cbmV4cG9ydCBjb25zdCBJT1RBX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CVUxLX1RSQU5TQUNUSU9OLFxuXTtcblxuLy8gVE9ETzogaHR0cHM6Ly9iaXRnb2luYy5hdGxhc3NpYW4ubmV0L2Jyb3dzZS9DT0lOLTU4NzBcbmV4cG9ydCBjb25zdCBDQU5UT05fRkVBVFVSRVMgPSBbXG4gIENvaW5GZWF0dXJlLlRSQU5TQUNUSU9OX0RBVEEsXG4gIENvaW5GZWF0dXJlLlJFUVVJUkVTX0JJR19OVU1CRVIsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFksXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fVFJVU1QsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fTUVOQV9GWkUsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fQ1VTVE9EWV9NRU5BX0ZaRSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TSU5HQVBPUkUsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRVVST1BFX0FQUyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fSU5ESUEsXG4gIENvaW5GZWF0dXJlLlNVUFBPUlRTX09ORV9TVEVQX0RFUE9TSVQsXG4gIENvaW5GZWF0dXJlLlJFUVVJUkVTX1dBTExFVF9JTklUSUFMSVpBVElPTl9UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuUkVRVUlSRVNfREVQT1NJVF9BQ0NFUFRBTkNFX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5BTFBIQU5VTUVSSUNfTUVNT19JRCxcbiAgQ29pbkZlYXR1cmUuU1VQUE9SVFNfVE9LRU5TLFxuXTtcblxuZXhwb3J0IGNvbnN0IENBTlRPTl9UT0tFTl9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLlNVUFBPUlRTX09ORV9TVEVQX0RFUE9TSVQsXG4gIENvaW5GZWF0dXJlLlJFUVVJUkVTX1dBTExFVF9JTklUSUFMSVpBVElPTl9UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuUkVRVUlSRVNfREVQT1NJVF9BQ0NFUFRBTkNFX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5BTFBIQU5VTUVSSUNfTUVNT19JRCxcbl07XG5cbmV4cG9ydCBjb25zdCBUQ0FOVE9OX0ZFQVRVUkVTID0gW1xuICAuLi5DQU5UT05fRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlVOU1BFTlRfTU9ERUwsXG4gIENvaW5GZWF0dXJlLk1FUkdFX1VUWE9TLFxuICBDb2luRmVhdHVyZS5GQU5PVVRfVVRYT1MsXG4gIENvaW5GZWF0dXJlLkJZT1ZfVkFMSURBVE9SLFxuXTtcblxuZXhwb3J0IGNvbnN0IEVSQzc5ODRfVE9LRU5fRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5UU1MsXG4gIENvaW5GZWF0dXJlLlRTU19DT0xELFxuICBDb2luRmVhdHVyZS5DT05GSURFTlRJQUxfVFJBTlNGRVIsXG4gIENvaW5GZWF0dXJlLlJFUVVJUkVTX0RFQ1JZUFRJT05fREVMRUdBVElPTixcbl07XG5cbmV4cG9ydCBjb25zdCBFVEhfRkVBVFVSRVNfRVhDTFVERV9FVVJPUEUgPSBFVEhfRkVBVFVSRVMuZmlsdGVyKFxuICAoZmVhdHVyZSkgPT4gZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19FVVJPUEVfQVBTICYmIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJUXG4pO1xuZXhwb3J0IGNvbnN0IFBPTFlHT05fVE9LRU5fRkVBVFVSRVNfRVhDTFVERV9FVVJPUEUgPSBQT0xZR09OX1RPS0VOX0ZFQVRVUkVTLmZpbHRlcihcbiAgKGZlYXR1cmUpID0+IGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRVVST1BFX0FQUyAmJiBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVFxuKTtcbmV4cG9ydCBjb25zdCBTT0xfVE9LRU5fRkVBVFVSRVNfRVhDTFVERV9FVVJPUEUgPSBTT0xfVE9LRU5fRkVBVFVSRVMuZmlsdGVyKFxuICAoZmVhdHVyZSkgPT4gZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19FVVJPUEVfQVBTICYmIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJUXG4pO1xuZXhwb3J0IGNvbnN0IEJTQ19UT0tFTl9GRUFUVVJFU19FWENMVURFX0VVUk9QRSA9IEJTQ19UT0tFTl9GRUFUVVJFUy5maWx0ZXIoXG4gIChmZWF0dXJlKSA9PiBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0VVUk9QRV9BUFMgJiYgZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlRcbik7XG5leHBvcnQgY29uc3QgVE9OX1RPS0VOX0ZFQVRVUkVTX0VYQ0xVREVfRVVST1BFID0gVE9OX1RPS0VOX0ZFQVRVUkVTLmZpbHRlcihcbiAgKGZlYXR1cmUpID0+IGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRVVST1BFX0FQUyAmJiBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVFxuKTtcbmV4cG9ydCBjb25zdCBURU1QT19GRUFUVVJFU19FWENMVURFX0VVUk9QRSA9IFRFTVBPX0ZFQVRVUkVTLmZpbHRlcihcbiAgKGZlYXR1cmUpID0+IGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRVVST1BFX0FQUyAmJiBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVFxuKTtcbmV4cG9ydCBjb25zdCBBUFRfRkVBVFVSRVNfRVhDTFVERV9FVVJPUEUgPSBBUFRfRkVBVFVSRVMuZmlsdGVyKFxuICAoZmVhdHVyZSkgPT4gZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19FVVJPUEVfQVBTICYmIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJUXG4pO1xuIl19