@rowsncolumns/toolkit 24.4.1

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 (456) hide show
  1. package/LICENSE.md +100 -0
  2. package/Readme.md +27 -0
  3. package/dist/cjs/autofilter-condition.d.ts +43 -0
  4. package/dist/cjs/autofilter-condition.d.ts.map +1 -0
  5. package/dist/cjs/autofilter-condition.js +155 -0
  6. package/dist/cjs/csv-export.d.ts +49 -0
  7. package/dist/cjs/csv-export.d.ts.map +1 -0
  8. package/dist/cjs/csv-export.js +142 -0
  9. package/dist/cjs/csv-import-worker.d.ts +16 -0
  10. package/dist/cjs/csv-import-worker.d.ts.map +1 -0
  11. package/dist/cjs/csv-import-worker.js +60 -0
  12. package/dist/cjs/csv-import.d.ts +38 -0
  13. package/dist/cjs/csv-import.d.ts.map +1 -0
  14. package/dist/cjs/csv-import.js +166 -0
  15. package/dist/cjs/csv-parser/helpers.d.ts +14 -0
  16. package/dist/cjs/csv-parser/helpers.d.ts.map +1 -0
  17. package/dist/cjs/csv-parser/helpers.js +145 -0
  18. package/dist/cjs/csv-parser/types.d.ts +66 -0
  19. package/dist/cjs/csv-parser/types.d.ts.map +1 -0
  20. package/dist/cjs/csv-parser/types.js +14 -0
  21. package/dist/cjs/csv-parser/worker.d.ts +2 -0
  22. package/dist/cjs/csv-parser/worker.d.ts.map +1 -0
  23. package/dist/cjs/csv-parser/worker.js +200 -0
  24. package/dist/cjs/excel-export.d.ts +11 -0
  25. package/dist/cjs/excel-export.d.ts.map +1 -0
  26. package/dist/cjs/excel-export.js +22 -0
  27. package/dist/cjs/excel-import-session.d.ts +51 -0
  28. package/dist/cjs/excel-import-session.d.ts.map +1 -0
  29. package/dist/cjs/excel-import-session.js +307 -0
  30. package/dist/cjs/excel-import-worker.d.ts +7 -0
  31. package/dist/cjs/excel-import-worker.d.ts.map +1 -0
  32. package/dist/cjs/excel-import-worker.js +119 -0
  33. package/dist/cjs/excel-parser/builtin-numfmts.d.ts +24 -0
  34. package/dist/cjs/excel-parser/builtin-numfmts.d.ts.map +1 -0
  35. package/dist/cjs/excel-parser/builtin-numfmts.js +63 -0
  36. package/dist/cjs/excel-parser/cfb-decryptor.d.ts +53 -0
  37. package/dist/cjs/excel-parser/cfb-decryptor.d.ts.map +1 -0
  38. package/dist/cjs/excel-parser/cfb-decryptor.js +553 -0
  39. package/dist/cjs/excel-parser/cfb-encryptor.d.ts +23 -0
  40. package/dist/cjs/excel-parser/cfb-encryptor.d.ts.map +1 -0
  41. package/dist/cjs/excel-parser/cfb-encryptor.js +200 -0
  42. package/dist/cjs/excel-parser/dv-cell-stamp.d.ts +29 -0
  43. package/dist/cjs/excel-parser/dv-cell-stamp.d.ts.map +1 -0
  44. package/dist/cjs/excel-parser/dv-cell-stamp.js +239 -0
  45. package/dist/cjs/excel-parser/helpers.d.ts +28 -0
  46. package/dist/cjs/excel-parser/helpers.d.ts.map +1 -0
  47. package/dist/cjs/excel-parser/helpers.js +188 -0
  48. package/dist/cjs/excel-parser/interface.d.ts +179 -0
  49. package/dist/cjs/excel-parser/interface.d.ts.map +1 -0
  50. package/dist/cjs/excel-parser/interface.js +1 -0
  51. package/dist/cjs/excel-parser/plugins/base/index.d.ts +31 -0
  52. package/dist/cjs/excel-parser/plugins/base/index.d.ts.map +1 -0
  53. package/dist/cjs/excel-parser/plugins/base/index.js +101 -0
  54. package/dist/cjs/excel-parser/plugins/ods/conditional-formatting.d.ts +16 -0
  55. package/dist/cjs/excel-parser/plugins/ods/conditional-formatting.d.ts.map +1 -0
  56. package/dist/cjs/excel-parser/plugins/ods/conditional-formatting.js +488 -0
  57. package/dist/cjs/excel-parser/plugins/ods/data-validations.d.ts +15 -0
  58. package/dist/cjs/excel-parser/plugins/ods/data-validations.d.ts.map +1 -0
  59. package/dist/cjs/excel-parser/plugins/ods/data-validations.js +353 -0
  60. package/dist/cjs/excel-parser/plugins/ods/formula.d.ts +8 -0
  61. package/dist/cjs/excel-parser/plugins/ods/formula.d.ts.map +1 -0
  62. package/dist/cjs/excel-parser/plugins/ods/formula.js +82 -0
  63. package/dist/cjs/excel-parser/plugins/ods/index.d.ts +122 -0
  64. package/dist/cjs/excel-parser/plugins/ods/index.d.ts.map +1 -0
  65. package/dist/cjs/excel-parser/plugins/ods/index.js +3642 -0
  66. package/dist/cjs/excel-parser/plugins/ods/sparklines.d.ts +25 -0
  67. package/dist/cjs/excel-parser/plugins/ods/sparklines.d.ts.map +1 -0
  68. package/dist/cjs/excel-parser/plugins/ods/sparklines.js +221 -0
  69. package/dist/cjs/excel-parser/plugins/ods/styles.d.ts +60 -0
  70. package/dist/cjs/excel-parser/plugins/ods/styles.d.ts.map +1 -0
  71. package/dist/cjs/excel-parser/plugins/ods/styles.js +808 -0
  72. package/dist/cjs/excel-parser/plugins/ods/types.d.ts +7 -0
  73. package/dist/cjs/excel-parser/plugins/ods/types.d.ts.map +1 -0
  74. package/dist/cjs/excel-parser/plugins/ods/types.js +1 -0
  75. package/dist/cjs/excel-parser/plugins/xls/index.d.ts +5 -0
  76. package/dist/cjs/excel-parser/plugins/xls/index.d.ts.map +1 -0
  77. package/dist/cjs/excel-parser/plugins/xls/index.js +19 -0
  78. package/dist/cjs/excel-parser/plugins/xlsb/biff-record-reader.d.ts +13 -0
  79. package/dist/cjs/excel-parser/plugins/xlsb/biff-record-reader.d.ts.map +1 -0
  80. package/dist/cjs/excel-parser/plugins/xlsb/biff-record-reader.js +49 -0
  81. package/dist/cjs/excel-parser/plugins/xlsb/index.d.ts +117 -0
  82. package/dist/cjs/excel-parser/plugins/xlsb/index.d.ts.map +1 -0
  83. package/dist/cjs/excel-parser/plugins/xlsb/index.js +2972 -0
  84. package/dist/cjs/excel-parser/plugins/xlsb/rgce-parser.d.ts +18 -0
  85. package/dist/cjs/excel-parser/plugins/xlsb/rgce-parser.d.ts.map +1 -0
  86. package/dist/cjs/excel-parser/plugins/xlsb/rgce-parser.js +527 -0
  87. package/dist/cjs/excel-parser/plugins/xlsm/index.d.ts +5 -0
  88. package/dist/cjs/excel-parser/plugins/xlsm/index.d.ts.map +1 -0
  89. package/dist/cjs/excel-parser/plugins/xlsm/index.js +10 -0
  90. package/dist/cjs/excel-parser/plugins/xlsx/charts.d.ts +60 -0
  91. package/dist/cjs/excel-parser/plugins/xlsx/charts.d.ts.map +1 -0
  92. package/dist/cjs/excel-parser/plugins/xlsx/charts.js +2178 -0
  93. package/dist/cjs/excel-parser/plugins/xlsx/conditional-formatting.d.ts +18 -0
  94. package/dist/cjs/excel-parser/plugins/xlsx/conditional-formatting.d.ts.map +1 -0
  95. package/dist/cjs/excel-parser/plugins/xlsx/conditional-formatting.js +620 -0
  96. package/dist/cjs/excel-parser/plugins/xlsx/data-validations.d.ts +4 -0
  97. package/dist/cjs/excel-parser/plugins/xlsx/data-validations.d.ts.map +1 -0
  98. package/dist/cjs/excel-parser/plugins/xlsx/data-validations.js +515 -0
  99. package/dist/cjs/excel-parser/plugins/xlsx/drawing.d.ts +39 -0
  100. package/dist/cjs/excel-parser/plugins/xlsx/drawing.d.ts.map +1 -0
  101. package/dist/cjs/excel-parser/plugins/xlsx/drawing.js +941 -0
  102. package/dist/cjs/excel-parser/plugins/xlsx/index.d.ts +320 -0
  103. package/dist/cjs/excel-parser/plugins/xlsx/index.d.ts.map +1 -0
  104. package/dist/cjs/excel-parser/plugins/xlsx/index.js +6056 -0
  105. package/dist/cjs/excel-parser/plugins/xlsx/numfmt.d.ts +2 -0
  106. package/dist/cjs/excel-parser/plugins/xlsx/numfmt.d.ts.map +1 -0
  107. package/dist/cjs/excel-parser/plugins/xlsx/numfmt.js +3 -0
  108. package/dist/cjs/excel-parser/plugins/xlsx/pivots.d.ts +40 -0
  109. package/dist/cjs/excel-parser/plugins/xlsx/pivots.d.ts.map +1 -0
  110. package/dist/cjs/excel-parser/plugins/xlsx/pivots.js +342 -0
  111. package/dist/cjs/excel-parser/plugins/xlsx/relationships.d.ts +8 -0
  112. package/dist/cjs/excel-parser/plugins/xlsx/relationships.d.ts.map +1 -0
  113. package/dist/cjs/excel-parser/plugins/xlsx/relationships.js +26 -0
  114. package/dist/cjs/excel-parser/plugins/xlsx/sheet-views.d.ts +26 -0
  115. package/dist/cjs/excel-parser/plugins/xlsx/sheet-views.d.ts.map +1 -0
  116. package/dist/cjs/excel-parser/plugins/xlsx/sheet-views.js +59 -0
  117. package/dist/cjs/excel-parser/plugins/xlsx/styles.d.ts +44 -0
  118. package/dist/cjs/excel-parser/plugins/xlsx/styles.d.ts.map +1 -0
  119. package/dist/cjs/excel-parser/plugins/xlsx/styles.js +1377 -0
  120. package/dist/cjs/excel-parser/plugins/xlsx/theme.d.ts +50 -0
  121. package/dist/cjs/excel-parser/plugins/xlsx/theme.d.ts.map +1 -0
  122. package/dist/cjs/excel-parser/plugins/xlsx/theme.js +150 -0
  123. package/dist/cjs/excel-parser/plugins/xlsx/threaded-comments.d.ts +47 -0
  124. package/dist/cjs/excel-parser/plugins/xlsx/threaded-comments.d.ts.map +1 -0
  125. package/dist/cjs/excel-parser/plugins/xlsx/threaded-comments.js +141 -0
  126. package/dist/cjs/excel-parser/plugins/xlsx/value-type-detection.d.ts +44 -0
  127. package/dist/cjs/excel-parser/plugins/xlsx/value-type-detection.d.ts.map +1 -0
  128. package/dist/cjs/excel-parser/plugins/xlsx/value-type-detection.js +407 -0
  129. package/dist/cjs/excel-parser/registry.d.ts +5 -0
  130. package/dist/cjs/excel-parser/registry.d.ts.map +1 -0
  131. package/dist/cjs/excel-parser/registry.js +21 -0
  132. package/dist/cjs/excel-parser/style-registry.d.ts +51 -0
  133. package/dist/cjs/excel-parser/style-registry.d.ts.map +1 -0
  134. package/dist/cjs/excel-parser/style-registry.js +175 -0
  135. package/dist/cjs/excel-parser/theme-default.d.ts +3 -0
  136. package/dist/cjs/excel-parser/theme-default.d.ts.map +1 -0
  137. package/dist/cjs/excel-parser/theme-default.js +19 -0
  138. package/dist/cjs/excel-parser/types.d.ts +365 -0
  139. package/dist/cjs/excel-parser/types.d.ts.map +1 -0
  140. package/dist/cjs/excel-parser/types.js +59 -0
  141. package/dist/cjs/excel-parser/utils.d.ts +6 -0
  142. package/dist/cjs/excel-parser/utils.d.ts.map +1 -0
  143. package/dist/cjs/excel-parser/utils.js +30 -0
  144. package/dist/cjs/excel-parser/workbook.d.ts +51 -0
  145. package/dist/cjs/excel-parser/workbook.d.ts.map +1 -0
  146. package/dist/cjs/excel-parser/workbook.js +317 -0
  147. package/dist/cjs/excel-parser/worker.d.ts +2 -0
  148. package/dist/cjs/excel-parser/worker.d.ts.map +1 -0
  149. package/dist/cjs/excel-parser/worker.js +1149 -0
  150. package/dist/cjs/excel-parser/zip-parser-streaming.d.ts +13 -0
  151. package/dist/cjs/excel-parser/zip-parser-streaming.d.ts.map +1 -0
  152. package/dist/cjs/excel-parser/zip-parser-streaming.js +200 -0
  153. package/dist/cjs/excel-parser/zip-parser.d.ts +11 -0
  154. package/dist/cjs/excel-parser/zip-parser.d.ts.map +1 -0
  155. package/dist/cjs/excel-parser/zip-parser.js +49 -0
  156. package/dist/cjs/exporter/invalid-data-validation.d.ts +19 -0
  157. package/dist/cjs/exporter/invalid-data-validation.d.ts.map +1 -0
  158. package/dist/cjs/exporter/invalid-data-validation.js +39 -0
  159. package/dist/cjs/exporter/ods/ods-export.d.ts +26 -0
  160. package/dist/cjs/exporter/ods/ods-export.d.ts.map +1 -0
  161. package/dist/cjs/exporter/ods/ods-export.js +3714 -0
  162. package/dist/cjs/exporter/ods/sparkline-builder.d.ts +33 -0
  163. package/dist/cjs/exporter/ods/sparkline-builder.d.ts.map +1 -0
  164. package/dist/cjs/exporter/ods/sparkline-builder.js +221 -0
  165. package/dist/cjs/exporter/xlsx/chart-builder.d.ts +3 -0
  166. package/dist/cjs/exporter/xlsx/chart-builder.d.ts.map +1 -0
  167. package/dist/cjs/exporter/xlsx/chart-builder.js +1901 -0
  168. package/dist/cjs/exporter/xlsx/chart-templates.d.ts +1781 -0
  169. package/dist/cjs/exporter/xlsx/chart-templates.d.ts.map +1 -0
  170. package/dist/cjs/exporter/xlsx/chart-templates.js +1798 -0
  171. package/dist/cjs/exporter/xlsx/future-functions.d.ts +10 -0
  172. package/dist/cjs/exporter/xlsx/future-functions.d.ts.map +1 -0
  173. package/dist/cjs/exporter/xlsx/future-functions.js +264 -0
  174. package/dist/cjs/exporter/xlsx/pivot-builder.d.ts +58 -0
  175. package/dist/cjs/exporter/xlsx/pivot-builder.d.ts.map +1 -0
  176. package/dist/cjs/exporter/xlsx/pivot-builder.js +277 -0
  177. package/dist/cjs/exporter/xlsx/power-query-builder.d.ts +26 -0
  178. package/dist/cjs/exporter/xlsx/power-query-builder.d.ts.map +1 -0
  179. package/dist/cjs/exporter/xlsx/power-query-builder.js +306 -0
  180. package/dist/cjs/exporter/xlsx/slicer-builder.d.ts +11 -0
  181. package/dist/cjs/exporter/xlsx/slicer-builder.d.ts.map +1 -0
  182. package/dist/cjs/exporter/xlsx/slicer-builder.js +87 -0
  183. package/dist/cjs/exporter/xlsx/sparkline-builder.d.ts +61 -0
  184. package/dist/cjs/exporter/xlsx/sparkline-builder.d.ts.map +1 -0
  185. package/dist/cjs/exporter/xlsx/sparkline-builder.js +489 -0
  186. package/dist/cjs/exporter/xlsx/style-builder.d.ts +93 -0
  187. package/dist/cjs/exporter/xlsx/style-builder.d.ts.map +1 -0
  188. package/dist/cjs/exporter/xlsx/style-builder.js +813 -0
  189. package/dist/cjs/exporter/xlsx/threaded-comments-builder.d.ts +58 -0
  190. package/dist/cjs/exporter/xlsx/threaded-comments-builder.d.ts.map +1 -0
  191. package/dist/cjs/exporter/xlsx/threaded-comments-builder.js +189 -0
  192. package/dist/cjs/exporter/xlsx/xlsx-export.d.ts +121 -0
  193. package/dist/cjs/exporter/xlsx/xlsx-export.d.ts.map +1 -0
  194. package/dist/cjs/exporter/xlsx/xlsx-export.js +4596 -0
  195. package/dist/cjs/helpers/theme-xml-generator.d.ts +8 -0
  196. package/dist/cjs/helpers/theme-xml-generator.d.ts.map +1 -0
  197. package/dist/cjs/helpers/theme-xml-generator.js +33 -0
  198. package/dist/cjs/helpers.d.ts +34 -0
  199. package/dist/cjs/helpers.d.ts.map +1 -0
  200. package/dist/cjs/helpers.js +189 -0
  201. package/dist/cjs/index.d.ts +16 -0
  202. package/dist/cjs/index.d.ts.map +1 -0
  203. package/dist/cjs/index.js +15 -0
  204. package/dist/cjs/indexed-colors.d.ts +2 -0
  205. package/dist/cjs/indexed-colors.d.ts.map +1 -0
  206. package/dist/cjs/indexed-colors.js +75 -0
  207. package/dist/cjs/ods-export.d.ts +24 -0
  208. package/dist/cjs/ods-export.d.ts.map +1 -0
  209. package/dist/cjs/ods-export.js +23 -0
  210. package/dist/cjs/parse.d.ts +24 -0
  211. package/dist/cjs/parse.d.ts.map +1 -0
  212. package/dist/cjs/parse.js +68 -0
  213. package/dist/cjs/power-query.d.ts +41 -0
  214. package/dist/cjs/power-query.d.ts.map +1 -0
  215. package/dist/cjs/power-query.js +22 -0
  216. package/dist/cjs/server.d.ts +9 -0
  217. package/dist/cjs/server.d.ts.map +1 -0
  218. package/dist/cjs/server.js +8 -0
  219. package/dist/cjs/theme1.d.ts +3 -0
  220. package/dist/cjs/theme1.d.ts.map +1 -0
  221. package/dist/cjs/theme1.js +2 -0
  222. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -0
  223. package/dist/cjs/types.d.ts +14 -0
  224. package/dist/cjs/types.d.ts.map +1 -0
  225. package/dist/cjs/types.js +14 -0
  226. package/dist/cjs/vitest.config.d.ts +3 -0
  227. package/dist/cjs/vitest.config.d.ts.map +1 -0
  228. package/dist/cjs/vitest.config.js +16 -0
  229. package/dist/esm/autofilter-condition.d.ts +43 -0
  230. package/dist/esm/autofilter-condition.d.ts.map +1 -0
  231. package/dist/esm/autofilter-condition.js +145 -0
  232. package/dist/esm/csv-export.d.ts +49 -0
  233. package/dist/esm/csv-export.d.ts.map +1 -0
  234. package/dist/esm/csv-export.js +126 -0
  235. package/dist/esm/csv-import-worker.d.ts +16 -0
  236. package/dist/esm/csv-import-worker.d.ts.map +1 -0
  237. package/dist/esm/csv-import-worker.js +60 -0
  238. package/dist/esm/csv-import.d.ts +38 -0
  239. package/dist/esm/csv-import.d.ts.map +1 -0
  240. package/dist/esm/csv-import.js +132 -0
  241. package/dist/esm/csv-parser/helpers.d.ts +14 -0
  242. package/dist/esm/csv-parser/helpers.d.ts.map +1 -0
  243. package/dist/esm/csv-parser/helpers.js +0 -0
  244. package/dist/esm/csv-parser/types.d.ts +66 -0
  245. package/dist/esm/csv-parser/types.d.ts.map +1 -0
  246. package/dist/esm/csv-parser/types.js +14 -0
  247. package/dist/esm/csv-parser/worker.d.ts +2 -0
  248. package/dist/esm/csv-parser/worker.d.ts.map +1 -0
  249. package/dist/esm/csv-parser/worker.js +154 -0
  250. package/dist/esm/excel-export.d.ts +11 -0
  251. package/dist/esm/excel-export.d.ts.map +1 -0
  252. package/dist/esm/excel-export.js +13 -0
  253. package/dist/esm/excel-import-session.d.ts +51 -0
  254. package/dist/esm/excel-import-session.d.ts.map +1 -0
  255. package/dist/esm/excel-import-session.js +255 -0
  256. package/dist/esm/excel-import-worker.d.ts +7 -0
  257. package/dist/esm/excel-import-worker.d.ts.map +1 -0
  258. package/dist/esm/excel-import-worker.js +116 -0
  259. package/dist/esm/excel-parser/builtin-numfmts.d.ts +24 -0
  260. package/dist/esm/excel-parser/builtin-numfmts.d.ts.map +1 -0
  261. package/dist/esm/excel-parser/builtin-numfmts.js +59 -0
  262. package/dist/esm/excel-parser/cfb-decryptor.d.ts +53 -0
  263. package/dist/esm/excel-parser/cfb-decryptor.d.ts.map +1 -0
  264. package/dist/esm/excel-parser/cfb-decryptor.js +493 -0
  265. package/dist/esm/excel-parser/cfb-encryptor.d.ts +23 -0
  266. package/dist/esm/excel-parser/cfb-encryptor.d.ts.map +1 -0
  267. package/dist/esm/excel-parser/cfb-encryptor.js +181 -0
  268. package/dist/esm/excel-parser/dv-cell-stamp.d.ts +29 -0
  269. package/dist/esm/excel-parser/dv-cell-stamp.d.ts.map +1 -0
  270. package/dist/esm/excel-parser/dv-cell-stamp.js +155 -0
  271. package/dist/esm/excel-parser/helpers.d.ts +28 -0
  272. package/dist/esm/excel-parser/helpers.d.ts.map +1 -0
  273. package/dist/esm/excel-parser/helpers.js +160 -0
  274. package/dist/esm/excel-parser/interface.d.ts +179 -0
  275. package/dist/esm/excel-parser/interface.d.ts.map +1 -0
  276. package/dist/esm/excel-parser/interface.js +1 -0
  277. package/dist/esm/excel-parser/plugins/base/index.d.ts +31 -0
  278. package/dist/esm/excel-parser/plugins/base/index.d.ts.map +1 -0
  279. package/dist/esm/excel-parser/plugins/base/index.js +64 -0
  280. package/dist/esm/excel-parser/plugins/ods/conditional-formatting.d.ts +16 -0
  281. package/dist/esm/excel-parser/plugins/ods/conditional-formatting.d.ts.map +1 -0
  282. package/dist/esm/excel-parser/plugins/ods/conditional-formatting.js +405 -0
  283. package/dist/esm/excel-parser/plugins/ods/data-validations.d.ts +15 -0
  284. package/dist/esm/excel-parser/plugins/ods/data-validations.d.ts.map +1 -0
  285. package/dist/esm/excel-parser/plugins/ods/data-validations.js +331 -0
  286. package/dist/esm/excel-parser/plugins/ods/formula.d.ts +8 -0
  287. package/dist/esm/excel-parser/plugins/ods/formula.d.ts.map +1 -0
  288. package/dist/esm/excel-parser/plugins/ods/formula.js +82 -0
  289. package/dist/esm/excel-parser/plugins/ods/index.d.ts +122 -0
  290. package/dist/esm/excel-parser/plugins/ods/index.d.ts.map +1 -0
  291. package/dist/esm/excel-parser/plugins/ods/index.js +2896 -0
  292. package/dist/esm/excel-parser/plugins/ods/sparklines.d.ts +25 -0
  293. package/dist/esm/excel-parser/plugins/ods/sparklines.d.ts.map +1 -0
  294. package/dist/esm/excel-parser/plugins/ods/sparklines.js +188 -0
  295. package/dist/esm/excel-parser/plugins/ods/styles.d.ts +60 -0
  296. package/dist/esm/excel-parser/plugins/ods/styles.d.ts.map +1 -0
  297. package/dist/esm/excel-parser/plugins/ods/styles.js +732 -0
  298. package/dist/esm/excel-parser/plugins/ods/types.d.ts +7 -0
  299. package/dist/esm/excel-parser/plugins/ods/types.d.ts.map +1 -0
  300. package/dist/esm/excel-parser/plugins/ods/types.js +1 -0
  301. package/dist/esm/excel-parser/plugins/xls/index.d.ts +5 -0
  302. package/dist/esm/excel-parser/plugins/xls/index.d.ts.map +1 -0
  303. package/dist/esm/excel-parser/plugins/xls/index.js +7 -0
  304. package/dist/esm/excel-parser/plugins/xlsb/biff-record-reader.d.ts +13 -0
  305. package/dist/esm/excel-parser/plugins/xlsb/biff-record-reader.d.ts.map +1 -0
  306. package/dist/esm/excel-parser/plugins/xlsb/biff-record-reader.js +48 -0
  307. package/dist/esm/excel-parser/plugins/xlsb/index.d.ts +117 -0
  308. package/dist/esm/excel-parser/plugins/xlsb/index.d.ts.map +1 -0
  309. package/dist/esm/excel-parser/plugins/xlsb/index.js +2339 -0
  310. package/dist/esm/excel-parser/plugins/xlsb/rgce-parser.d.ts +18 -0
  311. package/dist/esm/excel-parser/plugins/xlsb/rgce-parser.d.ts.map +1 -0
  312. package/dist/esm/excel-parser/plugins/xlsb/rgce-parser.js +522 -0
  313. package/dist/esm/excel-parser/plugins/xlsm/index.d.ts +5 -0
  314. package/dist/esm/excel-parser/plugins/xlsm/index.d.ts.map +1 -0
  315. package/dist/esm/excel-parser/plugins/xlsm/index.js +6 -0
  316. package/dist/esm/excel-parser/plugins/xlsx/charts.d.ts +60 -0
  317. package/dist/esm/excel-parser/plugins/xlsx/charts.d.ts.map +1 -0
  318. package/dist/esm/excel-parser/plugins/xlsx/charts.js +2036 -0
  319. package/dist/esm/excel-parser/plugins/xlsx/conditional-formatting.d.ts +18 -0
  320. package/dist/esm/excel-parser/plugins/xlsx/conditional-formatting.d.ts.map +1 -0
  321. package/dist/esm/excel-parser/plugins/xlsx/conditional-formatting.js +621 -0
  322. package/dist/esm/excel-parser/plugins/xlsx/data-validations.d.ts +4 -0
  323. package/dist/esm/excel-parser/plugins/xlsx/data-validations.d.ts.map +1 -0
  324. package/dist/esm/excel-parser/plugins/xlsx/data-validations.js +493 -0
  325. package/dist/esm/excel-parser/plugins/xlsx/drawing.d.ts +39 -0
  326. package/dist/esm/excel-parser/plugins/xlsx/drawing.d.ts.map +1 -0
  327. package/dist/esm/excel-parser/plugins/xlsx/drawing.js +905 -0
  328. package/dist/esm/excel-parser/plugins/xlsx/index.d.ts +320 -0
  329. package/dist/esm/excel-parser/plugins/xlsx/index.d.ts.map +1 -0
  330. package/dist/esm/excel-parser/plugins/xlsx/index.js +4654 -0
  331. package/dist/esm/excel-parser/plugins/xlsx/numfmt.d.ts +2 -0
  332. package/dist/esm/excel-parser/plugins/xlsx/numfmt.d.ts.map +1 -0
  333. package/dist/esm/excel-parser/plugins/xlsx/numfmt.js +3 -0
  334. package/dist/esm/excel-parser/plugins/xlsx/pivots.d.ts +40 -0
  335. package/dist/esm/excel-parser/plugins/xlsx/pivots.d.ts.map +1 -0
  336. package/dist/esm/excel-parser/plugins/xlsx/pivots.js +254 -0
  337. package/dist/esm/excel-parser/plugins/xlsx/relationships.d.ts +8 -0
  338. package/dist/esm/excel-parser/plugins/xlsx/relationships.d.ts.map +1 -0
  339. package/dist/esm/excel-parser/plugins/xlsx/relationships.js +13 -0
  340. package/dist/esm/excel-parser/plugins/xlsx/sheet-views.d.ts +26 -0
  341. package/dist/esm/excel-parser/plugins/xlsx/sheet-views.d.ts.map +1 -0
  342. package/dist/esm/excel-parser/plugins/xlsx/sheet-views.js +64 -0
  343. package/dist/esm/excel-parser/plugins/xlsx/styles.d.ts +44 -0
  344. package/dist/esm/excel-parser/plugins/xlsx/styles.d.ts.map +1 -0
  345. package/dist/esm/excel-parser/plugins/xlsx/styles.js +1365 -0
  346. package/dist/esm/excel-parser/plugins/xlsx/theme.d.ts +50 -0
  347. package/dist/esm/excel-parser/plugins/xlsx/theme.d.ts.map +1 -0
  348. package/dist/esm/excel-parser/plugins/xlsx/theme.js +127 -0
  349. package/dist/esm/excel-parser/plugins/xlsx/threaded-comments.d.ts +47 -0
  350. package/dist/esm/excel-parser/plugins/xlsx/threaded-comments.d.ts.map +1 -0
  351. package/dist/esm/excel-parser/plugins/xlsx/threaded-comments.js +103 -0
  352. package/dist/esm/excel-parser/plugins/xlsx/value-type-detection.d.ts +44 -0
  353. package/dist/esm/excel-parser/plugins/xlsx/value-type-detection.d.ts.map +1 -0
  354. package/dist/esm/excel-parser/plugins/xlsx/value-type-detection.js +399 -0
  355. package/dist/esm/excel-parser/registry.d.ts +5 -0
  356. package/dist/esm/excel-parser/registry.d.ts.map +1 -0
  357. package/dist/esm/excel-parser/registry.js +20 -0
  358. package/dist/esm/excel-parser/style-registry.d.ts +51 -0
  359. package/dist/esm/excel-parser/style-registry.d.ts.map +1 -0
  360. package/dist/esm/excel-parser/style-registry.js +163 -0
  361. package/dist/esm/excel-parser/theme-default.d.ts +3 -0
  362. package/dist/esm/excel-parser/theme-default.d.ts.map +1 -0
  363. package/dist/esm/excel-parser/theme-default.js +19 -0
  364. package/dist/esm/excel-parser/types.d.ts +365 -0
  365. package/dist/esm/excel-parser/types.d.ts.map +1 -0
  366. package/dist/esm/excel-parser/types.js +59 -0
  367. package/dist/esm/excel-parser/utils.d.ts +6 -0
  368. package/dist/esm/excel-parser/utils.d.ts.map +1 -0
  369. package/dist/esm/excel-parser/utils.js +25 -0
  370. package/dist/esm/excel-parser/workbook.d.ts +51 -0
  371. package/dist/esm/excel-parser/workbook.d.ts.map +1 -0
  372. package/dist/esm/excel-parser/workbook.js +192 -0
  373. package/dist/esm/excel-parser/worker.d.ts +2 -0
  374. package/dist/esm/excel-parser/worker.d.ts.map +1 -0
  375. package/dist/esm/excel-parser/worker.js +862 -0
  376. package/dist/esm/excel-parser/zip-parser-streaming.d.ts +13 -0
  377. package/dist/esm/excel-parser/zip-parser-streaming.d.ts.map +1 -0
  378. package/dist/esm/excel-parser/zip-parser-streaming.js +119 -0
  379. package/dist/esm/excel-parser/zip-parser.d.ts +11 -0
  380. package/dist/esm/excel-parser/zip-parser.d.ts.map +1 -0
  381. package/dist/esm/excel-parser/zip-parser.js +43 -0
  382. package/dist/esm/exporter/invalid-data-validation.d.ts +19 -0
  383. package/dist/esm/exporter/invalid-data-validation.d.ts.map +1 -0
  384. package/dist/esm/exporter/invalid-data-validation.js +37 -0
  385. package/dist/esm/exporter/ods/ods-export.d.ts +26 -0
  386. package/dist/esm/exporter/ods/ods-export.d.ts.map +1 -0
  387. package/dist/esm/exporter/ods/ods-export.js +3238 -0
  388. package/dist/esm/exporter/ods/sparkline-builder.d.ts +33 -0
  389. package/dist/esm/exporter/ods/sparkline-builder.d.ts.map +1 -0
  390. package/dist/esm/exporter/ods/sparkline-builder.js +165 -0
  391. package/dist/esm/exporter/xlsx/chart-builder.d.ts +3 -0
  392. package/dist/esm/exporter/xlsx/chart-builder.d.ts.map +1 -0
  393. package/dist/esm/exporter/xlsx/chart-builder.js +1805 -0
  394. package/dist/esm/exporter/xlsx/chart-templates.d.ts +1781 -0
  395. package/dist/esm/exporter/xlsx/chart-templates.d.ts.map +1 -0
  396. package/dist/esm/exporter/xlsx/chart-templates.js +1798 -0
  397. package/dist/esm/exporter/xlsx/future-functions.d.ts +10 -0
  398. package/dist/esm/exporter/xlsx/future-functions.d.ts.map +1 -0
  399. package/dist/esm/exporter/xlsx/future-functions.js +264 -0
  400. package/dist/esm/exporter/xlsx/pivot-builder.d.ts +58 -0
  401. package/dist/esm/exporter/xlsx/pivot-builder.d.ts.map +1 -0
  402. package/dist/esm/exporter/xlsx/pivot-builder.js +230 -0
  403. package/dist/esm/exporter/xlsx/power-query-builder.d.ts +26 -0
  404. package/dist/esm/exporter/xlsx/power-query-builder.d.ts.map +1 -0
  405. package/dist/esm/exporter/xlsx/power-query-builder.js +257 -0
  406. package/dist/esm/exporter/xlsx/slicer-builder.d.ts +11 -0
  407. package/dist/esm/exporter/xlsx/slicer-builder.d.ts.map +1 -0
  408. package/dist/esm/exporter/xlsx/slicer-builder.js +84 -0
  409. package/dist/esm/exporter/xlsx/sparkline-builder.d.ts +61 -0
  410. package/dist/esm/exporter/xlsx/sparkline-builder.d.ts.map +1 -0
  411. package/dist/esm/exporter/xlsx/sparkline-builder.js +437 -0
  412. package/dist/esm/exporter/xlsx/style-builder.d.ts +93 -0
  413. package/dist/esm/exporter/xlsx/style-builder.d.ts.map +1 -0
  414. package/dist/esm/exporter/xlsx/style-builder.js +795 -0
  415. package/dist/esm/exporter/xlsx/threaded-comments-builder.d.ts +58 -0
  416. package/dist/esm/exporter/xlsx/threaded-comments-builder.d.ts.map +1 -0
  417. package/dist/esm/exporter/xlsx/threaded-comments-builder.js +175 -0
  418. package/dist/esm/exporter/xlsx/xlsx-export.d.ts +121 -0
  419. package/dist/esm/exporter/xlsx/xlsx-export.d.ts.map +1 -0
  420. package/dist/esm/exporter/xlsx/xlsx-export.js +4062 -0
  421. package/dist/esm/helpers/theme-xml-generator.d.ts +8 -0
  422. package/dist/esm/helpers/theme-xml-generator.d.ts.map +1 -0
  423. package/dist/esm/helpers/theme-xml-generator.js +33 -0
  424. package/dist/esm/helpers.d.ts +34 -0
  425. package/dist/esm/helpers.d.ts.map +1 -0
  426. package/dist/esm/helpers.js +182 -0
  427. package/dist/esm/index.d.ts +16 -0
  428. package/dist/esm/index.d.ts.map +1 -0
  429. package/dist/esm/index.js +15 -0
  430. package/dist/esm/indexed-colors.d.ts +2 -0
  431. package/dist/esm/indexed-colors.d.ts.map +1 -0
  432. package/dist/esm/indexed-colors.js +75 -0
  433. package/dist/esm/ods-export.d.ts +24 -0
  434. package/dist/esm/ods-export.d.ts.map +1 -0
  435. package/dist/esm/ods-export.js +12 -0
  436. package/dist/esm/parse.d.ts +24 -0
  437. package/dist/esm/parse.d.ts.map +1 -0
  438. package/dist/esm/parse.js +55 -0
  439. package/dist/esm/power-query.d.ts +41 -0
  440. package/dist/esm/power-query.d.ts.map +1 -0
  441. package/dist/esm/power-query.js +19 -0
  442. package/dist/esm/server.d.ts +9 -0
  443. package/dist/esm/server.d.ts.map +1 -0
  444. package/dist/esm/server.js +8 -0
  445. package/dist/esm/theme1.d.ts +3 -0
  446. package/dist/esm/theme1.d.ts.map +1 -0
  447. package/dist/esm/theme1.js +2 -0
  448. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
  449. package/dist/esm/types.d.ts +14 -0
  450. package/dist/esm/types.d.ts.map +1 -0
  451. package/dist/esm/types.js +14 -0
  452. package/dist/esm/vitest.config.d.ts +3 -0
  453. package/dist/esm/vitest.config.d.ts.map +1 -0
  454. package/dist/esm/vitest.config.js +16 -0
  455. package/package.json +62 -0
  456. package/xlsx.d.ts +52 -0
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Parse Rgce (Reverse Polish Notation Compiled Expression) - binary formula format in XLSB
3
+ * This converts binary Ptg (Parsed Token) tokens into a formula string
4
+ *
5
+ * @param rgceBytes - The binary formula data
6
+ * @returns The formula string (without leading "=")
7
+ */
8
+ /**
9
+ * Parse Rgce with sheet names for cross-sheet references
10
+ * @param rgceBytes - The binary formula data
11
+ * @param sheetNames - Array of sheet names for resolving external references
12
+ * @returns The formula string (without leading "=")
13
+ */
14
+ export declare function parseRgce(rgceBytes: Uint8Array, sheetRefResolver?: string[] | ((ixti: number) => string | undefined), baseCell?: {
15
+ row: number;
16
+ col: number;
17
+ }, debug?: boolean): string;
18
+ //# sourceMappingURL=rgce-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rgce-parser.d.ts","sourceRoot":"","sources":["../../../../../excel-parser/plugins/xlsb/rgce-parser.ts"],"names":[],"mappings":"AAuHA;;;;;;GAMG;AACH;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,SAAS,EAAE,UAAU,EACrB,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC,EACpE,QAAQ,CAAC,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EACvC,KAAK,UAAQ,GACZ,MAAM,CAqaR"}
@@ -0,0 +1,527 @@
1
+ import { number2Alpha } from "@rowsncolumns/utils";
2
+ /**
3
+ * Reader class for parsing Rgce bytes
4
+ */
5
+ var RgceReader = /** @class */ (function () {
6
+ function RgceReader(bytes) {
7
+ this.offset = 0;
8
+ this.bytes = bytes;
9
+ this.view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
10
+ }
11
+ RgceReader.prototype.readUInt8 = function () {
12
+ var value = this.view.getUint8(this.offset);
13
+ this.offset += 1;
14
+ return value;
15
+ };
16
+ RgceReader.prototype.readUInt16LE = function () {
17
+ var value = this.view.getUint16(this.offset, true);
18
+ this.offset += 2;
19
+ return value;
20
+ };
21
+ RgceReader.prototype.readUInt32LE = function () {
22
+ var value = this.view.getUint32(this.offset, true);
23
+ this.offset += 4;
24
+ return value;
25
+ };
26
+ RgceReader.prototype.readInt32LE = function () {
27
+ var value = this.view.getInt32(this.offset, true);
28
+ this.offset += 4;
29
+ return value;
30
+ };
31
+ RgceReader.prototype.readInt16LE = function () {
32
+ var value = this.view.getInt16(this.offset, true);
33
+ this.offset += 2;
34
+ return value;
35
+ };
36
+ RgceReader.prototype.readFloat64LE = function () {
37
+ var value = this.view.getFloat64(this.offset, true);
38
+ this.offset += 8;
39
+ return value;
40
+ };
41
+ RgceReader.prototype.readUtf16Chars = function (charCount) {
42
+ if (charCount <= 0)
43
+ return "";
44
+ var byteCount = charCount * 2;
45
+ var slice = this.bytes.subarray(this.offset, this.offset + byteCount);
46
+ this.offset += byteCount;
47
+ return new TextDecoder("utf-16le").decode(slice);
48
+ };
49
+ RgceReader.prototype.readXLWideString = function () {
50
+ var cch = this.readUInt32LE();
51
+ return cch === 0 ? "" : this.readUtf16Chars(cch);
52
+ };
53
+ return RgceReader;
54
+ }());
55
+ // Common Excel function names by ID (ftab index)
56
+ var FUNCTION_NAMES = {
57
+ 0: "COUNT", 1: "IF", 2: "ISNA", 3: "ISERROR", 4: "SUM", 5: "AVERAGE",
58
+ 6: "MIN", 7: "MAX", 8: "ROW", 9: "COLUMN", 10: "NA", 11: "NPV",
59
+ 12: "STDEV", 13: "DOLLAR", 14: "FIXED", 15: "SIN", 16: "COS",
60
+ 17: "TAN", 18: "ATAN", 19: "PI", 20: "SQRT", 21: "EXP", 22: "LN",
61
+ 23: "LOG10", 24: "ABS", 25: "INT", 26: "SIGN", 27: "ROUND",
62
+ 28: "LOOKUP", 29: "INDEX", 30: "REPT", 31: "MID", 32: "LEN",
63
+ 33: "VALUE", 34: "TRUE", 35: "FALSE", 36: "AND", 37: "OR",
64
+ 38: "NOT", 39: "MOD", 40: "DCOUNT", 41: "DSUM", 42: "DAVERAGE",
65
+ 43: "DMIN", 44: "DMAX", 45: "DSTDEV", 46: "VAR", 47: "DVAR",
66
+ 48: "TEXT", 49: "LINEST", 50: "TREND", 51: "LOGEST", 52: "GROWTH",
67
+ 61: "MIRR", 62: "IRR", 63: "RAND", 64: "MATCH", 65: "DATE",
68
+ 66: "TIME", 67: "DAY", 68: "MONTH", 69: "YEAR", 70: "WEEKDAY",
69
+ 71: "HOUR", 72: "MINUTE", 73: "SECOND", 74: "NOW", 75: "AREAS",
70
+ 76: "ROWS", 77: "COLUMNS", 78: "OFFSET", 82: "SEARCH", 83: "TRANSPOSE",
71
+ 86: "TYPE", 97: "ATAN2", 98: "ASIN", 99: "ACOS", 100: "CHOOSE",
72
+ 101: "HLOOKUP", 102: "VLOOKUP", 103: "ISREF", 104: "LOG",
73
+ 105: "CHAR", 106: "LOWER", 107: "UPPER", 108: "PROPER", 109: "LEFT",
74
+ 110: "RIGHT", 111: "EXACT", 112: "TRIM", 113: "REPLACE", 114: "SUBSTITUTE",
75
+ 115: "CODE", 116: "NAMES", 117: "DIRECTORY", 118: "FIND", 119: "CELL",
76
+ 120: "ISERR", 121: "ISTEXT", 122: "ISNUMBER", 123: "ISBLANK",
77
+ 124: "T", 125: "N", 127: "ISNONTEXT", 128: "ISODD", 129: "ISEVEN",
78
+ 162: "CLEAN", 163: "MDETERM", 164: "MINVERSE", 165: "MMULT",
79
+ 167: "IPMT", 168: "PPMT", 169: "COUNTA", 183: "PRODUCT",
80
+ 184: "FACT", 189: "DPRODUCT", 190: "ISNONTEXT",
81
+ 193: "STDEVP", 194: "VARP", 195: "DSTDEVP", 196: "DVARP",
82
+ 197: "TRUNC", 198: "ISLOGICAL", 199: "DCOUNTA", 200: "DELETEBAR",
83
+ 216: "RANK", 219: "ADDRESS", 220: "DAYS360", 221: "TODAY",
84
+ 222: "VDB", 227: "MEDIAN", 228: "SUMPRODUCT", 229: "SINH",
85
+ 230: "COSH", 231: "TANH", 232: "ASINH", 233: "ACOSH", 234: "ATANH",
86
+ 235: "DGET", 244: "INFO", 247: "DB", 252: "FREQUENCY",
87
+ 261: "ERROR.TYPE", 269: "AVEDEV", 270: "BETADIST", 271: "GAMMALN",
88
+ 272: "BETAINV", 273: "BINOMDIST", 274: "CHIDIST", 275: "CHIINV",
89
+ 276: "COMBIN", 277: "CONFIDENCE", 278: "CRITBINOM", 279: "EVEN",
90
+ 280: "EXPONDIST", 281: "FDIST", 282: "FINV", 283: "FISHER",
91
+ 284: "FISHERINV", 285: "FLOOR", 286: "GAMMADIST", 287: "GAMMAINV",
92
+ 288: "CEILING", 289: "HYPGEOMDIST", 290: "LOGNORMDIST", 291: "LOGINV",
93
+ 292: "NEGBINOMDIST", 293: "NORMDIST", 294: "NORMSDIST", 295: "NORMINV",
94
+ 296: "NORMSINV", 297: "STANDARDIZE", 298: "ODD", 299: "PERMUT",
95
+ 300: "POISSON", 301: "TDIST", 302: "WEIBULL", 303: "SUMXMY2",
96
+ 304: "SUMX2MY2", 305: "SUMX2PY2", 306: "CHITEST", 307: "CORREL",
97
+ 308: "COVAR", 309: "FORECAST", 310: "FTEST", 311: "INTERCEPT",
98
+ 312: "PEARSON", 313: "RSQ", 314: "STEYX", 315: "SLOPE", 316: "TTEST",
99
+ 317: "PROB", 318: "DEVSQ", 319: "GEOMEAN", 320: "HARMEAN",
100
+ 321: "SUMSQ", 322: "KURT", 323: "SKEW", 324: "ZTEST", 325: "LARGE",
101
+ 326: "SMALL", 327: "QUARTILE", 328: "PERCENTILE", 329: "PERCENTRANK",
102
+ 330: "MODE", 331: "TRIMMEAN", 332: "TINV", 334: "CONCATENATE",
103
+ 335: "POWER", 336: "RADIANS", 337: "DEGREES", 338: "SUBTOTAL",
104
+ 339: "SUMIF", 340: "COUNTIF", 341: "COUNTBLANK", 342: "HYPERLINK",
105
+ 343: "PHONETIC", 344: "AVERAGEA", 345: "MAXA", 346: "MINA",
106
+ 347: "STDEVPA", 348: "VARPA", 349: "STDEVA", 350: "VARA",
107
+ };
108
+ /**
109
+ * Parse Rgce (Reverse Polish Notation Compiled Expression) - binary formula format in XLSB
110
+ * This converts binary Ptg (Parsed Token) tokens into a formula string
111
+ *
112
+ * @param rgceBytes - The binary formula data
113
+ * @returns The formula string (without leading "=")
114
+ */
115
+ /**
116
+ * Parse Rgce with sheet names for cross-sheet references
117
+ * @param rgceBytes - The binary formula data
118
+ * @param sheetNames - Array of sheet names for resolving external references
119
+ * @returns The formula string (without leading "=")
120
+ */
121
+ export function parseRgce(rgceBytes, sheetRefResolver, baseCell, debug) {
122
+ if (debug === void 0) { debug = false; }
123
+ if (!rgceBytes || rgceBytes.length === 0)
124
+ return "";
125
+ var reader = new RgceReader(rgceBytes);
126
+ var stack = [];
127
+ if (debug) {
128
+ console.log("[Rgce] Parsing", rgceBytes.length, "bytes:", Array.from(rgceBytes.slice(0, Math.min(30, rgceBytes.length)))
129
+ .map(function (b) { return "0x".concat(b.toString(16).padStart(2, '0')); })
130
+ .join(' '));
131
+ }
132
+ var fixedArgCounts = {
133
+ 15: 1, // SIN
134
+ 16: 1, // COS
135
+ 17: 1, // TAN
136
+ 19: 0, // PI
137
+ 20: 1, // SQRT
138
+ 21: 1, // EXP
139
+ 22: 1, // LN
140
+ 24: 1, // ABS
141
+ 25: 1, // INT
142
+ 27: 2, // ROUND
143
+ 31: 3, // MID
144
+ 32: 1, // LEN
145
+ 34: 0, // TRUE
146
+ 35: 0, // FALSE
147
+ 39: 2, // MOD
148
+ 65: 3, // DATE
149
+ 66: 3, // TIME
150
+ 67: 1, // DAY
151
+ 68: 1, // MONTH
152
+ 69: 1, // YEAR
153
+ 71: 1, // HOUR
154
+ 72: 1, // MINUTE
155
+ 73: 1, // SECOND
156
+ 74: 0, // NOW
157
+ 105: 1, // CHAR
158
+ 106: 1, // LOWER
159
+ 107: 1, // UPPER
160
+ 109: 2, // LEFT
161
+ 110: 2, // RIGHT
162
+ 111: 2, // EXACT
163
+ 112: 1, // TRIM
164
+ 115: 1, // CODE
165
+ 183: 1, // PRODUCT
166
+ 197: 2, // TRUNC
167
+ 221: 0, // TODAY
168
+ 335: 2, // POWER
169
+ 336: 1, // RADIANS
170
+ 337: 1, // DEGREES
171
+ };
172
+ var canRead = function (n) { return reader.offset + n <= rgceBytes.length; };
173
+ var quoteSheetName = function (name) {
174
+ return /[\s!'[\]]/.test(name) ? "'".concat(name.replace(/'/g, "''"), "'") : name;
175
+ };
176
+ var resolveSheetName = function (ixti) {
177
+ if (typeof sheetRefResolver === "function") {
178
+ return sheetRefResolver(ixti);
179
+ }
180
+ return sheetRefResolver === null || sheetRefResolver === void 0 ? void 0 : sheetRefResolver[ixti];
181
+ };
182
+ var popArgs = function (count) {
183
+ var args = [];
184
+ for (var i = 0; i < count; i++)
185
+ args.unshift(stack.pop() || "");
186
+ return args;
187
+ };
188
+ var pushFixedFunction = function (ftabIndex) {
189
+ var _a;
190
+ var funcName = FUNCTION_NAMES[ftabIndex] || "FUNC".concat(ftabIndex);
191
+ var cargs = (_a = fixedArgCounts[ftabIndex]) !== null && _a !== void 0 ? _a : 0;
192
+ stack.push("".concat(funcName, "(").concat(popArgs(cargs).join(","), ")"));
193
+ };
194
+ var pushVariableFunction = function (cargs, ftabIndex) {
195
+ var funcName = FUNCTION_NAMES[ftabIndex] || "FUNC".concat(ftabIndex);
196
+ stack.push("".concat(funcName, "(").concat(popArgs(cargs).join(","), ")"));
197
+ };
198
+ var formatRef = function (rowZero, colZero, rowRel, colRel) {
199
+ var row = Math.max(0, rowZero);
200
+ var col = Math.max(0, colZero);
201
+ return "".concat(colRel ? "" : "$").concat(number2Alpha(col)).concat(rowRel ? "" : "$").concat(row + 1);
202
+ };
203
+ var readShortRef = function () {
204
+ var row = reader.readUInt32LE();
205
+ var col = reader.readUInt16LE();
206
+ var rowRel = (col & 0x8000) !== 0;
207
+ var colRel = (col & 0x4000) !== 0;
208
+ return formatRef(row & 0x000fffff, col & 0x3fff, rowRel, colRel);
209
+ };
210
+ var readShortArea = function () {
211
+ var rowFirst = reader.readUInt32LE();
212
+ var rowLast = reader.readUInt32LE();
213
+ var colFirst = reader.readUInt16LE();
214
+ var colLast = reader.readUInt16LE();
215
+ var refFirst = formatRef(rowFirst & 0x000fffff, colFirst & 0x3fff, (colFirst & 0x8000) !== 0, (colFirst & 0x4000) !== 0);
216
+ var refLast = formatRef(rowLast & 0x000fffff, colLast & 0x3fff, (colLast & 0x8000) !== 0, (colLast & 0x4000) !== 0);
217
+ return "".concat(refFirst, ":").concat(refLast);
218
+ };
219
+ var readRelShortRef = function () {
220
+ var _a, _b;
221
+ var rowOffset = reader.readInt32LE();
222
+ var colRaw = reader.readInt16LE();
223
+ var colOffset14 = colRaw & 0x3fff;
224
+ var colOffset = (colOffset14 << 18) >> 18;
225
+ var baseRowZero = Math.max(0, ((_a = baseCell === null || baseCell === void 0 ? void 0 : baseCell.row) !== null && _a !== void 0 ? _a : 1) - 1);
226
+ var baseColZero = Math.max(0, ((_b = baseCell === null || baseCell === void 0 ? void 0 : baseCell.col) !== null && _b !== void 0 ? _b : 1) - 1);
227
+ return formatRef(baseRowZero + rowOffset, baseColZero + colOffset, true, true);
228
+ };
229
+ var readRelShortArea = function () {
230
+ var _a, _b;
231
+ var rowFirstOffset = reader.readInt32LE();
232
+ var rowLastOffset = reader.readInt32LE();
233
+ var colFirstRaw = reader.readInt16LE();
234
+ var colLastRaw = reader.readInt16LE();
235
+ var colFirstOffset = ((colFirstRaw & 0x3fff) << 18) >> 18;
236
+ var colLastOffset = ((colLastRaw & 0x3fff) << 18) >> 18;
237
+ var baseRowZero = Math.max(0, ((_a = baseCell === null || baseCell === void 0 ? void 0 : baseCell.row) !== null && _a !== void 0 ? _a : 1) - 1);
238
+ var baseColZero = Math.max(0, ((_b = baseCell === null || baseCell === void 0 ? void 0 : baseCell.col) !== null && _b !== void 0 ? _b : 1) - 1);
239
+ var refFirst = formatRef(baseRowZero + rowFirstOffset, baseColZero + colFirstOffset, true, true);
240
+ var refLast = formatRef(baseRowZero + rowLastOffset, baseColZero + colLastOffset, true, true);
241
+ return "".concat(refFirst, ":").concat(refLast);
242
+ };
243
+ try {
244
+ while (reader.offset < rgceBytes.length) {
245
+ var ptgOffset = reader.offset;
246
+ var ptg = reader.readUInt8();
247
+ if (debug) {
248
+ console.log("[Rgce] @".concat(ptgOffset, ": ptg=0x").concat(ptg.toString(16).padStart(2, '0'), " stack=[").concat(stack.join(', '), "]"));
249
+ }
250
+ // Handle token based on value
251
+ // Operators are 0x00-0x1f (no class bits)
252
+ // References/functions are 0x20-0x7f (have class bits in bits 5-6)
253
+ if (ptg === 0x03) {
254
+ // PtgAdd
255
+ var right = stack.pop() || "0";
256
+ var left = stack.pop() || "0";
257
+ stack.push("".concat(left, "+").concat(right));
258
+ }
259
+ else if (ptg === 0x04) {
260
+ // PtgSub - subtraction operator
261
+ var right = stack.pop() || "0";
262
+ var left = stack.pop() || "0";
263
+ stack.push("".concat(left, "-").concat(right));
264
+ }
265
+ else if (ptg === 0x05) {
266
+ // PtgMul - multiplication operator
267
+ var right = stack.pop() || "0";
268
+ var left = stack.pop() || "0";
269
+ stack.push("".concat(left, "*").concat(right));
270
+ }
271
+ else if (ptg === 0x06) {
272
+ // PtgDiv
273
+ var right = stack.pop() || "0";
274
+ var left = stack.pop() || "0";
275
+ stack.push("".concat(left, "/").concat(right));
276
+ }
277
+ else if (ptg === 0x07) {
278
+ // PtgPower
279
+ var right = stack.pop() || "0";
280
+ var left = stack.pop() || "0";
281
+ stack.push("".concat(left, "^").concat(right));
282
+ }
283
+ else if (ptg === 0x08) {
284
+ // PtgConcat
285
+ var right = stack.pop() || '""';
286
+ var left = stack.pop() || '""';
287
+ stack.push("".concat(left, "&").concat(right));
288
+ }
289
+ else if (ptg === 0x09) {
290
+ // PtgLT
291
+ var right = stack.pop() || "0";
292
+ var left = stack.pop() || "0";
293
+ stack.push("".concat(left, "<").concat(right));
294
+ }
295
+ else if (ptg === 0x0a) {
296
+ // PtgLE
297
+ var right = stack.pop() || "0";
298
+ var left = stack.pop() || "0";
299
+ stack.push("".concat(left, "<=").concat(right));
300
+ }
301
+ else if (ptg === 0x0b) {
302
+ // PtgEQ
303
+ var right = stack.pop() || "0";
304
+ var left = stack.pop() || "0";
305
+ stack.push("".concat(left, "=").concat(right));
306
+ }
307
+ else if (ptg === 0x0c) {
308
+ // PtgGE
309
+ var right = stack.pop() || "0";
310
+ var left = stack.pop() || "0";
311
+ stack.push("".concat(left, ">=").concat(right));
312
+ }
313
+ else if (ptg === 0x0d) {
314
+ // PtgGT
315
+ var right = stack.pop() || "0";
316
+ var left = stack.pop() || "0";
317
+ stack.push("".concat(left, ">").concat(right));
318
+ }
319
+ else if (ptg === 0x0e) {
320
+ // PtgNE
321
+ var right = stack.pop() || "0";
322
+ var left = stack.pop() || "0";
323
+ stack.push("".concat(left, "<>").concat(right));
324
+ }
325
+ else if (ptg === 0x12) {
326
+ // PtgUPlus
327
+ var operand = stack.pop() || "0";
328
+ stack.push("+".concat(operand));
329
+ }
330
+ else if (ptg === 0x13) {
331
+ // PtgUMinus
332
+ var operand = stack.pop() || "0";
333
+ stack.push("-".concat(operand));
334
+ }
335
+ else if (ptg === 0x14) {
336
+ // PtgPercent
337
+ var operand = stack.pop() || "0";
338
+ stack.push("".concat(operand, "%"));
339
+ }
340
+ else if (ptg === 0x15) {
341
+ // PtgParen
342
+ var operand = stack.pop() || "";
343
+ stack.push("(".concat(operand, ")"));
344
+ }
345
+ else if (ptg === 0x16) {
346
+ // PtgMissArg - missing argument (empty between commas)
347
+ stack.push("");
348
+ }
349
+ else if (ptg === 0x17) {
350
+ // PtgStr - string constant
351
+ var str = reader.readXLWideString();
352
+ stack.push("\"".concat(str.replace(/"/g, '""'), "\""));
353
+ }
354
+ else if (ptg === 0x1d) {
355
+ // PtgBool - boolean constant
356
+ var value = reader.readUInt8();
357
+ stack.push(value ? "TRUE" : "FALSE");
358
+ }
359
+ else if (ptg === 0x1e) {
360
+ // PtgInt - integer constant
361
+ var value = reader.readUInt16LE();
362
+ stack.push(String(value));
363
+ }
364
+ else if (ptg === 0x1f) {
365
+ // PtgNum - float constant
366
+ var value = reader.readFloat64LE();
367
+ stack.push(String(value));
368
+ }
369
+ else if (ptg === 0x18) {
370
+ // PtgErr - error constant
371
+ if (!canRead(1))
372
+ break;
373
+ var code = reader.readUInt8();
374
+ var errorValues = {
375
+ 0x00: "#NULL!",
376
+ 0x07: "#DIV/0!",
377
+ 0x0f: "#VALUE!",
378
+ 0x17: "#REF!",
379
+ 0x1d: "#NAME?",
380
+ 0x24: "#NUM!",
381
+ 0x2a: "#N/A",
382
+ 0x2b: "#GETTING_DATA",
383
+ };
384
+ stack.push(errorValues[code] || "#VALUE!");
385
+ }
386
+ else if (ptg === 0x19) {
387
+ // PtgAttr: 1 byte flags + 2 bytes data
388
+ if (!canRead(3))
389
+ break;
390
+ var flags = reader.readUInt8();
391
+ var data = reader.readUInt16LE();
392
+ // Handle various PtgAttr flags
393
+ if ((flags & 0x10) !== 0) {
394
+ // fSum: treat previous operand as SUM(operand)
395
+ var operand = stack.pop() || "";
396
+ stack.push("SUM(".concat(operand, ")"));
397
+ }
398
+ // Note: Other flags (fIf=0x02, fChoose=0x04, fSkip=0x08, fGoto=0x01)
399
+ // are for control flow and typically don't affect the formula string
400
+ // They just affect how bytes are skipped during parsing
401
+ }
402
+ else if (ptg === 0x01) {
403
+ // Ambiguous in some XLSB streams:
404
+ // - PtgExp (4-byte payload)
405
+ // - PtgFunc ref-class variant (2-byte payload)
406
+ if (canRead(4)) {
407
+ var srcRow = reader.readUInt16LE() + 1;
408
+ var srcCol = reader.readUInt16LE() + 1;
409
+ stack.push("__PTGEXP__:".concat(srcRow, ":").concat(srcCol));
410
+ }
411
+ else if (canRead(2)) {
412
+ pushFixedFunction(reader.readUInt16LE());
413
+ }
414
+ else {
415
+ break;
416
+ }
417
+ }
418
+ else if (ptg === 0x02) {
419
+ // PtgFuncVar reference-class variant (0x02)
420
+ // In practice, 0x02 is PtgFuncVar, not PtgTbl
421
+ if (canRead(3)) {
422
+ var cargs = reader.readUInt8();
423
+ pushVariableFunction(cargs, reader.readUInt16LE());
424
+ }
425
+ else {
426
+ break;
427
+ }
428
+ }
429
+ else if (ptg === 0x1a || ptg === 0x3a || ptg === 0x5a || ptg === 0x7a) {
430
+ // PtgRef3d - cross-sheet cell reference
431
+ if (!canRead(8))
432
+ break;
433
+ var ixti = reader.readUInt16LE(); // External sheet index
434
+ var cellRef = readShortRef();
435
+ // Get sheet name if available
436
+ var sheetName = resolveSheetName(ixti);
437
+ if (sheetName) {
438
+ var quotedName = quoteSheetName(sheetName);
439
+ stack.push("".concat(quotedName, "!").concat(cellRef));
440
+ }
441
+ else {
442
+ stack.push(cellRef);
443
+ }
444
+ }
445
+ else if (ptg === 0x1b || ptg === 0x3b || ptg === 0x5b || ptg === 0x7b) {
446
+ // PtgArea3d - cross-sheet range reference
447
+ if (!canRead(14))
448
+ break;
449
+ var ixti = reader.readUInt16LE(); // External sheet index
450
+ var rangeRef = readShortArea();
451
+ // Get sheet name if available
452
+ var sheetName = resolveSheetName(ixti);
453
+ if (sheetName) {
454
+ var quotedName = quoteSheetName(sheetName);
455
+ stack.push("".concat(quotedName, "!").concat(rangeRef));
456
+ }
457
+ else {
458
+ stack.push(rangeRef);
459
+ }
460
+ }
461
+ // References and functions have class bits
462
+ else if (ptg >= 0x20) {
463
+ var basePtg = ptg & 0x1f;
464
+ if (basePtg === 0x01) {
465
+ // PtgFunc - function with fixed args
466
+ if (!canRead(2))
467
+ break;
468
+ pushFixedFunction(reader.readUInt16LE());
469
+ }
470
+ else if (basePtg === 0x02) {
471
+ // PtgFuncVar - function with variable args
472
+ if (!canRead(3))
473
+ break;
474
+ var cargs = reader.readUInt8();
475
+ pushVariableFunction(cargs, reader.readUInt16LE());
476
+ }
477
+ else if (basePtg === 0x04) {
478
+ // PtgRef - cell reference
479
+ if (!canRead(6))
480
+ break;
481
+ stack.push(readShortRef());
482
+ }
483
+ else if (basePtg === 0x05) {
484
+ // PtgArea - range reference
485
+ if (!canRead(12))
486
+ break;
487
+ stack.push(readShortArea());
488
+ }
489
+ else if (basePtg === 0x0c) {
490
+ // PtgRefN - relative cell reference (commonly used in shared formulas)
491
+ if (!canRead(6))
492
+ break;
493
+ stack.push(readRelShortRef());
494
+ }
495
+ else if (basePtg === 0x0d) {
496
+ // PtgAreaN - relative range reference
497
+ if (!canRead(12))
498
+ break;
499
+ stack.push(readRelShortArea());
500
+ }
501
+ else {
502
+ // Unknown class token: break to avoid stream desync.
503
+ break;
504
+ }
505
+ }
506
+ else {
507
+ // Unknown non-class token: break to avoid stream desync.
508
+ if (debug) {
509
+ console.log("[Rgce] Unknown token 0x".concat(ptg.toString(16), ", stopping parse"));
510
+ }
511
+ break;
512
+ }
513
+ }
514
+ }
515
+ catch (err) {
516
+ // Parse error - return what we have so far
517
+ if (debug) {
518
+ console.error("[Rgce] Parse error:", err);
519
+ }
520
+ return stack.length > 0 ? stack[stack.length - 1] : "";
521
+ }
522
+ var result = stack.length > 0 ? stack[stack.length - 1] : "";
523
+ if (debug) {
524
+ console.log("[Rgce] Final result:", result);
525
+ }
526
+ return result;
527
+ }
@@ -0,0 +1,5 @@
1
+ import { XlsxPlugin } from "../xlsx/index";
2
+ export declare class XlsmPlugin extends XlsxPlugin {
3
+ constructor();
4
+ }
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../excel-parser/plugins/xlsm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,qBAAa,UAAW,SAAQ,UAAU;;CAIzC"}
@@ -0,0 +1,10 @@
1
+ import { __extends } from "tslib";
2
+ import { XlsxPlugin } from "../xlsx/index";
3
+ var XlsmPlugin = /** @class */ (function (_super) {
4
+ __extends(XlsmPlugin, _super);
5
+ function XlsmPlugin() {
6
+ return _super.call(this) || this;
7
+ }
8
+ return XlsmPlugin;
9
+ }(XlsxPlugin));
10
+ export { XlsmPlugin };
@@ -0,0 +1,60 @@
1
+ import type { ChartData, EmbeddedChart, EmbeddedObjectPosition, HIDDEN_DIMENSION_STRATEGY, SheetRange } from "@rowsncolumns/spreadsheet";
2
+ import type { StreamingZipParser } from "../../zip-parser-streaming";
3
+ /**
4
+ * Resolver from a sheet name (as it appears inside chart formula refs,
5
+ * e.g. `'Data for the Chart'!$A$7:$A$26`) to the numeric sheetId in the
6
+ * workbook. Returns `undefined` when the sheet can't be found — the
7
+ * caller then falls back to the host sheetId, preserving the legacy
8
+ * behaviour (chart pinned to its own sheet) for malformed refs.
9
+ */
10
+ export type ResolveSheetId = (sheetName: string | undefined) => number | undefined;
11
+ export declare function processChart(chartTarget: string, drawingPath: string, anchor: any, sheetId: number, zipParser: StreamingZipParser, xmlParser: any, sheetDimensions?: SheetDimensions, resolveSheetId?: ResolveSheetId): Promise<EmbeddedChart | null>;
12
+ export declare function extractChartDataRange(plotArea: any, chartType: string, sheetId: number, resolveSheetId?: ResolveSheetId): SheetRange | null;
13
+ /**
14
+ * Extract hidden dimension strategy from plotVisOnly attribute
15
+ * In Excel: plotVisOnly="1" means skip hidden rows/columns, "0" means show all
16
+ */
17
+ export declare function extractHiddenDimensionStrategy(chart: any): HIDDEN_DIMENSION_STRATEGY | undefined;
18
+ export declare function extractChartTitle(chart: any): string;
19
+ export declare function determineChartType(chart: any): "bar" | "column" | "line" | "pie" | "doughnut" | "area" | "radar" | "stock" | "scatter" | "bubble" | "treemap" | "sunburst" | "histogram" | "boxplot" | "waterfall" | "funnel";
20
+ /**
21
+ * Phase 5.5 — pull binCount out of the c15:histogramChart extension
22
+ * marker. Returns undefined if absent.
23
+ */
24
+ export declare function extractC15HistogramBinCount(plotArea: any): number | undefined;
25
+ export declare function extractChartSeries(plotArea: any, chartType: string, sheetId: number, resolveSheetId?: ResolveSheetId): ChartData[];
26
+ export declare function extractChartDomains(plotArea: any, chartType: string, sheetId: number, resolveSheetId?: ResolveSheetId): ChartData[];
27
+ /**
28
+ * Bubble charts have a third dimension — bubble size — referenced
29
+ * via `<c:bubbleSize><c:numRef><c:f>` on each series. Returns one
30
+ * `ChartData` entry per series (matches the shape used by `domains` /
31
+ * `series`).
32
+ */
33
+ export declare function extractChartBubbleSizes(plotArea: any, sheetId: number, resolveSheetId?: ResolveSheetId): ChartData[];
34
+ export type SheetDimensions = {
35
+ columnWidths?: Map<number, number>;
36
+ rowHeights?: Map<number, number>;
37
+ defaultColumnWidth?: number;
38
+ defaultRowHeight?: number;
39
+ };
40
+ export declare function extractChartPosition(anchor: any, sheetId: number, sheetDimensions?: SheetDimensions): EmbeddedObjectPosition | null;
41
+ export declare function extractAxisOptions(plotArea: any): {
42
+ valueAxisOptions: any;
43
+ secondaryValueAxisOptions: any;
44
+ categoryAxisOptions: any;
45
+ };
46
+ /**
47
+ * Pie-of-pie / bar-of-pie — extract the of-pie layout fields from
48
+ * `<c:ofPieChart>`. Returns undefined for plain pies. `splitType`
49
+ * maps the OOXML tokens (`pos`/`val`/`percent`) to the spec vocabulary;
50
+ * `auto` and `cust` (custom point assignment, carried in `<c:custSplit>`
51
+ * which the spec cannot represent) are omitted so the renderer applies
52
+ * Excel's default rule (position, last 3 values).
53
+ */
54
+ export declare function extractOfPieOptions(plotArea: any): {
55
+ ofPieType: "pie" | "bar";
56
+ splitType?: "position" | "value" | "percent";
57
+ splitPos?: number;
58
+ secondPieSize?: number;
59
+ } | undefined;
60
+ //# sourceMappingURL=charts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"charts.d.ts","sourceRoot":"","sources":["../../../../../excel-parser/plugins/xlsx/charts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,SAAS,EAET,aAAa,EACb,sBAAsB,EACtB,yBAAyB,EACzB,UAAU,EACX,MAAM,2BAA2B,CAAC;AAInC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,SAAS,CAAC;AAkDnF,wBAAsB,YAAY,CAChC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,kBAAkB,EAC7B,SAAS,EAAE,GAAG,EACd,eAAe,CAAC,EAAE,eAAe,EACjC,cAAc,CAAC,EAAE,cAAc,GAC9B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CA+L/B;AA8HD,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,GAAG,EACb,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,cAAc,GAC9B,UAAU,GAAG,IAAI,CAgEnB;AA+DD;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,GAAG,GACT,yBAAyB,GAAG,SAAS,CAiBvC;AAyBD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAoBpD;AA0BD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,GAAG,GAER,KAAK,GACL,QAAQ,GACR,MAAM,GACN,KAAK,GACL,UAAU,GACV,MAAM,GACN,OAAO,GACP,OAAO,GACP,SAAS,GACT,QAAQ,GACR,SAAS,GACT,UAAU,GACV,WAAW,GACX,SAAS,GACT,WAAW,GACX,QAAQ,CAwEX;AAoED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,GAAG,GACZ,MAAM,GAAG,SAAS,CA+CpB;AAoGD,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,GAAG,EACb,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,cAAc,GAC9B,SAAS,EAAE,CAkLb;AAioBD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,GAAG,EACb,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,cAAc,GAC9B,SAAS,EAAE,CAgGb;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,cAAc,GAC9B,SAAS,EAAE,CAiBb;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,eAAe,GAChC,sBAAsB,GAAG,IAAI,CA2H/B;AA4ND,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,GAAG;;;;EAe/C;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,GAAG,GAC7C;IACE,SAAS,EAAE,KAAK,GAAG,KAAK,CAAC;IACzB,SAAS,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GACD,SAAS,CAiCZ"}