excel-collab 0.0.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 (350) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +124 -0
  3. package/lib/Chart-BOZ0_05B.js +19 -0
  4. package/lib/Chart-BOZ0_05B.js.map +1 -0
  5. package/lib/Chart-BiiKrUFB.mjs +8791 -0
  6. package/lib/Chart-BiiKrUFB.mjs.map +1 -0
  7. package/lib/browser-CEzw3XJq.js +2 -0
  8. package/lib/browser-CEzw3XJq.js.map +1 -0
  9. package/lib/browser-CLXapNii.mjs +18 -0
  10. package/lib/browser-CLXapNii.mjs.map +1 -0
  11. package/lib/demo/index.d.ts +0 -0
  12. package/lib/demo/sentry.d.ts +1 -0
  13. package/lib/demo/simple.d.ts +0 -0
  14. package/lib/demo/worker.d.ts +1 -0
  15. package/lib/e2e/ccp.test.d.ts +1 -0
  16. package/lib/e2e/input.test.d.ts +1 -0
  17. package/lib/e2e/page.test.d.ts +1 -0
  18. package/lib/e2e/performance.test.d.ts +1 -0
  19. package/lib/e2e/util.d.ts +7 -0
  20. package/lib/excel.js +2 -0
  21. package/lib/excel.js.map +1 -0
  22. package/lib/excel.mjs +194 -0
  23. package/lib/excel.mjs.map +1 -0
  24. package/lib/icon/android-icon-144x144.png +0 -0
  25. package/lib/icon/android-icon-192x192.png +0 -0
  26. package/lib/icon/android-icon-36x36.png +0 -0
  27. package/lib/icon/android-icon-48x48.png +0 -0
  28. package/lib/icon/android-icon-72x72.png +0 -0
  29. package/lib/icon/android-icon-96x96.png +0 -0
  30. package/lib/icon/apple-icon-114x114.png +0 -0
  31. package/lib/icon/apple-icon-120x120.png +0 -0
  32. package/lib/icon/apple-icon-144x144.png +0 -0
  33. package/lib/icon/apple-icon-152x152.png +0 -0
  34. package/lib/icon/apple-icon-180x180.png +0 -0
  35. package/lib/icon/apple-icon-57x57.png +0 -0
  36. package/lib/icon/apple-icon-60x60.png +0 -0
  37. package/lib/icon/apple-icon-72x72.png +0 -0
  38. package/lib/icon/apple-icon-76x76.png +0 -0
  39. package/lib/icon/apple-icon-precomposed.png +0 -0
  40. package/lib/icon/apple-icon.png +0 -0
  41. package/lib/icon/browserconfig.xml +11 -0
  42. package/lib/icon/favicon-16x16.png +0 -0
  43. package/lib/icon/favicon-32x32.png +0 -0
  44. package/lib/icon/favicon-96x96.png +0 -0
  45. package/lib/icon/favicon.ico +0 -0
  46. package/lib/icon/manifest.json +41 -0
  47. package/lib/icon/ms-icon-144x144.png +0 -0
  48. package/lib/icon/ms-icon-150x150.png +0 -0
  49. package/lib/icon/ms-icon-310x310.png +0 -0
  50. package/lib/icon/ms-icon-70x70.png +0 -0
  51. package/lib/icon/rotate.png +0 -0
  52. package/lib/index-CPQtoL_o.js +1717 -0
  53. package/lib/index-CPQtoL_o.js.map +1 -0
  54. package/lib/index-hodLtYAe.mjs +49234 -0
  55. package/lib/index-hodLtYAe.mjs.map +1 -0
  56. package/lib/jszip.min-BwVBTZW7.js +13 -0
  57. package/lib/jszip.min-BwVBTZW7.js.map +1 -0
  58. package/lib/jszip.min-D50cKJUj.mjs +2344 -0
  59. package/lib/jszip.min-D50cKJUj.mjs.map +1 -0
  60. package/lib/src/__tests__/Border.test.d.ts +0 -0
  61. package/lib/src/__tests__/Export.test.d.ts +0 -0
  62. package/lib/src/__tests__/Filter.test.d.ts +0 -0
  63. package/lib/src/__tests__/FloatElement.test.d.ts +0 -0
  64. package/lib/src/__tests__/FormularBar.test.d.ts +0 -0
  65. package/lib/src/__tests__/HorizontalAlign.test.d.ts +0 -0
  66. package/lib/src/__tests__/Import.test.d.ts +0 -0
  67. package/lib/src/__tests__/Menubar.test.d.ts +0 -0
  68. package/lib/src/__tests__/MergeCell.test.d.ts +0 -0
  69. package/lib/src/__tests__/NumberFormat.test.d.ts +0 -0
  70. package/lib/src/__tests__/SheetBar.test.d.ts +0 -0
  71. package/lib/src/__tests__/Toolbar.test.d.ts +0 -0
  72. package/lib/src/__tests__/VerticalAlign.test.d.ts +0 -0
  73. package/lib/src/__tests__/canvas.test.d.ts +0 -0
  74. package/lib/src/__tests__/global.mock.d.ts +0 -0
  75. package/lib/src/__tests__/shortcut.test.d.ts +0 -0
  76. package/lib/src/__tests__/util.d.ts +5 -0
  77. package/lib/src/canvas/MainCanvas.d.ts +9 -0
  78. package/lib/src/canvas/__tests__/MainCanvas.test.d.ts +1 -0
  79. package/lib/src/canvas/__tests__/border.test.d.ts +1 -0
  80. package/lib/src/canvas/__tests__/ccp.test.d.ts +1 -0
  81. package/lib/src/canvas/__tests__/cell-style.test.d.ts +1 -0
  82. package/lib/src/canvas/__tests__/cell-value.test.d.ts +1 -0
  83. package/lib/src/canvas/__tests__/filter.test.d.ts +1 -0
  84. package/lib/src/canvas/__tests__/merge-cell.test.d.ts +1 -0
  85. package/lib/src/canvas/__tests__/number-format.test.d.ts +1 -0
  86. package/lib/src/canvas/__tests__/range.test.d.ts +1 -0
  87. package/lib/src/canvas/__tests__/shortcut.test.d.ts +1 -0
  88. package/lib/src/canvas/__tests__/theme.test.d.ts +1 -0
  89. package/lib/src/canvas/__tests__/util.d.ts +6 -0
  90. package/lib/src/canvas/__tests__/worker.test.d.ts +1 -0
  91. package/lib/src/canvas/__tests__/wrap-text.test.d.ts +1 -0
  92. package/lib/src/canvas/constant.d.ts +2 -0
  93. package/lib/src/canvas/event.d.ts +2 -0
  94. package/lib/src/canvas/index.d.ts +4 -0
  95. package/lib/src/canvas/offScreenWorker.d.ts +45 -0
  96. package/lib/src/canvas/shortcut.d.ts +20 -0
  97. package/lib/src/canvas/util.d.ts +12 -0
  98. package/lib/src/canvas/worker.d.ts +3 -0
  99. package/lib/src/collaboration/__tests__/util.test.d.ts +1 -0
  100. package/lib/src/collaboration/index.d.ts +6 -0
  101. package/lib/src/collaboration/local.d.ts +15 -0
  102. package/lib/src/collaboration/server.d.ts +31 -0
  103. package/lib/src/collaboration/type.d.ts +41 -0
  104. package/lib/src/collaboration/util.d.ts +2 -0
  105. package/lib/src/components/BaseIcon/BaseIcon.d.ts +12 -0
  106. package/lib/src/components/BaseIcon/FillColorIcon.d.ts +1 -0
  107. package/lib/src/components/BaseIcon/icon.d.ts +3 -0
  108. package/lib/src/components/BaseIcon/index.d.ts +9 -0
  109. package/lib/src/components/Button/index.d.ts +14 -0
  110. package/lib/src/components/ColorPicker/ColorPickerPanel.d.ts +2 -0
  111. package/lib/src/components/ColorPicker/Hue.d.ts +11 -0
  112. package/lib/src/components/ColorPicker/Interactive.d.ts +12 -0
  113. package/lib/src/components/ColorPicker/Pointer.d.ts +8 -0
  114. package/lib/src/components/ColorPicker/Saturation.d.ts +12 -0
  115. package/lib/src/components/ColorPicker/clamp.d.ts +1 -0
  116. package/lib/src/components/ColorPicker/convert.d.ts +5 -0
  117. package/lib/src/components/ColorPicker/index.d.ts +9 -0
  118. package/lib/src/components/ColorPicker/round.d.ts +1 -0
  119. package/lib/src/components/ColorPicker/types.d.ts +38 -0
  120. package/lib/src/components/ColorPicker/useColorManipulation.d.ts +2 -0
  121. package/lib/src/components/Dialog/index.d.ts +17 -0
  122. package/lib/src/components/Github/index.d.ts +2 -0
  123. package/lib/src/components/Loading/index.d.ts +2 -0
  124. package/lib/src/components/Menu/index.d.ts +20 -0
  125. package/lib/src/components/Select/index.d.ts +25 -0
  126. package/lib/src/components/Toast/index.d.ts +17 -0
  127. package/lib/src/components/__tests__/BaseIcon.test.d.ts +0 -0
  128. package/lib/src/components/__tests__/Button.test.d.ts +1 -0
  129. package/lib/src/components/__tests__/ColorPicker.test.d.ts +1 -0
  130. package/lib/src/components/__tests__/Dialog.test.d.ts +1 -0
  131. package/lib/src/components/__tests__/Loading.test.d.ts +1 -0
  132. package/lib/src/components/__tests__/Menu.test.d.ts +1 -0
  133. package/lib/src/components/__tests__/Select.test.d.ts +1 -0
  134. package/lib/src/components/__tests__/Toast.test.d.ts +0 -0
  135. package/lib/src/components/index.d.ts +9 -0
  136. package/lib/src/containers/Excel/ImportCSV.d.ts +2 -0
  137. package/lib/src/containers/Excel/__tests__/exportCSV.test.d.ts +1 -0
  138. package/lib/src/containers/Excel/__tests__/exportXLSX.test.d.ts +1 -0
  139. package/lib/src/containers/Excel/__tests__/importXLSX.test.d.ts +1 -0
  140. package/lib/src/containers/Excel/exportCSV.d.ts +2 -0
  141. package/lib/src/containers/Excel/exportConfig.d.ts +20 -0
  142. package/lib/src/containers/Excel/exportXLSX.d.ts +3 -0
  143. package/lib/src/containers/Excel/importXLSX.d.ts +174 -0
  144. package/lib/src/containers/Excel/index.d.ts +4 -0
  145. package/lib/src/containers/FloatElement/Chart.d.ts +16 -0
  146. package/lib/src/containers/FloatElement/ContextMenu.d.ts +11 -0
  147. package/lib/src/containers/FloatElement/FloatElement.d.ts +11 -0
  148. package/lib/src/containers/FloatElement/Image.d.ts +8 -0
  149. package/lib/src/containers/FloatElement/Toolbar.d.ts +3 -0
  150. package/lib/src/containers/FloatElement/index.d.ts +8 -0
  151. package/lib/src/containers/FloatElement/util.d.ts +32 -0
  152. package/lib/src/containers/FormulaBar/DefineName.d.ts +7 -0
  153. package/lib/src/containers/FormulaBar/FormulaEditor.d.ts +14 -0
  154. package/lib/src/containers/FormulaBar/index.d.ts +2 -0
  155. package/lib/src/containers/MenuBar/FPS.d.ts +2 -0
  156. package/lib/src/containers/MenuBar/File.d.ts +1 -0
  157. package/lib/src/containers/MenuBar/I18N.d.ts +2 -0
  158. package/lib/src/containers/MenuBar/Theme.d.ts +2 -0
  159. package/lib/src/containers/MenuBar/User.d.ts +5 -0
  160. package/lib/src/containers/MenuBar/index.d.ts +7 -0
  161. package/lib/src/containers/SheetBar/SheetBarContextMenu.d.ts +11 -0
  162. package/lib/src/containers/SheetBar/index.d.ts +3 -0
  163. package/lib/src/containers/ToolBar/Border.d.ts +1 -0
  164. package/lib/src/containers/ToolBar/constant.d.ts +8 -0
  165. package/lib/src/containers/ToolBar/index.d.ts +3 -0
  166. package/lib/src/containers/__tests__/FPS.test.d.ts +0 -0
  167. package/lib/src/containers/__tests__/FormulaEditor.test.d.ts +1 -0
  168. package/lib/src/containers/canvas/BottomBar.d.ts +2 -0
  169. package/lib/src/containers/canvas/Collaboration.d.ts +7 -0
  170. package/lib/src/containers/canvas/ContextMenu.d.ts +8 -0
  171. package/lib/src/containers/canvas/ScrollBar.d.ts +2 -0
  172. package/lib/src/containers/canvas/__tests__/isSupportFontFamily.test.d.ts +1 -0
  173. package/lib/src/containers/canvas/event/__tests__/filter.test.d.ts +1 -0
  174. package/lib/src/containers/canvas/event/filter.d.ts +6 -0
  175. package/lib/src/containers/canvas/event/index.d.ts +3 -0
  176. package/lib/src/containers/canvas/event/main.d.ts +7 -0
  177. package/lib/src/containers/canvas/index.d.ts +3 -0
  178. package/lib/src/containers/canvas/isSupportFontFamily.d.ts +4 -0
  179. package/lib/src/containers/canvas/modal/Filter.d.ts +2 -0
  180. package/lib/src/containers/canvas/modal/index.d.ts +3 -0
  181. package/lib/src/containers/canvas/util.d.ts +2 -0
  182. package/lib/src/containers/hooks/__tests__/useClickOutSide.test.d.ts +1 -0
  183. package/lib/src/containers/hooks/__tests__/useEventCallback.test.d.ts +1 -0
  184. package/lib/src/containers/hooks/__tests__/useFPS.test.d.ts +1 -0
  185. package/lib/src/containers/hooks/index.d.ts +3 -0
  186. package/lib/src/containers/hooks/useClickOutSide.d.ts +1 -0
  187. package/lib/src/containers/hooks/useEventCallback.d.ts +1 -0
  188. package/lib/src/containers/hooks/useFPS.d.ts +1 -0
  189. package/lib/src/containers/index.d.ts +19 -0
  190. package/lib/src/containers/store/__tests__/base.test.d.ts +1 -0
  191. package/lib/src/containers/store/activeCell.d.ts +12 -0
  192. package/lib/src/containers/store/base.d.ts +8 -0
  193. package/lib/src/containers/store/context.d.ts +8 -0
  194. package/lib/src/containers/store/core.d.ts +11 -0
  195. package/lib/src/containers/store/defineName.d.ts +2 -0
  196. package/lib/src/containers/store/file.d.ts +7 -0
  197. package/lib/src/containers/store/floatElement.d.ts +12 -0
  198. package/lib/src/containers/store/fontFamily.d.ts +3 -0
  199. package/lib/src/containers/store/index.d.ts +15 -0
  200. package/lib/src/containers/store/scroll.d.ts +12 -0
  201. package/lib/src/containers/store/sheetList.d.ts +4 -0
  202. package/lib/src/containers/store/style.d.ts +7 -0
  203. package/lib/src/containers/store/user.d.ts +3 -0
  204. package/lib/src/controller/Controller.d.ts +102 -0
  205. package/lib/src/controller/__tests__/col.test.d.ts +1 -0
  206. package/lib/src/controller/__tests__/controller.test.d.ts +1 -0
  207. package/lib/src/controller/__tests__/definedName.test.d.ts +1 -0
  208. package/lib/src/controller/__tests__/drawing.test.d.ts +1 -0
  209. package/lib/src/controller/__tests__/filter.test.d.ts +1 -0
  210. package/lib/src/controller/__tests__/getHitInfo.test.d.ts +1 -0
  211. package/lib/src/controller/__tests__/mergeCell.test.d.ts +1 -0
  212. package/lib/src/controller/__tests__/rangeMap.test.d.ts +1 -0
  213. package/lib/src/controller/__tests__/row.test.d.ts +1 -0
  214. package/lib/src/controller/__tests__/workbook.test.d.ts +1 -0
  215. package/lib/src/controller/__tests__/worksheet.test.d.ts +1 -0
  216. package/lib/src/controller/decorator.d.ts +2 -0
  217. package/lib/src/controller/index.d.ts +2 -0
  218. package/lib/src/controller/init.d.ts +3 -0
  219. package/lib/src/formula/__tests__/formula/math.test.d.ts +1 -0
  220. package/lib/src/formula/__tests__/formula/text.test.d.ts +1 -0
  221. package/lib/src/formula/__tests__/interpreter/array.test.d.ts +1 -0
  222. package/lib/src/formula/__tests__/interpreter/error.test.d.ts +1 -0
  223. package/lib/src/formula/__tests__/interpreter/function.test.d.ts +1 -0
  224. package/lib/src/formula/__tests__/interpreter/logical.test.d.ts +1 -0
  225. package/lib/src/formula/__tests__/interpreter/math.test.d.ts +1 -0
  226. package/lib/src/formula/__tests__/interpreter/primary.test.d.ts +1 -0
  227. package/lib/src/formula/__tests__/interpreter/r1c1.test.d.ts +1 -0
  228. package/lib/src/formula/__tests__/interpreter/reference.test.d.ts +1 -0
  229. package/lib/src/formula/__tests__/interpreter/util.d.ts +3 -0
  230. package/lib/src/formula/__tests__/interpreter/variable.test.d.ts +1 -0
  231. package/lib/src/formula/__tests__/numberFormat.test.d.ts +1 -0
  232. package/lib/src/formula/__tests__/parser/basic-expressions.test.d.ts +1 -0
  233. package/lib/src/formula/__tests__/parser/cell-range.test.d.ts +1 -0
  234. package/lib/src/formula/__tests__/parser/function-call.test.d.ts +1 -0
  235. package/lib/src/formula/__tests__/parser/invalid-expressions.test.d.ts +1 -0
  236. package/lib/src/formula/__tests__/parser/operators.test.d.ts +1 -0
  237. package/lib/src/formula/__tests__/parser/util.d.ts +3 -0
  238. package/lib/src/formula/__tests__/scanner/arithmetic-expression.test.d.ts +1 -0
  239. package/lib/src/formula/__tests__/scanner/arrays.test.d.ts +1 -0
  240. package/lib/src/formula/__tests__/scanner/cell-ranges.test.d.ts +1 -0
  241. package/lib/src/formula/__tests__/scanner/comparison-expression.test.d.ts +1 -0
  242. package/lib/src/formula/__tests__/scanner/define-name.test.d.ts +1 -0
  243. package/lib/src/formula/__tests__/scanner/functions.test.d.ts +1 -0
  244. package/lib/src/formula/__tests__/scanner/logical-expression.test.d.ts +1 -0
  245. package/lib/src/formula/__tests__/scanner/primary.test.d.ts +1 -0
  246. package/lib/src/formula/__tests__/scanner/r1c1.test.d.ts +1 -0
  247. package/lib/src/formula/__tests__/scanner/range-operator.test.d.ts +1 -0
  248. package/lib/src/formula/__tests__/scanner/string-expression.test.d.ts +1 -0
  249. package/lib/src/formula/__tests__/scanner/util.d.ts +5 -0
  250. package/lib/src/formula/eval.d.ts +19 -0
  251. package/lib/src/formula/expression.d.ts +79 -0
  252. package/lib/src/formula/formula/error.d.ts +11 -0
  253. package/lib/src/formula/formula/float.d.ts +1 -0
  254. package/lib/src/formula/formula/index.d.ts +12 -0
  255. package/lib/src/formula/formula/math.d.ts +49 -0
  256. package/lib/src/formula/formula/text.d.ts +27 -0
  257. package/lib/src/formula/index.d.ts +2 -0
  258. package/lib/src/formula/interpreter.d.ts +23 -0
  259. package/lib/src/formula/numberFormat.d.ts +9 -0
  260. package/lib/src/formula/parser.d.ts +28 -0
  261. package/lib/src/formula/scanner.d.ts +24 -0
  262. package/lib/src/formula/token.d.ts +7 -0
  263. package/lib/src/i18n/__tests__/i18n.test.d.ts +1 -0
  264. package/lib/src/i18n/index.d.ts +6 -0
  265. package/lib/src/i18n/lang/en.json.d.ts +113 -0
  266. package/lib/src/i18n/lang/zh.json.d.ts +113 -0
  267. package/lib/src/index.d.ts +11 -0
  268. package/lib/src/model/Model.d.ts +121 -0
  269. package/lib/src/model/__tests__/mergeCell.test.d.ts +1 -0
  270. package/lib/src/model/__tests__/model.test.d.ts +1 -0
  271. package/lib/src/model/__tests__/rangeMap.test.d.ts +1 -0
  272. package/lib/src/model/__tests__/util.d.ts +2 -0
  273. package/lib/src/model/__tests__/workbook.test.d.ts +1 -0
  274. package/lib/src/model/col.d.ts +14 -0
  275. package/lib/src/model/definedName.d.ts +13 -0
  276. package/lib/src/model/drawing.d.ts +17 -0
  277. package/lib/src/model/filter.d.ts +43 -0
  278. package/lib/src/model/index.d.ts +1 -0
  279. package/lib/src/model/mergeCell.d.ts +12 -0
  280. package/lib/src/model/mockModel.d.ts +3 -0
  281. package/lib/src/model/rangeMap.d.ts +29 -0
  282. package/lib/src/model/row.d.ts +14 -0
  283. package/lib/src/model/scroll.d.ts +16 -0
  284. package/lib/src/model/workbook.d.ts +22 -0
  285. package/lib/src/model/worksheet.d.ts +31 -0
  286. package/lib/src/theme/__tests__/theme.test.d.ts +1 -0
  287. package/lib/src/theme/color.d.ts +20 -0
  288. package/lib/src/theme/convert.d.ts +1 -0
  289. package/lib/src/theme/index.d.ts +25 -0
  290. package/lib/src/theme/size.d.ts +15 -0
  291. package/lib/src/theme/zIndex.d.ts +7 -0
  292. package/lib/src/types/canvas.d.ts +18 -0
  293. package/lib/src/types/components.d.ts +25 -0
  294. package/lib/src/types/controller.d.ts +56 -0
  295. package/lib/src/types/event.d.ts +89 -0
  296. package/lib/src/types/formula.d.ts +2 -0
  297. package/lib/src/types/index.d.ts +10 -0
  298. package/lib/src/types/model.d.ts +263 -0
  299. package/lib/src/types/parser.d.ts +57 -0
  300. package/lib/src/types/range.d.ts +12 -0
  301. package/lib/src/types/yjs.d.ts +54 -0
  302. package/lib/src/util/EventEmitter.d.ts +10 -0
  303. package/lib/src/util/__tests__/EventEmitter.test.d.ts +1 -0
  304. package/lib/src/util/__tests__/assert.test.d.ts +1 -0
  305. package/lib/src/util/__tests__/classnames.test.d.ts +1 -0
  306. package/lib/src/util/__tests__/color.test.d.ts +1 -0
  307. package/lib/src/util/__tests__/convert.test.d.ts +1 -0
  308. package/lib/src/util/__tests__/copy.test.d.ts +1 -0
  309. package/lib/src/util/__tests__/debug.test.d.ts +1 -0
  310. package/lib/src/util/__tests__/deepEqual.test.d.ts +1 -0
  311. package/lib/src/util/__tests__/get.test.d.ts +1 -0
  312. package/lib/src/util/__tests__/image.test.d.ts +1 -0
  313. package/lib/src/util/__tests__/isEmpty.test.d.ts +1 -0
  314. package/lib/src/util/__tests__/lodash.test.d.ts +1 -0
  315. package/lib/src/util/__tests__/range.test.d.ts +1 -0
  316. package/lib/src/util/__tests__/reference.test.d.ts +1 -0
  317. package/lib/src/util/__tests__/saveAs.test.d.ts +1 -0
  318. package/lib/src/util/__tests__/split.test.d.ts +1 -0
  319. package/lib/src/util/__tests__/style.test.d.ts +1 -0
  320. package/lib/src/util/__tests__/util.test.d.ts +1 -0
  321. package/lib/src/util/assert.d.ts +1 -0
  322. package/lib/src/util/classnames.d.ts +1 -0
  323. package/lib/src/util/color.d.ts +2 -0
  324. package/lib/src/util/constant.d.ts +51 -0
  325. package/lib/src/util/convert.d.ts +3 -0
  326. package/lib/src/util/copy.d.ts +10 -0
  327. package/lib/src/util/debug.d.ts +14 -0
  328. package/lib/src/util/dpr.d.ts +3 -0
  329. package/lib/src/util/event.d.ts +2 -0
  330. package/lib/src/util/font.d.ts +3 -0
  331. package/lib/src/util/image.d.ts +20 -0
  332. package/lib/src/util/index.d.ts +19 -0
  333. package/lib/src/util/lodash.d.ts +9 -0
  334. package/lib/src/util/range.d.ts +18 -0
  335. package/lib/src/util/reference.d.ts +11 -0
  336. package/lib/src/util/saveAs.d.ts +1 -0
  337. package/lib/src/util/split.d.ts +1 -0
  338. package/lib/src/util/style.d.ts +13 -0
  339. package/lib/src/util/util.d.ts +22 -0
  340. package/lib/src/worker.d.ts +3 -0
  341. package/lib/style.css +1 -0
  342. package/lib/worker-DpzVx228.js +12 -0
  343. package/lib/worker-DpzVx228.js.map +1 -0
  344. package/lib/worker-J2oMRUdY.mjs +4327 -0
  345. package/lib/worker-J2oMRUdY.mjs.map +1 -0
  346. package/lib/worker.js +2 -0
  347. package/lib/worker.js.map +1 -0
  348. package/lib/worker.mjs +6 -0
  349. package/lib/worker.mjs.map +1 -0
  350. package/package.json +100 -0
