@sheetxl/sdk 0.4.12 → 0.4.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 (166) hide show
  1. package/browser/cjs/8JuguQ-v_wjzRAJQ.cjs +6 -0
  2. package/browser/cjs/B06_i0NVsMlV7sL3.cjs +15 -0
  3. package/browser/cjs/BMzm6e19THp5R5SS.cjs +6 -0
  4. package/browser/cjs/{Dg4inQb_qTGcwKWj.cjs → BSQ6GwaDgEhp4-Jm.cjs} +3 -4
  5. package/browser/cjs/BSaEFx_1qH-bqkxA.cjs +32 -0
  6. package/browser/cjs/BeFLdMQtixEQOMIf.cjs +6 -0
  7. package/browser/cjs/Bypbx3PA2wZ-MxR7.cjs +1501 -0
  8. package/browser/cjs/C4rkyi5ne70h0eUM.cjs +13 -0
  9. package/browser/cjs/CK7GKaY19eDwb72K.cjs +6 -0
  10. package/browser/cjs/CQtudwvjokdRI8w7.cjs +6 -0
  11. package/browser/cjs/CZpCJ_mGf8uvTyHs.cjs +6 -0
  12. package/browser/cjs/CeW7HtHiebPU1ZrI.cjs +6 -0
  13. package/browser/cjs/CpD5wln4iVlrPfkY.cjs +6 -0
  14. package/browser/cjs/CxNcIlUbtVSt64Tm.cjs +6 -0
  15. package/browser/cjs/D0KawW_CBCzUbAwf.cjs +6 -0
  16. package/browser/cjs/D1hmSqsrlX7CR2o_.cjs +6 -0
  17. package/browser/cjs/D4c1Sr1XvF3nMs-j.cjs +6 -0
  18. package/browser/cjs/D6h0MMq-X27_iD6g.cjs +6 -0
  19. package/browser/cjs/DE3tCi_X6QIZF8tS.cjs +6 -0
  20. package/browser/cjs/DNRSQjR0UdY_4fl9.cjs +6 -0
  21. package/browser/cjs/DSUl7vRzR8mV1Myf.cjs +6 -0
  22. package/browser/cjs/DTAOALsCBhuSuEiG.cjs +6 -0
  23. package/browser/cjs/DaV0-3D2kIZdcEfA.cjs +6 -0
  24. package/browser/cjs/DejSF-jvG3xB_8YE.cjs +60 -0
  25. package/browser/cjs/Depd1YehybNaiyCe.cjs +6 -0
  26. package/browser/cjs/Dq9JXD1VUC_eXNv8.cjs +7 -0
  27. package/browser/cjs/DveSU-1M1dKih8ss.cjs +6 -0
  28. package/browser/cjs/QgxQTHhUBOvKb5Sp.cjs +6 -0
  29. package/browser/cjs/index.cjs +3 -4
  30. package/browser/cjs/is67OzV6HSQv8hND.cjs +6 -0
  31. package/browser/cjs/mD326DVwUY2qz53z.cjs +6 -0
  32. package/browser/cjs/p9-P5tsRY2aEac88.cjs +124 -0
  33. package/browser/cjs/rdaInA-ytvORY7dI.cjs +6 -0
  34. package/browser/cjs/v59Hlj7XX2HjAklI.cjs +6 -0
  35. package/{node/esm/Ru2U-PXJ-wtFJVIi.mjs → browser/esm/0y8470lJoPLFzYRG.mjs} +1 -1
  36. package/{node/esm/Cb2A-sSxQbrq7_st.mjs → browser/esm/6ofNyUJ2bff5hQAb.mjs} +1 -1
  37. package/browser/esm/8jrILMSMxtRYp4Ml.mjs +10 -0
  38. package/browser/esm/{9jeiH8SVL_ZJYLxo.mjs → B1U-ZkWRkC7EsWhJ.mjs} +7 -2
  39. package/browser/esm/BaQ-kJ0S48-mIDOB.mjs +10 -0
  40. package/browser/esm/Bg1s7CT60pr7m6Wv.mjs +24266 -0
  41. package/browser/esm/BjMYkedmgsLBSeIL.mjs +24 -0
  42. package/{node/esm/Cl6j-EVdzk8MvmYu.mjs → browser/esm/BwAtcwzMrBFQsJrt.mjs} +1 -1
  43. package/browser/esm/CA81BqhGVQdWnnU-.mjs +3974 -0
  44. package/browser/esm/CASK_saDBb0E8-gc.mjs +5651 -0
  45. package/browser/esm/CEPVn5ObLgMnhFuG.mjs +10 -0
  46. package/{node/esm/RjYTditNvvkkhvec.mjs → browser/esm/CJSlOHcd-GRplhJb.mjs} +1 -1
  47. package/browser/esm/CXCFBAK8GNqcf4NZ.mjs +426 -0
  48. package/browser/esm/CZH9NjmkPt5qOZvo.mjs +10 -0
  49. package/{node/esm/DqzaLjnlgJ73P6fj.mjs → browser/esm/Co_XNsi04fa0kXfc.mjs} +1 -1
  50. package/browser/esm/D2d6F8a0L2i5KG9B.mjs +1575 -0
  51. package/{node/esm/CEBBIejO4nn_eoLE.mjs → browser/esm/D5MCJciGCVt9S3_d.mjs} +1 -1
  52. package/{node/esm/D-7D30G3TPv5yZHW.mjs → browser/esm/D5m4uOGT4rzpeawH.mjs} +1 -1
  53. package/browser/esm/D799n_-syMIKHsZB.mjs +21 -0
  54. package/browser/esm/D7vGd1TA1pYs2r8i.mjs +10 -0
  55. package/{node/esm/_50UNzbNjsJJ5JeA.mjs → browser/esm/DDcxalm5bxkWR6yr.mjs} +1 -1
  56. package/{node/esm/Bkj8joA7ej1p4iQv.mjs → browser/esm/DGSd15RAMHKU4TTh.mjs} +1 -1
  57. package/browser/esm/DML06qJVWAeMmTeF.mjs +29 -0
  58. package/{node/esm/CEBaRGnJ6Pau61Z3.mjs → browser/esm/Dq1c2fRK8fy1wIZ0.mjs} +1 -1
  59. package/{node/esm/BJvhZja9zXr81ch6.mjs → browser/esm/Ds3gLJ0AViDNAZBb.mjs} +1 -1
  60. package/{node/esm/KTvP9pq_hIePsIcs.mjs → browser/esm/Dv-eMLsSU3GgM0IG.mjs} +1 -1
  61. package/{node/esm/CfSD4cLmkg0FqnhQ.mjs → browser/esm/IF7Bu3bAljYlYAhG.mjs} +1 -1
  62. package/browser/esm/Ijz2AYZo5041p_E0.mjs +820 -0
  63. package/{node/esm/DdQQdRO6WRU-o7fW.mjs → browser/esm/_9LudTdmURafvtbM.mjs} +1 -1
  64. package/{node/esm/DaA9EfLaa4eAL5v5.mjs → browser/esm/c0yMyZrKHAQcuk34.mjs} +1 -1
  65. package/browser/esm/c8TPaGQuorNwRY5P.mjs +472 -0
  66. package/browser/esm/flS4x_DXemCnqZYx.mjs +10 -0
  67. package/browser/esm/index.mjs +84 -2
  68. package/{node/esm/R6sbyZ3F8U46a2pT.mjs → browser/esm/utnJnW2cCjLr_J5j.mjs} +1 -1
  69. package/licenses/dependencies.txt +3 -3
  70. package/node/esm/0y8470lJoPLFzYRG.mjs +10 -0
  71. package/node/esm/6ofNyUJ2bff5hQAb.mjs +10 -0
  72. package/node/esm/{C2nQBB-2yJ1qfKsG.mjs → BAJg2qwLifwsMs48.mjs} +1 -1
  73. package/node/esm/{wYdBXNtyuqNnNqw7.mjs → BVwiUEUE8Kq6Q-Md.mjs} +2 -2
  74. package/node/esm/{ChgW0mo5gCgLQ4qn.mjs → Be8IGMeEVQrqyIbz.mjs} +1 -1
  75. package/node/esm/{BQb_TIMVKb4ap8qn.mjs → BkSSbBdHw5fSDT9u.mjs} +1 -1
  76. package/node/esm/{CSr4e1I9DtTv2w79.mjs → BlMT23s2F34fCyyF.mjs} +1 -1
  77. package/node/esm/BwAtcwzMrBFQsJrt.mjs +10 -0
  78. package/node/esm/CJSlOHcd-GRplhJb.mjs +10 -0
  79. package/node/esm/{BPhIhbwKpbuhJ5n5.mjs → Cg0Rg6HBC4czGxnY.mjs} +1 -1
  80. package/node/esm/{BnQS3_N8ZEyMLfgn.mjs → Ciz3vgy9vMXs8dGv.mjs} +1 -1
  81. package/node/esm/{BK_7sJa3fTDIKVsK.mjs → CmZcNpOTEY__HcNE.mjs} +2 -2
  82. package/node/esm/Co_XNsi04fa0kXfc.mjs +10 -0
  83. package/node/esm/{Bs1vmYEblngyWvkW.mjs → D-ebNw7-IJtP0UVf.mjs} +1 -1
  84. package/node/esm/{DPWAK-dKa7BGHzhV.mjs → D1IiK4HwSFrtL98j.mjs} +1 -1
  85. package/node/esm/D5MCJciGCVt9S3_d.mjs +10 -0
  86. package/node/esm/D5m4uOGT4rzpeawH.mjs +10 -0
  87. package/node/esm/DDcxalm5bxkWR6yr.mjs +10 -0
  88. package/{browser/esm/B-xoX7KIAUytU1_U.mjs → node/esm/DGSd15RAMHKU4TTh.mjs} +5 -2
  89. package/node/esm/Dbv1kS3xRdworJhn.mjs +80 -0
  90. package/node/esm/{BW1-l-HQdvRTQ7Bm.mjs → DmYC6rfHbxzRi-xv.mjs} +4 -4
  91. package/node/esm/Dq1c2fRK8fy1wIZ0.mjs +10 -0
  92. package/node/esm/Ds3gLJ0AViDNAZBb.mjs +10 -0
  93. package/node/esm/Dv-eMLsSU3GgM0IG.mjs +10 -0
  94. package/node/esm/{ebMdiumtVWrujqaH.mjs → Dw228_AFFTiN-qSG.mjs} +1 -1
  95. package/node/esm/{BtDgmaUXSuZwZauR.mjs → HHRD6y1sXoRYiRM-.mjs} +2 -2
  96. package/node/esm/IF7Bu3bAljYlYAhG.mjs +10 -0
  97. package/node/esm/_9LudTdmURafvtbM.mjs +10 -0
  98. package/node/esm/c0yMyZrKHAQcuk34.mjs +10 -0
  99. package/node/esm/{Cvzp8bwJnKvjvZSp.mjs → igBKvoiyyirwpnsa.mjs} +1 -1
  100. package/node/esm/index.mjs +3449 -3202
  101. package/node/esm/utnJnW2cCjLr_J5j.mjs +10 -0
  102. package/package.json +4 -4
  103. package/browser/cjs/39ybckEYrSwofEL8.cjs +0 -7
  104. package/browser/cjs/7F9Y23ZviM83MrLB.cjs +0 -7
  105. package/browser/cjs/9OWmR6t6tmtR3HKs.cjs +0 -7
  106. package/browser/cjs/AoftwE84s7sGV4YJ.cjs +0 -7
  107. package/browser/cjs/BJZM9I81r8nRPehZ.cjs +0 -7
  108. package/browser/cjs/BLHJddfDq44WHNs6.cjs +0 -7
  109. package/browser/cjs/BdbcopQNFs0VAYoZ.cjs +0 -7
  110. package/browser/cjs/C2McR1ZSNpfPMaI1.cjs +0 -7
  111. package/browser/cjs/CAC1euA3bA1IpMhZ.cjs +0 -7
  112. package/browser/cjs/CDwPpmyZAYF_aBaX.cjs +0 -7
  113. package/browser/cjs/CP2yuwDM2Fzm2bQy.cjs +0 -7
  114. package/browser/cjs/CSn-hMrEUwFcYpBT.cjs +0 -13
  115. package/browser/cjs/CeuXJMoeKjSnby5j.cjs +0 -7
  116. package/browser/cjs/Ch5W6IQIqcVy3CUV.cjs +0 -10
  117. package/browser/cjs/CtaH9jllSQmzD2AZ.cjs +0 -7
  118. package/browser/cjs/Ctw9E_2VE0l2P6Yk.cjs +0 -7
  119. package/browser/cjs/Czl-z-_3jRiufzFq.cjs +0 -7
  120. package/browser/cjs/D-HLMUqMDuHV5fFD.cjs +0 -7
  121. package/browser/cjs/D5pK8FbUHJmgHMVR.cjs +0 -7
  122. package/browser/cjs/DA7BmT8kgTnFcBps.cjs +0 -7
  123. package/browser/cjs/DBBaD9qGTCHmDZzt.cjs +0 -7
  124. package/browser/cjs/DD24B_zQQtT3iqLe.cjs +0 -7
  125. package/browser/cjs/DKwnqzohEhfP9-D8.cjs +0 -7
  126. package/browser/cjs/DO-igV-beWuURc9q.cjs +0 -7
  127. package/browser/cjs/DR2yNdWmKOx4XEn_.cjs +0 -7
  128. package/browser/cjs/D_PNelhiuhC_pYQe.cjs +0 -7
  129. package/browser/cjs/KlMBkdsOI1TbINZi.cjs +0 -7
  130. package/browser/cjs/Me1cXPMFZnMqu9Ni.cjs +0 -10
  131. package/browser/cjs/P1V-5yUNwU9r5yLw.cjs +0 -7
  132. package/browser/cjs/Vkjfeba56sx1eWi0.cjs +0 -7
  133. package/browser/cjs/dwUVhGNDSgZfRm3P.cjs +0 -7
  134. package/browser/cjs/txLIAZHRWIU9kf0I.cjs +0 -7
  135. package/browser/esm/30SRICLt1PAxlGS8.mjs +0 -7
  136. package/browser/esm/B_bzVKesE_JRp6EW.mjs +0 -7
  137. package/browser/esm/BbO1W_XgpJnqTSty.mjs +0 -7
  138. package/browser/esm/BngRU84kl6oeKeYG.mjs +0 -7
  139. package/browser/esm/BuJVzVii6s-ETLFo.mjs +0 -7
  140. package/browser/esm/ByHA0yF73W3Lubv1.mjs +0 -13
  141. package/browser/esm/C9XmeyBj3CidGuuQ.mjs +0 -7
  142. package/browser/esm/CGlSMtRCaIAn2kcK.mjs +0 -7
  143. package/browser/esm/CNZEHpuUipSLJnir.mjs +0 -7
  144. package/browser/esm/CUDgLpRqpHPjfaCi.mjs +0 -7
  145. package/browser/esm/ChB6ZgoNr49oUuh9.mjs +0 -7
  146. package/browser/esm/D0HYMuygnYvY7Atx.mjs +0 -7
  147. package/browser/esm/D1PWaFTHEZfGGXTb.mjs +0 -7
  148. package/browser/esm/D2zmZcBdOoyixeUA.mjs +0 -7
  149. package/browser/esm/D525g_2eyexUf3Zf.mjs +0 -7
  150. package/browser/esm/DMJw8DmfeX6u2glN.mjs +0 -7
  151. package/browser/esm/DfHQEyIlLlv5P49Q.mjs +0 -7
  152. package/browser/esm/Dhvtq8jHg8BxOR0C.mjs +0 -7
  153. package/browser/esm/DkPPc6PpShDjAHJV.mjs +0 -7
  154. package/browser/esm/DqEqprkW8poZvfjh.mjs +0 -7
  155. package/browser/esm/DtSj65a0yyYL8HUw.mjs +0 -7
  156. package/browser/esm/Dw0Okzcg5hIcHUcc.mjs +0 -7
  157. package/browser/esm/Dzo7yK5H2NRkocTa.mjs +0 -7
  158. package/browser/esm/G_2bOLOa20d7iobX.mjs +0 -7
  159. package/browser/esm/MRXgg6FvbB08Ze4M.mjs +0 -7
  160. package/browser/esm/SePiM6uWrcY09dym.mjs +0 -7
  161. package/browser/esm/eCZnrKI7SxPgdErZ.mjs +0 -7
  162. package/browser/esm/nE8H93zlwoi3F8Ii.mjs +0 -10
  163. package/browser/esm/ui3SG2ZyuCKIR0An.mjs +0 -7
  164. package/browser/esm/vk7TdrD0zPqtT8_n.mjs +0 -7
  165. package/browser/esm/yM_d2jrPPN_EupI0.mjs +0 -10
  166. package/node/esm/CWUmgm7_b5VypIPN.mjs +0 -80
