@lifi/perps-sdk 23.1.0 → 25.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (305) hide show
  1. package/README.md +102 -56
  2. package/dist/cjs/client/PerpsClient.d.ts +3 -2
  3. package/dist/cjs/client/PerpsClient.d.ts.map +1 -1
  4. package/dist/cjs/client/PerpsClient.js +16 -9
  5. package/dist/cjs/client/PerpsClient.js.map +1 -1
  6. package/dist/cjs/decimal/arithmetic.d.ts +15 -0
  7. package/dist/cjs/decimal/arithmetic.d.ts.map +1 -0
  8. package/dist/cjs/decimal/arithmetic.js +53 -0
  9. package/dist/cjs/decimal/arithmetic.js.map +1 -0
  10. package/dist/cjs/decimal/big.d.ts +0 -1
  11. package/dist/cjs/decimal/big.d.ts.map +1 -1
  12. package/dist/cjs/decimal/big.js +0 -4
  13. package/dist/cjs/decimal/big.js.map +1 -1
  14. package/dist/cjs/decimal/compare.d.ts +6 -2
  15. package/dist/cjs/decimal/compare.d.ts.map +1 -1
  16. package/dist/cjs/decimal/compare.js +15 -2
  17. package/dist/cjs/decimal/compare.js.map +1 -1
  18. package/dist/cjs/decimal/convert.d.ts +10 -6
  19. package/dist/cjs/decimal/convert.d.ts.map +1 -1
  20. package/dist/cjs/decimal/convert.js +34 -21
  21. package/dist/cjs/decimal/convert.js.map +1 -1
  22. package/dist/cjs/decimal/decimalStringToBig.d.ts +5 -0
  23. package/dist/cjs/decimal/decimalStringToBig.d.ts.map +1 -0
  24. package/dist/cjs/decimal/decimalStringToBig.js +25 -0
  25. package/dist/cjs/decimal/decimalStringToBig.js.map +1 -0
  26. package/dist/cjs/decimal/format.d.ts.map +1 -1
  27. package/dist/cjs/decimal/format.js +70 -52
  28. package/dist/cjs/decimal/format.js.map +1 -1
  29. package/dist/cjs/decimal/parse.d.ts +5 -4
  30. package/dist/cjs/decimal/parse.d.ts.map +1 -1
  31. package/dist/cjs/decimal/parse.js +43 -25
  32. package/dist/cjs/decimal/parse.js.map +1 -1
  33. package/dist/cjs/errors/invalidInput.d.ts +3 -0
  34. package/dist/cjs/errors/invalidInput.d.ts.map +1 -0
  35. package/dist/cjs/errors/invalidInput.js +9 -0
  36. package/dist/cjs/errors/invalidInput.js.map +1 -0
  37. package/dist/cjs/index.d.ts +15 -12
  38. package/dist/cjs/index.d.ts.map +1 -1
  39. package/dist/cjs/index.js +69 -9
  40. package/dist/cjs/index.js.map +1 -1
  41. package/dist/cjs/math/fills.d.ts +1 -1
  42. package/dist/cjs/math/fills.d.ts.map +1 -1
  43. package/dist/cjs/math/fills.js +28 -13
  44. package/dist/cjs/math/fills.js.map +1 -1
  45. package/dist/cjs/math/order.d.ts +27 -16
  46. package/dist/cjs/math/order.d.ts.map +1 -1
  47. package/dist/cjs/math/order.js +131 -134
  48. package/dist/cjs/math/order.js.map +1 -1
  49. package/dist/cjs/math/position.d.ts +85 -35
  50. package/dist/cjs/math/position.d.ts.map +1 -1
  51. package/dist/cjs/math/position.js +93 -94
  52. package/dist/cjs/math/position.js.map +1 -1
  53. package/dist/cjs/services/getGasRecommendation.js +1 -1
  54. package/dist/cjs/services/getGasRecommendation.js.map +1 -1
  55. package/dist/cjs/services/getQuote.d.ts +1 -1
  56. package/dist/cjs/services/resolveSubscribeQuote.d.ts.map +1 -1
  57. package/dist/cjs/services/resolveSubscribeQuote.js +3 -2
  58. package/dist/cjs/services/resolveSubscribeQuote.js.map +1 -1
  59. package/dist/cjs/transport/request.d.ts +1 -0
  60. package/dist/cjs/transport/request.d.ts.map +1 -1
  61. package/dist/cjs/transport/request.js +2 -2
  62. package/dist/cjs/transport/request.js.map +1 -1
  63. package/dist/cjs/types/api.d.ts +4 -0
  64. package/dist/cjs/types/api.d.ts.map +1 -1
  65. package/dist/cjs/types/provider.d.ts +9 -5
  66. package/dist/cjs/types/provider.d.ts.map +1 -1
  67. package/dist/cjs/types/withdrawal.d.ts +12 -4
  68. package/dist/cjs/types/withdrawal.d.ts.map +1 -1
  69. package/dist/cjs/utils/createSafeFunction.d.ts +2 -0
  70. package/dist/cjs/utils/createSafeFunction.d.ts.map +1 -0
  71. package/dist/cjs/utils/createSafeFunction.js +15 -0
  72. package/dist/cjs/utils/createSafeFunction.js.map +1 -0
  73. package/dist/cjs/utils/timestampToIsoString.d.ts +3 -0
  74. package/dist/cjs/utils/timestampToIsoString.d.ts.map +1 -0
  75. package/dist/cjs/utils/timestampToIsoString.js +16 -0
  76. package/dist/cjs/utils/timestampToIsoString.js.map +1 -0
  77. package/dist/cjs/utils/warnOnce.d.ts +6 -0
  78. package/dist/cjs/utils/warnOnce.d.ts.map +1 -1
  79. package/dist/cjs/utils/warnOnce.js +19 -1
  80. package/dist/cjs/utils/warnOnce.js.map +1 -1
  81. package/dist/cjs/version.d.ts +1 -1
  82. package/dist/cjs/version.js +1 -1
  83. package/dist/cjs/websocket/PerpsWsClient.d.ts +2 -0
  84. package/dist/cjs/websocket/PerpsWsClient.d.ts.map +1 -1
  85. package/dist/cjs/websocket/PerpsWsClient.js +14 -1
  86. package/dist/cjs/websocket/PerpsWsClient.js.map +1 -1
  87. package/dist/cjs/websocket/wsLog.d.ts +2 -0
  88. package/dist/cjs/websocket/wsLog.d.ts.map +1 -1
  89. package/dist/cjs/websocket/wsLog.js +9 -0
  90. package/dist/cjs/websocket/wsLog.js.map +1 -1
  91. package/dist/cjs/wire/orderAmounts.d.ts +3 -2
  92. package/dist/cjs/wire/orderAmounts.d.ts.map +1 -1
  93. package/dist/cjs/wire/orderAmounts.js +22 -21
  94. package/dist/cjs/wire/orderAmounts.js.map +1 -1
  95. package/dist/cjs/wire/refuel.d.ts +4 -1
  96. package/dist/cjs/wire/refuel.d.ts.map +1 -1
  97. package/dist/cjs/wire/refuel.js +23 -6
  98. package/dist/cjs/wire/refuel.js.map +1 -1
  99. package/dist/cjs/wire/transferable.js +3 -3
  100. package/dist/cjs/wire/transferable.js.map +1 -1
  101. package/dist/cjs/wire/withdraw.d.ts.map +1 -1
  102. package/dist/cjs/wire/withdraw.js +3 -3
  103. package/dist/cjs/wire/withdraw.js.map +1 -1
  104. package/dist/esm/client/PerpsClient.d.ts +17 -4
  105. package/dist/esm/client/PerpsClient.d.ts.map +1 -1
  106. package/dist/esm/client/PerpsClient.js +30 -8
  107. package/dist/esm/client/PerpsClient.js.map +1 -1
  108. package/dist/esm/decimal/arithmetic.d.ts +98 -0
  109. package/dist/esm/decimal/arithmetic.d.ts.map +1 -0
  110. package/dist/esm/decimal/arithmetic.js +126 -0
  111. package/dist/esm/decimal/arithmetic.js.map +1 -0
  112. package/dist/esm/decimal/big.d.ts +0 -2
  113. package/dist/esm/decimal/big.d.ts.map +1 -1
  114. package/dist/esm/decimal/big.js +0 -4
  115. package/dist/esm/decimal/big.js.map +1 -1
  116. package/dist/esm/decimal/compare.d.ts +40 -6
  117. package/dist/esm/decimal/compare.d.ts.map +1 -1
  118. package/dist/esm/decimal/compare.js +46 -6
  119. package/dist/esm/decimal/compare.js.map +1 -1
  120. package/dist/esm/decimal/convert.d.ts +50 -36
  121. package/dist/esm/decimal/convert.d.ts.map +1 -1
  122. package/dist/esm/decimal/convert.js +64 -42
  123. package/dist/esm/decimal/convert.js.map +1 -1
  124. package/dist/esm/decimal/decimalStringToBig.d.ts +25 -0
  125. package/dist/esm/decimal/decimalStringToBig.d.ts.map +1 -0
  126. package/dist/esm/decimal/decimalStringToBig.js +37 -0
  127. package/dist/esm/decimal/decimalStringToBig.js.map +1 -0
  128. package/dist/esm/decimal/format.d.ts +4 -1
  129. package/dist/esm/decimal/format.d.ts.map +1 -1
  130. package/dist/esm/decimal/format.js +71 -70
  131. package/dist/esm/decimal/format.js.map +1 -1
  132. package/dist/esm/decimal/parse.d.ts +29 -13
  133. package/dist/esm/decimal/parse.d.ts.map +1 -1
  134. package/dist/esm/decimal/parse.js +61 -44
  135. package/dist/esm/decimal/parse.js.map +1 -1
  136. package/dist/esm/errors/invalidInput.d.ts +4 -0
  137. package/dist/esm/errors/invalidInput.d.ts.map +1 -0
  138. package/dist/esm/errors/invalidInput.js +7 -0
  139. package/dist/esm/errors/invalidInput.js.map +1 -0
  140. package/dist/esm/index.d.ts +15 -12
  141. package/dist/esm/index.d.ts.map +1 -1
  142. package/dist/esm/index.js +11 -8
  143. package/dist/esm/index.js.map +1 -1
  144. package/dist/esm/math/fills.d.ts +6 -3
  145. package/dist/esm/math/fills.d.ts.map +1 -1
  146. package/dist/esm/math/fills.js +31 -16
  147. package/dist/esm/math/fills.js.map +1 -1
  148. package/dist/esm/math/order.d.ts +84 -66
  149. package/dist/esm/math/order.d.ts.map +1 -1
  150. package/dist/esm/math/order.js +178 -175
  151. package/dist/esm/math/order.js.map +1 -1
  152. package/dist/esm/math/position.d.ts +155 -98
  153. package/dist/esm/math/position.d.ts.map +1 -1
  154. package/dist/esm/math/position.js +160 -156
  155. package/dist/esm/math/position.js.map +1 -1
  156. package/dist/esm/services/getGasRecommendation.js +1 -1
  157. package/dist/esm/services/getGasRecommendation.js.map +1 -1
  158. package/dist/esm/services/getQuote.d.ts +2 -2
  159. package/dist/esm/services/getQuote.js +1 -1
  160. package/dist/esm/services/resolveSubscribeQuote.d.ts +1 -1
  161. package/dist/esm/services/resolveSubscribeQuote.d.ts.map +1 -1
  162. package/dist/esm/services/resolveSubscribeQuote.js +4 -3
  163. package/dist/esm/services/resolveSubscribeQuote.js.map +1 -1
  164. package/dist/esm/transport/request.d.ts +5 -0
  165. package/dist/esm/transport/request.d.ts.map +1 -1
  166. package/dist/esm/transport/request.js +2 -2
  167. package/dist/esm/transport/request.js.map +1 -1
  168. package/dist/esm/types/api.d.ts +9 -0
  169. package/dist/esm/types/api.d.ts.map +1 -1
  170. package/dist/esm/types/provider.d.ts +30 -16
  171. package/dist/esm/types/provider.d.ts.map +1 -1
  172. package/dist/esm/types/withdrawal.d.ts +32 -7
  173. package/dist/esm/types/withdrawal.d.ts.map +1 -1
  174. package/dist/esm/utils/createSafeFunction.d.ts +9 -0
  175. package/dist/esm/utils/createSafeFunction.d.ts.map +1 -0
  176. package/dist/esm/utils/createSafeFunction.js +19 -0
  177. package/dist/esm/utils/createSafeFunction.js.map +1 -0
  178. package/dist/esm/utils/timestampToIsoString.d.ts +15 -0
  179. package/dist/esm/utils/timestampToIsoString.d.ts.map +1 -0
  180. package/dist/esm/utils/timestampToIsoString.js +24 -0
  181. package/dist/esm/utils/timestampToIsoString.js.map +1 -0
  182. package/dist/esm/utils/warnOnce.d.ts +27 -0
  183. package/dist/esm/utils/warnOnce.d.ts.map +1 -1
  184. package/dist/esm/utils/warnOnce.js +36 -0
  185. package/dist/esm/utils/warnOnce.js.map +1 -1
  186. package/dist/esm/version.d.ts +1 -1
  187. package/dist/esm/version.js +1 -1
  188. package/dist/esm/websocket/PerpsWsClient.d.ts +7 -0
  189. package/dist/esm/websocket/PerpsWsClient.d.ts.map +1 -1
  190. package/dist/esm/websocket/PerpsWsClient.js +20 -2
  191. package/dist/esm/websocket/PerpsWsClient.js.map +1 -1
  192. package/dist/esm/websocket/wsLog.d.ts +12 -0
  193. package/dist/esm/websocket/wsLog.d.ts.map +1 -1
  194. package/dist/esm/websocket/wsLog.js +19 -0
  195. package/dist/esm/websocket/wsLog.js.map +1 -1
  196. package/dist/esm/wire/orderAmounts.d.ts +9 -7
  197. package/dist/esm/wire/orderAmounts.d.ts.map +1 -1
  198. package/dist/esm/wire/orderAmounts.js +24 -20
  199. package/dist/esm/wire/orderAmounts.js.map +1 -1
  200. package/dist/esm/wire/refuel.d.ts +24 -14
  201. package/dist/esm/wire/refuel.d.ts.map +1 -1
  202. package/dist/esm/wire/refuel.js +38 -17
  203. package/dist/esm/wire/refuel.js.map +1 -1
  204. package/dist/esm/wire/transferable.d.ts +2 -2
  205. package/dist/esm/wire/transferable.js +5 -5
  206. package/dist/esm/wire/transferable.js.map +1 -1
  207. package/dist/esm/wire/withdraw.d.ts.map +1 -1
  208. package/dist/esm/wire/withdraw.js +3 -3
  209. package/dist/esm/wire/withdraw.js.map +1 -1
  210. package/dist/types/client/PerpsClient.d.ts +17 -4
  211. package/dist/types/client/PerpsClient.d.ts.map +1 -1
  212. package/dist/types/decimal/arithmetic.d.ts +98 -0
  213. package/dist/types/decimal/arithmetic.d.ts.map +1 -0
  214. package/dist/types/decimal/big.d.ts +0 -2
  215. package/dist/types/decimal/big.d.ts.map +1 -1
  216. package/dist/types/decimal/compare.d.ts +40 -6
  217. package/dist/types/decimal/compare.d.ts.map +1 -1
  218. package/dist/types/decimal/convert.d.ts +50 -36
  219. package/dist/types/decimal/convert.d.ts.map +1 -1
  220. package/dist/types/decimal/decimalStringToBig.d.ts +25 -0
  221. package/dist/types/decimal/decimalStringToBig.d.ts.map +1 -0
  222. package/dist/types/decimal/format.d.ts +4 -1
  223. package/dist/types/decimal/format.d.ts.map +1 -1
  224. package/dist/types/decimal/parse.d.ts +29 -13
  225. package/dist/types/decimal/parse.d.ts.map +1 -1
  226. package/dist/types/errors/invalidInput.d.ts +4 -0
  227. package/dist/types/errors/invalidInput.d.ts.map +1 -0
  228. package/dist/types/index.d.ts +15 -12
  229. package/dist/types/index.d.ts.map +1 -1
  230. package/dist/types/math/fills.d.ts +6 -3
  231. package/dist/types/math/fills.d.ts.map +1 -1
  232. package/dist/types/math/order.d.ts +84 -66
  233. package/dist/types/math/order.d.ts.map +1 -1
  234. package/dist/types/math/position.d.ts +155 -98
  235. package/dist/types/math/position.d.ts.map +1 -1
  236. package/dist/types/services/getQuote.d.ts +2 -2
  237. package/dist/types/services/resolveSubscribeQuote.d.ts +1 -1
  238. package/dist/types/services/resolveSubscribeQuote.d.ts.map +1 -1
  239. package/dist/types/transport/request.d.ts +5 -0
  240. package/dist/types/transport/request.d.ts.map +1 -1
  241. package/dist/types/types/api.d.ts +9 -0
  242. package/dist/types/types/api.d.ts.map +1 -1
  243. package/dist/types/types/provider.d.ts +30 -16
  244. package/dist/types/types/provider.d.ts.map +1 -1
  245. package/dist/types/types/withdrawal.d.ts +32 -7
  246. package/dist/types/types/withdrawal.d.ts.map +1 -1
  247. package/dist/types/utils/createSafeFunction.d.ts +9 -0
  248. package/dist/types/utils/createSafeFunction.d.ts.map +1 -0
  249. package/dist/types/utils/timestampToIsoString.d.ts +15 -0
  250. package/dist/types/utils/timestampToIsoString.d.ts.map +1 -0
  251. package/dist/types/utils/warnOnce.d.ts +27 -0
  252. package/dist/types/utils/warnOnce.d.ts.map +1 -1
  253. package/dist/types/version.d.ts +1 -1
  254. package/dist/types/websocket/PerpsWsClient.d.ts +7 -0
  255. package/dist/types/websocket/PerpsWsClient.d.ts.map +1 -1
  256. package/dist/types/websocket/wsLog.d.ts +12 -0
  257. package/dist/types/websocket/wsLog.d.ts.map +1 -1
  258. package/dist/types/wire/orderAmounts.d.ts +9 -7
  259. package/dist/types/wire/orderAmounts.d.ts.map +1 -1
  260. package/dist/types/wire/refuel.d.ts +24 -14
  261. package/dist/types/wire/refuel.d.ts.map +1 -1
  262. package/dist/types/wire/transferable.d.ts +2 -2
  263. package/dist/types/wire/withdraw.d.ts.map +1 -1
  264. package/package.json +2 -2
  265. package/src/client/PerpsClient.ts +48 -10
  266. package/src/decimal/arithmetic.ts +170 -0
  267. package/src/decimal/big.ts +0 -5
  268. package/src/decimal/compare.ts +61 -11
  269. package/src/decimal/convert.ts +105 -63
  270. package/src/decimal/decimalStringToBig.ts +42 -0
  271. package/src/decimal/format.ts +81 -72
  272. package/src/decimal/parse.ts +78 -57
  273. package/src/errors/invalidInput.ts +10 -0
  274. package/src/index.ts +80 -12
  275. package/src/math/fills.ts +32 -17
  276. package/src/math/order.ts +279 -226
  277. package/src/math/position.ts +280 -196
  278. package/src/services/getGasRecommendation.ts +1 -1
  279. package/src/services/getQuote.ts +2 -2
  280. package/src/services/resolveSubscribeQuote.ts +4 -3
  281. package/src/transport/request.ts +7 -2
  282. package/src/types/api.ts +10 -0
  283. package/src/types/provider.ts +39 -16
  284. package/src/types/withdrawal.ts +35 -8
  285. package/src/utils/createSafeFunction.ts +20 -0
  286. package/src/utils/timestampToIsoString.ts +31 -0
  287. package/src/utils/warnOnce.ts +60 -0
  288. package/src/version.ts +1 -1
  289. package/src/websocket/PerpsWsClient.ts +25 -2
  290. package/src/websocket/wsLog.ts +44 -0
  291. package/src/wire/orderAmounts.ts +45 -26
  292. package/src/wire/refuel.ts +56 -20
  293. package/src/wire/transferable.ts +5 -5
  294. package/src/wire/withdraw.ts +3 -5
  295. package/dist/cjs/decimal/requireDecimal.d.ts +0 -4
  296. package/dist/cjs/decimal/requireDecimal.d.ts.map +0 -1
  297. package/dist/cjs/decimal/requireDecimal.js +0 -12
  298. package/dist/cjs/decimal/requireDecimal.js.map +0 -1
  299. package/dist/esm/decimal/requireDecimal.d.ts +0 -5
  300. package/dist/esm/decimal/requireDecimal.d.ts.map +0 -1
  301. package/dist/esm/decimal/requireDecimal.js +0 -7
  302. package/dist/esm/decimal/requireDecimal.js.map +0 -1
  303. package/dist/types/decimal/requireDecimal.d.ts +0 -5
  304. package/dist/types/decimal/requireDecimal.d.ts.map +0 -1
  305. package/src/decimal/requireDecimal.ts +0 -8