@@ -0,0 +1,4327 @@
1
+ var pr = Object.defineProperty;
2
+ var wr = (e, t, r) => t in e ? pr(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;
3
+ var _ = (e, t, r) => wr(e, typeof t != "symbol" ? t + "" : t, r);
4
+ var ps = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
5
+ function Rr(e) {
6
+ return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
7
+ }
8
+ function ws(e) {
9
+ if (e.__esModule) return e;
10
+ var t = e.default;
11
+ if (typeof t == "function") {
12
+ var r = function n() {
13
+ return this instanceof n ? Reflect.construct(t, arguments, this.constructor) : t.apply(this, arguments);
14
+ };
15
+ r.prototype = t.prototype;
16
+ } else r = {};
17
+ return Object.defineProperty(r, "__esModule", { value: !0 }), Object.keys(e).forEach(function(n) {
18
+ var s = Object.getOwnPropertyDescriptor(e, n);
19
+ Object.defineProperty(r, n, s.get ? s : {
20
+ enumerable: !0,
21
+ get: function() {
22
+ return e[n];
23
+ }
24
+ });
25
+ }), r;
26
+ }
27
+ var $t = /* @__PURE__ */ ((e) => (e[e.TOP = 0] = "TOP", e[e.MIDDLE = 1] = "MIDDLE", e[e.BOTTOM = 2] = "BOTTOM", e))($t || {}), yt = /* @__PURE__ */ ((e) => (e[e.LEFT = 0] = "LEFT", e[e.CENTER = 1] = "CENTER", e[e.RIGHT = 2] = "RIGHT", e))(yt || {}), Mt = /* @__PURE__ */ ((e) => (e[e.NONE = 0] = "NONE", e[e.SINGLE = 1] = "SINGLE", e[e.DOUBLE = 2] = "DOUBLE", e))(Mt || {}), Sr = /* @__PURE__ */ ((e) => (e[e.MERGE_CENTER = 0] = "MERGE_CENTER", e[e.MERGE_CELL = 1] = "MERGE_CELL", e[e.MERGE_CONTENT = 2] = "MERGE_CONTENT", e))(Sr || {}), Mr = /* @__PURE__ */ ((e) => (e.MODEL = "model", e.SKIP_UPDATE = "skip-update", e.SKIP_UNDO_REDO = "skip-undo-redo", e.SKIP_UNDO_REDO_UPDATE = "skip-undo-redo-update", e))(Mr || {}), p = /* @__PURE__ */ ((e) => (e[e.EQUAL = 0] = "EQUAL", e[e.NOT_EQUAL = 1] = "NOT_EQUAL", e[e.PLUS = 2] = "PLUS", e[e.MINUS = 3] = "MINUS", e[e.STAR = 4] = "STAR", e[e.SLASH = 5] = "SLASH", e[e.EXPONENT = 6] = "EXPONENT", e[e.GREATER = 7] = "GREATER", e[e.GREATER_EQUAL = 8] = "GREATER_EQUAL", e[e.CONCATENATE = 9] = "CONCATENATE", e[e.COLON = 10] = "COLON", e[e.COMMA = 11] = "COMMA", e[e.EMPTY_CHAR = 12] = "EMPTY_CHAR", e[e.PERCENT = 13] = "PERCENT", e[e.LESS = 14] = "LESS", e[e.LESS_EQUAL = 15] = "LESS_EQUAL", e[e.STRING = 16] = "STRING", e[e.NUMBER = 17] = "NUMBER", e[e.BOOL = 18] = "BOOL", e[e.ERROR = 19] = "ERROR", e[e.ERROR_REF = 20] = "ERROR_REF", e[e.LEFT_BRACKET = 21] = "LEFT_BRACKET", e[e.RIGHT_BRACKET = 22] = "RIGHT_BRACKET", e[e.lEFT_BRACE = 23] = "lEFT_BRACE", e[e.RIGHT_BRACE = 24] = "RIGHT_BRACE", e[e.SEMICOLON = 25] = "SEMICOLON", e[e.EXCLAMATION = 26] = "EXCLAMATION", e[e.R1C1 = 27] = "R1C1", e[e.SHEET_NAME = 28] = "SHEET_NAME", e[e.CELL = 29] = "CELL", e[e.COLUMN = 30] = "COLUMN", e[e.ROW = 31] = "ROW", e[e.DEFINED_NAME = 32] = "DEFINED_NAME", e[e.EXCEL_FUNCTION = 33] = "EXCEL_FUNCTION", e[e.REF_FUNCTION = 34] = "REF_FUNCTION", e[e.REF_FUNCTION_COND = 35] = "REF_FUNCTION_COND", e[e.EOF = 36] = "EOF", e))(p || {});
28
+ const vt = 12, Or = "sans-serif", mr = "Sheet", ee = 22, re = 76, Rs = ee, Ss = re / 2, Ie = 0, Ms = 10, ne = "&#10;", Os = `
29
+ `, ms = ",", Xe = 16384, ze = 1048576, Ns = 200, Is = 200, Ts = 30, Ds = -999, Nr = 16, bs = "__sheet_item_", Ke = "=", Ot = "_", Ls = 35, fe = 256, Te = 9, _s = "__FORMULA_EDITOR_ROLE__", Ir = "184858c4-be37-41b5-af82-52689004e605", Vt = "General", Tr = "@", Ye = /* @__PURE__ */ new Set([
30
+ "#GETTING_DATA",
31
+ "#DIV/0!",
32
+ "#NULL!",
33
+ "#NUM!",
34
+ "#REF!",
35
+ "#VALUE!",
36
+ "#N/A",
37
+ "#NAME?"
38
+ ]), k = 1, je = {
39
+ thin: k,
40
+ hair: k,
41
+ dotted: k,
42
+ dashed: k,
43
+ dashDot: k,
44
+ dashDotDot: k,
45
+ double: k,
46
+ medium: k * 2,
47
+ mediumDashed: k * 2,
48
+ mediumDashDot: k * 2,
49
+ mediumDashDotDot: k * 2,
50
+ thick: k * 4
51
+ }, xs = [
52
+ "#35322B",
53
+ "#505050",
54
+ "#606060",
55
+ "#6F6F6F",
56
+ "#8B8B8B",
57
+ "#B2B2B2",
58
+ "#CCCCCC",
59
+ "#E5E5E5",
60
+ "#F5F5F5",
61
+ "#FFFFFF",
62
+ "#9D0000",
63
+ "#B20000",
64
+ "#CD0F0F",
65
+ "#E30909",
66
+ "#F30B0B",
67
+ "#FE4B4B",
68
+ "#FA7979",
69
+ "#FB9D9D",
70
+ "#FDCECE",
71
+ "#FEE7E7",
72
+ "#B24000",
73
+ "#CC4F10",
74
+ "#DF5D00",
75
+ "#F96800",
76
+ "#FB8937",
77
+ "#FF8C51",
78
+ "#FCA669",
79
+ "#FDC49B",
80
+ "#FEE1CD",
81
+ "#FEF0E6",
82
+ "#B19401",
83
+ "#C5A300",
84
+ "#D8B300",
85
+ "#EBC301",
86
+ "#F9D700",
87
+ "#FBE137",
88
+ "#FCE869",
89
+ "#FDF09B",
90
+ "#FEF7CD",
91
+ "#FEFBE6",
92
+ "#58770A",
93
+ "#688C0D",
94
+ "#7AA017",
95
+ "#8BBB11",
96
+ "#A4DC16",
97
+ "#BEEE44",
98
+ "#CEF273",
99
+ "#DEF6A2",
100
+ "#EFFBD0",
101
+ "#F7FDE8",
102
+ "#007676",
103
+ "#008A8A",
104
+ "#009E9E",
105
+ "#00BBBB",
106
+ "#1CD8D8",
107
+ "#2AEAEA",
108
+ "#76EFEF",
109
+ "#A3F5F5",
110
+ "#D1FAFA",
111
+ "#E8FCFC",
112
+ "#001F9C",
113
+ "#0025B7",
114
+ "#012BD2",
115
+ "#133DE3",
116
+ "#2F55EB",
117
+ "#4567ED",
118
+ "#738DF2",
119
+ "#A2B3F6",
120
+ "#D0D9FB",
121
+ "#E8ECFD",
122
+ "#3F0198",
123
+ "#510EB0",
124
+ "#6721CB",
125
+ "#7735D4",
126
+ "#894EDE",
127
+ "#9E6DE3",
128
+ "#AA82E3",
129
+ "#C7ABED",
130
+ "#E3D5F6",
131
+ "#F1EAFA",
132
+ "#8F0550",
133
+ "#A1095C",
134
+ "#C1026B",
135
+ "#D4157E",
136
+ "#E7258F",
137
+ "#F248A6",
138
+ "#F273B9",
139
+ "#F6A2D0",
140
+ "#FBD0E8",
141
+ "#FDE8F3"
142
+ ], vs = "#TEXT", Dr = /^[$]?[A-Za-z]{1,3}[$]?[1-9][0-9]*$/, br = /^[$]?[A-Za-z]{1,3}$/, Lr = /^\$[1-9][0-9]*$/, _r = /^[a-zA-Z_][a-zA-Z0-9_.?]*$/, xr = /* @__PURE__ */ new Set([
143
+ "ABS",
144
+ "ACCRINT",
145
+ "ACCRINTM",
146
+ "ACOS",
147
+ "ACOSH",
148
+ "ACOT",
149
+ "ACOTH",
150
+ "ADDRESS",
151
+ "AGGREGATE",
152
+ "AMORDEGRC",
153
+ "AMORLINC",
154
+ "AND",
155
+ "ARABIC",
156
+ "AREAS",
157
+ "ARRAYTOTEXT",
158
+ "ASC",
159
+ "ASIN",
160
+ "ASINH",
161
+ "ATAN",
162
+ "ATAN2",
163
+ "ATANH",
164
+ "AVEDEV",
165
+ "AVERAGE",
166
+ "AVERAGEA",
167
+ "AVERAGEIF",
168
+ "AVERAGEIFS",
169
+ "BAHTTEXT",
170
+ "BASE",
171
+ "BESSELI",
172
+ "BESSELJ",
173
+ "BESSELK",
174
+ "BESSELY",
175
+ "BETA.DIST",
176
+ "BETA.INV",
177
+ "BETADIST",
178
+ "BETAINV",
179
+ "BIN2DEC",
180
+ "BIN2HEX",
181
+ "BIN2OCT",
182
+ "BINOM.DIST",
183
+ "BINOM.DIST.RANGE",
184
+ "BINOM.INV",
185
+ "BINOMDIST",
186
+ "BITAND",
187
+ "BITLSHIFT",
188
+ "BITOR",
189
+ "BITRSHIFT",
190
+ "BITXOR",
191
+ "CALL",
192
+ "CEILING",
193
+ "CEILING.MATH",
194
+ "CEILING.PRECISE",
195
+ "CELL",
196
+ "CHAR",
197
+ "CHIDIST",
198
+ "CHIINV",
199
+ "CHISQ.DIST",
200
+ "CHISQ.DIST.RT",
201
+ "CHISQ.INV",
202
+ "CHISQ.INV.RT",
203
+ "CHISQ.TEST",
204
+ "CHITEST",
205
+ "CLEAN",
206
+ "CODE",
207
+ "COLUMN",
208
+ "COLUMNS",
209
+ "COMBIN",
210
+ "COMBINA",
211
+ "COMPLEX",
212
+ "CONCAT",
213
+ "CONCATENATE",
214
+ "CONFIDENCE",
215
+ "CONFIDENCE.NORM",
216
+ "CONFIDENCE.T",
217
+ "CONVERT",
218
+ "CORREL",
219
+ "COS",
220
+ "COSH",
221
+ "COT",
222
+ "COTH",
223
+ "COUNT",
224
+ "COUNTA",
225
+ "COUNTBLANK",
226
+ "COUNTIF",
227
+ "COUNTIFS",
228
+ "COUPDAYBS",
229
+ "COUPDAYS",
230
+ "COUPDAYSNC",
231
+ "COUPNCD",
232
+ "COUPNUM",
233
+ "COUPPCD",
234
+ "COVAR",
235
+ "COVARIANCE.P",
236
+ "COVARIANCE.S",
237
+ "CRITBINOM",
238
+ "CSC",
239
+ "CSCH",
240
+ "CUBEKPIMEMBER",
241
+ "CUBEMEMBER",
242
+ "CUBEMEMBERPROPERTY",
243
+ "CUBERANKEDMEMBER",
244
+ "CUBESET",
245
+ "CUBESETCOUNT",
246
+ "CUBEVALUE",
247
+ "CUMIPMT",
248
+ "CUMPRINC",
249
+ "DATE",
250
+ "DATEDIF",
251
+ "DATEVALUE",
252
+ "DAVERAGE",
253
+ "DAY",
254
+ "DAYS",
255
+ "DAYS360",
256
+ "DB",
257
+ "DBCS",
258
+ "DCOUNT",
259
+ "DCOUNTA",
260
+ "DDB",
261
+ "DEC2BIN",
262
+ "DEC2HEX",
263
+ "DEC2OCT",
264
+ "DECIMAL",
265
+ "DEGREES",
266
+ "DELTA",
267
+ "DEVSQ",
268
+ "DGET",
269
+ "DISC",
270
+ "DMAX",
271
+ "DMIN",
272
+ "DOLLAR",
273
+ "DOLLARDE",
274
+ "DOLLARFR",
275
+ "DPRODUCT",
276
+ "DSTDEV",
277
+ "DSTDEVP",
278
+ "DSUM",
279
+ "DURATION",
280
+ "DVAR",
281
+ "DVARP",
282
+ "EDATE",
283
+ "EFFECT",
284
+ "ENCODEURL",
285
+ "EOMONTH",
286
+ "ERF",
287
+ "ERF.PRECISE",
288
+ "ERFC",
289
+ "ERFC.PRECISE",
290
+ "ERROR.TYPE",
291
+ "EUROCONVERT",
292
+ "EVEN",
293
+ "EXACT",
294
+ "EXP",
295
+ "EXPON.DIST",
296
+ "EXPONDIST",
297
+ "F.DIST",
298
+ "F.DIST.RT",
299
+ "F.INV",
300
+ "F.INV.RT",
301
+ "F.TEST",
302
+ "FACT",
303
+ "FACTDOUBLE",
304
+ "FALSE",
305
+ "FDIST",
306
+ "FILTER",
307
+ "FILTERXML",
308
+ "FIND",
309
+ "FINDB",
310
+ "FINV",
311
+ "FISHER",
312
+ "FISHERINV",
313
+ "FIXED",
314
+ "FLOOR",
315
+ "FLOOR.MATH",
316
+ "FLOOR.PRECISE",
317
+ "FORECAST",
318
+ "FORECAST.ETS",
319
+ "FORECAST.ETS.CONFINT",
320
+ "FORECAST.ETS.SEASONALITY",
321
+ "FORECAST.ETS.STAT",
322
+ "FORECAST.LINEAR",
323
+ "FORMULATEXT",
324
+ "FREQUENCY",
325
+ "FTEST",
326
+ "FV",
327
+ "FVSCHEDULE",
328
+ "GAMMA",
329
+ "GAMMA.DIST",
330
+ "GAMMA.INV",
331
+ "GAMMADIST",
332
+ "GAMMAINV",
333
+ "GAMMALN",
334
+ "GAMMALN.PRECISE",
335
+ "GAUSS",
336
+ "GCD",
337
+ "GEOMEAN",
338
+ "GESTEP",
339
+ "GETPIVOTDATA",
340
+ "GROWTH",
341
+ "HARMEAN",
342
+ "HEX2BIN",
343
+ "HEX2DEC",
344
+ "HEX2OCT",
345
+ "HLOOKUP",
346
+ "HOUR",
347
+ "HYPERLINK",
348
+ "HYPGEOM.DIST",
349
+ "HYPGEOMDIST",
350
+ "IFERROR",
351
+ "IFNA",
352
+ "IFS",
353
+ "IMABS",
354
+ "IMAGINARY",
355
+ "IMARGUMENT",
356
+ "IMCONJUGATE",
357
+ "IMCOS",
358
+ "IMCOSH",
359
+ "IMCOT",
360
+ "IMCSC",
361
+ "IMCSCH",
362
+ "IMDIV",
363
+ "IMEXP",
364
+ "IMLN",
365
+ "IMLOG10",
366
+ "IMLOG2",
367
+ "IMPOWER",
368
+ "IMPRODUCT",
369
+ "IMREAL",
370
+ "IMSEC",
371
+ "IMSECH",
372
+ "IMSIN",
373
+ "IMSINH",
374
+ "IMSQRT",
375
+ "IMSUB",
376
+ "IMSUM",
377
+ "IMTAN",
378
+ "INFO",
379
+ "INT",
380
+ "INTERCEPT",
381
+ "INTRATE",
382
+ "IPMT",
383
+ "IRR",
384
+ "ISBLANK",
385
+ "ISERR",
386
+ "ISERROR",
387
+ "ISEVEN",
388
+ "ISFORMULA",
389
+ "ISLOGICAL",
390
+ "ISNA",
391
+ "ISNONTEXT",
392
+ "ISNUMBER",
393
+ "ISO.CEILING",
394
+ "ISODD",
395
+ "ISOWEEKNUM",
396
+ "ISPMT",
397
+ "ISREF",
398
+ "ISTEXT",
399
+ "JIS",
400
+ "KURT",
401
+ "LARGE",
402
+ "LCM",
403
+ "LEFT",
404
+ "LEFTB",
405
+ "LEN",
406
+ "LENB",
407
+ "LET",
408
+ "LINEST",
409
+ "LN",
410
+ "LOG",
411
+ "LOG10",
412
+ "LOGEST",
413
+ "LOGINV",
414
+ "LOGNORM.DIST",
415
+ "LOGNORM.INV",
416
+ "LOGNORMDIST",
417
+ "LOOKUP",
418
+ "LOWER",
419
+ "MATCH",
420
+ "MAX",
421
+ "MAXA",
422
+ "MAXIFS",
423
+ "MDETERM",
424
+ "MDURATION",
425
+ "MEDIAN",
426
+ "MID",
427
+ "MIDB",
428
+ "MIN",
429
+ "MINA",
430
+ "MINIFS",
431
+ "MINUTE",
432
+ "MINVERSE",
433
+ "MIRR",
434
+ "MMULT",
435
+ "MOD",
436
+ "MODE",
437
+ "MODE.MULT",
438
+ "MODE.SNGL",
439
+ "MONTH",
440
+ "MROUND",
441
+ "MULTINOMIAL",
442
+ "MUNIT",
443
+ "N",
444
+ "NA",
445
+ "NEGBINOM.DIST",
446
+ "NEGBINOMDIST",
447
+ "NETWORKDAYS",
448
+ "NETWORKDAYS.INTL",
449
+ "NOMINAL",
450
+ "NORM.DIST",
451
+ "NORM.INV",
452
+ "NORM.S.DIST",
453
+ "NORM.S.INV",
454
+ "NORMDIST",
455
+ "NORMINV",
456
+ "NORMSDIST",
457
+ "NORMSINV",
458
+ "NOT",
459
+ "NOW",
460
+ "NPER",
461
+ "NPV",
462
+ "NUMBERVALUE",
463
+ "OCT2BIN",
464
+ "OCT2DEC",
465
+ "OCT2HEX",
466
+ "ODD",
467
+ "ODDFPRICE",
468
+ "ODDFYIELD",
469
+ "ODDLPRICE",
470
+ "ODDLYIELD",
471
+ "OR",
472
+ "PDURATION",
473
+ "PEARSON",
474
+ "PERCENTILE",
475
+ "PERCENTILE.EXC",
476
+ "PERCENTILE.INC",
477
+ "PERCENTRANK",
478
+ "PERCENTRANK.EXC",
479
+ "PERCENTRANK.INC",
480
+ "PERMUT",
481
+ "PERMUTATIONA",
482
+ "PHI",
483
+ "PHONETIC",
484
+ "PI",
485
+ "PMT",
486
+ "POISSON",
487
+ "POISSON.DIST",
488
+ "POWER",
489
+ "PPMT",
490
+ "PRICE",
491
+ "PRICEDISC",
492
+ "PRICEMAT",
493
+ "PROB",
494
+ "PRODUCT",
495
+ "PROPER",
496
+ "PV",
497
+ "QUARTILE",
498
+ "QUARTILE.EXC",
499
+ "QUARTILE.INC",
500
+ "QUOTIENT",
501
+ "RADIANS",
502
+ "RAND",
503
+ "RANDARRAY",
504
+ "RANDBETWEEN",
505
+ "RANK",
506
+ "RANK.AVG",
507
+ "RANK.EQ",
508
+ "RATE",
509
+ "RECEIVED",
510
+ "REGISTER.ID",
511
+ "REPLACE",
512
+ "REPLACEB",
513
+ "REPT",
514
+ "RIGHT",
515
+ "RIGHTB",
516
+ "ROMAN",
517
+ "ROUND",
518
+ "ROUNDDOWN",
519
+ "ROUNDUP",
520
+ "ROW",
521
+ "ROWS",
522
+ "RRI",
523
+ "RSQ",
524
+ "RTD",
525
+ "SEARCH",
526
+ "SEARCHB",
527
+ "SEC",
528
+ "SECH",
529
+ "SECOND",
530
+ "SEQUENCE",
531
+ "SERIESSUM",
532
+ "SHEET",
533
+ "SHEETS",
534
+ "SIGN",
535
+ "SIN",
536
+ "SINH",
537
+ "SKEW",
538
+ "SKEW.P",
539
+ "SLN",
540
+ "SLOPE",
541
+ "SMALL",
542
+ "SORT",
543
+ "SORTBY",
544
+ "SQRT",
545
+ "SQRTPI",
546
+ "STANDARDIZE",
547
+ "STDEV",
548
+ "STDEV.P",
549
+ "STDEV.S",
550
+ "STDEVA",
551
+ "STDEVP",
552
+ "STDEVPA",
553
+ "STEYX",
554
+ "SUBSTITUTE",
555
+ "SUBTOTAL",
556
+ "SUM",
557
+ "SUMIF",
558
+ "SUMIFS",
559
+ "SUMPRODUCT",
560
+ "SUMSQ",
561
+ "SUMX2MY2",
562
+ "SUMX2PY2",
563
+ "SUMXMY2",
564
+ "SWITCH",
565
+ "SYD",
566
+ "T",
567
+ "T.DIST",
568
+ "T.DIST.2T",
569
+ "T.DIST.RT",
570
+ "T.INV",
571
+ "T.INV.2T",
572
+ "T.TEST",
573
+ "TAN",
574
+ "TANH",
575
+ "TBILLEQ",
576
+ "TBILLPRICE",
577
+ "TBILLYIELD",
578
+ "TDIST",
579
+ "TEXT",
580
+ "TEXTJOIN",
581
+ "TIME",
582
+ "TIMEVALUE",
583
+ "TINV",
584
+ "TODAY",
585
+ "TRANSPOSE",
586
+ "TREND",
587
+ "TRIM",
588
+ "TRIMMEAN",
589
+ "TRUE",
590
+ "TRUNC",
591
+ "TTEST",
592
+ "TYPE",
593
+ "UNICHAR",
594
+ "UNICODE",
595
+ "UNIQUE",
596
+ "UPPER",
597
+ "VALUE",
598
+ "VALUETOTEXT",
599
+ "VAR",
600
+ "VAR.P",
601
+ "VAR.S",
602
+ "VARA",
603
+ "VARP",
604
+ "VARPA",
605
+ "VDB",
606
+ "VLOOKUP",
607
+ "WEBSERVICE",
608
+ "WEEKDAY",
609
+ "WEEKNUM",
610
+ "WEIBULL",
611
+ "WEIBULL.DIST",
612
+ "WORKDAY",
613
+ "WORKDAY.INTL",
614
+ "XIRR",
615
+ "XLOOKUP",
616
+ "XMATCH",
617
+ "XNPV",
618
+ "XOR",
619
+ "YEAR",
620
+ "YEARFRAC",
621
+ "YIELD",
622
+ "YIELDDISC",
623
+ "YIELDMAT",
624
+ "Z.TEST",
625
+ "ZTEST"
626
+ ]), Fs = [
627
+ {
628
+ value: "line",
629
+ label: "line-chart"
630
+ },
631
+ {
632
+ value: "bar",
633
+ label: "bar-chart"
634
+ },
635
+ {
636
+ value: "pie",
637
+ label: "pie-chart"
638
+ },
639
+ {
640
+ value: "scatter",
641
+ label: "scatter-chart"
642
+ },
643
+ {
644
+ value: "radar",
645
+ label: "radar-chart"
646
+ },
647
+ {
648
+ value: "polarArea",
649
+ label: "polar-area-chart"
650
+ }
651
+ ], vr = [
652
+ { formatCode: Vt, id: 0 },
653
+ { formatCode: "0", id: 1 },
654
+ { formatCode: "0.00", id: 2 },
655
+ { formatCode: "#,##0", id: 3 },
656
+ { formatCode: "#,##0.00", id: 4 },
657
+ { formatCode: '"$"#,##0.00_);[Red]("$"#,##0.00)', id: 8 },
658
+ { formatCode: "0%", id: 9 },
659
+ { formatCode: "0.00%", id: 10 },
660
+ { formatCode: "0.00E+00", id: 11 },
661
+ { formatCode: "# ?/?", id: 12 },
662
+ { formatCode: "# ??/??", id: 13 },
663
+ { formatCode: "mm-dd-yy", id: 14 },
664
+ { formatCode: "d-mmm-yy", id: 15 },
665
+ { formatCode: "d-mmm", id: 16 },
666
+ { formatCode: "mmm-yy", id: 17 },
667
+ { formatCode: "h:mm AM/PM", id: 18 },
668
+ { formatCode: "h:mm:ss AM/PM", id: 19 },
669
+ { formatCode: "h:mm", id: 20 },
670
+ { formatCode: "h:mm:ss", id: 21 },
671
+ { formatCode: "m/d/yy h:mm", id: 22 },
672
+ {
673
+ formatCode: 'yyyy"年"m"月"',
674
+ id: 27
675
+ },
676
+ { formatCode: "#,##0 ;(#,##0)", id: 37 },
677
+ { formatCode: "#,##0 ;[Red](#,##0)", id: 38 },
678
+ { formatCode: "#,##0.00 ;(#,##0.00)", id: 39 },
679
+ { formatCode: "#,##0.00 ;[Red](#,##0.00)", id: 40 },
680
+ {
681
+ formatCode: '_("$"* #,##0.00_);_("$"* (#,##0.00);_("$"* "-"??_);_(@_)',
682
+ id: 44
683
+ },
684
+ { formatCode: "mm:ss", id: 45 },
685
+ { formatCode: "[h]:mm:ss", id: 46 },
686
+ { formatCode: "mmss.0", id: 47 },
687
+ { formatCode: "##0.0E+0", id: 48 },
688
+ { formatCode: Tr, id: 49 },
689
+ {
690
+ formatCode: '上午/下午 h"时"mm"分"ss"秒"',
691
+ id: 56
692
+ }
693
+ ], Us = (e) => vr.find((t) => t.id === e).formatCode;
694
+ function ks(e, t) {
695
+ let r = !1, n;
696
+ return function(...s) {
697
+ r ? n = s : (e.apply(this, s), setTimeout(() => {
698
+ n && e.apply(this, n), r = !1;
699
+ }, t));
700
+ };
701
+ }
702
+ function Ps(e, t, r) {
703
+ const n = e == null ? void 0 : t.replace(/\[/g, ".").replace(/\]/g, "").split(".").reduce((s, i) => s == null ? s : s[i], e);
704
+ return n === void 0 ? r : n;
705
+ }
706
+ function Bs(e) {
707
+ const t = e || {};
708
+ return [Object, Array].includes(t.constructor) && !Object.entries(t).length;
709
+ }
710
+ function Fr(e, t) {
711
+ if (e === t)
712
+ return !0;
713
+ if (e && typeof e == "object" && t && typeof t == "object") {
714
+ if (Object.keys(e).length !== Object.keys(t).length)
715
+ return !1;
716
+ const r = Object.keys(e), n = Object.keys(t);
717
+ for (let s = 0; s < r.length; s++) {
718
+ const i = r[s], h = n[s];
719
+ if (i !== h || !Fr(e[i], t[h]))
720
+ return !1;
721
+ }
722
+ return !0;
723
+ }
724
+ return !1;
725
+ }
726
+ function Hs() {
727
+ }
728
+ function Ur(e) {
729
+ const t = e.toLowerCase().replace(/[-_\s.]+(.)?/g, (r, n) => n ? n.toUpperCase() : "");
730
+ return t.substring(0, 1).toLowerCase() + t.substring(1);
731
+ }
732
+ function $s(e, t) {
733
+ const r = { ...e };
734
+ return t.forEach((n) => {
735
+ delete r[n];
736
+ }), r;
737
+ }
738
+ function pt(e) {
739
+ if (typeof e == "boolean")
740
+ return [!0, Number(e)];
741
+ if (typeof e == "number" && !isNaN(e))
742
+ return [!0, e];
743
+ if (typeof e != "string")
744
+ return [!1, 0];
745
+ if (e.length > 12)
746
+ return [!1, 0];
747
+ const t = Number(e);
748
+ return isNaN(t) ? [!1, 0] : [!0, t];
749
+ }
750
+ function kr(e = []) {
751
+ const t = e.map((r) => pt(r)[1]).filter((r) => !isNaN(r));
752
+ return Math.max(Math.max(...t), 0);
753
+ }
754
+ function Gs(e = []) {
755
+ const t = Math.ceil(kr(e.map((r) => r.sheetId))) + 1;
756
+ return {
757
+ name: `${mr}${t}`,
758
+ sheetId: String(t),
759
+ sort: t
760
+ };
761
+ }
762
+ function ys(e) {
763
+ if (typeof e == "string") {
764
+ const n = e.toUpperCase();
765
+ if (["TRUE", "FALSE"].includes(n))
766
+ return n === "TRUE";
767
+ }
768
+ if (typeof e == "boolean")
769
+ return e;
770
+ if (e === "")
771
+ return "";
772
+ const [t, r] = pt(e);
773
+ return t ? r : e;
774
+ }
775
+ function Vs(e) {
776
+ const [t, r] = e.split(Ot), n = parseInt(t, 10), s = parseInt(r, 10);
777
+ return {
778
+ row: isNaN(n) ? -1 : n,
779
+ col: isNaN(s) ? -1 : s
780
+ };
781
+ }
782
+ function Qe(e, t, r) {
783
+ return `${e}${Ot}${t}${Ot}${r}`;
784
+ }
785
+ function Pr(e) {
786
+ const [t, r, n] = e.split(Ot), s = parseInt(r, 10), i = parseInt(n, 10), h = {
787
+ row: isNaN(s) ? -1 : s,
788
+ col: isNaN(i) ? -1 : i,
789
+ sheetId: t
790
+ };
791
+ return h.row < 0 || h.col < 0 || !t ? null : h;
792
+ }
793
+ function De(e, t) {
794
+ return `${e}${Ot}${t}`;
795
+ }
796
+ function Ws(e) {
797
+ const [t, r] = e.split(Ot), n = parseInt(r, 10);
798
+ return {
799
+ sheetId: t,
800
+ rowOrCol: isNaN(n) ? -1 : n
801
+ };
802
+ }
803
+ function Xs() {
804
+ const e = [
805
+ /Android/i,
806
+ /webOS/i,
807
+ /iPhone/i,
808
+ /iPad/i,
809
+ /iPod/i,
810
+ /BlackBerry/i,
811
+ /Windows Phone/i
812
+ ], t = navigator.userAgent;
813
+ return e.some((r) => t.match(r));
814
+ }
815
+ const zs = [
816
+ "autoFilter",
817
+ "currentSheetId",
818
+ "customHeight",
819
+ "customWidth",
820
+ "workbook",
821
+ "worksheets",
822
+ "definedNames",
823
+ "drawings",
824
+ "mergeCells",
825
+ "rangeMap",
826
+ "scroll"
827
+ ];
828
+ function Ks(e) {
829
+ return new Promise((t) => setTimeout(t, e));
830
+ }
831
+ function Ys() {
832
+ return process.env.NODE_ENV === "test";
833
+ }
834
+ function js() {
835
+ var e;
836
+ return ((e = navigator == null ? void 0 : navigator.userAgent) == null ? void 0 : e.indexOf("Mac OS X")) >= 0;
837
+ }
838
+ function Br(e) {
839
+ return !!(typeof e == "string" && e && e.startsWith(Ke) && e.length > 1);
840
+ }
841
+ function Hr(e, t) {
842
+ return e && t.includes(ne);
843
+ }
844
+ function Qs() {
845
+ var t, r;
846
+ return (((r = (t = window == null ? void 0 : window.top) == null ? void 0 : t.location) == null ? void 0 : r.hash) || "").slice(1) || window.location.hash.slice(1) || void 0 || Ir;
847
+ }
848
+ function $r() {
849
+ const e = Math.floor(Math.random() * 256).toString(16).padStart(2, "0"), t = Math.floor(Math.random() * 256).toString(16).padStart(2, "0"), r = Math.floor(Math.random() * 256).toString(16).padStart(2, "0");
850
+ return `#${e}${t}${r}`;
851
+ }
852
+ const Zs = [
853
+ 6,
854
+ 8,
855
+ 9,
856
+ 10,
857
+ vt,
858
+ 14,
859
+ 16,
860
+ 18,
861
+ 20,
862
+ 22,
863
+ 24,
864
+ 26,
865
+ 28,
866
+ 36,
867
+ 48,
868
+ 72
869
+ ];
870
+ function Ze(e = "normal", t = "normal", r = vt, n = "") {
871
+ const s = `${e} ${t} ${r}px `, i = [Or];
872
+ return n && i.unshift(n), s + i.join(",");
873
+ }
874
+ function Js(e) {
875
+ let t = "";
876
+ return e.fontColor && (t += `color:${e.fontColor};`), e.fillColor && (t += `background-color:${e.fillColor};`), e.fontSize && (t += `font-size:${e.fontSize}pt;`), e.fontFamily && (t += `font-family:${e.fontFamily};`), e.isItalic && (t += "font-style:italic;"), e.isBold && (t += "font-weight:700;"), e.isWrapText && (t += "white-space:normal;"), e.underline && e.isStrike ? t += "text-decoration-line:underline line-through;" : e.underline ? t += "text-decoration-line:underline;" : e.isStrike && (t += "text-decoration-line:line-through;"), e.underline === Mt.DOUBLE && (t += "text-decoration-style: double;"), t;
877
+ }
878
+ function Qt(e) {
879
+ const {
880
+ color: t,
881
+ backgroundColor: r,
882
+ fontSize: n,
883
+ fontFamily: s,
884
+ fontStyle: i,
885
+ fontWeight: h,
886
+ whiteSpace: g,
887
+ textDecorationLine: A,
888
+ textDecorationStyle: d
889
+ } = e, E = {};
890
+ if (t && (E.fontColor = t), r && (E.fillColor = r), n) {
891
+ const m = parseInt(n, 10);
892
+ isNaN(m) || (E.fontSize = m);
893
+ }
894
+ return s && (E.fontFamily = s), i === "italic" && (E.isItalic = !0), h && [700, 800, 900, "bold"].includes(h) && (E.isBold = !0), g && [
895
+ "normal",
896
+ "pre-wrap",
897
+ "pre-line",
898
+ "break-spaces",
899
+ "revert",
900
+ "unset"
901
+ ].includes(g) && (E.isWrapText = !0), A != null && A.includes("underline") && (E.underline = Mt.SINGLE, d === "double" && (E.underline = Mt.DOUBLE)), A != null && A.includes("line-through") && (E.isStrike = !0), E;
902
+ }
903
+ function Gr(e, t, r, n) {
904
+ let s = {};
905
+ const i = n.toLowerCase(), h = e[n] || e[i];
906
+ return h && (s = Qt(h)), e[r] && (s = Object.assign(s, Qt(e[r]))), s = Object.assign(s, Qt(t)), i === "s" || i === "strike" ? s.isStrike = !0 : i === "i" ? s.isItalic = !0 : i === "b" || i === "strong" ? s.isBold = !0 : i === "u" && (s.underline = Mt.SINGLE), s;
907
+ }
908
+ function yr(e) {
909
+ const t = e.replace(/\s+/g, "").replace("<!--", ""), r = /([^{}]+)\s*\{([^}]*)\}/g, n = {};
910
+ let s;
911
+ for (; (s = r.exec(t)) !== null; ) {
912
+ const i = (s[1] || "").trim(), h = (s[2] || "").trim();
913
+ if (!i || !h)
914
+ continue;
915
+ n[i] = {};
916
+ const g = h.split(";");
917
+ for (const A of g) {
918
+ const [d, E] = A.split(":").map((H) => H.trim());
919
+ if (!E || !d)
920
+ continue;
921
+ const m = Ur(d), [N, O] = pt(E), x = N ? O : E;
922
+ n[i][m] = x;
923
+ }
924
+ }
925
+ return n;
926
+ }
927
+ function be(e) {
928
+ const t = parseInt(e, 10);
929
+ return isNaN(t) ? -1 : e.endsWith("pt") ? Math.ceil(t * 96 / 72) : t;
930
+ }
931
+ function qs(e, t = "pt") {
932
+ const r = Math.floor(e * 72 / 96);
933
+ return String(r) + t;
934
+ }
935
+ function ti(e, t = " ") {
936
+ let r;
937
+ e.indexOf(`\r
938
+ `) >= 0 ? r = e.split(`\r
939
+ `) : r = e.split(`
940
+ `);
941
+ const n = r.map((i) => i.trim()).filter((i) => i).map(
942
+ (i) => i.split(t).map((h) => h.trim()).filter((h) => h)
943
+ ), s = [];
944
+ for (const i of n)
945
+ i.length !== 0 && s.push(i);
946
+ return s;
947
+ }
948
+ function ei(e) {
949
+ let t = document.createElement("template");
950
+ t.innerHTML = e;
951
+ const r = t.content, n = {};
952
+ for (const E of r.querySelectorAll("style")) {
953
+ const m = yr(E.textContent || "");
954
+ for (const [N, O] of Object.entries(m))
955
+ n[N] = Object.assign(n[N] || {}, O);
956
+ }
957
+ const s = [], i = [], h = r.querySelectorAll("tr"), g = /* @__PURE__ */ new Map(), A = /* @__PURE__ */ new Map();
958
+ let d = 0;
959
+ for (const E of h) {
960
+ const m = be(E.style.height);
961
+ m > 0 && A.set(d++, m);
962
+ const N = [], O = [];
963
+ let x = 0;
964
+ for (const H of E.children) {
965
+ if (H.tagName !== "TD")
966
+ continue;
967
+ let U = H;
968
+ const W = be(U.style.width);
969
+ W > 0 && !g.has(x) && g.set(x++, W);
970
+ let X = {};
971
+ for (; U.nodeType !== Node.TEXT_NODE; ) {
972
+ const b = Gr(
973
+ n,
974
+ U.style,
975
+ U.className ? `.${U.className}` : "",
976
+ U.tagName
977
+ );
978
+ if (X = Object.assign(X, b), U.firstChild)
979
+ U = U.firstChild;
980
+ else
981
+ break;
982
+ }
983
+ O.push(X), N.push((U.textContent ?? "").trim());
984
+ }
985
+ s.push(N), i.push(O);
986
+ }
987
+ return t = void 0, {
988
+ textList: s,
989
+ styleList: i,
990
+ rowMap: A,
991
+ colMap: g
992
+ };
993
+ }
994
+ let se;
995
+ function Wt(e = typeof devicePixelRatio > "u" ? void 0 : devicePixelRatio) {
996
+ return typeof se == "number" ? se : Math.max(Math.floor(e || 1), 1);
997
+ }
998
+ function G(e) {
999
+ return Math.floor(e * Wt());
1000
+ }
1001
+ function Vr(e) {
1002
+ se = Math.max(Math.floor(e || 1), 1);
1003
+ }
1004
+ function Wr(e) {
1005
+ const t = e.toUpperCase();
1006
+ let r = 0;
1007
+ for (let n = 0; n < t.length; n++)
1008
+ r = t.charCodeAt(n) - 64 + r * 26;
1009
+ return r - 1;
1010
+ }
1011
+ function Je(e) {
1012
+ const t = e + 1;
1013
+ let r = "", n = Math.floor(Math.abs(t)), s;
1014
+ for (; n > 0; )
1015
+ s = (n - 1) % 26, r = String.fromCharCode(65 + s) + r, n = Math.floor((n - s) / 26);
1016
+ return r.toUpperCase();
1017
+ }
1018
+ function Xr(e) {
1019
+ let t = parseInt(e, 10);
1020
+ return isNaN(t) ? t = -1 : t = Math.max(t - 1, -1), t;
1021
+ }
1022
+ function bt(e) {
1023
+ return Lt(e) && _t(e);
1024
+ }
1025
+ function Lt(e) {
1026
+ return e.colCount === 0;
1027
+ }
1028
+ function _t(e) {
1029
+ return e.rowCount === 0;
1030
+ }
1031
+ function ri(e, t) {
1032
+ return e.col === t.col && e.row === t.row && e.colCount === t.colCount && e.rowCount === t.rowCount && e.sheetId === t.sheetId;
1033
+ }
1034
+ function zr(e, t) {
1035
+ if (e.colCount === 0 && t.colCount !== 0 || e.rowCount === 0 && t.rowCount !== 0)
1036
+ return !1;
1037
+ if (t.colCount === 0 && t.row === e.row || t.rowCount === 0 && t.col === e.col)
1038
+ return !0;
1039
+ const { row: r, col: n } = e;
1040
+ return r >= t.row && r < t.row + t.rowCount && n >= t.col && n < t.col + t.colCount;
1041
+ }
1042
+ function ni(e) {
1043
+ return ct.makeRange(e).toIRange();
1044
+ }
1045
+ class ct {
1046
+ constructor(t, r, n, s, i) {
1047
+ _(this, "row", 0);
1048
+ _(this, "col", 0);
1049
+ _(this, "colCount", 0);
1050
+ _(this, "rowCount", 0);
1051
+ _(this, "sheetId", "");
1052
+ this.row = t, this.col = r, this.colCount = s, this.rowCount = n, this.sheetId = i;
1053
+ }
1054
+ static makeRange(t) {
1055
+ return new ct(
1056
+ t.row,
1057
+ t.col,
1058
+ t.rowCount,
1059
+ t.colCount,
1060
+ t.sheetId
1061
+ );
1062
+ }
1063
+ toIRange() {
1064
+ return {
1065
+ row: this.row,
1066
+ col: this.col,
1067
+ rowCount: this.rowCount,
1068
+ colCount: this.colCount,
1069
+ sheetId: this.sheetId
1070
+ };
1071
+ }
1072
+ }
1073
+ function Kr(e, t, r, n) {
1074
+ const { row: s, col: i, rowCount: h, colCount: g } = e;
1075
+ if (bt(e)) {
1076
+ for (let E = 0; E < t; E++)
1077
+ for (let m = 0; m < r; m++)
1078
+ if (n(E, m))
1079
+ return;
1080
+ return;
1081
+ }
1082
+ if (Lt(e)) {
1083
+ for (let E = 0; E < r; E++)
1084
+ if (n(s, E))
1085
+ return;
1086
+ return;
1087
+ }
1088
+ if (_t(e)) {
1089
+ for (let E = 0; E < t; E++)
1090
+ if (n(E, i))
1091
+ return;
1092
+ return;
1093
+ }
1094
+ const A = s + h, d = i + g;
1095
+ for (let E = s; E < A; E++)
1096
+ for (let m = i; m < d; m++)
1097
+ if (n(E, m))
1098
+ return;
1099
+ }
1100
+ const ie = (e) => e >= "a" && e <= "z" || e >= "A" && e <= "Z", dt = (e) => e >= "0" && e <= "9";
1101
+ function qe(e) {
1102
+ return e;
1103
+ }
1104
+ function Le(e, t) {
1105
+ if (!e)
1106
+ return;
1107
+ const r = e.trim();
1108
+ let [n, s = ""] = r.split("!");
1109
+ r.includes("!") || (n = "", s = r), n && n[0] === "'" && n[n.length - 1] === "'" && (n = n.slice(1, -1));
1110
+ let i = 0, h = "", g = "";
1111
+ for (s[i] === "$" && i++; i < s.length && ie(s[i]); )
1112
+ g += s[i++];
1113
+ for (s[i] === "$" && i++; i < s.length && dt(s[i]); )
1114
+ h += s[i++];
1115
+ if (i !== s.length || !h && !g)
1116
+ return;
1117
+ let A = 1, d = 1, E = -1, m = -1;
1118
+ return h === "" ? (A = 0, E = 0) : E = Xr(h), g === "" ? (d = 0, m = 0) : m = Wr(g), E < 0 || m < 0 || m >= Xe || E >= ze ? void 0 : new ct(
1119
+ E,
1120
+ m,
1121
+ A,
1122
+ d,
1123
+ t(n)
1124
+ );
1125
+ }
1126
+ function Yr(e, t = qe) {
1127
+ const [r, n] = e.split(":"), s = Le(r, t);
1128
+ if (!s)
1129
+ return;
1130
+ const i = Le(n, t);
1131
+ return i ? (i.sheetId = s.sheetId, tr(s, i)) : s;
1132
+ }
1133
+ function tr(e, t) {
1134
+ if (e.sheetId !== t.sheetId)
1135
+ return;
1136
+ if (e.row === t.row && e.col === t.col && e.rowCount === t.rowCount && e.colCount === t.colCount)
1137
+ return ct.makeRange(e);
1138
+ if (e.rowCount === 0 && t.rowCount !== 0 || e.rowCount !== 0 && t.rowCount === 0 || e.colCount === 0 && t.colCount !== 0 || e.colCount !== 0 && t.colCount === 0)
1139
+ return;
1140
+ const r = Math.abs(e.row - t.row) + 1, n = Math.abs(e.col - t.col) + 1, s = e.row < t.row ? e.row : t.row, i = e.col < t.col ? e.col : t.col;
1141
+ return new ct(s, i, r, n, e.sheetId);
1142
+ }
1143
+ function _e(e, t, r) {
1144
+ const n = r === "absolute" || r === "mixed", s = r === "absolute";
1145
+ return `${n ? "$" : ""}${Je(t)}${s ? "$" : ""}${e + 1}`;
1146
+ }
1147
+ function si(e, t = "relative", r = qe) {
1148
+ let n = _e(e.row, e.col, t), s = r(e.sheetId);
1149
+ if (s = s ? `${s}!` : "", e.colCount > 1 && e.rowCount > 1) {
1150
+ const i = _e(
1151
+ e.row + e.rowCount - 1,
1152
+ e.col + e.colCount - 1,
1153
+ t
1154
+ );
1155
+ n = `${n}:${i}`;
1156
+ }
1157
+ return s + n;
1158
+ }
1159
+ const ii = /^R(\[-\d+\]|\[\d+\]|\d+)?C(\[-\d+\]|\[\d+\]|\d+)?$/i;
1160
+ function xe(e, t) {
1161
+ let r = -1;
1162
+ if (e.startsWith("[")) {
1163
+ const n = parseInt(e.slice(1, -1), 10);
1164
+ isNaN(n) || (r = t + n);
1165
+ } else {
1166
+ const n = parseInt(e, 10);
1167
+ isNaN(n) || (r = n - 1);
1168
+ }
1169
+ return isNaN(r) ? -1 : r;
1170
+ }
1171
+ function jr(e, t = {
1172
+ row: -1,
1173
+ col: -1,
1174
+ sheetId: ""
1175
+ }) {
1176
+ const r = e.toUpperCase();
1177
+ if (r[0] !== "R")
1178
+ return;
1179
+ const n = r.slice(1).split("C");
1180
+ if (n.length !== 2)
1181
+ return;
1182
+ const [s, i] = n;
1183
+ let h = -1, g = -1;
1184
+ return s ? h = xe(s, t.row) : h = t.row, i ? g = xe(i, t.col) : g = t.col, g >= Xe || h >= ze || h < 0 || g < 0 ? void 0 : new ct(h, g, 1, 1, t.sheetId);
1185
+ }
1186
+ const St = class St {
1187
+ constructor(t) {
1188
+ _(this, "namespace");
1189
+ _(this, "init", () => (this.setColor(), this.log));
1190
+ _(this, "log", (...t) => {
1191
+ if (!this.enable())
1192
+ return;
1193
+ const { namespace: r } = this, n = St.colorMap.get(r), s = [`%c ${r}:`, `color:${n};`, ...t];
1194
+ console.log(...s);
1195
+ });
1196
+ this.namespace = t;
1197
+ }
1198
+ enable() {
1199
+ return window.localStorage.getItem("debug") === "*";
1200
+ }
1201
+ setColor() {
1202
+ St.colorMap.has(this.namespace) || St.colorMap.set(this.namespace, $r());
1203
+ }
1204
+ };
1205
+ _(St, "colorMap", /* @__PURE__ */ new Map());
1206
+ let xt = St;
1207
+ const oi = new xt("model").init(), ai = new xt("react").init(), ci = new xt("collaboration").init();
1208
+ function ve(e) {
1209
+ return e ? typeof Intl > "u" || typeof Intl.Segmenter != "function" ? [...e] : [...new Intl.Segmenter([], { granularity: "word" }).segment(e)].map((n) => n.segment) : [];
1210
+ }
1211
+ /**
1212
+ * @license
1213
+ * Copyright 2019 Google LLC
1214
+ * SPDX-License-Identifier: Apache-2.0
1215
+ */
1216
+ const er = Symbol("Comlink.proxy"), Qr = Symbol("Comlink.endpoint"), Zr = Symbol("Comlink.releaseProxy"), Zt = Symbol("Comlink.finalizer"), Gt = Symbol("Comlink.thrown"), rr = (e) => typeof e == "object" && e !== null || typeof e == "function", Jr = {
1217
+ canHandle: (e) => rr(e) && e[er],
1218
+ serialize(e) {
1219
+ const { port1: t, port2: r } = new MessageChannel();
1220
+ return sr(e, t), [r, [r]];
1221
+ },
1222
+ deserialize(e) {
1223
+ return e.start(), rn(e);
1224
+ }
1225
+ }, qr = {
1226
+ canHandle: (e) => rr(e) && Gt in e,
1227
+ serialize({ value: e }) {
1228
+ let t;
1229
+ return e instanceof Error ? t = {
1230
+ isError: !0,
1231
+ value: {
1232
+ message: e.message,
1233
+ name: e.name,
1234
+ stack: e.stack
1235
+ }
1236
+ } : t = { isError: !1, value: e }, [t, []];
1237
+ },
1238
+ deserialize(e) {
1239
+ throw e.isError ? Object.assign(new Error(e.value.message), e.value) : e.value;
1240
+ }
1241
+ }, nr = /* @__PURE__ */ new Map([
1242
+ ["proxy", Jr],
1243
+ ["throw", qr]
1244
+ ]);
1245
+ function tn(e, t) {
1246
+ for (const r of e)
1247
+ if (t === r || r === "*" || r instanceof RegExp && r.test(t))
1248
+ return !0;
1249
+ return !1;
1250
+ }
1251
+ function sr(e, t = globalThis, r = ["*"]) {
1252
+ t.addEventListener("message", function n(s) {
1253
+ if (!s || !s.data)
1254
+ return;
1255
+ if (!tn(r, s.origin)) {
1256
+ console.warn(`Invalid origin '${s.origin}' for comlink proxy`);
1257
+ return;
1258
+ }
1259
+ const { id: i, type: h, path: g } = Object.assign({ path: [] }, s.data), A = (s.data.argumentList || []).map(At);
1260
+ let d;
1261
+ try {
1262
+ const E = g.slice(0, -1).reduce((N, O) => N[O], e), m = g.reduce((N, O) => N[O], e);
1263
+ switch (h) {
1264
+ case "GET":
1265
+ d = m;
1266
+ break;
1267
+ case "SET":
1268
+ E[g.slice(-1)[0]] = At(s.data.value), d = !0;
1269
+ break;
1270
+ case "APPLY":
1271
+ d = m.apply(E, A);
1272
+ break;
1273
+ case "CONSTRUCT":
1274
+ {
1275
+ const N = new m(...A);
1276
+ d = cn(N);
1277
+ }
1278
+ break;
1279
+ case "ENDPOINT":
1280
+ {
1281
+ const { port1: N, port2: O } = new MessageChannel();
1282
+ sr(e, O), d = an(N, [N]);
1283
+ }
1284
+ break;
1285
+ case "RELEASE":
1286
+ d = void 0;
1287
+ break;
1288
+ default:
1289
+ return;
1290
+ }
1291
+ } catch (E) {
1292
+ d = { value: E, [Gt]: 0 };
1293
+ }
1294
+ Promise.resolve(d).catch((E) => ({ value: E, [Gt]: 0 })).then((E) => {
1295
+ const [m, N] = Kt(E);
1296
+ t.postMessage(Object.assign(Object.assign({}, m), { id: i }), N), h === "RELEASE" && (t.removeEventListener("message", n), ir(t), Zt in e && typeof e[Zt] == "function" && e[Zt]());
1297
+ }).catch((E) => {
1298
+ const [m, N] = Kt({
1299
+ value: new TypeError("Unserializable return value"),
1300
+ [Gt]: 0
1301
+ });
1302
+ t.postMessage(Object.assign(Object.assign({}, m), { id: i }), N);
1303
+ });
1304
+ }), t.start && t.start();
1305
+ }
1306
+ function en(e) {
1307
+ return e.constructor.name === "MessagePort";
1308
+ }
1309
+ function ir(e) {
1310
+ en(e) && e.close();
1311
+ }
1312
+ function rn(e, t) {
1313
+ const r = /* @__PURE__ */ new Map();
1314
+ return e.addEventListener("message", function(s) {
1315
+ const { data: i } = s;
1316
+ if (!i || !i.id)
1317
+ return;
1318
+ const h = r.get(i.id);
1319
+ if (h)
1320
+ try {
1321
+ h(i);
1322
+ } finally {
1323
+ r.delete(i.id);
1324
+ }
1325
+ }), oe(e, r, [], t);
1326
+ }
1327
+ function Bt(e) {
1328
+ if (e)
1329
+ throw new Error("Proxy has been released and is not useable");
1330
+ }
1331
+ function or(e) {
1332
+ return Rt(e, /* @__PURE__ */ new Map(), {
1333
+ type: "RELEASE"
1334
+ }).then(() => {
1335
+ ir(e);
1336
+ });
1337
+ }
1338
+ const Xt = /* @__PURE__ */ new WeakMap(), zt = "FinalizationRegistry" in globalThis && new FinalizationRegistry((e) => {
1339
+ const t = (Xt.get(e) || 0) - 1;
1340
+ Xt.set(e, t), t === 0 && or(e);
1341
+ });
1342
+ function nn(e, t) {
1343
+ const r = (Xt.get(t) || 0) + 1;
1344
+ Xt.set(t, r), zt && zt.register(e, t, e);
1345
+ }
1346
+ function sn(e) {
1347
+ zt && zt.unregister(e);
1348
+ }
1349
+ function oe(e, t, r = [], n = function() {
1350
+ }) {
1351
+ let s = !1;
1352
+ const i = new Proxy(n, {
1353
+ get(h, g) {
1354
+ if (Bt(s), g === Zr)
1355
+ return () => {
1356
+ sn(i), or(e), t.clear(), s = !0;
1357
+ };
1358
+ if (g === "then") {
1359
+ if (r.length === 0)
1360
+ return { then: () => i };
1361
+ const A = Rt(e, t, {
1362
+ type: "GET",
1363
+ path: r.map((d) => d.toString())
1364
+ }).then(At);
1365
+ return A.then.bind(A);
1366
+ }
1367
+ return oe(e, t, [...r, g]);
1368
+ },
1369
+ set(h, g, A) {
1370
+ Bt(s);
1371
+ const [d, E] = Kt(A);
1372
+ return Rt(e, t, {
1373
+ type: "SET",
1374
+ path: [...r, g].map((m) => m.toString()),
1375
+ value: d
1376
+ }, E).then(At);
1377
+ },
1378
+ apply(h, g, A) {
1379
+ Bt(s);
1380
+ const d = r[r.length - 1];
1381
+ if (d === Qr)
1382
+ return Rt(e, t, {
1383
+ type: "ENDPOINT"
1384
+ }).then(At);
1385
+ if (d === "bind")
1386
+ return oe(e, t, r.slice(0, -1));
1387
+ const [E, m] = Fe(A);
1388
+ return Rt(e, t, {
1389
+ type: "APPLY",
1390
+ path: r.map((N) => N.toString()),
1391
+ argumentList: E
1392
+ }, m).then(At);
1393
+ },
1394
+ construct(h, g) {
1395
+ Bt(s);
1396
+ const [A, d] = Fe(g);
1397
+ return Rt(e, t, {
1398
+ type: "CONSTRUCT",
1399
+ path: r.map((E) => E.toString()),
1400
+ argumentList: A
1401
+ }, d).then(At);
1402
+ }
1403
+ });
1404
+ return nn(i, e), i;
1405
+ }
1406
+ function on(e) {
1407
+ return Array.prototype.concat.apply([], e);
1408
+ }
1409
+ function Fe(e) {
1410
+ const t = e.map(Kt);
1411
+ return [t.map((r) => r[0]), on(t.map((r) => r[1]))];
1412
+ }
1413
+ const ar = /* @__PURE__ */ new WeakMap();
1414
+ function an(e, t) {
1415
+ return ar.set(e, t), e;
1416
+ }
1417
+ function cn(e) {
1418
+ return Object.assign(e, { [er]: !0 });
1419
+ }
1420
+ function hi(e, t = globalThis, r = "*") {
1421
+ return {
1422
+ postMessage: (n, s) => e.postMessage(n, r, s),
1423
+ addEventListener: t.addEventListener.bind(t),
1424
+ removeEventListener: t.removeEventListener.bind(t)
1425
+ };
1426
+ }
1427
+ function Kt(e) {
1428
+ for (const [t, r] of nr)
1429
+ if (r.canHandle(e)) {
1430
+ const [n, s] = r.serialize(e);
1431
+ return [
1432
+ {
1433
+ type: "HANDLER",
1434
+ name: t,
1435
+ value: n
1436
+ },
1437
+ s
1438
+ ];
1439
+ }
1440
+ return [
1441
+ {
1442
+ type: "RAW",
1443
+ value: e
1444
+ },
1445
+ ar.get(e) || []
1446
+ ];
1447
+ }
1448
+ function At(e) {
1449
+ switch (e.type) {
1450
+ case "HANDLER":
1451
+ return nr.get(e.name).deserialize(e.value);
1452
+ case "RAW":
1453
+ return e.value;
1454
+ }
1455
+ }
1456
+ function Rt(e, t, r, n) {
1457
+ return new Promise((s) => {
1458
+ const i = hn();
1459
+ t.set(i, s), e.start && e.start(), e.postMessage(Object.assign({ id: i }, r), n);
1460
+ });
1461
+ }
1462
+ function hn() {
1463
+ return new Array(4).fill(0).map(() => Math.floor(Math.random() * Number.MAX_SAFE_INTEGER).toString(16)).join("-");
1464
+ }
1465
+ const ln = {
1466
+ smallFont: "10px",
1467
+ font: "12px",
1468
+ largeFont: "14px",
1469
+ padding: "12px",
1470
+ lineHeight: 1.5,
1471
+ mediumPadding: "8px",
1472
+ largePadding: "20px",
1473
+ borderRadius: "4px",
1474
+ borderLargeRadius: "8px",
1475
+ tinyPadding: "4px",
1476
+ scrollBarContent: "30px",
1477
+ formulaBarHeight: "25px"
1478
+ }, un = {
1479
+ lowZIndex: 2,
1480
+ middleZIndex: 3,
1481
+ highZIndex: 4,
1482
+ highestZIndex: 9
1483
+ };
1484
+ function fn(e, t, r, n) {
1485
+ t = t / 100, r = r / 100;
1486
+ const s = (1 - Math.abs(2 * r - 1)) * t, i = s * (1 - Math.abs(e / 60 % 2 - 1)), h = r - s / 2;
1487
+ let g, A, d;
1488
+ if (e >= 0 && e < 60 ? (g = s, A = i, d = 0) : e >= 60 && e < 120 ? (g = i, A = s, d = 0) : e >= 120 && e < 180 ? (g = 0, A = s, d = i) : e >= 180 && e < 240 ? (g = 0, A = i, d = s) : e >= 240 && e < 300 ? (g = i, A = 0, d = s) : (g = s, A = 0, d = i), n !== 1)
1489
+ return `rgba(${g},${A},${d},${n})`;
1490
+ const E = (x) => Math.round(x * 255).toString(16).padStart(2, "0"), m = E(g + h), N = E(A + h), O = E(d + h);
1491
+ return `#${m}${N}${O}`;
1492
+ }
1493
+ const dn = (e, t, r) => {
1494
+ const n = e / 255, s = t / 255, i = r / 255, h = Math.min(n, s, i), g = Math.max(n, s, i), A = g - h, d = En(n, s, i), E = Cn(g, h), m = gn(A, E);
1495
+ return [d, m * 100, E * 100];
1496
+ }, En = (e, t, r) => {
1497
+ const n = Math.max(e, t, r), s = Math.min(e, t, r), i = n - s;
1498
+ let h = 0;
1499
+ if (i == 0)
1500
+ h = 0;
1501
+ else
1502
+ switch (n) {
1503
+ case e: {
1504
+ let d = (t - r) / i, E = 0;
1505
+ d < 0 && (E = 360 / 60), h = d + E;
1506
+ break;
1507
+ }
1508
+ case t: {
1509
+ let d = (r - e) / i, E = 120 / 60;
1510
+ h = d + E;
1511
+ break;
1512
+ }
1513
+ case r:
1514
+ let g = (e - t) / i, A = 240 / 60;
1515
+ h = g + A;
1516
+ break;
1517
+ }
1518
+ return h * 60;
1519
+ }, gn = (e, t) => e == 0 ? 0 : e / (1 - Math.abs(2 * t - 1)), Cn = (e, t) => (e + t) / 2, Ue = ([e, t, r, n]) => {
1520
+ const [s, i, h] = dn(e, t, r);
1521
+ return fn(s, i * 0.9, 100 - h, n);
1522
+ };
1523
+ function An(e) {
1524
+ e.startsWith("#") && (e = e.slice(1));
1525
+ let t = parseInt(e.substring(0, 2), 16), r = parseInt(e.substring(2, 4), 16), n = parseInt(e.substring(4, 6), 16), s = parseInt(e.substring(6, 8) || "ff", 16);
1526
+ return [t, r, n, s / 255];
1527
+ }
1528
+ const pn = (e) => {
1529
+ if (e.startsWith("rgb")) {
1530
+ const r = e.replace("rgb", "").replace("a", "").replace("(", "").replace(")", "").split(",").map(Number);
1531
+ return r.length <= 3 && r.push(1), Ue(r);
1532
+ } else
1533
+ return Ue(An(e));
1534
+ }, cr = Object.freeze({
1535
+ primaryColor: "#217346",
1536
+ buttonActiveColor: "#c6c6c6",
1537
+ selectionColor: "rgba(198,198,198,0.3)",
1538
+ backgroundColor: "#e6e6e6",
1539
+ hoverColor: "rgba(0, 0, 0, 0.04)",
1540
+ scrollbarColor: "rgba(0, 0, 0, 0.1)",
1541
+ scrollbarHoveColor: "rgba(0, 0, 0, 0.2)",
1542
+ dialogBackground: "rgba(0, 0, 0, 0.6)",
1543
+ white: "#ffffff",
1544
+ black: "#000000",
1545
+ triangleFillColor: "#dddddd",
1546
+ contentColor: "#333333",
1547
+ borderColor: "#cccccc",
1548
+ activeBorderColor: "#808080",
1549
+ errorFormulaColor: "#ff0000"
1550
+ }), wn = Object.freeze(
1551
+ Object.fromEntries(
1552
+ Object.entries(cr).map(([e, t]) => [e, pn(t)])
1553
+ )
1554
+ ), ae = {
1555
+ ...ln,
1556
+ ...un
1557
+ }, ce = "data-theme";
1558
+ function li(e) {
1559
+ sessionStorage.setItem(ce, e), document.documentElement.setAttribute(ce, e);
1560
+ }
1561
+ function Rn() {
1562
+ if (typeof sessionStorage < "u") {
1563
+ const e = sessionStorage.getItem(ce);
1564
+ if (e && (e === "dark" || e === "light"))
1565
+ return e;
1566
+ }
1567
+ return typeof matchMedia == "function" && matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
1568
+ }
1569
+ function Q(e, t) {
1570
+ return t === "dark" || Rn() === "dark" ? wn[e] : cr[e];
1571
+ }
1572
+ class at {
1573
+ constructor(t, r) {
1574
+ _(this, "type");
1575
+ _(this, "value");
1576
+ this.type = t, this.value = r;
1577
+ }
1578
+ toString() {
1579
+ return this.value;
1580
+ }
1581
+ }
1582
+ class V extends Error {
1583
+ constructor(r) {
1584
+ super(r);
1585
+ _(this, "value");
1586
+ this.value = r;
1587
+ }
1588
+ }
1589
+ function J(e, t = "#VALUE!") {
1590
+ if (!e)
1591
+ throw new V(t);
1592
+ }
1593
+ function de(e) {
1594
+ J(e.length === 1);
1595
+ const [t] = e;
1596
+ return t;
1597
+ }
1598
+ function Ft(e) {
1599
+ const t = de(e);
1600
+ return J(typeof t == "string"), t;
1601
+ }
1602
+ function tt(e) {
1603
+ const t = de(e), [r, n] = pt(t);
1604
+ return J(r), n;
1605
+ }
1606
+ function Sn(e) {
1607
+ J(e.length === 0);
1608
+ }
1609
+ var Jt = { exports: {} }, ke;
1610
+ function Mn() {
1611
+ return ke || (ke = 1, function(e) {
1612
+ var t = {};
1613
+ function r(n) {
1614
+ n.version = "0.11.3";
1615
+ function s(c) {
1616
+ for (var o = "", a = c.length - 1; a >= 0; ) o += c.charAt(a--);
1617
+ return o;
1618
+ }
1619
+ function i(c, o) {
1620
+ for (var a = ""; a.length < o; ) a += c;
1621
+ return a;
1622
+ }
1623
+ function h(c, o) {
1624
+ var a = "" + c;
1625
+ return a.length >= o ? a : i("0", o - a.length) + a;
1626
+ }
1627
+ function g(c, o) {
1628
+ var a = "" + c;
1629
+ return a.length >= o ? a : i(" ", o - a.length) + a;
1630
+ }
1631
+ function A(c, o) {
1632
+ var a = "" + c;
1633
+ return a.length >= o ? a : a + i(" ", o - a.length);
1634
+ }
1635
+ function d(c, o) {
1636
+ var a = "" + Math.round(c);
1637
+ return a.length >= o ? a : i("0", o - a.length) + a;
1638
+ }
1639
+ function E(c, o) {
1640
+ var a = "" + c;
1641
+ return a.length >= o ? a : i("0", o - a.length) + a;
1642
+ }
1643
+ var m = Math.pow(2, 32);
1644
+ function N(c, o) {
1645
+ if (c > m || c < -m) return d(c, o);
1646
+ var a = Math.round(c);
1647
+ return E(a, o);
1648
+ }
1649
+ function O(c, o) {
1650
+ return o = o || 0, c.length >= 7 + o && (c.charCodeAt(o) | 32) === 103 && (c.charCodeAt(o + 1) | 32) === 101 && (c.charCodeAt(o + 2) | 32) === 110 && (c.charCodeAt(o + 3) | 32) === 101 && (c.charCodeAt(o + 4) | 32) === 114 && (c.charCodeAt(o + 5) | 32) === 97 && (c.charCodeAt(o + 6) | 32) === 108;
1651
+ }
1652
+ var x = [
1653
+ ["Sun", "Sunday"],
1654
+ ["Mon", "Monday"],
1655
+ ["Tue", "Tuesday"],
1656
+ ["Wed", "Wednesday"],
1657
+ ["Thu", "Thursday"],
1658
+ ["Fri", "Friday"],
1659
+ ["Sat", "Saturday"]
1660
+ ], H = [
1661
+ ["J", "Jan", "January"],
1662
+ ["F", "Feb", "February"],
1663
+ ["M", "Mar", "March"],
1664
+ ["A", "Apr", "April"],
1665
+ ["M", "May", "May"],
1666
+ ["J", "Jun", "June"],
1667
+ ["J", "Jul", "July"],
1668
+ ["A", "Aug", "August"],
1669
+ ["S", "Sep", "September"],
1670
+ ["O", "Oct", "October"],
1671
+ ["N", "Nov", "November"],
1672
+ ["D", "Dec", "December"]
1673
+ ];
1674
+ function U(c) {
1675
+ c[0] = "General", c[1] = "0", c[2] = "0.00", c[3] = "#,##0", c[4] = "#,##0.00", c[9] = "0%", c[10] = "0.00%", c[11] = "0.00E+00", c[12] = "# ?/?", c[13] = "# ??/??", c[14] = "m/d/yy", c[15] = "d-mmm-yy", c[16] = "d-mmm", c[17] = "mmm-yy", c[18] = "h:mm AM/PM", c[19] = "h:mm:ss AM/PM", c[20] = "h:mm", c[21] = "h:mm:ss", c[22] = "m/d/yy h:mm", c[37] = "#,##0 ;(#,##0)", c[38] = "#,##0 ;[Red](#,##0)", c[39] = "#,##0.00;(#,##0.00)", c[40] = "#,##0.00;[Red](#,##0.00)", c[45] = "mm:ss", c[46] = "[h]:mm:ss", c[47] = "mmss.0", c[48] = "##0.0E+0", c[49] = "@", c[56] = '"上午/下午 "hh"時"mm"分"ss"秒 "';
1676
+ }
1677
+ var W = {};
1678
+ U(W);
1679
+ var X = [], b = 0;
1680
+ for (b = 5; b <= 8; ++b) X[b] = 32 + b;
1681
+ for (b = 23; b <= 26; ++b) X[b] = 0;
1682
+ for (b = 27; b <= 31; ++b) X[b] = 14;
1683
+ for (b = 50; b <= 58; ++b) X[b] = 14;
1684
+ for (b = 59; b <= 62; ++b) X[b] = b - 58;
1685
+ for (b = 67; b <= 68; ++b) X[b] = b - 58;
1686
+ for (b = 72; b <= 75; ++b) X[b] = b - 58;
1687
+ for (b = 67; b <= 68; ++b) X[b] = b - 57;
1688
+ for (b = 76; b <= 78; ++b) X[b] = b - 56;
1689
+ for (b = 79; b <= 81; ++b) X[b] = b - 34;
1690
+ var nt = {
1691
+ // 5 -- Currency, 0 decimal, black negative
1692
+ 5: '"$"#,##0_);\\("$"#,##0\\)',
1693
+ 63: '"$"#,##0_);\\("$"#,##0\\)',
1694
+ // 6 -- Currency, 0 decimal, red negative
1695
+ 6: '"$"#,##0_);[Red]\\("$"#,##0\\)',
1696
+ 64: '"$"#,##0_);[Red]\\("$"#,##0\\)',
1697
+ // 7 -- Currency, 2 decimal, black negative
1698
+ 7: '"$"#,##0.00_);\\("$"#,##0.00\\)',
1699
+ 65: '"$"#,##0.00_);\\("$"#,##0.00\\)',
1700
+ // 8 -- Currency, 2 decimal, red negative
1701
+ 8: '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',
1702
+ 66: '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',
1703
+ // 41 -- Accounting, 0 decimal, No Symbol
1704
+ 41: '_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)',
1705
+ // 42 -- Accounting, 0 decimal, $ Symbol
1706
+ 42: '_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)',
1707
+ // 43 -- Accounting, 2 decimal, No Symbol
1708
+ 43: '_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)',
1709
+ // 44 -- Accounting, 2 decimal, $ Symbol
1710
+ 44: '_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)'
1711
+ };
1712
+ function ht(c, o, a) {
1713
+ for (var T = c < 0 ? -1 : 1, l = c * T, L = 0, f = 1, I = 0, v = 1, R = 0, P = 0, B = Math.floor(l); R < o && (B = Math.floor(l), I = B * f + L, P = B * R + v, !(l - B < 5e-8)); )
1714
+ l = 1 / (l - B), L = f, f = I, v = R, R = P;
1715
+ if (P > o && (R > o ? (P = v, I = L) : (P = R, I = f)), !a) return [0, T * I, P];
1716
+ var it = Math.floor(T * I / P);
1717
+ return [it, T * I - it * P, P];
1718
+ }
1719
+ function et(c) {
1720
+ var o = c.toPrecision(16);
1721
+ if (o.indexOf("e") > -1) {
1722
+ var a = o.slice(0, o.indexOf("e"));
1723
+ return a = a.indexOf(".") > -1 ? a.slice(0, a.slice(0, 2) == "0." ? 17 : 16) : a.slice(0, 15) + i("0", a.length - 15), a + o.slice(o.indexOf("e"));
1724
+ }
1725
+ var T = o.indexOf(".") > -1 ? o.slice(0, o.slice(0, 2) == "0." ? 17 : 16) : o.slice(0, 15) + i("0", o.length - 15);
1726
+ return Number(T);
1727
+ }
1728
+ function K(c, o, a) {
1729
+ if (c > 2958465 || c < 0) return null;
1730
+ c = et(c);
1731
+ var T = c | 0, l = Math.floor(86400 * (c - T)), L = 0, f = [], I = { D: T, T: l, u: 86400 * (c - T) - l, y: 0, m: 0, d: 0, H: 0, M: 0, S: 0, q: 0 };
1732
+ if (Math.abs(I.u) < 1e-6 && (I.u = 0), o && o.date1904 && (T += 1462), I.u > 0.9999 && (I.u = 0, ++l == 86400 && (I.T = l = 0, ++T, ++I.D)), T === 60)
1733
+ f = a ? [1317, 10, 29] : [1900, 2, 29], L = 3;
1734
+ else if (T === 0)
1735
+ f = a ? [1317, 8, 29] : [1900, 1, 0], L = 6;
1736
+ else {
1737
+ T > 60 && --T;
1738
+ var v = new Date(1900, 0, 1);
1739
+ v.setDate(v.getDate() + T - 1), f = [v.getFullYear(), v.getMonth() + 1, v.getDate()], L = v.getDay(), T < 60 && (L = (L + 6) % 7), a && (L = Cr(v, f));
1740
+ }
1741
+ return I.y = f[0], I.m = f[1], I.d = f[2], I.S = l % 60, l = Math.floor(l / 60), I.M = l % 60, l = Math.floor(l / 60), I.H = l, I.q = L, I;
1742
+ }
1743
+ n.parse_date_code = K;
1744
+ var ut = new Date(1899, 11, 31, 0, 0, 0), Ut = ut.getTime(), gr = new Date(1900, 2, 1, 0, 0, 0);
1745
+ function Ee(c, o) {
1746
+ var a = c.getTime();
1747
+ return o ? a -= 1461 * 24 * 60 * 60 * 1e3 : c >= gr && (a += 24 * 60 * 60 * 1e3), (a - (Ut + (c.getTimezoneOffset() - ut.getTimezoneOffset()) * 6e4)) / (24 * 60 * 60 * 1e3);
1748
+ }
1749
+ var ge = /* @__PURE__ */ function() {
1750
+ var o = /(?:\.0*|(\.\d*[1-9])0+)$/;
1751
+ function a(R) {
1752
+ return R.indexOf(".") == -1 ? R : R.replace(o, "$1");
1753
+ }
1754
+ var T = /(?:\.0*|(\.\d*[1-9])0+)[Ee]/, l = /(E[+-])(\d)$/;
1755
+ function L(R) {
1756
+ return R.indexOf("E") == -1 ? R : R.replace(T, "$1E").replace(l, "$10$2");
1757
+ }
1758
+ function f(R) {
1759
+ var P = R < 0 ? 12 : 11, B = a(R.toFixed(12));
1760
+ return B.length <= P || (B = R.toPrecision(10), B.length <= P) ? B : R.toExponential(5);
1761
+ }
1762
+ function I(R) {
1763
+ var P = a(R.toFixed(11));
1764
+ return P.length > (R < 0 ? 12 : 11) || P === "0" || P === "-0" ? R.toPrecision(6) : P;
1765
+ }
1766
+ function v(R) {
1767
+ var P = Math.floor(Math.log(Math.abs(R)) * Math.LOG10E), B;
1768
+ return P >= -4 && P <= -1 ? B = R.toPrecision(10 + P) : Math.abs(P) <= 9 ? B = f(R) : P === 10 ? B = R.toFixed(10).substr(0, 12) : B = I(R), a(L(B.toUpperCase()));
1769
+ }
1770
+ return v;
1771
+ }();
1772
+ n._general_num = ge;
1773
+ function kt(c, o) {
1774
+ switch (typeof c) {
1775
+ case "string":
1776
+ return c;
1777
+ case "boolean":
1778
+ return c ? "TRUE" : "FALSE";
1779
+ case "number":
1780
+ return (c | 0) === c ? c.toString(10) : ge(c);
1781
+ case "undefined":
1782
+ return "";
1783
+ case "object":
1784
+ if (c == null) return "";
1785
+ if (c instanceof Date) return me(14, Ee(c, o && o.date1904), o);
1786
+ }
1787
+ throw new Error("unsupported value in General format: " + c);
1788
+ }
1789
+ n._general = kt;
1790
+ function Cr(c, o) {
1791
+ o[0] -= 581;
1792
+ var a = c.getDay();
1793
+ return c < 60 && (a = (a + 6) % 7), a;
1794
+ }
1795
+ function Ar(c, o, a, T) {
1796
+ var l = "", L = 0, f = 0, I = a.y, v, R = 0;
1797
+ switch (c) {
1798
+ case 98:
1799
+ I = a.y + 543;
1800
+ /* falls through */
1801
+ case 121:
1802
+ switch (o.length) {
1803
+ case 1:
1804
+ case 2:
1805
+ v = I % 100, R = 2;
1806
+ break;
1807
+ default:
1808
+ v = I % 1e4, R = 4;
1809
+ break;
1810
+ }
1811
+ break;
1812
+ case 109:
1813
+ switch (o.length) {
1814
+ case 1:
1815
+ case 2:
1816
+ v = a.m, R = o.length;
1817
+ break;
1818
+ case 3:
1819
+ return H[a.m - 1][1];
1820
+ case 5:
1821
+ return H[a.m - 1][0];
1822
+ default:
1823
+ return H[a.m - 1][2];
1824
+ }
1825
+ break;
1826
+ case 100:
1827
+ switch (o.length) {
1828
+ case 1:
1829
+ case 2:
1830
+ v = a.d, R = o.length;
1831
+ break;
1832
+ case 3:
1833
+ return x[a.q][0];
1834
+ default:
1835
+ return x[a.q][1];
1836
+ }
1837
+ break;
1838
+ case 104:
1839
+ switch (o.length) {
1840
+ case 1:
1841
+ case 2:
1842
+ v = 1 + (a.H + 11) % 12, R = o.length;
1843
+ break;
1844
+ default:
1845
+ throw "bad hour format: " + o;
1846
+ }
1847
+ break;
1848
+ case 72:
1849
+ switch (o.length) {
1850
+ case 1:
1851
+ case 2:
1852
+ v = a.H, R = o.length;
1853
+ break;
1854
+ default:
1855
+ throw "bad hour format: " + o;
1856
+ }
1857
+ break;
1858
+ case 77:
1859
+ switch (o.length) {
1860
+ case 1:
1861
+ case 2:
1862
+ v = a.M, R = o.length;
1863
+ break;
1864
+ default:
1865
+ throw "bad minute format: " + o;
1866
+ }
1867
+ break;
1868
+ case 115:
1869
+ if (o != "s" && o != "ss" && o != ".0" && o != ".00" && o != ".000") throw "bad second format: " + o;
1870
+ return a.u === 0 && (o == "s" || o == "ss") ? h(a.S, o.length) : (T >= 2 ? f = T === 3 ? 1e3 : 100 : f = T === 1 ? 10 : 1, L = Math.round(f * (a.S + a.u)), L >= 60 * f && (L = 0), o === "s" ? L === 0 ? "0" : "" + L / f : (l = h(L, 2 + T), o === "ss" ? l.substr(0, 2) : "." + l.substr(2, o.length - 1)));
1871
+ case 90:
1872
+ switch (o) {
1873
+ case "[h]":
1874
+ case "[hh]":
1875
+ v = a.D * 24 + a.H;
1876
+ break;
1877
+ case "[m]":
1878
+ case "[mm]":
1879
+ v = (a.D * 24 + a.H) * 60 + a.M;
1880
+ break;
1881
+ case "[s]":
1882
+ case "[ss]":
1883
+ v = ((a.D * 24 + a.H) * 60 + a.M) * 60 + (T == 0 ? Math.round(a.S + a.u) : a.S);
1884
+ break;
1885
+ default:
1886
+ throw "bad abstime format: " + o;
1887
+ }
1888
+ R = o.length === 3 ? 1 : 2;
1889
+ break;
1890
+ case 101:
1891
+ v = I, R = 1;
1892
+ break;
1893
+ }
1894
+ var P = R > 0 ? h(v, R) : "";
1895
+ return P;
1896
+ }
1897
+ function ft(c) {
1898
+ var o = 3;
1899
+ if (c.length <= o) return c;
1900
+ for (var a = c.length % o, T = c.substr(0, a); a != c.length; a += o) T += (T.length > 0 ? "," : "") + c.substr(a, o);
1901
+ return T;
1902
+ }
1903
+ var lt = /* @__PURE__ */ function() {
1904
+ var o = /%/g;
1905
+ function a(w, u, C) {
1906
+ var D = u.replace(o, ""), M = u.length - D.length;
1907
+ return lt(w, D, C * Math.pow(10, 2 * M)) + i("%", M);
1908
+ }
1909
+ function T(w, u, C) {
1910
+ for (var D = u.length - 1; u.charCodeAt(D - 1) === 44; ) --D;
1911
+ return lt(w, u.substr(0, D), C / Math.pow(10, 3 * (u.length - D)));
1912
+ }
1913
+ function l(w, u) {
1914
+ var C, D = w.indexOf("E") - w.indexOf(".") - 1;
1915
+ if (w.match(/^#+0.0E\+0$/)) {
1916
+ if (u == 0) return "0.0E+0";
1917
+ if (u < 0) return "-" + l(w, -u);
1918
+ var M = w.indexOf(".");
1919
+ M === -1 && (M = w.indexOf("E"));
1920
+ var S = Math.floor(Math.log(u) * Math.LOG10E) % M;
1921
+ if (S < 0 && (S += M), C = (u / Math.pow(10, S)).toPrecision(D + 1 + (M + S) % M), C.indexOf("e") === -1) {
1922
+ var F = Math.floor(Math.log(u) * Math.LOG10E);
1923
+ for (C.indexOf(".") === -1 ? C = C.charAt(0) + "." + C.substr(1) + "E+" + (F - C.length + S) : C += "E+" + (F - S); C.substr(0, 2) === "0."; )
1924
+ C = C.charAt(0) + C.substr(2, M) + "." + C.substr(2 + M), C = C.replace(/^0+([1-9])/, "$1").replace(/^0+\./, "0.");
1925
+ C = C.replace(/\+-/, "-");
1926
+ }
1927
+ C = C.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/, function(z, Y, j, $) {
1928
+ return Y + j + $.substr(0, (M + S) % M) + "." + $.substr(S) + "E";
1929
+ });
1930
+ } else C = u.toExponential(D);
1931
+ return w.match(/E\+00$/) && C.match(/e[+-]\d$/) && (C = C.substr(0, C.length - 1) + "0" + C.charAt(C.length - 1)), w.match(/E\-/) && C.match(/e\+/) && (C = C.replace(/e\+/, "e")), C.replace("e", "E");
1932
+ }
1933
+ var L = /# (\?+)( ?)\/( ?)(\d+)/;
1934
+ function f(w, u, C) {
1935
+ var D = parseInt(w[4], 10), M = Math.round(u * D), S = Math.floor(M / D), F = M - S * D, z = D;
1936
+ return C + (S === 0 ? "" : "" + S) + " " + (F === 0 ? i(" ", w[1].length + 1 + w[4].length) : g(F, w[1].length) + w[2] + "/" + w[3] + h(z, w[4].length));
1937
+ }
1938
+ function I(w, u, C) {
1939
+ return C + (u === 0 ? "" : "" + u) + i(" ", w[1].length + 2 + w[4].length);
1940
+ }
1941
+ var v = /^#*0*\.([0#]+)/, R = /\).*[0#]/, P = /\(###\) ###\\?-####/;
1942
+ function B(w) {
1943
+ for (var u = "", C, D = 0; D != w.length; ++D) switch (C = w.charCodeAt(D)) {
1944
+ case 35:
1945
+ break;
1946
+ case 63:
1947
+ u += " ";
1948
+ break;
1949
+ case 48:
1950
+ u += "0";
1951
+ break;
1952
+ default:
1953
+ u += String.fromCharCode(C);
1954
+ }
1955
+ return u;
1956
+ }
1957
+ function it(w, u) {
1958
+ var C = Math.pow(10, u);
1959
+ return "" + Math.round(w * C) / C;
1960
+ }
1961
+ function gt(w, u) {
1962
+ var C = w - Math.floor(w), D = Math.pow(10, u);
1963
+ return u < ("" + Math.round(C * D)).length ? 0 : Math.round(C * D);
1964
+ }
1965
+ function Yt(w, u) {
1966
+ return u < ("" + Math.round((w - Math.floor(w)) * Math.pow(10, u))).length ? 1 : 0;
1967
+ }
1968
+ function ot(w) {
1969
+ return w < 2147483647 && w > -2147483648 ? "" + (w >= 0 ? w | 0 : w - 1 | 0) : "" + Math.floor(w);
1970
+ }
1971
+ function y(w, u, C) {
1972
+ if (w.charCodeAt(0) === 40 && !u.match(R)) {
1973
+ var D = u.replace(/\( */, "").replace(/ \)/, "").replace(/\)/, "");
1974
+ return C >= 0 ? y("n", D, C) : "(" + y("n", D, -C) + ")";
1975
+ }
1976
+ if (u.charCodeAt(u.length - 1) === 44) return T(w, u, C);
1977
+ if (u.indexOf("%") !== -1) return a(w, u, C);
1978
+ if (u.indexOf("E") !== -1) return l(u, C);
1979
+ if (u.charCodeAt(0) === 36) return "$" + y(w, u.substr(u.charAt(1) == " " ? 2 : 1), C);
1980
+ var M, S, F, z, Y = Math.abs(C), j = C < 0 ? "-" : "";
1981
+ if (u.match(/^00+$/)) return j + N(Y, u.length);
1982
+ if (u.match(/^[#?]+$/))
1983
+ return M = N(C, 0), M === "0" && (M = ""), M.length > u.length ? M : B(u.substr(0, u.length - M.length)) + M;
1984
+ if (S = u.match(L)) return f(S, Y, j);
1985
+ if (u.match(/^#+0+$/)) return j + N(Y, u.length - u.indexOf("0"));
1986
+ if (S = u.match(v))
1987
+ return M = it(C, S[1].length).replace(/^([^\.]+)$/, "$1." + B(S[1])).replace(/\.$/, "." + B(S[1])).replace(/\.(\d*)$/, function(rt, It) {
1988
+ return "." + It + i("0", B(S[1]).length - It.length);
1989
+ }), u.indexOf("0.") !== -1 ? M : M.replace(/^0\./, ".");
1990
+ if (u = u.replace(/^#+([0.])/, "$1"), S = u.match(/^(0*)\.(#*)$/))
1991
+ return j + it(Y, S[2].length).replace(/\.(\d*[1-9])0*$/, ".$1").replace(/^(-?\d*)$/, "$1.").replace(/^0\./, S[1].length ? "0." : ".");
1992
+ if (S = u.match(/^#{1,3},##0(\.?)$/)) return j + ft(N(Y, 0));
1993
+ if (S = u.match(/^#,##0\.([#0]*0)$/))
1994
+ return C < 0 ? "-" + y(w, u, -C) : ft("" + (Math.floor(C) + Yt(C, S[1].length))) + "." + h(gt(C, S[1].length), S[1].length);
1995
+ if (S = u.match(/^#,#*,#0/)) return y(w, u.replace(/^#,#*,/, ""), C);
1996
+ if (S = u.match(/^([0#]+)(\\?-([0#]+))+$/))
1997
+ return M = s(y(w, u.replace(/[\\-]/g, ""), C)), F = 0, s(s(u.replace(/\\/g, "")).replace(/[0#]/g, function(rt) {
1998
+ return F < M.length ? M.charAt(F++) : rt === "0" ? "0" : "";
1999
+ }));
2000
+ if (u.match(P))
2001
+ return M = y(w, "##########", C), "(" + M.substr(0, 3) + ") " + M.substr(3, 3) + "-" + M.substr(6);
2002
+ var $ = "";
2003
+ if (S = u.match(/^([#0?]+)( ?)\/( ?)([#0?]+)/))
2004
+ return F = Math.min(S[4].length, 7), z = ht(Y, Math.pow(10, F) - 1, !1), M = "" + j, $ = lt("n", S[1], z[1]), $.charAt($.length - 1) == " " && ($ = $.substr(0, $.length - 1) + "0"), M += $ + S[2] + "/" + S[3], $ = A(z[2], F), $.length < S[4].length && ($ = B(S[4].substr(S[4].length - $.length)) + $), M += $, M;
2005
+ if (S = u.match(/^# ([#0?]+)( ?)\/( ?)([#0?]+)/))
2006
+ return F = Math.min(Math.max(S[1].length, S[4].length), 7), z = ht(Y, Math.pow(10, F) - 1, !0), j + (z[0] || (z[1] ? "" : "0")) + " " + (z[1] ? g(z[1], F) + S[2] + "/" + S[3] + A(z[2], F) : i(" ", 2 * F + 1 + S[2].length + S[3].length));
2007
+ if (S = u.match(/^[#0?]+$/))
2008
+ return M = N(C, 0), u.length <= M.length ? M : B(u.substr(0, u.length - M.length)) + M;
2009
+ if (S = u.match(/^([#0?]+)\.([#0]+)$/)) {
2010
+ M = "" + C.toFixed(Math.min(S[2].length, 10)).replace(/([^0])0+$/, "$1"), F = M.indexOf(".");
2011
+ var mt = u.indexOf(".") - F, jt = u.length - M.length - mt;
2012
+ return B(u.substr(0, mt) + M + u.substr(u.length - jt));
2013
+ }
2014
+ if (S = u.match(/^00,000\.([#0]*0)$/))
2015
+ return F = gt(C, S[1].length), C < 0 ? "-" + y(w, u, -C) : ft(ot(C)).replace(/^\d,\d{3}$/, "0$&").replace(/^\d*$/, function(rt) {
2016
+ return "00," + (rt.length < 3 ? h(0, 3 - rt.length) : "") + rt;
2017
+ }) + "." + h(F, S[1].length);
2018
+ switch (u) {
2019
+ case "###,##0.00":
2020
+ return y(w, "#,##0.00", C);
2021
+ case "###,###":
2022
+ case "##,###":
2023
+ case "#,###":
2024
+ var Nt = ft(N(Y, 0));
2025
+ return Nt !== "0" ? j + Nt : "";
2026
+ case "###,###.00":
2027
+ return y(w, "###,##0.00", C).replace(/^0\./, ".");
2028
+ case "#,###.00":
2029
+ return y(w, "#,##0.00", C).replace(/^0\./, ".");
2030
+ }
2031
+ throw new Error("unsupported format |" + u + "|");
2032
+ }
2033
+ function wt(w, u, C) {
2034
+ for (var D = u.length - 1; u.charCodeAt(D - 1) === 44; ) --D;
2035
+ return lt(w, u.substr(0, D), C / Math.pow(10, 3 * (u.length - D)));
2036
+ }
2037
+ function Pt(w, u, C) {
2038
+ var D = u.replace(o, ""), M = u.length - D.length;
2039
+ return lt(w, D, C * Math.pow(10, 2 * M)) + i("%", M);
2040
+ }
2041
+ function q(w, u) {
2042
+ var C, D = w.indexOf("E") - w.indexOf(".") - 1;
2043
+ if (w.match(/^#+0.0E\+0$/)) {
2044
+ if (u == 0) return "0.0E+0";
2045
+ if (u < 0) return "-" + q(w, -u);
2046
+ var M = w.indexOf(".");
2047
+ M === -1 && (M = w.indexOf("E"));
2048
+ var S = Math.floor(Math.log(u) * Math.LOG10E) % M;
2049
+ if (S < 0 && (S += M), C = (u / Math.pow(10, S)).toPrecision(D + 1 + (M + S) % M), !C.match(/[Ee]/)) {
2050
+ var F = Math.floor(Math.log(u) * Math.LOG10E);
2051
+ C.indexOf(".") === -1 ? C = C.charAt(0) + "." + C.substr(1) + "E+" + (F - C.length + S) : C += "E+" + (F - S), C = C.replace(/\+-/, "-");
2052
+ }
2053
+ C = C.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/, function(z, Y, j, $) {
2054
+ return Y + j + $.substr(0, (M + S) % M) + "." + $.substr(S) + "E";
2055
+ });
2056
+ } else C = u.toExponential(D);
2057
+ return w.match(/E\+00$/) && C.match(/e[+-]\d$/) && (C = C.substr(0, C.length - 1) + "0" + C.charAt(C.length - 1)), w.match(/E\-/) && C.match(/e\+/) && (C = C.replace(/e\+/, "e")), C.replace("e", "E");
2058
+ }
2059
+ function Z(w, u, C) {
2060
+ if (w.charCodeAt(0) === 40 && !u.match(R)) {
2061
+ var D = u.replace(/\( */, "").replace(/ \)/, "").replace(/\)/, "");
2062
+ return C >= 0 ? Z("n", D, C) : "(" + Z("n", D, -C) + ")";
2063
+ }
2064
+ if (u.charCodeAt(u.length - 1) === 44) return wt(w, u, C);
2065
+ if (u.indexOf("%") !== -1) return Pt(w, u, C);
2066
+ if (u.indexOf("E") !== -1) return q(u, C);
2067
+ if (u.charCodeAt(0) === 36) return "$" + Z(w, u.substr(u.charAt(1) == " " ? 2 : 1), C);
2068
+ var M, S, F, z, Y = Math.abs(C), j = C < 0 ? "-" : "";
2069
+ if (u.match(/^00+$/)) return j + h(Y, u.length);
2070
+ if (u.match(/^[#?]+$/))
2071
+ return M = "" + C, C === 0 && (M = ""), M.length > u.length ? M : B(u.substr(0, u.length - M.length)) + M;
2072
+ if (S = u.match(L)) return I(S, Y, j);
2073
+ if (u.match(/^#+0+$/)) return j + h(Y, u.length - u.indexOf("0"));
2074
+ if (S = u.match(v))
2075
+ return M = ("" + C).replace(/^([^\.]+)$/, "$1." + B(S[1])).replace(/\.$/, "." + B(S[1])), M = M.replace(/\.(\d*)$/, function(rt, It) {
2076
+ return "." + It + i("0", B(S[1]).length - It.length);
2077
+ }), u.indexOf("0.") !== -1 ? M : M.replace(/^0\./, ".");
2078
+ if (u = u.replace(/^#+([0.])/, "$1"), S = u.match(/^(0*)\.(#*)$/))
2079
+ return j + ("" + Y).replace(/\.(\d*[1-9])0*$/, ".$1").replace(/^(-?\d*)$/, "$1.").replace(/^0\./, S[1].length ? "0." : ".");
2080
+ if (S = u.match(/^#{1,3},##0(\.?)$/)) return j + ft("" + Y);
2081
+ if (S = u.match(/^#,##0\.([#0]*0)$/))
2082
+ return C < 0 ? "-" + Z(w, u, -C) : ft("" + C) + "." + i("0", S[1].length);
2083
+ if (S = u.match(/^#,#*,#0/)) return Z(w, u.replace(/^#,#*,/, ""), C);
2084
+ if (S = u.match(/^([0#]+)(\\?-([0#]+))+$/))
2085
+ return M = s(Z(w, u.replace(/[\\-]/g, ""), C)), F = 0, s(s(u.replace(/\\/g, "")).replace(/[0#]/g, function(rt) {
2086
+ return F < M.length ? M.charAt(F++) : rt === "0" ? "0" : "";
2087
+ }));
2088
+ if (u.match(P))
2089
+ return M = Z(w, "##########", C), "(" + M.substr(0, 3) + ") " + M.substr(3, 3) + "-" + M.substr(6);
2090
+ var $ = "";
2091
+ if (S = u.match(/^([#0?]+)( ?)\/( ?)([#0?]+)/))
2092
+ return F = Math.min(S[4].length, 7), z = ht(Y, Math.pow(10, F) - 1, !1), M = "" + j, $ = lt("n", S[1], z[1]), $.charAt($.length - 1) == " " && ($ = $.substr(0, $.length - 1) + "0"), M += $ + S[2] + "/" + S[3], $ = A(z[2], F), $.length < S[4].length && ($ = B(S[4].substr(S[4].length - $.length)) + $), M += $, M;
2093
+ if (S = u.match(/^# ([#0?]+)( ?)\/( ?)([#0?]+)/))
2094
+ return F = Math.min(Math.max(S[1].length, S[4].length), 7), z = ht(Y, Math.pow(10, F) - 1, !0), j + (z[0] || (z[1] ? "" : "0")) + " " + (z[1] ? g(z[1], F) + S[2] + "/" + S[3] + A(z[2], F) : i(" ", 2 * F + 1 + S[2].length + S[3].length));
2095
+ if (S = u.match(/^[#0?]+$/))
2096
+ return M = "" + C, u.length <= M.length ? M : B(u.substr(0, u.length - M.length)) + M;
2097
+ if (S = u.match(/^([#0]+)\.([#0]+)$/)) {
2098
+ M = "" + C.toFixed(Math.min(S[2].length, 10)).replace(/([^0])0+$/, "$1"), F = M.indexOf(".");
2099
+ var mt = u.indexOf(".") - F, jt = u.length - M.length - mt;
2100
+ return B(u.substr(0, mt) + M + u.substr(u.length - jt));
2101
+ }
2102
+ if (S = u.match(/^00,000\.([#0]*0)$/))
2103
+ return C < 0 ? "-" + Z(w, u, -C) : ft("" + C).replace(/^\d,\d{3}$/, "0$&").replace(/^\d*$/, function(rt) {
2104
+ return "00," + (rt.length < 3 ? h(0, 3 - rt.length) : "") + rt;
2105
+ }) + "." + h(0, S[1].length);
2106
+ switch (u) {
2107
+ case "###,###":
2108
+ case "##,###":
2109
+ case "#,###":
2110
+ var Nt = ft("" + Y);
2111
+ return Nt !== "0" ? j + Nt : "";
2112
+ default:
2113
+ if (u.match(/\.[0#?]*$/)) return Z(w, u.slice(0, u.lastIndexOf(".")), C) + B(u.slice(u.lastIndexOf(".")));
2114
+ }
2115
+ throw new Error("unsupported format |" + u + "|");
2116
+ }
2117
+ return function(u, C, D) {
2118
+ return (D | 0) === D ? Z(u, C, D) : y(u, C, D);
2119
+ };
2120
+ }();
2121
+ function Ce(c) {
2122
+ for (var o = [], a = !1, T = 0, l = 0; T < c.length; ++T) switch (
2123
+ /*cc=*/
2124
+ c.charCodeAt(T)
2125
+ ) {
2126
+ case 34:
2127
+ a = !a;
2128
+ break;
2129
+ case 95:
2130
+ case 42:
2131
+ case 92:
2132
+ ++T;
2133
+ break;
2134
+ case 59:
2135
+ o[o.length] = c.substr(l, T - l), l = T + 1;
2136
+ }
2137
+ if (o[o.length] = c.substr(l), a === !0) throw new Error("Format |" + c + "| unterminated string ");
2138
+ return o;
2139
+ }
2140
+ n._split = Ce;
2141
+ var Ae = /\[[HhMmSs\u0E0A\u0E19\u0E17]*\]/;
2142
+ function pe(c) {
2143
+ for (var o = 0, a = "", T = ""; o < c.length; )
2144
+ switch (a = c.charAt(o)) {
2145
+ case "G":
2146
+ O(c, o) && (o += 6), o++;
2147
+ break;
2148
+ case '"':
2149
+ for (
2150
+ ;
2151
+ /*cc=*/
2152
+ c.charCodeAt(++o) !== 34 && o < c.length;
2153
+ )
2154
+ ;
2155
+ ++o;
2156
+ break;
2157
+ case "\\":
2158
+ o += 2;
2159
+ break;
2160
+ case "_":
2161
+ o += 2;
2162
+ break;
2163
+ case "@":
2164
+ ++o;
2165
+ break;
2166
+ case "B":
2167
+ case "b":
2168
+ if (c.charAt(o + 1) === "1" || c.charAt(o + 1) === "2") return !0;
2169
+ /* falls through */
2170
+ case "M":
2171
+ case "D":
2172
+ case "Y":
2173
+ case "H":
2174
+ case "S":
2175
+ case "E":
2176
+ /* falls through */
2177
+ case "m":
2178
+ case "d":
2179
+ case "y":
2180
+ case "h":
2181
+ case "s":
2182
+ case "e":
2183
+ case "g":
2184
+ return !0;
2185
+ case "A":
2186
+ case "a":
2187
+ case "上":
2188
+ if (c.substr(o, 3).toUpperCase() === "A/P" || c.substr(o, 5).toUpperCase() === "AM/PM" || c.substr(o, 5).toUpperCase() === "上午/下午") return !0;
2189
+ ++o;
2190
+ break;
2191
+ case "[":
2192
+ for (T = a; c.charAt(o++) !== "]" && o < c.length; ) T += c.charAt(o);
2193
+ if (T.match(Ae)) return !0;
2194
+ break;
2195
+ case ".":
2196
+ /* falls through */
2197
+ case "0":
2198
+ case "#":
2199
+ for (; o < c.length && ("0#?.,E+-%".indexOf(a = c.charAt(++o)) > -1 || a == "\\" && c.charAt(o + 1) == "-" && "0#".indexOf(c.charAt(o + 2)) > -1); )
2200
+ ;
2201
+ break;
2202
+ case "?":
2203
+ for (; c.charAt(++o) === a; )
2204
+ ;
2205
+ break;
2206
+ case "*":
2207
+ ++o, (c.charAt(o) == " " || c.charAt(o) == "*") && ++o;
2208
+ break;
2209
+ case "(":
2210
+ case ")":
2211
+ ++o;
2212
+ break;
2213
+ case "1":
2214
+ case "2":
2215
+ case "3":
2216
+ case "4":
2217
+ case "5":
2218
+ case "6":
2219
+ case "7":
2220
+ case "8":
2221
+ case "9":
2222
+ for (; o < c.length && "0123456789".indexOf(c.charAt(++o)) > -1; )
2223
+ ;
2224
+ break;
2225
+ case " ":
2226
+ ++o;
2227
+ break;
2228
+ default:
2229
+ ++o;
2230
+ break;
2231
+ }
2232
+ return !1;
2233
+ }
2234
+ n.is_date = pe;
2235
+ function we(c, o, a, T) {
2236
+ for (var l = [], L = "", f = 0, I = "", v = "t", R, P, B, it = "H"; f < c.length; )
2237
+ switch (I = c.charAt(f)) {
2238
+ case "G":
2239
+ if (!O(c, f)) throw new Error("unrecognized character " + I + " in " + c);
2240
+ l[l.length] = { t: "G", v: "General" }, f += 7;
2241
+ break;
2242
+ case '"':
2243
+ for (L = ""; (B = c.charCodeAt(++f)) !== 34 && f < c.length; ) L += String.fromCharCode(B);
2244
+ l[l.length] = { t: "t", v: L }, ++f;
2245
+ break;
2246
+ case "\\":
2247
+ var gt = c.charAt(++f), Yt = gt === "(" || gt === ")" ? gt : "t";
2248
+ l[l.length] = { t: Yt, v: gt }, ++f;
2249
+ break;
2250
+ case "_":
2251
+ l[l.length] = { t: "t", v: " " }, f += 2;
2252
+ break;
2253
+ case "@":
2254
+ l[l.length] = { t: "T", v: o }, ++f;
2255
+ break;
2256
+ case "B":
2257
+ case "b":
2258
+ if (c.charAt(f + 1) === "1" || c.charAt(f + 1) === "2") {
2259
+ if (R == null && (R = K(o, a, c.charAt(f + 1) === "2"), R == null))
2260
+ return "";
2261
+ l[l.length] = { t: "X", v: c.substr(f, 2) }, v = I, f += 2;
2262
+ break;
2263
+ }
2264
+ /* falls through */
2265
+ case "M":
2266
+ case "D":
2267
+ case "Y":
2268
+ case "H":
2269
+ case "S":
2270
+ case "E":
2271
+ I = I.toLowerCase();
2272
+ /* falls through */
2273
+ case "m":
2274
+ case "d":
2275
+ case "y":
2276
+ case "h":
2277
+ case "s":
2278
+ case "e":
2279
+ case "g":
2280
+ if (o < 0 || R == null && (R = K(o, a), R == null))
2281
+ return "";
2282
+ for (L = I; ++f < c.length && c.charAt(f).toLowerCase() === I; ) L += I;
2283
+ I === "m" && v.toLowerCase() === "h" && (I = "M"), I === "h" && (I = it), l[l.length] = { t: I, v: L }, v = I;
2284
+ break;
2285
+ case "A":
2286
+ case "a":
2287
+ case "上":
2288
+ var ot = { t: I, v: I };
2289
+ if (R == null && (R = K(o, a)), c.substr(f, 3).toUpperCase() === "A/P" ? (R != null && (ot.v = R.H >= 12 ? c.charAt(f + 2) : I), ot.t = "T", it = "h", f += 3) : c.substr(f, 5).toUpperCase() === "AM/PM" ? (R != null && (ot.v = R.H >= 12 ? "PM" : "AM"), ot.t = "T", f += 5, it = "h") : c.substr(f, 5).toUpperCase() === "上午/下午" ? (R != null && (ot.v = R.H >= 12 ? "下午" : "上午"), ot.t = "T", f += 5, it = "h") : (ot.t = "t", ++f), R == null && ot.t === "T") return "";
2290
+ l[l.length] = ot, v = I;
2291
+ break;
2292
+ case "[":
2293
+ for (L = I; c.charAt(f++) !== "]" && f < c.length; ) L += c.charAt(f);
2294
+ if (L.slice(-1) !== "]") throw 'unterminated "[" block: |' + L + "|";
2295
+ if (L.match(Ae)) {
2296
+ if (R == null && (R = K(o, a), R == null))
2297
+ return "";
2298
+ l[l.length] = { t: "Z", v: L.toLowerCase() }, v = L.charAt(1);
2299
+ } else L.indexOf("$") > -1 && (L = (L.match(/\$([^-\[\]]*)/) || [])[1] || "$", pe(c) || (l[l.length] = { t: "t", v: L }));
2300
+ break;
2301
+ /* Numbers */
2302
+ case ".":
2303
+ if (R != null) {
2304
+ for (L = I; ++f < c.length && (I = c.charAt(f)) === "0"; ) L += I;
2305
+ l[l.length] = { t: "s", v: L };
2306
+ break;
2307
+ }
2308
+ /* falls through */
2309
+ case "0":
2310
+ case "#":
2311
+ for (L = I; ++f < c.length && "0#?.,E+-%".indexOf(I = c.charAt(f)) > -1; ) L += I;
2312
+ l[l.length] = { t: "n", v: L };
2313
+ break;
2314
+ case "?":
2315
+ for (L = I; c.charAt(++f) === I; ) L += I;
2316
+ l[l.length] = { t: I, v: L }, v = I;
2317
+ break;
2318
+ case "*":
2319
+ ++f, (c.charAt(f) == " " || c.charAt(f) == "*") && ++f;
2320
+ break;
2321
+ // **
2322
+ case "(":
2323
+ case ")":
2324
+ l[l.length] = { t: T === 1 ? "t" : I, v: I }, ++f;
2325
+ break;
2326
+ case "1":
2327
+ case "2":
2328
+ case "3":
2329
+ case "4":
2330
+ case "5":
2331
+ case "6":
2332
+ case "7":
2333
+ case "8":
2334
+ case "9":
2335
+ for (L = I; f < c.length && "0123456789".indexOf(c.charAt(++f)) > -1; ) L += c.charAt(f);
2336
+ l[l.length] = { t: "D", v: L };
2337
+ break;
2338
+ case " ":
2339
+ l[l.length] = { t: I, v: I }, ++f;
2340
+ break;
2341
+ case "$":
2342
+ l[l.length] = { t: "t", v: "$" }, ++f;
2343
+ break;
2344
+ default:
2345
+ if (",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP".indexOf(I) === -1) throw new Error("unrecognized character " + I + " in " + c);
2346
+ l[l.length] = { t: "t", v: I }, ++f;
2347
+ break;
2348
+ }
2349
+ var y = 0, wt = 0, Pt;
2350
+ for (f = l.length - 1, v = "t"; f >= 0; --f)
2351
+ switch (l[f].t) {
2352
+ case "h":
2353
+ case "H":
2354
+ l[f].t = it, v = "h", y < 1 && (y = 1);
2355
+ break;
2356
+ case "s":
2357
+ (Pt = l[f].v.match(/\.0+$/)) && (wt = Math.max(wt, Pt[0].length - 1), y = 4), y < 3 && (y = 3);
2358
+ /* falls through */
2359
+ case "d":
2360
+ case "y":
2361
+ case "e":
2362
+ v = l[f].t;
2363
+ break;
2364
+ case "M":
2365
+ v = l[f].t, y < 2 && (y = 2);
2366
+ break;
2367
+ case "m":
2368
+ v === "s" && (l[f].t = "M", y < 2 && (y = 2));
2369
+ break;
2370
+ case "X":
2371
+ break;
2372
+ case "Z":
2373
+ y < 1 && l[f].v.match(/[Hh]/) && (y = 1), y < 2 && l[f].v.match(/[Mm]/) && (y = 2), y < 3 && l[f].v.match(/[Ss]/) && (y = 3);
2374
+ }
2375
+ var q;
2376
+ switch (y) {
2377
+ case 0:
2378
+ break;
2379
+ case 1:
2380
+ case 2:
2381
+ case 3:
2382
+ R.u >= 0.5 && (R.u = 0, ++R.S), R.S >= 60 && (R.S = 0, ++R.M), R.M >= 60 && (R.M = 0, ++R.H), R.H >= 24 && (R.H = 0, ++R.D, q = K(R.D), q.u = R.u, q.S = R.S, q.M = R.M, q.H = R.H, R = q);
2383
+ break;
2384
+ case 4:
2385
+ switch (wt) {
2386
+ case 1:
2387
+ R.u = Math.round(R.u * 10) / 10;
2388
+ break;
2389
+ case 2:
2390
+ R.u = Math.round(R.u * 100) / 100;
2391
+ break;
2392
+ case 3:
2393
+ R.u = Math.round(R.u * 1e3) / 1e3;
2394
+ break;
2395
+ }
2396
+ R.u >= 1 && (R.u = 0, ++R.S), R.S >= 60 && (R.S = 0, ++R.M), R.M >= 60 && (R.M = 0, ++R.H), R.H >= 24 && (R.H = 0, ++R.D, q = K(R.D), q.u = R.u, q.S = R.S, q.M = R.M, q.H = R.H, R = q);
2397
+ break;
2398
+ }
2399
+ var Z = "", w;
2400
+ for (f = 0; f < l.length; ++f)
2401
+ switch (l[f].t) {
2402
+ case "t":
2403
+ case "T":
2404
+ case " ":
2405
+ case "D":
2406
+ break;
2407
+ case "X":
2408
+ l[f].v = "", l[f].t = ";";
2409
+ break;
2410
+ case "d":
2411
+ case "m":
2412
+ case "y":
2413
+ case "h":
2414
+ case "H":
2415
+ case "M":
2416
+ case "s":
2417
+ case "e":
2418
+ case "b":
2419
+ case "Z":
2420
+ l[f].v = Ar(l[f].t.charCodeAt(0), l[f].v, R, wt), l[f].t = "t";
2421
+ break;
2422
+ case "n":
2423
+ case "?":
2424
+ for (w = f + 1; l[w] != null && ((I = l[w].t) === "?" || I === "D" || (I === " " || I === "t") && l[w + 1] != null && (l[w + 1].t === "?" || l[w + 1].t === "t" && l[w + 1].v === "/") || l[f].t === "(" && (I === " " || I === "n" || I === ")") || I === "t" && (l[w].v === "/" || l[w].v === " " && l[w + 1] != null && l[w + 1].t == "?")); )
2425
+ l[f].v += l[w].v, l[w] = { v: "", t: ";" }, ++w;
2426
+ Z += l[f].v, f = w - 1;
2427
+ break;
2428
+ case "G":
2429
+ l[f].t = "t", l[f].v = kt(o, a);
2430
+ break;
2431
+ }
2432
+ var u = "", C, D;
2433
+ if (Z.length > 0) {
2434
+ Z.charCodeAt(0) == 40 ? (C = o < 0 && Z.charCodeAt(0) === 45 ? -o : o, D = lt("n", Z, C)) : (C = o < 0 && T > 1 ? -o : o, D = lt("n", Z, C), C < 0 && l[0] && l[0].t == "t" && (D = D.substr(1), l[0].v = "-" + l[0].v)), w = D.length - 1;
2435
+ var M = l.length;
2436
+ for (f = 0; f < l.length; ++f) if (l[f] != null && l[f].t != "t" && l[f].v.indexOf(".") > -1) {
2437
+ M = f;
2438
+ break;
2439
+ }
2440
+ var S = l.length;
2441
+ if (M === l.length && D.indexOf("E") === -1) {
2442
+ for (f = l.length - 1; f >= 0; --f)
2443
+ l[f] == null || "n?".indexOf(l[f].t) === -1 || (w >= l[f].v.length - 1 ? (w -= l[f].v.length, l[f].v = D.substr(w + 1, l[f].v.length)) : w < 0 ? l[f].v = "" : (l[f].v = D.substr(0, w + 1), w = -1), l[f].t = "t", S = f);
2444
+ w >= 0 && S < l.length && (l[S].v = D.substr(0, w + 1) + l[S].v);
2445
+ } else if (M !== l.length && D.indexOf("E") === -1) {
2446
+ for (w = D.indexOf(".") - 1, f = M; f >= 0; --f)
2447
+ if (!(l[f] == null || "n?".indexOf(l[f].t) === -1)) {
2448
+ for (P = l[f].v.indexOf(".") > -1 && f === M ? l[f].v.indexOf(".") - 1 : l[f].v.length - 1, u = l[f].v.substr(P + 1); P >= 0; --P)
2449
+ w >= 0 && (l[f].v.charAt(P) === "0" || l[f].v.charAt(P) === "#") && (u = D.charAt(w--) + u);
2450
+ l[f].v = u, l[f].t = "t", S = f;
2451
+ }
2452
+ for (w >= 0 && S < l.length && (l[S].v = D.substr(0, w + 1) + l[S].v), w = D.indexOf(".") + 1, f = M; f < l.length; ++f)
2453
+ if (!(l[f] == null || "n?(".indexOf(l[f].t) === -1 && f !== M)) {
2454
+ for (P = l[f].v.indexOf(".") > -1 && f === M ? l[f].v.indexOf(".") + 1 : 0, u = l[f].v.substr(0, P); P < l[f].v.length; ++P)
2455
+ w < D.length && (u += D.charAt(w++));
2456
+ l[f].v = u, l[f].t = "t", S = f;
2457
+ }
2458
+ }
2459
+ }
2460
+ for (f = 0; f < l.length; ++f) l[f] != null && "n?".indexOf(l[f].t) > -1 && (C = T > 1 && o < 0 && f > 0 && l[f - 1].v === "-" ? -o : o, l[f].v = lt(l[f].t, l[f].v, C), l[f].t = "t");
2461
+ var F = "";
2462
+ for (f = 0; f !== l.length; ++f) l[f] != null && (F += l[f].v);
2463
+ return F;
2464
+ }
2465
+ n._eval = we;
2466
+ var Re = /\[[=<>]/, Se = /\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/;
2467
+ function Me(c, o) {
2468
+ if (o == null) return !1;
2469
+ var a = parseFloat(o[2]);
2470
+ switch (o[1]) {
2471
+ case "=":
2472
+ if (c == a) return !0;
2473
+ break;
2474
+ case ">":
2475
+ if (c > a) return !0;
2476
+ break;
2477
+ case "<":
2478
+ if (c < a) return !0;
2479
+ break;
2480
+ case "<>":
2481
+ if (c != a) return !0;
2482
+ break;
2483
+ case ">=":
2484
+ if (c >= a) return !0;
2485
+ break;
2486
+ case "<=":
2487
+ if (c <= a) return !0;
2488
+ break;
2489
+ }
2490
+ return !1;
2491
+ }
2492
+ function Oe(c, o) {
2493
+ var a = Ce(c), T = a.length, l = a[T - 1].indexOf("@");
2494
+ if (T < 4 && l > -1 && --T, a.length > 4) throw new Error("cannot find right format for |" + a.join("|") + "|");
2495
+ if (typeof o != "number") return [4, a.length === 4 || l > -1 ? a[a.length - 1] : "@"];
2496
+ switch (a.length) {
2497
+ case 1:
2498
+ a = l > -1 ? ["General", "General", "General", a[0]] : [a[0], a[0], a[0], "@"];
2499
+ break;
2500
+ case 2:
2501
+ a = l > -1 ? [a[0], a[0], a[0], a[1]] : [a[0], a[1], a[0], "@"];
2502
+ break;
2503
+ case 3:
2504
+ a = l > -1 ? [a[0], a[1], a[0], a[2]] : [a[0], a[1], a[2], "@"];
2505
+ break;
2506
+ }
2507
+ var L = o > 0 ? a[0] : o < 0 ? a[1] : a[2];
2508
+ if (a[0].indexOf("[") === -1 && a[1].indexOf("[") === -1) return [T, L];
2509
+ if (a[0].match(Re) != null || a[1].match(Re) != null) {
2510
+ var f = a[0].match(Se), I = a[1].match(Se);
2511
+ return Me(o, f) ? [T, a[0]] : Me(o, I) ? [T, a[1]] : [T, a[f != null && I != null ? 2 : 1]];
2512
+ }
2513
+ return [T, L];
2514
+ }
2515
+ function me(c, o, a) {
2516
+ a == null && (a = {});
2517
+ var T = "";
2518
+ switch (typeof c) {
2519
+ case "string":
2520
+ c == "m/d/yy" && a.dateNF ? T = a.dateNF : T = c;
2521
+ break;
2522
+ case "number":
2523
+ c == 14 && a.dateNF ? T = a.dateNF : T = (a.table != null ? a.table : W)[c], T == null && (T = a.table && a.table[X[c]] || W[X[c]]), T == null && (T = nt[c] || "General");
2524
+ break;
2525
+ }
2526
+ if (O(T, 0)) return kt(o, a);
2527
+ o instanceof Date && (o = Ee(o, a.date1904));
2528
+ var l = Oe(T, o);
2529
+ if (O(l[1])) return kt(o, a);
2530
+ if (o === !0) o = "TRUE";
2531
+ else if (o === !1) o = "FALSE";
2532
+ else if (o === "" || o == null) return "";
2533
+ return we(l[1], o, a, l[0]);
2534
+ }
2535
+ function Ne(c, o) {
2536
+ if (typeof o != "number") {
2537
+ o = +o || -1;
2538
+ for (var a = 0; a < 392; ++a) {
2539
+ if (W[a] == null) {
2540
+ o < 0 && (o = a);
2541
+ continue;
2542
+ }
2543
+ if (W[a] == c) {
2544
+ o = a;
2545
+ break;
2546
+ }
2547
+ }
2548
+ o < 0 && (o = 391);
2549
+ }
2550
+ return W[o] = c, o;
2551
+ }
2552
+ n.load = Ne, n._table = W, n.get_table = function() {
2553
+ return W;
2554
+ }, n.load_table = function(o) {
2555
+ for (var a = 0; a != 392; ++a)
2556
+ o[a] !== void 0 && Ne(o[a], a);
2557
+ }, n.init_table = U, n.format = me, n.choose_format = Oe;
2558
+ }
2559
+ r(t), typeof DO_NOT_EXPORT_SSF > "u" && (e.exports = t);
2560
+ }(Jt)), Jt.exports;
2561
+ }
2562
+ var On = Mn();
2563
+ const hr = /* @__PURE__ */ Rr(On);
2564
+ function lr(e, t, r = {}) {
2565
+ return hr.format(t || Vt, e, r);
2566
+ }
2567
+ function mn(e) {
2568
+ return e ? hr.is_date(e) : !1;
2569
+ }
2570
+ function ui(e, t) {
2571
+ const r = new Date(1899, 11, 31, 0, 0, 0), n = r.getTime(), s = new Date(1900, 2, 1, 0, 0, 0);
2572
+ let i = e.getTime();
2573
+ return e >= s && (i += 24 * 60 * 60 * 1e3), (i - (n + (e.getTimezoneOffset() - r.getTimezoneOffset()) * 6e4)) / (24 * 60 * 60 * 1e3);
2574
+ }
2575
+ const Nn = (...e) => {
2576
+ const t = de(e);
2577
+ return typeof t == "string" ? t : "";
2578
+ }, In = (...e) => Ft(e).toLowerCase(), Pe = (...e) => {
2579
+ const t = tt(e);
2580
+ return String.fromCharCode(t);
2581
+ }, Be = (...e) => Ft(e).charCodeAt(0), Tn = (...e) => Ft(e).length, Dn = (...e) => {
2582
+ J(e.length === 2);
2583
+ const [t, r] = e;
2584
+ return J(typeof t == "string"), J(typeof r == "string"), t.split(r);
2585
+ }, bn = (...e) => Ft(e).toUpperCase(), Ln = (...e) => {
2586
+ J(e.length === 2);
2587
+ const [t, r] = e;
2588
+ return J(typeof t == "string" || typeof t == "number"), J(typeof r == "string"), lr(t, r);
2589
+ }, _n = (...e) => Ft(e).replace(/ +/g, " ").trim(), He = (...e) => (J(e.length <= fe), e.join("")), xn = {
2590
+ CONCAT: He,
2591
+ CONCATENATE: He,
2592
+ SPLIT: Dn,
2593
+ CHAR: Pe,
2594
+ CODE: Be,
2595
+ UNICHAR: Pe,
2596
+ UNICODE: Be,
2597
+ LEN: Tn,
2598
+ LOWER: In,
2599
+ UPPER: bn,
2600
+ TRIM: _n,
2601
+ TEXT: Ln,
2602
+ T: Nn
2603
+ };
2604
+ function ur(e) {
2605
+ const t = [];
2606
+ for (let r = 0; r < e.length; r++) {
2607
+ const [n, s] = pt(e[r]);
2608
+ n && t.push(s);
2609
+ }
2610
+ return t;
2611
+ }
2612
+ const vn = (...e) => {
2613
+ const t = tt(e);
2614
+ return Math.abs(t);
2615
+ }, Fn = (...e) => {
2616
+ const t = tt(e);
2617
+ return Math.acos(t);
2618
+ }, Un = (...e) => {
2619
+ const t = tt(e);
2620
+ return Math.log(t + Math.sqrt(t * t - 1));
2621
+ }, kn = (...e) => {
2622
+ const t = tt(e);
2623
+ return Math.atan(1 / t);
2624
+ }, Pn = (...e) => {
2625
+ const t = tt(e);
2626
+ return 0.5 * Math.log((t + 1) / (t - 1));
2627
+ }, Bn = (...e) => {
2628
+ const t = tt(e);
2629
+ return Math.asin(t);
2630
+ }, Hn = (...e) => {
2631
+ const t = tt(e);
2632
+ return Math.log(t + Math.sqrt(t * t + 1));
2633
+ }, $n = (...e) => {
2634
+ const t = tt(e);
2635
+ return Math.atan(t);
2636
+ }, Gn = (...e) => {
2637
+ J(e.length === 2);
2638
+ const [t, r] = e;
2639
+ return J(typeof t == "number"), J(typeof r == "number"), Math.atan2(t, r);
2640
+ }, yn = (...e) => {
2641
+ const t = tt(e);
2642
+ return Math.log((1 + t) / (t + 1)) / 2;
2643
+ }, Vn = (...e) => {
2644
+ const t = ur(e);
2645
+ return J(t.length <= fe && t.length >= 1), t.reduce((r, n) => r + n, 0) / t.length;
2646
+ }, Wn = (...e) => {
2647
+ const t = tt(e);
2648
+ return Math.cos(t);
2649
+ }, Xn = (...e) => {
2650
+ const t = tt(e);
2651
+ return 1 / Math.tan(t);
2652
+ }, zn = (...e) => {
2653
+ const t = tt(e);
2654
+ return Math.exp(t);
2655
+ }, Kn = (...e) => {
2656
+ const t = tt(e);
2657
+ return Math.floor(t);
2658
+ }, Yn = (...e) => (Sn(e), Math.PI), jn = (...e) => {
2659
+ const t = tt(e);
2660
+ return Math.sin(t);
2661
+ }, Qn = (...e) => {
2662
+ const t = ur(e);
2663
+ return J(t.length <= fe), t.reduce((r, n) => r + n, 0);
2664
+ }, Zn = {
2665
+ ABS: vn,
2666
+ ACOS: Fn,
2667
+ ACOSH: Un,
2668
+ ACOT: kn,
2669
+ ACOTH: Pn,
2670
+ ASIN: Bn,
2671
+ ASINH: Hn,
2672
+ ATAN: $n,
2673
+ ATAN2: Gn,
2674
+ ATANH: yn,
2675
+ AVERAGE: Vn,
2676
+ COT: Xn,
2677
+ COS: Wn,
2678
+ EXP: zn,
2679
+ INT: Kn,
2680
+ PI: Yn,
2681
+ SIN: jn,
2682
+ SUM: Qn
2683
+ };
2684
+ function Jn(e) {
2685
+ const t = String(e), r = /[.](\d*)/.exec(t);
2686
+ if (r && r[1]) {
2687
+ const n = Math.pow(10, Math.min(r[1].length, Te)), s = t.split("."), i = s[0] + s[1].slice(0, Te);
2688
+ return Number(i) / n;
2689
+ } else
2690
+ return e;
2691
+ }
2692
+ const fr = {
2693
+ ...xn,
2694
+ ...Zn
2695
+ }, $e = "";
2696
+ class qn {
2697
+ constructor(t) {
2698
+ _(this, "list");
2699
+ _(this, "current", 0);
2700
+ _(this, "start", 0);
2701
+ _(this, "tokens", []);
2702
+ this.list = [...t];
2703
+ }
2704
+ scan() {
2705
+ for (; !this.isAtEnd(); )
2706
+ this.start = this.current, this.scanToken();
2707
+ return this.tokens.push(new at(p.EOF, "")), this.tokens.length > 0 && this.tokens[0].type === p.EQUAL && this.tokens.shift(), this.tokens;
2708
+ }
2709
+ peek() {
2710
+ return this.isAtEnd() ? $e : this.list[this.current];
2711
+ }
2712
+ match(t) {
2713
+ return this.peek() !== t ? !1 : (this.next(), !0);
2714
+ }
2715
+ next() {
2716
+ return this.isAtEnd() ? $e : this.list[this.current++];
2717
+ }
2718
+ isAtEnd() {
2719
+ return this.current >= this.list.length;
2720
+ }
2721
+ addToken(t) {
2722
+ const r = this.list.slice(this.start, this.current).join("");
2723
+ this.tokens.push(new at(t, r));
2724
+ }
2725
+ string(t) {
2726
+ for (; !this.isAtEnd() && this.peek() !== t; )
2727
+ this.next();
2728
+ if (this.peek() !== t)
2729
+ throw new V("#VALUE!");
2730
+ this.next();
2731
+ const r = this.list.slice(this.start + 1, this.current - 1).join("");
2732
+ if (t === "'" && this.match("!")) {
2733
+ this.tokens.push(new at(p.SHEET_NAME, r));
2734
+ return;
2735
+ }
2736
+ this.tokens.push(new at(p.STRING, r));
2737
+ }
2738
+ getDigits() {
2739
+ for (; !this.isAtEnd() && dt(this.peek()); )
2740
+ this.next();
2741
+ }
2742
+ getAlphas() {
2743
+ for (; !this.isAtEnd() && ie(this.peek()); )
2744
+ this.next();
2745
+ }
2746
+ matchR1C1() {
2747
+ if (this.match("[")) {
2748
+ if (this.match("-"), dt(this.peek()))
2749
+ this.getDigits();
2750
+ else
2751
+ throw new V("#VALUE!");
2752
+ if (this.peek() !== "]")
2753
+ throw new V("#VALUE!");
2754
+ this.next();
2755
+ } else
2756
+ this.getDigits();
2757
+ }
2758
+ matchScientificCounting() {
2759
+ if (this.match("E") || this.match("e")) {
2760
+ if (this.match("+") || this.match("-"))
2761
+ return this.getDigits(), this.addToken(p.NUMBER), !0;
2762
+ if (dt(this.peek()))
2763
+ return this.getDigits(), this.addToken(p.NUMBER), !0;
2764
+ throw new V("#VALUE!");
2765
+ }
2766
+ return !1;
2767
+ }
2768
+ number() {
2769
+ this.getDigits(), !(this.matchScientificCounting() || (this.match(".") && this.getDigits(), this.matchScientificCounting())) && this.addToken(p.NUMBER);
2770
+ }
2771
+ addIdentifier() {
2772
+ for (; !this.isAtEnd() && this.anyChar(this.peek()); )
2773
+ this.next();
2774
+ let t = this.list.slice(this.start, this.current).join("");
2775
+ const r = t.toUpperCase();
2776
+ if (xr.has(r) && this.match("(")) {
2777
+ this.tokens.push(new at(p.EXCEL_FUNCTION, r));
2778
+ return;
2779
+ }
2780
+ if (["IF", "CHOOSE"].includes(r) && this.match("(")) {
2781
+ this.tokens.push(new at(p.REF_FUNCTION_COND, r));
2782
+ return;
2783
+ }
2784
+ if (["INDEX", "OFFSET", "INDIRECT"].includes(r) && this.match("(")) {
2785
+ this.tokens.push(new at(p.REF_FUNCTION, r));
2786
+ return;
2787
+ }
2788
+ if (this.match("!")) {
2789
+ this.tokens.push(new at(p.SHEET_NAME, t));
2790
+ return;
2791
+ }
2792
+ let n = p.BOOL;
2793
+ if (r === "TRUE" || r === "FALSE")
2794
+ t = r, n = p.BOOL;
2795
+ else if (Ye.has(r))
2796
+ t = r, n = r === "#REF!" ? p.ERROR_REF : p.ERROR;
2797
+ else if (Dr.test(r))
2798
+ n = p.CELL;
2799
+ else if (br.test(r))
2800
+ n = p.COLUMN;
2801
+ else if (Lr.test(r))
2802
+ n = p.ROW;
2803
+ else if (_r.test(r))
2804
+ n = p.DEFINED_NAME;
2805
+ else
2806
+ throw new V("#NAME?");
2807
+ this.tokens.push(new at(n, t));
2808
+ }
2809
+ scanToken() {
2810
+ const t = this.next();
2811
+ switch (t) {
2812
+ case "$": {
2813
+ ie(this.peek()) ? (this.getAlphas(), this.match("$") ? dt(this.peek()) ? (this.getDigits(), this.addToken(p.CELL)) : this.addIdentifier() : dt(this.peek()) ? (this.getDigits(), this.addToken(p.CELL)) : this.addToken(p.COLUMN)) : dt(this.peek()) ? (this.getDigits(), this.addToken(p.ROW)) : this.addIdentifier();
2814
+ break;
2815
+ }
2816
+ case "r":
2817
+ case "R": {
2818
+ if (this.matchR1C1(), this.match("C") || this.match("c")) {
2819
+ this.matchR1C1();
2820
+ const r = this.list.slice(this.start, this.current).join("").toUpperCase();
2821
+ this.tokens.push(new at(p.R1C1, r));
2822
+ } else
2823
+ this.addIdentifier();
2824
+ break;
2825
+ }
2826
+ case "(":
2827
+ this.addToken(p.LEFT_BRACKET);
2828
+ break;
2829
+ case ")":
2830
+ this.addToken(p.RIGHT_BRACKET);
2831
+ break;
2832
+ case ",":
2833
+ this.addToken(p.COMMA);
2834
+ break;
2835
+ case ":":
2836
+ this.addToken(p.COLON);
2837
+ break;
2838
+ case Ke:
2839
+ this.addToken(p.EQUAL);
2840
+ break;
2841
+ case "<":
2842
+ this.match(">") ? this.addToken(p.NOT_EQUAL) : this.match("=") ? this.addToken(p.LESS_EQUAL) : this.addToken(p.LESS);
2843
+ break;
2844
+ case ">":
2845
+ this.match("=") ? this.addToken(p.GREATER_EQUAL) : this.addToken(p.GREATER);
2846
+ break;
2847
+ case "+":
2848
+ this.addToken(p.PLUS);
2849
+ break;
2850
+ case "-":
2851
+ this.addToken(p.MINUS);
2852
+ break;
2853
+ case "*":
2854
+ this.addToken(p.STAR);
2855
+ break;
2856
+ case "/":
2857
+ this.addToken(p.SLASH);
2858
+ break;
2859
+ case "^":
2860
+ this.addToken(p.EXPONENT);
2861
+ break;
2862
+ case "&":
2863
+ this.addToken(p.CONCATENATE);
2864
+ break;
2865
+ case "%":
2866
+ this.addToken(p.PERCENT);
2867
+ break;
2868
+ case '"':
2869
+ this.string(t);
2870
+ break;
2871
+ case "'":
2872
+ this.string(t);
2873
+ break;
2874
+ case "!":
2875
+ this.addToken(p.EXCLAMATION);
2876
+ break;
2877
+ case ";":
2878
+ this.addToken(p.SEMICOLON);
2879
+ break;
2880
+ case "{":
2881
+ this.addToken(p.lEFT_BRACE);
2882
+ break;
2883
+ case "}":
2884
+ this.addToken(p.RIGHT_BRACE);
2885
+ break;
2886
+ case " ":
2887
+ break;
2888
+ case "\r":
2889
+ case " ":
2890
+ case `
2891
+ `:
2892
+ break;
2893
+ default:
2894
+ dt(t) ? this.number() : this.addIdentifier();
2895
+ break;
2896
+ }
2897
+ }
2898
+ anyChar(t) {
2899
+ return !'(),:=<>+-*/^&%"{}!'.includes(t) && !this.isWhiteSpace(t);
2900
+ }
2901
+ isWhiteSpace(t) {
2902
+ return t === " " || t === "\r" || t === `
2903
+ ` || t === " ";
2904
+ }
2905
+ }
2906
+ class Tt {
2907
+ constructor(t, r, n) {
2908
+ _(this, "left");
2909
+ _(this, "right");
2910
+ _(this, "operator");
2911
+ this.left = t, this.operator = r, this.right = n;
2912
+ }
2913
+ accept(t) {
2914
+ return t.visitBinaryExpression(this);
2915
+ }
2916
+ handleConcatenate(t) {
2917
+ const r = t.toString();
2918
+ return this.operator.type === p.CONCATENATE && t instanceof he && t.value.type === p.STRING ? JSON.stringify(r) : r;
2919
+ }
2920
+ toString() {
2921
+ const t = this.handleConcatenate(this.left), r = this.handleConcatenate(this.right);
2922
+ return `${t}${this.operator.toString()}${r}`;
2923
+ }
2924
+ }
2925
+ class ts {
2926
+ constructor(t, r) {
2927
+ _(this, "right");
2928
+ _(this, "operator");
2929
+ this.operator = t, this.right = r;
2930
+ }
2931
+ accept(t) {
2932
+ return t.visitUnaryExpression(this);
2933
+ }
2934
+ toString() {
2935
+ return this.operator.toString() + this.right.toString();
2936
+ }
2937
+ }
2938
+ class es {
2939
+ constructor(t, r) {
2940
+ _(this, "left");
2941
+ _(this, "operator");
2942
+ this.operator = t, this.left = r;
2943
+ }
2944
+ accept(t) {
2945
+ return t.visitPostUnaryExpression(this);
2946
+ }
2947
+ toString() {
2948
+ return this.left.toString() + this.operator.toString();
2949
+ }
2950
+ }
2951
+ class he {
2952
+ constructor(t) {
2953
+ _(this, "value");
2954
+ this.value = t;
2955
+ }
2956
+ accept(t) {
2957
+ return t.visitLiteralExpression(this);
2958
+ }
2959
+ toString() {
2960
+ return this.value.toString();
2961
+ }
2962
+ }
2963
+ class Dt {
2964
+ constructor(t, r) {
2965
+ _(this, "value");
2966
+ _(this, "sheetName");
2967
+ this.value = t, this.sheetName = r;
2968
+ }
2969
+ accept(t) {
2970
+ return t.visitCellExpression(this);
2971
+ }
2972
+ toString() {
2973
+ const t = this.value.toString().toUpperCase();
2974
+ if (this.sheetName) {
2975
+ let r = this.sheetName.toString();
2976
+ return r.includes(" ") && (r = `'${r}'`), `${r}!${t}`;
2977
+ } else
2978
+ return t;
2979
+ }
2980
+ }
2981
+ class rs {
2982
+ constructor(t, r) {
2983
+ _(this, "name");
2984
+ _(this, "params");
2985
+ this.name = t, this.params = r;
2986
+ }
2987
+ accept(t) {
2988
+ return t.visitCallExpression(this);
2989
+ }
2990
+ toString() {
2991
+ return `${this.name.toString()}(${this.params.map((t) => t.toString()).join(",")})`;
2992
+ }
2993
+ }
2994
+ class ns {
2995
+ constructor(t, r, n) {
2996
+ _(this, "right");
2997
+ _(this, "operator");
2998
+ _(this, "left");
2999
+ this.left = t, this.operator = r, this.right = n;
3000
+ }
3001
+ accept(t) {
3002
+ return t.visitCellRangeExpression(this);
3003
+ }
3004
+ toString() {
3005
+ return this.left.toString() + this.operator.toString() + this.right.toString();
3006
+ }
3007
+ }
3008
+ class ss {
3009
+ constructor(t) {
3010
+ _(this, "value");
3011
+ this.value = t;
3012
+ }
3013
+ accept(t) {
3014
+ return t.visitGroupExpression(this);
3015
+ }
3016
+ toString() {
3017
+ return `(${this.value.toString()})`;
3018
+ }
3019
+ }
3020
+ class is {
3021
+ constructor(t) {
3022
+ _(this, "value");
3023
+ this.value = t;
3024
+ }
3025
+ accept(t) {
3026
+ return t.visitArrayExpression(this);
3027
+ }
3028
+ toString() {
3029
+ return `{${this.value.map((r) => r.toString()).join(",")}}`;
3030
+ }
3031
+ }
3032
+ class os {
3033
+ constructor(t) {
3034
+ _(this, "tokens");
3035
+ _(this, "current", 0);
3036
+ this.tokens = t;
3037
+ }
3038
+ parse() {
3039
+ const t = [];
3040
+ for (; !this.isAtEnd(); )
3041
+ t.push(this.expression());
3042
+ return t;
3043
+ }
3044
+ expression() {
3045
+ return this.comparison();
3046
+ }
3047
+ comparison() {
3048
+ let t = this.concatenate();
3049
+ for (; this.match(
3050
+ p.EQUAL,
3051
+ p.NOT_EQUAL,
3052
+ p.GREATER,
3053
+ p.GREATER_EQUAL,
3054
+ p.LESS,
3055
+ p.LESS_EQUAL
3056
+ ); ) {
3057
+ const r = this.previous(), n = this.concatenate();
3058
+ t = new Tt(t, r, n);
3059
+ }
3060
+ return t;
3061
+ }
3062
+ concatenate() {
3063
+ let t = this.term();
3064
+ for (; this.match(p.CONCATENATE); ) {
3065
+ const r = this.previous(), n = this.term();
3066
+ t = new Tt(t, r, n);
3067
+ }
3068
+ return t;
3069
+ }
3070
+ term() {
3071
+ let t = this.factor();
3072
+ for (; this.match(p.PLUS, p.MINUS); ) {
3073
+ const r = this.previous(), n = this.factor();
3074
+ t = new Tt(t, r, n);
3075
+ }
3076
+ return t;
3077
+ }
3078
+ factor() {
3079
+ let t = this.expo();
3080
+ for (; this.match(p.SLASH, p.STAR); ) {
3081
+ const r = this.previous(), n = this.expo();
3082
+ t = new Tt(t, r, n);
3083
+ }
3084
+ return t;
3085
+ }
3086
+ expo() {
3087
+ let t = this.unary();
3088
+ for (; this.match(p.EXPONENT); ) {
3089
+ const r = this.previous(), n = this.unary();
3090
+ t = new Tt(t, r, n);
3091
+ }
3092
+ return t;
3093
+ }
3094
+ unary() {
3095
+ if (this.match(p.PLUS, p.MINUS)) {
3096
+ const t = this.previous(), r = this.unary();
3097
+ return new ts(t, r);
3098
+ }
3099
+ return this.postUnary();
3100
+ }
3101
+ postUnary() {
3102
+ let t = this.cellRange();
3103
+ if (this.match(p.PERCENT)) {
3104
+ const r = this.previous();
3105
+ t = new es(r, t);
3106
+ }
3107
+ return t;
3108
+ }
3109
+ cellRange() {
3110
+ let t = this.sheetRange();
3111
+ for (; this.match(p.COLON); ) {
3112
+ const r = this.previous(), n = this.sheetRange(), s = this.convertToCellExpression(n), i = this.convertToCellExpression(t);
3113
+ t = new ns(i, r, s);
3114
+ }
3115
+ return t;
3116
+ }
3117
+ convertToCellExpression(t) {
3118
+ if (t instanceof Dt)
3119
+ return t;
3120
+ if (t instanceof he && t.value.type === p.NUMBER)
3121
+ return new Dt(t.value, void 0);
3122
+ throw new V("#NAME?");
3123
+ }
3124
+ sheetRange() {
3125
+ if (this.match(p.SHEET_NAME)) {
3126
+ const t = this.previous();
3127
+ let r = this.call();
3128
+ if (r instanceof Dt)
3129
+ return new Dt(r.value, t);
3130
+ throw new V("#REF!");
3131
+ }
3132
+ return this.call();
3133
+ }
3134
+ call() {
3135
+ for (; this.match(
3136
+ p.EXCEL_FUNCTION,
3137
+ p.REF_FUNCTION,
3138
+ p.REF_FUNCTION_COND
3139
+ ); ) {
3140
+ const t = this.previous(), r = [];
3141
+ if (!this.check(p.RIGHT_BRACKET))
3142
+ do {
3143
+ if (this.peek().type == p.RIGHT_BRACKET)
3144
+ break;
3145
+ r.push(this.expression());
3146
+ } while (this.match(p.COMMA));
3147
+ return this.expect(p.RIGHT_BRACKET), new rs(t, r);
3148
+ }
3149
+ return this.primary();
3150
+ }
3151
+ primary() {
3152
+ if (this.match(p.lEFT_BRACE)) {
3153
+ const t = [];
3154
+ do {
3155
+ if (this.peek().type == p.RIGHT_BRACE)
3156
+ break;
3157
+ t.push(this.expression());
3158
+ } while (this.match(p.COMMA));
3159
+ return this.expect(p.RIGHT_BRACE), new is(t);
3160
+ }
3161
+ if (this.match(p.LEFT_BRACKET)) {
3162
+ const t = this.expression();
3163
+ return this.expect(p.RIGHT_BRACKET), new ss(t);
3164
+ }
3165
+ if (this.match(p.NUMBER, p.STRING, p.BOOL))
3166
+ return new he(this.previous());
3167
+ if (this.match(
3168
+ p.CELL,
3169
+ p.COLUMN,
3170
+ p.ROW,
3171
+ p.DEFINED_NAME,
3172
+ p.R1C1
3173
+ )) {
3174
+ const t = this.previous();
3175
+ return new Dt(t, void 0);
3176
+ }
3177
+ throw this.match(p.ERROR, p.ERROR_REF) ? new V(this.previous().value) : new V("#VALUE!");
3178
+ }
3179
+ match(...t) {
3180
+ const { type: r } = this.peek();
3181
+ return t.includes(r) ? (this.next(), !0) : !1;
3182
+ }
3183
+ previous() {
3184
+ return this.tokens[this.current - 1];
3185
+ }
3186
+ check(t) {
3187
+ return this.peek().type === t;
3188
+ }
3189
+ expect(t) {
3190
+ if (this.check(t))
3191
+ return this.next(), this.previous();
3192
+ throw new V("#VALUE!");
3193
+ }
3194
+ next() {
3195
+ this.current++;
3196
+ }
3197
+ isAtEnd() {
3198
+ return this.peek().type === p.EOF;
3199
+ }
3200
+ peek() {
3201
+ return this.current < this.tokens.length ? this.tokens[this.current] : new at(p.EOF, "");
3202
+ }
3203
+ }
3204
+ class as {
3205
+ constructor(t, r, n) {
3206
+ _(this, "expressions");
3207
+ _(this, "cellDataMap");
3208
+ _(this, "currentCoord");
3209
+ this.expressions = t, this.cellDataMap = n, this.currentCoord = r;
3210
+ }
3211
+ interpret() {
3212
+ let t = [];
3213
+ for (const r of this.expressions) {
3214
+ const n = this.evaluate(r), s = this.getRangeCellValue(n);
3215
+ Array.isArray(s) ? t = t.concat(s) : t.push(s);
3216
+ }
3217
+ return t;
3218
+ }
3219
+ visitBinaryExpression(t) {
3220
+ let r = this.evaluate(t.left), n = this.evaluate(t.right);
3221
+ switch (r = this.getOneValue(r), n = this.getOneValue(n), [
3222
+ p.MINUS,
3223
+ p.PLUS,
3224
+ p.SLASH,
3225
+ p.STAR,
3226
+ p.EXPONENT
3227
+ ].includes(t.operator.type) && (r = this.parseNumber(r), n = this.parseNumber(n)), t.operator.type) {
3228
+ case p.MINUS:
3229
+ return r - n;
3230
+ case p.PLUS:
3231
+ return r + n;
3232
+ case p.SLASH: {
3233
+ if (n === 0)
3234
+ throw new V("#DIV/0!");
3235
+ return r / n;
3236
+ }
3237
+ case p.STAR:
3238
+ return r * n;
3239
+ case p.EXPONENT:
3240
+ return Math.pow(r, n);
3241
+ case p.EQUAL:
3242
+ return r === n;
3243
+ case p.NOT_EQUAL:
3244
+ return r !== n;
3245
+ case p.GREATER:
3246
+ return r > n;
3247
+ case p.GREATER_EQUAL:
3248
+ return r >= n;
3249
+ case p.LESS:
3250
+ return r < n;
3251
+ case p.LESS_EQUAL:
3252
+ return r <= n;
3253
+ case p.CONCATENATE:
3254
+ return `${r}${n}`;
3255
+ default:
3256
+ throw new V("#TEXT");
3257
+ }
3258
+ }
3259
+ visitCallExpression(t) {
3260
+ const r = this.cellDataMap.getFunction(t.name.value);
3261
+ if (r && typeof r == "function") {
3262
+ let n = [];
3263
+ for (const s of t.params) {
3264
+ const i = this.evaluate(s);
3265
+ if (i instanceof ct) {
3266
+ const h = this.getCellValue(i, !1);
3267
+ n = n.concat(h);
3268
+ } else
3269
+ n.push(i);
3270
+ }
3271
+ return r(...n);
3272
+ }
3273
+ throw new V("#NAME?");
3274
+ }
3275
+ visitCellExpression(t) {
3276
+ let r = "";
3277
+ if (t.sheetName) {
3278
+ const s = this.cellDataMap.getSheetInfo("", t.sheetName.value);
3279
+ if (!(s != null && s.sheetId))
3280
+ throw new V("#REF!");
3281
+ r = s.sheetId;
3282
+ }
3283
+ let n;
3284
+ if ([
3285
+ p.DEFINED_NAME,
3286
+ p.CELL,
3287
+ p.COLUMN,
3288
+ p.R1C1
3289
+ ].includes(t.value.type) && (n = this.cellDataMap.getDefinedName(t.value.value)), n || (t.value.type === p.R1C1 ? n = jr(t.value.value, this.currentCoord) : n = Yr(t.value.value)), !n)
3290
+ throw new V("#REF!");
3291
+ return r && (n.sheetId = r), n;
3292
+ }
3293
+ visitLiteralExpression(t) {
3294
+ const { type: r, value: n } = t.value;
3295
+ switch (r) {
3296
+ case p.STRING:
3297
+ return n;
3298
+ case p.NUMBER: {
3299
+ const [s, i] = pt(n);
3300
+ if (s)
3301
+ return i;
3302
+ throw new V("#VALUE!");
3303
+ }
3304
+ case p.BOOL:
3305
+ return n === "TRUE";
3306
+ default:
3307
+ throw new V("#VALUE!");
3308
+ }
3309
+ }
3310
+ visitUnaryExpression(t) {
3311
+ const r = this.evaluate(t.right), n = this.parseNumber(this.getOneValue(r));
3312
+ switch (t.operator.type) {
3313
+ case p.MINUS:
3314
+ return -n;
3315
+ case p.PLUS:
3316
+ return n;
3317
+ default:
3318
+ throw new V("#VALUE!");
3319
+ }
3320
+ }
3321
+ visitCellRangeExpression(t) {
3322
+ switch (t.operator.type) {
3323
+ case p.COLON: {
3324
+ const r = this.visitCellExpression(t.left), n = this.visitCellExpression(t.right), s = tr(r, n);
3325
+ if (!s)
3326
+ throw new V("#NAME?");
3327
+ return s;
3328
+ }
3329
+ default:
3330
+ throw new V("#NAME?");
3331
+ }
3332
+ }
3333
+ visitGroupExpression(t) {
3334
+ return this.evaluate(t.value);
3335
+ }
3336
+ visitArrayExpression(t) {
3337
+ const r = [];
3338
+ for (const n of t.value)
3339
+ r.push(this.evaluate(n));
3340
+ return r;
3341
+ }
3342
+ visitPostUnaryExpression(t) {
3343
+ const r = this.evaluate(t.left), n = this.parseNumber(this.getOneValue(r));
3344
+ switch (t.operator.type) {
3345
+ case p.PERCENT:
3346
+ return n * 0.01;
3347
+ default:
3348
+ throw new V("#VALUE!");
3349
+ }
3350
+ }
3351
+ evaluate(t) {
3352
+ return t.accept(this);
3353
+ }
3354
+ getRangeCellValue(t) {
3355
+ if (t instanceof ct) {
3356
+ if (t.colCount === t.rowCount && t.colCount === 1)
3357
+ return this.getCellValue(t, !0);
3358
+ throw new V("#REF!");
3359
+ }
3360
+ return t;
3361
+ }
3362
+ getOneValue(t) {
3363
+ const r = this.getRangeCellValue(t);
3364
+ return Array.isArray(r) ? r[0] : r;
3365
+ }
3366
+ parseNumber(t) {
3367
+ const [r, n] = pt(t);
3368
+ if (!r)
3369
+ throw new V("#VALUE!");
3370
+ return n;
3371
+ }
3372
+ getCellValue(t, r) {
3373
+ let n = [];
3374
+ if (r) {
3375
+ const A = this.cellDataMap.getCell(t), d = this.cellDataMap.handleCell(A, {
3376
+ row: t.row,
3377
+ col: t.col,
3378
+ sheetId: t.sheetId
3379
+ });
3380
+ return n = n.concat(d), n;
3381
+ }
3382
+ const { row: s, col: i, sheetId: h } = t, g = this.cellDataMap.getSheetInfo(h);
3383
+ if (!g || s >= g.rowCount || i >= g.colCount)
3384
+ throw new V("#REF!");
3385
+ return Kr(t, g.rowCount, g.colCount, (A, d) => {
3386
+ const E = this.cellDataMap.getCell({
3387
+ row: A,
3388
+ col: d,
3389
+ rowCount: 1,
3390
+ colCount: 1,
3391
+ sheetId: h
3392
+ }), m = this.cellDataMap.handleCell(E, { row: A, col: d, sheetId: h });
3393
+ return n = n.concat(m), !1;
3394
+ }), n;
3395
+ }
3396
+ }
3397
+ function dr(e, t = {
3398
+ row: 0,
3399
+ col: 0,
3400
+ sheetId: ""
3401
+ }, r = new cs(), n = /* @__PURE__ */ new Map()) {
3402
+ if (n.has(e)) {
3403
+ const s = n.get(e);
3404
+ return s.result.length === 0 ? { result: [0] } : s;
3405
+ }
3406
+ try {
3407
+ r.handleCell = (d, E) => d ? d.formula ? dr(d.formula, E, r, n).result : [d.value] : [];
3408
+ const s = {
3409
+ result: [],
3410
+ expressionStr: ""
3411
+ };
3412
+ n.set(e, s);
3413
+ const i = new qn(e).scan(), h = new os(i).parse(), g = new as(
3414
+ h,
3415
+ t,
3416
+ r
3417
+ ).interpret(), A = [];
3418
+ for (const d of h)
3419
+ A.push(d.toString());
3420
+ s.expressionStr = A.join("");
3421
+ for (const d of g)
3422
+ typeof d == "number" && !isNaN(d) ? s.result.push(Jn(d)) : s.result.push(d);
3423
+ return s;
3424
+ } catch (s) {
3425
+ if (s instanceof V) {
3426
+ const i = {
3427
+ result: [s.value]
3428
+ };
3429
+ return n.set(e, i), i;
3430
+ }
3431
+ throw s;
3432
+ }
3433
+ }
3434
+ const qt = "_test_";
3435
+ class cs {
3436
+ constructor() {
3437
+ _(this, "map", /* @__PURE__ */ new Map());
3438
+ _(this, "definedNameMap", /* @__PURE__ */ new Map());
3439
+ _(this, "currentSheetId", qt);
3440
+ _(this, "sheetList", [
3441
+ {
3442
+ sheetId: qt,
3443
+ name: "_test_",
3444
+ rowCount: 200,
3445
+ colCount: 30,
3446
+ isHide: !1,
3447
+ sort: 1
3448
+ }
3449
+ ]);
3450
+ _(this, "getFunction", (t) => fr[t]);
3451
+ _(this, "handleCell", (t, r) => t ? [t.value] : []);
3452
+ }
3453
+ getKey(t, r, n) {
3454
+ return `${t}_${r}_${n || qt}`;
3455
+ }
3456
+ setSheetList(t) {
3457
+ this.sheetList = t;
3458
+ }
3459
+ set(t, r) {
3460
+ const { row: n, col: s, sheetId: i } = t;
3461
+ for (let h = 0; h < r.length; h++)
3462
+ for (let g = 0; g < r[h].length; g++) {
3463
+ const A = this.getKey(n + h, s + g, i), d = r[h][g];
3464
+ typeof d == "string" && Br(d) ? this.map.set(A, { formula: d, value: "" }) : this.map.set(A, { value: d });
3465
+ }
3466
+ }
3467
+ getCell(t) {
3468
+ const { row: r, col: n, sheetId: s } = t, i = this.getKey(r, n, s);
3469
+ return this.map.get(i);
3470
+ }
3471
+ getSheetInfo(t, r) {
3472
+ if (r)
3473
+ return this.sheetList.find((s) => s.name === r);
3474
+ const n = t || this.currentSheetId;
3475
+ return this.sheetList.find((s) => s.sheetId === n);
3476
+ }
3477
+ setDefinedName(t, r) {
3478
+ const n = ct.makeRange(r);
3479
+ this.definedNameMap.set(t, n);
3480
+ }
3481
+ getDefinedName(t) {
3482
+ return this.definedNameMap.get(t);
3483
+ }
3484
+ }
3485
+ function hs(e, t) {
3486
+ const { currentSheetId: r, worksheets: n, workbook: s, definedNames: i } = e, h = /* @__PURE__ */ new Map(), g = {
3487
+ list: []
3488
+ }, A = {
3489
+ handleCell: () => [],
3490
+ getFunction: (d) => fr[d],
3491
+ getCell: (d) => {
3492
+ const { row: E, col: m, sheetId: N } = d, O = Qe(N || r, E, m);
3493
+ return n[O];
3494
+ },
3495
+ set: () => {
3496
+ throw new V("#REF!");
3497
+ },
3498
+ getSheetInfo: (d, E) => {
3499
+ if (E)
3500
+ return s.find((N) => N.name === E);
3501
+ const m = d || r;
3502
+ return s.find((N) => N.sheetId === m);
3503
+ },
3504
+ setDefinedName: () => {
3505
+ throw new V("#REF!");
3506
+ },
3507
+ getDefinedName: (d) => {
3508
+ const E = i[d];
3509
+ return E && ct.makeRange(E);
3510
+ }
3511
+ };
3512
+ for (const [d, E] of Object.entries(n)) {
3513
+ const m = Pr(d);
3514
+ if (!m || m.sheetId !== r || !(E != null && E.formula))
3515
+ continue;
3516
+ const N = dr(E == null ? void 0 : E.formula, m, A, h);
3517
+ if (!N)
3518
+ continue;
3519
+ const O = N.result[0];
3520
+ O !== E.value && g.list.push({
3521
+ key: d,
3522
+ newValue: O,
3523
+ sheetId: r
3524
+ });
3525
+ }
3526
+ return t(g);
3527
+ }
3528
+ const te = /* @__PURE__ */ new Map();
3529
+ function ls(e, t) {
3530
+ const r = `${t}__${e.font}`;
3531
+ if (te.has(r))
3532
+ return te.get(r);
3533
+ const n = e.measureText(t), { actualBoundingBoxAscent: s, actualBoundingBoxDescent: i } = n, h = s + i, g = n.width, A = Math.ceil(g / Wt()), d = Math.ceil(h / Wt()), E = { width: A, height: d };
3534
+ return te.set(r, E), E;
3535
+ }
3536
+ function st(e, t, r, n, s) {
3537
+ e.fillRect(G(t), G(r), G(n), G(s));
3538
+ }
3539
+ function le(e, t, r, n, s) {
3540
+ e.strokeRect(G(t), G(r), G(n), G(s));
3541
+ }
3542
+ function Ge(e, t, r, n, s) {
3543
+ e.clearRect(G(t), G(r), G(n), G(s));
3544
+ }
3545
+ function ue(e, t, r, n) {
3546
+ e.fillText(t, G(r), G(n));
3547
+ }
3548
+ function Et(e, t) {
3549
+ if (t.length !== 0) {
3550
+ e.beginPath();
3551
+ for (let r = 0; r < t.length; r += 2) {
3552
+ const n = t[r], s = t[r + 1];
3553
+ e.moveTo(G(n[0]), G(n[1])), e.lineTo(G(s[0]), G(s[1]));
3554
+ }
3555
+ e.stroke();
3556
+ }
3557
+ }
3558
+ function ye(e, t, r, n) {
3559
+ e.beginPath(), e.moveTo(G(t[0]), G(t[1])), e.lineTo(G(r[0]), G(r[1])), e.lineTo(G(n[0]), G(n[1])), e.fill();
3560
+ }
3561
+ function Er(e, t, r) {
3562
+ const n = e.slice(), [s, i] = e, h = k * 2, g = r ? h : 0;
3563
+ return t === "bottom" ? n.push([s[0] + g, s[1] - h], [i[0] - g, i[1] - h]) : t === "top" ? n.push([s[0] + g, s[1] + h], [i[0] - g, i[1] + h]) : t === "left" ? n.push([s[0] + h, s[1] + g], [i[0] + h, i[1] - g]) : t === "right" && n.push([s[0] - h, s[1] + g], [i[0] - h, i[1] - g]), n;
3564
+ }
3565
+ function us(e, t, r) {
3566
+ return r ? t ? e.split(ne) : ve(e.replaceAll(ne, "")) : ve(e);
3567
+ }
3568
+ function fs(e, t, r, n, s) {
3569
+ e.setLineDash([G(8), G(6)]);
3570
+ const i = k;
3571
+ le(
3572
+ e,
3573
+ t + i,
3574
+ r + i,
3575
+ n - i * 2,
3576
+ s - i * 2
3577
+ ), e.setLineDash([]);
3578
+ }
3579
+ function ds(e) {
3580
+ let t = [];
3581
+ return e === "hair" ? t = [k, k] : e === "dotted" || e === "mediumDashed" ? t = [k * 2, k * 2] : e === "dashed" ? t = [k * 4, k * 4] : e === "dashDot" || e === "mediumDashDot" ? t = [
3582
+ k * 4,
3583
+ k * 4,
3584
+ k * 8,
3585
+ k * 4
3586
+ ] : (e === "dashDotDot" || e === "mediumDashDotDot") && (t = [
3587
+ k * 4,
3588
+ k * 4,
3589
+ k * 8,
3590
+ k * 4,
3591
+ k * 4,
3592
+ k * 4
3593
+ ]), t;
3594
+ }
3595
+ function Ht(e, t, r, n, s) {
3596
+ if (!r)
3597
+ return;
3598
+ const { top: i, left: h, width: g, height: A } = t;
3599
+ let d = [];
3600
+ n === "top" ? d = [
3601
+ [h, i],
3602
+ [h + g, i]
3603
+ ] : n === "bottom" ? d = [
3604
+ [h, i + A],
3605
+ [h + g, i + A]
3606
+ ] : n === "left" ? d = [
3607
+ [h, i],
3608
+ [h, i + A]
3609
+ ] : n === "right" && (d = [
3610
+ [h + g, i],
3611
+ [h + g, i + A]
3612
+ ]);
3613
+ const { type: E, color: m } = r;
3614
+ e.lineWidth = je[E], e.strokeStyle = m || Q("black", s);
3615
+ const N = ds(E);
3616
+ E === "double" && (d = Er(d, n, !0)), N.length > 0 && e.setLineDash(N.map((O) => G(O))), Et(e, d), N.length > 0 && e.setLineDash([]);
3617
+ }
3618
+ function Es(e, t, r, n, s) {
3619
+ const i = r.value, h = { height: 0, width: 0 };
3620
+ if (i === "")
3621
+ return h;
3622
+ const g = (r == null ? void 0 : r.numberFormat) || Vt, A = g === Vt && typeof i == "number", d = lr(i, g), E = r != null && r.fontSize ? r.fontSize : vt, m = Ze(
3623
+ r != null && r.isItalic ? "italic" : "normal",
3624
+ r != null && r.isBold ? "bold" : "500",
3625
+ G(E),
3626
+ r == null ? void 0 : r.fontFamily
3627
+ );
3628
+ r != null && r.fillColor && (e.fillStyle = r == null ? void 0 : r.fillColor, st(e, t.left, t.top, t.width, t.height));
3629
+ let N = (r == null ? void 0 : r.fontColor) || Q("contentColor", s);
3630
+ Ye.has(d) && (N = Q("errorFormulaColor", s)), e.font = m, e.fillStyle = N;
3631
+ const O = { ...r };
3632
+ let x = O == null ? void 0 : O.horizontalAlign;
3633
+ (O == null ? void 0 : O.horizontalAlign) === void 0 && A && (x = yt.RIGHT), O.horizontalAlign = x;
3634
+ const W = (!(O != null && O.isWrapText) && mn(g) ? [d] : us(d, r == null ? void 0 : r.isWrapText, n)).map((ht) => {
3635
+ const et = ls(e, ht);
3636
+ return {
3637
+ str: ht,
3638
+ width: et.width,
3639
+ height: et.height === 0 ? E : et.height
3640
+ };
3641
+ }), { width: X, height: b, resultList: nt } = gs(
3642
+ W,
3643
+ t,
3644
+ O,
3645
+ Hr(!!n, d)
3646
+ );
3647
+ if (X > 0 && b > 0) {
3648
+ const ht = Math.ceil(E * (ae.lineHeight - 1) / 2);
3649
+ let et = [];
3650
+ for (const K of nt) {
3651
+ if (ue(e, K.text, K.x, K.y), O != null && O.underline) {
3652
+ e.strokeStyle = N;
3653
+ const ut = K.y + K.height + ht / 2, Ut = [
3654
+ [K.x, ut],
3655
+ [K.x + K.width, ut]
3656
+ ];
3657
+ (O == null ? void 0 : O.underline) === Mt.DOUBLE ? et = et.concat(Er(Ut, "bottom", !1)) : et = et.concat(Ut);
3658
+ }
3659
+ if (O != null && O.isStrike) {
3660
+ e.strokeStyle = N;
3661
+ const ut = K.y + K.height / 2 + ht / 2;
3662
+ et = et.concat([
3663
+ [K.x, ut],
3664
+ [K.x + K.width, ut]
3665
+ ]);
3666
+ }
3667
+ }
3668
+ Et(e, et);
3669
+ }
3670
+ return h.height = Math.ceil(b), h.width = Math.ceil(X), h;
3671
+ }
3672
+ function gs(e, t, r, n) {
3673
+ const s = r != null && r.fontSize ? r.fontSize : vt, i = Math.ceil(s * (ae.lineHeight - 1) / 2), h = (r == null ? void 0 : r.verticalAlign) ?? $t.MIDDLE, { left: g, top: A, height: d } = t, E = Math.max(t.width, ...e.map((x) => x.width)), m = [];
3674
+ let N = 0, O = 0;
3675
+ if (r != null && r.isWrapText && n) {
3676
+ let x = 0;
3677
+ for (let H = 0; H < e.length; H++) {
3678
+ const U = e[H];
3679
+ N = Math.max(N, U.width);
3680
+ const W = U.height + i * 2;
3681
+ O += W, m.push({
3682
+ text: U.str,
3683
+ x: 0,
3684
+ y: x,
3685
+ width: U.width,
3686
+ height: U.height
3687
+ }), x += W;
3688
+ }
3689
+ } else if (r != null && r.isWrapText) {
3690
+ let x = 0;
3691
+ for (let H = 0; H < e.length; ) {
3692
+ let U = E, W = "", X = 0, b = 0;
3693
+ for (; H < e.length; ) {
3694
+ const nt = e[H];
3695
+ if (U >= nt.width)
3696
+ X += nt.width, b = Math.max(b, nt.height), U -= nt.width, W += nt.str, H++;
3697
+ else
3698
+ break;
3699
+ }
3700
+ if (W) {
3701
+ N = Math.max(N, X);
3702
+ const nt = b + i * 2;
3703
+ O += nt, m.push({
3704
+ text: W,
3705
+ x: 0,
3706
+ y: x,
3707
+ width: X,
3708
+ height: b
3709
+ }), x += nt;
3710
+ }
3711
+ }
3712
+ } else {
3713
+ let x = "", H = E;
3714
+ for (let U = 0; U < e.length; U++) {
3715
+ const W = e[U];
3716
+ if (H >= W.width)
3717
+ N += W.width, O = Math.max(O, W.height), x += W.str, H -= W.width;
3718
+ else
3719
+ break;
3720
+ }
3721
+ m.push({
3722
+ text: x,
3723
+ x: 0,
3724
+ y: 0,
3725
+ width: N,
3726
+ height: O
3727
+ });
3728
+ }
3729
+ if (O = Math.max(O, s * ae.lineHeight), N += i, O += i, N <= E && O <= d) {
3730
+ let x = g + i, H = A + (d - O) / 2 + i;
3731
+ h === $t.TOP ? H = A + i : h === $t.BOTTOM && (H = A + (d - O) + i), (r == null ? void 0 : r.horizontalAlign) === yt.CENTER ? x = g + (E - N) / 2 : (r == null ? void 0 : r.horizontalAlign) === yt.RIGHT && (x = g + (E - N) - i);
3732
+ for (const U of m)
3733
+ U.x = U.x + x, U.y = U.y + H;
3734
+ }
3735
+ return {
3736
+ width: N,
3737
+ height: O,
3738
+ resultList: m
3739
+ };
3740
+ }
3741
+ function Ve(e) {
3742
+ return {
3743
+ textAlign: "center",
3744
+ textBaseline: "middle",
3745
+ font: Ze(void 0, "500", G(vt)),
3746
+ fillStyle: Q("black", e),
3747
+ lineWidth: k,
3748
+ strokeStyle: Q("borderColor", e)
3749
+ };
3750
+ }
3751
+ const We = Math.max(...Object.values(je));
3752
+ class Cs {
3753
+ constructor(t) {
3754
+ _(this, "canvas");
3755
+ _(this, "ctx");
3756
+ _(this, "width", 0);
3757
+ _(this, "height", 0);
3758
+ _(this, "isRendering", !1);
3759
+ _(this, "rowMap", {});
3760
+ _(this, "colMap", {});
3761
+ _(this, "eventData", {
3762
+ theme: "light",
3763
+ sheetData: {},
3764
+ canvasSize: {
3765
+ top: 0,
3766
+ left: 0,
3767
+ width: 0,
3768
+ height: 0
3769
+ },
3770
+ headerSize: {
3771
+ width: 0,
3772
+ height: 0
3773
+ },
3774
+ currentSheetInfo: {
3775
+ isHide: !1,
3776
+ rowCount: 0,
3777
+ colCount: 0,
3778
+ name: "",
3779
+ sheetId: "",
3780
+ tabColor: "",
3781
+ sort: 1
3782
+ },
3783
+ scroll: {
3784
+ row: 0,
3785
+ col: 0,
3786
+ top: 0,
3787
+ left: 0,
3788
+ scrollLeft: 0,
3789
+ scrollTop: 0
3790
+ },
3791
+ range: {
3792
+ row: 0,
3793
+ col: 0,
3794
+ rowCount: 1,
3795
+ colCount: 1,
3796
+ sheetId: ""
3797
+ },
3798
+ copyRange: void 0,
3799
+ customHeight: {},
3800
+ customWidth: {},
3801
+ currentMergeCells: [],
3802
+ autoFilter: void 0
3803
+ });
3804
+ this.canvas = t, this.ctx = t.getContext("2d");
3805
+ const r = Wt();
3806
+ this.ctx.scale(r, r);
3807
+ }
3808
+ render(t) {
3809
+ if (t.changeSet.size === 0 || this.isRendering)
3810
+ return;
3811
+ this.isRendering = !0, this.eventData = t, this.clear();
3812
+ const { ctx: r } = this;
3813
+ r.strokeStyle = Q("primaryColor", t.theme), r.fillStyle = Q("white", t.theme), r.lineWidth = k * 2;
3814
+ const { width: n, height: s } = this.eventData.canvasSize, i = this.eventData.headerSize, { endRow: h, contentHeight: g } = this.renderRowsHeader(s), { endCol: A, contentWidth: d } = this.renderColsHeader(n);
3815
+ this.renderGrid(n - i.width, s - i.height), this.renderTriangle(), this.renderMergeCell(), this.ctx.fillStyle = Q("selectionColor", this.eventData.theme);
3816
+ const E = this.renderSelection({
3817
+ endRow: h,
3818
+ endCol: A,
3819
+ contentHeight: g,
3820
+ contentWidth: d
3821
+ });
3822
+ return this.renderAntLine(E), this.renderContent({ endRow: h, endCol: A, contentHeight: g, contentWidth: d }), this.ctx.lineWidth = We, le(this.ctx, E.left, E.top, E.width, E.height), this.isRendering = !1, { rowMap: { ...this.rowMap }, colMap: { ...this.colMap } };
3823
+ }
3824
+ resize(t) {
3825
+ this.width = t.width, this.height = t.height, this.canvas.width = G(t.width), this.canvas.height = G(t.height);
3826
+ }
3827
+ clear() {
3828
+ Ge(this.ctx, 0, 0, this.width, this.height);
3829
+ }
3830
+ renderRowsHeader(t) {
3831
+ const { row: r } = this.eventData.scroll, n = this.eventData.headerSize, { rowCount: s } = this.eventData.currentSheetInfo;
3832
+ this.ctx.save();
3833
+ const i = this.eventData.range;
3834
+ st(this.ctx, 0, n.height, n.width, t), Object.assign(this.ctx, Ve(this.eventData.theme));
3835
+ const h = [];
3836
+ let g = n.height, A = r;
3837
+ for (; A < s && g < t; A++) {
3838
+ const E = this.getRowHeight(A);
3839
+ let m = g;
3840
+ if (A === r && (m += k / 2), h.push([0, m], [n.width, m]), E > 0) {
3841
+ const N = this.isHighlightRow(i, A);
3842
+ this.ctx.fillStyle = N ? Q("primaryColor", this.eventData.theme) : Q("black", this.eventData.theme), ue(
3843
+ this.ctx,
3844
+ String(A + 1),
3845
+ n.width / 2,
3846
+ m + E / 2
3847
+ );
3848
+ }
3849
+ g += E;
3850
+ }
3851
+ h.push([0, g], [n.width, g]), h.push([0, 0], [0, g]), Et(this.ctx, h), this.ctx.restore();
3852
+ const d = A >= s ? g : t;
3853
+ return { endRow: A, contentHeight: Math.floor(d) };
3854
+ }
3855
+ renderColsHeader(t) {
3856
+ const { col: r, row: n } = this.eventData.scroll, s = this.eventData.headerSize, { colCount: i } = this.eventData.currentSheetInfo, h = this.eventData.range, g = [];
3857
+ this.ctx.save(), st(this.ctx, s.width, 0, t, s.height), Object.assign(this.ctx, Ve());
3858
+ let A = s.width, d = r;
3859
+ const E = this.eventData.autoFilter;
3860
+ let m = 0;
3861
+ for (let O = n; O < this.eventData.currentSheetInfo.rowCount && (m = this.getRowHeight(n), m === 0); O++)
3862
+ ;
3863
+ for (; d < i && A <= t; d++) {
3864
+ const O = this.getColWidth(d);
3865
+ let x = A;
3866
+ if (d === r && (x += k / 2), g.push([x, 0], [x, s.height]), O > 0) {
3867
+ const H = this.isHighlightCol(h, d);
3868
+ this.ctx.fillStyle = H ? Q("primaryColor", this.eventData.theme) : Q("black", this.eventData.theme), ue(
3869
+ this.ctx,
3870
+ Je(d),
3871
+ x + O / 2,
3872
+ s.height / 2
3873
+ );
3874
+ }
3875
+ E && d >= E.range.col && d < E.range.col + E.range.colCount && this.renderFilter(
3876
+ A + O,
3877
+ s.height + m,
3878
+ E.col === d
3879
+ ), A += O;
3880
+ }
3881
+ g.push([A, 0], [A, s.height]), g.push([0, 0], [A, 0]), Et(this.ctx, g), this.ctx.restore();
3882
+ const N = d >= i ? A : t;
3883
+ return {
3884
+ endCol: d,
3885
+ contentWidth: Math.floor(N)
3886
+ };
3887
+ }
3888
+ renderFilter(t, r, n) {
3889
+ const s = Nr, i = k * 4, h = t - s - i, g = r - s - i;
3890
+ this.ctx.fillStyle = n ? Q("primaryColor", this.eventData.theme) : Q("borderColor", this.eventData.theme), this.ctx.strokeStyle = n ? Q("primaryColor", this.eventData.theme) : Q("borderColor", this.eventData.theme), le(this.ctx, h, g, s, s), ye(
3891
+ this.ctx,
3892
+ [h + s / 4, g + s * 3 / 8],
3893
+ [h + s * 3 / 4, g + s * 3 / 8],
3894
+ [h + s / 2, g + s * 5 / 8]
3895
+ );
3896
+ }
3897
+ renderGrid(t, r) {
3898
+ const n = this.eventData.headerSize, { row: s, col: i } = this.eventData.scroll, { rowCount: h, colCount: g } = this.eventData.currentSheetInfo;
3899
+ this.ctx.save(), this.ctx.lineWidth = k, this.ctx.strokeStyle = Q("borderColor", this.eventData.theme), this.ctx.translate(G(n.width), G(n.height));
3900
+ const A = [];
3901
+ let d = 0, E = 0;
3902
+ const m = [], N = [];
3903
+ for (let O = s; O < h && d <= r; O++) {
3904
+ for (; O < h && this.getRowHeight(O) === 0; )
3905
+ O++;
3906
+ N.push([0, d]);
3907
+ const x = this.getRowHeight(O);
3908
+ d += x;
3909
+ }
3910
+ for (let O = i; O < g && E <= t; O++) {
3911
+ for (; O < g && this.getColWidth(O) === 0; )
3912
+ O++;
3913
+ m.push([E, 0]);
3914
+ const x = this.getColWidth(O);
3915
+ E += x;
3916
+ }
3917
+ for (const O of m)
3918
+ A.push(O, [O[0], d]);
3919
+ for (const O of N)
3920
+ A.push(O, [E, O[1]]);
3921
+ A.push([0, d], [E, d]), A.push([E, 0], [E, d]), Et(this.ctx, A), this.ctx.restore();
3922
+ }
3923
+ renderTriangle() {
3924
+ const t = this.eventData.headerSize;
3925
+ this.ctx.save(), st(this.ctx, 0, 0, t.width, t.height), this.ctx.fillStyle = Q(
3926
+ "triangleFillColor",
3927
+ this.eventData.theme
3928
+ );
3929
+ const r = 2, n = Math.floor(r), s = Math.floor(t.height - r), i = Math.floor(t.width * 0.4), h = Math.floor(t.width - r);
3930
+ ye(this.ctx, [h, n], [i, s], [h, s]), this.ctx.restore();
3931
+ }
3932
+ getRowHeight(t) {
3933
+ const r = De(
3934
+ this.eventData.currentSheetInfo.sheetId,
3935
+ t
3936
+ ), n = this.eventData.customHeight[r];
3937
+ return n ? n.isHide ? Ie : n.len : ee;
3938
+ }
3939
+ getColWidth(t) {
3940
+ const r = De(
3941
+ this.eventData.currentSheetInfo.sheetId,
3942
+ t
3943
+ ), n = this.eventData.customWidth[r];
3944
+ return n ? n.isHide ? Ie : n.len : re;
3945
+ }
3946
+ isHighlightRow(t, r) {
3947
+ return !!(bt(t) || _t(t) || r >= t.row && r < t.row + t.rowCount);
3948
+ }
3949
+ isHighlightCol(t, r) {
3950
+ return !!(bt(t) || Lt(t) || r >= t.col && r < t.col + t.colCount);
3951
+ }
3952
+ renderAntLine(t) {
3953
+ const r = this.eventData.copyRange;
3954
+ !r || r.sheetId !== this.eventData.currentSheetInfo.sheetId || (this.ctx.lineWidth = We, this.ctx.strokeStyle = Q("primaryColor", this.eventData.theme), fs(
3955
+ this.ctx,
3956
+ t.left,
3957
+ t.top,
3958
+ t.width,
3959
+ t.height
3960
+ ));
3961
+ }
3962
+ renderMergeCell() {
3963
+ const t = this.eventData.currentMergeCells;
3964
+ if (t.length === 0)
3965
+ return;
3966
+ const r = this.eventData.range;
3967
+ for (const n of t)
3968
+ r.row === n.row && r.col === n.col || this.clearRect(n);
3969
+ }
3970
+ /* jscpd:ignore-start */
3971
+ getCellSize(t) {
3972
+ let { row: r, col: n, colCount: s, rowCount: i } = t, h = r, g = n, A = r + i, d = n + s;
3973
+ const E = this.eventData.currentSheetInfo;
3974
+ bt(t) ? (g = 0, d = E.colCount, h = 0, A = E.rowCount) : _t(t) ? (h = 0, A = E.rowCount) : Lt(t) && (g = 0, d = E.colCount);
3975
+ let m = 0, N = 0;
3976
+ for (; h < A; h++)
3977
+ N += this.getRowHeight(h);
3978
+ for (; g < d; g++)
3979
+ m += this.getColWidth(g);
3980
+ return { width: m, height: N };
3981
+ }
3982
+ computeCellPosition(t) {
3983
+ const { row: r, col: n } = t, s = this.eventData.headerSize, i = this.eventData.scroll;
3984
+ let h = s.width, g = s.height, A = i.row, d = i.col;
3985
+ if (n >= i.col)
3986
+ for (; d < n; )
3987
+ h += this.getColWidth(d), d++;
3988
+ else
3989
+ for (h = -s.width; d > n; )
3990
+ h -= this.getColWidth(d), d--;
3991
+ if (r >= i.row)
3992
+ for (; A < r; )
3993
+ g += this.getRowHeight(A), A++;
3994
+ else
3995
+ for (g = -s.height; A > r; )
3996
+ g -= this.getRowHeight(A), A--;
3997
+ return {
3998
+ top: g,
3999
+ left: h
4000
+ };
4001
+ }
4002
+ getActiveRange(t) {
4003
+ const r = t || this.eventData.range, n = this.eventData.currentMergeCells;
4004
+ for (const s of n)
4005
+ if (zr(r, s))
4006
+ return {
4007
+ range: {
4008
+ ...s,
4009
+ sheetId: s.sheetId
4010
+ },
4011
+ isMerged: !0
4012
+ };
4013
+ return {
4014
+ range: r,
4015
+ isMerged: !1
4016
+ };
4017
+ }
4018
+ /* jscpd:ignore-end */
4019
+ clearRect(t) {
4020
+ const r = this.getCellSize(t);
4021
+ if (r.width <= 0 || r.height <= 0)
4022
+ return;
4023
+ const n = this.computeCellPosition(t), s = k;
4024
+ Ge(
4025
+ this.ctx,
4026
+ n.left + s,
4027
+ n.top + s,
4028
+ r.width - s * 2,
4029
+ r.height - s * 2
4030
+ );
4031
+ }
4032
+ renderContent(t) {
4033
+ const { endCol: r, endRow: n, contentHeight: s, contentWidth: i } = t, { ctx: h } = this;
4034
+ h.textAlign = "left", h.textBaseline = "top", h.lineWidth = k * 2;
4035
+ const g = this.eventData.headerSize, { row: A, col: d } = this.eventData.scroll, E = Math.floor(i - g.width), m = Math.floor(s - g.height);
4036
+ h.save(), this.rowMap = {}, this.colMap = {};
4037
+ const N = this.eventData.currentMergeCells;
4038
+ for (let O = A; O < n; O++)
4039
+ for (let x = d; x < r; x++) {
4040
+ const H = N.find(
4041
+ (U) => U.row === O && U.col === x
4042
+ );
4043
+ this.renderCell(O, x, H, E, m);
4044
+ }
4045
+ h.restore();
4046
+ }
4047
+ renderCell(t, r, n, s, i) {
4048
+ const { ctx: h } = this, g = {
4049
+ row: t,
4050
+ col: r,
4051
+ rowCount: 1,
4052
+ colCount: 1,
4053
+ sheetId: ""
4054
+ }, A = Qe(
4055
+ this.eventData.currentSheetInfo.sheetId,
4056
+ t,
4057
+ r
4058
+ ), d = this.eventData.sheetData[A];
4059
+ if (!d)
4060
+ return;
4061
+ const E = this.getCellSize(n || g);
4062
+ if (E.width <= 0 || E.height <= 0)
4063
+ return;
4064
+ const m = this.computeCellPosition(g);
4065
+ h.lineWidth = k * 2;
4066
+ const N = this.eventData.theme, O = Es(
4067
+ h,
4068
+ {
4069
+ top: m.top,
4070
+ left: m.left,
4071
+ width: Math.min(E.width, s),
4072
+ height: Math.min(E.height, i)
4073
+ },
4074
+ d,
4075
+ !!n,
4076
+ N
4077
+ ), x = Math.max(this.rowMap[t] ?? 0, O.height), H = Math.max(this.colMap[r] ?? 0, O.width);
4078
+ x >= ee && (this.rowMap[t] = x), H >= re && (this.colMap[r] = H);
4079
+ const U = {
4080
+ top: m.top,
4081
+ left: m.left,
4082
+ height: Math.max(x, E.height),
4083
+ width: Math.max(H, E.width)
4084
+ };
4085
+ Ht(h, U, d.borderTop, "top", N), Ht(h, U, d.borderBottom, "bottom", N), Ht(h, U, d.borderLeft, "left", N), Ht(h, U, d.borderRight, "right", N);
4086
+ }
4087
+ renderSelection(t) {
4088
+ const r = this.eventData.range;
4089
+ return bt(r) ? this.renderSelectAll(t) : _t(r) ? this.renderSelectCol(t) : Lt(r) ? this.renderSelectRow(t) : this.renderSelectRange();
4090
+ }
4091
+ renderSelectRange() {
4092
+ const t = this.eventData.headerSize, r = this.eventData.range, n = this.computeCellPosition({
4093
+ row: r.row,
4094
+ col: r.col,
4095
+ rowCount: 1,
4096
+ colCount: 1,
4097
+ sheetId: ""
4098
+ }), s = r.row + r.rowCount - 1, i = r.col + r.colCount - 1, h = {
4099
+ row: s,
4100
+ col: i,
4101
+ rowCount: 1,
4102
+ colCount: 1,
4103
+ sheetId: ""
4104
+ }, g = this.computeCellPosition(h), A = this.getCellSize(h), d = g.left + A.width - n.left, E = g.top + A.height - n.top;
4105
+ st(this.ctx, n.left, 0, d, t.height), st(this.ctx, 0, n.top, t.width, E);
4106
+ const m = r.rowCount > 1 || r.colCount > 1;
4107
+ m && st(this.ctx, n.left, n.top, d, E);
4108
+ const N = [
4109
+ [n.left, t.height],
4110
+ [n.left + d, t.height]
4111
+ ];
4112
+ return N.push(
4113
+ [t.width, n.top],
4114
+ [t.width, n.top + E]
4115
+ ), Et(this.ctx, N), m && this.renderActiveCell(), {
4116
+ left: n.left,
4117
+ top: n.top,
4118
+ width: d,
4119
+ height: E
4120
+ };
4121
+ }
4122
+ renderSelectAll(t) {
4123
+ const { contentHeight: r, contentWidth: n } = t, s = this.eventData.headerSize;
4124
+ st(this.ctx, 0, 0, n, r), this.renderActiveCell();
4125
+ const i = n - s.width, h = r - s.height;
4126
+ return {
4127
+ left: s.width,
4128
+ top: s.height,
4129
+ width: i,
4130
+ height: h
4131
+ };
4132
+ }
4133
+ renderSelectCol({ contentHeight: t }) {
4134
+ const r = this.eventData.headerSize, n = this.eventData.range, s = this.computeCellPosition(n);
4135
+ let i = 0;
4136
+ for (let A = n.col, d = n.col + n.colCount; A < d; A++)
4137
+ i += this.getColWidth(A);
4138
+ const h = t - r.height;
4139
+ st(this.ctx, s.left, 0, i, t), st(this.ctx, 0, s.top, r.width, h);
4140
+ const g = [
4141
+ [r.width, r.height],
4142
+ [r.width, t]
4143
+ ];
4144
+ return Et(this.ctx, g), this.renderActiveCell(), {
4145
+ left: s.left,
4146
+ top: r.height,
4147
+ width: i,
4148
+ height: h
4149
+ };
4150
+ }
4151
+ renderSelectRow({ contentWidth: t }) {
4152
+ const r = this.eventData.headerSize, n = this.eventData.range, s = this.computeCellPosition(n);
4153
+ let i = 0;
4154
+ for (let A = n.row, d = n.row + n.rowCount; A < d; A++)
4155
+ i += this.getRowHeight(A);
4156
+ const h = t - r.width - k;
4157
+ st(this.ctx, s.left, 0, h, r.height), st(this.ctx, 0, s.top, t, i);
4158
+ const g = [
4159
+ [s.left, r.height],
4160
+ [t, r.height]
4161
+ ];
4162
+ return Et(this.ctx, g), this.renderActiveCell(), {
4163
+ left: r.width,
4164
+ top: s.top,
4165
+ width: h,
4166
+ height: i
4167
+ };
4168
+ }
4169
+ renderActiveCell() {
4170
+ const t = this.eventData.range, r = this.getActiveRange({
4171
+ row: t.row,
4172
+ col: t.col,
4173
+ rowCount: 1,
4174
+ colCount: 1,
4175
+ sheetId: t.sheetId
4176
+ }).range;
4177
+ this.clearRect(r);
4178
+ }
4179
+ }
4180
+ let Ct = null;
4181
+ const fi = {
4182
+ init(e) {
4183
+ Ct = new Cs(e.canvas), Vr(e.dpr);
4184
+ },
4185
+ resize(e) {
4186
+ Ct == null || Ct.resize(e);
4187
+ },
4188
+ async render(e, t) {
4189
+ const r = Ct == null ? void 0 : Ct.render(e);
4190
+ r && await t(r);
4191
+ },
4192
+ async computeFormulas(e, t) {
4193
+ return await hs(e, t);
4194
+ }
4195
+ };
4196
+ export {
4197
+ De as $,
4198
+ si as A,
4199
+ ni as B,
4200
+ xs as C,
4201
+ Ds as D,
4202
+ Mt as E,
4203
+ _s as F,
4204
+ je as G,
4205
+ Lt as H,
4206
+ _t as I,
4207
+ Or as J,
4208
+ Sr as K,
4209
+ Os as L,
4210
+ ne as M,
4211
+ Us as N,
4212
+ Zs as O,
4213
+ zs as P,
4214
+ Ie as Q,
4215
+ lr as R,
4216
+ Mr as S,
4217
+ Ms as T,
4218
+ mn as U,
4219
+ Is as V,
4220
+ ri as W,
4221
+ Fs as X,
4222
+ Nr as Y,
4223
+ Ps as Z,
4224
+ re as _,
4225
+ Q as a,
4226
+ Lr as a$,
4227
+ ze as a0,
4228
+ ee as a1,
4229
+ Xe as a2,
4230
+ Ke as a3,
4231
+ Qe as a4,
4232
+ vr as a5,
4233
+ tr as a6,
4234
+ Pr as a7,
4235
+ Ws as a8,
4236
+ Bs as a9,
4237
+ Zt as aA,
4238
+ er as aB,
4239
+ Zr as aC,
4240
+ nr as aD,
4241
+ hi as aE,
4242
+ rn as aF,
4243
+ Ze as aG,
4244
+ be as aH,
4245
+ G as aI,
4246
+ Vr as aJ,
4247
+ kr as aK,
4248
+ Vs as aL,
4249
+ Xs as aM,
4250
+ Ks as aN,
4251
+ Qs as aO,
4252
+ $r as aP,
4253
+ Wr as aQ,
4254
+ Je as aR,
4255
+ Xr as aS,
4256
+ mr as aT,
4257
+ Ot as aU,
4258
+ Te as aV,
4259
+ Ir as aW,
4260
+ Ye as aX,
4261
+ k as aY,
4262
+ Dr as aZ,
4263
+ br as a_,
4264
+ ms as aa,
4265
+ ti as ab,
4266
+ li as ac,
4267
+ wn as ad,
4268
+ cr as ae,
4269
+ ae as af,
4270
+ Ss as ag,
4271
+ Rs as ah,
4272
+ ui as ai,
4273
+ bt as aj,
4274
+ ei as ak,
4275
+ qs as al,
4276
+ Js as am,
4277
+ Gs as an,
4278
+ Ts as ao,
4279
+ Ns as ap,
4280
+ Kr as aq,
4281
+ Br as ar,
4282
+ Tr as as,
4283
+ ys as at,
4284
+ vs as au,
4285
+ oi as av,
4286
+ zr as aw,
4287
+ fi as ax,
4288
+ Qr as ay,
4289
+ sr as az,
4290
+ ws as b,
4291
+ xr as b0,
4292
+ ct as b1,
4293
+ ie as b2,
4294
+ dt as b3,
4295
+ ii as b4,
4296
+ jr as b5,
4297
+ xt as b6,
4298
+ ai as b7,
4299
+ Ur as b8,
4300
+ ve as b9,
4301
+ p as ba,
4302
+ ps as c,
4303
+ Fr as d,
4304
+ ci as e,
4305
+ vt as f,
4306
+ Rr as g,
4307
+ $t as h,
4308
+ yt as i,
4309
+ Vt as j,
4310
+ Hr as k,
4311
+ Ls as l,
4312
+ Rn as m,
4313
+ Hs as n,
4314
+ $s as o,
4315
+ pt as p,
4316
+ cn as q,
4317
+ Wt as r,
4318
+ js as s,
4319
+ an as t,
4320
+ bs as u,
4321
+ ks as v,
4322
+ Ys as w,
4323
+ Yr as x,
4324
+ _r as y,
4325
+ fe as z
4326
+ };
4327
+ //# sourceMappingURL=worker-J2oMRUdY.mjs.map