@sheetxl/mcp 0.0.0-stage → 0.8.0-beta.14

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 (509) hide show
  1. package/LICENSE.md +11 -0
  2. package/README.md +72 -2
  3. package/agent/instructions.md +66 -0
  4. package/assets/2zIY9Xuml4y8NI05.js +596 -0
  5. package/assets/33QTHR3r6ZujxFx8.js +18 -0
  6. package/assets/8vRAQlvTcvMLeio0.js +1131 -0
  7. package/assets/9MRZ5Yc2RBgcqZSp.js +594 -0
  8. package/assets/9dbZwzIWefGss7is.js +52 -0
  9. package/assets/B-1_xSqUFCJ6jNjn.js +9109 -0
  10. package/assets/B-jE7tAMA559MtNt.js +37 -0
  11. package/assets/B5xHa5bjZu5ONrm5.js +638 -0
  12. package/assets/B66aeGYrHLbGpuN9.js +9137 -0
  13. package/assets/B6BP5l2qmeZhqVV7.js +7 -0
  14. package/assets/B6b9ytNrHR-ijcOa.js +30 -0
  15. package/assets/B9QlqO6n3MCBsvoj.js +504 -0
  16. package/assets/B9qiPx_BXxo1jgcx.js +2368 -0
  17. package/assets/B9w1dNK8pNq-Z1P3.js +142 -0
  18. package/assets/BDZ1FGc1zFqO1nK7.js +4036 -0
  19. package/assets/BFwNQZVRnbNt-gRJ.js +2260 -0
  20. package/assets/BMnNvUCJu35tT_aO.js +19 -0
  21. package/assets/BNfBq8Eic3Cl-f6A.js +184 -0
  22. package/assets/BOF64A2D2KKcv_fo.js +15 -0
  23. package/assets/BOcWUnxWSG1d5Ljc.js +447 -0
  24. package/assets/BW8XjynUqlfvuQUV.js +37 -0
  25. package/assets/BWsXOU_jh_cA8m8I.js +12 -0
  26. package/assets/BXC6616BWEWNZ2-D.js +63 -0
  27. package/assets/BYtBi8vLoB41QkV8.js +656 -0
  28. package/assets/B_-VPqfsse8AlCTm.js +81 -0
  29. package/assets/BiAEoWSl8c6jcUnS.js +28 -0
  30. package/assets/BkBCkgPNrFR5N9fo.js +19 -0
  31. package/assets/BmxgDCZk_aMDms4i.js +639 -0
  32. package/assets/BoTScfjgygCozDVi.js +23 -0
  33. package/assets/BwisWvPpXRhyIP4O.js +15 -0
  34. package/assets/ByziR0Anm39Bw0Bc.js +1556 -0
  35. package/assets/C-5LlJ5qhC7Ef0gV.js +12996 -0
  36. package/assets/C-CNmTrzNS-ZlQ8j.js +1760 -0
  37. package/assets/C1rIlmARlinuie5E.js +45 -0
  38. package/assets/C1w8NQeox7_92swz.js +35 -0
  39. package/assets/C2Rgsb69SnMOohGt.js +23 -0
  40. package/assets/C55MTJ_5qW94RElE.js +7514 -0
  41. package/assets/CBNNl8igIyeHY4St.js +780 -0
  42. package/assets/CDGeuGB9CBXeCIm6.js +12 -0
  43. package/assets/CH9M37mRwnS0t9wM.js +104 -0
  44. package/assets/CHHJZPAuM3OjbzF6.js +402 -0
  45. package/assets/CMTDUipnLiOj5pbe.js +610 -0
  46. package/assets/COFze3jkZDQRSij9.js +4437 -0
  47. package/assets/CPDkdp0yI4DwUHGZ.js +119 -0
  48. package/assets/CULV-2mwmqYYpAjM.js +119 -0
  49. package/assets/CVFTQ0OwsUt03r4o.js +146 -0
  50. package/assets/CXM1IYmE-TDInPwr.js +118 -0
  51. package/assets/CcLPa6zB5PH3OG2O.js +10289 -0
  52. package/assets/CdF5MxGnISAZ41oQ.js +359 -0
  53. package/assets/CeDqeFLuUfN8UIGx.js +17 -0
  54. package/assets/CfiVUfpeONJ3rf31.js +28 -0
  55. package/assets/Cfvhcua4c6onouhP.js +14 -0
  56. package/assets/CgjR_TiVOcuxg5tO.js +16 -0
  57. package/assets/CjwzOAnab_dpAqiG.js +144 -0
  58. package/assets/Cm3Q_-DDdnVHRBxr.js +351 -0
  59. package/assets/CpOhY88x6AgVxvTz.js +49 -0
  60. package/assets/CtpcYuBFU6fxsUhs.js +71 -0
  61. package/assets/CutEBbZl8oFbTlXZ.js +171 -0
  62. package/assets/CwJyw5Yxpj4PGh14.js +28 -0
  63. package/assets/CwdOInoJwCxXnhog.js +7 -0
  64. package/assets/D2_T0KSaye0ncjQa.js +6294 -0
  65. package/assets/D2w3KjYuONW1G1kX.js +86 -0
  66. package/assets/D3BAmD-1AfFtHdC6.js +242 -0
  67. package/assets/D81iH5MJJfq2t9FP.js +32 -0
  68. package/assets/D94hlZEaHtGHdN_K.js +202 -0
  69. package/assets/DBFXsbIHDxbMBrzV.js +319 -0
  70. package/assets/DCHsM8bfVisYJFTT.js +1783 -0
  71. package/assets/DIy1659Yv5-fD69E.js +123 -0
  72. package/assets/DK0VM9-qrEXBm8Ud.js +223 -0
  73. package/assets/DPazQ_nZv-sXUwO3.js +45 -0
  74. package/assets/DSSrCrejjpWoszj7.js +33 -0
  75. package/assets/DTlvhtB9hvPdbdxu.js +60493 -0
  76. package/assets/DUUt1z6Y_cpxEpYY.js +24 -0
  77. package/assets/DUYoUViqY5U6uQX3.js +18 -0
  78. package/assets/DUzaW_op2vBTwOOI.js +18 -0
  79. package/assets/DWTpPijG5yeNFR0W.js +14 -0
  80. package/assets/DZRp3_yqPS6Lshho.js +32 -0
  81. package/assets/DZZ5R3msiytVNCqK.js +199 -0
  82. package/assets/Df2IAW-O7Gwl7V1l.js +7 -0
  83. package/assets/Dfd7kvLIFNqu-m-r.js +51 -0
  84. package/assets/Dg7xy50qHwqkYd4g.js +1135 -0
  85. package/assets/DihigEGfNCLR8UPN.js +8 -0
  86. package/assets/DkFK1iu4vqjLZMja.js +3011 -0
  87. package/assets/DkPXpv81Y5teMd-R.js +20 -0
  88. package/assets/Dl87mJoXDkCkzBi7.js +3917 -0
  89. package/assets/DnmjS548g7nY6EUS.js +1860 -0
  90. package/assets/DoIU_ohoCBwTZV9G.js +310 -0
  91. package/assets/Doqy_uDSQTCv6a6X.js +35 -0
  92. package/assets/DpGuA6U12gwyGHEM.js +369 -0
  93. package/assets/DuZ6DXQGttY3Lrhd.js +5220 -0
  94. package/assets/Du_JrYiYGJo5_B9H.js +12 -0
  95. package/assets/DvD_K4M5HgJ4uJ8L.js +7 -0
  96. package/assets/EeSGsbh_r4N-qs4w.js +96 -0
  97. package/assets/GnXTzeDYWWeEf5yV.js +55 -0
  98. package/assets/HKLw8b2xTdu5c1w5.js +63 -0
  99. package/assets/KpCEdfpsHnfkyqjx.js +37 -0
  100. package/assets/OU7gC5JF-lyDOOid.js +27 -0
  101. package/assets/PRSerWiAGYu8MVnd.js +304 -0
  102. package/assets/PmooYGqWqoTxPExF.js +449 -0
  103. package/assets/QXKcNTuZqOauSidr.js +58 -0
  104. package/assets/ThqyayHHaBxzfaAt.js +255 -0
  105. package/assets/TzsPqmpG77I4ewVt.js +173 -0
  106. package/assets/UX2ywz3gr7q-MlHr.js +105 -0
  107. package/assets/W-MzzQHZuRxr8adc.js +2346 -0
  108. package/assets/ZBYHyJs7CQgnnHfR.js +362 -0
  109. package/assets/ZTEO4JX22YIOkrJg.js +8338 -0
  110. package/assets/a7BoASyT8yQZY9hJ.js +22 -0
  111. package/assets/aqguaobnu61szXWM.js +22 -0
  112. package/assets/cdIvC9t9tYtVn4nc.js +405 -0
  113. package/assets/cv7k-VAIJtYeL9k4.js +23 -0
  114. package/assets/ddJqSu7gXUkXjGxZ.js +13 -0
  115. package/assets/eHAVGCUcMAfNjEGt.js +7 -0
  116. package/assets/hRLLK6I6m0uGKWo8.js +32 -0
  117. package/assets/mcFLzsOH35mvmd3C.js +145 -0
  118. package/assets/st-UQngeBG4hwKoy.js +47 -0
  119. package/assets/w8YWSMNTTn45ImnB.js +857 -0
  120. package/assets/yNiBIhsMP9BCWd67.js +28 -0
  121. package/assets/zu-72oKE_gCkrozc.js +540 -0
  122. package/index.js +8070 -0
  123. package/lib.js +7 -0
  124. package/licenses/dependencies.txt +1552 -0
  125. package/package.json +44 -3
  126. package/resources/contents.json +333 -0
  127. package/resources/fonts/@sheetxl/sdk/aptos-bold-italic.hinted.json +125 -0
  128. package/resources/fonts/@sheetxl/sdk/aptos-bold-italic.metrics.json +221 -0
  129. package/resources/fonts/@sheetxl/sdk/aptos-bold-italic.rows.json +8 -0
  130. package/resources/fonts/@sheetxl/sdk/aptos-bold.hinted.json +125 -0
  131. package/resources/fonts/@sheetxl/sdk/aptos-bold.metrics.json +221 -0
  132. package/resources/fonts/@sheetxl/sdk/aptos-bold.rows.json +8 -0
  133. package/resources/fonts/@sheetxl/sdk/aptos-display-bold-italic.hinted.json +125 -0
  134. package/resources/fonts/@sheetxl/sdk/aptos-display-bold-italic.metrics.json +221 -0
  135. package/resources/fonts/@sheetxl/sdk/aptos-display-bold-italic.rows.json +8 -0
  136. package/resources/fonts/@sheetxl/sdk/aptos-display-bold.hinted.json +125 -0
  137. package/resources/fonts/@sheetxl/sdk/aptos-display-bold.metrics.json +221 -0
  138. package/resources/fonts/@sheetxl/sdk/aptos-display-bold.rows.json +8 -0
  139. package/resources/fonts/@sheetxl/sdk/aptos-display-italic.hinted.json +124 -0
  140. package/resources/fonts/@sheetxl/sdk/aptos-display-italic.metrics.json +221 -0
  141. package/resources/fonts/@sheetxl/sdk/aptos-display-italic.rows.json +8 -0
  142. package/resources/fonts/@sheetxl/sdk/aptos-display-regular.hinted.json +125 -0
  143. package/resources/fonts/@sheetxl/sdk/aptos-display-regular.metrics.json +221 -0
  144. package/resources/fonts/@sheetxl/sdk/aptos-display-regular.rows.json +8 -0
  145. package/resources/fonts/@sheetxl/sdk/aptos-italic.hinted.json +125 -0
  146. package/resources/fonts/@sheetxl/sdk/aptos-italic.metrics.json +221 -0
  147. package/resources/fonts/@sheetxl/sdk/aptos-italic.rows.json +8 -0
  148. package/resources/fonts/@sheetxl/sdk/aptos-narrow-bold-italic.hinted.json +125 -0
  149. package/resources/fonts/@sheetxl/sdk/aptos-narrow-bold-italic.metrics.json +221 -0
  150. package/resources/fonts/@sheetxl/sdk/aptos-narrow-bold-italic.rows.json +8 -0
  151. package/resources/fonts/@sheetxl/sdk/aptos-narrow-bold.hinted.json +125 -0
  152. package/resources/fonts/@sheetxl/sdk/aptos-narrow-bold.metrics.json +221 -0
  153. package/resources/fonts/@sheetxl/sdk/aptos-narrow-bold.rows.json +8 -0
  154. package/resources/fonts/@sheetxl/sdk/aptos-narrow-italic.hinted.json +125 -0
  155. package/resources/fonts/@sheetxl/sdk/aptos-narrow-italic.metrics.json +221 -0
  156. package/resources/fonts/@sheetxl/sdk/aptos-narrow-italic.rows.json +8 -0
  157. package/resources/fonts/@sheetxl/sdk/aptos-narrow-regular.hinted.json +125 -0
  158. package/resources/fonts/@sheetxl/sdk/aptos-narrow-regular.metrics.json +221 -0
  159. package/resources/fonts/@sheetxl/sdk/aptos-narrow-regular.rows.json +8 -0
  160. package/resources/fonts/@sheetxl/sdk/aptos-regular.hinted.json +125 -0
  161. package/resources/fonts/@sheetxl/sdk/aptos-regular.metrics.json +221 -0
  162. package/resources/fonts/@sheetxl/sdk/aptos-regular.rows.json +8 -0
  163. package/resources/fonts/@sheetxl/sdk/arial-bold-italic.hinted.json +125 -0
  164. package/resources/fonts/@sheetxl/sdk/arial-bold-italic.metrics.json +139 -0
  165. package/resources/fonts/@sheetxl/sdk/arial-bold-italic.rows.json +8 -0
  166. package/resources/fonts/@sheetxl/sdk/arial-bold.hinted.json +125 -0
  167. package/resources/fonts/@sheetxl/sdk/arial-bold.metrics.json +139 -0
  168. package/resources/fonts/@sheetxl/sdk/arial-bold.rows.json +8 -0
  169. package/resources/fonts/@sheetxl/sdk/arial-italic.hinted.json +125 -0
  170. package/resources/fonts/@sheetxl/sdk/arial-italic.metrics.json +139 -0
  171. package/resources/fonts/@sheetxl/sdk/arial-italic.rows.json +8 -0
  172. package/resources/fonts/@sheetxl/sdk/arial-regular.hinted.json +125 -0
  173. package/resources/fonts/@sheetxl/sdk/arial-regular.metrics.json +139 -0
  174. package/resources/fonts/@sheetxl/sdk/arial-regular.rows.json +8 -0
  175. package/resources/fonts/@sheetxl/sdk/calibri-bold-italic.hinted.json +122 -0
  176. package/resources/fonts/@sheetxl/sdk/calibri-bold-italic.metrics.json +137 -0
  177. package/resources/fonts/@sheetxl/sdk/calibri-bold-italic.rows.json +8 -0
  178. package/resources/fonts/@sheetxl/sdk/calibri-bold.hinted.json +122 -0
  179. package/resources/fonts/@sheetxl/sdk/calibri-bold.metrics.json +137 -0
  180. package/resources/fonts/@sheetxl/sdk/calibri-bold.rows.json +8 -0
  181. package/resources/fonts/@sheetxl/sdk/calibri-italic.hinted.json +121 -0
  182. package/resources/fonts/@sheetxl/sdk/calibri-italic.metrics.json +137 -0
  183. package/resources/fonts/@sheetxl/sdk/calibri-italic.rows.json +8 -0
  184. package/resources/fonts/@sheetxl/sdk/calibri-regular.hinted.json +121 -0
  185. package/resources/fonts/@sheetxl/sdk/calibri-regular.metrics.json +137 -0
  186. package/resources/fonts/@sheetxl/sdk/calibri-regular.rows.json +8 -0
  187. package/resources/fonts/@sheetxl/sdk/cambria-bold-italic.hinted.json +105 -0
  188. package/resources/fonts/@sheetxl/sdk/cambria-bold-italic.metrics.json +66 -0
  189. package/resources/fonts/@sheetxl/sdk/cambria-bold-italic.rows.json +8 -0
  190. package/resources/fonts/@sheetxl/sdk/cambria-bold.hinted.json +108 -0
  191. package/resources/fonts/@sheetxl/sdk/cambria-bold.metrics.json +66 -0
  192. package/resources/fonts/@sheetxl/sdk/cambria-bold.rows.json +8 -0
  193. package/resources/fonts/@sheetxl/sdk/cambria-italic.hinted.json +102 -0
  194. package/resources/fonts/@sheetxl/sdk/cambria-italic.metrics.json +66 -0
  195. package/resources/fonts/@sheetxl/sdk/cambria-italic.rows.json +8 -0
  196. package/resources/fonts/@sheetxl/sdk/cambria-regular.hinted.json +110 -0
  197. package/resources/fonts/@sheetxl/sdk/cambria-regular.metrics.json +66 -0
  198. package/resources/fonts/@sheetxl/sdk/cambria-regular.rows.json +8 -0
  199. package/resources/fonts/@sheetxl/sdk/contents.json +646 -0
  200. package/resources/fonts/@sheetxl/sdk/courier-new-bold-italic.hinted.json +11 -0
  201. package/resources/fonts/@sheetxl/sdk/courier-new-bold-italic.metrics.json +143 -0
  202. package/resources/fonts/@sheetxl/sdk/courier-new-bold-italic.rows.json +8 -0
  203. package/resources/fonts/@sheetxl/sdk/courier-new-bold.hinted.json +11 -0
  204. package/resources/fonts/@sheetxl/sdk/courier-new-bold.metrics.json +143 -0
  205. package/resources/fonts/@sheetxl/sdk/courier-new-bold.rows.json +8 -0
  206. package/resources/fonts/@sheetxl/sdk/courier-new-italic.hinted.json +11 -0
  207. package/resources/fonts/@sheetxl/sdk/courier-new-italic.metrics.json +143 -0
  208. package/resources/fonts/@sheetxl/sdk/courier-new-italic.rows.json +8 -0
  209. package/resources/fonts/@sheetxl/sdk/courier-new-regular.hinted.json +11 -0
  210. package/resources/fonts/@sheetxl/sdk/courier-new-regular.metrics.json +143 -0
  211. package/resources/fonts/@sheetxl/sdk/courier-new-regular.rows.json +8 -0
  212. package/resources/fonts/@sheetxl/sdk/times-new-roman-bold-italic.hinted.json +125 -0
  213. package/resources/fonts/@sheetxl/sdk/times-new-roman-bold-italic.metrics.json +141 -0
  214. package/resources/fonts/@sheetxl/sdk/times-new-roman-bold-italic.rows.json +8 -0
  215. package/resources/fonts/@sheetxl/sdk/times-new-roman-bold.hinted.json +125 -0
  216. package/resources/fonts/@sheetxl/sdk/times-new-roman-bold.metrics.json +141 -0
  217. package/resources/fonts/@sheetxl/sdk/times-new-roman-bold.rows.json +8 -0
  218. package/resources/fonts/@sheetxl/sdk/times-new-roman-italic.hinted.json +125 -0
  219. package/resources/fonts/@sheetxl/sdk/times-new-roman-italic.metrics.json +143 -0
  220. package/resources/fonts/@sheetxl/sdk/times-new-roman-italic.rows.json +8 -0
  221. package/resources/fonts/@sheetxl/sdk/times-new-roman-regular.hinted.json +125 -0
  222. package/resources/fonts/@sheetxl/sdk/times-new-roman-regular.metrics.json +141 -0
  223. package/resources/fonts/@sheetxl/sdk/times-new-roman-regular.rows.json +8 -0
  224. package/resources/locales/@sheetxl/formulas/contents.json +9 -0
  225. package/resources/locales/@sheetxl/formulas/de/functions.json +298 -0
  226. package/resources/locales/@sheetxl/formulas-extended/contents.json +9 -0
  227. package/resources/locales/@sheetxl/formulas-extended/de/functions.json +59 -0
  228. package/resources/locales/@sheetxl/sdk/contents.json +19 -0
  229. package/resources/locales/@sheetxl/sdk/de/grammar.json +16 -0
  230. package/resources/locales/@sheetxl/sdk/de/model.msg.json +710 -0
  231. package/resources/locales/@sheetxl/sdk/en/model.msg.json +732 -0
  232. package/screenshot-page/assets/-cpi3yOZYn6GsYN4.js +9 -0
  233. package/screenshot-page/assets/-i_fTASJeu9NdNH_.js +7 -0
  234. package/screenshot-page/assets/04d8koPx6lzeMYRQ.js +39 -0
  235. package/screenshot-page/assets/0MTaPYjKud2Q9QG9.js +1 -0
  236. package/screenshot-page/assets/21oAESJyBGXeHegm.js +2 -0
  237. package/screenshot-page/assets/3Ls_kOvlQseMV8Q0.js +1 -0
  238. package/screenshot-page/assets/4qZpl2QCzneWdmJO.js +1 -0
  239. package/screenshot-page/assets/6IEV7KeOEbBdrthj.js +1 -0
  240. package/screenshot-page/assets/8QrkTrKHDnMBb7q4.js +1 -0
  241. package/screenshot-page/assets/9w0ECZmzGUyk3F_O.js +1 -0
  242. package/screenshot-page/assets/AjS2PipZDIH3BXB2.js +1 -0
  243. package/screenshot-page/assets/B-KIwD5F_5S-NsPg.js +1 -0
  244. package/screenshot-page/assets/B-sAzW5ROrhvMGM4.js +1 -0
  245. package/screenshot-page/assets/B0FQypGas6gbGT_U.js +1 -0
  246. package/screenshot-page/assets/B2IQMVqTZT1rUnib.js +1 -0
  247. package/screenshot-page/assets/B2g3jiFIQ4Qjh5gG.js +1 -0
  248. package/screenshot-page/assets/B4PbXdzBe9BsoZ0e.js +2 -0
  249. package/screenshot-page/assets/B5GO9v4p9L70Xb9i.js +1 -0
  250. package/screenshot-page/assets/B8y_eLNCGnXLEIaE.js +1 -0
  251. package/screenshot-page/assets/BCl5buf87xUgIfEB.js +2 -0
  252. package/screenshot-page/assets/BEuMvXYIa9A1JacY.js +1 -0
  253. package/screenshot-page/assets/BEwl-ucV9Jfr0RoC.js +1 -0
  254. package/screenshot-page/assets/BFaiQZKle44Rhyou.js +1 -0
  255. package/screenshot-page/assets/BHqg55S-4_OoAu3P.js +2 -0
  256. package/screenshot-page/assets/BNgLvS2bLOYKRguv.js +1 -0
  257. package/screenshot-page/assets/BQAN82ftWBiLJT3r.js +1 -0
  258. package/screenshot-page/assets/BQfe-XTIOGeUnD9B.js +1 -0
  259. package/screenshot-page/assets/BQnELVV0uR4T4ItQ.js +1 -0
  260. package/screenshot-page/assets/BRVZJ0OGJg9XJro6.js +1 -0
  261. package/screenshot-page/assets/BRqSWCr2mTVNFquQ.js +1 -0
  262. package/screenshot-page/assets/BTOQaSn9DDyJPUlX.js +1 -0
  263. package/screenshot-page/assets/BUGXf2DEBog16Slb.js +2 -0
  264. package/screenshot-page/assets/BUjI304IvdJnFXH3.js +1 -0
  265. package/screenshot-page/assets/BYRwTzX1q407lHUS.js +2 -0
  266. package/screenshot-page/assets/Baz0SC2AgGyxMX72.js +1 -0
  267. package/screenshot-page/assets/BbP9KThfrodyosvn.js +1 -0
  268. package/screenshot-page/assets/BcOdl17EeFSxnAiq.js +1 -0
  269. package/screenshot-page/assets/BclKeOKIOBjijhsu.js +1 -0
  270. package/screenshot-page/assets/Bf7xq8PyF4ohjMzP.js +2 -0
  271. package/screenshot-page/assets/BimyzECCZl-NESff.js +1 -0
  272. package/screenshot-page/assets/BkLH7JH3A93TXFJi.js +1 -0
  273. package/screenshot-page/assets/BksaQEoZr5OWq-_d.js +3 -0
  274. package/screenshot-page/assets/Bor_tayB4yBfNOH5.js +2 -0
  275. package/screenshot-page/assets/BowRIybLgENunTOT.js +1 -0
  276. package/screenshot-page/assets/Bp7se0JaDGrzfSA_.js +1 -0
  277. package/screenshot-page/assets/Bwql3QifB2cv7Mqp.js +3 -0
  278. package/screenshot-page/assets/Bx61vmiWY0Xvx9qs.js +1 -0
  279. package/screenshot-page/assets/ByY3fmwyDPAyOLdo.js +1 -0
  280. package/screenshot-page/assets/Bz2U7weS0spa8Xbh.js +1 -0
  281. package/screenshot-page/assets/Bz5V1tmiy5gbT9ys.js +1 -0
  282. package/screenshot-page/assets/Bz9v1lgjvbu4QnOs.js +2 -0
  283. package/screenshot-page/assets/C1k_VrZqlpiUigCP.js +1 -0
  284. package/screenshot-page/assets/C2Wh2h27c7FUb8Yk.js +1 -0
  285. package/screenshot-page/assets/C6oLDVnuCS9LGkkH.js +1 -0
  286. package/screenshot-page/assets/C81mK8aZKZAAS-AB.js +1 -0
  287. package/screenshot-page/assets/C9SC-cEIt6gdhZRw.js +1 -0
  288. package/screenshot-page/assets/CE0MnsfMjqV2ICzk.js +57 -0
  289. package/screenshot-page/assets/CE8MCCIiwjOVwBBW.js +1 -0
  290. package/screenshot-page/assets/CFOaI8g7pJuPzsyk.js +1 -0
  291. package/screenshot-page/assets/CG3ynup87FmG-kkX.js +1 -0
  292. package/screenshot-page/assets/CHlWgOAlcRCjVuhg.js +1 -0
  293. package/screenshot-page/assets/CIged53b3hHKxa-o.js +1 -0
  294. package/screenshot-page/assets/CNQczIR5xcE5u5fT.js +1 -0
  295. package/screenshot-page/assets/CSUd8n1H0VBfREnk.js +2 -0
  296. package/screenshot-page/assets/CSlBTkRDITCC8JRB.js +1 -0
  297. package/screenshot-page/assets/CV2jr9hpQOG2OG0C.js +1 -0
  298. package/screenshot-page/assets/CXGgKVbVXjWzE0p6.js +1 -0
  299. package/screenshot-page/assets/CXKCmZ_TRyGaB9Ob.js +1 -0
  300. package/screenshot-page/assets/CXUO3vYip3JPSJ7A.js +1 -0
  301. package/screenshot-page/assets/CXwbGzavyvYgDbWU.js +1 -0
  302. package/screenshot-page/assets/CZf9s6otzzoaBlSs.js +1 -0
  303. package/screenshot-page/assets/CZvwQEeVhBilgKLG.js +1 -0
  304. package/screenshot-page/assets/Ca6nxdhEuLLty3d7.js +2 -0
  305. package/screenshot-page/assets/CbUDukmvDZmVfhJH.js +1 -0
  306. package/screenshot-page/assets/CbXtAM7H-Jg_J0dk.js +1 -0
  307. package/screenshot-page/assets/CctIRGMFmARVi2KT.js +1 -0
  308. package/screenshot-page/assets/Cenh1POxiGMxIQlv.js +1 -0
  309. package/screenshot-page/assets/ChSvXfVMLxZsP9zG.js +8 -0
  310. package/screenshot-page/assets/Ci5NtzhJLll1kxGf.js +10 -0
  311. package/screenshot-page/assets/CjngjJNheGaVRvZp.js +1 -0
  312. package/screenshot-page/assets/ClzdIJrFdInttVJA.js +1 -0
  313. package/screenshot-page/assets/CnPgk3HcIziOcskY.js +10 -0
  314. package/screenshot-page/assets/CnXLpFE_vFrJ5Jbf.js +1 -0
  315. package/screenshot-page/assets/CnZJ44ncMxZ4ivcB.js +586 -0
  316. package/screenshot-page/assets/CpbohdgEaEsVDi9J.js +1 -0
  317. package/screenshot-page/assets/CqR3hGrC956TkCMj.js +20 -0
  318. package/screenshot-page/assets/Cr1tQKUBVKOQl3QC.js +1 -0
  319. package/screenshot-page/assets/Cv8FG9PPBkkPw86e.js +1 -0
  320. package/screenshot-page/assets/CvL9XK3Ht1mP-rGz.js +4 -0
  321. package/screenshot-page/assets/CykecBozGGFl26KA.js +3940 -0
  322. package/screenshot-page/assets/CzTizxHhb-CI_ajE.js +1 -0
  323. package/screenshot-page/assets/CzzEl3lAkZopkwhC.js +1 -0
  324. package/screenshot-page/assets/D-LgRj0s-PAVqY-L.js +1 -0
  325. package/screenshot-page/assets/D-XR1MGhwn7Jqj60.js +1 -0
  326. package/screenshot-page/assets/D47ePD4x1lVazNdl.js +7 -0
  327. package/screenshot-page/assets/D6Jpaz2YkhOfzxDB.js +1 -0
  328. package/screenshot-page/assets/D9zCVZpnJBfNSNO2.js +1 -0
  329. package/screenshot-page/assets/DDQWM8rNYCYzKa9R.js +1 -0
  330. package/screenshot-page/assets/DDpAoGAPzo1c4vl5.js +27 -0
  331. package/screenshot-page/assets/DGXDfjkGZjMRAXPg.js +5 -0
  332. package/screenshot-page/assets/DHa5_U58lSwCnpmG.js +1 -0
  333. package/screenshot-page/assets/DKVB6ddRfDJatYid.js +1 -0
  334. package/screenshot-page/assets/DM9U7u7FQK0jcwh4.js +1 -0
  335. package/screenshot-page/assets/DNDaHmkQrQTaCHhV.js +1 -0
  336. package/screenshot-page/assets/DQ0kGd99-fXxuNYk.js +1 -0
  337. package/screenshot-page/assets/DQWHkaQeNXft9j8b.js +2 -0
  338. package/screenshot-page/assets/DRVfGdmVBvktrZ1t.js +1 -0
  339. package/screenshot-page/assets/DRrM-dY9nM7nDRpV.js +1 -0
  340. package/screenshot-page/assets/DT2x1gO3f2G5NfeB.js +1 -0
  341. package/screenshot-page/assets/DU3FmyUH0RjPIBd-.js +1 -0
  342. package/screenshot-page/assets/DUJzubL4qqOyizfu.js +1 -0
  343. package/screenshot-page/assets/DVueE--eOrZPrqrm.js +1 -0
  344. package/screenshot-page/assets/DWiI5I3RtoKvVT66.js +1 -0
  345. package/screenshot-page/assets/DYJSIlNxrNw8qk-w.js +1 -0
  346. package/screenshot-page/assets/DYRbCudWTaiE_Sjc.js +1 -0
  347. package/screenshot-page/assets/DZDRRw-62D6Zw7qs.js +1 -0
  348. package/screenshot-page/assets/D_H2dlsQ8PJ0r1WD.js +10 -0
  349. package/screenshot-page/assets/DaKZ4-Li_ULIIwnK.js +1 -0
  350. package/screenshot-page/assets/DadZXeaVK5UXSHIi.js +1 -0
  351. package/screenshot-page/assets/Db_VGqQo2G2JgXWW.js +1 -0
  352. package/screenshot-page/assets/DceNHPrRLok2At-X.js +1 -0
  353. package/screenshot-page/assets/DcrVJCyDwGKeil2U.js +1 -0
  354. package/screenshot-page/assets/DeAKjatTVaZ0u_FY.js +1 -0
  355. package/screenshot-page/assets/DmMZ4pd492HPw_3_.js +1 -0
  356. package/screenshot-page/assets/DmbuCapSSCYIa3yk.js +1 -0
  357. package/screenshot-page/assets/Dpepompn_NhpSncR.js +1 -0
  358. package/screenshot-page/assets/DqM1wwsmN1J4MXMm.js +1 -0
  359. package/screenshot-page/assets/DqYhS4mcQfOe96hU.js +1 -0
  360. package/screenshot-page/assets/DsL71n5SxCVjL6Ho.js +2 -0
  361. package/screenshot-page/assets/DyGpT6t96jrvgJes.js +1 -0
  362. package/screenshot-page/assets/DyLWQxXXTw5uwPVy.js +30 -0
  363. package/screenshot-page/assets/DyYVf8O1rhg3YmjW.js +1 -0
  364. package/screenshot-page/assets/DyxJBLjUkeDuu96F.js +1 -0
  365. package/screenshot-page/assets/DzZRUd0p22CBa27b.js +1 -0
  366. package/screenshot-page/assets/HclGiUj8dZXDFmoM.js +1 -0
  367. package/screenshot-page/assets/IRtoU5oVgBWu9rnK.js +2 -0
  368. package/screenshot-page/assets/IfF7Tv-nhz6Ikpn0.js +1 -0
  369. package/screenshot-page/assets/J73KTOmdZGNmnq-z.js +1 -0
  370. package/screenshot-page/assets/J_xJVgE7YlmeU-ZO.js +6 -0
  371. package/screenshot-page/assets/KoxRo2J_cwB_yOd5.js +2 -0
  372. package/screenshot-page/assets/LVtV_IPhPQroHRui.js +1 -0
  373. package/screenshot-page/assets/MNoPOsydrUv1UGU8.js +2 -0
  374. package/screenshot-page/assets/Miyn0clMq0rovRIo.js +1 -0
  375. package/screenshot-page/assets/Rm5Sf5E6t8bk_Y3r.js +1 -0
  376. package/screenshot-page/assets/b3AbgxQkoaCiBi15.js +1 -0
  377. package/screenshot-page/assets/fGlPAximvsxzPzGA.js +1 -0
  378. package/screenshot-page/assets/gG0AFZ45VxS_moMw.js +2 -0
  379. package/screenshot-page/assets/nHThFXCAZFOM_npq.js +1 -0
  380. package/screenshot-page/assets/pRykm05ElquZBk_a.js +1 -0
  381. package/screenshot-page/assets/qm3VY0bH7F7EgSdi.js +2 -0
  382. package/screenshot-page/assets/rPOkVKdPbFpTG6AY.js +1 -0
  383. package/screenshot-page/assets/w3bV7wggRayUYTd-.js +1 -0
  384. package/screenshot-page/assets/zFbb8ESzwR_bE7IQ.js +1 -0
  385. package/screenshot-page/assets/zHHZFbk5RXnrxbOc.js +42 -0
  386. package/screenshot-page/index.html +44 -0
  387. package/screenshot-page/resources/contents.json +333 -0
  388. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-bold-italic.hinted.json +125 -0
  389. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-bold-italic.metrics.json +221 -0
  390. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-bold-italic.rows.json +8 -0
  391. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-bold.hinted.json +125 -0
  392. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-bold.metrics.json +221 -0
  393. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-bold.rows.json +8 -0
  394. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-bold-italic.hinted.json +125 -0
  395. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-bold-italic.metrics.json +221 -0
  396. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-bold-italic.rows.json +8 -0
  397. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-bold.hinted.json +125 -0
  398. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-bold.metrics.json +221 -0
  399. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-bold.rows.json +8 -0
  400. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-italic.hinted.json +124 -0
  401. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-italic.metrics.json +221 -0
  402. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-italic.rows.json +8 -0
  403. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-regular.hinted.json +125 -0
  404. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-regular.metrics.json +221 -0
  405. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-regular.rows.json +8 -0
  406. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-italic.hinted.json +125 -0
  407. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-italic.metrics.json +221 -0
  408. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-italic.rows.json +8 -0
  409. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-bold-italic.hinted.json +125 -0
  410. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-bold-italic.metrics.json +221 -0
  411. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-bold-italic.rows.json +8 -0
  412. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-bold.hinted.json +125 -0
  413. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-bold.metrics.json +221 -0
  414. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-bold.rows.json +8 -0
  415. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-italic.hinted.json +125 -0
  416. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-italic.metrics.json +221 -0
  417. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-italic.rows.json +8 -0
  418. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-regular.hinted.json +125 -0
  419. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-regular.metrics.json +221 -0
  420. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-regular.rows.json +8 -0
  421. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-regular.hinted.json +125 -0
  422. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-regular.metrics.json +221 -0
  423. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-regular.rows.json +8 -0
  424. package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-bold-italic.hinted.json +125 -0
  425. package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-bold-italic.metrics.json +139 -0
  426. package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-bold-italic.rows.json +8 -0
  427. package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-bold.hinted.json +125 -0
  428. package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-bold.metrics.json +139 -0
  429. package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-bold.rows.json +8 -0
  430. package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-italic.hinted.json +125 -0
  431. package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-italic.metrics.json +139 -0
  432. package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-italic.rows.json +8 -0
  433. package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-regular.hinted.json +125 -0
  434. package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-regular.metrics.json +139 -0
  435. package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-regular.rows.json +8 -0
  436. package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-bold-italic.hinted.json +122 -0
  437. package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-bold-italic.metrics.json +137 -0
  438. package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-bold-italic.rows.json +8 -0
  439. package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-bold.hinted.json +122 -0
  440. package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-bold.metrics.json +137 -0
  441. package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-bold.rows.json +8 -0
  442. package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-italic.hinted.json +121 -0
  443. package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-italic.metrics.json +137 -0
  444. package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-italic.rows.json +8 -0
  445. package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-regular.hinted.json +121 -0
  446. package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-regular.metrics.json +137 -0
  447. package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-regular.rows.json +8 -0
  448. package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-bold-italic.hinted.json +105 -0
  449. package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-bold-italic.metrics.json +66 -0
  450. package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-bold-italic.rows.json +8 -0
  451. package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-bold.hinted.json +108 -0
  452. package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-bold.metrics.json +66 -0
  453. package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-bold.rows.json +8 -0
  454. package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-italic.hinted.json +102 -0
  455. package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-italic.metrics.json +66 -0
  456. package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-italic.rows.json +8 -0
  457. package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-regular.hinted.json +110 -0
  458. package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-regular.metrics.json +66 -0
  459. package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-regular.rows.json +8 -0
  460. package/screenshot-page/resources/fonts/@sheetxl/sdk/contents.json +646 -0
  461. package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-bold-italic.hinted.json +11 -0
  462. package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-bold-italic.metrics.json +143 -0
  463. package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-bold-italic.rows.json +8 -0
  464. package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-bold.hinted.json +11 -0
  465. package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-bold.metrics.json +143 -0
  466. package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-bold.rows.json +8 -0
  467. package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-italic.hinted.json +11 -0
  468. package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-italic.metrics.json +143 -0
  469. package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-italic.rows.json +8 -0
  470. package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-regular.hinted.json +11 -0
  471. package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-regular.metrics.json +143 -0
  472. package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-regular.rows.json +8 -0
  473. package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-bold-italic.hinted.json +125 -0
  474. package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-bold-italic.metrics.json +141 -0
  475. package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-bold-italic.rows.json +8 -0
  476. package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-bold.hinted.json +125 -0
  477. package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-bold.metrics.json +141 -0
  478. package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-bold.rows.json +8 -0
  479. package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-italic.hinted.json +125 -0
  480. package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-italic.metrics.json +143 -0
  481. package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-italic.rows.json +8 -0
  482. package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-regular.hinted.json +125 -0
  483. package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-regular.metrics.json +141 -0
  484. package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-regular.rows.json +8 -0
  485. package/screenshot-page/resources/locales/@sheetxl/formulas/contents.json +9 -0
  486. package/screenshot-page/resources/locales/@sheetxl/formulas/de/functions.json +298 -0
  487. package/screenshot-page/resources/locales/@sheetxl/formulas-extended/contents.json +9 -0
  488. package/screenshot-page/resources/locales/@sheetxl/formulas-extended/de/functions.json +59 -0
  489. package/screenshot-page/resources/locales/@sheetxl/sdk/contents.json +19 -0
  490. package/screenshot-page/resources/locales/@sheetxl/sdk/de/grammar.json +16 -0
  491. package/screenshot-page/resources/locales/@sheetxl/sdk/de/model.msg.json +710 -0
  492. package/screenshot-page/resources/locales/@sheetxl/sdk/en/model.msg.json +732 -0
  493. package/types/index.d.ts +1 -0
  494. package/types/lib.d.ts +2 -0
  495. package/types/scripting-api.json +10855 -0
  496. package/types/scripting-enums.json +1339 -0
  497. package/types/scripting.d.ts +49295 -0
  498. package/types/src/SessionRegistry.d.ts +630 -0
  499. package/types/src/index.d.ts +3 -0
  500. package/types/src/instances.d.ts +104 -0
  501. package/types/src/lib/Types.d.ts +17 -0
  502. package/types/src/lib/index.d.ts +2 -0
  503. package/types/src/lib/runReport.d.ts +158 -0
  504. package/types/src/lib.d.ts +2 -0
  505. package/types/src/prepareRun.d.ts +56 -0
  506. package/types/src/relay.d.ts +102 -0
  507. package/types/src/screenshot.d.ts +23 -0
  508. package/types/src/server.d.ts +37 -0
  509. package/types/src/taskStore.d.ts +28 -0
