@eulerxyz/euler-v2-sdk 0.1.3-beta → 0.2.1-beta

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 (237) hide show
  1. package/README.md +24 -25
  2. package/dist/src/entities/Account.d.ts +50 -49
  3. package/dist/src/entities/Account.d.ts.map +1 -1
  4. package/dist/src/entities/Account.js +80 -66
  5. package/dist/src/entities/Account.js.map +1 -1
  6. package/dist/src/entities/ERC4626Vault.d.ts +6 -5
  7. package/dist/src/entities/ERC4626Vault.d.ts.map +1 -1
  8. package/dist/src/entities/ERC4626Vault.js +13 -6
  9. package/dist/src/entities/ERC4626Vault.js.map +1 -1
  10. package/dist/src/entities/EVault.d.ts +30 -15
  11. package/dist/src/entities/EVault.d.ts.map +1 -1
  12. package/dist/src/entities/EVault.js +66 -14
  13. package/dist/src/entities/EVault.js.map +1 -1
  14. package/dist/src/entities/EulerEarn.d.ts +3 -0
  15. package/dist/src/entities/EulerEarn.d.ts.map +1 -1
  16. package/dist/src/entities/EulerEarn.js +12 -3
  17. package/dist/src/entities/EulerEarn.js.map +1 -1
  18. package/dist/src/entities/EulerLabels.d.ts +74 -0
  19. package/dist/src/entities/EulerLabels.d.ts.map +1 -1
  20. package/dist/src/entities/Portfolio.d.ts +20 -19
  21. package/dist/src/entities/Portfolio.d.ts.map +1 -1
  22. package/dist/src/entities/Portfolio.js +34 -17
  23. package/dist/src/entities/Portfolio.js.map +1 -1
  24. package/dist/src/entities/Wallet.d.ts +1 -0
  25. package/dist/src/entities/Wallet.d.ts.map +1 -1
  26. package/dist/src/entities/Wallet.js +2 -2
  27. package/dist/src/entities/Wallet.js.map +1 -1
  28. package/dist/src/index.d.ts +4 -1
  29. package/dist/src/index.d.ts.map +1 -1
  30. package/dist/src/index.js +4 -1
  31. package/dist/src/index.js.map +1 -1
  32. package/dist/src/plugins/keyring/keyringPlugin.d.ts.map +1 -1
  33. package/dist/src/plugins/keyring/keyringPlugin.js +59 -10
  34. package/dist/src/plugins/keyring/keyringPlugin.js.map +1 -1
  35. package/dist/src/plugins/pyth/pythPlugin.d.ts.map +1 -1
  36. package/dist/src/plugins/pyth/pythPlugin.js +132 -11
  37. package/dist/src/plugins/pyth/pythPlugin.js.map +1 -1
  38. package/dist/src/plugins/types.d.ts +4 -7
  39. package/dist/src/plugins/types.d.ts.map +1 -1
  40. package/dist/src/plugins/types.js.map +1 -1
  41. package/dist/src/sdk/buildSDK.d.ts +10 -4
  42. package/dist/src/sdk/buildSDK.d.ts.map +1 -1
  43. package/dist/src/sdk/buildSDK.js +359 -110
  44. package/dist/src/sdk/buildSDK.js.map +1 -1
  45. package/dist/src/sdk/config.d.ts +74 -0
  46. package/dist/src/sdk/config.d.ts.map +1 -0
  47. package/dist/src/sdk/config.js +187 -0
  48. package/dist/src/sdk/config.js.map +1 -0
  49. package/dist/src/sdk/defaultConfig.d.ts +5 -2
  50. package/dist/src/sdk/defaultConfig.d.ts.map +1 -1
  51. package/dist/src/sdk/defaultConfig.js +21 -18
  52. package/dist/src/sdk/defaultConfig.js.map +1 -1
  53. package/dist/src/sdk/sdk.d.ts +4 -3
  54. package/dist/src/sdk/sdk.d.ts.map +1 -1
  55. package/dist/src/sdk/sdk.js +2 -4
  56. package/dist/src/sdk/sdk.js.map +1 -1
  57. package/dist/src/services/accountService/accountService.d.ts.map +1 -1
  58. package/dist/src/services/accountService/accountService.js +10 -7
  59. package/dist/src/services/accountService/accountService.js.map +1 -1
  60. package/dist/src/services/accountService/accountServiceConfig.d.ts +1 -1
  61. package/dist/src/services/accountService/accountServiceConfig.d.ts.map +1 -1
  62. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.d.ts +2 -2
  63. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.d.ts.map +1 -1
  64. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.js +22 -17
  65. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.js.map +1 -1
  66. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.d.ts +1 -1
  67. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.d.ts.map +1 -1
  68. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.js +16 -17
  69. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.js.map +1 -1
  70. package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.d.ts.map +1 -1
  71. package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.js +58 -53
  72. package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.js.map +1 -1
  73. package/dist/src/services/deploymentService/deploymentService.d.ts +1 -0
  74. package/dist/src/services/deploymentService/deploymentService.d.ts.map +1 -1
  75. package/dist/src/services/deploymentService/deploymentService.js.map +1 -1
  76. package/dist/src/services/eulerLabelsService/eulerLabelsService.d.ts +18 -1
  77. package/dist/src/services/eulerLabelsService/eulerLabelsService.d.ts.map +1 -1
  78. package/dist/src/services/eulerLabelsService/eulerLabelsService.js +373 -30
  79. package/dist/src/services/eulerLabelsService/eulerLabelsService.js.map +1 -1
  80. package/dist/src/services/executionService/encode.d.ts +15 -11
  81. package/dist/src/services/executionService/encode.d.ts.map +1 -1
  82. package/dist/src/services/executionService/encode.js +242 -23
  83. package/dist/src/services/executionService/encode.js.map +1 -1
  84. package/dist/src/services/executionService/execute.d.ts +2 -1
  85. package/dist/src/services/executionService/execute.d.ts.map +1 -1
  86. package/dist/src/services/executionService/execute.js +10 -6
  87. package/dist/src/services/executionService/execute.js.map +1 -1
  88. package/dist/src/services/executionService/executionService.d.ts +45 -7
  89. package/dist/src/services/executionService/executionService.d.ts.map +1 -1
  90. package/dist/src/services/executionService/executionService.js +325 -20
  91. package/dist/src/services/executionService/executionService.js.map +1 -1
  92. package/dist/src/services/executionService/executionServiceTypes.d.ts +109 -1
  93. package/dist/src/services/executionService/executionServiceTypes.d.ts.map +1 -1
  94. package/dist/src/services/executionService/executionServiceTypes.js.map +1 -1
  95. package/dist/src/services/executionService/index.d.ts +1 -1
  96. package/dist/src/services/executionService/index.d.ts.map +1 -1
  97. package/dist/src/services/executionService/index.js.map +1 -1
  98. package/dist/src/services/executionService/simulate.d.ts.map +1 -1
  99. package/dist/src/services/executionService/simulate.js +3 -2
  100. package/dist/src/services/executionService/simulate.js.map +1 -1
  101. package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3AdapterTypes.d.ts +1 -1
  102. package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3AdapterTypes.d.ts.map +1 -1
  103. package/dist/src/services/oracleAdapterService/oracleAdapterService.d.ts +5 -0
  104. package/dist/src/services/oracleAdapterService/oracleAdapterService.d.ts.map +1 -1
  105. package/dist/src/services/oracleAdapterService/oracleAdapterService.js +38 -11
  106. package/dist/src/services/oracleAdapterService/oracleAdapterService.js.map +1 -1
  107. package/dist/src/services/priceService/backendClient.d.ts +7 -11
  108. package/dist/src/services/priceService/backendClient.d.ts.map +1 -1
  109. package/dist/src/services/priceService/backendClient.js +7 -14
  110. package/dist/src/services/priceService/backendClient.js.map +1 -1
  111. package/dist/src/services/priceService/index.d.ts +2 -2
  112. package/dist/src/services/priceService/index.d.ts.map +1 -1
  113. package/dist/src/services/priceService/index.js +1 -1
  114. package/dist/src/services/priceService/index.js.map +1 -1
  115. package/dist/src/services/priceService/priceService.d.ts +21 -18
  116. package/dist/src/services/priceService/priceService.d.ts.map +1 -1
  117. package/dist/src/services/priceService/priceService.js +61 -101
  118. package/dist/src/services/priceService/priceService.js.map +1 -1
  119. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.d.ts +4 -1
  120. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.d.ts.map +1 -1
  121. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.js +20 -4
  122. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.js.map +1 -1
  123. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.d.ts.map +1 -1
  124. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.js +5 -2
  125. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.js.map +1 -1
  126. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.d.ts +2 -0
  127. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.d.ts.map +1 -1
  128. package/dist/src/services/rewardsService/rewardsService.d.ts +6 -1
  129. package/dist/src/services/rewardsService/rewardsService.d.ts.map +1 -1
  130. package/dist/src/services/rewardsService/rewardsService.js +128 -3
  131. package/dist/src/services/rewardsService/rewardsService.js.map +1 -1
  132. package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts +5 -3
  133. package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts.map +1 -1
  134. package/dist/src/services/swapService/swapService.d.ts +4 -6
  135. package/dist/src/services/swapService/swapService.d.ts.map +1 -1
  136. package/dist/src/services/swapService/swapService.js +90 -99
  137. package/dist/src/services/swapService/swapService.js.map +1 -1
  138. package/dist/src/services/swapService/swapVerification.d.ts +28 -0
  139. package/dist/src/services/swapService/swapVerification.d.ts.map +1 -0
  140. package/dist/src/services/swapService/swapVerification.js +138 -0
  141. package/dist/src/services/swapService/swapVerification.js.map +1 -0
  142. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.d.ts +1 -1
  143. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.d.ts.map +1 -1
  144. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.js +6 -13
  145. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.js.map +1 -1
  146. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.d.ts +1 -1
  147. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.d.ts.map +1 -1
  148. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.js +69 -51
  149. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.js.map +1 -1
  150. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.d.ts +5 -2
  151. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.d.ts.map +1 -1
  152. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.js +50 -18
  153. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.js.map +1 -1
  154. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.d.ts +1 -1
  155. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.d.ts.map +1 -1
  156. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.js +106 -111
  157. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.js.map +1 -1
  158. package/dist/src/services/vaults/eVaultService/eVaultService.d.ts +4 -4
  159. package/dist/src/services/vaults/eVaultService/eVaultService.d.ts.map +1 -1
  160. package/dist/src/services/vaults/eVaultService/eVaultService.js +56 -57
  161. package/dist/src/services/vaults/eVaultService/eVaultService.js.map +1 -1
  162. package/dist/src/services/vaults/eVaultService/eVaultServiceConfig.d.ts +1 -1
  163. package/dist/src/services/vaults/eVaultService/eVaultServiceConfig.d.ts.map +1 -1
  164. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.d.ts +1 -1
  165. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.d.ts.map +1 -1
  166. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.js +22 -21
  167. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.js.map +1 -1
  168. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.d.ts.map +1 -1
  169. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.js +27 -32
  170. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.js.map +1 -1
  171. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.d.ts +1 -1
  172. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.d.ts.map +1 -1
  173. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.js +113 -72
  174. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.js.map +1 -1
  175. package/dist/src/services/vaults/eulerEarnService/eulerEarnService.d.ts +5 -5
  176. package/dist/src/services/vaults/eulerEarnService/eulerEarnService.d.ts.map +1 -1
  177. package/dist/src/services/vaults/eulerEarnService/eulerEarnService.js +30 -28
  178. package/dist/src/services/vaults/eulerEarnService/eulerEarnService.js.map +1 -1
  179. package/dist/src/services/vaults/eulerEarnService/eulerEarnServiceConfig.d.ts +1 -1
  180. package/dist/src/services/vaults/eulerEarnService/eulerEarnServiceConfig.d.ts.map +1 -1
  181. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.d.ts +1 -1
  182. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.d.ts.map +1 -1
  183. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.js +10 -7
  184. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.js.map +1 -1
  185. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.d.ts.map +1 -1
  186. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.js +6 -8
  187. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.js.map +1 -1
  188. package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.d.ts +2 -2
  189. package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.d.ts.map +1 -1
  190. package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.js +13 -18
  191. package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.js.map +1 -1
  192. package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeV3Adapter.d.ts +1 -1
  193. package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeV3Adapter.d.ts.map +1 -1
  194. package/dist/src/services/vaults/vaultMetaService/vaultMetaService.d.ts +3 -3
  195. package/dist/src/services/vaults/vaultMetaService/vaultMetaService.d.ts.map +1 -1
  196. package/dist/src/services/vaults/vaultMetaService/vaultMetaService.js +31 -32
  197. package/dist/src/services/vaults/vaultMetaService/vaultMetaService.js.map +1 -1
  198. package/dist/src/services/walletService/adapters/walletOnchainAdapter.d.ts +5 -1
  199. package/dist/src/services/walletService/adapters/walletOnchainAdapter.d.ts.map +1 -1
  200. package/dist/src/services/walletService/adapters/walletOnchainAdapter.js +181 -40
  201. package/dist/src/services/walletService/adapters/walletOnchainAdapter.js.map +1 -1
  202. package/dist/src/services/walletService/walletService.d.ts +1 -1
  203. package/dist/src/services/walletService/walletService.d.ts.map +1 -1
  204. package/dist/src/services/walletService/walletService.js +4 -3
  205. package/dist/src/services/walletService/walletService.js.map +1 -1
  206. package/dist/src/utils/accountComputations.d.ts +14 -13
  207. package/dist/src/utils/accountComputations.d.ts.map +1 -1
  208. package/dist/src/utils/accountComputations.js +59 -37
  209. package/dist/src/utils/accountComputations.js.map +1 -1
  210. package/dist/src/utils/buildQuery.d.ts +1 -0
  211. package/dist/src/utils/buildQuery.d.ts.map +1 -1
  212. package/dist/src/utils/buildQuery.js +1 -1
  213. package/dist/src/utils/buildQuery.js.map +1 -1
  214. package/dist/src/utils/entityDiagnostics.d.ts +75 -12
  215. package/dist/src/utils/entityDiagnostics.d.ts.map +1 -1
  216. package/dist/src/utils/entityDiagnostics.js +85 -19
  217. package/dist/src/utils/entityDiagnostics.js.map +1 -1
  218. package/dist/src/utils/eulerLabels.d.ts +34 -0
  219. package/dist/src/utils/eulerLabels.d.ts.map +1 -0
  220. package/dist/src/utils/eulerLabels.js +156 -0
  221. package/dist/src/utils/eulerLabels.js.map +1 -0
  222. package/dist/src/utils/healthCheckSets.d.ts +14 -0
  223. package/dist/src/utils/healthCheckSets.d.ts.map +1 -0
  224. package/dist/src/utils/healthCheckSets.js +174 -0
  225. package/dist/src/utils/healthCheckSets.js.map +1 -0
  226. package/dist/src/utils/normalization.d.ts +10 -4
  227. package/dist/src/utils/normalization.d.ts.map +1 -1
  228. package/dist/src/utils/normalization.js +38 -11
  229. package/dist/src/utils/normalization.js.map +1 -1
  230. package/dist/src/utils/oracle.d.ts.map +1 -1
  231. package/dist/src/utils/oracle.js +12 -1
  232. package/dist/src/utils/oracle.js.map +1 -1
  233. package/dist/src/utils/parsing.d.ts +2 -2
  234. package/dist/src/utils/parsing.d.ts.map +1 -1
  235. package/dist/src/utils/parsing.js +12 -22
  236. package/dist/src/utils/parsing.js.map +1 -1
  237. package/package.json +1 -1
