@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.
- package/LICENSE.md +11 -0
- package/README.md +30 -0
- package/build/browser/cjs/7Yh1PqgSd93uKFOq.cjs +6 -0
- package/build/browser/cjs/AbBzPqrBe_7Scafy.cjs +6 -0
- package/build/browser/cjs/B2jt9h-29UhlG-ir.cjs +6 -0
- package/build/browser/cjs/BAY6G2idlFTr3aXF.cjs +6 -0
- package/build/browser/cjs/BJAOd8ki61yYMUO8.cjs +6 -0
- package/build/browser/cjs/BNfn1no9QwiHEFwd.cjs +6 -0
- package/build/browser/cjs/BUkgy8lQRuxtyPlh.cjs +6 -0
- package/build/browser/cjs/B_O3B0P2cyGD9Rbm.cjs +6 -0
- package/build/browser/cjs/BkmEUMAKvuzsSqbR.cjs +7 -0
- package/build/browser/cjs/BlllxPbkhoY0sEC4.cjs +23 -0
- package/build/browser/cjs/BmT4qU5bgAIPFNTH.cjs +124 -0
- package/build/browser/cjs/BqZnbFL2t1u1XgPn.cjs +6 -0
- package/build/browser/cjs/Bs6xUWpBc0gC2FqH.cjs +6 -0
- package/build/browser/cjs/Bsv5BCVCW5dIA5It.cjs +1511 -0
- package/build/browser/cjs/ByZLM15SpxjqWDYX.cjs +6 -0
- package/build/browser/cjs/CaHv2p0pVvOc7XPO.cjs +42 -0
- package/build/browser/cjs/CcIliks7z_TMUXOM.cjs +6 -0
- package/build/browser/cjs/CpbUnis3pqWrW9H4.cjs +11 -0
- package/build/browser/cjs/CvGHijwHYOsCppoo.cjs +6 -0
- package/build/browser/cjs/D5m2Wlak7m4vG0kA.cjs +6 -0
- package/build/browser/cjs/DSNXa0HNC7bG9qZw.cjs +6 -0
- package/build/browser/cjs/DZ-H3oz78Mjq38DI.cjs +6 -0
- package/build/browser/cjs/Da34iNTZrWBA6OUT.cjs +6 -0
- package/build/browser/cjs/DfMNPyGio0O0RToU.cjs +6 -0
- package/build/browser/cjs/Dghi8Yq5nXZtUpoV.cjs +80 -0
- package/build/browser/cjs/Dk63Co0TJejVtNXp.cjs +6 -0
- package/build/browser/cjs/ErSjtO5fMJzUVHk4.cjs +6 -0
- package/build/browser/cjs/G-xZJIN6jjcTuQXA.cjs +6 -0
- package/build/browser/cjs/GPfZ0ZpBee250ywR.cjs +20 -0
- package/build/browser/cjs/IHypcrtWCiX_F0RJ.cjs +11 -0
- package/build/browser/cjs/X-HIF0659hMdI4Fu.cjs +6 -0
- package/build/browser/cjs/index.cjs +6 -0
- package/build/browser/cjs/qhBvSFMQ_DepDCwv.cjs +6 -0
- package/build/browser/cjs/wYOZ6mjOO7MbdyBZ.cjs +6 -0
- package/build/browser/esm/70LlV-Ub5gQiHal4.mjs +10 -0
- package/build/browser/esm/71Qocy3xStWv_56t.mjs +10 -0
- package/build/browser/esm/B9-WgxZWcZj4jdUC.mjs +10 -0
- package/build/browser/esm/BAKRnfUqPzHyyiLx.mjs +3966 -0
- package/build/browser/esm/BChNW8QNTMP8QXKM.mjs +484 -0
- package/build/browser/esm/BCzBxiWxCFs-jcmK.mjs +5651 -0
- package/build/browser/esm/BOn1aDBCyrMSMmVr.mjs +10 -0
- package/build/browser/esm/BPqJ7trmE53kA4iD.mjs +10 -0
- package/build/browser/esm/B_XqbIeKalrEkjs7.mjs +10 -0
- package/build/browser/esm/B_b5FIYJnm4UKAEc.mjs +28 -0
- package/build/browser/esm/BoWGCLoCBi99JpFs.mjs +10 -0
- package/build/browser/esm/Bq9W-xButcfpjGEk.mjs +433 -0
- package/build/browser/esm/ByxOyRbOjkmiHT8z.mjs +10 -0
- package/build/browser/esm/CAxIV1vPiKW9r_Yh.mjs +10 -0
- package/build/browser/esm/CFw23OkHfPquoVEk.mjs +10 -0
- package/build/browser/esm/CG8a93kgahRemVJe.mjs +10 -0
- package/build/browser/esm/CN45di2IcbM8P0Qu.mjs +10 -0
- package/build/browser/esm/COgfNXNmX_PF_eWZ.mjs +35 -0
- package/build/browser/esm/CPv7OpinaYcwbA_W.mjs +10 -0
- package/build/browser/esm/Cfhp3FCr7wP0Rnfu.mjs +10 -0
- package/build/browser/esm/D4GeLOfATuEzvjPr.mjs +1586 -0
- package/build/browser/esm/DMas1DZMe9F5tPaN.mjs +23970 -0
- package/build/browser/esm/DS4xBjO2TN0rQ1lJ.mjs +10 -0
- package/build/browser/esm/DTM0pK30PrZRsXYw.mjs +10 -0
- package/build/browser/esm/DgslJ1_vlPooGZHU.mjs +10 -0
- package/build/browser/esm/DmEPCZ9FSKO_TRTA.mjs +10 -0
- package/build/browser/esm/Do_EO3eQIyPgc7uz.mjs +30 -0
- package/build/browser/esm/ERMewE78C__HUblm.mjs +10 -0
- package/build/browser/esm/Qib5_XvQHWOPzGrm.mjs +10 -0
- package/build/browser/esm/SSYRYFzxzHWQzdAN.mjs +12 -0
- package/build/browser/esm/V_ha0oCA5_oDPanz.mjs +832 -0
- package/build/browser/esm/gTh1PiesKrQblf8O.mjs +10 -0
- package/build/browser/esm/g_p1uVDePbDJJ4nX.mjs +10 -0
- package/build/browser/esm/index.mjs +89 -0
- package/build/licenses/dependencies.txt +1239 -0
- package/build/node/esm/4HPektqH91Rh-rsq.mjs +2445 -0
- package/build/node/esm/70LlV-Ub5gQiHal4.mjs +10 -0
- package/build/node/esm/B9-WgxZWcZj4jdUC.mjs +10 -0
- package/build/node/esm/BDxewg-utn4BhUXl.mjs +35 -0
- package/build/node/esm/BPqJ7trmE53kA4iD.mjs +10 -0
- package/build/node/esm/BUOg554dxBM0VWFi.mjs +22 -0
- package/build/node/esm/B_XqbIeKalrEkjs7.mjs +10 -0
- package/build/node/esm/BoWGCLoCBi99JpFs.mjs +10 -0
- package/build/node/esm/ByxOyRbOjkmiHT8z.mjs +10 -0
- package/build/node/esm/CFw23OkHfPquoVEk.mjs +10 -0
- package/build/node/esm/CG8a93kgahRemVJe.mjs +10 -0
- package/build/node/esm/CN45di2IcbM8P0Qu.mjs +10 -0
- package/build/node/esm/CNOiP4baOWSizP6F.mjs +1070 -0
- package/build/node/esm/CPv7OpinaYcwbA_W.mjs +10 -0
- package/build/node/esm/CVAFJAiy4lznWzaG.mjs +10 -0
- package/build/node/esm/CZd8SSXlusZy49FM.mjs +10 -0
- package/build/node/esm/CZw7SgmfxSHhZZe0.mjs +10 -0
- package/build/node/esm/Cdjab80o1WocCHgN.mjs +13 -0
- package/build/node/esm/CfWoSrOmaP9LrFja.mjs +466 -0
- package/build/node/esm/CnaBpzYiURAKhAxF.mjs +825 -0
- package/build/node/esm/Cp5ea9Hpxse8B4mC.mjs +10 -0
- package/build/node/esm/DH_fbhyW3PwE1rYa.mjs +10 -0
- package/build/node/esm/DNHqdv3-ufdcF5zc.mjs +20 -0
- package/build/node/esm/DS4xBjO2TN0rQ1lJ.mjs +10 -0
- package/build/node/esm/DTM0pK30PrZRsXYw.mjs +10 -0
- package/build/node/esm/DlFgt0KLeXDowatv.mjs +10 -0
- package/build/node/esm/ERMewE78C__HUblm.mjs +10 -0
- package/build/node/esm/GTFYlX2Atw10TdFe.mjs +86 -0
- package/build/node/esm/Qib5_XvQHWOPzGrm.mjs +10 -0
- package/build/node/esm/gTh1PiesKrQblf8O.mjs +10 -0
- package/build/node/esm/g_p1uVDePbDJJ4nX.mjs +10 -0
- package/build/node/esm/index.mjs +23412 -0
- package/build/package.json +58 -0
- package/build/types/index.d.ts +20624 -0
- package/package.json +85 -0
|
@@ -0,0 +1,2445 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license @sheetxl/sdk - A high-performance, embeddable spreadsheet engine. - v0.0.0
|
|
3
|
+
*
|
|
4
|
+
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
5
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
6
|
+
*/
|
|
7
|
+
import { FormulaError as n, F as t, ScalarType as e, IRange as r, CommonUtils as u, T as o } from "./index.mjs";
|
|
8
|
+
import a from "bessel";
|
|
9
|
+
import i from "jstat";
|
|
10
|
+
import { bahttext as l } from "bahttext";
|
|
11
|
+
const s = Object.freeze(Object.defineProperty({ __proto__: null, CUBEKPIMEMBER: function(n2, t2, e2, r2) {
|
|
12
|
+
}, CUBEMEMBER: function(n2, t2, e2) {
|
|
13
|
+
}, CUBEMEMBERPROPERTY: function(n2, t2, e2) {
|
|
14
|
+
}, CUBERANKEDMEMBER: function(n2, t2, e2, r2) {
|
|
15
|
+
}, CUBESET: function(n2, t2, e2, r2, u2) {
|
|
16
|
+
}, CUBESETCOUNT: function(n2) {
|
|
17
|
+
}, CUBEVALUE: function(n2, ...t2) {
|
|
18
|
+
} }, Symbol.toStringTag, { value: "Module" }));
|
|
19
|
+
const f = Object.freeze(Object.defineProperty({ __proto__: null, DAVERAGE: function(n2, t2, e2) {
|
|
20
|
+
}, DCOUNT: function(n2, t2, e2) {
|
|
21
|
+
}, DCOUNTA: function(n2, t2, e2) {
|
|
22
|
+
}, DGET: function(n2, t2, e2) {
|
|
23
|
+
}, DMAX: function(n2, t2, e2) {
|
|
24
|
+
}, DMIN: function(n2, t2, e2) {
|
|
25
|
+
}, DPRODUCT: function(n2, t2, e2) {
|
|
26
|
+
}, DSTDEV: function(n2, t2, e2) {
|
|
27
|
+
}, DSTDEVP: function(n2, t2, e2) {
|
|
28
|
+
}, DSUM: function(n2, t2, e2) {
|
|
29
|
+
}, DVAR: function(n2, t2, e2) {
|
|
30
|
+
}, DVARP: function(n2, t2, e2) {
|
|
31
|
+
} }, Symbol.toStringTag, { value: "Module" })), c = { NUMBER: 0, ARRAY: 1, BOOLEAN: 2, STRING: 3, RANGE_REF: 4, CELL_REF: 5, NUMBER_NO_BOOLEAN: 10 };
|
|
32
|
+
const m = new class {
|
|
33
|
+
constructor() {
|
|
34
|
+
this.Types = c, this.type2Number = { number: c.NUMBER, boolean: c.BOOLEAN, string: c.STRING, object: -1 };
|
|
35
|
+
}
|
|
36
|
+
flattenDeep(n2) {
|
|
37
|
+
return Array.isArray(n2) || (console.log("flattenDeep invalid arg", n2), n2 = [n2]), n2.reduce((n3, t2) => Array.isArray(t2) ? n3.concat(this.flattenDeep(t2)) : n3.concat(t2), []);
|
|
38
|
+
}
|
|
39
|
+
acceptNumber(t2, e2 = true, r2 = true) {
|
|
40
|
+
if (t2 instanceof n.Known) return t2;
|
|
41
|
+
let u2;
|
|
42
|
+
if ("number" == typeof t2) u2 = t2;
|
|
43
|
+
else if ("boolean" == typeof t2) {
|
|
44
|
+
if (!r2) throw n.BuiltIn.Value;
|
|
45
|
+
u2 = Number(t2);
|
|
46
|
+
} else if ("string" == typeof t2) {
|
|
47
|
+
if (0 === t2.length) throw n.BuiltIn.Value;
|
|
48
|
+
if (u2 = Number(t2), u2 != u2) throw n.BuiltIn.Value;
|
|
49
|
+
} else if (t2?.isIRange) {
|
|
50
|
+
const r3 = t2;
|
|
51
|
+
if (e2) u2 = this.acceptNumber(r3.getValueAt(0, 0) ?? 0);
|
|
52
|
+
else {
|
|
53
|
+
if (1 !== r3.size) throw n.BuiltIn.Value;
|
|
54
|
+
u2 = this.acceptNumber(r3.getValueAt(0, 0) ?? 0);
|
|
55
|
+
}
|
|
56
|
+
} else {
|
|
57
|
+
if (!Array.isArray(t2)) throw new n.Value("Unknown type in FormulaHelpers.acceptNumber");
|
|
58
|
+
if (e2) u2 = this.acceptNumber(t2[0][0]);
|
|
59
|
+
else {
|
|
60
|
+
if (1 !== t2[0].length) throw n.BuiltIn.Value;
|
|
61
|
+
u2 = this.acceptNumber(t2[0][0]);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return u2;
|
|
65
|
+
}
|
|
66
|
+
flattenParams(t2, e2, r2, u2, o2 = null, a2 = 1) {
|
|
67
|
+
if (t2.length < a2) throw new n.NA(`Argument type ${e2} is missing.`);
|
|
68
|
+
null == o2 && (o2 = e2 === c.NUMBER ? 0 : null == e2 ? null : ""), t2.forEach((n2) => {
|
|
69
|
+
const { isCellRef: t3, isRangeRef: r3, isArray: a3 } = n2;
|
|
70
|
+
let i2 = n2.value;
|
|
71
|
+
const l2 = false, s2 = !(t3 || r3 || a3), f2 = { isLiteral: s2, isCellRef: t3, isRangeRef: r3, isArray: a3, isUnion: l2 };
|
|
72
|
+
i2?.isIRange && (i2 = i2.getValues(), t3 && (i2 = i2[0][0])), s2 ? (n2 = n2.omitted ? o2 : this.accept(n2, e2, o2), u2(n2, f2)) : t3 ? u2(i2, f2) : (r3 || a3) && (n2 = this.flattenDeep(i2)).forEach((n3) => {
|
|
73
|
+
u2(n3, f2);
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
accept(t2, e2 = null, r2 = void 0, u2 = true, o2 = false) {
|
|
78
|
+
let a2 = false;
|
|
79
|
+
if (t2 && (t2.isIRange || t2.value?.isIRange)) {
|
|
80
|
+
const n2 = t2.value ?? t2;
|
|
81
|
+
1 === n2.size || e2 !== c.ARRAY ? t2 = n2.getValueAt(0, 0) : (t2 = n2.getValueAt(), a2 = true);
|
|
82
|
+
} else t2?.value && (a2 = t2.isArray, t2 = t2.value);
|
|
83
|
+
if (Array.isArray(e2) && (e2 = e2[0]), null == t2) {
|
|
84
|
+
if (void 0 === r2) throw new n.NA(`Argument type ${e2} is missing.`);
|
|
85
|
+
return r2;
|
|
86
|
+
}
|
|
87
|
+
if (null == e2) return t2;
|
|
88
|
+
if (t2 instanceof n.Known) throw t2;
|
|
89
|
+
if (e2 === c.ARRAY) {
|
|
90
|
+
if (Array.isArray(t2)) return u2 ? this.flattenDeep(t2) : t2;
|
|
91
|
+
if (Array.isArray(t2.value)) for (let n2 = 0; n2 < t2.value.length; n2++) {
|
|
92
|
+
null === t2.value[n2] && (t2.value[n2] = r2);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
if (o2) return u2 ? [t2] : [[t2]];
|
|
96
|
+
if (null === t2.value) return u2 ? [r2] : [[r2]];
|
|
97
|
+
}
|
|
98
|
+
throw n.BuiltIn.Value;
|
|
99
|
+
}
|
|
100
|
+
a2 && (t2 = t2[0][0]);
|
|
101
|
+
const i2 = this.type(t2);
|
|
102
|
+
if (e2 === c.STRING) t2 = i2 === c.BOOLEAN ? t2 ? "TRUE" : "FALSE" : `${t2}`;
|
|
103
|
+
else if (e2 === c.BOOLEAN) {
|
|
104
|
+
if (i2 === c.STRING) throw n.BuiltIn.Value;
|
|
105
|
+
i2 === c.NUMBER && (t2 = Boolean(t2));
|
|
106
|
+
} else if (e2 === c.NUMBER) t2 = this.acceptNumber(t2, false);
|
|
107
|
+
else {
|
|
108
|
+
if (e2 !== c.NUMBER_NO_BOOLEAN) throw n.BuiltIn.Value;
|
|
109
|
+
t2 = this.acceptNumber(t2, false, false);
|
|
110
|
+
}
|
|
111
|
+
return t2;
|
|
112
|
+
}
|
|
113
|
+
type(n2) {
|
|
114
|
+
if (n2.isIRange) return c.RANGE_REF;
|
|
115
|
+
let t2 = this.type2Number[typeof n2];
|
|
116
|
+
return -1 === t2 && (Array.isArray(n2) ? t2 = c.ARRAY : n2.ref && (t2 = n2.ref.from ? c.RANGE_REF : c.CELL_REF)), t2;
|
|
117
|
+
}
|
|
118
|
+
}(), p = 864e5, N = new Date(Date.UTC(1900, 0, 1)), h = [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], E = [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]], g = [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]], I = /^\s*(\d\d?)\s*(:\s*\d\d?)?\s*(:\s*\d\d?)?\s*(pm|am)?\s*$/i, T = /^\s*((\d\d?)\s*([-/])\s*(\d\d?))([\d:.apm\s]*)$/i, d = /^\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, b = /^\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;
|
|
119
|
+
function M(n2) {
|
|
120
|
+
let t2 = n2.getTime?.() ?? n2;
|
|
121
|
+
const e2 = t2 > -22038912e5 ? 2 : 1;
|
|
122
|
+
return Math.floor((t2 - N.getTime()) / 864e5) + e2;
|
|
123
|
+
}
|
|
124
|
+
function S(t2) {
|
|
125
|
+
if (t2 instanceof Date) return { date: t2 };
|
|
126
|
+
let e2, r2 = true;
|
|
127
|
+
return isNaN(t2) ? (e2 = function(n2) {
|
|
128
|
+
const t3 = n2.match(I);
|
|
129
|
+
if (!t3) return;
|
|
130
|
+
const e3 = t3[2] ? t3[2] : ":00", r3 = t3[3] ? t3[3] : ":00", u2 = t3[4] ? " " + t3[4] : "", o2 = new Date(Date.parse(`1/1/1900 ${t3[1] + e3 + r3 + u2} UTC`));
|
|
131
|
+
let a2 = /* @__PURE__ */ new Date();
|
|
132
|
+
return a2 = new Date(Date.UTC(a2.getFullYear(), a2.getMonth(), a2.getDate(), a2.getHours(), a2.getMinutes(), a2.getSeconds(), a2.getMilliseconds())), new Date(Date.UTC(a2.getUTCFullYear(), a2.getUTCMonth(), a2.getUTCDate(), o2.getUTCHours(), o2.getUTCMinutes(), o2.getUTCSeconds(), o2.getUTCMilliseconds()));
|
|
133
|
+
}(t2), e2 ? r2 = false : e2 = function(n2) {
|
|
134
|
+
const t3 = n2.match(T), e3 = n2.match(d), r3 = n2.match(b);
|
|
135
|
+
return t3 ? n2 = t3[1] + t3[3] + (/* @__PURE__ */ new Date()).getFullYear() + t3[5] : e3 ? n2 = e3[1] + e3[3] + (/* @__PURE__ */ new Date()).getFullYear() + e3[5] : r3 && (n2 = r3[1] + r3[3] + (/* @__PURE__ */ new Date()).getFullYear() + r3[5]), new Date(Date.parse(`${n2} UTC`));
|
|
136
|
+
}(t2)) : e2 = function(t3) {
|
|
137
|
+
if (t3 < 0) throw n.BuiltIn.Value;
|
|
138
|
+
return t3 <= 60 ? new Date(N.getTime() + 864e5 * (t3 - 1)) : new Date(N.getTime() + 864e5 * (t3 - 2));
|
|
139
|
+
}(t2 = Number(t2)), { date: e2, isDateGiven: r2 };
|
|
140
|
+
}
|
|
141
|
+
function A(n2) {
|
|
142
|
+
return S(n2).date;
|
|
143
|
+
}
|
|
144
|
+
function R(n2, t2) {
|
|
145
|
+
return n2.getUTCFullYear() === t2.getUTCFullYear() && n2.getUTCMonth() === t2.getUTCMonth() && n2.getUTCDate() === t2.getUTCDate();
|
|
146
|
+
}
|
|
147
|
+
function C(n2, e2, r2) {
|
|
148
|
+
const u2 = t.fromOADate(n2), o2 = t.fromOADate(e2);
|
|
149
|
+
if (r2 = r2.toLowerCase(), n2 > e2) return Number.NaN;
|
|
150
|
+
const a2 = o2.getUTCFullYear() - u2.getUTCFullYear(), i2 = o2.getUTCMonth() - u2.getUTCMonth(), l2 = o2.getUTCDate() - u2.getUTCDate();
|
|
151
|
+
let s2;
|
|
152
|
+
switch (r2) {
|
|
153
|
+
case "y":
|
|
154
|
+
return s2 = i2 < 0 || 0 === i2 && l2 < 0 ? -1 : 0, s2 + a2;
|
|
155
|
+
case "m":
|
|
156
|
+
return s2 = l2 < 0 ? -1 : 0, 12 * a2 + i2 + s2;
|
|
157
|
+
case "d":
|
|
158
|
+
return Math.floor(o2.getTime() - u2.getTime()) / p;
|
|
159
|
+
case "md":
|
|
160
|
+
return u2.setUTCFullYear(o2.getUTCFullYear()), l2 < 0 ? u2.setUTCMonth(o2.getUTCMonth() - 1) : u2.setUTCMonth(o2.getUTCMonth()), Math.floor(o2.getTime() - u2.getTime()) / p;
|
|
161
|
+
case "ym":
|
|
162
|
+
return s2 = l2 < 0 ? -1 : 0, (s2 + 12 * a2 + i2) % 12;
|
|
163
|
+
case "yd":
|
|
164
|
+
return i2 < 0 || 0 === i2 && l2 < 0 ? u2.setUTCFullYear(o2.getUTCFullYear() - 1) : u2.setUTCFullYear(o2.getUTCFullYear()), Math.floor(o2.getTime() - u2.getTime()) / p;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
function O(n2, t2) {
|
|
168
|
+
return Math.trunc(n2) - Math.trunc(t2);
|
|
169
|
+
}
|
|
170
|
+
function D(n2, e2, r2 = false) {
|
|
171
|
+
const u2 = t.fromOADate(n2), o2 = t.fromOADate(e2);
|
|
172
|
+
31 === u2.getUTCDate() && u2.setUTCDate(30), !r2 && u2.getUTCDate() < 30 && o2.getUTCDate() > 30 ? o2.setUTCMonth(o2.getUTCMonth() + 1, 1) : 31 === o2.getUTCDate() && o2.setUTCDate(30);
|
|
173
|
+
const a2 = o2.getUTCFullYear() - u2.getUTCFullYear();
|
|
174
|
+
return 30 * (o2.getUTCMonth() - u2.getUTCMonth()) + (o2.getUTCDate() - u2.getUTCDate()) + 12 * a2 * 30;
|
|
175
|
+
}
|
|
176
|
+
function y(n2) {
|
|
177
|
+
const t2 = A(n2), e2 = new Date(Date.UTC(t2.getFullYear(), t2.getMonth(), t2.getDate())), r2 = e2.getUTCDay();
|
|
178
|
+
e2.setUTCDate(e2.getUTCDate() + 4 - r2);
|
|
179
|
+
const u2 = new Date(Date.UTC(e2.getUTCFullYear(), 0, 1));
|
|
180
|
+
return Math.ceil(((e2.getTime() - u2.getTime()) / 864e5 + 1) / 7);
|
|
181
|
+
}
|
|
182
|
+
function w(t2, e2, r2 = 1, u2 = null) {
|
|
183
|
+
if (t2 = A(t2), "1111111" === r2) throw n.BuiltIn.Value;
|
|
184
|
+
if ("string" == typeof r2 && Number(r2).toString() !== r2) {
|
|
185
|
+
if (7 !== r2.length) throw n.BuiltIn.Value;
|
|
186
|
+
r2 = r2.charAt(6) + r2.slice(0, 6);
|
|
187
|
+
const t3 = [];
|
|
188
|
+
for (let n2 = 0; n2 < r2.length; n2++) "1" === r2.charAt(n2) && t3.push(n2);
|
|
189
|
+
r2 = t3;
|
|
190
|
+
} else {
|
|
191
|
+
if ("number" != typeof r2) throw n.BuiltIn.Value;
|
|
192
|
+
if (null == (r2 = g[r2])) throw n.BuiltIn.Num;
|
|
193
|
+
}
|
|
194
|
+
const o2 = [];
|
|
195
|
+
null != u2 && m.flattenParams([u2], c.NUMBER, false, (n2) => {
|
|
196
|
+
o2.push(A(n2));
|
|
197
|
+
}), t2.setUTCDate(t2.getUTCDate() + 1);
|
|
198
|
+
let a2 = 0;
|
|
199
|
+
for (; a2 < e2; ) {
|
|
200
|
+
let n2 = false;
|
|
201
|
+
for (let e3 = 0; e3 < r2.length; e3++) if (r2[e3] === t2.getUTCDay()) {
|
|
202
|
+
n2 = true;
|
|
203
|
+
break;
|
|
204
|
+
}
|
|
205
|
+
if (!n2) {
|
|
206
|
+
let n3 = false;
|
|
207
|
+
for (let e3 = 0; e3 < o2.length; e3++) if (R(t2, o2[e3])) {
|
|
208
|
+
n3 = true;
|
|
209
|
+
break;
|
|
210
|
+
}
|
|
211
|
+
n3 || a2++;
|
|
212
|
+
}
|
|
213
|
+
t2.setUTCDate(t2.getUTCDate() + 1);
|
|
214
|
+
}
|
|
215
|
+
return M(t2) - 1;
|
|
216
|
+
}
|
|
217
|
+
function B(e2, r2, u2 = 0) {
|
|
218
|
+
let o2 = t.fromOADate(e2), a2 = t.fromOADate(r2);
|
|
219
|
+
if (o2 > a2) {
|
|
220
|
+
const n2 = o2;
|
|
221
|
+
o2 = a2, a2 = n2;
|
|
222
|
+
const t2 = e2;
|
|
223
|
+
e2 = r2, r2 = t2;
|
|
224
|
+
}
|
|
225
|
+
if ((u2 = Math.trunc(u2)) < 0 || u2 > 4) throw n.BuiltIn.Value;
|
|
226
|
+
let i2 = o2.getUTCDate();
|
|
227
|
+
const l2 = o2.getUTCMonth() + 1, s2 = o2.getUTCFullYear();
|
|
228
|
+
let f2 = a2.getUTCDate();
|
|
229
|
+
const c2 = a2.getUTCMonth() + 1, m2 = a2.getUTCFullYear();
|
|
230
|
+
switch (u2) {
|
|
231
|
+
case 0:
|
|
232
|
+
return 31 === i2 && 31 === f2 ? (i2 = 30, f2 = 30) : 31 === i2 ? i2 = 30 : 30 === i2 && 31 === f2 && (f2 = 30), Math.abs(f2 + 30 * c2 + 360 * m2 - (i2 + 30 * l2 + 360 * s2)) / 360;
|
|
233
|
+
case 1:
|
|
234
|
+
if (m2 - s2 < 2) {
|
|
235
|
+
const n2 = 1900 !== (p2 = s2) && 1 !== new Date(p2, 1, 29).getMonth() || 1900 === s2 ? 365 : 366;
|
|
236
|
+
return O(r2, e2) / n2;
|
|
237
|
+
}
|
|
238
|
+
{
|
|
239
|
+
const n2 = m2 - s2 + 1, t2 = new Date(m2 + 1, 0, 1), u3 = new Date(s2, 0, 1), o3 = (t2.getTime() - u3.getTime()) / 1e3 / 60 / 60 / 24 / n2;
|
|
240
|
+
return O(r2, e2) / o3;
|
|
241
|
+
}
|
|
242
|
+
case 2:
|
|
243
|
+
return Math.abs(O(r2, e2) / 360);
|
|
244
|
+
case 3:
|
|
245
|
+
return Math.abs(O(r2, e2) / 365);
|
|
246
|
+
case 4:
|
|
247
|
+
return Math.abs(f2 + 30 * c2 + 360 * m2 - (i2 + 30 * l2 + 360 * s2)) / 360;
|
|
248
|
+
}
|
|
249
|
+
var p2;
|
|
250
|
+
}
|
|
251
|
+
const U = Object.freeze(Object.defineProperty({ __proto__: null, DATE: function(n2, e2, r2) {
|
|
252
|
+
return n2 < 0 || n2 >= 1e4 ? Number.NaN : (n2 < 1900 && (n2 += 1900), t.formatResults("Short Date"), t.toOADate(new Date(n2, e2 - 1, r2)));
|
|
253
|
+
}, DATEDIF: C, DATESTRING: function(t2) {
|
|
254
|
+
return n.BuiltIn.NA;
|
|
255
|
+
}, DATEVALUE: function(e2) {
|
|
256
|
+
try {
|
|
257
|
+
const r2 = t.parseAsDateTime(e2);
|
|
258
|
+
if (!r2) throw n.BuiltIn.Value;
|
|
259
|
+
return Math.floor(r2);
|
|
260
|
+
} catch (t2) {
|
|
261
|
+
throw n.BuiltIn.Value;
|
|
262
|
+
}
|
|
263
|
+
}, DAY: function(n2) {
|
|
264
|
+
return A(n2).getUTCDate();
|
|
265
|
+
}, DAYS: O, DAYS360: D, EDATE: function(n2, t2) {
|
|
266
|
+
return n2.setUTCMonth(n2.getUTCMonth() + t2), M(n2);
|
|
267
|
+
}, EOMONTH: function(n2, t2) {
|
|
268
|
+
return n2.setUTCMonth(n2.getUTCMonth() + t2 + 1, 0), M(n2);
|
|
269
|
+
}, HOUR: function(n2) {
|
|
270
|
+
return A(n2).getUTCHours();
|
|
271
|
+
}, ISOWEEKNUM: y, MINUTE: function(n2) {
|
|
272
|
+
return A(n2).getUTCMinutes();
|
|
273
|
+
}, MONTH: function(n2) {
|
|
274
|
+
return A(n2).getUTCMonth() + 1;
|
|
275
|
+
}, NETWORKDAYS: function(n2, t2, e2 = null) {
|
|
276
|
+
let r2 = 1;
|
|
277
|
+
if (n2 > t2) {
|
|
278
|
+
r2 = -1;
|
|
279
|
+
const e3 = n2;
|
|
280
|
+
n2 = t2, t2 = e3;
|
|
281
|
+
}
|
|
282
|
+
const u2 = [];
|
|
283
|
+
null !== e2 && m.flattenParams([e2], c.NUMBER, false, (n3) => {
|
|
284
|
+
u2.push(A(n3));
|
|
285
|
+
});
|
|
286
|
+
let o2 = 0;
|
|
287
|
+
for (; n2 <= t2; ) {
|
|
288
|
+
if (0 !== n2.getUTCDay() && 6 !== n2.getUTCDay()) {
|
|
289
|
+
let t3 = false;
|
|
290
|
+
for (let e3 = 0; e3 < u2.length; e3++) if (R(n2, u2[e3])) {
|
|
291
|
+
t3 = true;
|
|
292
|
+
break;
|
|
293
|
+
}
|
|
294
|
+
t3 || o2++;
|
|
295
|
+
}
|
|
296
|
+
n2.setUTCDate(n2.getUTCDate() + 1);
|
|
297
|
+
}
|
|
298
|
+
return r2 * o2;
|
|
299
|
+
}, NETWORKDAYS_INTL: function(t2, e2, r2 = 1, u2 = null) {
|
|
300
|
+
let o2 = 1;
|
|
301
|
+
if ((t2 = A(t2)) > (e2 = A(e2))) {
|
|
302
|
+
o2 = -1;
|
|
303
|
+
const n2 = t2;
|
|
304
|
+
t2 = e2, e2 = n2;
|
|
305
|
+
}
|
|
306
|
+
if ("1111111" === r2) return 0;
|
|
307
|
+
if ("string" == typeof r2 && Number(r2).toString() !== r2) {
|
|
308
|
+
if (7 !== r2.length) throw n.BuiltIn.Value;
|
|
309
|
+
r2 = r2.charAt(6) + r2.slice(0, 6);
|
|
310
|
+
const t3 = [];
|
|
311
|
+
for (let n2 = 0; n2 < r2.length; n2++) "1" === r2.charAt(n2) && t3.push(n2);
|
|
312
|
+
r2 = t3;
|
|
313
|
+
} else {
|
|
314
|
+
if ("number" != typeof r2) throw n.BuiltIn.Value;
|
|
315
|
+
r2 = g[r2];
|
|
316
|
+
}
|
|
317
|
+
const a2 = [];
|
|
318
|
+
null != u2 && m.flattenParams([u2], c.NUMBER, false, (n2) => {
|
|
319
|
+
a2.push(A(n2));
|
|
320
|
+
});
|
|
321
|
+
let i2 = 0;
|
|
322
|
+
for (; t2 <= e2; ) {
|
|
323
|
+
let n2 = false;
|
|
324
|
+
for (let e3 = 0; e3 < r2.length; e3++) if (r2[e3] === t2.getUTCDay()) {
|
|
325
|
+
n2 = true;
|
|
326
|
+
break;
|
|
327
|
+
}
|
|
328
|
+
if (!n2) {
|
|
329
|
+
let n3 = false;
|
|
330
|
+
for (let e3 = 0; e3 < a2.length; e3++) if (R(t2, a2[e3])) {
|
|
331
|
+
n3 = true;
|
|
332
|
+
break;
|
|
333
|
+
}
|
|
334
|
+
n3 || i2++;
|
|
335
|
+
}
|
|
336
|
+
t2.setUTCDate(t2.getUTCDate() + 1);
|
|
337
|
+
}
|
|
338
|
+
return o2 * i2;
|
|
339
|
+
}, NOW: function() {
|
|
340
|
+
const n2 = /* @__PURE__ */ new Date(), e2 = M(Date.UTC(n2.getFullYear(), n2.getMonth(), n2.getDate(), n2.getHours(), n2.getMinutes(), n2.getSeconds(), n2.getMilliseconds())) + (3600 * n2.getHours() + 60 * n2.getMinutes() + n2.getSeconds()) / 86400;
|
|
341
|
+
return t.markVolatile(), t.formatResults("Short Date Short Time"), e2;
|
|
342
|
+
}, SECOND: function(n2) {
|
|
343
|
+
return A(n2).getUTCSeconds();
|
|
344
|
+
}, TIME: function(n2, e2, r2) {
|
|
345
|
+
return n2 < 0 || n2 > 32767 || e2 < 0 || e2 > 32767 || r2 < 0 || r2 > 32767 ? Number.NaN : (t.formatResults("Medium Time"), (3600 * n2 + 60 * e2 + r2) / 86400);
|
|
346
|
+
}, TIMEVALUE: function(n2) {
|
|
347
|
+
const t2 = A(n2);
|
|
348
|
+
return (3600 * t2.getUTCHours() + 60 * t2.getUTCMinutes() + t2.getUTCSeconds()) / 86400;
|
|
349
|
+
}, TODAY: function() {
|
|
350
|
+
t.formatResults("Short Date");
|
|
351
|
+
const n2 = /* @__PURE__ */ new Date();
|
|
352
|
+
return t.toOADate(new Date(n2.getFullYear(), n2.getMonth(), n2.getDate()));
|
|
353
|
+
}, WEEKDAY: function(t2, e2 = 1) {
|
|
354
|
+
const r2 = A(t2).getUTCDay(), u2 = E[e2];
|
|
355
|
+
if (!u2) throw n.BuiltIn.Num;
|
|
356
|
+
return u2[r2];
|
|
357
|
+
}, WEEKNUM: function(n2, t2 = 1) {
|
|
358
|
+
const e2 = A(n2);
|
|
359
|
+
if (21 === t2) return y(n2);
|
|
360
|
+
const r2 = h[t2], u2 = new Date(Date.UTC(e2.getUTCFullYear(), 0, 1)), o2 = u2.getUTCDay() < r2 ? 1 : 0;
|
|
361
|
+
return Math.ceil(((e2.getTime() - u2.getTime()) / 864e5 + 1) / 7) + o2;
|
|
362
|
+
}, WORKDAY: function(n2, t2, e2 = null) {
|
|
363
|
+
return w(n2, t2, 1, e2);
|
|
364
|
+
}, WORKDAY_INTL: w, YEAR: function(n2) {
|
|
365
|
+
return A(n2).getUTCFullYear();
|
|
366
|
+
}, YEARFRAC: B }, Symbol.toStringTag, { value: "Module" }));
|
|
367
|
+
const L = Object.freeze(Object.defineProperty({ __proto__: null, BESSELI: function(n2, t2) {
|
|
368
|
+
return (t2 = Math.trunc(t2)) < 0 ? Number.NaN : a.besseli(n2, t2);
|
|
369
|
+
}, BESSELJ: function(n2, t2) {
|
|
370
|
+
return (t2 = Math.trunc(t2)) < 0 ? Number.NaN : a.besselj(n2, t2);
|
|
371
|
+
}, BESSELK: function(n2, t2) {
|
|
372
|
+
return (t2 = Math.trunc(t2)) < 0 ? Number.NaN : a.besselk(n2, t2);
|
|
373
|
+
}, BESSELY: function(n2, t2) {
|
|
374
|
+
return (t2 = Math.trunc(t2)) < 0 ? Number.NaN : a.bessely(n2, t2);
|
|
375
|
+
} }, Symbol.toStringTag, { value: "Module" })), _ = -512, v = (t2) => {
|
|
376
|
+
const e2 = typeof t2;
|
|
377
|
+
if ("boolean" === e2) return t2 ? 1 : 0;
|
|
378
|
+
if ("number" === e2) {
|
|
379
|
+
if (t2 < 0 || t2 > 281474976710655 || Math.floor(t2) !== t2) throw n.BuiltIn.Num;
|
|
380
|
+
return t2;
|
|
381
|
+
}
|
|
382
|
+
if ("string" === e2) {
|
|
383
|
+
let n2 = 0;
|
|
384
|
+
try {
|
|
385
|
+
n2 = 1 * t2;
|
|
386
|
+
} catch (n3) {
|
|
387
|
+
}
|
|
388
|
+
if (Number.isFinite(n2)) return n2;
|
|
389
|
+
}
|
|
390
|
+
throw n.BuiltIn.Value;
|
|
391
|
+
};
|
|
392
|
+
function V(n2, t2) {
|
|
393
|
+
if (n2 = v(n2), t2 = Math.trunc(t2), Math.abs(t2) > 53) return Number.NaN;
|
|
394
|
+
const e2 = t2 >= 0 ? n2 * 2 ** t2 : Math.trunc(n2 / 2 ** -t2);
|
|
395
|
+
return e2 > 281474976710655 ? Number.NaN : e2;
|
|
396
|
+
}
|
|
397
|
+
function P(t2, e2) {
|
|
398
|
+
if (t2 < -549755813888 || t2 > 549755813888) throw n.BuiltIn.Num;
|
|
399
|
+
if (t2 < 0) return (1099511627776 + t2).toString(16).toUpperCase();
|
|
400
|
+
const r2 = parseInt(t2, 10).toString(16);
|
|
401
|
+
if (void 0 === e2) return r2.toUpperCase();
|
|
402
|
+
if ((e2 = Math.trunc(e2)) <= 0) throw n.BuiltIn.Num;
|
|
403
|
+
if (e2 < r2.length) throw n.BuiltIn.Num;
|
|
404
|
+
return "0".repeat(e2 - r2.length) + r2.toUpperCase();
|
|
405
|
+
}
|
|
406
|
+
function F(t2, e2) {
|
|
407
|
+
if (t2 < -536870912 || t2 > 536870912) throw n.BuiltIn.Num;
|
|
408
|
+
if (t2 < 0) return (t2 + 1073741824).toString(8);
|
|
409
|
+
const r2 = parseInt(t2, 10).toString(8);
|
|
410
|
+
if (void 0 === e2) return r2.toUpperCase();
|
|
411
|
+
if ((e2 = Math.trunc(e2)) <= 0) throw n.BuiltIn.Num;
|
|
412
|
+
if (e2 < r2.length) throw n.BuiltIn.Num;
|
|
413
|
+
return "0".repeat(e2 - r2.length) + r2;
|
|
414
|
+
}
|
|
415
|
+
function x(n2) {
|
|
416
|
+
if (!/^[0-9A-Fa-f]{1,10}$/.test(n2)) return Number.NaN;
|
|
417
|
+
const t2 = parseInt(n2, 16);
|
|
418
|
+
return t2 >= 549755813888 ? t2 - 1099511627776 : t2;
|
|
419
|
+
}
|
|
420
|
+
function H(t2) {
|
|
421
|
+
if (t2.length > 10) throw n.BuiltIn.Num;
|
|
422
|
+
for (const e3 of t2) if (e3 < "0" || e3 > "7") throw n.BuiltIn.Num;
|
|
423
|
+
const e2 = parseInt(t2, 8);
|
|
424
|
+
return e2 >= 536870912 ? e2 - 1073741824 : e2;
|
|
425
|
+
}
|
|
426
|
+
const G = Object.freeze(Object.defineProperty({ __proto__: null, BIN2DEC: function(n2) {
|
|
427
|
+
const t2 = n2.toString();
|
|
428
|
+
return t2.length > 10 ? Number.NaN : 10 === t2.length && "1" === t2.substring(0, 1) ? parseInt(t2.substring(1), 2) + _ : parseInt(t2, 2);
|
|
429
|
+
}, BIN2HEX: function(t2, e2) {
|
|
430
|
+
const r2 = t2.toString();
|
|
431
|
+
if (r2.length > 10) throw n.BuiltIn.Num;
|
|
432
|
+
if (10 === r2.length && "1" === r2.substring(0, 1)) return (parseInt(r2.substring(1), 2) + 1099511627264).toString(16).toUpperCase();
|
|
433
|
+
const u2 = parseInt(t2, 2).toString(16);
|
|
434
|
+
if (void 0 === e2) return u2.toUpperCase();
|
|
435
|
+
if (e2 < 0) throw n.BuiltIn.Num;
|
|
436
|
+
if ((e2 = Math.trunc(e2)) >= u2.length) return ("0".repeat(e2 - u2.length) + u2).toUpperCase();
|
|
437
|
+
throw n.BuiltIn.Num;
|
|
438
|
+
}, BIN2OCT: function(t2, e2) {
|
|
439
|
+
let r2 = t2.toString();
|
|
440
|
+
if (r2.length > 10) throw n.BuiltIn.Num;
|
|
441
|
+
if (10 === r2.length && "1" === r2.substring(0, 1)) return (parseInt(r2.substring(1), 2) + 1073741312).toString(8);
|
|
442
|
+
const u2 = parseInt(t2, 2).toString(8);
|
|
443
|
+
if (void 0 === e2) return u2.toUpperCase();
|
|
444
|
+
if (e2 < 0) throw n.BuiltIn.Num;
|
|
445
|
+
if ((e2 = Math.trunc(e2)) >= u2.length) return "0".repeat(e2 - u2.length) + u2;
|
|
446
|
+
throw n.BuiltIn.Num;
|
|
447
|
+
}, BITAND: function(n2, t2) {
|
|
448
|
+
return (n2 = v(n2)) & (t2 = v(t2));
|
|
449
|
+
}, BITLSHIFT: V, BITOR: function(n2, t2) {
|
|
450
|
+
return (n2 = v(n2)) | (t2 = v(t2));
|
|
451
|
+
}, BITRSHIFT: function(n2, t2) {
|
|
452
|
+
return V(n2 = v(n2), -t2);
|
|
453
|
+
}, BITXOR: function(n2, t2) {
|
|
454
|
+
return (n2 = v(n2)) ^ (t2 = v(t2));
|
|
455
|
+
}, DEC2BIN: function(t2, e2) {
|
|
456
|
+
if (t2 < _ || t2 > 511) throw n.BuiltIn.Num;
|
|
457
|
+
if (t2 < 0) return "1" + "0".repeat(9 - (512 + t2).toString(2).length) + (512 + t2).toString(2);
|
|
458
|
+
const r2 = parseInt(t2, 10).toString(2);
|
|
459
|
+
if (void 0 === e2) return r2;
|
|
460
|
+
if ((e2 = Math.trunc(e2)) <= 0) throw n.BuiltIn.Num;
|
|
461
|
+
if (e2 < r2.length) throw n.BuiltIn.Num;
|
|
462
|
+
return "0".repeat(e2 - r2.length) + r2;
|
|
463
|
+
}, DEC2HEX: P, DEC2OCT: F, HEX2BIN: function(n2, t2) {
|
|
464
|
+
if (n2.length > 10 || !/^[0-9a-fA-F]*$/.test(n2)) return Number.NaN;
|
|
465
|
+
const e2 = 10 === n2.length && "f" === n2.substring(0, 1).toLowerCase(), r2 = e2 ? parseInt(n2, 16) - 1099511627776 : parseInt(n2, 16);
|
|
466
|
+
if (r2 < _ || r2 > 511) return Number.NaN;
|
|
467
|
+
if (e2) return "1" + "0".repeat(9 - (r2 + 512).toString(2).length) + (r2 + 512).toString(2);
|
|
468
|
+
const u2 = r2.toString(2);
|
|
469
|
+
return void 0 === t2 ? u2 : (t2 = Math.trunc(t2)) <= 0 || t2 < u2.length ? Number.NaN : "0".repeat(t2 - u2.length) + u2;
|
|
470
|
+
}, HEX2DEC: x, HEX2OCT: function(t2, e2) {
|
|
471
|
+
if (t2.length > 10 || !/^[0-9a-fA-F]*$/.test(t2)) throw n.BuiltIn.Num;
|
|
472
|
+
const r2 = x(t2);
|
|
473
|
+
if (r2 > 536870911 || r2 < -536870912) throw n.BuiltIn.Num;
|
|
474
|
+
return F(r2, e2);
|
|
475
|
+
}, OCT2BIN: function(t2, e2) {
|
|
476
|
+
if (t2.length > 10) throw n.BuiltIn.Num;
|
|
477
|
+
if (e2 > 10) throw n.BuiltIn.Num;
|
|
478
|
+
if (void 0 !== e2 && e2 < 0) throw n.BuiltIn.Num;
|
|
479
|
+
e2 = Math.trunc(e2);
|
|
480
|
+
const r2 = 10 === t2.length && "7" === t2.substring(0, 1), u2 = H(t2);
|
|
481
|
+
if (u2 < _ || u2 > 511) throw n.BuiltIn.Num;
|
|
482
|
+
if (r2) return "1" + "0".repeat(9 - (512 + u2).toString(2).length) + (512 + u2).toString(2);
|
|
483
|
+
const o2 = u2.toString(2);
|
|
484
|
+
if (0 === e2) return o2;
|
|
485
|
+
if (e2 < o2.length) throw n.BuiltIn.Num;
|
|
486
|
+
return "0".repeat(e2 - o2.length) + o2;
|
|
487
|
+
}, OCT2DEC: H, OCT2HEX: function(n2, t2) {
|
|
488
|
+
if (n2.length > 10) return Number.NaN;
|
|
489
|
+
for (const t3 of n2) if (t3 < "0" || t3 > "7") return Number.NaN;
|
|
490
|
+
if ((t2 = Math.trunc(t2)) < 0 || t2 > 10) return Number.NaN;
|
|
491
|
+
const e2 = P(H(n2));
|
|
492
|
+
return 0 === t2 ? e2 : t2 < e2.length ? Number.NaN : "0".repeat(t2 - e2.length) + e2;
|
|
493
|
+
} }, Symbol.toStringTag, { value: "Module" }));
|
|
494
|
+
const X = Object.freeze(Object.defineProperty({ __proto__: null, CONVERT: function(t2, e2, r2) {
|
|
495
|
+
const u2 = [["a.u. of action", "?", null, "action", false, false, 105457168181818e-48], ["a.u. of charge", "e", null, "electric_charge", false, false, 160217653141414e-33], ["a.u. of energy", "Eh", null, "energy", false, false, 435974417757576e-32], ["a.u. of length", "a?", null, "length", false, false, 529177210818182e-25], ["a.u. of mass", "m?", null, "mass", false, false, 910938261616162e-45], ["a.u. of time", "?/Eh", null, "time", false, false, 241888432650516e-31], ["admiralty knot", "admkn", null, "speed", false, true, 0.514773333], ["ampere", "A", null, "electric_current", true, false, 1], ["ampere per meter", "A/m", null, "magnetic_field_intensity", true, false, 1], ["ångström", "Å", ["ang"], "length", false, true, 1e-10], ["are", "ar", null, "area", false, true, 100], ["astronomical unit", "ua", null, "length", false, false, 149597870691667e-25], ["bar", "bar", null, "pressure", false, false, 1e5], ["barn", "b", null, "area", false, false, 1e-28], ["becquerel", "Bq", null, "radioactivity", true, false, 1], ["bit", "bit", ["b"], "information", false, true, 1], ["btu", "BTU", ["btu"], "energy", false, true, 1055.05585262], ["byte", "byte", null, "information", false, true, 8], ["candela", "cd", null, "luminous_intensity", true, false, 1], ["candela per square metre", "cd/m?", null, "luminance", true, false, 1], ["coulomb", "C", null, "electric_charge", true, false, 1], ["cubic ångström", "ang3", ["ang^3"], "volume", false, true, 1e-30], ["cubic foot", "ft3", ["ft^3"], "volume", false, true, 0.028316846592], ["cubic inch", "in3", ["in^3"], "volume", false, true, 16387064e-12], ["cubic light-year", "ly3", ["ly^3"], "volume", false, true, 846786664623715e-61], ["cubic metre", "m3", ["m^3"], "volume", true, true, 1], ["cubic mile", "mi3", ["mi^3"], "volume", false, true, 416818182544058e-5], ["cubic nautical mile", "Nmi3", ["Nmi^3"], "volume", false, true, 6352182208], ["cubic Pica", "Pica3", ["Picapt3", "Pica^3", "Picapt^3"], "volume", false, true, 758660370370369e-22], ["cubic yard", "yd3", ["yd^3"], "volume", false, true, 0.764554857984], ["cup", "cup", null, "volume", false, true, 2365882365e-13], ["dalton", "Da", ["u"], "mass", false, false, 166053886282828e-41], ["day", "d", ["day"], "time", false, true, 86400], ["degree", "°", null, "angle", false, false, 0.0174532925199433], ["degrees Rankine", "Rank", null, "temperature", false, true, 0.555555555555556], ["dyne", "dyn", ["dy"], "force", false, true, 1e-5], ["electronvolt", "eV", ["ev"], "energy", false, true, 1.60217656514141], ["ell", "ell", null, "length", false, true, 1.143], ["erg", "erg", ["e"], "energy", false, true, 1e-7], ["farad", "F", null, "electric_capacitance", true, false, 1], ["fluid ounce", "oz", null, "volume", false, true, 295735295625e-16], ["foot", "ft", null, "length", false, true, 0.3048], ["foot-pound", "flb", null, "energy", false, true, 1.3558179483314], ["gal", "Gal", null, "acceleration", false, false, 0.01], ["gallon", "gal", null, "volume", false, true, 0.003785411784], ["gauss", "G", ["ga"], "magnetic_flux_density", false, true, 1], ["grain", "grain", null, "mass", false, true, 647989e-10], ["gram", "g", null, "mass", false, true, 1e-3], ["gray", "Gy", null, "absorbed_dose", true, false, 1], ["gross registered ton", "GRT", ["regton"], "volume", false, true, 2.8316846592], ["hectare", "ha", null, "area", false, true, 1e4], ["henry", "H", null, "inductance", true, false, 1], ["hertz", "Hz", null, "frequency", true, false, 1], ["horsepower", "HP", ["h"], "power", false, true, 745.69987158227], ["horsepower-hour", "HPh", ["hh", "hph"], "energy", false, true, 2684519538e-3], ["hour", "h", ["hr"], "time", false, true, 3600], ["imperial gallon (U.K.)", "uk_gal", null, "volume", false, true, 454609e-8], ["imperial hundredweight", "lcwt", ["uk_cwt", "hweight"], "mass", false, true, 50.802345], ["imperial quart (U.K)", "uk_qt", null, "volume", false, true, 0.0011365225], ["imperial ton", "brton", ["uk_ton", "LTON"], "mass", false, true, 1016.046909], ["inch", "in", null, "length", false, true, 0.0254], ["international acre", "uk_acre", null, "area", false, true, 4046.8564224], ["IT calorie", "cal", null, "energy", false, true, 4.1868], ["joule", "J", null, "energy", true, true, 1], ["katal", "kat", null, "catalytic_activity", true, false, 1], ["kelvin", "K", ["kel"], "temperature", true, true, 1], ["kilogram", "kg", null, "mass", true, true, 1], ["knot", "kn", null, "speed", false, true, 0.514444444444444], ["light-year", "ly", null, "length", false, true, 9460730472580800], ["litre", "L", ["l", "lt"], "volume", false, true, 1e-3], ["lumen", "lm", null, "luminous_flux", true, false, 1], ["lux", "lx", null, "illuminance", true, false, 1], ["maxwell", "Mx", null, "magnetic_flux", false, false, 1e-18], ["measurement ton", "MTON", null, "volume", false, true, 1.13267386368], ["meter per hour", "m/h", ["m/hr"], "speed", false, true, 27777777777778e-17], ["meter per second", "m/s", ["m/sec"], "speed", true, true, 1], ["meter per second squared", "m?s??", null, "acceleration", true, false, 1], ["parsec", "pc", ["parsec"], "length", false, true, 30856775814671900], ["meter squared per second", "m?/s", null, "kinematic_viscosity", true, false, 1], ["metre", "m", null, "length", true, true, 1], ["miles per hour", "mph", null, "speed", false, true, 0.44704], ["millimetre of mercury", "mmHg", null, "pressure", false, false, 133.322], ["minute", "?", null, "angle", false, false, 290888208665722e-18], ["minute", "min", ["mn"], "time", false, true, 60], ["modern teaspoon", "tspm", null, "volume", false, true, 5e-6], ["mole", "mol", null, "amount_of_substance", true, false, 1], ["morgen", "Morgen", null, "area", false, true, 2500], ["n.u. of action", "?", null, "action", false, false, 105457168181818e-48], ["n.u. of mass", "m?", null, "mass", false, false, 910938261616162e-45], ["n.u. of speed", "c?", null, "speed", false, false, 299792458], ["n.u. of time", "?/(me?c??)", null, "time", false, false, 128808866778687e-35], ["nautical mile", "M", ["Nmi"], "length", false, true, 1852], ["newton", "N", null, "force", true, true, 1], ["œrsted", "Oe ", null, "magnetic_field_intensity", false, false, 79.5774715459477], ["ohm", "Ω", null, "electric_resistance", true, false, 1], ["ounce mass", "ozm", null, "mass", false, true, 0.028349523125], ["pascal", "Pa", null, "pressure", true, false, 1], ["pascal second", "Pa?s", null, "dynamic_viscosity", true, false, 1], ["pferdestärke", "PS", null, "power", false, true, 735.49875], ["phot", "ph", null, "illuminance", false, false, 1e-4], ["pica (1/6 inch)", "pica", null, "length", false, true, 35277777777778e-17], ["pica (1/72 inch)", "Pica", ["Picapt"], "length", false, true, 0.00423333333333333], ["poise", "P", null, "dynamic_viscosity", false, false, 0.1], ["pond", "pond", null, "force", false, true, 980665e-8], ["pound force", "lbf", null, "force", false, true, 4.4482216152605], ["pound mass", "lbm", null, "mass", false, true, 0.45359237], ["quart", "qt", null, "volume", false, true, 946352946e-12], ["radian", "rad", null, "angle", true, false, 1], ["second", "?", null, "angle", false, false, 484813681109536e-20], ["second", "s", ["sec"], "time", true, true, 1], ["short hundredweight", "cwt", ["shweight"], "mass", false, true, 45.359237], ["siemens", "S", null, "electrical_conductance", true, false, 1], ["sievert", "Sv", null, "equivalent_dose", true, false, 1], ["slug", "sg", null, "mass", false, true, 14.59390294], ["square ångström", "ang2", ["ang^2"], "area", false, true, 1e-20], ["square foot", "ft2", ["ft^2"], "area", false, true, 0.09290304], ["square inch", "in2", ["in^2"], "area", false, true, 64516e-8], ["square light-year", "ly2", ["ly^2"], "area", false, true, 895054210748189e17], ["square meter", "m?", null, "area", true, true, 1], ["square mile", "mi2", ["mi^2"], "area", false, true, 2589988110336e-6], ["square nautical mile", "Nmi2", ["Nmi^2"], "area", false, true, 3429904], ["square Pica", "Pica2", ["Picapt2", "Pica^2", "Picapt^2"], "area", false, true, 1792111111111e-17], ["square yard", "yd2", ["yd^2"], "area", false, true, 0.83612736], ["statute mile", "mi", null, "length", false, true, 1609.344], ["steradian", "sr", null, "solid_angle", true, false, 1], ["stilb", "sb", null, "luminance", false, false, 1e-4], ["stokes", "St", null, "kinematic_viscosity", false, false, 1e-4], ["stone", "stone", null, "mass", false, true, 6.35029318], ["tablespoon", "tbs", null, "volume", false, true, 147868e-10], ["teaspoon", "tsp", null, "volume", false, true, 492892e-11], ["tesla", "T", null, "magnetic_flux_density", true, true, 1], ["thermodynamic calorie", "c", null, "energy", false, true, 4.184], ["ton", "ton", null, "mass", false, true, 907.18474], ["tonne", "t", null, "mass", false, false, 1e3], ["U.K. pint", "uk_pt", null, "volume", false, true, 56826125e-11], ["U.S. bushel", "bushel", null, "volume", false, true, 0.03523907], ["U.S. oil barrel", "barrel", null, "volume", false, true, 0.158987295], ["U.S. pint", "pt", ["us_pt"], "volume", false, true, 473176473e-12], ["U.S. survey mile", "survey_mi", null, "length", false, true, 1609.347219], ["U.S. survey/statute acre", "us_acre", null, "area", false, true, 4046.87261], ["volt", "V", null, "voltage", true, false, 1], ["watt", "W", null, "power", true, true, 1], ["watt-hour", "Wh", ["wh"], "energy", false, true, 3600], ["weber", "Wb", null, "magnetic_flux", true, false, 1], ["yard", "yd", null, "length", false, true, 0.9144], ["year", "yr", null, "time", false, true, 31557600]], o2 = { 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"] }, a2 = { 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"] };
|
|
496
|
+
let i2, l2 = null, s2 = null, f2 = e2, c2 = r2, m2 = 1, p2 = 1;
|
|
497
|
+
for (let n2 = 0; n2 < u2.length; n2++) i2 = null === u2[n2][2] ? [] : u2[n2][2], (u2[n2][1] === f2 || i2.indexOf(f2) >= 0) && (l2 = u2[n2]), (u2[n2][1] === c2 || i2.indexOf(c2) >= 0) && (s2 = u2[n2]);
|
|
498
|
+
if (null === l2) {
|
|
499
|
+
const n2 = o2[e2.substring(0, 2)];
|
|
500
|
+
let t3 = a2[e2.substring(0, 1)];
|
|
501
|
+
"da" === e2.substring(0, 2) && (t3 = ["dekao", 10, "da"]), n2 ? (m2 = n2[2], f2 = e2.substring(2)) : t3 && (m2 = t3[1], f2 = e2.substring(t3[2].length));
|
|
502
|
+
for (let n3 = 0; n3 < u2.length; n3++) i2 = null === u2[n3][2] ? [] : u2[n3][2], (u2[n3][1] === f2 || i2.indexOf(f2) >= 0) && (l2 = u2[n3]);
|
|
503
|
+
}
|
|
504
|
+
if (null === s2) {
|
|
505
|
+
const n2 = o2[r2.substring(0, 2)];
|
|
506
|
+
let t3 = a2[r2.substring(0, 1)];
|
|
507
|
+
"da" === r2.substring(0, 2) && (t3 = ["dekao", 10, "da"]), n2 ? (p2 = n2[2], c2 = r2.substring(2)) : t3 && (p2 = t3[1], c2 = r2.substring(t3[2].length));
|
|
508
|
+
for (let n3 = 0; n3 < u2.length; n3++) i2 = null === u2[n3][2] ? [] : u2[n3][2], (u2[n3][1] === c2 || i2.indexOf(c2) >= 0) && (s2 = u2[n3]);
|
|
509
|
+
}
|
|
510
|
+
if (null === l2 || null === s2) throw n.BuiltIn.NA;
|
|
511
|
+
if (l2[3] !== s2[3]) throw n.BuiltIn.NA;
|
|
512
|
+
return t2 * l2[6] * m2 / (s2[6] * p2);
|
|
513
|
+
} }, Symbol.toStringTag, { value: "Module" }));
|
|
514
|
+
const Y = Object.freeze(Object.defineProperty({ __proto__: null, DELTA: function(n2, t2 = 0) {
|
|
515
|
+
return n2 === t2 ? 1 : 0;
|
|
516
|
+
}, GESTEP: function(n2, t2 = 0) {
|
|
517
|
+
return n2 >= t2 ? 1 : 0;
|
|
518
|
+
} }, Symbol.toStringTag, { value: "Module" }));
|
|
519
|
+
const k = Object.freeze(Object.defineProperty({ __proto__: null, ERF: function(n2, t2 = 0) {
|
|
520
|
+
return i.erf(n2);
|
|
521
|
+
}, ERFC: function(n2) {
|
|
522
|
+
return i.erfc(n2);
|
|
523
|
+
}, ERF_PRECISE: function(n2) {
|
|
524
|
+
return i.erf(n2);
|
|
525
|
+
} }, Symbol.toStringTag, { value: "Module" })), z = /^\s?[+-]?\s?[0-9]+[.]?[0-9]*([eE][+-][0-9]+)?\s?$/, j = /^\s?([+-]?\s?([0-9]+[.]?[0-9]*([eE][+-][0-9]+)?)?)\s?[ij]\s?$/, W = /^\s?([+-]?\s?[0-9]+[.]?[0-9]*([eE][+-][0-9]+)?)\s?([+-]?\s?([0-9]+[.]?[0-9]*([eE][+-][0-9]+)?)?)\s?[ij]\s?$/, K = /^\s?[+-]?\s?$/;
|
|
526
|
+
function $(t2) {
|
|
527
|
+
let e2 = 0, r2 = 0, u2 = "i";
|
|
528
|
+
if ("number" == typeof t2) return { real: t2, im: r2, unit: u2 };
|
|
529
|
+
if ("boolean" == typeof t2) throw n.BuiltIn.Value;
|
|
530
|
+
let o2 = t2.match(z);
|
|
531
|
+
if (o2) return e2 = Number(o2[0]), { real: e2, im: r2, unit: u2 };
|
|
532
|
+
if (o2 = t2.match(j), o2) return r2 = Number(K.test(o2[1]) ? o2[1] + "1" : o2[1]), u2 = o2[0].slice(-1), { real: e2, im: r2, unit: u2 };
|
|
533
|
+
if (o2 = t2.match(W), o2) return e2 = Number(o2[1]), r2 = Number(K.test(o2[3]) ? o2[3] + "1" : o2[3]), u2 = o2[0].slice(-1), { real: e2, im: r2, unit: u2 };
|
|
534
|
+
throw n.BuiltIn.Num;
|
|
535
|
+
}
|
|
536
|
+
function q(t2, e2, r2 = "i") {
|
|
537
|
+
if ("i" !== r2 && "j" !== r2) throw n.BuiltIn.Value;
|
|
538
|
+
if (0 === t2 && 0 === e2) return 0;
|
|
539
|
+
if (0 === t2) return 1 === e2 ? r2 : -1 === e2 ? "-" + r2 : e2.toString() + r2;
|
|
540
|
+
if (0 === e2) return t2.toString();
|
|
541
|
+
let u2 = e2 > 0 ? "+" : "";
|
|
542
|
+
return 1 === e2 ? t2.toString() + u2 + r2 : -1 === e2 ? t2.toString() + u2 + "-" + r2 : t2.toString() + u2 + e2.toString() + r2;
|
|
543
|
+
}
|
|
544
|
+
function Q(n2) {
|
|
545
|
+
const { real: t2, im: e2 } = $(n2);
|
|
546
|
+
return Math.sqrt(Math.pow(t2, 2) + Math.pow(e2, 2));
|
|
547
|
+
}
|
|
548
|
+
function Z(n2) {
|
|
549
|
+
const { real: t2, im: e2 } = $(n2);
|
|
550
|
+
return 0 === t2 && 0 === e2 ? 1 / 0 : 0 === t2 && e2 > 0 ? Math.PI / 2 : 0 === t2 && e2 < 0 ? -Math.PI / 2 : t2 < 0 && 0 === e2 ? Math.PI : t2 > 0 && 0 === e2 ? 0 : t2 > 0 ? Math.atan(e2 / t2) : t2 < 0 && e2 > 0 ? Math.atan(e2 / t2) + Math.PI : Math.atan(e2 / t2) - Math.PI;
|
|
551
|
+
}
|
|
552
|
+
function J(n2) {
|
|
553
|
+
const { real: t2, im: e2, unit: r2 } = $(n2);
|
|
554
|
+
return q(Math.cos(t2) * (Math.exp(e2) + Math.exp(-e2)) / 2, -Math.sin(t2) * (Math.exp(e2) - Math.exp(-e2)) / 2, r2);
|
|
555
|
+
}
|
|
556
|
+
function nn(n2) {
|
|
557
|
+
const { real: t2, im: e2, unit: r2 } = $(n2);
|
|
558
|
+
return q(Math.cos(e2) * (Math.exp(t2) + Math.exp(-t2)) / 2, -(-Math.sin(e2) * (Math.exp(t2) - Math.exp(-t2)) / 2), r2);
|
|
559
|
+
}
|
|
560
|
+
function tn(t2, e2) {
|
|
561
|
+
const r2 = $(t2), u2 = r2.real, o2 = r2.im, a2 = r2.unit, i2 = $(e2), l2 = i2.real, s2 = i2.im, f2 = i2.unit;
|
|
562
|
+
if (0 === l2 && 0 === s2 || a2 !== f2) throw n.BuiltIn.Num;
|
|
563
|
+
const c2 = a2, m2 = Math.pow(l2, 2) + Math.pow(s2, 2);
|
|
564
|
+
return q((u2 * l2 + o2 * s2) / m2, (o2 * l2 - u2 * s2) / m2, c2);
|
|
565
|
+
}
|
|
566
|
+
function en(n2) {
|
|
567
|
+
const { real: t2, im: e2, unit: r2 } = $(n2);
|
|
568
|
+
return q(Math.sin(t2) * (Math.exp(e2) + Math.exp(-e2)) / 2, Math.cos(t2) * (Math.exp(e2) - Math.exp(-e2)) / 2, r2);
|
|
569
|
+
}
|
|
570
|
+
function rn(n2) {
|
|
571
|
+
const { real: t2, im: e2, unit: r2 } = $(n2);
|
|
572
|
+
return q(Math.cos(e2) * (Math.exp(t2) - Math.exp(-t2)) / 2, Math.sin(e2) * (Math.exp(t2) + Math.exp(-t2)) / 2, r2);
|
|
573
|
+
}
|
|
574
|
+
const un = Object.freeze(Object.defineProperty({ __proto__: null, COMPLEX: q, IMABS: Q, IMAGINARY: function(n2) {
|
|
575
|
+
return $(n2).im;
|
|
576
|
+
}, IMARGUMENT: Z, IMCONJUGATE: function(n2) {
|
|
577
|
+
const { real: t2, im: e2, unit: r2 } = $(n2);
|
|
578
|
+
return 0 !== e2 ? q(t2, -e2, r2) : "" + t2;
|
|
579
|
+
}, IMCOS: J, IMCOSH: nn, IMCOT: function(n2) {
|
|
580
|
+
return tn(J(n2), en(n2));
|
|
581
|
+
}, IMCSC: function(n2) {
|
|
582
|
+
return tn("1", en(n2));
|
|
583
|
+
}, IMCSCH: function(n2) {
|
|
584
|
+
return tn("1", rn(n2));
|
|
585
|
+
}, IMDIV: tn, IMEXP: function(n2) {
|
|
586
|
+
const { real: t2, im: e2, unit: r2 } = $(n2), u2 = Math.exp(t2);
|
|
587
|
+
return q(u2 * Math.cos(e2), u2 * Math.sin(e2), r2);
|
|
588
|
+
}, IMLN: function(n2) {
|
|
589
|
+
const { real: t2, im: e2, unit: r2 } = $(n2);
|
|
590
|
+
return q(Math.log(Math.sqrt(Math.pow(t2, 2) + Math.pow(e2, 2))), Math.atan(e2 / t2), r2);
|
|
591
|
+
}, IMLOG10: function(n2) {
|
|
592
|
+
const { real: t2, im: e2, unit: r2 } = $(n2);
|
|
593
|
+
return q(Math.log(Math.sqrt(Math.pow(t2, 2) + Math.pow(e2, 2))) / Math.log(10), Math.atan(e2 / t2) / Math.log(10), r2);
|
|
594
|
+
}, IMLOG2: function(n2) {
|
|
595
|
+
const { real: t2, im: e2, unit: r2 } = $(n2);
|
|
596
|
+
return q(Math.log(Math.sqrt(Math.pow(t2, 2) + Math.pow(e2, 2))) / Math.log(2), Math.atan(e2 / t2) / Math.log(2), r2);
|
|
597
|
+
}, IMPOWER: function(n2, t2) {
|
|
598
|
+
const { unit: e2 } = $(n2), r2 = Math.pow(Q(n2), t2), u2 = Z(n2);
|
|
599
|
+
return q(r2 * Math.cos(t2 * u2), r2 * Math.sin(t2 * u2), e2);
|
|
600
|
+
}, IMPRODUCT: function(...t2) {
|
|
601
|
+
const e2 = t2.length;
|
|
602
|
+
if (0 === e2) return 0;
|
|
603
|
+
let r2 = t2[0];
|
|
604
|
+
$(r2);
|
|
605
|
+
for (let u2 = 1; u2 < e2; u2++) {
|
|
606
|
+
const e3 = t2[u2], o2 = $(r2), a2 = $(e3);
|
|
607
|
+
if (o2.unit !== a2.unit) throw n.BuiltIn.Value;
|
|
608
|
+
const i2 = o2.real, l2 = o2.im, s2 = a2.real, f2 = a2.im;
|
|
609
|
+
r2 = q(i2 * s2 - l2 * f2, i2 * f2 + l2 * s2);
|
|
610
|
+
}
|
|
611
|
+
return r2;
|
|
612
|
+
}, IMREAL: function(n2) {
|
|
613
|
+
return $(n2).real;
|
|
614
|
+
}, IMSEC: function(n2) {
|
|
615
|
+
return tn("1", J(n2));
|
|
616
|
+
}, IMSECH: function(n2) {
|
|
617
|
+
return tn("1", nn(n2));
|
|
618
|
+
}, IMSIN: en, IMSINH: rn, IMSQRT: function(n2) {
|
|
619
|
+
const { unit: t2 } = $(n2), e2 = Math.sqrt(Q(n2)), r2 = Z(n2);
|
|
620
|
+
return q(e2 * Math.cos(r2 / 2), e2 * Math.sin(r2 / 2), t2);
|
|
621
|
+
}, IMSUB: function(t2, e2) {
|
|
622
|
+
const r2 = $(t2), u2 = r2.real, o2 = r2.im, a2 = r2.unit, i2 = $(e2), l2 = i2.real, s2 = i2.im;
|
|
623
|
+
if (a2 !== i2.unit) throw n.BuiltIn.Value;
|
|
624
|
+
return q(u2 - l2, o2 - s2, a2);
|
|
625
|
+
}, IMSUM: function(...t2) {
|
|
626
|
+
let e2, r2 = 0, u2 = 0;
|
|
627
|
+
const o2 = t2.length;
|
|
628
|
+
for (let a2 = 0; a2 < o2; a2++) {
|
|
629
|
+
const o3 = t2[a2], { real: i2, im: l2, unit: s2 } = $(o3);
|
|
630
|
+
if (e2 || (e2 = s2), e2 !== s2) throw n.BuiltIn.Value;
|
|
631
|
+
r2 += i2, u2 += l2;
|
|
632
|
+
}
|
|
633
|
+
return q(r2, u2, e2);
|
|
634
|
+
}, IMTAN: function(n2) {
|
|
635
|
+
return tn(en(n2), J(n2));
|
|
636
|
+
} }, Symbol.toStringTag, { value: "Module" })), on = 1e-7, an = (n2) => {
|
|
637
|
+
const t2 = n2.getCurrencySymbol(), e2 = n2.getNumberGroupSeparator(), r2 = n2.getNumberDecimalSeparator();
|
|
638
|
+
return `${t2}#${e2}##0${r2}00_);[Red](${t2}#${e2}##0${r2}00)`;
|
|
639
|
+
}, ln = (n2, t2) => {
|
|
640
|
+
const e2 = t2.getFullYear() - n2.getFullYear();
|
|
641
|
+
if (e2 > 1) return true;
|
|
642
|
+
if (e2 < 1) return false;
|
|
643
|
+
const r2 = t2.getMonth() - n2.getMonth();
|
|
644
|
+
if (r2 > 0) return true;
|
|
645
|
+
if (r2 < 0) return false;
|
|
646
|
+
return t2.getDate() - n2.getDate() > 0;
|
|
647
|
+
};
|
|
648
|
+
function sn(n2) {
|
|
649
|
+
return !(n2 < 1 || n2 > 4 || 3 === n2);
|
|
650
|
+
}
|
|
651
|
+
function fn(n2) {
|
|
652
|
+
return !(n2 < 0 || n2 >= 2958466);
|
|
653
|
+
}
|
|
654
|
+
function cn(n2) {
|
|
655
|
+
return !(n2 < 0 || n2 > 4);
|
|
656
|
+
}
|
|
657
|
+
function mn(n2, e2, r2, u2 = 0, o2 = 0) {
|
|
658
|
+
let a2;
|
|
659
|
+
if (0 === n2) a2 = u2 + r2 * e2;
|
|
660
|
+
else {
|
|
661
|
+
const t2 = Math.pow(1 + n2, e2);
|
|
662
|
+
a2 = 1 === o2 ? u2 * t2 + r2 * (1 + n2) * (t2 - 1) / n2 : u2 * t2 + r2 * (t2 - 1) / n2;
|
|
663
|
+
}
|
|
664
|
+
return t.formatResults(an(t.getRuntime())), -a2;
|
|
665
|
+
}
|
|
666
|
+
function pn(t2, ...e2) {
|
|
667
|
+
if (e2.length > 254) throw n.BuiltIn.Value;
|
|
668
|
+
let r2 = 0;
|
|
669
|
+
for (let n2 = e2.length - 1; n2 >= 0; n2--) {
|
|
670
|
+
if (r2 += e2[n2], -1 === t2) {
|
|
671
|
+
if (0 === r2) continue;
|
|
672
|
+
return 1 / 0;
|
|
673
|
+
}
|
|
674
|
+
r2 /= 1 + t2;
|
|
675
|
+
}
|
|
676
|
+
return r2;
|
|
677
|
+
}
|
|
678
|
+
function Nn(n2, e2, r2, u2 = 0, o2 = 0) {
|
|
679
|
+
if (0 === n2) return (-r2 - u2) / e2;
|
|
680
|
+
o2 = o2 ? 1 : 0;
|
|
681
|
+
const a2 = Math.pow(1 + n2, e2);
|
|
682
|
+
return t.formatResults(an(t.getRuntime())), (u2 * n2 + r2 * n2 * a2) * (o2 ? 1 / (1 + n2) : 1) / (1 - a2);
|
|
683
|
+
}
|
|
684
|
+
const hn = Object.freeze(Object.defineProperty({ __proto__: null, ACCRINT: function(n2, t2, e2, r2, u2, o2, a2 = 0, i2 = true) {
|
|
685
|
+
return fn(n2) && fn(t2) && fn(e2) && sn(o2) && !cn(a2) ? u2 * r2 * B(n2, e2, a2) : Number.NaN;
|
|
686
|
+
}, ACCRINTM: function(n2, t2, e2, r2, u2 = 0) {
|
|
687
|
+
}, AMORLINC: function(n2, t2, e2, r2, u2, o2, a2 = 0) {
|
|
688
|
+
}, COUPDAYBS: function(n2, t2, e2, r2 = 0) {
|
|
689
|
+
}, COUPDAYS: function(n2, e2, r2, u2 = 0) {
|
|
690
|
+
if (1 === u2) {
|
|
691
|
+
const u3 = function(n3, t2, e3) {
|
|
692
|
+
const r3 = new Date(t2);
|
|
693
|
+
if (r3.setFullYear(n3.getFullYear()), r3 > n3) for (; r3 > n3; ) r3.setMonth(r3.getMonth() - Math.round(12 / e3));
|
|
694
|
+
else {
|
|
695
|
+
const t3 = new Date(r3);
|
|
696
|
+
for (t3.setMonth(t3.getMonth() + Math.round(12 / e3)); t3 <= n3; ) r3.setTime(t3.getTime()), t3.setMonth(t3.getMonth() + Math.round(12 / e3));
|
|
697
|
+
}
|
|
698
|
+
return r3;
|
|
699
|
+
}(t.fromOADate(n2), t.fromOADate(e2), r2), o3 = new Date(u3);
|
|
700
|
+
return o3.setMonth(o3.getMonth() + Math.round(12 / r2)), C(t.toOADate(u3), t.toOADate(o3), "D");
|
|
701
|
+
}
|
|
702
|
+
let o2;
|
|
703
|
+
switch (u2) {
|
|
704
|
+
case 0:
|
|
705
|
+
case 2:
|
|
706
|
+
case 4:
|
|
707
|
+
o2 = 360;
|
|
708
|
+
break;
|
|
709
|
+
case 3:
|
|
710
|
+
o2 = 365;
|
|
711
|
+
break;
|
|
712
|
+
default:
|
|
713
|
+
return Number.NaN;
|
|
714
|
+
}
|
|
715
|
+
return o2 / r2;
|
|
716
|
+
}, COUPNCD: function(n2, t2, e2, r2 = 0) {
|
|
717
|
+
}, COUPNUM: function(n2, t2, e2, r2 = 0) {
|
|
718
|
+
}, COUPPCD: function(n2, t2, e2, r2 = 0) {
|
|
719
|
+
}, CUMIPMT: function(n2, t2, e2, r2, u2, o2) {
|
|
720
|
+
if (!fn(r2) || !fn(u2)) return Number.NaN;
|
|
721
|
+
if (n2 <= 0 || t2 <= 0 || e2 <= 0) return Number.NaN;
|
|
722
|
+
if (r2 < 1 || u2 < 1 || r2 > u2) return Number.NaN;
|
|
723
|
+
if (0 !== o2 && 1 !== o2) return Number.NaN;
|
|
724
|
+
const a2 = Nn(n2, t2, e2, 0, o2);
|
|
725
|
+
let i2 = 0;
|
|
726
|
+
1 === r2 && (0 === o2 && (i2 = -e2), r2++);
|
|
727
|
+
for (let t3 = r2; t3 <= u2; t3++) i2 += 1 === o2 ? mn(n2, t3 - 2, a2, e2, 1) - a2 : mn(n2, t3 - 1, a2, e2, 0);
|
|
728
|
+
return i2 *= n2, i2;
|
|
729
|
+
}, CUMPRINC: function(n2, t2, e2, r2, u2, o2) {
|
|
730
|
+
if (!fn(r2) || !fn(u2)) return Number.NaN;
|
|
731
|
+
if (r2 > u2) return Number.NaN;
|
|
732
|
+
if (n2 <= 0 || t2 <= 0 || e2 <= 0) return Number.NaN;
|
|
733
|
+
if (r2 < 1 || u2 < 1 || r2 > u2) return Number.NaN;
|
|
734
|
+
if (0 !== o2 && 1 !== o2) return Number.NaN;
|
|
735
|
+
const a2 = Nn(n2, t2, e2, 0, o2);
|
|
736
|
+
let i2 = 0;
|
|
737
|
+
1 === r2 && (i2 = 0 === o2 ? a2 + e2 * n2 : a2, r2++);
|
|
738
|
+
for (let t3 = r2; t3 <= u2; t3++) i2 += o2 > 0 ? a2 - (mn(n2, t3 - 2, a2, e2, 1) - a2) * n2 : a2 - mn(n2, t3 - 1, a2, e2, 0) * n2;
|
|
739
|
+
return i2;
|
|
740
|
+
}, DB: function(n2, e2, r2, u2, o2 = 12) {
|
|
741
|
+
if (n2 < 0 || e2 < 0 || r2 < 0 || u2 < 0) return Number.NaN;
|
|
742
|
+
if (o2 < 1 || o2 > 12) return Number.NaN;
|
|
743
|
+
if (u2 > r2) return Number.NaN;
|
|
744
|
+
if (e2 >= n2) return 0;
|
|
745
|
+
const a2 = 1 - Math.pow(e2 / n2, 1 / r2), i2 = Math.round(1e3 * a2) / 1e3;
|
|
746
|
+
if (t.formatResults(an(t.getRuntime())), 1 === u2) return n2 * i2 * o2 / 12;
|
|
747
|
+
let l2 = n2 * i2 * o2 / 12;
|
|
748
|
+
for (let t2 = 2; t2 <= u2; t2++) {
|
|
749
|
+
if (t2 === u2 && u2 === r2) return Math.max(0, n2 - l2 - e2);
|
|
750
|
+
const o3 = (n2 - l2) * i2;
|
|
751
|
+
if (t2 === u2) return o3;
|
|
752
|
+
l2 += o3;
|
|
753
|
+
}
|
|
754
|
+
return 0;
|
|
755
|
+
}, DDB: function(n2, t2, e2, r2, u2 = 2) {
|
|
756
|
+
if (n2 < 0 || t2 < 0 || e2 < 0 || r2 < 0 || u2 <= 0) return Number.NaN;
|
|
757
|
+
if (r2 > e2) return Number.NaN;
|
|
758
|
+
if (t2 >= n2) return 0;
|
|
759
|
+
let o2 = 0, a2 = 0;
|
|
760
|
+
for (let i2 = 1; i2 <= r2; i2++) a2 = Math.min(u2 / e2 * (n2 - o2), n2 - t2 - o2), o2 += a2;
|
|
761
|
+
return a2;
|
|
762
|
+
}, DISC: function(t2, e2, r2, u2, o2 = 0) {
|
|
763
|
+
if (!fn(t2) || !fn(e2) || !cn(o2)) return Number.NaN;
|
|
764
|
+
if (r2 <= 0 || u2 <= 0) return Number.NaN;
|
|
765
|
+
if (t2 >= e2) throw n.BuiltIn.Value;
|
|
766
|
+
let a2, i2;
|
|
767
|
+
switch (o2) {
|
|
768
|
+
case 0:
|
|
769
|
+
a2 = 360, i2 = D(t2, e2, false);
|
|
770
|
+
break;
|
|
771
|
+
case 1:
|
|
772
|
+
case 3:
|
|
773
|
+
a2 = 365, i2 = C(t2, e2, "D");
|
|
774
|
+
break;
|
|
775
|
+
case 2:
|
|
776
|
+
a2 = 360, i2 = C(t2, e2, "D");
|
|
777
|
+
break;
|
|
778
|
+
case 4:
|
|
779
|
+
a2 = 360, i2 = D(t2, e2, true);
|
|
780
|
+
break;
|
|
781
|
+
default:
|
|
782
|
+
return Number.NaN;
|
|
783
|
+
}
|
|
784
|
+
return (u2 - r2) / u2 * a2 / i2;
|
|
785
|
+
}, DOLLARDE: function(n2, t2) {
|
|
786
|
+
if ((t2 = Math.trunc(t2)) < 0) return Number.NaN;
|
|
787
|
+
if (t2 < 1) return 1 / 0;
|
|
788
|
+
let e2 = n2;
|
|
789
|
+
e2 += n2 % 1 * Math.pow(10, Math.ceil(Math.log(t2) / Math.LN10)) / t2;
|
|
790
|
+
const r2 = Math.pow(10, Math.ceil(Math.log(t2) / Math.LN2) + 1);
|
|
791
|
+
return e2 = Math.round(e2 * r2) / r2, e2;
|
|
792
|
+
}, DOLLARFR: function(n2, t2) {
|
|
793
|
+
if ((t2 = Math.trunc(t2)) < 0) return Number.NaN;
|
|
794
|
+
if (t2 < 1) return 1 / 0;
|
|
795
|
+
let e2 = n2;
|
|
796
|
+
return e2 += n2 % 1 * Math.pow(10, -Math.ceil(Math.log(t2) / Math.LN10)) * t2, e2;
|
|
797
|
+
}, DURATION: function(n2, t2, e2, r2, u2, o2 = 0) {
|
|
798
|
+
if (!fn(n2) || !fn(t2) || !cn(o2)) return Number.NaN;
|
|
799
|
+
}, EFFECT: function(n2, t2) {
|
|
800
|
+
return t2 = Math.trunc(t2), Math.pow(1 + n2 / t2, t2) - 1;
|
|
801
|
+
}, FV: mn, FVSCHEDULE: function(t2, e2) {
|
|
802
|
+
let r2 = t2;
|
|
803
|
+
for (const t3 of e2.values({ includeMistyped: true })) {
|
|
804
|
+
if ("number" != typeof t3) throw n.BuiltIn.Value;
|
|
805
|
+
r2 *= 1 + t3;
|
|
806
|
+
}
|
|
807
|
+
return r2;
|
|
808
|
+
}, INTRATE: function(n2, e2, r2, u2, o2 = 2) {
|
|
809
|
+
return fn(n2) && fn(e2) && cn(o2) ? r2 <= 0 || u2 <= 0 || n2 >= e2 ? Number.NaN : r2 >= u2 ? 1 / 0 : ln(t.fromOADate(n2), t.fromOADate(e2)) ? Number.NaN : void 0 : Number.NaN;
|
|
810
|
+
}, IPMT: function(n2, t2, e2, r2, u2 = 0, o2 = 0) {
|
|
811
|
+
const a2 = Nn(n2, e2, r2, u2, o2);
|
|
812
|
+
return 1 === t2 ? n2 * (o2 ? 0 : -r2) : n2 * (o2 ? mn(n2, t2 - 2, a2, r2, o2) - a2 : mn(n2, t2 - 1, a2, r2, o2));
|
|
813
|
+
}, IRR: function(n2, t2 = 0.1) {
|
|
814
|
+
}, ISPMT: function(n2, t2, e2, r2) {
|
|
815
|
+
return 0 === e2 ? 1 / 0 : r2 * n2 * (t2 / e2 - 1);
|
|
816
|
+
}, MDURATION: function(n2, t2, e2, r2, u2, o2 = 2) {
|
|
817
|
+
if (!(fn(n2) && fn(t2) && sn(u2) && cn(o2))) return Number.NaN;
|
|
818
|
+
}, MIRR: function(n2, t2, e2) {
|
|
819
|
+
let r2 = false, u2 = false;
|
|
820
|
+
const o2 = [], a2 = [];
|
|
821
|
+
for (const t3 of n2) t3 > 0 ? (r2 = true, o2.push(t3), a2.push(0)) : t3 < 0 ? (u2 = true, a2.push(t3), o2.push(0)) : (a2.push(0), o2.push(0));
|
|
822
|
+
if (!r2 || !u2) return 1 / 0;
|
|
823
|
+
const i2 = pn(e2, ...o2);
|
|
824
|
+
if (i2 === 1 / 0) return i2;
|
|
825
|
+
const l2 = pn(t2, ...a2);
|
|
826
|
+
if (l2 === 1 / 0) return i2;
|
|
827
|
+
const s2 = n2.length;
|
|
828
|
+
return Math.pow(-i2 * Math.pow(1 + e2, s2) / l2 / (1 + t2), 1 / (s2 - 1)) - 1;
|
|
829
|
+
}, NOMINAL: function(n2, t2) {
|
|
830
|
+
return t2 = Math.trunc(t2), (Math.pow(n2 + 1, 1 / t2) - 1) * t2;
|
|
831
|
+
}, NPER: function(n2, t2, e2, r2 = 0, u2 = 0) {
|
|
832
|
+
return 0 === n2 ? 0 === t2 ? 1 / 0 : (-e2 - r2) / t2 : (u2 && (t2 *= 1 + n2), Math.log((t2 - r2 * n2) / (e2 * n2 + t2)) / Math.log(1 + n2));
|
|
833
|
+
}, NPV: pn, ODDFPRICE: function(n2, t2, e2, r2, u2, o2, a2, i2 = 0) {
|
|
834
|
+
if (!(fn(n2) && fn(t2) && fn(e2) && fn(r2) && sn(a2) && cn(i2))) return Number.NaN;
|
|
835
|
+
}, ODDFYIELD: function(n2, t2, e2, r2, u2, o2, a2, i2 = 0) {
|
|
836
|
+
if (!(fn(n2) && fn(t2) && fn(e2) && fn(r2) && sn(a2) && cn(i2))) return Number.NaN;
|
|
837
|
+
}, ODDLPRICE: function(n2, t2, e2, r2, u2, o2, a2, i2 = 0) {
|
|
838
|
+
if (!(fn(n2) && fn(t2) && fn(e2) && sn(a2) && cn(i2))) return Number.NaN;
|
|
839
|
+
}, ODDLYIELD: function(n2, t2, e2, r2, u2, o2, a2, i2 = 0) {
|
|
840
|
+
if (!(fn(n2) && fn(t2) && fn(e2) && sn(a2) && cn(i2))) return Number.NaN;
|
|
841
|
+
}, PDURATION: function(n2, t2, e2) {
|
|
842
|
+
return (Math.log(e2) - Math.log(t2)) / Math.log(1 + n2);
|
|
843
|
+
}, PMT: Nn, PRICE: function(n2, t2, e2, r2, u2, o2, a2 = 0) {
|
|
844
|
+
if (!(fn(n2) && fn(t2) && sn(o2) && cn(a2))) return Number.NaN;
|
|
845
|
+
}, PRICEDISC: function(t2, e2, r2, u2, o2 = 0) {
|
|
846
|
+
if (!fn(t2) || !fn(e2) || !cn(o2)) return Number.NaN;
|
|
847
|
+
if (r2 <= 0 || u2 <= 0) return Number.NaN;
|
|
848
|
+
if (t2 >= e2) throw n.BuiltIn.Value;
|
|
849
|
+
let a2, i2;
|
|
850
|
+
switch (o2) {
|
|
851
|
+
case 0:
|
|
852
|
+
a2 = 360, i2 = D(t2, e2, false);
|
|
853
|
+
break;
|
|
854
|
+
case 1:
|
|
855
|
+
case 3:
|
|
856
|
+
a2 = 365, i2 = C(t2, e2, "D");
|
|
857
|
+
break;
|
|
858
|
+
case 2:
|
|
859
|
+
a2 = 360, i2 = C(t2, e2, "D");
|
|
860
|
+
break;
|
|
861
|
+
case 4:
|
|
862
|
+
a2 = 360, i2 = D(t2, e2, true);
|
|
863
|
+
break;
|
|
864
|
+
default:
|
|
865
|
+
return Number.NaN;
|
|
866
|
+
}
|
|
867
|
+
return u2 - r2 * u2 * i2 / a2;
|
|
868
|
+
}, PRICEMAT: function(n2, t2, e2, r2, u2, o2 = 0) {
|
|
869
|
+
if (!(fn(n2) && fn(t2) && fn(e2) && cn(o2))) return Number.NaN;
|
|
870
|
+
}, PV: function(n2, e2, r2, u2 = 0, o2 = 0) {
|
|
871
|
+
return o2 = o2 ? 1 : 0, -1 === n2 ? 0 === e2 ? Number.NaN : 1 / 0 : (t.formatResults(an(t.getRuntime())), 0 === n2 ? -r2 * e2 - u2 : ((1 - Math.pow(1 + n2, e2)) * r2 * (1 + n2 * o2) / n2 - u2) / Math.pow(1 + n2, e2));
|
|
872
|
+
}, RATE: function(t2, e2, r2, u2 = 0, o2 = 0, a2 = 0.1) {
|
|
873
|
+
if (a2 <= -1) throw n.BuiltIn.Value;
|
|
874
|
+
o2 = o2 ? 1 : 0;
|
|
875
|
+
let i2 = a2;
|
|
876
|
+
0.1 === i2 && Math.abs(e2) > Math.abs(r2) / 10 && (i2 = 0.2);
|
|
877
|
+
for (let n2 = 0; n2 < 20; n2++) {
|
|
878
|
+
if (i2 <= -1) return Number.NaN;
|
|
879
|
+
let n3 = 0;
|
|
880
|
+
if (Math.abs(i2) < on) n3 = r2 * (1 + t2 * i2) + e2 * (1 + i2 * o2) * t2 + u2;
|
|
881
|
+
else {
|
|
882
|
+
const a4 = Math.pow(1 + i2, t2);
|
|
883
|
+
n3 = r2 * a4 + e2 * (1 / i2 + o2) * (a4 - 1) + u2;
|
|
884
|
+
}
|
|
885
|
+
if (Math.abs(n3) < on) return i2;
|
|
886
|
+
let a3 = 0;
|
|
887
|
+
if (Math.abs(i2) < on) a3 = r2 * t2 + e2 * o2 * t2;
|
|
888
|
+
else {
|
|
889
|
+
const n4 = Math.pow(1 + i2, t2), u3 = t2 * Math.pow(1 + i2, t2 - 1);
|
|
890
|
+
a3 = r2 * u3 + e2 * (1 / i2 + o2) * u3 + e2 * (-1 / (i2 * i2)) * (n4 - 1);
|
|
891
|
+
}
|
|
892
|
+
i2 -= n3 / a3;
|
|
893
|
+
}
|
|
894
|
+
return Number.NaN;
|
|
895
|
+
}, RECEIVED: function(n2, t2, e2, r2, u2 = 0) {
|
|
896
|
+
if (!fn(n2) || !fn(t2) || !cn(u2)) return Number.NaN;
|
|
897
|
+
}, RRI: function(n2, t2, e2) {
|
|
898
|
+
return 0 === t2 || e2 < 0 && t2 > 0 || e2 > 0 && t2 < 0 ? Number.NaN : Math.pow(e2 / e2, 1 / n2) - 1;
|
|
899
|
+
}, SLN: function(n2, t2, e2) {
|
|
900
|
+
return (n2 - t2) / e2;
|
|
901
|
+
}, STOCKHISTORY: function(t2, e2, r2, u2 = 0, o2 = 1, a2 = [0, 1, 2, 3, 4]) {
|
|
902
|
+
if (!fn(e2) || !fn(r2)) throw n.BuiltIn.Num;
|
|
903
|
+
}, SYD: function(n2, t2, e2, r2) {
|
|
904
|
+
return r2 > e2 ? Number.NaN : (n2 - t2) * (e2 - r2 + 1) * 2 / (e2 * (e2 + 1));
|
|
905
|
+
}, TBILLEQ: function(n2, e2, r2) {
|
|
906
|
+
if (!fn(n2) || !fn(e2)) return Number.NaN;
|
|
907
|
+
if ((n2 = Math.round(n2)) >= (e2 = Math.round(e2)) || ln(t.fromOADate(n2), t.fromOADate(e2))) return Number.NaN;
|
|
908
|
+
const u2 = 360 - r2 * (e2 - n2);
|
|
909
|
+
return 0 === u2 ? 0 : u2 < 0 ? Number.NaN : 365 * r2 / u2;
|
|
910
|
+
}, TBILLPRICE: function(n2, e2, r2) {
|
|
911
|
+
if (!fn(n2) || !fn(e2)) return Number.NaN;
|
|
912
|
+
if ((n2 = Math.round(n2)) >= (e2 = Math.round(e2)) || ln(t.fromOADate(n2), t.fromOADate(e2))) return Number.NaN;
|
|
913
|
+
const u2 = 360 - r2 * (e2 - n2);
|
|
914
|
+
return 0 === u2 ? 0 : u2 < 0 ? Number.NaN : 100 * (1 - r2 * (e2 - n2) / 360);
|
|
915
|
+
}, TBILLYIELD: function(n2, e2, r2) {
|
|
916
|
+
return fn(n2) && fn(e2) ? (n2 = Math.round(n2)) >= (e2 = Math.round(e2)) || ln(t.fromOADate(n2), t.fromOADate(e2)) ? Number.NaN : 360 * (100 - r2) / (r2 * (e2 - n2)) : Number.NaN;
|
|
917
|
+
}, VDB: function(n2, t2, e2, r2, u2, o2 = 2, a2 = false) {
|
|
918
|
+
if (!fn(r2) || !fn(u2)) return Number.NaN;
|
|
919
|
+
}, XIRR: function(n2, t2, e2 = 0.1) {
|
|
920
|
+
}, XNPV: function(n2, t2, e2) {
|
|
921
|
+
let r2 = 0;
|
|
922
|
+
const u2 = t2.length;
|
|
923
|
+
for (let o2 = 0; o2 < u2; o2++) r2 += t2[o2] / Math.pow(1 + n2, O(e2[o2], e2[0]) / 365);
|
|
924
|
+
return r2;
|
|
925
|
+
}, YIELD: function(n2, t2, e2, r2, u2, o2, a2 = 0) {
|
|
926
|
+
if (!(fn(n2) && fn(t2) && sn(o2) && cn(a2))) return Number.NaN;
|
|
927
|
+
}, YIELDDISC: function(n2, t2, e2, r2, u2, o2 = 0) {
|
|
928
|
+
if (!(fn(n2) && fn(t2) && sn(u2) && cn(o2))) return Number.NaN;
|
|
929
|
+
}, YIELDMAT: function(n2, t2, e2, r2, u2, o2 = 0) {
|
|
930
|
+
if (!fn(n2) || !fn(t2) || !cn(o2)) return Number.NaN;
|
|
931
|
+
} }, Symbol.toStringTag, { value: "Module" }));
|
|
932
|
+
const En = Object.freeze(Object.defineProperty({ __proto__: null, CELL: function(e2, r2) {
|
|
933
|
+
let u2 = null;
|
|
934
|
+
switch (e2) {
|
|
935
|
+
case "address":
|
|
936
|
+
const e3 = r2.getCoords();
|
|
937
|
+
u2 = t.getAddress({ colIndex: e3.colStart, $colIndex: true, rowIndex: e3.rowStart, $rowIndex: true });
|
|
938
|
+
break;
|
|
939
|
+
case "col":
|
|
940
|
+
case "row":
|
|
941
|
+
u2 = r2.getCoords().colStart + 1;
|
|
942
|
+
break;
|
|
943
|
+
case "contents":
|
|
944
|
+
u2 = r2.getValueAt(0, 0);
|
|
945
|
+
break;
|
|
946
|
+
case "type":
|
|
947
|
+
const o2 = r2.getValueAt(0, 0);
|
|
948
|
+
u2 = null === o2 ? "b" : "string" == typeof o2 ? "l" : "v";
|
|
949
|
+
break;
|
|
950
|
+
default:
|
|
951
|
+
u2 = n.BuiltIn.Value;
|
|
952
|
+
}
|
|
953
|
+
return t.markVolatile(), u2;
|
|
954
|
+
}, ERROR_TYPE: function(t2) {
|
|
955
|
+
return t2.map((t3) => t3 instanceof n.Known ? t3.getCode() : n.BuiltIn.NA).fillEmpty(true);
|
|
956
|
+
}, INFO: function(e2) {
|
|
957
|
+
if ("DIRECTORY" === (e2 = e2.toUpperCase())) {
|
|
958
|
+
try {
|
|
959
|
+
return t.markVolatile(), t.getRuntime().getLocation();
|
|
960
|
+
} catch (n2) {
|
|
961
|
+
}
|
|
962
|
+
return "..";
|
|
963
|
+
}
|
|
964
|
+
if ("NUMFILE" === e2) return "1";
|
|
965
|
+
if ("ORIGIN" === e2) return "$A$1";
|
|
966
|
+
if ("RECALC" === e2) return "1";
|
|
967
|
+
if ("RELEASE" === e2) return t.getRuntime().getVersion();
|
|
968
|
+
if ("OSVERSION" === e2) return "1";
|
|
969
|
+
if ("SYSTEM" === e2) return t.getRuntime().getOS();
|
|
970
|
+
if ("USER" === e2) {
|
|
971
|
+
const n2 = t.getRuntime().getUser();
|
|
972
|
+
return n2 || (t.formatResults("@[Red]"), "Unidentified");
|
|
973
|
+
}
|
|
974
|
+
throw n.BuiltIn.Value;
|
|
975
|
+
}, ISBLANK: function(n2) {
|
|
976
|
+
return n2.map(() => false).fillEmpty(true);
|
|
977
|
+
}, ISERR: function(t2) {
|
|
978
|
+
return t2.map((t3) => t3 instanceof n.Known && !(t3 instanceof n.NA)).fillEmpty(false);
|
|
979
|
+
}, ISERROR: function(t2) {
|
|
980
|
+
return t2.map((t3) => t3 instanceof n.Known).fillEmpty(false);
|
|
981
|
+
}, ISEVEN: function(n2) {
|
|
982
|
+
return n2.map((n3) => "number" == typeof n3 && Math.trunc(n3) % 2 == 0).fillEmpty(false);
|
|
983
|
+
}, ISFORMULA: function(n2) {
|
|
984
|
+
return n2.map((n3, e2) => null !== t.getFormulaAt(e2.rowIndex, e2.colIndex)).fillEmpty(false);
|
|
985
|
+
}, ISLOGICAL: function(n2) {
|
|
986
|
+
return n2.map((n3) => "boolean" == typeof n3).fillEmpty(false);
|
|
987
|
+
}, ISNA: function(t2) {
|
|
988
|
+
return t2.map((t3) => t3 instanceof n.NA).fillEmpty(false);
|
|
989
|
+
}, ISNONTEXT: function(n2) {
|
|
990
|
+
return n2.map((n3) => "string" != typeof n3).fillEmpty(false);
|
|
991
|
+
}, ISNUMBER: function(n2) {
|
|
992
|
+
return n2.map((n3) => "number" == typeof n3).fillEmpty(false);
|
|
993
|
+
}, ISODD: function(n2) {
|
|
994
|
+
return n2.map((n3) => "number" == typeof n3 && Math.trunc(n3) % 2 != 0).fillEmpty(false);
|
|
995
|
+
}, ISOMITTED: function(n2) {
|
|
996
|
+
return void 0 === n2;
|
|
997
|
+
}, ISREF: function(n2) {
|
|
998
|
+
return n2?.isIReferenceRange ?? false;
|
|
999
|
+
}, ISTEXT: function(n2) {
|
|
1000
|
+
return n2.map((n3) => "string" == typeof n3).fillEmpty(false);
|
|
1001
|
+
}, N: function(t2) {
|
|
1002
|
+
const e2 = t2.getValueAt(0, 0), r2 = typeof e2;
|
|
1003
|
+
if ("number" === r2) return e2;
|
|
1004
|
+
if ("boolean" === r2) return Number(e2);
|
|
1005
|
+
if (e2 instanceof n.Known) throw e2;
|
|
1006
|
+
return 0;
|
|
1007
|
+
}, NA: function() {
|
|
1008
|
+
return n.BuiltIn.NA;
|
|
1009
|
+
}, SHEET: function(e2) {
|
|
1010
|
+
const r2 = t.getSheetIndex(e2);
|
|
1011
|
+
return r2 >= 0 ? r2 + 1 : n.BuiltIn.NA;
|
|
1012
|
+
}, SHEETS: function(n2) {
|
|
1013
|
+
return n2 ? 1 : t.getSheetCount();
|
|
1014
|
+
}, TYPE: function(t2) {
|
|
1015
|
+
if (t2.getWidth() > 1 || t2.getHeight() > 1) return 64;
|
|
1016
|
+
const e2 = t2.getValueAt(0, 0), r2 = typeof e2;
|
|
1017
|
+
return "string" === r2 ? 2 : "boolean" === r2 ? 4 : e2 instanceof n.Known ? 16 : 1;
|
|
1018
|
+
} }, Symbol.toStringTag, { value: "Module" }));
|
|
1019
|
+
const gn = { mismatchFill: n.BuiltIn.NA }, In = { type: e.Boolean, coerce: true };
|
|
1020
|
+
const Tn = Object.freeze(Object.defineProperty({ __proto__: null, AND: function(...t2) {
|
|
1021
|
+
let r2 = false;
|
|
1022
|
+
for (const n2 of t2) for (const t3 of n2.values({ type: e.Boolean, coerce: true })) if (r2 = true, !t3) return false;
|
|
1023
|
+
return !!r2 || n.BuiltIn.Value;
|
|
1024
|
+
}, BYCOL: function(n2, t2) {
|
|
1025
|
+
}, BYROW: function(n2, t2) {
|
|
1026
|
+
}, FALSE: function() {
|
|
1027
|
+
return false;
|
|
1028
|
+
}, IF: function(t2, u2, o2) {
|
|
1029
|
+
if (1 === t2.size) {
|
|
1030
|
+
return t2.getValueAt(0, 0, In) ? u2 : o2 ?? t2.empty().replace([[false]]);
|
|
1031
|
+
}
|
|
1032
|
+
const a2 = t2.getWidth(), i2 = t2.getHeight();
|
|
1033
|
+
if (1 === a2 || 1 === i2) {
|
|
1034
|
+
const l3 = 1 === a2 ? r.Orientation.Column : r.Orientation.Row, s3 = 1 === i2, f3 = s3 ? u2.getHeight() : u2.getWidth(), c2 = 1 === (s3 ? u2.getWidth() : u2.getHeight());
|
|
1035
|
+
if (!o2) {
|
|
1036
|
+
const n2 = 1 === i2, e2 = n2 ? u2.getHeight() : u2.getWidth();
|
|
1037
|
+
o2 = t2.empty().fill(false, { colStart: 0, rowStart: 0, colEnd: (n2 ? 1 : e2) - 1, rowEnd: (n2 ? e2 : 1) - 1 });
|
|
1038
|
+
}
|
|
1039
|
+
const m2 = s3 ? o2.getHeight() : o2.getWidth(), p2 = 1 === (s3 ? o2.getWidth() : o2.getHeight()), N2 = Math.max(f3, m2), h2 = t2.empty().fill(n.BuiltIn.Value, { colStart: 0, rowStart: 0, colEnd: (s3 ? o2.getWidth() : N2) - 1, rowEnd: (s3 ? N2 : o2.getHeight()) - 1 }), E2 = [];
|
|
1040
|
+
let g2 = t2.empty();
|
|
1041
|
+
t2.forEach((t3, e2) => {
|
|
1042
|
+
const r2 = true === t3;
|
|
1043
|
+
let a3 = r2 ? u2 : o2;
|
|
1044
|
+
t3 instanceof n.Known && (a3 = h2);
|
|
1045
|
+
let i3 = 0;
|
|
1046
|
+
(r2 && !c2 || !r2 && !p2) && (i3 = s3 ? e2.colIndex : e2.rowIndex);
|
|
1047
|
+
const l4 = s3 ? { colStart: i3, colEnd: i3 } : { rowStart: i3, rowEnd: i3 };
|
|
1048
|
+
a3 = a3.slice(l4), g2 = g2.replace(a3, e2);
|
|
1049
|
+
const f4 = s3 ? a3.getHeight() : a3.getWidth();
|
|
1050
|
+
f4 < N2 && (s3 ? (l4.rowStart = f4, l4.rowEnd = N2 - 1) : (l4.colStart = f4, l4.colEnd = N2 - 1), E2.push(l4));
|
|
1051
|
+
}, { orientation: l3, type: e.Boolean, coerce: true, includeEmpty: true });
|
|
1052
|
+
for (let t3 = 0; t3 < E2.length; t3++) g2 = g2.fill(n.BuiltIn.NA, E2[t3]);
|
|
1053
|
+
return g2;
|
|
1054
|
+
}
|
|
1055
|
+
const l2 = a2 - 1, s2 = i2 - 1;
|
|
1056
|
+
let f2 = u2.broadcast(o2, (e2, r2, u3) => {
|
|
1057
|
+
let o3 = u3.colIndex, a3 = u3.rowIndex;
|
|
1058
|
+
if (o3 > l2 || a3 > s2) return n.BuiltIn.NA;
|
|
1059
|
+
return t2.getValueAt(u3.rowIndex, u3.colIndex, In) ? e2 : r2;
|
|
1060
|
+
}, gn);
|
|
1061
|
+
return f2 = f2.fillEmpty(n.BuiltIn.NA, Math.max(u2.getWidth(), o2.getWidth()), Math.max(u2.getHeight(), o2.getHeight())), f2;
|
|
1062
|
+
}, IFERROR: function(t2, e2) {
|
|
1063
|
+
return t2.broadcast(e2, (t3 = null, e3 = null) => t3 instanceof n.Known ? e3 : t3, { mismatchFill: null });
|
|
1064
|
+
}, IFNA: function(t2, e2) {
|
|
1065
|
+
return t2.broadcast(e2, (t3 = null, e3 = null) => n.BuiltIn.NA.equals(t3) ? e3 : t3, { mismatchFill: null });
|
|
1066
|
+
}, IFS: function(t2, e2, ...r2) {
|
|
1067
|
+
if (r2 && r2.length % 2 != 0) throw new n.NA("IFS expects all arguments after position 0 to be in pairs.");
|
|
1068
|
+
const u2 = [t2, e2, ...r2];
|
|
1069
|
+
for (let n2 = 0; n2 < u2.length / 2; n2++) {
|
|
1070
|
+
const t3 = m.accept(u2[2 * n2], c.BOOLEAN), e3 = m.accept(u2[2 * n2 + 1]);
|
|
1071
|
+
if (t3) return e3;
|
|
1072
|
+
}
|
|
1073
|
+
throw n.BuiltIn.NA;
|
|
1074
|
+
}, LAMDA: function(...n2) {
|
|
1075
|
+
}, LET: function(n2, t2, e2, ...r2) {
|
|
1076
|
+
}, MAKEARRAY: function(n2, t2, e2) {
|
|
1077
|
+
}, MAP: function(n2, ...t2) {
|
|
1078
|
+
}, NOT: function(t2) {
|
|
1079
|
+
return t2.map((t3) => "boolean" == typeof t3 ? !t3 : "number" == typeof t3 ? 0 === t3 : n.BuiltIn.Value).fillEmpty(true);
|
|
1080
|
+
}, OR: function(...t2) {
|
|
1081
|
+
let r2 = false;
|
|
1082
|
+
for (const n2 of t2) for (const t3 of n2.values({ type: e.Boolean, coerce: true })) if (r2 = true, true === t3) return true;
|
|
1083
|
+
return !r2 && n.BuiltIn.Value;
|
|
1084
|
+
}, REDUCE: function(n2, t2, e2) {
|
|
1085
|
+
}, SCAN: function(n2, t2, e2) {
|
|
1086
|
+
}, SWITCH: function(n2, t2, ...e2) {
|
|
1087
|
+
}, TRUE: function() {
|
|
1088
|
+
return false;
|
|
1089
|
+
}, XOR: function(...t2) {
|
|
1090
|
+
let r2 = false, u2 = 0;
|
|
1091
|
+
for (const n2 of t2) for (const t3 of n2.values({ type: e.Boolean, coerce: true })) r2 = true, true === t3 && u2++;
|
|
1092
|
+
return r2 ? u2 % 2 == 1 : n.BuiltIn.Value;
|
|
1093
|
+
} }, Symbol.toStringTag, { value: "Module" })), dn = (n2) => "string" == typeof n2 && /[*?]/.test(n2), bn = (n2, t2) => RegExp(n2.replace(/[.+^${}()|[\]\\]/g, "\\$&").replace(/([^~]??)[?]/g, "$1.").replace(/([^~]??)[*]/g, "$1.*").replace(/~([?*])/g, "$1"), t2);
|
|
1094
|
+
const Mn = Object.freeze(Object.defineProperty({ __proto__: null, ADDRESS: function(e2, r2, u2 = 1, o2 = true, a2 = "") {
|
|
1095
|
+
if (e2 < 1 || r2 < 1 || u2 < 1 || u2 > 4) throw n.BuiltIn.Value;
|
|
1096
|
+
const i2 = { $colIndex: 1 === u2 || 3 === u2, colIndex: r2 - 1, $rowIndex: 1 === u2 || 2 === u2, rowIndex: e2 - 1, sheetName: a2 };
|
|
1097
|
+
return t.getAddress(i2, !o2);
|
|
1098
|
+
}, AREAS: function(...n2) {
|
|
1099
|
+
return n2.length;
|
|
1100
|
+
}, CHOOSE: function(t2, e2, ...r2) {
|
|
1101
|
+
if (1 === t2) return e2;
|
|
1102
|
+
if (t2 < 1 || t2 > r2.length + 1) throw n.BuiltIn.Value;
|
|
1103
|
+
return r2[t2 - 2];
|
|
1104
|
+
}, CHOOSECOLS: function(t2, e2, ...r2) {
|
|
1105
|
+
const u2 = t2.getValues(), o2 = [e2, ...r2].map((t3) => {
|
|
1106
|
+
if (t3 <= 0) throw n.BuiltIn.Value;
|
|
1107
|
+
if (t3 > u2[0].length) throw n.BuiltIn.Ref;
|
|
1108
|
+
return Math.floor(t3 - 1);
|
|
1109
|
+
}), a2 = [];
|
|
1110
|
+
for (let n2 = 0; n2 < u2.length; n2++) a2[n2] = o2.map((t3) => u2[n2][t3]);
|
|
1111
|
+
return a2;
|
|
1112
|
+
}, CHOOSEROWS: function(t2, e2, ...r2) {
|
|
1113
|
+
const u2 = t2.getValues();
|
|
1114
|
+
return [e2, ...r2].map((t3) => {
|
|
1115
|
+
if (t3 <= 0) throw n.BuiltIn.Value;
|
|
1116
|
+
if (t3 > u2.length) throw n.BuiltIn.Ref;
|
|
1117
|
+
return Math.floor(t3 - 1);
|
|
1118
|
+
}).map((n2) => [...u2[n2]]);
|
|
1119
|
+
}, COLUMN: function(n2) {
|
|
1120
|
+
if (!n2) return [t.getPosition().colIndex + 1];
|
|
1121
|
+
const e2 = [], r2 = n2.getCoords(), u2 = r2.colStart, o2 = r2.colEnd;
|
|
1122
|
+
for (let n3 = u2; n3 <= o2; n3++) e2.push(n3 + 1);
|
|
1123
|
+
return e2;
|
|
1124
|
+
}, COLUMNS: function(n2) {
|
|
1125
|
+
return n2.getWidth();
|
|
1126
|
+
}, DROP: function(n2, t2, e2 = 0) {
|
|
1127
|
+
}, EXPAND: function(t2, e2, r2 = 0, u2 = n.BuiltIn.NA) {
|
|
1128
|
+
}, FIELDVALUE: function(n2, t2) {
|
|
1129
|
+
}, FILTER: function(n2, t2, e2) {
|
|
1130
|
+
}, FORMULATEXT: function(e2) {
|
|
1131
|
+
const r2 = e2.getCoords(), u2 = t.getFormulaAt(r2.rowStart, r2.colStart);
|
|
1132
|
+
if (null === u2) throw n.BuiltIn.NA;
|
|
1133
|
+
return "=" + u2;
|
|
1134
|
+
}, GETPIVOTDATA: function(n2, t2, e2, r2) {
|
|
1135
|
+
}, GROUPBY: function(n2, t2, e2, r2 = null, u2 = 2, o2 = null, a2 = null, i2 = 0) {
|
|
1136
|
+
}, HLOOKUP: function(t2, e2, r2, u2 = true) {
|
|
1137
|
+
if (r2 < 1) return n.BuiltIn.Value;
|
|
1138
|
+
if (r2 > e2.getHeight()) return n.BuiltIn.Ref;
|
|
1139
|
+
if (1 === e2.size) return n.BuiltIn.NA;
|
|
1140
|
+
const o2 = e2.getValues(), a2 = typeof t2, i2 = "string" == typeof t2 ? t2 : String(t2), l2 = dn(i2), s2 = l2 ? bn(i2, "i") : null;
|
|
1141
|
+
if (u2) {
|
|
1142
|
+
let e3 = a2 === typeof o2[0][0] ? o2[0][0] : null;
|
|
1143
|
+
const u3 = o2[0].length;
|
|
1144
|
+
for (let i3 = 1; i3 < u3; i3++) {
|
|
1145
|
+
const u4 = o2[0][i3];
|
|
1146
|
+
if (typeof u4 === a2) {
|
|
1147
|
+
if (e3 > t2 && u4 > t2) throw n.BuiltIn.NA;
|
|
1148
|
+
if (u4 === t2) return o2[r2 - 1][i3];
|
|
1149
|
+
if (null != e3 && u4 > t2 && e3 <= t2) return o2[r2 - 1][i3 - 1];
|
|
1150
|
+
e3 = u4;
|
|
1151
|
+
}
|
|
1152
|
+
}
|
|
1153
|
+
if (null === e3) throw n.BuiltIn.NA;
|
|
1154
|
+
return 1 === o2[0].length ? o2[r2 - 1][0] : e3;
|
|
1155
|
+
}
|
|
1156
|
+
{
|
|
1157
|
+
let e3 = -1;
|
|
1158
|
+
if (e3 = l2 ? o2[0].findIndex((n2) => {
|
|
1159
|
+
const t3 = "string" == typeof n2 ? n2 : String(n2);
|
|
1160
|
+
return s2.test(t3);
|
|
1161
|
+
}) : o2[0].findIndex((n2) => n2 === t2), -1 === e3) throw n.BuiltIn.NA;
|
|
1162
|
+
return o2[r2 - 1][e3];
|
|
1163
|
+
}
|
|
1164
|
+
}, HSTACK: function(n2, ...t2) {
|
|
1165
|
+
}, HYPERLINK: function(n2, t2) {
|
|
1166
|
+
}, IMAGE: function(n2, t2, e2, r2, u2) {
|
|
1167
|
+
}, INDEX: function(t2, e2 = 0, r2 = 0, u2 = 1) {
|
|
1168
|
+
if (e2 < 0 || r2 < 0 || u2 < 0) return n.BuiltIn.Value;
|
|
1169
|
+
if (u2 > t2.length) return n.BuiltIn.Ref;
|
|
1170
|
+
const o2 = t2[u2 - 1];
|
|
1171
|
+
if (0 === e2 && 0 === r2) return o2;
|
|
1172
|
+
if (0 !== e2 && 0 !== r2) return o2.getValueAt(e2 - 1, r2 - 1);
|
|
1173
|
+
const a2 = o2.getHeight(), i2 = o2.getWidth();
|
|
1174
|
+
if (e2 > a2 || r2 > i2) return n.BuiltIn.Ref;
|
|
1175
|
+
if (0 === e2) {
|
|
1176
|
+
const n2 = r2 - 1;
|
|
1177
|
+
return o2.slice({ colStart: n2, rowStart: 0, colEnd: n2, rowEnd: a2 - 1 });
|
|
1178
|
+
}
|
|
1179
|
+
{
|
|
1180
|
+
const n2 = e2 - 1;
|
|
1181
|
+
return o2.slice({ colStart: 0, rowStart: n2, colEnd: i2 - 1, rowEnd: n2 });
|
|
1182
|
+
}
|
|
1183
|
+
}, INDIRECT: function(n2, e2 = true) {
|
|
1184
|
+
return t.getReference(n2, !e2);
|
|
1185
|
+
}, LOOKUP: function(n2, t2, e2) {
|
|
1186
|
+
}, MATCH: function(n2, t2, e2) {
|
|
1187
|
+
}, OFFSET: function(e2, r2, u2, o2, a2) {
|
|
1188
|
+
if (o2 = o2 ?? e2.getHeight(), (a2 = a2 ?? e2.getWidth()) < 0) throw n.BuiltIn.Ref;
|
|
1189
|
+
if (o2 < 0) throw n.BuiltIn.Ref;
|
|
1190
|
+
const i2 = e2.getCoords(), l2 = { rowStart: i2.rowStart + r2, colStart: i2.colStart + u2, rowEnd: i2.rowStart + r2 + o2 - 1, colEnd: i2.colStart + u2 + a2 - 1 };
|
|
1191
|
+
return t.getReference(l2);
|
|
1192
|
+
}, PIVOTBY: function(n2, t2, e2, r2, u2 = null, o2 = 2, a2 = null, i2 = 2, l2 = null, s2 = null, f2 = 0) {
|
|
1193
|
+
}, ROW: function(n2) {
|
|
1194
|
+
if (!n2) return [t.getPosition().rowIndex + 1];
|
|
1195
|
+
const e2 = [], r2 = n2.getCoords(), u2 = r2.rowStart, o2 = r2.rowEnd;
|
|
1196
|
+
for (let n3 = u2; n3 <= o2; n3++) e2.push([n3 + 1]);
|
|
1197
|
+
return e2;
|
|
1198
|
+
}, ROWS: function(n2) {
|
|
1199
|
+
return n2.getHeight();
|
|
1200
|
+
}, RTD: function(n2, t2, ...e2) {
|
|
1201
|
+
}, SORT: function(n2, t2, e2, r2 = false) {
|
|
1202
|
+
}, SORTBY: function(n2, t2, e2) {
|
|
1203
|
+
}, TAKE: function(n2, t2, e2 = 0) {
|
|
1204
|
+
}, TOCOL: function(n2, t2 = 0, e2 = false) {
|
|
1205
|
+
}, TOROW: function(n2, t2 = 0, e2 = false) {
|
|
1206
|
+
}, TRANSPOSE: function(n2) {
|
|
1207
|
+
return n2.transpose();
|
|
1208
|
+
}, TRIMRANGE: function(e2, u2 = 3, o2 = 3) {
|
|
1209
|
+
let a2 = 0, i2 = e2.getHeight() - 1, l2 = 0, s2 = e2.getWidth() - 1;
|
|
1210
|
+
const f2 = e2.isIReferenceRange;
|
|
1211
|
+
if (f2) {
|
|
1212
|
+
const n2 = e2.getCoords();
|
|
1213
|
+
a2 = n2.rowStart, i2 = n2.rowEnd, l2 = n2.colStart, s2 = n2.colEnd;
|
|
1214
|
+
} else a2 = 0, i2 = e2.getHeight() - 1, l2 = 0, s2 = e2.getWidth() - 1;
|
|
1215
|
+
if (1 === u2 || 3 === u2) {
|
|
1216
|
+
const t2 = e2.entries({ orientation: r.Orientation.Row }).next().value;
|
|
1217
|
+
if (!t2) return n.BuiltIn.Ref;
|
|
1218
|
+
a2 = t2.coords.rowIndex;
|
|
1219
|
+
}
|
|
1220
|
+
if (2 === u2 || 3 === u2) {
|
|
1221
|
+
const t2 = e2.entries({ reverse: true, orientation: r.Orientation.Row }).next().value;
|
|
1222
|
+
if (!t2) return n.BuiltIn.Ref;
|
|
1223
|
+
i2 = t2.coords.rowIndex;
|
|
1224
|
+
}
|
|
1225
|
+
if (1 === o2 || 3 === o2) {
|
|
1226
|
+
const t2 = e2.entries({ orientation: r.Orientation.Column }).next().value;
|
|
1227
|
+
if (!t2) return n.BuiltIn.Ref;
|
|
1228
|
+
l2 = t2.coords.colIndex;
|
|
1229
|
+
}
|
|
1230
|
+
if (2 === o2 || 3 === o2) {
|
|
1231
|
+
const t2 = e2.entries({ reverse: true, orientation: r.Orientation.Column }).next().value;
|
|
1232
|
+
if (!t2) return n.BuiltIn.Ref;
|
|
1233
|
+
s2 = t2.coords.colIndex;
|
|
1234
|
+
}
|
|
1235
|
+
let c2;
|
|
1236
|
+
return f2 ? t.getReference({ colStart: l2, rowStart: a2, colEnd: s2, rowEnd: i2 }) : (c2 = e2.slice({ colStart: l2, rowStart: a2, rowEnd: i2, colEnd: s2 }), c2);
|
|
1237
|
+
}, UNIQUE: function(n2, t2 = false, e2 = false) {
|
|
1238
|
+
}, VLOOKUP: function(t2, e2, r2, u2 = true) {
|
|
1239
|
+
if (r2 < 1) return n.BuiltIn.Value;
|
|
1240
|
+
if (r2 > e2.getWidth()) return n.BuiltIn.Ref;
|
|
1241
|
+
if (1 === e2.size) return n.BuiltIn.NA;
|
|
1242
|
+
const o2 = e2.getValues(), a2 = typeof t2, i2 = "string" == typeof t2 ? t2 : String(t2), l2 = dn(i2), s2 = l2 ? bn(i2, "i") : null;
|
|
1243
|
+
if (u2) {
|
|
1244
|
+
let e3 = a2 === typeof o2[0][0] ? o2[0][0] : null;
|
|
1245
|
+
const u3 = o2.length;
|
|
1246
|
+
for (let i3 = 1; i3 < u3; i3++) {
|
|
1247
|
+
const u4 = o2[i3], l3 = o2[i3][0];
|
|
1248
|
+
if (typeof l3 === a2) {
|
|
1249
|
+
if (e3 > t2 && l3 > t2) throw n.BuiltIn.NA;
|
|
1250
|
+
if (l3 === t2) return u4[r2 - 1];
|
|
1251
|
+
if (null != e3 && l3 > t2 && e3 <= t2) return o2[i3 - 1][r2 - 1];
|
|
1252
|
+
e3 = l3;
|
|
1253
|
+
}
|
|
1254
|
+
}
|
|
1255
|
+
if (null === e3) throw n.BuiltIn.NA;
|
|
1256
|
+
return 1 === o2.length ? o2[0][r2 - 1] : e3;
|
|
1257
|
+
}
|
|
1258
|
+
{
|
|
1259
|
+
let e3 = -1;
|
|
1260
|
+
if (e3 = l2 ? o2.findIndex((n2) => s2.test(n2[0])) : o2.findIndex((n2) => n2[0] === t2), -1 === e3) throw n.BuiltIn.NA;
|
|
1261
|
+
return o2[e3][r2 - 1];
|
|
1262
|
+
}
|
|
1263
|
+
}, VSTACK: function(n2, ...t2) {
|
|
1264
|
+
}, WRAPCOLS: function(t2, e2, r2 = n.BuiltIn.NA) {
|
|
1265
|
+
}, WRAPROWS: function(t2, e2, r2 = n.BuiltIn.NA) {
|
|
1266
|
+
}, XLOOKUP: function(n2, t2, e2, r2, u2 = true, o2, a2 = true) {
|
|
1267
|
+
}, XMATCH: function(n2, t2, e2, r2 = true) {
|
|
1268
|
+
} }, Symbol.toStringTag, { value: "Module" })), Sn = [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], An = [], Rn = [];
|
|
1269
|
+
function Cn(n2) {
|
|
1270
|
+
return Math.abs(n2) < 99e-14 ? 0 : n2;
|
|
1271
|
+
}
|
|
1272
|
+
function On(n2) {
|
|
1273
|
+
return n2 <= 100 ? Sn[n2] : An[n2] > 0 ? An[n2] : An[n2] = On(n2 - 1) * n2;
|
|
1274
|
+
}
|
|
1275
|
+
function Dn(n2) {
|
|
1276
|
+
return 1 === n2 || 0 === n2 ? 1 : 2 === n2 ? 2 : Rn[n2] > 0 ? Rn[n2] : Rn[n2] = Dn(n2 - 2) * n2;
|
|
1277
|
+
}
|
|
1278
|
+
function yn(n2) {
|
|
1279
|
+
const t2 = [], e2 = n2.length;
|
|
1280
|
+
for (let r2 = 0; r2 < e2; r2++) {
|
|
1281
|
+
const e3 = n2[r2], u2 = e3.length;
|
|
1282
|
+
for (let n3 = 0; n3 < u2; n3++) t2.push(e3[n3]);
|
|
1283
|
+
}
|
|
1284
|
+
return t2;
|
|
1285
|
+
}
|
|
1286
|
+
const wn = (t2, e2, r2) => {
|
|
1287
|
+
const u2 = yn(t2), o2 = yn(e2);
|
|
1288
|
+
let a2 = 0;
|
|
1289
|
+
if (u2.length !== o2.length) throw n.BuiltIn.NA;
|
|
1290
|
+
const i2 = u2.length;
|
|
1291
|
+
for (let n2 = 0; n2 < i2; n2++) "number" == typeof u2[n2] && "number" == typeof o2[n2] && (a2 = Cn(a2 + r2(u2[n2], o2[n2])));
|
|
1292
|
+
return a2;
|
|
1293
|
+
};
|
|
1294
|
+
function Bn(n2, t2 = void 0) {
|
|
1295
|
+
if (0 === t2) return 0;
|
|
1296
|
+
if (n2 / t2 % 1 == 0) return n2;
|
|
1297
|
+
const e2 = Math.abs(t2), r2 = Math.floor(Math.abs(n2) / e2);
|
|
1298
|
+
if (n2 < 0) {
|
|
1299
|
+
return t2 < 0 ? -e2 * (r2 + 1) : -e2 * r2;
|
|
1300
|
+
}
|
|
1301
|
+
return (r2 + 1) * e2;
|
|
1302
|
+
}
|
|
1303
|
+
function Un(n2, t2 = 1) {
|
|
1304
|
+
return 0 === t2 ? 0 : Bn(n2, Math.abs(t2));
|
|
1305
|
+
}
|
|
1306
|
+
function Ln(n2, t2) {
|
|
1307
|
+
if (n2 < 0 || t2 < 0 || n2 < t2) return Number.NaN;
|
|
1308
|
+
return _n(n2) / _n(t2) / _n(n2 - t2);
|
|
1309
|
+
}
|
|
1310
|
+
function _n(n2) {
|
|
1311
|
+
return (n2 = Math.trunc(n2)) > 170 || n2 < 0 ? Number.NaN : n2 <= 100 ? Sn[n2] : On(n2);
|
|
1312
|
+
}
|
|
1313
|
+
function vn(n2, t2 = void 0) {
|
|
1314
|
+
if (0 === n2) return 0;
|
|
1315
|
+
if (0 === t2) return 1 / 0;
|
|
1316
|
+
if (t2 = t2 ?? (n2 > 0 ? 1 : -1), n2 > 0 && t2 < 0) return Number.NaN;
|
|
1317
|
+
if (n2 / t2 % 1 == 0) return n2;
|
|
1318
|
+
const e2 = Math.abs(t2), r2 = Math.floor(Math.abs(n2) / e2);
|
|
1319
|
+
if (n2 < 0) {
|
|
1320
|
+
return t2 < 0 ? -e2 * r2 : -e2 * (r2 + 1);
|
|
1321
|
+
}
|
|
1322
|
+
return r2 * e2;
|
|
1323
|
+
}
|
|
1324
|
+
function Vn(n2) {
|
|
1325
|
+
return Math.floor(n2);
|
|
1326
|
+
}
|
|
1327
|
+
const Pn = Object.freeze(Object.defineProperty({ __proto__: null, ABS: function(n2) {
|
|
1328
|
+
return Math.abs(n2);
|
|
1329
|
+
}, AGGREGATE: function(n2, t2, e2, r2) {
|
|
1330
|
+
}, ARABIC: function(t2) {
|
|
1331
|
+
if (!/^M*(?:D?C{0,3}|C[MD])(?:L?X{0,3}|X[CL])(?:V?I{0,3}|I[XV])$/.test(t2)) throw new n.Value("Invalid roman numeral in ARABIC evaluation.");
|
|
1332
|
+
let e2 = 0;
|
|
1333
|
+
return t2.replace(/[MDLV]|C[MD]?|X[CL]?|I[XV]?/g, (n2) => {
|
|
1334
|
+
e2 += { 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 }[n2];
|
|
1335
|
+
}), e2;
|
|
1336
|
+
}, BASE: function(n2, t2, e2 = 0) {
|
|
1337
|
+
if (n2 < 0 || n2 >= 2 ** 53) return Number.NaN;
|
|
1338
|
+
if (t2 < 2 || t2 > 36) return Number.NaN;
|
|
1339
|
+
if (e2 < 0) return Number.NaN;
|
|
1340
|
+
const r2 = n2.toString(t2).toUpperCase();
|
|
1341
|
+
return new Array(Math.max(e2 + 1 - r2.length, 0)).join("0") + r2;
|
|
1342
|
+
}, CEILING: Bn, CEILING_MATH: function(n2, t2 = void 0, e2 = 0) {
|
|
1343
|
+
if (0 === (t2 = t2 ?? (n2 > 0 ? 1 : -1))) return 0;
|
|
1344
|
+
if (n2 >= 0) return Bn(n2, t2);
|
|
1345
|
+
const r2 = e2 ? t2 : 0;
|
|
1346
|
+
return Bn(n2, t2) - r2;
|
|
1347
|
+
}, CEILING_PRECISE: Un, COMBIN: Ln, COMBINA: function(n2, t2) {
|
|
1348
|
+
return 0 !== n2 && 1 !== n2 || 0 !== t2 ? n2 < 0 || t2 < 0 ? Number.NaN : Ln(n2 + t2 - 1, n2 - 1) : 1;
|
|
1349
|
+
}, DECIMAL: function(n2, t2) {
|
|
1350
|
+
return (t2 = Math.trunc(t2)) < 2 || t2 > 36 ? Number.NaN : parseInt(n2, t2);
|
|
1351
|
+
}, DEGREES: function(n2) {
|
|
1352
|
+
return n2 * (180 / Math.PI);
|
|
1353
|
+
}, EVEN: function(n2) {
|
|
1354
|
+
return Bn(n2, -2);
|
|
1355
|
+
}, EXP: function(n2) {
|
|
1356
|
+
return Math.exp(n2);
|
|
1357
|
+
}, FACT: _n, FACTDOUBLE: function(n2) {
|
|
1358
|
+
return (n2 = Math.trunc(n2)) < -1 ? Number.NaN : -1 === n2 ? 1 : Dn(n2);
|
|
1359
|
+
}, FLOOR: vn, FLOOR_MATH: function(n2, t2 = void 0, e2 = 0) {
|
|
1360
|
+
return 0 === (t2 = t2 ?? (n2 > 0 ? 1 : -1)) ? 0 : 0 === e2 || n2 >= 0 ? vn(n2, Math.abs(t2)) : vn(n2, t2) + t2;
|
|
1361
|
+
}, FLOOR_PRECISE: function(n2, t2 = 1) {
|
|
1362
|
+
return 0 === t2 ? 0 : vn(n2, Math.abs(t2));
|
|
1363
|
+
}, GCD: function(...n2) {
|
|
1364
|
+
let t2, e2 = n2[0];
|
|
1365
|
+
if (e2 < 0 || e2 > 9007199254740990) return Number.NaN;
|
|
1366
|
+
e2 = Math.abs(Math.abs(Math.trunc(e2)));
|
|
1367
|
+
const r2 = n2.length;
|
|
1368
|
+
for (let u2 = 1; u2 < r2; u2++) {
|
|
1369
|
+
if (t2 = n2[u2], t2 < 0 || t2 > 9007199254740990) return Number.NaN;
|
|
1370
|
+
for (t2 = Math.abs(Math.trunc(t2)); e2 && t2; ) e2 > t2 ? e2 %= t2 : t2 %= e2;
|
|
1371
|
+
e2 += t2;
|
|
1372
|
+
}
|
|
1373
|
+
return e2;
|
|
1374
|
+
}, INT: Vn, ISO_CEILING: function(n2, t2 = void 0) {
|
|
1375
|
+
return Un(n2, t2);
|
|
1376
|
+
}, LCM: function(...n2) {
|
|
1377
|
+
let t2, e2, r2 = n2[0];
|
|
1378
|
+
if (r2 < 0 || r2 > 9007199254740990) return Number.NaN;
|
|
1379
|
+
r2 = Math.abs(Math.trunc(r2));
|
|
1380
|
+
const u2 = n2.length;
|
|
1381
|
+
for (let o2 = 1; o2 < u2; o2++) {
|
|
1382
|
+
const u3 = n2[o2];
|
|
1383
|
+
if (u3 < 0 || u3 > 9007199254740990) return Number.NaN;
|
|
1384
|
+
for (t2 = Math.abs(Math.trunc(u3)), e2 = r2; r2 && t2; ) r2 > t2 ? r2 %= t2 : t2 %= r2;
|
|
1385
|
+
r2 = Math.abs(e2 * u3) / (r2 + t2);
|
|
1386
|
+
}
|
|
1387
|
+
return r2;
|
|
1388
|
+
}, LN: function(n2) {
|
|
1389
|
+
return Math.log(n2);
|
|
1390
|
+
}, LOG: function(n2, t2 = 10) {
|
|
1391
|
+
return Math.log(n2) / Math.log(t2);
|
|
1392
|
+
}, LOG10: function(n2) {
|
|
1393
|
+
return Math.log10(n2);
|
|
1394
|
+
}, MDETERM: function(t2) {
|
|
1395
|
+
if (t2[0].length !== t2.length) throw n.BuiltIn.Value;
|
|
1396
|
+
const e2 = t2.length, r2 = t2[0].length;
|
|
1397
|
+
let u2, o2, a2 = 0;
|
|
1398
|
+
if (1 === e2) return t2[0][0];
|
|
1399
|
+
if (2 === e2) return t2[0][0] * t2[1][1] - t2[0][1] * t2[1][0];
|
|
1400
|
+
for (let n2 = 0; n2 < r2; n2++) {
|
|
1401
|
+
u2 = t2[0][n2], o2 = t2[0][n2];
|
|
1402
|
+
for (let a3 = 1; a3 < e2; a3++) o2 *= t2[a3][((n2 + a3) % r2 + r2) % r2], u2 *= t2[a3][((n2 - a3) % r2 + r2) % r2];
|
|
1403
|
+
a2 += o2 - u2;
|
|
1404
|
+
}
|
|
1405
|
+
return a2;
|
|
1406
|
+
}, MINVERSE: function(n2) {
|
|
1407
|
+
}, MMULT: function(t2, e2) {
|
|
1408
|
+
const r2 = t2.length, u2 = t2[0].length, o2 = e2.length, a2 = e2[0].length;
|
|
1409
|
+
if (u2 !== o2) throw n.BuiltIn.Value;
|
|
1410
|
+
const i2 = new Array(r2);
|
|
1411
|
+
for (let o3 = 0; o3 < r2; o3++) {
|
|
1412
|
+
i2[o3] = new Array(a2);
|
|
1413
|
+
for (let r3 = 0; r3 < a2; r3++) {
|
|
1414
|
+
i2[o3][r3] = 0;
|
|
1415
|
+
for (let a3 = 0; a3 < u2; a3++) {
|
|
1416
|
+
const u3 = t2[o3][a3], l2 = e2[a3][r3];
|
|
1417
|
+
if ("number" != typeof u3 || "number" != typeof l2) throw n.BuiltIn.Value;
|
|
1418
|
+
i2[o3][r3] += t2[o3][a3] * e2[a3][r3];
|
|
1419
|
+
}
|
|
1420
|
+
}
|
|
1421
|
+
}
|
|
1422
|
+
return i2;
|
|
1423
|
+
}, MOD: function(n2, t2) {
|
|
1424
|
+
return 0 === t2 ? 1 / 0 : n2 - t2 * Vn(n2 / t2);
|
|
1425
|
+
}, MROUND: function(n2, t2) {
|
|
1426
|
+
return 0 === t2 ? 0 : n2 > 0 && t2 < 0 || n2 < 0 && t2 > 0 ? Number.NaN : n2 / t2 % 1 == 0 ? n2 : Math.round(n2 / t2) * t2;
|
|
1427
|
+
}, MULTINOMIAL: function(...n2) {
|
|
1428
|
+
let t2 = 0, e2 = 1;
|
|
1429
|
+
for (let r2 = 0; r2 < n2.length; r2++) {
|
|
1430
|
+
const u2 = n2[r2];
|
|
1431
|
+
if (u2 < 0) return Number.NaN;
|
|
1432
|
+
t2 += u2, e2 *= On(u2);
|
|
1433
|
+
}
|
|
1434
|
+
return On(t2) / e2;
|
|
1435
|
+
}, MUNIT: function(n2) {
|
|
1436
|
+
const t2 = [];
|
|
1437
|
+
for (let e2 = 0; e2 < n2; e2++) {
|
|
1438
|
+
const r2 = [];
|
|
1439
|
+
for (let t3 = 0; t3 < n2; t3++) e2 === t3 ? r2.push(1) : r2.push(0);
|
|
1440
|
+
t2.push(r2);
|
|
1441
|
+
}
|
|
1442
|
+
return t2;
|
|
1443
|
+
}, ODD: function(n2) {
|
|
1444
|
+
if (0 === n2) return 1;
|
|
1445
|
+
let t2 = Math.ceil(Math.abs(n2));
|
|
1446
|
+
return t2 = 1 & t2 ? t2 : t2 + 1, n2 > 0 ? t2 : -t2;
|
|
1447
|
+
}, PI: function() {
|
|
1448
|
+
return Math.PI;
|
|
1449
|
+
}, POWER: function(n2, t2) {
|
|
1450
|
+
return n2 ** t2;
|
|
1451
|
+
}, PRODUCT: function(...n2) {
|
|
1452
|
+
let t2 = 1;
|
|
1453
|
+
for (const e2 of n2) for (const n3 of e2.values()) t2 *= n3;
|
|
1454
|
+
return t2;
|
|
1455
|
+
}, QUOTIENT: function(n2, t2) {
|
|
1456
|
+
return Math.trunc(n2 / t2);
|
|
1457
|
+
}, RADIANS: function(n2) {
|
|
1458
|
+
return n2 / 180 * Math.PI;
|
|
1459
|
+
}, RAND: function() {
|
|
1460
|
+
return t.markVolatile(), Math.random();
|
|
1461
|
+
}, RANDARRAY: function(e2 = 1, r2 = 1, u2 = 0, o2 = 1, a2 = false) {
|
|
1462
|
+
if (0 === e2 || 0 === r2) throw n.BuiltIn.Calc;
|
|
1463
|
+
if (e2 < 0 || r2 < 0) throw n.BuiltIn.Value;
|
|
1464
|
+
const i2 = t.getEntireCoords();
|
|
1465
|
+
if (e2 + 1 > i2.rowEnd || r2 + 1 > i2.colEnd) throw n.BuiltIn.Value;
|
|
1466
|
+
if (u2 > o2) throw Number.NaN;
|
|
1467
|
+
const l2 = Math.floor(e2), s2 = Math.floor(r2), f2 = new Array(l2);
|
|
1468
|
+
for (let n2 = 0; n2 < l2; n2++) {
|
|
1469
|
+
const t2 = new Array(s2);
|
|
1470
|
+
for (let n3 = 0; n3 < s2; n3++) {
|
|
1471
|
+
let e3 = u2 + Math.random() * (o2 - u2);
|
|
1472
|
+
a2 && (e3 = Math.floor(e3), e3 > o2 && (e3 = o2)), t2[n3] = e3;
|
|
1473
|
+
}
|
|
1474
|
+
f2[n2] = t2;
|
|
1475
|
+
}
|
|
1476
|
+
return t.markVolatile(), f2;
|
|
1477
|
+
}, RANDBETWEEN: function(n2, e2) {
|
|
1478
|
+
return t.markVolatile(), Math.floor(Math.random() * (e2 - n2 + 1) + n2);
|
|
1479
|
+
}, ROMAN: function(n2, t2 = 0) {
|
|
1480
|
+
if (0 !== t2) throw Error("ROMAN: only allows form=0 (classic form).");
|
|
1481
|
+
const e2 = String(n2).split(""), r2 = ["", "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"];
|
|
1482
|
+
let u2 = "", o2 = 3;
|
|
1483
|
+
for (; o2--; ) u2 = (r2[+e2.pop() + 10 * o2] || "") + u2;
|
|
1484
|
+
return new Array(+e2.join("") + 1).join("M") + u2;
|
|
1485
|
+
}, ROUND: function(n2, t2) {
|
|
1486
|
+
const e2 = Math.pow(10, Math.abs(t2)), r2 = n2 > 0 ? 1 : -1;
|
|
1487
|
+
return t2 > 0 ? r2 * Math.round(Math.abs(n2) * e2) / e2 : 0 === t2 ? r2 * Math.round(Math.abs(n2)) : r2 * Math.round(Math.abs(n2) / e2) * e2;
|
|
1488
|
+
}, ROUNDDOWN: function(n2, t2) {
|
|
1489
|
+
const e2 = Math.pow(10, Math.abs(t2)), r2 = n2 > 0 ? 1 : -1;
|
|
1490
|
+
if (t2 > 0) {
|
|
1491
|
+
const t3 = 1 / e2 * 0.5;
|
|
1492
|
+
return r2 * Math.round((Math.abs(n2) - t3) * e2) / e2;
|
|
1493
|
+
}
|
|
1494
|
+
if (0 === t2) {
|
|
1495
|
+
const t3 = 0.5;
|
|
1496
|
+
return r2 * Math.round(Math.abs(n2) - t3);
|
|
1497
|
+
}
|
|
1498
|
+
{
|
|
1499
|
+
const t3 = 0.5 * e2;
|
|
1500
|
+
return r2 * Math.round((Math.abs(n2) - t3) / e2) * e2;
|
|
1501
|
+
}
|
|
1502
|
+
}, ROUNDUP: function(n2, t2) {
|
|
1503
|
+
const e2 = Math.pow(10, Math.abs(t2)), r2 = n2 > 0 ? 1 : -1;
|
|
1504
|
+
if (t2 > 0) {
|
|
1505
|
+
const t3 = 1 / e2 * 0.5;
|
|
1506
|
+
return r2 * Math.round((Math.abs(n2) + t3) * e2) / e2;
|
|
1507
|
+
}
|
|
1508
|
+
if (0 === t2) {
|
|
1509
|
+
const t3 = 0.5;
|
|
1510
|
+
return r2 * Math.round(Math.abs(n2) + t3);
|
|
1511
|
+
}
|
|
1512
|
+
{
|
|
1513
|
+
const t3 = 0.5 * e2;
|
|
1514
|
+
return r2 * Math.round((Math.abs(n2) + t3) / e2) * e2;
|
|
1515
|
+
}
|
|
1516
|
+
}, SEQUENCE: function(e2, r2 = 1, u2 = 1, o2 = 1) {
|
|
1517
|
+
if (0 === e2 || 0 === r2) throw n.BuiltIn.Calc;
|
|
1518
|
+
if (e2 < 0 || r2 < 0) throw n.BuiltIn.Value;
|
|
1519
|
+
const a2 = t.getEntireCoords();
|
|
1520
|
+
if (e2 + 1 > a2.rowEnd || r2 + 1 > a2.colEnd) throw n.BuiltIn.Value;
|
|
1521
|
+
const i2 = Math.floor(e2), l2 = Math.floor(r2);
|
|
1522
|
+
let s2 = u2;
|
|
1523
|
+
const f2 = new Array(i2);
|
|
1524
|
+
for (let n2 = 0; n2 < i2; n2++) {
|
|
1525
|
+
const t2 = new Array(l2);
|
|
1526
|
+
for (let n3 = 0; n3 < l2; n3++) t2[n3] = s2, s2 += o2;
|
|
1527
|
+
f2[n2] = t2;
|
|
1528
|
+
}
|
|
1529
|
+
return f2;
|
|
1530
|
+
}, SERIESSUM: function(t2, e2, r2, ...u2) {
|
|
1531
|
+
let o2;
|
|
1532
|
+
for (let a2 = 0; a2 < u2.length; a2++) {
|
|
1533
|
+
const i2 = u2[a2];
|
|
1534
|
+
if ("number" != typeof i2) throw n.BuiltIn.Value;
|
|
1535
|
+
0 === a2 ? o2 = i2 * Math.pow(t2, e2) : o2 += i2 * Math.pow(t2, e2 + a2 * r2);
|
|
1536
|
+
}
|
|
1537
|
+
return o2;
|
|
1538
|
+
}, SIGN: function(n2) {
|
|
1539
|
+
return n2 > 0 ? 1 : 0 === n2 ? 0 : -1;
|
|
1540
|
+
}, SQRT: function(n2) {
|
|
1541
|
+
return Math.sqrt(n2);
|
|
1542
|
+
}, SQRTPI: function(n2) {
|
|
1543
|
+
return n2 < 0 ? Number.NaN : Math.sqrt(n2 * Math.PI);
|
|
1544
|
+
}, SUBTOTAL: function(n2, ...t2) {
|
|
1545
|
+
}, SUM: function(...n2) {
|
|
1546
|
+
let t2 = 0;
|
|
1547
|
+
for (const e2 of n2) for (const n3 of e2.values()) t2 = Cn(t2 + n3);
|
|
1548
|
+
return t2;
|
|
1549
|
+
}, SUMIF: function(n2, t2, e2) {
|
|
1550
|
+
}, SUMIFS: function(n2, t2, e2) {
|
|
1551
|
+
}, SUMPRODUCT: function(t2, ...e2) {
|
|
1552
|
+
e2.forEach((e3) => {
|
|
1553
|
+
if (t2[0].length !== e3[0].length || t2.length !== e3.length) throw n.BuiltIn.Value;
|
|
1554
|
+
for (let n2 = 0; n2 < t2.length; n2++) for (let r3 = 0; r3 < t2[0].length; r3++) "number" != typeof t2[n2][r3] && (t2[n2][r3] = 0), "number" != typeof e3[n2][r3] && (e3[n2][r3] = 0), t2[n2][r3] *= e3[n2][r3];
|
|
1555
|
+
});
|
|
1556
|
+
let r2 = 0;
|
|
1557
|
+
return t2.forEach((n2) => {
|
|
1558
|
+
n2.forEach((n3) => {
|
|
1559
|
+
r2 = Cn(r2 + n3);
|
|
1560
|
+
});
|
|
1561
|
+
}), r2;
|
|
1562
|
+
}, SUMSQ: function(...n2) {
|
|
1563
|
+
let t2 = 0;
|
|
1564
|
+
for (const r2 of n2) for (const n3 of r2.values({ type: e.Number, includeBoolean: true })) t2 = Cn(t2 + n3 ** 2);
|
|
1565
|
+
return t2;
|
|
1566
|
+
}, SUMX2MY2: function(n2, t2) {
|
|
1567
|
+
return wn(n2, t2, (n3, t3) => n3 ** 2 - t3 ** 2);
|
|
1568
|
+
}, SUMX2PY2: function(n2, t2) {
|
|
1569
|
+
return wn(n2, t2, (n3, t3) => n3 ** 2 + t3 ** 2);
|
|
1570
|
+
}, SUMXMY2: function(n2, t2) {
|
|
1571
|
+
return wn(n2, t2, (n3, t3) => (n3 - t3) ** 2);
|
|
1572
|
+
}, TRUNC: function(n2, t2 = 0) {
|
|
1573
|
+
return Math.trunc(n2);
|
|
1574
|
+
} }, Symbol.toStringTag, { value: "Module" })), Fn = 2 ** 27 - 1;
|
|
1575
|
+
const xn = Object.freeze(Object.defineProperty({ __proto__: null, ACOS: function(n2) {
|
|
1576
|
+
return n2 > 1 || n2 < -1 ? Number.NaN : Math.acos(n2);
|
|
1577
|
+
}, ACOSH: function(n2) {
|
|
1578
|
+
return n2 < 1 ? Number.NaN : Math.acosh(n2);
|
|
1579
|
+
}, ACOT: function(n2) {
|
|
1580
|
+
return Math.PI / 2 - Math.atan(n2);
|
|
1581
|
+
}, ACOTH: function(n2) {
|
|
1582
|
+
return Math.abs(n2) <= 1 ? Number.NaN : Math.atanh(1 / n2);
|
|
1583
|
+
}, ASIN: function(n2) {
|
|
1584
|
+
return n2 > 1 || n2 < -1 ? Number.NaN : Math.asin(n2);
|
|
1585
|
+
}, ASINH: function(n2) {
|
|
1586
|
+
return Math.asinh(n2);
|
|
1587
|
+
}, ATAN: function(n2) {
|
|
1588
|
+
return Math.atan(n2);
|
|
1589
|
+
}, ATAN2: function(n2, t2) {
|
|
1590
|
+
return 0 === t2 && 0 === n2 ? 1 / 0 : Math.atan2(t2, n2);
|
|
1591
|
+
}, ATANH: function(n2) {
|
|
1592
|
+
return Math.abs(n2) > 1 ? Number.NaN : Math.atanh(n2);
|
|
1593
|
+
}, COS: function(n2) {
|
|
1594
|
+
if (Math.abs(n2) > Fn) return Number.NaN;
|
|
1595
|
+
const t2 = Math.cos(n2);
|
|
1596
|
+
return isFinite(t2) ? t2 : Number.NaN;
|
|
1597
|
+
}, COSH: function(n2) {
|
|
1598
|
+
const t2 = Math.cosh(n2);
|
|
1599
|
+
return isFinite(t2) ? t2 : Number.NaN;
|
|
1600
|
+
}, COT: function(n2) {
|
|
1601
|
+
return Math.abs(n2) > Fn ? Number.NaN : 0 === n2 ? 1 / 0 : 1 / Math.tan(n2);
|
|
1602
|
+
}, COTH: function(n2) {
|
|
1603
|
+
return 0 === n2 ? 1 / 0 : 1 / Math.tanh(n2);
|
|
1604
|
+
}, CSC: function(n2) {
|
|
1605
|
+
return Math.abs(n2) > Fn ? Number.NaN : 1 / Math.sin(n2);
|
|
1606
|
+
}, CSCH: function(n2) {
|
|
1607
|
+
return 0 === n2 ? 1 / 0 : 1 / Math.sinh(n2);
|
|
1608
|
+
}, SEC: function(n2) {
|
|
1609
|
+
return Math.abs(n2) > Fn ? Number.NaN : 1 / Math.cos(n2);
|
|
1610
|
+
}, SECH: function(n2) {
|
|
1611
|
+
return 1 / Math.cosh(n2);
|
|
1612
|
+
}, SIN: function(n2) {
|
|
1613
|
+
return Math.abs(n2) > Fn ? Number.NaN : Math.sin(n2);
|
|
1614
|
+
}, SINH: function(n2) {
|
|
1615
|
+
const t2 = Math.sinh(n2);
|
|
1616
|
+
return isFinite(t2) ? t2 : Number.NaN;
|
|
1617
|
+
}, TAN: function(n2) {
|
|
1618
|
+
return Math.abs(n2) > Fn ? Number.NaN : Math.tan(n2);
|
|
1619
|
+
}, TANH: function(n2) {
|
|
1620
|
+
return Math.tanh(n2);
|
|
1621
|
+
} }, Symbol.toStringTag, { value: "Module" }));
|
|
1622
|
+
function Hn(n2, ...t2) {
|
|
1623
|
+
for (const e2 of t2) {
|
|
1624
|
+
const t3 = e2.isLiteral();
|
|
1625
|
+
for (const r2 of e2.values({ coerce: false, includeMistyped: true })) {
|
|
1626
|
+
const e3 = typeof r2;
|
|
1627
|
+
if ("number" !== e3) if ("string" !== e3) if ("boolean" !== e3) {
|
|
1628
|
+
if (r2.isFormulaError) throw r2;
|
|
1629
|
+
} else {
|
|
1630
|
+
if (t3) continue;
|
|
1631
|
+
n2(r2);
|
|
1632
|
+
}
|
|
1633
|
+
else n2(r2);
|
|
1634
|
+
else n2(r2);
|
|
1635
|
+
}
|
|
1636
|
+
}
|
|
1637
|
+
}
|
|
1638
|
+
function Gn(...t2) {
|
|
1639
|
+
let e2 = 0, r2 = 0;
|
|
1640
|
+
for (const n2 of t2) for (const t3 of n2.values()) e2 += t3, r2++;
|
|
1641
|
+
if (0 === r2) throw n.BuiltIn.Div0;
|
|
1642
|
+
return e2 / r2;
|
|
1643
|
+
}
|
|
1644
|
+
function Xn(...n2) {
|
|
1645
|
+
let t2 = 0, e2 = 0;
|
|
1646
|
+
for (const r2 of n2) {
|
|
1647
|
+
const n3 = r2.isLiteral();
|
|
1648
|
+
for (const u2 of r2.values({ coerce: false, includeMistyped: true })) {
|
|
1649
|
+
const r3 = typeof u2;
|
|
1650
|
+
if ("number" !== r3) if ("string" !== r3) if ("boolean" !== r3) {
|
|
1651
|
+
if (u2.isFormulaError) return u2;
|
|
1652
|
+
} else {
|
|
1653
|
+
if (n3) continue;
|
|
1654
|
+
t2 += u2 ? 1 : 0, e2++;
|
|
1655
|
+
}
|
|
1656
|
+
else e2++;
|
|
1657
|
+
else t2 += u2, e2++;
|
|
1658
|
+
}
|
|
1659
|
+
}
|
|
1660
|
+
return t2 / e2;
|
|
1661
|
+
}
|
|
1662
|
+
const Yn = Object.freeze(Object.defineProperty({ __proto__: null, AVEDEV: function(...n2) {
|
|
1663
|
+
let t2 = 0;
|
|
1664
|
+
const e2 = [];
|
|
1665
|
+
for (const r3 of n2) for (const n3 of r3.values()) t2 += n3, e2.push(n3);
|
|
1666
|
+
const r2 = e2.length, u2 = t2 / r2;
|
|
1667
|
+
t2 = 0;
|
|
1668
|
+
for (let n3 = 0; n3 < r2; n3++) t2 += Math.abs(e2[n3] - u2);
|
|
1669
|
+
return t2 / r2;
|
|
1670
|
+
}, AVERAGE: Gn, AVERAGEA: Xn, AVERAGEIF: function(n2, t2, e2) {
|
|
1671
|
+
}, AVERAGEIFS: function(n2, t2, ...e2) {
|
|
1672
|
+
}, COUNT: function(...n2) {
|
|
1673
|
+
let t2 = 0;
|
|
1674
|
+
for (const e2 of n2) for (const n3 of e2.values()) t2++;
|
|
1675
|
+
return t2;
|
|
1676
|
+
}, COUNTA: function(...n2) {
|
|
1677
|
+
let t2 = 0;
|
|
1678
|
+
for (const e2 of n2) {
|
|
1679
|
+
const n3 = e2.isLiteral();
|
|
1680
|
+
for (const r2 of e2.values({ coerce: false, includeMistyped: true })) {
|
|
1681
|
+
const e3 = typeof r2;
|
|
1682
|
+
if ("number" !== e3) if ("string" !== e3) if ("boolean" !== e3) {
|
|
1683
|
+
if (r2.isFormulaError) return r2;
|
|
1684
|
+
} else {
|
|
1685
|
+
if (n3) continue;
|
|
1686
|
+
t2++;
|
|
1687
|
+
}
|
|
1688
|
+
else t2++;
|
|
1689
|
+
else t2++;
|
|
1690
|
+
}
|
|
1691
|
+
}
|
|
1692
|
+
return t2;
|
|
1693
|
+
}, COUNTBLANK: function(n2) {
|
|
1694
|
+
return n2.size;
|
|
1695
|
+
}, COUNTIF: function(n2, t2) {
|
|
1696
|
+
}, COUNTIFS: function(n2, t2) {
|
|
1697
|
+
}, LARGE: function(n2, t2) {
|
|
1698
|
+
if ((t2 = Math.floor(t2)) < 1) return Number.NaN;
|
|
1699
|
+
const e2 = [];
|
|
1700
|
+
for (const t3 of n2.values()) e2.push(t3);
|
|
1701
|
+
return 0 === e2.length || t2 > e2.length ? Number.NaN : (e2.sort((n3, t3) => t3 - n3), e2[t2 - 1]);
|
|
1702
|
+
}, MAX: function(...n2) {
|
|
1703
|
+
let t2 = Number.MIN_SAFE_INTEGER;
|
|
1704
|
+
for (const e2 of n2) for (const n3 of e2.values()) t2 = Math.max(t2, n3);
|
|
1705
|
+
return t2 === Number.MIN_SAFE_INTEGER ? 0 : t2;
|
|
1706
|
+
}, MAXA: function(...n2) {
|
|
1707
|
+
let t2 = 0;
|
|
1708
|
+
return Hn((n3) => {
|
|
1709
|
+
t2 = Math.min(t2, n3);
|
|
1710
|
+
}, ...n2), t2;
|
|
1711
|
+
}, MAXIFS: function(n2, t2, ...e2) {
|
|
1712
|
+
}, MEDIAN: function(...n2) {
|
|
1713
|
+
const t2 = [];
|
|
1714
|
+
for (const e3 of n2) for (const n3 of e3.values()) t2.push(n3);
|
|
1715
|
+
t2.sort((n3, t3) => n3 - t3);
|
|
1716
|
+
const e2 = t2.length;
|
|
1717
|
+
if (e2 % 2 == 0) {
|
|
1718
|
+
const n3 = e2 / 2;
|
|
1719
|
+
return (t2[n3 - 1] + t2[n3]) / 2;
|
|
1720
|
+
}
|
|
1721
|
+
return t2[Math.floor(e2 / 2)];
|
|
1722
|
+
}, MIN: function(...n2) {
|
|
1723
|
+
let t2 = Number.MAX_SAFE_INTEGER;
|
|
1724
|
+
for (const e2 of n2) for (const n3 of e2.values()) t2 = Math.min(t2, n3);
|
|
1725
|
+
return t2 === Number.MAX_SAFE_INTEGER ? 0 : t2;
|
|
1726
|
+
}, MINA: function(...n2) {
|
|
1727
|
+
let t2 = 0;
|
|
1728
|
+
return Hn((n3) => {
|
|
1729
|
+
t2 = Math.min(t2, n3);
|
|
1730
|
+
}, ...n2), t2;
|
|
1731
|
+
}, MINIFS: function(n2, t2, ...e2) {
|
|
1732
|
+
}, PERMUT: function(n2, t2) {
|
|
1733
|
+
}, PERMUTATIONA: function(n2, t2) {
|
|
1734
|
+
}, SMALL: function(n2, t2) {
|
|
1735
|
+
if ((t2 = Math.floor(t2)) < 1) return Number.NaN;
|
|
1736
|
+
const e2 = [];
|
|
1737
|
+
for (const t3 of n2.values()) e2.push(t3);
|
|
1738
|
+
return 0 === e2.length || t2 > e2.length ? Number.NaN : (e2.sort((n3, t3) => n3 - t3), e2[t2 - 1]);
|
|
1739
|
+
} }, Symbol.toStringTag, { value: "Module" }));
|
|
1740
|
+
function kn(t2, e2 = null) {
|
|
1741
|
+
const r2 = t2.size, u2 = new Array(r2);
|
|
1742
|
+
let o2 = new Array(r2), a2 = 0;
|
|
1743
|
+
if (e2) {
|
|
1744
|
+
if (e2.size !== r2) throw n.BuiltIn.Ref;
|
|
1745
|
+
for (const t3 of e2.values({ includeEmpty: true })) {
|
|
1746
|
+
if ("number" != typeof t3) throw n.BuiltIn.Value;
|
|
1747
|
+
o2[a2++] = t3;
|
|
1748
|
+
}
|
|
1749
|
+
} else for (let n2 = 0; n2 < r2; n2++) o2[n2] = n2 + 1;
|
|
1750
|
+
a2 = 0;
|
|
1751
|
+
for (const e3 of t2.values()) {
|
|
1752
|
+
if ("number" != typeof e3) throw n.BuiltIn.Value;
|
|
1753
|
+
u2[a2++] = e3;
|
|
1754
|
+
}
|
|
1755
|
+
return [u2, o2];
|
|
1756
|
+
}
|
|
1757
|
+
function zn(n2, t2, e2, r2, u2 = 0, o2 = 1) {
|
|
1758
|
+
return t2 <= 0 || e2 <= 0 || n2 < u2 || n2 > o2 || u2 === o2 ? Number.NaN : (n2 = (n2 - u2) / (o2 - u2), r2 ? i.beta.cdf(n2, t2, e2) : i.beta.pdf(n2, t2, e2) / (o2 - u2));
|
|
1759
|
+
}
|
|
1760
|
+
function jn(n2, t2, e2, r2 = 0, u2 = 1) {
|
|
1761
|
+
return t2 <= 0 || e2 <= 0 || n2 <= 0 || n2 > 1 ? Number.NaN : i.beta.inv(n2, t2, e2) * (u2 - r2) + r2;
|
|
1762
|
+
}
|
|
1763
|
+
function Wn(n2, t2, e2, r2) {
|
|
1764
|
+
return t2 < 0 || e2 < 0 || e2 > 1 || n2 < 0 || n2 > t2 ? Number.NaN : r2 ? i.binomial.cdf(n2, t2, e2) : i.binomial.pdf(n2, t2, e2);
|
|
1765
|
+
}
|
|
1766
|
+
function Kn(n2, t2, e2 = false) {
|
|
1767
|
+
return n2 < 0 || t2 < 1 || t2 > 10 ** 10 ? Number.NaN : e2 ? i.chisquare.cdf(n2, t2) : i.chisquare.pdf(n2, t2);
|
|
1768
|
+
}
|
|
1769
|
+
function $n(n2, t2) {
|
|
1770
|
+
return t2 = Math.trunc(t2), n2 < 0 || n2 > 1 || t2 < 1 || t2 > 10 ** 10 ? Number.NaN : i.chisquare.inv(n2, t2);
|
|
1771
|
+
}
|
|
1772
|
+
function qn(t2, e2) {
|
|
1773
|
+
if (t2.length !== e2.length || t2[0].length !== e2[0].length || 1 === t2.length && 1 === t2[0].length) throw n.BuiltIn.NA;
|
|
1774
|
+
const r2 = t2.length, u2 = t2[0].length;
|
|
1775
|
+
let o2 = (r2 - 1) * (u2 - 1);
|
|
1776
|
+
o2 = 1 === r2 ? u2 - 1 : r2 - 1;
|
|
1777
|
+
let a2 = 0;
|
|
1778
|
+
for (let n2 = 0; n2 < r2; n2++) for (let r3 = 0; r3 < u2; r3++) if ("number" == typeof t2[n2][r3] && "number" == typeof e2[n2][r3]) {
|
|
1779
|
+
if (0 === e2[n2][r3]) return 1 / 0;
|
|
1780
|
+
a2 += Math.pow(t2[n2][r3] - e2[n2][r3], 2) / e2[n2][r3];
|
|
1781
|
+
}
|
|
1782
|
+
let i2 = Math.exp(-0.5 * a2);
|
|
1783
|
+
o2 % 2 == 1 && (i2 *= Math.sqrt(2 * a2 / Math.PI));
|
|
1784
|
+
let l2 = o2;
|
|
1785
|
+
for (; l2 >= 2; ) i2 = i2 * a2 / l2, l2 -= 2;
|
|
1786
|
+
let s2 = i2, f2 = o2;
|
|
1787
|
+
for (; s2 > 1e-15 * i2; ) f2 += 2, s2 = s2 * a2 / f2, i2 += s2;
|
|
1788
|
+
return 1 - i2;
|
|
1789
|
+
}
|
|
1790
|
+
function Qn(t2, e2) {
|
|
1791
|
+
if (t2.length !== e2.length) throw n.BuiltIn.NA;
|
|
1792
|
+
const r2 = [], u2 = [];
|
|
1793
|
+
for (let n2 = 0; n2 < t2.length; n2++) "number" == typeof t2[n2] && "number" == typeof e2[n2] && (r2.push(t2[n2]), u2.push(e2[n2]));
|
|
1794
|
+
const o2 = i.mean(r2), a2 = i.mean(u2);
|
|
1795
|
+
let l2 = 0;
|
|
1796
|
+
for (let n2 = 0; n2 < r2.length; n2++) l2 += (r2[n2] - o2) * (u2[n2] - a2);
|
|
1797
|
+
return l2 / r2.length;
|
|
1798
|
+
}
|
|
1799
|
+
function Zn(n2, t2, e2) {
|
|
1800
|
+
return n2 < 0 || t2 <= 0 ? Number.NaN : e2 ? i.exponential.cdf(n2, t2) : i.exponential.pdf(n2, t2);
|
|
1801
|
+
}
|
|
1802
|
+
function Jn(n2, t2, e2, r2) {
|
|
1803
|
+
return n2 < 0 || t2 < 1 || e2 < 1 ? Number.NaN : (t2 = Math.trunc(t2), e2 = Math.trunc(e2), r2 ? i.centralF.cdf(n2, t2, e2) : i.centralF.pdf(n2, t2, e2));
|
|
1804
|
+
}
|
|
1805
|
+
function nt(n2, t2, e2) {
|
|
1806
|
+
return n2 < 0 || n2 > 1 || t2 < 1 || e2 < 1 ? Number.NaN : (t2 = Math.trunc(t2), e2 = Math.trunc(e2), i.centralF.inv(n2, t2, e2));
|
|
1807
|
+
}
|
|
1808
|
+
function tt(n2, t2) {
|
|
1809
|
+
const e2 = [], r2 = [];
|
|
1810
|
+
let u2 = 0, o2 = 0;
|
|
1811
|
+
for (let a3 = 0; a3 < Math.max(n2.length, t2.length); a3++) "number" == typeof n2[a3] && (e2.push(n2[a3]), u2 += n2[a3]), "number" == typeof t2[a3] && (r2.push(t2[a3]), o2 += t2[a3]);
|
|
1812
|
+
if (e2.length <= 1 || r2.length <= 1) return 1 / 0;
|
|
1813
|
+
u2 /= e2.length, o2 /= r2.length;
|
|
1814
|
+
let a2 = 0, l2 = 0;
|
|
1815
|
+
for (let n3 = 0; n3 < e2.length; n3++) a2 += (u2 - e2[n3]) ** 2;
|
|
1816
|
+
a2 /= e2.length - 1;
|
|
1817
|
+
for (let n3 = 0; n3 < r2.length; n3++) l2 += (o2 - r2[n3]) ** 2;
|
|
1818
|
+
return l2 /= r2.length - 1, 2 * i.centralF.cdf(a2 / l2, e2.length - 1, r2.length - 1);
|
|
1819
|
+
}
|
|
1820
|
+
function et(t2, e2 = null, r2 = null) {
|
|
1821
|
+
const u2 = e2.length;
|
|
1822
|
+
if (r2.length !== u2) throw n.BuiltIn.NA;
|
|
1823
|
+
const o2 = [], a2 = [];
|
|
1824
|
+
let l2 = true;
|
|
1825
|
+
for (let n2 = 0; n2 < u2; n2++) "number" == typeof e2[n2] && "number" == typeof r2[n2] && (o2.push(e2[n2]), a2.push(r2[n2]), r2[n2] !== r2[0] && (l2 = false));
|
|
1826
|
+
if (l2) return 1 / 0;
|
|
1827
|
+
const s2 = i.mean(o2), f2 = i.mean(a2);
|
|
1828
|
+
let c2 = 0, m2 = 0;
|
|
1829
|
+
const p2 = o2.length;
|
|
1830
|
+
for (let n2 = 0; n2 < p2; n2++) c2 += (a2[n2] - f2) * (o2[n2] - s2), m2 += (a2[n2] - f2) ** 2;
|
|
1831
|
+
const N2 = c2 / m2;
|
|
1832
|
+
return s2 - N2 * f2 + N2 * t2;
|
|
1833
|
+
}
|
|
1834
|
+
function rt(n2, t2 = void 0) {
|
|
1835
|
+
let e2 = [];
|
|
1836
|
+
for (let r2 = 0; r2 < n2.length; r2++) {
|
|
1837
|
+
const u2 = n2[r2];
|
|
1838
|
+
for (let n3 = 0; n3 < u2.length; n3++) {
|
|
1839
|
+
let r3 = u2[n3];
|
|
1840
|
+
null == r3 && (r3 = t2), e2.push(r3);
|
|
1841
|
+
}
|
|
1842
|
+
}
|
|
1843
|
+
return e2;
|
|
1844
|
+
}
|
|
1845
|
+
function ut(n2, t2 = null, e2 = true, r2 = false) {
|
|
1846
|
+
const u2 = n2.size, [o2, a2] = kn(n2, t2), l2 = i.mean(o2), s2 = i.mean(a2);
|
|
1847
|
+
let f2 = 0, c2 = 0;
|
|
1848
|
+
for (let n3 = 0; n3 < u2; n3++) f2 += (a2[n3] - s2) * (o2[n3] - l2), c2 += Math.pow(a2[n3] - s2, 2);
|
|
1849
|
+
const m2 = f2 / c2;
|
|
1850
|
+
return [m2, l2 - m2 * s2];
|
|
1851
|
+
}
|
|
1852
|
+
function ot(n2, t2) {
|
|
1853
|
+
return t2 ? i.normal.cdf(n2, 0, 1) : i.normal.pdf(n2, 0, 1);
|
|
1854
|
+
}
|
|
1855
|
+
function at(...n2) {
|
|
1856
|
+
const t2 = it(...n2);
|
|
1857
|
+
return Math.sqrt(t2);
|
|
1858
|
+
}
|
|
1859
|
+
function it(...n2) {
|
|
1860
|
+
let t2 = 0, r2 = 0;
|
|
1861
|
+
const u2 = Gn(...n2);
|
|
1862
|
+
for (const o2 of n2) for (const n3 of o2.values({ type: e.Number, includeMistyped: true })) "number" == typeof n3 && (t2 += Math.pow(n3 - u2, 2)), r2++;
|
|
1863
|
+
return t2 / (r2 - 1);
|
|
1864
|
+
}
|
|
1865
|
+
const lt = Object.freeze(Object.defineProperty({ __proto__: null, BETADIST: function(n2, t2, e2, r2, u2 = 0, o2 = 1) {
|
|
1866
|
+
return zn(n2, t2, e2, true, u2, o2);
|
|
1867
|
+
}, BETAINV: function(n2, t2, e2, r2 = 0, u2 = 1) {
|
|
1868
|
+
return jn(n2, t2, e2, r2, u2);
|
|
1869
|
+
}, BETA_DIST: zn, BETA_INV: jn, BINOMDIST: function(n2, t2, e2, r2) {
|
|
1870
|
+
return Wn(n2, t2, e2, r2);
|
|
1871
|
+
}, BINOM_DIST: Wn, BINOM_DIST_RANGE: function(n2, t2, e2, r2 = e2) {
|
|
1872
|
+
if (n2 < 0 || t2 < 0 || t2 > 1 || e2 < 0 || e2 > n2 || r2 < e2 || r2 > n2) return Number.NaN;
|
|
1873
|
+
let u2 = 0;
|
|
1874
|
+
for (let o2 = e2; o2 <= r2; o2++) u2 += Ln(n2, o2) * Math.pow(t2, o2) * Math.pow(1 - t2, n2 - o2);
|
|
1875
|
+
return u2;
|
|
1876
|
+
}, BINOM_INV: function(n2, t2, e2) {
|
|
1877
|
+
if (n2 < 0 || t2 < 0 || t2 > 1 || e2 < 0 || e2 > 1) return Number.NaN;
|
|
1878
|
+
let r2 = 0;
|
|
1879
|
+
for (; r2 <= n2; ) {
|
|
1880
|
+
if (i.binomial.cdf(r2, n2, t2) >= e2) return r2;
|
|
1881
|
+
r2++;
|
|
1882
|
+
}
|
|
1883
|
+
}, CHIDIST: function(n2, t2) {
|
|
1884
|
+
return Kn(n2, t2);
|
|
1885
|
+
}, CHIINV: function(n2, t2) {
|
|
1886
|
+
return $n(n2, t2);
|
|
1887
|
+
}, CHISQ_DIST: Kn, CHISQ_DIST_RT: function(n2, t2) {
|
|
1888
|
+
return t2 = Math.trunc(t2), n2 < 0 || t2 < 1 || t2 > 10 ** 10 ? Number.NaN : 1 - i.chisquare.cdf(n2, t2);
|
|
1889
|
+
}, CHISQ_INV: $n, CHISQ_INV_RT: function(n2, t2) {
|
|
1890
|
+
return t2 = Math.trunc(t2), n2 < 0 || n2 > 1 || t2 < 1 || t2 > 10 ** 10 ? Number.NaN : i.chisquare.inv(1 - n2, t2);
|
|
1891
|
+
}, CHISQ_TEST: qn, CHITEST: function(n2, t2) {
|
|
1892
|
+
return qn(n2, t2);
|
|
1893
|
+
}, CONFIDENCE: function(n2, t2, e2, r2) {
|
|
1894
|
+
return r2 = Math.trunc(r2), n2 <= 0 || n2 >= 1 || t2 <= 0 || r2 < 1 ? Number.NaN : i.normalci(e2, n2, t2, r2)[1] - 1;
|
|
1895
|
+
}, CONFIDENCE_NORM: function(n2, t2, e2) {
|
|
1896
|
+
return e2 = Math.trunc(e2), n2 <= 0 || n2 >= 1 || t2 <= 0 || e2 < 1 ? Number.NaN : i.normalci(1, n2, t2, e2)[1] - 1;
|
|
1897
|
+
}, CONFIDENCE_T: function(n2, t2, e2) {
|
|
1898
|
+
return e2 = Math.trunc(e2), n2 <= 0 || n2 >= 1 || t2 <= 0 || e2 < 1 ? Number.NaN : i.tci(1, n2, t2, e2)[1] - 1;
|
|
1899
|
+
}, CORREL: function(t2, e2) {
|
|
1900
|
+
if (t2.length !== e2.length) throw n.BuiltIn.NA;
|
|
1901
|
+
const r2 = [], u2 = [];
|
|
1902
|
+
for (let n2 = 0; n2 < t2.length; n2++) "number" == typeof t2[n2] && "number" == typeof e2[n2] && (r2.push(t2[n2]), u2.push(e2[n2]));
|
|
1903
|
+
return r2.length <= 1 ? 1 / 0 : i.corrcoeff(r2, u2);
|
|
1904
|
+
}, COVARIANCE: function(n2, t2) {
|
|
1905
|
+
return Qn(n2, t2);
|
|
1906
|
+
}, COVARIANCE_P: Qn, COVARIANCE_S: function(t2, e2) {
|
|
1907
|
+
if (t2.length !== e2.length) throw n.BuiltIn.NA;
|
|
1908
|
+
const r2 = [], u2 = [];
|
|
1909
|
+
for (let n2 = 0; n2 < t2.length; n2++) "number" == typeof t2[n2] && "number" == typeof e2[n2] && (r2.push(t2[n2]), u2.push(e2[n2]));
|
|
1910
|
+
return r2.length <= 1 ? 1 / 0 : i.covariance(r2, u2);
|
|
1911
|
+
}, CRITBINOM: function(n2, t2, e2) {
|
|
1912
|
+
}, DEVSQ: function(...n2) {
|
|
1913
|
+
let t2 = 0, e2 = [];
|
|
1914
|
+
for (const r3 of n2) for (const n3 of r3.values()) t2 += n3, e2.push(n3);
|
|
1915
|
+
const r2 = e2.length, u2 = t2 / r2;
|
|
1916
|
+
t2 = 0;
|
|
1917
|
+
for (let n3 = 0; n3 < r2; n3++) t2 += (e2[n3] - u2) ** 2;
|
|
1918
|
+
return t2;
|
|
1919
|
+
}, EXPONDIST: function(n2, t2, e2) {
|
|
1920
|
+
return Zn(n2, t2, e2);
|
|
1921
|
+
}, EXPON_DIST: Zn, FDIST: function(n2, t2, e2) {
|
|
1922
|
+
return Jn(n2, t2, e2, true);
|
|
1923
|
+
}, FINV: function(n2, t2, e2) {
|
|
1924
|
+
return nt(n2, t2, e2);
|
|
1925
|
+
}, FISHER: function(n2) {
|
|
1926
|
+
return n2 <= -1 || n2 >= 1 ? Number.NaN : Math.log((1 + n2) / (1 - n2)) / 2;
|
|
1927
|
+
}, FISHERINV: function(n2) {
|
|
1928
|
+
const t2 = Math.exp(2 * n2);
|
|
1929
|
+
return (t2 - 1) / (t2 + 1);
|
|
1930
|
+
}, FORECAST: et, FORECAST_ETS: function(n2, t2, e2, r2 = 0.95, u2 = 1, o2 = 1) {
|
|
1931
|
+
}, FORECAST_ETS_CONFINT: function(n2, t2, e2, r2 = 0.95, u2 = 0.95, o2 = 1, a2 = 1) {
|
|
1932
|
+
}, FORECAST_ETS_SEASONALITY: function(n2, t2, e2 = 1, r2 = 1) {
|
|
1933
|
+
}, FORECAST_ETS_STAT: function(n2, t2, e2, r2 = 1, u2 = 1, o2 = 1) {
|
|
1934
|
+
}, FORECAST_LINEAR: function(n2, t2, e2 = null) {
|
|
1935
|
+
return et(n2, t2, e2);
|
|
1936
|
+
}, FREQUENCY: function(n2, t2) {
|
|
1937
|
+
let e2 = rt(n2), r2 = rt(t2);
|
|
1938
|
+
const u2 = [];
|
|
1939
|
+
for (let n3 = 0; n3 < r2.length; n3++) "number" == typeof r2[n3] && u2.push(r2[n3]);
|
|
1940
|
+
u2.sort(), u2.push(1 / 0);
|
|
1941
|
+
const o2 = [];
|
|
1942
|
+
for (let n3 = 0; n3 < u2.length; n3++) {
|
|
1943
|
+
o2[n3] = [], o2[n3][0] = 0;
|
|
1944
|
+
for (let t3 = 0; t3 < e2.length; t3++) {
|
|
1945
|
+
if ("number" != typeof e2[t3]) continue;
|
|
1946
|
+
e2[t3] <= u2[n3] && (o2[n3][0]++, e2[t3] = null);
|
|
1947
|
+
}
|
|
1948
|
+
}
|
|
1949
|
+
return o2;
|
|
1950
|
+
}, FTEST: function(n2, t2) {
|
|
1951
|
+
return tt(n2, t2);
|
|
1952
|
+
}, F_DIST: Jn, F_DIST_RT: function(n2, t2, e2) {
|
|
1953
|
+
return n2 < 0 || t2 < 1 || e2 < 1 ? Number.NaN : (t2 = Math.trunc(t2), e2 = Math.trunc(e2), 1 - i.centralF.cdf(n2, t2, e2));
|
|
1954
|
+
}, F_INV: nt, F_INV_RT: function(n2, t2, e2) {
|
|
1955
|
+
return n2 < 0 || n2 > 1 || t2 < 1 || t2 >= Math.pow(10, 10) || e2 < 1 || e2 >= Math.pow(10, 10) ? Number.NaN : (t2 = Math.trunc(t2), e2 = Math.trunc(e2), i.centralF.inv(1 - n2, t2, e2));
|
|
1956
|
+
}, F_TEST: tt, GAMMA: function(n2) {
|
|
1957
|
+
return 0 === n2 || n2 < 0 && n2 === Math.trunc(n2) ? Number.NaN : i.gammafn(n2);
|
|
1958
|
+
}, GAMMALN: function(n2) {
|
|
1959
|
+
return n2 <= 0 ? Number.NaN : i.gammaln(n2);
|
|
1960
|
+
}, GAMMALN_PRECISE: function(n2) {
|
|
1961
|
+
return n2 <= 0 ? Number.NaN : i.gammaln(n2);
|
|
1962
|
+
}, GAMMA_DIST: function(n2, t2, e2, r2 = false) {
|
|
1963
|
+
return n2 < 0 || t2 <= 0 || e2 <= 0 ? Number.NaN : r2 ? i.gamma.cdf(n2, t2, e2, true) : i.gamma.pdf(n2, t2, e2, false);
|
|
1964
|
+
}, GAMMA_INV: function(n2, t2, e2) {
|
|
1965
|
+
return n2 < 0 || n2 > 1 || t2 <= 0 || e2 <= 0 ? Number.NaN : i.gamma.inv(n2, t2, e2);
|
|
1966
|
+
}, GAUSS: function(n2) {
|
|
1967
|
+
return i.normal.cdf(n2, 0, 1) - 0.5;
|
|
1968
|
+
}, GEOMEAN: function(...n2) {
|
|
1969
|
+
const t2 = [];
|
|
1970
|
+
for (const e2 of n2) for (const n3 of e2.values()) t2.push(n3);
|
|
1971
|
+
return i.geomean(t2);
|
|
1972
|
+
}, GROWTH: function(t2, e2 = null, r2 = null, u2 = true) {
|
|
1973
|
+
const o2 = t2.length;
|
|
1974
|
+
for (let e3 = 0; e3 < o2; e3++) if ("number" != typeof t2[e3]) throw n.BuiltIn.Value;
|
|
1975
|
+
const a2 = null === e2;
|
|
1976
|
+
if (null === e2) {
|
|
1977
|
+
e2 = [];
|
|
1978
|
+
for (let n2 = 1; n2 <= o2; n2++) e2.push(n2);
|
|
1979
|
+
} else {
|
|
1980
|
+
const t3 = e2.length;
|
|
1981
|
+
if (t3 !== o2) throw n.BuiltIn.Ref;
|
|
1982
|
+
for (let r3 = 0; r3 < t3; r3++) if ("number" != typeof e2[r3]) throw n.BuiltIn.Value;
|
|
1983
|
+
}
|
|
1984
|
+
if (null === r2 && a2) {
|
|
1985
|
+
r2 = [];
|
|
1986
|
+
for (let n2 = 1; n2 <= o2; n2++) r2.push(n2);
|
|
1987
|
+
r2 = [r2];
|
|
1988
|
+
} else null === r2 && (r2 = Array.isArray(e2[0]) ? e2 : [e2]);
|
|
1989
|
+
let i2, l2, s2 = 0, f2 = 0, c2 = 0, m2 = 0;
|
|
1990
|
+
for (let n2 = 0; n2 < o2; n2++) {
|
|
1991
|
+
const r3 = e2[n2], u3 = Math.log(t2[n2]);
|
|
1992
|
+
s2 += r3, f2 += u3, c2 += r3 * u3, m2 += r3 * r3;
|
|
1993
|
+
}
|
|
1994
|
+
s2 /= o2, f2 /= o2, c2 /= o2, m2 /= o2, u2 ? (i2 = (c2 - s2 * f2) / (m2 - s2 * s2), l2 = f2 - i2 * s2) : (i2 = c2 / m2, l2 = 0);
|
|
1995
|
+
const p2 = [], N2 = r2.length;
|
|
1996
|
+
for (let t3 = 0; t3 < N2; t3++) {
|
|
1997
|
+
p2[t3] = [];
|
|
1998
|
+
for (let e3 = 0; e3 < r2[0].length; e3++) {
|
|
1999
|
+
if ("number" != typeof r2[t3][e3]) throw n.BuiltIn.Value;
|
|
2000
|
+
p2[t3][e3] = Math.exp(l2 + i2 * r2[t3][e3]);
|
|
2001
|
+
}
|
|
2002
|
+
}
|
|
2003
|
+
return p2;
|
|
2004
|
+
}, HARMEAN: function(...n2) {
|
|
2005
|
+
let t2 = 0, e2 = 0;
|
|
2006
|
+
for (const r2 of n2) for (const n3 of r2.values()) e2 += 1 / n3, t2++;
|
|
2007
|
+
return t2 / e2;
|
|
2008
|
+
}, HYPGEOM_DIST: function(n2, t2, e2, r2, u2) {
|
|
2009
|
+
if (n2 = Math.trunc(n2), t2 = Math.trunc(t2), e2 = Math.trunc(e2), (r2 = Math.trunc(r2)) <= 0 || n2 < 0 || t2 <= 0 || e2 <= 0) return Number.NaN;
|
|
2010
|
+
if (t2 > r2) return Number.NaN;
|
|
2011
|
+
if (e2 > r2) return Number.NaN;
|
|
2012
|
+
if (t2 < n2 || e2 < n2) return Number.NaN;
|
|
2013
|
+
if (n2 < t2 - r2 + e2) return Number.NaN;
|
|
2014
|
+
function o2(n3, t3, e3, r3) {
|
|
2015
|
+
return Ln(e3, n3) * Ln(r3 - e3, t3 - n3) / Ln(r3, t3);
|
|
2016
|
+
}
|
|
2017
|
+
return u2 ? function(n3, t3, e3, r3) {
|
|
2018
|
+
let u3 = 0;
|
|
2019
|
+
for (let a2 = 0; a2 <= n3; a2++) u3 += o2(a2, t3, e3, r3);
|
|
2020
|
+
return u3;
|
|
2021
|
+
}(n2, t2, e2, r2) : o2(n2, t2, e2, r2);
|
|
2022
|
+
}, INTERCEPT: function(t2, e2) {
|
|
2023
|
+
if (e2.length !== t2.length) throw n.BuiltIn.NA;
|
|
2024
|
+
const r2 = [], u2 = [];
|
|
2025
|
+
for (let n2 = 0; n2 < t2.length; n2++) "number" == typeof t2[n2] && "number" == typeof e2[n2] && (r2.push(t2[n2]), u2.push(e2[n2]));
|
|
2026
|
+
if (r2.length <= 1) return 1 / 0;
|
|
2027
|
+
const o2 = i.mean(r2), a2 = i.mean(u2);
|
|
2028
|
+
let l2 = 0, s2 = 0;
|
|
2029
|
+
for (let n2 = 0; n2 < r2.length; n2++) l2 += (u2[n2] - a2) * (r2[n2] - o2), s2 += (u2[n2] - a2) ** 2;
|
|
2030
|
+
return o2 - l2 / s2 * a2;
|
|
2031
|
+
}, KURT: function(...n2) {
|
|
2032
|
+
let t2 = 0;
|
|
2033
|
+
const e2 = [];
|
|
2034
|
+
for (const r3 of n2) for (const n3 of r3.values()) t2 += n3, e2.push(n3);
|
|
2035
|
+
const r2 = e2.length;
|
|
2036
|
+
t2 /= r2;
|
|
2037
|
+
let u2 = 0;
|
|
2038
|
+
for (let n3 = 0; n3 < r2; n3++) u2 += Math.pow(e2[n3] - t2, 4);
|
|
2039
|
+
return u2 /= Math.pow(i.stdev(e2, true), 4), r2 * (r2 + 1) / ((r2 - 1) * (r2 - 2) * (r2 - 3)) * u2 - 3 * (r2 - 1) * (r2 - 1) / ((r2 - 2) * (r2 - 3));
|
|
2040
|
+
}, LINEST: ut, LOGEST: function(n2, t2 = null, e2 = true, r2 = false) {
|
|
2041
|
+
}, LOGNORM_DIST: function(n2, t2, e2, r2) {
|
|
2042
|
+
return n2 <= 0 || e2 <= 0 ? Number.NaN : r2 ? i.lognormal.cdf(n2, t2, e2) : i.lognormal.pdf(n2, t2, e2);
|
|
2043
|
+
}, LOGNORM_INV: function(n2, t2, e2) {
|
|
2044
|
+
return n2 <= 0 || n2 >= 1 || e2 <= 0 ? Number.NaN : i.lognormal.inv(n2, t2, e2);
|
|
2045
|
+
}, MODE_MULT: function(...n2) {
|
|
2046
|
+
}, MODE_SNGL: function(...n2) {
|
|
2047
|
+
}, NEGBINOM_DIST: function(n2, t2, e2, r2) {
|
|
2048
|
+
return n2 = Math.trunc(n2), t2 = Math.trunc(t2), e2 < 0 || e2 > 1 || n2 < 0 || t2 < 1 ? Number.NaN : r2 ? i.negbin.cdf(n2, t2, e2) : i.negbin.pdf(n2, t2, e2);
|
|
2049
|
+
}, NORM_DIST: function(n2, t2, e2, r2) {
|
|
2050
|
+
return e2 <= 0 ? Number.NaN : r2 ? i.normal.cdf(n2, t2, e2) : i.normal.pdf(n2, t2, e2);
|
|
2051
|
+
}, NORM_INV: function(n2, t2, e2) {
|
|
2052
|
+
return n2 <= 0 || n2 >= 1 || e2 <= 0 ? Number.NaN : i.normal.inv(n2, t2, e2);
|
|
2053
|
+
}, NORM_S_DIST: ot, NORM_S_INV: function(n2) {
|
|
2054
|
+
return n2 <= 0 || n2 >= 1 ? Number.NaN : i.normal.inv(n2, 0, 1);
|
|
2055
|
+
}, PEARSON: function(n2, t2) {
|
|
2056
|
+
const e2 = n2.size, [r2, u2] = kn(n2, t2), o2 = i.mean(r2), a2 = i.mean(u2);
|
|
2057
|
+
let l2 = 0, s2 = 0, f2 = 0;
|
|
2058
|
+
for (let n3 = 0; n3 < e2; n3++) l2 += (r2[n3] - o2) * (u2[n3] - a2), s2 += Math.pow(r2[n3] - o2, 2), f2 += Math.pow(u2[n3] - a2, 2);
|
|
2059
|
+
return l2 / Math.sqrt(s2 * f2);
|
|
2060
|
+
}, PERCENTILE_EXC: function(n2, t2) {
|
|
2061
|
+
}, PERCENTILE_INC: function(n2, t2) {
|
|
2062
|
+
}, PERCENTRANK_EXC: function(n2, t2, e2 = 3) {
|
|
2063
|
+
}, PERCENTRANK_INC: function(n2, t2, e2 = 3) {
|
|
2064
|
+
}, PHI: function(n2) {
|
|
2065
|
+
return Math.exp(-0.5 * n2 * n2) / 2.5066282746310002;
|
|
2066
|
+
}, POISSON_DIST: function(n2, t2, e2) {
|
|
2067
|
+
return n2 < 0 || t2 < 0 ? Number.NaN : (n2 = Math.trunc(n2), e2 ? i.poisson.cdf(n2, t2) : i.poisson.pdf(n2, t2));
|
|
2068
|
+
}, PROB: function(n2, t2, e2, r2) {
|
|
2069
|
+
}, QUARTILE_EXC: function(n2, t2) {
|
|
2070
|
+
}, QUARTILE_INC: function(n2, t2) {
|
|
2071
|
+
}, RANK_AVG: function(n2, t2, e2 = 0) {
|
|
2072
|
+
}, RANK_EQ: function(n2, t2, e2 = 0) {
|
|
2073
|
+
}, RSQ: function(n2, t2) {
|
|
2074
|
+
}, SKEW: function(...n2) {
|
|
2075
|
+
}, SKEW_P: function(...n2) {
|
|
2076
|
+
}, SLOPE: function(n2, t2) {
|
|
2077
|
+
return ut(n2, t2)[0];
|
|
2078
|
+
}, STANDARDIZE: function(n2, t2, e2) {
|
|
2079
|
+
return e2 <= 0 ? Number.NaN : (n2 - t2) / e2;
|
|
2080
|
+
}, STDEVA: function(...n2) {
|
|
2081
|
+
}, STDEVPA: function(...n2) {
|
|
2082
|
+
}, STDEV_P: function(...n2) {
|
|
2083
|
+
}, STDEV_S: at, STEYX: function(n2, t2) {
|
|
2084
|
+
}, TREND: function(n2, t2 = null, e2 = null, r2 = true) {
|
|
2085
|
+
}, TRIMMEAN: function(n2, t2) {
|
|
2086
|
+
}, T_DIST: function(n2, t2, e2) {
|
|
2087
|
+
return t2 < 1 ? Number.NaN : e2 ? i.studentt.cdf(n2, t2) : i.studentt.pdf(n2, t2);
|
|
2088
|
+
}, T_DIST_2T: function(n2, t2) {
|
|
2089
|
+
return t2 < 1 || n2 < 0 ? Number.NaN : 2 * (1 - i.studentt.cdf(n2, t2));
|
|
2090
|
+
}, T_DIST_RT: function(n2, t2) {
|
|
2091
|
+
return t2 < 1 ? Number.NaN : 1 - i.studentt.cdf(n2, t2);
|
|
2092
|
+
}, T_INV: function(n2, t2) {
|
|
2093
|
+
return n2 <= 0 || n2 > 1 || t2 < 1 ? Number.NaN : (t2 = t2 % 1 == 0 ? t2 : Math.trunc(t2), i.studentt.inv(n2, t2));
|
|
2094
|
+
}, T_INV_2T: function(n2, t2) {
|
|
2095
|
+
return n2 <= 0 || n2 > 1 || t2 < 1 ? Number.NaN : (t2 = t2 % 1 == 0 ? t2 : Math.trunc(t2), Math.abs(i.studentt.inv(n2 / 2, t2)));
|
|
2096
|
+
}, T_TEST: function(n2, t2, e2, r2) {
|
|
2097
|
+
}, VARA: function(...n2) {
|
|
2098
|
+
let t2 = 0, e2 = 0;
|
|
2099
|
+
const r2 = Xn(...n2);
|
|
2100
|
+
for (const u2 of n2) for (const n3 of u2.values()) t2 += "number" == typeof n3 ? Math.pow(n3 - r2, 2) : true === n3 ? Math.pow(1 - r2, 2) : Math.pow(0 - r2, 2), e2++;
|
|
2101
|
+
return t2 / (e2 - 1);
|
|
2102
|
+
}, VARPA: function(...n2) {
|
|
2103
|
+
const t2 = Xn(...n2);
|
|
2104
|
+
let e2 = 0, r2 = 0;
|
|
2105
|
+
for (const u2 of n2) for (const n3 of u2.values()) r2++, e2 += "number" == typeof n3 ? Math.pow(n3 - t2, 2) : true === n3 ? Math.pow(1 - t2, 2) : Math.pow(0 - t2, 2);
|
|
2106
|
+
return e2 / r2;
|
|
2107
|
+
}, VAR_P: function(...t2) {
|
|
2108
|
+
let e2 = 0, r2 = 0;
|
|
2109
|
+
const u2 = Gn(...t2);
|
|
2110
|
+
for (const n2 of t2) for (const t3 of n2.values()) e2 += Math.pow(t3 - u2, 2), r2++;
|
|
2111
|
+
const o2 = e2 / r2;
|
|
2112
|
+
return isNaN(o2) ? n.BuiltIn.Num : o2;
|
|
2113
|
+
}, VAR_S: it, WEIBULL_DIST: function(n2, t2, e2, r2) {
|
|
2114
|
+
return n2 < 0 || t2 <= 0 || e2 <= 0 ? Number.NaN : r2 ? 1 - Math.exp(-Math.pow(n2 / e2, t2)) : Math.pow(n2, t2 - 1) * Math.exp(-Math.pow(n2 / e2, t2)) * t2 / Math.pow(e2, t2);
|
|
2115
|
+
}, Z_TEST: function(n2, t2, e2 = 0) {
|
|
2116
|
+
e2 = e2 || at(n2);
|
|
2117
|
+
const r2 = n2.size;
|
|
2118
|
+
return 1 - ot((Gn(n2) - t2) / (e2 / Math.sqrt(r2)), true);
|
|
2119
|
+
} }, Symbol.toStringTag, { value: "Module" }));
|
|
2120
|
+
globalThis.debugEventTarget ??= new EventTarget();
|
|
2121
|
+
const st = globalThis.debugEventTarget, ft = /* @__PURE__ */ new Map();
|
|
2122
|
+
function ct(n2) {
|
|
2123
|
+
const { inbox: t2, waiters: e2 } = function(n3) {
|
|
2124
|
+
if (ft.has(n3)) return ft.get(n3);
|
|
2125
|
+
const t3 = { inbox: [], waiters: [] };
|
|
2126
|
+
return st.addEventListener(n3, (n4) => {
|
|
2127
|
+
t3.waiters.length ? t3.waiters.shift()(n4.detail) : t3.inbox.push(n4.detail);
|
|
2128
|
+
}), ft.set(n3, t3), t3;
|
|
2129
|
+
}(n2);
|
|
2130
|
+
return t2.length ? Promise.resolve(t2.shift()) : new Promise((n3) => e2.push(n3));
|
|
2131
|
+
}
|
|
2132
|
+
const mt = Object.freeze(Object.defineProperty({ __proto__: null, DELAY: async function(n2, t2, e2 = "No label") {
|
|
2133
|
+
return new Promise((e3) => {
|
|
2134
|
+
setTimeout(() => {
|
|
2135
|
+
e3(t2);
|
|
2136
|
+
}, n2);
|
|
2137
|
+
});
|
|
2138
|
+
}, WAIT: async function(n2, t2) {
|
|
2139
|
+
const e2 = await ct(n2);
|
|
2140
|
+
let r2 = t2?.getValueAt(0, 0) ?? "", u2 = `event["${n2}"`;
|
|
2141
|
+
return void 0 !== e2 && (u2 += `, payload: ${e2}`), "" !== r2 && (u2 += `, input: ${r2}`), u2 += "]", console.log(u2), "" + e2 + r2;
|
|
2142
|
+
} }, Symbol.toStringTag, { value: "Module" }));
|
|
2143
|
+
const pt = Object.freeze(Object.defineProperty({ __proto__: null, BAHTTEXT: function(n2) {
|
|
2144
|
+
try {
|
|
2145
|
+
return l(n2);
|
|
2146
|
+
} catch (n3) {
|
|
2147
|
+
throw Error(`Error in https://github.com/jojoee/bahttext
|
|
2148
|
+
${n3.toString()}`);
|
|
2149
|
+
}
|
|
2150
|
+
} }, Symbol.toStringTag, { value: "Module" })), Nt = { 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: "¢£¬ ̄¦¥₩ │←↑→↓■○" } }, ht = (n2, t2) => n2[t2 + "RE"] || new RegExp("[" + n2[t2] + "]", "g"), Et = Object.keys(Nt).map((n2) => Nt[n2]), gt = (n2) => Et.reduce((n3, t2) => n3.replace(ht(t2, "half"), /* @__PURE__ */ ((n4) => (t3) => n4.delta ? String.fromCharCode(t3.charCodeAt(0) + n4.delta) : [...n4.full][[...n4.half].indexOf(t3)])(t2)), n2), It = (n2) => Et.reduce((n3, t2) => n3.replace(ht(t2, "full"), /* @__PURE__ */ ((n4) => (t3) => n4.delta ? String.fromCharCode(t3.charCodeAt(0) - n4.delta) : [...n4.half][[...n4.full].indexOf(t3)])(t2)), n2);
|
|
2151
|
+
function Tt(t2) {
|
|
2152
|
+
if (0 === t2.length) throw n.BuiltIn.Value;
|
|
2153
|
+
return t2.charCodeAt(0);
|
|
2154
|
+
}
|
|
2155
|
+
function dt(t2, e2, r2 = 1) {
|
|
2156
|
+
if (r2 < 1 || r2 > e2.length) throw n.BuiltIn.Value;
|
|
2157
|
+
const u2 = e2.indexOf(t2, r2 - 1);
|
|
2158
|
+
if (-1 === u2) throw n.BuiltIn.Value;
|
|
2159
|
+
return u2 + 1;
|
|
2160
|
+
}
|
|
2161
|
+
function bt(t2, e2 = 1) {
|
|
2162
|
+
if (e2 < 0) throw n.BuiltIn.Value;
|
|
2163
|
+
return e2 > t2.length ? t2 : t2.slice(0, e2);
|
|
2164
|
+
}
|
|
2165
|
+
function Mt(t2, e2, r2) {
|
|
2166
|
+
if (e2 > t2.length) return "";
|
|
2167
|
+
if (e2 < 1 || r2 < 1) throw n.BuiltIn.Value;
|
|
2168
|
+
return t2.slice(e2 - 1, e2 + r2 - 1);
|
|
2169
|
+
}
|
|
2170
|
+
function St(n2, t2, e2, r2) {
|
|
2171
|
+
let u2 = n2.split("");
|
|
2172
|
+
return u2.splice(t2 - 1, e2, r2), u2.join("");
|
|
2173
|
+
}
|
|
2174
|
+
function At(t2, e2 = 1) {
|
|
2175
|
+
if (e2 < 0) throw n.BuiltIn.Value;
|
|
2176
|
+
const r2 = t2.length;
|
|
2177
|
+
return e2 > r2 ? t2 : t2.slice(r2 - e2);
|
|
2178
|
+
}
|
|
2179
|
+
function Rt(t2, e2, r2 = 1) {
|
|
2180
|
+
if (r2 < 1 || r2 > e2.length) throw n.BuiltIn.Value;
|
|
2181
|
+
let u2 = dn(t2) ? bn(t2, "i") : t2;
|
|
2182
|
+
const o2 = e2.slice(r2 - 1).search(u2);
|
|
2183
|
+
if (-1 === o2) throw n.BuiltIn.Value;
|
|
2184
|
+
return o2 + r2;
|
|
2185
|
+
}
|
|
2186
|
+
function Ct(t2, e2 = 0) {
|
|
2187
|
+
if (0 !== (e2 = Math.floor(e2)) && 1 !== e2) throw n.BuiltIn.Value;
|
|
2188
|
+
return null !== t2 ? "string" == typeof t2 ? 1 === e2 ? '"' + t2 + '"' : t2 : "boolean" == typeof t2 ? t2 ? "TRUE" : "FALSE" : t2.toString() : "";
|
|
2189
|
+
}
|
|
2190
|
+
const Ot = Object.freeze(Object.defineProperty({ __proto__: null, ARRAYTOTEXT: function(t2, e2 = 0) {
|
|
2191
|
+
if (0 !== (e2 = Math.floor(e2)) && 1 !== e2) throw n.BuiltIn.Value;
|
|
2192
|
+
const u2 = 1 === e2;
|
|
2193
|
+
let o2 = null;
|
|
2194
|
+
if (!u2) {
|
|
2195
|
+
for (const n2 of t2.values({ orientation: r.Orientation.Row })) o2 = null === o2 ? "" : o2 + ", ", o2 += Ct(n2, e2);
|
|
2196
|
+
return o2;
|
|
2197
|
+
}
|
|
2198
|
+
const a2 = t2.getValues();
|
|
2199
|
+
o2 = "{";
|
|
2200
|
+
for (let n2 = 0; n2 < a2.length; n2++) {
|
|
2201
|
+
const t3 = a2[n2];
|
|
2202
|
+
for (let n3 = 0; n3 < t3.length; n3++) o2 += Ct(t3[n3], e2), n3 < t3.length - 1 && (o2 += ",");
|
|
2203
|
+
n2 < a2.length - 1 && (o2 += ";");
|
|
2204
|
+
}
|
|
2205
|
+
return u2 && (o2 += "}"), o2;
|
|
2206
|
+
}, ASC: function(n2) {
|
|
2207
|
+
return It(n2);
|
|
2208
|
+
}, CHAR: function(t2) {
|
|
2209
|
+
if (t2 > 255 || t2 < 1) throw n.BuiltIn.Value;
|
|
2210
|
+
return String.fromCharCode(t2);
|
|
2211
|
+
}, CLEAN: function(n2) {
|
|
2212
|
+
return n2.replace(/[\x00-\x1F]/g, "");
|
|
2213
|
+
}, CODE: Tt, CONCAT: function(...t2) {
|
|
2214
|
+
let u2 = "", o2 = 0;
|
|
2215
|
+
for (const a2 of t2) for (const t3 of a2.values({ type: e.String, coerce: true, orientation: r.Orientation.Row })) {
|
|
2216
|
+
if (o2++ > 254) throw n.Value;
|
|
2217
|
+
u2 += t3;
|
|
2218
|
+
}
|
|
2219
|
+
return u2;
|
|
2220
|
+
}, CONCATENATE: function(...t2) {
|
|
2221
|
+
let r2 = "", u2 = 0;
|
|
2222
|
+
for (const o2 of t2) {
|
|
2223
|
+
const t3 = o2.getValueAt(0, 0, { type: e.String, coerce: true });
|
|
2224
|
+
if (u2++ > 254) throw n.Value;
|
|
2225
|
+
r2 += t3;
|
|
2226
|
+
}
|
|
2227
|
+
return r2;
|
|
2228
|
+
}, DBCS: function(n2) {
|
|
2229
|
+
return gt(n2);
|
|
2230
|
+
}, DETECTLANGUAGE: function(n2) {
|
|
2231
|
+
}, DOLLAR: function(n2, e2 = 2) {
|
|
2232
|
+
const r2 = Array(e2).fill("0").join(""), u2 = t.getRuntime(), o2 = u2.getCurrencySymbol(), a2 = u2.getNumberGroupSeparator(), i2 = u2.getNumberDecimalSeparator(), l2 = `${o2}#${a2}##0${i2}${r2}_);(${o2}#${a2}##0${i2}${r2})`;
|
|
2233
|
+
return t.getNumberFormat(l2, n2).trim();
|
|
2234
|
+
}, EXACT: function(n2, t2) {
|
|
2235
|
+
return n2 === t2;
|
|
2236
|
+
}, FIND: dt, FINDB: function(n2, t2, e2 = 1) {
|
|
2237
|
+
return dt(n2, t2, e2);
|
|
2238
|
+
}, FIXED: function(n2, e2 = 2, r2 = false) {
|
|
2239
|
+
const u2 = Array(e2).fill("0").join(""), o2 = t.getRuntime(), a2 = o2.getNumberGroupSeparator(), i2 = o2.getNumberDecimalSeparator(), l2 = r2 ? "" : `#${a2}`, s2 = `${l2}##0${i2}${u2}_);(${l2}##0${i2}${u2})`;
|
|
2240
|
+
return t.getNumberFormat(s2, n2).trim();
|
|
2241
|
+
}, LEFT: bt, LEFTB: function(n2, t2 = 1) {
|
|
2242
|
+
return bt(n2, t2);
|
|
2243
|
+
}, LEN: function(n2) {
|
|
2244
|
+
return n2.length;
|
|
2245
|
+
}, LENB: function(n2) {
|
|
2246
|
+
return n2.length;
|
|
2247
|
+
}, LOWER: function(n2) {
|
|
2248
|
+
return n2.toLowerCase();
|
|
2249
|
+
}, MID: Mt, MIDB: function(n2, t2, e2) {
|
|
2250
|
+
return Mt(n2, t2, e2);
|
|
2251
|
+
}, NUMBERVALUE: function(t2, e2 = ".", r2 = ",") {
|
|
2252
|
+
if (0 === t2.length) return 0;
|
|
2253
|
+
if (0 === e2.length || 0 === r2.length) throw n.BuiltIn.Value;
|
|
2254
|
+
if ((e2 = e2[0]) === (r2 = r2[0]) || t2.indexOf(e2) < t2.lastIndexOf(r2)) throw n.BuiltIn.Value;
|
|
2255
|
+
const u2 = t2.replace(r2, "").replace(e2, ".").replace(/[^\-0-9.%()]/g, "").match(/([(-]*)([0-9]*[.]*[0-9]+)([)]?)([%]*)/);
|
|
2256
|
+
if (!u2) throw n.BuiltIn.Value;
|
|
2257
|
+
const o2 = u2[1].length, a2 = u2[3].length, i2 = u2[4].length;
|
|
2258
|
+
let l2 = Number(u2[2]);
|
|
2259
|
+
if (o2 > 1 || o2 && !a2 || !o2 && a2 || isNaN(l2)) throw n.BuiltIn.Value;
|
|
2260
|
+
return l2 /= 100 ** i2, o2 ? -l2 : l2;
|
|
2261
|
+
}, PERCENTOF: function(n2, t2) {
|
|
2262
|
+
}, PHONETIC: function(n2) {
|
|
2263
|
+
}, PROPER: function(n2) {
|
|
2264
|
+
return (n2 = (n2 = n2.toLowerCase()).charAt(0).toUpperCase() + n2.slice(1)).replace(/(?:[^a-zA-Z])([a-zA-Z])/g, (n3) => n3.toUpperCase());
|
|
2265
|
+
}, REGEXEXTRACT: function(n2, t2, e2 = 0, r2 = false) {
|
|
2266
|
+
}, REGEXREPLACE: function(n2, t2, e2, r2 = 0, u2 = false) {
|
|
2267
|
+
}, REGEXTEST: function(n2, t2, e2 = false) {
|
|
2268
|
+
}, REPLACE: St, REPLACEB: function(n2, t2, e2, r2) {
|
|
2269
|
+
return St(n2, t2, e2, r2);
|
|
2270
|
+
}, REPT: function(n2, t2) {
|
|
2271
|
+
let e2 = "";
|
|
2272
|
+
for (let r2 = 0; r2 < t2; r2++) e2 += n2;
|
|
2273
|
+
return e2;
|
|
2274
|
+
}, RIGHT: At, RIGHTB: function(n2, t2 = 1) {
|
|
2275
|
+
return At(n2, t2);
|
|
2276
|
+
}, SEARCH: Rt, SEARCHB: function(n2, t2, e2 = 1) {
|
|
2277
|
+
return Rt(n2, t2, e2);
|
|
2278
|
+
}, SUBSTITUTE: function(t2, e2, r2, u2) {
|
|
2279
|
+
if (!t2 || !e2) return t2;
|
|
2280
|
+
if (void 0 === u2) u2 = -1;
|
|
2281
|
+
else if ((u2 = Math.floor(u2)) <= 0) throw new n.Value();
|
|
2282
|
+
let o2 = t2, a2 = 0, i2 = 0;
|
|
2283
|
+
for (; -1 !== (a2 = o2.indexOf(e2, a2)); ) ++i2, i2 !== u2 && -1 !== u2 || (o2 = o2.substring(0, a2) + r2 + o2.substring(a2 + e2.length)), a2 += e2.length;
|
|
2284
|
+
return o2;
|
|
2285
|
+
}, T: function(n2) {
|
|
2286
|
+
return "string" == typeof n2 ? n2 : "";
|
|
2287
|
+
}, TEXT: function(e2, r2) {
|
|
2288
|
+
try {
|
|
2289
|
+
return t.getNumberFormat(r2, e2);
|
|
2290
|
+
} catch (t2) {
|
|
2291
|
+
throw n.BuiltIn.Value;
|
|
2292
|
+
}
|
|
2293
|
+
}, TEXTAFTER: function(t2, e2, r2 = 1, u2 = 0, o2 = 0, a2 = void 0) {
|
|
2294
|
+
if (!t2 || !e2) return n.BuiltIn.Value;
|
|
2295
|
+
if ((r2 = Math.floor(r2)) <= 0) throw n.BuiltIn.Value;
|
|
2296
|
+
let i2 = t2, l2 = e2;
|
|
2297
|
+
1 === u2 && (i2 = t2.toLowerCase(), l2 = e2.toLowerCase());
|
|
2298
|
+
let s2 = -1, f2 = 0;
|
|
2299
|
+
for (; f2 < r2; ) {
|
|
2300
|
+
if (s2 = i2.indexOf(l2, s2 + 1), -1 === s2) return a2 ?? n.BuiltIn.NA;
|
|
2301
|
+
f2++;
|
|
2302
|
+
}
|
|
2303
|
+
const c2 = t2.substring(s2 + e2.length);
|
|
2304
|
+
return 1 === o2 && 0 === c2.length ? "" : c2;
|
|
2305
|
+
}, TEXTBEFORE: function(t2, e2, r2 = 1, u2 = 0, o2 = 0, a2 = void 0) {
|
|
2306
|
+
if (!t2 || !e2) return n.BuiltIn.Value;
|
|
2307
|
+
if ((r2 = Math.floor(r2)) <= 0) throw n.BuiltIn.Value;
|
|
2308
|
+
let i2 = t2, l2 = e2;
|
|
2309
|
+
1 === u2 && (i2 = t2.toLowerCase(), l2 = e2.toLowerCase());
|
|
2310
|
+
let s2 = -1, f2 = 0;
|
|
2311
|
+
for (; f2 < r2; ) {
|
|
2312
|
+
if (s2 = i2.indexOf(l2, s2 + 1), -1 === s2) return a2 ?? n.BuiltIn.NA;
|
|
2313
|
+
f2++;
|
|
2314
|
+
}
|
|
2315
|
+
const c2 = t2.substring(0, s2);
|
|
2316
|
+
return 1 === o2 && 0 === c2.length ? "" : c2;
|
|
2317
|
+
}, TEXTJOIN: function(n2, t2, ...u2) {
|
|
2318
|
+
let o2 = "";
|
|
2319
|
+
for (const a2 of u2) for (const u3 of a2.values({ type: e.String, coerce: true, orientation: r.Orientation.Row, includeEmpty: !t2 })) 0 === u3.length && t2 || (o2.length > 0 && (o2 += n2), o2 += u3);
|
|
2320
|
+
return o2;
|
|
2321
|
+
}, TEXTSPLIT: function(t2, e2, r2 = null, u2 = false, o2 = 0, a2 = void 0) {
|
|
2322
|
+
if (!t2) return [[""]];
|
|
2323
|
+
if (0 !== o2 && 1 !== o2) throw n.BuiltIn.Value;
|
|
2324
|
+
const i2 = (n2, t3, e3) => {
|
|
2325
|
+
if (0 === t3.length) return [n2];
|
|
2326
|
+
const r3 = new RegExp(t3.map((n3) => n3.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")).join("|"), e3 ? "gi" : "g");
|
|
2327
|
+
return n2.split(r3);
|
|
2328
|
+
};
|
|
2329
|
+
let l2 = [t2];
|
|
2330
|
+
if (r2 && (l2 = i2(t2, r2, 1 === o2)), u2) {
|
|
2331
|
+
const n2 = [];
|
|
2332
|
+
for (let t3 = 0; t3 < l2.length; t3++) {
|
|
2333
|
+
const e3 = l2[t3];
|
|
2334
|
+
e3.length > 0 && n2.push(e3);
|
|
2335
|
+
}
|
|
2336
|
+
l2 = n2;
|
|
2337
|
+
}
|
|
2338
|
+
const s2 = [];
|
|
2339
|
+
let f2 = 0, c2 = Number.MAX_SAFE_INTEGER;
|
|
2340
|
+
for (let n2 = 0; n2 < l2.length; n2++) {
|
|
2341
|
+
let t3 = i2(l2[n2], e2, 1 === o2);
|
|
2342
|
+
if (u2) {
|
|
2343
|
+
const n3 = [];
|
|
2344
|
+
for (let e3 = 0; e3 < t3.length; e3++) {
|
|
2345
|
+
const r3 = t3[e3];
|
|
2346
|
+
r3.length > 0 && n3.push(r3);
|
|
2347
|
+
}
|
|
2348
|
+
t3 = n3;
|
|
2349
|
+
}
|
|
2350
|
+
(t3.length > 0 || !u2) && (s2.push(t3), f2 = Math.max(f2, t3.length), c2 = Math.min(c2, t3.length));
|
|
2351
|
+
}
|
|
2352
|
+
if (s2.length > 0 && c2 !== f2) {
|
|
2353
|
+
const t3 = a2 || n.BuiltIn.NA;
|
|
2354
|
+
for (let n2 = 0; n2 < s2.length; n2++) {
|
|
2355
|
+
const e3 = s2[n2];
|
|
2356
|
+
for (; e3.length < f2; ) e3.push(t3);
|
|
2357
|
+
}
|
|
2358
|
+
}
|
|
2359
|
+
return s2.length > 0 ? s2 : [[""]];
|
|
2360
|
+
}, TRANSLATE: function(n2, t2, e2) {
|
|
2361
|
+
}, TRIM: function(n2) {
|
|
2362
|
+
return n2.replace(/^\s+|\s+$/g, "");
|
|
2363
|
+
}, UNICHAR: function(t2) {
|
|
2364
|
+
if (t2 <= 0) throw n.BuiltIn.Value;
|
|
2365
|
+
return String.fromCharCode(t2);
|
|
2366
|
+
}, UNICODE: function(n2) {
|
|
2367
|
+
return Tt(n2);
|
|
2368
|
+
}, UPPER: function(n2) {
|
|
2369
|
+
return n2.toUpperCase();
|
|
2370
|
+
}, VALUE: function(t2) {
|
|
2371
|
+
const e2 = Number(t2);
|
|
2372
|
+
if (isNaN(e2)) throw n.BuiltIn.Value;
|
|
2373
|
+
return e2;
|
|
2374
|
+
}, VALUETOTEXT: Ct }, Symbol.toStringTag, { value: "Module" }));
|
|
2375
|
+
let Dt = null, yt = null, wt = false;
|
|
2376
|
+
const Bt = Object.freeze(Object.defineProperty({ __proto__: null, FILTERXML: async function(t2, e2) {
|
|
2377
|
+
if (wt) throw n.BuiltIn.Blocked;
|
|
2378
|
+
if (!DOMParser || !yt) try {
|
|
2379
|
+
console.log("Falling back to ESM CDN for XML libraries");
|
|
2380
|
+
const n2 = "https://esm.sh/fontoxpath@3.33.2", t3 = "https://esm.sh/@xmldom/xmldom@0.9.7", [e3, r2] = await Promise.all([import(n2), import(t3)]);
|
|
2381
|
+
yt = e3, DOMParser = r2.DOMParser, Dt = new DOMParser();
|
|
2382
|
+
} catch (n2) {
|
|
2383
|
+
throw console.error("Error loading XML libraries from CDN:", n2), new Error("Failed to load XML libraries");
|
|
2384
|
+
}
|
|
2385
|
+
if (!Dt) throw wt = true, console.warn("Unable to load XML libraries"), n.BuiltIn.Blocked;
|
|
2386
|
+
try {
|
|
2387
|
+
const n2 = Dt.parseFromString(t2, "text/xml");
|
|
2388
|
+
return yt.evaluateXPathToString(e2, n2, null, {});
|
|
2389
|
+
} catch (t3) {
|
|
2390
|
+
throw n.BuiltIn.Value;
|
|
2391
|
+
}
|
|
2392
|
+
} }, Symbol.toStringTag, { value: "Module" }));
|
|
2393
|
+
const Ut = Object.freeze(Object.defineProperty({ __proto__: null, ENCODEURL: function(n2) {
|
|
2394
|
+
return encodeURIComponent(n2);
|
|
2395
|
+
}, WEBSERVICE: async function(t2) {
|
|
2396
|
+
try {
|
|
2397
|
+
const n2 = await fetch(t2, { method: "GET", headers: { Accept: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "SheetXL-Formula-Function-WEBSERVICE" } });
|
|
2398
|
+
if (!n2.ok) throw new Error(`HTTP error: ${n2.status}`);
|
|
2399
|
+
return await n2.text();
|
|
2400
|
+
} catch (t3) {
|
|
2401
|
+
throw n.BuiltIn.Value;
|
|
2402
|
+
}
|
|
2403
|
+
} }, Symbol.toStringTag, { value: "Module" })), Lt = { 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: "..." }] } }, _t = { 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" }] } }, vt = { 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: "?" }] } }, Vt = { BESSELI: { p: [{ n: "x" }, { n: "n" }] }, BESSELJ: { p: [{ n: "x" }, { n: "n" }] }, BESSELK: { p: [{ n: "x" }, { n: "n" }] }, BESSELY: { p: [{ n: "x" }, { n: "n" }] } }, Pt = { 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: "?" }] } }, Ft = { CONVERT: { p: [{ n: "number" }, { n: "fromUnit", s: "s" }, { n: "toUnit", s: "s" }] } }, xt = { DELTA: { p: [{ n: "number1" }, { n: "number2", m: "?" }] }, GESTEP: { p: [{ n: "number" }, { n: "step", m: "?" }] } }, Ht = { ERF: { p: [{ n: "lowerLimit" }, { n: "upperLimit", m: "?" }] }, "ERF.PRECISE": { fn: "ERF_PRECISE", p: [{ n: "x" }] }, ERFC: { p: [{ n: "x" }] } }, Gt = { 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: "*" }] } }, Xt = { 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: "?" }] } }, Yt = { 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" }] } }, kt = { 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: "..." }] } }, zt = { 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: "?" }] } }, jt = { 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: "?" }] } }, Wt = { 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" }] } }, Kt = { "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: "?" }] } }, $t = { 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" }] } }, qt = { DELAY: { p: [{ n: "time" }, { n: "input", s: "*" }, { n: "label", s: "s", m: "?" }] }, WAIT: { p: [{ n: "type", s: "s" }, { n: "input", r: "l", m: "?" }] } }, Qt = { BAHTTEXT: { p: [{ n: "number" }] } }, Zt = { 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: "?" }] } }, Jt = { FILTERXML: { p: [{ n: "xml", s: "s" }, { n: "xpath", s: "s" }] } }, ne = { ENCODEURL: { p: [{ n: "text", s: "s" }] }, WEBSERVICE: { p: [{ n: "url", s: "s" }] } }, te = () => import("./BoWGCLoCBi99JpFs.mjs"), ee = () => import("./Qib5_XvQHWOPzGrm.mjs"), re = () => import("./DlFgt0KLeXDowatv.mjs"), ue = () => import("./CN45di2IcbM8P0Qu.mjs"), oe = () => import("./DS4xBjO2TN0rQ1lJ.mjs"), ae = () => import("./gTh1PiesKrQblf8O.mjs"), ie = () => import("./ERMewE78C__HUblm.mjs"), le = () => import("./BPqJ7trmE53kA4iD.mjs"), se = () => import("./B_XqbIeKalrEkjs7.mjs"), fe = () => import("./DH_fbhyW3PwE1rYa.mjs"), ce = () => import("./ByxOyRbOjkmiHT8z.mjs"), me = () => import("./CPv7OpinaYcwbA_W.mjs"), pe = () => import("./Cp5ea9Hpxse8B4mC.mjs"), Ne = () => import("./CZd8SSXlusZy49FM.mjs"), he = () => import("./DTM0pK30PrZRsXYw.mjs"), Ee = () => import("./CZw7SgmfxSHhZZe0.mjs"), ge = () => import("./CFw23OkHfPquoVEk.mjs"), Ie = () => import("./B9-WgxZWcZj4jdUC.mjs"), Te = () => import("./g_p1uVDePbDJJ4nX.mjs"), de = () => import("./CVAFJAiy4lznWzaG.mjs"), be = () => import("./CG8a93kgahRemVJe.mjs"), Me = () => import("./70LlV-Ub5gQiHal4.mjs");
|
|
2404
|
+
function Se(n2) {
|
|
2405
|
+
return function(n3, t2) {
|
|
2406
|
+
const e2 = /* @__PURE__ */ new Map();
|
|
2407
|
+
return t2(e2, n3, s, Lt, te, "Cube"), t2(e2, n3, f, _t, ee, "Database"), t2(e2, n3, U, vt, re, "Date & Time"), t2(e2, n3, L, Vt, ue, "Engineering"), t2(e2, n3, G, Pt, oe, "Engineering"), t2(e2, n3, X, Ft, ae, "Engineering"), t2(e2, n3, Y, xt, ie, "Engineering"), t2(e2, n3, k, Ht, le, "Engineering"), t2(e2, n3, un, Gt, se, "Engineering"), t2(e2, n3, hn, Xt, fe, "Financial"), t2(e2, n3, En, Yt, ce, "Information"), t2(e2, n3, Tn, kt, me, "Logical"), t2(e2, n3, Mn, zt, pe, "Lookup & Reference"), t2(e2, n3, Pn, jt, Ne, "Math & Trig"), t2(e2, n3, xn, Wt, he, "Math & Trig"), t2(e2, n3, lt, Kt, Ee, "Statistical"), t2(e2, n3, Yn, $t, ge, "Statistical"), t2(e2, n3, mt, qt, Ie, "Testing"), t2(e2, n3, pt, Qt, Te, "Text"), t2(e2, n3, Ot, Zt, de, "Text"), t2(e2, n3, Bt, Jt, be, "Web"), t2(e2, n3, Ut, ne, Me, "Web"), e2;
|
|
2408
|
+
}(n2, Ae);
|
|
2409
|
+
}
|
|
2410
|
+
const Ae = (n2, t2, r2, a2, i2, l2) => {
|
|
2411
|
+
const s2 = Object.keys(a2);
|
|
2412
|
+
for (const f2 of s2) {
|
|
2413
|
+
const s3 = a2[f2], c2 = f2, m2 = [], p2 = s3.p;
|
|
2414
|
+
if (p2) for (let n3 = 0; n3 < p2.length; n3++) {
|
|
2415
|
+
const t3 = p2[n3];
|
|
2416
|
+
let r3 = null;
|
|
2417
|
+
t3.s ? r3 = t3.s : t3.r || (r3 = e.Number);
|
|
2418
|
+
const o2 = { name: t3.n, scalar: r3, range: t3.r ?? null, arrayDepth: t3.d ?? 0, optional: "?" === t3.m, rest: "..." === t3.m, enums: t3.e ?? u.EmptyArray };
|
|
2419
|
+
delete o2.dim, m2.push(o2);
|
|
2420
|
+
}
|
|
2421
|
+
const N2 = { name: c2, parameters: m2, returnType: null, context: s3.c ? "calculation" : null, behavior: null }, h2 = r2[s3.fn ?? c2];
|
|
2422
|
+
let E2;
|
|
2423
|
+
const g2 = new o(N2, h2, t2, async (n3) => {
|
|
2424
|
+
if (!i2) return null;
|
|
2425
|
+
let t3;
|
|
2426
|
+
if (!E2) {
|
|
2427
|
+
t3 = (await i2()).default, E2 = t3;
|
|
2428
|
+
}
|
|
2429
|
+
const e2 = t3?.[c2];
|
|
2430
|
+
if (!e2) return console.warn(`No descriptor found for built-in function: ${c2}`), null;
|
|
2431
|
+
const r3 = e2.p;
|
|
2432
|
+
let o2 = r3 ? { ...r3 } : u.EmptyObject;
|
|
2433
|
+
const a3 = Object.keys(o2);
|
|
2434
|
+
if (a3.length > 0) for (let n4 = 0; n4 < a3.length; n4++) {
|
|
2435
|
+
const t4 = a3[n4], e3 = r3[t4], u2 = { description: e3.d ?? "", example: e3.e, defaultValue: e3.v };
|
|
2436
|
+
o2[t4] = u2;
|
|
2437
|
+
}
|
|
2438
|
+
return { name: c2, summary: e2.s ?? "", category: e2.c ?? l2 ?? null, parameters: o2, hidden: e2.h ?? false, links: e2.l ?? u.EmptyArray };
|
|
2439
|
+
}, true);
|
|
2440
|
+
n2.set(c2, g2);
|
|
2441
|
+
}
|
|
2442
|
+
};
|
|
2443
|
+
export {
|
|
2444
|
+
Se as initializeBuiltIns
|
|
2445
|
+
};
|