@sheetxl/sdk 0.1.98

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 (106) hide show
  1. package/LICENSE.md +11 -0
  2. package/README.md +30 -0
  3. package/build/browser/cjs/7Yh1PqgSd93uKFOq.cjs +6 -0
  4. package/build/browser/cjs/AbBzPqrBe_7Scafy.cjs +6 -0
  5. package/build/browser/cjs/B2jt9h-29UhlG-ir.cjs +6 -0
  6. package/build/browser/cjs/BAY6G2idlFTr3aXF.cjs +6 -0
  7. package/build/browser/cjs/BJAOd8ki61yYMUO8.cjs +6 -0
  8. package/build/browser/cjs/BNfn1no9QwiHEFwd.cjs +6 -0
  9. package/build/browser/cjs/BUkgy8lQRuxtyPlh.cjs +6 -0
  10. package/build/browser/cjs/B_O3B0P2cyGD9Rbm.cjs +6 -0
  11. package/build/browser/cjs/BkmEUMAKvuzsSqbR.cjs +7 -0
  12. package/build/browser/cjs/BlllxPbkhoY0sEC4.cjs +23 -0
  13. package/build/browser/cjs/BmT4qU5bgAIPFNTH.cjs +124 -0
  14. package/build/browser/cjs/BqZnbFL2t1u1XgPn.cjs +6 -0
  15. package/build/browser/cjs/Bs6xUWpBc0gC2FqH.cjs +6 -0
  16. package/build/browser/cjs/Bsv5BCVCW5dIA5It.cjs +1511 -0
  17. package/build/browser/cjs/ByZLM15SpxjqWDYX.cjs +6 -0
  18. package/build/browser/cjs/CaHv2p0pVvOc7XPO.cjs +42 -0
  19. package/build/browser/cjs/CcIliks7z_TMUXOM.cjs +6 -0
  20. package/build/browser/cjs/CpbUnis3pqWrW9H4.cjs +11 -0
  21. package/build/browser/cjs/CvGHijwHYOsCppoo.cjs +6 -0
  22. package/build/browser/cjs/D5m2Wlak7m4vG0kA.cjs +6 -0
  23. package/build/browser/cjs/DSNXa0HNC7bG9qZw.cjs +6 -0
  24. package/build/browser/cjs/DZ-H3oz78Mjq38DI.cjs +6 -0
  25. package/build/browser/cjs/Da34iNTZrWBA6OUT.cjs +6 -0
  26. package/build/browser/cjs/DfMNPyGio0O0RToU.cjs +6 -0
  27. package/build/browser/cjs/Dghi8Yq5nXZtUpoV.cjs +80 -0
  28. package/build/browser/cjs/Dk63Co0TJejVtNXp.cjs +6 -0
  29. package/build/browser/cjs/ErSjtO5fMJzUVHk4.cjs +6 -0
  30. package/build/browser/cjs/G-xZJIN6jjcTuQXA.cjs +6 -0
  31. package/build/browser/cjs/GPfZ0ZpBee250ywR.cjs +20 -0
  32. package/build/browser/cjs/IHypcrtWCiX_F0RJ.cjs +11 -0
  33. package/build/browser/cjs/X-HIF0659hMdI4Fu.cjs +6 -0
  34. package/build/browser/cjs/index.cjs +6 -0
  35. package/build/browser/cjs/qhBvSFMQ_DepDCwv.cjs +6 -0
  36. package/build/browser/cjs/wYOZ6mjOO7MbdyBZ.cjs +6 -0
  37. package/build/browser/esm/70LlV-Ub5gQiHal4.mjs +10 -0
  38. package/build/browser/esm/71Qocy3xStWv_56t.mjs +10 -0
  39. package/build/browser/esm/B9-WgxZWcZj4jdUC.mjs +10 -0
  40. package/build/browser/esm/BAKRnfUqPzHyyiLx.mjs +3966 -0
  41. package/build/browser/esm/BChNW8QNTMP8QXKM.mjs +484 -0
  42. package/build/browser/esm/BCzBxiWxCFs-jcmK.mjs +5651 -0
  43. package/build/browser/esm/BOn1aDBCyrMSMmVr.mjs +10 -0
  44. package/build/browser/esm/BPqJ7trmE53kA4iD.mjs +10 -0
  45. package/build/browser/esm/B_XqbIeKalrEkjs7.mjs +10 -0
  46. package/build/browser/esm/B_b5FIYJnm4UKAEc.mjs +28 -0
  47. package/build/browser/esm/BoWGCLoCBi99JpFs.mjs +10 -0
  48. package/build/browser/esm/Bq9W-xButcfpjGEk.mjs +433 -0
  49. package/build/browser/esm/ByxOyRbOjkmiHT8z.mjs +10 -0
  50. package/build/browser/esm/CAxIV1vPiKW9r_Yh.mjs +10 -0
  51. package/build/browser/esm/CFw23OkHfPquoVEk.mjs +10 -0
  52. package/build/browser/esm/CG8a93kgahRemVJe.mjs +10 -0
  53. package/build/browser/esm/CN45di2IcbM8P0Qu.mjs +10 -0
  54. package/build/browser/esm/COgfNXNmX_PF_eWZ.mjs +35 -0
  55. package/build/browser/esm/CPv7OpinaYcwbA_W.mjs +10 -0
  56. package/build/browser/esm/Cfhp3FCr7wP0Rnfu.mjs +10 -0
  57. package/build/browser/esm/D4GeLOfATuEzvjPr.mjs +1586 -0
  58. package/build/browser/esm/DMas1DZMe9F5tPaN.mjs +23970 -0
  59. package/build/browser/esm/DS4xBjO2TN0rQ1lJ.mjs +10 -0
  60. package/build/browser/esm/DTM0pK30PrZRsXYw.mjs +10 -0
  61. package/build/browser/esm/DgslJ1_vlPooGZHU.mjs +10 -0
  62. package/build/browser/esm/DmEPCZ9FSKO_TRTA.mjs +10 -0
  63. package/build/browser/esm/Do_EO3eQIyPgc7uz.mjs +30 -0
  64. package/build/browser/esm/ERMewE78C__HUblm.mjs +10 -0
  65. package/build/browser/esm/Qib5_XvQHWOPzGrm.mjs +10 -0
  66. package/build/browser/esm/SSYRYFzxzHWQzdAN.mjs +12 -0
  67. package/build/browser/esm/V_ha0oCA5_oDPanz.mjs +832 -0
  68. package/build/browser/esm/gTh1PiesKrQblf8O.mjs +10 -0
  69. package/build/browser/esm/g_p1uVDePbDJJ4nX.mjs +10 -0
  70. package/build/browser/esm/index.mjs +89 -0
  71. package/build/licenses/dependencies.txt +1239 -0
  72. package/build/node/esm/4HPektqH91Rh-rsq.mjs +2445 -0
  73. package/build/node/esm/70LlV-Ub5gQiHal4.mjs +10 -0
  74. package/build/node/esm/B9-WgxZWcZj4jdUC.mjs +10 -0
  75. package/build/node/esm/BDxewg-utn4BhUXl.mjs +35 -0
  76. package/build/node/esm/BPqJ7trmE53kA4iD.mjs +10 -0
  77. package/build/node/esm/BUOg554dxBM0VWFi.mjs +22 -0
  78. package/build/node/esm/B_XqbIeKalrEkjs7.mjs +10 -0
  79. package/build/node/esm/BoWGCLoCBi99JpFs.mjs +10 -0
  80. package/build/node/esm/ByxOyRbOjkmiHT8z.mjs +10 -0
  81. package/build/node/esm/CFw23OkHfPquoVEk.mjs +10 -0
  82. package/build/node/esm/CG8a93kgahRemVJe.mjs +10 -0
  83. package/build/node/esm/CN45di2IcbM8P0Qu.mjs +10 -0
  84. package/build/node/esm/CNOiP4baOWSizP6F.mjs +1070 -0
  85. package/build/node/esm/CPv7OpinaYcwbA_W.mjs +10 -0
  86. package/build/node/esm/CVAFJAiy4lznWzaG.mjs +10 -0
  87. package/build/node/esm/CZd8SSXlusZy49FM.mjs +10 -0
  88. package/build/node/esm/CZw7SgmfxSHhZZe0.mjs +10 -0
  89. package/build/node/esm/Cdjab80o1WocCHgN.mjs +13 -0
  90. package/build/node/esm/CfWoSrOmaP9LrFja.mjs +466 -0
  91. package/build/node/esm/CnaBpzYiURAKhAxF.mjs +825 -0
  92. package/build/node/esm/Cp5ea9Hpxse8B4mC.mjs +10 -0
  93. package/build/node/esm/DH_fbhyW3PwE1rYa.mjs +10 -0
  94. package/build/node/esm/DNHqdv3-ufdcF5zc.mjs +20 -0
  95. package/build/node/esm/DS4xBjO2TN0rQ1lJ.mjs +10 -0
  96. package/build/node/esm/DTM0pK30PrZRsXYw.mjs +10 -0
  97. package/build/node/esm/DlFgt0KLeXDowatv.mjs +10 -0
  98. package/build/node/esm/ERMewE78C__HUblm.mjs +10 -0
  99. package/build/node/esm/GTFYlX2Atw10TdFe.mjs +86 -0
  100. package/build/node/esm/Qib5_XvQHWOPzGrm.mjs +10 -0
  101. package/build/node/esm/gTh1PiesKrQblf8O.mjs +10 -0
  102. package/build/node/esm/g_p1uVDePbDJJ4nX.mjs +10 -0
  103. package/build/node/esm/index.mjs +23412 -0
  104. package/build/package.json +58 -0
  105. package/build/types/index.d.ts +20624 -0
  106. package/package.json +85 -0
@@ -0,0 +1,3966 @@
1
+ import { n as E, F as w, h as Lt, M as k, w as $, Y as An, T as zt } from "./DMas1DZMe9F5tPaN.mjs";
2
+ /**
3
+ * @license @sheetxl/sdk - A high-performance, embeddable spreadsheet engine. - v0.0.0
4
+ *
5
+ * (C) 2025-present SheetXL Inc. & Michael T. Ford
6
+ * License: The license can be found at https://www.sheetxl.com/license.
7
+ */
8
+ const Wt = Object.freeze(Object.defineProperty({ __proto__: null, CUBEKPIMEMBER: function(t, n, e, o) {
9
+ }, CUBEMEMBER: function(t, n, e) {
10
+ }, CUBEMEMBERPROPERTY: function(t, n, e) {
11
+ }, CUBERANKEDMEMBER: function(t, n, e, o) {
12
+ }, CUBESET: function(t, n, e, o, i) {
13
+ }, CUBESETCOUNT: function(t) {
14
+ }, CUBEVALUE: function(t, ...n) {
15
+ } }, Symbol.toStringTag, { value: "Module" })), jt = Object.freeze(Object.defineProperty({ __proto__: null, DAVERAGE: function(t, n, e) {
16
+ }, DCOUNT: function(t, n, e) {
17
+ }, DCOUNTA: function(t, n, e) {
18
+ }, DGET: function(t, n, e) {
19
+ }, DMAX: function(t, n, e) {
20
+ }, DMIN: function(t, n, e) {
21
+ }, DPRODUCT: function(t, n, e) {
22
+ }, DSTDEV: function(t, n, e) {
23
+ }, DSTDEVP: function(t, n, e) {
24
+ }, DSUM: function(t, n, e) {
25
+ }, DVAR: function(t, n, e) {
26
+ }, DVARP: function(t, n, e) {
27
+ } }, Symbol.toStringTag, { value: "Module" })), H = { NUMBER: 0, ARRAY: 1, BOOLEAN: 2, STRING: 3, RANGE_REF: 4, CELL_REF: 5, NUMBER_NO_BOOLEAN: 10 }, ln = new class {
28
+ constructor() {
29
+ this.Types = H, this.type2Number = { number: H.NUMBER, boolean: H.BOOLEAN, string: H.STRING, object: -1 };
30
+ }
31
+ flattenDeep(t) {
32
+ return Array.isArray(t) || (console.log("flattenDeep invalid arg", t), t = [t]), t.reduce((n, e) => Array.isArray(e) ? n.concat(this.flattenDeep(e)) : n.concat(e), []);
33
+ }
34
+ acceptNumber(t, n = !0, e = !0) {
35
+ if (t instanceof E.Known) return t;
36
+ let o;
37
+ if (typeof t == "number") o = t;
38
+ else if (typeof t == "boolean") {
39
+ if (!e) throw E.BuiltIn.Value;
40
+ o = Number(t);
41
+ } else if (typeof t == "string") {
42
+ if (t.length === 0) throw E.BuiltIn.Value;
43
+ if (o = Number(t), o != o) throw E.BuiltIn.Value;
44
+ } else if (t?.isIRange) {
45
+ const i = t;
46
+ if (n) o = this.acceptNumber(i.getValueAt(0, 0) ?? 0);
47
+ else {
48
+ if (i.size !== 1) throw E.BuiltIn.Value;
49
+ o = this.acceptNumber(i.getValueAt(0, 0) ?? 0);
50
+ }
51
+ } else {
52
+ if (!Array.isArray(t)) throw new E.Value("Unknown type in FormulaHelpers.acceptNumber");
53
+ if (n) o = this.acceptNumber(t[0][0]);
54
+ else {
55
+ if (t[0].length !== 1) throw E.BuiltIn.Value;
56
+ o = this.acceptNumber(t[0][0]);
57
+ }
58
+ }
59
+ return o;
60
+ }
61
+ flattenParams(t, n, e, o, i = null, c = 1) {
62
+ if (t.length < c) throw new E.NA(`Argument type ${n} is missing.`);
63
+ i == null && (i = n === H.NUMBER ? 0 : n == null ? null : ""), t.forEach((l) => {
64
+ const { isCellRef: r, isRangeRef: u, isArray: a } = l;
65
+ let f = l.value;
66
+ const s = !1, m = !(r || u || a), p = { isLiteral: m, isCellRef: r, isRangeRef: u, isArray: a, isUnion: s };
67
+ f?.isIRange && (f = f.getValues(), r && (f = f[0][0])), m ? (l = l.omitted ? i : this.accept(l, n, i), o(l, p)) : r ? o(f, p) : (u || a) && (l = this.flattenDeep(f)).forEach((g) => {
68
+ o(g, p);
69
+ });
70
+ });
71
+ }
72
+ accept(t, n = null, e = void 0, o = !0, i = !1) {
73
+ let c = !1;
74
+ if (t && (t.isIRange || t.value?.isIRange)) {
75
+ const r = t.value ?? t;
76
+ r.size === 1 || n !== H.ARRAY ? t = r.getValueAt(0, 0) : (t = r.getValueAt(), c = !0);
77
+ } else t?.value && (c = t.isArray, t = t.value);
78
+ if (Array.isArray(n) && (n = n[0]), t == null) {
79
+ if (e === void 0) throw new E.NA(`Argument type ${n} is missing.`);
80
+ return e;
81
+ }
82
+ if (n == null) return t;
83
+ if (t instanceof E.Known) throw t;
84
+ if (n === H.ARRAY) {
85
+ if (Array.isArray(t)) return o ? this.flattenDeep(t) : t;
86
+ if (Array.isArray(t.value)) for (let r = 0; r < t.value.length; r++)
87
+ t.value[r] === null && (t.value[r] = e);
88
+ else {
89
+ if (i) return o ? [t] : [[t]];
90
+ if (t.value === null) return o ? [e] : [[e]];
91
+ }
92
+ throw E.BuiltIn.Value;
93
+ }
94
+ c && (t = t[0][0]);
95
+ const l = this.type(t);
96
+ if (n === H.STRING) t = l === H.BOOLEAN ? t ? "TRUE" : "FALSE" : `${t}`;
97
+ else if (n === H.BOOLEAN) {
98
+ if (l === H.STRING) throw E.BuiltIn.Value;
99
+ l === H.NUMBER && (t = !!t);
100
+ } else if (n === H.NUMBER) t = this.acceptNumber(t, !1);
101
+ else {
102
+ if (n !== H.NUMBER_NO_BOOLEAN) throw E.BuiltIn.Value;
103
+ t = this.acceptNumber(t, !1, !1);
104
+ }
105
+ return t;
106
+ }
107
+ type(t) {
108
+ if (t.isIRange) return H.RANGE_REF;
109
+ let n = this.type2Number[typeof t];
110
+ return n === -1 && (Array.isArray(t) ? n = H.ARRAY : t.ref && (n = t.ref.from ? H.RANGE_REF : H.CELL_REF)), n;
111
+ }
112
+ }(), vn = 864e5, Hn = new Date(Date.UTC(1900, 0, 1)), Kt = [void 0, 0, 1, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, 1, 2, 3, 4, 5, 6, 0], $t = [void 0, [1, 2, 3, 4, 5, 6, 7], [7, 1, 2, 3, 4, 5, 6], [6, 0, 1, 2, 3, 4, 5], void 0, void 0, void 0, void 0, void 0, void 0, void 0, [7, 1, 2, 3, 4, 5, 6], [6, 7, 1, 2, 3, 4, 5], [5, 6, 7, 1, 2, 3, 4], [4, 5, 6, 7, 1, 2, 3], [3, 4, 5, 6, 7, 1, 2], [2, 3, 4, 5, 6, 7, 1], [1, 2, 3, 4, 5, 6, 7]], Pt = [void 0, [6, 0], [0, 1], [1, 2], [2, 3], [3, 4], [4, 5], [5, 6], void 0, void 0, void 0, [0], [1], [2], [3], [4], [5], [6]], Qt = /^\s*(\d\d?)\s*(:\s*\d\d?)?\s*(:\s*\d\d?)?\s*(pm|am)?\s*$/i, Zt = /^\s*((\d\d?)\s*([-/])\s*(\d\d?))([\d:.apm\s]*)$/i, Jt = /^\s*((\d\d?)\s*([-/])\s*(jan\w*|feb\w*|mar\w*|apr\w*|may\w*|jun\w*|jul\w*|aug\w*|sep\w*|oct\w*|nov\w*|dec\w*))([\d:.apm\s]*)$/i, ne = /^\s*((jan\w*|feb\w*|mar\w*|apr\w*|may\w*|jun\w*|jul\w*|aug\w*|sep\w*|oct\w*|nov\w*|dec\w*)\s*([-/])\s*(\d\d?))([\d:.apm\s]*)$/i;
113
+ function bn(t) {
114
+ let n = t.getTime?.() ?? t;
115
+ const e = n > -22038912e5 ? 2 : 1;
116
+ return Math.floor((n - Hn.getTime()) / 864e5) + e;
117
+ }
118
+ function te(t) {
119
+ if (t instanceof Date) return { date: t };
120
+ let n, e = !0;
121
+ return isNaN(t) ? (n = function(o) {
122
+ const i = o.match(Qt);
123
+ if (!i) return;
124
+ const c = i[2] ? i[2] : ":00", l = i[3] ? i[3] : ":00", r = i[4] ? " " + i[4] : "", u = new Date(Date.parse(`1/1/1900 ${i[1] + c + l + r} UTC`));
125
+ let a = /* @__PURE__ */ new Date();
126
+ return a = new Date(Date.UTC(a.getFullYear(), a.getMonth(), a.getDate(), a.getHours(), a.getMinutes(), a.getSeconds(), a.getMilliseconds())), new Date(Date.UTC(a.getUTCFullYear(), a.getUTCMonth(), a.getUTCDate(), u.getUTCHours(), u.getUTCMinutes(), u.getUTCSeconds(), u.getUTCMilliseconds()));
127
+ }(t), n ? e = !1 : n = function(o) {
128
+ const i = o.match(Zt), c = o.match(Jt), l = o.match(ne);
129
+ return i ? o = i[1] + i[3] + (/* @__PURE__ */ new Date()).getFullYear() + i[5] : c ? o = c[1] + c[3] + (/* @__PURE__ */ new Date()).getFullYear() + c[5] : l && (o = l[1] + l[3] + (/* @__PURE__ */ new Date()).getFullYear() + l[5]), new Date(Date.parse(`${o} UTC`));
130
+ }(t)) : n = function(o) {
131
+ if (o < 0) throw E.BuiltIn.Value;
132
+ return o <= 60 ? new Date(Hn.getTime() + 864e5 * (o - 1)) : new Date(Hn.getTime() + 864e5 * (o - 2));
133
+ }(t = Number(t)), { date: n, isDateGiven: e };
134
+ }
135
+ function Y(t) {
136
+ return te(t).date;
137
+ }
138
+ function Gn(t, n) {
139
+ return t.getUTCFullYear() === n.getUTCFullYear() && t.getUTCMonth() === n.getUTCMonth() && t.getUTCDate() === n.getUTCDate();
140
+ }
141
+ function en(t, n, e) {
142
+ const o = w.fromOADate(t), i = w.fromOADate(n);
143
+ if (e = e.toLowerCase(), t > n) return Number.NaN;
144
+ const c = i.getUTCFullYear() - o.getUTCFullYear(), l = i.getUTCMonth() - o.getUTCMonth(), r = i.getUTCDate() - o.getUTCDate();
145
+ let u;
146
+ switch (e) {
147
+ case "y":
148
+ return u = l < 0 || l === 0 && r < 0 ? -1 : 0, u + c;
149
+ case "m":
150
+ return u = r < 0 ? -1 : 0, 12 * c + l + u;
151
+ case "d":
152
+ return Math.floor(i.getTime() - o.getTime()) / vn;
153
+ case "md":
154
+ return o.setUTCFullYear(i.getUTCFullYear()), r < 0 ? o.setUTCMonth(i.getUTCMonth() - 1) : o.setUTCMonth(i.getUTCMonth()), Math.floor(i.getTime() - o.getTime()) / vn;
155
+ case "ym":
156
+ return u = r < 0 ? -1 : 0, (u + 12 * c + l) % 12;
157
+ case "yd":
158
+ return l < 0 || l === 0 && r < 0 ? o.setUTCFullYear(i.getUTCFullYear() - 1) : o.setUTCFullYear(i.getUTCFullYear()), Math.floor(i.getTime() - o.getTime()) / vn;
159
+ }
160
+ }
161
+ function rn(t, n) {
162
+ return Math.trunc(t) - Math.trunc(n);
163
+ }
164
+ function on(t, n, e = !1) {
165
+ const o = w.fromOADate(t), i = w.fromOADate(n);
166
+ o.getUTCDate() === 31 && o.setUTCDate(30), !e && o.getUTCDate() < 30 && i.getUTCDate() > 30 ? i.setUTCMonth(i.getUTCMonth() + 1, 1) : i.getUTCDate() === 31 && i.setUTCDate(30);
167
+ const c = i.getUTCFullYear() - o.getUTCFullYear();
168
+ return 30 * (i.getUTCMonth() - o.getUTCMonth()) + (i.getUTCDate() - o.getUTCDate()) + 12 * c * 30;
169
+ }
170
+ function zn(t) {
171
+ const n = Y(t), e = new Date(Date.UTC(n.getFullYear(), n.getMonth(), n.getDate())), o = e.getUTCDay();
172
+ e.setUTCDate(e.getUTCDate() + 4 - o);
173
+ const i = new Date(Date.UTC(e.getUTCFullYear(), 0, 1));
174
+ return Math.ceil(((e.getTime() - i.getTime()) / 864e5 + 1) / 7);
175
+ }
176
+ function Wn(t, n, e = 1, o = null) {
177
+ if (t = Y(t), e === "1111111") throw E.BuiltIn.Value;
178
+ if (typeof e == "string" && Number(e).toString() !== e) {
179
+ if (e.length !== 7) throw E.BuiltIn.Value;
180
+ e = e.charAt(6) + e.slice(0, 6);
181
+ const l = [];
182
+ for (let r = 0; r < e.length; r++) e.charAt(r) === "1" && l.push(r);
183
+ e = l;
184
+ } else {
185
+ if (typeof e != "number") throw E.BuiltIn.Value;
186
+ if ((e = Pt[e]) == null) throw E.BuiltIn.Num;
187
+ }
188
+ const i = [];
189
+ o != null && ln.flattenParams([o], H.NUMBER, !1, (l) => {
190
+ i.push(Y(l));
191
+ }), t.setUTCDate(t.getUTCDate() + 1);
192
+ let c = 0;
193
+ for (; c < n; ) {
194
+ let l = !1;
195
+ for (let r = 0; r < e.length; r++) if (e[r] === t.getUTCDay()) {
196
+ l = !0;
197
+ break;
198
+ }
199
+ if (!l) {
200
+ let r = !1;
201
+ for (let u = 0; u < i.length; u++) if (Gn(t, i[u])) {
202
+ r = !0;
203
+ break;
204
+ }
205
+ r || c++;
206
+ }
207
+ t.setUTCDate(t.getUTCDate() + 1);
208
+ }
209
+ return bn(t) - 1;
210
+ }
211
+ function Vt(t, n, e = 0) {
212
+ let o = w.fromOADate(t), i = w.fromOADate(n);
213
+ if (o > i) {
214
+ const m = o;
215
+ o = i, i = m;
216
+ const p = t;
217
+ t = n, n = p;
218
+ }
219
+ if ((e = Math.trunc(e)) < 0 || e > 4) throw E.BuiltIn.Value;
220
+ let c = o.getUTCDate();
221
+ const l = o.getUTCMonth() + 1, r = o.getUTCFullYear();
222
+ let u = i.getUTCDate();
223
+ const a = i.getUTCMonth() + 1, f = i.getUTCFullYear();
224
+ switch (e) {
225
+ case 0:
226
+ return c === 31 && u === 31 ? (c = 30, u = 30) : c === 31 ? c = 30 : c === 30 && u === 31 && (u = 30), Math.abs(u + 30 * a + 360 * f - (c + 30 * l + 360 * r)) / 360;
227
+ case 1:
228
+ if (f - r < 2) {
229
+ const m = (s = r) !== 1900 && new Date(s, 1, 29).getMonth() !== 1 || r === 1900 ? 365 : 366;
230
+ return rn(n, t) / m;
231
+ }
232
+ {
233
+ const m = f - r + 1, p = new Date(f + 1, 0, 1), g = new Date(r, 0, 1), N = (p.getTime() - g.getTime()) / 1e3 / 60 / 60 / 24 / m;
234
+ return rn(n, t) / N;
235
+ }
236
+ case 2:
237
+ return Math.abs(rn(n, t) / 360);
238
+ case 3:
239
+ return Math.abs(rn(n, t) / 365);
240
+ case 4:
241
+ return Math.abs(u + 30 * a + 360 * f - (c + 30 * l + 360 * r)) / 360;
242
+ }
243
+ var s;
244
+ }
245
+ const ee = Object.freeze(Object.defineProperty({ __proto__: null, DATE: function(t, n, e) {
246
+ return t < 0 || t >= 1e4 ? Number.NaN : (t < 1900 && (t += 1900), w.formatResults("Short Date"), w.toOADate(new Date(t, n - 1, e)));
247
+ }, DATEDIF: en, DATESTRING: function(t) {
248
+ return E.BuiltIn.NA;
249
+ }, DATEVALUE: function(t) {
250
+ try {
251
+ const n = w.parseAsDateTime(t);
252
+ if (!n) throw E.BuiltIn.Value;
253
+ return Math.floor(n);
254
+ } catch {
255
+ throw E.BuiltIn.Value;
256
+ }
257
+ }, DAY: function(t) {
258
+ return Y(t).getUTCDate();
259
+ }, DAYS: rn, DAYS360: on, EDATE: function(t, n) {
260
+ return t.setUTCMonth(t.getUTCMonth() + n), bn(t);
261
+ }, EOMONTH: function(t, n) {
262
+ return t.setUTCMonth(t.getUTCMonth() + n + 1, 0), bn(t);
263
+ }, HOUR: function(t) {
264
+ return Y(t).getUTCHours();
265
+ }, ISOWEEKNUM: zn, MINUTE: function(t) {
266
+ return Y(t).getUTCMinutes();
267
+ }, MONTH: function(t) {
268
+ return Y(t).getUTCMonth() + 1;
269
+ }, NETWORKDAYS: function(t, n, e = null) {
270
+ let o = 1;
271
+ if (t > n) {
272
+ o = -1;
273
+ const l = t;
274
+ t = n, n = l;
275
+ }
276
+ const i = [];
277
+ e !== null && ln.flattenParams([e], H.NUMBER, !1, (l) => {
278
+ i.push(Y(l));
279
+ });
280
+ let c = 0;
281
+ for (; t <= n; ) {
282
+ if (t.getUTCDay() !== 0 && t.getUTCDay() !== 6) {
283
+ let l = !1;
284
+ for (let r = 0; r < i.length; r++) if (Gn(t, i[r])) {
285
+ l = !0;
286
+ break;
287
+ }
288
+ l || c++;
289
+ }
290
+ t.setUTCDate(t.getUTCDate() + 1);
291
+ }
292
+ return o * c;
293
+ }, NETWORKDAYS_INTL: function(t, n, e = 1, o = null) {
294
+ let i = 1;
295
+ if ((t = Y(t)) > (n = Y(n))) {
296
+ i = -1;
297
+ const r = t;
298
+ t = n, n = r;
299
+ }
300
+ if (e === "1111111") return 0;
301
+ if (typeof e == "string" && Number(e).toString() !== e) {
302
+ if (e.length !== 7) throw E.BuiltIn.Value;
303
+ e = e.charAt(6) + e.slice(0, 6);
304
+ const r = [];
305
+ for (let u = 0; u < e.length; u++) e.charAt(u) === "1" && r.push(u);
306
+ e = r;
307
+ } else {
308
+ if (typeof e != "number") throw E.BuiltIn.Value;
309
+ e = Pt[e];
310
+ }
311
+ const c = [];
312
+ o != null && ln.flattenParams([o], H.NUMBER, !1, (r) => {
313
+ c.push(Y(r));
314
+ });
315
+ let l = 0;
316
+ for (; t <= n; ) {
317
+ let r = !1;
318
+ for (let u = 0; u < e.length; u++) if (e[u] === t.getUTCDay()) {
319
+ r = !0;
320
+ break;
321
+ }
322
+ if (!r) {
323
+ let u = !1;
324
+ for (let a = 0; a < c.length; a++) if (Gn(t, c[a])) {
325
+ u = !0;
326
+ break;
327
+ }
328
+ u || l++;
329
+ }
330
+ t.setUTCDate(t.getUTCDate() + 1);
331
+ }
332
+ return i * l;
333
+ }, NOW: function() {
334
+ const t = /* @__PURE__ */ new Date(), n = bn(Date.UTC(t.getFullYear(), t.getMonth(), t.getDate(), t.getHours(), t.getMinutes(), t.getSeconds(), t.getMilliseconds())) + (3600 * t.getHours() + 60 * t.getMinutes() + t.getSeconds()) / 86400;
335
+ return w.markVolatile(), w.formatResults("Short Date Short Time"), n;
336
+ }, SECOND: function(t) {
337
+ return Y(t).getUTCSeconds();
338
+ }, TIME: function(t, n, e) {
339
+ return t < 0 || t > 32767 || n < 0 || n > 32767 || e < 0 || e > 32767 ? Number.NaN : (w.formatResults("Medium Time"), (3600 * t + 60 * n + e) / 86400);
340
+ }, TIMEVALUE: function(t) {
341
+ const n = Y(t);
342
+ return (3600 * n.getUTCHours() + 60 * n.getUTCMinutes() + n.getUTCSeconds()) / 86400;
343
+ }, TODAY: function() {
344
+ w.formatResults("Short Date");
345
+ const t = /* @__PURE__ */ new Date();
346
+ return w.toOADate(new Date(t.getFullYear(), t.getMonth(), t.getDate()));
347
+ }, WEEKDAY: function(t, n = 1) {
348
+ const e = Y(t).getUTCDay(), o = $t[n];
349
+ if (!o) throw E.BuiltIn.Num;
350
+ return o[e];
351
+ }, WEEKNUM: function(t, n = 1) {
352
+ const e = Y(t);
353
+ if (n === 21) return zn(t);
354
+ const o = Kt[n], i = new Date(Date.UTC(e.getUTCFullYear(), 0, 1)), c = i.getUTCDay() < o ? 1 : 0;
355
+ return Math.ceil(((e.getTime() - i.getTime()) / 864e5 + 1) / 7) + c;
356
+ }, WORKDAY: function(t, n, e = null) {
357
+ return Wn(t, n, 1, e);
358
+ }, WORKDAY_INTL: Wn, YEAR: function(t) {
359
+ return Y(t).getUTCFullYear();
360
+ }, YEARFRAC: Vt }, Symbol.toStringTag, { value: "Module" }));
361
+ var jn, Kn = {}, Rn, re = (jn || (jn = 1, Rn = function(t) {
362
+ t.version = "1.0.2";
363
+ var n = Math;
364
+ function e(T, S) {
365
+ for (var R = 0, O = 0; R < T.length; ++R) O = S * O + T[R];
366
+ return O;
367
+ }
368
+ function o(T, S, R, O, v) {
369
+ if (S === 0) return R;
370
+ if (S === 1) return O;
371
+ for (var D = 2 / T, L = O, G = 1; G < S; ++G) L = O * G * D + v * R, R = O, O = L;
372
+ return L;
373
+ }
374
+ function i(T, S, R, O, v) {
375
+ return function(D, L) {
376
+ if (O) {
377
+ if (D === 0) return O == 1 ? -1 / 0 : 1 / 0;
378
+ if (D < 0) return NaN;
379
+ }
380
+ return L === 0 ? T(D) : L === 1 ? S(D) : L < 0 ? NaN : o(D, L |= 0, T(D), S(D), v);
381
+ };
382
+ }
383
+ var c, l, r, u, a, f, s, m, p, g, N, h, d, b = function() {
384
+ var T = 0.636619772, S = [57568490574, -13362590354, 6516196407e-1, -1121442418e-2, 77392.33017, -184.9052456].reverse(), R = [57568490411, 1029532985, 9494680718e-3, 59272.64853, 267.8532712, 1].reverse(), O = [1, -0.001098628627, 2734510407e-14, -2073370639e-15, 2093887211e-16].reverse(), v = [-0.01562499995, 1430488765e-13, -6911147651e-15, 7621095161e-16, -934935152e-16].reverse();
385
+ function D(B) {
386
+ var _ = 0, x = 0, U = 0, V = B * B;
387
+ if (B < 8) _ = (x = e(S, V)) / (U = e(R, V));
388
+ else {
389
+ var j = B - 0.785398164;
390
+ x = e(O, V = 64 / V), U = e(v, V), _ = n.sqrt(T / B) * (n.cos(j) * x - n.sin(j) * U * 8 / B);
391
+ }
392
+ return _;
393
+ }
394
+ var L = [72362614232, -7895059235, 2423968531e-1, -2972611439e-3, 15704.4826, -30.16036606].reverse(), G = [144725228442, 2300535178, 1858330474e-2, 99447.43394, 376.9991397, 1].reverse(), z = [1, 183105e-8, -3516396496e-14, 2457520174e-15, -240337019e-15].reverse(), P = [0.04687499995, -2002690873e-13, 8449199096e-15, -88228987e-14, 105787412e-15].reverse();
395
+ function W(B) {
396
+ var _ = 0, x = 0, U = 0, V = B * B, j = n.abs(B) - 2.356194491;
397
+ return Math.abs(B) < 8 ? _ = (x = B * e(L, V)) / (U = e(G, V)) : (x = e(z, V = 64 / V), U = e(P, V), _ = n.sqrt(T / n.abs(B)) * (n.cos(j) * x - n.sin(j) * U * 8 / n.abs(B)), B < 0 && (_ = -_)), _;
398
+ }
399
+ return function B(_, x) {
400
+ if (x = Math.round(x), !isFinite(_)) return isNaN(_) ? _ : 0;
401
+ if (x < 0) return (x % 2 ? -1 : 1) * B(_, -x);
402
+ if (_ < 0) return (x % 2 ? -1 : 1) * B(-_, x);
403
+ if (x === 0) return D(_);
404
+ if (x === 1) return W(_);
405
+ if (_ === 0) return 0;
406
+ var U = 0;
407
+ if (_ > x) U = o(_, x, D(_), W(_), -1);
408
+ else {
409
+ for (var V = !1, j = 0, sn = 0, Z = 1, kn = 0, kt = 2 / _, fn = 2 * n.floor((x + n.floor(n.sqrt(40 * x))) / 2); fn > 0; fn--) kn = fn * kt * Z - j, j = Z, Z = kn, n.abs(Z) > 1e10 && (Z *= 1e-10, j *= 1e-10, U *= 1e-10, sn *= 1e-10), V && (sn += Z), V = !V, fn == x && (U = j);
410
+ U /= sn = 2 * sn - Z;
411
+ }
412
+ return U;
413
+ };
414
+ }(), I = (c = 0.636619772, l = [-2957821389, 7062834065, -5123598036e-1, 1087988129e-2, -86327.92757, 228.4622733].reverse(), r = [40076544269, 7452499648e-1, 7189466438e-3, 47447.2647, 226.1030244, 1].reverse(), u = [1, -0.001098628627, 2734510407e-14, -2073370639e-15, 2093887211e-16].reverse(), a = [-0.01562499995, 1430488765e-13, -6911147651e-15, 7621095161e-16, -934945152e-16].reverse(), f = [-4900604943e3, 127527439e4, -51534381390, 7349264551e-1, -4237922726e-3, 8511.937935].reverse(), s = [249958057e5, 424441966400, 3733650367, 2245904002e-2, 102042.605, 354.9632885, 1].reverse(), m = [1, 183105e-8, -3516396496e-14, 2457520174e-15, -240337019e-15].reverse(), p = [0.04687499995, -2002690873e-13, 8449199096e-15, -88228987e-14, 105787412e-15].reverse(), i(function(T) {
415
+ var S = 0, R = 0, O = 0, v = T * T, D = T - 0.785398164;
416
+ return T < 8 ? S = (R = e(l, v)) / (O = e(r, v)) + c * b(T, 0) * n.log(T) : (R = e(u, v = 64 / v), O = e(a, v), S = n.sqrt(c / T) * (n.sin(D) * R + n.cos(D) * O * 8 / T)), S;
417
+ }, function(T) {
418
+ var S = 0, R = 0, O = 0, v = T * T, D = T - 2.356194491;
419
+ return T < 8 ? S = (R = T * e(f, v)) / (O = e(s, v)) + c * (b(T, 1) * n.log(T) - 1 / T) : (R = e(m, v = 64 / v), O = e(p, v), S = n.sqrt(c / T) * (n.sin(D) * R + n.cos(D) * O * 8 / T)), S;
420
+ }, 0, 1, -1)), M = (g = [1, 3.5156229, 3.0899424, 1.2067492, 0.2659732, 0.0360768, 45813e-7].reverse(), N = [0.39894228, 0.01328592, 225319e-8, -157565e-8, 916281e-8, -0.02057706, 0.02635537, -0.01647633, 392377e-8].reverse(), h = [0.5, 0.87890594, 0.51498869, 0.15084934, 0.02658733, 301532e-8, 32411e-8].reverse(), d = [0.39894228, -0.03988024, -362018e-8, 163801e-8, -0.01031555, 0.02282967, -0.02895312, 0.01787654, -420059e-8].reverse(), function T(S, R) {
421
+ if ((R = Math.round(R)) === 0) return function(P) {
422
+ return P <= 3.75 ? e(g, P * P / 14.0625) : n.exp(n.abs(P)) / n.sqrt(n.abs(P)) * e(N, 3.75 / n.abs(P));
423
+ }(S);
424
+ if (R === 1) return function(P) {
425
+ return P < 3.75 ? P * e(h, P * P / 14.0625) : (P < 0 ? -1 : 1) * n.exp(n.abs(P)) / n.sqrt(n.abs(P)) * e(d, 3.75 / n.abs(P));
426
+ }(S);
427
+ if (R < 0) return NaN;
428
+ if (n.abs(S) === 0) return 0;
429
+ if (S == 1 / 0) return 1 / 0;
430
+ var O, v = 0, D = 2 / n.abs(S), L = 0, G = 1, z = 0;
431
+ for (O = 2 * n.round((R + n.round(n.sqrt(40 * R))) / 2); O > 0; O--) z = O * D * G + L, L = G, G = z, n.abs(G) > 1e10 && (G *= 1e-10, L *= 1e-10, v *= 1e-10), O == R && (v = L);
432
+ return v *= T(S, 0) / G, S < 0 && R % 2 ? -v : v;
433
+ }), A = function() {
434
+ var T = [-0.57721566, 0.4227842, 0.23069756, 0.0348859, 262698e-8, 1075e-7, 74e-7].reverse(), S = [1.25331414, -0.07832358, 0.02189568, -0.01062446, 587872e-8, -25154e-7, 53208e-8].reverse(), R = [1, 0.15443144, -0.67278579, -0.18156897, -0.01919402, -110404e-8, -4686e-8].reverse(), O = [1.25331414, 0.23498619, -0.0365562, 0.01504268, -780353e-8, 325614e-8, -68245e-8].reverse();
435
+ return i(function(v) {
436
+ return v <= 2 ? -n.log(v / 2) * M(v, 0) + e(T, v * v / 4) : n.exp(-v) / n.sqrt(v) * e(S, 2 / v);
437
+ }, function(v) {
438
+ return v <= 2 ? n.log(v / 2) * M(v, 1) + 1 / v * e(R, v * v / 4) : n.exp(-v) / n.sqrt(v) * e(O, 2 / v);
439
+ }, 0, 2, 1);
440
+ }();
441
+ t.besselj = b, t.bessely = I, t.besseli = M, t.besselk = A;
442
+ }, Rn(typeof DO_NOT_EXPORT_BESSEL > "u" ? Kn : {})), Kn);
443
+ const cn = Lt(re), ue = Object.freeze(Object.defineProperty({ __proto__: null, BESSELI: function(t, n) {
444
+ return (n = Math.trunc(n)) < 0 ? Number.NaN : cn.besseli(t, n);
445
+ }, BESSELJ: function(t, n) {
446
+ return (n = Math.trunc(n)) < 0 ? Number.NaN : cn.besselj(t, n);
447
+ }, BESSELK: function(t, n) {
448
+ return (n = Math.trunc(n)) < 0 ? Number.NaN : cn.besselk(t, n);
449
+ }, BESSELY: function(t, n) {
450
+ return (n = Math.trunc(n)) < 0 ? Number.NaN : cn.bessely(t, n);
451
+ } }, Symbol.toStringTag, { value: "Module" })), mn = -512, Q = (t) => {
452
+ const n = typeof t;
453
+ if (n === "boolean") return t ? 1 : 0;
454
+ if (n === "number") {
455
+ if (t < 0 || t > 281474976710655 || Math.floor(t) !== t) throw E.BuiltIn.Num;
456
+ return t;
457
+ }
458
+ if (n === "string") {
459
+ let e = 0;
460
+ try {
461
+ e = 1 * t;
462
+ } catch {
463
+ }
464
+ if (Number.isFinite(e)) return e;
465
+ }
466
+ throw E.BuiltIn.Value;
467
+ };
468
+ function $n(t, n) {
469
+ if (t = Q(t), n = Math.trunc(n), Math.abs(n) > 53) return Number.NaN;
470
+ const e = n >= 0 ? t * 2 ** n : Math.trunc(t / 2 ** -n);
471
+ return e > 281474976710655 ? Number.NaN : e;
472
+ }
473
+ function Qn(t, n) {
474
+ if (t < -549755813888 || t > 549755813888) throw E.BuiltIn.Num;
475
+ if (t < 0) return (1099511627776 + t).toString(16).toUpperCase();
476
+ const e = parseInt(t, 10).toString(16);
477
+ if (n === void 0) return e.toUpperCase();
478
+ if ((n = Math.trunc(n)) <= 0) throw E.BuiltIn.Num;
479
+ if (n < e.length) throw E.BuiltIn.Num;
480
+ return "0".repeat(n - e.length) + e.toUpperCase();
481
+ }
482
+ function Zn(t, n) {
483
+ if (t < -536870912 || t > 536870912) throw E.BuiltIn.Num;
484
+ if (t < 0) return (t + 1073741824).toString(8);
485
+ const e = parseInt(t, 10).toString(8);
486
+ if (n === void 0) return e.toUpperCase();
487
+ if ((n = Math.trunc(n)) <= 0) throw E.BuiltIn.Num;
488
+ if (n < e.length) throw E.BuiltIn.Num;
489
+ return "0".repeat(n - e.length) + e;
490
+ }
491
+ function Jn(t) {
492
+ if (!/^[0-9A-Fa-f]{1,10}$/.test(t)) return Number.NaN;
493
+ const n = parseInt(t, 16);
494
+ return n >= 549755813888 ? n - 1099511627776 : n;
495
+ }
496
+ function yn(t) {
497
+ if (t.length > 10) throw E.BuiltIn.Num;
498
+ for (const e of t) if (e < "0" || e > "7") throw E.BuiltIn.Num;
499
+ const n = parseInt(t, 8);
500
+ return n >= 536870912 ? n - 1073741824 : n;
501
+ }
502
+ const oe = Object.freeze(Object.defineProperty({ __proto__: null, BIN2DEC: function(t) {
503
+ const n = t.toString();
504
+ return n.length > 10 ? Number.NaN : n.length === 10 && n.substring(0, 1) === "1" ? parseInt(n.substring(1), 2) + mn : parseInt(n, 2);
505
+ }, BIN2HEX: function(t, n) {
506
+ const e = t.toString();
507
+ if (e.length > 10) throw E.BuiltIn.Num;
508
+ if (e.length === 10 && e.substring(0, 1) === "1") return (parseInt(e.substring(1), 2) + 1099511627264).toString(16).toUpperCase();
509
+ const o = parseInt(t, 2).toString(16);
510
+ if (n === void 0) return o.toUpperCase();
511
+ if (n < 0) throw E.BuiltIn.Num;
512
+ if ((n = Math.trunc(n)) >= o.length) return ("0".repeat(n - o.length) + o).toUpperCase();
513
+ throw E.BuiltIn.Num;
514
+ }, BIN2OCT: function(t, n) {
515
+ let e = t.toString();
516
+ if (e.length > 10) throw E.BuiltIn.Num;
517
+ if (e.length === 10 && e.substring(0, 1) === "1") return (parseInt(e.substring(1), 2) + 1073741312).toString(8);
518
+ const o = parseInt(t, 2).toString(8);
519
+ if (n === void 0) return o.toUpperCase();
520
+ if (n < 0) throw E.BuiltIn.Num;
521
+ if ((n = Math.trunc(n)) >= o.length) return "0".repeat(n - o.length) + o;
522
+ throw E.BuiltIn.Num;
523
+ }, BITAND: function(t, n) {
524
+ return (t = Q(t)) & (n = Q(n));
525
+ }, BITLSHIFT: $n, BITOR: function(t, n) {
526
+ return (t = Q(t)) | (n = Q(n));
527
+ }, BITRSHIFT: function(t, n) {
528
+ return $n(t = Q(t), -n);
529
+ }, BITXOR: function(t, n) {
530
+ return (t = Q(t)) ^ (n = Q(n));
531
+ }, DEC2BIN: function(t, n) {
532
+ if (t < mn || t > 511) throw E.BuiltIn.Num;
533
+ if (t < 0) return "1" + "0".repeat(9 - (512 + t).toString(2).length) + (512 + t).toString(2);
534
+ const e = parseInt(t, 10).toString(2);
535
+ if (n === void 0) return e;
536
+ if ((n = Math.trunc(n)) <= 0) throw E.BuiltIn.Num;
537
+ if (n < e.length) throw E.BuiltIn.Num;
538
+ return "0".repeat(n - e.length) + e;
539
+ }, DEC2HEX: Qn, DEC2OCT: Zn, HEX2BIN: function(t, n) {
540
+ if (t.length > 10 || !/^[0-9a-fA-F]*$/.test(t)) return Number.NaN;
541
+ const e = t.length === 10 && t.substring(0, 1).toLowerCase() === "f", o = e ? parseInt(t, 16) - 1099511627776 : parseInt(t, 16);
542
+ if (o < mn || o > 511) return Number.NaN;
543
+ if (e) return "1" + "0".repeat(9 - (o + 512).toString(2).length) + (o + 512).toString(2);
544
+ const i = o.toString(2);
545
+ return n === void 0 ? i : (n = Math.trunc(n)) <= 0 || n < i.length ? Number.NaN : "0".repeat(n - i.length) + i;
546
+ }, HEX2DEC: Jn, HEX2OCT: function(t, n) {
547
+ if (t.length > 10 || !/^[0-9a-fA-F]*$/.test(t)) throw E.BuiltIn.Num;
548
+ const e = Jn(t);
549
+ if (e > 536870911 || e < -536870912) throw E.BuiltIn.Num;
550
+ return Zn(e, n);
551
+ }, OCT2BIN: function(t, n) {
552
+ if (t.length > 10) throw E.BuiltIn.Num;
553
+ if (n > 10) throw E.BuiltIn.Num;
554
+ if (n !== void 0 && n < 0) throw E.BuiltIn.Num;
555
+ n = Math.trunc(n);
556
+ const e = t.length === 10 && t.substring(0, 1) === "7", o = yn(t);
557
+ if (o < mn || o > 511) throw E.BuiltIn.Num;
558
+ if (e) return "1" + "0".repeat(9 - (512 + o).toString(2).length) + (512 + o).toString(2);
559
+ const i = o.toString(2);
560
+ if (n === 0) return i;
561
+ if (n < i.length) throw E.BuiltIn.Num;
562
+ return "0".repeat(n - i.length) + i;
563
+ }, OCT2DEC: yn, OCT2HEX: function(t, n) {
564
+ if (t.length > 10) return Number.NaN;
565
+ for (const o of t) if (o < "0" || o > "7") return Number.NaN;
566
+ if ((n = Math.trunc(n)) < 0 || n > 10) return Number.NaN;
567
+ const e = Qn(yn(t));
568
+ return n === 0 ? e : n < e.length ? Number.NaN : "0".repeat(n - e.length) + e;
569
+ } }, Symbol.toStringTag, { value: "Module" })), ae = Object.freeze(Object.defineProperty({ __proto__: null, CONVERT: function(t, n, e) {
570
+ const o = [["a.u. of action", "?", null, "action", !1, !1, 105457168181818e-48], ["a.u. of charge", "e", null, "electric_charge", !1, !1, 160217653141414e-33], ["a.u. of energy", "Eh", null, "energy", !1, !1, 435974417757576e-32], ["a.u. of length", "a?", null, "length", !1, !1, 529177210818182e-25], ["a.u. of mass", "m?", null, "mass", !1, !1, 910938261616162e-45], ["a.u. of time", "?/Eh", null, "time", !1, !1, 241888432650516e-31], ["admiralty knot", "admkn", null, "speed", !1, !0, 0.514773333], ["ampere", "A", null, "electric_current", !0, !1, 1], ["ampere per meter", "A/m", null, "magnetic_field_intensity", !0, !1, 1], ["ångström", "Å", ["ang"], "length", !1, !0, 1e-10], ["are", "ar", null, "area", !1, !0, 100], ["astronomical unit", "ua", null, "length", !1, !1, 149597870691667e-25], ["bar", "bar", null, "pressure", !1, !1, 1e5], ["barn", "b", null, "area", !1, !1, 1e-28], ["becquerel", "Bq", null, "radioactivity", !0, !1, 1], ["bit", "bit", ["b"], "information", !1, !0, 1], ["btu", "BTU", ["btu"], "energy", !1, !0, 1055.05585262], ["byte", "byte", null, "information", !1, !0, 8], ["candela", "cd", null, "luminous_intensity", !0, !1, 1], ["candela per square metre", "cd/m?", null, "luminance", !0, !1, 1], ["coulomb", "C", null, "electric_charge", !0, !1, 1], ["cubic ångström", "ang3", ["ang^3"], "volume", !1, !0, 1e-30], ["cubic foot", "ft3", ["ft^3"], "volume", !1, !0, 0.028316846592], ["cubic inch", "in3", ["in^3"], "volume", !1, !0, 16387064e-12], ["cubic light-year", "ly3", ["ly^3"], "volume", !1, !0, 846786664623715e-61], ["cubic metre", "m3", ["m^3"], "volume", !0, !0, 1], ["cubic mile", "mi3", ["mi^3"], "volume", !1, !0, 416818182544058e-5], ["cubic nautical mile", "Nmi3", ["Nmi^3"], "volume", !1, !0, 6352182208], ["cubic Pica", "Pica3", ["Picapt3", "Pica^3", "Picapt^3"], "volume", !1, !0, 758660370370369e-22], ["cubic yard", "yd3", ["yd^3"], "volume", !1, !0, 0.764554857984], ["cup", "cup", null, "volume", !1, !0, 2365882365e-13], ["dalton", "Da", ["u"], "mass", !1, !1, 166053886282828e-41], ["day", "d", ["day"], "time", !1, !0, 86400], ["degree", "°", null, "angle", !1, !1, 0.0174532925199433], ["degrees Rankine", "Rank", null, "temperature", !1, !0, 0.555555555555556], ["dyne", "dyn", ["dy"], "force", !1, !0, 1e-5], ["electronvolt", "eV", ["ev"], "energy", !1, !0, 1.60217656514141], ["ell", "ell", null, "length", !1, !0, 1.143], ["erg", "erg", ["e"], "energy", !1, !0, 1e-7], ["farad", "F", null, "electric_capacitance", !0, !1, 1], ["fluid ounce", "oz", null, "volume", !1, !0, 295735295625e-16], ["foot", "ft", null, "length", !1, !0, 0.3048], ["foot-pound", "flb", null, "energy", !1, !0, 1.3558179483314], ["gal", "Gal", null, "acceleration", !1, !1, 0.01], ["gallon", "gal", null, "volume", !1, !0, 0.003785411784], ["gauss", "G", ["ga"], "magnetic_flux_density", !1, !0, 1], ["grain", "grain", null, "mass", !1, !0, 647989e-10], ["gram", "g", null, "mass", !1, !0, 1e-3], ["gray", "Gy", null, "absorbed_dose", !0, !1, 1], ["gross registered ton", "GRT", ["regton"], "volume", !1, !0, 2.8316846592], ["hectare", "ha", null, "area", !1, !0, 1e4], ["henry", "H", null, "inductance", !0, !1, 1], ["hertz", "Hz", null, "frequency", !0, !1, 1], ["horsepower", "HP", ["h"], "power", !1, !0, 745.69987158227], ["horsepower-hour", "HPh", ["hh", "hph"], "energy", !1, !0, 2684519538e-3], ["hour", "h", ["hr"], "time", !1, !0, 3600], ["imperial gallon (U.K.)", "uk_gal", null, "volume", !1, !0, 454609e-8], ["imperial hundredweight", "lcwt", ["uk_cwt", "hweight"], "mass", !1, !0, 50.802345], ["imperial quart (U.K)", "uk_qt", null, "volume", !1, !0, 0.0011365225], ["imperial ton", "brton", ["uk_ton", "LTON"], "mass", !1, !0, 1016.046909], ["inch", "in", null, "length", !1, !0, 0.0254], ["international acre", "uk_acre", null, "area", !1, !0, 4046.8564224], ["IT calorie", "cal", null, "energy", !1, !0, 4.1868], ["joule", "J", null, "energy", !0, !0, 1], ["katal", "kat", null, "catalytic_activity", !0, !1, 1], ["kelvin", "K", ["kel"], "temperature", !0, !0, 1], ["kilogram", "kg", null, "mass", !0, !0, 1], ["knot", "kn", null, "speed", !1, !0, 0.514444444444444], ["light-year", "ly", null, "length", !1, !0, 9460730472580800], ["litre", "L", ["l", "lt"], "volume", !1, !0, 1e-3], ["lumen", "lm", null, "luminous_flux", !0, !1, 1], ["lux", "lx", null, "illuminance", !0, !1, 1], ["maxwell", "Mx", null, "magnetic_flux", !1, !1, 1e-18], ["measurement ton", "MTON", null, "volume", !1, !0, 1.13267386368], ["meter per hour", "m/h", ["m/hr"], "speed", !1, !0, 27777777777778e-17], ["meter per second", "m/s", ["m/sec"], "speed", !0, !0, 1], ["meter per second squared", "m?s??", null, "acceleration", !0, !1, 1], ["parsec", "pc", ["parsec"], "length", !1, !0, 30856775814671900], ["meter squared per second", "m?/s", null, "kinematic_viscosity", !0, !1, 1], ["metre", "m", null, "length", !0, !0, 1], ["miles per hour", "mph", null, "speed", !1, !0, 0.44704], ["millimetre of mercury", "mmHg", null, "pressure", !1, !1, 133.322], ["minute", "?", null, "angle", !1, !1, 290888208665722e-18], ["minute", "min", ["mn"], "time", !1, !0, 60], ["modern teaspoon", "tspm", null, "volume", !1, !0, 5e-6], ["mole", "mol", null, "amount_of_substance", !0, !1, 1], ["morgen", "Morgen", null, "area", !1, !0, 2500], ["n.u. of action", "?", null, "action", !1, !1, 105457168181818e-48], ["n.u. of mass", "m?", null, "mass", !1, !1, 910938261616162e-45], ["n.u. of speed", "c?", null, "speed", !1, !1, 299792458], ["n.u. of time", "?/(me?c??)", null, "time", !1, !1, 128808866778687e-35], ["nautical mile", "M", ["Nmi"], "length", !1, !0, 1852], ["newton", "N", null, "force", !0, !0, 1], ["œrsted", "Oe ", null, "magnetic_field_intensity", !1, !1, 79.5774715459477], ["ohm", "Ω", null, "electric_resistance", !0, !1, 1], ["ounce mass", "ozm", null, "mass", !1, !0, 0.028349523125], ["pascal", "Pa", null, "pressure", !0, !1, 1], ["pascal second", "Pa?s", null, "dynamic_viscosity", !0, !1, 1], ["pferdestärke", "PS", null, "power", !1, !0, 735.49875], ["phot", "ph", null, "illuminance", !1, !1, 1e-4], ["pica (1/6 inch)", "pica", null, "length", !1, !0, 35277777777778e-17], ["pica (1/72 inch)", "Pica", ["Picapt"], "length", !1, !0, 0.00423333333333333], ["poise", "P", null, "dynamic_viscosity", !1, !1, 0.1], ["pond", "pond", null, "force", !1, !0, 980665e-8], ["pound force", "lbf", null, "force", !1, !0, 4.4482216152605], ["pound mass", "lbm", null, "mass", !1, !0, 0.45359237], ["quart", "qt", null, "volume", !1, !0, 946352946e-12], ["radian", "rad", null, "angle", !0, !1, 1], ["second", "?", null, "angle", !1, !1, 484813681109536e-20], ["second", "s", ["sec"], "time", !0, !0, 1], ["short hundredweight", "cwt", ["shweight"], "mass", !1, !0, 45.359237], ["siemens", "S", null, "electrical_conductance", !0, !1, 1], ["sievert", "Sv", null, "equivalent_dose", !0, !1, 1], ["slug", "sg", null, "mass", !1, !0, 14.59390294], ["square ångström", "ang2", ["ang^2"], "area", !1, !0, 1e-20], ["square foot", "ft2", ["ft^2"], "area", !1, !0, 0.09290304], ["square inch", "in2", ["in^2"], "area", !1, !0, 64516e-8], ["square light-year", "ly2", ["ly^2"], "area", !1, !0, 895054210748189e17], ["square meter", "m?", null, "area", !0, !0, 1], ["square mile", "mi2", ["mi^2"], "area", !1, !0, 2589988110336e-6], ["square nautical mile", "Nmi2", ["Nmi^2"], "area", !1, !0, 3429904], ["square Pica", "Pica2", ["Picapt2", "Pica^2", "Picapt^2"], "area", !1, !0, 1792111111111e-17], ["square yard", "yd2", ["yd^2"], "area", !1, !0, 0.83612736], ["statute mile", "mi", null, "length", !1, !0, 1609.344], ["steradian", "sr", null, "solid_angle", !0, !1, 1], ["stilb", "sb", null, "luminance", !1, !1, 1e-4], ["stokes", "St", null, "kinematic_viscosity", !1, !1, 1e-4], ["stone", "stone", null, "mass", !1, !0, 6.35029318], ["tablespoon", "tbs", null, "volume", !1, !0, 147868e-10], ["teaspoon", "tsp", null, "volume", !1, !0, 492892e-11], ["tesla", "T", null, "magnetic_flux_density", !0, !0, 1], ["thermodynamic calorie", "c", null, "energy", !1, !0, 4.184], ["ton", "ton", null, "mass", !1, !0, 907.18474], ["tonne", "t", null, "mass", !1, !1, 1e3], ["U.K. pint", "uk_pt", null, "volume", !1, !0, 56826125e-11], ["U.S. bushel", "bushel", null, "volume", !1, !0, 0.03523907], ["U.S. oil barrel", "barrel", null, "volume", !1, !0, 0.158987295], ["U.S. pint", "pt", ["us_pt"], "volume", !1, !0, 473176473e-12], ["U.S. survey mile", "survey_mi", null, "length", !1, !0, 1609.347219], ["U.S. survey/statute acre", "us_acre", null, "area", !1, !0, 4046.87261], ["volt", "V", null, "voltage", !0, !1, 1], ["watt", "W", null, "power", !0, !0, 1], ["watt-hour", "Wh", ["wh"], "energy", !1, !0, 3600], ["weber", "Wb", null, "magnetic_flux", !0, !1, 1], ["yard", "yd", null, "length", !1, !0, 0.9144], ["year", "yr", null, "time", !1, !0, 31557600]], i = { Yi: ["yobi", 80, 12089258196146292e8, "Yi", "yotta"], Zi: ["zebi", 70, 11805916207174113e5, "Zi", "zetta"], Ei: ["exbi", 60, 1152921504606847e3, "Ei", "exa"], Pi: ["pebi", 50, 1125899906842624, "Pi", "peta"], Ti: ["tebi", 40, 1099511627776, "Ti", "tera"], Gi: ["gibi", 30, 1073741824, "Gi", "giga"], Mi: ["mebi", 20, 1048576, "Mi", "mega"], ki: ["kibi", 10, 1024, "ki", "kilo"] }, c = { Y: ["yotta", 1e24, "Y"], Z: ["zetta", 1e21, "Z"], E: ["exa", 1e18, "E"], P: ["peta", 1e15, "P"], T: ["tera", 1e12, "T"], G: ["giga", 1e9, "G"], M: ["mega", 1e6, "M"], k: ["kilo", 1e3, "k"], h: ["hecto", 100, "h"], e: ["dekao", 10, "e"], d: ["deci", 0.1, "d"], c: ["centi", 0.01, "c"], m: ["milli", 1e-3, "m"], u: ["micro", 1e-6, "u"], n: ["nano", 1e-9, "n"], p: ["pico", 1e-12, "p"], f: ["femto", 1e-15, "f"], a: ["atto", 1e-18, "a"], z: ["zepto", 1e-21, "z"], y: ["yocto", 1e-24, "y"] };
571
+ let l, r = null, u = null, a = n, f = e, s = 1, m = 1;
572
+ for (let p = 0; p < o.length; p++) l = o[p][2] === null ? [] : o[p][2], (o[p][1] === a || l.indexOf(a) >= 0) && (r = o[p]), (o[p][1] === f || l.indexOf(f) >= 0) && (u = o[p]);
573
+ if (r === null) {
574
+ const p = i[n.substring(0, 2)];
575
+ let g = c[n.substring(0, 1)];
576
+ n.substring(0, 2) === "da" && (g = ["dekao", 10, "da"]), p ? (s = p[2], a = n.substring(2)) : g && (s = g[1], a = n.substring(g[2].length));
577
+ for (let N = 0; N < o.length; N++) l = o[N][2] === null ? [] : o[N][2], (o[N][1] === a || l.indexOf(a) >= 0) && (r = o[N]);
578
+ }
579
+ if (u === null) {
580
+ const p = i[e.substring(0, 2)];
581
+ let g = c[e.substring(0, 1)];
582
+ e.substring(0, 2) === "da" && (g = ["dekao", 10, "da"]), p ? (m = p[2], f = e.substring(2)) : g && (m = g[1], f = e.substring(g[2].length));
583
+ for (let N = 0; N < o.length; N++) l = o[N][2] === null ? [] : o[N][2], (o[N][1] === f || l.indexOf(f) >= 0) && (u = o[N]);
584
+ }
585
+ if (r === null || u === null) throw E.BuiltIn.NA;
586
+ if (r[3] !== u[3]) throw E.BuiltIn.NA;
587
+ return t * r[6] * s / (u[6] * m);
588
+ } }, Symbol.toStringTag, { value: "Module" })), ie = Object.freeze(Object.defineProperty({ __proto__: null, DELTA: function(t, n = 0) {
589
+ return t === n ? 1 : 0;
590
+ }, GESTEP: function(t, n = 0) {
591
+ return t >= n ? 1 : 0;
592
+ } }, Symbol.toStringTag, { value: "Module" }));
593
+ var nt, tt = { exports: {} }, le = (nt || (nt = 1, tt.exports = function() {
594
+ var t = function(n, e) {
595
+ var o = Array.prototype.concat, i = Array.prototype.slice, c = Object.prototype.toString;
596
+ function l(h, d) {
597
+ var b = h > d ? h : d;
598
+ return n.pow(10, 17 - ~~(n.log(b > 0 ? b : -b) * n.LOG10E));
599
+ }
600
+ var r = Array.isArray || function(h) {
601
+ return c.call(h) === "[object Array]";
602
+ };
603
+ function u(h) {
604
+ return c.call(h) === "[object Function]";
605
+ }
606
+ function a(h) {
607
+ return typeof h == "number" && h - h === 0;
608
+ }
609
+ function f(h) {
610
+ return o.apply([], h);
611
+ }
612
+ function s() {
613
+ return new s._init(arguments);
614
+ }
615
+ function m() {
616
+ return 0;
617
+ }
618
+ function p() {
619
+ return 1;
620
+ }
621
+ function g(h, d) {
622
+ return h === d ? 1 : 0;
623
+ }
624
+ s.fn = s.prototype, s._init = function(h) {
625
+ if (r(h[0])) if (r(h[0][0])) {
626
+ u(h[1]) && (h[0] = s.map(h[0], h[1]));
627
+ for (var d = 0; d < h[0].length; d++) this[d] = h[0][d];
628
+ this.length = h[0].length;
629
+ } else this[0] = u(h[1]) ? s.map(h[0], h[1]) : h[0], this.length = 1;
630
+ else if (a(h[0])) this[0] = s.seq.apply(null, h), this.length = 1;
631
+ else {
632
+ if (h[0] instanceof s) return s(h[0].toArray());
633
+ this[0] = [], this.length = 1;
634
+ }
635
+ return this;
636
+ }, s._init.prototype = s.prototype, s._init.constructor = s, s.utils = { calcRdx: l, isArray: r, isFunction: u, isNumber: a, toVector: f }, s._random_fn = n.random, s.setRandom = function(h) {
637
+ if (typeof h != "function") throw new TypeError("fn is not a function");
638
+ s._random_fn = h;
639
+ }, s.extend = function(h) {
640
+ var d, b;
641
+ if (arguments.length === 1) {
642
+ for (b in h) s[b] = h[b];
643
+ return this;
644
+ }
645
+ for (d = 1; d < arguments.length; d++) for (b in arguments[d]) h[b] = arguments[d][b];
646
+ return h;
647
+ }, s.rows = function(h) {
648
+ return h.length || 1;
649
+ }, s.cols = function(h) {
650
+ return h[0].length || 1;
651
+ }, s.dimensions = function(h) {
652
+ return { rows: s.rows(h), cols: s.cols(h) };
653
+ }, s.row = function(h, d) {
654
+ return r(d) ? d.map(function(b) {
655
+ return s.row(h, b);
656
+ }) : h[d];
657
+ }, s.rowa = function(h, d) {
658
+ return s.row(h, d);
659
+ }, s.col = function(h, d) {
660
+ if (r(d)) {
661
+ var b = s.arange(h.length).map(function() {
662
+ return new Array(d.length);
663
+ });
664
+ return d.forEach(function(A, T) {
665
+ s.arange(h.length).forEach(function(S) {
666
+ b[S][T] = h[S][A];
667
+ });
668
+ }), b;
669
+ }
670
+ for (var I = new Array(h.length), M = 0; M < h.length; M++) I[M] = [h[M][d]];
671
+ return I;
672
+ }, s.cola = function(h, d) {
673
+ return s.col(h, d).map(function(b) {
674
+ return b[0];
675
+ });
676
+ }, s.diag = function(h) {
677
+ for (var d = s.rows(h), b = new Array(d), I = 0; I < d; I++) b[I] = [h[I][I]];
678
+ return b;
679
+ }, s.antidiag = function(h) {
680
+ for (var d = s.rows(h) - 1, b = new Array(d), I = 0; d >= 0; d--, I++) b[I] = [h[I][d]];
681
+ return b;
682
+ }, s.transpose = function(h) {
683
+ var d, b, I, M, A, T = [];
684
+ for (r(h[0]) || (h = [h]), b = h.length, I = h[0].length, A = 0; A < I; A++) {
685
+ for (d = new Array(b), M = 0; M < b; M++) d[M] = h[M][A];
686
+ T.push(d);
687
+ }
688
+ return T.length === 1 ? T[0] : T;
689
+ }, s.map = function(h, d, b) {
690
+ var I, M, A, T, S;
691
+ for (r(h[0]) || (h = [h]), M = h.length, A = h[0].length, T = b ? h : new Array(M), I = 0; I < M; I++) for (T[I] || (T[I] = new Array(A)), S = 0; S < A; S++) T[I][S] = d(h[I][S], I, S);
692
+ return T.length === 1 ? T[0] : T;
693
+ }, s.cumreduce = function(h, d, b) {
694
+ var I, M, A, T, S;
695
+ for (r(h[0]) || (h = [h]), M = h.length, A = h[0].length, T = b ? h : new Array(M), I = 0; I < M; I++) for (T[I] || (T[I] = new Array(A)), A > 0 && (T[I][0] = h[I][0]), S = 1; S < A; S++) T[I][S] = d(T[I][S - 1], h[I][S]);
696
+ return T.length === 1 ? T[0] : T;
697
+ }, s.alter = function(h, d) {
698
+ return s.map(h, d, !0);
699
+ }, s.create = function(h, d, b) {
700
+ var I, M, A = new Array(h);
701
+ for (u(d) && (b = d, d = h), I = 0; I < h; I++) for (A[I] = new Array(d), M = 0; M < d; M++) A[I][M] = b(I, M);
702
+ return A;
703
+ }, s.zeros = function(h, d) {
704
+ return a(d) || (d = h), s.create(h, d, m);
705
+ }, s.ones = function(h, d) {
706
+ return a(d) || (d = h), s.create(h, d, p);
707
+ }, s.rand = function(h, d) {
708
+ return a(d) || (d = h), s.create(h, d, s._random_fn);
709
+ }, s.identity = function(h, d) {
710
+ return a(d) || (d = h), s.create(h, d, g);
711
+ }, s.symmetric = function(h) {
712
+ var d, b, I = h.length;
713
+ if (h.length !== h[0].length) return !1;
714
+ for (d = 0; d < I; d++) for (b = 0; b < I; b++) if (h[b][d] !== h[d][b]) return !1;
715
+ return !0;
716
+ }, s.clear = function(h) {
717
+ return s.alter(h, m);
718
+ }, s.seq = function(h, d, b, I) {
719
+ u(I) || (I = !1);
720
+ var M, A = [], T = l(h, d), S = (d * T - h * T) / ((b - 1) * T), R = h;
721
+ for (M = 0; R <= d && M < b; R = (h * T + S * T * ++M) / T) A.push(I ? I(R, M) : R);
722
+ return A;
723
+ }, s.arange = function(h, d, b) {
724
+ var I, M = [];
725
+ if (b = b || 1, d === e && (d = h, h = 0), h === d || b === 0) return [];
726
+ if (h < d && b < 0) return [];
727
+ if (h > d && b > 0) return [];
728
+ if (b > 0) for (I = h; I < d; I += b) M.push(I);
729
+ else for (I = h; I > d; I += b) M.push(I);
730
+ return M;
731
+ }, s.slice = /* @__PURE__ */ function() {
732
+ function h(b, I, M, A) {
733
+ var T, S = [], R = b.length;
734
+ if (I === e && M === e && A === e) return s.copy(b);
735
+ if (A = A || 1, (I = (I = I || 0) >= 0 ? I : R + I) === (M = (M = M || b.length) >= 0 ? M : R + M) || A === 0) return [];
736
+ if (I < M && A < 0) return [];
737
+ if (I > M && A > 0) return [];
738
+ if (A > 0) for (T = I; T < M; T += A) S.push(b[T]);
739
+ else for (T = I; T > M; T += A) S.push(b[T]);
740
+ return S;
741
+ }
742
+ function d(b, I) {
743
+ var M, A;
744
+ return a((I = I || {}).row) ? a(I.col) ? b[I.row][I.col] : h(s.rowa(b, I.row), (M = I.col || {}).start, M.end, M.step) : a(I.col) ? h(s.cola(b, I.col), (A = I.row || {}).start, A.end, A.step) : (A = I.row || {}, M = I.col || {}, h(b, A.start, A.end, A.step).map(function(T) {
745
+ return h(T, M.start, M.end, M.step);
746
+ }));
747
+ }
748
+ return d;
749
+ }(), s.sliceAssign = function(h, d, b) {
750
+ var I, M;
751
+ if (a(d.row)) {
752
+ if (a(d.col)) return h[d.row][d.col] = b;
753
+ d.col = d.col || {}, d.col.start = d.col.start || 0, d.col.end = d.col.end || h[0].length, d.col.step = d.col.step || 1, I = s.arange(d.col.start, n.min(h.length, d.col.end), d.col.step);
754
+ var A = d.row;
755
+ return I.forEach(function(S, R) {
756
+ h[A][S] = b[R];
757
+ }), h;
758
+ }
759
+ if (a(d.col)) {
760
+ d.row = d.row || {}, d.row.start = d.row.start || 0, d.row.end = d.row.end || h.length, d.row.step = d.row.step || 1, M = s.arange(d.row.start, n.min(h[0].length, d.row.end), d.row.step);
761
+ var T = d.col;
762
+ return M.forEach(function(S, R) {
763
+ h[S][T] = b[R];
764
+ }), h;
765
+ }
766
+ return b[0].length === e && (b = [b]), d.row.start = d.row.start || 0, d.row.end = d.row.end || h.length, d.row.step = d.row.step || 1, d.col.start = d.col.start || 0, d.col.end = d.col.end || h[0].length, d.col.step = d.col.step || 1, M = s.arange(d.row.start, n.min(h.length, d.row.end), d.row.step), I = s.arange(d.col.start, n.min(h[0].length, d.col.end), d.col.step), M.forEach(function(S, R) {
767
+ I.forEach(function(O, v) {
768
+ h[S][O] = b[R][v];
769
+ });
770
+ }), h;
771
+ }, s.diagonal = function(h) {
772
+ var d = s.zeros(h.length, h.length);
773
+ return h.forEach(function(b, I) {
774
+ d[I][I] = b;
775
+ }), d;
776
+ }, s.copy = function(h) {
777
+ return h.map(function(d) {
778
+ return a(d) ? d : d.map(function(b) {
779
+ return b;
780
+ });
781
+ });
782
+ };
783
+ var N = s.prototype;
784
+ return N.length = 0, N.push = Array.prototype.push, N.sort = Array.prototype.sort, N.splice = Array.prototype.splice, N.slice = Array.prototype.slice, N.toArray = function() {
785
+ return this.length > 1 ? i.call(this) : i.call(this)[0];
786
+ }, N.map = function(h, d) {
787
+ return s(s.map(this, h, d));
788
+ }, N.cumreduce = function(h, d) {
789
+ return s(s.cumreduce(this, h, d));
790
+ }, N.alter = function(h) {
791
+ return s.alter(this, h), this;
792
+ }, function(h) {
793
+ for (var d = 0; d < h.length; d++) (function(b) {
794
+ N[b] = function(I) {
795
+ var M, A = this;
796
+ return I ? (setTimeout(function() {
797
+ I.call(A, N[b].call(A));
798
+ }), this) : (M = s[b](this), r(M) ? s(M) : M);
799
+ };
800
+ })(h[d]);
801
+ }("transpose clear symmetric rows cols dimensions diag antidiag".split(" ")), function(h) {
802
+ for (var d = 0; d < h.length; d++) (function(b) {
803
+ N[b] = function(I, M) {
804
+ var A = this;
805
+ return M ? (setTimeout(function() {
806
+ M.call(A, N[b].call(A, I));
807
+ }), this) : s(s[b](this, I));
808
+ };
809
+ })(h[d]);
810
+ }("row col".split(" ")), function(h) {
811
+ for (var d = 0; d < h.length; d++) (function(b) {
812
+ N[b] = function() {
813
+ return s(s[b].apply(null, arguments));
814
+ };
815
+ })(h[d]);
816
+ }("create zeros ones rand identity".split(" ")), s;
817
+ }(Math);
818
+ return function(n, e) {
819
+ var o = n.utils.isFunction;
820
+ function i(r, u) {
821
+ return r - u;
822
+ }
823
+ function c(r, u, a) {
824
+ return e.max(u, e.min(r, a));
825
+ }
826
+ n.sum = function(r) {
827
+ for (var u = 0, a = r.length; --a >= 0; ) u += r[a];
828
+ return u;
829
+ }, n.sumsqrd = function(r) {
830
+ for (var u = 0, a = r.length; --a >= 0; ) u += r[a] * r[a];
831
+ return u;
832
+ }, n.sumsqerr = function(r) {
833
+ for (var u, a = n.mean(r), f = 0, s = r.length; --s >= 0; ) f += (u = r[s] - a) * u;
834
+ return f;
835
+ }, n.sumrow = function(r) {
836
+ for (var u = 0, a = r.length; --a >= 0; ) u += r[a];
837
+ return u;
838
+ }, n.product = function(r) {
839
+ for (var u = 1, a = r.length; --a >= 0; ) u *= r[a];
840
+ return u;
841
+ }, n.min = function(r) {
842
+ for (var u = r[0], a = 0; ++a < r.length; ) r[a] < u && (u = r[a]);
843
+ return u;
844
+ }, n.max = function(r) {
845
+ for (var u = r[0], a = 0; ++a < r.length; ) r[a] > u && (u = r[a]);
846
+ return u;
847
+ }, n.unique = function(r) {
848
+ for (var u = {}, a = [], f = 0; f < r.length; f++) u[r[f]] || (u[r[f]] = !0, a.push(r[f]));
849
+ return a;
850
+ }, n.mean = function(r) {
851
+ return n.sum(r) / r.length;
852
+ }, n.meansqerr = function(r) {
853
+ return n.sumsqerr(r) / r.length;
854
+ }, n.geomean = function(r) {
855
+ var u = r.map(e.log), a = n.mean(u);
856
+ return e.exp(a);
857
+ }, n.median = function(r) {
858
+ var u = r.length, a = r.slice().sort(i);
859
+ return 1 & u ? a[u / 2 | 0] : (a[u / 2 - 1] + a[u / 2]) / 2;
860
+ }, n.cumsum = function(r) {
861
+ return n.cumreduce(r, function(u, a) {
862
+ return u + a;
863
+ });
864
+ }, n.cumprod = function(r) {
865
+ return n.cumreduce(r, function(u, a) {
866
+ return u * a;
867
+ });
868
+ }, n.diff = function(r) {
869
+ var u, a = [], f = r.length;
870
+ for (u = 1; u < f; u++) a.push(r[u] - r[u - 1]);
871
+ return a;
872
+ }, n.rank = function(r) {
873
+ var u, a = [], f = {};
874
+ for (u = 0; u < r.length; u++) f[g = r[u]] ? f[g]++ : (f[g] = 1, a.push(g));
875
+ var s = a.sort(i), m = {}, p = 1;
876
+ for (u = 0; u < s.length; u++) {
877
+ var g, N = f[g = s[u]], h = (p + (p + N - 1)) / 2;
878
+ m[g] = h, p += N;
879
+ }
880
+ return r.map(function(d) {
881
+ return m[d];
882
+ });
883
+ }, n.mode = function(r) {
884
+ var u, a = r.length, f = r.slice().sort(i), s = 1, m = 0, p = 0, g = [];
885
+ for (u = 0; u < a; u++) f[u] === f[u + 1] ? s++ : (s > m ? (g = [f[u]], m = s, p = 0) : s === m && (g.push(f[u]), p++), s = 1);
886
+ return p === 0 ? g[0] : g;
887
+ }, n.range = function(r) {
888
+ return n.max(r) - n.min(r);
889
+ }, n.variance = function(r, u) {
890
+ return n.sumsqerr(r) / (r.length - (u ? 1 : 0));
891
+ }, n.pooledvariance = function(r) {
892
+ return r.reduce(function(u, a) {
893
+ return u + n.sumsqerr(a);
894
+ }, 0) / (r.reduce(function(u, a) {
895
+ return u + a.length;
896
+ }, 0) - r.length);
897
+ }, n.deviation = function(r) {
898
+ for (var u = n.mean(r), a = r.length, f = new Array(a), s = 0; s < a; s++) f[s] = r[s] - u;
899
+ return f;
900
+ }, n.stdev = function(r, u) {
901
+ return e.sqrt(n.variance(r, u));
902
+ }, n.pooledstdev = function(r) {
903
+ return e.sqrt(n.pooledvariance(r));
904
+ }, n.meandev = function(r) {
905
+ for (var u = n.mean(r), a = [], f = r.length - 1; f >= 0; f--) a.push(e.abs(r[f] - u));
906
+ return n.mean(a);
907
+ }, n.meddev = function(r) {
908
+ for (var u = n.median(r), a = [], f = r.length - 1; f >= 0; f--) a.push(e.abs(r[f] - u));
909
+ return n.median(a);
910
+ }, n.coeffvar = function(r) {
911
+ return n.stdev(r) / n.mean(r);
912
+ }, n.quartiles = function(r) {
913
+ var u = r.length, a = r.slice().sort(i);
914
+ return [a[e.round(u / 4) - 1], a[e.round(u / 2) - 1], a[e.round(3 * u / 4) - 1]];
915
+ }, n.quantiles = function(r, u, a, f) {
916
+ var s, m, p, g, N, h = r.slice().sort(i), d = [u.length], b = r.length;
917
+ for (a === void 0 && (a = 3 / 8), f === void 0 && (f = 3 / 8), s = 0; s < u.length; s++) p = b * (m = u[s]) + (a + m * (1 - a - f)), g = e.floor(c(p, 1, b - 1)), N = c(p - g, 0, 1), d[s] = (1 - N) * h[g - 1] + N * h[g];
918
+ return d;
919
+ }, n.percentile = function(r, u, a) {
920
+ var f = r.slice().sort(i), s = u * (f.length + (a ? 1 : -1)) + (a ? 0 : 1), m = parseInt(s), p = s - m;
921
+ return m + 1 < f.length ? f[m - 1] + p * (f[m] - f[m - 1]) : f[m - 1];
922
+ }, n.percentileOfScore = function(r, u, a) {
923
+ var f, s, m = 0, p = r.length, g = !1;
924
+ for (a === "strict" && (g = !0), s = 0; s < p; s++) f = r[s], (g && f < u || !g && f <= u) && m++;
925
+ return m / p;
926
+ }, n.histogram = function(r, u) {
927
+ u = u || 4;
928
+ var a, f = n.min(r), s = (n.max(r) - f) / u, m = r.length, p = [];
929
+ for (a = 0; a < u; a++) p[a] = 0;
930
+ for (a = 0; a < m; a++) p[e.min(e.floor((r[a] - f) / s), u - 1)] += 1;
931
+ return p;
932
+ }, n.covariance = function(r, u) {
933
+ var a, f = n.mean(r), s = n.mean(u), m = r.length, p = new Array(m);
934
+ for (a = 0; a < m; a++) p[a] = (r[a] - f) * (u[a] - s);
935
+ return n.sum(p) / (m - 1);
936
+ }, n.corrcoeff = function(r, u) {
937
+ return n.covariance(r, u) / n.stdev(r, 1) / n.stdev(u, 1);
938
+ }, n.spearmancoeff = function(r, u) {
939
+ return r = n.rank(r), u = n.rank(u), n.corrcoeff(r, u);
940
+ }, n.stanMoment = function(r, u) {
941
+ for (var a = n.mean(r), f = n.stdev(r), s = r.length, m = 0, p = 0; p < s; p++) m += e.pow((r[p] - a) / f, u);
942
+ return m / r.length;
943
+ }, n.skewness = function(r) {
944
+ return n.stanMoment(r, 3);
945
+ }, n.kurtosis = function(r) {
946
+ return n.stanMoment(r, 4) - 3;
947
+ };
948
+ var l = n.prototype;
949
+ (function(r) {
950
+ for (var u = 0; u < r.length; u++) (function(a) {
951
+ l[a] = function(f, s) {
952
+ var m = [], p = 0, g = this;
953
+ if (o(f) && (s = f, f = !1), s) return setTimeout(function() {
954
+ s.call(g, l[a].call(g, f));
955
+ }), this;
956
+ if (this.length > 1) {
957
+ for (g = f === !0 ? this : this.transpose(); p < g.length; p++) m[p] = n[a](g[p]);
958
+ return m;
959
+ }
960
+ return n[a](this[0], f);
961
+ };
962
+ })(r[u]);
963
+ })("cumsum cumprod".split(" ")), function(r) {
964
+ for (var u = 0; u < r.length; u++) (function(a) {
965
+ l[a] = function(f, s) {
966
+ var m = [], p = 0, g = this;
967
+ if (o(f) && (s = f, f = !1), s) return setTimeout(function() {
968
+ s.call(g, l[a].call(g, f));
969
+ }), this;
970
+ if (this.length > 1) {
971
+ for (a !== "sumrow" && (g = f === !0 ? this : this.transpose()); p < g.length; p++) m[p] = n[a](g[p]);
972
+ return f === !0 ? n[a](n.utils.toVector(m)) : m;
973
+ }
974
+ return n[a](this[0], f);
975
+ };
976
+ })(r[u]);
977
+ }("sum sumsqrd sumsqerr sumrow product min max unique mean meansqerr geomean median diff rank mode range variance deviation stdev meandev meddev coeffvar quartiles histogram skewness kurtosis".split(" ")), function(r) {
978
+ for (var u = 0; u < r.length; u++) (function(a) {
979
+ l[a] = function() {
980
+ var f, s = [], m = 0, p = this, g = Array.prototype.slice.call(arguments);
981
+ if (o(g[g.length - 1])) {
982
+ f = g[g.length - 1];
983
+ var N = g.slice(0, g.length - 1);
984
+ return setTimeout(function() {
985
+ f.call(p, l[a].apply(p, N));
986
+ }), this;
987
+ }
988
+ f = void 0;
989
+ var h = function(d) {
990
+ return n[a].apply(p, [d].concat(g));
991
+ };
992
+ if (this.length > 1) {
993
+ for (p = p.transpose(); m < p.length; m++) s[m] = h(p[m]);
994
+ return s;
995
+ }
996
+ return h(this[0]);
997
+ };
998
+ })(r[u]);
999
+ }("quantiles percentileOfScore".split(" "));
1000
+ }(t, Math), function(n, e) {
1001
+ n.gammaln = function(o) {
1002
+ var i, c, l, r = 0, u = [76.18009172947146, -86.50532032941678, 24.01409824083091, -1.231739572450155, 0.001208650973866179, -5395239384953e-18], a = 1.000000000190015;
1003
+ for (l = (c = i = o) + 5.5, l -= (i + 0.5) * e.log(l); r < 6; r++) a += u[r] / ++c;
1004
+ return e.log(2.5066282746310007 * a / i) - l;
1005
+ }, n.loggam = function(o) {
1006
+ var i, c, l, r, u, a, f, s = [0.08333333333333333, -0.002777777777777778, 7936507936507937e-19, -5952380952380952e-19, 8417508417508418e-19, -0.001917526917526918, 0.00641025641025641, -0.02955065359477124, 0.1796443723688307, -1.3924322169059];
1007
+ if (i = o, f = 0, o == 1 || o == 2) return 0;
1008
+ for (o <= 7 && (i = o + (f = e.floor(7 - o))), c = 1 / (i * i), l = 2 * e.PI, u = s[9], a = 8; a >= 0; a--) u *= c, u += s[a];
1009
+ if (r = u / i + 0.5 * e.log(l) + (i - 0.5) * e.log(i) - i, o <= 7) for (a = 1; a <= f; a++) r -= e.log(i - 1), i -= 1;
1010
+ return r;
1011
+ }, n.gammafn = function(o) {
1012
+ var i, c, l, r, u = [-1.716185138865495, 24.76565080557592, -379.80425647094563, 629.3311553128184, 866.9662027904133, -31451.272968848367, -36144.413418691176, 66456.14382024054], a = [-30.8402300119739, 315.35062697960416, -1015.1563674902192, -3107.771671572311, 22538.11842098015, 4755.846277527881, -134659.9598649693, -115132.2596755535], f = !1, s = 0, m = 0, p = 0, g = o;
1013
+ if (o > 171.6243769536076) return 1 / 0;
1014
+ if (g <= 0) {
1015
+ if (!(r = g % 1 + 36e-17)) return 1 / 0;
1016
+ f = (1 & g ? -1 : 1) * e.PI / e.sin(e.PI * r), g = 1 - g;
1017
+ }
1018
+ for (l = g, c = g < 1 ? g++ : (g -= s = (0 | g) - 1) - 1, i = 0; i < 8; ++i) p = (p + u[i]) * c, m = m * c + a[i];
1019
+ if (r = p / m + 1, l < g) r /= l;
1020
+ else if (l > g) for (i = 0; i < s; ++i) r *= g, g++;
1021
+ return f && (r = f / r), r;
1022
+ }, n.gammap = function(o, i) {
1023
+ return n.lowRegGamma(o, i) * n.gammafn(o);
1024
+ }, n.lowRegGamma = function(o, i) {
1025
+ var c, l = n.gammaln(o), r = o, u = 1 / o, a = u, f = i + 1 - o, s = 1 / 1e-30, m = 1 / f, p = m, g = 1, N = -~(8.5 * e.log(o >= 1 ? o : 1 / o) + 0.4 * o + 17);
1026
+ if (i < 0 || o <= 0) return NaN;
1027
+ if (i < o + 1) {
1028
+ for (; g <= N; g++) u += a *= i / ++r;
1029
+ return u * e.exp(-i + o * e.log(i) - l);
1030
+ }
1031
+ for (; g <= N; g++) p *= (m = 1 / (m = (c = -g * (g - o)) * m + (f += 2))) * (s = f + c / s);
1032
+ return 1 - p * e.exp(-i + o * e.log(i) - l);
1033
+ }, n.factorialln = function(o) {
1034
+ return o < 0 ? NaN : n.gammaln(o + 1);
1035
+ }, n.factorial = function(o) {
1036
+ return o < 0 ? NaN : n.gammafn(o + 1);
1037
+ }, n.combination = function(o, i) {
1038
+ return o > 170 || i > 170 ? e.exp(n.combinationln(o, i)) : n.factorial(o) / n.factorial(i) / n.factorial(o - i);
1039
+ }, n.combinationln = function(o, i) {
1040
+ return n.factorialln(o) - n.factorialln(i) - n.factorialln(o - i);
1041
+ }, n.permutation = function(o, i) {
1042
+ return n.factorial(o) / n.factorial(o - i);
1043
+ }, n.betafn = function(o, i) {
1044
+ if (!(o <= 0 || i <= 0)) return o + i > 170 ? e.exp(n.betaln(o, i)) : n.gammafn(o) * n.gammafn(i) / n.gammafn(o + i);
1045
+ }, n.betaln = function(o, i) {
1046
+ return n.gammaln(o) + n.gammaln(i) - n.gammaln(o + i);
1047
+ }, n.betacf = function(o, i, c) {
1048
+ var l, r, u, a, f = 1e-30, s = 1, m = i + c, p = i + 1, g = i - 1, N = 1, h = 1 - m * o / p;
1049
+ for (e.abs(h) < f && (h = f), a = h = 1 / h; s <= 100 && (h = 1 + (r = s * (c - s) * o / ((g + (l = 2 * s)) * (i + l))) * h, e.abs(h) < f && (h = f), N = 1 + r / N, e.abs(N) < f && (N = f), a *= (h = 1 / h) * N, h = 1 + (r = -(i + s) * (m + s) * o / ((i + l) * (p + l))) * h, e.abs(h) < f && (h = f), N = 1 + r / N, e.abs(N) < f && (N = f), a *= u = (h = 1 / h) * N, !(e.abs(u - 1) < 3e-7)); s++) ;
1050
+ return a;
1051
+ }, n.gammapinv = function(o, i) {
1052
+ var c, l, r, u, a, f, s = 0, m = i - 1, p = 1e-8, g = n.gammaln(i);
1053
+ if (o >= 1) return e.max(100, i + 100 * e.sqrt(i));
1054
+ if (o <= 0) return 0;
1055
+ for (i > 1 ? (a = e.log(m), f = e.exp(m * (a - 1) - g), u = o < 0.5 ? o : 1 - o, c = (2.30753 + 0.27061 * (l = e.sqrt(-2 * e.log(u)))) / (1 + l * (0.99229 + 0.04481 * l)) - l, o < 0.5 && (c = -c), c = e.max(1e-3, i * e.pow(1 - 1 / (9 * i) - c / (3 * e.sqrt(i)), 3))) : c = o < (l = 1 - i * (0.253 + 0.12 * i)) ? e.pow(o / l, 1 / i) : 1 - e.log(1 - (o - l) / (1 - l)); s < 12; s++) {
1056
+ if (c <= 0) return 0;
1057
+ if ((c -= l = (r = (n.lowRegGamma(i, c) - o) / (l = i > 1 ? f * e.exp(-(c - m) + m * (e.log(c) - a)) : e.exp(-c + m * e.log(c) - g))) / (1 - 0.5 * e.min(1, r * ((i - 1) / c - 1)))) <= 0 && (c = 0.5 * (c + l)), e.abs(l) < p * c) break;
1058
+ }
1059
+ return c;
1060
+ }, n.erf = function(o) {
1061
+ var i, c, l, r, u = [-1.3026537197817094, 0.6419697923564902, 0.019476473204185836, -0.00956151478680863, -946595344482036e-18, 366839497852761e-18, 42523324806907e-18, -20278578112534e-18, -1624290004647e-18, 130365583558e-17, 15626441722e-18, -85238095915e-18, 6529054439e-18, 5059343495e-18, -991364156e-18, -227365122e-18, 96467911e-18, 2394038e-18, -6886027e-18, 894487e-18, 313092e-18, -112708e-18, 381e-18, 7106e-18, -1523e-18, -94e-18, 121e-18, -28e-18], a = u.length - 1, f = !1, s = 0, m = 0;
1062
+ for (o < 0 && (o = -o, f = !0), c = 4 * (i = 2 / (2 + o)) - 2; a > 0; a--) l = s, s = c * s - m + u[a], m = l;
1063
+ return r = i * e.exp(-o * o + 0.5 * (u[0] + c * s) - m), f ? r - 1 : 1 - r;
1064
+ }, n.erfc = function(o) {
1065
+ return 1 - n.erf(o);
1066
+ }, n.erfcinv = function(o) {
1067
+ var i, c, l, r, u = 0;
1068
+ if (o >= 2) return -100;
1069
+ if (o <= 0) return 100;
1070
+ for (r = o < 1 ? o : 2 - o, i = -0.70711 * ((2.30753 + 0.27061 * (l = e.sqrt(-2 * e.log(r / 2)))) / (1 + l * (0.99229 + 0.04481 * l)) - l); u < 2; u++) i += (c = n.erfc(i) - r) / (1.1283791670955126 * e.exp(-i * i) - i * c);
1071
+ return o < 1 ? i : -i;
1072
+ }, n.ibetainv = function(o, i, c) {
1073
+ var l, r, u, a, f, s, m, p, g, N, h = 1e-8, d = i - 1, b = c - 1, I = 0;
1074
+ if (o <= 0) return 0;
1075
+ if (o >= 1) return 1;
1076
+ for (i >= 1 && c >= 1 ? (u = o < 0.5 ? o : 1 - o, s = (2.30753 + 0.27061 * (a = e.sqrt(-2 * e.log(u)))) / (1 + a * (0.99229 + 0.04481 * a)) - a, o < 0.5 && (s = -s), m = (s * s - 3) / 6, p = 2 / (1 / (2 * i - 1) + 1 / (2 * c - 1)), g = s * e.sqrt(m + p) / p - (1 / (2 * c - 1) - 1 / (2 * i - 1)) * (m + 5 / 6 - 2 / (3 * p)), s = i / (i + c * e.exp(2 * g))) : (l = e.log(i / (i + c)), r = e.log(c / (i + c)), s = o < (a = e.exp(i * l) / i) / (g = a + (f = e.exp(c * r) / c)) ? e.pow(i * g * o, 1 / i) : 1 - e.pow(c * g * (1 - o), 1 / c)), N = -n.gammaln(i) - n.gammaln(c) + n.gammaln(i + c); I < 10; I++) {
1077
+ if (s === 0 || s === 1) return s;
1078
+ if ((s -= a = (f = (n.ibeta(s, i, c) - o) / (a = e.exp(d * e.log(s) + b * e.log(1 - s) + N))) / (1 - 0.5 * e.min(1, f * (d / s - b / (1 - s))))) <= 0 && (s = 0.5 * (s + a)), s >= 1 && (s = 0.5 * (s + a + 1)), e.abs(a) < h * s && I > 0) break;
1079
+ }
1080
+ return s;
1081
+ }, n.ibeta = function(o, i, c) {
1082
+ var l = o === 0 || o === 1 ? 0 : e.exp(n.gammaln(i + c) - n.gammaln(i) - n.gammaln(c) + i * e.log(o) + c * e.log(1 - o));
1083
+ return !(o < 0 || o > 1) && (o < (i + 1) / (i + c + 2) ? l * n.betacf(o, i, c) / i : 1 - l * n.betacf(1 - o, c, i) / c);
1084
+ }, n.randn = function(o, i) {
1085
+ var c, l, r, u, a;
1086
+ if (i || (i = o), o) return n.create(o, i, function() {
1087
+ return n.randn();
1088
+ });
1089
+ do
1090
+ c = n._random_fn(), l = 1.7156 * (n._random_fn() - 0.5), a = (r = c - 0.449871) * r + (u = e.abs(l) + 0.386595) * (0.196 * u - 0.25472 * r);
1091
+ while (a > 0.27597 && (a > 0.27846 || l * l > -4 * e.log(c) * c * c));
1092
+ return l / c;
1093
+ }, n.randg = function(o, i, c) {
1094
+ var l, r, u, a, f, s, m = o;
1095
+ if (c || (c = i), o || (o = 1), i) return (s = n.zeros(i, c)).alter(function() {
1096
+ return n.randg(o);
1097
+ }), s;
1098
+ o < 1 && (o += 1), l = o - 1 / 3, r = 1 / e.sqrt(9 * l);
1099
+ do {
1100
+ do
1101
+ a = 1 + r * (f = n.randn());
1102
+ while (a <= 0);
1103
+ a *= a * a, u = n._random_fn();
1104
+ } while (u > 1 - 0.331 * e.pow(f, 4) && e.log(u) > 0.5 * f * f + l * (1 - a + e.log(a)));
1105
+ if (o == m) return l * a;
1106
+ do
1107
+ u = n._random_fn();
1108
+ while (u === 0);
1109
+ return e.pow(u, 1 / m) * l * a;
1110
+ }, function(o) {
1111
+ for (var i = 0; i < o.length; i++) (function(c) {
1112
+ n.fn[c] = function() {
1113
+ return n(n.map(this, function(l) {
1114
+ return n[c](l);
1115
+ }));
1116
+ };
1117
+ })(o[i]);
1118
+ }("gammaln gammafn factorial factorialln".split(" ")), function(o) {
1119
+ for (var i = 0; i < o.length; i++) (function(c) {
1120
+ n.fn[c] = function() {
1121
+ return n(n[c].apply(null, arguments));
1122
+ };
1123
+ })(o[i]);
1124
+ }("randn".split(" "));
1125
+ }(t, Math), function(n, e) {
1126
+ function o(r, u, a, f) {
1127
+ for (var s, m = 0, p = 1, g = 1, N = 1, h = 0, d = 0; e.abs((g - d) / g) > f; ) d = g, p = N + (s = -(u + h) * (u + a + h) * r / (u + 2 * h) / (u + 2 * h + 1)) * p, g = (m = g + s * m) + (s = (h += 1) * (a - h) * r / (u + 2 * h - 1) / (u + 2 * h)) * g, m /= N = p + s * N, p /= N, g /= N, N = 1;
1128
+ return g / u;
1129
+ }
1130
+ function i(r) {
1131
+ return r / e.abs(r);
1132
+ }
1133
+ function c(r, u, a) {
1134
+ var f = 12, s = 6, m = -30, p = -50, g = 60, N = 8, h = 3, d = 2, b = 3, I = [0.9815606342467192, 0.9041172563704749, 0.7699026741943047, 0.5873179542866175, 0.3678314989981802, 0.1252334085114689], M = [0.04717533638651183, 0.10693932599531843, 0.16007832854334622, 0.20316742672306592, 0.2334925365383548, 0.24914704581340277], A = 0.5 * r;
1135
+ if (A >= N) return 1;
1136
+ var T, S = 2 * n.normal.cdf(A, 0, 1, 1, 0) - 1;
1137
+ S = S >= e.exp(p / a) ? e.pow(S, a) : 0;
1138
+ for (var R = A, O = (N - A) / (T = r > h ? d : b), v = R + O, D = 0, L = a - 1, G = 1; G <= T; G++) {
1139
+ for (var z = 0, P = 0.5 * (v + R), W = 0.5 * (v - R), B = 1; B <= f; B++) {
1140
+ var _, x = P + W * (s < B ? I[(_ = f - B + 1) - 1] : -I[(_ = B) - 1]), U = x * x;
1141
+ if (U > g) break;
1142
+ var V = 2 * n.normal.cdf(x, 0, 1, 1, 0) * 0.5 - 2 * n.normal.cdf(x, r, 1, 1, 0) * 0.5;
1143
+ V >= e.exp(m / L) && (z += V = M[_ - 1] * e.exp(-0.5 * U) * e.pow(V, L));
1144
+ }
1145
+ D += z *= 2 * W * a / e.sqrt(2 * e.PI), R = v, v += O;
1146
+ }
1147
+ return (S += D) <= e.exp(m / u) ? 0 : (S = e.pow(S, u)) >= 1 ? 1 : S;
1148
+ }
1149
+ function l(r, u, a) {
1150
+ var f = 0.322232421088, s = 0.099348462606, m = -1, p = 0.588581570495, g = -0.342242088547, N = 0.531103462366, h = -0.204231210125, d = 0.10353775285, b = -453642210148e-16, I = 0.0038560700634, M = 0.8832, A = 0.2368, T = 1.208, S = 1.4142, R = 120, O = 0.5 - 0.5 * r, v = e.sqrt(e.log(1 / (O * O))), D = v + ((((v * b + h) * v + g) * v + m) * v + f) / ((((v * I + d) * v + N) * v + p) * v + s);
1151
+ a < R && (D += (D * D * D + D) / a / 4);
1152
+ var L = M - A * D;
1153
+ return a < R && (L += -1.214 / a + T * D / a), D * (L * e.log(u - 1) + S);
1154
+ }
1155
+ (function(r) {
1156
+ for (var u = 0; u < r.length; u++) (function(a) {
1157
+ n[a] = function f(s, m, p) {
1158
+ return this instanceof f ? (this._a = s, this._b = m, this._c = p, this) : new f(s, m, p);
1159
+ }, n.fn[a] = function(f, s, m) {
1160
+ var p = n[a](f, s, m);
1161
+ return p.data = this, p;
1162
+ }, n[a].prototype.sample = function(f) {
1163
+ var s = this._a, m = this._b, p = this._c;
1164
+ return f ? n.alter(f, function() {
1165
+ return n[a].sample(s, m, p);
1166
+ }) : n[a].sample(s, m, p);
1167
+ }, function(f) {
1168
+ for (var s = 0; s < f.length; s++) (function(m) {
1169
+ n[a].prototype[m] = function(p) {
1170
+ var g = this._a, N = this._b, h = this._c;
1171
+ return p || p === 0 || (p = this.data), typeof p != "number" ? n.fn.map.call(p, function(d) {
1172
+ return n[a][m](d, g, N, h);
1173
+ }) : n[a][m](p, g, N, h);
1174
+ };
1175
+ })(f[s]);
1176
+ }("pdf cdf inv".split(" ")), function(f) {
1177
+ for (var s = 0; s < f.length; s++) (function(m) {
1178
+ n[a].prototype[m] = function() {
1179
+ return n[a][m](this._a, this._b, this._c);
1180
+ };
1181
+ })(f[s]);
1182
+ }("mean median mode variance".split(" "));
1183
+ })(r[u]);
1184
+ })("beta centralF cauchy chisquare exponential gamma invgamma kumaraswamy laplace lognormal noncentralt normal pareto studentt weibull uniform binomial negbin hypgeom poisson triangular tukey arcsine".split(" ")), n.extend(n.beta, { pdf: function(r, u, a) {
1185
+ return r > 1 || r < 0 ? 0 : u == 1 && a == 1 ? 1 : u < 512 && a < 512 ? e.pow(r, u - 1) * e.pow(1 - r, a - 1) / n.betafn(u, a) : e.exp((u - 1) * e.log(r) + (a - 1) * e.log(1 - r) - n.betaln(u, a));
1186
+ }, cdf: function(r, u, a) {
1187
+ return r > 1 || r < 0 ? 1 * (r > 1) : n.ibeta(r, u, a);
1188
+ }, inv: function(r, u, a) {
1189
+ return n.ibetainv(r, u, a);
1190
+ }, mean: function(r, u) {
1191
+ return r / (r + u);
1192
+ }, median: function(r, u) {
1193
+ return n.ibetainv(0.5, r, u);
1194
+ }, mode: function(r, u) {
1195
+ return (r - 1) / (r + u - 2);
1196
+ }, sample: function(r, u) {
1197
+ var a = n.randg(r);
1198
+ return a / (a + n.randg(u));
1199
+ }, variance: function(r, u) {
1200
+ return r * u / (e.pow(r + u, 2) * (r + u + 1));
1201
+ } }), n.extend(n.centralF, { pdf: function(r, u, a) {
1202
+ var f;
1203
+ return r < 0 ? 0 : u <= 2 ? r === 0 && u < 2 ? 1 / 0 : r === 0 && u === 2 ? 1 : 1 / n.betafn(u / 2, a / 2) * e.pow(u / a, u / 2) * e.pow(r, u / 2 - 1) * e.pow(1 + u / a * r, -(u + a) / 2) : (f = u * r / (a + r * u), u * (a / (a + r * u)) / 2 * n.binomial.pdf((u - 2) / 2, (u + a - 2) / 2, f));
1204
+ }, cdf: function(r, u, a) {
1205
+ return r < 0 ? 0 : n.ibeta(u * r / (u * r + a), u / 2, a / 2);
1206
+ }, inv: function(r, u, a) {
1207
+ return a / (u * (1 / n.ibetainv(r, u / 2, a / 2) - 1));
1208
+ }, mean: function(r, u) {
1209
+ return u > 2 ? u / (u - 2) : void 0;
1210
+ }, mode: function(r, u) {
1211
+ return r > 2 ? u * (r - 2) / (r * (u + 2)) : void 0;
1212
+ }, sample: function(r, u) {
1213
+ return 2 * n.randg(r / 2) / r / (2 * n.randg(u / 2) / u);
1214
+ }, variance: function(r, u) {
1215
+ if (!(u <= 4)) return 2 * u * u * (r + u - 2) / (r * (u - 2) * (u - 2) * (u - 4));
1216
+ } }), n.extend(n.cauchy, { pdf: function(r, u, a) {
1217
+ return a < 0 ? 0 : a / (e.pow(r - u, 2) + e.pow(a, 2)) / e.PI;
1218
+ }, cdf: function(r, u, a) {
1219
+ return e.atan((r - u) / a) / e.PI + 0.5;
1220
+ }, inv: function(r, u, a) {
1221
+ return u + a * e.tan(e.PI * (r - 0.5));
1222
+ }, median: function(r) {
1223
+ return r;
1224
+ }, mode: function(r) {
1225
+ return r;
1226
+ }, sample: function(r, u) {
1227
+ return n.randn() * e.sqrt(1 / (2 * n.randg(0.5))) * u + r;
1228
+ } }), n.extend(n.chisquare, { pdf: function(r, u) {
1229
+ return r < 0 ? 0 : r === 0 && u === 2 ? 0.5 : e.exp((u / 2 - 1) * e.log(r) - r / 2 - u / 2 * e.log(2) - n.gammaln(u / 2));
1230
+ }, cdf: function(r, u) {
1231
+ return r < 0 ? 0 : n.lowRegGamma(u / 2, r / 2);
1232
+ }, inv: function(r, u) {
1233
+ return 2 * n.gammapinv(r, 0.5 * u);
1234
+ }, mean: function(r) {
1235
+ return r;
1236
+ }, median: function(r) {
1237
+ return r * e.pow(1 - 2 / (9 * r), 3);
1238
+ }, mode: function(r) {
1239
+ return r - 2 > 0 ? r - 2 : 0;
1240
+ }, sample: function(r) {
1241
+ return 2 * n.randg(r / 2);
1242
+ }, variance: function(r) {
1243
+ return 2 * r;
1244
+ } }), n.extend(n.exponential, { pdf: function(r, u) {
1245
+ return r < 0 ? 0 : u * e.exp(-u * r);
1246
+ }, cdf: function(r, u) {
1247
+ return r < 0 ? 0 : 1 - e.exp(-u * r);
1248
+ }, inv: function(r, u) {
1249
+ return -e.log(1 - r) / u;
1250
+ }, mean: function(r) {
1251
+ return 1 / r;
1252
+ }, median: function(r) {
1253
+ return 1 / r * e.log(2);
1254
+ }, mode: function() {
1255
+ return 0;
1256
+ }, sample: function(r) {
1257
+ return -1 / r * e.log(n._random_fn());
1258
+ }, variance: function(r) {
1259
+ return e.pow(r, -2);
1260
+ } }), n.extend(n.gamma, { pdf: function(r, u, a) {
1261
+ return r < 0 ? 0 : r === 0 && u === 1 ? 1 / a : e.exp((u - 1) * e.log(r) - r / a - n.gammaln(u) - u * e.log(a));
1262
+ }, cdf: function(r, u, a) {
1263
+ return r < 0 ? 0 : n.lowRegGamma(u, r / a);
1264
+ }, inv: function(r, u, a) {
1265
+ return n.gammapinv(r, u) * a;
1266
+ }, mean: function(r, u) {
1267
+ return r * u;
1268
+ }, mode: function(r, u) {
1269
+ if (r > 1) return (r - 1) * u;
1270
+ }, sample: function(r, u) {
1271
+ return n.randg(r) * u;
1272
+ }, variance: function(r, u) {
1273
+ return r * u * u;
1274
+ } }), n.extend(n.invgamma, { pdf: function(r, u, a) {
1275
+ return r <= 0 ? 0 : e.exp(-(u + 1) * e.log(r) - a / r - n.gammaln(u) + u * e.log(a));
1276
+ }, cdf: function(r, u, a) {
1277
+ return r <= 0 ? 0 : 1 - n.lowRegGamma(u, a / r);
1278
+ }, inv: function(r, u, a) {
1279
+ return a / n.gammapinv(1 - r, u);
1280
+ }, mean: function(r, u) {
1281
+ return r > 1 ? u / (r - 1) : void 0;
1282
+ }, mode: function(r, u) {
1283
+ return u / (r + 1);
1284
+ }, sample: function(r, u) {
1285
+ return u / n.randg(r);
1286
+ }, variance: function(r, u) {
1287
+ if (!(r <= 2)) return u * u / ((r - 1) * (r - 1) * (r - 2));
1288
+ } }), n.extend(n.kumaraswamy, { pdf: function(r, u, a) {
1289
+ return r === 0 && u === 1 ? a : r === 1 && a === 1 ? u : e.exp(e.log(u) + e.log(a) + (u - 1) * e.log(r) + (a - 1) * e.log(1 - e.pow(r, u)));
1290
+ }, cdf: function(r, u, a) {
1291
+ return r < 0 ? 0 : r > 1 ? 1 : 1 - e.pow(1 - e.pow(r, u), a);
1292
+ }, inv: function(r, u, a) {
1293
+ return e.pow(1 - e.pow(1 - r, 1 / a), 1 / u);
1294
+ }, mean: function(r, u) {
1295
+ return u * n.gammafn(1 + 1 / r) * n.gammafn(u) / n.gammafn(1 + 1 / r + u);
1296
+ }, median: function(r, u) {
1297
+ return e.pow(1 - e.pow(2, -1 / u), 1 / r);
1298
+ }, mode: function(r, u) {
1299
+ if (r >= 1 && u >= 1 && r !== 1 && u !== 1) return e.pow((r - 1) / (r * u - 1), 1 / r);
1300
+ }, variance: function() {
1301
+ throw new Error("variance not yet implemented");
1302
+ } }), n.extend(n.lognormal, { pdf: function(r, u, a) {
1303
+ return r <= 0 ? 0 : e.exp(-e.log(r) - 0.5 * e.log(2 * e.PI) - e.log(a) - e.pow(e.log(r) - u, 2) / (2 * a * a));
1304
+ }, cdf: function(r, u, a) {
1305
+ return r < 0 ? 0 : 0.5 + 0.5 * n.erf((e.log(r) - u) / e.sqrt(2 * a * a));
1306
+ }, inv: function(r, u, a) {
1307
+ return e.exp(-1.4142135623730951 * a * n.erfcinv(2 * r) + u);
1308
+ }, mean: function(r, u) {
1309
+ return e.exp(r + u * u / 2);
1310
+ }, median: function(r) {
1311
+ return e.exp(r);
1312
+ }, mode: function(r, u) {
1313
+ return e.exp(r - u * u);
1314
+ }, sample: function(r, u) {
1315
+ return e.exp(n.randn() * u + r);
1316
+ }, variance: function(r, u) {
1317
+ return (e.exp(u * u) - 1) * e.exp(2 * r + u * u);
1318
+ } }), n.extend(n.noncentralt, { pdf: function(r, u, a) {
1319
+ var f = 1e-14;
1320
+ return e.abs(a) < f ? n.studentt.pdf(r, u) : e.abs(r) < f ? e.exp(n.gammaln((u + 1) / 2) - a * a / 2 - 0.5 * e.log(e.PI * u) - n.gammaln(u / 2)) : u / r * (n.noncentralt.cdf(r * e.sqrt(1 + 2 / u), u + 2, a) - n.noncentralt.cdf(r, u, a));
1321
+ }, cdf: function(r, u, a) {
1322
+ var f = 1e-14, s = 200;
1323
+ if (e.abs(a) < f) return n.studentt.cdf(r, u);
1324
+ var m = !1;
1325
+ r < 0 && (m = !0, a = -a);
1326
+ for (var p = n.normal.cdf(-a, 0, 1), g = f + 1, N = g, h = r * r / (r * r + u), d = 0, b = e.exp(-a * a / 2), I = e.exp(-a * a / 2 - 0.5 * e.log(2) - n.gammaln(1.5)) * a; d < s || N > f || g > f; ) N = g, d > 0 && (b *= a * a / (2 * d), I *= a * a / (2 * (d + 0.5))), p += 0.5 * (g = b * n.beta.cdf(h, d + 0.5, u / 2) + I * n.beta.cdf(h, d + 1, u / 2)), d++;
1327
+ return m ? 1 - p : p;
1328
+ } }), n.extend(n.normal, { pdf: function(r, u, a) {
1329
+ return e.exp(-0.5 * e.log(2 * e.PI) - e.log(a) - e.pow(r - u, 2) / (2 * a * a));
1330
+ }, cdf: function(r, u, a) {
1331
+ return 0.5 * (1 + n.erf((r - u) / e.sqrt(2 * a * a)));
1332
+ }, inv: function(r, u, a) {
1333
+ return -1.4142135623730951 * a * n.erfcinv(2 * r) + u;
1334
+ }, mean: function(r) {
1335
+ return r;
1336
+ }, median: function(r) {
1337
+ return r;
1338
+ }, mode: function(r) {
1339
+ return r;
1340
+ }, sample: function(r, u) {
1341
+ return n.randn() * u + r;
1342
+ }, variance: function(r, u) {
1343
+ return u * u;
1344
+ } }), n.extend(n.pareto, { pdf: function(r, u, a) {
1345
+ return r < u ? 0 : a * e.pow(u, a) / e.pow(r, a + 1);
1346
+ }, cdf: function(r, u, a) {
1347
+ return r < u ? 0 : 1 - e.pow(u / r, a);
1348
+ }, inv: function(r, u, a) {
1349
+ return u / e.pow(1 - r, 1 / a);
1350
+ }, mean: function(r, u) {
1351
+ if (!(u <= 1)) return u * e.pow(r, u) / (u - 1);
1352
+ }, median: function(r, u) {
1353
+ return r * (u * e.SQRT2);
1354
+ }, mode: function(r) {
1355
+ return r;
1356
+ }, variance: function(r, u) {
1357
+ if (!(u <= 2)) return r * r * u / (e.pow(u - 1, 2) * (u - 2));
1358
+ } }), n.extend(n.studentt, { pdf: function(r, u) {
1359
+ return u = u > 1e100 ? 1e100 : u, 1 / (e.sqrt(u) * n.betafn(0.5, u / 2)) * e.pow(1 + r * r / u, -(u + 1) / 2);
1360
+ }, cdf: function(r, u) {
1361
+ var a = u / 2;
1362
+ return n.ibeta((r + e.sqrt(r * r + u)) / (2 * e.sqrt(r * r + u)), a, a);
1363
+ }, inv: function(r, u) {
1364
+ var a = n.ibetainv(2 * e.min(r, 1 - r), 0.5 * u, 0.5);
1365
+ return a = e.sqrt(u * (1 - a) / a), r > 0.5 ? a : -a;
1366
+ }, mean: function(r) {
1367
+ return r > 1 ? 0 : void 0;
1368
+ }, median: function() {
1369
+ return 0;
1370
+ }, mode: function() {
1371
+ return 0;
1372
+ }, sample: function(r) {
1373
+ return n.randn() * e.sqrt(r / (2 * n.randg(r / 2)));
1374
+ }, variance: function(r) {
1375
+ return r > 2 ? r / (r - 2) : r > 1 ? 1 / 0 : void 0;
1376
+ } }), n.extend(n.weibull, { pdf: function(r, u, a) {
1377
+ return r < 0 || u < 0 || a < 0 ? 0 : a / u * e.pow(r / u, a - 1) * e.exp(-e.pow(r / u, a));
1378
+ }, cdf: function(r, u, a) {
1379
+ return r < 0 ? 0 : 1 - e.exp(-e.pow(r / u, a));
1380
+ }, inv: function(r, u, a) {
1381
+ return u * e.pow(-e.log(1 - r), 1 / a);
1382
+ }, mean: function(r, u) {
1383
+ return r * n.gammafn(1 + 1 / u);
1384
+ }, median: function(r, u) {
1385
+ return r * e.pow(e.log(2), 1 / u);
1386
+ }, mode: function(r, u) {
1387
+ return u <= 1 ? 0 : r * e.pow((u - 1) / u, 1 / u);
1388
+ }, sample: function(r, u) {
1389
+ return r * e.pow(-e.log(n._random_fn()), 1 / u);
1390
+ }, variance: function(r, u) {
1391
+ return r * r * n.gammafn(1 + 2 / u) - e.pow(n.weibull.mean(r, u), 2);
1392
+ } }), n.extend(n.uniform, { pdf: function(r, u, a) {
1393
+ return r < u || r > a ? 0 : 1 / (a - u);
1394
+ }, cdf: function(r, u, a) {
1395
+ return r < u ? 0 : r < a ? (r - u) / (a - u) : 1;
1396
+ }, inv: function(r, u, a) {
1397
+ return u + r * (a - u);
1398
+ }, mean: function(r, u) {
1399
+ return 0.5 * (r + u);
1400
+ }, median: function(r, u) {
1401
+ return n.mean(r, u);
1402
+ }, mode: function() {
1403
+ throw new Error("mode is not yet implemented");
1404
+ }, sample: function(r, u) {
1405
+ return r / 2 + u / 2 + (u / 2 - r / 2) * (2 * n._random_fn() - 1);
1406
+ }, variance: function(r, u) {
1407
+ return e.pow(u - r, 2) / 12;
1408
+ } }), n.extend(n.binomial, { pdf: function(r, u, a) {
1409
+ return a === 0 || a === 1 ? u * a === r ? 1 : 0 : n.combination(u, r) * e.pow(a, r) * e.pow(1 - a, u - r);
1410
+ }, cdf: function(r, u, a) {
1411
+ var f, s = 1e-10;
1412
+ if (r < 0) return 0;
1413
+ if (r >= u) return 1;
1414
+ if (a < 0 || a > 1 || u <= 0) return NaN;
1415
+ var m = a, p = (r = e.floor(r)) + 1, g = u - r, N = p + g, h = e.exp(n.gammaln(N) - n.gammaln(g) - n.gammaln(p) + p * e.log(m) + g * e.log(1 - m));
1416
+ return f = m < (p + 1) / (N + 2) ? h * o(m, p, g, s) : 1 - h * o(1 - m, g, p, s), e.round(1 / s * (1 - f)) / (1 / s);
1417
+ } }), n.extend(n.negbin, { pdf: function(r, u, a) {
1418
+ return r === r >>> 0 && (r < 0 ? 0 : n.combination(r + u - 1, u - 1) * e.pow(1 - a, r) * e.pow(a, u));
1419
+ }, cdf: function(r, u, a) {
1420
+ var f = 0, s = 0;
1421
+ if (r < 0) return 0;
1422
+ for (; s <= r; s++) f += n.negbin.pdf(s, u, a);
1423
+ return f;
1424
+ } }), n.extend(n.hypgeom, { pdf: function(r, u, a, f) {
1425
+ if (r != r | 0) return !1;
1426
+ if (r < 0 || r < a - (u - f) || r > f || r > a) return 0;
1427
+ if (2 * a > u) return 2 * f > u ? n.hypgeom.pdf(u - a - f + r, u, u - a, u - f) : n.hypgeom.pdf(f - r, u, u - a, f);
1428
+ if (2 * f > u) return n.hypgeom.pdf(a - r, u, a, u - f);
1429
+ if (a < f) return n.hypgeom.pdf(r, u, f, a);
1430
+ for (var s = 1, m = 0, p = 0; p < r; p++) {
1431
+ for (; s > 1 && m < f; ) s *= 1 - a / (u - m), m++;
1432
+ s *= (f - p) * (a - p) / ((p + 1) * (u - a - f + p + 1));
1433
+ }
1434
+ for (; m < f; m++) s *= 1 - a / (u - m);
1435
+ return e.min(1, e.max(0, s));
1436
+ }, cdf: function(r, u, a, f) {
1437
+ if (r < 0 || r < a - (u - f)) return 0;
1438
+ if (r >= f || r >= a) return 1;
1439
+ if (2 * a > u) return 2 * f > u ? n.hypgeom.cdf(u - a - f + r, u, u - a, u - f) : 1 - n.hypgeom.cdf(f - r - 1, u, u - a, f);
1440
+ if (2 * f > u) return 1 - n.hypgeom.cdf(a - r - 1, u, a, u - f);
1441
+ if (a < f) return n.hypgeom.cdf(r, u, f, a);
1442
+ for (var s = 1, m = 1, p = 0, g = 0; g < r; g++) {
1443
+ for (; s > 1 && p < f; ) {
1444
+ var N = 1 - a / (u - p);
1445
+ m *= N, s *= N, p++;
1446
+ }
1447
+ s += m *= (f - g) * (a - g) / ((g + 1) * (u - a - f + g + 1));
1448
+ }
1449
+ for (; p < f; p++) s *= 1 - a / (u - p);
1450
+ return e.min(1, e.max(0, s));
1451
+ } }), n.extend(n.poisson, { pdf: function(r, u) {
1452
+ return u < 0 || r % 1 != 0 || r < 0 ? 0 : e.pow(u, r) * e.exp(-u) / n.factorial(r);
1453
+ }, cdf: function(r, u) {
1454
+ var a = [], f = 0;
1455
+ if (r < 0) return 0;
1456
+ for (; f <= r; f++) a.push(n.poisson.pdf(f, u));
1457
+ return n.sum(a);
1458
+ }, mean: function(r) {
1459
+ return r;
1460
+ }, variance: function(r) {
1461
+ return r;
1462
+ }, sampleSmall: function(r) {
1463
+ var u = 1, a = 0, f = e.exp(-r);
1464
+ do
1465
+ a++, u *= n._random_fn();
1466
+ while (u > f);
1467
+ return a - 1;
1468
+ }, sampleLarge: function(r) {
1469
+ var u, a, f, s, m, p, g, N, h, d, b = r;
1470
+ for (s = e.sqrt(b), m = e.log(b), p = 0.02483 * (g = 0.931 + 2.53 * s) - 0.059, N = 1.1239 + 1.1328 / (g - 3.4), h = 0.9277 - 3.6224 / (g - 2); ; )
1471
+ if (a = e.random() - 0.5, f = e.random(), d = 0.5 - e.abs(a), u = e.floor((2 * p / d + g) * a + b + 0.43), d >= 0.07 && f <= h || !(u < 0 || d < 0.013 && f > d) && e.log(f) + e.log(N) - e.log(p / (d * d) + g) <= u * m - b - n.loggam(u + 1)) return u;
1472
+ }, sample: function(r) {
1473
+ return r < 10 ? this.sampleSmall(r) : this.sampleLarge(r);
1474
+ } }), n.extend(n.triangular, { pdf: function(r, u, a, f) {
1475
+ return a <= u || f < u || f > a ? NaN : r < u || r > a ? 0 : r < f ? 2 * (r - u) / ((a - u) * (f - u)) : r === f ? 2 / (a - u) : 2 * (a - r) / ((a - u) * (a - f));
1476
+ }, cdf: function(r, u, a, f) {
1477
+ return a <= u || f < u || f > a ? NaN : r <= u ? 0 : r >= a ? 1 : r <= f ? e.pow(r - u, 2) / ((a - u) * (f - u)) : 1 - e.pow(a - r, 2) / ((a - u) * (a - f));
1478
+ }, inv: function(r, u, a, f) {
1479
+ return a <= u || f < u || f > a ? NaN : r <= (f - u) / (a - u) ? u + (a - u) * e.sqrt(r * ((f - u) / (a - u))) : u + (a - u) * (1 - e.sqrt((1 - r) * (1 - (f - u) / (a - u))));
1480
+ }, mean: function(r, u, a) {
1481
+ return (r + u + a) / 3;
1482
+ }, median: function(r, u, a) {
1483
+ return a <= (r + u) / 2 ? u - e.sqrt((u - r) * (u - a)) / e.sqrt(2) : a > (r + u) / 2 ? r + e.sqrt((u - r) * (a - r)) / e.sqrt(2) : void 0;
1484
+ }, mode: function(r, u, a) {
1485
+ return a;
1486
+ }, sample: function(r, u, a) {
1487
+ var f = n._random_fn();
1488
+ return f < (a - r) / (u - r) ? r + e.sqrt(f * (u - r) * (a - r)) : u - e.sqrt((1 - f) * (u - r) * (u - a));
1489
+ }, variance: function(r, u, a) {
1490
+ return (r * r + u * u + a * a - r * u - r * a - u * a) / 18;
1491
+ } }), n.extend(n.arcsine, { pdf: function(r, u, a) {
1492
+ return a <= u ? NaN : r <= u || r >= a ? 0 : 2 / e.PI * e.pow(e.pow(a - u, 2) - e.pow(2 * r - u - a, 2), -0.5);
1493
+ }, cdf: function(r, u, a) {
1494
+ return r < u ? 0 : r < a ? 2 / e.PI * e.asin(e.sqrt((r - u) / (a - u))) : 1;
1495
+ }, inv: function(r, u, a) {
1496
+ return u + (0.5 - 0.5 * e.cos(e.PI * r)) * (a - u);
1497
+ }, mean: function(r, u) {
1498
+ return u <= r ? NaN : (r + u) / 2;
1499
+ }, median: function(r, u) {
1500
+ return u <= r ? NaN : (r + u) / 2;
1501
+ }, mode: function() {
1502
+ throw new Error("mode is not yet implemented");
1503
+ }, sample: function(r, u) {
1504
+ return (r + u) / 2 + (u - r) / 2 * e.sin(2 * e.PI * n.uniform.sample(0, 1));
1505
+ }, variance: function(r, u) {
1506
+ return u <= r ? NaN : e.pow(u - r, 2) / 8;
1507
+ } }), n.extend(n.laplace, { pdf: function(r, u, a) {
1508
+ return a <= 0 ? 0 : e.exp(-e.abs(r - u) / a) / (2 * a);
1509
+ }, cdf: function(r, u, a) {
1510
+ return a <= 0 ? 0 : r < u ? 0.5 * e.exp((r - u) / a) : 1 - 0.5 * e.exp(-(r - u) / a);
1511
+ }, mean: function(r) {
1512
+ return r;
1513
+ }, median: function(r) {
1514
+ return r;
1515
+ }, mode: function(r) {
1516
+ return r;
1517
+ }, variance: function(r, u) {
1518
+ return 2 * u * u;
1519
+ }, sample: function(r, u) {
1520
+ var a = n._random_fn() - 0.5;
1521
+ return r - u * i(a) * e.log(1 - 2 * e.abs(a));
1522
+ } }), n.extend(n.tukey, { cdf: function(r, u, a) {
1523
+ var f = 1, s = u, m = 16, p = 8, g = -30, N = 1e-14, h = 100, d = 800, b = 5e3, I = 25e3, M = 1, A = 0.5, T = 0.25, S = 0.125, R = [0.9894009349916499, 0.9445750230732326, 0.8656312023878318, 0.755404408355003, 0.6178762444026438, 0.45801677765722737, 0.2816035507792589, 0.09501250983763744], O = [0.027152459411754096, 0.062253523938647894, 0.09515851168249279, 0.12462897125553388, 0.14959598881657674, 0.16915651939500254, 0.18260341504492358, 0.1894506104550685];
1524
+ if (r <= 0) return 0;
1525
+ if (a < 2 || f < 1 || s < 2) return NaN;
1526
+ if (!Number.isFinite(r)) return 1;
1527
+ if (a > I) return c(r, f, s);
1528
+ var v, D = 0.5 * a, L = D * e.log(a) - a * e.log(2) - n.gammaln(D), G = D - 1, z = 0.25 * a;
1529
+ v = a <= h ? M : a <= d ? A : a <= b ? T : S, L += e.log(v);
1530
+ for (var P = 0, W = 1; W <= 50; W++) {
1531
+ for (var B = 0, _ = (2 * W - 1) * v, x = 1; x <= m; x++) {
1532
+ var U, V;
1533
+ p < x ? (U = x - p - 1, V = L + G * e.log(_ + R[U] * v) - (R[U] * v + _) * z) : (U = x - 1, V = L + G * e.log(_ - R[U] * v) + (R[U] * v - _) * z), V >= g && (B += c(p < x ? r * e.sqrt(0.5 * (R[U] * v + _)) : r * e.sqrt(0.5 * (-R[U] * v + _)), f, s) * O[U] * e.exp(V));
1534
+ }
1535
+ if (W * v >= 1 && B <= N) break;
1536
+ P += B;
1537
+ }
1538
+ if (B > N) throw new Error("tukey.cdf failed to converge");
1539
+ return P > 1 && (P = 1), P;
1540
+ }, inv: function(r, u, a) {
1541
+ var f = 1e-4, s = 50;
1542
+ if (a < 2 || u < 2) return NaN;
1543
+ if (r < 0 || r > 1) return NaN;
1544
+ if (r === 0) return 0;
1545
+ if (r === 1) return 1 / 0;
1546
+ var m, p = l(r, u, a), g = n.tukey.cdf(p, u, a) - r;
1547
+ m = g > 0 ? e.max(0, p - 1) : p + 1;
1548
+ for (var N, h = n.tukey.cdf(m, u, a) - r, d = 1; d < s; d++) if (N = m - h * (m - p) / (h - g), g = h, p = m, N < 0 && (N = 0, h = -r), h = n.tukey.cdf(N, u, a) - r, m = N, e.abs(m - p) < f) return N;
1549
+ throw new Error("tukey.inv failed to converge");
1550
+ } });
1551
+ }(t, Math), function(n, e) {
1552
+ var o = Array.prototype.push, i = n.utils.isArray;
1553
+ function c(l) {
1554
+ return i(l) || l instanceof n;
1555
+ }
1556
+ n.extend({ add: function(l, r) {
1557
+ return c(r) ? (c(r[0]) || (r = [r]), n.map(l, function(u, a, f) {
1558
+ return u + r[a][f];
1559
+ })) : n.map(l, function(u) {
1560
+ return u + r;
1561
+ });
1562
+ }, subtract: function(l, r) {
1563
+ return c(r) ? (c(r[0]) || (r = [r]), n.map(l, function(u, a, f) {
1564
+ return u - r[a][f] || 0;
1565
+ })) : n.map(l, function(u) {
1566
+ return u - r;
1567
+ });
1568
+ }, divide: function(l, r) {
1569
+ return c(r) ? (c(r[0]) || (r = [r]), n.multiply(l, n.inv(r))) : n.map(l, function(u) {
1570
+ return u / r;
1571
+ });
1572
+ }, multiply: function(l, r) {
1573
+ var u, a, f, s, m, p, g, N;
1574
+ if (l.length === void 0 && r.length === void 0) return l * r;
1575
+ if (m = l.length, p = l[0].length, g = n.zeros(m, f = c(r) ? r[0].length : p), N = 0, c(r)) {
1576
+ for (; N < f; N++) for (u = 0; u < m; u++) {
1577
+ for (s = 0, a = 0; a < p; a++) s += l[u][a] * r[a][N];
1578
+ g[u][N] = s;
1579
+ }
1580
+ return m === 1 && N === 1 ? g[0][0] : g;
1581
+ }
1582
+ return n.map(l, function(h) {
1583
+ return h * r;
1584
+ });
1585
+ }, outer: function(l, r) {
1586
+ return n.multiply(l.map(function(u) {
1587
+ return [u];
1588
+ }), [r]);
1589
+ }, dot: function(l, r) {
1590
+ c(l[0]) || (l = [l]), c(r[0]) || (r = [r]);
1591
+ for (var u, a, f = l[0].length === 1 && l.length !== 1 ? n.transpose(l) : l, s = r[0].length === 1 && r.length !== 1 ? n.transpose(r) : r, m = [], p = 0, g = f.length, N = f[0].length; p < g; p++) {
1592
+ for (m[p] = [], u = 0, a = 0; a < N; a++) u += f[p][a] * s[p][a];
1593
+ m[p] = u;
1594
+ }
1595
+ return m.length === 1 ? m[0] : m;
1596
+ }, pow: function(l, r) {
1597
+ return n.map(l, function(u) {
1598
+ return e.pow(u, r);
1599
+ });
1600
+ }, exp: function(l) {
1601
+ return n.map(l, function(r) {
1602
+ return e.exp(r);
1603
+ });
1604
+ }, log: function(l) {
1605
+ return n.map(l, function(r) {
1606
+ return e.log(r);
1607
+ });
1608
+ }, abs: function(l) {
1609
+ return n.map(l, function(r) {
1610
+ return e.abs(r);
1611
+ });
1612
+ }, norm: function(l, r) {
1613
+ var u = 0, a = 0;
1614
+ for (isNaN(r) && (r = 2), c(l[0]) && (l = l[0]); a < l.length; a++) u += e.pow(e.abs(l[a]), r);
1615
+ return e.pow(u, 1 / r);
1616
+ }, angle: function(l, r) {
1617
+ return e.acos(n.dot(l, r) / (n.norm(l) * n.norm(r)));
1618
+ }, aug: function(l, r) {
1619
+ var u, a = [];
1620
+ for (u = 0; u < l.length; u++) a.push(l[u].slice());
1621
+ for (u = 0; u < a.length; u++) o.apply(a[u], r[u]);
1622
+ return a;
1623
+ }, inv: function(l) {
1624
+ for (var r, u = l.length, a = l[0].length, f = n.identity(u, a), s = n.gauss_jordan(l, f), m = [], p = 0; p < u; p++) for (m[p] = [], r = a; r < s[0].length; r++) m[p][r - a] = s[p][r];
1625
+ return m;
1626
+ }, det: function l(r) {
1627
+ if (r.length === 2) return r[0][0] * r[1][1] - r[0][1] * r[1][0];
1628
+ for (var u = 0, a = 0; a < r.length; a++) {
1629
+ for (var f = [], s = 1; s < r.length; s++) {
1630
+ f[s - 1] = [];
1631
+ for (var m = 0; m < r.length; m++) m < a ? f[s - 1][m] = r[s][m] : m > a && (f[s - 1][m - 1] = r[s][m]);
1632
+ }
1633
+ var p = a % 2 ? -1 : 1;
1634
+ u += l(f) * r[0][a] * p;
1635
+ }
1636
+ return u;
1637
+ }, gauss_elimination: function(l, r) {
1638
+ var u, a, f, s, m = 0, p = 0, g = l.length, N = l[0].length, h = 1, d = 0, b = [];
1639
+ for (u = (l = n.aug(l, r))[0].length, m = 0; m < g; m++) {
1640
+ for (a = l[m][m], p = m, s = m + 1; s < N; s++) a < e.abs(l[s][m]) && (a = l[s][m], p = s);
1641
+ if (p != m) for (s = 0; s < u; s++) f = l[m][s], l[m][s] = l[p][s], l[p][s] = f;
1642
+ for (p = m + 1; p < g; p++) for (h = l[p][m] / l[m][m], s = m; s < u; s++) l[p][s] = l[p][s] - h * l[m][s];
1643
+ }
1644
+ for (m = g - 1; m >= 0; m--) {
1645
+ for (d = 0, p = m + 1; p <= g - 1; p++) d += b[p] * l[m][p];
1646
+ b[m] = (l[m][u - 1] - d) / l[m][m];
1647
+ }
1648
+ return b;
1649
+ }, gauss_jordan: function(l, r) {
1650
+ var u, a, f, s = n.aug(l, r), m = s.length, p = s[0].length, g = 0;
1651
+ for (a = 0; a < m; a++) {
1652
+ var N = a;
1653
+ for (f = a + 1; f < m; f++) e.abs(s[f][a]) > e.abs(s[N][a]) && (N = f);
1654
+ var h = s[a];
1655
+ for (s[a] = s[N], s[N] = h, f = a + 1; f < m; f++) for (g = s[f][a] / s[a][a], u = a; u < p; u++) s[f][u] -= s[a][u] * g;
1656
+ }
1657
+ for (a = m - 1; a >= 0; a--) {
1658
+ for (g = s[a][a], f = 0; f < a; f++) for (u = p - 1; u > a - 1; u--) s[f][u] -= s[a][u] * s[f][a] / g;
1659
+ for (s[a][a] /= g, u = m; u < p; u++) s[a][u] /= g;
1660
+ }
1661
+ return s;
1662
+ }, triaUpSolve: function(l, r) {
1663
+ var u, a = l[0].length, f = n.zeros(1, a)[0], s = !1;
1664
+ return r[0].length != null && (r = r.map(function(m) {
1665
+ return m[0];
1666
+ }), s = !0), n.arange(a - 1, -1, -1).forEach(function(m) {
1667
+ u = n.arange(m + 1, a).map(function(p) {
1668
+ return f[p] * l[m][p];
1669
+ }), f[m] = (r[m] - n.sum(u)) / l[m][m];
1670
+ }), s ? f.map(function(m) {
1671
+ return [m];
1672
+ }) : f;
1673
+ }, triaLowSolve: function(l, r) {
1674
+ var u, a = l[0].length, f = n.zeros(1, a)[0], s = !1;
1675
+ return r[0].length != null && (r = r.map(function(m) {
1676
+ return m[0];
1677
+ }), s = !0), n.arange(a).forEach(function(m) {
1678
+ u = n.arange(m).map(function(p) {
1679
+ return l[m][p] * f[p];
1680
+ }), f[m] = (r[m] - n.sum(u)) / l[m][m];
1681
+ }), s ? f.map(function(m) {
1682
+ return [m];
1683
+ }) : f;
1684
+ }, lu: function(l) {
1685
+ var r, u = l.length, a = n.identity(u), f = n.zeros(l.length, l[0].length);
1686
+ return n.arange(u).forEach(function(s) {
1687
+ f[0][s] = l[0][s];
1688
+ }), n.arange(1, u).forEach(function(s) {
1689
+ n.arange(s).forEach(function(m) {
1690
+ r = n.arange(m).map(function(p) {
1691
+ return a[s][p] * f[p][m];
1692
+ }), a[s][m] = (l[s][m] - n.sum(r)) / f[m][m];
1693
+ }), n.arange(s, u).forEach(function(m) {
1694
+ r = n.arange(s).map(function(p) {
1695
+ return a[s][p] * f[p][m];
1696
+ }), f[s][m] = l[r.length][m] - n.sum(r);
1697
+ });
1698
+ }), [a, f];
1699
+ }, cholesky: function(l) {
1700
+ var r, u = l.length, a = n.zeros(l.length, l[0].length);
1701
+ return n.arange(u).forEach(function(f) {
1702
+ r = n.arange(f).map(function(s) {
1703
+ return e.pow(a[f][s], 2);
1704
+ }), a[f][f] = e.sqrt(l[f][f] - n.sum(r)), n.arange(f + 1, u).forEach(function(s) {
1705
+ r = n.arange(f).map(function(m) {
1706
+ return a[f][m] * a[s][m];
1707
+ }), a[s][f] = (l[f][s] - n.sum(r)) / a[f][f];
1708
+ });
1709
+ }), a;
1710
+ }, gauss_jacobi: function(l, r, u, a) {
1711
+ for (var f, s, m, p, g = 0, N = 0, h = l.length, d = [], b = [], I = []; g < h; g++) for (d[g] = [], b[g] = [], I[g] = [], N = 0; N < h; N++) g > N ? (d[g][N] = l[g][N], b[g][N] = I[g][N] = 0) : g < N ? (b[g][N] = l[g][N], d[g][N] = I[g][N] = 0) : (I[g][N] = l[g][N], d[g][N] = b[g][N] = 0);
1712
+ for (m = n.multiply(n.multiply(n.inv(I), n.add(d, b)), -1), s = n.multiply(n.inv(I), r), f = u, p = n.add(n.multiply(m, u), s), g = 2; e.abs(n.norm(n.subtract(p, f))) > a; ) f = p, p = n.add(n.multiply(m, f), s), g++;
1713
+ return p;
1714
+ }, gauss_seidel: function(l, r, u, a) {
1715
+ for (var f, s, m, p, g, N = 0, h = l.length, d = [], b = [], I = []; N < h; N++) for (d[N] = [], b[N] = [], I[N] = [], f = 0; f < h; f++) N > f ? (d[N][f] = l[N][f], b[N][f] = I[N][f] = 0) : N < f ? (b[N][f] = l[N][f], d[N][f] = I[N][f] = 0) : (I[N][f] = l[N][f], d[N][f] = b[N][f] = 0);
1716
+ for (p = n.multiply(n.multiply(n.inv(n.add(I, d)), b), -1), m = n.multiply(n.inv(n.add(I, d)), r), s = u, g = n.add(n.multiply(p, u), m), N = 2; e.abs(n.norm(n.subtract(g, s))) > a; ) s = g, g = n.add(n.multiply(p, s), m), N += 1;
1717
+ return g;
1718
+ }, SOR: function(l, r, u, a, f) {
1719
+ for (var s, m, p, g, N, h = 0, d = l.length, b = [], I = [], M = []; h < d; h++) for (b[h] = [], I[h] = [], M[h] = [], s = 0; s < d; s++) h > s ? (b[h][s] = l[h][s], I[h][s] = M[h][s] = 0) : h < s ? (I[h][s] = l[h][s], b[h][s] = M[h][s] = 0) : (M[h][s] = l[h][s], b[h][s] = I[h][s] = 0);
1720
+ for (g = n.multiply(n.inv(n.add(M, n.multiply(b, f))), n.subtract(n.multiply(M, 1 - f), n.multiply(I, f))), p = n.multiply(n.multiply(n.inv(n.add(M, n.multiply(b, f))), r), f), m = u, N = n.add(n.multiply(g, u), p), h = 2; e.abs(n.norm(n.subtract(N, m))) > a; ) m = N, N = n.add(n.multiply(g, m), p), h++;
1721
+ return N;
1722
+ }, householder: function(l) {
1723
+ for (var r, u, a, f, s = l.length, m = l[0].length, p = 0, g = [], N = []; p < s - 1; p++) {
1724
+ for (r = 0, f = p + 1; f < m; f++) r += l[f][p] * l[f][p];
1725
+ for (r = (l[p + 1][p] > 0 ? -1 : 1) * e.sqrt(r), u = e.sqrt((r * r - l[p + 1][p] * r) / 2), (g = n.zeros(s, 1))[p + 1][0] = (l[p + 1][p] - r) / (2 * u), a = p + 2; a < s; a++) g[a][0] = l[a][p] / (2 * u);
1726
+ N = n.subtract(n.identity(s, m), n.multiply(n.multiply(g, n.transpose(g)), 2)), l = n.multiply(N, n.multiply(l, N));
1727
+ }
1728
+ return l;
1729
+ }, QR: function() {
1730
+ var l = n.sum, r = n.arange;
1731
+ function u(a) {
1732
+ var f, s, m, p = a.length, g = a[0].length, N = n.zeros(g, g);
1733
+ for (a = n.copy(a), s = 0; s < g; s++) {
1734
+ for (N[s][s] = e.sqrt(l(r(p).map(function(h) {
1735
+ return a[h][s] * a[h][s];
1736
+ }))), f = 0; f < p; f++) a[f][s] = a[f][s] / N[s][s];
1737
+ for (m = s + 1; m < g; m++) for (N[s][m] = l(r(p).map(function(h) {
1738
+ return a[h][s] * a[h][m];
1739
+ })), f = 0; f < p; f++) a[f][m] = a[f][m] - a[f][s] * N[s][m];
1740
+ }
1741
+ return [a, N];
1742
+ }
1743
+ return u;
1744
+ }(), lstsq: /* @__PURE__ */ function() {
1745
+ function l(u) {
1746
+ var a = (u = n.copy(u)).length, f = n.identity(a);
1747
+ return n.arange(a - 1, -1, -1).forEach(function(s) {
1748
+ n.sliceAssign(f, { row: s }, n.divide(n.slice(f, { row: s }), u[s][s])), n.sliceAssign(u, { row: s }, n.divide(n.slice(u, { row: s }), u[s][s])), n.arange(s).forEach(function(m) {
1749
+ var p = n.multiply(u[m][s], -1), g = n.slice(u, { row: m }), N = n.multiply(n.slice(u, { row: s }), p);
1750
+ n.sliceAssign(u, { row: m }, n.add(g, N));
1751
+ var h = n.slice(f, { row: m }), d = n.multiply(n.slice(f, { row: s }), p);
1752
+ n.sliceAssign(f, { row: m }, n.add(h, d));
1753
+ });
1754
+ }), f;
1755
+ }
1756
+ function r(u, a) {
1757
+ var f = !1;
1758
+ a[0].length === void 0 && (a = a.map(function(I) {
1759
+ return [I];
1760
+ }), f = !0);
1761
+ var s = n.QR(u), m = s[0], p = s[1], g = u[0].length, N = n.slice(m, { col: { end: g } }), h = l(n.slice(p, { row: { end: g } })), d = n.transpose(N);
1762
+ d[0].length === void 0 && (d = [d]);
1763
+ var b = n.multiply(n.multiply(h, d), a);
1764
+ return b.length === void 0 && (b = [[b]]), f ? b.map(function(I) {
1765
+ return I[0];
1766
+ }) : b;
1767
+ }
1768
+ return r;
1769
+ }(), jacobi: function(l) {
1770
+ for (var r, u, a, f, s, m, p, g = 1, N = l.length, h = n.identity(N, N), d = []; g === 1; ) {
1771
+ for (s = l[0][1], a = 0, f = 1, r = 0; r < N; r++) for (u = 0; u < N; u++) r != u && s < e.abs(l[r][u]) && (s = e.abs(l[r][u]), a = r, f = u);
1772
+ for (m = l[a][a] === l[f][f] ? l[a][f] > 0 ? e.PI / 4 : -e.PI / 4 : e.atan(2 * l[a][f] / (l[a][a] - l[f][f])) / 2, (p = n.identity(N, N))[a][a] = e.cos(m), p[a][f] = -e.sin(m), p[f][a] = e.sin(m), p[f][f] = e.cos(m), h = n.multiply(h, p), l = n.multiply(n.multiply(n.inv(p), l), p), g = 0, r = 1; r < N; r++) for (u = 1; u < N; u++) r != u && e.abs(l[r][u]) > 1e-3 && (g = 1);
1773
+ }
1774
+ for (r = 0; r < N; r++) d.push(l[r][r]);
1775
+ return [h, d];
1776
+ }, rungekutta: function(l, r, u, a, f, s) {
1777
+ var m, p, g;
1778
+ if (s === 2) for (; a <= u; ) f += ((m = r * l(a, f)) + (p = r * l(a + r, f + m))) / 2, a += r;
1779
+ if (s === 4) for (; a <= u; ) f += ((m = r * l(a, f)) + 2 * (p = r * l(a + r / 2, f + m / 2)) + 2 * (g = r * l(a + r / 2, f + p / 2)) + r * l(a + r, f + g)) / 6, a += r;
1780
+ return f;
1781
+ }, romberg: function(l, r, u, a) {
1782
+ for (var f, s, m, p, g, N = 0, h = (u - r) / 2, d = [], b = [], I = []; N < a / 2; ) {
1783
+ for (g = l(r), m = r, p = 0; m <= u; m += h, p++) d[p] = m;
1784
+ for (f = d.length, m = 1; m < f - 1; m++) g += (m % 2 != 0 ? 4 : 2) * l(d[m]);
1785
+ g = h / 3 * (g + l(u)), I[N] = g, h /= 2, N++;
1786
+ }
1787
+ for (s = I.length, f = 1; s !== 1; ) {
1788
+ for (m = 0; m < s - 1; m++) b[m] = (e.pow(4, f) * I[m + 1] - I[m]) / (e.pow(4, f) - 1);
1789
+ s = b.length, I = b, b = [], f++;
1790
+ }
1791
+ return I;
1792
+ }, richardson: function(l, r, u, a) {
1793
+ function f(M, A) {
1794
+ for (var T, S = 0, R = M.length; S < R; S++) M[S] === A && (T = S);
1795
+ return T;
1796
+ }
1797
+ for (var s, m, p, g, N, h = e.abs(u - l[f(l, u) + 1]), d = 0, b = [], I = []; a >= h; ) s = f(l, u + a), m = f(l, u), b[d] = (r[s] - 2 * r[m] + r[2 * m - s]) / (a * a), a /= 2, d++;
1798
+ for (g = b.length, p = 1; g != 1; ) {
1799
+ for (N = 0; N < g - 1; N++) I[N] = (e.pow(4, p) * b[N + 1] - b[N]) / (e.pow(4, p) - 1);
1800
+ g = I.length, b = I, I = [], p++;
1801
+ }
1802
+ return b;
1803
+ }, simpson: function(l, r, u, a) {
1804
+ for (var f, s = (u - r) / a, m = l(r), p = [], g = r, N = 0, h = 1; g <= u; g += s, N++) p[N] = g;
1805
+ for (f = p.length; h < f - 1; h++) m += (h % 2 != 0 ? 4 : 2) * l(p[h]);
1806
+ return s / 3 * (m + l(u));
1807
+ }, hermite: function(l, r, u, a) {
1808
+ for (var f, s = l.length, m = 0, p = 0, g = [], N = [], h = [], d = []; p < s; p++) {
1809
+ for (g[p] = 1, f = 0; f < s; f++) p != f && (g[p] *= (a - l[f]) / (l[p] - l[f]));
1810
+ for (N[p] = 0, f = 0; f < s; f++) p != f && (N[p] += 1 / (l[p] - l[f]));
1811
+ h[p] = (1 - 2 * (a - l[p]) * N[p]) * (g[p] * g[p]), d[p] = (a - l[p]) * (g[p] * g[p]), m += h[p] * r[p] + d[p] * u[p];
1812
+ }
1813
+ return m;
1814
+ }, lagrange: function(l, r, u) {
1815
+ for (var a, f, s = 0, m = 0, p = l.length; m < p; m++) {
1816
+ for (f = r[m], a = 0; a < p; a++) m != a && (f *= (u - l[a]) / (l[m] - l[a]));
1817
+ s += f;
1818
+ }
1819
+ return s;
1820
+ }, cubic_spline: function(l, r, u) {
1821
+ for (var a, f = l.length, s = 0, m = [], p = [], g = [], N = [], h = [], d = [], b = []; s < f - 1; s++) h[s] = l[s + 1] - l[s];
1822
+ for (g[0] = 0, s = 1; s < f - 1; s++) g[s] = 3 / h[s] * (r[s + 1] - r[s]) - 3 / h[s - 1] * (r[s] - r[s - 1]);
1823
+ for (s = 1; s < f - 1; s++) m[s] = [], p[s] = [], m[s][s - 1] = h[s - 1], m[s][s] = 2 * (h[s - 1] + h[s]), m[s][s + 1] = h[s], p[s][0] = g[s];
1824
+ for (N = n.multiply(n.inv(m), p), a = 0; a < f - 1; a++) d[a] = (r[a + 1] - r[a]) / h[a] - h[a] * (N[a + 1][0] + 2 * N[a][0]) / 3, b[a] = (N[a + 1][0] - N[a][0]) / (3 * h[a]);
1825
+ for (a = 0; a < f && !(l[a] > u); a++) ;
1826
+ return r[a -= 1] + (u - l[a]) * d[a] + n.sq(u - l[a]) * N[a] + (u - l[a]) * n.sq(u - l[a]) * b[a];
1827
+ }, gauss_quadrature: function() {
1828
+ throw new Error("gauss_quadrature not yet implemented");
1829
+ }, PCA: function(l) {
1830
+ var r, u, a = l.length, f = l[0].length, s = 0, m = [], p = [], g = [], N = [], h = [], d = [], b = [], I = [], M = [], A = [];
1831
+ for (s = 0; s < a; s++) m[s] = n.sum(l[s]) / f;
1832
+ for (s = 0; s < f; s++) for (b[s] = [], r = 0; r < a; r++) b[s][r] = l[r][s] - m[r];
1833
+ for (b = n.transpose(b), s = 0; s < a; s++) for (I[s] = [], r = 0; r < a; r++) I[s][r] = n.dot([b[s]], [b[r]]) / (f - 1);
1834
+ for (M = (g = n.jacobi(I))[0], p = g[1], A = n.transpose(M), s = 0; s < p.length; s++) for (r = s; r < p.length; r++) p[s] < p[r] && (u = p[s], p[s] = p[r], p[r] = u, N = A[s], A[s] = A[r], A[r] = N);
1835
+ for (d = n.transpose(b), s = 0; s < a; s++) for (h[s] = [], r = 0; r < d.length; r++) h[s][r] = n.dot([A[s]], [d[r]]);
1836
+ return [l, p, A, h];
1837
+ } }), function(l) {
1838
+ for (var r = 0; r < l.length; r++) (function(u) {
1839
+ n.fn[u] = function(a, f) {
1840
+ var s = this;
1841
+ return f ? (setTimeout(function() {
1842
+ f.call(s, n.fn[u].call(s, a));
1843
+ }, 15), this) : typeof n[u](this, a) == "number" ? n[u](this, a) : n(n[u](this, a));
1844
+ };
1845
+ })(l[r]);
1846
+ }("add divide multiply subtract dot pow exp log abs norm angle".split(" "));
1847
+ }(t, Math), function(n, e) {
1848
+ var o = [].slice, i = n.utils.isNumber, c = n.utils.isArray;
1849
+ function l(r, u, a, f) {
1850
+ if (r > 1 || a > 1 || r <= 0 || a <= 0) throw new Error("Proportions should be greater than 0 and less than 1");
1851
+ var s = (r * u + a * f) / (u + f);
1852
+ return (r - a) / e.sqrt(s * (1 - s) * (1 / u + 1 / f));
1853
+ }
1854
+ n.extend({ zscore: function() {
1855
+ var r = o.call(arguments);
1856
+ return i(r[1]) ? (r[0] - r[1]) / r[2] : (r[0] - n.mean(r[1])) / n.stdev(r[1], r[2]);
1857
+ }, ztest: function() {
1858
+ var r, u = o.call(arguments);
1859
+ return c(u[1]) ? (r = n.zscore(u[0], u[1], u[3]), u[2] === 1 ? n.normal.cdf(-e.abs(r), 0, 1) : 2 * n.normal.cdf(-e.abs(r), 0, 1)) : u.length > 2 ? (r = n.zscore(u[0], u[1], u[2]), u[3] === 1 ? n.normal.cdf(-e.abs(r), 0, 1) : 2 * n.normal.cdf(-e.abs(r), 0, 1)) : (r = u[0], u[1] === 1 ? n.normal.cdf(-e.abs(r), 0, 1) : 2 * n.normal.cdf(-e.abs(r), 0, 1));
1860
+ } }), n.extend(n.fn, { zscore: function(r, u) {
1861
+ return (r - this.mean()) / this.stdev(u);
1862
+ }, ztest: function(r, u, a) {
1863
+ var f = e.abs(this.zscore(r, a));
1864
+ return u === 1 ? n.normal.cdf(-f, 0, 1) : 2 * n.normal.cdf(-f, 0, 1);
1865
+ } }), n.extend({ tscore: function() {
1866
+ var r = o.call(arguments);
1867
+ return r.length === 4 ? (r[0] - r[1]) / (r[2] / e.sqrt(r[3])) : (r[0] - n.mean(r[1])) / (n.stdev(r[1], !0) / e.sqrt(r[1].length));
1868
+ }, ttest: function() {
1869
+ var r, u = o.call(arguments);
1870
+ return u.length === 5 ? (r = e.abs(n.tscore(u[0], u[1], u[2], u[3])), u[4] === 1 ? n.studentt.cdf(-r, u[3] - 1) : 2 * n.studentt.cdf(-r, u[3] - 1)) : i(u[1]) ? (r = e.abs(u[0]), u[2] == 1 ? n.studentt.cdf(-r, u[1] - 1) : 2 * n.studentt.cdf(-r, u[1] - 1)) : (r = e.abs(n.tscore(u[0], u[1])), u[2] == 1 ? n.studentt.cdf(-r, u[1].length - 1) : 2 * n.studentt.cdf(-r, u[1].length - 1));
1871
+ } }), n.extend(n.fn, { tscore: function(r) {
1872
+ return (r - this.mean()) / (this.stdev(!0) / e.sqrt(this.cols()));
1873
+ }, ttest: function(r, u) {
1874
+ return u === 1 ? 1 - n.studentt.cdf(e.abs(this.tscore(r)), this.cols() - 1) : 2 * n.studentt.cdf(-e.abs(this.tscore(r)), this.cols() - 1);
1875
+ } }), n.extend({ anovafscore: function() {
1876
+ var r, u, a, f, s, m, p, g, N = o.call(arguments);
1877
+ if (N.length === 1) {
1878
+ for (s = new Array(N[0].length), p = 0; p < N[0].length; p++) s[p] = N[0][p];
1879
+ N = s;
1880
+ }
1881
+ for (u = new Array(), p = 0; p < N.length; p++) u = u.concat(N[p]);
1882
+ for (a = n.mean(u), r = 0, p = 0; p < N.length; p++) r += N[p].length * e.pow(n.mean(N[p]) - a, 2);
1883
+ for (r /= N.length - 1, m = 0, p = 0; p < N.length; p++) for (f = n.mean(N[p]), g = 0; g < N[p].length; g++) m += e.pow(N[p][g] - f, 2);
1884
+ return r / (m /= u.length - N.length);
1885
+ }, anovaftest: function() {
1886
+ var r, u, a, f, s = o.call(arguments);
1887
+ if (i(s[0])) return 1 - n.centralF.cdf(s[0], s[1], s[2]);
1888
+ var m = n.anovafscore(s);
1889
+ for (r = s.length - 1, a = 0, f = 0; f < s.length; f++) a += s[f].length;
1890
+ return u = a - r - 1, 1 - n.centralF.cdf(m, r, u);
1891
+ }, ftest: function(r, u, a) {
1892
+ return 1 - n.centralF.cdf(r, u, a);
1893
+ } }), n.extend(n.fn, { anovafscore: function() {
1894
+ return n.anovafscore(this.toArray());
1895
+ }, anovaftes: function() {
1896
+ var r, u = 0;
1897
+ for (r = 0; r < this.length; r++) u += this[r].length;
1898
+ return n.ftest(this.anovafscore(), this.length - 1, u - this.length);
1899
+ } }), n.extend({ qscore: function() {
1900
+ var r, u, a, f, s, m = o.call(arguments);
1901
+ return i(m[0]) ? (r = m[0], u = m[1], a = m[2], f = m[3], s = m[4]) : (r = n.mean(m[0]), u = n.mean(m[1]), a = m[0].length, f = m[1].length, s = m[2]), e.abs(r - u) / (s * e.sqrt((1 / a + 1 / f) / 2));
1902
+ }, qtest: function() {
1903
+ var r, u = o.call(arguments);
1904
+ u.length === 3 ? (r = u[0], u = u.slice(1)) : u.length === 7 ? (r = n.qscore(u[0], u[1], u[2], u[3], u[4]), u = u.slice(5)) : (r = n.qscore(u[0], u[1], u[2]), u = u.slice(3));
1905
+ var a = u[0], f = u[1];
1906
+ return 1 - n.tukey.cdf(r, f, a - f);
1907
+ }, tukeyhsd: function(r) {
1908
+ for (var u = n.pooledstdev(r), a = r.map(function(N) {
1909
+ return n.mean(N);
1910
+ }), f = r.reduce(function(N, h) {
1911
+ return N + h.length;
1912
+ }, 0), s = [], m = 0; m < r.length; ++m) for (var p = m + 1; p < r.length; ++p) {
1913
+ var g = n.qtest(a[m], a[p], r[m].length, r[p].length, u, f, r.length);
1914
+ s.push([[m, p], g]);
1915
+ }
1916
+ return s;
1917
+ } }), n.extend({ normalci: function() {
1918
+ var r, u = o.call(arguments), a = new Array(2);
1919
+ return r = u.length === 4 ? e.abs(n.normal.inv(u[1] / 2, 0, 1) * u[2] / e.sqrt(u[3])) : e.abs(n.normal.inv(u[1] / 2, 0, 1) * n.stdev(u[2]) / e.sqrt(u[2].length)), a[0] = u[0] - r, a[1] = u[0] + r, a;
1920
+ }, tci: function() {
1921
+ var r, u = o.call(arguments), a = new Array(2);
1922
+ return r = u.length === 4 ? e.abs(n.studentt.inv(u[1] / 2, u[3] - 1) * u[2] / e.sqrt(u[3])) : e.abs(n.studentt.inv(u[1] / 2, u[2].length - 1) * n.stdev(u[2], !0) / e.sqrt(u[2].length)), a[0] = u[0] - r, a[1] = u[0] + r, a;
1923
+ }, significant: function(r, u) {
1924
+ return r < u;
1925
+ } }), n.extend(n.fn, { normalci: function(r, u) {
1926
+ return n.normalci(r, u, this.toArray());
1927
+ }, tci: function(r, u) {
1928
+ return n.tci(r, u, this.toArray());
1929
+ } }), n.extend(n.fn, { oneSidedDifferenceOfProportions: function(r, u, a, f) {
1930
+ var s = l(r, u, a, f);
1931
+ return n.ztest(s, 1);
1932
+ }, twoSidedDifferenceOfProportions: function(r, u, a, f) {
1933
+ var s = l(r, u, a, f);
1934
+ return n.ztest(s, 2);
1935
+ } });
1936
+ }(t, Math), t.models = /* @__PURE__ */ function() {
1937
+ function n(l) {
1938
+ var r = l[0].length;
1939
+ return t.arange(r).map(function(u) {
1940
+ var a = t.arange(r).filter(function(f) {
1941
+ return f !== u;
1942
+ });
1943
+ return e(t.col(l, u).map(function(f) {
1944
+ return f[0];
1945
+ }), t.col(l, a));
1946
+ });
1947
+ }
1948
+ function e(l, r) {
1949
+ var u = l.length, a = r[0].length - 1, f = u - a - 1, s = t.lstsq(r, l), m = t.multiply(r, s.map(function(b) {
1950
+ return [b];
1951
+ })).map(function(b) {
1952
+ return b[0];
1953
+ }), p = t.subtract(l, m), g = t.mean(l), N = t.sum(m.map(function(b) {
1954
+ return Math.pow(b - g, 2);
1955
+ })), h = t.sum(l.map(function(b, I) {
1956
+ return Math.pow(b - m[I], 2);
1957
+ })), d = N + h;
1958
+ return { exog: r, endog: l, nobs: u, df_model: a, df_resid: f, coef: s, predict: m, resid: p, ybar: g, SST: d, SSE: N, SSR: h, R2: N / d };
1959
+ }
1960
+ function o(l) {
1961
+ var r = n(l.exog), u = Math.sqrt(l.SSR / l.df_resid), a = r.map(function(g) {
1962
+ var N = g.SST, h = g.R2;
1963
+ return u / Math.sqrt(N * (1 - h));
1964
+ }), f = l.coef.map(function(g, N) {
1965
+ return (g - 0) / a[N];
1966
+ }), s = f.map(function(g) {
1967
+ var N = t.studentt.cdf(g, l.df_resid);
1968
+ return 2 * (N > 0.5 ? 1 - N : N);
1969
+ }), m = t.studentt.inv(0.975, l.df_resid), p = l.coef.map(function(g, N) {
1970
+ var h = m * a[N];
1971
+ return [g - h, g + h];
1972
+ });
1973
+ return { se: a, t: f, p: s, sigmaHat: u, interval95: p };
1974
+ }
1975
+ function i(l) {
1976
+ var r, u, a, f = l.R2 / l.df_model / ((1 - l.R2) / l.df_resid);
1977
+ return { F_statistic: f, pvalue: 1 - (r = f, u = l.df_model, a = l.df_resid, t.beta.cdf(r / (a / u + r), u / 2, a / 2)) };
1978
+ }
1979
+ function c(l, r) {
1980
+ var u = e(l, r), a = o(u), f = i(u), s = 1 - (1 - u.R2) * ((u.nobs - 1) / u.df_resid);
1981
+ return u.t = a, u.f = f, u.adjust_R2 = s, u;
1982
+ }
1983
+ return { ols: c };
1984
+ }(), t.extend({ buildxmatrix: function() {
1985
+ for (var n = new Array(arguments.length), e = 0; e < arguments.length; e++) {
1986
+ var o = [1];
1987
+ n[e] = o.concat(arguments[e]);
1988
+ }
1989
+ return t(n);
1990
+ }, builddxmatrix: function() {
1991
+ for (var n = new Array(arguments[0].length), e = 0; e < arguments[0].length; e++) {
1992
+ var o = [1];
1993
+ n[e] = o.concat(arguments[0][e]);
1994
+ }
1995
+ return t(n);
1996
+ }, buildjxmatrix: function(n) {
1997
+ for (var e = new Array(n.length), o = 0; o < n.length; o++) e[o] = n[o];
1998
+ return t.builddxmatrix(e);
1999
+ }, buildymatrix: function(n) {
2000
+ return t(n).transpose();
2001
+ }, buildjymatrix: function(n) {
2002
+ return n.transpose();
2003
+ }, matrixmult: function(n, e) {
2004
+ var o, i, c, l, r;
2005
+ if (n.cols() == e.rows()) {
2006
+ if (e.rows() > 1) {
2007
+ for (l = [], o = 0; o < n.rows(); o++) for (l[o] = [], i = 0; i < e.cols(); i++) {
2008
+ for (r = 0, c = 0; c < n.cols(); c++) r += n.toArray()[o][c] * e.toArray()[c][i];
2009
+ l[o][i] = r;
2010
+ }
2011
+ return t(l);
2012
+ }
2013
+ for (l = [], o = 0; o < n.rows(); o++) for (l[o] = [], i = 0; i < e.cols(); i++) {
2014
+ for (r = 0, c = 0; c < n.cols(); c++) r += n.toArray()[o][c] * e.toArray()[i];
2015
+ l[o][i] = r;
2016
+ }
2017
+ return t(l);
2018
+ }
2019
+ }, regress: function(n, e) {
2020
+ var o = t.xtranspxinv(n), i = n.transpose(), c = t.matrixmult(t(o), i);
2021
+ return t.matrixmult(c, e);
2022
+ }, regresst: function(n, e, o) {
2023
+ var i = t.regress(n, e), c = { anova: {} }, l = t.jMatYBar(n, i);
2024
+ c.yBar = l;
2025
+ var r = e.mean();
2026
+ c.anova.residuals = t.residuals(e, l), c.anova.ssr = t.ssr(l, r), c.anova.msr = c.anova.ssr / (n[0].length - 1), c.anova.sse = t.sse(e, l), c.anova.mse = c.anova.sse / (e.length - (n[0].length - 1) - 1), c.anova.sst = t.sst(e, r), c.anova.mst = c.anova.sst / (e.length - 1), c.anova.r2 = 1 - c.anova.sse / c.anova.sst, c.anova.r2 < 0 && (c.anova.r2 = 0), c.anova.fratio = c.anova.msr / c.anova.mse, c.anova.pvalue = t.anovaftest(c.anova.fratio, n[0].length - 1, e.length - (n[0].length - 1) - 1), c.anova.rmse = Math.sqrt(c.anova.mse), c.anova.r2adj = 1 - c.anova.mse / c.anova.mst, c.anova.r2adj < 0 && (c.anova.r2adj = 0), c.stats = new Array(n[0].length);
2027
+ for (var u, a, f, s = t.xtranspxinv(n), m = 0; m < i.length; m++) u = Math.sqrt(c.anova.mse * Math.abs(s[m][m])), a = Math.abs(i[m] / u), f = t.ttest(a, e.length - n[0].length - 1, o), c.stats[m] = [i[m], u, a, f];
2028
+ return c.regress = i, c;
2029
+ }, xtranspx: function(n) {
2030
+ return t.matrixmult(n.transpose(), n);
2031
+ }, xtranspxinv: function(n) {
2032
+ var e = t.matrixmult(n.transpose(), n);
2033
+ return t.inv(e);
2034
+ }, jMatYBar: function(n, e) {
2035
+ var o = t.matrixmult(n, e);
2036
+ return new t(o);
2037
+ }, residuals: function(n, e) {
2038
+ return t.matrixsubtract(n, e);
2039
+ }, ssr: function(n, e) {
2040
+ for (var o = 0, i = 0; i < n.length; i++) o += Math.pow(n[i] - e, 2);
2041
+ return o;
2042
+ }, sse: function(n, e) {
2043
+ for (var o = 0, i = 0; i < n.length; i++) o += Math.pow(n[i] - e[i], 2);
2044
+ return o;
2045
+ }, sst: function(n, e) {
2046
+ for (var o = 0, i = 0; i < n.length; i++) o += Math.pow(n[i] - e, 2);
2047
+ return o;
2048
+ }, matrixsubtract: function(n, e) {
2049
+ for (var o = new Array(n.length), i = 0; i < n.length; i++) {
2050
+ o[i] = new Array(n[i].length);
2051
+ for (var c = 0; c < n[i].length; c++) o[i][c] = n[i][c] - e[i][c];
2052
+ }
2053
+ return t(o);
2054
+ } }), t.jStat = t, t;
2055
+ }()), tt.exports);
2056
+ const y = Lt(le), se = Object.freeze(Object.defineProperty({ __proto__: null, ERF: function(t, n = 0) {
2057
+ return y.erf(t);
2058
+ }, ERFC: function(t) {
2059
+ return y.erfc(t);
2060
+ }, ERF_PRECISE: function(t) {
2061
+ return y.erf(t);
2062
+ } }, Symbol.toStringTag, { value: "Module" })), fe = /^\s?[+-]?\s?[0-9]+[.]?[0-9]*([eE][+-][0-9]+)?\s?$/, ce = /^\s?([+-]?\s?([0-9]+[.]?[0-9]*([eE][+-][0-9]+)?)?)\s?[ij]\s?$/, me = /^\s?([+-]?\s?[0-9]+[.]?[0-9]*([eE][+-][0-9]+)?)\s?([+-]?\s?([0-9]+[.]?[0-9]*([eE][+-][0-9]+)?)?)\s?[ij]\s?$/, et = /^\s?[+-]?\s?$/;
2063
+ function F(t) {
2064
+ let n = 0, e = 0, o = "i";
2065
+ if (typeof t == "number") return { real: t, im: e, unit: o };
2066
+ if (typeof t == "boolean") throw E.BuiltIn.Value;
2067
+ let i = t.match(fe);
2068
+ if (i) return n = Number(i[0]), { real: n, im: e, unit: o };
2069
+ if (i = t.match(ce), i) return e = Number(et.test(i[1]) ? i[1] + "1" : i[1]), o = i[0].slice(-1), { real: n, im: e, unit: o };
2070
+ if (i = t.match(me), i) return n = Number(i[1]), e = Number(et.test(i[3]) ? i[3] + "1" : i[3]), o = i[0].slice(-1), { real: n, im: e, unit: o };
2071
+ throw E.BuiltIn.Num;
2072
+ }
2073
+ function q(t, n, e = "i") {
2074
+ if (e !== "i" && e !== "j") throw E.BuiltIn.Value;
2075
+ if (t === 0 && n === 0) return 0;
2076
+ if (t === 0) return n === 1 ? e : n === -1 ? "-" + e : n.toString() + e;
2077
+ if (n === 0) return t.toString();
2078
+ let o = n > 0 ? "+" : "";
2079
+ return n === 1 ? t.toString() + o + e : n === -1 ? t.toString() + o + "-" + e : t.toString() + o + n.toString() + e;
2080
+ }
2081
+ function wn(t) {
2082
+ const { real: n, im: e } = F(t);
2083
+ return Math.sqrt(Math.pow(n, 2) + Math.pow(e, 2));
2084
+ }
2085
+ function Cn(t) {
2086
+ const { real: n, im: e } = F(t);
2087
+ return n === 0 && e === 0 ? 1 / 0 : n === 0 && e > 0 ? Math.PI / 2 : n === 0 && e < 0 ? -Math.PI / 2 : n < 0 && e === 0 ? Math.PI : n > 0 && e === 0 ? 0 : n > 0 ? Math.atan(e / n) : n < 0 && e > 0 ? Math.atan(e / n) + Math.PI : Math.atan(e / n) - Math.PI;
2088
+ }
2089
+ function pn(t) {
2090
+ const { real: n, im: e, unit: o } = F(t);
2091
+ return q(Math.cos(n) * (Math.exp(e) + Math.exp(-e)) / 2, -Math.sin(n) * (Math.exp(e) - Math.exp(-e)) / 2, o);
2092
+ }
2093
+ function rt(t) {
2094
+ const { real: n, im: e, unit: o } = F(t);
2095
+ return q(Math.cos(e) * (Math.exp(n) + Math.exp(-n)) / 2, -(-Math.sin(e) * (Math.exp(n) - Math.exp(-n)) / 2), o);
2096
+ }
2097
+ function J(t, n) {
2098
+ const e = F(t), o = e.real, i = e.im, c = e.unit, l = F(n), r = l.real, u = l.im, a = l.unit;
2099
+ if (r === 0 && u === 0 || c !== a) throw E.BuiltIn.Num;
2100
+ const f = c, s = Math.pow(r, 2) + Math.pow(u, 2);
2101
+ return q((o * r + i * u) / s, (i * r - o * u) / s, f);
2102
+ }
2103
+ function hn(t) {
2104
+ const { real: n, im: e, unit: o } = F(t);
2105
+ return q(Math.sin(n) * (Math.exp(e) + Math.exp(-e)) / 2, Math.cos(n) * (Math.exp(e) - Math.exp(-e)) / 2, o);
2106
+ }
2107
+ function ut(t) {
2108
+ const { real: n, im: e, unit: o } = F(t);
2109
+ return q(Math.cos(e) * (Math.exp(n) - Math.exp(-n)) / 2, Math.sin(e) * (Math.exp(n) + Math.exp(-n)) / 2, o);
2110
+ }
2111
+ const pe = Object.freeze(Object.defineProperty({ __proto__: null, COMPLEX: q, IMABS: wn, IMAGINARY: function(t) {
2112
+ return F(t).im;
2113
+ }, IMARGUMENT: Cn, IMCONJUGATE: function(t) {
2114
+ const { real: n, im: e, unit: o } = F(t);
2115
+ return e !== 0 ? q(n, -e, o) : "" + n;
2116
+ }, IMCOS: pn, IMCOSH: rt, IMCOT: function(t) {
2117
+ return J(pn(t), hn(t));
2118
+ }, IMCSC: function(t) {
2119
+ return J("1", hn(t));
2120
+ }, IMCSCH: function(t) {
2121
+ return J("1", ut(t));
2122
+ }, IMDIV: J, IMEXP: function(t) {
2123
+ const { real: n, im: e, unit: o } = F(t), i = Math.exp(n);
2124
+ return q(i * Math.cos(e), i * Math.sin(e), o);
2125
+ }, IMLN: function(t) {
2126
+ const { real: n, im: e, unit: o } = F(t);
2127
+ return q(Math.log(Math.sqrt(Math.pow(n, 2) + Math.pow(e, 2))), Math.atan(e / n), o);
2128
+ }, IMLOG10: function(t) {
2129
+ const { real: n, im: e, unit: o } = F(t);
2130
+ return q(Math.log(Math.sqrt(Math.pow(n, 2) + Math.pow(e, 2))) / Math.log(10), Math.atan(e / n) / Math.log(10), o);
2131
+ }, IMLOG2: function(t) {
2132
+ const { real: n, im: e, unit: o } = F(t);
2133
+ return q(Math.log(Math.sqrt(Math.pow(n, 2) + Math.pow(e, 2))) / Math.log(2), Math.atan(e / n) / Math.log(2), o);
2134
+ }, IMPOWER: function(t, n) {
2135
+ const { unit: e } = F(t), o = Math.pow(wn(t), n), i = Cn(t);
2136
+ return q(o * Math.cos(n * i), o * Math.sin(n * i), e);
2137
+ }, IMPRODUCT: function(...t) {
2138
+ const n = t.length;
2139
+ if (n === 0) return 0;
2140
+ let e = t[0];
2141
+ F(e);
2142
+ for (let o = 1; o < n; o++) {
2143
+ const i = t[o], c = F(e), l = F(i);
2144
+ if (c.unit !== l.unit) throw E.BuiltIn.Value;
2145
+ const r = c.real, u = c.im, a = l.real, f = l.im;
2146
+ e = q(r * a - u * f, r * f + u * a);
2147
+ }
2148
+ return e;
2149
+ }, IMREAL: function(t) {
2150
+ return F(t).real;
2151
+ }, IMSEC: function(t) {
2152
+ return J("1", pn(t));
2153
+ }, IMSECH: function(t) {
2154
+ return J("1", rt(t));
2155
+ }, IMSIN: hn, IMSINH: ut, IMSQRT: function(t) {
2156
+ const { unit: n } = F(t), e = Math.sqrt(wn(t)), o = Cn(t);
2157
+ return q(e * Math.cos(o / 2), e * Math.sin(o / 2), n);
2158
+ }, IMSUB: function(t, n) {
2159
+ const e = F(t), o = e.real, i = e.im, c = e.unit, l = F(n), r = l.real, u = l.im;
2160
+ if (c !== l.unit) throw E.BuiltIn.Value;
2161
+ return q(o - r, i - u, c);
2162
+ }, IMSUM: function(...t) {
2163
+ let n, e = 0, o = 0;
2164
+ const i = t.length;
2165
+ for (let c = 0; c < i; c++) {
2166
+ const l = t[c], { real: r, im: u, unit: a } = F(l);
2167
+ if (n || (n = a), n !== a) throw E.BuiltIn.Value;
2168
+ e += r, o += u;
2169
+ }
2170
+ return q(e, o, n);
2171
+ }, IMTAN: function(t) {
2172
+ return J(hn(t), pn(t));
2173
+ } }, Symbol.toStringTag, { value: "Module" })), On = 1e-7, Tn = (t) => {
2174
+ const n = t.getCurrencySymbol(), e = t.getNumberGroupSeparator(), o = t.getNumberDecimalSeparator();
2175
+ return `${n}#${e}##0${o}00_);[Red](${n}#${e}##0${o}00)`;
2176
+ }, gn = (t, n) => {
2177
+ const e = n.getFullYear() - t.getFullYear();
2178
+ if (e > 1) return !0;
2179
+ if (e < 1) return !1;
2180
+ const o = n.getMonth() - t.getMonth();
2181
+ return o > 0 ? !0 : o < 0 ? !1 : n.getDate() - t.getDate() > 0;
2182
+ };
2183
+ function K(t) {
2184
+ return !(t < 1 || t > 4 || t === 3);
2185
+ }
2186
+ function C(t) {
2187
+ return !(t < 0 || t >= 2958466);
2188
+ }
2189
+ function X(t) {
2190
+ return !(t < 0 || t > 4);
2191
+ }
2192
+ function nn(t, n, e, o = 0, i = 0) {
2193
+ let c;
2194
+ if (t === 0) c = o + e * n;
2195
+ else {
2196
+ const l = Math.pow(1 + t, n);
2197
+ c = i === 1 ? o * l + e * (1 + t) * (l - 1) / t : o * l + e * (l - 1) / t;
2198
+ }
2199
+ return w.formatResults(Tn(w.getRuntime())), -c;
2200
+ }
2201
+ function Dn(t, ...n) {
2202
+ if (n.length > 254) throw E.BuiltIn.Value;
2203
+ let e = 0;
2204
+ for (let o = n.length - 1; o >= 0; o--) {
2205
+ if (e += n[o], t === -1) {
2206
+ if (e === 0) continue;
2207
+ return 1 / 0;
2208
+ }
2209
+ e /= 1 + t;
2210
+ }
2211
+ return e;
2212
+ }
2213
+ function dn(t, n, e, o = 0, i = 0) {
2214
+ if (t === 0) return (-e - o) / n;
2215
+ i = i ? 1 : 0;
2216
+ const c = Math.pow(1 + t, n);
2217
+ return w.formatResults(Tn(w.getRuntime())), (o * t + e * t * c) * (i ? 1 / (1 + t) : 1) / (1 - c);
2218
+ }
2219
+ const he = Object.freeze(Object.defineProperty({ __proto__: null, ACCRINT: function(t, n, e, o, i, c, l = 0, r = !0) {
2220
+ return C(t) && C(n) && C(e) && K(c) && !X(l) ? i * o * Vt(t, e, l) : Number.NaN;
2221
+ }, ACCRINTM: function(t, n, e, o, i = 0) {
2222
+ }, AMORLINC: function(t, n, e, o, i, c, l = 0) {
2223
+ }, COUPDAYBS: function(t, n, e, o = 0) {
2224
+ }, COUPDAYS: function(t, n, e, o = 0) {
2225
+ if (o === 1) {
2226
+ const c = function(r, u, a) {
2227
+ const f = new Date(u);
2228
+ if (f.setFullYear(r.getFullYear()), f > r) for (; f > r; ) f.setMonth(f.getMonth() - Math.round(12 / a));
2229
+ else {
2230
+ const s = new Date(f);
2231
+ for (s.setMonth(s.getMonth() + Math.round(12 / a)); s <= r; ) f.setTime(s.getTime()), s.setMonth(s.getMonth() + Math.round(12 / a));
2232
+ }
2233
+ return f;
2234
+ }(w.fromOADate(t), w.fromOADate(n), e), l = new Date(c);
2235
+ return l.setMonth(l.getMonth() + Math.round(12 / e)), en(w.toOADate(c), w.toOADate(l), "D");
2236
+ }
2237
+ let i;
2238
+ switch (o) {
2239
+ case 0:
2240
+ case 2:
2241
+ case 4:
2242
+ i = 360;
2243
+ break;
2244
+ case 3:
2245
+ i = 365;
2246
+ break;
2247
+ default:
2248
+ return Number.NaN;
2249
+ }
2250
+ return i / e;
2251
+ }, COUPNCD: function(t, n, e, o = 0) {
2252
+ }, COUPNUM: function(t, n, e, o = 0) {
2253
+ }, COUPPCD: function(t, n, e, o = 0) {
2254
+ }, CUMIPMT: function(t, n, e, o, i, c) {
2255
+ if (!C(o) || !C(i) || t <= 0 || n <= 0 || e <= 0 || o < 1 || i < 1 || o > i || c !== 0 && c !== 1) return Number.NaN;
2256
+ const l = dn(t, n, e, 0, c);
2257
+ let r = 0;
2258
+ o === 1 && (c === 0 && (r = -e), o++);
2259
+ for (let u = o; u <= i; u++) r += c === 1 ? nn(t, u - 2, l, e, 1) - l : nn(t, u - 1, l, e, 0);
2260
+ return r *= t, r;
2261
+ }, CUMPRINC: function(t, n, e, o, i, c) {
2262
+ if (!C(o) || !C(i) || o > i || t <= 0 || n <= 0 || e <= 0 || o < 1 || i < 1 || o > i || c !== 0 && c !== 1) return Number.NaN;
2263
+ const l = dn(t, n, e, 0, c);
2264
+ let r = 0;
2265
+ o === 1 && (r = c === 0 ? l + e * t : l, o++);
2266
+ for (let u = o; u <= i; u++) r += c > 0 ? l - (nn(t, u - 2, l, e, 1) - l) * t : l - nn(t, u - 1, l, e, 0) * t;
2267
+ return r;
2268
+ }, DB: function(t, n, e, o, i = 12) {
2269
+ if (t < 0 || n < 0 || e < 0 || o < 0 || i < 1 || i > 12 || o > e) return Number.NaN;
2270
+ if (n >= t) return 0;
2271
+ const c = 1 - Math.pow(n / t, 1 / e), l = Math.round(1e3 * c) / 1e3;
2272
+ if (w.formatResults(Tn(w.getRuntime())), o === 1) return t * l * i / 12;
2273
+ let r = t * l * i / 12;
2274
+ for (let u = 2; u <= o; u++) {
2275
+ if (u === o && o === e) return Math.max(0, t - r - n);
2276
+ const a = (t - r) * l;
2277
+ if (u === o) return a;
2278
+ r += a;
2279
+ }
2280
+ return 0;
2281
+ }, DDB: function(t, n, e, o, i = 2) {
2282
+ if (t < 0 || n < 0 || e < 0 || o < 0 || i <= 0 || o > e) return Number.NaN;
2283
+ if (n >= t) return 0;
2284
+ let c = 0, l = 0;
2285
+ for (let r = 1; r <= o; r++) l = Math.min(i / e * (t - c), t - n - c), c += l;
2286
+ return l;
2287
+ }, DISC: function(t, n, e, o, i = 0) {
2288
+ if (!C(t) || !C(n) || !X(i) || e <= 0 || o <= 0) return Number.NaN;
2289
+ if (t >= n) throw E.BuiltIn.Value;
2290
+ let c, l;
2291
+ switch (i) {
2292
+ case 0:
2293
+ c = 360, l = on(t, n, !1);
2294
+ break;
2295
+ case 1:
2296
+ case 3:
2297
+ c = 365, l = en(t, n, "D");
2298
+ break;
2299
+ case 2:
2300
+ c = 360, l = en(t, n, "D");
2301
+ break;
2302
+ case 4:
2303
+ c = 360, l = on(t, n, !0);
2304
+ break;
2305
+ default:
2306
+ return Number.NaN;
2307
+ }
2308
+ return (o - e) / o * c / l;
2309
+ }, DOLLARDE: function(t, n) {
2310
+ if ((n = Math.trunc(n)) < 0) return Number.NaN;
2311
+ if (n < 1) return 1 / 0;
2312
+ let e = t;
2313
+ e += t % 1 * Math.pow(10, Math.ceil(Math.log(n) / Math.LN10)) / n;
2314
+ const o = Math.pow(10, Math.ceil(Math.log(n) / Math.LN2) + 1);
2315
+ return e = Math.round(e * o) / o, e;
2316
+ }, DOLLARFR: function(t, n) {
2317
+ if ((n = Math.trunc(n)) < 0) return Number.NaN;
2318
+ if (n < 1) return 1 / 0;
2319
+ let e = t;
2320
+ return e += t % 1 * Math.pow(10, -Math.ceil(Math.log(n) / Math.LN10)) * n, e;
2321
+ }, DURATION: function(t, n, e, o, i, c = 0) {
2322
+ if (!C(t) || !C(n) || !X(c)) return Number.NaN;
2323
+ }, EFFECT: function(t, n) {
2324
+ return n = Math.trunc(n), Math.pow(1 + t / n, n) - 1;
2325
+ }, FV: nn, FVSCHEDULE: function(t, n) {
2326
+ let e = t;
2327
+ for (const o of n.values({ includeMistyped: !0 })) {
2328
+ if (typeof o != "number") throw E.BuiltIn.Value;
2329
+ e *= 1 + o;
2330
+ }
2331
+ return e;
2332
+ }, INTRATE: function(t, n, e, o, i = 2) {
2333
+ return C(t) && C(n) && X(i) ? e <= 0 || o <= 0 || t >= n ? Number.NaN : e >= o ? 1 / 0 : gn(w.fromOADate(t), w.fromOADate(n)) ? Number.NaN : void 0 : Number.NaN;
2334
+ }, IPMT: function(t, n, e, o, i = 0, c = 0) {
2335
+ const l = dn(t, e, o, i, c);
2336
+ return n === 1 ? t * (c ? 0 : -o) : t * (c ? nn(t, n - 2, l, o, c) - l : nn(t, n - 1, l, o, c));
2337
+ }, IRR: function(t, n = 0.1) {
2338
+ }, ISPMT: function(t, n, e, o) {
2339
+ return e === 0 ? 1 / 0 : o * t * (n / e - 1);
2340
+ }, MDURATION: function(t, n, e, o, i, c = 2) {
2341
+ if (!(C(t) && C(n) && K(i) && X(c))) return Number.NaN;
2342
+ }, MIRR: function(t, n, e) {
2343
+ let o = !1, i = !1;
2344
+ const c = [], l = [];
2345
+ for (const f of t) f > 0 ? (o = !0, c.push(f), l.push(0)) : f < 0 ? (i = !0, l.push(f), c.push(0)) : (l.push(0), c.push(0));
2346
+ if (!o || !i) return 1 / 0;
2347
+ const r = Dn(e, ...c);
2348
+ if (r === 1 / 0) return r;
2349
+ const u = Dn(n, ...l);
2350
+ if (u === 1 / 0) return r;
2351
+ const a = t.length;
2352
+ return Math.pow(-r * Math.pow(1 + e, a) / u / (1 + n), 1 / (a - 1)) - 1;
2353
+ }, NOMINAL: function(t, n) {
2354
+ return n = Math.trunc(n), (Math.pow(t + 1, 1 / n) - 1) * n;
2355
+ }, NPER: function(t, n, e, o = 0, i = 0) {
2356
+ return t === 0 ? n === 0 ? 1 / 0 : (-e - o) / n : (i && (n *= 1 + t), Math.log((n - o * t) / (e * t + n)) / Math.log(1 + t));
2357
+ }, NPV: Dn, ODDFPRICE: function(t, n, e, o, i, c, l, r = 0) {
2358
+ if (!(C(t) && C(n) && C(e) && C(o) && K(l) && X(r))) return Number.NaN;
2359
+ }, ODDFYIELD: function(t, n, e, o, i, c, l, r = 0) {
2360
+ if (!(C(t) && C(n) && C(e) && C(o) && K(l) && X(r))) return Number.NaN;
2361
+ }, ODDLPRICE: function(t, n, e, o, i, c, l, r = 0) {
2362
+ if (!(C(t) && C(n) && C(e) && K(l) && X(r))) return Number.NaN;
2363
+ }, ODDLYIELD: function(t, n, e, o, i, c, l, r = 0) {
2364
+ if (!(C(t) && C(n) && C(e) && K(l) && X(r))) return Number.NaN;
2365
+ }, PDURATION: function(t, n, e) {
2366
+ return (Math.log(e) - Math.log(n)) / Math.log(1 + t);
2367
+ }, PMT: dn, PRICE: function(t, n, e, o, i, c, l = 0) {
2368
+ if (!(C(t) && C(n) && K(c) && X(l))) return Number.NaN;
2369
+ }, PRICEDISC: function(t, n, e, o, i = 0) {
2370
+ if (!C(t) || !C(n) || !X(i) || e <= 0 || o <= 0) return Number.NaN;
2371
+ if (t >= n) throw E.BuiltIn.Value;
2372
+ let c, l;
2373
+ switch (i) {
2374
+ case 0:
2375
+ c = 360, l = on(t, n, !1);
2376
+ break;
2377
+ case 1:
2378
+ case 3:
2379
+ c = 365, l = en(t, n, "D");
2380
+ break;
2381
+ case 2:
2382
+ c = 360, l = en(t, n, "D");
2383
+ break;
2384
+ case 4:
2385
+ c = 360, l = on(t, n, !0);
2386
+ break;
2387
+ default:
2388
+ return Number.NaN;
2389
+ }
2390
+ return o - e * o * l / c;
2391
+ }, PRICEMAT: function(t, n, e, o, i, c = 0) {
2392
+ if (!(C(t) && C(n) && C(e) && X(c))) return Number.NaN;
2393
+ }, PV: function(t, n, e, o = 0, i = 0) {
2394
+ return i = i ? 1 : 0, t === -1 ? n === 0 ? Number.NaN : 1 / 0 : (w.formatResults(Tn(w.getRuntime())), t === 0 ? -e * n - o : ((1 - Math.pow(1 + t, n)) * e * (1 + t * i) / t - o) / Math.pow(1 + t, n));
2395
+ }, RATE: function(t, n, e, o = 0, i = 0, c = 0.1) {
2396
+ if (c <= -1) throw E.BuiltIn.Value;
2397
+ i = i ? 1 : 0;
2398
+ let l = c;
2399
+ l === 0.1 && Math.abs(n) > Math.abs(e) / 10 && (l = 0.2);
2400
+ for (let r = 0; r < 20; r++) {
2401
+ if (l <= -1) return Number.NaN;
2402
+ let u = 0;
2403
+ if (Math.abs(l) < On) u = e * (1 + t * l) + n * (1 + l * i) * t + o;
2404
+ else {
2405
+ const f = Math.pow(1 + l, t);
2406
+ u = e * f + n * (1 / l + i) * (f - 1) + o;
2407
+ }
2408
+ if (Math.abs(u) < On) return l;
2409
+ let a = 0;
2410
+ if (Math.abs(l) < On) a = e * t + n * i * t;
2411
+ else {
2412
+ const f = Math.pow(1 + l, t), s = t * Math.pow(1 + l, t - 1);
2413
+ a = e * s + n * (1 / l + i) * s + n * (-1 / (l * l)) * (f - 1);
2414
+ }
2415
+ l -= u / a;
2416
+ }
2417
+ return Number.NaN;
2418
+ }, RECEIVED: function(t, n, e, o, i = 0) {
2419
+ if (!C(t) || !C(n) || !X(i)) return Number.NaN;
2420
+ }, RRI: function(t, n, e) {
2421
+ return n === 0 || e < 0 && n > 0 || e > 0 && n < 0 ? Number.NaN : Math.pow(e / e, 1 / t) - 1;
2422
+ }, SLN: function(t, n, e) {
2423
+ return (t - n) / e;
2424
+ }, STOCKHISTORY: function(t, n, e, o = 0, i = 1, c = [0, 1, 2, 3, 4]) {
2425
+ if (!C(n) || !C(e)) throw E.BuiltIn.Num;
2426
+ }, SYD: function(t, n, e, o) {
2427
+ return o > e ? Number.NaN : (t - n) * (e - o + 1) * 2 / (e * (e + 1));
2428
+ }, TBILLEQ: function(t, n, e) {
2429
+ if (!C(t) || !C(n) || (t = Math.round(t)) >= (n = Math.round(n)) || gn(w.fromOADate(t), w.fromOADate(n))) return Number.NaN;
2430
+ const o = 360 - e * (n - t);
2431
+ return o === 0 ? 0 : o < 0 ? Number.NaN : 365 * e / o;
2432
+ }, TBILLPRICE: function(t, n, e) {
2433
+ if (!C(t) || !C(n) || (t = Math.round(t)) >= (n = Math.round(n)) || gn(w.fromOADate(t), w.fromOADate(n))) return Number.NaN;
2434
+ const o = 360 - e * (n - t);
2435
+ return o === 0 ? 0 : o < 0 ? Number.NaN : 100 * (1 - e * (n - t) / 360);
2436
+ }, TBILLYIELD: function(t, n, e) {
2437
+ return C(t) && C(n) ? (t = Math.round(t)) >= (n = Math.round(n)) || gn(w.fromOADate(t), w.fromOADate(n)) ? Number.NaN : 360 * (100 - e) / (e * (n - t)) : Number.NaN;
2438
+ }, VDB: function(t, n, e, o, i, c = 2, l = !1) {
2439
+ if (!C(o) || !C(i)) return Number.NaN;
2440
+ }, XIRR: function(t, n, e = 0.1) {
2441
+ }, XNPV: function(t, n, e) {
2442
+ let o = 0;
2443
+ const i = n.length;
2444
+ for (let c = 0; c < i; c++) o += n[c] / Math.pow(1 + t, rn(e[c], e[0]) / 365);
2445
+ return o;
2446
+ }, YIELD: function(t, n, e, o, i, c, l = 0) {
2447
+ if (!(C(t) && C(n) && K(c) && X(l))) return Number.NaN;
2448
+ }, YIELDDISC: function(t, n, e, o, i, c = 0) {
2449
+ if (!(C(t) && C(n) && K(i) && X(c))) return Number.NaN;
2450
+ }, YIELDMAT: function(t, n, e, o, i, c = 0) {
2451
+ if (!C(t) || !C(n) || !X(c)) return Number.NaN;
2452
+ } }, Symbol.toStringTag, { value: "Module" })), ge = Object.freeze(Object.defineProperty({ __proto__: null, CELL: function(t, n) {
2453
+ let e = null;
2454
+ switch (t) {
2455
+ case "address":
2456
+ const o = n.getCoords();
2457
+ e = w.getAddress({ colIndex: o.colStart, $colIndex: !0, rowIndex: o.rowStart, $rowIndex: !0 });
2458
+ break;
2459
+ case "col":
2460
+ case "row":
2461
+ e = n.getCoords().colStart + 1;
2462
+ break;
2463
+ case "contents":
2464
+ e = n.getValueAt(0, 0);
2465
+ break;
2466
+ case "type":
2467
+ const i = n.getValueAt(0, 0);
2468
+ e = i === null ? "b" : typeof i == "string" ? "l" : "v";
2469
+ break;
2470
+ default:
2471
+ e = E.BuiltIn.Value;
2472
+ }
2473
+ return w.markVolatile(), e;
2474
+ }, ERROR_TYPE: function(t) {
2475
+ return t.map((n) => n instanceof E.Known ? n.getCode() : E.BuiltIn.NA).fillEmpty(!0);
2476
+ }, INFO: function(t) {
2477
+ if ((t = t.toUpperCase()) === "DIRECTORY") {
2478
+ try {
2479
+ return w.markVolatile(), w.getRuntime().getLocation();
2480
+ } catch {
2481
+ }
2482
+ return "..";
2483
+ }
2484
+ if (t === "NUMFILE") return "1";
2485
+ if (t === "ORIGIN") return "$A$1";
2486
+ if (t === "RECALC") return "1";
2487
+ if (t === "RELEASE") return w.getRuntime().getVersion();
2488
+ if (t === "OSVERSION") return "1";
2489
+ if (t === "SYSTEM") return w.getRuntime().getOS();
2490
+ if (t === "USER")
2491
+ return w.getRuntime().getUser() || (w.formatResults("@[Red]"), "Unidentified");
2492
+ throw E.BuiltIn.Value;
2493
+ }, ISBLANK: function(t) {
2494
+ return t.map(() => !1).fillEmpty(!0);
2495
+ }, ISERR: function(t) {
2496
+ return t.map((n) => n instanceof E.Known && !(n instanceof E.NA)).fillEmpty(!1);
2497
+ }, ISERROR: function(t) {
2498
+ return t.map((n) => n instanceof E.Known).fillEmpty(!1);
2499
+ }, ISEVEN: function(t) {
2500
+ return t.map((n) => typeof n == "number" && Math.trunc(n) % 2 == 0).fillEmpty(!1);
2501
+ }, ISFORMULA: function(t) {
2502
+ return t.map((n, e) => w.getFormulaAt(e.rowIndex, e.colIndex) !== null).fillEmpty(!1);
2503
+ }, ISLOGICAL: function(t) {
2504
+ return t.map((n) => typeof n == "boolean").fillEmpty(!1);
2505
+ }, ISNA: function(t) {
2506
+ return t.map((n) => n instanceof E.NA).fillEmpty(!1);
2507
+ }, ISNONTEXT: function(t) {
2508
+ return t.map((n) => typeof n != "string").fillEmpty(!1);
2509
+ }, ISNUMBER: function(t) {
2510
+ return t.map((n) => typeof n == "number").fillEmpty(!1);
2511
+ }, ISODD: function(t) {
2512
+ return t.map((n) => typeof n == "number" && Math.trunc(n) % 2 != 0).fillEmpty(!1);
2513
+ }, ISOMITTED: function(t) {
2514
+ return t === void 0;
2515
+ }, ISREF: function(t) {
2516
+ return t?.isIReferenceRange ?? !1;
2517
+ }, ISTEXT: function(t) {
2518
+ return t.map((n) => typeof n == "string").fillEmpty(!1);
2519
+ }, N: function(t) {
2520
+ const n = t.getValueAt(0, 0), e = typeof n;
2521
+ if (e === "number") return n;
2522
+ if (e === "boolean") return Number(n);
2523
+ if (n instanceof E.Known) throw n;
2524
+ return 0;
2525
+ }, NA: function() {
2526
+ return E.BuiltIn.NA;
2527
+ }, SHEET: function(t) {
2528
+ const n = w.getSheetIndex(t);
2529
+ return n >= 0 ? n + 1 : E.BuiltIn.NA;
2530
+ }, SHEETS: function(t) {
2531
+ return t ? 1 : w.getSheetCount();
2532
+ }, TYPE: function(t) {
2533
+ if (t.getWidth() > 1 || t.getHeight() > 1) return 64;
2534
+ const n = t.getValueAt(0, 0), e = typeof n;
2535
+ return e === "string" ? 2 : e === "boolean" ? 4 : n instanceof E.Known ? 16 : 1;
2536
+ } }, Symbol.toStringTag, { value: "Module" })), de = { mismatchFill: E.BuiltIn.NA }, ot = { type: k.Boolean, coerce: !0 }, Ne = Object.freeze(Object.defineProperty({ __proto__: null, AND: function(...t) {
2537
+ let n = !1;
2538
+ for (const e of t) for (const o of e.values({ type: k.Boolean, coerce: !0 })) if (n = !0, !o) return !1;
2539
+ return !!n || E.BuiltIn.Value;
2540
+ }, BYCOL: function(t, n) {
2541
+ }, BYROW: function(t, n) {
2542
+ }, FALSE: function() {
2543
+ return !1;
2544
+ }, IF: function(t, n, e) {
2545
+ if (t.size === 1)
2546
+ return t.getValueAt(0, 0, ot) ? n : e ?? t.empty().replace([[!1]]);
2547
+ const o = t.getWidth(), i = t.getHeight();
2548
+ if (o === 1 || i === 1) {
2549
+ const u = o === 1 ? $.Orientation.Column : $.Orientation.Row, a = i === 1, f = a ? n.getHeight() : n.getWidth(), s = (a ? n.getWidth() : n.getHeight()) === 1;
2550
+ if (!e) {
2551
+ const b = i === 1, I = b ? n.getHeight() : n.getWidth();
2552
+ e = t.empty().fill(!1, { colStart: 0, rowStart: 0, colEnd: (b ? 1 : I) - 1, rowEnd: (b ? I : 1) - 1 });
2553
+ }
2554
+ const m = a ? e.getHeight() : e.getWidth(), p = (a ? e.getWidth() : e.getHeight()) === 1, g = Math.max(f, m), N = t.empty().fill(E.BuiltIn.Value, { colStart: 0, rowStart: 0, colEnd: (a ? e.getWidth() : g) - 1, rowEnd: (a ? g : e.getHeight()) - 1 }), h = [];
2555
+ let d = t.empty();
2556
+ t.forEach((b, I) => {
2557
+ const M = b === !0;
2558
+ let A = M ? n : e;
2559
+ b instanceof E.Known && (A = N);
2560
+ let T = 0;
2561
+ (M && !s || !M && !p) && (T = a ? I.colIndex : I.rowIndex);
2562
+ const S = a ? { colStart: T, colEnd: T } : { rowStart: T, rowEnd: T };
2563
+ A = A.slice(S), d = d.replace(A, I);
2564
+ const R = a ? A.getHeight() : A.getWidth();
2565
+ R < g && (a ? (S.rowStart = R, S.rowEnd = g - 1) : (S.colStart = R, S.colEnd = g - 1), h.push(S));
2566
+ }, { orientation: u, type: k.Boolean, coerce: !0, includeEmpty: !0 });
2567
+ for (let b = 0; b < h.length; b++) d = d.fill(E.BuiltIn.NA, h[b]);
2568
+ return d;
2569
+ }
2570
+ const c = o - 1, l = i - 1;
2571
+ let r = n.broadcast(e, (u, a, f) => {
2572
+ let s = f.colIndex, m = f.rowIndex;
2573
+ return s > c || m > l ? E.BuiltIn.NA : t.getValueAt(f.rowIndex, f.colIndex, ot) ? u : a;
2574
+ }, de);
2575
+ return r = r.fillEmpty(E.BuiltIn.NA, Math.max(n.getWidth(), e.getWidth()), Math.max(n.getHeight(), e.getHeight())), r;
2576
+ }, IFERROR: function(t, n) {
2577
+ return t.broadcast(n, (e = null, o = null) => e instanceof E.Known ? o : e, { mismatchFill: null });
2578
+ }, IFNA: function(t, n) {
2579
+ return t.broadcast(n, (e = null, o = null) => E.BuiltIn.NA.equals(e) ? o : e, { mismatchFill: null });
2580
+ }, IFS: function(t, n, ...e) {
2581
+ if (e && e.length % 2 != 0) throw new E.NA("IFS expects all arguments after position 0 to be in pairs.");
2582
+ const o = [t, n, ...e];
2583
+ for (let i = 0; i < o.length / 2; i++) {
2584
+ const c = ln.accept(o[2 * i], H.BOOLEAN), l = ln.accept(o[2 * i + 1]);
2585
+ if (c) return l;
2586
+ }
2587
+ throw E.BuiltIn.NA;
2588
+ }, LAMDA: function(...t) {
2589
+ }, LET: function(t, n, e, ...o) {
2590
+ }, MAKEARRAY: function(t, n, e) {
2591
+ }, MAP: function(t, ...n) {
2592
+ }, NOT: function(t) {
2593
+ return t.map((n) => typeof n == "boolean" ? !n : typeof n == "number" ? n === 0 : E.BuiltIn.Value).fillEmpty(!0);
2594
+ }, OR: function(...t) {
2595
+ let n = !1;
2596
+ for (const e of t) for (const o of e.values({ type: k.Boolean, coerce: !0 })) if (n = !0, o === !0) return !0;
2597
+ return !n && E.BuiltIn.Value;
2598
+ }, REDUCE: function(t, n, e) {
2599
+ }, SCAN: function(t, n, e) {
2600
+ }, SWITCH: function(t, n, ...e) {
2601
+ }, TRUE: function() {
2602
+ return !1;
2603
+ }, XOR: function(...t) {
2604
+ let n = !1, e = 0;
2605
+ for (const o of t) for (const i of o.values({ type: k.Boolean, coerce: !0 })) n = !0, i === !0 && e++;
2606
+ return n ? e % 2 == 1 : E.BuiltIn.Value;
2607
+ } }, Symbol.toStringTag, { value: "Module" })), Xn = (t) => typeof t == "string" && /[*?]/.test(t), Yn = (t, n) => RegExp(t.replace(/[.+^${}()|[\]\\]/g, "\\$&").replace(/([^~]??)[?]/g, "$1.").replace(/([^~]??)[*]/g, "$1.*").replace(/~([?*])/g, "$1"), n), be = Object.freeze(Object.defineProperty({ __proto__: null, ADDRESS: function(t, n, e = 1, o = !0, i = "") {
2608
+ if (t < 1 || n < 1 || e < 1 || e > 4) throw E.BuiltIn.Value;
2609
+ const c = { $colIndex: e === 1 || e === 3, colIndex: n - 1, $rowIndex: e === 1 || e === 2, rowIndex: t - 1, sheetName: i };
2610
+ return w.getAddress(c, !o);
2611
+ }, AREAS: function(...t) {
2612
+ return t.length;
2613
+ }, CHOOSE: function(t, n, ...e) {
2614
+ if (t === 1) return n;
2615
+ if (t < 1 || t > e.length + 1) throw E.BuiltIn.Value;
2616
+ return e[t - 2];
2617
+ }, CHOOSECOLS: function(t, n, ...e) {
2618
+ const o = t.getValues(), i = [n, ...e].map((l) => {
2619
+ if (l <= 0) throw E.BuiltIn.Value;
2620
+ if (l > o[0].length) throw E.BuiltIn.Ref;
2621
+ return Math.floor(l - 1);
2622
+ }), c = [];
2623
+ for (let l = 0; l < o.length; l++) c[l] = i.map((r) => o[l][r]);
2624
+ return c;
2625
+ }, CHOOSEROWS: function(t, n, ...e) {
2626
+ const o = t.getValues();
2627
+ return [n, ...e].map((i) => {
2628
+ if (i <= 0) throw E.BuiltIn.Value;
2629
+ if (i > o.length) throw E.BuiltIn.Ref;
2630
+ return Math.floor(i - 1);
2631
+ }).map((i) => [...o[i]]);
2632
+ }, COLUMN: function(t) {
2633
+ if (!t) return [w.getPosition().colIndex + 1];
2634
+ const n = [], e = t.getCoords(), o = e.colStart, i = e.colEnd;
2635
+ for (let c = o; c <= i; c++) n.push(c + 1);
2636
+ return n;
2637
+ }, COLUMNS: function(t) {
2638
+ return t.getWidth();
2639
+ }, DROP: function(t, n, e = 0) {
2640
+ }, EXPAND: function(t, n, e = 0, o = E.BuiltIn.NA) {
2641
+ }, FIELDVALUE: function(t, n) {
2642
+ }, FILTER: function(t, n, e) {
2643
+ }, FORMULATEXT: function(t) {
2644
+ const n = t.getCoords(), e = w.getFormulaAt(n.rowStart, n.colStart);
2645
+ if (e === null) throw E.BuiltIn.NA;
2646
+ return "=" + e;
2647
+ }, GETPIVOTDATA: function(t, n, e, o) {
2648
+ }, GROUPBY: function(t, n, e, o = null, i = 2, c = null, l = null, r = 0) {
2649
+ }, HLOOKUP: function(t, n, e, o = !0) {
2650
+ if (e < 1) return E.BuiltIn.Value;
2651
+ if (e > n.getHeight()) return E.BuiltIn.Ref;
2652
+ if (n.size === 1) return E.BuiltIn.NA;
2653
+ const i = n.getValues(), c = typeof t, l = typeof t == "string" ? t : String(t), r = Xn(l), u = r ? Yn(l, "i") : null;
2654
+ if (o) {
2655
+ let a = c === typeof i[0][0] ? i[0][0] : null;
2656
+ const f = i[0].length;
2657
+ for (let s = 1; s < f; s++) {
2658
+ const m = i[0][s];
2659
+ if (typeof m === c) {
2660
+ if (a > t && m > t) throw E.BuiltIn.NA;
2661
+ if (m === t) return i[e - 1][s];
2662
+ if (a != null && m > t && a <= t) return i[e - 1][s - 1];
2663
+ a = m;
2664
+ }
2665
+ }
2666
+ if (a === null) throw E.BuiltIn.NA;
2667
+ return i[0].length === 1 ? i[e - 1][0] : a;
2668
+ }
2669
+ {
2670
+ let a = -1;
2671
+ if (a = r ? i[0].findIndex((f) => {
2672
+ const s = typeof f == "string" ? f : String(f);
2673
+ return u.test(s);
2674
+ }) : i[0].findIndex((f) => f === t), a === -1) throw E.BuiltIn.NA;
2675
+ return i[e - 1][a];
2676
+ }
2677
+ }, HSTACK: function(t, ...n) {
2678
+ }, HYPERLINK: function(t, n) {
2679
+ }, IMAGE: function(t, n, e, o, i) {
2680
+ }, INDEX: function(t, n = 0, e = 0, o = 1) {
2681
+ if (n < 0 || e < 0 || o < 0) return E.BuiltIn.Value;
2682
+ if (o > t.length) return E.BuiltIn.Ref;
2683
+ const i = t[o - 1];
2684
+ if (n === 0 && e === 0) return i;
2685
+ if (n !== 0 && e !== 0) return i.getValueAt(n - 1, e - 1);
2686
+ const c = i.getHeight(), l = i.getWidth();
2687
+ if (n > c || e > l) return E.BuiltIn.Ref;
2688
+ if (n === 0) {
2689
+ const r = e - 1;
2690
+ return i.slice({ colStart: r, rowStart: 0, colEnd: r, rowEnd: c - 1 });
2691
+ }
2692
+ {
2693
+ const r = n - 1;
2694
+ return i.slice({ colStart: 0, rowStart: r, colEnd: l - 1, rowEnd: r });
2695
+ }
2696
+ }, INDIRECT: function(t, n = !0) {
2697
+ return w.getReference(t, !n);
2698
+ }, LOOKUP: function(t, n, e) {
2699
+ }, MATCH: function(t, n, e) {
2700
+ }, OFFSET: function(t, n, e, o, i) {
2701
+ if (o = o ?? t.getHeight(), (i = i ?? t.getWidth()) < 0) throw E.BuiltIn.Ref;
2702
+ if (o < 0) throw E.BuiltIn.Ref;
2703
+ const c = t.getCoords(), l = { rowStart: c.rowStart + n, colStart: c.colStart + e, rowEnd: c.rowStart + n + o - 1, colEnd: c.colStart + e + i - 1 };
2704
+ return w.getReference(l);
2705
+ }, PIVOTBY: function(t, n, e, o, i = null, c = 2, l = null, r = 2, u = null, a = null, f = 0) {
2706
+ }, ROW: function(t) {
2707
+ if (!t) return [w.getPosition().rowIndex + 1];
2708
+ const n = [], e = t.getCoords(), o = e.rowStart, i = e.rowEnd;
2709
+ for (let c = o; c <= i; c++) n.push([c + 1]);
2710
+ return n;
2711
+ }, ROWS: function(t) {
2712
+ return t.getHeight();
2713
+ }, RTD: function(t, n, ...e) {
2714
+ }, SORT: function(t, n, e, o = !1) {
2715
+ }, SORTBY: function(t, n, e) {
2716
+ }, TAKE: function(t, n, e = 0) {
2717
+ }, TOCOL: function(t, n = 0, e = !1) {
2718
+ }, TOROW: function(t, n = 0, e = !1) {
2719
+ }, TRANSPOSE: function(t) {
2720
+ return t.transpose();
2721
+ }, TRIMRANGE: function(t, n = 3, e = 3) {
2722
+ let o = 0, i = t.getHeight() - 1, c = 0, l = t.getWidth() - 1;
2723
+ const r = t.isIReferenceRange;
2724
+ if (r) {
2725
+ const a = t.getCoords();
2726
+ o = a.rowStart, i = a.rowEnd, c = a.colStart, l = a.colEnd;
2727
+ } else o = 0, i = t.getHeight() - 1, c = 0, l = t.getWidth() - 1;
2728
+ if (n === 1 || n === 3) {
2729
+ const a = t.entries({ orientation: $.Orientation.Row }).next().value;
2730
+ if (!a) return E.BuiltIn.Ref;
2731
+ o = a.coords.rowIndex;
2732
+ }
2733
+ if (n === 2 || n === 3) {
2734
+ const a = t.entries({ reverse: !0, orientation: $.Orientation.Row }).next().value;
2735
+ if (!a) return E.BuiltIn.Ref;
2736
+ i = a.coords.rowIndex;
2737
+ }
2738
+ if (e === 1 || e === 3) {
2739
+ const a = t.entries({ orientation: $.Orientation.Column }).next().value;
2740
+ if (!a) return E.BuiltIn.Ref;
2741
+ c = a.coords.colIndex;
2742
+ }
2743
+ if (e === 2 || e === 3) {
2744
+ const a = t.entries({ reverse: !0, orientation: $.Orientation.Column }).next().value;
2745
+ if (!a) return E.BuiltIn.Ref;
2746
+ l = a.coords.colIndex;
2747
+ }
2748
+ let u;
2749
+ return r ? w.getReference({ colStart: c, rowStart: o, colEnd: l, rowEnd: i }) : (u = t.slice({ colStart: c, rowStart: o, rowEnd: i, colEnd: l }), u);
2750
+ }, UNIQUE: function(t, n = !1, e = !1) {
2751
+ }, VLOOKUP: function(t, n, e, o = !0) {
2752
+ if (e < 1) return E.BuiltIn.Value;
2753
+ if (e > n.getWidth()) return E.BuiltIn.Ref;
2754
+ if (n.size === 1) return E.BuiltIn.NA;
2755
+ const i = n.getValues(), c = typeof t, l = typeof t == "string" ? t : String(t), r = Xn(l), u = r ? Yn(l, "i") : null;
2756
+ if (o) {
2757
+ let a = c === typeof i[0][0] ? i[0][0] : null;
2758
+ const f = i.length;
2759
+ for (let s = 1; s < f; s++) {
2760
+ const m = i[s], p = i[s][0];
2761
+ if (typeof p === c) {
2762
+ if (a > t && p > t) throw E.BuiltIn.NA;
2763
+ if (p === t) return m[e - 1];
2764
+ if (a != null && p > t && a <= t) return i[s - 1][e - 1];
2765
+ a = p;
2766
+ }
2767
+ }
2768
+ if (a === null) throw E.BuiltIn.NA;
2769
+ return i.length === 1 ? i[0][e - 1] : a;
2770
+ }
2771
+ {
2772
+ let a = -1;
2773
+ if (a = r ? i.findIndex((f) => u.test(f[0])) : i.findIndex((f) => f[0] === t), a === -1) throw E.BuiltIn.NA;
2774
+ return i[a][e - 1];
2775
+ }
2776
+ }, VSTACK: function(t, ...n) {
2777
+ }, WRAPCOLS: function(t, n, e = E.BuiltIn.NA) {
2778
+ }, WRAPROWS: function(t, n, e = E.BuiltIn.NA) {
2779
+ }, XLOOKUP: function(t, n, e, o, i = !0, c, l = !0) {
2780
+ }, XMATCH: function(t, n, e, o = !0) {
2781
+ } }, Symbol.toStringTag, { value: "Module" })), Ft = [1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880, 3628800, 39916800, 479001600, 6227020800, 87178291200, 1307674368e3, 20922789888e3, 355687428096e3, 6402373705728e3, 121645100408832e3, 243290200817664e4, 5109094217170944e4, 11240007277776077e5, 2585201673888498e7, 6204484017332394e8, 15511210043330986e9, 40329146112660565e10, 10888869450418352e12, 30488834461171387e13, 8841761993739702e15, 26525285981219107e16, 8222838654177922e18, 2631308369336935e20, 8683317618811886e21, 29523279903960416e22, 10333147966386145e24, 37199332678990125e25, 13763753091226346e27, 5230226174666011e29, 20397882081197444e30, 8159152832478977e32, 3345252661316381e34, 140500611775288e37, 6041526306337383e37, 2658271574788449e39, 11962222086548019e40, 5502622159812089e42, 25862324151116818e43, 12413915592536073e45, 6082818640342675e47, 30414093201713376e48, 15511187532873822e50, 8065817517094388e52, 42748832840600255e53, 2308436973392414e56, 12696403353658276e57, 7109985878048635e59, 40526919504877214e60, 23505613312828785e62, 13868311854568984e64, 832098711274139e67, 5075802138772248e68, 3146997326038794e70, 198260831540444e73, 12688693218588417e73, 8247650592082472e75, 5443449390774431e77, 3647111091818868e79, 24800355424368305e80, 1711224524281413e83, 11978571669969892e84, 8504785885678623e86, 61234458376886085e87, 44701154615126844e89, 3307885441519386e92, 248091408113954e95, 18854947016660504e95, 14518309202828587e97, 11324281178206297e99, 8946182130782976e101, 7156945704626381e103, 5797126020747368e105, 4753643337012842e107, 3945523969720659e109, 3314240134565353e111, 281710411438055e114, 24227095383672734e114, 2107757298379528e117, 18548264225739844e118, 1650795516090846e121, 14857159644817615e122, 1352001527678403e125, 12438414054641308e126, 11567725070816416e128, 1087366156656743e131, 1032997848823906e133, 9916779348709496e134, 9619275968248212e136, 9426890448883248e138, 9332621544394415e140, 9332621544394415e142], _n = [], xn = [];
2782
+ function En(t) {
2783
+ return Math.abs(t) < 99e-14 ? 0 : t;
2784
+ }
2785
+ function Mn(t) {
2786
+ return t <= 100 ? Ft[t] : _n[t] > 0 ? _n[t] : _n[t] = Mn(t - 1) * t;
2787
+ }
2788
+ function Ht(t) {
2789
+ return t === 1 || t === 0 ? 1 : t === 2 ? 2 : xn[t] > 0 ? xn[t] : xn[t] = Ht(t - 2) * t;
2790
+ }
2791
+ function at(t) {
2792
+ const n = [], e = t.length;
2793
+ for (let o = 0; o < e; o++) {
2794
+ const i = t[o], c = i.length;
2795
+ for (let l = 0; l < c; l++) n.push(i[l]);
2796
+ }
2797
+ return n;
2798
+ }
2799
+ const Bn = (t, n, e) => {
2800
+ const o = at(t), i = at(n);
2801
+ let c = 0;
2802
+ if (o.length !== i.length) throw E.BuiltIn.NA;
2803
+ const l = o.length;
2804
+ for (let r = 0; r < l; r++) typeof o[r] == "number" && typeof i[r] == "number" && (c = En(c + e(o[r], i[r])));
2805
+ return c;
2806
+ };
2807
+ function an(t, n = void 0) {
2808
+ if (n === 0) return 0;
2809
+ if (t / n % 1 == 0) return t;
2810
+ const e = Math.abs(n), o = Math.floor(Math.abs(t) / e);
2811
+ return t < 0 ? n < 0 ? -e * (o + 1) : -e * o : (o + 1) * e;
2812
+ }
2813
+ function it(t, n = 1) {
2814
+ return n === 0 ? 0 : an(t, Math.abs(n));
2815
+ }
2816
+ function un(t, n) {
2817
+ return t < 0 || n < 0 || t < n ? Number.NaN : In(t) / In(n) / In(t - n);
2818
+ }
2819
+ function In(t) {
2820
+ return (t = Math.trunc(t)) > 170 || t < 0 ? Number.NaN : t <= 100 ? Ft[t] : Mn(t);
2821
+ }
2822
+ function Nn(t, n = void 0) {
2823
+ if (t === 0) return 0;
2824
+ if (n === 0) return 1 / 0;
2825
+ if (n = n ?? (t > 0 ? 1 : -1), t > 0 && n < 0) return Number.NaN;
2826
+ if (t / n % 1 == 0) return t;
2827
+ const e = Math.abs(n), o = Math.floor(Math.abs(t) / e);
2828
+ return t < 0 ? n < 0 ? -e * o : -e * (o + 1) : o * e;
2829
+ }
2830
+ function lt(t) {
2831
+ return Math.floor(t);
2832
+ }
2833
+ const Ee = Object.freeze(Object.defineProperty({ __proto__: null, ABS: function(t) {
2834
+ return Math.abs(t);
2835
+ }, AGGREGATE: function(t, n, e, o) {
2836
+ }, ARABIC: function(t) {
2837
+ if (!/^M*(?:D?C{0,3}|C[MD])(?:L?X{0,3}|X[CL])(?:V?I{0,3}|I[XV])$/.test(t)) throw new E.Value("Invalid roman numeral in ARABIC evaluation.");
2838
+ let n = 0;
2839
+ return t.replace(/[MDLV]|C[MD]?|X[CL]?|I[XV]?/g, (e) => {
2840
+ n += { M: 1e3, CM: 900, D: 500, CD: 400, C: 100, XC: 90, L: 50, XL: 40, X: 10, IX: 9, V: 5, IV: 4, I: 1 }[e];
2841
+ }), n;
2842
+ }, BASE: function(t, n, e = 0) {
2843
+ if (t < 0 || t >= 2 ** 53 || n < 2 || n > 36 || e < 0) return Number.NaN;
2844
+ const o = t.toString(n).toUpperCase();
2845
+ return new Array(Math.max(e + 1 - o.length, 0)).join("0") + o;
2846
+ }, CEILING: an, CEILING_MATH: function(t, n = void 0, e = 0) {
2847
+ if ((n = n ?? (t > 0 ? 1 : -1)) === 0) return 0;
2848
+ if (t >= 0) return an(t, n);
2849
+ const o = e ? n : 0;
2850
+ return an(t, n) - o;
2851
+ }, CEILING_PRECISE: it, COMBIN: un, COMBINA: function(t, n) {
2852
+ return t !== 0 && t !== 1 || n !== 0 ? t < 0 || n < 0 ? Number.NaN : un(t + n - 1, t - 1) : 1;
2853
+ }, DECIMAL: function(t, n) {
2854
+ return (n = Math.trunc(n)) < 2 || n > 36 ? Number.NaN : parseInt(t, n);
2855
+ }, DEGREES: function(t) {
2856
+ return t * (180 / Math.PI);
2857
+ }, EVEN: function(t) {
2858
+ return an(t, -2);
2859
+ }, EXP: function(t) {
2860
+ return Math.exp(t);
2861
+ }, FACT: In, FACTDOUBLE: function(t) {
2862
+ return (t = Math.trunc(t)) < -1 ? Number.NaN : t === -1 ? 1 : Ht(t);
2863
+ }, FLOOR: Nn, FLOOR_MATH: function(t, n = void 0, e = 0) {
2864
+ return (n = n ?? (t > 0 ? 1 : -1)) === 0 ? 0 : e === 0 || t >= 0 ? Nn(t, Math.abs(n)) : Nn(t, n) + n;
2865
+ }, FLOOR_PRECISE: function(t, n = 1) {
2866
+ return n === 0 ? 0 : Nn(t, Math.abs(n));
2867
+ }, GCD: function(...t) {
2868
+ let n, e = t[0];
2869
+ if (e < 0 || e > 9007199254740990) return Number.NaN;
2870
+ e = Math.abs(Math.abs(Math.trunc(e)));
2871
+ const o = t.length;
2872
+ for (let i = 1; i < o; i++) {
2873
+ if (n = t[i], n < 0 || n > 9007199254740990) return Number.NaN;
2874
+ for (n = Math.abs(Math.trunc(n)); e && n; ) e > n ? e %= n : n %= e;
2875
+ e += n;
2876
+ }
2877
+ return e;
2878
+ }, INT: lt, ISO_CEILING: function(t, n = void 0) {
2879
+ return it(t, n);
2880
+ }, LCM: function(...t) {
2881
+ let n, e, o = t[0];
2882
+ if (o < 0 || o > 9007199254740990) return Number.NaN;
2883
+ o = Math.abs(Math.trunc(o));
2884
+ const i = t.length;
2885
+ for (let c = 1; c < i; c++) {
2886
+ const l = t[c];
2887
+ if (l < 0 || l > 9007199254740990) return Number.NaN;
2888
+ for (n = Math.abs(Math.trunc(l)), e = o; o && n; ) o > n ? o %= n : n %= o;
2889
+ o = Math.abs(e * l) / (o + n);
2890
+ }
2891
+ return o;
2892
+ }, LN: function(t) {
2893
+ return Math.log(t);
2894
+ }, LOG: function(t, n = 10) {
2895
+ return Math.log(t) / Math.log(n);
2896
+ }, LOG10: function(t) {
2897
+ return Math.log10(t);
2898
+ }, MDETERM: function(t) {
2899
+ if (t[0].length !== t.length) throw E.BuiltIn.Value;
2900
+ const n = t.length, e = t[0].length;
2901
+ let o, i, c = 0;
2902
+ if (n === 1) return t[0][0];
2903
+ if (n === 2) return t[0][0] * t[1][1] - t[0][1] * t[1][0];
2904
+ for (let l = 0; l < e; l++) {
2905
+ o = t[0][l], i = t[0][l];
2906
+ for (let r = 1; r < n; r++) i *= t[r][((l + r) % e + e) % e], o *= t[r][((l - r) % e + e) % e];
2907
+ c += i - o;
2908
+ }
2909
+ return c;
2910
+ }, MINVERSE: function(t) {
2911
+ }, MMULT: function(t, n) {
2912
+ const e = t.length, o = t[0].length, i = n.length, c = n[0].length;
2913
+ if (o !== i) throw E.BuiltIn.Value;
2914
+ const l = new Array(e);
2915
+ for (let r = 0; r < e; r++) {
2916
+ l[r] = new Array(c);
2917
+ for (let u = 0; u < c; u++) {
2918
+ l[r][u] = 0;
2919
+ for (let a = 0; a < o; a++) {
2920
+ const f = t[r][a], s = n[a][u];
2921
+ if (typeof f != "number" || typeof s != "number") throw E.BuiltIn.Value;
2922
+ l[r][u] += t[r][a] * n[a][u];
2923
+ }
2924
+ }
2925
+ }
2926
+ return l;
2927
+ }, MOD: function(t, n) {
2928
+ return n === 0 ? 1 / 0 : t - n * lt(t / n);
2929
+ }, MROUND: function(t, n) {
2930
+ return n === 0 ? 0 : t > 0 && n < 0 || t < 0 && n > 0 ? Number.NaN : t / n % 1 == 0 ? t : Math.round(t / n) * n;
2931
+ }, MULTINOMIAL: function(...t) {
2932
+ let n = 0, e = 1;
2933
+ for (let o = 0; o < t.length; o++) {
2934
+ const i = t[o];
2935
+ if (i < 0) return Number.NaN;
2936
+ n += i, e *= Mn(i);
2937
+ }
2938
+ return Mn(n) / e;
2939
+ }, MUNIT: function(t) {
2940
+ const n = [];
2941
+ for (let e = 0; e < t; e++) {
2942
+ const o = [];
2943
+ for (let i = 0; i < t; i++) e === i ? o.push(1) : o.push(0);
2944
+ n.push(o);
2945
+ }
2946
+ return n;
2947
+ }, ODD: function(t) {
2948
+ if (t === 0) return 1;
2949
+ let n = Math.ceil(Math.abs(t));
2950
+ return n = 1 & n ? n : n + 1, t > 0 ? n : -n;
2951
+ }, PI: function() {
2952
+ return Math.PI;
2953
+ }, POWER: function(t, n) {
2954
+ return t ** n;
2955
+ }, PRODUCT: function(...t) {
2956
+ let n = 1;
2957
+ for (const e of t) for (const o of e.values()) n *= o;
2958
+ return n;
2959
+ }, QUOTIENT: function(t, n) {
2960
+ return Math.trunc(t / n);
2961
+ }, RADIANS: function(t) {
2962
+ return t / 180 * Math.PI;
2963
+ }, RAND: function() {
2964
+ return w.markVolatile(), Math.random();
2965
+ }, RANDARRAY: function(t = 1, n = 1, e = 0, o = 1, i = !1) {
2966
+ if (t === 0 || n === 0) throw E.BuiltIn.Calc;
2967
+ if (t < 0 || n < 0) throw E.BuiltIn.Value;
2968
+ const c = w.getEntireCoords();
2969
+ if (t + 1 > c.rowEnd || n + 1 > c.colEnd) throw E.BuiltIn.Value;
2970
+ if (e > o) throw Number.NaN;
2971
+ const l = Math.floor(t), r = Math.floor(n), u = new Array(l);
2972
+ for (let a = 0; a < l; a++) {
2973
+ const f = new Array(r);
2974
+ for (let s = 0; s < r; s++) {
2975
+ let m = e + Math.random() * (o - e);
2976
+ i && (m = Math.floor(m), m > o && (m = o)), f[s] = m;
2977
+ }
2978
+ u[a] = f;
2979
+ }
2980
+ return w.markVolatile(), u;
2981
+ }, RANDBETWEEN: function(t, n) {
2982
+ return w.markVolatile(), Math.floor(Math.random() * (n - t + 1) + t);
2983
+ }, ROMAN: function(t, n = 0) {
2984
+ if (n !== 0) throw Error("ROMAN: only allows form=0 (classic form).");
2985
+ const e = String(t).split(""), o = ["", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM", "", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC", "", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"];
2986
+ let i = "", c = 3;
2987
+ for (; c--; ) i = (o[+e.pop() + 10 * c] || "") + i;
2988
+ return new Array(+e.join("") + 1).join("M") + i;
2989
+ }, ROUND: function(t, n) {
2990
+ const e = Math.pow(10, Math.abs(n)), o = t > 0 ? 1 : -1;
2991
+ return n > 0 ? o * Math.round(Math.abs(t) * e) / e : n === 0 ? o * Math.round(Math.abs(t)) : o * Math.round(Math.abs(t) / e) * e;
2992
+ }, ROUNDDOWN: function(t, n) {
2993
+ const e = Math.pow(10, Math.abs(n)), o = t > 0 ? 1 : -1;
2994
+ if (n > 0) {
2995
+ const i = 1 / e * 0.5;
2996
+ return o * Math.round((Math.abs(t) - i) * e) / e;
2997
+ }
2998
+ if (n === 0)
2999
+ return o * Math.round(Math.abs(t) - 0.5);
3000
+ {
3001
+ const i = 0.5 * e;
3002
+ return o * Math.round((Math.abs(t) - i) / e) * e;
3003
+ }
3004
+ }, ROUNDUP: function(t, n) {
3005
+ const e = Math.pow(10, Math.abs(n)), o = t > 0 ? 1 : -1;
3006
+ if (n > 0) {
3007
+ const i = 1 / e * 0.5;
3008
+ return o * Math.round((Math.abs(t) + i) * e) / e;
3009
+ }
3010
+ if (n === 0)
3011
+ return o * Math.round(Math.abs(t) + 0.5);
3012
+ {
3013
+ const i = 0.5 * e;
3014
+ return o * Math.round((Math.abs(t) + i) / e) * e;
3015
+ }
3016
+ }, SEQUENCE: function(t, n = 1, e = 1, o = 1) {
3017
+ if (t === 0 || n === 0) throw E.BuiltIn.Calc;
3018
+ if (t < 0 || n < 0) throw E.BuiltIn.Value;
3019
+ const i = w.getEntireCoords();
3020
+ if (t + 1 > i.rowEnd || n + 1 > i.colEnd) throw E.BuiltIn.Value;
3021
+ const c = Math.floor(t), l = Math.floor(n);
3022
+ let r = e;
3023
+ const u = new Array(c);
3024
+ for (let a = 0; a < c; a++) {
3025
+ const f = new Array(l);
3026
+ for (let s = 0; s < l; s++) f[s] = r, r += o;
3027
+ u[a] = f;
3028
+ }
3029
+ return u;
3030
+ }, SERIESSUM: function(t, n, e, ...o) {
3031
+ let i;
3032
+ for (let c = 0; c < o.length; c++) {
3033
+ const l = o[c];
3034
+ if (typeof l != "number") throw E.BuiltIn.Value;
3035
+ c === 0 ? i = l * Math.pow(t, n) : i += l * Math.pow(t, n + c * e);
3036
+ }
3037
+ return i;
3038
+ }, SIGN: function(t) {
3039
+ return t > 0 ? 1 : t === 0 ? 0 : -1;
3040
+ }, SQRT: function(t) {
3041
+ return Math.sqrt(t);
3042
+ }, SQRTPI: function(t) {
3043
+ return t < 0 ? Number.NaN : Math.sqrt(t * Math.PI);
3044
+ }, SUBTOTAL: function(t, ...n) {
3045
+ }, SUM: function(...t) {
3046
+ let n = 0;
3047
+ for (const e of t) for (const o of e.values()) n = En(n + o);
3048
+ return n;
3049
+ }, SUMIF: function(t, n, e) {
3050
+ }, SUMIFS: function(t, n, e) {
3051
+ }, SUMPRODUCT: function(t, ...n) {
3052
+ n.forEach((o) => {
3053
+ if (t[0].length !== o[0].length || t.length !== o.length) throw E.BuiltIn.Value;
3054
+ for (let i = 0; i < t.length; i++) for (let c = 0; c < t[0].length; c++) typeof t[i][c] != "number" && (t[i][c] = 0), typeof o[i][c] != "number" && (o[i][c] = 0), t[i][c] *= o[i][c];
3055
+ });
3056
+ let e = 0;
3057
+ return t.forEach((o) => {
3058
+ o.forEach((i) => {
3059
+ e = En(e + i);
3060
+ });
3061
+ }), e;
3062
+ }, SUMSQ: function(...t) {
3063
+ let n = 0;
3064
+ for (const e of t) for (const o of e.values({ type: k.Number, includeBoolean: !0 })) n = En(n + o ** 2);
3065
+ return n;
3066
+ }, SUMX2MY2: function(t, n) {
3067
+ return Bn(t, n, (e, o) => e ** 2 - o ** 2);
3068
+ }, SUMX2PY2: function(t, n) {
3069
+ return Bn(t, n, (e, o) => e ** 2 + o ** 2);
3070
+ }, SUMXMY2: function(t, n) {
3071
+ return Bn(t, n, (e, o) => (e - o) ** 2);
3072
+ }, TRUNC: function(t, n = 0) {
3073
+ return Math.trunc(t);
3074
+ } }, Symbol.toStringTag, { value: "Module" })), tn = 2 ** 27 - 1, Ie = Object.freeze(Object.defineProperty({ __proto__: null, ACOS: function(t) {
3075
+ return t > 1 || t < -1 ? Number.NaN : Math.acos(t);
3076
+ }, ACOSH: function(t) {
3077
+ return t < 1 ? Number.NaN : Math.acosh(t);
3078
+ }, ACOT: function(t) {
3079
+ return Math.PI / 2 - Math.atan(t);
3080
+ }, ACOTH: function(t) {
3081
+ return Math.abs(t) <= 1 ? Number.NaN : Math.atanh(1 / t);
3082
+ }, ASIN: function(t) {
3083
+ return t > 1 || t < -1 ? Number.NaN : Math.asin(t);
3084
+ }, ASINH: function(t) {
3085
+ return Math.asinh(t);
3086
+ }, ATAN: function(t) {
3087
+ return Math.atan(t);
3088
+ }, ATAN2: function(t, n) {
3089
+ return n === 0 && t === 0 ? 1 / 0 : Math.atan2(n, t);
3090
+ }, ATANH: function(t) {
3091
+ return Math.abs(t) > 1 ? Number.NaN : Math.atanh(t);
3092
+ }, COS: function(t) {
3093
+ if (Math.abs(t) > tn) return Number.NaN;
3094
+ const n = Math.cos(t);
3095
+ return isFinite(n) ? n : Number.NaN;
3096
+ }, COSH: function(t) {
3097
+ const n = Math.cosh(t);
3098
+ return isFinite(n) ? n : Number.NaN;
3099
+ }, COT: function(t) {
3100
+ return Math.abs(t) > tn ? Number.NaN : t === 0 ? 1 / 0 : 1 / Math.tan(t);
3101
+ }, COTH: function(t) {
3102
+ return t === 0 ? 1 / 0 : 1 / Math.tanh(t);
3103
+ }, CSC: function(t) {
3104
+ return Math.abs(t) > tn ? Number.NaN : 1 / Math.sin(t);
3105
+ }, CSCH: function(t) {
3106
+ return t === 0 ? 1 / 0 : 1 / Math.sinh(t);
3107
+ }, SEC: function(t) {
3108
+ return Math.abs(t) > tn ? Number.NaN : 1 / Math.cos(t);
3109
+ }, SECH: function(t) {
3110
+ return 1 / Math.cosh(t);
3111
+ }, SIN: function(t) {
3112
+ return Math.abs(t) > tn ? Number.NaN : Math.sin(t);
3113
+ }, SINH: function(t) {
3114
+ const n = Math.sinh(t);
3115
+ return isFinite(n) ? n : Number.NaN;
3116
+ }, TAN: function(t) {
3117
+ return Math.abs(t) > tn ? Number.NaN : Math.tan(t);
3118
+ }, TANH: function(t) {
3119
+ return Math.tanh(t);
3120
+ } }, Symbol.toStringTag, { value: "Module" }));
3121
+ function st(t, ...n) {
3122
+ for (const e of n) {
3123
+ const o = e.isLiteral();
3124
+ for (const i of e.values({ coerce: !1, includeMistyped: !0 })) {
3125
+ const c = typeof i;
3126
+ if (c !== "number") if (c !== "string") if (c !== "boolean") {
3127
+ if (i.isFormulaError) throw i;
3128
+ } else {
3129
+ if (o) continue;
3130
+ t(i);
3131
+ }
3132
+ else t(i);
3133
+ else t(i);
3134
+ }
3135
+ }
3136
+ }
3137
+ function Sn(...t) {
3138
+ let n = 0, e = 0;
3139
+ for (const o of t) for (const i of o.values()) n += i, e++;
3140
+ if (e === 0) throw E.BuiltIn.Div0;
3141
+ return n / e;
3142
+ }
3143
+ function qn(...t) {
3144
+ let n = 0, e = 0;
3145
+ for (const o of t) {
3146
+ const i = o.isLiteral();
3147
+ for (const c of o.values({ coerce: !1, includeMistyped: !0 })) {
3148
+ const l = typeof c;
3149
+ if (l !== "number") if (l !== "string") if (l !== "boolean") {
3150
+ if (c.isFormulaError) return c;
3151
+ } else {
3152
+ if (i) continue;
3153
+ n += c ? 1 : 0, e++;
3154
+ }
3155
+ else e++;
3156
+ else n += c, e++;
3157
+ }
3158
+ }
3159
+ return n / e;
3160
+ }
3161
+ const Te = Object.freeze(Object.defineProperty({ __proto__: null, AVEDEV: function(...t) {
3162
+ let n = 0;
3163
+ const e = [];
3164
+ for (const c of t) for (const l of c.values()) n += l, e.push(l);
3165
+ const o = e.length, i = n / o;
3166
+ n = 0;
3167
+ for (let c = 0; c < o; c++) n += Math.abs(e[c] - i);
3168
+ return n / o;
3169
+ }, AVERAGE: Sn, AVERAGEA: qn, AVERAGEIF: function(t, n, e) {
3170
+ }, AVERAGEIFS: function(t, n, ...e) {
3171
+ }, COUNT: function(...t) {
3172
+ let n = 0;
3173
+ for (const e of t) for (const o of e.values()) n++;
3174
+ return n;
3175
+ }, COUNTA: function(...t) {
3176
+ let n = 0;
3177
+ for (const e of t) {
3178
+ const o = e.isLiteral();
3179
+ for (const i of e.values({ coerce: !1, includeMistyped: !0 })) {
3180
+ const c = typeof i;
3181
+ if (c !== "number") if (c !== "string") if (c !== "boolean") {
3182
+ if (i.isFormulaError) return i;
3183
+ } else {
3184
+ if (o) continue;
3185
+ n++;
3186
+ }
3187
+ else n++;
3188
+ else n++;
3189
+ }
3190
+ }
3191
+ return n;
3192
+ }, COUNTBLANK: function(t) {
3193
+ return t.size;
3194
+ }, COUNTIF: function(t, n) {
3195
+ }, COUNTIFS: function(t, n) {
3196
+ }, LARGE: function(t, n) {
3197
+ if ((n = Math.floor(n)) < 1) return Number.NaN;
3198
+ const e = [];
3199
+ for (const o of t.values()) e.push(o);
3200
+ return e.length === 0 || n > e.length ? Number.NaN : (e.sort((o, i) => i - o), e[n - 1]);
3201
+ }, MAX: function(...t) {
3202
+ let n = Number.MIN_SAFE_INTEGER;
3203
+ for (const e of t) for (const o of e.values()) n = Math.max(n, o);
3204
+ return n === Number.MIN_SAFE_INTEGER ? 0 : n;
3205
+ }, MAXA: function(...t) {
3206
+ let n = 0;
3207
+ return st((e) => {
3208
+ n = Math.min(n, e);
3209
+ }, ...t), n;
3210
+ }, MAXIFS: function(t, n, ...e) {
3211
+ }, MEDIAN: function(...t) {
3212
+ const n = [];
3213
+ for (const o of t) for (const i of o.values()) n.push(i);
3214
+ n.sort((o, i) => o - i);
3215
+ const e = n.length;
3216
+ if (e % 2 == 0) {
3217
+ const o = e / 2;
3218
+ return (n[o - 1] + n[o]) / 2;
3219
+ }
3220
+ return n[Math.floor(e / 2)];
3221
+ }, MIN: function(...t) {
3222
+ let n = Number.MAX_SAFE_INTEGER;
3223
+ for (const e of t) for (const o of e.values()) n = Math.min(n, o);
3224
+ return n === Number.MAX_SAFE_INTEGER ? 0 : n;
3225
+ }, MINA: function(...t) {
3226
+ let n = 0;
3227
+ return st((e) => {
3228
+ n = Math.min(n, e);
3229
+ }, ...t), n;
3230
+ }, MINIFS: function(t, n, ...e) {
3231
+ }, PERMUT: function(t, n) {
3232
+ }, PERMUTATIONA: function(t, n) {
3233
+ }, SMALL: function(t, n) {
3234
+ if ((n = Math.floor(n)) < 1) return Number.NaN;
3235
+ const e = [];
3236
+ for (const o of t.values()) e.push(o);
3237
+ return e.length === 0 || n > e.length ? Number.NaN : (e.sort((o, i) => o - i), e[n - 1]);
3238
+ } }, Symbol.toStringTag, { value: "Module" }));
3239
+ function Gt(t, n = null) {
3240
+ const e = t.size, o = new Array(e);
3241
+ let i = new Array(e), c = 0;
3242
+ if (n) {
3243
+ if (n.size !== e) throw E.BuiltIn.Ref;
3244
+ for (const l of n.values({ includeEmpty: !0 })) {
3245
+ if (typeof l != "number") throw E.BuiltIn.Value;
3246
+ i[c++] = l;
3247
+ }
3248
+ } else for (let l = 0; l < e; l++) i[l] = l + 1;
3249
+ c = 0;
3250
+ for (const l of t.values()) {
3251
+ if (typeof l != "number") throw E.BuiltIn.Value;
3252
+ o[c++] = l;
3253
+ }
3254
+ return [o, i];
3255
+ }
3256
+ function ft(t, n, e, o, i = 0, c = 1) {
3257
+ return n <= 0 || e <= 0 || t < i || t > c || i === c ? Number.NaN : (t = (t - i) / (c - i), o ? y.beta.cdf(t, n, e) : y.beta.pdf(t, n, e) / (c - i));
3258
+ }
3259
+ function ct(t, n, e, o = 0, i = 1) {
3260
+ return n <= 0 || e <= 0 || t <= 0 || t > 1 ? Number.NaN : y.beta.inv(t, n, e) * (i - o) + o;
3261
+ }
3262
+ function mt(t, n, e, o) {
3263
+ return n < 0 || e < 0 || e > 1 || t < 0 || t > n ? Number.NaN : o ? y.binomial.cdf(t, n, e) : y.binomial.pdf(t, n, e);
3264
+ }
3265
+ function pt(t, n, e = !1) {
3266
+ return t < 0 || n < 1 || n > 10 ** 10 ? Number.NaN : e ? y.chisquare.cdf(t, n) : y.chisquare.pdf(t, n);
3267
+ }
3268
+ function ht(t, n) {
3269
+ return n = Math.trunc(n), t < 0 || t > 1 || n < 1 || n > 10 ** 10 ? Number.NaN : y.chisquare.inv(t, n);
3270
+ }
3271
+ function gt(t, n) {
3272
+ if (t.length !== n.length || t[0].length !== n[0].length || t.length === 1 && t[0].length === 1) throw E.BuiltIn.NA;
3273
+ const e = t.length, o = t[0].length;
3274
+ let i = (e - 1) * (o - 1);
3275
+ i = e === 1 ? o - 1 : e - 1;
3276
+ let c = 0;
3277
+ for (let f = 0; f < e; f++) for (let s = 0; s < o; s++) if (typeof t[f][s] == "number" && typeof n[f][s] == "number") {
3278
+ if (n[f][s] === 0) return 1 / 0;
3279
+ c += Math.pow(t[f][s] - n[f][s], 2) / n[f][s];
3280
+ }
3281
+ let l = Math.exp(-0.5 * c);
3282
+ i % 2 == 1 && (l *= Math.sqrt(2 * c / Math.PI));
3283
+ let r = i;
3284
+ for (; r >= 2; ) l = l * c / r, r -= 2;
3285
+ let u = l, a = i;
3286
+ for (; u > 1e-15 * l; ) a += 2, u = u * c / a, l += u;
3287
+ return 1 - l;
3288
+ }
3289
+ function dt(t, n) {
3290
+ if (t.length !== n.length) throw E.BuiltIn.NA;
3291
+ const e = [], o = [];
3292
+ for (let r = 0; r < t.length; r++) typeof t[r] == "number" && typeof n[r] == "number" && (e.push(t[r]), o.push(n[r]));
3293
+ const i = y.mean(e), c = y.mean(o);
3294
+ let l = 0;
3295
+ for (let r = 0; r < e.length; r++) l += (e[r] - i) * (o[r] - c);
3296
+ return l / e.length;
3297
+ }
3298
+ function Nt(t, n, e) {
3299
+ return t < 0 || n <= 0 ? Number.NaN : e ? y.exponential.cdf(t, n) : y.exponential.pdf(t, n);
3300
+ }
3301
+ function bt(t, n, e, o) {
3302
+ return t < 0 || n < 1 || e < 1 ? Number.NaN : (n = Math.trunc(n), e = Math.trunc(e), o ? y.centralF.cdf(t, n, e) : y.centralF.pdf(t, n, e));
3303
+ }
3304
+ function Et(t, n, e) {
3305
+ return t < 0 || t > 1 || n < 1 || e < 1 ? Number.NaN : (n = Math.trunc(n), e = Math.trunc(e), y.centralF.inv(t, n, e));
3306
+ }
3307
+ function It(t, n) {
3308
+ const e = [], o = [];
3309
+ let i = 0, c = 0;
3310
+ for (let u = 0; u < Math.max(t.length, n.length); u++) typeof t[u] == "number" && (e.push(t[u]), i += t[u]), typeof n[u] == "number" && (o.push(n[u]), c += n[u]);
3311
+ if (e.length <= 1 || o.length <= 1) return 1 / 0;
3312
+ i /= e.length, c /= o.length;
3313
+ let l = 0, r = 0;
3314
+ for (let u = 0; u < e.length; u++) l += (i - e[u]) ** 2;
3315
+ l /= e.length - 1;
3316
+ for (let u = 0; u < o.length; u++) r += (c - o[u]) ** 2;
3317
+ return r /= o.length - 1, 2 * y.centralF.cdf(l / r, e.length - 1, o.length - 1);
3318
+ }
3319
+ function Tt(t, n = null, e = null) {
3320
+ const o = n.length;
3321
+ if (e.length !== o) throw E.BuiltIn.NA;
3322
+ const i = [], c = [];
3323
+ let l = !0;
3324
+ for (let p = 0; p < o; p++) typeof n[p] == "number" && typeof e[p] == "number" && (i.push(n[p]), c.push(e[p]), e[p] !== e[0] && (l = !1));
3325
+ if (l) return 1 / 0;
3326
+ const r = y.mean(i), u = y.mean(c);
3327
+ let a = 0, f = 0;
3328
+ const s = i.length;
3329
+ for (let p = 0; p < s; p++) a += (c[p] - u) * (i[p] - r), f += (c[p] - u) ** 2;
3330
+ const m = a / f;
3331
+ return r - m * u + m * t;
3332
+ }
3333
+ function Mt(t, n = void 0) {
3334
+ let e = [];
3335
+ for (let o = 0; o < t.length; o++) {
3336
+ const i = t[o];
3337
+ for (let c = 0; c < i.length; c++) {
3338
+ let l = i[c];
3339
+ l == null && (l = n), e.push(l);
3340
+ }
3341
+ }
3342
+ return e;
3343
+ }
3344
+ function St(t, n = null, e = !0, o = !1) {
3345
+ const i = t.size, [c, l] = Gt(t, n), r = y.mean(c), u = y.mean(l);
3346
+ let a = 0, f = 0;
3347
+ for (let m = 0; m < i; m++) a += (l[m] - u) * (c[m] - r), f += Math.pow(l[m] - u, 2);
3348
+ const s = a / f;
3349
+ return [s, r - s * u];
3350
+ }
3351
+ function At(t, n) {
3352
+ return n ? y.normal.cdf(t, 0, 1) : y.normal.pdf(t, 0, 1);
3353
+ }
3354
+ function vt(...t) {
3355
+ const n = Xt(...t);
3356
+ return Math.sqrt(n);
3357
+ }
3358
+ function Xt(...t) {
3359
+ let n = 0, e = 0;
3360
+ const o = Sn(...t);
3361
+ for (const i of t) for (const c of i.values({ type: k.Number, includeMistyped: !0 })) typeof c == "number" && (n += Math.pow(c - o, 2)), e++;
3362
+ return n / (e - 1);
3363
+ }
3364
+ const Me = Object.freeze(Object.defineProperty({ __proto__: null, BETADIST: function(t, n, e, o, i = 0, c = 1) {
3365
+ return ft(t, n, e, !0, i, c);
3366
+ }, BETAINV: function(t, n, e, o = 0, i = 1) {
3367
+ return ct(t, n, e, o, i);
3368
+ }, BETA_DIST: ft, BETA_INV: ct, BINOMDIST: function(t, n, e, o) {
3369
+ return mt(t, n, e, o);
3370
+ }, BINOM_DIST: mt, BINOM_DIST_RANGE: function(t, n, e, o = e) {
3371
+ if (t < 0 || n < 0 || n > 1 || e < 0 || e > t || o < e || o > t) return Number.NaN;
3372
+ let i = 0;
3373
+ for (let c = e; c <= o; c++) i += un(t, c) * Math.pow(n, c) * Math.pow(1 - n, t - c);
3374
+ return i;
3375
+ }, BINOM_INV: function(t, n, e) {
3376
+ if (t < 0 || n < 0 || n > 1 || e < 0 || e > 1) return Number.NaN;
3377
+ let o = 0;
3378
+ for (; o <= t; ) {
3379
+ if (y.binomial.cdf(o, t, n) >= e) return o;
3380
+ o++;
3381
+ }
3382
+ }, CHIDIST: function(t, n) {
3383
+ return pt(t, n);
3384
+ }, CHIINV: function(t, n) {
3385
+ return ht(t, n);
3386
+ }, CHISQ_DIST: pt, CHISQ_DIST_RT: function(t, n) {
3387
+ return n = Math.trunc(n), t < 0 || n < 1 || n > 10 ** 10 ? Number.NaN : 1 - y.chisquare.cdf(t, n);
3388
+ }, CHISQ_INV: ht, CHISQ_INV_RT: function(t, n) {
3389
+ return n = Math.trunc(n), t < 0 || t > 1 || n < 1 || n > 10 ** 10 ? Number.NaN : y.chisquare.inv(1 - t, n);
3390
+ }, CHISQ_TEST: gt, CHITEST: function(t, n) {
3391
+ return gt(t, n);
3392
+ }, CONFIDENCE: function(t, n, e, o) {
3393
+ return o = Math.trunc(o), t <= 0 || t >= 1 || n <= 0 || o < 1 ? Number.NaN : y.normalci(e, t, n, o)[1] - 1;
3394
+ }, CONFIDENCE_NORM: function(t, n, e) {
3395
+ return e = Math.trunc(e), t <= 0 || t >= 1 || n <= 0 || e < 1 ? Number.NaN : y.normalci(1, t, n, e)[1] - 1;
3396
+ }, CONFIDENCE_T: function(t, n, e) {
3397
+ return e = Math.trunc(e), t <= 0 || t >= 1 || n <= 0 || e < 1 ? Number.NaN : y.tci(1, t, n, e)[1] - 1;
3398
+ }, CORREL: function(t, n) {
3399
+ if (t.length !== n.length) throw E.BuiltIn.NA;
3400
+ const e = [], o = [];
3401
+ for (let i = 0; i < t.length; i++) typeof t[i] == "number" && typeof n[i] == "number" && (e.push(t[i]), o.push(n[i]));
3402
+ return e.length <= 1 ? 1 / 0 : y.corrcoeff(e, o);
3403
+ }, COVARIANCE: function(t, n) {
3404
+ return dt(t, n);
3405
+ }, COVARIANCE_P: dt, COVARIANCE_S: function(t, n) {
3406
+ if (t.length !== n.length) throw E.BuiltIn.NA;
3407
+ const e = [], o = [];
3408
+ for (let i = 0; i < t.length; i++) typeof t[i] == "number" && typeof n[i] == "number" && (e.push(t[i]), o.push(n[i]));
3409
+ return e.length <= 1 ? 1 / 0 : y.covariance(e, o);
3410
+ }, CRITBINOM: function(t, n, e) {
3411
+ }, DEVSQ: function(...t) {
3412
+ let n = 0, e = [];
3413
+ for (const c of t) for (const l of c.values()) n += l, e.push(l);
3414
+ const o = e.length, i = n / o;
3415
+ n = 0;
3416
+ for (let c = 0; c < o; c++) n += (e[c] - i) ** 2;
3417
+ return n;
3418
+ }, EXPONDIST: function(t, n, e) {
3419
+ return Nt(t, n, e);
3420
+ }, EXPON_DIST: Nt, FDIST: function(t, n, e) {
3421
+ return bt(t, n, e, !0);
3422
+ }, FINV: function(t, n, e) {
3423
+ return Et(t, n, e);
3424
+ }, FISHER: function(t) {
3425
+ return t <= -1 || t >= 1 ? Number.NaN : Math.log((1 + t) / (1 - t)) / 2;
3426
+ }, FISHERINV: function(t) {
3427
+ const n = Math.exp(2 * t);
3428
+ return (n - 1) / (n + 1);
3429
+ }, FORECAST: Tt, FORECAST_ETS: function(t, n, e, o = 0.95, i = 1, c = 1) {
3430
+ }, FORECAST_ETS_CONFINT: function(t, n, e, o = 0.95, i = 0.95, c = 1, l = 1) {
3431
+ }, FORECAST_ETS_SEASONALITY: function(t, n, e = 1, o = 1) {
3432
+ }, FORECAST_ETS_STAT: function(t, n, e, o = 1, i = 1, c = 1) {
3433
+ }, FORECAST_LINEAR: function(t, n, e = null) {
3434
+ return Tt(t, n, e);
3435
+ }, FREQUENCY: function(t, n) {
3436
+ let e = Mt(t), o = Mt(n);
3437
+ const i = [];
3438
+ for (let l = 0; l < o.length; l++) typeof o[l] == "number" && i.push(o[l]);
3439
+ i.sort(), i.push(1 / 0);
3440
+ const c = [];
3441
+ for (let l = 0; l < i.length; l++) {
3442
+ c[l] = [], c[l][0] = 0;
3443
+ for (let r = 0; r < e.length; r++)
3444
+ typeof e[r] == "number" && e[r] <= i[l] && (c[l][0]++, e[r] = null);
3445
+ }
3446
+ return c;
3447
+ }, FTEST: function(t, n) {
3448
+ return It(t, n);
3449
+ }, F_DIST: bt, F_DIST_RT: function(t, n, e) {
3450
+ return t < 0 || n < 1 || e < 1 ? Number.NaN : (n = Math.trunc(n), e = Math.trunc(e), 1 - y.centralF.cdf(t, n, e));
3451
+ }, F_INV: Et, F_INV_RT: function(t, n, e) {
3452
+ return t < 0 || t > 1 || n < 1 || n >= Math.pow(10, 10) || e < 1 || e >= Math.pow(10, 10) ? Number.NaN : (n = Math.trunc(n), e = Math.trunc(e), y.centralF.inv(1 - t, n, e));
3453
+ }, F_TEST: It, GAMMA: function(t) {
3454
+ return t === 0 || t < 0 && t === Math.trunc(t) ? Number.NaN : y.gammafn(t);
3455
+ }, GAMMALN: function(t) {
3456
+ return t <= 0 ? Number.NaN : y.gammaln(t);
3457
+ }, GAMMALN_PRECISE: function(t) {
3458
+ return t <= 0 ? Number.NaN : y.gammaln(t);
3459
+ }, GAMMA_DIST: function(t, n, e, o = !1) {
3460
+ return t < 0 || n <= 0 || e <= 0 ? Number.NaN : o ? y.gamma.cdf(t, n, e, !0) : y.gamma.pdf(t, n, e, !1);
3461
+ }, GAMMA_INV: function(t, n, e) {
3462
+ return t < 0 || t > 1 || n <= 0 || e <= 0 ? Number.NaN : y.gamma.inv(t, n, e);
3463
+ }, GAUSS: function(t) {
3464
+ return y.normal.cdf(t, 0, 1) - 0.5;
3465
+ }, GEOMEAN: function(...t) {
3466
+ const n = [];
3467
+ for (const e of t) for (const o of e.values()) n.push(o);
3468
+ return y.geomean(n);
3469
+ }, GROWTH: function(t, n = null, e = null, o = !0) {
3470
+ const i = t.length;
3471
+ for (let g = 0; g < i; g++) if (typeof t[g] != "number") throw E.BuiltIn.Value;
3472
+ const c = n === null;
3473
+ if (n === null) {
3474
+ n = [];
3475
+ for (let g = 1; g <= i; g++) n.push(g);
3476
+ } else {
3477
+ const g = n.length;
3478
+ if (g !== i) throw E.BuiltIn.Ref;
3479
+ for (let N = 0; N < g; N++) if (typeof n[N] != "number") throw E.BuiltIn.Value;
3480
+ }
3481
+ if (e === null && c) {
3482
+ e = [];
3483
+ for (let g = 1; g <= i; g++) e.push(g);
3484
+ e = [e];
3485
+ } else e === null && (e = Array.isArray(n[0]) ? n : [n]);
3486
+ let l, r, u = 0, a = 0, f = 0, s = 0;
3487
+ for (let g = 0; g < i; g++) {
3488
+ const N = n[g], h = Math.log(t[g]);
3489
+ u += N, a += h, f += N * h, s += N * N;
3490
+ }
3491
+ u /= i, a /= i, f /= i, s /= i, o ? (l = (f - u * a) / (s - u * u), r = a - l * u) : (l = f / s, r = 0);
3492
+ const m = [], p = e.length;
3493
+ for (let g = 0; g < p; g++) {
3494
+ m[g] = [];
3495
+ for (let N = 0; N < e[0].length; N++) {
3496
+ if (typeof e[g][N] != "number") throw E.BuiltIn.Value;
3497
+ m[g][N] = Math.exp(r + l * e[g][N]);
3498
+ }
3499
+ }
3500
+ return m;
3501
+ }, HARMEAN: function(...t) {
3502
+ let n = 0, e = 0;
3503
+ for (const o of t) for (const i of o.values()) e += 1 / i, n++;
3504
+ return n / e;
3505
+ }, HYPGEOM_DIST: function(t, n, e, o, i) {
3506
+ if (t = Math.trunc(t), n = Math.trunc(n), e = Math.trunc(e), (o = Math.trunc(o)) <= 0 || t < 0 || n <= 0 || e <= 0 || n > o || e > o || n < t || e < t || t < n - o + e) return Number.NaN;
3507
+ function c(l, r, u, a) {
3508
+ return un(u, l) * un(a - u, r - l) / un(a, r);
3509
+ }
3510
+ return i ? function(l, r, u, a) {
3511
+ let f = 0;
3512
+ for (let s = 0; s <= l; s++) f += c(s, r, u, a);
3513
+ return f;
3514
+ }(t, n, e, o) : c(t, n, e, o);
3515
+ }, INTERCEPT: function(t, n) {
3516
+ if (n.length !== t.length) throw E.BuiltIn.NA;
3517
+ const e = [], o = [];
3518
+ for (let u = 0; u < t.length; u++) typeof t[u] == "number" && typeof n[u] == "number" && (e.push(t[u]), o.push(n[u]));
3519
+ if (e.length <= 1) return 1 / 0;
3520
+ const i = y.mean(e), c = y.mean(o);
3521
+ let l = 0, r = 0;
3522
+ for (let u = 0; u < e.length; u++) l += (o[u] - c) * (e[u] - i), r += (o[u] - c) ** 2;
3523
+ return i - l / r * c;
3524
+ }, KURT: function(...t) {
3525
+ let n = 0;
3526
+ const e = [];
3527
+ for (const c of t) for (const l of c.values()) n += l, e.push(l);
3528
+ const o = e.length;
3529
+ n /= o;
3530
+ let i = 0;
3531
+ for (let c = 0; c < o; c++) i += Math.pow(e[c] - n, 4);
3532
+ return i /= Math.pow(y.stdev(e, !0), 4), o * (o + 1) / ((o - 1) * (o - 2) * (o - 3)) * i - 3 * (o - 1) * (o - 1) / ((o - 2) * (o - 3));
3533
+ }, LINEST: St, LOGEST: function(t, n = null, e = !0, o = !1) {
3534
+ }, LOGNORM_DIST: function(t, n, e, o) {
3535
+ return t <= 0 || e <= 0 ? Number.NaN : o ? y.lognormal.cdf(t, n, e) : y.lognormal.pdf(t, n, e);
3536
+ }, LOGNORM_INV: function(t, n, e) {
3537
+ return t <= 0 || t >= 1 || e <= 0 ? Number.NaN : y.lognormal.inv(t, n, e);
3538
+ }, MODE_MULT: function(...t) {
3539
+ }, MODE_SNGL: function(...t) {
3540
+ }, NEGBINOM_DIST: function(t, n, e, o) {
3541
+ return t = Math.trunc(t), n = Math.trunc(n), e < 0 || e > 1 || t < 0 || n < 1 ? Number.NaN : o ? y.negbin.cdf(t, n, e) : y.negbin.pdf(t, n, e);
3542
+ }, NORM_DIST: function(t, n, e, o) {
3543
+ return e <= 0 ? Number.NaN : o ? y.normal.cdf(t, n, e) : y.normal.pdf(t, n, e);
3544
+ }, NORM_INV: function(t, n, e) {
3545
+ return t <= 0 || t >= 1 || e <= 0 ? Number.NaN : y.normal.inv(t, n, e);
3546
+ }, NORM_S_DIST: At, NORM_S_INV: function(t) {
3547
+ return t <= 0 || t >= 1 ? Number.NaN : y.normal.inv(t, 0, 1);
3548
+ }, PEARSON: function(t, n) {
3549
+ const e = t.size, [o, i] = Gt(t, n), c = y.mean(o), l = y.mean(i);
3550
+ let r = 0, u = 0, a = 0;
3551
+ for (let f = 0; f < e; f++) r += (o[f] - c) * (i[f] - l), u += Math.pow(o[f] - c, 2), a += Math.pow(i[f] - l, 2);
3552
+ return r / Math.sqrt(u * a);
3553
+ }, PERCENTILE_EXC: function(t, n) {
3554
+ }, PERCENTILE_INC: function(t, n) {
3555
+ }, PERCENTRANK_EXC: function(t, n, e = 3) {
3556
+ }, PERCENTRANK_INC: function(t, n, e = 3) {
3557
+ }, PHI: function(t) {
3558
+ return Math.exp(-0.5 * t * t) / 2.5066282746310002;
3559
+ }, POISSON_DIST: function(t, n, e) {
3560
+ return t < 0 || n < 0 ? Number.NaN : (t = Math.trunc(t), e ? y.poisson.cdf(t, n) : y.poisson.pdf(t, n));
3561
+ }, PROB: function(t, n, e, o) {
3562
+ }, QUARTILE_EXC: function(t, n) {
3563
+ }, QUARTILE_INC: function(t, n) {
3564
+ }, RANK_AVG: function(t, n, e = 0) {
3565
+ }, RANK_EQ: function(t, n, e = 0) {
3566
+ }, RSQ: function(t, n) {
3567
+ }, SKEW: function(...t) {
3568
+ }, SKEW_P: function(...t) {
3569
+ }, SLOPE: function(t, n) {
3570
+ return St(t, n)[0];
3571
+ }, STANDARDIZE: function(t, n, e) {
3572
+ return e <= 0 ? Number.NaN : (t - n) / e;
3573
+ }, STDEVA: function(...t) {
3574
+ }, STDEVPA: function(...t) {
3575
+ }, STDEV_P: function(...t) {
3576
+ }, STDEV_S: vt, STEYX: function(t, n) {
3577
+ }, TREND: function(t, n = null, e = null, o = !0) {
3578
+ }, TRIMMEAN: function(t, n) {
3579
+ }, T_DIST: function(t, n, e) {
3580
+ return n < 1 ? Number.NaN : e ? y.studentt.cdf(t, n) : y.studentt.pdf(t, n);
3581
+ }, T_DIST_2T: function(t, n) {
3582
+ return n < 1 || t < 0 ? Number.NaN : 2 * (1 - y.studentt.cdf(t, n));
3583
+ }, T_DIST_RT: function(t, n) {
3584
+ return n < 1 ? Number.NaN : 1 - y.studentt.cdf(t, n);
3585
+ }, T_INV: function(t, n) {
3586
+ return t <= 0 || t > 1 || n < 1 ? Number.NaN : (n = n % 1 == 0 ? n : Math.trunc(n), y.studentt.inv(t, n));
3587
+ }, T_INV_2T: function(t, n) {
3588
+ return t <= 0 || t > 1 || n < 1 ? Number.NaN : (n = n % 1 == 0 ? n : Math.trunc(n), Math.abs(y.studentt.inv(t / 2, n)));
3589
+ }, T_TEST: function(t, n, e, o) {
3590
+ }, VARA: function(...t) {
3591
+ let n = 0, e = 0;
3592
+ const o = qn(...t);
3593
+ for (const i of t) for (const c of i.values()) n += Math.pow(typeof c == "number" ? c - o : c === !0 ? 1 - o : 0 - o, 2), e++;
3594
+ return n / (e - 1);
3595
+ }, VARPA: function(...t) {
3596
+ const n = qn(...t);
3597
+ let e = 0, o = 0;
3598
+ for (const i of t) for (const c of i.values()) o++, e += Math.pow(typeof c == "number" ? c - n : c === !0 ? 1 - n : 0 - n, 2);
3599
+ return e / o;
3600
+ }, VAR_P: function(...t) {
3601
+ let n = 0, e = 0;
3602
+ const o = Sn(...t);
3603
+ for (const c of t) for (const l of c.values()) n += Math.pow(l - o, 2), e++;
3604
+ const i = n / e;
3605
+ return isNaN(i) ? E.BuiltIn.Num : i;
3606
+ }, VAR_S: Xt, WEIBULL_DIST: function(t, n, e, o) {
3607
+ return t < 0 || n <= 0 || e <= 0 ? Number.NaN : o ? 1 - Math.exp(-Math.pow(t / e, n)) : Math.pow(t, n - 1) * Math.exp(-Math.pow(t / e, n)) * n / Math.pow(e, n);
3608
+ }, Z_TEST: function(t, n, e = 0) {
3609
+ e = e || vt(t);
3610
+ const o = t.size;
3611
+ return 1 - At((Sn(t) - n) / (e / Math.sqrt(o)), !0);
3612
+ } }, Symbol.toStringTag, { value: "Module" }));
3613
+ globalThis.debugEventTarget ??= new EventTarget();
3614
+ const Se = globalThis.debugEventTarget, Un = /* @__PURE__ */ new Map();
3615
+ function Ae(t) {
3616
+ const { inbox: n, waiters: e } = function(o) {
3617
+ if (Un.has(o)) return Un.get(o);
3618
+ const i = { inbox: [], waiters: [] };
3619
+ return Se.addEventListener(o, (c) => {
3620
+ i.waiters.length ? i.waiters.shift()(c.detail) : i.inbox.push(c.detail);
3621
+ }), Un.set(o, i), i;
3622
+ }(t);
3623
+ return n.length ? Promise.resolve(n.shift()) : new Promise((o) => e.push(o));
3624
+ }
3625
+ const ve = Object.freeze(Object.defineProperty({ __proto__: null, DELAY: async function(t, n, e = "No label") {
3626
+ return new Promise((o) => {
3627
+ setTimeout(() => {
3628
+ o(n);
3629
+ }, t);
3630
+ });
3631
+ }, WAIT: async function(t, n) {
3632
+ const e = await Ae(t);
3633
+ let o = n?.getValueAt(0, 0) ?? "", i = `event["${t}"`;
3634
+ return e !== void 0 && (i += `, payload: ${e}`), o !== "" && (i += `, input: ${o}`), i += "]", console.log(i), "" + e + o;
3635
+ } }, Symbol.toStringTag, { value: "Module" }));
3636
+ var Rt, Ln = { exports: {} }, Re = (Rt || (Rt = 1, function(t, n) {
3637
+ const e = "ศูนย์บาทถ้วน", o = ["", "หนึ่ง", "สอง", "สาม", "สี่", "ห้า", "หก", "เจ็ด", "แปด", "เก้า"], i = ["", "สิบ", "ร้อย", "พัน", "หมื่น", "แสน", "ล้าน"];
3638
+ function c(a) {
3639
+ let f = "";
3640
+ const s = a.length;
3641
+ if (s > 7) {
3642
+ const m = s - 7 + 1, p = a.slice(0, m), g = a.slice(m);
3643
+ return c(p) + "ล้าน" + c(g);
3644
+ }
3645
+ for (let m = 0; m < s; m++) {
3646
+ const p = a[m];
3647
+ p > 0 && (f += o[p] + i[s - m - 1]);
3648
+ }
3649
+ return f;
3650
+ }
3651
+ function l(a) {
3652
+ return a.replace(/หนึ่งสิบ/g, "สิบ").replace(/สองสิบ/g, "ยี่สิบ").replace(/สิบหนึ่ง/g, "สิบเอ็ด");
3653
+ }
3654
+ function r(a, f) {
3655
+ return a || f ? a && !f ? a + "บาทถ้วน" : !a && f ? f + "สตางค์" : a + "บาท" + f + "สตางค์" : e;
3656
+ }
3657
+ function u(a) {
3658
+ if (!a || typeof a == "boolean" || isNaN(Number(a)) || a < Number.MIN_SAFE_INTEGER || a > Number.MAX_SAFE_INTEGER) return e;
3659
+ const f = Math.abs(a), s = Math.floor(f).toString(), m = (f % 1 * 100).toFixed(0), p = Array.from(s).map(Number), g = Array.from(m).map(Number);
3660
+ let N = c(p), h = c(g);
3661
+ N = l(N), h = l(h);
3662
+ const d = r(N, h);
3663
+ return a >= 0 ? d : "ลบ" + d;
3664
+ }
3665
+ t.exports != null && (t.exports = { bahttext: u, bahtxtNum2Word: c, bahtxtGrammarFix: l, bahtxtCombine: r }, n.default = { bahttext: u });
3666
+ }(Ln, Ln.exports)), Ln.exports);
3667
+ const ye = Object.freeze(Object.defineProperty({ __proto__: null, BAHTTEXT: function(t) {
3668
+ try {
3669
+ return Re.bahttext(t);
3670
+ } catch (n) {
3671
+ throw Error(`Error in https://github.com/jojoee/bahttext
3672
+ ${n.toString()}`);
3673
+ }
3674
+ } }, Symbol.toStringTag, { value: "Module" })), yt = { latin: { halfRE: /[!-~]/g, fullRE: /[!-~]/g, delta: 65248 }, hangul1: { halfRE: /[ᄀ-ᄒ]/g, fullRE: /[ᆨ-ᇂ]/g, delta: -60921 }, hangul2: { halfRE: /[ᅡ-ᅵ]/g, fullRE: /[ᅡ-ᅵ]/g, delta: -61025 }, kana: { delta: 0, half: "。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙゚", full: "。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゛゜" }, extras: { delta: 0, half: "¢£¬¯¦¥₩ |←↑→↓■°", full: "¢£¬ ̄¦¥₩ │←↑→↓■○" } }, Yt = (t, n) => t[n + "RE"] || new RegExp("[" + t[n] + "]", "g"), qt = Object.keys(yt).map((t) => yt[t]), we = (t) => qt.reduce((n, e) => n.replace(Yt(e, "half"), /* @__PURE__ */ ((o) => (i) => o.delta ? String.fromCharCode(i.charCodeAt(0) + o.delta) : [...o.full][[...o.half].indexOf(i)])(e)), t), Ce = (t) => qt.reduce((n, e) => n.replace(Yt(e, "full"), /* @__PURE__ */ ((o) => (i) => o.delta ? String.fromCharCode(i.charCodeAt(0) - o.delta) : [...o.half][[...o.full].indexOf(i)])(e)), t);
3675
+ function wt(t) {
3676
+ if (t.length === 0) throw E.BuiltIn.Value;
3677
+ return t.charCodeAt(0);
3678
+ }
3679
+ function Ct(t, n, e = 1) {
3680
+ if (e < 1 || e > n.length) throw E.BuiltIn.Value;
3681
+ const o = n.indexOf(t, e - 1);
3682
+ if (o === -1) throw E.BuiltIn.Value;
3683
+ return o + 1;
3684
+ }
3685
+ function Ot(t, n = 1) {
3686
+ if (n < 0) throw E.BuiltIn.Value;
3687
+ return n > t.length ? t : t.slice(0, n);
3688
+ }
3689
+ function Dt(t, n, e) {
3690
+ if (n > t.length) return "";
3691
+ if (n < 1 || e < 1) throw E.BuiltIn.Value;
3692
+ return t.slice(n - 1, n + e - 1);
3693
+ }
3694
+ function _t(t, n, e, o) {
3695
+ let i = t.split("");
3696
+ return i.splice(n - 1, e, o), i.join("");
3697
+ }
3698
+ function xt(t, n = 1) {
3699
+ if (n < 0) throw E.BuiltIn.Value;
3700
+ const e = t.length;
3701
+ return n > e ? t : t.slice(e - n);
3702
+ }
3703
+ function Bt(t, n, e = 1) {
3704
+ if (e < 1 || e > n.length) throw E.BuiltIn.Value;
3705
+ let o = Xn(t) ? Yn(t, "i") : t;
3706
+ const i = n.slice(e - 1).search(o);
3707
+ if (i === -1) throw E.BuiltIn.Value;
3708
+ return i + e;
3709
+ }
3710
+ function Pn(t, n = 0) {
3711
+ if ((n = Math.floor(n)) !== 0 && n !== 1) throw E.BuiltIn.Value;
3712
+ return t !== null ? typeof t == "string" ? n === 1 ? '"' + t + '"' : t : typeof t == "boolean" ? t ? "TRUE" : "FALSE" : t.toString() : "";
3713
+ }
3714
+ const Oe = Object.freeze(Object.defineProperty({ __proto__: null, ARRAYTOTEXT: function(t, n = 0) {
3715
+ if ((n = Math.floor(n)) !== 0 && n !== 1) throw E.BuiltIn.Value;
3716
+ const e = n === 1;
3717
+ let o = null;
3718
+ if (!e) {
3719
+ for (const c of t.values({ orientation: $.Orientation.Row })) o = o === null ? "" : o + ", ", o += Pn(c, n);
3720
+ return o;
3721
+ }
3722
+ const i = t.getValues();
3723
+ o = "{";
3724
+ for (let c = 0; c < i.length; c++) {
3725
+ const l = i[c];
3726
+ for (let r = 0; r < l.length; r++) o += Pn(l[r], n), r < l.length - 1 && (o += ",");
3727
+ c < i.length - 1 && (o += ";");
3728
+ }
3729
+ return e && (o += "}"), o;
3730
+ }, ASC: function(t) {
3731
+ return Ce(t);
3732
+ }, CHAR: function(t) {
3733
+ if (t > 255 || t < 1) throw E.BuiltIn.Value;
3734
+ return String.fromCharCode(t);
3735
+ }, CLEAN: function(t) {
3736
+ return t.replace(/[\x00-\x1F]/g, "");
3737
+ }, CODE: wt, CONCAT: function(...t) {
3738
+ let n = "", e = 0;
3739
+ for (const o of t) for (const i of o.values({ type: k.String, coerce: !0, orientation: $.Orientation.Row })) {
3740
+ if (e++ > 254) throw E.Value;
3741
+ n += i;
3742
+ }
3743
+ return n;
3744
+ }, CONCATENATE: function(...t) {
3745
+ let n = "", e = 0;
3746
+ for (const o of t) {
3747
+ const i = o.getValueAt(0, 0, { type: k.String, coerce: !0 });
3748
+ if (e++ > 254) throw E.Value;
3749
+ n += i;
3750
+ }
3751
+ return n;
3752
+ }, DBCS: function(t) {
3753
+ return we(t);
3754
+ }, DETECTLANGUAGE: function(t) {
3755
+ }, DOLLAR: function(t, n = 2) {
3756
+ const e = Array(n).fill("0").join(""), o = w.getRuntime(), i = o.getCurrencySymbol(), c = o.getNumberGroupSeparator(), l = o.getNumberDecimalSeparator(), r = `${i}#${c}##0${l}${e}_);(${i}#${c}##0${l}${e})`;
3757
+ return w.getNumberFormat(r, t).trim();
3758
+ }, EXACT: function(t, n) {
3759
+ return t === n;
3760
+ }, FIND: Ct, FINDB: function(t, n, e = 1) {
3761
+ return Ct(t, n, e);
3762
+ }, FIXED: function(t, n = 2, e = !1) {
3763
+ const o = Array(n).fill("0").join(""), i = w.getRuntime(), c = i.getNumberGroupSeparator(), l = i.getNumberDecimalSeparator(), r = e ? "" : `#${c}`, u = `${r}##0${l}${o}_);(${r}##0${l}${o})`;
3764
+ return w.getNumberFormat(u, t).trim();
3765
+ }, LEFT: Ot, LEFTB: function(t, n = 1) {
3766
+ return Ot(t, n);
3767
+ }, LEN: function(t) {
3768
+ return t.length;
3769
+ }, LENB: function(t) {
3770
+ return t.length;
3771
+ }, LOWER: function(t) {
3772
+ return t.toLowerCase();
3773
+ }, MID: Dt, MIDB: function(t, n, e) {
3774
+ return Dt(t, n, e);
3775
+ }, NUMBERVALUE: function(t, n = ".", e = ",") {
3776
+ if (t.length === 0) return 0;
3777
+ if (n.length === 0 || e.length === 0) throw E.BuiltIn.Value;
3778
+ if ((n = n[0]) === (e = e[0]) || t.indexOf(n) < t.lastIndexOf(e)) throw E.BuiltIn.Value;
3779
+ const o = t.replace(e, "").replace(n, ".").replace(/[^\-0-9.%()]/g, "").match(/([(-]*)([0-9]*[.]*[0-9]+)([)]?)([%]*)/);
3780
+ if (!o) throw E.BuiltIn.Value;
3781
+ const i = o[1].length, c = o[3].length, l = o[4].length;
3782
+ let r = Number(o[2]);
3783
+ if (i > 1 || i && !c || !i && c || isNaN(r)) throw E.BuiltIn.Value;
3784
+ return r /= 100 ** l, i ? -r : r;
3785
+ }, PERCENTOF: function(t, n) {
3786
+ }, PHONETIC: function(t) {
3787
+ }, PROPER: function(t) {
3788
+ return (t = (t = t.toLowerCase()).charAt(0).toUpperCase() + t.slice(1)).replace(/(?:[^a-zA-Z])([a-zA-Z])/g, (n) => n.toUpperCase());
3789
+ }, REGEXEXTRACT: function(t, n, e = 0, o = !1) {
3790
+ }, REGEXREPLACE: function(t, n, e, o = 0, i = !1) {
3791
+ }, REGEXTEST: function(t, n, e = !1) {
3792
+ }, REPLACE: _t, REPLACEB: function(t, n, e, o) {
3793
+ return _t(t, n, e, o);
3794
+ }, REPT: function(t, n) {
3795
+ let e = "";
3796
+ for (let o = 0; o < n; o++) e += t;
3797
+ return e;
3798
+ }, RIGHT: xt, RIGHTB: function(t, n = 1) {
3799
+ return xt(t, n);
3800
+ }, SEARCH: Bt, SEARCHB: function(t, n, e = 1) {
3801
+ return Bt(t, n, e);
3802
+ }, SUBSTITUTE: function(t, n, e, o) {
3803
+ if (!t || !n) return t;
3804
+ if (o === void 0) o = -1;
3805
+ else if ((o = Math.floor(o)) <= 0) throw new E.Value();
3806
+ let i = t, c = 0, l = 0;
3807
+ for (; (c = i.indexOf(n, c)) !== -1; ) ++l, l !== o && o !== -1 || (i = i.substring(0, c) + e + i.substring(c + n.length)), c += n.length;
3808
+ return i;
3809
+ }, T: function(t) {
3810
+ return typeof t == "string" ? t : "";
3811
+ }, TEXT: function(t, n) {
3812
+ try {
3813
+ return w.getNumberFormat(n, t);
3814
+ } catch {
3815
+ throw E.BuiltIn.Value;
3816
+ }
3817
+ }, TEXTAFTER: function(t, n, e = 1, o = 0, i = 0, c = void 0) {
3818
+ if (!t || !n) return E.BuiltIn.Value;
3819
+ if ((e = Math.floor(e)) <= 0) throw E.BuiltIn.Value;
3820
+ let l = t, r = n;
3821
+ o === 1 && (l = t.toLowerCase(), r = n.toLowerCase());
3822
+ let u = -1, a = 0;
3823
+ for (; a < e; ) {
3824
+ if (u = l.indexOf(r, u + 1), u === -1) return c ?? E.BuiltIn.NA;
3825
+ a++;
3826
+ }
3827
+ const f = t.substring(u + n.length);
3828
+ return i === 1 && f.length === 0 ? "" : f;
3829
+ }, TEXTBEFORE: function(t, n, e = 1, o = 0, i = 0, c = void 0) {
3830
+ if (!t || !n) return E.BuiltIn.Value;
3831
+ if ((e = Math.floor(e)) <= 0) throw E.BuiltIn.Value;
3832
+ let l = t, r = n;
3833
+ o === 1 && (l = t.toLowerCase(), r = n.toLowerCase());
3834
+ let u = -1, a = 0;
3835
+ for (; a < e; ) {
3836
+ if (u = l.indexOf(r, u + 1), u === -1) return c ?? E.BuiltIn.NA;
3837
+ a++;
3838
+ }
3839
+ const f = t.substring(0, u);
3840
+ return i === 1 && f.length === 0 ? "" : f;
3841
+ }, TEXTJOIN: function(t, n, ...e) {
3842
+ let o = "";
3843
+ for (const i of e) for (const c of i.values({ type: k.String, coerce: !0, orientation: $.Orientation.Row, includeEmpty: !n })) c.length === 0 && n || (o.length > 0 && (o += t), o += c);
3844
+ return o;
3845
+ }, TEXTSPLIT: function(t, n, e = null, o = !1, i = 0, c = void 0) {
3846
+ if (!t) return [[""]];
3847
+ if (i !== 0 && i !== 1) throw E.BuiltIn.Value;
3848
+ const l = (s, m, p) => {
3849
+ if (m.length === 0) return [s];
3850
+ const g = new RegExp(m.map((N) => N.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")).join("|"), p ? "gi" : "g");
3851
+ return s.split(g);
3852
+ };
3853
+ let r = [t];
3854
+ if (e && (r = l(t, e, i === 1)), o) {
3855
+ const s = [];
3856
+ for (let m = 0; m < r.length; m++) {
3857
+ const p = r[m];
3858
+ p.length > 0 && s.push(p);
3859
+ }
3860
+ r = s;
3861
+ }
3862
+ const u = [];
3863
+ let a = 0, f = Number.MAX_SAFE_INTEGER;
3864
+ for (let s = 0; s < r.length; s++) {
3865
+ let m = l(r[s], n, i === 1);
3866
+ if (o) {
3867
+ const p = [];
3868
+ for (let g = 0; g < m.length; g++) {
3869
+ const N = m[g];
3870
+ N.length > 0 && p.push(N);
3871
+ }
3872
+ m = p;
3873
+ }
3874
+ (m.length > 0 || !o) && (u.push(m), a = Math.max(a, m.length), f = Math.min(f, m.length));
3875
+ }
3876
+ if (u.length > 0 && f !== a) {
3877
+ const s = c || E.BuiltIn.NA;
3878
+ for (let m = 0; m < u.length; m++) {
3879
+ const p = u[m];
3880
+ for (; p.length < a; ) p.push(s);
3881
+ }
3882
+ }
3883
+ return u.length > 0 ? u : [[""]];
3884
+ }, TRANSLATE: function(t, n, e) {
3885
+ }, TRIM: function(t) {
3886
+ return t.replace(/^\s+|\s+$/g, "");
3887
+ }, UNICHAR: function(t) {
3888
+ if (t <= 0) throw E.BuiltIn.Value;
3889
+ return String.fromCharCode(t);
3890
+ }, UNICODE: function(t) {
3891
+ return wt(t);
3892
+ }, UPPER: function(t) {
3893
+ return t.toUpperCase();
3894
+ }, VALUE: function(t) {
3895
+ const n = Number(t);
3896
+ if (isNaN(n)) throw E.BuiltIn.Value;
3897
+ return n;
3898
+ }, VALUETOTEXT: Pn }, Symbol.toStringTag, { value: "Module" }));
3899
+ let Vn = null, Fn = null, Ut = !1;
3900
+ const De = Object.freeze(Object.defineProperty({ __proto__: null, FILTERXML: async function(t, n) {
3901
+ if (Ut) throw E.BuiltIn.Blocked;
3902
+ if (!DOMParser || !Fn) try {
3903
+ console.log("Falling back to ESM CDN for XML libraries");
3904
+ const e = "https://esm.sh/fontoxpath@3.33.2", o = "https://esm.sh/@xmldom/xmldom@0.9.7", [i, c] = await Promise.all([import(e), import(o)]);
3905
+ Fn = i, DOMParser = c.DOMParser, Vn = new DOMParser();
3906
+ } catch (e) {
3907
+ throw console.error("Error loading XML libraries from CDN:", e), new Error("Failed to load XML libraries");
3908
+ }
3909
+ if (!Vn) throw Ut = !0, console.warn("Unable to load XML libraries"), E.BuiltIn.Blocked;
3910
+ try {
3911
+ const e = Vn.parseFromString(t, "text/xml");
3912
+ return Fn.evaluateXPathToString(n, e, null, {});
3913
+ } catch {
3914
+ throw E.BuiltIn.Value;
3915
+ }
3916
+ } }, Symbol.toStringTag, { value: "Module" })), _e = Object.freeze(Object.defineProperty({ __proto__: null, ENCODEURL: function(t) {
3917
+ return encodeURIComponent(t);
3918
+ }, WEBSERVICE: async function(t) {
3919
+ try {
3920
+ const n = await fetch(t, { method: "GET", headers: { Accept: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "SheetXL-Formula-Function-WEBSERVICE" } });
3921
+ if (!n.ok) throw new Error(`HTTP error: ${n.status}`);
3922
+ return await n.text();
3923
+ } catch {
3924
+ throw E.BuiltIn.Value;
3925
+ }
3926
+ } }, Symbol.toStringTag, { value: "Module" })), xe = { CUBEKPIMEMBER: { p: [{ n: "connection", s: "s" }, { n: "kpiName", s: "s" }, { n: "kpiProperty" }, { n: "caption", s: "s", m: "?" }] }, CUBEMEMBER: { p: [{ n: "connection", s: "s" }, { n: "memberExpression", s: "s" }, { n: "caption", s: "s", m: "?" }] }, CUBEMEMBERPROPERTY: { p: [{ n: "connection", s: "s" }, { n: "memberExpression", s: "s" }, { n: "kpiProperty" }] }, CUBERANKEDMEMBER: { p: [{ n: "connection", s: "s" }, { n: "setExpression", s: "s" }, { n: "rank" }, { n: "caption", s: "s", m: "?" }] }, CUBESET: { p: [{ n: "connection", s: "s" }, { n: "setExpression", s: "s" }, { n: "caption", s: "s", m: "?" }, { n: "sortOrder", m: "?" }, { n: "sortBy", s: "s", m: "?" }] }, CUBESETCOUNT: { p: [{ n: "set", s: "s" }] }, CUBEVALUE: { p: [{ n: "connection", s: "s" }, { n: "memberExpression", s: "s", d: 1, m: "..." }] } }, Be = { DAVERAGE: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DCOUNT: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DCOUNTA: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DGET: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DMAX: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DMIN: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DPRODUCT: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DSTDEV: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DSTDEVP: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DSUM: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DVAR: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DVARP: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] } }, Ue = { DATE: { p: [{ n: "year" }, { n: "month" }, { n: "day" }] }, DATEDIF: { p: [{ n: "startDate" }, { n: "endDate" }, { n: "unit", s: "s" }] }, DATESTRING: { p: [{ n: "number" }] }, DATEVALUE: { p: [{ n: "dateText", s: "s" }] }, DAY: { p: [{ n: "serialOrString", s: "*" }] }, DAYS: { p: [{ n: "endDate" }, { n: "startDate" }] }, DAYS360: { p: [{ n: "startDate" }, { n: "endDate" }, { n: "method", s: "b", m: "?" }] }, EDATE: { p: [{ n: "startDate", s: "Date" }, { n: "months" }] }, EOMONTH: { p: [{ n: "startDate", s: "Date" }, { n: "months" }] }, HOUR: { p: [{ n: "serialOrString", s: "*" }] }, ISOWEEKNUM: { p: [{ n: "serialOrString", s: "*" }] }, MINUTE: { p: [{ n: "serialOrString", s: "s" }] }, MONTH: { p: [{ n: "serialOrString", s: "s" }] }, NETWORKDAYS: { p: [{ n: "startDate", s: "Date" }, { n: "endDate", s: "Date" }, { n: "holidays", d: 1, m: "?" }] }, "NETWORKDAYS.INTL": { fn: "NETWORKDAYS_INTL", p: [{ n: "startDate", s: "Date" }, { n: "endDate", s: "Date" }, { n: "weekend", s: "z", m: "?" }, { n: "holidays", d: 1, m: "?" }] }, NOW: {}, SECOND: { p: [{ n: "serialOrString", s: "*" }] }, TIME: { p: [{ n: "hour" }, { n: "minute" }, { n: "second" }] }, TIMEVALUE: { p: [{ n: "timeText", s: "s" }] }, TODAY: {}, WEEKDAY: { p: [{ n: "serialOrString", s: "*" }, { n: "returnType", m: "?" }] }, WEEKNUM: { p: [{ n: "serialOrString", s: "z" }, { n: "returnType", m: "?" }] }, WORKDAY: { p: [{ n: "startDate", s: "Date" }, { n: "days" }, { n: "holidays", d: 1, m: "?" }] }, "WORKDAY.INTL": { fn: "WORKDAY_INTL", p: [{ n: "startDate", s: "Date" }, { n: "days" }, { n: "weekend", s: "z", m: "?" }, { n: "holidays", d: 1, m: "?" }] }, YEAR: { p: [{ n: "serialOrString", s: "*" }] }, YEARFRAC: { p: [{ n: "startDate" }, { n: "endDate" }, { n: "basis", m: "?" }] } }, Le = { BESSELI: { p: [{ n: "x" }, { n: "n" }] }, BESSELJ: { p: [{ n: "x" }, { n: "n" }] }, BESSELK: { p: [{ n: "x" }, { n: "n" }] }, BESSELY: { p: [{ n: "x" }, { n: "n" }] } }, Pe = { BIN2DEC: { p: [{ n: "number" }] }, BIN2HEX: { p: [{ n: "number" }, { n: "places", m: "?" }] }, BIN2OCT: { p: [{ n: "number" }, { n: "places", m: "?" }] }, BITAND: { p: [{ n: "number1", s: "*" }, { n: "number2", s: "*" }] }, BITLSHIFT: { p: [{ n: "number", s: "*" }, { n: "shiftAmount" }] }, BITOR: { p: [{ n: "number1", s: "*" }, { n: "number2", s: "*" }] }, BITRSHIFT: { p: [{ n: "number", s: "*" }, { n: "shiftAmount" }] }, BITXOR: { p: [{ n: "number1", s: "*" }, { n: "number2", s: "*" }] }, DEC2BIN: { p: [{ n: "number" }, { n: "places", m: "?" }] }, DEC2HEX: { p: [{ n: "number" }, { n: "places", m: "?" }] }, DEC2OCT: { p: [{ n: "number" }, { n: "places", m: "?" }] }, HEX2BIN: { p: [{ n: "number", s: "s" }, { n: "places", m: "?" }] }, HEX2DEC: { p: [{ n: "number", s: "s" }] }, HEX2OCT: { p: [{ n: "number", s: "s" }, { n: "places", m: "?" }] }, OCT2BIN: { p: [{ n: "number", s: "s" }, { n: "places", m: "?" }] }, OCT2DEC: { p: [{ n: "number", s: "s" }] }, OCT2HEX: { p: [{ n: "number", s: "s" }, { n: "places", m: "?" }] } }, Ve = { CONVERT: { p: [{ n: "number" }, { n: "fromUnit", s: "s" }, { n: "toUnit", s: "s" }] } }, Fe = { DELTA: { p: [{ n: "number1" }, { n: "number2", m: "?" }] }, GESTEP: { p: [{ n: "number" }, { n: "step", m: "?" }] } }, He = { ERF: { p: [{ n: "lowerLimit" }, { n: "upperLimit", m: "?" }] }, "ERF.PRECISE": { fn: "ERF_PRECISE", p: [{ n: "x" }] }, ERFC: { p: [{ n: "x" }] } }, Ge = { COMPLEX: { p: [{ n: "realNum" }, { n: "iNum" }, { n: "suffix", s: "s", m: "?" }] }, IMABS: { p: [{ n: "inumber", s: "*" }] }, IMAGINARY: { p: [{ n: "inumber", s: "*" }] }, IMARGUMENT: { p: [{ n: "inumber", s: "*" }] }, IMCONJUGATE: { p: [{ n: "inumber", s: "*" }] }, IMCOS: { p: [{ n: "inumber", s: "*" }] }, IMCOSH: { p: [{ n: "inumber", s: "*" }] }, IMCOT: { p: [{ n: "inumber", s: "*" }] }, IMCSC: { p: [{ n: "inumber", s: "*" }] }, IMCSCH: { p: [{ n: "inumber", s: "*" }] }, IMDIV: { p: [{ n: "inumber1", s: "*" }, { n: "inumber2", s: "*" }] }, IMEXP: { p: [{ n: "inumber", s: "*" }] }, IMLN: { p: [{ n: "inumber", s: "*" }] }, IMLOG10: { p: [{ n: "inumber", s: "*" }] }, IMLOG2: { p: [{ n: "inumber", s: "*" }] }, IMPOWER: { p: [{ n: "inumber", s: "*" }, { n: "number" }] }, IMPRODUCT: { p: [{ n: "inumber", s: "*", d: 1, m: "..." }] }, IMREAL: { p: [{ n: "inumber", s: "*" }] }, IMSEC: { p: [{ n: "inumber", s: "*" }] }, IMSECH: { p: [{ n: "inumber", s: "*" }] }, IMSIN: { p: [{ n: "inumber", s: "*" }] }, IMSINH: { p: [{ n: "inumber", s: "*" }] }, IMSQRT: { p: [{ n: "inumber", s: "*" }] }, IMSUB: { p: [{ n: "inumber1", s: "*" }, { n: "inumber2", s: "*" }] }, IMSUM: { p: [{ n: "inumber", s: "*", d: 1, m: "..." }] }, IMTAN: { p: [{ n: "inumber", s: "*" }] } }, Xe = { ACCRINT: { p: [{ n: "issue" }, { n: "firstInterest" }, { n: "settlement" }, { n: "rate" }, { n: "par" }, { n: "frequency" }, { n: "basis", m: "?" }, { n: "calcMethod", s: "b", m: "?" }] }, ACCRINTM: { p: [{ n: "issue" }, { n: "settlement" }, { n: "rate" }, { n: "par" }, { n: "basis", m: "?" }] }, AMORLINC: { p: [{ n: "cost" }, { n: "datePurchased" }, { n: "firstPeriod" }, { n: "salvarge" }, { n: "period" }, { n: "rate" }, { n: "basis", m: "?" }] }, COUPDAYBS: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "frequency" }, { n: "basis", m: "?" }] }, COUPDAYS: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "frequency" }, { n: "basis", m: "?" }] }, COUPNCD: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "frequency" }, { n: "basis", m: "?" }] }, COUPNUM: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "frequency" }, { n: "basis", m: "?" }] }, COUPPCD: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "frequency" }, { n: "basis", m: "?" }] }, CUMIPMT: { p: [{ n: "rate" }, { n: "nper" }, { n: "pv" }, { n: "startPeriod" }, { n: "endPeriod" }, { n: "type" }] }, CUMPRINC: { p: [{ n: "rate" }, { n: "nper" }, { n: "pv" }, { n: "startPeriod" }, { n: "endPeriod" }, { n: "type" }] }, DB: { p: [{ n: "cost" }, { n: "salvage" }, { n: "life" }, { n: "period" }, { n: "month", m: "?" }] }, DDB: { p: [{ n: "cost" }, { n: "salvage" }, { n: "life" }, { n: "period" }, { n: "factor", m: "?" }] }, DISC: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "pr" }, { n: "redemption" }, { n: "basis", m: "?" }] }, DOLLARDE: { p: [{ n: "fractionalDollar" }, { n: "fraction" }] }, DOLLARFR: { p: [{ n: "decimalDollar" }, { n: "fraction" }] }, DURATION: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "coupon" }, { n: "yld" }, { n: "frequency" }, { n: "basis", m: "?" }] }, EFFECT: { p: [{ n: "nominalRate" }, { n: "npery" }] }, FV: { p: [{ n: "rate" }, { n: "nper" }, { n: "pmt" }, { n: "pv", m: "?" }, { n: "type", m: "?", e: ["0", "1"] }] }, FVSCHEDULE: { p: [{ n: "principal" }, { n: "schedule", s: "n", r: "l" }] }, INTRATE: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "investment" }, { n: "redemption" }, { n: "basis", m: "?" }] }, IPMT: { p: [{ n: "rate" }, { n: "per" }, { n: "nper" }, { n: "pv" }, { n: "fv", m: "?" }, { n: "type", m: "?" }] }, IRR: { p: [{ n: "values", s: "n", r: "l" }, { n: "guess", m: "?" }] }, ISPMT: { p: [{ n: "rate" }, { n: "per" }, { n: "nper" }, { n: "pv" }] }, MDURATION: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "coupon" }, { n: "yld" }, { n: "frequency" }, { n: "basis", m: "?" }] }, MIRR: { p: [{ n: "values", d: 1 }, { n: "financeRate" }, { n: "reinvestRate" }] }, NOMINAL: { p: [{ n: "effectiveRate" }, { n: "npery" }] }, NPER: { p: [{ n: "rate" }, { n: "pmt" }, { n: "pv" }, { n: "fv", m: "?" }, { n: "type", m: "?" }] }, NPV: { p: [{ n: "rate" }, { n: "value", d: 1, m: "..." }] }, ODDFPRICE: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "issue" }, { n: "firstCoupon" }, { n: "yld" }, { n: "redemption" }, { n: "frequency" }, { n: "basis", m: "?" }] }, ODDFYIELD: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "issue" }, { n: "firstCoupon" }, { n: "yld" }, { n: "redemption" }, { n: "frequency" }, { n: "basis", m: "?" }] }, ODDLPRICE: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "lastInterest" }, { n: "rate" }, { n: "yld" }, { n: "redemption" }, { n: "frequency" }, { n: "basis", m: "?" }] }, ODDLYIELD: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "lastInterest" }, { n: "rate" }, { n: "pr" }, { n: "redemption" }, { n: "frequency" }, { n: "basis", m: "?" }] }, PDURATION: { p: [{ n: "rate" }, { n: "pv" }, { n: "fv" }] }, PMT: { p: [{ n: "rate" }, { n: "nper" }, { n: "pv" }, { n: "fv", m: "?" }, { n: "type", m: "?" }] }, PRICE: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "rate" }, { n: "yld" }, { n: "redemption" }, { n: "frequency" }, { n: "basis", m: "?" }] }, PRICEDISC: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "discount" }, { n: "redemption" }, { n: "basis", m: "?" }] }, PRICEMAT: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "issue" }, { n: "rate" }, { n: "yld" }, { n: "basis", m: "?" }] }, PV: { p: [{ n: "rate" }, { n: "nper" }, { n: "pmt" }, { n: "fv", m: "?" }, { n: "type", m: "?" }] }, RATE: { p: [{ n: "nper" }, { n: "pmt" }, { n: "pv" }, { n: "fv", m: "?" }, { n: "type", m: "?" }, { n: "guess", m: "?" }] }, RECEIVED: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "investment" }, { n: "discount" }, { n: "basis", m: "?" }] }, RRI: { p: [{ n: "nper" }, { n: "pv" }, { n: "fv" }] }, SLN: { p: [{ n: "cost" }, { n: "salvage" }, { n: "life" }] }, STOCKHISTORY: { p: [{ n: "stock", s: "s" }, { n: "startDate" }, { n: "endDate" }, { n: "interval", m: "?" }, { n: "headers", m: "?" }, { n: "properties", d: 1, m: "?" }] }, SYD: { p: [{ n: "cost" }, { n: "salvage" }, { n: "life" }, { n: "per" }] }, TBILLEQ: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "discount" }] }, TBILLPRICE: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "discount" }] }, TBILLYIELD: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "pr" }] }, VDB: { p: [{ n: "cost" }, { n: "salvage" }, { n: "life" }, { n: "startPeriod" }, { n: "endPeriod" }, { n: "factor", m: "?" }, { n: "noSwitch", s: "b", m: "?" }] }, XIRR: { p: [{ n: "values", s: "n", r: "l", d: 1 }, { n: "dates", s: "n", r: "l", d: 1 }, { n: "guess", m: "?" }] }, XNPV: { p: [{ n: "rate" }, { n: "values", d: 1 }, { n: "dates", d: 1 }] }, YIELD: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "rate" }, { n: "pr" }, { n: "redemption" }, { n: "frequency" }, { n: "basis", m: "?" }] }, YIELDDISC: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "pr" }, { n: "redemption" }, { n: "frequency" }, { n: "basis", m: "?" }] }, YIELDMAT: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "issue" }, { n: "rate" }, { n: "pr" }, { n: "basis", m: "?" }] } }, Ye = { CELL: { p: [{ n: "infoType", s: "s", e: ["address", "col", "contents", "row", "type"] }, { n: "reference", r: "r" }] }, "ERROR.TYPE": { fn: "ERROR_TYPE", p: [{ n: "errorVal", r: "l" }] }, INFO: { p: [{ n: "typeText", s: "s", e: ["DIRECTORY", "NUMFILE", "ORIGIN", "OSVERSION", "RECALC", "RELEASE", "SYSTEM", "USER"] }] }, ISBLANK: { p: [{ n: "value", r: "l" }] }, ISERR: { p: [{ n: "value", r: "l" }] }, ISERROR: { p: [{ n: "value", r: "l" }] }, ISEVEN: { p: [{ n: "number", s: "n", r: "l" }] }, ISFORMULA: { p: [{ n: "reference", r: "r" }] }, ISLOGICAL: { p: [{ n: "value", r: "l" }] }, ISNA: { p: [{ n: "value", r: "l" }] }, ISNONTEXT: { p: [{ n: "value", r: "l" }] }, ISNUMBER: { p: [{ n: "value", r: "l" }] }, ISODD: { p: [{ n: "number", s: "n", r: "l" }] }, ISOMITTED: { p: [{ n: "argument", s: "z" }] }, ISREF: { p: [{ n: "value", r: "l" }] }, ISTEXT: { p: [{ n: "value", r: "l" }] }, N: { p: [{ n: "value", r: "l" }] }, NA: {}, SHEET: { p: [{ n: "value", s: "s", m: "?" }] }, SHEETS: { p: [{ n: "reference", r: "r", m: "?" }] }, TYPE: { p: [{ n: "value", r: "l" }] } }, qe = { AND: { p: [{ n: "logical", r: "l", d: 1, m: "..." }] }, BYCOL: { p: [{ n: "array", r: "l" }, { n: "fn", s: "z" }] }, BYROW: { p: [{ n: "array", r: "l" }, { n: "fn", s: "z" }] }, FALSE: {}, IF: { p: [{ n: "logicalTest", r: "l" }, { n: "valueIfTrue", r: "l" }, { n: "valueIfFalse", r: "l", m: "?" }] }, IFERROR: { p: [{ n: "value", r: "l" }, { n: "valueIfError", r: "l" }] }, IFNA: { p: [{ n: "value", r: "l" }, { n: "valueIfError", r: "l" }] }, IFS: { p: [{ n: "logicalTest", r: "l" }, { n: "logicalTrue", r: "l" }, { n: "rest", r: "l", d: 1, m: "..." }] }, LAMDA: { p: [{ n: "parameterOrCalculation", r: "l", d: 1, m: "..." }] }, LET: { p: [{ n: "name", s: "s" }, { n: "nameOrValue", r: "l" }, { n: "calculationOrName", r: "l" }, { n: "rest", r: "l", d: 1, m: "..." }] }, MAKEARRAY: { p: [{ n: "rows" }, { n: "columns" }, { n: "fn", r: "l" }] }, MAP: { p: [{ n: "array", r: "l" }, { n: "lamdaOrArray", r: "l", d: 1, m: "..." }] }, NOT: { p: [{ n: "logical", r: "l" }] }, OR: { p: [{ n: "logical", r: "l", d: 1, m: "..." }] }, REDUCE: { p: [{ n: "initialValue", r: "l" }, { n: "array", r: "l" }, { n: "fn", r: "l" }] }, SCAN: { p: [{ n: "initialValue", r: "l" }, { n: "array", r: "l" }, { n: "fn", r: "l" }] }, SWITCH: { p: [{ n: "expression", r: "l" }, { n: "value", r: "l" }, { n: "results", r: "l", d: 1, m: "..." }] }, TRUE: {}, XOR: { p: [{ n: "logical", r: "l", d: 1, m: "..." }] } }, ke = { ADDRESS: { p: [{ n: "rowNum" }, { n: "columnNum" }, { n: "absNum", m: "?" }, { n: "a1", s: "b", m: "?" }, { n: "sheetText", s: "s", m: "?" }] }, AREAS: { p: [{ n: "references", r: "l", d: 1, m: "..." }] }, CHOOSE: { p: [{ n: "indexNum" }, { n: "value1", r: "l" }, { n: "value", r: "l", d: 1, m: "..." }] }, CHOOSECOLS: { p: [{ n: "array", r: "l" }, { n: "colNum1" }, { n: "colNum", d: 1, m: "..." }] }, CHOOSEROWS: { p: [{ n: "array", r: "l" }, { n: "rowNum1" }, { n: "rowNum", d: 1, m: "..." }] }, COLUMN: { p: [{ n: "reference", r: "r", m: "?" }] }, COLUMNS: { p: [{ n: "array", r: "l" }] }, DROP: { p: [{ n: "array", r: "l" }, { n: "row" }, { n: "columns", m: "?" }] }, EXPAND: { p: [{ n: "array", r: "l" }, { n: "row" }, { n: "columns", m: "?" }, { n: "padWidth", s: "*", m: "?" }] }, FIELDVALUE: { p: [{ n: "value", s: "*" }, { n: "fieldName", s: "s" }] }, FILTER: { p: [{ n: "array", r: "l" }, { n: "include", r: "l" }, { n: "ifEmpty", r: "l" }] }, FORMULATEXT: { p: [{ n: "reference", r: "r" }] }, GETPIVOTDATA: { p: [{ n: "dataField", s: "s" }, { n: "pivotTable", s: "s" }, { n: "field1", s: "s" }, { n: "item1", r: "l" }] }, GROUPBY: { p: [{ n: "rowFields", r: "r" }, { n: "values", r: "l" }, { n: "fn", s: "z", d: 1 }, { n: "fieldHeaders", m: "?" }, { n: "totalDepth", m: "?" }, { n: "sortOrder", s: "z", d: 1, m: "?" }, { n: "filterArray", s: "b", d: 1, m: "?" }, { n: "fieldRelationship", m: "?" }] }, HLOOKUP: { p: [{ n: "lookupValue", s: "*" }, { n: "tableArray", r: "l" }, { n: "rowIndexNum" }, { n: "rangeLookup", s: "b", m: "?" }] }, HSTACK: { p: [{ n: "array1", r: "l" }, { n: "array", r: "l", d: 1, m: "..." }] }, HYPERLINK: { p: [{ n: "linkLocation", s: "s" }, { n: "friendlyName", s: "s", m: "?" }] }, IMAGE: { p: [{ n: "source", s: "s" }, { n: "alternateText", s: "s" }, { n: "sizing" }, { n: "height" }, { n: "width" }] }, INDEX: { p: [{ n: "array", r: "l", d: 1 }, { n: "rowNum", m: "?" }, { n: "colNum", m: "?" }, { n: "areaNum", m: "?" }] }, INDIRECT: { p: [{ n: "refText", s: "s" }, { n: "a1", s: "b", m: "?" }] }, LOOKUP: { p: [{ n: "lookupValue", s: "*" }, { n: "lookupVector", r: "l" }, { n: "resultVector", r: "l" }] }, MATCH: { p: [{ n: "lookupValue", s: "*" }, { n: "lookupArray", d: 2 }, { n: "matchType" }] }, OFFSET: { p: [{ n: "reference", r: "r" }, { n: "rows" }, { n: "cols" }, { n: "height", m: "?" }, { n: "width", m: "?" }] }, PIVOTBY: { p: [{ n: "rowFields", r: "r" }, { n: "colFields", r: "r" }, { n: "values", r: "l", d: 1 }, { n: "fn", s: "z", d: 1 }, { n: "fieldHeaders", m: "?" }, { n: "rowTotalDepth", m: "?" }, { n: "rowSortOrder", s: "z", d: 1, m: "?" }, { n: "colTotalDepth", m: "?" }, { n: "colSortOrder", s: "z", d: 1, m: "?" }, { n: "filterArray", s: "b", d: 1, m: "?" }, { n: "relativeTo", m: "?" }] }, ROW: { p: [{ n: "reference", r: "r", m: "?" }] }, ROWS: { p: [{ n: "array", r: "l" }] }, RTD: { p: [{ n: "progId", s: "s" }, { n: "server", s: "s", m: "?" }, { n: "topic", s: "s", d: 1, m: "..." }] }, SORT: { p: [{ n: "array", r: "l" }, { n: "sortIndex", d: 1, m: "?" }, { n: "sortOrder", d: 1, m: "?" }, { n: "byCol", s: "b", m: "?" }] }, SORTBY: { p: [{ n: "array", r: "l" }, { n: "byArray1", r: "l" }, { n: "sortOrder", d: 1, m: "?" }] }, TAKE: { p: [{ n: "array", r: "l" }, { n: "rows" }, { n: "columns", m: "?" }] }, TOCOL: { p: [{ n: "array", r: "l" }, { n: "ignore", m: "?", e: ["0 - Keep all values", "1 - Ignore Blanks", "2 - Ignore Errors", "3 - Ignore Blanks and Errors"] }, { n: "scanByColumn", s: "b", m: "?" }] }, TOROW: { p: [{ n: "array", r: "l" }, { n: "ignore", m: "?", e: ["0 - Keep all values", "1 - Ignore Blanks", "2 - Ignore Errors", "3 - Ignore Blanks and Errors"] }, { n: "scanByColumn", s: "b", m: "?" }] }, TRANSPOSE: { p: [{ n: "array", r: "l" }] }, TRIMRANGE: { p: [{ n: "range", r: "l" }, { n: "rowTrimMode", m: "?" }, { n: "colTrimMode", m: "?" }] }, UNIQUE: { p: [{ n: "array", r: "l" }, { n: "byCol", s: "b", m: "?" }, { n: "exactlyOnce", s: "b", m: "?" }] }, VLOOKUP: { p: [{ n: "lookupValue", s: "*" }, { n: "tableArray", r: "l" }, { n: "colIndexNum" }, { n: "rangeLookup", s: "b", m: "?" }] }, VSTACK: { p: [{ n: "array1", r: "l" }, { n: "array", r: "l", d: 1, m: "..." }] }, WRAPCOLS: { p: [{ n: "vector", r: "l" }, { n: "wrapCount" }, { n: "padWith", s: "*", m: "?" }] }, WRAPROWS: { p: [{ n: "vector", r: "l" }, { n: "wrapCount" }, { n: "padWith", s: "*", m: "?" }] }, XLOOKUP: { p: [{ n: "lookupValue", s: "*" }, { n: "lookupArray", r: "l" }, { n: "returnArray", r: "l" }, { n: "ifNotFound", s: "*" }, { n: "rangeLookup", s: "b", m: "?" }, { n: "matchMode", s: "b" }, { n: "searchMode", s: "b", m: "?" }] }, XMATCH: { p: [{ n: "lookupValue", s: "*" }, { n: "lookupArray", r: "l" }, { n: "matchMode", s: "b" }, { n: "searchMode", s: "b", m: "?" }] } }, ze = { ABS: { p: [{ n: "number" }] }, AGGREGATE: { p: [{ n: "functionNum" }, { n: "options" }, { n: "array", r: "l" }, { n: "K" }] }, ARABIC: { p: [{ n: "text", s: "s" }] }, BASE: { p: [{ n: "number" }, { n: "radix" }, { n: "minLength", m: "?" }] }, CEILING: { p: [{ n: "number" }, { n: "significance", m: "?" }] }, "CEILING.MATH": { fn: "CEILING_MATH", p: [{ n: "number" }, { n: "significance", m: "?" }, { n: "mode", m: "?" }] }, "CEILING.PRECISE": { fn: "CEILING_PRECISE", p: [{ n: "number" }, { n: "significance", m: "?" }] }, COMBIN: { p: [{ n: "number" }, { n: "numberChosen" }] }, COMBINA: { p: [{ n: "number" }, { n: "numberChosen" }] }, DECIMAL: { p: [{ n: "number", s: "s" }, { n: "radix" }] }, DEGREES: { p: [{ n: "angle" }] }, EVEN: { p: [{ n: "number" }] }, EXP: { p: [{ n: "number" }] }, FACT: { p: [{ n: "number" }] }, FACTDOUBLE: { p: [{ n: "number" }] }, FLOOR: { p: [{ n: "number" }, { n: "significance", m: "?" }] }, "FLOOR.MATH": { fn: "FLOOR_MATH", p: [{ n: "number" }, { n: "significance", m: "?" }, { n: "mode", m: "?" }] }, "FLOOR.PRECISE": { fn: "FLOOR_PRECISE", p: [{ n: "number" }, { n: "significance", m: "?" }] }, GCD: { p: [{ n: "number", d: 1, m: "..." }] }, INT: { p: [{ n: "number" }] }, "ISO.CEILING": { fn: "ISO_CEILING", p: [{ n: "number" }, { n: "significance", m: "?" }] }, LCM: { p: [{ n: "number", d: 1, m: "..." }] }, LN: { p: [{ n: "number" }] }, LOG: { p: [{ n: "number" }, { n: "base", m: "?" }] }, LOG10: { p: [{ n: "number" }] }, MDETERM: { p: [{ n: "array", d: 2 }] }, MINVERSE: { p: [{ n: "array", d: 2 }] }, MMULT: { p: [{ n: "array1", s: "z", d: 2 }, { n: "array2", s: "z", d: 2 }] }, MOD: { p: [{ n: "number" }, { n: "divisor" }] }, MROUND: { p: [{ n: "number" }, { n: "multiple" }] }, MULTINOMIAL: { p: [{ n: "number", d: 1, m: "..." }] }, MUNIT: { p: [{ n: "dimension" }] }, ODD: { p: [{ n: "number" }] }, PI: {}, POWER: { p: [{ n: "number" }, { n: "power" }] }, PRODUCT: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, QUOTIENT: { p: [{ n: "numerator" }, { n: "denominator" }] }, RADIANS: { p: [{ n: "angle" }] }, RAND: {}, RANDARRAY: { p: [{ n: "rows", m: "?" }, { n: "columns", m: "?" }, { n: "min", m: "?" }, { n: "max", m: "?" }, { n: "integer", s: "b", m: "?" }] }, RANDBETWEEN: { p: [{ n: "bottom" }, { n: "top" }] }, ROMAN: { p: [{ n: "number" }, { n: "form", m: "?" }] }, ROUND: { p: [{ n: "number" }, { n: "numDigits" }] }, ROUNDDOWN: { p: [{ n: "number" }, { n: "numDigits" }] }, ROUNDUP: { p: [{ n: "number" }, { n: "numDigits" }] }, SEQUENCE: { p: [{ n: "rows" }, { n: "columns", m: "?" }, { n: "start", m: "?" }, { n: "step", m: "?" }] }, SERIESSUM: { p: [{ n: "x" }, { n: "n" }, { n: "m" }, { n: "coefficients", d: 1, m: "..." }] }, SIGN: { p: [{ n: "number" }] }, SQRT: { p: [{ n: "number" }] }, SQRTPI: { p: [{ n: "number" }] }, SUBTOTAL: { p: [{ n: "functionNum" }, { n: "ref", r: "l", d: 1, m: "..." }] }, SUM: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, SUMIF: { p: [{ n: "range", r: "l" }, { n: "criteria", r: "l" }, { n: "sumRange", r: "r", m: "?" }] }, SUMIFS: { p: [{ n: "sumRange", r: "l" }, { n: "criteriaRange", r: "r" }, { n: "criteria", r: "l" }] }, SUMPRODUCT: { p: [{ n: "array1", s: "z", d: 2 }, { n: "rest", s: "z", d: 3, m: "..." }] }, SUMSQ: { p: [{ n: "number", r: "l", d: 1, m: "..." }] }, SUMX2MY2: { p: [{ n: "arrayX", s: "z", d: 2 }, { n: "arrayY", s: "z", d: 2 }] }, SUMX2PY2: { p: [{ n: "arrayX", s: "z", d: 2 }, { n: "arrayY", s: "z", d: 2 }] }, SUMXMY2: { p: [{ n: "arrayX", s: "z", d: 2 }, { n: "arrayY", s: "z", d: 2 }] }, TRUNC: { p: [{ n: "number" }, { n: "numDigits", m: "?" }] } }, We = { ACOS: { p: [{ n: "number" }] }, ACOSH: { p: [{ n: "number" }] }, ACOT: { p: [{ n: "number" }] }, ACOTH: { p: [{ n: "number" }] }, ASIN: { p: [{ n: "number" }] }, ASINH: { p: [{ n: "number" }] }, ATAN: { p: [{ n: "number" }] }, ATAN2: { p: [{ n: "x" }, { n: "y" }] }, ATANH: { p: [{ n: "number" }] }, COS: { p: [{ n: "number" }] }, COSH: { p: [{ n: "number" }] }, COT: { p: [{ n: "number" }] }, COTH: { p: [{ n: "number" }] }, CSC: { p: [{ n: "number" }] }, CSCH: { p: [{ n: "number" }] }, SEC: { p: [{ n: "number" }] }, SECH: { p: [{ n: "number" }] }, SIN: { p: [{ n: "number" }] }, SINH: { p: [{ n: "number" }] }, TAN: { p: [{ n: "number" }] }, TANH: { p: [{ n: "number" }] } }, je = { "BETA.DIST": { fn: "BETA_DIST", p: [{ n: "x" }, { n: "alpha" }, { n: "beta" }, { n: "cumulative", s: "b" }, { n: "a", m: "?" }, { n: "b", m: "?" }] }, BETADIST: { p: [{ n: "x" }, { n: "alpha" }, { n: "beta" }, { n: "cumulative", s: "b" }, { n: "a", m: "?" }, { n: "b", m: "?" }] }, "BETA.INV": { fn: "BETA_INV", p: [{ n: "probability" }, { n: "alpha" }, { n: "beta" }, { n: "a", m: "?" }, { n: "b", m: "?" }] }, BETAINV: { p: [{ n: "probability" }, { n: "alpha" }, { n: "beta" }, { n: "a", m: "?" }, { n: "b", m: "?" }] }, "BINOM.DIST": { fn: "BINOM_DIST", p: [{ n: "numberS" }, { n: "trials" }, { n: "probabilityS" }, { n: "cumulative", s: "b" }] }, BINOMDIST: { p: [{ n: "numberS" }, { n: "trials" }, { n: "probabilityS" }, { n: "cumulative", s: "b" }] }, "BINOM.DIST.RANGE": { fn: "BINOM_DIST_RANGE", p: [{ n: "trials" }, { n: "probabilityS" }, { n: "numberS" }, { n: "numberS2", m: "?" }] }, "BINOM.INV": { fn: "BINOM_INV", p: [{ n: "trials" }, { n: "probabilityS" }, { n: "alpha" }] }, "CHISQ.DIST": { fn: "CHISQ_DIST", p: [{ n: "x" }, { n: "degFreedom" }, { n: "cumulative", s: "b", m: "?" }] }, CHIDIST: { p: [{ n: "x" }, { n: "degFreedom" }] }, "CHISQ.DIST.RT": { fn: "CHISQ_DIST_RT", p: [{ n: "x" }, { n: "degFreedom" }] }, "CHISQ.INV": { fn: "CHISQ_INV", p: [{ n: "probability" }, { n: "degFreedom" }] }, CHIINV: { p: [{ n: "probability" }, { n: "degFreedom" }] }, "CHISQ.INV.RT": { fn: "CHISQ_INV_RT", p: [{ n: "probability" }, { n: "degFreedom" }] }, "CHISQ.TEST": { fn: "CHISQ_TEST", p: [{ n: "actualRange", s: "z", d: 2 }, { n: "expectedRange", s: "z", d: 2 }] }, CHITEST: { p: [{ n: "actualRange", s: "z", d: 2 }, { n: "expectedRange", s: "z", d: 2 }] }, "CONFIDENCE.NORM": { fn: "CONFIDENCE_NORM", p: [{ n: "alpha" }, { n: "standardDev" }, { n: "size" }] }, CONFIDENCE: { p: [{ n: "alpha" }, { n: "std" }, { n: "dev" }, { n: "size" }] }, "CONFIDENCE.T": { fn: "CONFIDENCE_T", p: [{ n: "alpha" }, { n: "standardDev" }, { n: "size" }] }, CORREL: { p: [{ n: "array1", s: "z", d: 1 }, { n: "array2", s: "z", d: 1 }] }, "COVARIANCE.P": { fn: "COVARIANCE_P", p: [{ n: "array1", s: "z", d: 1 }, { n: "array2", s: "z", d: 1 }] }, COVARIANCE: { p: [{ n: "array1", s: "z", d: 1 }, { n: "array2", s: "z", d: 1 }] }, "COVARIANCE.S": { fn: "COVARIANCE_S", p: [{ n: "array1", s: "z", d: 1 }, { n: "array2", s: "z", d: 1 }] }, CRITBINOM: { p: [{ n: "trails", s: "z", d: 2 }, { n: "probabilityS" }, { n: "alpha" }] }, DEVSQ: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, "EXPON.DIST": { fn: "EXPON_DIST", p: [{ n: "x" }, { n: "lambda" }, { n: "cumulative", s: "b" }] }, EXPONDIST: { p: [{ n: "x" }, { n: "lambda" }, { n: "cumulative", s: "b" }] }, "F.DIST": { fn: "F_DIST", p: [{ n: "x" }, { n: "degFreedom1" }, { n: "degFreedom2" }, { n: "cumulative", s: "b" }] }, FDIST: { p: [{ n: "x" }, { n: "degFreedom1" }, { n: "degFreedom2" }] }, "F.DIST.RT": { fn: "F_DIST_RT", p: [{ n: "x" }, { n: "degFreedom1" }, { n: "degFreedom2" }] }, "F.INV": { fn: "F_INV", p: [{ n: "probability" }, { n: "degFreedom1" }, { n: "degFreedom2" }] }, FINV: { p: [{ n: "probability" }, { n: "degFreedom1" }, { n: "degFreedom2" }] }, "F.INV.RT": { fn: "F_INV_RT", p: [{ n: "probability" }, { n: "degFreedom1" }, { n: "degFreedom2" }] }, "F.TEST": { fn: "F_TEST", p: [{ n: "array1", s: "z", d: 1 }, { n: "array2", s: "z", d: 1 }] }, FTEST: { p: [{ n: "array1", s: "z", d: 1 }, { n: "array2", s: "z", d: 1 }] }, FISHER: { p: [{ n: "x" }] }, FISHERINV: { p: [{ n: "y" }] }, FORECAST: { p: [{ n: "x" }, { n: "knownYs", s: "z", d: 1, m: "?" }, { n: "knownXs", s: "z", d: 1, m: "?" }] }, "FORECAST.ETS": { fn: "FORECAST_ETS", p: [{ n: "targetDate" }, { n: "values", r: "l" }, { n: "timeline", r: "l" }, { n: "seasonality", m: "?" }, { n: "dataCompletion", m: "?" }, { n: "aggregation", m: "?" }] }, "FORECAST.ETS.CONFINT": { fn: "FORECAST_ETS_CONFINT", p: [{ n: "targetDate" }, { n: "values", r: "l" }, { n: "timeline", r: "l" }, { n: "confiedenceLevel", m: "?" }, { n: "seasonality", m: "?" }, { n: "dataCompletion", m: "?" }, { n: "aggregation", m: "?" }] }, "FORECAST.ETS.SEASONALITY": { fn: "FORECAST_ETS_SEASONALITY", p: [{ n: "values", r: "l" }, { n: "timeline", r: "l" }, { n: "dataCompletion", m: "?" }, { n: "aggregation", m: "?" }] }, "FORECAST.ETS.STAT": { fn: "FORECAST_ETS_STAT", p: [{ n: "values", r: "l" }, { n: "timeline", r: "l" }, { n: "statisticType" }, { n: "seasonality", m: "?" }, { n: "dataCompletion", m: "?" }, { n: "aggregation", m: "?" }] }, "FORECAST.LINEAR": { fn: "FORECAST_LINEAR", p: [{ n: "x" }, { n: "knownYs", s: "z", d: 1 }, { n: "knownXs", s: "z", d: 1, m: "?" }] }, FREQUENCY: { p: [{ n: "dataArray", s: "z", d: 2 }, { n: "binsArray", s: "z", d: 2 }] }, GAMMA: { p: [{ n: "x" }] }, "GAMMA.DIST": { fn: "GAMMA_DIST", p: [{ n: "x" }, { n: "alpha" }, { n: "beta" }, { n: "cumulative", s: "b", m: "?" }] }, "GAMMA.INV": { fn: "GAMMA_INV", p: [{ n: "probability" }, { n: "alpha" }, { n: "beta" }] }, GAMMALN: { p: [{ n: "x" }] }, "GAMMALN.PRECISE": { fn: "GAMMALN_PRECISE", p: [{ n: "x" }] }, GAUSS: { p: [{ n: "x" }] }, GEOMEAN: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, GROWTH: { p: [{ n: "knownYs", s: "z", d: 1 }, { n: "knownXs", s: "z", d: 1, m: "?" }, { n: "newXs", s: "z", d: 2, m: "?" }, { n: "useConst", s: "b", m: "?" }] }, HARMEAN: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, "HYPGEOM.DIST": { fn: "HYPGEOM_DIST", p: [{ n: "sampleS" }, { n: "numberSample" }, { n: "populationS" }, { n: "numberPop" }, { n: "cumulative", s: "b" }] }, INTERCEPT: { p: [{ n: "knownYs", s: "z", d: 1 }, { n: "knownXs", s: "z", d: 1 }] }, KURT: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, LINEST: { p: [{ n: "knownYs", r: "l" }, { n: "knownXs", r: "l", m: "?" }, { n: "constant", s: "b", m: "?" }, { n: "stats", s: "b", m: "?" }] }, LOGEST: { p: [{ n: "knownYs", r: "l" }, { n: "knownXs", r: "l", m: "?" }, { n: "constant", s: "b", m: "?" }, { n: "stats", s: "b", m: "?" }] }, "LOGNORM.DIST": { fn: "LOGNORM_DIST", p: [{ n: "x" }, { n: "mean" }, { n: "standardDev" }, { n: "cumulative", s: "b" }] }, "LOGNORM.INV": { fn: "LOGNORM_INV", p: [{ n: "probability" }, { n: "mean" }, { n: "standardDev" }] }, "MODE.MULT": { fn: "MODE_MULT", p: [{ n: "number", r: "l", d: 1, m: "..." }] }, "MODE.SNGL": { fn: "MODE_SNGL", p: [{ n: "number", r: "l", d: 1, m: "..." }] }, "NEGBINOM.DIST": { fn: "NEGBINOM_DIST", p: [{ n: "numberF" }, { n: "numberS" }, { n: "probabilityS" }, { n: "cumulative", s: "b" }] }, "NORM.DIST": { fn: "NORM_DIST", p: [{ n: "x" }, { n: "mean" }, { n: "standardDev" }, { n: "cumulative", s: "b" }] }, "NORM.INV": { fn: "NORM_INV", p: [{ n: "probability" }, { n: "mean" }, { n: "standardDev" }] }, "NORM.S.DIST": { fn: "NORM_S_DIST", p: [{ n: "z" }, { n: "cumulative", s: "b" }] }, "NORM.S.INV": { fn: "NORM_S_INV", p: [{ n: "probability" }] }, PEARSON: { p: [{ n: "array1", r: "l" }, { n: "array2", r: "l" }] }, "PERCENTILE.EXC": { fn: "PERCENTILE_EXC", p: [{ n: "array", r: "l" }, { n: "k" }] }, "PERCENTILE.INC": { fn: "PERCENTILE_INC", p: [{ n: "array", r: "l" }, { n: "k" }] }, "PERCENTRANK.EXC": { fn: "PERCENTRANK_EXC", p: [{ n: "array", r: "l" }, { n: "x" }, { n: "significance", m: "?" }] }, "PERCENTRANK.INC": { fn: "PERCENTRANK_INC", p: [{ n: "array", r: "l" }, { n: "x" }, { n: "significance", m: "?" }] }, PHI: { p: [{ n: "x" }] }, "POISSON.DIST": { fn: "POISSON_DIST", p: [{ n: "x" }, { n: "mean" }, { n: "cumulative", s: "b" }] }, PROB: { p: [{ n: "xRange", r: "l" }, { n: "probRange", r: "l" }, { n: "lowerLimit" }, { n: "upperLimit", m: "?" }] }, "QUARTILE.EXC": { fn: "QUARTILE_EXC", p: [{ n: "array", r: "l" }, { n: "quart" }] }, "QUARTILE.INC": { fn: "QUARTILE_INC", p: [{ n: "array", r: "l" }, { n: "quart" }] }, "RANK.AVG": { fn: "RANK_AVG", p: [{ n: "number" }, { n: "ref", r: "l" }, { n: "order", m: "?" }] }, "RANK.EQ": { fn: "RANK_EQ", p: [{ n: "number" }, { n: "ref", r: "l" }, { n: "order", m: "?" }] }, RSQ: { p: [{ n: "knownYs", s: "z", d: 1 }, { n: "knownXs", s: "z", d: 1 }] }, SKEW: { p: [{ n: "number", r: "l", d: 1, m: "..." }] }, "SKEW.P": { fn: "SKEW_P", p: [{ n: "number", r: "l", d: 1, m: "..." }] }, SLOPE: { p: [{ n: "knownYs", r: "l" }, { n: "knownXs", r: "l" }] }, STANDARDIZE: { p: [{ n: "x" }, { n: "mean" }, { n: "standardDev" }] }, "STDEV.P": { fn: "STDEV_P", p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, "STDEV.S": { fn: "STDEV_S", p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, STDEVA: { p: [{ n: "value", r: "l", d: 1, m: "..." }] }, STDEVPA: { p: [{ n: "value", r: "l", d: 1, m: "..." }] }, STEYX: { p: [{ n: "knownYs", s: "z", d: 1 }, { n: "knownXs", s: "z", d: 1 }] }, "T.DIST": { fn: "T_DIST", p: [{ n: "x" }, { n: "degFreedom" }, { n: "cumulative", s: "b" }] }, "T.DIST.2T": { fn: "T_DIST_2T", p: [{ n: "x" }, { n: "degFreedom" }] }, "T.DIST.RT": { fn: "T_DIST_RT", p: [{ n: "x" }, { n: "degFreedom" }] }, "T.INV": { fn: "T_INV", p: [{ n: "probability" }, { n: "degFreedom" }] }, "T.INV.2T": { fn: "T_INV_2T", p: [{ n: "probability" }, { n: "degFreedom" }] }, "T.TEST": { fn: "T_TEST", p: [{ n: "array1", r: "l" }, { n: "array2", r: "l" }, { n: "tails" }, { n: "type" }] }, TREND: { p: [{ n: "knownYs", s: "z", d: 1 }, { n: "knownXs", s: "z", d: 1, m: "?" }, { n: "newXs", s: "z", d: 1, m: "?" }, { n: "consts", s: "b", m: "?" }] }, TRIMMEAN: { p: [{ n: "array", r: "l" }, { n: "percent", r: "l" }] }, "VAR.P": { fn: "VAR_P", p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, "VAR.S": { fn: "VAR_S", p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, VARA: { p: [{ n: "value", r: "l", d: 1, m: "..." }] }, VARPA: { p: [{ n: "value", r: "l", d: 1, m: "..." }] }, "WEIBULL.DIST": { fn: "WEIBULL_DIST", p: [{ n: "x" }, { n: "alpha" }, { n: "beta" }, { n: "cumulative", s: "b" }] }, "Z.TEST": { fn: "Z_TEST", p: [{ n: "array", r: "l" }, { n: "x" }, { n: "sigma", m: "?" }] } }, Ke = { AVEDEV: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, AVERAGE: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, AVERAGEA: { p: [{ n: "value", s: "n", r: "l", d: 1, m: "..." }] }, AVERAGEIF: { p: [{ n: "range", r: "l" }, { n: "criteria", r: "l" }, { n: "averageRange", r: "r", m: "?" }] }, AVERAGEIFS: { p: [{ n: "averageRange", r: "l" }, { n: "criteriaRange", r: "l" }, { n: "criteria", r: "l", d: 1, m: "..." }] }, COUNT: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, COUNTA: { p: [{ n: "value", s: "n", r: "l", d: 1, m: "..." }] }, COUNTBLANK: { p: [{ n: "range", r: "l" }] }, COUNTIF: { p: [{ n: "range", r: "l" }, { n: "criteria", r: "l" }] }, COUNTIFS: { p: [{ n: "criteriaRange", r: "l" }, { n: "criteria", r: "l" }] }, LARGE: { p: [{ n: "array", s: "n", r: "l" }, { n: "k" }] }, MAX: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, MAXA: { p: [{ n: "value", r: "l", d: 1, m: "..." }] }, MAXIFS: { p: [{ n: "maxRange", r: "l" }, { n: "criteriaRange", r: "l" }, { n: "criteria", r: "l", d: 1, m: "..." }] }, MEDIAN: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, MIN: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, MINA: { p: [{ n: "value", r: "l", d: 1, m: "..." }] }, MINIFS: { p: [{ n: "maxRange", r: "l" }, { n: "criteriaRange", r: "l" }, { n: "criteria", r: "l", d: 1, m: "..." }] }, PERMUT: { p: [{ n: "number" }, { n: "numberChoosen" }] }, PERMUTATIONA: { p: [{ n: "number" }, { n: "numberChoosen" }] }, SMALL: { p: [{ n: "array", s: "n", r: "l" }, { n: "k" }] } }, $e = { DELAY: { p: [{ n: "time" }, { n: "input", s: "*" }, { n: "label", s: "s", m: "?" }] }, WAIT: { p: [{ n: "type", s: "s" }, { n: "input", r: "l", m: "?" }] } }, Qe = { BAHTTEXT: { p: [{ n: "number" }] } }, Ze = { ASC: { p: [{ n: "text", s: "s" }] }, ARRAYTOTEXT: { p: [{ n: "array", r: "l" }, { n: "format", m: "?" }] }, CHAR: { p: [{ n: "number" }] }, CLEAN: { p: [{ n: "text", s: "s" }] }, CODE: { p: [{ n: "text", s: "s" }] }, CONCAT: { p: [{ n: "text", r: "l", d: 1, m: "..." }] }, CONCATENATE: { p: [{ n: "text", r: "l", d: 1, m: "..." }] }, DETECTLANGUAGE: { p: [{ n: "text", s: "s" }] }, DBCS: { p: [{ n: "text", s: "s" }] }, DOLLAR: { p: [{ n: "number" }, { n: "decimals", m: "?" }] }, EXACT: { p: [{ n: "text1", s: "s" }, { n: "text2", s: "s" }] }, FIND: { p: [{ n: "findText", s: "s" }, { n: "withinText", s: "s" }, { n: "startNum", m: "?" }] }, FINDB: { p: [{ n: "findText", s: "s" }, { n: "withinText", s: "s" }, { n: "startNum", m: "?" }] }, FIXED: { p: [{ n: "number" }, { n: "decimals", m: "?" }, { n: "noCommas", s: "b", m: "?" }] }, LEFT: { p: [{ n: "text", s: "s" }, { n: "numChars", m: "?" }] }, LEFTB: { p: [{ n: "text", s: "s" }, { n: "numBytes", m: "?" }] }, LEN: { p: [{ n: "text", s: "s" }] }, LENB: { p: [{ n: "text", s: "s" }] }, LOWER: { p: [{ n: "text", s: "s" }] }, MID: { p: [{ n: "text", s: "s" }, { n: "startNum" }, { n: "numChars" }] }, MIDB: { p: [{ n: "text", s: "s" }, { n: "startNum" }, { n: "numBytes" }] }, NUMBERVALUE: { p: [{ n: "text", s: "s" }, { n: "decimalSeparator", s: "s", m: "?" }, { n: "groupSeparator", s: "s", m: "?" }] }, PERCENTOF: { p: [{ n: "dataSubset", r: "l" }, { n: "dataAll", r: "l" }] }, PHONETIC: { p: [{ n: "reference", r: "r" }] }, PROPER: { p: [{ n: "text", s: "s" }] }, REGEXEXTRACT: { p: [{ n: "text", s: "s" }, { n: "pattern", s: "s" }, { n: "returnMode", m: "?" }, { n: "caseSensitivity", s: "b", m: "?" }] }, REGEXREPLACE: { p: [{ n: "text", s: "s" }, { n: "pattern", s: "s" }, { n: "replacement", s: "s" }, { n: "occurrence", m: "?" }, { n: "caseSensitivity", s: "b", m: "?" }] }, REGEXTEST: { p: [{ n: "text", s: "s" }, { n: "pattern", s: "s" }, { n: "caseSensitivity", s: "b", m: "?" }] }, REPLACE: { p: [{ n: "oldText", s: "s" }, { n: "startNum" }, { n: "numChars" }, { n: "newText", s: "s" }] }, REPLACEB: { p: [{ n: "oldText", s: "s" }, { n: "startNum" }, { n: "numBytes" }, { n: "newText", s: "s" }] }, REPT: { p: [{ n: "text", s: "s" }, { n: "numberTimes" }] }, RIGHT: { p: [{ n: "text", s: "s" }, { n: "numChars", m: "?" }] }, RIGHTB: { p: [{ n: "text", s: "s" }, { n: "numBytes", m: "?" }] }, SEARCH: { p: [{ n: "findText", s: "s" }, { n: "withinText", s: "s" }, { n: "startNum", m: "?" }] }, SEARCHB: { p: [{ n: "findText", s: "s" }, { n: "withinText", s: "s" }, { n: "startBytes", m: "?" }] }, SUBSTITUTE: { p: [{ n: "text", s: "s" }, { n: "oldText", s: "s" }, { n: "newText", s: "s" }, { n: "instanceNum", m: "?" }] }, T: { p: [{ n: "value", s: "*" }] }, TEXT: { p: [{ n: "value", s: "*" }, { n: "formatText", s: "s" }] }, TEXTAFTER: { p: [{ n: "text", s: "s" }, { n: "delimiter", s: "s" }, { n: "instanceNum", m: "?" }, { n: "matchMode", m: "?" }, { n: "matchEnd", m: "?" }, { n: "ifNotFound", s: "s", m: "?" }] }, TEXTJOIN: { p: [{ n: "delimiter", s: "s" }, { n: "ignoreEmpty", s: "b" }, { n: "text", r: "l", d: 1, m: "..." }] }, TEXTSPLIT: { p: [{ n: "text", s: "s" }, { n: "colDelimiter", s: "s", d: 1 }, { n: "rowDelimiter", s: "s", d: 1, m: "?" }, { n: "ignoreEmpty", s: "b", m: "?" }, { n: "matchMode", m: "?" }, { n: "padWith", s: "s", m: "?" }] }, TEXTBEFORE: { p: [{ n: "text", s: "s" }, { n: "delimiter", s: "s" }, { n: "instanceNum", m: "?" }, { n: "matchMode", m: "?" }, { n: "matchEnd", m: "?" }, { n: "ifNotFound", s: "s", m: "?" }] }, TRANSLATE: { p: [{ n: "text", s: "s" }, { n: "sourceLanguage", s: "s" }, { n: "targetLanguage", s: "s" }] }, TRIM: { p: [{ n: "text", s: "s" }] }, UNICHAR: { p: [{ n: "number" }] }, UNICODE: { p: [{ n: "text", s: "s" }] }, UPPER: { p: [{ n: "text", s: "s" }] }, VALUE: { p: [{ n: "text", s: "s" }] }, VALUETOTEXT: { p: [{ n: "value", s: "*" }, { n: "format", m: "?" }] } }, Je = { FILTERXML: { p: [{ n: "xml", s: "s" }, { n: "xpath", s: "s" }] } }, nr = { ENCODEURL: { p: [{ n: "text", s: "s" }] }, WEBSERVICE: { p: [{ n: "url", s: "s" }] } }, tr = () => import("./BoWGCLoCBi99JpFs.mjs"), er = () => import("./Qib5_XvQHWOPzGrm.mjs"), rr = () => import("./CAxIV1vPiKW9r_Yh.mjs"), ur = () => import("./CN45di2IcbM8P0Qu.mjs"), or = () => import("./DS4xBjO2TN0rQ1lJ.mjs"), ar = () => import("./gTh1PiesKrQblf8O.mjs"), ir = () => import("./ERMewE78C__HUblm.mjs"), lr = () => import("./BPqJ7trmE53kA4iD.mjs"), sr = () => import("./B_XqbIeKalrEkjs7.mjs"), fr = () => import("./DgslJ1_vlPooGZHU.mjs"), cr = () => import("./ByxOyRbOjkmiHT8z.mjs"), mr = () => import("./CPv7OpinaYcwbA_W.mjs"), pr = () => import("./BOn1aDBCyrMSMmVr.mjs"), hr = () => import("./Cfhp3FCr7wP0Rnfu.mjs"), gr = () => import("./DTM0pK30PrZRsXYw.mjs"), dr = () => import("./71Qocy3xStWv_56t.mjs"), Nr = () => import("./CFw23OkHfPquoVEk.mjs"), br = () => import("./B9-WgxZWcZj4jdUC.mjs"), Er = () => import("./g_p1uVDePbDJJ4nX.mjs"), Ir = () => import("./DmEPCZ9FSKO_TRTA.mjs"), Tr = () => import("./CG8a93kgahRemVJe.mjs"), Mr = () => import("./70LlV-Ub5gQiHal4.mjs");
3927
+ function vr(t) {
3928
+ return function(n, e) {
3929
+ const o = /* @__PURE__ */ new Map();
3930
+ return e(o, n, Wt, xe, tr, "Cube"), e(o, n, jt, Be, er, "Database"), e(o, n, ee, Ue, rr, "Date & Time"), e(o, n, ue, Le, ur, "Engineering"), e(o, n, oe, Pe, or, "Engineering"), e(o, n, ae, Ve, ar, "Engineering"), e(o, n, ie, Fe, ir, "Engineering"), e(o, n, se, He, lr, "Engineering"), e(o, n, pe, Ge, sr, "Engineering"), e(o, n, he, Xe, fr, "Financial"), e(o, n, ge, Ye, cr, "Information"), e(o, n, Ne, qe, mr, "Logical"), e(o, n, be, ke, pr, "Lookup & Reference"), e(o, n, Ee, ze, hr, "Math & Trig"), e(o, n, Ie, We, gr, "Math & Trig"), e(o, n, Me, je, dr, "Statistical"), e(o, n, Te, Ke, Nr, "Statistical"), e(o, n, ve, $e, br, "Testing"), e(o, n, ye, Qe, Er, "Text"), e(o, n, Oe, Ze, Ir, "Text"), e(o, n, De, Je, Tr, "Web"), e(o, n, _e, nr, Mr, "Web"), o;
3931
+ }(t, Sr);
3932
+ }
3933
+ const Sr = (t, n, e, o, i, c) => {
3934
+ const l = Object.keys(o);
3935
+ for (const r of l) {
3936
+ const u = o[r], a = r, f = [], s = u.p;
3937
+ if (s) for (let h = 0; h < s.length; h++) {
3938
+ const d = s[h];
3939
+ let b = null;
3940
+ d.s ? b = d.s : d.r || (b = k.Number);
3941
+ const I = { name: d.n, scalar: b, range: d.r ?? null, arrayDepth: d.d ?? 0, optional: d.m === "?", rest: d.m === "...", enums: d.e ?? An.EmptyArray };
3942
+ delete I.dim, f.push(I);
3943
+ }
3944
+ const m = { name: a, parameters: f, returnType: null, context: u.c ? "calculation" : null, behavior: null }, p = e[u.fn ?? a];
3945
+ let g;
3946
+ const N = new zt(m, p, n, async (h) => {
3947
+ if (!i) return null;
3948
+ let d;
3949
+ g || (d = (await i()).default, g = d);
3950
+ const b = d?.[a];
3951
+ if (!b) return console.warn(`No descriptor found for built-in function: ${a}`), null;
3952
+ const I = b.p;
3953
+ let M = I ? { ...I } : An.EmptyObject;
3954
+ const A = Object.keys(M);
3955
+ if (A.length > 0) for (let T = 0; T < A.length; T++) {
3956
+ const S = A[T], R = I[S], O = { description: R.d ?? "", example: R.e, defaultValue: R.v };
3957
+ M[S] = O;
3958
+ }
3959
+ return { name: a, summary: b.s ?? "", category: b.c ?? c ?? null, parameters: M, hidden: b.h ?? !1, links: b.l ?? An.EmptyArray };
3960
+ }, !0);
3961
+ t.set(a, N);
3962
+ }
3963
+ };
3964
+ export {
3965
+ vr as initializeBuiltIns
3966
+ };