@@ -1,12 +1,23 @@
1
- import { encodeFunctionData, getAddress, maxUint48, maxUint160, maxUint256, zeroAddress, } from "viem";
1
+ import { encodeFunctionData, erc20Abi, getAddress, maxUint160, maxUint256, zeroAddress, } from "viem";
2
2
  import { ethereumVaultConnectorAbi } from "./abis/ethereumVaultConnectorAbi.js";
3
3
  import { eVaultAbi } from "./abis/eVaultAbi.js";
4
4
  import { permit2PermitAbi } from "./abis/permit2PermitAbi.js";
5
5
  import { swapVerifierAbi } from "./abis/swapVerifierAbi.js";
6
6
  import { PERMIT2_TYPES, } from "./executionServiceTypes.js";
7
+ import { SwapperMode, SwapVerificationType, } from "../swapService/swapServiceTypes.js";
8
+ import { getSwapInputAmount } from "../swapService/swapVerification.js";
7
9
  const PERMIT2_SIG_WINDOW = 60n * 60n;
8
10
  const INTEREST_CUSHION_NUMERATOR = 10001n;
9
11
  const INTEREST_CUSHION_DENOMINATOR = 10000n;
12
+ const wrappedNativeAbi = [
13
+ {
14
+ type: "function",
15
+ name: "deposit",
16
+ inputs: [],
17
+ outputs: [],
18
+ stateMutability: "payable",
19
+ },
20
+ ];
10
21
  export function encodeBatch(items) {
11
22
  return encodeFunctionData({
12
23
  abi: ethereumVaultConnectorAbi,
@@ -86,6 +97,32 @@ export function encodeTransferFromMax(vault, from, to) {
86
97
  }),
87
98
  };
88
99
  }
