@gridsheet/react-core 0.12.0-rc.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 (383) hide show
  1. package/LICENSE +190 -0
  2. package/README.md +84 -0
  3. package/dist/components/Cell.d.ts +8 -0
  4. package/dist/components/Cell.d.ts.map +1 -0
  5. package/dist/components/Cell.js +195 -0
  6. package/dist/components/Cell.js.map +1 -0
  7. package/dist/components/ContextMenu.d.ts +3 -0
  8. package/dist/components/ContextMenu.d.ts.map +1 -0
  9. package/dist/components/ContextMenu.js +207 -0
  10. package/dist/components/ContextMenu.js.map +1 -0
  11. package/dist/components/Editor.d.ts +3 -0
  12. package/dist/components/Editor.d.ts.map +1 -0
  13. package/dist/components/Editor.js +304 -0
  14. package/dist/components/Editor.js.map +1 -0
  15. package/dist/components/Emitter.d.ts +9 -0
  16. package/dist/components/Emitter.d.ts.map +1 -0
  17. package/dist/components/Emitter.js +26 -0
  18. package/dist/components/Emitter.js.map +1 -0
  19. package/dist/components/GridSheet.d.ts +4 -0
  20. package/dist/components/GridSheet.d.ts.map +1 -0
  21. package/dist/components/GridSheet.js +110 -0
  22. package/dist/components/GridSheet.js.map +1 -0
  23. package/dist/components/HeaderLeftCell.d.ts +7 -0
  24. package/dist/components/HeaderLeftCell.d.ts.map +1 -0
  25. package/dist/components/HeaderLeftCell.js +67 -0
  26. package/dist/components/HeaderLeftCell.js.map +1 -0
  27. package/dist/components/HeaderTopCell.d.ts +7 -0
  28. package/dist/components/HeaderTopCell.d.ts.map +1 -0
  29. package/dist/components/HeaderTopCell.js +68 -0
  30. package/dist/components/HeaderTopCell.js.map +1 -0
  31. package/dist/components/Resizer.d.ts +3 -0
  32. package/dist/components/Resizer.d.ts.map +1 -0
  33. package/dist/components/Resizer.js +83 -0
  34. package/dist/components/Resizer.js.map +1 -0
  35. package/dist/components/SearchBox.d.ts +3 -0
  36. package/dist/components/SearchBox.d.ts.map +1 -0
  37. package/dist/components/SearchBox.js +52 -0
  38. package/dist/components/SearchBox.js.map +1 -0
  39. package/dist/components/StoreInitializer.d.ts +4 -0
  40. package/dist/components/StoreInitializer.d.ts.map +1 -0
  41. package/dist/components/StoreInitializer.js +68 -0
  42. package/dist/components/StoreInitializer.js.map +1 -0
  43. package/dist/components/Tabular.d.ts +9 -0
  44. package/dist/components/Tabular.d.ts.map +1 -0
  45. package/dist/components/Tabular.js +84 -0
  46. package/dist/components/Tabular.js.map +1 -0
  47. package/dist/constants.d.ts +18 -0
  48. package/dist/constants.d.ts.map +1 -0
  49. package/dist/constants.js +21 -0
  50. package/dist/constants.js.map +1 -0
  51. package/dist/formula/evaluator.d.ts +91 -0
  52. package/dist/formula/evaluator.d.ts.map +1 -0
  53. package/dist/formula/evaluator.js +541 -0
  54. package/dist/formula/evaluator.js.map +1 -0
  55. package/dist/formula/functions/__base.d.ts +23 -0
  56. package/dist/formula/functions/__base.d.ts.map +1 -0
  57. package/dist/formula/functions/__base.js +16 -0
  58. package/dist/formula/functions/__base.js.map +1 -0
  59. package/dist/formula/functions/__utils.d.ts +6 -0
  60. package/dist/formula/functions/__utils.d.ts.map +1 -0
  61. package/dist/formula/functions/__utils.js +102 -0
  62. package/dist/formula/functions/__utils.js.map +1 -0
  63. package/dist/formula/functions/abs.d.ts +12 -0
  64. package/dist/formula/functions/abs.d.ts.map +1 -0
  65. package/dist/formula/functions/abs.js +21 -0
  66. package/dist/formula/functions/abs.js.map +1 -0
  67. package/dist/formula/functions/abs.spec.d.ts +2 -0
  68. package/dist/formula/functions/abs.spec.d.ts.map +1 -0
  69. package/dist/formula/functions/abs.spec.js +29 -0
  70. package/dist/formula/functions/abs.spec.js.map +1 -0
  71. package/dist/formula/functions/acos.d.ts +12 -0
  72. package/dist/formula/functions/acos.d.ts.map +1 -0
  73. package/dist/formula/functions/acos.js +29 -0
  74. package/dist/formula/functions/acos.js.map +1 -0
  75. package/dist/formula/functions/add.d.ts +13 -0
  76. package/dist/formula/functions/add.d.ts.map +1 -0
  77. package/dist/formula/functions/add.js +50 -0
  78. package/dist/formula/functions/add.js.map +1 -0
  79. package/dist/formula/functions/and.d.ts +19 -0
  80. package/dist/formula/functions/and.d.ts.map +1 -0
  81. package/dist/formula/functions/and.js +28 -0
  82. package/dist/formula/functions/and.js.map +1 -0
  83. package/dist/formula/functions/asin.d.ts +12 -0
  84. package/dist/formula/functions/asin.d.ts.map +1 -0
  85. package/dist/formula/functions/asin.js +29 -0
  86. package/dist/formula/functions/asin.js.map +1 -0
  87. package/dist/formula/functions/atan.d.ts +12 -0
  88. package/dist/formula/functions/atan.d.ts.map +1 -0
  89. package/dist/formula/functions/atan.js +26 -0
  90. package/dist/formula/functions/atan.js.map +1 -0
  91. package/dist/formula/functions/atan2.d.ts +12 -0
  92. package/dist/formula/functions/atan2.d.ts.map +1 -0
  93. package/dist/formula/functions/atan2.js +32 -0
  94. package/dist/formula/functions/atan2.js.map +1 -0
  95. package/dist/formula/functions/average.d.ts +19 -0
  96. package/dist/formula/functions/average.d.ts.map +1 -0
  97. package/dist/formula/functions/average.js +41 -0
  98. package/dist/formula/functions/average.js.map +1 -0
  99. package/dist/formula/functions/col.d.ts +14 -0
  100. package/dist/formula/functions/col.d.ts.map +1 -0
  101. package/dist/formula/functions/col.js +30 -0
  102. package/dist/formula/functions/col.js.map +1 -0
  103. package/dist/formula/functions/concat.d.ts +12 -0
  104. package/dist/formula/functions/concat.d.ts.map +1 -0
  105. package/dist/formula/functions/concat.js +27 -0
  106. package/dist/formula/functions/concat.js.map +1 -0
  107. package/dist/formula/functions/concatenate.d.ts +19 -0
  108. package/dist/formula/functions/concatenate.d.ts.map +1 -0
  109. package/dist/formula/functions/concatenate.js +25 -0
  110. package/dist/formula/functions/concatenate.js.map +1 -0
  111. package/dist/formula/functions/cos.d.ts +12 -0
  112. package/dist/formula/functions/cos.d.ts.map +1 -0
  113. package/dist/formula/functions/cos.js +26 -0
  114. package/dist/formula/functions/cos.js.map +1 -0
  115. package/dist/formula/functions/count.d.ts +19 -0
  116. package/dist/formula/functions/count.d.ts.map +1 -0
  117. package/dist/formula/functions/count.js +35 -0
  118. package/dist/formula/functions/count.js.map +1 -0
  119. package/dist/formula/functions/counta.d.ts +19 -0
  120. package/dist/formula/functions/counta.d.ts.map +1 -0
  121. package/dist/formula/functions/counta.js +35 -0
  122. package/dist/formula/functions/counta.js.map +1 -0
  123. package/dist/formula/functions/countif.d.ts +13 -0
  124. package/dist/formula/functions/countif.d.ts.map +1 -0
  125. package/dist/formula/functions/countif.js +30 -0
  126. package/dist/formula/functions/countif.js.map +1 -0
  127. package/dist/formula/functions/divide.d.ts +12 -0
  128. package/dist/formula/functions/divide.d.ts.map +1 -0
  129. package/dist/formula/functions/divide.js +33 -0
  130. package/dist/formula/functions/divide.js.map +1 -0
  131. package/dist/formula/functions/eq.d.ts +12 -0
  132. package/dist/formula/functions/eq.d.ts.map +1 -0
  133. package/dist/formula/functions/eq.js +25 -0
  134. package/dist/formula/functions/eq.js.map +1 -0
  135. package/dist/formula/functions/exp.d.ts +12 -0
  136. package/dist/formula/functions/exp.d.ts.map +1 -0
  137. package/dist/formula/functions/exp.js +28 -0
  138. package/dist/formula/functions/exp.js.map +1 -0
  139. package/dist/formula/functions/gt.d.ts +12 -0
  140. package/dist/formula/functions/gt.d.ts.map +1 -0
  141. package/dist/formula/functions/gt.js +27 -0
  142. package/dist/formula/functions/gt.js.map +1 -0
  143. package/dist/formula/functions/gte.d.ts +12 -0
  144. package/dist/formula/functions/gte.d.ts.map +1 -0
  145. package/dist/formula/functions/gte.js +27 -0
  146. package/dist/formula/functions/gte.js.map +1 -0
  147. package/dist/formula/functions/hlookup.d.ts +18 -0
  148. package/dist/formula/functions/hlookup.d.ts.map +1 -0
  149. package/dist/formula/functions/hlookup.js +74 -0
  150. package/dist/formula/functions/hlookup.js.map +1 -0
  151. package/dist/formula/functions/if.d.ts +17 -0
  152. package/dist/formula/functions/if.d.ts.map +1 -0
  153. package/dist/formula/functions/if.js +36 -0
  154. package/dist/formula/functions/if.js.map +1 -0
  155. package/dist/formula/functions/iferror.d.ts +20 -0
  156. package/dist/formula/functions/iferror.d.ts.map +1 -0
  157. package/dist/formula/functions/iferror.js +41 -0
  158. package/dist/formula/functions/iferror.js.map +1 -0
  159. package/dist/formula/functions/iferror.spec.d.ts +2 -0
  160. package/dist/formula/functions/iferror.spec.d.ts.map +1 -0
  161. package/dist/formula/functions/iferror.spec.js +61 -0
  162. package/dist/formula/functions/iferror.spec.js.map +1 -0
  163. package/dist/formula/functions/len.d.ts +12 -0
  164. package/dist/formula/functions/len.d.ts.map +1 -0
  165. package/dist/formula/functions/len.js +26 -0
  166. package/dist/formula/functions/len.js.map +1 -0
  167. package/dist/formula/functions/lenb.d.ts +12 -0
  168. package/dist/formula/functions/lenb.d.ts.map +1 -0
  169. package/dist/formula/functions/lenb.js +26 -0
  170. package/dist/formula/functions/lenb.js.map +1 -0
  171. package/dist/formula/functions/ln.d.ts +12 -0
  172. package/dist/formula/functions/ln.d.ts.map +1 -0
  173. package/dist/formula/functions/ln.js +29 -0
  174. package/dist/formula/functions/ln.js.map +1 -0
  175. package/dist/formula/functions/log.d.ts +12 -0
  176. package/dist/formula/functions/log.d.ts.map +1 -0
  177. package/dist/formula/functions/log.js +35 -0
  178. package/dist/formula/functions/log.js.map +1 -0
  179. package/dist/formula/functions/log10.d.ts +12 -0
  180. package/dist/formula/functions/log10.d.ts.map +1 -0
  181. package/dist/formula/functions/log10.js +29 -0
  182. package/dist/formula/functions/log10.js.map +1 -0
  183. package/dist/formula/functions/lt.d.ts +12 -0
  184. package/dist/formula/functions/lt.d.ts.map +1 -0
  185. package/dist/formula/functions/lt.js +27 -0
  186. package/dist/formula/functions/lt.js.map +1 -0
  187. package/dist/formula/functions/lte.d.ts +12 -0
  188. package/dist/formula/functions/lte.d.ts.map +1 -0
  189. package/dist/formula/functions/lte.js +27 -0
  190. package/dist/formula/functions/lte.js.map +1 -0
  191. package/dist/formula/functions/max.d.ts +19 -0
  192. package/dist/formula/functions/max.d.ts.map +1 -0
  193. package/dist/formula/functions/max.js +44 -0
  194. package/dist/formula/functions/max.js.map +1 -0
  195. package/dist/formula/functions/min.d.ts +19 -0
  196. package/dist/formula/functions/min.d.ts.map +1 -0
  197. package/dist/formula/functions/min.js +44 -0
  198. package/dist/formula/functions/min.js.map +1 -0
  199. package/dist/formula/functions/minus.d.ts +13 -0
  200. package/dist/formula/functions/minus.d.ts.map +1 -0
  201. package/dist/formula/functions/minus.js +50 -0
  202. package/dist/formula/functions/minus.js.map +1 -0
  203. package/dist/formula/functions/mod.d.ts +12 -0
  204. package/dist/formula/functions/mod.d.ts.map +1 -0
  205. package/dist/formula/functions/mod.js +31 -0
  206. package/dist/formula/functions/mod.js.map +1 -0
  207. package/dist/formula/functions/mod.spec.d.ts +2 -0
  208. package/dist/formula/functions/mod.spec.d.ts.map +1 -0
  209. package/dist/formula/functions/mod.spec.js +52 -0
  210. package/dist/formula/functions/mod.spec.js.map +1 -0
  211. package/dist/formula/functions/multiply.d.ts +12 -0
  212. package/dist/formula/functions/multiply.d.ts.map +1 -0
  213. package/dist/formula/functions/multiply.js +27 -0
  214. package/dist/formula/functions/multiply.js.map +1 -0
  215. package/dist/formula/functions/ne.d.ts +12 -0
  216. package/dist/formula/functions/ne.d.ts.map +1 -0
  217. package/dist/formula/functions/ne.js +25 -0
  218. package/dist/formula/functions/ne.js.map +1 -0
  219. package/dist/formula/functions/not.d.ts +12 -0
  220. package/dist/formula/functions/not.d.ts.map +1 -0
  221. package/dist/formula/functions/not.js +30 -0
  222. package/dist/formula/functions/not.js.map +1 -0
  223. package/dist/formula/functions/now.d.ts +9 -0
  224. package/dist/formula/functions/now.d.ts.map +1 -0
  225. package/dist/formula/functions/now.js +21 -0
  226. package/dist/formula/functions/now.js.map +1 -0
  227. package/dist/formula/functions/or.d.ts +19 -0
  228. package/dist/formula/functions/or.d.ts.map +1 -0
  229. package/dist/formula/functions/or.js +28 -0
  230. package/dist/formula/functions/or.js.map +1 -0
  231. package/dist/formula/functions/pi.d.ts +9 -0
  232. package/dist/formula/functions/pi.d.ts.map +1 -0
  233. package/dist/formula/functions/pi.js +19 -0
  234. package/dist/formula/functions/pi.js.map +1 -0
  235. package/dist/formula/functions/power.d.ts +12 -0
  236. package/dist/formula/functions/power.d.ts.map +1 -0
  237. package/dist/formula/functions/power.js +24 -0
  238. package/dist/formula/functions/power.js.map +1 -0
  239. package/dist/formula/functions/product.d.ts +19 -0
  240. package/dist/formula/functions/product.d.ts.map +1 -0
  241. package/dist/formula/functions/product.js +37 -0
  242. package/dist/formula/functions/product.js.map +1 -0
  243. package/dist/formula/functions/radians.d.ts +12 -0
  244. package/dist/formula/functions/radians.d.ts.map +1 -0
  245. package/dist/formula/functions/radians.js +26 -0
  246. package/dist/formula/functions/radians.js.map +1 -0
  247. package/dist/formula/functions/rand.d.ts +9 -0
  248. package/dist/formula/functions/rand.d.ts.map +1 -0
  249. package/dist/formula/functions/rand.js +19 -0
  250. package/dist/formula/functions/rand.js.map +1 -0
  251. package/dist/formula/functions/round.d.ts +17 -0
  252. package/dist/formula/functions/round.d.ts.map +1 -0
  253. package/dist/formula/functions/round.js +34 -0
  254. package/dist/formula/functions/round.js.map +1 -0
  255. package/dist/formula/functions/rounddown.d.ts +17 -0
  256. package/dist/formula/functions/rounddown.d.ts.map +1 -0
  257. package/dist/formula/functions/rounddown.js +34 -0
  258. package/dist/formula/functions/rounddown.js.map +1 -0
  259. package/dist/formula/functions/roundup.d.ts +17 -0
  260. package/dist/formula/functions/roundup.d.ts.map +1 -0
  261. package/dist/formula/functions/roundup.js +34 -0
  262. package/dist/formula/functions/roundup.js.map +1 -0
  263. package/dist/formula/functions/row.d.ts +14 -0
  264. package/dist/formula/functions/row.d.ts.map +1 -0
  265. package/dist/formula/functions/row.js +30 -0
  266. package/dist/formula/functions/row.js.map +1 -0
  267. package/dist/formula/functions/sin.d.ts +12 -0
  268. package/dist/formula/functions/sin.d.ts.map +1 -0
  269. package/dist/formula/functions/sin.js +26 -0
  270. package/dist/formula/functions/sin.js.map +1 -0
  271. package/dist/formula/functions/sqrt.d.ts +12 -0
  272. package/dist/formula/functions/sqrt.d.ts.map +1 -0
  273. package/dist/formula/functions/sqrt.js +29 -0
  274. package/dist/formula/functions/sqrt.js.map +1 -0
  275. package/dist/formula/functions/sum.d.ts +19 -0
  276. package/dist/formula/functions/sum.d.ts.map +1 -0
  277. package/dist/formula/functions/sum.js +44 -0
  278. package/dist/formula/functions/sum.js.map +1 -0
  279. package/dist/formula/functions/sum.spec.d.ts +2 -0
  280. package/dist/formula/functions/sum.spec.d.ts.map +1 -0
  281. package/dist/formula/functions/sum.spec.js +40 -0
  282. package/dist/formula/functions/sum.spec.js.map +1 -0
  283. package/dist/formula/functions/sumif.d.ts +18 -0
  284. package/dist/formula/functions/sumif.d.ts.map +1 -0
  285. package/dist/formula/functions/sumif.js +59 -0
  286. package/dist/formula/functions/sumif.js.map +1 -0
  287. package/dist/formula/functions/tan.d.ts +12 -0
  288. package/dist/formula/functions/tan.d.ts.map +1 -0
  289. package/dist/formula/functions/tan.js +26 -0
  290. package/dist/formula/functions/tan.js.map +1 -0
  291. package/dist/formula/functions/uminus.d.ts +12 -0
  292. package/dist/formula/functions/uminus.d.ts.map +1 -0
  293. package/dist/formula/functions/uminus.js +23 -0
  294. package/dist/formula/functions/uminus.js.map +1 -0
  295. package/dist/formula/functions/vlookup.d.ts +18 -0
  296. package/dist/formula/functions/vlookup.d.ts.map +1 -0
  297. package/dist/formula/functions/vlookup.js +74 -0
  298. package/dist/formula/functions/vlookup.js.map +1 -0
  299. package/dist/formula/mapping.d.ts +114 -0
  300. package/dist/formula/mapping.d.ts.map +1 -0
  301. package/dist/formula/mapping.js +114 -0
  302. package/dist/formula/mapping.js.map +1 -0
  303. package/dist/formula/solver.d.ts +12 -0
  304. package/dist/formula/solver.d.ts.map +1 -0
  305. package/dist/formula/solver.js +64 -0
  306. package/dist/formula/solver.js.map +1 -0
  307. package/dist/index.d.ts +12 -0
  308. package/dist/index.d.ts.map +1 -0
  309. package/dist/index.js +11 -0
  310. package/dist/index.js.map +1 -0
  311. package/dist/lib/autofill.d.ts +17 -0
  312. package/dist/lib/autofill.d.ts.map +1 -0
  313. package/dist/lib/autofill.js +389 -0
  314. package/dist/lib/autofill.js.map +1 -0
  315. package/dist/lib/clipboard.d.ts +3 -0
  316. package/dist/lib/clipboard.d.ts.map +1 -0
  317. package/dist/lib/clipboard.js +45 -0
  318. package/dist/lib/clipboard.js.map +1 -0
  319. package/dist/lib/converters.d.ts +10 -0
  320. package/dist/lib/converters.d.ts.map +1 -0
  321. package/dist/lib/converters.js +127 -0
  322. package/dist/lib/converters.js.map +1 -0
  323. package/dist/lib/structs.d.ts +60 -0
  324. package/dist/lib/structs.d.ts.map +1 -0
  325. package/dist/lib/structs.js +251 -0
  326. package/dist/lib/structs.js.map +1 -0
  327. package/dist/lib/table.d.ts +303 -0
  328. package/dist/lib/table.d.ts.map +1 -0
  329. package/dist/lib/table.js +989 -0
  330. package/dist/lib/table.js.map +1 -0
  331. package/dist/lib/time.d.ts +14 -0
  332. package/dist/lib/time.d.ts.map +1 -0
  333. package/dist/lib/time.js +60 -0
  334. package/dist/lib/time.js.map +1 -0
  335. package/dist/lib/virtualization.d.ts +30 -0
  336. package/dist/lib/virtualization.d.ts.map +1 -0
  337. package/dist/lib/virtualization.js +114 -0
  338. package/dist/lib/virtualization.js.map +1 -0
  339. package/dist/parsers/core.d.ts +36 -0
  340. package/dist/parsers/core.d.ts.map +1 -0
  341. package/dist/parsers/core.js +123 -0
  342. package/dist/parsers/core.js.map +1 -0
  343. package/dist/renderers/checkbox.d.ts +5 -0
  344. package/dist/renderers/checkbox.d.ts.map +1 -0
  345. package/dist/renderers/checkbox.js +10 -0
  346. package/dist/renderers/checkbox.js.map +1 -0
  347. package/dist/renderers/core.d.ts +48 -0
  348. package/dist/renderers/core.d.ts.map +1 -0
  349. package/dist/renderers/core.js +143 -0
  350. package/dist/renderers/core.js.map +1 -0
  351. package/dist/renderers/thousand_separator.d.ts +5 -0
  352. package/dist/renderers/thousand_separator.d.ts.map +1 -0
  353. package/dist/renderers/thousand_separator.js +14 -0
  354. package/dist/renderers/thousand_separator.js.map +1 -0
  355. package/dist/store/actions.d.ts +198 -0
  356. package/dist/store/actions.d.ts.map +1 -0
  357. package/dist/store/actions.js +519 -0
  358. package/dist/store/actions.js.map +1 -0
  359. package/dist/store/helpers.d.ts +28 -0
  360. package/dist/store/helpers.d.ts.map +1 -0
  361. package/dist/store/helpers.js +78 -0
  362. package/dist/store/helpers.js.map +1 -0
  363. package/dist/store/index.d.ts +11 -0
  364. package/dist/store/index.d.ts.map +1 -0
  365. package/dist/store/index.js +3 -0
  366. package/dist/store/index.js.map +1 -0
  367. package/dist/styles/embedder.d.ts +2 -0
  368. package/dist/styles/embedder.d.ts.map +1 -0
  369. package/dist/styles/embedder.js +16 -0
  370. package/dist/styles/embedder.js.map +1 -0
  371. package/dist/styles/minified.d.ts +3 -0
  372. package/dist/styles/minified.d.ts.map +1 -0
  373. package/dist/styles/minified.js +4 -0
  374. package/dist/styles/minified.js.map +1 -0
  375. package/dist/types.d.ts +213 -0
  376. package/dist/types.d.ts.map +1 -0
  377. package/dist/types.js +2 -0
  378. package/dist/types.js.map +1 -0
  379. package/dist/utils.d.ts +2 -0
  380. package/dist/utils.d.ts.map +1 -0
  381. package/dist/utils.js +7 -0
  382. package/dist/utils.js.map +1 -0
  383. package/package.json +81 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/lib/table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAqBpD,OAAO,EAAC,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAC,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAExE,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAC,cAAc,EAAE,aAAa,EAAE,aAAa,EAAyB,MAAM,cAAc,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAoBlD,MAAM,UAAU,GAAG,CAAC,IAAc,EAAE,EAAE,CAAC,IAAI,CAAC;AAkI5C,MAAM,OAAO,KAAK;IA2BhB,YAAY,EACV,OAAO,GAAG,CAAC,EACX,OAAO,GAAG,CAAC,EACX,KAAK,GAAG,EAAE,EACV,OAAO,GAAG,EAAE,EACZ,SAAS,GAAG,EAAE,EACd,QAAQ,GAAG,EAAE,EACb,SAAS,GAAG,KAAK,EACjB,YAAY,EAAE,YAAY,GAAG,aAAa,EAC1C,UAAU,GAAG,CAAC,EACd,UAAU,GAAG,CAAC,CAAC,EACf,UAAU,GAAG,CAAC,EACd,UAAU,GAAG,CAAC,CAAC,EACf,WAAW,GAAG,CAAC,CAAC,EAChB,YAAY,GAAG,CAAC,CAAC,EACjB,SAAS,GAAG,gBAAgB,GACtB;QApCD,eAAU,GAAW,CAAC,CAAC;QACvB,gBAAW,GAAW,CAAC,CAAC;QACxB,gBAAW,GAAW,CAAC,CAAC;QACxB,iBAAY,GAAW,CAAC,CAAC;QASxB,cAAS,GAAoB,EAAE,CAAC;QAyBtC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QACjE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,2BAA2B;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YACpC,MAAM,GAAG,GAAQ,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACpC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC7B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACb,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC9B,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;aAClC;SACF;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YACpC,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACpC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAChC,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBACrB,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;gBAChC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC5B,MAAM,OAAO,GAAG,0EACX,MAAM,GACN,UAAU,GACV,UAAU,GACV,IAAI,KACP,KAAK,8DACA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,GACb,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,GACjB,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,GACjB,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,IAEL,CAAC;gBACd,OAAO,CAAC,KAAK,GAAG,sBAAsB,CAAC;oBACrC,KAAK,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK;oBACrB,KAAK,EAAE,IAAI;iBACZ,CAAC,CAAC;gBACH,IAAI,CAAC,KAAK,CAAC,EAAE;oBACX,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,EAAE;wBACzB,OAAO,CAAC,KAAK,GAAG,aAAa,CAAC;qBAC/B;iBACF;qBAAM,IAAI,CAAC,KAAK,CAAC,EAAE;oBAClB,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE;wBAC1B,OAAO,CAAC,MAAM,GAAG,cAAc,CAAC;qBACjC;iBACF;qBAAM;oBACL,OAAO,OAAO,CAAC,MAAM,CAAC;oBACtB,OAAO,OAAO,CAAC,KAAK,CAAC;oBACrB,OAAO,OAAO,CAAC,OAAO,CAAC;iBACxB;gBACD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;aACzB;SACF;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,UAAU;QAChB,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IAEM,WAAW,CAAC,EAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAW;;QACrD,IAAI,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YACtC,KAAK,IAAI,CAAA,MAAA,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,0CAAE,KAAK,KAAI,aAAa,CAAC;SAC/D;QACD,KAAK,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,IAAI,CAAA,MAAA,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,0CAAE,MAAM,KAAI,cAAc,CAAC;SAClE;QACD,OAAO,EAAC,KAAK,EAAE,MAAM,EAAC,CAAC;IACzB,CAAC;IACO,YAAY;QAClB,MAAM,EAAC,MAAM,EAAE,KAAK,EAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QAClC,MAAM,EAAC,KAAK,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC,WAAW,CAAC,EAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAC,CAAC,CAAC;QAClG,IAAI,CAAC,UAAU,GAAG,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;IAChD,CAAC;IAEO,WAAW,CAAC,EAAE,SAAS,GAAG,IAAI,KAA8B,EAAE;QACpE,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7B,MAAM,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC9B,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC;QACtC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACxB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACxB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACxB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAClC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAClC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAClC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACxC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACxC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACpC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACpC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACpC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACpC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACxC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACtC,MAAM,CAAC,YAAY,EAAE,CAAC;QACtB,IAAI,SAAS,EAAE;YACb,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;SAC3C;aAAM;YACL,cAAc;YACd,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;SACzB;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,cAAc,CAAC,EAAM,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC;QAClD,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,MAAM,EAAE;YACV,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,MAAM,GAAG,CAAC,CAAC;SACZ;QACD,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,MAAM,EAAE;YACV,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,GAAG,CAAC,CAAC;SACZ;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnC,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBACxB,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC9B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;gBACvC,IAAI,QAAQ,KAAK,EAAE,EAAE;oBACnB,MAAM,aAAa,GAAG,GAAG,CAAC;wBACxB,CAAC,EAAE,CAAC,GAAG,MAAM;wBACb,CAAC,EAAE,CAAC,GAAG,MAAM;qBACd,CAAC,CAAC;oBACH,OAAO,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;iBAC5D;aACF;SACF;IACH,CAAC;IAEM,iBAAiB,CAAC,GAAkB;QACzC,MAAM,SAAS,GAAuB,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;YACrB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YACxC,IAAI,IAAI,IAAI,OAAO,EAAE;gBACnB,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;aAC3B;QACH,CAAC,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,YAAY,CAAC,EAAM;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,OAAO,EAAE;YACX,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;SACrB;QACD,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACxB,CAAC;IACO,KAAK,CAAC,KAAgB;;QAC5B,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC;QACvB,OAAO,MAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,0CAAG,CAAC,CAAC,CAAC;IAC/B,CAAC;IAEM,UAAU,CAAC,KAAgB;;QAChC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;YACxB,OAAO,SAAS,CAAC;SAClB;QACD,MAAM,EAAE,GAAG,MAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,0CAAG,CAAC,CAAC,CAAC;QACjC,IAAI,EAAE,IAAI,IAAI,EAAE;YACd,OAAO,SAAS,CAAC;SAClB;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,OAAO,CAAC,EAAM;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IAEM,UAAU,CAAC,IAAI,GAAG,CAAC;QACxB,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAC/C,OAAO,IAAI,GAAG,MAAM,GAAG,GAAG,CAAC;IAC7B,CAAC;IAEM,UAAU,CAAC,IAAI,GAAG,CAAC;QACxB,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAC/C,OAAO,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,IAAW,GAAG;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACvB,CAAC;IACD,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IACD,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B,CAAC;IACD,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IACzB,CAAC;IAEM,gBAAgB,CAAC,EACtB,IAAI,EACJ,GAAG,GAAG,OAAO,EACb,SAAS,GAAG,IAAI,EAChB,KAAK,GAAG,KAAK,EACb,MAAM,GAAG,UAAU,MAGjB,EAAE;QACJ,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,IAAI;YAC3C,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;YACxB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;SACvB,CAAC;QACF,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;QAChE,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE;YAClC,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,EAAE;gBAClC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;oBACjB,SAAS;iBACV;gBACD,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS;oBACnC,CAAC,CAAC,YAAY,CAAC;wBACX,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC;wBAChB,KAAK,EAAE,IAAI;wBACX,KAAK;qBACN,CAAC;oBACJ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACf;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACM,gBAAgB,CAAC,EACtB,GAAG,GAAG,OAAO,EACb,SAAS,GAAG,IAAI,EAChB,KAAK,GAAG,KAAK,EACb,MAAM,GAAG,UAAU,MACA,EAAE;QACrB,MAAM,MAAM,GAAuB,EAAE,CAAC;QACtC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE;YAClC,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,EAAE;gBAClC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;gBAC1D,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;oBAChC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS;wBAC/B,CAAC,CAAC,YAAY,CAAC;4BACX,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC;4BAChB,KAAK,EAAE,IAAI;4BACX,KAAK;yBACN,CAAC;wBACJ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACf;aACF;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACM,cAAc,CAAC,EACpB,GAAG,GAAG,OAAO,EACb,SAAS,GAAG,IAAI,EAChB,KAAK,GAAG,KAAK,EACb,MAAM,GAAG,UAAU,MACA,EAAE;QACrB,MAAM,MAAM,GAAyB,EAAE,CAAC;QACxC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE;YAClC,MAAM,GAAG,GAAuB,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,EAAE;gBAClC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;gBAC1D,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;oBAChC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;wBAC/B,CAAC,CAAC,YAAY,CAAC;4BACX,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC;4BAChB,KAAK,EAAE,IAAI;4BACX,KAAK;yBACN,CAAC;wBACJ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACf;aACF;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACM,cAAc,CAAC,EACpB,GAAG,GAAG,OAAO,EACb,SAAS,GAAG,IAAI,EAChB,KAAK,GAAG,KAAK,EACb,MAAM,GAAG,UAAU,MACA,EAAE;QACrB,MAAM,MAAM,GAAyB,EAAE,CAAC;QACxC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,EAAE;YAClC,MAAM,GAAG,GAAuB,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;gBAC1D,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;oBAChC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;wBAC/B,CAAC,CAAC,YAAY,CAAC;4BACX,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC;4BAChB,KAAK,EAAE,IAAI;4BACX,KAAK;yBACN,CAAC;wBACJ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACf;aACF;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACM,SAAS,CAAC,EACf,IAAI,EACJ,SAAS,GAAG,IAAI,EAChB,KAAK,GAAG,KAAK,EACb,MAAM,GAAG,UAAU,MAGjB,EAAE;QACJ,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,IAAI;YAC3C,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;YACxB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;SACvB,CAAC;QACF,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;QAChE,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE;YAClC,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,EAAE;gBAClC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACvC,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;oBAChC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,mCACpB,IAAI,KACP,KAAK,EAAE,SAAS;4BACd,CAAC,CAAC,YAAY,CAAC;gCACX,KAAK,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK;gCAClB,KAAK,EAAE,IAAI;gCACX,KAAK;6BACN,CAAC;4BACJ,CAAC,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,GAChB,CAAC;iBACH;aACF;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACM,SAAS,CAAC,EACf,SAAS,GAAG,IAAI,EAChB,KAAK,GAAG,KAAK,EACb,MAAM,GAAG,UAAU,MACP,EAAE;QACd,MAAM,MAAM,GAAuB,EAAE,CAAC;QACtC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE;YAClC,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,EAAE;gBAClC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;gBAC1D,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;oBAChC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,mCAChB,IAAI,KACP,KAAK,EAAE,SAAS;4BACd,CAAC,CAAC,YAAY,CAAC;gCACX,KAAK,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK;gCAClB,KAAK,EAAE,IAAI;gCACX,KAAK;6BACN,CAAC;4BACJ,CAAC,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,GAChB,CAAC;iBACH;aACF;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACM,OAAO,CAAC,EACb,SAAS,GAAG,IAAI,EAChB,KAAK,GAAG,KAAK,EACb,MAAM,GAAG,UAAU,MACP,EAAE;QACd,MAAM,MAAM,GAAyB,EAAE,CAAC;QACxC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE;YAClC,MAAM,GAAG,GAAuB,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,EAAE;gBAClC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;gBAC1D,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;oBAChC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,mCAChB,IAAI,KACP,KAAK,EAAE,SAAS;4BACd,CAAC,CAAC,YAAY,CAAC;gCACX,KAAK,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK;gCAClB,KAAK,EAAE,IAAI;gCACX,KAAK;6BACN,CAAC;4BACJ,CAAC,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,GAChB,CAAC;iBACH;aACF;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACM,OAAO,CAAC,EACb,SAAS,GAAG,IAAI,EAChB,KAAK,GAAG,KAAK,EACb,MAAM,GAAG,UAAU,MACP,EAAE;QACd,MAAM,MAAM,GAAyB,EAAE,CAAC;QACxC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,EAAE;YAClC,MAAM,GAAG,GAAuB,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;gBAC1D,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;oBAChC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,mCAChB,IAAI,KACP,KAAK,EAAE,SAAS;4BACd,CAAC,CAAC,YAAY,CAAC;gCACX,KAAK,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK;gCAClB,KAAK,EAAE,IAAI;gCACX,KAAK;6BACN,CAAC;4BACJ,CAAC,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,GAChB,CAAC;iBACH;aACF;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,WAAW,CAAC,OAAoB;QACtC,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAC5C,IAAI,CAAC,YAAY,GAAG,CAAC,EACrB,IAAI,CAAC,SAAS,CAAC,MAAM,CACtB,CAAC;QACF,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAC3B,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE;YAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;SAC/B;aAAM;YACL,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;IACH,CAAC;IAEO,aAAa,CAAC,OAAoB;QACxC,IACE,OAAO,CAAC,SAAS,KAAK,aAAa;YACnC,OAAO,CAAC,SAAS,KAAK,aAAa,EACnC;YACA,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC/B,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;oBACjB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,MAAM,EAAE;YAChC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAChD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC3C,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACnB,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;oBACjB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvB,CAAC,CAAC,CACH,CAAC;YACJ,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAEO,YAAY,CAAC,OAAoB;QACvC,IAAI,OAAO,CAAC,SAAS,KAAK,UAAU,IAAI,OAAO,CAAC,SAAS,KAAK,UAAU,EAAE;YACxE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC/B,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;oBACjB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAEO,cAAc,CAAC,IAAc;QACnC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE;YAClC,MAAM,GAAG,GAAQ,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,EAAE;gBAClC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;aAC7B;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,mBAAmB,CAAC,IAAc;;QACxC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE;YAClC,MAAM,GAAG,GAAQ,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,EAAE;gBAClC,MAAM,EAAE,GAAG,MAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,0CAAG,CAAC,CAAC,CAAC;gBACjC,IAAI,EAAE,EAAE;oBACN,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBACd;aACF;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,YAAY,CAAC,IAAe,EAAE,SAAgB;QACpD,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,OAAO,IAAI,CAAC;SACb;QACD,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,cAAc,CAAC,IAA0B;QAC/C,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,OAAO,SAAS,CAAC;SAClB;QACD,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;YACtB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;SAC5B;QACD,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,EAAE;YAC/B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;SAC9C;QACD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;YAC3B,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;SACtC;QACD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;YACzB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;SAClC;QACD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;YACvB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;SAC9B;QACD,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;YACtB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;SAC5B;QACD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;YACvB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;SAC9B;QACD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACxB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;SAChC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,IAAI,CAAC,EACV,GAAG,EACH,GAAG,EACH,UAAU,GAAG,EAAE,GACL;QACV,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAC3C,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QACzC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACzB,GAAG;iBACA,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;iBAChB,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QAC3D,IAAI,CAAC,WAAW,CAAC;YACf,SAAS,EAAE,MAAM;YACjB,UAAU;YACV,UAAU;YACV,QAAQ;YACR,SAAS;YACT,SAAS,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE;YACtC,OAAO,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE;YACpC,QAAQ;SACT,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC;IAEM,IAAI,CAAC,EACV,GAAG,EACH,GAAG,EACH,UAAU,GAAG,EAAE,GACL;QACV,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,SAAS,iCACnD,GAAG,KACN,IAAI,EAAE,CAAC,IACP,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC;QAC7C,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;QAC3E,MAAM,IAAI,GAAuB,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,QAAQ,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC1C,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;YACtB,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE;gBAC3B,SAAS;aACV;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,OAAO,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC1C,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC;gBACvB,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE;oBAC3B,SAAS;iBACV;gBACD,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;gBACxC,MAAM,KAAK,GAAG,QAAQ,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC;gBACxC,MAAM,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC;gBAC3B,MAAM,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC;gBAC3B,MAAM,IAAI,qBACL,IAAI,CAAC,UAAU,CAAC;oBACjB,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;oBAC5B,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;iBAC7B,CAAC,CACH,CAAC;gBACF,MAAM,KAAK,GAAG,sBAAsB,CAAC;oBACnC,KAAK,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK;oBAClB,KAAK,EAAE,IAAI;oBACX,MAAM;oBACN,MAAM;iBACP,CAAC,CAAC;gBACH,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBACnC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,mCACxB,IAAI,KACP,KAAK,oBAAO,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,GACvB,KAAK,GACN,CAAC;aACH;SACF;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;IAC3D,CAAC;IAEO,OAAO,CAAC,EACd,IAAI,EACJ,OAAO,GAAG,IAAI,EACd,eAAe,GAAG,IAAI,GAKvB;QACC,MAAM,UAAU,GAAkB,EAAE,CAAC;QACrC,MAAM,SAAS,GAAkB,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACpC,MAAM,IAAI,qBAAQ,IAAI,CAAC,OAAO,CAAC,CAAE,CAAC;YAClC,IAAI,eAAe,EAAE;gBACnB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;aACpC;YACD,IAAI,CAAC,KAAK,GAAG,sBAAsB,CAAC;gBAClC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAE7B,mBAAmB;YACnB,UAAU,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACxC,SAAS,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;YACrB,IAAI,OAAO,EAAE;gBACX,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,mCAAQ,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAK,IAAI,CAAE,CAAC;aAC/C;iBAAM;gBACL,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,OAAO;YACL,UAAU;YACV,SAAS;SACV,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,EACZ,IAAI,EACJ,OAAO,GAAG,IAAI,EACd,eAAe,GAAG,IAAI,EACtB,UAAU,GAAG,EAAE,GAMhB;QACC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7C,IAAI;YACJ,OAAO;YACP,eAAe;SAChB,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC;YACf,SAAS,EAAE,QAAQ;YACnB,UAAU;YACV,UAAU;YACV,SAAS;YACT,OAAO;SACR,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAEM,WAAW,CAAC,EACjB,KAAK,EACL,MAAM,EACN,eAAe,GAAG,IAAI,EACtB,UAAU,GAAG,EAAE,GAMhB;QACC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QACrC,MAAM,IAAI,GAAuB,EAAE,CAAC;QACpC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACzB,MAAM,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE;gBACnB,OAAO;aACR;YACD,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;gBACxB,MAAM,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;gBACpB,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE;oBAClB,OAAO;iBACR;gBACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBACzC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;YAC7B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,CAAC;YACjB,IAAI;YACJ,OAAO,EAAE,IAAI;YACb,eAAe;YACf,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,EACX,KAAK,EACL,KAAK,EACL,eAAe,GAAG,IAAI,EACtB,UAAU,GAAG,EAAE,GAMhB;QACC,OAAO,IAAI,CAAC,WAAW,CAAC;YACtB,KAAK;YACL,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YACjB,eAAe;YACf,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAEM,gBAAgB,CAAC,EACtB,CAAC,EACD,OAAO,EACP,KAAK,EACL,IAAI,EACJ,OAAO,EACP,eAAe,EACf,UAAU,GAAG,EAAE,GAShB;QACC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,CAAC;YACD,OAAO;YACP,KAAK;YACL,UAAU;SACX,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CACX,IAAI,CAAC,WAAY,EACjB,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,EAChD,EAAE,OAAO,EAAE,CACZ,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,OAAO,CAAC,EACb,CAAC,EACD,OAAO,EACP,KAAK,EACL,UAAU,GAAG,EAAE,GAMhB;QACC,IACE,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC;YACtB,IAAI,CAAC,UAAU,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,UAAU,EAC7C;YACA,OAAO,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC;SACb;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE;YAChC,MAAM,GAAG,GAAQ,EAAE,CAAC;YACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE;gBAChC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC7B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACb,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACjD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBACzC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,mCAAQ,MAAM,KAAE,SAAS,GAAE,CAAC;aAC1C;YACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAChB;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC;QAE5B,IAAI,CAAC,WAAW,CAAC;YACf,SAAS,EAAE,UAAU;YACrB,UAAU;YACV,CAAC;YACD,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC;IACM,UAAU,CAAC,EAChB,CAAC,EACD,OAAO,EACP,UAAU,GAAG,EAAE,GAKhB;QACC,IACE,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC;YACtB,IAAI,CAAC,UAAU,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,UAAU,EAC7C;YACA,OAAO,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,UAAU,uBAAuB,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC;SACb;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC;YACf,SAAS,EAAE,aAAa;YACxB,UAAU;YACV,CAAC;YACD,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC;IAEM,gBAAgB,CAAC,EACtB,CAAC,EACD,OAAO,EACP,KAAK,EACL,IAAI,EACJ,OAAO,EACP,eAAe,EACf,UAAU,GAAG,EAAE,GAShB;QACC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,CAAC;YACD,OAAO;YACP,KAAK;YACL,UAAU;SACX,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CACX,IAAI,CAAC,WAAY,EACjB,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,EAChD,EAAE,OAAO,EAAE,CACZ,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,OAAO,CAAC,EACb,CAAC,EACD,OAAO,EACP,KAAK,EACL,UAAU,GAAG,EAAE,GAMhB;QACC,IACE,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC;YACtB,IAAI,CAAC,UAAU,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,UAAU,EAC7C;YACA,OAAO,CAAC,KAAK,CAAC,0BAA0B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YAC5D,OAAO,IAAI,CAAC;SACb;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE;YAChC,MAAM,GAAG,GAAQ,EAAE,CAAC;YACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE;gBAChC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC7B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACb,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;gBACjD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBACzC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,mCAAQ,MAAM,KAAE,SAAS,GAAE,CAAC;aAC1C;YACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAChB;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC;QAE3B,IAAI,CAAC,WAAW,CAAC;YACf,SAAS,EAAE,UAAU;YACrB,UAAU;YACV,CAAC;YACD,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC;IACM,UAAU,CAAC,EAChB,CAAC,EACD,OAAO,EACP,UAAU,GAAG,EAAE,GAKhB;QACC,IACE,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC;YACtB,IAAI,CAAC,UAAU,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,UAAU,EAC7C;YACA,OAAO,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,UAAU,0BAA0B,CAAC,CAAC;YACrE,OAAO,IAAI,CAAC;SACb;QACD,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC5B,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC;QAE3B,IAAI,CAAC,WAAW,CAAC;YACf,SAAS,EAAE,aAAa;YACxB,UAAU;YACV,CAAC;YACD,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC;IACM,YAAY;QACjB,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IACM,eAAe;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACM,cAAc;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IAC/B,CAAC;IACM,eAAe;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAEM,YAAY,CAAC,mBAAoC;QACtD,IAAI,CAAC,SAAS,mCAAQ,gBAAgB,GAAK,mBAAmB,CAAE,CAAC;IACnE,CAAC;IAEM,OAAO;QACZ,yBAAY,IAAI,CAAC,IAAI,EAAG;IAC1B,CAAC;IAEM,KAAK,CAAC,KAAgB,EAAE,KAAa;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,aAAa,CAAC;QAChE,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAEM,MAAM,CAAC,KAAgB,EAAE,MAAmB;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,IAAI,eAAe,CAAC;QACxE,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAEM,SAAS,CAAC,KAAgB,EAAE,KAAW,EAAE,SAAS,GAAG,KAAK;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,KAAI,EAAE,CAAC,IAAI,eAAe,CAAC;QACzE,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,CAC1B,OAAO,KAAK,KAAK,WAAW,CAAC,CAAC,mBAAM,IAAI,EAAG,CAAC,iCAAM,IAAI,KAAE,KAAK,GAAE,CAChE,CAAC;QAEF,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YAChB,IAAI,SAAS,EAAE;gBACb,OAAO,MAAM,CACX,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CACtD,CAAC;aACH;YACD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACjB,OAAO,GAAG,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;SACzC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAEM,IAAI,CAAC,IAAc;QACxB,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACxB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAClC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAClC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAC1C,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACxC,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,cAAc,CAAC,OAAgB;QACpC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1D,IAAI,EAAE,EAAE;YACN,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;SACvD;IACH,CAAC;IAEO,SAAS,CAAC,IAAmB,EAAE,OAAO,GAAG,IAAI;QACnD,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC/B,OAAO;SACR;QACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,mCAAQ,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAK,IAAI,CAAE,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,IAAI;QACT,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE;YACzB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAa,EAAE,CAAC;SACnD;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACpD,QAAQ,OAAO,CAAC,SAAS,EAAE;YACzB,KAAK,QAAQ;gBACX,0DAA0D;gBAC1D,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAW,EAAE,KAAK,CAAC,CAAC;gBAC3C,MAAM;YACR,KAAK,UAAU,CAAC,CAAC;gBACf,IAAI,OAAO,CAAC,UAAU,EAAE;oBACtB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;iBAC3C;gBACD,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC7D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBACxC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;gBAC3B,MAAM;aACP;YACD,KAAK,UAAU,CAAC,CAAC;gBACf,IAAI,OAAO,CAAC,UAAU,EAAE;oBACtB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;iBAC3C;gBACD,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC5D,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC5B,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC/B,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;gBACzB,MAAM;aACP;YACD,KAAK,aAAa,CAAC,CAAC;gBAClB,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC7D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACxD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;gBAC3B,MAAM;aACP;YACD,KAAK,aAAa,CAAC,CAAC;gBAClB,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC5D,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBAC/B,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnD,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;gBACzB,MAAM;aACP;YACD,KAAK,MAAM,CAAC,CAAC;gBACX,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;gBACjD,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;gBAC3C,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC;oBAChD,MAAM,EAAE,OAAO,CAAC,UAAU;oBAC1B,IAAI,EAAE,CAAC,CAAC;iBACT,CAAC,CAAC;gBACH,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,EAAE;oBAC3C,GAAG,EAAE,KAAK;oBACV,IAAI,EAAE,KAAK;oBACX,MAAM,EAAE,KAAK,GAAG,IAAI;oBACpB,KAAK,EAAE,KAAK,GAAG,IAAI;iBACpB,CAAC,CAAC;gBACH,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;oBACzC,GAAG,EAAE,GAAG;oBACR,IAAI,EAAE,GAAG;oBACT,MAAM,EAAE,GAAG,GAAG,IAAI;oBAClB,KAAK,EAAE,GAAG,GAAG,IAAI;iBAClB,CAAC,CAAC;gBACH,MAAM;aACP;SACF;QACD,OAAO;YACL,OAAO;YACP,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC;gBACzB,SAAS,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC;aAC9C,CAAC;SACH,CAAC;IACJ,CAAC;IAEM,IAAI;QACT,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YAClD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAa,EAAE,CAAC;SACnD;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACpD,QAAQ,OAAO,CAAC,SAAS,EAAE;YACzB,KAAK,QAAQ;gBACX,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;gBACpD,MAAM;YACR,KAAK,UAAU,CAAC,CAAC;gBACf,IAAI,OAAO,CAAC,SAAS,EAAE;oBACrB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;iBACpD;gBACD,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC7D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACxD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;gBAC3B,MAAM;aACP;YACD,KAAK,UAAU,CAAC,CAAC;gBACf,IAAI,OAAO,CAAC,SAAS,EAAE;oBACrB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;iBACpD;gBACD,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC5D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBAC3B,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnD,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;gBACzB,MAAM;aACP;YACD,KAAK,aAAa,CAAC,CAAC;gBAClB,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC7D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBACxC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;gBAC3B,MAAM;aACP;YACD,KAAK,aAAa,CAAC,CAAC;gBAClB,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC5D,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC5B,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC/B,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;gBACzB,MAAM;aACP;YACD,KAAK,MAAM,CAAC,CAAC;gBACX,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;gBACjD,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;gBAC3C,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC;oBAChD,MAAM,EAAE,OAAO,CAAC,UAAU;oBAC1B,IAAI,EAAE,CAAC,CAAC;iBACT,CAAC,CAAC;gBACH,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE;oBAC1C,GAAG,EAAE,KAAK;oBACV,IAAI,EAAE,KAAK;oBACX,MAAM,EAAE,KAAK,GAAG,IAAI;oBACpB,KAAK,EAAE,KAAK,GAAG,IAAI;iBACpB,CAAC,CAAC;gBACH,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,EAAE;oBAC3C,GAAG,EAAE,GAAG;oBACR,IAAI,EAAE,GAAG;oBACT,MAAM,EAAE,GAAG,GAAG,IAAI;oBAClB,KAAK,EAAE,GAAG,GAAG,IAAI;iBAClB,CAAC,CAAC;aACJ;SACF;QACD,OAAO;YACL,OAAO;YACP,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC;gBACzB,SAAS,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC;aAC9C,CAAC;SACH,CAAC;IACJ,CAAC;IACM,WAAW,CAAC,IAAY;QAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAEM,QAAQ,CAAC,GAAW,EAAE,CAAS;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,CAAC,CAAC,CAAC;IACtB,CAAC;IACM,OAAO;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IACM,cAAc,CAAC,GAAW;QAC/B,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IACM,cAAc,CAAC,GAAW,EAAE,KAAU;QAC3C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACjC,CAAC;CACF;AAED,uBAAuB;AACvB,MAAM,OAAO,aAAc,SAAQ,KAAK;CAAG"}