package/README.md CHANGED
@@ -94,7 +94,7 @@ Account-specific reads go directly to the venue. `getOrders()` returns the
94
94
  `Order` union with regular, trigger, and TWAP rows. Its default filter includes
95
95
  PENDING, OPEN, PARTIALLY_FILLED, and TRIGGERED. Use `statuses` to read history.
96
96
 
97
- `getWithdrawableBalances()` returns the `(asset, route)` pairs an address can
97
+ `getWithdrawableBalances()` returns the `(asset, category)` pairs an address can
98
98
  withdraw at the venue. Hyperliquid, Lighter, and Ondo implement it. The client
99
99
  joins each row onto the registry `Asset` and drops a row below the per-asset
100
100
  venue minimum. A row carries `withdrawalFee`, in the asset's own units, when a
@@ -119,6 +119,17 @@ floored at zero. A `max` of zero funds no withdrawal. An absent
119
119
  An absent `withdrawalFee` means that no fee source is known. It does not prove
120
120
  that the venue charges no fee. `max` then equals `available`.
121
121
 
122
+ `getWithdrawalTypes()` returns the withdrawal types an address can choose per
123
+ withdrawable holding. Each row has a `source` (`categoryId` and `asset.id`) and
124
+ one option per `WithdrawalType`. An option has its own `max` and the
125
+ `withdrawalOptions` to send unchanged in `WithdrawalParams`, together with the
126
+ row's `source`. Lighter implements it: every row offers `STANDARD`, and the
127
+ collateral asset's perps row also offers `FAST` when Lighter's fast-withdraw
128
+ operator accepts the account. The `FAST` `max` is also capped by the venue's
129
+ fast-withdraw limits. Without a Lighter API key, or when a fast-withdraw read
130
+ fails, Lighter offers `STANDARD` only. The client resolves `undefined` for
131
+ Hyperliquid and Ondo.
132
+
122
133
  ```ts
123
134
  import { PerpsClient, isTwapOrder } from '@lifi/perps-sdk'
124
135
  import { hyperliquidProvider } from '@lifi/perps-sdk-provider-hyperliquid'
@@ -222,10 +233,15 @@ are display and comparison values. No quote grid applies to them.
222
233
  - A derived size truncates onto the lot grid, so a held margin always funds
223
234
  its size: `size × price ≤ margin × leverage`.
224
235
 
225
- The call gives `null` when `amount` or `price` is not a positive
226
- `DecimalString`, when `leverage` is not a positive finite number, or when the
227
- snapped size is zero (below one lot). A sub-cent margin is a valid order when
228
- the lot grid takes the size.
236
+ The call throws `PerpsError(ValidationError)` that names `amount` or `price`
237
+ when it is not a positive decimal, or `leverage` when it is not a finite number
238
+ above zero. It also throws, with the lot size in the message, when the snapped
239
+ size is zero (below one lot). `safeCalculateOrderAmounts` gives `undefined` in
240
+ place of the throw. A sub-cent margin is a valid order when the lot grid takes
241
+ the size.
242
+
243
+ `OrderAmountsInput.leverage` is a `number`. `Position.leverage` is a
244
+ `DecimalString`, so a caller converts it with `safeDecimalStringToNumber`.
229
245
 
230
246
  ```ts