@@ -0,0 +1,2346 @@
1
+ /**
2
+ * @license @sheetxl/mcp - MCP server exposing SheetXL spreadsheet operations as tools and resources. - v0.8.0-beta.14
3
+ *
4
+ * (C) 2026-present SheetXL Inc. & Michael T. Ford
5
+ * License: The license can be found at https://www.sheetxl.com/license.
6
+ */
7
+ import { K as t, L as e, S as n } from "./B-1_xSqUFCJ6jNjn.js";
8
+ var r = [
9
+ "customMenu",
10
+ "description",
11
+ "help",
12
+ "statusBar",
13
+ "shortcutKey"
14
+ ], s = [
15
+ "function",
16
+ "vbProcedure",
17
+ "xlm",
18
+ "publishToServer",
19
+ "workbookParameter"
20
+ ], i = /<!\[CDATA\[([\s\S]*?)\]\]>|<!--[\s\S]*?-->|<\?[\s\S]*?\?>|<!DOCTYPE[^>]*>|<(\/?)([^\s/>]+)((?:\s+[^\s=/>]+\s*=\s*(?:"[^"]*"|'[^']*'))*)\s*(\/?)>|([^<]+)/g, o = {
21
+ amp: "&",
22
+ lt: "<",
23
+ gt: ">",
24
+ quot: "\"",
25
+ apos: "'"
26
+ }, a = (t) => -1 === t.indexOf("&") ? t : t.replace(/&(#x[0-9a-fA-F]+|#\d+|\w+);/g, (t, e) => {
27
+ if ("#" !== e[0]) return o[e] ?? t;
28
+ const n = "x" === e[1] ? parseInt(e.slice(2), 16) : parseInt(e.slice(1), 10);
29
+ return Number.isFinite(n) ? String.fromCodePoint(n) : t;
30
+ }), l = (t) => {
31
+ const e = t.indexOf(":");
32
+ return -1 === e ? t : t.slice(e + 1);
33
+ }, d = (t) => {
34
+ const e = {
35
+ name: "",
36
+ qname: "",
37
+ attrs: "",
38
+ children: [],
39
+ start: 0,
40
+ end: t.length,
41
+ contentStart: 0,
42
+ contentEnd: t.length
43
+ }, n = [e];
44
+ i.lastIndex = 0;
45
+ for (let e = i.exec(t); e; e = i.exec(t)) {
46
+ const t = n[n.length - 1];
47
+ if (void 0 !== e[1]) t.children.push(e[1]);
48
+ else if (void 0 !== e[6]) t.children.push(a(e[6]));
49
+ else if (void 0 !== e[3]) {
50
+ if (e[2]) {
51
+ if (n.length > 1) {
52
+ const t = n.pop();
53
+ t.contentEnd = e.index, t.end = e.index + e[0].length;
54
+ }
55
+ continue;
56
+ }
57
+ const r = e.index + e[0].length, s = {
58
+ name: l(e[3]),
59
+ qname: e[3],
60
+ attrs: e[4] ?? "",
61
+ children: [],
62
+ start: e.index,
63
+ end: r,
64
+ contentStart: r,
65
+ contentEnd: r
66
+ };
67
+ t.children.push(s), e[5] || n.push(s);
68
+ }
69
+ }
70
+ return e.children.find((t) => "string" != typeof t) ?? null;
71
+ }, c = (t) => t.children.filter((t) => "string" != typeof t), u = (t) => {
72
+ let e = "";
73
+ for (const n of t.children) "string" == typeof n && (e += n);
74
+ return e;
75
+ }, p = "http://schemas.openxmlformats.org/drawingml/2006/chart", f = "http://schemas.openxmlformats.org/drawingml/2006/main", m = "http://schemas.openxmlformats.org/officeDocument/2006/relationships", h = "http://schemas.microsoft.com/office/drawing/2012/chart", b = "http://schemas.microsoft.com/office/drawing/2014/chartex", g = {
76
+ c: "c",
77
+ a: "a",
78
+ r: "r",
79
+ c15: "c15",
80
+ cx: "cx"
81
+ }, y = (t) => t === p || "http://purl.oclc.org/ooxml/drawingml/chart" === t, v = (t) => t === f || "http://purl.oclc.org/ooxml/drawingml/main" === t, x = (t) => t === b, w = Object.freeze({ xml: "http://www.w3.org/XML/1998/namespace" }), k = /([^\s=]+)\s*=\s*(?:"([^"]*)"|'([^']*)')/g, S = (t) => {
82
+ const e = [];
83
+ k.lastIndex = 0;
84
+ for (let n = k.exec(t.attrs); n; n = k.exec(t.attrs)) e.push([n[1], a(n[2] ?? n[3] ?? "")]);
85
+ return e;
86
+ }, L = (t, e) => {
87
+ let n = null;
88
+ for (const [r, s] of S(t)) "xmlns" === r ? (n ??= { ...e })[""] = s : r.startsWith("xmlns:") && ((n ??= { ...e })[r.slice(6)] = s);
89
+ return n ?? e;
90
+ }, P = (t, e) => e[((t) => {
91
+ const e = t.indexOf(":");
92
+ return -1 === e ? "" : t.slice(0, e);
93
+ })(t.qname)], C = class {
94
+ constructor() {
95
+ this._parts = [];
96
+ }
97
+ open(t, e, n = !1) {
98
+ let r = "<" + t;
99
+ if (e) for (const [t, n] of e) r += ` ${t}="${T(n)}"`;
100
+ return this._parts.push(r + (n ? "/>" : ">")), this;
101
+ }
102
+ close(t) {
103
+ return this._parts.push(`</${t}>`), this;
104
+ }
105
+ val(t, e) {
106
+ return this.open(t, [["val", e]], !0);
107
+ }
108
+ text(t) {
109
+ return this._parts.push(((t) => t.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;"))(t)), this;
110
+ }
111
+ raw(t) {
112
+ return this._parts.push(t), this;
113
+ }
114
+ toString() {
115
+ return this._parts.join("");
116
+ }
117
+ }, T = (t) => t.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/"/g, "&quot;"), I = (t) => "1" === t || "true" === t || "0" !== t && "false" !== t && null, D = (t) => t ? "1" : "0", N = /^[-+]?(?:\d+\.?\d*|\.\d+)(?:[eE][-+]?\d+)?$/, $ = (t) => {
118
+ const e = I(t);
119
+ return null !== e ? D(e) : N.test(t) ? String(Number(t)) : t;
120
+ }, j = /* @__PURE__ */ new Set([
121
+ "date1904",
122
+ "roundedCorners",
123
+ "autoTitleDeleted",
124
+ "plotVisOnly",
125
+ "showDLblsOverMax",
126
+ "varyColors",
127
+ "marker",
128
+ "smooth",
129
+ "invertIfNegative",
130
+ "bubble3D",
131
+ "delete",
132
+ "showLegendKey",
133
+ "showVal",
134
+ "showCatName",
135
+ "showSerName",
136
+ "showPercent",
137
+ "showBubbleSize",
138
+ "showLeaderLines",
139
+ "overlay",
140
+ "rAngAx",
141
+ "showHorzBorder",
142
+ "showVertBorder",
143
+ "showOutline",
144
+ "showKeys",
145
+ "auto",
146
+ "noMultiLvlLbl",
147
+ "wireframe",
148
+ "showNegBubbles",
149
+ "autoUpdate",
150
+ "applyToFront",
151
+ "applyToSides",
152
+ "applyToEnd",
153
+ "chartObject",
154
+ "data",
155
+ "formatting",
156
+ "selection",
157
+ "userInterface"
158
+ ]), O = (t, e, n = !1) => {
159
+ const r = L(t, e), s = P(t, r) ?? "", i = [];
160
+ for (const [e, n] of S(t)) {
161
+ if ("xmlns" === e || e.startsWith("xmlns:")) continue;
162
+ const t = e.indexOf(":"), s = -1 === t ? e : `{${r[e.slice(0, t)] ?? e.slice(0, t)}}${e.slice(t + 1)}`;
163
+ i.push(`${s}=${JSON.stringify($(n))}`);
164
+ }
165
+ const o = c(t), a = 0 === o.length ? t.children.join("") : "";
166
+ 0 === i.length && 0 === o.length && "" === a && y(s) && j.has(t.name) && i.push("val=\"1\""), i.sort();
167
+ let l = `<{${s}}${t.name}${i.length ? " " + i.join(" ") : ""}>`;
168
+ if (o.length > 0) {
169
+ const e = [];
170
+ for (const s of t.children) "string" == typeof s ? "" !== s.trim() && e.push(JSON.stringify(s)) : e.push(O(s, r, n));
171
+ n && e.sort(), l += e.join("");
172
+ } else "" !== a && (l += JSON.stringify(a));
173
+ return l + "</>";
174
+ }, F = class {
175
+ constructor(t, e) {
176
+ this.xml = t, this.rootScope = e, this.kept = 0, this.reordered = 0;
177
+ const n = Object.values(e).find(y) ?? p, r = v(e[g.a]) ? e[g.a] : f;
178
+ this.writeScope = {
179
+ ...e,
180
+ [g.c]: n,
181
+ [g.cx]: b,
182
+ [g.a]: r,
183
+ [g.r]: e[g.r] ?? m
184
+ };
185
+ }
186
+ markupOf(t, e) {
187
+ let n = this.xml.slice(t.start, t.end);
188
+ const r = new Set(S(t).map(([t]) => t).filter((t) => "xmlns" === t || t.startsWith("xmlns:")));
189
+ let s = "";
190
+ for (const t of Object.keys(e)) "xml" !== t && e[t] !== this.rootScope[t] && (r.has("" === t ? "xmlns" : `xmlns:${t}`) || (s += "" === t ? ` xmlns="${e[t]}"` : ` xmlns:${t}="${e[t]}"`));
191
+ if (s) {
192
+ const e = 1 + t.qname.length;
193
+ n = n.slice(0, e) + s + n.slice(e);
194
+ }
195
+ return n;
196
+ }
197
+ }, M = (t, e) => {
198
+ switch (t) {
199
+ case "c": return y(e);
200
+ case "c15": return e === h;
201
+ case "cx": return x(e);
202
+ default: return v(e);
203
+ }
204
+ }, R = (t, e, n, r) => {
205
+ const s = L(t, n), i = {};
206
+ let o, a;
207
+ for (const [n, r] of S(t)) {
208
+ const t = e.attributes?.find((t) => t.name === n), s = t ? t.read(r) : void 0;
209
+ t && void 0 !== s && $(t.write(s)) === $(r) ? i[t.key] = s : (o ??= {})[n] = r;
210
+ }
211
+ let l = -1, d = "";
212
+ const u = {};
213
+ for (const n of c(t)) {
214
+ const t = L(n, s), o = P(n, t), c = e.fields.findIndex((t) => t.tags.includes(n.name) && M(t.ns, o)), p = -1 === c ? null : e.fields[c], f = p && !p.many ? p.get ? p.get(i) : i[p.key] : void 0, m = c > l || c === l && !!p?.many;
215
+ if (p && void 0 === f && (m || !p.many)) {
216
+ const e = p.read(n, t, r);
217
+ if (void 0 !== e) {
218
+ p.many ? (i[p.key] ??= []).push(e) : p.set ? p.set(i, e) : i[p.key] = e, u[p.key] = (u[p.key] ?? 0) + 1, m ? (l = c, d = n.name) : r.reordered++;
219
+ continue;
220
+ }
221
+ }
222
+ const h = -1 === l ? null : e.fields[l], b = {
223
+ after: d,
224
+ xml: r.markupOf(n, s)
225
+ };
226
+ h?.many && (b.at = u[h.key]), (a ??= []).push(b);
227
+ }
228
+ return (o || a) && (i.unknown = {}, a && (i.unknown.elements = a), o && (i.unknown.attributes = o)), e.afterRead?.(i, t, s, r), i;
229
+ }, A = (t, e, n, r) => {
230
+ const s = [];
231
+ for (const t of r.attributes ?? []) {
232
+ const e = n[t.key];
233
+ void 0 !== e && s.push([t.name, t.write(e)]);
234
+ }
235
+ const i = n.unknown;
236
+ if (i?.attributes) for (const t of Object.keys(i.attributes)) s.push([t, i.attributes[t]]);
237
+ for (const t of r.declares?.(n) ?? []) s.some(([e]) => e === t[0]) || s.push(t);
238
+ const o = new C(), a = i?.elements ? [...i.elements] : [], l = (t) => {
239
+ for (let e = 0; e < a.length; e++) t(a[e]) && (o.raw(a[e].xml), a.splice(e--, 1));
240
+ };
241
+ l((t) => "" === t.after);
242
+ for (const t of r.fields) {
243
+ const e = t.get ? t.get(n) : n[t.key], r = (e) => t.tags.includes(e.after);
244
+ if (t.many) {
245
+ const n = e ?? [];
246
+ for (let e = 0; e < n.length; e++) t.write(o, n[e]), l((t) => r(t) && t.at === e + 1);
247
+ } else void 0 !== e && t.write(o, e);
248
+ l(r);
249
+ }
250
+ l(() => !0);
251
+ const d = o.toString();
252
+ "" === d ? t.open(e, s, !0) : t.open(e, s).raw(d).close(e);
253
+ }, U = (t, e) => `${g[t]}:${e}`, W = (t, e, n = t, r = "c") => ({
254
+ tags: [t],
255
+ key: n,
256
+ ns: r,
257
+ read: (t) => {
258
+ const n = ((t) => {
259
+ if (c(t).length > 0) return;
260
+ let e = null;
261
+ for (const [n, r] of S(t)) {
262
+ if ("val" !== n) return;
263
+ e = r;
264
+ }
265
+ return e;
266
+ })(t);
267
+ if (void 0 === n) return;
268
+ if ("bool" === e) return null === n || (I(n) ?? void 0);
269
+ if (null === n) return;
270
+ if ("str" === e) return n;
271
+ const r = Number(n);
272
+ return Number.isFinite(r) && ("int" !== e || Number.isInteger(r)) && $(String(r)) === $(n) ? r : void 0;
273
+ },
274
+ write: (n, s) => {
275
+ n.val(U(r, t), "bool" === e ? D(s) : String(s));
276
+ }
277
+ }), B = (t, e = t, n = "c") => ({
278
+ tags: [t],
279
+ key: e,
280
+ ns: n,
281
+ read: (t) => {
282
+ if (!(c(t).length > 0 || S(t).some(([t]) => !t.startsWith("xmlns")))) return u(t);
283
+ },
284
+ write: (e, r) => {
285
+ const s = U(n, t);
286
+ "" === r ? e.open(s, null, !0) : e.open(s).text(r).close(s);
287
+ }
288
+ }), E = (t, e, n = t, r) => {
289
+ const s = r?.ns ?? "c", i = "function" == typeof e ? e : () => e;
290
+ return {
291
+ tags: [t],
292
+ key: n,
293
+ ns: s,
294
+ many: r?.many,
295
+ read: (t, e, n) => R(t, i(), e, n),
296
+ write: (e, n) => A(e, U(s, t), n, i())
297
+ };
298
+ }, z = (t, e, n = t, r = 1) => ({
299
+ name: t,
300
+ key: n,
301
+ read: (t) => {
302
+ if ("str" === e) return t;
303
+ if ("bool" === e) return I(t) ?? void 0;
304
+ const n = Number(t);
305
+ return Number.isFinite(n) && ("int" !== e || Number.isInteger(n)) ? 1 === r ? n : n / r : void 0;
306
+ },
307
+ write: (t) => "bool" === e ? D(t) : "str" === e ? t : String(1 === r ? t : Math.round(t * r))
308
+ }), H = (t, e, n, r) => ({
309
+ name: t,
310
+ key: e,
311
+ read: n,
312
+ write: r
313
+ }), V = (t) => ({
314
+ ...t,
315
+ read: (e, n, r) => {
316
+ const s = t.read(e, n, r);
317
+ if (void 0 === s) return;
318
+ const i = new C();
319
+ t.write(i, s);
320
+ const o = ((t, e) => {
321
+ const n = d(t);
322
+ return n ? O(n, e) : null;
323
+ })(i.toString(), r.writeScope) === O(e, n);
324
+ return o || r.kept++, o ? s : void 0;
325
+ }
326
+ }), q = (t) => `a:${t}`, G = /* @__PURE__ */ new Set([
327
+ "bg1",
328
+ "tx1",
329
+ "bg2",
330
+ "tx2",
331
+ "accent1",
332
+ "accent2",
333
+ "accent3",
334
+ "accent4",
335
+ "accent5",
336
+ "accent6",
337
+ "hlink",
338
+ "folHlink",
339
+ "phClr",
340
+ "dk1",
341
+ "lt1",
342
+ "dk2",
343
+ "lt2"
344
+ ]), J = /* @__PURE__ */ new Set([
345
+ "scrollBar",
346
+ "background",
347
+ "activeCaption",
348
+ "inactiveCaption",
349
+ "menu",
350
+ "window",
351
+ "windowFrame",
352
+ "menuText",
353
+ "windowText",
354
+ "captionText",
355
+ "activeBorder",
356
+ "inactiveBorder",
357
+ "appWorkspace",
358
+ "highlight",
359
+ "highlightText",
360
+ "btnFace",
361
+ "btnShadow",
362
+ "grayText",
363
+ "btnText",
364
+ "inactiveCaptionText",
365
+ "btnHighlight",
366
+ "3dDkShadow",
367
+ "3dLight",
368
+ "infoText",
369
+ "infoBk",
370
+ "hotLight",
371
+ "gradientActiveCaption",
372
+ "gradientInactiveCaption",
373
+ "menuHighlight",
374
+ "menuBar"
375
+ ]), K = [
376
+ "scrgbClr",
377
+ "srgbClr",
378
+ "hslClr",
379
+ "sysClr",
380
+ "schemeClr",
381
+ "prstClr"
382
+ ], _ = (t) => "hue" === t || "hueOff" === t || "hueMod" === t ? 6e4 : "alpha" === t || "alphaOff" === t || "alphaMod" === t ? 1e5 : 1e3, X = (t, e) => {
383
+ const n = {};
384
+ for (const [r, s] of S(t)) {
385
+ if (!e.includes(r)) return null;
386
+ n[r] = s;
387
+ }
388
+ return n;
389
+ }, Y = /^-?\d+$/, Q = (t) => {
390
+ const e = c(t);
391
+ return 0 === e.length ? null : e.length > 1 || !K.includes(e[0].name) ? void 0 : ((t) => {
392
+ let e;
393
+ switch (t.name) {
394
+ case "scrgbClr": {
395
+ const n = X(t, [
396
+ "r",
397
+ "g",
398
+ "b"
399
+ ]);
400
+ if (!(n && Y.test(n.r ?? "") && Y.test(n.g ?? "") && Y.test(n.b ?? ""))) return;
401
+ e = `lrgb(${Number(n.r) / 1e3},${Number(n.g) / 1e3},${Number(n.b) / 1e3})`;
402
+ break;
403
+ }
404
+ case "hslClr": {
405
+ const n = X(t, [
406
+ "hue",
407
+ "sat",
408
+ "lum"
409
+ ]);
410
+ if (!(n && Y.test(n.hue ?? "") && Y.test(n.sat ?? "") && Y.test(n.lum ?? ""))) return;
411
+ e = `hsl(${Number(n.hue) / 6e4},${Number(n.sat) / 1e3},${Number(n.lum) / 1e3})`;
412
+ break;
413
+ }
414
+ case "sysClr": {
415
+ const n = X(t, ["val", "lastClr"]);
416
+ if (!n?.val || !J.has(n.val)) return;
417
+ e = void 0 !== n.lastClr ? `${n.val} lastClr ${n.lastClr}` : n.val;
418
+ break;
419
+ }
420
+ default: {
421
+ const n = X(t, ["val"]);
422
+ if (!n?.val || /\s/.test(n.val)) return;
423
+ if ((G.has(n.val) ? "schemeClr" : /^[0-9A-Fa-f]{6}$/.test(n.val) ? "srgbClr" : "prstClr") !== t.name) return;
424
+ e = n.val;
425
+ }
426
+ }
427
+ for (const n of c(t)) {
428
+ if (c(n).length > 0) return;
429
+ const t = X(n, ["val"]);
430
+ if (!t) return;
431
+ if (void 0 !== t.val) {
432
+ if (!Y.test(t.val)) return;
433
+ e += ` ${n.name} ${Number(t.val) / _(n.name)}`;
434
+ } else e += ` ${n.name}`;
435
+ }
436
+ return e;
437
+ })(e[0]);
438
+ }, Z = /^-?(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?$/i, tt = (e, n, r, s) => {
439
+ void 0 === r ? e.open(q(n), s, !0) : (e.open(q(n), s), ((e, n) => {
440
+ const r = ((t) => {
441
+ const e = t.trim(), n = /^[a-z]+\([^)]*\)|^[^\s,]+/i.exec(e)?.[0] ?? e, r = e.slice(n.length).split(/\s*,\s*|\s+/).filter((t) => "" !== t);
442
+ return [n.replace(/\s+/g, ""), ...r];
443
+ })(n), s = r.shift();
444
+ let i, o;
445
+ const a = /^(lrgb|hsl)\(([^,]+),([^,]+),([^)]+)\)$/.exec(s);
446
+ if ("lrgb" === a?.[1]) i = "scrgbClr", o = [
447
+ ["r", String(Math.round(1e3 * Number(a[2])))],
448
+ ["g", String(Math.round(1e3 * Number(a[3])))],
449
+ ["b", String(Math.round(1e3 * Number(a[4])))]
450
+ ];
451
+ else if ("hsl" === a?.[1]) i = "hslClr", o = [
452
+ ["hue", String(Math.round(6e4 * Number(a[2])))],
453
+ ["sat", String(Math.round(1e3 * Number(a[3])))],
454
+ ["lum", String(Math.round(1e3 * Number(a[4])))]
455
+ ];
456
+ else if ("lastClr" === r[0] || J.has(s)) i = "sysClr", o = [["val", s]], "lastClr" === r[0] && (r.shift(), o.push(["lastClr", r.shift()]));
457
+ else {
458
+ const e = ((e) => {
459
+ if (G.has(e) || /^[0-9A-Fa-f]{6}$/.test(e) || /^[a-z]+$/i.test(e)) return null;
460
+ let n;
461
+ try {
462
+ n = new t(e);
463
+ } catch {
464
+ return null;
465
+ }
466
+ const r = n.getType();
467
+ return "hex" === r || "rgb" === r || "hsl" === r ? n.toHex().toString(!1).replace("#", "").toUpperCase() : null;
468
+ })(s);
469
+ i = e ? "srgbClr" : G.has(s) ? "schemeClr" : /^[0-9A-Fa-f]{6}$/.test(s) ? "srgbClr" : "prstClr", o = [["val", e ?? s]];
470
+ }
471
+ if (0 !== r.length) {
472
+ e.open(q(i), o);
473
+ for (let t = 0; t < r.length; t++) {
474
+ const n = r[t];
475
+ t + 1 < r.length && Z.test(r[t + 1]) ? e.val(q(n), String(Math.round(Number(r[++t]) * _(n)))) : e.open(q(n), null, !0);
476
+ }
477
+ e.close(q(i));
478
+ } else e.open(q(i), o, !0);
479
+ })(e, r), e.close(q(n)));
480
+ }, et = [
481
+ "noFill",
482
+ "solidFill",
483
+ "gradFill",
484
+ "pattFill",
485
+ "grpFill"
486
+ ], nt = (t) => {
487
+ const e = X(t, [
488
+ "l",
489
+ "t",
490
+ "r",
491
+ "b"
492
+ ]);
493
+ if (!e) return;
494
+ const n = {};
495
+ return void 0 !== e.l && (n.left = Number(e.l) / 1e3), void 0 !== e.t && (n.top = Number(e.t) / 1e3), void 0 !== e.r && (n.right = Number(e.r) / 1e3), void 0 !== e.b && (n.bottom = Number(e.b) / 1e3), n;
496
+ }, rt = (t, e, n) => {
497
+ const r = [];
498
+ void 0 !== n.left && r.push(["l", String(Math.round(1e3 * n.left))]), void 0 !== n.top && r.push(["t", String(Math.round(1e3 * n.top))]), void 0 !== n.right && r.push(["r", String(Math.round(1e3 * n.right))]), void 0 !== n.bottom && r.push(["b", String(Math.round(1e3 * n.bottom))]), t.open(q(e), r, !0);
499
+ }, st = (t) => V({
500
+ tags: et,
501
+ key: t,
502
+ ns: "a",
503
+ read: (t) => ((t) => {
504
+ switch (t.name) {
505
+ case "noFill": return 0 === c(t).length && 0 === S(t).length ? { type: e.Type.None } : void 0;
506
+ case "grpFill": return 0 === c(t).length && 0 === S(t).length ? { type: e.Type.Group } : void 0;
507
+ case "solidFill": {
508
+ if (S(t).length > 0) return;
509
+ const n = Q(t);
510
+ if (void 0 === n) return;
511
+ return null === n ? { type: e.Type.Solid } : {
512
+ type: e.Type.Solid,
513
+ color: n
514
+ };
515
+ }
516
+ case "gradFill": return ((t) => {
517
+ const n = X(t, ["rotWithShape", "flip"]);
518
+ if (!n) return;
519
+ const r = { type: e.Type.Gradient };
520
+ if (void 0 !== n.rotWithShape) {
521
+ const t = I(n.rotWithShape);
522
+ if (null === t) return;
523
+ r.isRotatedWithShape = t;
524
+ }
525
+ void 0 !== n.flip && (r.flip = n.flip);
526
+ for (const n of c(t)) if ("gsLst" === n.name) {
527
+ const t = [];
528
+ for (const e of c(n)) {
529
+ const n = "gs" === e.name ? X(e, ["pos"]) : null, r = n && Y.test(n.pos ?? "") ? Q(e) : void 0;
530
+ if (!r) return;
531
+ t.push({
532
+ offset: Number(n.pos) / 1e5,
533
+ color: r
534
+ });
535
+ }
536
+ r.stops = t;
537
+ } else if ("lin" === n.name) {
538
+ const t = X(n, ["ang", "scaled"]);
539
+ if (!t || c(n).length > 0) return;
540
+ if (r.gradientType = e.GradientType.Linear, void 0 !== t.ang) {
541
+ if (!Y.test(t.ang)) return;
542
+ r.angle = (Number(t.ang) / 6e4 + 90) % 360;
543
+ }
544
+ if (void 0 !== t.scaled) {
545
+ const e = I(t.scaled);
546
+ if (null === e) return;
547
+ r.scaled = e;
548
+ }
549
+ } else if ("path" === n.name) {
550
+ const t = X(n, ["path"]);
551
+ if (!t) return;
552
+ r.gradientType = "circle" === t.path ? e.GradientType.Path : t.path;
553
+ const s = c(n);
554
+ if (s.length > 1 || 1 === s.length && "fillToRect" !== s[0].name) return;
555
+ if (1 === s.length) {
556
+ const t = nt(s[0]);
557
+ if (!t) return;
558
+ r.focus = {
559
+ left: (t.left ?? 0) / 100,
560
+ top: (t.top ?? 0) / 100,
561
+ right: 1 - (t.right ?? 0) / 100,
562
+ bottom: 1 - (t.bottom ?? 0) / 100
563
+ };
564
+ }
565
+ } else {
566
+ if ("tileRect" !== n.name) return;
567
+ {
568
+ const t = nt(n);
569
+ if (!t) return;
570
+ r.tileRect = t;
571
+ }
572
+ }
573
+ return r;
574
+ })(t);
575
+ case "pattFill": {
576
+ const n = X(t, ["prst"]);
577
+ if (!n) return;
578
+ const r = { type: e.Type.Pattern };
579
+ void 0 !== n.prst && (r.patternType = n.prst);
580
+ for (const e of c(t)) {
581
+ const t = "fgClr" === e.name || "bgClr" === e.name ? Q(e) : void 0;
582
+ if (!t) return;
583
+ "fgClr" === e.name ? r.foreground = t : r.background = t;
584
+ }
585
+ return r;
586
+ }
587
+ }
588
+ })(t),
589
+ write: (t, n) => ((t, n) => {
590
+ switch (n.type) {
591
+ case e.Type.None:
592
+ t.open(q("noFill"), null, !0);
593
+ return;
594
+ case e.Type.Group:
595
+ t.open(q("grpFill"), null, !0);
596
+ return;
597
+ case e.Type.Solid:
598
+ tt(t, "solidFill", n.color);
599
+ return;
600
+ case e.Type.Gradient:
601
+ ((t, n) => {
602
+ const r = [];
603
+ if (void 0 !== n.flip && r.push(["flip", n.flip]), void 0 !== n.isRotatedWithShape && r.push(["rotWithShape", D(n.isRotatedWithShape)]), t.open(q("gradFill"), r), n.stops) {
604
+ t.open(q("gsLst"));
605
+ for (const e of n.stops) {
606
+ const { offset: n, color: r } = "string" == typeof e ? {
607
+ offset: 0,
608
+ color: e
609
+ } : e;
610
+ tt(t, "gs", r, [["pos", String(Math.round(1e5 * (n ?? 0)))]]);
611
+ }
612
+ t.close(q("gsLst"));
613
+ }
614
+ if (n.gradientType === e.GradientType.Linear) {
615
+ const e = [];
616
+ void 0 !== n.angle && e.push(["ang", String(Math.round((n.angle - 90 + 360) % 360 * 6e4))]), void 0 !== n.scaled && e.push(["scaled", D(n.scaled)]), t.open(q("lin"), e, !0);
617
+ } else if (void 0 !== n.gradientType) {
618
+ const r = n.gradientType === e.GradientType.Path ? "circle" : n.gradientType;
619
+ n.focus ? (t.open(q("path"), [["path", r]]), rt(t, "fillToRect", {
620
+ left: 100 * n.focus.left,
621
+ top: 100 * n.focus.top,
622
+ right: 100 * (1 - n.focus.right),
623
+ bottom: 100 * (1 - n.focus.bottom)
624
+ }), t.close(q("path"))) : t.open(q("path"), [["path", r]], !0);
625
+ }
626
+ n.tileRect && rt(t, "tileRect", n.tileRect), t.close(q("gradFill"));
627
+ })(t, n);
628
+ return;
629
+ case e.Type.Pattern: {
630
+ const e = n, r = void 0 !== e.patternType ? [["prst", e.patternType]] : [];
631
+ void 0 === e.foreground && void 0 === e.background ? t.open(q("pattFill"), r, !0) : (t.open(q("pattFill"), r), void 0 !== e.foreground && tt(t, "fgClr", e.foreground), void 0 !== e.background && tt(t, "bgClr", e.background), t.close(q("pattFill")));
632
+ return;
633
+ }
634
+ }
635
+ throw new Error(`A chart cannot write a fill of type '${n.type}'.`);
636
+ })(t, n)
637
+ }), it = {
638
+ tags: ["effectLst"],
639
+ key: "effects",
640
+ ns: "a",
641
+ read: (t) => 0 === c(t).length && 0 === S(t).length ? [] : void 0,
642
+ write: (t, e) => {
643
+ if (e.length > 0) throw new Error("A chart cannot write effects yet.");
644
+ t.open(q("effectLst"), null, !0);
645
+ }
646
+ }, ot = {
647
+ rnd: "round",
648
+ flat: "butt",
649
+ sq: "square"
650
+ }, at = (t, e) => ({
651
+ tags: [t],
652
+ key: `${e}Type`,
653
+ ns: "a",
654
+ read: (t) => {
655
+ const e = X(t, [
656
+ "type",
657
+ "w",
658
+ "len"
659
+ ]);
660
+ if (e && !(c(t).length > 0) && 0 !== Object.keys(e).length) return e;
661
+ },
662
+ write: (e, n) => {
663
+ const r = [];
664
+ for (const t of [
665
+ "type",
666
+ "w",
667
+ "len"
668
+ ]) void 0 !== n[t] && r.push([t, n[t]]);
669
+ e.open(q(t), r, !0);
670
+ },
671
+ get: (t) => {
672
+ const n = {};
673
+ return void 0 !== t[`${e}Type`] && (n.type = t[`${e}Type`]), void 0 !== t[`${e}Width`] && (n.w = t[`${e}Width`]), void 0 !== t[`${e}Length`] && (n.len = t[`${e}Length`]), Object.keys(n).length > 0 ? n : void 0;
674
+ },
675
+ set: (t, n) => {
676
+ void 0 !== n.type && (t[`${e}Type`] = n.type), void 0 !== n.w && (t[`${e}Width`] = n.w), void 0 !== n.len && (t[`${e}Length`] = n.len);
677
+ }
678
+ }), lt = {
679
+ attributes: [
680
+ z("w", "int", "width", 12700),
681
+ H("cap", "lineCap", (t) => ot[t], (t) => Object.keys(ot).find((e) => ot[e] === t)),
682
+ z("cmpd", "str", "compound"),
683
+ z("algn", "str", "align")
684
+ ],
685
+ fields: [
686
+ st("fill"),
687
+ {
688
+ tags: ["prstDash", "custDash"],
689
+ key: "dash",
690
+ ns: "a",
691
+ read: (t) => {
692
+ if ("prstDash" === t.name) {
693
+ const e = X(t, ["val"]);
694
+ return void 0 !== e?.val && 0 === c(t).length ? e.val : void 0;
695
+ }
696
+ if (S(t).length > 0) return;
697
+ const e = [];
698
+ for (const n of c(t)) {
699
+ const t = "ds" === n.name ? X(n, ["d", "sp"]) : null;
700
+ if (!t || !Y.test(t.d ?? "") || !Y.test(t.sp ?? "")) return;
701
+ e.push(Number(t.d) / 1e3, Number(t.sp) / 1e3);
702
+ }
703
+ return e;
704
+ },
705
+ write: (t, e) => {
706
+ if ("string" != typeof e) {
707
+ t.open(q("custDash"));
708
+ for (let n = 0; n < e.length; n += 2) t.open(q("ds"), [["d", String(Math.round(1e3 * e[n]))], ["sp", String(Math.round(1e3 * e[n + 1]))]], !0);
709
+ t.close(q("custDash"));
710
+ } else t.val(q("prstDash"), e);
711
+ }
712
+ },
713
+ {
714
+ tags: [
715
+ "round",
716
+ "bevel",
717
+ "miter"
718
+ ],
719
+ key: "lineJoin",
720
+ ns: "a",
721
+ read: (t) => {
722
+ const e = X(t, "miter" === t.name ? ["lim"] : []);
723
+ if (e && !(c(t).length > 0) && (void 0 === e.lim || Y.test(e.lim))) return {
724
+ join: t.name,
725
+ limit: void 0 !== e.lim ? Number(e.lim) / 1e5 : void 0
726
+ };
727
+ },
728
+ write: (t, e) => {
729
+ t.open(q(e.join), void 0 !== e.limit ? [["lim", String(Math.round(1e5 * e.limit))]] : null, !0);
730
+ },
731
+ get: (t) => t.lineJoin ? {
732
+ join: t.lineJoin,
733
+ limit: t.miterLimit
734
+ } : void 0,
735
+ set: (t, e) => {
736
+ t.lineJoin = e.join, void 0 !== e.limit && (t.miterLimit = e.limit);
737
+ }
738
+ },
739
+ at("headEnd", "head"),
740
+ at("tailEnd", "tail")
741
+ ]
742
+ }, dt = (t) => V(E("ln", lt, t, { ns: "a" })), ct = { fields: [
743
+ st("fill"),
744
+ dt("stroke"),
745
+ it
746
+ ] }, ut = (t, e, r) => ({
747
+ tags: [t],
748
+ key: e,
749
+ ns: "a",
750
+ read: (t) => {
751
+ const e = X(t, ["typeface"]);
752
+ if (!(void 0 === e?.typeface || c(t).length > 0)) return r && e.typeface === `+mn-${r}` ? n.ThemeFamily.Body : r && e.typeface === `+mj-${r}` ? n.ThemeFamily.Heading : e.typeface;
753
+ },
754
+ write: (e, s) => {
755
+ const i = r ? s === n.ThemeFamily.Body ? `+mn-${r}` : s === n.ThemeFamily.Heading ? `+mj-${r}` : s : s;
756
+ e.open(q(t), [["typeface", i]], !0);
757
+ }
758
+ }), pt = (t, e, n) => {
759
+ const r = Object.fromEntries(Object.entries(n).map(([t, e]) => [e, t]));
760
+ return H(t, e, (t) => r[t], (t) => n[t] ?? t);
761
+ }, ft = {
762
+ attributes: [
763
+ z("lang", "str", "language"),
764
+ z("altLang", "str", "alternateLanguage"),
765
+ z("sz", "int", "size", 100),
766
+ H("b", "weight", (t) => {
767
+ const e = I(t);
768
+ return null === e ? void 0 : e ? 700 : 400;
769
+ }, (t) => D(t >= 600)),
770
+ H("i", "style", (t) => {
771
+ const e = I(t);
772
+ return null === e ? void 0 : e ? "italic" : "normal";
773
+ }, (t) => D("italic" === t)),
774
+ pt("u", "underline", {
775
+ none: "none",
776
+ words: "words",
777
+ single: "sng",
778
+ double: "dbl",
779
+ heavy: "heavy",
780
+ dotted: "dotted",
781
+ dottedHeavy: "dottedHeavy",
782
+ dash: "dash",
783
+ dashHeavy: "dashHeavy",
784
+ dashLong: "dashLong",
785
+ dashLongHeavy: "dashLongHeavy",
786
+ dotDash: "dotDash",
787
+ dotDashHeavy: "dotDashHeavy",
788
+ dotDotDash: "dotDotDash",
789
+ dotDotDashHeavy: "dotDotDashHeavy",
790
+ wavy: "wavy",
791
+ wavyHeavy: "wavyHeavy",
792
+ wavyDouble: "wavyDbl"
793
+ }),
794
+ pt("strike", "strike", {
795
+ none: "noStrike",
796
+ single: "sngStrike",
797
+ double: "dblStrike"
798
+ }),
799
+ z("kern", "int", "kerning", 100),
800
+ pt("cap", "capitals", {
801
+ none: "none",
802
+ small: "small",
803
+ all: "all"
804
+ }),
805
+ z("spc", "int", "letterSpacing", 100),
806
+ z("normalizeH", "bool", "normalizeHeight"),
807
+ z("baseline", "int", "baseline", 1e3)
808
+ ],
809
+ fields: [
810
+ dt("outline"),
811
+ st("color"),
812
+ it,
813
+ ut("latin", "latin", "lt"),
814
+ ut("ea", "eastAsian", "ea"),
815
+ ut("cs", "complexScript", "cs"),
816
+ ut("sym", "symbol")
817
+ ]
818
+ }, mt = {
819
+ attributes: [z("algn", "str", "align"), z("rtl", "bool", "rtl")],
820
+ fields: [E("defRPr", ft, "defaultRun", { ns: "a" })]
821
+ }, ht = { fields: [E("rPr", ft, "rPr", { ns: "a" }), {
822
+ tags: ["t"],
823
+ key: "text",
824
+ ns: "a",
825
+ read: (t) => {
826
+ if (c(t).length > 0) return;
827
+ let e = !1;
828
+ for (const [n, r] of S(t)) if ("xmlns" !== n && !n.startsWith("xmlns:")) {
829
+ if ("xml:space" !== n || "preserve" !== r) return;
830
+ e = !0;
831
+ }
832
+ return {
833
+ text: u(t),
834
+ preserve: e
835
+ };
836
+ },
837
+ get: (t) => void 0 === t.text ? void 0 : {
838
+ text: t.text,
839
+ preserve: !0 === t.preserveSpace
840
+ },
841
+ set: (t, e) => {
842
+ t.text = e.text, e.preserve && (t.preserveSpace = !0);
843
+ },
844
+ write: (t, e) => {
845
+ const n = q("t"), r = e.preserve ? [["xml:space", "preserve"]] : null;
846
+ "" === e.text ? t.open(n, r, !0) : t.open(n, r).text(e.text).close(n);
847
+ }
848
+ }] }, bt = {
849
+ attributes: [z("id", "str", "id"), z("type", "str", "type")],
850
+ fields: ht.fields
851
+ }, gt = { fields: [E("rPr", ft, "rPr", { ns: "a" })] }, yt = { fields: [
852
+ E("pPr", mt, "pPr", { ns: "a" }),
853
+ {
854
+ tags: [
855
+ "r",
856
+ "br",
857
+ "fld"
858
+ ],
859
+ key: "runs",
860
+ ns: "a",
861
+ many: !0,
862
+ read: (t, e, n) => {
863
+ if ("br" === t.name) return {
864
+ ...R(t, gt, e, n),
865
+ text: "\n",
866
+ break: !0
867
+ };
868
+ if ("r" === t.name) {
869
+ const r = R(t, ht, e, n);
870
+ return void 0 === r.text ? void 0 : r;
871
+ }
872
+ const { id: r, type: s, ...i } = R(t, bt, e, n);
873
+ return void 0 !== r ? (i.text ??= "", i.field = void 0 === s ? { id: r } : {
874
+ id: r,
875
+ type: s
876
+ }, i) : void 0;
877
+ },
878
+ write: (t, e) => {
879
+ if (e.break) {
880
+ const { text: n, break: r, ...s } = e;
881
+ A(t, q("br"), s, gt);
882
+ } else if (e.field) {
883
+ const { field: n, ...r } = e;
884
+ A(t, q("fld"), {
885
+ ...r,
886
+ id: n.id,
887
+ type: n.type
888
+ }, bt);
889
+ } else A(t, q("r"), e, ht);
890
+ }
891
+ },
892
+ E("endParaRPr", ft, "endRun", { ns: "a" })
893
+ ] }, vt = { fields: [
894
+ E("bodyPr", {
895
+ attributes: [
896
+ z("rot", "int", "rotation", 6e4),
897
+ z("spcFirstLastPara", "bool", "spcFirstLastPara"),
898
+ z("vertOverflow", "str", "vertOverflow"),
899
+ z("horzOverflow", "str", "horzOverflow"),
900
+ z("vert", "str", "vert"),
901
+ z("wrap", "str", "wrap"),
902
+ z("lIns", "int", "lIns"),
903
+ z("tIns", "int", "tIns"),
904
+ z("rIns", "int", "rIns"),
905
+ z("bIns", "int", "bIns"),
906
+ z("anchor", "str", "anchor"),
907
+ z("anchorCtr", "bool", "anchorCtr")
908
+ ],
909
+ fields: []
910
+ }, "bodyPr", { ns: "a" }),
911
+ E("lstStyle", { fields: [] }, "lstStyle", { ns: "a" }),
912
+ E("p", yt, "paragraphs", {
913
+ ns: "a",
914
+ many: !0
915
+ })
916
+ ] }, xt = () => E("spPr", ct), wt = () => E("txPr", vt), kt = {
917
+ attributes: [z("idx", "int"), z("formatCode", "str")],
918
+ fields: [B("v")]
919
+ }, St = { fields: [
920
+ B("formatCode"),
921
+ W("ptCount", "int"),
922
+ E("pt", kt, "points", { many: !0 })
923
+ ] }, Lt = { fields: [W("ptCount", "int"), E("pt", kt, "points", { many: !0 })] }, Pt = { fields: [W("ptCount", "int"), E("lvl", { fields: [E("pt", kt, "points", { many: !0 })] }, "levels", { many: !0 })] }, Ct = { fields: [B("f"), E("numCache", St, "cache")] }, Tt = { fields: [B("f"), E("strCache", Lt, "cache")] }, It = { fields: [B("f"), E("multiLvlStrCache", Pt, "cache")] }, Dt = E("datalabelsRange", { fields: [B("f", "f", "c15"), E("dlblRangeCache", Lt, "cache", { ns: "c15" })] }, "datalabelsRange", { ns: "c15" }), Nt = {
924
+ ...Dt,
925
+ read: (t, e, n) => e[g.c15] === h ? Dt.read(t, e, n) : void 0
926
+ }, $t = W("showDataLabelsRange", "bool", "showDataLabelsRange", "c15"), jt = {
927
+ ...$t,
928
+ read: (t, e, n) => e[g.c15] === h ? $t.read(t, e, n) : void 0
929
+ }, Ot = { fields: [E("ext", {
930
+ attributes: [z("uri", "str")],
931
+ fields: [Nt, jt],
932
+ declares: (t) => void 0 !== t.datalabelsRange || void 0 !== t.showDataLabelsRange ? [[`xmlns:${g.c15}`, h]] : []
933
+ }, "extensions", { many: !0 })] }, Ft = { fields: [
934
+ E("multiLvlStrRef", It),
935
+ E("numRef", Ct),
936
+ E("numLit", St),
937
+ E("strRef", Tt),
938
+ E("strLit", Lt)
939
+ ] }, Mt = { fields: [E("strRef", Tt), B("v")] }, Rt = { fields: [E("strRef", Tt), E("rich", vt)] }, At = {
940
+ attributes: [z("formatCode", "str"), z("sourceLinked", "bool")],
941
+ fields: []
942
+ }, Ut = { fields: [E("manualLayout", { fields: [
943
+ W("layoutTarget", "str"),
944
+ W("xMode", "str"),
945
+ W("yMode", "str"),
946
+ W("wMode", "str"),
947
+ W("hMode", "str"),
948
+ W("x", "num"),
949
+ W("y", "num"),
950
+ W("w", "num"),
951
+ W("h", "num")
952
+ ] })] }, Wt = { fields: [
953
+ E("tx", Rt),
954
+ E("layout", Ut),
955
+ W("overlay", "bool"),
956
+ xt(),
957
+ wt()
958
+ ] }, Bt = { fields: [xt()] }, Et = { fields: [
959
+ W("symbol", "str"),
960
+ W("size", "int"),
961
+ xt()
962
+ ] }, zt = { fields: [
963
+ W("idx", "int"),
964
+ W("invertIfNegative", "bool"),
965
+ E("marker", Et),
966
+ W("bubble3D", "bool"),
967
+ W("explosion", "int"),
968
+ xt()
969
+ ] }, Ht = () => [
970
+ E("numFmt", At),
971
+ xt(),
972
+ wt(),
973
+ W("dLblPos", "str"),
974
+ W("showLegendKey", "bool"),
975
+ W("showVal", "bool"),
976
+ W("showCatName", "bool"),
977
+ W("showSerName", "bool"),
978
+ W("showPercent", "bool"),
979
+ W("showBubbleSize", "bool"),
980
+ B("separator")
981
+ ], Vt = { fields: [
982
+ E("dLbl", { fields: [
983
+ W("idx", "int"),
984
+ W("delete", "bool"),
985
+ E("layout", Ut),
986
+ E("tx", Rt),
987
+ ...Ht(),
988
+ E("extLst", Ot)
989
+ ] }, "labels", { many: !0 }),
990
+ W("delete", "bool"),
991
+ ...Ht(),
992
+ W("showLeaderLines", "bool"),
993
+ E("leaderLines", Bt),
994
+ E("extLst", Ot)
995
+ ] }, qt = { fields: [
996
+ E("layout", Ut),
997
+ E("tx", Rt),
998
+ E("numFmt", At),
999
+ xt(),
1000
+ wt()
1001
+ ] }, Gt = { fields: [
1002
+ B("name"),
1003
+ xt(),
1004
+ W("trendlineType", "str"),
1005
+ W("order", "int"),
1006
+ W("period", "int"),
1007
+ W("forward", "num"),
1008
+ W("backward", "num"),
1009
+ W("intercept", "num"),
1010
+ W("dispRSqr", "bool"),
1011
+ W("dispEq", "bool"),
1012
+ E("trendlineLbl", qt)
1013
+ ] }, Jt = { fields: [
1014
+ W("errDir", "str"),
1015
+ W("errBarType", "str"),
1016
+ W("errValType", "str"),
1017
+ W("noEndCap", "bool"),
1018
+ E("plus", Ft),
1019
+ E("minus", Ft),
1020
+ W("val", "num"),
1021
+ xt(),
1022
+ E("extLst", Ot)
1023
+ ] }, Kt = { fields: [
1024
+ W("gapWidth", "int"),
1025
+ E("upBars", Bt),
1026
+ E("downBars", Bt)
1027
+ ] }, _t = () => [
1028
+ W("idx", "int"),
1029
+ W("order", "int"),
1030
+ E("tx", Mt),
1031
+ xt()
1032
+ ], Xt = () => E("dPt", zt, "points", { many: !0 }), Yt = () => E("dLbls", Vt), Qt = () => E("trendline", Gt, "trendlines", { many: !0 }), Zt = () => E("errBars", Jt, "errBars", { many: !0 }), te = (t) => E(t, Ft), ee = () => E("extLst", Ot), ne = {
1033
+ bar: { fields: [
1034
+ ..._t(),
1035
+ W("invertIfNegative", "bool"),
1036
+ Xt(),
1037
+ Yt(),
1038
+ Qt(),
1039
+ Zt(),
1040
+ te("cat"),
1041
+ te("val"),
1042
+ W("shape", "str"),
1043
+ ee()
1044
+ ] },
1045
+ line: { fields: [
1046
+ ..._t(),
1047
+ E("marker", Et),
1048
+ Xt(),
1049
+ Yt(),
1050
+ Qt(),
1051
+ Zt(),
1052
+ te("cat"),
1053
+ te("val"),
1054
+ W("smooth", "bool"),
1055
+ ee()
1056
+ ] },
1057
+ area: { fields: [
1058
+ ..._t(),
1059
+ Xt(),
1060
+ Yt(),
1061
+ Qt(),
1062
+ Zt(),
1063
+ te("cat"),
1064
+ te("val"),
1065
+ ee()
1066
+ ] },
1067
+ pie: { fields: [
1068
+ ..._t(),
1069
+ W("explosion", "int"),
1070
+ Xt(),
1071
+ Yt(),
1072
+ te("cat"),
1073
+ te("val"),
1074
+ ee()
1075
+ ] },
1076
+ scatter: { fields: [
1077
+ ..._t(),
1078
+ E("marker", Et),
1079
+ Xt(),
1080
+ Yt(),
1081
+ Qt(),
1082
+ Zt(),
1083
+ te("xVal"),
1084
+ te("yVal"),
1085
+ W("smooth", "bool"),
1086
+ ee()
1087
+ ] },
1088
+ bubble: { fields: [
1089
+ ..._t(),
1090
+ W("invertIfNegative", "bool"),
1091
+ Xt(),
1092
+ Yt(),
1093
+ Qt(),
1094
+ Zt(),
1095
+ te("xVal"),
1096
+ te("yVal"),
1097
+ te("bubbleSize"),
1098
+ W("bubble3D", "bool"),
1099
+ ee()
1100
+ ] },
1101
+ radar: { fields: [
1102
+ ..._t(),
1103
+ E("marker", Et),
1104
+ Xt(),
1105
+ Yt(),
1106
+ te("cat"),
1107
+ te("val"),
1108
+ ee()
1109
+ ] },
1110
+ surface: { fields: [
1111
+ ..._t(),
1112
+ te("cat"),
1113
+ te("val"),
1114
+ ee()
1115
+ ] }
1116
+ }, re = (t) => E("ser", ne[t], "series", { many: !0 }), se = () => ({
1117
+ ...W("axId", "int", "axIds"),
1118
+ many: !0
1119
+ }), ie = (t, e) => E(t, Bt, t, { many: e }), oe = {
1120
+ tags: ["custSplit"],
1121
+ key: "custSplit",
1122
+ ns: "c",
1123
+ read: (t, e, n) => {
1124
+ const r = R(t, { fields: [{
1125
+ ...W("secondPiePt", "int", "points"),
1126
+ many: !0
1127
+ }] }, e, n);
1128
+ return r.unknown ? void 0 : r.points ?? [];
1129
+ },
1130
+ write: (t, e) => {
1131
+ A(t, "c:custSplit", { points: e }, { fields: [{
1132
+ ...W("secondPiePt", "int", "points"),
1133
+ many: !0
1134
+ }] });
1135
+ }
1136
+ }, ae = { fields: [W("idx", "int"), xt()] }, le = {
1137
+ tags: ["bandFmts"],
1138
+ key: "bandFmts",
1139
+ ns: "c",
1140
+ read: (t, e, n) => {
1141
+ const r = R(t, { fields: [E("bandFmt", ae, "formats", { many: !0 })] }, e, n);
1142
+ return r.unknown ? void 0 : r.formats ?? [];
1143
+ },
1144
+ write: (t, e) => {
1145
+ A(t, "c:bandFmts", { formats: e }, { fields: [E("bandFmt", ae, "formats", { many: !0 })] });
1146
+ }
1147
+ }, de = {
1148
+ areaChart: {
1149
+ type: "area",
1150
+ codec: { fields: [
1151
+ W("grouping", "str"),
1152
+ W("varyColors", "bool"),
1153
+ re("area"),
1154
+ Yt(),
1155
+ ie("dropLines"),
1156
+ se()
1157
+ ] }
1158
+ },
1159
+ area3DChart: {
1160
+ type: "area",
1161
+ is3D: !0,
1162
+ codec: { fields: [
1163
+ W("grouping", "str"),
1164
+ W("varyColors", "bool"),
1165
+ re("area"),
1166
+ Yt(),
1167
+ ie("dropLines"),
1168
+ W("gapDepth", "int"),
1169
+ se()
1170
+ ] }
1171
+ },
1172
+ lineChart: {
1173
+ type: "line",
1174
+ codec: { fields: [
1175
+ W("grouping", "str"),
1176
+ W("varyColors", "bool"),
1177
+ re("line"),
1178
+ Yt(),
1179
+ ie("dropLines"),
1180
+ ie("hiLowLines"),
1181
+ E("upDownBars", Kt),
1182
+ W("marker", "bool"),
1183
+ W("smooth", "bool"),
1184
+ se()
1185
+ ] }
1186
+ },
1187
+ line3DChart: {
1188
+ type: "line",
1189
+ is3D: !0,
1190
+ codec: { fields: [
1191
+ W("grouping", "str"),
1192
+ W("varyColors", "bool"),
1193
+ re("line"),
1194
+ Yt(),
1195
+ ie("dropLines"),
1196
+ W("gapDepth", "int"),
1197
+ se()
1198
+ ] }
1199
+ },
1200
+ stockChart: {
1201
+ type: "stock",
1202
+ codec: { fields: [
1203
+ re("line"),
1204
+ Yt(),
1205
+ ie("dropLines"),
1206
+ ie("hiLowLines"),
1207
+ E("upDownBars", Kt),
1208
+ se()
1209
+ ] }
1210
+ },
1211
+ radarChart: {
1212
+ type: "radar",
1213
+ codec: { fields: [
1214
+ W("radarStyle", "str"),
1215
+ W("varyColors", "bool"),
1216
+ re("radar"),
1217
+ Yt(),
1218
+ se()
1219
+ ] }
1220
+ },
1221
+ scatterChart: {
1222
+ type: "scatter",
1223
+ codec: { fields: [
1224
+ W("scatterStyle", "str"),
1225
+ W("varyColors", "bool"),
1226
+ re("scatter"),
1227
+ Yt(),
1228
+ se()
1229
+ ] }
1230
+ },
1231
+ pieChart: {
1232
+ type: "pie",
1233
+ codec: { fields: [
1234
+ W("varyColors", "bool"),
1235
+ re("pie"),
1236
+ Yt(),
1237
+ W("firstSliceAng", "int")
1238
+ ] }
1239
+ },
1240
+ pie3DChart: {
1241
+ type: "pie",
1242
+ is3D: !0,
1243
+ codec: { fields: [
1244
+ W("varyColors", "bool"),
1245
+ re("pie"),
1246
+ Yt()
1247
+ ] }
1248
+ },
1249
+ doughnutChart: {
1250
+ type: "doughnut",
1251
+ codec: { fields: [
1252
+ W("varyColors", "bool"),
1253
+ re("pie"),
1254
+ Yt(),
1255
+ W("firstSliceAng", "int"),
1256
+ W("holeSize", "int")
1257
+ ] }
1258
+ },
1259
+ barChart: {
1260
+ type: "bar",
1261
+ codec: { fields: [
1262
+ W("barDir", "str"),
1263
+ W("grouping", "str"),
1264
+ W("varyColors", "bool"),
1265
+ re("bar"),
1266
+ Yt(),
1267
+ W("gapWidth", "int"),
1268
+ W("overlap", "int"),
1269
+ ie("serLines", !0),
1270
+ se()
1271
+ ] }
1272
+ },
1273
+ bar3DChart: {
1274
+ type: "bar",
1275
+ is3D: !0,
1276
+ codec: { fields: [
1277
+ W("barDir", "str"),
1278
+ W("grouping", "str"),
1279
+ W("varyColors", "bool"),
1280
+ re("bar"),
1281
+ Yt(),
1282
+ W("gapWidth", "int"),
1283
+ W("gapDepth", "int"),
1284
+ W("shape", "str"),
1285
+ se()
1286
+ ] }
1287
+ },
1288
+ ofPieChart: {
1289
+ type: "ofPie",
1290
+ codec: { fields: [
1291
+ W("ofPieType", "str"),
1292
+ W("varyColors", "bool"),
1293
+ re("pie"),
1294
+ Yt(),
1295
+ W("gapWidth", "int"),
1296
+ W("splitType", "str"),
1297
+ W("splitPos", "num"),
1298
+ oe,
1299
+ W("secondPieSize", "int"),
1300
+ ie("serLines", !0)
1301
+ ] }
1302
+ },
1303
+ surfaceChart: {
1304
+ type: "surface",
1305
+ codec: { fields: [
1306
+ W("wireframe", "bool"),
1307
+ re("surface"),
1308
+ le,
1309
+ se()
1310
+ ] }
1311
+ },
1312
+ surface3DChart: {
1313
+ type: "surface",
1314
+ is3D: !0,
1315
+ codec: { fields: [
1316
+ W("wireframe", "bool"),
1317
+ re("surface"),
1318
+ le,
1319
+ se()
1320
+ ] }
1321
+ },
1322
+ bubbleChart: {
1323
+ type: "bubble",
1324
+ codec: { fields: [
1325
+ W("varyColors", "bool"),
1326
+ re("bubble"),
1327
+ Yt(),
1328
+ W("bubble3D", "bool"),
1329
+ W("bubbleScale", "int"),
1330
+ W("showNegBubbles", "bool"),
1331
+ W("sizeRepresents", "str"),
1332
+ se()
1333
+ ] }
1334
+ }
1335
+ }, ce = {
1336
+ tags: Object.keys(de),
1337
+ key: "groups",
1338
+ ns: "c",
1339
+ many: !0,
1340
+ read: (t, e, n) => {
1341
+ const { type: r, is3D: s, codec: i } = de[t.name], o = R(t, i, e, n);
1342
+ return o.series ??= [], o.axIds ??= [], s ? {
1343
+ type: r,
1344
+ is3D: s,
1345
+ ...o
1346
+ } : {
1347
+ type: r,
1348
+ ...o
1349
+ };
1350
+ },
1351
+ write: (t, e) => {
1352
+ const n = ((t) => `${t.type}${t.is3D ? "3D" : ""}Chart`)(e), { type: r, is3D: s, ...i } = me(e);
1353
+ A(t, `c:${n}`, i, de[n].codec);
1354
+ }
1355
+ }, ue = [
1356
+ "ctr",
1357
+ "l",
1358
+ "r",
1359
+ "t",
1360
+ "b"
1361
+ ], pe = (t) => {
1362
+ switch (t.type) {
1363
+ case "bar": return t.is3D ? [] : "stacked" === t.grouping || "percentStacked" === t.grouping ? [
1364
+ "ctr",
1365
+ "inEnd",
1366
+ "inBase"
1367
+ ] : [
1368
+ "ctr",
1369
+ "inEnd",
1370
+ "inBase",
1371
+ "outEnd"
1372
+ ];
1373
+ case "line": return t.is3D ? [] : ue;
1374
+ case "stock":
1375
+ case "scatter":
1376
+ case "bubble": return ue;
1377
+ case "pie":
1378
+ case "ofPie": return [
1379
+ "ctr",
1380
+ "inEnd",
1381
+ "outEnd",
1382
+ "bestFit"
1383
+ ];
1384
+ default: return [];
1385
+ }
1386
+ }, fe = (t, e) => void 0 !== e?.dLblPos && !t.includes(e.dLblPos), me = (t) => {
1387
+ const e = pe(t), n = (t) => {
1388
+ if (!fe(e, t)) return t;
1389
+ const { dLblPos: n, ...r } = t;
1390
+ return r;
1391
+ }, r = (t) => t.labels ? {
1392
+ ...n(t),
1393
+ labels: t.labels.map(n)
1394
+ } : n(t);
1395
+ return {
1396
+ ...t,
1397
+ ...t.dLbls ? { dLbls: r(t.dLbls) } : {},
1398
+ series: t.series.map((t) => t.dLbls ? {
1399
+ ...t,
1400
+ dLbls: r(t.dLbls)
1401
+ } : t)
1402
+ };
1403
+ }, he = { fields: [
1404
+ W("logBase", "num"),
1405
+ W("orientation", "str"),
1406
+ W("max", "num"),
1407
+ W("min", "num")
1408
+ ] }, be = { fields: [
1409
+ E("layout", Ut),
1410
+ E("tx", Rt),
1411
+ xt(),
1412
+ wt()
1413
+ ] }, ge = { fields: [
1414
+ W("custUnit", "num"),
1415
+ W("builtInUnit", "str"),
1416
+ E("dispUnitsLbl", be)
1417
+ ] }, ye = () => [
1418
+ W("axId", "int"),
1419
+ E("scaling", he),
1420
+ W("delete", "bool"),
1421
+ W("axPos", "str"),
1422
+ ie("majorGridlines"),
1423
+ ie("minorGridlines"),
1424
+ E("title", Wt),
1425
+ E("numFmt", At),
1426
+ W("majorTickMark", "str"),
1427
+ W("minorTickMark", "str"),
1428
+ W("tickLblPos", "str"),
1429
+ xt(),
1430
+ wt(),
1431
+ W("crossAx", "int"),
1432
+ W("crosses", "str"),
1433
+ W("crossesAt", "num")
1434
+ ], ve = {
1435
+ valAx: {
1436
+ type: "val",
1437
+ codec: { fields: [
1438
+ ...ye(),
1439
+ W("crossBetween", "str"),
1440
+ W("majorUnit", "num"),
1441
+ W("minorUnit", "num"),
1442
+ E("dispUnits", ge)
1443
+ ] }
1444
+ },
1445
+ catAx: {
1446
+ type: "cat",
1447
+ codec: { fields: [
1448
+ ...ye(),
1449
+ W("auto", "bool"),
1450
+ W("lblAlgn", "str"),
1451
+ W("lblOffset", "int"),
1452
+ W("tickLblSkip", "int"),
1453
+ W("tickMarkSkip", "int"),
1454
+ W("noMultiLvlLbl", "bool")
1455
+ ] }
1456
+ },
1457
+ dateAx: {
1458
+ type: "date",
1459
+ codec: { fields: [
1460
+ ...ye(),
1461
+ W("auto", "bool"),
1462
+ W("lblOffset", "int"),
1463
+ W("baseTimeUnit", "str"),
1464
+ W("majorUnit", "num"),
1465
+ W("majorTimeUnit", "str"),
1466
+ W("minorUnit", "num"),
1467
+ W("minorTimeUnit", "str")
1468
+ ] }
1469
+ },
1470
+ serAx: {
1471
+ type: "ser",
1472
+ codec: { fields: [
1473
+ ...ye(),
1474
+ W("tickLblSkip", "int"),
1475
+ W("tickMarkSkip", "int")
1476
+ ] }
1477
+ }
1478
+ }, xe = {
1479
+ tags: Object.keys(ve),
1480
+ key: "axes",
1481
+ ns: "c",
1482
+ many: !0,
1483
+ read: (t, e, n) => ({
1484
+ type: ve[t.name].type,
1485
+ ...R(t, ve[t.name].codec, e, n)
1486
+ }),
1487
+ write: (t, e) => {
1488
+ const { type: n, ...r } = e, s = `${n}Ax`;
1489
+ A(t, `c:${s}`, r, ve[s].codec);
1490
+ }
1491
+ }, we = { fields: [
1492
+ W("showHorzBorder", "bool"),
1493
+ W("showVertBorder", "bool"),
1494
+ W("showOutline", "bool"),
1495
+ W("showKeys", "bool"),
1496
+ xt(),
1497
+ wt()
1498
+ ] }, ke = {
1499
+ fields: [
1500
+ E("layout", Ut),
1501
+ ce,
1502
+ xe,
1503
+ E("dTable", we),
1504
+ xt()
1505
+ ],
1506
+ afterRead: (t) => {
1507
+ t.groups ??= [], t.axes ??= [];
1508
+ }
1509
+ }, Se = { fields: [
1510
+ W("rotX", "int"),
1511
+ W("hPercent", "int"),
1512
+ W("rotY", "int"),
1513
+ W("depthPercent", "int"),
1514
+ W("rAngAx", "bool"),
1515
+ W("perspective", "int")
1516
+ ] }, Le = { fields: [W("thickness", "int"), xt()] }, Pe = { fields: [
1517
+ W("idx", "int"),
1518
+ W("delete", "bool"),
1519
+ wt()
1520
+ ] }, Ce = { fields: [
1521
+ W("legendPos", "str"),
1522
+ E("legendEntry", Pe, "entries", { many: !0 }),
1523
+ E("layout", Ut),
1524
+ W("overlay", "bool"),
1525
+ xt(),
1526
+ wt()
1527
+ ] }, Te = { fields: [
1528
+ E("title", Wt),
1529
+ W("autoTitleDeleted", "bool"),
1530
+ E("view3D", Se),
1531
+ E("floor", Le),
1532
+ E("sideWall", Le),
1533
+ E("backWall", Le),
1534
+ E("plotArea", ke),
1535
+ E("legend", Ce),
1536
+ W("plotVisOnly", "bool"),
1537
+ W("dispBlanksAs", "str"),
1538
+ W("showDLblsOverMax", "bool")
1539
+ ] }, Ie = { fields: [B("name"), W("fmtId", "int")] }, De = { fields: [
1540
+ W("date1904", "bool"),
1541
+ W("lang", "str"),
1542
+ W("roundedCorners", "bool"),
1543
+ W("style", "int"),
1544
+ E("pivotSource", Ie),
1545
+ E("chart", Te),
1546
+ xt(),
1547
+ wt()
1548
+ ] }, Ne = (t) => {
1549
+ const e = d(t);
1550
+ if (!e || "chartSpace" !== e.name) return null;
1551
+ const n = L(e, w);
1552
+ if (!y(P(e, n))) return null;
1553
+ const r = new F(t, n);
1554
+ return {
1555
+ model: R(e, De, w, r),
1556
+ kept: r.kept,
1557
+ reordered: r.reordered
1558
+ };
1559
+ }, $e = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\r\n", je = (t, e) => {
1560
+ if (e && (n = t, !(n.chart?.plotArea?.groups ?? []).some((t) => {
1561
+ const e = pe(t), n = (t) => fe(e, t) || !!t?.labels?.some((t) => fe(e, t));
1562
+ return n(t.dLbls) || t.series.some((t) => n(t.dLbls));
1563
+ }))) {
1564
+ const n = Ne(e);
1565
+ if (n && JSON.stringify(n.model) === JSON.stringify(t)) return e;
1566
+ }
1567
+ var n;
1568
+ return ((t) => {
1569
+ const e = { ...t.unknown?.attributes }, n = (t, n) => {
1570
+ e[`xmlns:${t}`] ??= n;
1571
+ };
1572
+ n(g.c, p), n(g.a, f), n(g.r, m);
1573
+ const r = new C().raw($e);
1574
+ return ((t, e) => {
1575
+ A(t, "c:chartSpace", e, De);
1576
+ })(r, {
1577
+ ...t,
1578
+ unknown: {
1579
+ ...t.unknown,
1580
+ attributes: e
1581
+ }
1582
+ }), r.toString();
1583
+ })(t);
1584
+ }, Oe = (t, e, n = t, r) => E(t, e, n, {
1585
+ ns: "cx",
1586
+ many: r
1587
+ }), Fe = () => Oe("spPr", ct), Me = () => Oe("txPr", vt), Re = () => Oe("numFmt", At), Ae = (t) => ({
1588
+ name: t,
1589
+ key: t,
1590
+ read: (t) => {
1591
+ if ("auto" === t) return "auto";
1592
+ const e = Number(t);
1593
+ return "" !== t.trim() && Number.isFinite(e) ? e : void 0;
1594
+ },
1595
+ write: (t) => String(t)
1596
+ }), Ue = (t) => S(t).filter(([t]) => "xmlns" !== t && !t.startsWith("xmlns:")), We = (t) => ({
1597
+ tags: [t],
1598
+ key: t,
1599
+ ns: "cx",
1600
+ read: (t) => {
1601
+ if (c(t).length > 0) return;
1602
+ const e = { f: u(t) };
1603
+ for (const [n, r] of Ue(t)) {
1604
+ if ("dir" !== n || "col" !== r && "row" !== r) return;
1605
+ e.dir = r;
1606
+ }
1607
+ return "" === e.f ? void 0 : e;
1608
+ },
1609
+ write: (e, n) => {
1610
+ const r = U("cx", t);
1611
+ e.open(r, n.dir ? [["dir", n.dir]] : null).text(n.f).close(r);
1612
+ }
1613
+ }), Be = {
1614
+ attributes: [
1615
+ z("ptCount", "int"),
1616
+ z("formatCode", "str"),
1617
+ z("name", "str")
1618
+ ],
1619
+ fields: [{
1620
+ tags: ["pt"],
1621
+ key: "points",
1622
+ ns: "cx",
1623
+ many: !0,
1624
+ read: (t) => {
1625
+ if (c(t).length > 0) return;
1626
+ const e = Ue(t);
1627
+ if (1 !== e.length || "idx" !== e[0][0]) return;
1628
+ const n = Number(e[0][1]);
1629
+ return Number.isInteger(n) && $(String(n)) === $(e[0][1]) ? {
1630
+ idx: n,
1631
+ v: u(t)
1632
+ } : void 0;
1633
+ },
1634
+ write: (t, e) => {
1635
+ const n = U("cx", "pt");
1636
+ "" === e.v ? t.open(n, [["idx", String(e.idx)]], !0) : t.open(n, [["idx", String(e.idx)]]).text(e.v).close(n);
1637
+ }
1638
+ }]
1639
+ }, Ee = {
1640
+ attributes: [z("type", "str")],
1641
+ fields: [
1642
+ We("f"),
1643
+ We("nf"),
1644
+ Oe("lvl", Be, "levels", !0)
1645
+ ]
1646
+ }, ze = /* @__PURE__ */ new Set([
1647
+ "val",
1648
+ "x",
1649
+ "y",
1650
+ "size",
1651
+ "colorVal"
1652
+ ]), He = /* @__PURE__ */ new Set([
1653
+ "cat",
1654
+ "colorStr",
1655
+ "entityId"
1656
+ ]), Ve = {
1657
+ fields: [Oe("data", {
1658
+ attributes: [z("id", "int")],
1659
+ fields: [{
1660
+ tags: ["numDim", "strDim"],
1661
+ key: "dimensions",
1662
+ ns: "cx",
1663
+ many: !0,
1664
+ read: (t, e, n) => {
1665
+ const r = R(t, Ee, e, n);
1666
+ return ("numDim" === t.name ? ze : He).has(r.type) ? r : void 0;
1667
+ },
1668
+ write: (t, e) => {
1669
+ A(t, U("cx", ze.has(e.type) ? "numDim" : "strDim"), e, Ee);
1670
+ }
1671
+ }],
1672
+ afterRead: (t) => {
1673
+ t.dimensions ??= [];
1674
+ }
1675
+ }, "data", !0)],
1676
+ afterRead: (t) => {
1677
+ t.data ??= [];
1678
+ }
1679
+ }, qe = { fields: [Oe("txData", { fields: [We("f"), B("v", "v", "cx")] }), Oe("rich", vt)] }, Ge = () => [
1680
+ z("pos", "str"),
1681
+ z("align", "str"),
1682
+ z("overlay", "bool")
1683
+ ], Je = {
1684
+ attributes: Ge(),
1685
+ fields: [
1686
+ Oe("tx", qe),
1687
+ Fe(),
1688
+ Me()
1689
+ ]
1690
+ }, Ke = {
1691
+ attributes: Ge(),
1692
+ fields: [Fe(), Me()]
1693
+ }, _e = {
1694
+ attributes: [
1695
+ z("seriesName", "bool"),
1696
+ z("categoryName", "bool"),
1697
+ z("value", "bool")
1698
+ ],
1699
+ fields: []
1700
+ }, Xe = () => [
1701
+ Re(),
1702
+ Fe(),
1703
+ Me(),
1704
+ Oe("visibility", _e),
1705
+ B("separator", "separator", "cx")
1706
+ ], Ye = {
1707
+ attributes: [z("idx", "int"), z("pos", "str")],
1708
+ fields: Xe()
1709
+ }, Qe = {
1710
+ attributes: [z("idx", "int")],
1711
+ fields: []
1712
+ }, Ze = {
1713
+ attributes: [z("pos", "str")],
1714
+ fields: [
1715
+ ...Xe(),
1716
+ Oe("dataLabel", Ye, "labels", !0),
1717
+ Oe("dataLabelHidden", Qe, "hiddenLabels", !0)
1718
+ ]
1719
+ }, tn = {
1720
+ attributes: [z("idx", "int")],
1721
+ fields: [Fe()]
1722
+ }, en = {
1723
+ attributes: [
1724
+ "connectorLines",
1725
+ "meanLine",
1726
+ "meanMarker",
1727
+ "nonoutliers",
1728
+ "outliers"
1729
+ ].map((t) => z(t, "bool")),
1730
+ fields: []
1731
+ }, nn = {
1732
+ attributes: [
1733
+ z("intervalClosed", "str"),
1734
+ Ae("underflow"),
1735
+ Ae("overflow")
1736
+ ],
1737
+ fields: [W("binSize", "num", "binSize", "cx"), W("binCount", "int", "binCount", "cx")]
1738
+ }, rn = { fields: [{
1739
+ ...W("idx", "int", "indexes", "cx"),
1740
+ many: !0
1741
+ }] }, sn = { fields: [
1742
+ W("parentLabelLayout", "str", "parentLabelLayout", "cx"),
1743
+ W("regionLabelLayout", "str", "regionLabelLayout", "cx"),
1744
+ Oe("visibility", en),
1745
+ Oe("aggregation", { fields: [] }),
1746
+ Oe("binning", nn),
1747
+ Oe("statistics", {
1748
+ attributes: [z("quartileMethod", "str")],
1749
+ fields: []
1750
+ }),
1751
+ {
1752
+ tags: ["subtotals"],
1753
+ key: "subtotals",
1754
+ ns: "cx",
1755
+ read: (t, e, n) => {
1756
+ const r = R(t, rn, e, n);
1757
+ return r.unknown ? void 0 : r.indexes ?? [];
1758
+ },
1759
+ write: (t, e) => {
1760
+ A(t, U("cx", "subtotals"), { indexes: e }, rn);
1761
+ }
1762
+ }
1763
+ ] }, on = {
1764
+ attributes: [
1765
+ z("layoutId", "str"),
1766
+ z("hidden", "bool"),
1767
+ z("ownerIdx", "int"),
1768
+ z("uniqueId", "str"),
1769
+ z("formatIdx", "int")
1770
+ ],
1771
+ fields: [
1772
+ Oe("tx", qe),
1773
+ Fe(),
1774
+ Oe("dataPt", tn, "points", !0),
1775
+ Oe("dataLabels", Ze),
1776
+ W("dataId", "int", "dataId", "cx"),
1777
+ Oe("layoutPr", sn),
1778
+ {
1779
+ ...W("axisId", "int", "axisIds", "cx"),
1780
+ many: !0
1781
+ }
1782
+ ]
1783
+ }, an = {
1784
+ fields: [Oe("plotSurface", { fields: [Fe()] }), Oe("series", on, "series", !0)],
1785
+ afterRead: (t) => {
1786
+ t.series ??= [];
1787
+ }
1788
+ }, ln = { fields: [
1789
+ Oe("tx", qe),
1790
+ Fe(),
1791
+ Me()
1792
+ ] }, dn = { fields: [Fe()] }, cn = {
1793
+ attributes: [z("type", "str")],
1794
+ fields: []
1795
+ }, un = {
1796
+ attributes: [z("id", "int"), z("hidden", "bool")],
1797
+ fields: [
1798
+ Oe("catScaling", {
1799
+ attributes: [z("gapWidth", "num")],
1800
+ fields: []
1801
+ }),
1802
+ Oe("valScaling", {
1803
+ attributes: [
1804
+ "max",
1805
+ "min",
1806
+ "majorUnit",
1807
+ "minorUnit"
1808
+ ].map((t) => z(t, "num")),
1809
+ fields: []
1810
+ }),
1811
+ Oe("title", ln),
1812
+ Oe("units", {
1813
+ attributes: [z("unit", "str")],
1814
+ fields: [Oe("unitsLabel", ln)]
1815
+ }),
1816
+ Oe("majorGridlines", dn),
1817
+ Oe("minorGridlines", dn),
1818
+ Oe("majorTickMarks", cn),
1819
+ Oe("minorTickMarks", cn),
1820
+ Oe("tickLabels", { fields: [] }),
1821
+ Re(),
1822
+ Fe(),
1823
+ Me()
1824
+ ]
1825
+ }, pn = {
1826
+ fields: [
1827
+ Oe("plotAreaRegion", an),
1828
+ Oe("axis", un, "axes", !0),
1829
+ Fe()
1830
+ ],
1831
+ afterRead: (t) => {
1832
+ t.axes ??= [];
1833
+ }
1834
+ }, fn = { fields: [
1835
+ Oe("title", Je),
1836
+ Oe("plotArea", pn),
1837
+ Oe("legend", Ke)
1838
+ ] }, mn = { fields: [
1839
+ Oe("chartData", Ve),
1840
+ Oe("chart", fn),
1841
+ Fe(),
1842
+ Me()
1843
+ ] }, hn = {
1844
+ waterfall: "waterfall",
1845
+ clusteredColumn: "histogram",
1846
+ boxWhisker: "boxWhisker",
1847
+ treemap: "treemap",
1848
+ sunburst: "sunburst",
1849
+ funnel: "funnel",
1850
+ regionMap: "regionMap"
1851
+ }, bn = Object.fromEntries(Object.entries(hn).map(([t, e]) => [e, t])), gn = new Set(Object.values(hn)), yn = "paretoLine", vn = {
1852
+ cat: "cat",
1853
+ val: "val",
1854
+ x: "xVal",
1855
+ y: "yVal",
1856
+ size: "bubbleSize",
1857
+ colorVal: "color",
1858
+ colorStr: "color",
1859
+ entityId: "entityId"
1860
+ }, xn = /* @__PURE__ */ new Set([
1861
+ "val",
1862
+ "x",
1863
+ "y",
1864
+ "size",
1865
+ "colorVal"
1866
+ ]), wn = [
1867
+ "cat",
1868
+ "colorStr",
1869
+ "entityId",
1870
+ "x",
1871
+ "y",
1872
+ "val",
1873
+ "size",
1874
+ "colorVal"
1875
+ ], kn = (t) => {
1876
+ for (const e of Object.keys(t)) void 0 === t[e] && delete t[e];
1877
+ return t;
1878
+ }, Sn = (t) => kn({
1879
+ f: t.f,
1880
+ dir: t.dir
1881
+ }), Ln = (t) => t && kn({
1882
+ strRef: t.txData?.f ? Sn(t.txData.f) : void 0,
1883
+ v: t.txData?.v,
1884
+ rich: t.rich,
1885
+ unknown: t.unknown
1886
+ }), Pn = (t) => t && kn({
1887
+ tx: Ln(t.tx),
1888
+ overlay: t.overlay,
1889
+ spPr: t.spPr,
1890
+ txPr: t.txPr,
1891
+ pos: t.pos,
1892
+ align: t.align,
1893
+ unknown: t.unknown
1894
+ }), Cn = (t) => kn({
1895
+ numFmt: t.numFmt,
1896
+ spPr: t.spPr,
1897
+ txPr: t.txPr,
1898
+ dLblPos: t.pos,
1899
+ showSerName: t.visibility?.seriesName,
1900
+ showCatName: t.visibility?.categoryName,
1901
+ showVal: t.visibility?.value,
1902
+ separator: t.separator,
1903
+ unknown: t.unknown
1904
+ }), Tn = (t) => {
1905
+ if (!t) return;
1906
+ const e = Cn(t), n = [...(t.labels ?? []).map((t) => ({
1907
+ idx: t.idx,
1908
+ ...Cn(t)
1909
+ })), ...(t.hiddenLabels ?? []).map((t) => ({
1910
+ idx: t.idx,
1911
+ delete: !0
1912
+ }))];
1913
+ return n.length > 0 && (e.labels = n), e;
1914
+ }, In = (t, e) => {
1915
+ const n = (t ?? []).map((t) => ({ ...t }));
1916
+ for (const t of [...e ?? []].sort((t, e) => t - e)) {
1917
+ const e = n.find((e) => e.idx === t);
1918
+ e ? e.subtotal = !0 : n.push({
1919
+ idx: t,
1920
+ subtotal: !0
1921
+ });
1922
+ }
1923
+ return n.length > 0 ? n : void 0;
1924
+ }, Dn = (t) => {
1925
+ if (!t) return;
1926
+ const { subtotals: e, ...n } = t;
1927
+ return Object.keys(n).length > 0 ? n : void 0;
1928
+ }, Nn = (t) => kn({
1929
+ ptCount: t.ptCount,
1930
+ formatCode: t.formatCode,
1931
+ name: t.name,
1932
+ points: (t.points ?? []).map((t) => ({
1933
+ idx: t.idx,
1934
+ v: t.v
1935
+ })),
1936
+ unknown: t.unknown
1937
+ }), $n = (t) => {
1938
+ const e = xn.has(t.type), n = t.levels?.map(Nn), r = {};
1939
+ return t.f ? r[e ? "numRef" : "strRef"] = kn({
1940
+ ...Sn(t.f),
1941
+ cache: n ? { levels: n } : void 0
1942
+ }) : r[e ? "numLit" : "strLit"] = kn({ levels: n }), t.nf && (r.nf = Sn(t.nf)), t.unknown && (r.unknown = t.unknown), r;
1943
+ }, jn = (t, e) => {
1944
+ const n = kn({
1945
+ idx: t.formatIdx,
1946
+ hidden: t.hidden,
1947
+ uniqueId: t.uniqueId,
1948
+ tx: Ln(t.tx),
1949
+ spPr: t.spPr,
1950
+ points: In(t.points, t.layoutPr?.subtotals),
1951
+ dLbls: Tn(t.dataLabels),
1952
+ layoutPr: Dn(t.layoutPr),
1953
+ unknown: t.unknown
1954
+ });
1955
+ for (const t of e?.dimensions ?? []) {
1956
+ const e = vn[t.type];
1957
+ e && !n[e] && (n[e] = $n(t));
1958
+ }
1959
+ return n;
1960
+ }, On = (t) => kn({
1961
+ idx: t.formatIdx,
1962
+ hidden: t.hidden,
1963
+ uniqueId: t.uniqueId,
1964
+ tx: Ln(t.tx),
1965
+ spPr: t.spPr,
1966
+ points: In(t.points, t.layoutPr?.subtotals),
1967
+ dLbls: Tn(t.dataLabels),
1968
+ layoutPr: Dn(t.layoutPr),
1969
+ axIds: t.axisIds,
1970
+ unknown: t.unknown
1971
+ }), Fn = (t, e) => {
1972
+ const n = new Map(e.map((t) => [t.id, t])), r = [], s = [];
1973
+ let i = null;
1974
+ for (const e of t?.series ?? []) {
1975
+ if (e.layoutId === yn) {
1976
+ const t = void 0 === e.ownerIdx ? null : s[e.ownerIdx];
1977
+ t && !t.cumulativeLine && (t.cumulativeLine = On(e)), s.push(null);
1978
+ continue;
1979
+ }
1980
+ const t = hn[e.layoutId] ?? e.layoutId, o = e.axisIds ?? [];
1981
+ i && i.type === t && JSON.stringify(i.axIds) === JSON.stringify(o) || (i = {
1982
+ type: t,
1983
+ series: [],
1984
+ axIds: o
1985
+ }, r.push(i));
1986
+ const a = jn(e, void 0 === e.dataId ? void 0 : n.get(e.dataId));
1987
+ i.series.push(a), s.push(a);
1988
+ }
1989
+ return r;
1990
+ }, Mn = (t) => {
1991
+ const e = t.catScaling ?? t.valScaling;
1992
+ return kn({
1993
+ type: t.catScaling || !t.valScaling ? "cat" : "val",
1994
+ axId: t.id,
1995
+ scaling: kn({
1996
+ max: t.valScaling?.max,
1997
+ min: t.valScaling?.min,
1998
+ gapWidth: t.catScaling?.gapWidth,
1999
+ unknown: e?.unknown
2000
+ }),
2001
+ delete: t.hidden,
2002
+ majorGridlines: t.majorGridlines,
2003
+ minorGridlines: t.minorGridlines,
2004
+ title: Pn(t.title),
2005
+ numFmt: t.numFmt,
2006
+ majorTickMark: t.majorTickMarks?.type,
2007
+ minorTickMark: t.minorTickMarks?.type,
2008
+ tickLblPos: t.tickLabels ? void 0 : "none",
2009
+ spPr: t.spPr,
2010
+ txPr: t.txPr,
2011
+ majorUnit: t.valScaling?.majorUnit,
2012
+ minorUnit: t.valScaling?.minorUnit,
2013
+ dispUnits: t.units && kn({
2014
+ builtInUnit: t.units.unit,
2015
+ dispUnitsLbl: Pn(t.units.unitsLabel),
2016
+ unknown: t.units.unknown
2017
+ }),
2018
+ unknown: t.unknown
2019
+ });
2020
+ }, Rn = (t) => t && kn({
2021
+ txData: t.strRef || void 0 !== t.v ? kn({
2022
+ f: t.strRef ? Sn(t.strRef) : void 0,
2023
+ v: t.v
2024
+ }) : void 0,
2025
+ rich: t.rich,
2026
+ unknown: t.unknown
2027
+ }), An = (t) => t && kn({
2028
+ tx: Rn(t.tx),
2029
+ spPr: t.spPr,
2030
+ txPr: t.txPr,
2031
+ unknown: t.unknown
2032
+ }), Un = (t) => {
2033
+ const e = void 0 !== t.showSerName || void 0 !== t.showCatName || void 0 !== t.showVal;
2034
+ return kn({
2035
+ pos: t.dLblPos,
2036
+ numFmt: t.numFmt,
2037
+ spPr: t.spPr,
2038
+ txPr: t.txPr,
2039
+ visibility: e ? kn({
2040
+ seriesName: t.showSerName,
2041
+ categoryName: t.showCatName,
2042
+ value: t.showVal
2043
+ }) : void 0,
2044
+ separator: t.separator,
2045
+ unknown: t.unknown
2046
+ });
2047
+ }, Wn = (t) => !0 === t.delete && Object.keys(t).every((t) => "idx" === t || "delete" === t), Bn = (t) => {
2048
+ if (!t) return;
2049
+ const e = Un(t), n = (t.labels ?? []).filter((t) => !Wn(t)).map((t) => ({
2050
+ idx: t.idx,
2051
+ ...Un(t)
2052
+ })), r = (t.labels ?? []).filter(Wn).map((t) => ({ idx: t.idx }));
2053
+ return n.length > 0 && (e.labels = n), r.length > 0 && (e.hiddenLabels = r), e;
2054
+ }, En = (t) => {
2055
+ const e = (t ?? []).filter((t) => Object.keys(t).some((t) => "idx" !== t && "subtotal" !== t)).map(({ subtotal: t, ...e }) => e);
2056
+ return e.length > 0 ? e : void 0;
2057
+ }, zn = (t, e, n) => {
2058
+ const r = (e ?? []).filter((t) => t.subtotal).map((t) => t.idx).sort((t, e) => t - e);
2059
+ return 0 !== r.length || n ? {
2060
+ ...t,
2061
+ subtotals: r
2062
+ } : t;
2063
+ }, Hn = (t) => kn({
2064
+ ptCount: t.ptCount,
2065
+ formatCode: t.formatCode,
2066
+ name: t.name,
2067
+ points: t.points.length > 0 ? t.points.map((t) => ({
2068
+ idx: t.idx,
2069
+ v: t.v
2070
+ })) : void 0,
2071
+ unknown: t.unknown
2072
+ }), Vn = (t, e) => "color" === t ? e.strRef || e.strLit ? "colorStr" : "colorVal" : Object.keys(vn).find((e) => vn[e] === t), qn = (t) => {
2073
+ const e = [];
2074
+ for (const n of [
2075
+ "cat",
2076
+ "val",
2077
+ "xVal",
2078
+ "yVal",
2079
+ "bubbleSize",
2080
+ "color",
2081
+ "entityId"
2082
+ ]) {
2083
+ const r = t[n];
2084
+ if (!r) continue;
2085
+ const s = r.numRef ?? r.strRef, i = (s ? s.cache : r.numLit ?? r.strLit)?.levels;
2086
+ e.push(kn({
2087
+ type: Vn(n, r),
2088
+ f: s ? Sn(s) : void 0,
2089
+ nf: r.nf ? Sn(r.nf) : void 0,
2090
+ levels: i && i.length > 0 ? i.map(Hn) : void 0,
2091
+ unknown: r.unknown
2092
+ }));
2093
+ }
2094
+ return e.sort((t, e) => wn.indexOf(t.type) - wn.indexOf(e.type));
2095
+ }, Gn = (t) => {
2096
+ const e = t.scaling ?? {}, n = "cat" === t.type || "date" === t.type;
2097
+ return kn({
2098
+ id: t.axId,
2099
+ hidden: t.delete,
2100
+ catScaling: n ? kn({
2101
+ gapWidth: e.gapWidth,
2102
+ unknown: e.unknown
2103
+ }) : void 0,
2104
+ valScaling: n ? void 0 : kn({
2105
+ max: e.max,
2106
+ min: e.min,
2107
+ majorUnit: t.majorUnit,
2108
+ minorUnit: t.minorUnit,
2109
+ unknown: e.unknown
2110
+ }),
2111
+ title: An(t.title),
2112
+ units: t.dispUnits && kn({
2113
+ unit: t.dispUnits.builtInUnit,
2114
+ unitsLabel: An(t.dispUnits.dispUnitsLbl),
2115
+ unknown: t.dispUnits.unknown
2116
+ }),
2117
+ majorGridlines: t.majorGridlines,
2118
+ minorGridlines: t.minorGridlines,
2119
+ majorTickMarks: t.majorTickMark ? { type: t.majorTickMark } : void 0,
2120
+ minorTickMarks: t.minorTickMark ? { type: t.minorTickMark } : void 0,
2121
+ tickLabels: "none" === t.tickLblPos ? void 0 : {},
2122
+ numFmt: t.numFmt,
2123
+ spPr: t.spPr,
2124
+ txPr: t.txPr,
2125
+ unknown: t.unknown
2126
+ });
2127
+ }, Jn = (t) => {
2128
+ const e = t.chart, n = e?.plotArea, r = [], s = [], i = [];
2129
+ for (const t of n?.groups ?? []) {
2130
+ const e = bn[t.type];
2131
+ if (e) for (const n of t.series) {
2132
+ const o = qn(n);
2133
+ let a;
2134
+ if (o.length > 0) {
2135
+ const t = JSON.stringify(o);
2136
+ a = i.indexOf(t), -1 === a && (a = s.length, s.push({
2137
+ id: a,
2138
+ dimensions: o
2139
+ }), i.push(t));
2140
+ }
2141
+ const l = r.length;
2142
+ r.push(kn({
2143
+ layoutId: e,
2144
+ hidden: n.hidden,
2145
+ uniqueId: n.uniqueId,
2146
+ formatIdx: n.idx,
2147
+ tx: Rn(n.tx),
2148
+ spPr: n.spPr,
2149
+ points: En(n.points),
2150
+ dataLabels: Bn(n.dLbls),
2151
+ dataId: a,
2152
+ layoutPr: zn(n.layoutPr, n.points, "waterfall" === t.type),
2153
+ axisIds: t.axIds.length > 0 ? t.axIds : void 0,
2154
+ unknown: n.unknown
2155
+ }));
2156
+ const d = n.cumulativeLine;
2157
+ d && r.push(kn({
2158
+ layoutId: yn,
2159
+ hidden: d.hidden,
2160
+ ownerIdx: l,
2161
+ uniqueId: d.uniqueId,
2162
+ formatIdx: d.idx,
2163
+ tx: Rn(d.tx),
2164
+ spPr: d.spPr,
2165
+ points: En(d.points),
2166
+ dataLabels: Bn(d.dLbls),
2167
+ layoutPr: zn(d.layoutPr, d.points, !1),
2168
+ axisIds: d.axIds,
2169
+ unknown: d.unknown
2170
+ }));
2171
+ }
2172
+ }
2173
+ const o = e?.legend;
2174
+ return kn({
2175
+ chartData: { data: s },
2176
+ chart: kn({
2177
+ title: (a = e?.title, a && kn({
2178
+ pos: a.pos,
2179
+ align: a.align,
2180
+ overlay: a.overlay,
2181
+ tx: Rn(a.tx),
2182
+ spPr: a.spPr,
2183
+ txPr: a.txPr,
2184
+ unknown: a.unknown
2185
+ })),
2186
+ plotArea: kn({
2187
+ plotAreaRegion: kn({
2188
+ plotSurface: n?.plotSurface,
2189
+ series: r
2190
+ }),
2191
+ axes: (n?.axes ?? []).map(Gn),
2192
+ spPr: n?.spPr,
2193
+ unknown: n?.unknown
2194
+ }),
2195
+ legend: o && kn({
2196
+ pos: "tr" === o.legendPos ? "r" : o.legendPos,
2197
+ align: o.align,
2198
+ overlay: o.overlay,
2199
+ spPr: o.spPr,
2200
+ txPr: o.txPr,
2201
+ unknown: o.unknown
2202
+ }),
2203
+ unknown: e?.unknown
2204
+ }),
2205
+ spPr: t.spPr,
2206
+ txPr: t.txPr,
2207
+ unknown: t.unknown
2208
+ });
2209
+ var a;
2210
+ }, Kn = (t, e) => {
2211
+ if (t === e) return !0;
2212
+ if ("object" != typeof t || "object" != typeof e || null === t || null === e) return !1;
2213
+ if (Array.isArray(t) !== Array.isArray(e)) return !1;
2214
+ const n = (t) => Object.keys(t).filter((e) => void 0 !== t[e]), r = n(t), s = n(e);
2215
+ return r.length === s.length && r.every((n) => Kn(t[n], e[n]));
2216
+ }, _n = (t, e) => Kn(t, Jn(e)), Xn = (t) => {
2217
+ const e = d(t);
2218
+ if (!e || "chartSpace" !== e.name) return null;
2219
+ const n = L(e, w);
2220
+ if (!x(P(e, n))) return null;
2221
+ const r = new F(t, n), s = R(e, mn, w, r), i = ((t) => {
2222
+ const e = t.chart, n = e?.plotArea, r = e?.legend;
2223
+ return kn({
2224
+ chart: kn({
2225
+ title: Pn(e?.title),
2226
+ plotArea: kn({
2227
+ groups: Fn(n?.plotAreaRegion, t.chartData?.data ?? []),
2228
+ axes: (n?.axes ?? []).map(Mn),
2229
+ spPr: n?.spPr,
2230
+ plotSurface: n?.plotAreaRegion?.plotSurface,
2231
+ unknown: n?.unknown
2232
+ }),
2233
+ legend: r && kn({
2234
+ legendPos: r.pos,
2235
+ align: r.align,
2236
+ overlay: r.overlay,
2237
+ spPr: r.spPr,
2238
+ txPr: r.txPr,
2239
+ unknown: r.unknown
2240
+ }),
2241
+ unknown: e?.unknown
2242
+ }),
2243
+ spPr: t.spPr,
2244
+ txPr: t.txPr,
2245
+ unknown: t.unknown
2246
+ });
2247
+ })(s);
2248
+ return {
2249
+ model: i,
2250
+ kept: r.kept,
2251
+ reordered: r.reordered,
2252
+ lossy: !_n(s, i)
2253
+ };
2254
+ }, Yn = (t, e) => {
2255
+ if (e) {
2256
+ const n = Xn(e);
2257
+ if (n && JSON.stringify(n.model) === JSON.stringify(t)) return e;
2258
+ }
2259
+ return ((t) => {
2260
+ const e = { ...t.unknown?.attributes }, n = (t, n) => {
2261
+ e[`xmlns:${t}`] ??= n;
2262
+ };
2263
+ n(g.a, f), n(g.r, m), n(g.cx, b);
2264
+ const r = Jn(t), s = new C().raw($e);
2265
+ return ((t, e) => {
2266
+ A(t, U("cx", "chartSpace"), e, mn);
2267
+ })(s, {
2268
+ ...r,
2269
+ unknown: {
2270
+ ...r.unknown,
2271
+ attributes: e
2272
+ }
2273
+ }), s.toString();
2274
+ })(t);
2275
+ }, Qn = {
2276
+ chart: {
2277
+ relType: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",
2278
+ contentType: "application/vnd.openxmlformats-officedocument.drawingml.chart+xml",
2279
+ path: "../charts/chart{n}.xml",
2280
+ graphicUri: p
2281
+ },
2282
+ chartEx: {
2283
+ relType: "http://schemas.microsoft.com/office/2014/relationships/chartEx",
2284
+ contentType: "application/vnd.ms-office.chartex+xml",
2285
+ path: "../charts/chartEx{n}.xml",
2286
+ graphicUri: b
2287
+ }
2288
+ }, Zn = /* @__PURE__ */ new Set([
2289
+ "area",
2290
+ "bar",
2291
+ "line",
2292
+ "pie",
2293
+ "doughnut",
2294
+ "ofPie",
2295
+ "scatter",
2296
+ "bubble",
2297
+ "radar",
2298
+ "stock",
2299
+ "surface"
2300
+ ]), tr = (t) => t === Qn.chartEx.relType ? "chartEx" : t === Qn.chart.relType ? "chart" : null, er = (t) => Zn.has(t) ? "chart" : gn.has(t) ? "chartEx" : null, nr = (t) => {
2301
+ const e = Ne(t);
2302
+ if (e) return {
2303
+ model: e.model,
2304
+ family: "chart",
2305
+ kept: e.kept,
2306
+ lossy: !1
2307
+ };
2308
+ const n = Xn(t);
2309
+ return n ? {
2310
+ model: n.model,
2311
+ family: "chartEx",
2312
+ kept: n.kept,
2313
+ lossy: n.lossy
2314
+ } : null;
2315
+ }, rr = (t) => {
2316
+ if (Array.isArray(t)) return t.map(rr);
2317
+ if ("object" != typeof t || null === t) return t;
2318
+ const e = {};
2319
+ for (const [n, r] of Object.entries(t)) "unknown" !== n && (e[n] = rr(r));
2320
+ return e;
2321
+ }, sr = (t, e) => {
2322
+ const n = t.chart?.plotArea?.groups ?? [], r = n.map((t) => er(t.type)).find((t) => null !== t) ?? e?.family ?? "chart", s = n.filter((t) => er(t.type) !== r).map((t) => t.type);
2323
+ let i = t;
2324
+ if (s.length > 0) {
2325
+ const e = {
2326
+ ...t.chart.plotArea,
2327
+ groups: n.filter((t) => er(t.type) === r)
2328
+ };
2329
+ i = {
2330
+ ...t,
2331
+ chart: {
2332
+ ...t.chart,
2333
+ plotArea: e
2334
+ }
2335
+ };
2336
+ }
2337
+ const o = (e?.family ?? r) === r;
2338
+ o || (i = rr(i));
2339
+ const a = o ? e?.xml : void 0;
2340
+ return {
2341
+ family: r,
2342
+ leftOut: s,
2343
+ xml: "chartEx" === r ? Yn(i, a) : je(i, a)
2344
+ };
2345
+ };
2346
+ export { r as a, tr as i, Qn as n, s as o, nr as r, sr as t };