@@ -0,0 +1,14 @@
1
+ export declare const BASE_DATE: Date;
2
+ declare type Diff = [number, number, number, number, number, number, number];
3
+ export declare class TimeDelta {
4
+ protected diff: Diff;
5
+ private date1;
6
+ private date2;
7
+ constructor(date1: Date, date2: Date);
8
+ add(date: Date): Date;
9
+ sub(date: Date): Date;
10
+ stringify(format?: string): string;
11
+ static create(hours?: number, minutes?: number, seconds?: number, milliseconds?: number): TimeDelta;
12
+ }
13
+ export {};
14
+ //# sourceMappingURL=time.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../src/lib/time.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,SAAS,MAAmC,CAAC;AAI1D,aAAK,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAErE,qBAAa,SAAS;IACpB,SAAS,CAAC,IAAI,EAAE,IAAI,CAAyB;IAC7C,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,KAAK,CAAO;gBAEP,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI;IAa9B,GAAG,CAAC,IAAI,EAAE,IAAI;IAMd,GAAG,CAAC,IAAI,EAAE,IAAI;IAOd,SAAS,CAAC,MAAM,SAAQ;IAoB/B,MAAM,CAAC,MAAM,CAAC,KAAK,SAAE,EAAE,OAAO,SAAE,EAAE,OAAO,SAAE,EAAE,YAAY,SAAE;CAQ5D"}
@@ -0,0 +1,60 @@
1
+ import { addYears, addMonths, addDays, addHours, addMinutes, addSeconds, addMilliseconds, subYears, subMonths, subDays, subHours, subMinutes, subSeconds, subMilliseconds, } from 'date-fns';
2
+ export const BASE_DATE = new Date('2345-01-02T03:04:05Z');
3
+ const ADD_FNS = [addYears, addMonths, addDays, addHours, addMinutes, addSeconds, addMilliseconds];
4
+ const SUB_FNS = [subYears, subMonths, subDays, subHours, subMinutes, subSeconds, subMilliseconds];
5
+ export class TimeDelta {
6
+ constructor(date1, date2) {
7
+ this.diff = [0, 0, 0, 0, 0, 0, 0];
8
+ this.diff = [
9
+ (date1.getFullYear() - date2.getFullYear()),
10
+ (date1.getMonth() - date2.getMonth()),
11
+ (date1.getDate() - date2.getDate()),
12
+ (date1.getHours() - date2.getHours()),
13
+ (date1.getMinutes() - date2.getMinutes()),
14
+ (date1.getSeconds() - date2.getSeconds()),
15
+ (date1.getMilliseconds() - date2.getMilliseconds()),
16
+ ];
17
+ this.date1 = date1;
18
+ this.date2 = date2;
19
+ }
20
+ add(date) {
21
+ this.diff.forEach((n, i) => {
22
+ date = ADD_FNS[i](date, n);
23
+ });
24
+ return date;
25
+ }
26
+ sub(date) {
27
+ this.diff.forEach((n, i) => {
28
+ date = SUB_FNS[i](date, n);
29
+ });
30
+ return date;
31
+ }
32
+ stringify(format = "HH:mm") {
33
+ const tokens = [];
34
+ const msecs = this.date1.getMilliseconds() - this.date2.getMilliseconds();
35
+ let secs = (this.date1.getTime() - this.date2.getTime()) / 1000;
36
+ for (const divider of [3600, 60]) {
37
+ tokens.push(Math.floor(secs / divider));
38
+ secs %= divider;
39
+ }
40
+ tokens.push(secs, msecs);
41
+ let result = format;
42
+ result = result.replace("HH", String(tokens[0]).padStart(2, '0'));
43
+ result = result.replace("H", String(tokens[0]));
44
+ result = result.replace("mm", String(tokens[1]).padStart(2, '0'));
45
+ result = result.replace("ss", String(tokens[2]).padStart(2, '0'));
46
+ result = result.replace("SSS", String(tokens[3]).padStart(3, '0'));
47
+ result = result.replace("SS", String(tokens[3]).padStart(2, '0').substring(0, 2));
48
+ result = result.replace("S", String(tokens[3]).padStart(1, '0').substring(0, 1));
49
+ return result;
50
+ }
51
+ static create(hours = 0, minutes = 0, seconds = 0, milliseconds = 0) {
52
+ const diff = [0, 0, 0, hours, minutes, seconds, milliseconds];
53
+ let date = BASE_DATE;
54
+ diff.forEach((n, i) => {
55
+ date = ADD_FNS[i](date, n);
56
+ });
57
+ return new TimeDelta(date, BASE_DATE);
58
+ }
59
+ }
60
+ //# sourceMappingURL=time.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.js","sourceRoot":"","sources":["../../src/lib/time.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { Table } from "./table";
2
+ import { PointType } from "../types";
3
+ export declare const getCellRectPositions: (table: Table, e: HTMLDivElement, { y, x }: PointType) => {
4
+ top: number;
5
+ left: number;
6
+ bottom: number;
7
+ right: number;
8
+ width: number;
9
+ height: number;
10
+ };
11
+ export declare const getScreenRect: (e: HTMLDivElement) => {
12
+ top: number;
13
+ left: number;
14
+ bottom: number;
15
+ right: number;
16
+ height: number;
17
+ width: number;
18
+ };
19
+ export declare const virtualize: (table: Table, e: HTMLDivElement) => {
20
+ ys: number[];
21
+ xs: number[];
22
+ adjuster: {
23
+ top: number;
24
+ left: number;
25
+ bottom: number;
26
+ right: number;
27
+ };
28
+ };
29
+ export declare const smartScroll: (table: Table, e: HTMLDivElement, targetPoint: PointType, behavior?: ScrollBehavior) => void;
30
+ //# sourceMappingURL=virtualization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"virtualization.d.ts","sourceRoot":"","sources":["../../src/lib/virtualization.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAC,SAAS,EAAC,MAAM,UAAU,CAAC;AAEnC,eAAO,MAAM,oBAAoB,UACxB,KAAK,KACT,cAAc,YACT,SAAS;;;;;;;CAQlB,CAAA;AAED,eAAO,MAAM,aAAa,MAAO,cAAc;;;;;;;CAK9C,CAAA;AAED,eAAO,MAAM,UAAU,UAAW,KAAK,KAAK,cAAc;;;;;;;;;CA0CzD,CAAA;AAED,eAAO,MAAM,WAAW,UACf,KAAK,KACT,cAAc,eACJ,SAAS,aACZ,cAAc,SAiDzB,CAAC"}
@@ -0,0 +1,114 @@
1
+ import { DEFAULT_HEIGHT, DEFAULT_WIDTH, OVERSCAN_X, OVERSCAN_Y } from "../constants";
2
+ import { range } from "./structs";
3
+ export const getCellRectPositions = (table, e, { y, x }) => {
4
+ var _a, _b;
5
+ let { width, height } = table.getRectSize({ top: 1, left: 1, bottom: y, right: x });
6
+ width += table.headerWidth;
7
+ height += table.headerHeight;
8
+ const w = ((_a = table.getByPoint({ y: 0, x })) === null || _a === void 0 ? void 0 : _a.width) || DEFAULT_WIDTH;
9
+ const h = ((_b = table.getByPoint({ y, x: 0 })) === null || _b === void 0 ? void 0 : _b.height) || DEFAULT_HEIGHT;
10
+ return { top: height, left: width, bottom: height + h, right: width + w, width: w, height: h };
11
+ };
12
+ export const getScreenRect = (e) => {
13
+ const top = e.scrollTop, left = e.scrollLeft;
14
+ const height = e.offsetHeight, width = e.offsetWidth;
15
+ const bottom = top + height, right = left + width;
16
+ return { top, left, bottom, right, height, width };
17
+ };
18
+ export const virtualize = (table, e) => {
19
+ var _a, _b;
20
+ let boundaryTop = 0, boundaryLeft = 0, boundaryBottom = table.getNumRows(), boundaryRight = table.getNumCols();
21
+ const { top, left, bottom, right } = getScreenRect(e);
22
+ let width = 0, height = 0;
23
+ for (let x = 1; x <= table.getNumCols(); x++) {
24
+ const w = ((_a = table.getByPoint({ y: 0, x })) === null || _a === void 0 ? void 0 : _a.width) || DEFAULT_WIDTH;
25
+ width += w;
26
+ if (boundaryLeft === 0 && width > left) {
27
+ boundaryLeft = Math.max(x - OVERSCAN_X, 1);
28
+ }
29
+ if (width > right) {
30
+ boundaryRight = Math.min(x + OVERSCAN_X, table.getNumCols());
31
+ break;
32
+ }
33
+ }
34
+ for (let y = 1; y <= table.getNumRows(); y++) {
35
+ const h = ((_b = table.getByPoint({ y, x: 0 })) === null || _b === void 0 ? void 0 : _b.height) || DEFAULT_HEIGHT;
36
+ height += h;
37
+ if (boundaryTop === 0 && height > top) {
38
+ boundaryTop = Math.max(y - OVERSCAN_Y, 1);
39
+ }
40
+ if (height > bottom) {
41
+ boundaryBottom = Math.min(y + OVERSCAN_Y, table.getNumRows());
42
+ break;
43
+ }
44
+ }
45
+ const ys = range(boundaryTop, boundaryBottom);
46
+ const xs = range(boundaryLeft, boundaryRight);
47
+ const before = table.getRectSize({ top: 1, left: 1, bottom: boundaryTop, right: boundaryLeft });
48
+ const after = table.getRectSize({ top: boundaryBottom, left: boundaryRight, bottom: table.getNumRows(), right: table.getNumCols() });
49
+ return {
50
+ ys,
51
+ xs,
52
+ adjuster: {
53
+ top: before.height,
54
+ left: before.width,
55
+ bottom: after.height,
56
+ right: after.width,
57
+ },
58
+ };
59
+ };
60
+ export const smartScroll = (table, e, targetPoint, behavior = 'auto') => {
61
+ const screen = getScreenRect(e);
62
+ const target = getCellRectPositions(table, e, targetPoint);
63
+ // when header is sticky
64
+ const up = target.top - table.headerHeight;
65
+ const left = target.left - table.headerWidth;
66
+ const down = target.bottom - (screen.height) + 1;
67
+ const right = target.right - (screen.width) + 1;
68
+ const isTopOver = up < screen.top;
69
+ const isLeftOver = left < screen.left;
70
+ const isBottomOver = target.bottom > screen.bottom;
71
+ const isRightOver = target.right > screen.right;
72
+ if (isLeftOver) {
73
+ if (isTopOver) {
74
+ // go left up
75
+ e.scrollTo({ left, top: up, behavior });
76
+ }
77
+ else if (isBottomOver) {
78
+ // go left down
79
+ e.scrollTo({ left, top: down, behavior });
80
+ }
81
+ else {
82
+ // go left
83
+ e.scrollTo({ left, top: screen.top, behavior });
84
+ }
85
+ }
86
+ else if (isRightOver) {
87
+ if (isTopOver) {
88
+ // go right up
89
+ e.scrollTo({ left: right, top: up, behavior });
90
+ }
91
+ else if (isBottomOver) {
92
+ // go right down
93
+ e.scrollTo({ left: right, top: down, behavior });
94
+ }
95
+ else {
96
+ // go right
97
+ e.scrollTo({ left: right, top: screen.top, behavior });
98
+ }
99
+ }
100
+ else {
101
+ if (isTopOver) {
102
+ // go up
103
+ e.scrollTo({ left: screen.left, top: up, behavior });
104
+ }
105
+ else if (isBottomOver) {
106
+ // go down
107
+ e.scrollTo({ left: screen.left, top: down, behavior });
108
+ }
109
+ else {
110
+ // go nowhere
111
+ }
112
+ }
113
+ };
114
+ //# sourceMappingURL=virtualization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"virtualization.js","sourceRoot":"","sources":["../../src/lib/virtualization.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { CellType } from "../types";
2
+ import { TimeDelta } from "../lib/time";
3
+ declare type Condition = (value: string) => boolean;
4
+ declare type Stringify = (value: string) => any;
5
+ declare type Props = {
6
+ condition?: Condition;
7
+ complement?: Stringify;
8
+ mixins?: ParserMixinType[];
9
+ };
10
+ export interface ParserMixinType {
11
+ parseFunctions?: ((value: string, cell: CellType) => any)[];
12
+ parse?(value: string, cell: CellType): CellType;
13
+ callback?(parsed: any, cell: CellType): any;
14
+ bool?(value: string, cell: CellType): boolean | undefined;
15
+ number?(value: string, cell: CellType): number | undefined;
16
+ timedelta?(value: string, cell: CellType): TimeDelta | undefined;
17
+ date?(value: string, cell: CellType): Date | undefined;
18
+ }
19
+ export declare class Parser implements ParserMixinType {
20
+ parseFunctions: ((value: string, cell: CellType) => any)[];
21
+ private condition?;
22
+ private complement?;
23
+ constructor(props?: Props);
24
+ private applyMixins;
25
+ callback(parsed: any, cell: CellType): any;
26
+ parse(value: string, cell: CellType): CellType;
27
+ protected _parse(value: string, cell: CellType): any;
28
+ bool(value: string, cell: CellType): boolean | undefined;
29
+ number(value: string, cell: CellType): number | undefined;
30
+ timedelta(value: string, cell: CellType): TimeDelta | undefined;
31
+ date(value: string, cell: CellType): Date | undefined;
32
+ }
33
+ export declare type ParserType = Parser;
34
+ export declare const defaultParser: Parser;
35
+ export {};
36
+ //# sourceMappingURL=core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/parsers/core.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAEtC,aAAK,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;AAC5C,aAAK,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,GAAG,CAAC;AAExC,aAAK,KAAK,GAAG;IACX,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;CAC5B,CAAC;AAIF,MAAM,WAAW,eAAe;IAC9B,cAAc,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,KAAK,GAAG,CAAC,EAAE,CAAC;IAC5D,KAAK,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAChD,QAAQ,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,GAAG,GAAG,CAAC;IAC5C,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IAC1D,MAAM,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;IAC3D,SAAS,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACjE,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,CAAC;CACxD;AAED,qBAAa,MAAO,YAAW,eAAe;IAC5C,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,KAAK,GAAG,CAAC,EAAE,CAKxD;IAEF,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,UAAU,CAAC,CAAY;gBAEnB,KAAK,CAAC,EAAE,KAAK;IAUzB,OAAO,CAAC,WAAW;IAYZ,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ;IAGpC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ;IAQrD,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,GAAG;IAoBpD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS;IAIxD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS;IAWzD,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS;IAiC/D,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS;CAkBtD;AAED,oBAAY,UAAU,GAAG,MAAM,CAAC;AAEhC,eAAO,MAAM,aAAa,QAAe,CAAC"}
@@ -0,0 +1,123 @@
1
+ import { parseFromTimeZone } from "date-fns-timezone";
2
+ import { TimeDelta } from "../lib/time";
3
+ const BOOLS = { true: true, false: false };
4
+ export class Parser {
5
+ constructor(props) {
6
+ this.parseFunctions = [
7
+ this.number,
8
+ this.timedelta,
9
+ this.date,
10
+ this.bool,
11
+ ];
12
+ this.applyMixins(props === null || props === void 0 ? void 0 : props.mixins);
13
+ if (props == null) {
14
+ return;
15
+ }
16
+ const { condition, complement } = props;
17
+ this.condition = condition;
18
+ this.complement = complement;
19
+ }
20
+ applyMixins(mixins) {
21
+ if (mixins == null) {
22
+ return;
23
+ }
24
+ for (const mixin of mixins) {
25
+ for (const key in mixin) {
26
+ // @ts-ignore
27
+ this[key] = mixin[key];
28
+ }
29
+ }
30
+ }
31
+ callback(parsed, cell) {
32
+ return parsed;
33
+ }
34
+ parse(value, cell) {
35
+ try {
36
+ const parsed = this._parse(value, cell);
37
+ return Object.assign(Object.assign({}, cell), { value: parsed });
38
+ }
39
+ catch (e) {
40
+ return Object.assign(Object.assign({}, cell), { value: e });
41
+ }
42
+ }
43
+ _parse(value, cell) {
44
+ if (this.condition && !this.condition(value)) {
45
+ const result = this.complement ? this.complement(value) : value;
46
+ return this.callback(result, cell);
47
+ }
48
+ if (value[0] === "'") {
49
+ return this.callback(value, cell);
50
+ }
51
+ for (let i = 0; i < this.parseFunctions.length; i++) {
52
+ const result = this.parseFunctions[i](value, cell);
53
+ if (result != null) {
54
+ return this.callback(result, cell);
55
+ }
56
+ }
57
+ if (value === "") {
58
+ return this.callback(null, cell);
59
+ }
60
+ return this.callback(value, cell);
61
+ }
62
+ bool(value, cell) {
63
+ return BOOLS[value.toLowerCase()];
64
+ }
65
+ number(value, cell) {
66
+ const m = value.match(/^-?[\d.]+$/);
67
+ if (m != null &&
68
+ value.match(/\.$/) == null &&
69
+ (value.match(/\./g) || []).length <= 1) {
70
+ return parseFloat(value);
71
+ }
72
+ }
73
+ timedelta(value, cell) {
74
+ if (value.length < 4 || isNaN(value[value.length - 1])) {
75
+ return;
76
+ }
77
+ {
78
+ const match = value.match(/^([+-]?)(\d+):(\d{2})$/);
79
+ if (match) {
80
+ const [, _sign, hours, minutes] = match;
81
+ const sign = _sign === "-" ? -1 : 1;
82
+ return TimeDelta.create(sign * Number(hours), sign * Number(minutes));
83
+ }
84
+ }
85
+ {
86
+ const match = value.match(/^([+-]?)(\d+):(\d{2}):(\d{2})$/);
87
+ if (match) {
88
+ const [, _sign, hours, minutes, seconds] = match;
89
+ const sign = _sign === "-" ? -1 : 1;
90
+ return TimeDelta.create(sign * Number(hours), sign * Number(minutes), sign * Number(seconds));
91
+ }
92
+ }
93
+ {
94
+ const match = value.match(/^([+-]?)(\d+):(\d{2}):(\d{2})\.(\d+)$/);
95
+ if (match) {
96
+ const [, _sign, hours, minutes, seconds, msecs] = match;
97
+ const sign = _sign === "-" ? -1 : 1;
98
+ return TimeDelta.create(sign * Number(hours), sign * Number(minutes), sign * Number(seconds), sign * Number(msecs));
99
+ }
100
+ }
101
+ }
102
+ date(value, cell) {
103
+ const first = value[0];
104
+ if (first == null || first.match(/[JFMASOND0-9]/) == null) {
105
+ return;
106
+ }
107
+ if (value[value.length - 1].match(/[0-9Z]/) == null) {
108
+ return;
109
+ }
110
+ let timeZone = "UTC";
111
+ try {
112
+ timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
113
+ }
114
+ catch (e) { }
115
+ const d = parseFromTimeZone(value, { timeZone });
116
+ if (d.toString() === "Invalid Date") {
117
+ return;
118
+ }
119
+ return d;
120
+ }
121
+ }
122
+ export const defaultParser = new Parser();
123
+ //# sourceMappingURL=core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/parsers/core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { WriterType } from "../types";
2
+ export declare const CheckboxRendererMixin: {
3
+ bool(value: boolean, writer?: WriterType): any;
4
+ };
5
+ //# sourceMappingURL=checkbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../src/renderers/checkbox.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAEpC,eAAO,MAAM,qBAAqB;gBACpB,OAAO,WAAW,UAAU,GAAG,GAAG;CAY/C,CAAA"}
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ export const CheckboxRendererMixin = {
3
+ bool(value, writer) {
4
+ return (React.createElement("input", { type: "checkbox", checked: value, onChange: (e) => {
5
+ writer && writer(e.currentTarget.checked.toString());
6
+ e.currentTarget.blur();
7
+ } }));
8
+ }
9
+ };
10
+ //# sourceMappingURL=checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../src/renderers/checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,IAAI,CAAC,KAAc,EAAE,MAAmB;QACtC,OAAO,CACL,+BACE,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,KAAK,EACd,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;gBACd,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACrD,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;YACzB,CAAC,GACD,CACH,CAAC;IACJ,CAAC;CACF,CAAA"}
@@ -0,0 +1,48 @@
1
+ import { CellType, PointType, WriterType } from "../types";
2
+ import { Table, UserTable } from "../lib/table";
3
+ import { TimeDelta } from "../lib/time";
4
+ declare type Condition = (value: any) => boolean;
5
+ declare type Stringify = (value: any) => string;
6
+ declare type Props = {
7
+ condition?: Condition;
8
+ complement?: Stringify;
9
+ mixins?: RendererMixinType[];
10
+ };
11
+ export interface RendererMixinType {
12
+ render?(table: UserTable, point: PointType, writer?: WriterType): any;
13
+ stringify?(cell: CellType): string;
14
+ string?(value: string, table: UserTable, writer?: WriterType): any;
15
+ bool?(value: boolean, writer?: WriterType): any;
16
+ number?(value: number, writer?: WriterType): any;
17
+ date?(value: Date, writer?: WriterType): any;
18
+ timedelta?(value: TimeDelta, writer?: WriterType): any;
19
+ array?(value: any[], writer?: WriterType): any;
20
+ object?(value: any, writer?: WriterType): any;
21
+ null?(value: null, writer?: WriterType): any;
22
+ undefined?(value: undefined, writer?: WriterType): any;
23
+ }
24
+ export declare class Renderer implements RendererMixinType {
25
+ datetimeFormat: string;
26
+ dateFormat: string;
27
+ timeDeltaFormat: string;
28
+ private condition?;
29
+ private complement?;
30
+ constructor(props?: Props);
31
+ private applyMixins;
32
+ render(table: Table, point: PointType, writer?: WriterType): any;
33
+ _render(value: any, table: Table, writer?: WriterType): any;
34
+ stringify(cell: CellType): string;
35
+ string(value: string, table: Table, writer?: WriterType): any;
36
+ bool(value: boolean, writer?: WriterType): any;
37
+ number(value: number, writer?: WriterType): any;
38
+ date(value: Date, writer?: WriterType): any;
39
+ timedelta(value: TimeDelta, writer?: WriterType): any;
40
+ array(value: any[], writer?: WriterType): any;
41
+ object(value: any, writer?: WriterType): any;
42
+ null(value: null, writer?: WriterType): any;
43
+ undefined(value: undefined, writer?: WriterType): any;
44
+ }
45
+ export declare type RendererType = Renderer;
46
+ export declare const defaultRenderer: Renderer;
47
+ export {};
48
+ //# sourceMappingURL=core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/renderers/core.ts"],"names":[],"mappings":"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"}