231
247
  import { calculateOrderAmounts } from '@lifi/perps-sdk'
@@ -238,25 +254,21 @@ const amounts = calculateOrderAmounts({
238
254
  leverage: 5,
239
255
  price: '1000',
240
256
  })
241
- // { margin: '100', size: '0.5', notional: '500' }, or null — see above
257
+ // { margin: '100', size: '0.5', notional: '500' }
242
258
  ```
243
259
 
244
260
  Send `amounts.size` as `PlaceOrderParams.size`. It is the same string that the
245
261
  size field shows.
246
262
 
247
- `truncateDecimal(value, decimals)` rounds a decimal string down and pads it to
248
- exactly `decimals` places, which seeds a fixed-decimal input field.
263
+ `roundDecimalString(value, decimals, rounding)` rounds to `decimals` places,
264
+ with `'truncate'` or `'round'` (half-up), and keeps no trailing zeros.
249
265
  `numberToDecimalString(value)` spells a `number` from a venue or browser API as
250
- a plain decimal string, so `1e-7` becomes `'0.0000001'`. `truncateDecimal` and
251
- `decimalToBaseUnits` throw `PerpsError(ValidationError)` for a string that is
252
- not a `DecimalString`, such as `'1e-8'`. `isDecimalString(value)` tests a
253
- value against the same rule.
266
+ a plain decimal string, so `1e-7` becomes `'0.0000001'`.
254
267
 
255
268
  A provider plugin implements the same two rules for its own venue:
256
269
  `snapOrderPrice(market: Market, price: DecimalString): DecimalString` and
257
270
  `snapOrderSize(market: Market, size: DecimalString): DecimalString`.
258
- `estimateLiquidationPrice()` stays on `number`, in and out: it is a
259
- display-tier estimate for a screen, not a wire amount.
271
+ `estimateLiquidationPrice()` takes and gives a decimal string.
260
272
 
261
273
  ### Account-side wire helpers
262
274
 
@@ -268,45 +280,78 @@ passes through a `number`:
268
280
  provider.
269
281
  - `calculateWithdrawMax(row)` gives `WithdrawableBalance.max` from
270
282
  `available`, `withdrawalFee` and `isFeeDeducted`.
271
- - `calculateRefuelAmount({ gasUsd, priceUsd, decimals })` divides the
272
- recommended gas value by the source-token price, rounds **up** onto the
273
- token grid and keeps trailing zeros to `decimals`, so a refuel never lands
274
- short. It gives `undefined` when either input is not greater than zero.
275
-
276
- Each one throws `PerpsError(ValidationError)`, naming the field, when an
277
- input is not a `DecimalString`.
283
+ - `calculateRefuelAmount({ recommendedAmount, recommendedUsd, nativeBalance, priceUsd, decimals })`
284
+ gives the source-token amount that buys the native gas deficit. The
285
+ deficit is `recommendedAmount` minus `nativeBalance`, both in base units,
286
+ valued pro rata on `recommendedUsd`. The helper adds
287
+ `REFUEL_FEE_MARGIN_PERCENT` (20%) for the route fees, divides by
288
+ `priceUsd`, rounds **up** onto the token grid and keeps trailing zeros to
289
+ `decimals`, so a refuel never lands short. It gives `undefined` when the
290
+ wallet already holds the recommendation, or when the recommendation, its
291
+ USD value or the price is not greater than zero.
292
+
293
+ Each one throws `PerpsError(ValidationError)` when an input does not match the
294
+ decimal pattern. `calculateRefuelAmount` also throws when a
295
+ base-unit input is not an integer string.
278
296
 
279
297
  ## Numbers
280
298
 
281
- ### The `DecimalString` contract
282
-
283
- Every monetary or quantity value that crosses a package, provider or network
284
- boundary is a `DecimalString` from `@lifi/perps-types`. It matches
285
- `DECIMAL_PATTERN`: an optional leading `-`, digits, and an optional `.` with
286
- digits. It has no grouping, exponent, currency sign or whitespace. `'0.5'` and
287
- `'-1250'` are `DecimalString`s; `'1e-7'`, `'1,000'`, `'.5'` and `'$1'` are not.
288
-
289
- - `isDecimalString(value)` tests a value against the pattern.
290
- - `truncateDecimal`, `decimalToBaseUnits` and the account-side `wire/`
291
- helpers throw `PerpsError(ValidationError)` for a string that fails the
292
- pattern. `calculateOrderAmounts` gives `null` for one.
293
- - `baseUnitsToDecimal` throws `PerpsError(ValidationError)` for an amount that
294
- is not an integer string, such as `'1.5'` or `'1e3'`.
295
- - No exported signature carries a `Big`. The SDK and the providers compute
296
- with `big.js` internally, and give back a `DecimalString` or a `number`.
297
- - A `number` is for display math and small integers only, such as leverage,
298
- decimals, percentages and chart values. A `number` never goes to a venue.
299
+ ### Decimal strings
300
+
301
+ Every monetary or quantity value is a decimal string (`DecimalString` is an
302
+ alias of `string`). Inside the SDK every calculation uses `big.js`; no exported
303
+ signature carries a `Big` or does float math on an amount.
304
+
305
+ - Display shows the venue string unchanged. The SDK tests a string only where
306
+ it sorts or calculates with it.
307
+ - To read a string for a calculation, the SDK tests `DECIMAL_PATTERN` (an
308
+ optional `-`, digits, and an optional `.` with digits), then reads it with
309
+ `big.js`. The SDK does not clean the string. A display form such as `'$4'`
310
+ or `'0.05%'`, or an exponent form such as `'1e-7'`, fails the test and
311
+ throws.
312
+ - `isDecimalString(value)` tests a value against `DECIMAL_PATTERN`. It never
313
+ throws.
314
+ - `decimalStringToNumber` is for chart and pixel values only. A `number` holds
315
+ about 15 significant digits.
316
+
317
+ ### `X` and `safeX`
318
+
319
+ Each fallible function has two forms:
320
+
321
+ - `X(...)` throws `PerpsError(ValidationError)` on an input that does not
322
+ match the decimal pattern, or on a degenerate input such as a zero divisor.
323
+ The message names the parameter.
324
+ - `safeX(...)` calls `X`, catches any error, logs a `console.warn` with the
325
+ function name and the error, and gives `undefined`. It has no default: the
326
+ caller writes `?? fallback`.
327
+
328
+ The usage of a value sets the form. A money-path value becomes, or limits, a
329
+ user action sent to a venue: order size, price, margin, fees, slippage, close
330
+ size, TP/SL, and withdraw, transfer or deposit amounts. It uses `X`. A display
331
+ value already exists: position, order and fill rows, PnL, history, account
332
+ totals and WebSocket updates. It uses `safeX`, and the row stays.
333
+
334
+ | Group | Functions |
335
+ | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
336
+ | Arithmetic | `addDecimalString`, `addDecimalStrings`, `subtractDecimalString`, `multiplyDecimalString`, `divideDecimalString` (40 places, half-up), `divideDecimalStringRoundDown` (40 places, truncate) |
337
+ | Compare | `compareDecimalStrings`, `isDecimalStringGreaterThan`, `isDecimalStringZero` |
338
+ | Convert | `roundDecimalString`, `scaledIntegerToDecimalString`, `numberToDecimalString`, `decimalStringToNumber`, `decimalStringToScaledInteger`, `timestampToIsoString` |
339
+ | Formulas | every `calculate*`, `estimate*`, `apply*`, `walkOrderbook`, `buildQuote`, `resolveCloseSize` and `wouldImmediatelyLiquidate` in `math/` |
340
+ | Wire | `calculateOrderAmounts` |
341
+
342
+ `format*` is display only. It formats with `big.js`, shows a string that does
343
+ not match the decimal pattern unchanged, and shows the placeholder for `null`
344
+ or `undefined`. It never throws and has no `safe` form.
299
345
 
300
346
  ### Three tiers
301
347
 
302
- | Tier | Holds | In → out | Rule |
303
- | ---------- | -------------------------------------------------------- | ----------------------------------------- | ----------------------------------------------------------- |
304
- | `decimal/` | `parseDecimal`, `<a>To<B>` conversions, `format*` | representation → representation | No domain words. Conversions throw on invalid input. |
305
- | `math/` | display-tier formulas (`calculate*`, `estimate*`, …) | `number` → `number` | Results are for `format*`. Never send one to a venue. |
306
- | `wire/` | `calculateOrderAmounts`, `snapOrder*`, account helpers | `DecimalString` → `DecimalString` | Venue-ready values, snapped by the market's own provider. |
348
+ | Tier | Holds | In → out | Rule |
349
+ | ---------- | ------------------------------------------------------------- | ----------------- | ---------------------------------------------------------- |
350
+ | `decimal/` | arithmetic, compare, `<a>To<B>` conversions, `format*` | string → string; `number` from `decimalStringToNumber` and `decimalStringToScaledInteger` | No domain words. See the vocabulary for each failure mode. |
351
+ | `math/` | trading formulas (`calculate*`, `estimate*`, …) | string → string | Estimates for a screen or a preview. |
352
+ | `wire/` | `calculateOrderAmounts`, `snapOrder*`, account helpers | string → string | Venue-ready values, snapped by the market's own provider. |
307
353
 
308
- A value for a venue comes from `wire/` or from a provider field. A value for a
309
- screen goes through `parseDecimal`, then `math/`, then `format*`.
354
+ A value for a venue comes from `wire/` or from a provider field.
310
355
 
311
356
  ### Vocabulary
312
357
 
@@ -314,17 +359,18 @@ One verb names one kind of transformation.
314
359
 
315
360
  | Verb | Input → output | Fallible | Example |
316
361
  | --------------------------- | -------------------------------------------------- | --------------------------------- | ---------------------------------------------------------- |
317
- | `parse<X>` | `string` → typed value, or `undefined` on garbage | yes | `parseDecimal` |
318
- | `<a>To<B>` | representation A → B, no domain meaning; A and B are each `baseUnits`, `decimal`, `decimalString` or `number` | throws on invalid, never guesses | `decimalToBaseUnits`, `baseUnitsToDecimal`, `numberToDecimalString` |
319
- | `format<X>` | value → human string (grouped, localised) | no; renders a placeholder | `formatUsd`, `formatNumber` |
320
- | `snap<X>` | `DecimalString` → venue-grid `DecimalString` | throws on a missing grid | `snapOrderSize`, `snapOrderPrice`, `truncateDecimal` |
321
- | `calculate<X>` | values → exact result by formula | no | `calculateNotionalValue`, `calculateOrderAmounts` |
322
- | `estimate<X>` | values → approximation or forward-looking value | no | `estimateLiquidationPrice`, `estimateAverageEntryPrice` |
323
- | `resolve<X>` | candidates and rules → the one to use | no | `resolveCloseSize`, `resolveQuote` |
324
- | `validate<X>` | values → ok or error result | — | — |
325
- | `is<X>` `would<X>` `has<X>` | → `boolean` | — | `isDecimalString`, `wouldImmediatelyLiquidate` |
362
+ | `parse<X>` | `string` → typed value, or `undefined` on garbage | yes | `parseStoredRecord` |
363
+ | `<a>To<B>` | representation A → B, no domain meaning; A and B are each `scaledInteger`, `decimalString`, `number`, `timestamp` or `isoString` | throws on invalid; `safe<a>To<B>` gives `undefined` | `scaledIntegerToDecimalString`, `numberToDecimalString`, `decimalStringToNumber` |
364
+ | `format<X>` | value → human string (grouped, localised) | no; renders the value or a placeholder | `formatUsd`, `formatNumber` |
365
+ | `snap<X>` | `DecimalString` → venue-grid `DecimalString` | throws on a missing grid | `snapOrderSize`, `snapOrderPrice` |
366
+ | `calculate<X>` | values → exact result by formula | throws; `safe` form | `calculateNotionalValue`, `calculateOrderAmounts` |
367
+ | `estimate<X>` | values → approximation or forward-looking value | throws; `safe` form | `estimateLiquidationPrice`, `estimateAverageEntryPrice` |
368
+ | `resolve<X>` | candidates and rules → the one to use | throws; `safe` form | `resolveCloseSize`, `resolveQuote` |
369
+ | `is<X>` | value → `boolean`, a pattern test | no | `isDecimalString` |
370
+ | `is<X>` compare predicates | decimal strings → `boolean` | throws; `safe` form | `isDecimalStringZero`, `isDecimalStringGreaterThan` |
371
+ | `would<X>` `has<X>` | → `boolean` | throws; `safe` form | `wouldImmediatelyLiquidate` |
326
372
  | `build<X>` | inputs → payload struct | — | `buildQuote` |
327
- | `aggregate<X>` | collection → totals | — | — |
373
+ | `aggregate<X>` | collection → total | throws; `safe` form | `addDecimalStrings` |
328
374
 
329
375
  No function in `decimal/`, `math/` or `wire/` uses a `derive`, `predict` or
330
376
  `convert` verb, or a bare noun as its name. The boundary spec checks every
@@ -3,11 +3,11 @@ import { ActionType } from '@lifi/perps-types';
3
3
  import type { Address } from 'viem';
4
4
  import { type GetOrderParams } from '../services/getOrder.js';
5
5
  import { type GetOrdersParams } from '../services/getOrders.js';
6
- import type { BuildProviderSetupParams, CancelOrdersParams, CancelTwapOrderParams, CreateReferralCodeActionParams, ExecuteMetaActionParams, GetAccountResult, GetDepositFlowParams, GetPortfolioHistoryParams, GetSetupParams, GetWithdrawableBalancesParams, GetWithdrawFlowParams, ModifyOrdersParams, PerpsClientOptions, PlaceOrderParams, PlaceTriggerOrderParams, PlaceTwapOrderParams, ProviderSetup, SendAssetActionParams, SetupChecklistItem, SubmitOnboardingParams, WithdrawParams } from '../types/api.js';
6
+ import type { BuildProviderSetupParams, CancelOrdersParams, CancelTwapOrderParams, CreateReferralCodeActionParams, ExecuteMetaActionParams, GetAccountResult, GetDepositFlowParams, GetPortfolioHistoryParams, GetSetupParams, GetWithdrawableBalancesParams, GetWithdrawalTypesParams, GetWithdrawFlowParams, ModifyOrdersParams, PerpsClientOptions, PlaceOrderParams, PlaceTriggerOrderParams, PlaceTwapOrderParams, ProviderSetup, SendAssetActionParams, SetupChecklistItem, SubmitOnboardingParams, WithdrawParams } from '../types/api.js';
7
7
  import type { SDKRequestOptions, SwitchChainHook } from '../types/config.js';
8
8
  import type { DepositFlow } from '../types/deposit.js';
9
9
  import type { PerpsSDKClient, SignActionProgress } from '../types/provider.js';
10
- import type { WithdrawableBalance, WithdrawFlow } from '../types/withdrawal.js';
10
+ import type { WithdrawableBalance, WithdrawalSourceTypes, WithdrawFlow } from '../types/withdrawal.js';
11
11
  export declare class PerpsClient {
12
12
  private sdkClient;
13
13
  private providerMetadataCache;
@@ -54,6 +54,7 @@ export declare class PerpsClient {
54
54
  getDepositFlow(params: GetDepositFlowParams, options?: SDKRequestOptions): Promise<DepositFlow | undefined>;
55
55
  getWithdrawFlow(params: GetWithdrawFlowParams, options?: SDKRequestOptions): Promise<WithdrawFlow | undefined>;
56
56
  getWithdrawableBalances(params: GetWithdrawableBalancesParams, options?: SDKRequestOptions): Promise<WithdrawableBalance[] | undefined>;
57
+ getWithdrawalTypes(params: GetWithdrawalTypesParams, options?: SDKRequestOptions): Promise<WithdrawalSourceTypes[] | undefined>;
57
58
  getPortfolioHistory(params: GetPortfolioHistoryParams, options?: SDKRequestOptions): Promise<PortfolioHistoryResponse>;
58
59
  checkSetup(params: GetSetupParams): Promise<ProviderSetup>;
59
60
  private resolveSetupSettings;
@@ -1 +1 @@
1
- {"version":3,"file":"PerpsClient.d.ts","sourceRoot":"","sources":["../../../src/client/PerpsClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PerpsClient.d.ts","sourceRoot":"","sources":["../../../src/client/PerpsClient.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,9 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.PerpsClient = void 0;
7
4
  const perps_types_1 = require("@lifi/perps-types");
8
- const big_js_1 = __importDefault(require("big.js"));
5
+ const compare_js_1 = require("../decimal/compare.js");
6
+ const parse_js_1 = require("../decimal/parse.js");
9
7
  const PerpsError_js_1 = require("../errors/PerpsError.js");
10
8
  const assetRegistry_js_1 = require("../registry/assetRegistry.js");
11
9
  const marketRegistry_js_1 = require("../registry/marketRegistry.js");
@@ -93,7 +91,7 @@ function assertAllSucceeded(results) {
93
91
  }
94
92
  function isNonNegativeDecimal(value) {
95
93
  try {
96
- return new big_js_1.default(value).gte(0);
94
+ return !(0, compare_js_1.isDecimalStringGreaterThan)('0', (0, parse_js_1.unknownToDecimalString)(value, 'withdrawalFee', 'perps-sdk'));
97
95
  }
98
96
  catch {
99
97
  return false;
@@ -334,18 +332,23 @@ class PerpsClient {
334
332
  if (minimum !== undefined) {
335
333
  let floor;
336
334
  try {
337
- floor = new big_js_1.default(minimum);
335
+ floor = (0, parse_js_1.unknownToDecimalString)(minimum, 'minWithdrawalAmount', 'perps-sdk');
338
336
  }
339
337
  catch {
340
338
  throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, `Asset '${asset.id}' field \`minWithdrawalAmount\` is not a valid decimal.`);