100
+ function encodeNativeWrap(wrappedNativeInfo, userAddr) {
101
+ if (!wrappedNativeInfo || wrappedNativeInfo.nativeAmount <= 0n)
102
+ return [];
103
+ return [
104
+ {
105
+ targetContract: wrappedNativeInfo.wrappedTokenAddress,
106
+ onBehalfOfAccount: userAddr,
107
+ value: wrappedNativeInfo.nativeAmount,
108
+ data: encodeFunctionData({
109
+ abi: wrappedNativeAbi,
110
+ functionName: "deposit",
111
+ args: [],
112
+ }),
113
+ },
114
+ {
115
+ targetContract: wrappedNativeInfo.wrappedTokenAddress,
116
+ onBehalfOfAccount: userAddr,
117
+ value: 0n,
118
+ data: encodeFunctionData({
119
+ abi: erc20Abi,
120
+ functionName: "transfer",
121
+ args: [userAddr, wrappedNativeInfo.nativeAmount],
122
+ }),
123
+ },
124
+ ];
125
+ }
89
126
  function encodeCollateralShareTransfer(evc, vault, receiver, source) {
90
127
  if (source.shares <= 0n || getAddress(source.from) === getAddress(receiver)) {
91
128
  return [];
@@ -109,15 +146,16 @@ function encodeCollateralShareTransfer(evc, vault, receiver, source) {
109
146
  export function getPermit2TypedData(permit2, args) {
110
147
  const nowInSeconds = () => BigInt(Math.floor(Date.now() / 1000));
111
148
  const { chainId, token, amount, spender, nonce, sigDeadline, expiration } = args;
149
+ const defaultDeadline = nowInSeconds() + PERMIT2_SIG_WINDOW;
112
150
  const permitSingle = {
113
151
  details: {
114
152
  token,
115
153
  amount: amount > maxUint160 ? maxUint160 : amount,
116
- expiration: expiration ?? Number(maxUint48),
154
+ expiration: expiration ?? Number(defaultDeadline),
117
155
  nonce,
118
156
  },
119
157
  spender,
120
- sigDeadline: sigDeadline ?? nowInSeconds() + PERMIT2_SIG_WINDOW,
158
+ sigDeadline: sigDeadline ?? defaultDeadline,
121
159
  };
122
160
  return {
123
161
  domain: {
@@ -130,7 +168,7 @@ export function getPermit2TypedData(permit2, args) {
130
168
  message: permitSingle,
131
169
  };
132
170
  }
133
- export function encodeDeposit(evc, permit2, { chainId, vault, amount, receiver, owner, enableCollateral, permit2: permit2Data, }) {
171
+ export function encodeDeposit(evc, permit2, { chainId, vault, amount, receiver, owner, enableCollateral, wrappedNativeInfo, permit2: permit2Data, }) {
134
172
  const items = [];
135
173
  if (permit2Data) {
136
174
  items.push(encodePermit2Call(permit2, {
@@ -140,6 +178,7 @@ export function encodeDeposit(evc, permit2, { chainId, vault, amount, receiver,
140
178
  signature: permit2Data.signature,
141
179
  }));
142
180
  }
181
+ items.push(...encodeNativeWrap(wrappedNativeInfo, owner));
143
182
  if (enableCollateral) {
144
183
  items.push(encodeEnableCollateral(evc, receiver, vault));
145
184
  }
@@ -155,7 +194,7 @@ export function encodeDeposit(evc, permit2, { chainId, vault, amount, receiver,
155
194
  });
156
195
  return items;
157
196
  }
158
- export function encodeMint(evc, permit2, { chainId, vault, shares, receiver, owner, enableCollateral, permit2: permit2Data, }) {
197
+ export function encodeMint(evc, permit2, { chainId, vault, shares, receiver, owner, enableCollateral, wrappedNativeInfo, permit2: permit2Data, }) {
159
198
  const items = [];
160
199
  if (permit2Data) {
161
200
  items.push(encodePermit2Call(permit2, {
@@ -165,6 +204,7 @@ export function encodeMint(evc, permit2, { chainId, vault, shares, receiver, own
165
204
  signature: permit2Data.signature,
166
205
  }));
167
206
  }
207
+ items.push(...encodeNativeWrap(wrappedNativeInfo, owner));
168
208
  if (enableCollateral) {
169
209
  items.push(encodeEnableCollateral(evc, receiver, vault));
170
210
  }
@@ -215,7 +255,7 @@ export function encodeRedeem(evc, { vault, shares, receiver, owner, disableColla
215
255
  return items;
216
256
  }
217
257
  export function encodeBorrow(evc, permit2, args) {
218
- const { vault, amount, owner, borrowAccount, receiver, enableController = true, currentController, collateralVault, collateralAmount, enableCollateral = true, collateralPermit2, collateralShareSource, } = args;
258
+ const { vault, amount, owner, borrowAccount, receiver, enableController = true, currentController, collateralVault, collateralAmount, enableCollateral = true, collateralPermit2, collateralShareSource, collateralWrappedNativeInfo, } = args;
219
259
  const items = [];
220
260
  if (collateralVault && collateralShareSource) {
221
261
  items.push(...encodeCollateralShareTransfer(evc, collateralVault, borrowAccount, collateralShareSource));
@@ -233,6 +273,7 @@ export function encodeBorrow(evc, permit2, args) {
233
273
  receiver: borrowAccount,
234
274
  owner,
235
275
  enableCollateral,
276
+ wrappedNativeInfo: collateralWrappedNativeInfo,
236
277
  permit2: collateralPermit2,
237
278
  }));
238
279
  }
@@ -291,7 +332,7 @@ export function encodePullDebt(evc, { vault, amount, from, to, enableController
291
332
  });
292
333
  return items;
293
334
  }
294
- export function encodeMultiplyWithSwap(evc, permit2, { chainId, collateralVault, collateralAmount, liabilityVault, liabilityAmount, longVault, owner, receiver, enableCollateral = true, enableCollateralLong = true, currentController, enableController = true, collateralPermit2, collateralShareSource, swapQuote, }) {
335
+ export function encodeMultiplyWithSwap(evc, permit2, { chainId, collateralVault, collateralAmount, liabilityVault, liabilityAmount, longVault, owner, receiver, enableCollateral = true, enableCollateralLong = true, currentController, enableController = true, collateralPermit2, collateralShareSource, collateralWrappedNativeInfo, swapQuote, }) {
295
336
  const items = [];
296
337
  if (collateralPermit2) {
297
338
  items.push(encodePermit2Call(permit2, {
@@ -311,6 +352,7 @@ export function encodeMultiplyWithSwap(evc, permit2, { chainId, collateralVault,
311
352
  if (enableCollateral) {
312
353
  items.push(encodeEnableCollateral(evc, receiver, collateralVault));
313
354
  }
355
+ items.push(...encodeNativeWrap(collateralWrappedNativeInfo, owner));
314
356
  items.push({
315
357
  targetContract: collateralVault,
316
358
  onBehalfOfAccount: owner,
@@ -358,7 +400,7 @@ export function encodeMultiplyWithSwap(evc, permit2, { chainId, collateralVault,
358
400
  }
359
401
  return items;
360
402
  }
361
- export function encodeMultiplySameAsset(evc, permit2, { chainId, collateralVault, collateralAmount, liabilityVault, liabilityAmount, longVault, owner, receiver, enableCollateral = true, enableCollateralLong = true, enableController = true, currentController, collateralPermit2, collateralShareSource, }) {
403
+ export function encodeMultiplySameAsset(evc, permit2, { chainId, collateralVault, collateralAmount, liabilityVault, liabilityAmount, longVault, owner, receiver, enableCollateral = true, enableCollateralLong = true, enableController = true, currentController, collateralPermit2, collateralShareSource, collateralWrappedNativeInfo, }) {
362
404
  const items = [];
363
405
  if (collateralPermit2) {
364
406
  items.push(encodePermit2Call(permit2, {
@@ -378,6 +420,7 @@ export function encodeMultiplySameAsset(evc, permit2, { chainId, collateralVault
378
420
  if (enableCollateral) {
379
421
  items.push(encodeEnableCollateral(evc, receiver, collateralVault));
380
422
  }
423
+ items.push(...encodeNativeWrap(collateralWrappedNativeInfo, owner));
381
424
  items.push({
382
425
  targetContract: collateralVault,
383
426
  onBehalfOfAccount: owner,
@@ -549,11 +592,11 @@ export function encodeRepayFromDeposit({ liabilityVault, liabilityAsset, liabili
549
592
  }
550
593
  throw new Error("encodeRepayFromDeposit only supports same-asset paths");
551
594
  }
552
- export function encodeRepayWithSwap({ swapQuote, maxWithdraw, isMax = false, disableControllerOnMax = true, }) {
595
+ export function encodeRepayWithSwap({ swapQuote, maxWithdraw, isMax = false, disableControllerOnMax = true, swapperMode, }) {
553
596
  const items = [];
554
- const withdrawAmount = maxWithdraw && maxWithdraw < BigInt(swapQuote.amountInMax || swapQuote.amountIn)
597
+ const withdrawAmount = maxWithdraw && maxWithdraw < getSwapInputAmount(swapQuote, swapperMode)
555
598
  ? maxWithdraw
556
- : BigInt(swapQuote.amountInMax || swapQuote.amountIn);
599
+ : getSwapInputAmount(swapQuote, swapperMode);
557
600
  items.push({
558
601
  targetContract: swapQuote.vaultIn,
559
602
  onBehalfOfAccount: swapQuote.accountIn,
@@ -561,7 +604,11 @@ export function encodeRepayWithSwap({ swapQuote, maxWithdraw, isMax = false, dis
561
604
  data: encodeFunctionData({
562
605
  abi: eVaultAbi,
563
606
  functionName: "withdraw",
564
- args: [withdrawAmount, swapQuote.swap.swapperAddress, swapQuote.accountIn],
607
+ args: [
608
+ withdrawAmount,
609
+ swapQuote.swap.swapperAddress,
610
+ swapQuote.accountIn,
611
+ ],
565
612
  }),
566
613
  });
567
614
  items.push({
@@ -584,8 +631,12 @@ export function encodeRepayWithSwap({ swapQuote, maxWithdraw, isMax = false, dis
584
631
  }
585
632
  return items;
586
633
  }
587
- export function encodeDepositWithSwapFromWallet(evc, { swapQuote, amount, sender, enableCollateral = true }) {
634
+ export function encodeDepositWithSwapFromWallet(evc, { swapQuote, amount, sender, enableCollateral = true, wrappedNativeInfo, }) {
635
+ if (swapQuote.verify.type !== SwapVerificationType.SkimMin) {
636
+ throw new Error("Invalid swap quote type for deposit with swap - must be skimMin");
637
+ }
588
638
  const items = [
639
+ ...encodeNativeWrap(wrappedNativeInfo, sender),
589
640
  {
590
641
  targetContract: swapQuote.verify.verifierAddress,
591
642
  onBehalfOfAccount: sender,
@@ -593,7 +644,11 @@ export function encodeDepositWithSwapFromWallet(evc, { swapQuote, amount, sender
593
644
  data: encodeFunctionData({
594
645
  abi: swapVerifierAbi,
595
646
  functionName: "transferFromSender",
596
- args: [swapQuote.tokenIn.address, amount, swapQuote.swap.swapperAddress],
647
+ args: [
648
+ swapQuote.tokenIn.address,
649
+ amount,
650
+ swapQuote.swap.swapperAddress,
651
+ ],
597
652
  }),
598
653
  },
599
654
  {
@@ -614,11 +669,12 @@ export function encodeDepositWithSwapFromWallet(evc, { swapQuote, amount, sender
614
669
  }
615
670
  return items;
616
671
  }
617
- export function encodeSwapFromWallet({ swapQuote, amount, sender, }) {
672
+ export function encodeSwapFromWallet({ swapQuote, amount, sender, wrappedNativeInfo, }) {
618
673
  if (swapQuote.verify.type !== "transferMin") {
619
674
  throw new Error("Invalid swap quote type for wallet swap - must be transferMin");
620
675
  }
621
676
  return [
677
+ ...encodeNativeWrap(wrappedNativeInfo, sender),
622
678
  {
623
679
  targetContract: swapQuote.verify.verifierAddress,
624
680
  onBehalfOfAccount: sender,
@@ -626,7 +682,11 @@ export function encodeSwapFromWallet({ swapQuote, amount, sender, }) {
626
682
  data: encodeFunctionData({
627
683
  abi: swapVerifierAbi,
628
684
  functionName: "transferFromSender",
629
- args: [swapQuote.tokenIn.address, amount, swapQuote.swap.swapperAddress],
685
+ args: [
686
+ swapQuote.tokenIn.address,
687
+ amount,
688
+ swapQuote.swap.swapperAddress,
689
+ ],
630
690
  }),
631
691
  },
632
692
  {
@@ -643,9 +703,9 @@ export function encodeSwapFromWallet({ swapQuote, amount, sender, }) {
643
703
  },
644
704
  ];
645
705
  }
646
- export function encodeSwapCollateral(evc, { swapQuote, enableCollateral = true, disableCollateralOnMax = true, isMax = false, }) {
706
+ export function encodeSwapCollateral(evc, { swapQuote, enableCollateral = true, disableCollateralOnMax = true, isMax = false, swapperMode = SwapperMode.EXACT_IN, }) {
647
707
  const items = [];
648
- const withdrawAmount = BigInt(swapQuote.amountInMax || swapQuote.amountIn);
708
+ const withdrawAmount = getSwapInputAmount(swapQuote, swapperMode);
649
709
  items.push({
650
710
  targetContract: swapQuote.vaultIn,
651
711
  onBehalfOfAccount: swapQuote.accountIn,
@@ -653,7 +713,11 @@ export function encodeSwapCollateral(evc, { swapQuote, enableCollateral = true,
653
713
  data: encodeFunctionData({
654
714
  abi: eVaultAbi,
655
715
  functionName: "withdraw",
656
- args: [withdrawAmount, swapQuote.swap.swapperAddress, swapQuote.accountIn],
716
+ args: [
717
+ withdrawAmount,
718
+ swapQuote.swap.swapperAddress,
719
+ swapQuote.accountIn,
720
+ ],
657
721
  }),
658
722
  });
659
723
  items.push({
@@ -679,7 +743,7 @@ export function encodeSwapCollateral(evc, { swapQuote, enableCollateral = true,
679
743
  }
680
744
  return items;
681
745
  }
682
- export function encodeSwapDebt(evc, { swapQuote, enableController = true, disableControllerOnMax = true, isMax = false, }) {
746
+ export function encodeSwapDebt(evc, { swapQuote, enableController = true, disableControllerOnMax = true, isMax = false, swapperMode, }) {
683
747
  const items = [];
684
748
  if (enableController) {
685
749
  items.push(encodeEnableController(evc, swapQuote.accountOut, swapQuote.vaultIn));
@@ -691,7 +755,10 @@ export function encodeSwapDebt(evc, { swapQuote, enableController = true, disabl
691
755
  data: encodeFunctionData({
692
756
  abi: eVaultAbi,
693
757
  functionName: "borrow",
694
- args: [BigInt(swapQuote.amountInMax), swapQuote.swap.swapperAddress],
758
+ args: [
759
+ getSwapInputAmount(swapQuote, swapperMode),
760
+ swapQuote.swap.swapperAddress,
761
+ ],
695
762
  }),
696
763
  });
697
764
  items.push({
@@ -714,6 +781,156 @@ export function encodeSwapDebt(evc, { swapQuote, enableController = true, disabl
714
781
  }
715
782
  return items;
716
783
  }
784
+ export function encodeSwapAndBorrowFromWallet(evc, { swapQuote, amount, sender, borrowAccount, collateralVault, borrowVault, borrowAmount, receiver, currentController, enableController = true, enableCollateral = true, wrappedNativeInfo, }) {
785
+ if (swapQuote.verify.type !== SwapVerificationType.SkimMin) {
786
+ throw new Error("Invalid swap quote type for swap and borrow - must be skimMin");
787
+ }
788
+ const items = [
789
+ ...encodeNativeWrap(wrappedNativeInfo, sender),
790
+ {
791
+ targetContract: swapQuote.verify.verifierAddress,
792
+ onBehalfOfAccount: sender,
793
+ value: 0n,
794
+ data: encodeFunctionData({
795
+ abi: swapVerifierAbi,
796
+ functionName: "transferFromSender",
797
+ args: [
798
+ swapQuote.tokenIn.address,
799
+ amount,
800
+ swapQuote.swap.swapperAddress,
801
+ ],
802
+ }),
803
+ },
804
+ {
805
+ targetContract: swapQuote.swap.swapperAddress,
806
+ onBehalfOfAccount: sender,
807
+ value: 0n,
808
+ data: swapQuote.swap.swapperData,
809
+ },
810
+ {
811
+ targetContract: swapQuote.verify.verifierAddress,
812
+ onBehalfOfAccount: swapQuote.verify.account,
813
+ value: 0n,
814
+ data: swapQuote.verify.verifierData,
815
+ },
816
+ ];
817
+ if (currentController && currentController !== borrowVault) {
818
+ items.push(encodeDisableController(currentController, borrowAccount));
819
+ }
820
+ if (enableController) {
821
+ items.push(encodeEnableController(evc, borrowAccount, borrowVault));
822
+ }
823
+ if (enableCollateral) {
824
+ items.push(encodeEnableCollateral(evc, borrowAccount, collateralVault));
825
+ }
826
+ items.push({
827
+ targetContract: borrowVault,
828
+ onBehalfOfAccount: borrowAccount,
829
+ value: 0n,
830
+ data: encodeFunctionData({
831
+ abi: eVaultAbi,
832
+ functionName: "borrow",
833
+ args: [borrowAmount, receiver],
834
+ }),
835
+ });
836
+ return items;
837
+ }
838
+ export function encodeSwapAndRepayFromWallet({ swapQuote, amount, sender, liabilityVault, repayAccount, isMax = false, disableControllerOnMax = true, wrappedNativeInfo, }) {
839
+ if (swapQuote.verify.type !== SwapVerificationType.DebtMax) {
840
+ throw new Error("Invalid swap quote type for swap and repay - must be debtMax");
841
+ }
842
+ const items = [
843
+ ...encodeNativeWrap(wrappedNativeInfo, sender),
844
+ {
845
+ targetContract: swapQuote.verify.verifierAddress,
846
+ onBehalfOfAccount: sender,
847
+ value: 0n,
848
+ data: encodeFunctionData({
849
+ abi: swapVerifierAbi,
850
+ functionName: "transferFromSender",
851
+ args: [
852
+ swapQuote.tokenIn.address,
853
+ amount,
854
+ swapQuote.swap.swapperAddress,
855
+ ],
856
+ }),
857
+ },
858
+ {
859
+ targetContract: swapQuote.swap.swapperAddress,
860
+ onBehalfOfAccount: sender,
861
+ value: 0n,
862
+ data: swapQuote.swap.swapperData,
863
+ },
864
+ {
865
+ targetContract: swapQuote.verify.verifierAddress,
866
+ onBehalfOfAccount: swapQuote.verify.account,
867
+ value: 0n,
868
+ data: swapQuote.verify.verifierData,
869
+ },
870
+ ];
871
+ if (isMax && disableControllerOnMax) {
872
+ items.push(encodeDisableController(liabilityVault, repayAccount));
873
+ }
874
+ return items;
875
+ }
876
+ export function encodeWithdrawAndSwap({ vault, assets, owner, sender = owner, swapQuote, }) {
877
+ if (swapQuote.verify.type !== SwapVerificationType.TransferMin) {
878
+ throw new Error("Invalid swap quote type for withdraw and swap - must be transferMin");
879
+ }
880
+ return [
881
+ {
882
+ targetContract: vault,
883
+ onBehalfOfAccount: owner,
884
+ value: 0n,
885
+ data: encodeFunctionData({
886
+ abi: eVaultAbi,
887
+ functionName: "withdraw",
888
+ args: [assets, swapQuote.swap.swapperAddress, owner],
889
+ }),
890
+ },
891
+ {
892
+ targetContract: swapQuote.swap.swapperAddress,
893
+ onBehalfOfAccount: swapQuote.accountIn,
894
+ value: 0n,
895
+ data: swapQuote.swap.swapperData,
896
+ },
897
+ {
898
+ targetContract: swapQuote.verify.verifierAddress,
899
+ onBehalfOfAccount: sender,
900
+ value: 0n,
901
+ data: swapQuote.verify.verifierData,
902
+ },
903
+ ];
904
+ }
905
+ export function encodeRedeemAndSwap({ vault, shares, owner, sender = owner, swapQuote, }) {
906
+ if (swapQuote.verify.type !== SwapVerificationType.TransferMin) {
907
+ throw new Error("Invalid swap quote type for redeem and swap - must be transferMin");
908
+ }
909
+ return [
910
+ {
911
+ targetContract: vault,
912
+ onBehalfOfAccount: owner,
913
+ value: 0n,
914
+ data: encodeFunctionData({
915
+ abi: eVaultAbi,
916
+ functionName: "redeem",
917
+ args: [shares, swapQuote.swap.swapperAddress, owner],
918
+ }),
919
+ },
920
+ {
921
+ targetContract: swapQuote.swap.swapperAddress,
922
+ onBehalfOfAccount: swapQuote.accountIn,
923
+ value: 0n,
924
+ data: swapQuote.swap.swapperData,
925
+ },
926
+ {
927
+ targetContract: swapQuote.verify.verifierAddress,
928
+ onBehalfOfAccount: sender,
929
+ value: 0n,
930
+ data: swapQuote.verify.verifierData,
931
+ },
932
+ ];
933
+ }
717
934
  export function encodeMigrateSameAssetCollateral(evc, { fromVault, toVault, amount, account, isMax = false, maxShares, enableCollateralTo = false, disableCollateralFrom = false, }) {
718
935
  const items = [
719
936
  {
@@ -723,7 +940,9 @@ export function encodeMigrateSameAssetCollateral(evc, { fromVault, toVault, amou
723
940
  data: encodeFunctionData({
724
941
  abi: eVaultAbi,
725
942
  functionName: isMax ? "redeem" : "withdraw",
726
- args: isMax ? [maxShares ?? maxUint256, toVault, account] : [amount, toVault, account],
943
+ args: isMax
944
+ ? [maxShares ?? maxUint256, toVault, account]
945
+ : [amount, toVault, account],
727
946
  }),
728
947
  },
729
948
  {
@@ -818,7 +1037,7 @@ export function encodeMigrateSameAssetDebt(evc, { oldLiabilityVault, newLiabilit
818
1037
  }
819
1038
  return items;
820
1039
  }
821
- export function encodeTransfer(evc, { vault, to, amount, from, enableCollateralTo, disableCollateralFrom }) {
1040
+ export function encodeTransfer(evc, { vault, to, amount, from, enableCollateralTo, disableCollateralFrom, }) {
822
1041
  const items = [];
823
1042
  if (disableCollateralFrom) {
824
1043
  items.push(encodeDisableCollateral(evc, from, vault));
@@ -1 +1 @@
1
- {"version":3,"file":"encode.js","sourceRoot":"","sources":["../../../../src/services/executionService/encode.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,kBAAkB,EAClB,UAAU,EAEV,SAAS,EACT,UAAU,EACV,UAAU,EACV,WAAW,GACX,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAuBN,aAAa,GAIb,MAAM,4BAA4B,CAAC;AAEpC,MAAM,kBAAkB,GAAG,GAAG,GAAG,GAAG,CAAC;AACrC,MAAM,0BAA0B,GAAG,MAAO,CAAC;AAC3C,MAAM,4BAA4B,GAAG,MAAO,CAAC;AAE7C,MAAM,UAAU,WAAW,CAAC,KAAqB;IAChD,OAAO,kBAAkB,CAAC;QACzB,GAAG,EAAE,yBAAyB;QAC9B,YAAY,EAAE,OAAO;QACrB,IAAI,EAAE,CAAC,KAAK,CAAC;KACb,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAChC,OAAgB,EAChB,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAyB;IAEpD,OAAO;QACN,cAAc,EAAE,OAAO;QACvB,iBAAiB,EAAE,KAAK;QACxB,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;YACxB,GAAG,EAAE,gBAAgB;YACrB,YAAY,EAAE,QAAQ;YACtB,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC;SACjC,CAAC;KACF,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CACrC,GAAY,EACZ,OAAgB,EAChB,KAAc;IAEd,OAAO;QACN,cAAc,EAAE,GAAG;QACnB,iBAAiB,EAAE,WAAW;QAC9B,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;YACxB,GAAG,EAAE,yBAAyB;YAC9B,YAAY,EAAE,kBAAkB;YAChC,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;SACtB,CAAC;KACF,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CACtC,GAAY,EACZ,OAAgB,EAChB,KAAc;IAEd,OAAO;QACN,cAAc,EAAE,GAAG;QACnB,iBAAiB,EAAE,WAAW;QAC9B,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;YACxB,GAAG,EAAE,yBAAyB;YAC9B,YAAY,EAAE,mBAAmB;YACjC,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;SACtB,CAAC;KACF,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CACrC,GAAY,EACZ,OAAgB,EAChB,KAAc;IAEd,OAAO;QACN,cAAc,EAAE,GAAG;QACnB,iBAAiB,EAAE,WAAW;QAC9B,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;YACxB,GAAG,EAAE,yBAAyB;YAC9B,YAAY,EAAE,kBAAkB;YAChC,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;SACtB,CAAC;KACF,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CACtC,KAAc,EACd,OAAgB;IAEhB,OAAO;QACN,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,OAAO;QAC1B,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;YACxB,GAAG,EAAE,SAAS;YACd,YAAY,EAAE,mBAAmB;YACjC,IAAI,EAAE,EAAE;SACR,CAAC;KACF,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CACpC,KAAc,EACd,IAAa,EACb,EAAW;IAEX,OAAO;QACN,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,IAAI;QACvB,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;YACxB,GAAG,EAAE,SAAS;YACd,YAAY,EAAE,iBAAiB;YAC/B,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;SAChB,CAAC;KACF,CAAC;AACH,CAAC;AAED,SAAS,6BAA6B,CACrC,GAAY,EACZ,KAAc,EACd,QAAiB,EACjB,MAA6B;IAE7B,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7E,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC9D,CAAC;IACD,KAAK,CAAC,IAAI,CAAC;QACV,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,MAAM,CAAC,IAAI;QAC9B,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;YACxB,GAAG,EAAE,SAAS;YACd,YAAY,EAAE,UAAU;YACxB,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;SAC/B,CAAC;KACF,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,mBAAmB,CAClC,OAAgB,EAChB,IAA6B;IAE7B,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IACjE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,GACxE,IAAI,CAAC;IAEN,MAAM,YAAY,GAAG;QACpB,OAAO,EAAE;YACR,KAAK;YACL,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM;YACjD,UAAU,EAAE,UAAU,IAAI,MAAM,CAAC,SAAS,CAAC;YAC3C,KAAK;SACL;QACD,OAAO;QACP,WAAW,EAAE,WAAW,IAAI,YAAY,EAAE,GAAG,kBAAkB;KAC/D,CAAC;IAEF,OAAO;QACN,MAAM,EAAE;YACP,IAAI,EAAE,SAAS;YACf,OAAO;YACP,iBAAiB,EAAE,OAAO;SAC1B;QACD,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,cAAc;QAC3B,OAAO,EAAE,YAAmC;KAC5C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAC5B,GAAY,EACZ,OAAgB,EAChB,EACC,OAAO,EACP,KAAK,EACL,MAAM,EACN,QAAQ,EACR,KAAK,EACL,gBAAgB,EAChB,OAAO,EAAE,WAAW,GACD;IAEpB,MAAM,KAAK,GAAmB,EAAE,CAAC;IAEjC,IAAI,WAAW,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CACT,iBAAiB,CAAC,OAAO,EAAE;YAC1B,OAAO;YACP,KAAK;YACL,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,SAAS,EAAE,WAAW,CAAC,SAAS;SAChC,CAAC,CACF,CAAC;IACH,CAAC;IAED,IAAI,gBAAgB,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,IAAI,CAAC;QACV,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,KAAK;QACxB,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;YACxB,GAAG,EAAE,SAAS;YACd,YAAY,EAAE,SAAS;YACvB,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;SACxB,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,UAAU,CACzB,GAAY,EACZ,OAAgB,EAChB,EACC,OAAO,EACP,KAAK,EACL,MAAM,EACN,QAAQ,EACR,KAAK,EACL,gBAAgB,EAChB,OAAO,EAAE,WAAW,GACJ;IAEjB,MAAM,KAAK,GAAmB,EAAE,CAAC;IAEjC,IAAI,WAAW,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CACT,iBAAiB,CAAC,OAAO,EAAE;YAC1B,OAAO;YACP,KAAK;YACL,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,SAAS,EAAE,WAAW,CAAC,SAAS;SAChC,CAAC,CACF,CAAC;IACH,CAAC;IAED,IAAI,gBAAgB,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,IAAI,CAAC;QACV,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,KAAK;QACxB,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;YACxB,GAAG,EAAE,SAAS;YACd,YAAY,EAAE,MAAM;YACpB,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;SACxB,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAC7B,GAAY,EACZ,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAsB;IAEzE,MAAM,KAAK,GAAmB,EAAE,CAAC;IAEjC,IAAI,iBAAiB,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC;QACV,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,KAAK;QACxB,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;YACxB,GAAG,EAAE,SAAS;YACd,YAAY,EAAE,UAAU;YACxB,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;SAC/B,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,YAAY,CAC3B,GAAY,EACZ,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAoB;IAEvE,MAAM,KAAK,GAAmB,EAAE,CAAC;IAEjC,IAAI,iBAAiB,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC;QACV,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,KAAK;QACxB,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;YACxB,GAAG,EAAE,SAAS;YACd,YAAY,EAAE,QAAQ;YACtB,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;SAC/B,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,YAAY,CAC3B,GAAY,EACZ,OAAgB,EAChB,IAAsB;IAEtB,MAAM,EACL,KAAK,EACL,MAAM,EACN,KAAK,EACL,aAAa,EACb,QAAQ,EACR,gBAAgB,GAAG,IAAI,EACvB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,GAAG,IAAI,EACvB,iBAAiB,EACjB,qBAAqB,GACrB,GAAG,IAAI,CAAC;IACT,MAAM,KAAK,GAAmB,EAAE,CAAC;IAEjC,IAAI,eAAe,IAAI,qBAAqB,EAAE,CAAC;QAC9C,KAAK,CAAC,IAAI,CACT,GAAG,6BAA6B,CAC/B,GAAG,EACH,eAAe,EACf,aAAa,EACb,qBAAqB,CACrB,CACD,CAAC;QACF,IAAI,gBAAgB,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC;QACzE,CAAC;IACF,CAAC;SAAM,IACN,eAAe;QACf,gBAAgB,KAAK,SAAS;QAC9B,gBAAgB,GAAG,EAAE,EACpB,CAAC;QACF,KAAK,CAAC,IAAI,CACT,GAAG,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE;YAC9B,GAAG,IAAI;YACP,KAAK,EAAE,eAAe;YACtB,MAAM,EAAE,gBAAgB;YACxB,QAAQ,EAAE,aAAa;YACvB,KAAK;YACL,gBAAgB;YAChB,OAAO,EAAE,iBAAiB;SAC1B,CAAC,CACF,CAAC;IACH,CAAC;IAED,IAAI,iBAAiB,IAAI,iBAAiB,KAAK,KAAK,EAAE,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,gBAAgB,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,IAAI,CAAC;QACV,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,aAAa;QAChC,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;YACxB,GAAG,EAAE,SAAS;YACd,YAAY,EAAE,QAAQ;YACtB,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;SACxB,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAChC,GAAY,EACZ,EACC,KAAK,EACL,QAAQ,EACR,UAAU,EACV,WAAW,EACX,eAAe,EACf,2BAA2B,EAC3B,gBAAgB,GAAG,IAAI,EACvB,gBAAgB,GAAG,IAAI,GACA;IAExB,MAAM,KAAK,GAAmB,EAAE,CAAC;IAEjC,IAAI,gBAAgB,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CACT,sBAAsB,CAAC,GAAG,EAAE,2BAA2B,EAAE,KAAK,CAAC,CAC/D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC;QACV,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,2BAA2B;QAC9C,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;YACxB,GAAG,EAAE,SAAS;YACd,YAAY,EAAE,WAAW;YACzB,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,CAAC;SAC1D,CAAC;KACF,CAAC,CAAC;IAEH,IAAI,gBAAgB,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CACT,sBAAsB,CAAC,GAAG,EAAE,2BAA2B,EAAE,UAAU,CAAC,CACpE,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAC7B,GAAY,EACZ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,gBAAgB,GAAG,IAAI,EAAsB;IAExE,MAAM,KAAK,GAAmB,EAAE,CAAC;IAEjC,IAAI,gBAAgB,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC;QACV,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,EAAE;QACrB,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;YACxB,GAAG,EAAE,SAAS;YACd,YAAY,EAAE,UAAU;YACxB,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;SACpB,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,sBAAsB,CACrC,GAAY,EACZ,OAAgB,EAChB,EACC,OAAO,EACP,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,SAAS,EACT,KAAK,EACL,QAAQ,EACR,gBAAgB,GAAG,IAAI,EACvB,oBAAoB,GAAG,IAAI,EAC3B,iBAAiB,EACjB,gBAAgB,GAAG,IAAI,EACvB,iBAAiB,EACjB,qBAAqB,EACrB,SAAS,GACmB;IAE7B,MAAM,KAAK,GAAmB,EAAE,CAAC;IAEjC,IAAI,iBAAiB,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CACT,iBAAiB,CAAC,OAAO,EAAE;YAC1B,OAAO;YACP,KAAK;YACL,OAAO,EAAE,iBAAiB,CAAC,OAAO;YAClC,SAAS,EAAE,iBAAiB,CAAC,SAAS;SACtC,CAAC,CACF,CAAC;IACH,CAAC;IAED,IAAI,qBAAqB,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CACT,GAAG,6BAA6B,CAC/B,GAAG,EACH,eAAe,EACf,QAAQ,EACR,qBAAqB,CACrB,CACD,CAAC;QACF,IAAI,gBAAgB,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;QACpE,CAAC;IACF,CAAC;SAAM,IAAI,gBAAgB,GAAG,EAAE,EAAE,CAAC;QAClC,IAAI,gBAAgB,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;QACpE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC;YACV,cAAc,EAAE,eAAe;YAC/B,iBAAiB,EAAE,KAAK;YACxB,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,kBAAkB,CAAC;gBACxB,GAAG,EAAE,SAAS;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,CAAC,gBAAgB,EAAE,QAAQ,CAAC;aAClC,CAAC;SACF,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,iBAAiB,IAAI,iBAAiB,KAAK,cAAc,EAAE,CAAC;QAC/D,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,gBAAgB,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC;QACV,cAAc,EAAE,cAAc;QAC9B,iBAAiB,EAAE,QAAQ;QAC3B,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;YACxB,GAAG,EAAE,SAAS;YACd,YAAY,EAAE,QAAQ;YACtB,IAAI,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC;SACtD,CAAC;KACF,CAAC,CAAC;IAEH,KAAK,CAAC,IAAI,CAAC;QACV,cAAc,EAAE,SAAS,CAAC,IAAI,CAAC,cAAc;QAC7C,iBAAiB,EAAE,QAAQ;QAC3B,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW;KAChC,CAAC,CAAC;IAEH,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,IAAI,CAAC;QACV,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,eAAe;QAChD,iBAAiB,EAAE,QAAQ;QAC3B,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,YAAY;KACnC,CAAC,CAAC;IAEH,IAAI,oBAAoB,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,uBAAuB,CACtC,GAAY,EACZ,OAAgB,EAChB,EACC,OAAO,EACP,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,SAAS,EACT,KAAK,EACL,QAAQ,EACR,gBAAgB,GAAG,IAAI,EACvB,oBAAoB,GAAG,IAAI,EAC3B,gBAAgB,GAAG,IAAI,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,GACQ;IAE9B,MAAM,KAAK,GAAmB,EAAE,CAAC;IAEjC,IAAI,iBAAiB,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CACT,iBAAiB,CAAC,OAAO,EAAE;YAC1B,OAAO;YACP,KAAK;YACL,OAAO,EAAE,iBAAiB,CAAC,OAAO;YAClC,SAAS,EAAE,iBAAiB,CAAC,SAAS;SACtC,CAAC,CACF,CAAC;IACH,CAAC;IAED,IAAI,qBAAqB,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CACT,GAAG,6BAA6B,CAC/B,GAAG,EACH,eAAe,EACf,QAAQ,EACR,qBAAqB,CACrB,CACD,CAAC;QACF,IAAI,gBAAgB,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;QACpE,CAAC;IACF,CAAC;SAAM,IAAI,gBAAgB,GAAG,EAAE,EAAE,CAAC;QAClC,IAAI,gBAAgB,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;QACpE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC;YACV,cAAc,EAAE,eAAe;YAC/B,iBAAiB,EAAE,KAAK;YACxB,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,kBAAkB,CAAC;gBACxB,GAAG,EAAE,SAAS;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,CAAC,gBAAgB,EAAE,QAAQ,CAAC;aAClC,CAAC;SACF,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,iBAAiB,IAAI,iBAAiB,KAAK,cAAc,EAAE,CAAC;QAC/D,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,gBAAgB,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC;QACV,cAAc,EAAE,cAAc;QAC9B,iBAAiB,EAAE,QAAQ;QAC3B,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;YACxB,GAAG,EAAE,SAAS;YACd,YAAY,EAAE,QAAQ;YACtB,IAAI,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC;SAClC,CAAC;KACF,CAAC,CAAC;IAEH,KAAK,CAAC,IAAI,CAAC;QACV,cAAc,EAAE,SAAS;QACzB,iBAAiB,EAAE,QAAQ;QAC3B,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;YACxB,GAAG,EAAE,SAAS;YACd,YAAY,EAAE,MAAM;YACpB,IAAI,EAAE,CAAC,eAAe,EAAE,QAAQ,CAAC;SACjC,CAAC;KACF,CAAC,CAAC;IAEH,IAAI,oBAAoB,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,qBAAqB,CACpC,OAAgB,EAChB,EACC,OAAO,EACP,MAAM,EACN,cAAc,EACd,eAAe,EACf,QAAQ,EACR,sBAAsB,GAAG,IAAI,EAC7B,KAAK,GAAG,KAAK,EACb,OAAO,EAAE,WAAW,GACO;IAE5B,MAAM,KAAK,GAAmB,EAAE,CAAC;IAEjC,IAAI,WAAW,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CACT,iBAAiB,CAAC,OAAO,EAAE;YAC1B,OAAO;YACP,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,SAAS,EAAE,WAAW,CAAC,SAAS;SAChC,CAAC,CACF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC;QACV,cAAc,EAAE,cAAc;QAC9B,iBAAiB,EAAE,MAAM;QACzB,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;YACxB,GAAG,EAAE,SAAS;YACd,YAAY,EAAE,OAAO;YACrB,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,EAAE,QAAQ,CAAC;SACtD,CAAC;KACF,CAAC,CAAC;IAEH,IAAI,sBAAsB,IAAI,KAAK,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,sCAAsC,CAC9C,KAAc,EACd,MAAc,EACd,IAAa,EACb,QAAiB,EACjB,iBAA0B;IAE1B,MAAM,KAAK,GAAmB;QAC7B;YACC,cAAc,EAAE,KAAK;YACrB,iBAAiB,EAAE,IAAI;YACvB,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,kBAAkB,CAAC;gBACxB,GAAG,EAAE,SAAS;gBACd,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;aACxB,CAAC;SACF;KACD,CAAC;IAEF,IAAI,iBAAiB,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,4CAA4C,CACpD,SAAkB,EAClB,OAAgB,EAChB,MAAc,EACd,QAAiB,EACjB,IAAa,EACb,KAAc,EACd,sBAA+B;IAE/B,MAAM,KAAK,GAAmB,EAAE,CAAC;IAEjC,IAAI,KAAK,EAAE,CAAC;QACX,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,eAAe,GACpB,CAAC,MAAM,GAAG,0BAA0B,CAAC,GAAG,4BAA4B,CAAC;QAEtE,IAAI,eAAe,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACzD,CAAC;QAED,KAAK,CAAC,IAAI,CAAC;YACV,cAAc,EAAE,SAAS;YACzB,iBAAiB,EAAE,IAAI;YACvB,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,kBAAkB,CAAC;gBACxB,GAAG,EAAE,SAAS;gBACd,YAAY,EAAE,UAAU;gBACxB,IAAI,EAAE,CAAC,eAAe,EAAE,OAAO,EAAE,IAAI,CAAC;aACtC,CAAC;SACF,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC;YACV,cAAc,EAAE,OAAO;YACvB,iBAAiB,EAAE,QAAQ;YAC3B,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,kBAAkB,CAAC;gBACxB,GAAG,EAAE,SAAS;gBACd,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,CAAC,eAAe,EAAE,QAAQ,CAAC;aACjC,CAAC;SACF,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC;YACV,cAAc,EAAE,OAAO;YACvB,iBAAiB,EAAE,QAAQ;YAC3B,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,kBAAkB,CAAC;gBACxB,GAAG,EAAE,SAAS;gBACd,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;aAC5B,CAAC;SACF,CAAC,CAAC;QACH,IAAI,sBAAsB,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,KAAK,CAAC,IAAI,CAAC;QACV,cAAc,EAAE,SAAS;QACzB,iBAAiB,EAAE,IAAI;QACvB,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;YACxB,GAAG,EAAE,SAAS;YACd,YAAY,EAAE,UAAU;YACxB,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;SAC7B,CAAC;KACF,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC;QACV,cAAc,EAAE,OAAO;QACvB,iBAAiB,EAAE,QAAQ;QAC3B,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;YACxB,GAAG,EAAE,SAAS;YACd,YAAY,EAAE,MAAM;YACpB,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;SACxB,CAAC;KACF,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC;QACV,cAAc,EAAE,OAAO;QACvB,iBAAiB,EAAE,QAAQ;QAC3B,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;YACxB,GAAG,EAAE,SAAS;YACd,YAAY,EAAE,iBAAiB;YAC/B,IAAI,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC;SAChD,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,sBAAsB,CACrC,EACC,cAAc,EACd,cAAc,EACd,eAAe,EACf,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,SAAS,EACT,sBAAsB,GAAG,IAAI,EAC7B,KAAK,GAAG,KAAK,GACe;IAE7B,IAAI,SAAS,KAAK,cAAc,IAAI,SAAS,KAAK,cAAc,EAAE,CAAC;QAClE,OAAO,sCAAsC,CAC5C,cAAc,EACd,eAAe,EACf,IAAI,EACJ,QAAQ,EACR,KAAK,IAAI,sBAAsB,CAC/B,CAAC;IACH,CAAC;IAED,IAAI,SAAS,KAAK,cAAc,EAAE,CAAC;QAClC,OAAO,4CAA4C,CAClD,SAAS,EACT,cAAc,EACd,eAAe,EACf,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,sBAAsB,CACtB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,EACnC,SAAS,EACT,WAAW,EACX,KAAK,GAAG,KAAK,EACb,sBAAsB,GAAG,IAAI,GACJ;IACzB,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,MAAM,cAAc,GACnB,WAAW,IAAI,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,QAAQ,CAAC;QAC/E,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;IAExD,KAAK,CAAC,IAAI,CAAC;QACV,cAAc,EAAE,SAAS,CAAC,OAAO;QACjC,iBAAiB,EAAE,SAAS,CAAC,SAAS;QACtC,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;YACxB,GAAG,EAAE,SAAS;YACd,YAAY,EAAE,UAAU;YACxB,IAAI,EAAE,CAAC,cAAc,EAAE,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,SAAS,CAAC;SAC1E,CAAC;KACF,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC;QACV,cAAc,EAAE,SAAS,CAAC,IAAI,CAAC,cAAc;QAC7C,iBAAiB,EAAE,SAAS,CAAC,SAAS;QACtC,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW;KAChC,CAAC,CAAC;IAEH,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC;QACV,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,eAAe;QAChD,iBAAiB,EAAE,SAAS,CAAC,MAAM,CAAC,OAAO;QAC3C,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,YAAY;KACnC,CAAC,CAAC;IAEH,IAAI,KAAK,IAAI,sBAAsB,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC9C,GAAY,EACZ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,EAAuC;IAE3F,MAAM,KAAK,GAAmB;QAC7B;YACC,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,eAAe;YAChD,iBAAiB,EAAE,MAAM;YACzB,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,kBAAkB,CAAC;gBACxB,GAAG,EAAE,eAAe;gBACpB,YAAY,EAAE,oBAAoB;gBAClC,IAAI,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC;aACxE,CAAC;SACF;QACD;YACC,cAAc,EAAE,SAAS,CAAC,IAAI,CAAC,cAAc;YAC7C,iBAAiB,EAAE,MAAM;YACzB,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW;SAChC;QACD;YACC,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,eAAe;YAChD,iBAAiB,EAAE,SAAS,CAAC,UAAU,IAAI,MAAM;YACjD,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,YAAY;SACnC;KACD,CAAC;IAEF,IAAI,gBAAgB,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC5C,KAAK,CAAC,IAAI,CACT,sBAAsB,CAAC,GAAG,EAAE,SAAS,CAAC,UAAU,IAAI,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAC/E,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EACpC,SAAS,EACT,MAAM,EACN,MAAM,GACoB;IAC1B,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CACd,+DAA+D,CAC/D,CAAC;IACH,CAAC;IAED,OAAO;QACN;YACC,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,eAAe;YAChD,iBAAiB,EAAE,MAAM;YACzB,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,kBAAkB,CAAC;gBACxB,GAAG,EAAE,eAAe;gBACpB,YAAY,EAAE,oBAAoB;gBAClC,IAAI,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC;aACxE,CAAC;SACF;QACD;YACC,cAAc,EAAE,SAAS,CAAC,IAAI,CAAC,cAAc;YAC7C,iBAAiB,EAAE,MAAM;YACzB,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW;SAChC;QACD;YACC,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,eAAe;YAChD,iBAAiB,EAAE,MAAM;YACzB,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,YAAY;SACnC;KACD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CACnC,GAAY,EACZ,EACC,SAAS,EACT,gBAAgB,GAAG,IAAI,EACvB,sBAAsB,GAAG,IAAI,EAC7B,KAAK,GAAG,KAAK,GACa;IAE3B,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;IAE3E,KAAK,CAAC,IAAI,CAAC;QACV,cAAc,EAAE,SAAS,CAAC,OAAO;QACjC,iBAAiB,EAAE,SAAS,CAAC,SAAS;QACtC,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;YACxB,GAAG,EAAE,SAAS;YACd,YAAY,EAAE,UAAU;YACxB,IAAI,EAAE,CAAC,cAAc,EAAE,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,SAAS,CAAC;SAC1E,CAAC;KACF,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC;QACV,cAAc,EAAE,SAAS,CAAC,IAAI,CAAC,cAAc;QAC7C,iBAAiB,EAAE,SAAS,CAAC,SAAS;QACtC,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW;KAChC,CAAC,CAAC;IAEH,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CACd,+DAA+D,CAC/D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC;QACV,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,eAAe;QAChD,iBAAiB,EAAE,SAAS,CAAC,UAAU;QACvC,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,YAAY;KACnC,CAAC,CAAC;IAEH,IAAI,KAAK,IAAI,sBAAsB,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAClF,CAAC;IACD,IAAI,gBAAgB,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAC7B,GAAY,EACZ,EACC,SAAS,EACT,gBAAgB,GAAG,IAAI,EACvB,sBAAsB,GAAG,IAAI,EAC7B,KAAK,GAAG,KAAK,GACO;IAErB,MAAM,KAAK,GAAmB,EAAE,CAAC;IAEjC,IAAI,gBAAgB,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC;QACV,cAAc,EAAE,SAAS,CAAC,OAAO;QACjC,iBAAiB,EAAE,SAAS,CAAC,SAAS;QACtC,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;YACxB,GAAG,EAAE,SAAS;YACd,YAAY,EAAE,QAAQ;YACtB,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC;SACpE,CAAC;KACF,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC;QACV,cAAc,EAAE,SAAS,CAAC,IAAI,CAAC,cAAc;QAC7C,iBAAiB,EAAE,SAAS,CAAC,SAAS;QACtC,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW;KAChC,CAAC,CAAC;IAEH,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC;QACV,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,eAAe;QAChD,iBAAiB,EAAE,SAAS,CAAC,UAAU;QACvC,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,YAAY;KACnC,CAAC,CAAC;IAEH,IAAI,KAAK,IAAI,sBAAsB,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC/C,GAAY,EACZ,EACC,SAAS,EACT,OAAO,EACP,MAAM,EACN,OAAO,EACP,KAAK,GAAG,KAAK,EACb,SAAS,EACT,kBAAkB,GAAG,KAAK,EAC1B,qBAAqB,GAAG,KAAK,GACS;IAEvC,MAAM,KAAK,GAAmB;QAC7B;YACC,cAAc,EAAE,SAAS;YACzB,iBAAiB,EAAE,OAAO;YAC1B,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,kBAAkB,CAAC;gBACxB,GAAG,EAAE,SAAS;gBACd,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU;gBAC3C,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;aACtF,CAAC;SACF;QACD;YACC,cAAc,EAAE,OAAO;YACvB,iBAAiB,EAAE,OAAO;YAC1B,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,kBAAkB,CAAC;gBACxB,GAAG,EAAE,SAAS;gBACd,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;aACvB,CAAC;SACF;KACD,CAAC;IAEF,IAAI,kBAAkB,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,qBAAqB,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,0BAA0B,CACzC,GAAY,EACZ,EACC,iBAAiB,EACjB,iBAAiB,EACjB,MAAM,EACN,OAAO,EACP,gBAAgB,GAAG,IAAI,EACvB,iBAAiB,GAAG,IAAI,EACxB,WAAW,GAAG,IAAI,EAClB,yBAAyB,GACO;IAEjC,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,eAAe,GACpB,CAAC,MAAM,GAAG,0BAA0B,CAAC,GAAG,4BAA4B,CAAC;IAEtE,IAAI,eAAe,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,KAAK,GAAmB,EAAE,CAAC;IAEjC,IAAI,gBAAgB,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC;QACV,cAAc,EAAE,iBAAiB;QACjC,iBAAiB,EAAE,OAAO;QAC1B,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;YACxB,GAAG,EAAE,SAAS;YACd,YAAY,EAAE,QAAQ;YACtB,IAAI,EAAE,CAAC,eAAe,EAAE,iBAAiB,CAAC;SAC1C,CAAC;KACF,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC;QACV,cAAc,EAAE,iBAAiB;QACjC,iBAAiB,EAAE,OAAO;QAC1B,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;YACxB,GAAG,EAAE,SAAS;YACd,YAAY,EAAE,MAAM;YACpB,IAAI,EAAE,CAAC,eAAe,EAAE,OAAO,CAAC;SAChC,CAAC;KACF,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC;QACV,cAAc,EAAE,iBAAiB;QACjC,iBAAiB,EAAE,OAAO;QAC1B,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;YACxB,GAAG,EAAE,SAAS;YACd,YAAY,EAAE,iBAAiB;YAC/B,IAAI,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC;SAC3B,CAAC;KACF,CAAC,CAAC;IAEH,IAAI,iBAAiB,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC;YACV,cAAc,EAAE,iBAAiB;YACjC,iBAAiB,EAAE,OAAO;YAC1B,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,kBAAkB,CAAC;gBACxB,GAAG,EAAE,SAAS;gBACd,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,CAAC,UAAU,EAAE,iBAAiB,EAAE,OAAO,CAAC;aAC9C,CAAC;SACF,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC;YACV,cAAc,EAAE,iBAAiB;YACjC,iBAAiB,EAAE,OAAO;YAC1B,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,kBAAkB,CAAC;gBACxB,GAAG,EAAE,SAAS;gBACd,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC;aAC3B,CAAC;SACF,CAAC,CAAC;IACJ,CAAC;IAED,IACC,yBAAyB;QACzB,UAAU,CAAC,yBAAyB,CAAC,KAAK,UAAU,CAAC,OAAO,CAAC,EAC5D,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,EAAE,OAAO,EAAE,yBAAyB,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAC7B,GAAY,EACZ,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,qBAAqB,EAAsB;IAE1F,MAAM,KAAK,GAAmB,EAAE,CAAC;IAEjC,IAAI,qBAAqB,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC;QACV,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,IAAI;QACvB,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;YACxB,GAAG,EAAE,SAAS;YACd,YAAY,EAAE,UAAU;YACxB,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC;SAClB,CAAC;KACF,CAAC,CAAC;IAEH,IAAI,kBAAkB,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"encode.js","sourceRoot":"","sources":["../../../../src/services/executionService/encode.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import type { ProviderService } from "../providerService/index.js";
4
4
  import type { IExecutionService } from "./executionService.js";
5
5
  import type { PermitSingleTypedData, TransactionPlan, TransactionPlanItem } from "./executionServiceTypes.js";
6
6
  import { type DecodedSmartContractError } from "../../utils/decodeSmartContractErrors.js";
7
+ import type { AddressOrAccount } from "../../entities/Account.js";
7
8
  export type TransactionPlanExecutionStatus = "approval" | "permit2Signature" | "evcBatch" | "contractCall" | "completed";
8
9
  export type TransactionPlanExecutionProgress = {
9
10
  completed: number;
@@ -32,7 +33,7 @@ export type TransactionPlanSignTypedDataRequest = PermitSingleTypedData;
32
33
  export type ExecuteTransactionPlanArgs = {
33
34
  plan: TransactionPlan;
34
35
  chainId: number;
35
- account: Address;
36
+ account: AddressOrAccount;
36
37
  sendTransaction: (parameters: TransactionPlanTransactionRequest) => Promise<Hash>;
37
38
  signTypedData?: (parameters: TransactionPlanSignTypedDataRequest) => Promise<Hex>;
38
39
  /** Defaults to true. When enabled, unresolved approvals prefer the Permit2 path. */
@@ -1 +1 @@
1
- {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../../../src/services/executionService/execute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../../../src/services/executionService/execute.ts"],"names":[],"mappings":"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"}