@@ -1,7 +0,0 @@
1
- /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.4.12
3
- *
4
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
- * License: The license can be found at https://www.sheetxl.com/license.
6
- */
7
- let n=class{constructor(n){this._worker=null,this._nextId=1,this._pendingRequests=new Map,this._workerFactory=n}start(){if(typeof Worker>"u")throw new Error("Web Workers are not supported in this environment.");return this._worker||(this._worker=this._workerFactory(),this._worker.onmessage=n=>{const{id:e,result:t,error:r}=n.data,o=this._pendingRequests.get(e);if(o)if(this._pendingRequests.delete(e),r){const n=new Error(r.message);n.stack=r.stack,r.cause&&(n.cause=r.cause),o.reject(n)}else o.resolve(t)},this._worker.onerror=n=>{console.error("Worker error:",n),this._pendingRequests.forEach(e=>{e.reject(new Error(`Worker failed: ${n.message}`))}),this._pendingRequests.clear(),this._worker=null}),Promise.resolve()}execute(n){if(!this._worker)throw new Error("Worker is not initialized. Call start() first.");const e=this._nextId++;return new Promise((t,r)=>{this._pendingRequests.set(e,{resolve:t,reject:r}),this._worker.postMessage({id:e,params:n})})}terminate(){this._worker&&(this._worker.terminate(),this._worker=null)}};class e{constructor(n){this._onExecute=n}execute(n){return this._onExecute(n)}start(){return Promise.resolve()}terminate(){}}const t='/**\n * @license @sheetxl/primitives - Primitives - Base types for SheetXL functions. - v0.4.12\n *\n * (C) 2025-present SheetXL Inc. & Michael T. Ford\n * License: The license can be found at https://www.sheetxl.com/license.\n */\nconst W = { Number: "n", String: "s", Boolean: "b", Error: "e", Null: "z" };\nvar Re, ae, d;\n(ae = Re || (Re = {})).Orientation = { Column: "column", Row: "row" }, ae.Orientations = { ...ae.Orientation, Both: "both" }, ae.Direction = { Up: "up", Down: "down", Left: "left", Right: "right" }, ((e) => {\n e.Code = { Parse: 0, Null: 1, Div0: 2, Value: 3, Ref: 4, Name: 5, Num: 6, NA: 7, GettingData: 8, Spill: 9, Connect: 10, Blocked: 11, Unknown: 12, Field: 13, Calc: 14, Busy: 16, Python: 19, Timeout: 20 }, e.Label = { Parse: "#PARSE!", Null: "#NULL!", Div0: "#DIV/0!", Value: "#VALUE!", Ref: "#REF!", Name: "#NAME?", Num: "#NUM!", NA: "#N/A", GettingData: "#GETTING_DATA", Spill: "#SPILL!", Connect: "#CONNECT!", Blocked: "#BLOCKED!", Unknown: "#UNKNOWN!", Field: "#FIELD!", Calc: "#CALC!", Busy: "#BUSY!", Python: "#PYTHON!", Timeout: "#TIMEOUT!" };\n class t extends Error {\n constructor(c, m, fe, B) {\n super(fe, B), this._label = m, this._code = c, this.details = B;\n }\n static {\n this.code = e.Code.Unknown;\n }\n get isFormulaError() {\n return !0;\n }\n getLabel() {\n return this._label;\n }\n getCode() {\n return this._code;\n }\n equals(c) {\n return !!c && (this._code === c._code || this._code === c.code);\n }\n get [Symbol.toStringTag]() {\n return "[FormulaError]";\n }\n toString() {\n return this.message || this._label;\n }\n }\n e.Known = t;\n class n extends t {\n constructor(c, m) {\n super(e.Code.Parse, e.Label.Parse, c, m);\n }\n static {\n this.code = e.Code.Parse;\n }\n getDetails() {\n const c = this.details;\n return { line: c?.line ?? 1, column: c?.column ?? 1, offset: c?.offset ?? 0, length: c?.length ?? 0 };\n }\n }\n e.Parse = n;\n class r extends t {\n constructor(c, m) {\n super(e.Code.Null, e.Label.Null, c, m);\n }\n static {\n this.code = e.Code.Null;\n }\n }\n e.Null = r;\n class o extends t {\n constructor(c, m) {\n super(e.Code.Div0, e.Label.Div0, c, m);\n }\n static {\n this.code = e.Code.Div0;\n }\n }\n e.Div0 = o;\n class i extends t {\n constructor(c, m) {\n super(e.Code.Value, e.Label.Value, c, m);\n }\n static {\n this.code = e.Code.Value;\n }\n }\n e.Value = i;\n class a extends t {\n constructor(c, m) {\n super(e.Code.Ref, e.Label.Ref, c, m);\n }\n static {\n this.code = e.Code.Ref;\n }\n }\n e.Ref = a;\n class l extends t {\n constructor(c, m) {\n super(e.Code.Name, e.Label.Name, c, m);\n }\n static {\n this.code = e.Code.Name;\n }\n }\n e.Name = l;\n class u extends t {\n constructor(c, m) {\n super(e.Code.Num, e.Label.Num, c, m);\n }\n static {\n this.code = e.Code.Num;\n }\n }\n e.Num = u;\n class f extends t {\n constructor(c, m) {\n super(e.Code.NA, e.Label.NA, c, m);\n }\n static {\n this.code = e.Code.NA;\n }\n }\n e.NA = f;\n class h extends t {\n constructor(c, m) {\n super(e.Code.GettingData, e.Label.GettingData, c, m);\n }\n static {\n this.code = e.Code.GettingData;\n }\n }\n e.GettingData = h;\n class g extends t {\n constructor(c, m) {\n super(e.Code.Spill, e.Label.Spill, c, m);\n }\n static {\n this.code = e.Code.Spill;\n }\n }\n e.Spill = g;\n class p extends t {\n constructor(c, m) {\n super(e.Code.Connect, e.Label.Connect, c, m);\n }\n static {\n this.code = e.Code.Connect;\n }\n }\n e.Connect = p;\n class y extends t {\n constructor(c, m) {\n super(e.Code.Blocked, e.Label.Blocked, c, m);\n }\n static {\n this.code = e.Code.Blocked;\n }\n }\n e.Blocked = y;\n class T extends t {\n constructor(c, m) {\n super(e.Code.Unknown, e.Label.Unknown, c, m);\n }\n static {\n this.code = e.Code.Unknown;\n }\n }\n e.Unknown = T;\n class A extends t {\n constructor(c, m) {\n super(e.Code.Field, e.Label.Field, c, m);\n }\n static {\n this.code = e.Code.Field;\n }\n }\n e.Field = A;\n class D extends t {\n constructor(c, m) {\n super(e.Code.Calc, e.Label.Calc, c, m);\n }\n static {\n this.code = e.Code.Calc;\n }\n }\n e.Calc = D;\n class U extends t {\n constructor(c, m) {\n super(e.Code.Busy, e.Label.Busy, c, m);\n }\n static {\n this.code = e.Code.Busy;\n }\n }\n e.Busy = U;\n class I extends t {\n constructor(c, m) {\n super(e.Code.Python, e.Label.Python, c, m);\n }\n static {\n this.code = e.Code.Python;\n }\n }\n e.Python = I;\n class J extends t {\n constructor(c, m) {\n super(e.Code.Timeout, e.Label.Timeout, c, m);\n }\n static {\n this.code = e.Code.Timeout;\n }\n }\n e.Timeout = J;\n})(d || (d = {}));\nconst _ = {};\n_[d.Code.Parse] = d.Parse, _[d.Code.Null] = d.Null, _[d.Code.Div0] = d.Div0, _[d.Code.Value] = d.Value, _[d.Code.Ref] = d.Ref, _[d.Code.Name] = d.Name, _[d.Code.Num] = d.Num, _[d.Code.NA] = d.NA, _[d.Code.GettingData] = d.GettingData, _[d.Code.Spill] = d.Spill, _[d.Code.Connect] = d.Connect, _[d.Code.Blocked] = d.Blocked, _[d.Code.Unknown] = d.Unknown, _[d.Code.Field] = d.Field, _[d.Code.Calc] = d.Calc, _[d.Code.Busy] = d.Busy, _[d.Code.Python] = d.Python, _[d.Code.Timeout] = d.Timeout;\nconst et = /* @__PURE__ */ new Map(), Te = /* @__PURE__ */ new Map(), tt = /* @__PURE__ */ new Map(), nt = /* @__PURE__ */ new Map(), ke = Object.keys(_);\nfor (let e = 0; e < ke.length; e++) {\n const t = ke[e], n = _[t];\n tt.set(d.Label[t], n), nt.set(d.Code[t], n);\n const r = new n();\n et.set(r.getLabel(), r), Te.set(r.getCode(), r);\n}\nconst Et = Te.get(d.Code.Unknown);\nvar v;\n(v = d || (d = {})).BuiltIn = { Parse: new v.Parse(), Null: new v.Null(), Div0: new v.Div0(), Value: new v.Value(), Ref: new v.Ref(), Name: new v.Name(), Num: new v.Num(), NA: new v.NA(), GettingData: new v.GettingData(), Spill: new v.Spill(), Connect: new v.Connect(), Blocked: new v.Blocked(), Unknown: new v.Unknown(), Field: new v.Field(), Calc: new v.Calc(), Busy: new v.Busy(), Python: new v.Python(), Timeout: new v.Timeout() }, v.getBuiltInByLabel = (e) => et.get(e), v.newTypedError = (e, t, n) => {\n let r;\n return r = typeof e == "string" ? tt.get(e) : nt.get(e), r || (r = v.Unknown), new r(t, n);\n}, v.getBuiltInById = (e) => Te.get(e) || Et;\n/**\n * @license @sheetxl/utils - Utils - Utilities used by most SheetXL components. - v0.4.12\n *\n * (C) 2025-present SheetXL Inc. & Michael T. Ford\n * License: The license can be found at https://www.sheetxl.com/license.\n */\nconst S = { html: "text/html", plain: "text/plain", png: "image/png" }, St = Object.freeze({ left: 0, top: 0 }), xt = Object.freeze({ left: 0, top: 0, bottom: 0, right: 0 }), Ct = Object.freeze({ x: 0, y: 0, width: 0, height: 0 });\nObject.freeze(Object.defineProperty({ __proto__: null, EmptyBounds: Ct, EmptyRect: xt, EmptyTopLeft: St }, Symbol.toStringTag, { value: "Module" }));\nconst j = { Column: "column", Row: "row" }, vt = Object.freeze({ colIndex: 0, rowIndex: 0 }), Tt = Object.freeze({ colStart: 0, rowStart: 0, colEnd: 0, rowEnd: 0 }), rt = (e, t) => e.colStart === t.colStart ? e.rowStart - t.rowStart : e.colStart - t.colStart, ot = (e, t) => e.rowStart === t.rowStart ? e.colStart - t.colStart : e.rowStart - t.rowStart, _t = (e, t) => e.rowEnd === t.rowEnd ? t.colEnd - e.colEnd : t.rowEnd - e.rowEnd, Ot = (e, t) => e.colEnd === t.colEnd ? t.rowEnd - e.rowEnd : t.colEnd - e.colEnd, Le = (e, t) => e.colIndex === t.colIndex ? e.rowIndex - t.rowIndex : e.colIndex - t.colIndex, Ae = (e, t) => e.rowIndex === t.rowIndex ? e.colIndex - t.colIndex : e.rowIndex - t.rowIndex, it = (e = j.Row, t = !1) => t ? e !== j.Column ? _t : Ot : e !== j.Column ? ot : rt, Me = (e, t) => e === t || !(!e || !t) && e.rowIndex === t.rowIndex && e.colIndex === t.colIndex, Se = (e, t) => e === t || !(!e || !t) && e.rowStart === t.rowStart && e.rowEnd === t.rowEnd && e.colStart === t.colStart && e.colEnd === t.colEnd, xe = (e, t) => !(!e || !t) && !(e.colStart > t.colEnd || t.colStart > e.colEnd) && !(e.rowStart > t.rowEnd || t.rowStart > e.rowEnd), je = (e, t) => {\n if (e === t) return !0;\n if (!e || !t || e.length !== t.length) return !1;\n for (let n = 0; n < e.length; n++) if (!Se(e[n], t[n])) return !1;\n return !0;\n}, he = (e, t, n) => {\n if (!e && !t) return null;\n if (!e) return n ? t : { ...t };\n if (!t) return n ? e : { ...e };\n const r = Math.min(e.colStart, t.colStart), o = Math.min(e.rowStart, t.rowStart), i = Math.max(e.colEnd, t.colEnd), a = Math.max(e.rowEnd, t.rowEnd);\n let l = n;\n return l ? (l.colStart = r, l.rowStart = o, l.colEnd = i, l.rowEnd = a) : l = { colStart: r, rowStart: o, colEnd: i, rowEnd: a }, l;\n}, Pe = (e, t) => {\n if (!t || t.length === 0) return e;\n const n = { ...e };\n for (let r = 0; r < t.length; r++) {\n const o = t[r];\n xe(n, o) && (n.rowStart = Math.min(n.rowStart, o.rowStart), n.colStart = Math.min(n.colStart, o.colStart), n.rowEnd = Math.max(n.rowEnd, o.rowEnd), n.colEnd = Math.max(n.colEnd, o.colEnd));\n }\n return n;\n}, It = [null, null], Nt = (e, t, n) => {\n if (e[0].value === e[1].value) return t;\n};\nfunction Fe(e, t = 2, n, r = j.Row, o) {\n let i = [...e];\n if (t <= 0 || e.length <= 1) return i;\n let a = r === j.Column, l = 0, u = !1;\n do {\n const f = i.sort(it(a ? j.Row : j.Column));\n i = [], i.push(f[0]);\n const h = f.length;\n let g = 0, p = f[0], y = p.colStart, T = p.rowStart, A = p.colEnd, D = p.rowEnd;\n for (let U = 1; U < h; U++) {\n const I = f[U];\n let J = !1;\n if (J = a ? p && T === I.rowStart && D === I.rowEnd && A + 1 === I.colStart : p && y === I.colStart && A === I.colEnd && D + 1 === I.rowStart, J) {\n let E = { colStart: y, rowStart: T, colEnd: a ? I.colEnd : A, rowEnd: a ? D : I.rowEnd };\n if (p.value !== void 0 && (E.value = p.value), n) {\n const c = o ?? [null, null];\n c[0] = p, c[1] = I, E = n(c, E, r);\n }\n if (E) {\n i[g] = E, u = !0, p = E, y = p.colStart, T = p.rowStart, A = p.colEnd, D = p.rowEnd;\n continue;\n }\n }\n i[++g] = I, p = I, y = p.colStart, T = p.rowStart, A = p.colEnd, D = p.rowEnd;\n }\n l++, a = !a, l === 1 && (u = !0);\n } while (l < t && u && i.length > 1);\n return i;\n}\nObject.freeze(Object.defineProperty({ __proto__: null, EmptyCell: vt, EmptyRange: Tt, cellToRange: (e, t) => {\n if (!e) return null;\n let n = t;\n return n || (n = { ...e }, delete n.colIndex, delete n.rowIndex), n.colStart = e.colIndex ?? 0, n.rowStart = e.rowIndex ?? 0, n.colEnd = e.colIndex ?? 0, n.rowEnd = e.rowIndex ?? 0, n;\n}, columnFirstCellComparator: Le, columnFirstRangeComparator: rt, createCellComparator: (e = j.Row, t = !1) => t ? e !== j.Column ? (n, r) => n.rowIndex === r.rowIndex ? r.colIndex - n.colIndex : r.rowIndex - n.rowIndex : (n, r) => n.colIndex === r.colIndex ? r.rowIndex - n.rowIndex : r.colIndex - n.colIndex : e !== j.Column ? Ae : Le, createConflatingRanges: (e, t = !1) => {\n const n = [];\n let r, o, i = Number.MIN_SAFE_INTEGER, a = Number.MIN_SAFE_INTEGER;\n return { append: (l, u, f) => {\n let h = !0;\n const g = f !== void 0;\n if (g) {\n const T = e ? e(o, f, t) : o === f ? f : void 0;\n T === void 0 ? h = !1 : f = T;\n }\n if (h && u === a + 1 && l === i) return t ? r.rowEnd = u : r.colEnd = u, a = u, void (o = f);\n r && n.push(r);\n const p = t ? l : u, y = t ? u : l;\n r = { colStart: p, rowStart: y, colEnd: p, rowEnd: y }, g && (r.value = f), i = l, a = u, o = f;\n }, done: (l) => (r && (n.push(r), r = null), l ? Fe(n, 3, l === !0 ? Nt : l, t ? j.Column : j.Row, It) : n) };\n}, createRangeComparator: it, defaultRange: (e, t, n) => e ? n ? (n.colStart = e.colStart ?? t.colStart, n.rowStart = e.rowStart ?? t.rowStart, n.colEnd = e.colEnd ?? t.colEnd, n.rowEnd = e.rowEnd ?? t.rowEnd, n) : { colStart: e.colStart ?? t.colStart, rowStart: e.rowStart ?? t.rowStart, colEnd: e.colEnd ?? t.colEnd, rowEnd: e.rowEnd ?? t.rowEnd } : t, extendRangeToIntersectingRanges: Pe, extendRangeToUnionRanges: (e, t) => {\n if (!t || t.length === 0) return e;\n let n = e, r = null;\n for (; !Se(n, r); ) r = n, n = Pe(r, t);\n return n;\n}, indexOfCoords: (e, t) => {\n const n = { colStart: e.colIndex, rowStart: e.rowIndex, colEnd: e.colIndex, rowEnd: e.rowIndex };\n for (let r = t.length - 1; r >= 0; r--) if (xe(n, t[r])) return r;\n return -1;\n}, intersectRanges: (e, t, n) => {\n if (!e) return n ? t : { ...t };\n if (!t) return n ? e : { ...e };\n if (!e && !t || e.rowStart > t.rowEnd || e.rowEnd < t.rowStart || e.colStart > t.colEnd || e.colEnd < t.colStart) return null;\n const r = Math.max(e.colStart, t.colStart), o = Math.max(e.rowStart, t.rowStart), i = Math.min(e.colEnd, t.colEnd), a = Math.min(e.rowEnd, t.rowEnd);\n let l = n;\n return l ? (l.colStart = r, l.rowStart = o, l.colEnd = i, l.rowEnd = a) : l = { colStart: r, rowStart: o, colEnd: i, rowEnd: a }, l;\n}, isCellWithinRange: (e, t) => !(!e || !t) && !(e.rowIndex < t.rowStart || e.rowIndex > t.rowEnd) && !(e.colIndex < t.colStart || e.colIndex > t.colEnd), isEqualCells: Me, isEqualRanges: Se, isEqualRangesArrays: je, isEqualSelectionCoords: (e, t) => e === t || !(!e || !t) && e.rangeIndex === t.rangeIndex && !!Me(e.cell, t.cell) && je(e.ranges, t.ranges), isRangeWithinRange: (e, t) => !(e.rowStart < t.rowStart || e.rowEnd > t.rowEnd) && !(e.colStart < t.colStart || e.colEnd > t.colEnd), isRangesIntersect: xe, isSingleCell: (e) => !!e && e.rowEnd === e.rowStart && e.colStart === e.colEnd, isValidRange: (e) => !!e && !(typeof e.colStart != "number" || e.colStart < 0) && !(typeof e.colEnd != "number" || e.colEnd < e.colStart) && !(typeof e.rowStart != "number" || e.rowStart < 0) && !(typeof e.rowEnd != "number" || e.rowEnd < e.rowStart), mergeRangedValues: Fe, rowFirstCellComparator: Ae, rowFirstRangeComparator: ot, sanitizeRange: (e) => e ? { colStart: e.colIndex ?? e.colStart ?? 0, rowStart: e.rowIndex ?? e.rowStart ?? 0, colEnd: e.colIndex ?? e.colEnd ?? 0, rowEnd: e.rowIndex ?? e.rowEnd ?? 0 } : null, translateRange: (e, t = -e.rowStart, n = -e.colStart, r) => r ? (r.colStart = e.colStart + n, r.rowStart = e.rowStart + t, r.colEnd = e.colEnd + n, r.rowEnd = e.rowEnd + t, r) : { colStart: e.colStart + n, rowStart: e.rowStart + t, colEnd: e.colEnd + n, rowEnd: e.rowEnd + t }, unionRanges: he, unionRangesArrays: (e, t, n) => {\n if (!e || e.length === 0) return null;\n if (e.length === 1 && !t) return e[0];\n let r = e[0];\n for (let o = 1; o < e.length; o++) r = he(r, e[o], n);\n return t && (r = he(r, t, n)), r;\n} }, Symbol.toStringTag, { value: "Module" }));\nfunction Rt(e) {\n const t = Object.prototype.toString.call(e);\n return t === "[object RegExp]" || t === "[object Date]" || function(n) {\n return n.$$typeof === kt;\n }(e);\n}\nconst kt = typeof Symbol == "function" && Symbol.for ? Symbol.for("react.element") : 60103;\nfunction Lt(e) {\n return /* @__PURE__ */ function(t) {\n return !!t && typeof t == "object";\n }(e) && !Rt(e);\n}\nfunction re(e, t) {\n return t.clone !== !1 && t.isMergeableObject(e) ? Y((n = e, Array.isArray(n) ? [] : {}), e, t) : e;\n var n;\n}\nfunction At(e, t, n) {\n return e.concat(t).map(function(r) {\n return re(r, n);\n });\n}\nfunction De(e) {\n return Object.keys(e).concat(function(t) {\n return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(t).filter(function(n) {\n return Object.propertyIsEnumerable.call(t, n);\n }) : [];\n }(e));\n}\nfunction Ue(e, t) {\n try {\n return t in e;\n } catch {\n return !1;\n }\n}\nfunction Mt(e, t, n) {\n const r = {};\n return n.isMergeableObject(e) && De(e).forEach(function(o) {\n r[o] = re(e[o], n);\n }), De(t).forEach(function(o) {\n (function(i, a) {\n return Ue(i, a) && !(Object.hasOwnProperty.call(i, a) && Object.propertyIsEnumerable.call(i, a));\n })(e, o) || (Ue(e, o) && n.isMergeableObject(t[o]) ? r[o] = function(i, a) {\n if (!a.customMerge) return Y;\n const l = a.customMerge(i);\n return typeof l == "function" ? l : Y;\n }(o, n)(e[o], t[o], n) : r[o] = re(t[o], n));\n }), r;\n}\nfunction Y(e, t, n) {\n (n = n || {}).arrayMerge = n.arrayMerge || At, n.isMergeableObject = n.isMergeableObject || Lt, n.cloneUnlessOtherwiseSpecified = re;\n const r = Array.isArray(t);\n return r === Array.isArray(e) ? r ? n.arrayMerge(e, t, n) : Mt(e, t, n) : re(t, n);\n}\nY.all = function(e, t) {\n if (!Array.isArray(e)) throw new Error("first argument should be an array");\n return e.reduce(function(n, r) {\n return Y(n, r, t);\n }, {});\n};\nconst jt = Object.freeze([]), Pt = Object.freeze({}), Be = (e) => e, de = () => "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(e) {\n let t = 16 * Math.random() | 0;\n return (e === "x" ? t : 3 & t | 8).toString(16);\n}), Ft = (e) => 1 * e, at = (e, t) => e === t || !(!Array.isArray(e) || !Array.isArray(t) || e.length !== t.length) && e.every((n, r) => n === t[r]), ne = (e) => typeof e == "object" && !Array.isArray(e) && e !== null, lt = (e) => typeof e != "object" || Array.isArray(e) || e === null ? e : (Object.keys(e).forEach(function(t) {\n e[t] && typeof e[t] == "object" ? lt(e[t]) : e[t] !== null && e[t] !== void 0 || delete e[t], typeof e[t] == "object" && Object.keys(e[t]).length === 0 && delete e[t];\n}), Object.keys(e).length === 0 ? null : e), Dt = (e, t) => !(e !== t && !at(e, t)) || !!e.isEqual?.(t), st = (e, t, n = Dt) => {\n if (e == null || e === t) return null;\n if (!e || typeof e != "object" || Array.isArray(e) || e.isImmutable?.()) return n(e, t) ? null : e;\n const r = Object.keys(e);\n if (r.length === 0) return null;\n let o = !1;\n for (let i = 0; i < r.length; i++) {\n const a = r[i];\n st(e[a], t?.[a], n) === null && (o = !0, delete e[a]);\n }\n return o && Object.keys(e).length === 0 ? null : void 0;\n}, $e = typeof performance == "object" && typeof performance.now == "function" ? () => performance.now() : () => Date.now(), ze = (e) => e == null, Ke = (e, t) => !(t.left > e.right || t.right < e.left || t.top > e.bottom || t.bottom < e.top), Ve = !(typeof window > "u" || !window.document || !window.document.createElement), k = { Windows: "windows", MacOS: "macos", IOS: "ios", Linux: "linux", Android: "android", Safari: "safari", Firefox: "firefox", Node: "node", Unknown: "unknown" }, oe = () => {\n if (ct()) return k.Node;\n const e = globalThis.navigator !== void 0 && globalThis.navigator.userAgent ? globalThis.navigator.userAgent.toLowerCase() : "";\n return e ? /(win32|win64|windows|wince)/i.test(e) ? k.Windows : /(macintosh|macintel|macppc|mac68k|macos)/i.test(e) ? k.MacOS : /(iphone|ipad|ipod)/i.test(e) ? k.IOS : /android/.test(e) ? k.Android : /linux/.test(e) ? k.Linux : /^((?!chrome|android|).)*safari/i.test(e) ? k.Safari : /^((?!chrome|android|Seamonkey).)*firefox/i.test(e) ? k.Firefox : k.Unknown : k.Unknown;\n};\nfunction ct() {\n return typeof process < "u" && process.release?.name === "node" || (typeof process < "u" && process.browser, !1);\n}\nconst qe = (e, t = !1) => (document.hasFocus() || t) && (e === document.activeElement || e?.contains(document.activeElement)), Ut = Object.freeze(Object.defineProperty({ __proto__: null, EmptyArray: jt, EmptyObject: Pt, OSType: k, arrayMove: function(e, t, n) {\n const r = e.slice();\n return r.splice(n < 0 ? r.length + n : n, 0, r.splice(t, 1)[0]), r;\n}, asNumber: (e) => {\n const t = Ft(e);\n return Number.isFinite(t) ? t : 0;\n}, camelToPrettyCase: (e) => e.length === 1 ? e.toUpperCase() : e.replace(/([A-Z])/g, " $1").replace(/^./, function(t) {\n return t.toUpperCase();\n}).trim(), canUseDOM: Ve, cancelTimeout: (e) => {\n cancelAnimationFrame(e.id);\n}, castToString: (e) => e == null || e === void 0 ? "" : typeof e != "string" ? "" + e : e, cloneObject: (e) => ze(e) ? e : JSON.parse(JSON.stringify(e)), consoleWithNoSource: (...e) => new Promise((t) => {\n setTimeout(() => {\n Function("console.log.apply(console, arguments)").apply(null, e), t();\n });\n}), debounce: function(e, t = 300, n = !1) {\n let r, o, i, a, l = 0;\n function u() {\n let h = Date.now() - l;\n h < t && h >= 0 ? r = setTimeout(u, t - h) : (r = null, n || (a = e.apply(i, o), i = o = null));\n }\n t == null && (t = 100);\n const f = function() {\n i = globalThis, o = arguments, l = Date.now();\n var h = n && !r;\n return r || (r = setTimeout(u, t)), h && (a = e.apply(i, o), i = o = null), a;\n };\n return f.clear = function() {\n r && (clearTimeout(r), r = null);\n }, f.flush = function() {\n r && (a = e.apply(i, o), i = o = null, clearTimeout(r), r = null);\n }, f;\n}, deepEqual: function e(t, n) {\n if (t === n) return !0;\n if (t && n && typeof t == "object" && typeof n == "object") {\n if (t.constructor !== n.constructor) return !1;\n let r, o, i;\n if (Array.isArray(t)) {\n if (r = t.length, r != n.length) return !1;\n for (o = r; o-- !== 0; ) if (!e(t[o], n[o])) return !1;\n return !0;\n }\n if (t instanceof Map && n instanceof Map) {\n if (t.size !== n.size) return !1;\n for (o of t.entries()) if (!n.has(o[0])) return !1;\n for (o of t.entries()) if (!e(o[1], n.get(o[0]))) return !1;\n return !0;\n }\n if (t instanceof Set && n instanceof Set) {\n if (t.size !== n.size) return !1;\n for (o of t.entries()) if (!n.has(o[0])) return !1;\n return !0;\n }\n if (ArrayBuffer.isView(t) && ArrayBuffer.isView(n)) {\n if (r = t.length, r != n.length) return !1;\n for (o = r; o-- !== 0; ) if (t[o] !== n[o]) return !1;\n return !0;\n }\n if (t.constructor === RegExp) return t.source === n.source && t.flags === n.flags;\n if (t.valueOf !== Object.prototype.valueOf) return t.valueOf() === n.valueOf();\n if (t.toString !== Object.prototype.toString) return t.toString() === n.toString();\n if (i = Object.keys(t), r = i.length, r !== Object.keys(n).length) return !1;\n for (o = r; o-- !== 0; ) if (!Object.prototype.hasOwnProperty.call(n, i[o])) return !1;\n for (o = r; o-- !== 0; ) {\n let a = i[o];\n if ((a !== "_owner" || !t.$$typeof) && !e(t[a], n[a])) return !1;\n }\n return !0;\n }\n return t != t && n != n;\n}, deepFreeze: function e(t) {\n return Object.freeze(t), Object.keys(t).forEach((n) => {\n typeof t[n] != "object" || t[n] === null || Object.isFrozen(t[n]) || e(t[n]);\n }), t;\n}, deepMerge: Y, diffValues: (e, t) => {\n const n = {}, r = Object.keys(t), o = r.length;\n for (let i = 0; i < o; i++) {\n const a = r[i];\n e[a] !== t[a] && (e[a] === void 0 ? n[a] = t[a] : n[a] = e[a]);\n }\n return Object.keys(n).length === 0 ? null : n;\n}, findEqualOrGreater: function(e, t, n = Be) {\n let r = 0, o = e.length - 1;\n for (; r <= o; ) {\n let i = Math.floor((r + o) / 2), a = n(e[i]);\n if (a === t) return i;\n a < t ? r = i + 1 : o = i - 1;\n }\n return r;\n}, findEqualOrLesser: function(e, t, n = Be) {\n let r = e.length - 1, o = 0;\n for (; r >= o; ) {\n let i = Math.floor((r + o) / 2), a = n(e[i]);\n if (a === t) return i;\n a > t ? r = i - 1 : o = i + 1;\n }\n return r;\n}, findNextStep: (e, t = !0, n = 15, r = 10, o = 400) => {\n const i = Math.max(e - r, 0) + (t ? 1 : -1);\n return Math.min(o, Math[t ? "ceil" : "floor"](i / n) * n + r);\n}, getDPI: () => {\n let e = 1;\n return typeof window == "object" && (e = window.devicePixelRatio || 1), e;\n}, getFromPath: (e, t) => {\n const n = t.split(".");\n let r = e;\n for (let o = 0; o < n.length; o++) {\n const i = n[o];\n if (!r) return null;\n let a = r[i];\n if (typeof a == "function" && (a = a.bind(r)()), !a || !ne(a)) return a;\n r = a;\n }\n return r ?? null;\n}, getOS: oe, hasFocus: qe, isDefined: (e) => e != null, isEmpty: (e) => e == null || e === "", isEqualArrays: at, isEqualBounds: (e, t) => e === t || !(e && !t || t && !e) && e.x === t.x && e.y === t.y && e.width === t.width && e.height === t.height, isEqualObjectKeys: (e, t) => {\n if (e === t) return !0;\n if (e && !t || t && !e) return !1;\n const n = Object.keys(e);\n if (n.length !== Object.keys(t).length) return !1;\n for (let r = 0; r < n.length; r++) if (e[n[r]] !== t[n[r]]) return !1;\n return !0;\n}, isNode: ct, isNullOrUndefined: ze, isNumeric: (e) => {\n const t = 1 * e;\n return Number.isFinite(t) && typeof t == "number";\n}, isObject: ne, isPromiseLike: (e) => !!e && typeof e.then == "function", isRectInsideRect: (e, t) => e.top >= t.top && e.bottom <= t.bottom && e.left >= t.left && e.right <= t.right, isRectIntersect: Ke, mergeContentful: (...e) => {\n const t = e.length;\n if (t > 0 && e[t - 1] !== void 0 && !ne(e[t - 1])) return e[t - 1];\n let n = e[0] || {};\n for (let r = 1; r < t; r++) n = Y(n, e[r] || {}, { arrayMerge: (o, i) => [...i] });\n return n;\n}, nextTick: (e) => {\n typeof window < "u" && typeof window.requestAnimationFrame == "function" ? window.requestAnimationFrame(() => {\n e();\n }) : (typeof setImmediate == "function" ? setImmediate : setTimeout)(() => {\n e();\n });\n}, openFileDialog: (e = "*.*") => new Promise((t, n) => {\n if (!Ve) return void n("Unable to open dialog with no dom.");\n const r = document.createElement("input");\n r.type = "file", r.accept = e;\n let o = null, i = !1;\n globalThis.addEventListener?.("focus", () => {\n setTimeout(() => {\n o || i || (i = !0, t(null));\n }, 1e3);\n }, { once: !0, passive: !0 }), r.onchange = () => {\n if (o = r.files[0], o) {\n if (i) return void console.warn("File open detected after faux cancel.", o);\n t(o);\n }\n }, r.autofocus = !0, r.click();\n}), rafThrottle: (e) => {\n let t, n = !1, r = function() {\n n = !1, e(t);\n };\n return function(o) {\n t = o, t && t.persist && t.persist(), n || (n = !0, requestAnimationFrame(r));\n };\n}, removeEmptyProperties: lt, removeEqualValues: st, removeListenerAll: (e) => {\n if (!e) return [];\n for (let t = 0; t < e.length; t++) e[t] && e[t]();\n return [];\n}, requestTimeout: (e, t) => {\n const n = $e(), r = { id: requestAnimationFrame(function o() {\n $e() - n >= t ? e.call(null) : r.id = requestAnimationFrame(o);\n }) };\n return r;\n}, roundAccurately: (e, t = 0) => {\n if (e == null || !isFinite(e)) return null;\n const n = 10 ** t;\n return Number(Math.round(e * n) / n);\n}, setToPath: (e, t, n) => {\n const r = t.split(".");\n let o = e;\n if (!o) throw new Error("Can not set path to a null path.");\n for (let i = 0; o && i < r.length - 1; i++) {\n const a = r[i];\n let l = o[a];\n if (l == null && (l = {}, o[a] = l), !ne(l)) throw new Error("Can not set path to a non object path.");\n o = l;\n }\n if (typeof n != "number" && typeof n != "boolean" && typeof n != "string" && !ne(n)) throw new Error(`Can not set path to ${n} that is not a a supported primitive.`);\n return o[r[r.length - 1]] = n, e;\n}, splitNumber: (e) => {\n let t = Math.abs(e);\n if (isNaN(t) || !isFinite(e)) return null;\n let n = 0 | t, r = t - n, o = 0, i = 0, a = 1;\n if (r > 5e-8) for (; i < 8 && Math.abs(o / a - r) > 5e-8; ) i++, a *= 10, o = Math.round(r * a);\n return { ip: Math.trunc(e), fp: o, ipLength: Math.ceil(Math.log10(n + 1)), fpLength: i };\n}, subtractRect: (e, t, n = !1) => {\n if (!t) return [e];\n if (!Ke(e, t)) return [];\n const r = [];\n let o = e;\n const i = () => {\n t.top > o.top && t.top < o.bottom && (r.push({ ...o, bottom: t.top }), o = { ...o, top: t.top });\n }, a = () => {\n t.bottom > o.top && t.bottom < o.bottom && (r.push({ ...o, top: t.bottom }), o = { ...o, bottom: t.bottom });\n }, l = () => {\n t.right > o.left && t.right < o.right && (r.push({ ...o, left: t.right }), o = { ...o, right: t.right });\n }, u = () => {\n t.left > o.left && t.left < o.right && (r.push({ ...o, right: t.left }), o = { ...o, left: t.left });\n };\n return n ? (u(), l(), i(), a()) : (i(), a(), l(), u()), r;\n}, textToKey: (e) => e.replace(/[^a-zA-Z0-9]/g, "").toLowerCase(), throttle: function(e, t) {\n let n = null;\n return (...r) => {\n const o = Date.now();\n (!n || o - n >= t) && (n = o, e(...r));\n };\n}, toSafeJSON: function e(t) {\n if (t === null || typeof t != "object") return t;\n if (typeof t.toJSON == "function") return t.toJSON();\n if (Array.isArray(t)) return t.map((r) => e(r));\n if (typeof t.toString == "function" && t.toString !== Object.prototype.toString) return t.toString();\n const n = {};\n for (const r in t) t.hasOwnProperty(r) && (n[r] = e(t[r]));\n return n;\n}, transpose: (e) => {\n if (!e) return e;\n const t = e.length, n = e[0].length, r = [];\n for (let o = 0; o < n; o++) r[o] = Array(t);\n for (let o = 0; o < t; o++) for (let i = 0; i < n; i++) r[i][o] = e[o][i];\n return r;\n}, uuidV4: de, validEnumValue: (e, t) => {\n if (!Object.values(e).includes(t)) throw new Error(`Invalid type: ${t ?? "null"}. Must be one of: ${Object.values(t).join(", ")}.`);\n}, whenFocus: async (e, t = !1) => new Promise((n) => {\n qe(e, t) ? n(!0) : e.addEventListener("focusin", () => {\n n(!0);\n }, { once: !0 }), e.focus();\n}) }, Symbol.toStringTag, { value: "Module" }));\nObject.freeze(Object.defineProperty({ __proto__: null, MESSAGE_ERROR_INVALID_ARG: (e) => `Invalid argument: \'${e}\'.` }, Symbol.toStringTag, { value: "Module" }));\nconst ut = (e) => {\n const t = new Uint8Array(e), n = t.byteLength;\n let r = "";\n for (let o = 0; o < n; o++) r += String.fromCharCode(t[o]);\n if (typeof window < "u" && typeof globalThis.btoa == "function") return globalThis.btoa(r);\n if (typeof Buffer < "u") return Buffer.from(r, "binary").toString("base64");\n throw new Error("Unsupported environment");\n}, Ce = (e) => new Promise((t, n) => {\n if (e) if (typeof FileReader < "u") {\n const r = new FileReader();\n r.onload = () => {\n t(r.result);\n }, r.onerror = () => {\n n(r.error);\n }, r.readAsText(e);\n } else if (typeof Buffer < "u") {\n const r = (o) => Buffer.from(o).toString("utf-8");\n e.arrayBuffer().then((o) => {\n t(r(o));\n }).catch((o) => {\n n(o);\n });\n } else n(new Error("Unsupported environment"));\n else t("");\n});\nObject.freeze(Object.defineProperty({ __proto__: null, DEFAULT_MIME_TYPE: "*/*", arrayBufferToBase64: ut, base64ToArrayBuffer: (e) => {\n const t = typeof window < "u" && typeof globalThis.atob == "function" ? globalThis.atob(e) : Buffer.from(e, "base64").toString("binary"), n = t.length, r = new Uint8Array(n);\n for (let o = 0; o < n; o++) r[o] = t.charCodeAt(o);\n return r.buffer;\n}, blobToString: Ce }, Symbol.toStringTag, { value: "Module" }));\nconst dt = "data:image/png;base64,", ft = "Unable to resolve image.", Ge = (e) => new Promise(async (t, n) => {\n let r = null;\n try {\n r = new Image(), r.src = e, r.addEventListener("load", function() {\n t({ width: r.naturalWidth, height: r.naturalHeight });\n }, { once: !0 }), r.addEventListener("error", function() {\n URL.revokeObjectURL(e), n("Invalid Image");\n }, { once: !0 }), await r.decode("sync");\n } catch {\n r?.src && URL.revokeObjectURL(r.src);\n }\n r || n(ft);\n}), we = "image/svg+xml";\nObject.freeze(Object.defineProperty({ __proto__: null, DATA_URL_PNG_PREFIX: dt, getImageDataUrl: (e, t = 1) => new Promise(async (n, r) => {\n let o = null;\n try {\n o = new Image(), o.src = e, o.addEventListener("load", function() {\n try {\n const i = document.createElement("canvas");\n i.width = o.naturalWidth, i.height = o.naturalHeight, i.getContext("2d").drawImage(o, 0, 0);\n const a = i.toDataURL("image/png", t);\n n({ elemImg: o, dataUrl: a });\n } catch (i) {\n URL.revokeObjectURL(e), r(i);\n }\n }, { once: !0 }), o.addEventListener("error", function() {\n URL.revokeObjectURL(e), r("Invalid Image");\n }, { once: !0 }), await o.decode("sync");\n } catch {\n o?.src && URL.revokeObjectURL(o.src);\n }\n o || r(ft);\n}), loadImageDetails: async (e, t = null) => {\n let n = null;\n const r = async () => {\n try {\n const i = t ?? "image/*", a = URL.createObjectURL(new Blob([e], { type: i })), l = await Ge(a);\n n = { mimeType: i, naturalDimensions: l, asUrl: a };\n } catch {\n }\n }, o = async () => {\n try {\n const i = new TextDecoder().decode(e), a = URL.createObjectURL(new Blob([i], { type: we })), l = await Ge(a);\n n = { mimeType: t ?? we, naturalDimensions: l, asUrl: a, asSVGText: i };\n } catch {\n }\n };\n if (t === we ? await o() : t.startsWith("image/") ? await r() : (await r(), n || await o()), !n) throw new Error("Failed to load image");\n return n;\n} }, Symbol.toStringTag, { value: "Module" }));\nvar We, Ye;\n(Ye = We || (We = {})).resolveTypedUpdates = (e, t, n, r) => {\n if (e === null) return e;\n if (e === void 0) return r;\n let o = e;\n if (t?.shorthand) {\n const u = t?.shorthand(e, n);\n u !== void 0 && (o = u);\n }\n if (o !== null && t?.getSubType) {\n const u = t.getSubType(o);\n u && (t = u);\n }\n const i = t?.properties, a = t?.arrayType ?? !1;\n let l = o;\n if (t && t.merge && l && r) l = t.merge(l, r, n);\n else if (!a) {\n if (i) {\n const u = Object.keys({ ...o, ...r });\n l = null;\n for (let f = 0; f < u.length; f++) {\n const h = u[f];\n let g, p = o[h];\n if (p !== void 0) {\n const y = i[h];\n g = y ? (0, Ye.resolveTypedUpdates)(p, y, n, r?.[h]) : p;\n } else g = r?.[h];\n g != null && (l = l ?? {}, l[h] = g);\n }\n }\n }\n return l;\n};\nconst Je = `The Safari browser does not support advanced copy and paste.\nCopy and paste will be limited to within the browser tab.\n\nPlease use Chrome or Edge if external copy and paste is required.`, ye = `You do not have permissions to access the clipboard.\nAll copy and paste operations will be limited to the browser tab.`, pt = { Safari: `The Safari browser does not support advanced copy and paste.\nCopy and paste will be limited to within the browser tab.\n\nPlease use Chrome or Edge if external copy and paste is required.`, Perms: ye, PermsWrite: oe() === k.Safari ? Je : ye, PermsRead: oe() === k.Safari ? Je : ye }, ge = async () => new Promise((e) => {\n document.hasFocus() ? e() : globalThis.addEventListener?.("focus", () => {\n e();\n }, { once: !0 }), document.activeElement.focus?.();\n}), be = async (e, t, n) => {\n if (oe() === k.Safari) return await n(new Error(pt.Safari));\n try {\n const r = async (a) => {\n try {\n return await a();\n } catch (l) {\n if (l.message?.includes("Document is not focused")) return !1;\n throw l;\n }\n }, o = await globalThis?.navigator?.permissions?.query({ name: e, allowWithoutGesture: !0, allowWithoutSanitization: !0 });\n let i = !1;\n if (o.state === "prompt" && (i = await r(t)), i || o.state !== "granted" || (i = await t()), !i) return await n(new Error(o.state));\n } catch (r) {\n return r.message === "No valid data on clipboard" || r.name === "DataError" ? void 0 : await n(r);\n }\n}, mt = async (e) => {\n try {\n return await e.read({ unsanitized: [S.html] });\n } catch {\n }\n return await e.read();\n}, Bt = async (e, t) => {\n if (!e) return null;\n const n = await mt(e);\n let r = !1;\n for (let o = 0; !r && n && o < n.length; o++) if (r = n[o].types.includes(t), r)\n return await n[o].getType(t);\n return r ? void 0 : null;\n};\nif (!globalThis.ClipboardItem) {\n const e = (n, r) => new Blob([r], { type: n });\n class t {\n constructor(r, o) {\n this._items = {}, this._types = Object.keys(r);\n const i = {}, a = Object.keys(r);\n for (let l = 0; l < a.length; l++) {\n const u = a[l];\n let f = r[u];\n i[u] = typeof f == "string" ? e(u, f) : f;\n }\n this._items = i, this._presentationStyle = o?.presentationStyle ?? "unspecified";\n }\n get types() {\n return this._types;\n }\n getType(r) {\n return Promise.resolve(this._items[r]);\n }\n supports(r) {\n return !0;\n }\n }\n globalThis.ClipboardItem = t;\n}\nconst ve = async (e, t = S.html) => new Promise(async (n, r) => {\n try {\n const o = await Bt(e, t);\n if (o) {\n const i = new FileReader();\n i.onload = () => {\n n(i.result);\n }, i.onerror = () => {\n n("");\n }, i.readAsText(o);\n } else n("");\n } catch (o) {\n r(o);\n }\n}), He = async (e, t = S.html) => {\n const n = await ve(e, t);\n if (!n) return null;\n let r = null;\n try {\n r = new DOMParser().parseFromString(n, S.html);\n } catch {\n console.warn("Can\'t parse html from clipboard.");\n }\n return r;\n}, $t = async (e) => {\n e && await e.writeText("");\n}, ie = "clipboard-uuid", Q = "web text/uuid", Xe = (e) => `<div style="display:none" ${ie}="${e}"/>`, zt = (e, t) => {\n let n = null;\n try {\n const r = new DOMParser().parseFromString(t, S.html);\n r.body.firstElementChild.setAttribute(ie, e), n = r.getElementsByTagName("body")[0].innerHTML;\n } catch (r) {\n console.warn("Can\'t embed uuid.", r);\n }\n return n;\n}, Ze = (e, t) => {\n if (!t || !e) return !1;\n try {\n const n = t.querySelectorAll(`[${ie}="${e}"]`);\n if (n && n.length === 1) return !0;\n if (t.querySelector("parsererror")) throw new Error("We are unable to parse node");\n return !1;\n } catch {\n return !1;\n }\n};\nclass Qe {\n constructor(t) {\n if (t?.nativeClipboard === void 0 || t?.nativeClipboard === !0) try {\n this._nativeClipboard = globalThis?.navigator.clipboard;\n } catch {\n t?.nativeClipboard === !0 && console.warn("NativeClipboard option set to true but no native clipboard available.");\n }\n else this._nativeClipboard = t?.nativeClipboard === !1 ? null : t?.nativeClipboard;\n this._disableCheckOnFocus = t?.disableCheckOnFocus ?? !1, this._init();\n }\n async _checkForChanges() {\n this._nativeClipboard && this._state && !this._disableCheckOnFocus && await be("clipboard-read", async () => {\n await ge();\n const t = await ve(this._nativeClipboard, Q);\n if (!this._state || t && t === this._state.uuid) return !0;\n const n = await He(this._nativeClipboard, S.html);\n return !this._state || (Ze(this._state.uuid, n) || this.clear(), !0);\n }, async (t) => {\n t?.message === "denied" || t.message?.includes("Document is not focused") || oe() === k.Safari || console.warn("Unable to detect clipboard changes: ", t);\n });\n }\n _init() {\n const t = this;\n this._listeners = /* @__PURE__ */ new Map(), this._listenersCapture = /* @__PURE__ */ new Map(), this._state = null, this._nativeClipboard && (this._onFocus = () => {\n t._checkForChanges();\n }, this._onBlur = () => {\n globalThis.addEventListener?.("focus", t._onFocus, { once: !0 });\n }, globalThis.addEventListener?.("blur", this._onBlur), this._nativeClipboard.addEventListener("clipboardchange", (n) => {\n t._checkForChanges();\n }));\n }\n async read() {\n if (!this._nativeClipboard) return this._state?.items ?? null;\n const t = this;\n return await be("clipboard-read", async () => {\n if (await ge(), this._state?.uuid) {\n const n = await ve(this._nativeClipboard, Q);\n if (n && n === t._state.uuid) return !0;\n const r = await He(this._nativeClipboard, S.html);\n if (Ze(t._state?.uuid, r)) return !0;\n }\n return t._state = { items: await mt(this._nativeClipboard), uuid: null, ref: null }, this.dispatchEvent(new Event("clipboardread")), !0;\n }, async (n) => {\n this.dispatchEvent(new Event("clipboarderrorread"));\n }), this._state?.items ?? [];\n }\n async write(t) {\n return this._write({ uuid: de(), items: t, ref: null });\n }\n async _write(t) {\n if (!this._nativeClipboard) return this._state = t, this.dispatchEvent(new Event("clipboardwrite")), this.dispatchEvent(new Event("clipboardchange")), null;\n const n = this, r = [], o = t.uuid;\n let i = t.items ?? [];\n const a = () => {\n n._state = { uuid: o, ref: t.ref, items: r }, n.dispatchEvent(new Event("clipboardwrite")), n.dispatchEvent(new Event("clipboardchange"));\n };\n await be("clipboard-write", async () => {\n await ge(), o && i.length === 0 && (i.push(new ClipboardItem({ [Q]: new Blob([o], { type: Q }) })), i.push(new ClipboardItem({ [S.html]: new Blob([Xe(o)], { type: S.html }) })));\n for (let l = 0; l < Math.min(1, i.length); l++) {\n const u = i[l];\n let f = u.types.indexOf(S.html), h = null;\n if (f !== -1) {\n const y = await u.getType(S.html);\n h = await Ce(y), h && (h = zt(o, h));\n }\n if (!h && u.types.includes(S.plain)) {\n const y = await u.getType(S.plain);\n if (y) {\n let T = null;\n typeof y == "string" ? (console.warn("text as string", y), T = y) : T = await Ce(y), T && (h = `<div ${ie}="${o}">${T}</div>`);\n }\n }\n if (!h && u.types.includes(S.png)) {\n const y = await u.getType(S.png), T = ut(await y.arrayBuffer());\n h = `<div ${ie}="${o}"><img src="${dt + T}"/></div>`;\n }\n !h && o && (h = Xe(o));\n const g = new Blob([h ?? ""], { type: S.html }), p = {};\n for (let y = 0; y < u.types.length; y++) {\n const T = u.types[y];\n p[T] = y === f ? g : u.getType(T);\n }\n h && f === -1 && (p[S.html] = g), o && (p[Q] = new Blob([o], { type: Q })), r.push(new ClipboardItem(p));\n }\n try {\n r && r.length !== 0 ? await this._nativeClipboard.write(r) : await $t(this._nativeClipboard);\n } catch (l) {\n l.message?.includes("Document is not focused") || console.warn("Unable to write to native clipboard: ", l);\n }\n return a(), !0;\n }, async (l) => {\n this.dispatchEvent(new Event("clipboarderrorwrite")), a();\n });\n }\n async writeReference(t) {\n if (!t) return void this.clear();\n let n = null;\n const r = {};\n try {\n const i = await t.toText?.() ?? null;\n i && (r[S.plain] = new Blob([i ?? ""], { type: S.plain }));\n } catch (i) {\n n = i;\n }\n try {\n const i = await t.toHtml?.() ?? null;\n i && (r[S.html] = new Blob([i], { type: S.html }));\n } catch (i) {\n n = i, console.warn("export to html", i);\n }\n try {\n const i = await t.toImage?.() ?? null;\n i && (r[S.png] = i);\n } catch (i) {\n n = i, console.warn("export to png", i);\n }\n const o = this._write({ uuid: de(), ref: t, items: Object.keys(r).length > 0 ? [new ClipboardItem(r)] : null });\n if (n) throw n;\n return o;\n }\n clear(t = !1) {\n this._state && (this._state = null, t && this._write({ uuid: null, ref: null, items: null }), this.dispatchEvent(new Event("clipboardwrite")), this.dispatchEvent(new Event("clipboardchange")));\n }\n async readReference() {\n return await this.read(), this._state?.ref ?? null;\n }\n readText() {\n return new Promise(async (t, n) => {\n const r = await this.read();\n let o = null;\n for (let a = 0; !o && r && a < r.length; a++) r[a].types.includes(S.plain) && (o = await r[a].getType(S.plain));\n if (!o) return void t("");\n const i = new FileReader();\n i.onload = () => {\n t(i.result);\n }, i.readAsText(o), i.onerror = (a) => {\n n(a);\n };\n });\n }\n async writeText(t) {\n const n = [new ClipboardItem({ [S.plain]: new Blob([t], { type: S.plain }) })];\n return this._write({ uuid: de(), items: n, ref: null });\n }\n addEventListener(t, n, r = {}) {\n const o = r?.capture ? this._listenersCapture : this._listeners;\n let i = o.get(t);\n i || (i = /* @__PURE__ */ new Map(), o.set(t, i)), i.set(n, typeof r == "boolean" ? {} : r);\n }\n dispatchEvent(t) {\n if (!t) return;\n const n = (r) => {\n const o = r.get(t.type);\n o && o.forEach((i, a) => {\n try {\n typeof a == "function" ? a(t) : a.handleEvent && a.handleEvent(t), i.once && o.delete(a);\n } catch (l) {\n console.warn(l);\n }\n });\n };\n return n(this._listenersCapture), n(this._listeners), !0;\n }\n removeEventListener(t, n, r) {\n const o = r?.capture ? this._listenersCapture : this._listeners, i = o.get(t);\n i && (i.delete(n), i.size === 0 && o.delete(t));\n }\n close() {\n globalThis.removeEventListener?.("focus", this._onFocus), globalThis.removeEventListener?.("blur", this._onBlur);\n }\n}\nvar Ee;\n(Ee = Qe || (Qe = {})).ErrorMessages = pt, Ee.Global = new Ee();\nconst Kt = "__SHEETXL";\nlet ee = null, le = null;\nasync function Vt() {\n if (ee)\n return ee;\n if (le) {\n if (await le, !ee)\n throw new Error("ESBuild initialization promise resolved, but instance is not available.");\n return ee;\n }\n let e, t;\n le = new Promise((n, r) => {\n e = n, t = r;\n });\n try {\n const { initialize: n } = await Promise.resolve().then(function() {\n return nn;\n });\n return ee = await n(), e(), ee;\n } catch (n) {\n throw console.error("Failed to import or initialize esbuild:", n), le = null, t(n), n;\n }\n}\nconst qt = {\n // ESBuild.TsconfigRaw =\n compilerOptions: {\n target: "esnext"\n }\n};\nasync function Gt(e, t, n = "/script.js", r = Kt) {\n try {\n const o = await Vt(), i = "@sheetxl/primitives", a = `\n export const FormulaContext = globalThis.${r}?.FormulaContext;\n export const ScalarType = globalThis.${r}?.ScalarType;\n export const Observable = globalThis.${r}?.Observable;\n export const IRange = globalThis.${r}?.IRange;\n export const FormulaError = globalThis.${r}?.FormulaError;\n // Add more exports as needed\n `, l = {\n // ESBuild.Plugin = {\n name: "sheetxl-esbuild-in-memory",\n setup(f) {\n const h = "sheetxl-" + (/* @__PURE__ */ new Date()).getTime();\n f.onResolve({ filter: new RegExp(`^(${n.replace("/", "\\\\/")}|${i})$`) }, (g) => ({\n path: g.path,\n namespace: h\n })), f.onResolve({ filter: /.*/ }, (g) => {\n if (g.namespace !== h)\n return console.warn(`esbuild: Treating import "${g.path}" as external.`), { path: g.path, external: !0 };\n }), f.onLoad({ filter: /.*/, namespace: h }, (g) => {\n let p;\n if (g.path === n)\n p = t;\n else if (g.path === i)\n p = a;\n else\n return {\n errors: [{ text: `Cannot load unknown path in ${h}: ${g.path}` }]\n };\n return {\n contents: p,\n loader: "ts"\n // leave this as \'ts\' so esbuild generates proper sourcemaps\n };\n });\n }\n }, u = await o.build({\n entryPoints: [n],\n // Use the virtual entry point\n bundle: !0,\n // IMPORTANT: Enable bundling\n write: !1,\n // IMPORTANT: Return result in memory\n format: "esm",\n // Output format\n plugins: [l],\n // TODO - later change to external and prepend when executing from ui\n sourcemap: "inline",\n // Generate separate source map string\n tsconfigRaw: qt,\n // Pass the mapped options\n minify: !0,\n // sourcemap: \'external\', // Generate separate source map string\n // Or use \'inline\' if you prefer data URLs embedded in the code\n // To suppress warnings about dynamic import() if esbuild complains:\n // supported: { \'dynamic-import\': true },\n platform: "neutral"\n // not really needed\n });\n if (u.outputFiles && u.outputFiles.length > 0)\n return u.outputFiles[0].text;\n throw u.errors && u.errors.length > 0 ? new Error(`esbuild bundling failed: ${u.errors.map((f) => f.text).join(`\n`)}`) : new Error("esbuild did not produce an output file.");\n } catch (o) {\n throw console.error("esbuild bundling process failed:", o), o;\n }\n}\nconst Wt = `\n/**\n * Represents the completion of an asynchronous operation\n */\ninterface Promise<T> {\n /**\n * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The\n * resolved value cannot be modified from the callback.\n * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected).\n * @returns A Promise for the completion of the callback.\n */\n finally(onfinally?: (() => void) | undefined | null): Promise<T>;\n}\n`, Yt = `\n interface FirstTest {\n isTrue?: boolean;\n }\n`, Jt = async () => Yt, ht = /* @__PURE__ */ new Map([\n ["IReferenceRange", "r"],\n ["IRange", "l"]\n]), wt = /* @__PURE__ */ new Map([\n ["IWorkbook", "workbook"],\n ["ISheet", "sheet"],\n ["ICellRanges", "ranges"],\n ["ICellRange", "range"],\n ["IFormulaContext", "context"]\n]), _e = (e, t) => {\n Array.from(t.keys()).forEach((r) => {\n const o = t.get(r);\n t.set(`${e}.${r}`, o);\n });\n}, Ht = /* @__PURE__ */ new Map([\n ["Scalar", "*"],\n ["FormulaError.Known", W.Error],\n ["Date", "Date"],\n ["JSON", "JSON"]\n]), Xt = /* @__PURE__ */ new Map([\n // Repeating\n]), Oe = "SheetXL";\n_e(Oe, ht);\n_e(Oe, wt);\n_e(Oe, Xt);\nconst Zt = /* @__PURE__ */ new Map([\n ["Promise", () => ({ async: !0 })],\n // [\'PromiseLike\', (): Partial<IFunction.ReturnTypeJSON> => {\n // return { async: true };\n // }],\n ["Observable", () => ({ stream: !0 })]\n]);\nlet se = null;\nasync function Qt() {\n if (se)\n return se;\n try {\n return await (await Promise.resolve().then(function() {\n return on;\n })).initialize();\n } catch (e) {\n throw se = null, e;\n } finally {\n se = null;\n }\n}\nasync function en(e) {\n const t = e?.source ?? null;\n if (!t) return null;\n const n = (e.disableBundle || e.declarationsOnly) ?? !1, r = [\n Jt(),\n //import(\'typescript\'), // when bundled, but node check causes issues. We could bundle replace isNode but felt hacky\n Qt()\n ], o = await Promise.all(r), i = o[0], a = o[1];\n let l = "", u = null;\n const f = [], h = {\n allowJs: !0,\n declaration: !1,\n sourceMap: !1,\n // was true but now bundler will do this\n inlineSourceMap: !1,\n inlineSources: !1,\n isolatedModules: !0,\n preserveConstEnums: !1,\n // types: [\'WebWorker\'],\n module: 99,\n //"esNext",\n noResolve: !0,\n emitDeclarationOnly: !1,\n target: a.ScriptTarget.ES2020\n // lib: [\'webworker\', \'es2020\', \'esnext.asynciterable\'], // Use the webworker lib instead of dom\n }, g = "script", p = `${g}.ts`, y = "lib.d.ts", T = "global.d.ts", A = {\n [p]: t,\n [y]: Wt,\n [T]: i\n }, D = {\n getSourceFile: (s, w, L, P) => a.createSourceFile(s, A[s], a.ScriptTarget.Latest, !0),\n fileExists: (s) => A[s] !== void 0,\n readFile: (s) => A[s],\n writeFile: (s, w) => {\n A[s] = w;\n },\n // not used\n getCurrentDirectory: () => "./",\n getCanonicalFileName: (s) => s,\n useCaseSensitiveFileNames: () => !0,\n getDefaultLibFileName: (s) => y,\n getNewLine: () => `\n`\n }, U = a.createProgram([p, T], h, D), I = U.getTypeChecker(), J = U.getSourceFile(p), E = U.emit();\n E.diagnostics.length > 0 && console.warn(E.diagnostics), l = A[`${g}.js`];\n const c = (s, w, L, P) => {\n if (!s) {\n $(s, new Error(`Type is not defined for \'${w?.name ?? "return"}\'.`));\n return;\n }\n if (s.kind === a.SyntaxKind.NumberKeyword)\n w.scalar = W.Number;\n else if (s.kind === a.SyntaxKind.StringKeyword)\n w.scalar = W.String;\n else if (s.kind === a.SyntaxKind.BooleanKeyword)\n w.scalar = W.Boolean;\n else if (s.kind === a.SyntaxKind.UndefinedKeyword || s.kind === a.SyntaxKind.NullKeyword || s.kind === a.SyntaxKind.VoidKeyword) {\n if (P) {\n $(s, new Error(`\'undefined\' is not a valid type for input: \'${s?.parent?.name?.escapedText}\'.`));\n return;\n }\n w.scalar = W.Null;\n } else if (s.kind === a.SyntaxKind.BigIntKeyword)\n w.scalar = W.Number;\n else if (s.kind === a.SyntaxKind.AnyKeyword)\n w.scalar = W.Null;\n else if (s.kind === a.SyntaxKind.ArrayType) {\n const M = s.elementType;\n if (!M) {\n $(s, new Error(`\'Array\' must be typed: \'${s?.parent?.name?.escapedText}\'.`));\n return;\n }\n w.arrayDepth = (w.arrayDepth ?? 0) + 1, c(M, w, L, P);\n } else if (s.kind !== a.SyntaxKind.TupleType) {\n if (s.kind === a.SyntaxKind.TypeReference) {\n const M = s.typeName?.getText?.() ?? null, K = ht.get(M);\n let V = !1;\n K && (w.range = K, V = !0);\n const q = Ht.get(M);\n if (q && (w.scalar = q), q !== void 0 && (V = !0), P) {\n const R = wt.get(M);\n if (R)\n return R;\n } else {\n const R = Zt.get(M);\n if (R) {\n const b = { ...w, ...R() };\n let N = 0;\n if (b.async && N++, b.stream && N++, N > 1) {\n $(s, new Error(`\'${M}\' cannot have multiple modifiers: \'${s?.parent?.name?.escapedText}\'.`));\n return;\n }\n w = b, V = !0;\n }\n }\n if (!V) {\n $("node", new Error(`\'${M}\' is not a valid type: \'${s?.parent?.name?.escapedText}\'.`));\n return;\n }\n const H = s.typeArguments;\n if (H) {\n if (H.length !== 1) {\n $(s, new Error(`\'${M}\' must be typed with exactly 1 type: \'${s?.parent?.name?.escapedText}\'.`));\n return;\n }\n c(H[0], w, L, P);\n }\n }\n }\n }, m = (s) => (a.getCombinedModifierFlags(s) & a.ModifierFlags.Export) !== 0, fe = (s) => (a.getCombinedModifierFlags(s) & a.ModifierFlags.Default) !== 0, B = [], $ = (s, w) => {\n B.push(w);\n };\n if (a.forEachChild(J, (s) => {\n if (m(s) && a.isFunctionDeclaration(s)) {\n const w = {}, L = {\n parameters: {}\n }, P = s?.name?.getText();\n try {\n w.name = P;\n const K = I.getSymbolAtLocation(s.name).getDocumentationComment(I);\n if (K && K.length > 0 && K[0].text) {\n let R = K[0].text;\n R = R.replace(/[\\r\\n]+/g, "\\\\n").trim(), L.summary = R;\n }\n const V = {};\n c(s.type, V, w, !1), w.returnType = V;\n const q = {};\n fe(s) && (q.default = !0, u = P), Object.keys(q).length > 0 && (w.behavior = q), w.parameters = [];\n const H = /* @__PURE__ */ new Map();\n for (let R = 0; R < s.parameters.length; R++) {\n const b = s.parameters[R], N = {};\n N.name = b.name?.getText();\n const X = c(b.type, N, w, !0);\n if (X) {\n if (w.parameters.length !== 0) {\n const F = s?.parent?.name?.getText();\n $(s, new Error(`\'${w.name}\' contexts must be the first parameter: \'${F}\'.`));\n return;\n }\n w.context = X;\n continue;\n }\n const z = !((b.initializer === void 0 || b.initializer === null) && (b.questionToken === void 0 || b.questionToken === null));\n let C;\n if (z && (N.optional = !0, b.initializer))\n try {\n b.initializer.kind === a.SyntaxKind.StringLiteral ? C = b.initializer.text : b.initializer.kind === a.SyntaxKind.NumericLiteral ? C = parseFloat(b.initializer.text) : b.initializer.kind === a.SyntaxKind.TrueKeyword || b.initializer.kind === a.SyntaxKind.FalseKeyword ? C = b.initializer.kind === a.SyntaxKind.TrueKeyword : b.initializer.kind === a.SyntaxKind.NullKeyword ? C = null : b.initializer.kind === a.SyntaxKind.ObjectLiteralExpression || b.initializer.kind === a.SyntaxKind.ArrayLiteralExpression ? C = b.initializer.getText() : C = b.initializer.getText?.();\n } catch (O) {\n console.warn(`Couldn\'t extract default value for parameter \'${N.name}\'`, O);\n }\n b.dotDotDotToken && (N.rest = !0), w.parameters.push(N);\n const x = { description: "" };\n L.parameters[N.name] = x;\n const G = I.getSymbolAtLocation(b.name).getDocumentationComment(I);\n G && G.length > 0 && G[0].text && (x.description = G[0].text), C !== void 0 && (x.defaultValue = C), H.set(N.name, N);\n }\n if (s.jsDoc && s.jsDoc.length > 0) {\n const R = s.jsDoc;\n for (let b = 0; b < R.length; b++) {\n const N = R[b]?.tags;\n if (N)\n for (let X = 0; X < N.length; X++) {\n const z = N[X];\n let C = z?.tagName?.text;\n if (!C) continue;\n C = C.toLowerCase();\n let x = z.comment;\n const G = C === "hidden";\n if (!(typeof x != "string" && !G) && (typeof x == "string" && (x = x.replace(/[\\r\\n]+/g, "\\\\n").trim()), !(!G && x && (x = x.split(/\\\\n/)[0], !x || x.length === 0)))) {\n if (x && typeof x == "string") {\n const O = /\\{@link(code|plain)?\\s+([^}|]+)(?:\\s*\\|\\s*([^}]+))?\\}/g;\n let F, Z = x, te = [];\n for (; (F = O.exec(x)) !== null; ) {\n const [pe, me, gt, Ne] = F, bt = [gt.trim()];\n Ne && bt.push(Ne.trim());\n }\n x = Z, te.length > 0 && C === "see" && (L.links || (L.links = []), L.links.push(...te));\n }\n if (C === "name") {\n const O = x;\n O !== P && (L.name = O);\n } else if (C === "description") {\n const O = x;\n } else if (C === "summary") {\n const O = x;\n O && (L.summary = O);\n } else if (C === "param") {\n const O = z.name?.text, F = H.get(O);\n if (!F) {\n B.push(new Error(`Parameter \'${O}\' not found in function \'${P}\'.`));\n continue;\n }\n if (z.typeExpression && z.typeExpression.type)\n try {\n const Z = z.typeExpression.type;\n if (Z.kind === a.SyntaxKind.UnionType) {\n const te = [];\n F.enums = te, Z.types.forEach((pe) => {\n if (pe.kind === a.SyntaxKind.LiteralType) {\n const me = pe.literal.text;\n me && te.push(me);\n }\n });\n }\n } catch (Z) {\n console.warn("Error parsing JSDoc type expression:", Z);\n }\n } else if (C === "returns" || C === "return")\n w.returnType.description = x;\n else if (C === "category")\n L.category = x;\n else if (C === "hidden") {\n let O = !0;\n const F = x?.toLowerCase();\n F === "false" ? O = !1 : F !== "true" && (O = x), O !== !1 && (L.hidden = O ?? !0);\n }\n }\n }\n }\n }\n Object.keys(w.returnType).length === 0 && delete w.returnType, f.push([w, L]);\n } catch (M) {\n $(s, new Error(`\'${P}\': ${M.message}`));\n }\n }\n }), B.length > 0)\n throw console.warn(B), new Error("There were compilation errors.", { cause: B });\n if (f.length === 0)\n throw new Error("No exported functions.");\n const yt = `${Ut.uuidV4()}-script`;\n try {\n !n && B.length === 0 && (l = await Gt(a, l, g));\n } catch {\n console.warn("Error bundling script");\n }\n const Ie = {\n functions: f,\n commitId: yt,\n source: t,\n name: "Script",\n language: "typescript",\n // default\n compiled: l\n };\n return u && (Ie.autoRun = u), Ie;\n}\nself.addEventListener("message", async (e) => {\n const { id: t, params: n } = e.data;\n try {\n const r = await en(n);\n self.postMessage({ id: t, result: r, error: null });\n } catch (r) {\n self.postMessage({\n id: t,\n result: null,\n error: {\n message: r.message,\n stack: r.stack,\n cause: r.cause\n }\n });\n }\n});\nlet ce = null;\nasync function tn() {\n return ce || (ce = new Promise(async (e, t) => {\n try {\n const n = "0.20.2", r = `https://esm.sh/esbuild-wasm@${n}`, o = `https://esm.sh/esbuild-wasm@${n}/esbuild.wasm`, a = (await import(\n /* webpackIgnore: true */\n /* @vite-ignore */\n r\n )).default;\n await a.initialize({\n wasmURL: o,\n // Provide the specific WASM URL\n worker: !1\n // Keep processing on the current thread\n }), e(a);\n } catch (n) {\n console.error("Error initializing esbuild:", n), t(n);\n }\n }), ce);\n}\nvar nn = /* @__PURE__ */ Object.freeze({\n __proto__: null,\n initialize: tn\n});\nlet ue = null;\nasync function rn() {\n return ue || (ue = new Promise(async (e, t) => {\n let n = null;\n try {\n n = await import("https://esm.sh/typescript@5.7.2");\n } catch (r) {\n console.error("Error initializing Browser TypeScript module:", r);\n }\n n || console.log("use script fallback"), e(n);\n }), ue);\n}\nvar on = /* @__PURE__ */ Object.freeze({\n __proto__: null,\n initialize: rn\n});\n',r=typeof self<"u"&&self.Blob&&new Blob(["URL.revokeObjectURL(import.meta.url);",t],{type:"text/javascript;charset=utf-8"});function o(n){let e;try{if(e=r&&(self.URL||self.webkitURL).createObjectURL(r),!e)throw"";const t=new Worker(e,{type:"module",name:n?.name});return t.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(e)}),t}catch{return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(t),{type:"module",name:n?.name})}}async function i(){if(typeof process<"u"&&process.versions?.node&&typeof Worker>"u")return await a();if(typeof Worker<"u"){const e=new n(()=>new o);try{return await e.start(),e}catch(n){console.error("Failed to start TypescriptCompiler worker reverting to fallback:",n)}}return await a()}const a=async()=>{const{compileModule:n}=await import("./DfHQEyIlLlv5P49Q.mjs"),t=new e(e=>n(e));return await t.start(),t};export{i as createCompilerWorker};
@@ -1,7 +0,0 @@
1
- /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.4.12
3
- *
4
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
- * License: The license can be found at https://www.sheetxl.com/license.
6
- */
7
- const e={CUBEKPIMEMBER:{s:"Returns a key performance indicator (KPI) property and displays the KPI name in the cell.",p:{connection:{d:"is the name of a connection to an OLAP cube"},kpiName:{d:"is the KPI name"},kpiProperty:{d:"is the KPI property"},caption:{d:"is the caption to be displayed in the cell"}},h:"Unimplemented"},CUBEMEMBER:{s:"Returns a member or tuple from the cube.",p:{connection:{d:"is the name of a connection to an OLAP cube"},memberExpression:{d:"is the expression representing the name of a member or tuple in the OLAP cube"},caption:{d:"is the caption to be displayed in the cell"}},h:"Unimplemented"},CUBEMEMBERPROPERTY:{s:"Returns the value of a member property from the cube.",p:{connection:{d:"is the name of a connection to an OLAP cube"},memberExpression:{d:"is the expression representing the name of a member in the OLAP cube"},kpiProperty:{d:"is the property name"}},h:"Unimplemented"},CUBERANKEDMEMBER:{s:"Returns the nth, or ranked, member in a set.",p:{connection:{d:"is the name of a connection to an OLAP cube"},setExpression:{d:"is the set from which the element is to be retrieved"},rank:{d:"is the rank of the element to be retrieved"},caption:{d:"is the caption to be displayed in the cell"}},h:"Unimplemented"},CUBESET:{s:"Defines a calculated set of members or tuples by sending a set expression to the cube on the server, which creates the set, and then returns that set to Microsoft Excel.",p:{connection:{d:"is the name of a connection to an OLAP cube"},setExpression:{d:"is the expression for the set"},caption:{d:"is the caption to be displayed in the cell"},sortOrder:{d:"is the sort order"},sortBy:{d:"is the sort by"}},h:"Unimplemented"},CUBESETCOUNT:{s:"Returns the number of items in a set.",p:{set:{d:"is the set whose elements are to be counted"}},h:"Unimplemented"},CUBEVALUE:{s:"Returns an aggregated value from the cube.",p:{connection:{d:"is the name of a connection to an OLAP cube"},memberExpression:{}},h:"Unimplemented"}};export{e as default};
@@ -1,7 +0,0 @@
1
- /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.4.12
3
- *
4
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
- * License: The license can be found at https://www.sheetxl.com/license.
6
- */
7
- const r={ERF:{s:"Returns the error function",p:{lowerLimit:{d:"is the lower bound for integrating ERF"},upperLimit:{d:"is the upper bound for integrating ERF",v:0}}},"ERF.PRECISE":{s:"Returns the error function",p:{x:{d:"is the lower bound for integrating ERF.PRECISE"}}},ERFC:{s:"Returns the complementary error function",p:{x:{d:"is the lower bound for integrating ERF"}}}};export{r as default};
@@ -1,7 +0,0 @@
1
- /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.4.12
3
- *
4
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
- * License: The license can be found at https://www.sheetxl.com/license.
6
- */
7
- const e={AND:{s:"Checks whether all arguments are TRUE, and returns TRUE if all arguments are TRUE",p:{logical:{d:"logical1,logical2,... are 1 to 255 conditions you want to test that can be either TRUE or FALSE and can be logical values, arrays, or references"}}},BYCOL:{s:"Applies a LAMBDA function to each column and returns an array of the results.",p:{array:{d:"is an array to be separated by column"},fn:{d:"is a LAMBDA that is called to scan the array. The LAMBDA takes two parameters, accumulator and value."}},h:"Unimplemented"},BYROW:{s:"Applies a LAMBDA function to each row and returns an array of the results.",p:{array:{d:"is an array to be separated by column"},fn:{d:"is a LAMBDA that is called to scan the array. The LAMBDA takes two parameters, accumulator and value."}},h:"Unimplemented"},FALSE:{s:"Returns the logical value FALSE",p:{}},IF:{s:"Checks whether a condition is met, and returns one value if TRUE, and another value if FALSE",p:{logicalTest:{d:"is any value or expression that can be evaluated to TRUE or FALSE"},valueIfTrue:{d:"is the value that is returned if Logical_test is TRUE. If omitted, TRUE is returned. You can nest up to seven IF functions"},valueIfFalse:{d:"is the value that is returned if Logical_test is FALSE. If omitted, FALSE is returned"}}},IFERROR:{s:"Returns value_if_error if expression is an error and the value of the expression itself otherwise",p:{value:{d:"is any value or expression or reference"},valueIfError:{d:"is any value or expression or reference"}}},IFNA:{s:"Returns the value you specify if the expression resolves to #N/A, otherwise returns the result of the expression",p:{value:{d:"is any value or expression or reference"},valueIfError:{d:"is any value or expression or reference"}}},IFS:{s:"Checks whether one or more conditions are met and returns a value corresponding to the first TRUE condition",p:{logicalTest:{d:"logical_test1,logical_test2,... is any value or expression that can be evaluated to TRUE or FALSE"},logicalTrue:{d:"value_if_true1,value_if_true2,... is the value returned if Logical_test is TRUE"},rest:{}}},LAMDA:{s:"Creates a function value with can be called within formulas.",p:{parameterOrCalculation:{d:"a parameter or a calculation that returns a value. If a parameter, it must be the last argument."}},h:"Unimplemented"},LET:{s:"Assigns calculation results to names. Useful for storing intermediate calculations and values by defining names inside a formula. These names only apply within the scope of the LET function.",p:{name:{d:"name1,name2,... the name, or a calculation which can make use of all names within the LET. Names must start with a letter, cannot be the output of a formula, or conflict with range syntax."},nameOrValue:{d:"name_value1,name_value2,... the value associated with the name."},calculationOrName:{},rest:{}},h:"Unimplemented"},MAKEARRAY:{s:"Returns a calculated array of a specified row and column size, by applying a LAMBDA function.",p:{rows:{d:"is the number of rows in the array. Must be greater than zero."},columns:{d:"is the number of columns in the array. Must be greater than zero."},fn:{d:"is a LAMBDA that is called to create the array. The LAMBDA takes two parameters, row index and column index."}},h:"Unimplemented"},MAP:{s:"Returns an array formed by 'mapping' each value in the array(s) to a new value by applying a lambda to create a new value.",p:{array:{d:"is an array to be mapped"},lamdaOrArray:{d:"lambda_or_array1,lambda_or_array2,... is a LAMBDA which must be the last argument and must have a parameter for each array passed, or another array to be mapped"}},h:"Unimplemented"},NOT:{s:"Changes FALSE to TRUE, or TRUE to FALSE",p:{logical:{d:"is a value or expression that can be evaluated to TRUE or FALSE"}}},OR:{s:"Checks whether any of the arguments are TRUE, and returns TRUE or FALSE. Returns FALSE only if all arguments are FALSE",p:{logical:{d:"logical1,logical2,... are 1 to 255 conditions that you want to test that can be either TRUE or FALSE"}}},REDUCE:{s:"Reduces an array to an accumulated value by applying a LAMBDA function to each value and returning the total value in the accumulator.",p:{initialValue:{d:"is the starting value for the accumulator"},array:{d:"is an array to be reduced"},fn:{d:"is a LAMBDA that is called to reduce the array. The LAMBDA takes two parameters, accumulator and value."}},h:"Unimplemented"},SCAN:{s:"Scans an array by applying a LAMBDA function to each value and returns an array that has each intermediate value",p:{initialValue:{d:"is the starting value for the accumulator"},array:{d:"is an array to be reduced"},fn:{d:"is a LAMBDA that is called to reduce the array. The LAMBDA takes two parameters, accumulator and value."}},h:"Unimplemented"},SWITCH:{s:"Evaluates an expression against a list of values and returns the result corresponding to the first matching value. If there is no match, an optional default value is returned",p:{expression:{},value:{d:"is an expression to be evaluated"},results:{d:"result1,result2,... is a result to be returned if the corresponding value matches expression"}},h:"Unimplemented"},TRUE:{s:"Returns the logical value TRUE",p:{}},XOR:{s:"Returns a logical 'Exclusive Or' of all arguments",p:{logical:{d:"logical1,logical2,... are 1 to 254 conditions you want to test that can be either TRUE or FALSE and can be logical values, arrays, or references"}}}};export{e as default};
@@ -1,7 +0,0 @@
1
- /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.4.12
3
- *
4
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
- * License: The license can be found at https://www.sheetxl.com/license.
6
- */
7
- import{k as e}from"./nE8H93zlwoi3F8Ii.mjs";function t(e,t){for(var i=0;i<t.length;i++){const r=t[i];if("string"!=typeof r&&!Array.isArray(r))for(const t in r)if("default"!==t&&!(t in e)){const i=Object.getOwnPropertyDescriptor(r,t);i&&Object.defineProperty(e,t,i.get?i:{enumerable:!0,get:()=>r[t]})}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var i,r={exports:{}};var n=(i||(i=1,r.exports=function e(){var t,i="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==i?i:{},r=!i.document&&!!i.postMessage,n=i.IS_PAPA_WORKER||!1,s={},a=0,o={};function h(e){this._handle=null,this._finished=!1,this._completed=!1,this._halted=!1,this._input=null,this._baseIndex=0,this._partialLine="",this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},function(e){var t=k(e);t.chunkSize=parseInt(t.chunkSize),e.step||e.chunk||(t.chunkSize=null),this._handle=new c(t),(this._handle.streamer=this)._config=t}.call(this,e),this.parseChunk=function(e,t){var r=parseInt(this._config.skipFirstNLines)||0;if(this.isFirstChunk&&0<r){let t=this._config.newline;t||(s=this._config.quoteChar||'"',t=this._handle.guessLineEndings(e,s)),e=[...e.split(t).slice(r)].join(t)}this.isFirstChunk&&v(this._config.beforeFirstChunk)&&void 0!==(s=this._config.beforeFirstChunk(e))&&(e=s),this.isFirstChunk=!1,this._halted=!1,r=this._partialLine+e;var s=(this._partialLine="",this._handle.parse(r,this._baseIndex,!this._finished));if(!this._handle.paused()&&!this._handle.aborted()){if(e=s.meta.cursor,this._finished||(this._partialLine=r.substring(e-this._baseIndex),this._baseIndex=e),s&&s.data&&(this._rowCount+=s.data.length),r=this._finished||this._config.preview&&this._rowCount>=this._config.preview,n)i.postMessage({results:s,workerId:o.WORKER_ID,finished:r});else if(v(this._config.chunk)&&!t){if(this._config.chunk(s,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);this._completeResults=s=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(s.data),this._completeResults.errors=this._completeResults.errors.concat(s.errors),this._completeResults.meta=s.meta),this._completed||!r||!v(this._config.complete)||s&&s.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),r||s&&s.meta.paused||this._nextChunk(),s}this._halted=!0},this._sendError=function(e){v(this._config.error)?this._config.error(e):n&&this._config.error&&i.postMessage({workerId:o.WORKER_ID,error:e,finished:!1})}}function u(e){var t;(e=e||{}).chunkSize||(e.chunkSize=o.RemoteChunkSize),h.call(this,e),this._nextChunk=r?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(e){this._input=e,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(t=new XMLHttpRequest,this._config.withCredentials&&(t.withCredentials=this._config.withCredentials),r||(t.onload=b(this._chunkLoaded,this),t.onerror=b(this._chunkError,this)),t.open(this._config.downloadRequestBody?"POST":"GET",this._input,!r),this._config.downloadRequestHeaders){var e,i=this._config.downloadRequestHeaders;for(e in i)t.setRequestHeader(e,i[e])}var n;this._config.chunkSize&&(n=this._start+this._config.chunkSize-1,t.setRequestHeader("Range","bytes="+this._start+"-"+n));try{t.send(this._config.downloadRequestBody)}catch(e){this._chunkError(e.message)}r&&0===t.status&&this._chunkError()}},this._chunkLoaded=function(){4===t.readyState&&(t.status<200||400<=t.status?this._chunkError():(this._start+=this._config.chunkSize||t.responseText.length,this._finished=!this._config.chunkSize||this._start>=(e=>null!==(e=e.getResponseHeader("Content-Range"))?parseInt(e.substring(e.lastIndexOf("/")+1)):-1)(t),this.parseChunk(t.responseText)))},this._chunkError=function(e){e=t.statusText||e,this._sendError(new Error(e))}}function d(e){(e=e||{}).chunkSize||(e.chunkSize=o.LocalChunkSize),h.call(this,e);var t,i,r="undefined"!=typeof FileReader;this.stream=function(e){this._input=e,i=e.slice||e.webkitSlice||e.mozSlice,r?((t=new FileReader).onload=b(this._chunkLoaded,this),t.onerror=b(this._chunkError,this)):t=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount<this._config.preview)||this._readChunk()},this._readChunk=function(){var e=this._input,n=(this._config.chunkSize&&(n=Math.min(this._start+this._config.chunkSize,this._input.size),e=i.call(e,this._start,n)),t.readAsText(e,this._config.encoding));r||this._chunkLoaded({target:{result:n}})},this._chunkLoaded=function(e){this._start+=this._config.chunkSize,this._finished=!this._config.chunkSize||this._start>=this._input.size,this.parseChunk(e.target.result)},this._chunkError=function(){this._sendError(t.error)}}function f(e){var t;h.call(this,e=e||{}),this.stream=function(e){return t=e,this._nextChunk()},this._nextChunk=function(){var e,i;if(!this._finished)return e=this._config.chunkSize,t=e?(i=t.substring(0,e),t.substring(e)):(i=t,""),this._finished=!t,this.parseChunk(i)}}function l(e){h.call(this,e=e||{});var t=[],i=!0,r=!1;this.pause=function(){h.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){h.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(e){this._input=e,this._input.on("data",this._streamData),this._input.on("end",this._streamEnd),this._input.on("error",this._streamError)},this._checkIsFinished=function(){r&&1===t.length&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),t.length?this.parseChunk(t.shift()):i=!0},this._streamData=b(function(e){try{t.push("string"==typeof e?e:e.toString(this._config.encoding)),i&&(i=!1,this._checkIsFinished(),this.parseChunk(t.shift()))}catch(e){this._streamError(e)}},this),this._streamError=b(function(e){this._streamCleanUp(),this._sendError(e)},this),this._streamEnd=b(function(){this._streamCleanUp(),r=!0,this._streamData("")},this),this._streamCleanUp=b(function(){this._input.removeListener("data",this._streamData),this._input.removeListener("end",this._streamEnd),this._input.removeListener("error",this._streamError)},this)}function c(e){var t,i,r,n,s=Math.pow(2,53),a=-s,h=/^\s*-?(\d+\.?|\.\d+|\d+\.\d+)([eE][-+]?\d+)?\s*$/,u=/^((\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)))$/,d=this,f=0,l=0,c=!1,_=!1,m=[],y={data:[],errors:[],meta:{}};function b(t){return"greedy"===e.skipEmptyLines?""===t.join("").trim():1===t.length&&0===t[0].length}function w(){if(y&&r&&(R("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+o.DefaultDelimiter+"'"),r=!1),e.skipEmptyLines&&(y.data=y.data.filter(function(e){return!b(e)})),E()){if(y)if(Array.isArray(y.data[0])){for(var t=0;E()&&t<y.data.length;t++)y.data[t].forEach(d);y.data.splice(0,1)}else y.data.forEach(d);function d(t,i){v(e.transformHeader)&&(t=e.transformHeader(t,i)),m.push(t)}}function i(t,i){for(var r=e.header?{}:[],n=0;n<t.length;n++){var o=n,d=t[n];d=((t,i)=>(t=>(e.dynamicTypingFunction&&void 0===e.dynamicTyping[t]&&(e.dynamicTyping[t]=e.dynamicTypingFunction(t)),!0===(e.dynamicTyping[t]||e.dynamicTyping)))(t)?"true"===i||"TRUE"===i||"false"!==i&&"FALSE"!==i&&((e=>{if(h.test(e)&&(e=parseFloat(e),a<e&&e<s))return 1})(i)?parseFloat(i):u.test(i)?new Date(i):""===i?null:i):i)(o=e.header?n>=m.length?"__parsed_extra":m[n]:o,d=e.transform?e.transform(d,o):d),"__parsed_extra"===o?(r[o]=r[o]||[],r[o].push(d)):r[o]=d}return e.header&&(n>m.length?R("FieldMismatch","TooManyFields","Too many fields: expected "+m.length+" fields but parsed "+n,l+i):n<m.length&&R("FieldMismatch","TooFewFields","Too few fields: expected "+m.length+" fields but parsed "+n,l+i)),r}var n;y&&(e.header||e.dynamicTyping||e.transform)&&(n=1,!y.data.length||Array.isArray(y.data[0])?(y.data=y.data.map(i),n=y.data.length):y.data=i(y.data,0),e.header&&y.meta&&(y.meta.fields=m),l+=n)}function E(){return e.header&&0===m.length}function R(e,t,i,r){e={type:e,code:t,message:i},void 0!==r&&(e.row=r),y.errors.push(e)}v(e.step)&&(n=e.step,e.step=function(t){y=t,E()?w():(w(),0!==y.data.length&&(f+=t.data.length,e.preview&&f>e.preview?i.abort():(y.data=y.data[0],n(y,d))))}),this.parse=function(n,s,a){var h=e.quoteChar||'"';return e.newline||(e.newline=this.guessLineEndings(n,h)),r=!1,e.delimiter?v(e.delimiter)&&(e.delimiter=e.delimiter(n),y.meta.delimiter=e.delimiter):((h=((t,i,r,n,s)=>{var a,h,u,d;s=s||[",","\t","|",";",o.RECORD_SEP,o.UNIT_SEP];for(var f=0;f<s.length;f++){for(var l,c=s[f],p=0,_=0,m=0,y=(u=void 0,new g({comments:n,delimiter:c,newline:i,preview:10}).parse(t)),k=0;k<y.data.length;k++)r&&b(y.data[k])?m++:(_+=l=y.data[k].length,void 0===u?u=l:0<l&&(p+=Math.abs(l-u),u=l));0<y.data.length&&(_/=y.data.length-m),(void 0===h||p<=h)&&(void 0===d||d<_)&&1.99<_&&(h=p,a=c,d=_)}return{successful:!!(e.delimiter=a),bestDelimiter:a}})(n,e.newline,e.skipEmptyLines,e.comments,e.delimitersToGuess)).successful?e.delimiter=h.bestDelimiter:(r=!0,e.delimiter=o.DefaultDelimiter),y.meta.delimiter=e.delimiter),h=k(e),e.preview&&e.header&&h.preview++,t=n,i=new g(h),y=i.parse(t,s,a),w(),c?{meta:{paused:!0}}:y||{meta:{paused:!1}}},this.paused=function(){return c},this.pause=function(){c=!0,i.abort(),t=v(e.chunk)?"":t.substring(i.getCharIndex())},this.resume=function(){d.streamer._halted?(c=!1,d.streamer.parseChunk(t,!0)):setTimeout(d.resume,3)},this.aborted=function(){return _},this.abort=function(){_=!0,i.abort(),y.meta.aborted=!0,v(e.complete)&&e.complete(y),t=""},this.guessLineEndings=function(e,t){e=e.substring(0,1048576),t=new RegExp(p(t)+"([^]*?)"+p(t),"gm");var i=(e=e.replace(t,"")).split("\r");if(e=1<(t=e.split("\n")).length&&t[0].length<i[0].length,1===i.length||e)return"\n";for(var r=0,n=0;n<i.length;n++)"\n"===i[n][0]&&r++;return r>=i.length/2?"\r\n":"\r"}}function p(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function g(e){var t=(e=e||{}).delimiter,i=e.newline,r=e.comments,n=e.step,s=e.preview,a=e.fastMode,h=null,u=!1,d=null==e.quoteChar?'"':e.quoteChar,f=d;if(void 0!==e.escapeChar&&(f=e.escapeChar),("string"!=typeof t||-1<o.BAD_DELIMITERS.indexOf(t))&&(t=","),r===t)throw new Error("Comment character same as delimiter");!0===r?r="#":("string"!=typeof r||-1<o.BAD_DELIMITERS.indexOf(r))&&(r=!1),"\n"!==i&&"\r"!==i&&"\r\n"!==i&&(i="\n");var l=0,c=!1;this.parse=function(o,g,_){if("string"!=typeof o)throw new Error("Input must be a string");var m=o.length,y=t.length,k=i.length,b=r.length,w=v(n),E=[],R=[],C=[],O=l=0;if(!o)return P();if(a||!1!==a&&-1===o.indexOf(d)){for(var S=o.split(i),x=0;x<S.length;x++){if(C=S[x],l+=C.length,x!==S.length-1)l+=i.length;else if(_)return P();if(!r||C.substring(0,b)!==r){if(w){if(E=[],F(C.split(t)),U(),c)return P()}else F(C.split(t));if(s&&s<=x)return E=E.slice(0,s),P(!0)}}return P()}for(var A=o.indexOf(t,l),I=o.indexOf(i,l),T=new RegExp(p(f)+p(d),"g"),D=o.indexOf(d,l);;)if(o[l]===d)for(D=l,l++;;){if(-1===(D=o.indexOf(d,D+1)))return _||R.push({type:"Quotes",code:"MissingQuotes",message:"Quoted field unterminated",row:E.length,index:l}),z();if(D===m-1)return z(o.substring(l,D).replace(T,d));if(d===f&&o[D+1]===f)D++;else if(d===f||0===D||o[D-1]!==f){-1!==A&&A<D+1&&(A=o.indexOf(t,D+1));var L=j(-1===(I=-1!==I&&I<D+1?o.indexOf(i,D+1):I)?A:Math.min(A,I));if(o.substr(D+1+L,y)===t){C.push(o.substring(l,D).replace(T,d)),o[l=D+1+L+y]!==d&&(D=o.indexOf(d,l)),A=o.indexOf(t,l),I=o.indexOf(i,l);break}if(L=j(I),o.substring(D+1+L,D+1+L+k)===i){if(C.push(o.substring(l,D).replace(T,d)),M(D+1+L+k),A=o.indexOf(t,l),D=o.indexOf(d,l),w&&(U(),c))return P();if(s&&E.length>=s)return P(!0);break}R.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:E.length,index:l}),D++}}else if(r&&0===C.length&&o.substring(l,l+b)===r){if(-1===I)return P();l=I+k,I=o.indexOf(i,l),A=o.indexOf(t,l)}else if(-1!==A&&(A<I||-1===I))C.push(o.substring(l,A)),l=A+y,A=o.indexOf(t,l);else{if(-1===I)break;if(C.push(o.substring(l,I)),M(I+k),w&&(U(),c))return P();if(s&&E.length>=s)return P(!0)}return z();function F(e){E.push(e),O=l}function j(e){var t=0;return-1!==e&&(e=o.substring(D+1,e))&&""===e.trim()?e.length:t}function z(e){return _||(void 0===e&&(e=o.substring(l)),C.push(e),l=m,F(C),w&&U()),P()}function M(e){l=e,F(C),C=[],I=o.indexOf(i,l)}function P(r){if(e.header&&!g&&E.length&&!u){var n=E[0],s=Object.create(null),a=new Set(n);let t=!1;for(let i=0;i<n.length;i++){let r=n[i];if(s[r=v(e.transformHeader)?e.transformHeader(r,i):r]){let e,o=s[r];for(;e=r+"_"+o,o++,a.has(e););a.add(e),n[i]=e,s[r]++,t=!0,(h=null===h?{}:h)[e]=r}else s[r]=1,n[i]=r;a.add(r)}t&&console.warn("Duplicate headers found and renamed."),u=!0}return{data:E,errors:R,meta:{delimiter:t,linebreak:i,aborted:c,truncated:!!r,cursor:O+(g||0),renamedHeaders:h}}}function U(){n(P()),E=[],R=[]}},this.abort=function(){c=!0},this.getCharIndex=function(){return l}}function _(e){var t=e.data,i=s[t.workerId],r=!1;if(t.error)i.userError(t.error,t.file);else if(t.results&&t.results.data){var n={abort:function(){r=!0,m(t.workerId,{data:[],errors:[],meta:{aborted:!0}})},pause:y,resume:y};if(v(i.userStep)){for(var a=0;a<t.results.data.length&&(i.userStep({data:t.results.data[a],errors:t.results.errors,meta:t.results.meta},n),!r);a++);delete t.results}else v(i.userChunk)&&(i.userChunk(t.results,n,t.file),delete t.results)}t.finished&&!r&&m(t.workerId,t.results)}function m(e,t){var i=s[e];v(i.userComplete)&&i.userComplete(t),i.terminate(),delete s[e]}function y(){throw new Error("Not implemented.")}function k(e){if("object"!=typeof e||null===e)return e;var t,i=Array.isArray(e)?[]:{};for(t in e)i[t]=k(e[t]);return i}function b(e,t){return function(){e.apply(t,arguments)}}function v(e){return"function"==typeof e}return o.parse=function(t,r){var n=(r=r||{}).dynamicTyping||!1;if(v(n)&&(r.dynamicTypingFunction=n,n={}),r.dynamicTyping=n,r.transform=!!v(r.transform)&&r.transform,!r.worker||!o.WORKERS_SUPPORTED)return n=null,o.NODE_STREAM_INPUT,"string"==typeof t?(t=(e=>65279!==e.charCodeAt(0)?e:e.slice(1))(t),n=new(r.download?u:f)(r)):!0===t.readable&&v(t.read)&&v(t.on)?n=new l(r):(i.File&&t instanceof File||t instanceof Object)&&(n=new d(r)),n.stream(t);(n=(()=>{var t;return!!o.WORKERS_SUPPORTED&&(t=(()=>{var t=i.URL||i.webkitURL||null,r=e.toString();return o.BLOB_URL||(o.BLOB_URL=t.createObjectURL(new Blob(["var global = (function() { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } return {}; })(); global.IS_PAPA_WORKER=true; ","(",r,")();"],{type:"text/javascript"})))})(),(t=new i.Worker(t)).onmessage=_,t.id=a++,s[t.id]=t)})()).userStep=r.step,n.userChunk=r.chunk,n.userComplete=r.complete,n.userError=r.error,r.step=v(r.step),r.chunk=v(r.chunk),r.complete=v(r.complete),r.error=v(r.error),delete r.worker,n.postMessage({input:t,config:r,workerId:n.id})},o.unparse=function(e,t){var i=!1,r=!0,n=",",s="\r\n",a='"',h=a+a,u=!1,d=null,f=!1,l=((()=>{if("object"==typeof t){if("string"!=typeof t.delimiter||o.BAD_DELIMITERS.filter(function(e){return-1!==t.delimiter.indexOf(e)}).length||(n=t.delimiter),"boolean"!=typeof t.quotes&&"function"!=typeof t.quotes&&!Array.isArray(t.quotes)||(i=t.quotes),"boolean"!=typeof t.skipEmptyLines&&"string"!=typeof t.skipEmptyLines||(u=t.skipEmptyLines),"string"==typeof t.newline&&(s=t.newline),"string"==typeof t.quoteChar&&(a=t.quoteChar),"boolean"==typeof t.header&&(r=t.header),Array.isArray(t.columns)){if(0===t.columns.length)throw new Error("Option columns is empty");d=t.columns}void 0!==t.escapeChar&&(h=t.escapeChar+a),t.escapeFormulae instanceof RegExp?f=t.escapeFormulae:"boolean"==typeof t.escapeFormulae&&t.escapeFormulae&&(f=/^[=+\-@\t\r].*$/)}})(),new RegExp(p(a),"g"));if("string"==typeof e&&(e=JSON.parse(e)),Array.isArray(e)){if(!e.length||Array.isArray(e[0]))return c(null,e,u);if("object"==typeof e[0])return c(d||Object.keys(e[0]),e,u)}else if("object"==typeof e)return"string"==typeof e.data&&(e.data=JSON.parse(e.data)),Array.isArray(e.data)&&(e.fields||(e.fields=e.meta&&e.meta.fields||d),e.fields||(e.fields=Array.isArray(e.data[0])?e.fields:"object"==typeof e.data[0]?Object.keys(e.data[0]):[]),Array.isArray(e.data[0])||"object"==typeof e.data[0]||(e.data=[e.data])),c(e.fields||[],e.data||[],u);throw new Error("Unable to serialize unrecognized input");function c(e,t,i){var a="",o=("string"==typeof e&&(e=JSON.parse(e)),"string"==typeof t&&(t=JSON.parse(t)),Array.isArray(e)&&0<e.length),h=!Array.isArray(t[0]);if(o&&r){for(var u=0;u<e.length;u++)0<u&&(a+=n),a+=g(e[u],u);0<t.length&&(a+=s)}for(var d=0;d<t.length;d++){var f=(o?e:t[d]).length,l=!1,c=o?0===Object.keys(t[d]).length:0===t[d].length;if(i&&!o&&(l="greedy"===i?""===t[d].join("").trim():1===t[d].length&&0===t[d][0].length),"greedy"===i&&o){for(var p=[],_=0;_<f;_++){var m=h?e[_]:_;p.push(t[d][m])}l=""===p.join("").trim()}if(!l){for(var y=0;y<f;y++){0<y&&!c&&(a+=n);var k=o&&h?e[y]:y;a+=g(t[d][k],y)}d<t.length-1&&(!i||0<f&&!c)&&(a+=s)}}return a}function g(e,t){var r,s;return null==e?"":e.constructor===Date?JSON.stringify(e).slice(1,25):(s=!1,f&&"string"==typeof e&&f.test(e)&&(e="'"+e,s=!0),r=e.toString().replace(l,h),(s=s||!0===i||"function"==typeof i&&i(e,t)||Array.isArray(i)&&i[t]||((e,t)=>{for(var i=0;i<t.length;i++)if(-1<e.indexOf(t[i]))return!0;return!1})(r,o.BAD_DELIMITERS)||-1<r.indexOf(n)||" "===r.charAt(0)||" "===r.charAt(r.length-1))?a+r+a:r)}},o.RECORD_SEP=String.fromCharCode(30),o.UNIT_SEP=String.fromCharCode(31),o.BYTE_ORDER_MARK="\ufeff",o.BAD_DELIMITERS=["\r","\n",'"',o.BYTE_ORDER_MARK],o.WORKERS_SUPPORTED=!r&&!!i.Worker,o.NODE_STREAM_INPUT=1,o.LocalChunkSize=10485760,o.RemoteChunkSize=5242880,o.DefaultDelimiter=",",o.Parser=g,o.ParserHandle=c,o.NetworkStreamer=u,o.FileStreamer=d,o.StringStreamer=f,o.ReadableStreamStreamer=l,i.jQuery&&((t=i.jQuery).fn.parse=function(e){var r=e.config||{},n=[];return this.each(function(e){if("INPUT"!==t(this).prop("tagName").toUpperCase()||"file"!==t(this).attr("type").toLowerCase()||!i.FileReader||!this.files||0===this.files.length)return!0;for(var s=0;s<this.files.length;s++)n.push({file:this.files[s],inputElem:this,instanceConfig:t.extend({},r)})}),s(),this;function s(){if(0===n.length)v(e.complete)&&e.complete();else{var i,r,s,h,u=n[0];if(v(e.before)){var d=e.before(u.file,u.inputElem);if("object"==typeof d){if("abort"===d.action)return i="AbortError",r=u.file,s=u.inputElem,h=d.reason,void(v(e.error)&&e.error({name:i},r,s,h));if("skip"===d.action)return void a();"object"==typeof d.config&&(u.instanceConfig=t.extend(u.instanceConfig,d.config))}else if("skip"===d)return void a()}var f=u.instanceConfig.complete;u.instanceConfig.complete=function(e){v(f)&&f(e,u.file,u.inputElem),a()},o.parse(u.file,u.instanceConfig)}}function a(){n.splice(0,1),s()}}),n&&(i.onmessage=function(e){e=e.data,void 0===o.WORKER_ID&&e&&(o.WORKER_ID=e.workerId),"string"==typeof e.input?i.postMessage({workerId:o.WORKER_ID,results:o.parse(e.input,e.config),finished:!0}):(i.File&&e.input instanceof File||e.input instanceof Object)&&(e=o.parse(e.input,e.config))&&i.postMessage({workerId:o.WORKER_ID,results:e,finished:!0})}),(u.prototype=Object.create(h.prototype)).constructor=u,(d.prototype=Object.create(h.prototype)).constructor=d,(f.prototype=Object.create(f.prototype)).constructor=f,(l.prototype=Object.create(h.prototype)).constructor=l,o}()),r.exports);const s=t({__proto__:null,default:e(n)},[n]);export{s as p};
@@ -1,7 +0,0 @@
1
- /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.4.12
3
- *
4
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
- * License: The license can be found at https://www.sheetxl.com/license.
6
- */
7
- const e={ACCRINT:{p:{issue:{d:"is the security's issue date, expressed as a serial date number"},firstInterest:{d:"is the security's first interest date, expressed as a serial date number"},settlement:{d:"is the security's settlement date, expressed as a serial date number"},rate:{d:"is the security's annual coupon rate"},par:{d:"is the security's par value"},frequency:{d:"is the number of coupon payments per year"},basis:{d:"is the type of day count basis to use",v:0},calcMethod:{d:"is a logical value: to accrued interest from issue date = TRUE; to calculate from last coupon payment date = FALSE",v:!0}}},ACCRINTM:{s:"Returns the accrued interest for a security that pays interest at maturity",p:{issue:{d:"is the security's issue date, expressed as a serial date number"},settlement:{d:"is the security's maturity date, expressed as a serial date number"},rate:{d:"is the security's annual coupon rate"},par:{d:"is the security's par value"},basis:{d:"is the type of day count basis to use",v:0}},h:"Unimplemented"},AMORLINC:{s:"Returns the prorated linear depreciation of an asset for each accounting period.",p:{cost:{d:"is the cost of the asset"},datePurchased:{d:"is the date the asset is purchased"},firstPeriod:{d:"is the date of the end of the first period"},salvarge:{d:"is the salvage value at the end of life of the asset."},period:{d:"is the period"},rate:{d:"is the rate of depreciation"},basis:{d:"year_basis : 0 for year of 360 days, 1 for actual, 3 for year of 365 days.",v:0}},h:"Unimplemented"},COUPDAYBS:{s:"Returns the number of days from the beginning of the coupon period to the settlement date",p:{settlement:{d:"is the security's settlement date, expressed as a serial date number is the security's settlement date, expressed as a serial date number"},maturity:{d:"is the security's maturity date, expressed as a serial date number"},frequency:{d:"is the number of coupon payments per year"},basis:{d:"is the type of day count basis to use",v:0}},h:"Unimplemented"},COUPDAYS:{s:"Returns the number of days from the beginning of the coupon period to the settlement date",p:{settlement:{d:"is the security's settlement date, expressed as a serial date number"},maturity:{d:"is the security's maturity date, expressed as a serial date number"},frequency:{d:"is the number of coupon payments per year"},basis:{d:"is the type of day count basis to use",v:0}}},COUPNCD:{s:"Returns the next coupon date after the settlement date",p:{settlement:{d:"is the security's settlement date, expressed as a serial date number"},maturity:{d:"is the security's maturity date, expressed as a serial date number"},frequency:{d:"is the number of coupon payments per year"},basis:{d:"is the type of day count basis to use",v:0}},h:"Unimplemented"},COUPNUM:{s:"Returns the number of coupons payable between the settlement date and maturity date",p:{settlement:{d:"is the security's settlement date, expressed as a serial date number"},maturity:{d:"is the security's maturity date, expressed as a serial date number"},frequency:{d:"is the number of coupon payments per year"},basis:{d:"is the type of day count basis to use",v:0}},h:"Unimplemented"},COUPPCD:{s:"Returns the previous coupon date before the settlement date",p:{settlement:{d:"is the security's settlement date, expressed as a serial date number"},maturity:{d:"is the security's maturity date, expressed as a serial date number"},frequency:{d:"is the number of coupon payments per year"},basis:{d:"is the type of day count basis to use",v:0}},h:"Unimplemented"},CUMIPMT:{s:"Returns the cumulative interest paid between two periods",p:{rate:{d:"is the interest rate"},nper:{d:"is the total number of payment periods"},pv:{d:"is the present value of the investment"},startPeriod:{d:"is the first period in the calculation"},endPeriod:{d:"is the last period in the calculation"},type:{d:"is the timing of the payment"}}},CUMPRINC:{s:"Returns the cumulative principal paid on a loan between two periods",p:{rate:{d:"is the interest rate"},nper:{d:"is the total number of payment periods"},pv:{d:"is the present value of the investment"},startPeriod:{d:"is the first period in the calculation"},endPeriod:{d:"is the last period in the calculation"},type:{d:"is the timing of the payment"}}},DB:{s:"Returns the depreciation of an asset for a specified period using the fixed-declining balance method",p:{cost:{d:"is the initial cost of the asset"},salvage:{d:"is the salvage value at the end of the life of the asset"},life:{d:"is the number of periods over which the asset is being depreciated (sometimes called the useful life of the asset)"},period:{d:"is the period for which you want to calculate the depreciation. Period must use the same units as Life"},month:{d:"is the number of months in the first year",v:12}}},DDB:{s:"Returns the depreciation of an asset for a specified period using the double-declining balance method or some other method you specify",p:{cost:{d:"is the initial cost of the asset"},salvage:{d:"is the salvage value at the end of the life of the asset"},life:{d:"is the number of periods over which the asset is being depreciated (sometimes called the useful life of the asset)"},period:{d:"is the period for which you want to calculate the depreciation. Period must use the same units as Life"},factor:{d:"is the rate at which the balance declines",v:2}}},DISC:{s:"Returns the discount rate for a security",p:{settlement:{d:"is the security's settlement date, expressed as a serial date number"},maturity:{d:"is the security's maturity date, expressed as a serial date number"},pr:{d:"is the security's price per $100 face value"},redemption:{d:"is the security's redemption value per $100 face value"},basis:{d:"is the type of day count basis to use",v:0}}},DOLLARDE:{s:"Converts a dollar price, expressed as a fraction, into a dollar price, expressed as a decimal number",p:{fractionalDollar:{d:"is a number expressed as a fraction"},fraction:{d:"is the integer to use in the denominator of the fraction"}}},DOLLARFR:{s:"Converts a dollar price, expressed as a decimal number, into a dollar price, expressed as a fraction",p:{decimalDollar:{d:"is a decimal number"},fraction:{d:"is the integer to use in the denominator of the fraction"}}},DURATION:{s:"Returns the annual duration of a security with periodic interest payments",p:{settlement:{d:"is the security's settlement date, expressed as a serial date number"},maturity:{d:"is the security's maturity date, expressed as a serial date number"},coupon:{d:"is the security's annual coupon rate"},yld:{d:"is the security's annual yield"},frequency:{d:"is the number of coupon payments per year"},basis:{d:"is the type of day count basis to use",v:0}},h:"Unimplemented"},EFFECT:{s:"Returns the effective annual interest rate",p:{nominalRate:{d:"is the nominal interest rate"},npery:{d:"is the number of compounding periods per year"}}},FV:{s:"Returns the future value of an investment based on periodic, constant payments and a constant interest rate",p:{rate:{d:"is the interest rate"},nper:{d:"is the total number of payment periods"},pmt:{d:"is the payment made each period; it cannot change over the life of the investment"},pv:{d:"is the present value of the investment",v:0},type:{d:"Indicates when pmts are due.",v:0}}},FVSCHEDULE:{s:"Returns the future value of an initial principal after applying a series of compound interest rates",p:{principal:{d:"is the present value"},schedule:{d:"is an array of interest rates to apply"}}},INTRATE:{s:"Returns the interest rate for a fully invested security",p:{settlement:{d:"is the security's settlement date, expressed as a serial date number"},maturity:{d:"is the security's maturity date, expressed as a serial date number"},investment:{d:"is the amount invested in the security"},redemption:{d:"is the amount to be received at maturity"},basis:{d:"is the type of day count basis to use",v:2}},h:"Unimplemented"},IPMT:{s:"Returns the interest payment for a given period for an investment, based on periodic, constant payments and a constant interest rate",p:{rate:{d:"is the interest rate"},per:{d:"is the period for which you want to find the interest and must be in the range 1 to Nper"},nper:{d:"is the total number of payment periods"},pv:{d:"is the present value of the investment"},fv:{d:"is the future value, or a cash balance you want to attain after the last payment is made",v:0},type:{d:"is a logical value representing the timing of payment: at the end of the period = 0, at the beginning of the period = 1",v:0}}},IRR:{s:"Returns the internal rate of return for a series of cash flows",p:{values:{d:"is an array or a reference to cells that contain numbers for which you want to calculate the internal rate of return"},guess:{d:"is a number that you guess is close to the result of IRR",v:.1}},h:"Unimplemented"},ISPMT:{s:"Returns the interest paid during a specific period of an investment",p:{rate:{d:"is the interest rate"},per:{d:"period for which you want to find the interest"},nper:{d:"number of payment periods in an investment"},pv:{d:"lump sum amount that a series of future payments is right now"}}},MDURATION:{s:"Returns the Macauley modified duration for a security with an assumed par value of $100",p:{settlement:{d:"is the security's settlement date, expressed as a serial date number"},maturity:{d:"is the security's maturity date, expressed as a serial date number"},coupon:{d:"is the security's annual coupon rate"},yld:{d:"is the security's annual yield"},frequency:{d:"is the number of coupon payments per year"},basis:{d:"is the type of day count basis to use",v:2}},h:"Unimplemented"},MIRR:{s:"Returns the internal rate of return for a series of periodic cash flows, considering both cost of investment and interest on reinvestment of cash",p:{values:{d:"is an array or a reference to cells that contain numbers that represent a series of payments (negative) and income (positive) at regular periods"},financeRate:{d:"is the interest rate you pay on the money used in the cash flows"},reinvestRate:{d:"is the interest rate you receive on the cash flows as you reinvest them"}}},NOMINAL:{s:"Returns the annual nominal interest rate",p:{effectiveRate:{d:"is the effective interest rate"},npery:{d:"is the number of compounding periods per year@param npery"}}},NPER:{s:"Returns the number of periods for an investment based on periodic, constant payments and a constant interest rate",p:{rate:{d:"is the interest rate per period. For example, use 6%/4 for quarterly payments at 6% APR"},pmt:{d:"is the payment made each period; it cannot change over the life of the investment"},pv:{d:"is the present value, or the lump-sum amount that a series of future payments is worth now"},fv:{d:"is the future value, or a cash balance you want to attain after the last payment is made",v:0},type:{d:"is a logical value: payment at the beginning of the period = 1; payment at the end of the period = 0",v:0}}},NPV:{s:"Returns the net present value of an investment based on a discount rate and a series of future payments (negative values) and income (positive values)",p:{rate:{d:"is the rate of discount over the length of one period"},value:{d:"value1,value2,... are 1 to 254 payments and income, equally spaced in time and occurring at the end of each period"}}},ODDFPRICE:{s:"Returns the price per $100 face value of a security with an odd first period",p:{settlement:{d:"is the security's settlement date, expressed as a serial date number"},maturity:{d:"is the security's maturity date, expressed as a serial date number"},issue:{d:"is the security's issue date, expressed as a serial date number"},firstCoupon:{d:"is the security's first coupon date, expressed as a serial date number"},yld:{d:"is the security's annual yield"},redemption:{d:"is the security's redemption value per $100 face value"},frequency:{d:"is the number of coupon payments per year"},basis:{d:"is the type of day count basis to use",v:0}},h:"Unimplemented"},ODDFYIELD:{s:"Returns the yield of a security with an odd first period",p:{settlement:{d:"is the security's settlement date, expressed as a serial date number"},maturity:{d:"is the security's maturity date, expressed as a serial date number"},issue:{d:"is the security's issue date, expressed as a serial date number"},firstCoupon:{d:"is the security's first coupon date, expressed as a serial date number"},yld:{d:"is the security's annual yield"},redemption:{d:"is the amount to be received at maturity"},frequency:{d:"is the number of coupon payments per year"},basis:{d:"is the type of day count basis to use",v:0}},h:"Unimplemented"},ODDLPRICE:{s:"Returns the price per $100 face value of a security with an odd last period",p:{settlement:{d:"is the security's settlement date, expressed as a serial date number"},maturity:{d:"is the security's maturity date, expressed as a serial date number"},lastInterest:{d:"is the security's last coupon date, expressed as a serial date number"},rate:{d:"is the interest rate"},yld:{d:"is the security's annual yield"},redemption:{d:"is the amount to be received at maturity"},frequency:{d:"is the number of coupon payments per year"},basis:{d:"is the type of day count basis to use",v:0}},h:"Unimplemented"},ODDLYIELD:{s:"Returns the yield of a security with an odd last period",p:{settlement:{d:"is the security's settlement date, expressed as a serial date number"},maturity:{d:"is the security's maturity date, expressed as a serial date number"},lastInterest:{d:"is the security's last coupon date, expressed as a serial date number"},rate:{d:"is the interest rate"},pr:{d:"is the security's price"},redemption:{d:"is the amount to be received at maturity"},frequency:{d:"is the number of coupon payments per year"},basis:{d:"is the type of day count basis to use",v:0}},h:"Unimplemented"},PDURATION:{s:"Returns the number of periods required by an investment to reach a specified value",p:{rate:{d:"is the interest rate"},pv:{d:"is the present value of the investment"},fv:{d:"is the desired future value of the investment"}}},PMT:{s:"Calculates the payment for a loan based on constant payments and a constant interest rate",p:{rate:{d:"is the interest rate"},nper:{d:"is the total number of payment periods"},pv:{d:"is the present value of the investment"},fv:{d:"is the future value, or a cash balance you want to attain after the last payment is made",v:0},type:{d:"is a logical value: payment at the beginning of the period = 1; payment at the end of the period = 0",v:0}}},PRICE:{s:"Returns the price per $100 face value of a security that pays periodic interest",p:{settlement:{d:"is the security's settlement date, expressed as a serial date number"},maturity:{d:"is the security's maturity date, expressed as a serial date number"},rate:{d:"is the interest rate"},yld:{d:"is the security's annual yield"},redemption:{d:"is the amount to be received at maturity"},frequency:{d:"is the number of coupon payments per year"},basis:{d:"is the type of day count basis to use",v:0}},h:"Unimplemented"},PRICEDISC:{s:"Returns the price per $100 face value of a discounted security",p:{settlement:{d:"is the security's settlement date, expressed as a serial date number"},maturity:{d:"is the security's maturity date, expressed as a serial date number"},discount:{d:"is the security's discount rate"},redemption:{d:"is the amount to be received at maturity"},basis:{d:"is the type of day count basis to use",v:0}}},PRICEMAT:{s:"Returns the price per $100 face value of a security that pays interest at maturity",p:{settlement:{d:"is the security's settlement date, expressed as a serial date number"},maturity:{d:"is the security's maturity date, expressed as a serial date number"},issue:{d:"is the security's issue date, expressed as a serial date number"},rate:{d:"is the interest rate"},yld:{d:"is the security's annual yield"},basis:{d:"is the type of day count basis to use",v:0}},h:"Unimplemented"},PV:{s:"Returns the present value of an investment: the total amount that a series of future payments is worth now",p:{rate:{d:"is the interest rate"},nper:{d:"is the total number of payment periods in an investment"},pmt:{d:"is the payment made each period and cannot change over the life of the investment"},fv:{d:"is the future value, or a cash balance you want to attain after the last payment is made",v:0},type:{d:"is a logical value: payment at the beginning of the period = 1; payment at the end of the period = 0",v:0}}},RATE:{s:"Returns the interest rate per period of a loan or an investment. For example, use 6%/4 for quarterly payments at 6% APR",p:{nper:{d:"is the total number of payment periods"},pmt:{d:"is the payment made each period and cannot change over the life of the loan or investment"},pv:{d:"is the present value: the total amount that a series of future payments is worth now"},fv:{d:"is the future value, or a cash balance you want to attain after the last payment is made",v:0},type:{d:"is a logical value: payment at the beginning of the period = 1; payment at the end of the period = 0",v:0},guess:{d:"is your guess for what the rate will be",v:.1}}},RECEIVED:{s:"Returns the amount received at maturity for a fully invested security",p:{settlement:{d:"is the security's settlement date, expressed as a serial date number"},maturity:{d:"is the security's maturity date, expressed as a serial date number"},investment:{d:"is the amount invested in the security"},discount:{d:"is the security's discount rate"},basis:{d:"is the type of day count basis to use",v:0}},h:"Unimplemented"},RRI:{s:"Returns an equivalent interest rate for the growth of an investment",p:{nper:{d:"is the total number of payment periods"},pv:{d:"is the present value of the investment"},fv:{d:"is the future value of the investment"}}},SLN:{s:"Returns the straight-line depreciation of an asset for one period",p:{cost:{d:"is the initial cost of the asset"},salvage:{d:"is the salvage value at the end of the life of the asset"},life:{d:"is the number of periods over which the asset is being depreciated (sometimes called the useful life of the asset)"}}},STOCKHISTORY:{s:"Returns an array of historical quote data for a symbol and date range you specify.",p:{stock:{d:"Symbol of financial instrument to be considered or a Stock data type."},startDate:{d:"First date to return data from."},endDate:{d:"Last date to return data from."},interval:{d:"A number indicating the granularity of the data; 0 - Daily, 1 - Weekly, 2 - Monthly",v:0},headers:{d:"A logical value to add column header data; 0 - No column header, 1 - Show column header, 2 - Show instrument identifier and column header",v:1},properties:{d:"properties1,properties2,... A number indicating which column of data to return; 0 through 5",v:"[0, 1, 2, 3, 4]"}},h:"Unimplemented"},SYD:{s:"Returns the sum-of-years' digits depreciation of an asset for a specified period",p:{cost:{d:"is the initial cost of the asset"},salvage:{d:"is the salvage value at the end of the life of the asset"},life:{d:"is the number of periods over which the asset is being depreciated (sometimes called the useful life of the asset)"},per:{d:"is the period and must use the same units as Life"}}},TBILLEQ:{s:"Returns the bond-equivalent yield for a treasury bill",p:{settlement:{d:"is the Treasury bill's settlement date, expressed as a serial date number"},maturity:{d:"is the Treasury bill's maturity date, expressed as a serial date number"},discount:{d:"is the Treasury bill's discount rate"}}},TBILLPRICE:{s:"Returns the price per $100 face value for a treasury bill",p:{settlement:{d:"is the Treasury bill's settlement date, expressed as a serial date number"},maturity:{d:"is the Treasury bill's maturity date, expressed as a serial date number"},discount:{d:"is the Treasury bill's discount rate"}}},TBILLYIELD:{s:"Returns the yield for a treasury bill",p:{settlement:{d:"is the Treasury bill's settlement date, expressed as a serial date number"},maturity:{d:"is the Treasury bill's maturity date, expressed as a serial date number"},pr:{d:"is the Treasury Bill's price per $100 face value"}}},VDB:{s:"Returns the depreciation of an asset for any period you specify, including partial periods, using the double-declining balance method or some other method you specify",p:{cost:{d:"is the initial cost of the asset"},salvage:{d:"is the salvage value at the end of the life of the asset"},life:{d:"is the number of periods over which the asset is being depreciated (sometimes called the useful life of the asset)"},startPeriod:{d:"is the first period in the calculation"},endPeriod:{d:"is the last period in the calculation"},factor:{d:"is the rate at which the balance declines",v:2},noSwitch:{d:"switch to straight-line depreciation when depreciation is greater than the declining balance = FALSE; do not switch = TRUE",v:!1}},h:"Unimplemented"},XIRR:{s:"Returns the internal rate of return for a schedule of cash flows",p:{values:{d:"is a series of cash flows that correspond to a schedule of payments in dates"},dates:{d:"is a schedule of payment dates that corresponds to the cash flow payments"},guess:{d:"is a number that you guess is close to the result of XIRR",v:.1}},h:"Unimplemented"},XNPV:{s:"Returns the net present value for a schedule of cash flows",p:{rate:{d:"is the discount rate to apply to the cash flows"},values:{d:"is a series of cash flows that correspond to a schedule of payments in dates"},dates:{d:"is a schedule of payment dates that corresponds to the cash flow payments"}}},YIELD:{s:"Returns the yield on a security that pays periodic interest",p:{settlement:{d:"is the security's settlement date, expressed as a serial date number"},maturity:{d:"is the security's maturity date, expressed as a serial date number"},rate:{d:"is the security's annual coupon rate"},pr:{d:"is the security's price per $100 face value"},redemption:{d:"is the security's redemption value per $100 face value"},frequency:{d:"is the number of coupon payments per year"},basis:{d:"is the type of day count basis to use",v:0}},h:"Unimplemented"},YIELDDISC:{s:"Returns the annual yield for a discounted security. For example, a treasury bill",p:{settlement:{d:"is the security's settlement date, expressed as a serial date number"},maturity:{d:"is the security's maturity date, expressed as a serial date number"},pr:{d:"is the security's price per $100 face value"},redemption:{d:"is the security's redemption value per $100 face value"},frequency:{d:"is the number of coupon payments per year"},basis:{d:"is the type of day count basis to use",v:0}},h:"Unimplemented"},YIELDMAT:{s:"Returns the annual yield of a security that pays interest at maturity",p:{settlement:{d:"is the security's settlement date, expressed as a serial date number"},maturity:{d:"is the security's maturity date, expressed as a serial date number"},issue:{d:"is the security's issue date, expressed as a serial date number"},rate:{d:"is the interest rate"},pr:{d:"is the security's price per $100 face value"},basis:{d:"is the type of day count basis to use",v:0}},h:"Unimplemented"}};export{e as default};
@@ -1,7 +0,0 @@
1
- /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.4.12
3
- *
4
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
- * License: The license can be found at https://www.sheetxl.com/license.
6
- */
7
- const e={ENCODEURL:{s:"Returns a URL-encoded string",p:{text:{d:"is a string to be URL encoded"}}},WEBSERVICE:{s:"Retrieves data from a web service.",p:{url:{d:"is the URL of the web service"}}}};export{e as default};
@@ -1,7 +0,0 @@
1
- /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.4.12
3
- *
4
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
- * License: The license can be found at https://www.sheetxl.com/license.
6
- */
7
- const t={ASC:{s:"Converts a string to full-width characters to half-width. Uses the double-byte character set (DBCS).",p:{text:{d:"is a text or a reference to a cell containing text"}},h:"DBCS"},ARRAYTOTEXT:{s:"Returns a text representation of an array",p:{array:{d:"the array to represent as text"},format:{d:"0 for relaxed format, 1 for strict format",v:0}}},CHAR:{s:"Returns the character specified by the code number from the character set for your computer",p:{number:{d:"is a number between 1 and 255 specifying which character you want"}}},CLEAN:{s:"Removes all nonprintable characters from text",p:{text:{d:"is the text you want to clean"}}},CODE:{s:"Returns the Unicode value of the first character in a text string",p:{text:{d:"is the text string whose Unicode value you want"}}},CONCAT:{s:"Concatenates a list or range of text strings",p:{text:{d:"text1,text2,... are 1 to 252 text strings or ranges to be joined"}}},CONCATENATE:{s:"Joins several text strings into one text string",p:{text:{d:"text1, text2,... are 1 to 252 text strings or ranges to be joined"}},c:"Compatibility"},DETECTLANGUAGE:{s:"Detects the language of a given text.",p:{text:{d:"is the text to detect the language of"}},h:"Unimplemented"},DBCS:{s:"Changes half-width characters to full-width characters. Uses the double-byte character set (DBCS).",p:{text:{d:"is a text or a reference to a cell containing text"}},h:"DBCS"},DOLLAR:{s:"Converts a number to text in currency format",p:{number:{d:"is the number to convert"},decimals:{d:"is the number of digits to the right of the decimal point",v:2}}},EXACT:{s:"Checks whether two text strings are exactly the same, and returns TRUE or FALSE. EXACT is case-sensitive",p:{text1:{d:"is the first text string"},text2:{d:"is the second text string"}}},FIND:{s:"Returns the starting position of one text string within another text string. FIND is case-sensitive",p:{findText:{d:"Returns the starting position of one text string within another text string. FIND is case-sensitive"},withinText:{d:"is the text you want to search"},startNum:{d:"specifies the character at which to start the search. The first character in Within_text is character number 1",v:1}}},FINDB:{s:"Finds the starting position of one text string with another text string. FINDB is case-sensitive. Use with double-byte characters.",p:{findText:{d:"is the text you want to find"},withinText:{d:"is the text you want to search"},startNum:{d:"is the position in within_text to start searching",v:1}},h:"DBCS"},FIXED:{s:"Rounds a number to the specified number of decimals and returns the result as text with or without commas",p:{number:{d:"is the number you want to round and convert to text"},decimals:{d:"is the number of digits to the right of the decimal point",v:2},noCommas:{d:"is a logical value: do not display commas in the returned text = TRUE; do display commas in the returned text = FALSE",v:!1}}},LEFT:{s:"Returns the specified number of characters from the start of a text string",p:{text:{d:"is the text string from which you want to extract characters"},numChars:{d:"specifies how many characters you want LEFT to extract",v:1}}},LEFTB:{s:"Returns the leftmost num_bytes characters from text. Uses double-byte characters.",p:{text:{d:"is the text string from which you want to extract characters"},numBytes:{d:"is the number of bytes to extract",v:1}},h:"DBCS"},LEN:{s:"Returns the number of characters in a text string",p:{text:{d:"is the text whose length you want to find. Spaces count as characters"}}},LENB:{s:"Returns the number of bytes in a text string. Uses double-byte characters.",p:{text:{d:"is the text string from which you want to extract characters"}}},LOWER:{s:"Converts all letters in a text string to lowercase",p:{text:{d:"is the text you want to convert to lowercase. Characters in Text that are not letters are not changed"}}},MID:{s:"Returns the characters from the middle of a text string, given a starting position and length",p:{text:{d:"is the text string from which you want to extract characters"},startNum:{d:"is the position of the first character you want to extract"},numChars:{d:"specifies how many characters to return from Text"}}},MIDB:{s:"Returns characters from the middle of a text string. Uses double-byte characters.",p:{text:{d:"is the text string from which you want to extract characters"},startNum:{d:"is the position of the first character you want to extract"},numBytes:{d:"is the number of bytes to extract"}},h:"DBCS"},NUMBERVALUE:{s:"Converts text to number in a locale-independent manner",p:{text:{d:"is the text string you want to convert"},decimalSeparator:{d:"is the character that separates the integer part from the decimal part of the number",v:"."},groupSeparator:{d:"is the character that separates groups of thousands",v:","}}},PERCENTOF:{s:"Returns the percentage of a subset of a given data set",p:{dataSubset:{d:"is the subset"},dataAll:{d:"is the data set"}},h:"Unimplemented"},PHONETIC:{s:"Returns the phonetic spelling of a text string",p:{reference:{d:"Text string or a reference to a single cell or a range of cells that contain a furigana text string"}},h:"Unimplemented"},PROPER:{s:"Converts the first letter of each word in a text string to uppercase",p:{text:{d:"is the text string you want to convert"}}},REGEXEXTRACT:{s:"Extracts substrings of 'text' based on the provided REGEX 'pattern'",p:{text:{d:"is the text string from which you want to extract characters"},pattern:{d:"The regular expression to be applied"},returnMode:{d:"Specify which matches to return",v:0},caseSensitivity:{d:"Whether the match is case sensitive",v:!1}},h:"Unimplemented"},REGEXREPLACE:{s:"Returns 'text', with 'replacement' in place of matches with 'pattern'",p:{text:{d:"is the text string from which you want to extract characters"},pattern:{d:"The regular expression to be applied"},replacement:{d:"The replacement string"},occurrence:{d:"The occurrence of the match to replace",v:0},caseSensitivity:{d:"Whether the match is case sensitive",v:!1}},h:"Unimplemented"},REGEXTEST:{s:"Checks whether the input matches the pattern, and returns TRUE or FALSE",p:{text:{d:"is the text string to be checked"},pattern:{d:"is the regular expression to be applied"},caseSensitivity:{d:"Whether the match is case sensitive",v:!1}},h:"Unimplemented"},REPLACE:{s:"Replaces part of a text string with a different text string",p:{oldText:{d:"is the text string to be changed"},startNum:{d:"is the position of the first character you want to replace"},numChars:{d:"is the number of characters to replace"},newText:{d:"is the text string that will replace old_text"}}},REPLACEB:{s:"Replaces part of a text string with a different text string using the number of bytes. Uses the double-byte character set (DBCS).",p:{oldText:{d:"is the text string to be changed"},startNum:{d:"is the position of the first character you want to replace"},numBytes:{d:"is the number of bytes to replace"},newText:{d:"is the text string that will replace old_text"}},h:"DBCS"},REPT:{s:"Repeats text a given number of times",p:{text:{d:"is the text you want to repeat"},numberTimes:{d:"is the number of times you want to repeat text"}}},RIGHT:{s:"Returns the specified number of characters from the end of a text string",p:{text:{d:"is the text string that contains the characters you want to extract"},numChars:{d:"specifies how many characters you want to extract",v:1}}},RIGHTB:{s:"Returns the rightmost num_bytes characters from text. Uses double-byte characters.",p:{text:{d:"is the text string from which you want to extract characters"},numBytes:{d:"is the number of bytes to extract",v:1}}},SEARCH:{s:"Returns the number of the character at which a specific character or text string is first found, reading left to right (not case-sensitive)",p:{findText:{d:"Returns the number of the character at which a specific character or text string is first found, reading left to right (not case-sensitive)"},withinText:{d:"is the text in which you want to search for Find_text"},startNum:{d:"is the character number in Within_text, counting from the left, at which you want to start searching",v:1}}},SEARCHB:{s:"Returns the number of the character at which a specific character or text string is first found, reading left to right (not case-sensitive). Uses the double-byte character set (DBCS).",p:{findText:{d:"Returns the number of the character at which a specific character or text string is first found, reading left to right (not case-sensitive)"},withinText:{d:"is the text in which you want to search for Find_text"},startBytes:{d:"is the character number in Within_text, counting from the left, at which you want to start searching",v:1}},h:"DBCS"},SUBSTITUTE:{s:"Replaces existing text with new text in a text string",p:{text:{d:"is the text or the reference to a cell containing text in which you want to substitute characters"},oldText:{d:"is the existing text you want to replace. If the case of Old_text does not match the case of text, SUBSTITUTE will not replace the text"},newText:{d:"is the text you want to replace Old_text with"},instanceNum:{d:"specifies which occurrence of Old_text you want to replace. If omitted, every instance of Old_text is replaced"}}},T:{s:"Checks whether a value is text, and returns the text if it is, or returns double quotes (empty text) if it is not",p:{value:{d:"is the value to test"}}},TEXT:{s:"Converts a value to text in a specific number format",p:{value:{d:"is a number, a formula that evaluates to a numeric value, or a reference to a cell containing a numeric value"},formatText:{d:"is a text string that defines the number format to use"}}},TEXTAFTER:{s:"Returns text that's after delimiting characters.",p:{text:{d:"The text you want to search for the delimiter."},delimiter:{d:"The character or string to use as a delimiter."},instanceNum:{d:"The desired occurrence of delimiter. The default is 1. A negative number searches from the end.",v:1},matchMode:{d:"Searches the text for a delimiter match. By default, a case-sensitive match is done.",v:0},matchEnd:{d:"Whether to match the delimiter against the end of text. By default, they're not matched.",v:0},ifNotFound:{d:"Returned if no match is found. By default, #N/A is returned.",v:"undefined"}}},TEXTJOIN:{s:"Concatenates a list or range of text strings using a delimiter",p:{delimiter:{d:"Character or string to insert between each text item"},ignoreEmpty:{d:"if TRUE(default), ignores empty cells"},text:{d:"text1,text2,... are 1 to 252 text strings or ranges to be joined"}}},TEXTSPLIT:{s:"Splits text into rows or columns using delimiters.",p:{text:{d:"The text to split"},colDelimiter:{d:"The column delimiter(s) - can be string or array of strings"},rowDelimiter:{d:"The row delimiter(s), null/undefined means no row splitting",v:null},ignoreEmpty:{d:"Whether to ignore empty values (defaults to `false`)",v:!1},matchMode:{d:"Whether to use case-sensitive (0) or case-insensitive (1) match (defaults to `0`)",v:0},padWith:{d:"Value to use for padding if matrix is uneven (defaults to `#N/A`)",v:"undefined"}}},TEXTBEFORE:{s:"Returns text that's before delimiting characters.",p:{text:{d:"The text you want to search for the delimiter."},delimiter:{d:"The character or string to use as a delimiter."},instanceNum:{d:"The desired occurrence of delimiter. The default is 1. A negative number searches from the end.",v:1},matchMode:{d:"Whether to use case-sensitive (0) or case-insensitive (1) match (defaults to `0`)",v:0},matchEnd:{d:"Whether to match the delimiter against the end of text. By default, they're not matched.",v:0},ifNotFound:{d:"Returned if no match is found. By default, #N/A is returned.",v:"undefined"}}},TRANSLATE:{s:"Translate a text string from one language to another using the Microsoft Translator service.",p:{text:{d:"The text to translate."},sourceLanguage:{d:"Specifiy the source language your text is currently in. Expressed as a two-letter language code."},targetLanguage:{d:"Specifiy the source language you want your text to be translated to. Expressed as a two-letter language code."}},h:"Unimplemented"},TRIM:{s:"Removes all spaces from text except for single spaces between words.",p:{text:{d:"The text from which you want to remove extra spaces."}}},UNICHAR:{s:"Returns the Unicode character referenced by the given numeric value",p:{number:{d:"is the Unicode number representing a character"}}},UNICODE:{s:"Returns the number (code point) corresponding to the first character of the text",p:{text:{d:"is the character that you want the Unicode value of"}}},UPPER:{s:"Converts a text string to all uppercase letters",p:{text:{d:"is the text you want converted to uppercase, a reference or a text string"}}},VALUE:{s:"Converts a text string that represents a number to a number",p:{text:{d:"is the text enclosed in quotation marks or a reference to a cell containing the text you want to convert"}}},VALUETOTEXT:{s:"Returns a text representation of a value",p:{value:{d:"the value to represent as text"},format:{d:"the format of the text",v:0}}}};export{t as default};
@@ -1,7 +0,0 @@
1
- /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.4.12
3
- *
4
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
- * License: The license can be found at https://www.sheetxl.com/license.
6
- */
7
- const e={DATE:{s:"Returns the number that represents the date in Microsoft Excel date-time code",p:{year:{d:"is a number from 1900 or 1904 (depending on the workbook's date system) to 9999"},month:{d:"is a number from 1 to 12 representing the month of the year"},day:{d:"is a number from 1 to 31 representing the day of the month"}}},DATEDIF:{s:"Returns the number of days between two dates",p:{startDate:{d:"is a serial date number that represents the start date"},endDate:{d:"is a serial date number that represents the end date"},unit:{d:"is a string that specifies the unit of time to use"}},h:"Legacy"},DATESTRING:{s:"Returns NA.",p:{number:{d:"is a number that is ignored"}},h:"Legacy"},DATEVALUE:{s:"Converts a date in the form of text to a number that represents the date in Microsoft Excel date-time code",p:{dateText:{d:"is text that represents a date in a Microsoft Excel date format, between 1/1/1900 or 1/1/1904 (depending on the workbook's date system) and 12/31/9999"}}},DAY:{s:"Returns the day of the month, a number from 1 to 31.",p:{serialOrString:{d:"is a number in the date-time code used by Excel or text in time format, such as 16:48:00 or 4:48:00 PM"}}},DAYS:{s:"Returns the number of days between the two dates.",p:{endDate:{d:"start_date and end_date are the two dates between which you want to know the number of days"},startDate:{d:"start_date and end_date are the two dates between which you want to know the number of days"}}},DAYS360:{s:"Returns the number of days between two dates based on a 360-day year (twelve 30-day months)",p:{startDate:{d:"start_date and end_date are the two dates between which you want to know the number of days"},endDate:{d:"start_date and end_date are the two dates between which you want to know the number of days"},method:{d:"is a logical value specifying the calculation method: U.S. (NASD) = FALSE; European = TRUE.",v:!1}}},EDATE:{s:"Returns the serial number of the date that is the indicated number of months before or after the start date",p:{startDate:{d:"is a serial date number that represents the start date"},months:{d:"is the number of months before or after start_date"}}},EOMONTH:{s:"Returns the serial number of the last day of the month before or after a specified number of months",p:{startDate:{d:"is a serial date number that represents the start date"},months:{d:"is the number of months before or after the start_date"}}},HOUR:{s:"Returns the hour as a number from 0 (12:00 A.M.) to 23 (11:00 P.M.).",p:{serialOrString:{d:"is a number in the date-time code used by Excel or text in time format, such as 16:48:00 or 4:48:00 PM"}}},ISOWEEKNUM:{s:"Returns the ISO week number in the year for a given date",p:{serialOrString:{d:"is a number in the date-time code used by Excel or text in time format, such as 16:48:00 or 4:48:00 PM"}}},MINUTE:{s:"Returns the minute, a number from 0 to 59.",p:{serialOrString:{d:"is a number in the date-time code used by Excel or text in time format, such as 16:48:00 or 4:48:00 PM"}}},MONTH:{s:"Returns the month, a number from 1 (January) to 12 (December).",p:{serialOrString:{d:"is a number in the date-time code used by Excel"}}},NETWORKDAYS:{s:"Returns the number of whole workdays between two dates",p:{startDate:{d:"is a serial date number that represents the start date"},endDate:{d:"is a serial date number that represents the end date"},holidays:{d:"is an optional set of one or more serial date numbers to exclude from the working calendar, such as state and federal holidays and floating holidays",v:null}}},"NETWORKDAYS.INTL":{s:"Returns the number of whole workdays between two dates with custom weekend parameters",p:{startDate:{d:"is a serial date number that represents the start date"},endDate:{d:"is a serial date number that represents the end date"},weekend:{d:"is a number or string specifying when weekends occur",v:1},holidays:{d:"is an optional set of one or more serial date numbers to exclude from the working calendar, such as state and federal holidays and floating holidays",v:null}}},NOW:{s:"Returns the current date and time formatted as a date and time.",p:{}},SECOND:{s:"Returns the second, a number from 0 to 59.",p:{serialOrString:{d:"is a number in the date-time code used by Excel or text in time format, such as 16:48:23 or 4:48:47 PM"}}},TIME:{s:"Converts hours, minutes, and seconds given as numbers to an Excel serial number, formatted with a time format",p:{hour:{d:"is a number from 0 to 23 representing the hour"},minute:{d:"is a number from 0 to 59 representing the minute"},second:{d:"is a number from 0 to 59 representing the second"}}},TIMEVALUE:{s:"Converts a text time to an Excel serial number for a time, a number from 0 (12:00:00 AM) to 0.999988426 (11:59:59 PM). Format the number with a time format after entering the formula",p:{timeText:{d:"is a text string that gives a time in any one of the Excel time formats (date information in the string is ignored)"}}},TODAY:{s:"Returns the current date formatted as a date.",p:{}},WEEKDAY:{s:"Returns a number from 1 to 7 identifying the day of the week of a date.",p:{serialOrString:{d:"is a number that represents a date"},returnType:{d:"is a number: for Sunday=1 through Saturday=7, use 1; for Monday=1 through Sunday=7, use 2; for Monday=0 through Sunday=6, use 3",v:1}}},WEEKNUM:{s:"Returns the week number in the year",p:{serialOrString:{d:"is the date-time code used by Excel for date and time calculation"},returnType:{d:"is a number (1 or 2) that determines the type of the return value",v:1}}},WORKDAY:{s:"Returns the serial number of the date before or after a specified number of workdays",p:{startDate:{d:"is a serial date number that represents the start date"},days:{d:"is the number of nonweekend and non-holiday days before or after start_date"},holidays:{d:"is an optional array of one or more serial date numbers to exclude from the working calendar, such as state and federal holidays and floating holidays",v:null}}},"WORKDAY.INTL":{s:"Returns the serial number of the date before or after a specified number of workdays with custom weekend parameters",p:{startDate:{d:"is a serial date number that represents the start date"},days:{d:"is the number of nonweekend and non-holiday days before or after start_date"},weekend:{d:"is a number or string specifying when weekends occur",v:1},holidays:{d:"is an optional array of one or more serial date numbers to exclude from the working calendar, such as state and federal holidays and floating holidays",v:null}}},YEAR:{s:"Returns the year of a date, an integer in the range 1900 - 9999.",p:{serialOrString:{d:"is a number in the date-time code used by Excel"}}},YEARFRAC:{s:"Returns the year fraction representing the number of whole days between start_date and end_date",p:{startDate:{d:"is a serial date number that represents the start date"},endDate:{d:"is a serial date number that represents the end date"},basis:{d:"is the type of day count basis to use",v:0}}}};export{e as default};
@@ -1,7 +0,0 @@
1
- /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.4.12
3
- *
4
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
- * License: The license can be found at https://www.sheetxl.com/license.
6
- */
7
- const e={AVEDEV:{s:"Returns the average of the absolute deviations of data points from their mean. Arguments can be numbers or names, arrays, or references that contain numbers",p:{number:{d:"number1,number2,... are 1 to 255 arguments for which you want the average of the absolute deviations"}}},AVERAGE:{s:"Returns the average (arithmetic mean) of its arguments, which can be numbers or names, arrays, or references that contain numbers",p:{number:{d:"number1,number2,... are 1 to 255 numeric arguments for which you want the average"}}},AVERAGEA:{s:"Returns the average (arithmetic mean) of its arguments, evaluating text and FALSE in arguments as 0; TRUE evaluates as 1. Arguments can be numbers, names, arrays, or references",p:{value:{d:"value1,value2,... are 1 to 255 arguments for which you want the average"}}},AVERAGEIF:{s:"Finds average(arithmetic mean) for the cells specified by a given condition or criteria",p:{range:{d:"is the range of cells you want evaluated"},criteria:{d:"is the condition or criteria in the form of a number, expression, or text that defines which cells will be used to find the average"},averageRange:{d:"are the actual cells to be used to find the average. If omitted, the cells in range are used"}},h:"Unimplemented"},AVERAGEIFS:{s:"Finds average(arithmetic mean) for the cells specified by a given set of conditions or criteria",p:{averageRange:{d:"are the actual cells to be used to find the average."},criteriaRange:{d:"criteria_range1,criteria_range2,... is the range of cells you want evaluated for the particular condition"},criteria:{d:"criteria1,criteria2,... is the condition or criteria in the form of a number, expression, or text that defines which cells will be used to find the average"}},h:"Unimplemented"},COUNT:{s:"Counts the number of cells in a range that contain numbers",p:{number:{d:"value1,value2,... are 1 to 255 arguments that can contain or refer to a variety of different types of data, but only numbers are counted"}}},COUNTA:{s:"Counts the number of cells in a range that are not empty",p:{value:{d:"value1,value2,... are 1 to 255 arguments representing the values and cells you want to count. Values can be any type of information"}}},COUNTBLANK:{s:"Counts the number of empty cells in a specified range of cells",p:{range:{d:"is the range from which you want to count the empty cells"}},h:"Unimplemented"},COUNTIF:{s:"Counts the number of cells within a range that meet the given condition",p:{range:{d:"is the range of cells from which you want to count nonblank cells"},criteria:{d:"is the condition in the form of a number, expression, or text that defines which cells will be counted"}},h:"Unimplemented"},COUNTIFS:{s:"Counts the number of cells specified by a given set of conditions or criteria",p:{criteriaRange:{d:"criteria_range1,criteria_range2,... is the range of cells you want evaluated for the particular condition"},criteria:{d:"criteria1,criteria2,... is the condition in the form of a number, expression, or text that defines which cells will be counted"}},h:"Unimplemented"},LARGE:{s:"Returns the k-th largest value in a data set. For example, the fifth largest number.",p:{array:{d:"is the array or range of data for which you want to determine the k-th largest value."},k:{d:"is the position (from the largest) in the array or cell range of the value to return."}}},MAX:{s:"Returns the largest value in a set of values. Ignores logical values and text",p:{number:{d:"number1,number2,... are 1 to 255 numbers, empty cells, logical values, or text numbers for which you want the maximum"}}},MAXA:{s:"Returns the largest value in a set of values. Does not ignore logical values and text",p:{value:{d:"value1,value2,... are 1 to 255 numbers, empty cells, logical values, or text numbers for which you want the maximum"}}},MAXIFS:{s:"Returns the maximum value among cells specified by a given set of conditions or criteria",p:{maxRange:{d:"the cells in which to determine the maximum value"},criteriaRange:{d:"criteria_range1,criteria_range2,... is the range of cells you want to evaluate for the particular condition"},criteria:{d:"criteria1,criteria2,... is the condition or criteria in the form of a number, expression, or text that defines which cells will be included when determining the maximum value"}},h:"Unimplemented"},MEDIAN:{s:"Returns the median, or the number in the middle of the set of given numbers",p:{number:{d:"number1,number2,... are 1 to 255 numbers or names, arrays, or references that contain numbers for which you want the median"}}},MIN:{s:"Returns the smallest number in a set of values. Ignores logical values and text",p:{number:{d:"number1,number2,... are 1 to 255 numbers, empty cells, logical values, or text numbers for which you want the minimum"}}},MINA:{s:"Returns the smallest value in a set of values. Does not ignore logical values and text",p:{value:{d:"value1,value2,... are 1 to 255 numbers, empty cells, logical values, or text numbers for which you want the minimum"}}},MINIFS:{s:"Returns the minimum value among cells specified by a given set of conditions or criteria",p:{maxRange:{d:"is the range of cells to evaluate for the minimum value"},criteriaRange:{d:"is the range of cells to evaluate against the criteria"},criteria:{d:"is the criteria to evaluate against the criteria range"}},h:"Unimplemented"},PERMUT:{s:"Returns the number of permutations for a given number of objects that can be selected from the total objects",p:{number:{d:"is the total number of objects"},numberChoosen:{d:"is the number of objects in each permutation"}},h:"Unimplemented"},PERMUTATIONA:{s:"Returns the number of permutations for a given number of objects (with repetitions) that can be selected from the total objects",p:{number:{d:"is the total number of objects"},numberChoosen:{d:"is the number of objects in each permutation"}},h:"Unimplemented"},SMALL:{s:"Returns the k-th smallest value in a data set. For example, the fifth smallest number",p:{array:{d:"is an array or range of numerical data for which you want to determine the k-th smallest value"},k:{d:"is the position (from the smallest) in the array or range of the value to return"}}}};export{e as default};
@@ -1,7 +0,0 @@
1
- /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.4.12
3
- *
4
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
- * License: The license can be found at https://www.sheetxl.com/license.
6
- */
7
- import{$ as e}from"./MRXgg6FvbB08Ze4M.mjs";var t,n,o;(n=t||(t={})).Orientation={Column:"column",Row:"row"},n.Orientations={...n.Orientation,Both:"both"},n.Direction={Up:"up",Down:"down",Left:"left",Right:"right"},(e=>{e.Code={Parse:0,Null:1,Div0:2,Value:3,Ref:4,Name:5,Num:6,NA:7,GettingData:8,Spill:9,Connect:10,Blocked:11,Unknown:12,Field:13,Calc:14,Busy:16,Python:19,Timeout:20},e.Label={Parse:"#PARSE!",Null:"#NULL!",Div0:"#DIV/0!",Value:"#VALUE!",Ref:"#REF!",Name:"#NAME?",Num:"#NUM!",NA:"#N/A",GettingData:"#GETTING_DATA",Spill:"#SPILL!",Connect:"#CONNECT!",Blocked:"#BLOCKED!",Unknown:"#UNKNOWN!",Field:"#FIELD!",Calc:"#CALC!",Busy:"#BUSY!",Python:"#PYTHON!",Timeout:"#TIMEOUT!"};class t extends Error{constructor(e,t,n,o){super(n,o),this._label=t,this._code=e,this.details=o}static{this.code=e.Code.Unknown}get isFormulaError(){return!0}getLabel(){return this._label}getCode(){return this._code}equals(e){return!!e&&(this._code===e._code||this._code===e.code)}get[Symbol.toStringTag](){return"[FormulaError]"}toString(){return this.message||this._label}}e.Known=t;class n extends t{constructor(t,n){super(e.Code.Parse,e.Label.Parse,t,n)}static{this.code=e.Code.Parse}getDetails(){const e=this.details;return{line:e?.line??1,column:e?.column??1,offset:e?.offset??0,length:e?.length??0}}}e.Parse=n;class o extends t{constructor(t,n){super(e.Code.Null,e.Label.Null,t,n)}static{this.code=e.Code.Null}}e.Null=o;class i extends t{constructor(t,n){super(e.Code.Div0,e.Label.Div0,t,n)}static{this.code=e.Code.Div0}}e.Div0=i;class r extends t{constructor(t,n){super(e.Code.Value,e.Label.Value,t,n)}static{this.code=e.Code.Value}}e.Value=r;class a extends t{constructor(t,n){super(e.Code.Ref,e.Label.Ref,t,n)}static{this.code=e.Code.Ref}}e.Ref=a;class s extends t{constructor(t,n){super(e.Code.Name,e.Label.Name,t,n)}static{this.code=e.Code.Name}}e.Name=s;class l extends t{constructor(t,n){super(e.Code.Num,e.Label.Num,t,n)}static{this.code=e.Code.Num}}e.Num=l;class c extends t{constructor(t,n){super(e.Code.NA,e.Label.NA,t,n)}static{this.code=e.Code.NA}}e.NA=c;class d extends t{constructor(t,n){super(e.Code.GettingData,e.Label.GettingData,t,n)}static{this.code=e.Code.GettingData}}e.GettingData=d;class u extends t{constructor(t,n){super(e.Code.Spill,e.Label.Spill,t,n)}static{this.code=e.Code.Spill}}e.Spill=u;class p extends t{constructor(t,n){super(e.Code.Connect,e.Label.Connect,t,n)}static{this.code=e.Code.Connect}}e.Connect=p;class m extends t{constructor(t,n){super(e.Code.Blocked,e.Label.Blocked,t,n)}static{this.code=e.Code.Blocked}}e.Blocked=m;class y extends t{constructor(t,n){super(e.Code.Unknown,e.Label.Unknown,t,n)}static{this.code=e.Code.Unknown}}e.Unknown=y;class f extends t{constructor(t,n){super(e.Code.Field,e.Label.Field,t,n)}static{this.code=e.Code.Field}}e.Field=f;class h extends t{constructor(t,n){super(e.Code.Calc,e.Label.Calc,t,n)}static{this.code=e.Code.Calc}}e.Calc=h;class g extends t{constructor(t,n){super(e.Code.Busy,e.Label.Busy,t,n)}static{this.code=e.Code.Busy}}e.Busy=g;class w extends t{constructor(t,n){super(e.Code.Python,e.Label.Python,t,n)}static{this.code=e.Code.Python}}e.Python=w;class C extends t{constructor(t,n){super(e.Code.Timeout,e.Label.Timeout,t,n)}static{this.code=e.Code.Timeout}}e.Timeout=C})(o||(o={}));const i={};i[o.Code.Parse]=o.Parse,i[o.Code.Null]=o.Null,i[o.Code.Div0]=o.Div0,i[o.Code.Value]=o.Value,i[o.Code.Ref]=o.Ref,i[o.Code.Name]=o.Name,i[o.Code.Num]=o.Num,i[o.Code.NA]=o.NA,i[o.Code.GettingData]=o.GettingData,i[o.Code.Spill]=o.Spill,i[o.Code.Connect]=o.Connect,i[o.Code.Blocked]=o.Blocked,i[o.Code.Unknown]=o.Unknown,i[o.Code.Field]=o.Field,i[o.Code.Calc]=o.Calc,i[o.Code.Busy]=o.Busy,i[o.Code.Python]=o.Python,i[o.Code.Timeout]=o.Timeout;const r=new Map,a=new Map,s=new Map,l=new Map,c=Object.keys(i);for(let e=0;e<c.length;e++){const t=c[e],n=i[t];s.set(o.Label[t],n),l.set(o.Code[t],n);const d=new n;r.set(d.getLabel(),d),a.set(d.getCode(),d)}const d=a.get(o.Code.Unknown);var u;(u=o||(o={})).BuiltIn={Parse:new u.Parse,Null:new u.Null,Div0:new u.Div0,Value:new u.Value,Ref:new u.Ref,Name:new u.Name,Num:new u.Num,NA:new u.NA,GettingData:new u.GettingData,Spill:new u.Spill,Connect:new u.Connect,Blocked:new u.Blocked,Unknown:new u.Unknown,Field:new u.Field,Calc:new u.Calc,Busy:new u.Busy,Python:new u.Python,Timeout:new u.Timeout},u.getBuiltInByLabel=e=>r.get(e),u.newTypedError=(e,t,n)=>{let o;return o="string"==typeof e?s.get(e):l.get(e),o||(o=u.Unknown),new o(t,n)},u.getBuiltInById=e=>a.get(e)||d;let p=null,m=null;const y={compilerOptions:{target:"esnext"}};const f=async()=>"\n interface FirstTest {\n isTrue?: boolean;\n }\n",h=new Map([["IReferenceRange","r"],["IRange","l"]]),g=new Map([["IWorkbook","workbook"],["ISheet","sheet"],["ICellRanges","ranges"],["ICellRange","range"],["IFormulaContext","context"]]),w=(e,t)=>{Array.from(t.keys()).forEach(n=>{const o=t.get(n);t.set(`${e}.${n}`,o)})},C=new Map([["Scalar","*"],["FormulaError.Known","e"],["Date","Date"],["JSON","JSON"]]),x=new Map([]),b="SheetXL";w(b,h),w(b,g),w(b,x);const T=new Map([["Promise",()=>({async:!0})],["Observable",()=>({stream:!0})]]);let k=null;async function N(){if(k)return k;try{return await(await import("./Dhvtq8jHg8BxOR0C.mjs")).initialize()}catch(e){throw k=null,e}finally{k=null}}async function S(t){const n=t?.source??null;if(!n)return null;const o=(t.disableBundle||t.declarationsOnly)??!1,i=[f(),N()],r=await Promise.all(i),a=r[0],s=r[1];let l="",c=null;const d=[],u={allowJs:!0,declaration:!1,sourceMap:!1,inlineSourceMap:!1,inlineSources:!1,isolatedModules:!0,preserveConstEnums:!1,module:99,noResolve:!0,emitDeclarationOnly:!1,target:s.ScriptTarget.ES2020},w="script",x=`${w}.ts`,b="lib.d.ts",k="global.d.ts",S={[x]:n,[b]:"\n/**\n * Represents the completion of an asynchronous operation\n */\ninterface Promise<T> {\n /**\n * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The\n * resolved value cannot be modified from the callback.\n * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected).\n * @returns A Promise for the completion of the callback.\n */\n finally(onfinally?: (() => void) | undefined | null): Promise<T>;\n}\n",[k]:a},E={getSourceFile:(e,t,n,o)=>s.createSourceFile(e,S[e],s.ScriptTarget.Latest,!0),fileExists:e=>void 0!==S[e],readFile:e=>S[e],writeFile:(e,t)=>{S[e]=t},getCurrentDirectory:()=>"./",getCanonicalFileName:e=>e,useCaseSensitiveFileNames:()=>!0,getDefaultLibFileName:e=>b,getNewLine:()=>"\n"},L=s.createProgram([x,k],u,E),D=L.getTypeChecker(),v=L.getSourceFile(x),F=L.emit();F.diagnostics.length>0&&console.warn(F.diagnostics),l=S[`${w}.js`];const K=(e,t,n,o)=>{if(e){if(e.kind===s.SyntaxKind.NumberKeyword)t.scalar="n";else if(e.kind===s.SyntaxKind.StringKeyword)t.scalar="s";else if(e.kind===s.SyntaxKind.BooleanKeyword)t.scalar="b";else if(e.kind===s.SyntaxKind.UndefinedKeyword||e.kind===s.SyntaxKind.NullKeyword||e.kind===s.SyntaxKind.VoidKeyword){if(o)return void $(e,new Error(`'undefined' is not a valid type for input: '${e?.parent?.name?.escapedText}'.`));t.scalar="z"}else if(e.kind===s.SyntaxKind.BigIntKeyword)t.scalar="n";else if(e.kind===s.SyntaxKind.AnyKeyword)t.scalar="z";else if(e.kind===s.SyntaxKind.ArrayType){const i=e.elementType;if(!i)return void $(e,new Error(`'Array' must be typed: '${e?.parent?.name?.escapedText}'.`));t.arrayDepth=(t.arrayDepth??0)+1,K(i,t,n,o)}else if(e.kind!==s.SyntaxKind.TupleType&&e.kind===s.SyntaxKind.TypeReference){const i=e.typeName?.getText?.()??null,r=h.get(i);let a=!1;r&&(t.range=r,a=!0);const s=C.get(i);if(s&&(t.scalar=s),void 0!==s&&(a=!0),o){const e=g.get(i);if(e)return e}else{const n=T.get(i);if(n){const o={...t,...n()};let r=0;if(o.async&&r++,o.stream&&r++,r>1)return void $(e,new Error(`'${i}' cannot have multiple modifiers: '${e?.parent?.name?.escapedText}'.`));t=o,a=!0}}if(!a)return void $("node",new Error(`'${i}' is not a valid type: '${e?.parent?.name?.escapedText}'.`));const l=e.typeArguments;if(l){if(1!==l.length)return void $(e,new Error(`'${i}' must be typed with exactly 1 type: '${e?.parent?.name?.escapedText}'.`));K(l[0],t,n,o)}}}else $(e,new Error(`Type is not defined for '${t?.name??"return"}'.`))},P=[],$=(e,t)=>{P.push(t)};if(s.forEachChild(v,e=>{if(n=e,0!==(s.getCombinedModifierFlags(n)&s.ModifierFlags.Export)&&s.isFunctionDeclaration(e)){const n={},o={parameters:{}},i=e?.name?.getText();try{n.name=i;const r=D.getSymbolAtLocation(e.name).getDocumentationComment(D);if(r&&r.length>0&&r[0].text){let e=r[0].text;e=e.replace(/[\r\n]+/g,"\\n").trim(),o.summary=e}const a={};K(e.type,a,n,!1),n.returnType=a;const l={};t=e,0!==(s.getCombinedModifierFlags(t)&s.ModifierFlags.Default)&&(l.default=!0,c=i),Object.keys(l).length>0&&(n.behavior=l),n.parameters=[];const u=new Map;for(let t=0;t<e.parameters.length;t++){const i=e.parameters[t],r={};r.name=i.name?.getText();const a=K(i.type,r,n,!0);if(a){if(0!==n.parameters.length){const t=e?.parent,o=t?.name?.getText();return void $(e,new Error(`'${n.name}' contexts must be the first parameter: '${o}'.`))}n.context=a;continue}let l;if((void 0!==i.initializer&&null!==i.initializer||void 0!==i.questionToken&&null!==i.questionToken)&&(r.optional=!0,i.initializer))try{l=i.initializer.kind===s.SyntaxKind.StringLiteral?i.initializer.text:i.initializer.kind===s.SyntaxKind.NumericLiteral?parseFloat(i.initializer.text):i.initializer.kind===s.SyntaxKind.TrueKeyword||i.initializer.kind===s.SyntaxKind.FalseKeyword?i.initializer.kind===s.SyntaxKind.TrueKeyword:i.initializer.kind===s.SyntaxKind.NullKeyword?null:i.initializer.kind===s.SyntaxKind.ObjectLiteralExpression||i.initializer.kind===s.SyntaxKind.ArrayLiteralExpression?i.initializer.getText():i.initializer.getText?.()}catch(e){console.warn(`Couldn't extract default value for parameter '${r.name}'`,e)}i.dotDotDotToken&&(r.rest=!0),n.parameters.push(r);const c={description:""};o.parameters[r.name]=c;const d=D.getSymbolAtLocation(i.name).getDocumentationComment(D);d&&d.length>0&&d[0].text&&(c.description=d[0].text),void 0!==l&&(c.defaultValue=l),u.set(r.name,r)}if(e.jsDoc&&e.jsDoc.length>0){const t=e.jsDoc;for(let e=0;e<t.length;e++){const r=t[e]?.tags;if(r)for(let e=0;e<r.length;e++){const t=r[e];let a=t?.tagName?.text;if(!a)continue;a=a.toLowerCase();let l=t.comment;const c="hidden"===a;if(("string"==typeof l||c)&&("string"==typeof l&&(l=l.replace(/[\r\n]+/g,"\\n").trim()),c||!l||(l=l.split(/\\n/)[0],l&&0!==l.length))){if(l&&"string"==typeof l){const e=/\{@link(code|plain)?\s+([^}|]+)(?:\s*\|\s*([^}]+))?\}/g;let t,n=l,i=[];for(;null!==(t=e.exec(l));){const[e,n,o,i]=t,r=[o.trim()];i&&r.push(i.trim())}l=n,i.length>0&&"see"===a&&(o.links||(o.links=[]),o.links.push(...i))}if("name"===a){const e=l;e!==i&&(o.name=e)}else if("description"!==a)if("summary"===a){const e=l;e&&(o.summary=e)}else if("param"===a){const e=t.name?.text,n=u.get(e);if(!n){P.push(new Error(`Parameter '${e}' not found in function '${i}'.`));continue}if(t.typeExpression&&t.typeExpression.type)try{const e=t.typeExpression.type;if(e.kind===s.SyntaxKind.UnionType){const t=[];n.enums=t,e.types.forEach(e=>{if(e.kind===s.SyntaxKind.LiteralType){const n=e.literal.text;n&&t.push(n)}})}}catch(e){console.warn("Error parsing JSDoc type expression:",e)}}else if("returns"===a||"return"===a)n.returnType.description=l;else if("category"===a)o.category=l;else if("hidden"===a){let e=!0;const t=l?.toLowerCase();"false"===t?e=!1:"true"!==t&&(e=l),!1!==e&&(o.hidden=e??!0)}}}}}0===Object.keys(n.returnType).length&&delete n.returnType,d.push([n,o])}catch(t){$(e,new Error(`'${i}': ${t.message}`))}}var t,n}),P.length>0)throw console.warn(P),new Error("There were compilation errors.",{cause:P});if(0===d.length)throw new Error("No exported functions.");const B=`${e.uuidV4()}-script`;try{o||0!==P.length||(l=await async function(e,t,n="/script.js",o="__SHEETXL"){try{const e=await async function(){if(p)return p;if(m){if(await m,!p)throw new Error("ESBuild initialization promise resolved, but instance is not available.");return p}let e,t;m=new Promise((n,o)=>{e=n,t=o});try{const{initialize:t}=await import("./yM_d2jrPPN_EupI0.mjs");return p=await t(),e(),p}catch(e){throw console.error("Failed to import or initialize esbuild:",e),m=null,t(e),e}}(),i="@sheetxl/primitives",r=`\n export const FormulaContext = globalThis.${o}?.FormulaContext;\n export const ScalarType = globalThis.${o}?.ScalarType;\n export const Observable = globalThis.${o}?.Observable;\n export const IRange = globalThis.${o}?.IRange;\n export const FormulaError = globalThis.${o}?.FormulaError;\n // Add more exports as needed\n `,a={name:"sheetxl-esbuild-in-memory",setup(e){const o="sheetxl-"+(new Date).getTime();e.onResolve({filter:new RegExp(`^(${n.replace("/","\\/")}|${i})$`)},e=>({path:e.path,namespace:o})),e.onResolve({filter:/.*/},e=>{if(e.namespace!==o)return console.warn(`esbuild: Treating import "${e.path}" as external.`),{path:e.path,external:!0}}),e.onLoad({filter:/.*/,namespace:o},e=>{let a;if(e.path===n)a=t;else{if(e.path!==i)return{errors:[{text:`Cannot load unknown path in ${o}: ${e.path}`}]};a=r}return{contents:a,loader:"ts"}})}},s=await e.build({entryPoints:[n],bundle:!0,write:!1,format:"esm",plugins:[a],sourcemap:"inline",tsconfigRaw:y,minify:!0,platform:"neutral"});if(s.outputFiles&&s.outputFiles.length>0)return s.outputFiles[0].text;throw s.errors&&s.errors.length>0?new Error(`esbuild bundling failed: ${s.errors.map(e=>e.text).join("\n")}`):new Error("esbuild did not produce an output file.")}catch(e){throw console.error("esbuild bundling process failed:",e),e}}(0,l,w))}catch{console.warn("Error bundling script")}const R={functions:d,commitId:B,source:n,name:"Script",language:"typescript",compiled:l};return c&&(R.autoRun=c),R}export{S as compileModule};
@@ -1,7 +0,0 @@
1
- /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.4.12
3
- *
4
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
- * License: The license can be found at https://www.sheetxl.com/license.
6
- */
7
- let r=null;async function t(){return r||(r=new Promise(async(r,t)=>{let e=null;try{e=await import("https://esm.sh/typescript@5.7.2")}catch(r){console.error("Error initializing Browser TypeScript module:",r)}e||console.log("use script fallback"),r(e)}),r)}export{t as initialize};
@@ -1,7 +0,0 @@
1
- /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.4.12
3
- *
4
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
- * License: The license can be found at https://www.sheetxl.com/license.
6
- */
7
- const e={DAVERAGE:{s:"Averages the values in a column in a list or database that match conditions you specify",p:{database:{d:"is the range of cells that makes up the list or database. A database is a list of related data"},field:{d:"is either the label of the column in double quotation marks or a number that represents the column's position in the list"},criteria:{d:"is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition"}},h:"Unimplemented"},DCOUNT:{s:"Counts the cells containing numbers in the field (column) of records in the database that match the conditions you specify",p:{database:{d:"is the range of cells that makes up the list or database. A database is a list of related data"},field:{d:"is either the label of the column in double quotation marks or a number that represents the column's position in the list"},criteria:{d:"is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition"}},h:"Unimplemented"},DCOUNTA:{s:"Counts nonblank cells in the field (column) of records in the database that match the conditions you specify",p:{database:{d:"is the range of cells that makes up the list or database. A database is a list of related data"},field:{d:"is either the label of the column in double quotation marks or a number that represents the column's position in the list"},criteria:{d:"is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition"}},h:"Unimplemented"},DGET:{s:"Extracts from a database a single record that matches the conditions you specify",p:{database:{d:"is the range of cells that makes up the list or database. A database is a list of related data"},field:{d:"is either the label of the column in double quotation marks or a number that represents the column's position in the list"},criteria:{d:"is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition"}},h:"Unimplemented"},DMAX:{s:"Returns the largest number in the field (column) of records in the database that match the conditions you specify",p:{database:{d:"is the range of cells that makes up the list or database. A database is a list of related data"},field:{d:"is either the label of the column in double quotation marks or a number that represents the column's position in the list"},criteria:{d:"is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition"}},h:"Unimplemented"},DMIN:{s:"Returns the smallest number in the field (column) of records in the database that match the conditions you specify",p:{database:{d:"is the range of cells that makes up the list or database. A database is a list of related data"},field:{d:"is either the label of the column in double quotation marks or a number that represents the column's position in the list"},criteria:{d:"is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition"}},h:"Unimplemented"},DPRODUCT:{s:"Multiplies the values in the field (column) of records in the database that match the conditions you specify",p:{database:{d:"is the range of cells that makes up the list or database. A database is a list of related data"},field:{d:"is either the label of the column in double quotation marks or a number that represents the column's position in the list"},criteria:{d:"is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition"}},h:"Unimplemented"},DSTDEV:{s:"Estimates the standard deviation based on a sample from selected database entries",p:{database:{d:"is the range of cells that makes up the list or database. A database is a list of related data"},field:{d:"is either the label of the column in double quotation marks or a number that represents the column's position in the list"},criteria:{d:"is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition"}},h:"Unimplemented"},DSTDEVP:{s:"Calculates the standard deviation based on the entire population of selected database entries",p:{database:{d:"is the range of cells that makes up the list or database. A database is a list of related data"},field:{d:"is either the label of the column in double quotation marks or a number that represents the column's position in the list"},criteria:{d:"is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition"}},h:"Unimplemented"},DSUM:{s:"Adds the numbers in the field (column) of records in the database that match the conditions you specify",p:{database:{d:"is the range of cells that makes up the list or database. A database is a list of related data"},field:{d:"is either the label of the column in double quotation marks or a number that represents the column's position in the list"},criteria:{d:"is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition"}},h:"Unimplemented"},DVAR:{s:"Estimates variance based on a sample from selected database entries",p:{database:{d:"is the range of cells that makes up the list or database. A database is a list of related data"},field:{d:"is either the label of the column in double quotation marks or a number that represents the column's position in the list"},criteria:{d:"is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition"}},h:"Unimplemented"},DVARP:{s:"Calculates variance based on the entire population of selected database entries",p:{database:{d:"is the range of cells that makes up the list or database. A database is a list of related data"},field:{d:"is either the label of the column in double quotation marks or a number that represents the column's position in the list"},criteria:{d:"is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition"}},h:"Unimplemented"}};export{e as default};
@@ -1,7 +0,0 @@
1
- /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.4.12
3
- *
4
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
- * License: The license can be found at https://www.sheetxl.com/license.
6
- */
7
- const e={DELTA:{s:"Tests whether two numbers are equal",p:{number1:{d:"is the first number"},number2:{d:"is the second number",v:0}}},GESTEP:{s:"Tests whether a number is greater than a threshold value",p:{number:{d:"is the value to test against step"},step:{d:"is the threshold value",v:0}}}};export{e as default};
@@ -1,7 +0,0 @@
1
- /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.4.12
3
- *
4
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
- * License: The license can be found at https://www.sheetxl.com/license.
6
- */
7
- const e={BIN2DEC:{s:"Converts a binary number to decimal",p:{number:{d:"is the binary number you want to convert"}}},BIN2HEX:{s:"Converts a binary number to hexadecimal",p:{number:{d:"is the binary number you want to convert"},places:{d:"is the number of characters to use"}}},BIN2OCT:{s:"Converts a binary number to octal",p:{number:{d:"is the binary number you want to convert"},places:{d:"is the number of characters to use"}}},BITAND:{s:"Returns a bitwise 'And' of two numbers",p:{number1:{d:"is the decimal representation of the binary number you want to evaluate"},number2:{d:"is the decimal representation of the binary number you want to evaluate"}}},BITLSHIFT:{s:"Returns a number shifted left by shift_amount bits",p:{number:{d:"is the decimal representation of the binary number you want to evaluate"},shiftAmount:{d:"is the number of bits that you want to shift Number left by"}}},BITOR:{s:"Returns a bitwise 'Or' of two numbers",p:{number1:{d:"is the decimal representation of the binary number you want to evaluate"},number2:{d:"is the decimal representation of the binary number you want to evaluate"}}},BITRSHIFT:{s:"Returns a number shifted right by shift_amount bits",p:{number:{d:"is the decimal representation of the binary number you want to evaluate"},shiftAmount:{d:"is the number of bits that you want to shift Number left by"}}},BITXOR:{s:"Returns a bitwise 'Exclusive Or' of two numbers",p:{number1:{d:"is the decimal representation of the binary number you want to evaluate"},number2:{d:"is the decimal representation of the binary number you want to evaluate"}}},DEC2BIN:{s:"Converts a decimal number to binary",p:{number:{d:"is the decimal integer you want to convert"},places:{d:"is the number of characters to use"}}},DEC2HEX:{s:"Converts a decimal number to hexadecimal",p:{number:{d:"is the decimal integer you want to convert"},places:{d:"is the number of characters to use"}}},DEC2OCT:{s:"Converts a decimal number to octal",p:{number:{d:"is the decimal integer you want to convert"},places:{d:"is the number of characters to use"}}},HEX2BIN:{s:"Converts a Hexadecimal number to binary",p:{number:{d:"is the hexadecimal number you want to convert"},places:{d:"is the number of characters to use"}}},HEX2DEC:{s:"Converts a hexadecimal number to decimal",p:{number:{d:"is the hexadecimal number you want to convert"}}},HEX2OCT:{s:"Converts a hexadecimal number to octal",p:{number:{d:"is the hexadecimal number you want to convert"},places:{d:"is the number of characters to use"}}},OCT2BIN:{s:"Converts an octal number to binary",p:{number:{d:"is the octal number you want to convert"},places:{d:"is the number of characters to use"}}},OCT2DEC:{s:"Converts an octal number to decimal",p:{number:{d:"is the octal number you want to convert"}}},OCT2HEX:{s:"Converts an octal number to hexadecimal",p:{number:{d:"is the octal number you want to convert"},places:{d:"is the number of characters to use"}}}};export{e as default};
@@ -1,7 +0,0 @@
1
- /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.4.12
3
- *
4
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
- * License: The license can be found at https://www.sheetxl.com/license.
6
- */
7
- const e={ABS:{s:"Returns the absolute value of a number, a number without its sign",p:{number:{d:"is the real number for which you want the absolute value"}}},AGGREGATE:{s:"Returns information about the cell.",p:{functionNum:{d:"Is the number 1 to 19 that specifies the summary function for the aggregate."},options:{d:"Is the number 0 to 78 that specified the values to ignore for the aggregate."},array:{d:"Is the array or range of numerical data on which to calculate the aggregate."},K:{d:"indicates the position of the array; it is k-th largest, k-th smallest, k-th percentile, or k-th quartile."}},h:"Unimplemented"},ARABIC:{s:"Converts a Roman numeral to Arabic",p:{text:{d:"is the Roman numeral you want to convert"}}},BASE:{s:"Converts a number into a text representation with the given radix (base)",p:{number:{d:"is the number that you want to convert"},radix:{d:"is the base Radix that you want to convert the number into"},minLength:{d:"is the minimum length of the returned string",v:0}}},CEILING:{s:"Rounds a number up, to the nearest multiple of significance",p:{number:{d:"is the value you want to round"},significance:{d:"is the multiple to which you want to round",v:"undefined"}},c:"Compatible"},"CEILING.MATH":{s:"Rounds a number up, to the nearest integer or to the nearest multiple of significance",p:{number:{d:"is the real number you want to round"},significance:{d:"when given and nonzero this function will round away from zero",v:"undefined"},mode:{v:0}}},"CEILING.PRECISE":{s:"Rounds a number up to the nearest integer or to the nearest multiple of significance",p:{number:{d:"is the real number you want to round"},significance:{d:"is the multiple to which you want to round",v:1}},c:"Compatible"},COMBIN:{s:"Returns the number of combinations for a given number of items",p:{number:{d:"is the total number of items"},numberChosen:{d:"is the number of items in each combination"}}},COMBINA:{s:"Returns the number of combinations with repetitions for a given number of items",p:{number:{d:"is the total number of items"},numberChosen:{d:"is the number of items in each combination"}}},DECIMAL:{s:"Converts a text representation of a number in a given base into a decimal number",p:{number:{d:"is the number that you want to convert"},radix:{d:"is the base Radix of the number you are converting"}}},DEGREES:{s:"Converts radians to degrees",p:{angle:{d:"is the angle in radians that you want to convert"}}},EVEN:{s:"Rounds a positive number up and negative number down to the nearest even integer",p:{number:{d:"is the value to round"}}},EXP:{s:"Returns e raised to the power of a given number",p:{number:{d:"is the exponent applied to the base e. The constant e equals 2.71828182845904, the base of the natural logarithm"}}},FACT:{s:"Returns the factorial of a number, equal to 1*2*3*...* Number",p:{number:{d:"is the nonnegative number you want the factorial of"}}},FACTDOUBLE:{s:"Returns the double factorial of a number",p:{number:{d:"is the value for which to return the double factorial"}}},FLOOR:{s:"Rounds a number down to the nearest multiple of significance",p:{number:{d:"is the real number you want to round"},significance:{d:"is the multiple to which you want to round. Number and Significance must either both be positive or both be negative",v:"undefined"}},c:"Compatible"},"FLOOR.MATH":{s:"Rounds a number down, to the nearest integer or to the nearest multiple of significance",p:{number:{d:"is the real number you want to round"},significance:{d:"is the multiple to which you want to round",v:"undefined"},mode:{d:"when given and nonzero this function will round towards zero",v:0}}},"FLOOR.PRECISE":{s:"Rounds a number down to the nearest integer or to the nearest multiple of significance",p:{number:{d:"is the real number you want to round"},significance:{d:"is the multiple to which you want to round",v:1}}},GCD:{s:"Returns the greatest common divisor",p:{number:{d:"number1,number2,... are 1 to 255 values"}}},INT:{s:"Rounds a number down to the nearest integer",p:{number:{d:"is the real number you want to round down to an integer"}}},"ISO.CEILING":{s:"Rounds a number up to the nearest integer",p:{number:{d:"is the real number you want to round up to an integer"},significance:{d:"is the multiple to which you want to round number",v:"undefined"}},c:"Compatible"},LCM:{s:"Returns the least common multiple",p:{number:{d:"number1,number2,... are 1 to 255 values for which you want the least common multiple"}}},LN:{s:"Returns the natural logarithm of a number",p:{number:{d:"is the positive real number for which you want the natural logarithm"}}},LOG:{s:"Returns the logarithm of a number to the base you specify",p:{number:{d:"is the positive real number for which you want the logarithm"},base:{d:"is the base of the logarithm",v:10}}},LOG10:{s:"Returns the base-10 logarithm of a number",p:{number:{d:"is the positive real number for which you want the base-10 logarithm"}}},MDETERM:{s:"Returns the matrix determinant of an array",p:{array:{d:"is a numeric array with an equal number of rows and columns, either a cell range or an array constant"}}},MINVERSE:{s:"Returns the inverse matrix for the matrix stored in an array",p:{array:{d:"is a numeric array with an equal number of rows and columns, either a cell range or an array constant"}}},MMULT:{s:"Returns the matrix product of two arrays, an array with the same number of rows as array1 and columns as array2",p:{array1:{d:"is the first array of numbers to multiply and must have the same number of columns as Array2 has rows"},array2:{d:"is the second array of numbers to multiply and must have the same number of columns as Array1 has rows"}}},MOD:{s:"Returns the remainder after a number is divided by a divisor",p:{number:{d:"is the number for which you want to find the remainder after the division is performed"},divisor:{d:"is the number by which you want to divide Number"}}},MROUND:{s:"Returns a number rounded to the desired multiple",p:{number:{d:"is the value to round"},multiple:{d:"is the multiple to which you want to round number"}}},MULTINOMIAL:{s:"Returns the multinomial of a set of numbers",p:{number:{d:"number1,number2,... are 1 to 255 values for which you want the multinomial"}}},MUNIT:{s:"Returns the unit matrix for the specified dimension",p:{dimension:{d:"is an integer specifying the dimension of the unit matrix that you want to return"}}},ODD:{s:"Rounds a positive number up and negative number down to the nearest odd integer",p:{number:{d:"is the value to round"}}},PI:{s:"Returns the value of Pi, 3.14159265358979, accurate to 15 digits",p:{}},POWER:{s:"Returns the result of a number raised to a power",p:{number:{d:"is the base number, any real number"},power:{d:"is the exponent, to which the base number is raised"}}},PRODUCT:{s:"Multiplies all the numbers given as arguments",p:{number:{d:"number1,number2,... are 1 to 255 numbers, logical values, or text representations of numbers that you want to multiply"}}},QUOTIENT:{s:"Returns the integer portion of a division",p:{numerator:{d:"is the dividend"},denominator:{d:"is the divisor"}}},RADIANS:{s:"Converts degrees to radians",p:{angle:{d:"is an angle in degrees that you want to convert"}}},RAND:{s:"Returns a random number greater than or equal to 0 and less than 1, evenly distributed (changes on recalculation)",p:{}},RANDARRAY:{s:"Returns an array of random numbers",p:{rows:{d:"the number of rows in the returned array",v:1},columns:{d:"the number of columns in the returned array",v:1},min:{d:"the minimum number you would like returned",v:0},max:{d:"the maximum number you would like returned",v:1},integer:{d:"return an integer or a decimal value. TRUE for an integer, FALSE for a decimal number",v:!1}}},RANDBETWEEN:{s:"Returns a random number between the numbers you specify",p:{bottom:{d:"is the smallest integer RANDBETWEEN will return"},top:{d:"is the largest integer RANDBETWEEN will return"}}},ROMAN:{s:"Converts an Arabic numeral to Roman, as text",p:{number:{d:"is the Arabic numeral you want to convert"},form:{d:"is the number specifying the type of Roman numeral you want.",v:0}}},ROUND:{s:"Rounds a number to a specified number of digits",p:{number:{d:"is the number you want to round"},numDigits:{d:"is the number of digits to which you want to round. Negative rounds to the left of the decimal point to the nearest integer"}}},ROUNDDOWN:{s:"Rounds a number down, toward zero",p:{number:{d:"is any real number that you want rounded down"},numDigits:{d:"is the number of digits to which you want to round. Negative rounds to the left of the decimal point to the nearest integer"}}},ROUNDUP:{s:"Rounds a number up, away from zero",p:{number:{d:"is any real number that you want rounded up"},numDigits:{d:"is the number of digits to which you want to round. Negative rounds to the left of the decimal point to the nearest integer"}}},SEQUENCE:{s:"Returns a sequence of numbers",p:{rows:{d:"the number of rows to return"},columns:{d:"the number of columns to return",v:1},start:{d:"the first number in the sequence",v:1},step:{d:"the amount to increment each subsequent value in the sequence",v:1}}},SERIESSUM:{s:"Returns the sum of a power series based on the formula",p:{x:{d:"is the input value to the power series"},n:{d:"is the initial power to which you want to raise x"},m:{d:"is the step by which to increase n for each term in the series"},coefficients:{d:"is a set of coefficients by which each successive power of x is multiplied"}}},SIGN:{s:"Returns the sign of a number: 1 if the number is positive, zero if the number is zero, or -1 if the number is negative",p:{number:{d:"is any real number"}}},SQRT:{s:"Returns the square root of a number",p:{number:{d:"is the number for which you want the square root"}}},SQRTPI:{s:"Returns the square root of (number * Pi)",p:{number:{d:"is the number by which p is multiplied"}}},SUBTOTAL:{s:"Returns a subtotal in a list or database",p:{functionNum:{d:"is the number 1 to 11 that specifies the summary function for the subtotal."},ref:{d:"ref1,ref2,... are 1 to 254 ranges or references for which you want the subtotal"}},h:"Unimplemented"},SUM:{s:"Adds all the numbers in a range of cells",p:{number:{d:"number1,number2,... are 1 to 255 numbers to sum. Logical values and text are ignored in cells, included if typed as arguments"}}},SUMIF:{s:"Adds the cells specified by a given condition or criteria",p:{range:{d:"is the range of cells you want evaluated"},criteria:{d:"is the condition or criteria in the form of a number, expression, or text that defines which cells will be added"},sumRange:{d:"are the actual cells to sum. If omitted, the cells in range are used"}},h:"Unimplemented"},SUMIFS:{s:"Adds the cells specified by a given set of conditions or criteria",p:{sumRange:{d:"are the actual cells to sum."},criteriaRange:{d:"criteria_range1,criteria_range2,... is the range of cells you want evaluated for the particular condition"},criteria:{d:"criteria1,criteria2,... is the condition or criteria in the form of a number, expression, or text that defines which cells will be added"}},h:"Unimplemented"},SUMPRODUCT:{s:"Returns the sum of the products of corresponding ranges or arrays",p:{array1:{d:"array1,array2,... are 2 to 255 arrays for which you want to multiply and then add components. All arrays must have the same dimensions"},rest:{}}},SUMSQ:{s:"Returns the sum of the squares of the arguments. The arguments can be numbers, arrays, names, or references to cells that contain numbers",p:{number:{d:"number1,number2,... are 1 to 255 numbers, arrays, names, or references to arrays for which you want the sum of the squares"}}},SUMX2MY2:{s:"Sums the differences between the squares of two corresponding ranges or arrays",p:{arrayX:{d:"is the first range or array of numbers and can be a number or name, array, or reference that contains numbers"},arrayY:{d:"is the second range or array of numbers and can be a number or name, array, or reference that contains numbers"}}},SUMX2PY2:{s:"Returns the sum total of the sums of squares of numbers in two corresponding ranges or arrays",p:{arrayX:{d:"is the first range or array of numbers and can be a number or name, array, or reference that contains numbers"},arrayY:{d:"is the second range or array of numbers and can be a number or name, array, or reference that contains numbers"}}},SUMXMY2:{s:"Sums the squares of the differences in two corresponding ranges or arrays",p:{arrayX:{d:"is the first range or array of numbers and can be a number or name, array, or reference that contains numbers"},arrayY:{d:"is the second range or array of numbers and can be a number or name, array, or reference that contains numbers"}}},TRUNC:{s:"Truncates a number to an integer by removing the decimal, or fractional, part of the number",p:{number:{d:"is the number you want to truncate"},numDigits:{d:"is a number specifying the precision of the truncation",v:0}}}};export{e as default};