341
339
  }
342
- if (new big_js_1.default(row.available).lt(floor)) {
340
+ if ((0, compare_js_1.isDecimalStringGreaterThan)(floor, row.available)) {
343
341
  return [];
344
342
  }
345
343
  }
346
344
  if (row.withdrawalFee === undefined) {
347
345
  return [
348
- { asset, route: row.route, available: row.available, max: row.max },
346
+ {
347
+ asset,
348
+ categoryId: row.categoryId,
349
+ available: row.available,
350
+ max: row.max,
351
+ },
349
352
  ];
350
353
  }
351
354
  if (!isNonNegativeDecimal(row.withdrawalFee)) {
@@ -354,7 +357,7 @@ class PerpsClient {
354
357
  return [
355
358
  {
356
359
  asset,
357
- route: row.route,
360
+ categoryId: row.categoryId,
358
361
  available: row.available,
359
362
  max: row.max,
360
363
  withdrawalFee: row.withdrawalFee,
@@ -365,6 +368,10 @@ class PerpsClient {
365
368
  ];
366
369
  });
367
370
  }
371
+ async getWithdrawalTypes(params, options) {
372
+ const plugin = this.requireProvider(params.provider);
373
+ return plugin.getWithdrawalTypes?.({ address: params.address }, options);
374
+ }
368
375
  async getPortfolioHistory(params, options) {
369
376
  const plugin = this.requireProvider(params.provider);
370
377
  if (typeof plugin.getPortfolioHistory !== 'function') {
@@ -1 +1 @@
1
- {"version":3,"file":"PerpsClient.js","sourceRoot":"","sources":["../../../src/client/PerpsClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PerpsClient.js","sourceRoot":"","sources":["../../../src/client/PerpsClient.ts"],"names":[],"mappings":";;;AAwBA,mDAO0B;AAE1B,sDAAkE;AAClE,kDAA4D;AAC5D,2DAAoD;AACpD,mEAA+E;AAC/E,qEAAiE;AACjE,iEAA0D;AAC1D,mEAA4D;AAC5D,6DAAsE;AACtE,yDAGgC;AAChC,2DAGiC;AACjC,iEAA0D;AA6C1D,8DAAgE;AAChE,gEAAmE;AACnE,4DAIgC;AAChC,iEAA0D;AAC1D,6DAAyE;AAGzE,SAAS,UAAU,CAAC,UAA0B;IAC5C,OAAO,UAAU,CAAC,QAAQ,IAAI,MAAM,CAAC,gBAAgB,CAAA;AACvD,CAAC;AAED,MAAM,OAAO,GAAwB,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,yBAAW,CAAC,CAAC,CAAA;AACxE,MAAM,MAAM,GAAwB,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,yBAAW,CAAC,CAAC,CAAA;AAOvE,SAAS,mBAAmB,CAAC,QAAkB;IAC7C,MAAM,MAAM,GAAG,CAAC,IAAgB,EAAE,OAAe,EAAS,EAAE;QAC1D,MAAM,IAAI,0BAAU,CAClB,4BAAc,CAAC,QAAQ,EACvB,aAAa,QAAQ,CAAC,GAAG,WAAW,IAAI,KAAK,OAAO,qBAAqB;YACvE,uDAAuD,CAC1D,CAAA;IACH,CAAC,CAAA;IACD,KAAK,MAAM,UAAU,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAClE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAA;QACrD,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAA;QACpD,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAChE,KAAK,MAAM,UAAU,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACxC,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAA;QAChD,CAAC;QACD,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnE,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAA;QAC3D,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAA;QAC/C,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACtE,MAAM,CACJ,UAAU,CAAC,IAAI,EACf,iBAAiB,UAAU,CAAC,MAAM,4CAA4C,CAC/E,CAAA;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAChD,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,CACpC,CAAA;QACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,oCAAoC,CAAC,CAAA;QAC/D,CAAC;IACH,CAAC;AACH,CAAC;AAGD,SAAS,WAAW,CAAC,UAAuB;IAC1C,OAAO,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,UAAU,CAAC,MAAM,KAAK,yBAAW,CAAC,IAAI,CAAA;AAC9E,CAAC;AAED,SAAS,cAAc,CAAC,QAAgC;IACtD,OAAO,IAAI,GAAG,CACZ,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CACnE,CAAA;AACH,CAAC;AAGD,SAAS,cAAc,CACrB,UAAuB,EACvB,QAAgC;IAEhC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,MAAM,GACV,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,EAAE,CAAA;IAC5E,OAAO,CACL,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QACjC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC3C,OAAO,CACL,KAAK,CAAC,MAAM,GAAG,CAAC;YAChB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAC5B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CACzD,CACF,CAAA;IACH,CAAC,CAAC,IAAI,IAAI,CACX,CAAA;AACH,CAAC;AAMD,SAAS,kBAAkB,CACzB,UAAuB,EACvB,QAAgC;IAEhC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CACnE,CAAA;IACD,MAAM,KAAK,GACT,QAAQ;SACL,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC;QACpD,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI,CAAA;IAC1D,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC9C,CAAC;AAGD,SAAS,kBAAkB,CAAC,OAAuB;IACjD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAC/C,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,IAAI,0BAAU,CAClB,OAAO,CAAC,SAAS,IAAI,4BAAc,CAAC,gBAAgB,EACpD,OAAO,CAAC,KAAK,CACd,CAAA;IACH,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,IAAI,CAAC;QACH,OAAO,CAAC,IAAA,uCAA0B,EAChC,GAAG,EACH,IAAA,iCAAsB,EAAC,KAAK,EAAE,eAAe,EAAE,WAAW,CAAC,CAC5D,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAMD,SAAS,oBAAoB,CAC3B,QAAkB,EAClB,MAAkB;IAElB,MAAM,UAAU,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAC9D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CACzB,CAAA;IACD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,0BAAU,CAClB,4BAAc,CAAC,QAAQ,EACvB,aAAa,QAAQ,CAAC,GAAG,8BAA8B,MAAM,IAAI,CAClE,CAAA;IACH,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAWD,SAAS,sBAAsB,CAC7B,QAAkB,EAClB,KAAmB;IAEnB,MAAM,MAAM,GAA0D,EAAE,CAAA;IACxE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,EAAE,CAAC;YACzE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACxB,SAAQ;QACV,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC5C,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAUD,MAAa,WAAW;IACd,SAAS,CAAgB;IACzB,qBAAqB,GAA0B,IAAI,GAAG,EAAE,CAAA;IACxD,WAAW,CAA0C;IACrD,YAAY,CAA6B;IAEjD,YAAY,OAA2B;QACrC,IAAI,CAAC,SAAS,GAAG,IAAA,wCAAiB,EAAC;YACjC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC,CAAA;QACF,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAA;IACzC,CAAC;IAQD,aAAa,CAAC,UAAwC;QACpD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAA;QAC7B,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE;YAClD,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW;YAC3B,YAAY,EAAE,IAAI;SACnB,CAAC,CAAA;IACJ,CAAC;IASD,cAAc,CAAC,WAAwC;QACrD,IAAI,CAAC,YAAY,GAAG,WAAW,CAAA;IACjC,CAAC;IAQD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,QAAgB;QAChD,IAAI,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACvD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAA,8BAAY,EAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACxD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;YAC1C,CAAC;YACD,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACrD,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,IAAI,0BAAU,CAC1B,4BAAc,CAAC,QAAQ,EACvB,yBAAyB,QAAQ,EAAE,CACpC,CAAA;YACD,KAAK,CAAC,IAAI,GAAG,iBAAiB,CAAA;YAC9B,MAAM,KAAK,CAAA;QACb,CAAC;QACD,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QAC7B,OAAO,QAAQ,CAAA;IACjB,CAAC;IAOO,eAAe,CAAC,QAAgB;QACtC,OAAO,IAAA,oCAAe,EAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAClD,CAAC;IAUD,KAAK,CAAC,SAAS,CACb,MAAuB,EACvB,OAA2B;QAE3B,OAAO,IAAA,wBAAW,EAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IACrD,CAAC;IAUD,KAAK,CAAC,QAAQ,CACZ,MAAsB,EACtB,OAA2B;QAE3B,OAAO,IAAA,sBAAU,EAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IACpD,CAAC;IAUO,KAAK,CAAC,oBAAoB,CAChC,QAAgB,EAChB,UAA0B,EAC1B,OAAgB;QAEhB,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;QAC7C,IAAI,OAAO,MAAM,CAAC,oBAAoB,KAAK,UAAU,EAAE,CAAC;YACtD,OAAO,EAAE,CAAA;QACX,CAAC;QACD,OAAO,MAAM,CAAC,oBAAoB,CAChC,UAAU,CAAC,IAAI,EACf,OAAO,EACP,UAAU,CAAC,MAAM,CAClB,CAAA;IACH,CAAC;IAcO,KAAK,CAAC,mBAAmB,CAC/B,QAAgB,EAChB,OAAgB,EAChB,QAAkB,EAClB,OAAqB,EACrB,UAAmD;QAEnD,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;QAC7C,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;YAC7C,MAAM,IAAI,0BAAU,CAClB,4BAAc,CAAC,QAAQ,EACvB,aAAa,QAAQ,mCAAmC,CACzD,CAAA;QACH,CAAC;QACD,MAAM,MAAM,GAAuB,EAAE,CAAA;QACrC,KAAK,MAAM,KAAK,IAAI,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;YAC9D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAChD,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,KAAK,CACZ,CAAA;YACD,MAAM,CAAC,IAAI,CACT,GAAG,CAAC,MAAM,MAAM,CAAC,WAAW,CAC1B,KAAK,CAAC,UAAU,CAAC,aAAa,EAC9B,KAAK,CAAC,KAAK,EACX,OAAO,EACP,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CACvE,CAAC,CACH,CAAA;QACH,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAOO,KAAK,CAAC,oBAAoB,CAChC,QAAgB,EAChB,OAAgB,EAChB,OAAuB;QAEvB,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;QAC7C,IAAI,OAAO,MAAM,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;YAClD,MAAM,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACjD,CAAC;IACH,CAAC;IAOO,oBAAoB,CAC1B,QAAgB,EAChB,OAAuB;QAEvB,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;QAC7C,MAAM,WAAW,GAAG,MAAM,CAAC,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAC5D,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,OAAO,CAAA;QAChB,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACnD,OAAO,MAAM,CAAA;YACf,CAAC;YACD,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAC/C,OAAO,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,YAAY,EAAE,CAAA;QAC1E,CAAC,CAAC,CAAA;IACJ,CAAC;IASO,KAAK,CAAC,oBAAoB,CAChC,UAA0B,EAC1B,OAAqB;QAErB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAA;QACxC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,MAAM,aAAa,GAAG,IAAA,wCAAuB,EAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAClE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,MAAM,CAAA;QACf,CAAC;QACD,OAAO,IAAA,mCAAkB,EAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;IACrE,CAAC;IAOO,KAAK,CAAC,wBAAwB,CACpC,OAAqB;QAErB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAA;QACxC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,0BAAU,CAClB,4BAAc,CAAC,QAAQ,EACvB,+EAA+E,CAChF,CAAA;QACH,CAAC;QACD,MAAM,aAAa,GAAG,IAAA,oCAAmB,EAAC,OAAO,CAAC,CAAA;QAClD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,MAAM,CAAA;QACf,CAAC;QACD,OAAO,IAAA,mCAAkB,EAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;IACrE,CAAC;IAmBO,uBAAuB,CAC7B,UAA0B,EAC1B,UAA8B,EAC9B,UAAmD;QAEnD,MAAM,GAAG,GAAuB,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAA;QAC7D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,GAAG,CAAC,UAAU,GAAG,UAAU,CAAA;QAC7B,CAAC;QACD,MAAM,MAAM,GAAG,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAA;QACtD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,GAAG,CAAC,UAAU,GAAG,MAAM,CAAA;YACvB,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAA;YACrC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,GAAG,CAAC,aAAa,GAAG,CAAC,OAAO,EAAE,EAAE,CAC9B,IAAA,mCAAkB,EAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAA;YACpD,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAcO,KAAK,CAAC,uBAAuB,CACnC,QAAgB,EAChB,OAAgB,EAChB,IAAgB;QAEhB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QACzD,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAC7C,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,CAAC,IAAI,CAAC,CACP,CAAA;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAQD,KAAK,CAAC,WAAW,CACf,MAAS,EACT,MAA0E;QAE1E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAChE,MAAM,UAAU,GAAG,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QACzD,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,GAC3C,MAAM,IAAI,CAAC,oBAAoB,CAC7B,MAAM,CAAC,QAAQ,EACf,UAAU,EACV,MAAM,CAAC,OAAO,CACf,CAAA;QACH,OAAO,IAAA,8BAAY,EAAC,IAAI,CAAC,SAAS,EAAE;YAClC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,aAAa;YACb,MAAM;YACN,MAAM,EAAE;gBACN,GAAG,MAAM,CAAC,MAAM;gBAChB,GAAG,YAAY;aACM;SACxB,CAAC,CAAA;IACJ,CAAC;IAaD,KAAK,CAAC,UAAU,CACd,MAGC,EACD,OAA2B;QAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACpD,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC7C,IAAA,0BAAY,EAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC;YAC7C,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC;SAC1C,CAAC,CAAA;QACF,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;QACtE,OAAO,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,CAAA;IAClC,CAAC;IAeD,KAAK,CAAC,iBAAiB,CACrB,MAIC,EACD,OAA2B;QAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACpD,OAAO,MAAM,CAAC,iBAAiB,CAC7B,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAClD,OAAO,CACR,CAAA;IACH,CAAC;IAuBD,KAAK,CAAC,mBAAmB,CACvB,MAIC,EACD,OAA2B;QAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACpD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAClD,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EACtD,OAAO,CACR,CAAA;QACD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAA,qCAAiB,EAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;QACnE,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QACrB,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAChD,MAAM,OAAO,GAAG,MAAM,IAAA,0BAAY,EAChC,IAAI,CAAC,SAAS,EACd,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,EACtD,OAAO,CACR,CAAA;QACD,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC,iBAAiB,CAClD,OAAO,EACP,OAAO,CAAC,SAAS,CAClB,CAAA;QACD,OAAO;YACL,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,KAAK,EAAE,IAAA,iCAAc,EAAC,MAAM,CAAC,UAAU,CAAC;YACxC,GAAG,EAAE,eAAe;YACpB,IAAI,EAAE,eAAe;SACtB,CAAA;IACH,CAAC;IAWD,0BAA0B,CAAC,QAAkB;QAC3C,OAAO,IAAI,CAAC,eAAe,CACzB,QAAQ,CAAC,MAAM,CAAC,UAAU,CAC3B,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC;IASD,iBAAiB,CACf,OAAwB,EACxB,SAAqB;QAErB,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAC7D,OAAO,EACP,SAAS,CACV,CAAA;IACH,CAAC;IAYD,KAAK,CAAC,aAAa,CACjB,QAAgB,EAChB,OAAgB,EAChB,OAA2B;QAE3B,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAAA;IAC3E,CAAC;IAYD,KAAK,CAAC,cAAc,CAClB,MAA4B,EAC5B,OAA2B;QAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACpD,OAAO,MAAM,CAAC,cAAc,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAA;IACtE,CAAC;IAYD,KAAK,CAAC,eAAe,CACnB,MAA6B,EAC7B,OAA2B;QAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACpD,OAAO,MAAM,CAAC,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAA;IACvE,CAAC;IAsBD,KAAK,CAAC,uBAAuB,CAC3B,MAAqC,EACrC,OAA2B;QAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACpD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,uBAAuB,EAAE,CACjD,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,EAC3B,OAAO,CACR,CAAA;QACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAA,mCAAgB,EAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;QAClE,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACvC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,EAAE,CAAA;YACX,CAAC;YACD,MAAM,OAAO,GAAG,KAAK,CAAC,mBAAmB,CAAA;YACzC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,IAAI,KAAa,CAAA;gBACjB,IAAI,CAAC;oBACH,KAAK,GAAG,IAAA,iCAAsB,EAC5B,OAAO,EACP,qBAAqB,EACrB,WAAW,CACZ,CAAA;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,IAAI,0BAAU,CAClB,4BAAc,CAAC,QAAQ,EACvB,UAAU,KAAK,CAAC,EAAE,yDAAyD,CAC5E,CAAA;gBACH,CAAC;gBACD,IAAI,IAAA,uCAA0B,EAAC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACrD,OAAO,EAAE,CAAA;gBACX,CAAC;YACH,CAAC;YACD,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBACpC,OAAO;oBACL;wBACE,KAAK;wBACL,UAAU,EAAE,GAAG,CAAC,UAAU;wBAC1B,SAAS,EAAE,GAAG,CAAC,SAAS;wBACxB,GAAG,EAAE,GAAG,CAAC,GAAG;qBACb;iBACF,CAAA;YACH,CAAC;YACD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC7C,MAAM,IAAI,0BAAU,CAClB,4BAAc,CAAC,QAAQ,EACvB,aAAa,MAAM,CAAC,QAAQ,oBAAoB,KAAK,CAAC,EAAE,kEAAkE,GAAG,CAAC,aAAa,IAAI,CAChJ,CAAA;YACH,CAAC;YACD,OAAO;gBACL;oBACE,KAAK;oBACL,UAAU,EAAE,GAAG,CAAC,UAAU;oBAC1B,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,GAAG,EAAE,GAAG,CAAC,GAAG;oBACZ,aAAa,EAAE,GAAG,CAAC,aAAa;oBAChC,GAAG,CAAC,GAAG,CAAC,aAAa,KAAK,SAAS;wBACjC,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC;iBAC1C;aACF,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAaD,KAAK,CAAC,kBAAkB,CACtB,MAAgC,EAChC,OAA2B;QAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACpD,OAAO,MAAM,CAAC,kBAAkB,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAA;IAC1E,CAAC;IAcD,KAAK,CAAC,mBAAmB,CACvB,MAAiC,EACjC,OAA2B;QAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACpD,IAAI,OAAO,MAAM,CAAC,mBAAmB,KAAK,UAAU,EAAE,CAAC;YACrD,MAAM,IAAI,0BAAU,CAClB,4BAAc,CAAC,QAAQ,EACvB,aAAa,MAAM,CAAC,QAAQ,2CAA2C,CACxE,CAAA;QACH,CAAC;QACD,OAAO,MAAM,CAAC,mBAAmB,CAC/B,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,EAChD,OAAO,CACR,CAAA;IACH,CAAC;IAiBD,KAAK,CAAC,UAAU,CAAC,MAAsB;QACrC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;QAEpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QACzD,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CACtC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,aAAa,KAAK,2BAAa,CAAC,IAAI,CAChE,CAAA;QAOD,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;YACpE,OAAO;gBACL,aAAa,EAAE,KAAK;gBACpB,KAAK,EAAE,EAAE;gBACT,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,EAAE;aACd,CAAA;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QACnE,MAAM,cAAc,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAA;QAC/C,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CACxC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CACrD,CAAA;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;QAEnD,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAKlD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAClD,QAAQ,EACR,OAAO,EACP,SAAS,CACV,CAAA;QAKD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;QAC/D,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,uBAAuB,IAAI,EAAE,CAAC,CAAA;QACvE,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK;aAC7B,MAAM,CAAC,uCAAqB,CAAC;aAC7B,MAAM,CACL,CAAC,UAAU,EAAE,EAAE,CACb,UAAU,CAAC,OAAO,KAAK,IAAI;YAC3B,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;YACtC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CACnC;aACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;aAC7C,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACpB,UAAU;YACV,SAAS,EACP,UAAU,CAAC,OAAO,KAAK,IAAI;gBACzB,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;gBACrC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;YACvC,QAAQ,EAAE,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC;YAC9C,YAAY,EAAE,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC;SACvD,CAAC,CAAC,CAAA;QAEL,MAAM,IAAI,CAAC,UAAU,CACnB,QAAQ,EACR,OAAO,EACP,YAAY,CAAC,MAAM,CACjB,CAAC,UAAU,EAAE,EAAE,CACb,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,UAAU,CAAC,MAAM,KAAK,yBAAW,CAAC,GAAG,CACvE,EACD,SAAS,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CACnE,CAAA;QAED,OAAO;YACL,aAAa,EAAE,IAAI;YACnB,KAAK,EAAE,OAAO;YACd,OAAO,EACL,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;YACnE,SAAS;SACV,CAAA;IACH,CAAC;IAOO,KAAK,CAAC,oBAAoB,CAChC,QAAgB,EAChB,OAAgB;QAEhB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;QACnD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YACvD,OAAO,EAAE,CAAA;QACX,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;QACpD,OAAO,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC7D,CAAC;IAYO,KAAK,CAAC,UAAU,CACtB,QAAgB,EAChB,OAAgB,EAChB,SAAwB,EACxB,aAA4B;QAE5B,KAAK,MAAM,UAAU,IAAI,SAAS,EAAE,CAAC;YAGnC,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAChC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,CACzD,CAAA;YACD,IAAI,OAAO,EAAE,CAAC;gBACZ,SAAQ;YACV,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,OAAO,EAAE;oBACpE,UAAU;iBACX,CAAC,CAAA;gBACF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAC/C,QAAQ,EACR,OAAO,EACP,IAAI,CACL,CAAA;oBACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;wBACzB,MAAM,IAAI,CAAC,oBAAoB,CAAC;4BAC9B,QAAQ;4BACR,OAAO;4BACP,KAAK,EAAE,CAAC,IAAI,CAAC;4BACb,aAAa,EAAE,CAAC,MAAM,CAAC;yBACxB,CAAC,CAAA;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CACX,2BAA2B,UAAU,CAAC,IAAI,UAAU,QAAQ,qDAAqD,EACjH,KAAK,CACN,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAMO,KAAK,CAAC,yBAAyB,CACrC,QAAgB,EAChB,OAAgB,EAChB,WAA0B;QAE1B,MAAM,aAAa,GAAG,CAAC,UAA0B,EAAU,EAAE,CAC3D,UAAU,CAAC,aAAa,KAAK,2BAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACzD,MAAM,YAAY,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CACxC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,gBAAgB,CAAC;gBACrC,CAAC,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAC5C,CAAA;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;QACnD,MAAM,UAAU,GAAiB,EAAE,CAAA;QACnC,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAA;YAC9B,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,GAC3C,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;YAChE,MAAM,WAAW,GAAG,MAAM,EAAE,kBAAkB;gBAC5C,CAAC,CAAC,MAAM,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC;gBAClD,CAAC,CAAC,EAAE,CAAA;YACN,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,8BAAY,EAAC,IAAI,CAAC,SAAS,EAAE;gBACrD,QAAQ;gBACR,OAAO;gBACP,aAAa;gBACb,MAAM;gBACN,MAAM,EAAE;oBACN,GAAG,YAAY;oBACf,GAAG,WAAW;iBACU;aAC3B,CAAC,CAAA;YACF,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAA;QAC7B,CAAC;QAED,OAAO,UAAU,CAAA;IACnB,CAAC;IAYD,KAAK,CAAC,kBAAkB,CACtB,MAAgC;QAEhC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;QAEpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QACzD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAClD,QAAQ,EACR,OAAO,EACP,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CACnC,CAAA;QACD,OAAO,EAAE,OAAO,EAAE,CAAA;IACpB,CAAC;IAQO,KAAK,CAAC,oBAAoB,CAChC,MAAkC;QAElC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,MAAM,CAAA;QAE1D,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAA;QACrC,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QAC1D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QACzD,MAAM,UAAU,GAAG,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QACzD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,CAAC,oBAAoB,CACvD,QAAQ,EACR,UAAU,EACV,OAAO,CACR,CAAA;QAED,MAAM,QAAQ,GAAG,MAAM,IAAA,gCAAa,EAAC,IAAI,CAAC,SAAS,EAAE;YACnD,QAAQ;YACR,OAAO;YAGP,aAAa,EAAE,aAAa,IAAI,OAAO;YACvC,MAAM;YACN,OAAO,EAAE,aAAa;SACvB,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;QAErE,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QAE3D,kBAAkB,CAAC,OAAO,CAAC,CAAA;QAE3B,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,CAAA;IACjC,CAAC;IAeD,KAAK,CAAC,0BAA0B,CAAC,MAKhC;QACC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,CAAA;QAErD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QACzD,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,CAAA;QACrE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,0BAAU,CAClB,4BAAc,CAAC,QAAQ,EACvB,WAAW,IAAI,CAAC,MAAM,gBAAgB,QAAQ,SAAS,CACxD,CAAA;QACH,CAAC;QAED,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CACjC,CAAC,IAAI,EAAE,EAAE,CACP,CAAC,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,CAC1E,CAAA;QACD,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,IAAI,0BAAU,CAClB,4BAAc,CAAC,QAAQ,EACvB,eAAe,IAAI,CAAC,MAAM,UAAU,QAAQ,kBAAkB,YAAY,CAAC,UAAU,CAAC,IAAI,oCAAoC,CAC/H,CAAA;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;QAK1E,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAM;QACR,CAAC;QAED,MAAM,IAAI,CAAC,oBAAoB,CAAC;YAC9B,QAAQ;YACR,OAAO;YACP,KAAK,EAAE,CAAC,IAAI,CAAC;YACb,aAAa,EAAE,CAAC,MAAM,CAAC;SACxB,CAAC,CAAA;IACJ,CAAC;IAkBD,KAAK,CAAC,qBAAqB,CAAC,MAI3B;QACC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;QAC5C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;YACrC,QAAQ;YACR,OAAO;YACP,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAA;QACF,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC7B,CAAC;IAYD,KAAK,CAAC,qBAAqB,CAAC,MAI3B;QACC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,CAAA;QAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,0BAAU,CAClB,4BAAc,CAAC,QAAQ,EACvB,eAAe,IAAI,CAAC,IAAI,UAAU,QAAQ,uBAAuB,CAClE,CAAA;QACH,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC;YAC/C,QAAQ;YACR,OAAO;YACP,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,EAAE;SACX,CAAC,CAAA;QACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,0BAAU,CAClB,4BAAc,CAAC,QAAQ,EACvB,qCAAqC,IAAI,CAAC,IAAI,SAAS,QAAQ,IAAI,CACpE,CAAA;QACH,CAAC;QACD,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC7B,CAAC;IAoBD,KAAK,CAAC,UAAU,CAAC,MAAwB;QACvC,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,wBAAU,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;IAC5E,CAAC;IAUD,KAAK,CAAC,iBAAiB,CACrB,MAA+B;QAE/B,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,GAAG,MAAM;YACT,MAAM,EAAE,wBAAU,CAAC,mBAAmB;YACtC,MAAM;SACP,CAAC,CAAA;IACJ,CAAC;IAOD,KAAK,CAAC,cAAc,CAClB,MAA4B;QAE5B,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,GAAG,MAAM;YACT,MAAM,EAAE,wBAAU,CAAC,gBAAgB;YACnC,MAAM;SACP,CAAC,CAAA;IACJ,CAAC;IAOD,KAAK,CAAC,eAAe,CACnB,MAA6B;QAE7B,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,GAAG,MAAM;YACT,MAAM,EAAE,wBAAU,CAAC,iBAAiB;YACpC,MAAM;SACP,CAAC,CAAA;IACJ,CAAC;IAUD,KAAK,CAAC,YAAY,CAChB,MAA0B;QAE1B,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,wBAAU,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,CAAA;IAC7E,CAAC;IAUD,KAAK,CAAC,YAAY,CAChB,MAA0B;QAE1B,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,wBAAU,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,CAAA;IAC7E,CAAC;IAUD,KAAK,CAAC,oBAAoB,CAAC,MAM1B;QACC,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,GAAG,MAAM;YACT,MAAM,EAAE,wBAAU,CAAC,sBAAsB;YACzC,MAAM;SACP,CAAC,CAAA;IACJ,CAAC;IAUD,KAAK,CAAC,QAAQ,CAAC,MAAsB;QACnC,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,wBAAU,CAAC,UAAU;YAC7B,MAAM,EAAE,MAAM,CAAC,UAAU;SAC1B,CAAC,CAAA;IACJ,CAAC;IAYD,KAAK,CAAC,SAAS,CACb,MAA6B;QAE7B,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,GAAG,MAAM,CAAA;QAClD,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,QAAQ;YACR,OAAO;YACP,MAAM,EAAE,wBAAU,CAAC,UAAU;YAC7B,MAAM,EAAE,SAAS;SAClB,CAAC,CAAA;IACJ,CAAC;IAYD,KAAK,CAAC,OAAO,CAAuB,MAQnC;QACC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QAChD,OAAO,EAAE,OAAO,EAAE,CAAA;IACpB,CAAC;IAGO,KAAK,CAAC,SAAS,CAAuB,MAM7C;QACC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAA;QACxD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QACzD,MAAM,UAAU,GAAG,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAEzD,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,GAC3C,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;QAEhE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,8BAAY,EAAC,IAAI,CAAC,SAAS,EAAE;YACrD,QAAQ;YACR,OAAO;YACP,aAAa;YACb,MAAM;YACN,MAAM,EAAE;gBACN,GAAG,MAAM,CAAC,MAAM;gBAChB,GAAG,YAAY;aACM;SACxB,CAAC,CAAA;QAEF,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAClD,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,OAAO,EACP,UAAU,CACX,CAAA;QAKD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;QACzC,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAA,gCAAa,EAAC,IAAI,CAAC,SAAS,EAAE;YACnD,QAAQ;YACR,OAAO;YAGP,aAAa,EAAE,aAAa,IAAI,OAAO;YACvC,MAAM;YACN,OAAO,EAAE,aAAa;SACvB,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;QAErE,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QAE3D,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;IACrC,CAAC;IAeD,KAAK,CAAC,gBAAgB,CACpB,MAA8B;QAE9B,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,CAAA;QACtC,OAAO,IAAI,CAAC,iBAAiB,CAAC;YAC5B,OAAO;YACP,MAAM,EAAE,wBAAU,CAAC,YAAY;YAC/B,MAAM,EAAE,OAAO;SAChB,CAAC,CAAA;IACJ,CAAC;IAWD,KAAK,CAAC,kBAAkB,CACtB,MAAsC;QAEtC,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,GAAG,MAAM,CAAA;QACzC,OAAO,IAAI,CAAC,iBAAiB,CAAC;YAC5B,OAAO;YACP,MAAM,EAAE,wBAAU,CAAC,yBAAyB;YAC5C,MAAM,EAAE,UAAU;SACnB,CAAC,CAAA;IACJ,CAAC;IAkBD,KAAK,CAAC,iBAAiB,CACrB,MAAkC;QAElC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;QAClC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,8BAAY,EAAC,IAAI,CAAC,SAAS,EAAE;YACrD,QAAQ,EAAE,2BAAa;YACvB,OAAO;YACP,MAAM;YACN,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAA;QAEF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;QACxB,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,0BAAU,CAClB,4BAAc,CAAC,QAAQ,EACvB,WAAW,MAAM,cAAc,OAAO,CAAC,MAAM,4CAA4C,CAC1F,CAAA;QACH,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,0BAAU,CAClB,4BAAc,CAAC,QAAQ,EACvB,WAAW,MAAM,qFAAqF,CACvG,CAAA;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAA;QAC3D,MAAM,SAAS,GAAG,MAAM,IAAA,0CAAuB,EAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QAEvE,MAAM,QAAQ,GAAG,MAAM,IAAA,gCAAa,EAAC,IAAI,CAAC,SAAS,EAAE;YACnD,QAAQ,EAAE,2BAAa;YACvB,OAAO;YACP,MAAM;YACN,OAAO,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,CAAC;SAClC,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QACxD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,IAAI,0BAAU,CAClB,OAAO,CAAC,SAAS,IAAI,4BAAc,CAAC,gBAAgB,EACpD,OAAO,CAAC,KAAK,CACd,CAAA;QACH,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;CACF;AA36CD,kCA26CC"}
@@ -0,0 +1,15 @@
1
+ export declare function addDecimalString(a: string, b: string): string;
2
+ export declare const safeAddDecimalString: (a: string, b: string) => string | undefined;
3
+ export declare function addDecimalStrings(values: readonly string[]): string;
4
+ export declare const safeAddDecimalStrings: (values: readonly string[]) => string | undefined;
5
+ export declare function subtractDecimalString(a: string, b: string): string;
6
+ export declare const safeSubtractDecimalString: (a: string, b: string) => string | undefined;
7
+ export declare function multiplyDecimalString(a: string, b: string): string;
8
+ export declare const safeMultiplyDecimalString: (a: string, b: string) => string | undefined;
9
+ export declare function divideDecimalString(a: string, b: string): string;
10
+ export declare const safeDivideDecimalString: (a: string, b: string) => string | undefined;
11
+ export declare function divideDecimalStringRoundDown(a: string, b: string): string;
12
+ export declare const safeDivideDecimalStringRoundDown: (a: string, b: string) => string | undefined;
13
+ export declare function absDecimalString(value: string): string;
14
+ export declare const safeAbsDecimalString: (value: string) => string | undefined;
15
+ //# sourceMappingURL=arithmetic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arithmetic.d.ts","sourceRoot":"","sources":["../../../src/decimal/arithmetic.ts"],"names":[],"mappings":"AAaA,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE7D;AAOD,eAAO,MAAM,oBAAoB,8CAGhC,CAAA;AASD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAOnE;AAQD,eAAO,MAAM,qBAAqB,mDAGjC,CAAA;AAQD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAElE;AAOD,eAAO,MAAM,yBAAyB,8CAGrC,CAAA;AAQD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAElE;AAOD,eAAO,MAAM,yBAAyB,8CAGrC,CAAA;AAoBD,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAGhE;AAOD,eAAO,MAAM,uBAAuB,8CAGnC,CAAA;AAUD,wBAAgB,4BAA4B,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAGzE;AAQD,eAAO,MAAM,gCAAgC,8CAG5C,CAAA;AAQD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtD;AAOD,eAAO,MAAM,oBAAoB,uCAGhC,CAAA"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.safeAbsDecimalString = exports.safeDivideDecimalStringRoundDown = exports.safeDivideDecimalString = exports.safeMultiplyDecimalString = exports.safeSubtractDecimalString = exports.safeAddDecimalStrings = exports.safeAddDecimalString = void 0;
4
+ exports.addDecimalString = addDecimalString;
5
+ exports.addDecimalStrings = addDecimalStrings;
6
+ exports.subtractDecimalString = subtractDecimalString;
7
+ exports.multiplyDecimalString = multiplyDecimalString;
8
+ exports.divideDecimalString = divideDecimalString;
9
+ exports.divideDecimalStringRoundDown = divideDecimalStringRoundDown;
10
+ exports.absDecimalString = absDecimalString;
11
+ const perps_types_1 = require("@lifi/perps-types");
12
+ const PerpsError_js_1 = require("../errors/PerpsError.js");
13
+ const createSafeFunction_js_1 = require("../utils/createSafeFunction.js");
14
+ const big_js_1 = require("./big.js");
15
+ const decimalStringToBig_js_1 = require("./decimalStringToBig.js");
16
+ function addDecimalString(a, b) {
17
+ return (0, decimalStringToBig_js_1.bigToDecimalString)((0, decimalStringToBig_js_1.decimalStringToBig)(a).plus((0, decimalStringToBig_js_1.decimalStringToBig)(b)));
18
+ }
19
+ exports.safeAddDecimalString = (0, createSafeFunction_js_1.createSafeFunction)('addDecimalString', addDecimalString);
20
+ function addDecimalStrings(values) {
21
+ return (0, decimalStringToBig_js_1.bigToDecimalString)(values.reduce((sum, value) => sum.plus((0, decimalStringToBig_js_1.decimalStringToBig)(value)), (0, decimalStringToBig_js_1.decimalStringToBig)('0')));
22
+ }
23
+ exports.safeAddDecimalStrings = (0, createSafeFunction_js_1.createSafeFunction)('addDecimalStrings', addDecimalStrings);
24
+ function subtractDecimalString(a, b) {
25
+ return (0, decimalStringToBig_js_1.bigToDecimalString)((0, decimalStringToBig_js_1.decimalStringToBig)(a).minus((0, decimalStringToBig_js_1.decimalStringToBig)(b)));
26
+ }
27
+ exports.safeSubtractDecimalString = (0, createSafeFunction_js_1.createSafeFunction)('subtractDecimalString', subtractDecimalString);
28
+ function multiplyDecimalString(a, b) {
29
+ return (0, decimalStringToBig_js_1.bigToDecimalString)((0, decimalStringToBig_js_1.decimalStringToBig)(a).times((0, decimalStringToBig_js_1.decimalStringToBig)(b)));
30
+ }
31
+ exports.safeMultiplyDecimalString = (0, createSafeFunction_js_1.createSafeFunction)('multiplyDecimalString', multiplyDecimalString);
32
+ function requireNonZeroDivisor(divisor) {
33
+ const parsed = (0, decimalStringToBig_js_1.decimalStringToBig)(divisor);
34
+ if (parsed.eq(0)) {
35
+ throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `Division by zero: divisor '${divisor}'.`);
36
+ }
37
+ return parsed;
38
+ }
39
+ function divideDecimalString(a, b) {
40
+ const divisor = requireNonZeroDivisor(b);
41
+ return (0, decimalStringToBig_js_1.bigToDecimalString)(new big_js_1.DivBig((0, decimalStringToBig_js_1.decimalStringToBig)(a)).div(divisor));
42
+ }
43
+ exports.safeDivideDecimalString = (0, createSafeFunction_js_1.createSafeFunction)('divideDecimalString', divideDecimalString);
44
+ function divideDecimalStringRoundDown(a, b) {
45
+ const divisor = requireNonZeroDivisor(b);
46
+ return (0, decimalStringToBig_js_1.bigToDecimalString)(new big_js_1.TruncBig((0, decimalStringToBig_js_1.decimalStringToBig)(a)).div(divisor));
47
+ }
48
+ exports.safeDivideDecimalStringRoundDown = (0, createSafeFunction_js_1.createSafeFunction)('divideDecimalStringRoundDown', divideDecimalStringRoundDown);
49
+ function absDecimalString(value) {
50
+ return (0, decimalStringToBig_js_1.bigToDecimalString)((0, decimalStringToBig_js_1.decimalStringToBig)(value).abs());
51
+ }
52
+ exports.safeAbsDecimalString = (0, createSafeFunction_js_1.createSafeFunction)('absDecimalString', absDecimalString);
53
+ //# sourceMappingURL=arithmetic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arithmetic.js","sourceRoot":"","sources":["../../../src/decimal/arithmetic.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import Big from 'big.js';
2
2
  export declare const DivBig: Big.BigConstructor;
3
3
  export declare const TruncBig: Big.BigConstructor;
4
- export declare function areFinite(...values: number[]): boolean;
5
4
  //# sourceMappingURL=big.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"big.d.ts","sourceRoot":"","sources":["../../../src/decimal/big.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,QAAQ,CAAA;AAMxB,eAAO,MAAM,MAAM,oBAAQ,CAAA;AAO3B,eAAO,MAAM,QAAQ,oBAAQ,CAAA;AAK7B,wBAAgB,SAAS,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAEtD"}
1
+ {"version":3,"file":"big.d.ts","sourceRoot":"","sources":["../../../src/decimal/big.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,QAAQ,CAAA;AAMxB,eAAO,MAAM,MAAM,oBAAQ,CAAA;AAO3B,eAAO,MAAM,QAAQ,oBAAQ,CAAA"}
@@ -4,14 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.TruncBig = exports.DivBig = void 0;
7
- exports.areFinite = areFinite;
8
7
  const big_js_1 = __importDefault(require("big.js"));
9
8
  exports.DivBig = (0, big_js_1.default)();
10
9
  exports.DivBig.DP = 40;
11
10
  exports.TruncBig = (0, big_js_1.default)();
12
11
  exports.TruncBig.DP = 40;
13
12
  exports.TruncBig.RM = big_js_1.default.roundDown;
14
- function areFinite(...values) {
15
- return values.every(Number.isFinite);
16
- }
17
13
  //# sourceMappingURL=big.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"big.js","sourceRoot":"","sources":["../../../src/decimal/big.ts"],"names":[],"mappings":";;;;;;AAkBA,8BAEC;AApBD,oDAAwB;AAMX,QAAA,MAAM,GAAG,IAAA,gBAAG,GAAE,CAAA;AAC3B,cAAM,CAAC,EAAE,GAAG,EAAE,CAAA;AAMD,QAAA,QAAQ,GAAG,IAAA,gBAAG,GAAE,CAAA;AAC7B,gBAAQ,CAAC,EAAE,GAAG,EAAE,CAAA;AAChB,gBAAQ,CAAC,EAAE,GAAG,gBAAG,CAAC,SAAS,CAAA;AAG3B,SAAgB,SAAS,CAAC,GAAG,MAAgB;IAC3C,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;AACtC,CAAC"}
1
+ {"version":3,"file":"big.js","sourceRoot":"","sources":["../../../src/decimal/big.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAwB;AAMX,QAAA,MAAM,GAAG,IAAA,gBAAG,GAAE,CAAA;AAC3B,cAAM,CAAC,EAAE,GAAG,EAAE,CAAA;AAMD,QAAA,QAAQ,GAAG,IAAA,gBAAG,GAAE,CAAA;AAC7B,gBAAQ,CAAC,EAAE,GAAG,EAAE,CAAA;AAChB,gBAAQ,CAAC,EAAE,GAAG,gBAAG,CAAC,SAAS,CAAA"}
@@ -1,3 +1,7 @@
1
- import type { DecimalString } from '@lifi/perps-types';
2
- export declare function isDecimalStringGreaterThan(a: DecimalString, b: DecimalString): boolean;
1
+ export declare function isDecimalStringGreaterThan(a: string, b: string): boolean;
2
+ export declare const safeIsDecimalStringGreaterThan: (a: string, b: string) => boolean | undefined;
3
+ export declare function isDecimalStringZero(value: string): boolean;
4
+ export declare const safeIsDecimalStringZero: (value: string) => boolean | undefined;
5
+ export declare function compareDecimalStrings(a: string, b: string): -1 | 0 | 1;
6
+ export declare const safeCompareDecimalStrings: (a: string, b: string) => 0 | 1 | -1 | undefined;
3
7
  //# sourceMappingURL=compare.d.ts.map