UNPKG

@sheetxl/studio-vanilla

Version:

SheetXL Studio - Vanilla entry point for integrating SheetXL UI.

1,032 lines 676 kB
/** * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.7.27 * * (C) 2025-present SheetXL Inc. & Michael T. Ford * License: The license can be found at https://www.sheetxl.com/license. */ var $e, qn = "0.20.3", Dt = 1200, Ea = 1252, Lf = [874, 932, 936, 949, 950, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1e4], li = { 0: 1252, 1: 65001, 2: 65001, 77: 1e4, 128: 932, 129: 949, 130: 1361, 134: 936, 136: 950, 161: 1253, 162: 1254, 163: 1258, 177: 1255, 178: 1256, 186: 1257, 204: 1251, 222: 874, 238: 1250, 255: 1252, 69: 6969 }, fs = function(e) { Lf.indexOf(e) != -1 && (Ea = li[0] = e); }, Er = function(e) { Dt = e, fs(e); }; function hs() { Er(1200), fs(1252); } function Qn(e) { for (var r = [], t = 0, a = e.length; t < a; ++t) r[t] = e.charCodeAt(t); return r; } function Rc(e) { for (var r = [], t = 0; t < e.length >> 1; ++t) r[t] = String.fromCharCode(e.charCodeAt(2 * t) + (e.charCodeAt(2 * t + 1) << 8)); return r.join(""); } function Oc(e) { for (var r = [], t = 0; t < e.length >> 1; ++t) r[t] = String.fromCharCode(e.charCodeAt(2 * t + 1) + (e.charCodeAt(2 * t) << 8)); return r.join(""); } var Ia = function(e) { var r = e.charCodeAt(0), t = e.charCodeAt(1); return r == 255 && t == 254 ? Rc(e.slice(2)) : r == 254 && t == 255 ? Oc(e.slice(2)) : r == 65279 ? e.slice(1) : e; }, en = function(e) { return String.fromCharCode(e); }, Hs = function(e) { return String.fromCharCode(e); }; function Mf(e) { $e = e, Er = function(r) { Dt = r, fs(r); }, Ia = function(r) { return r.charCodeAt(0) === 255 && r.charCodeAt(1) === 254 ? $e.utils.decode(1200, Qn(r.slice(2))) : r; }, en = function(r) { return Dt === 1200 ? String.fromCharCode(r) : $e.utils.decode(Dt, [255 & r, r >> 8])[0]; }, Hs = function(r) { return $e.utils.decode(Ea, [r])[0]; }, fl(); } var rr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; function Zn(e) { for (var r = "", t = 0, a = 0, n = 0, s = 0, o = 0, l = 0, i = 0, c = 0; c < e.length; ) s = (t = e.charCodeAt(c++)) >> 2, o = (3 & t) << 4 | (a = e.charCodeAt(c++)) >> 4, l = (15 & a) << 2 | (n = e.charCodeAt(c++)) >> 6, i = 63 & n, isNaN(a) ? l = i = 64 : isNaN(n) && (i = 64), r += rr.charAt(s) + rr.charAt(o) + rr.charAt(l) + rr.charAt(i); return r; } function ur(e) { var r = "", t = 0, a = 0, n = 0, s = 0, o = 0, l = 0; e.slice(0, 5) == "data:" && (i = e.slice(0, 1024).indexOf(";base64,")) > -1 && (e = e.slice(i + 8)), e = e.replace(/[^\w\+\/\=]/g, ""); for (var i = 0; i < e.length; ) t = rr.indexOf(e.charAt(i++)) << 2 | (s = rr.indexOf(e.charAt(i++))) >> 4, r += String.fromCharCode(t), a = (15 & s) << 4 | (o = rr.indexOf(e.charAt(i++))) >> 2, o !== 64 && (r += String.fromCharCode(a)), n = (3 & o) << 6 | (l = rr.indexOf(e.charAt(i++))), l !== 64 && (r += String.fromCharCode(n)); return r; } var Ge = typeof Buffer < "u" && typeof process < "u" && process.versions !== void 0 && !!process.versions.node, Wr = (function() { if (typeof Buffer < "u") { var e = !Buffer.from; if (!e) try { Buffer.from("foo", "utf8"); } catch { e = !0; } return e ? function(r, t) { return t ? new Buffer(r, t) : new Buffer(r); } : Buffer.from.bind(Buffer); } return function() { }; })(), pn = (function() { if (typeof Buffer > "u") return !1; var e = Wr([65, 0]); return !!e && e.toString("utf16le").length == 1; })(); function ta(e) { return Ge ? Buffer.alloc ? Buffer.alloc(e) : new Buffer(e) : typeof Uint8Array < "u" ? new Uint8Array(e) : new Array(e); } function Wi(e) { return Ge ? Buffer.allocUnsafe ? Buffer.allocUnsafe(e) : new Buffer(e) : typeof Uint8Array < "u" ? new Uint8Array(e) : new Array(e); } var cr = function(e) { return Ge ? Wr(e, "binary") : e.split("").map(function(r) { return 255 & r.charCodeAt(0); }); }; function An(e) { if (typeof ArrayBuffer > "u") return cr(e); for (var r = new ArrayBuffer(e.length), t = new Uint8Array(r), a = 0; a != e.length; ++a) t[a] = 255 & e.charCodeAt(a); return r; } function Mr(e) { if (Array.isArray(e)) return e.map(function(a) { return String.fromCharCode(a); }).join(""); for (var r = [], t = 0; t < e.length; ++t) r[t] = String.fromCharCode(e[t]); return r.join(""); } function fi(e) { if (typeof ArrayBuffer > "u") throw new Error("Unsupported"); if (e instanceof ArrayBuffer) return fi(new Uint8Array(e)); for (var r = new Array(e.length), t = 0; t < e.length; ++t) r[t] = e[t]; return r; } var xt = Ge ? function(e) { return Buffer.concat(e.map(function(r) { return Buffer.isBuffer(r) ? r : Wr(r); })); } : function(e) { if (typeof Uint8Array < "u") { var r = 0, t = 0; for (r = 0; r < e.length; ++r) t += e[r].length; var a = new Uint8Array(t), n = 0; for (r = 0, t = 0; r < e.length; t += n, ++r) n = e[r].length, e[r] instanceof Uint8Array ? a.set(e[r], t) : typeof e[r] == "string" ? a.set(new Uint8Array(cr(e[r])), t) : a.set(new Uint8Array(e[r]), t); return a; } return [].concat.apply([], e.map(function(s) { return Array.isArray(s) ? s : [].slice.call(s); })); }, lr = /\u0000/g, tn = /[\u0001-\u0006]/g; function Da(e) { for (var r = "", t = e.length - 1; t >= 0; ) r += e.charAt(t--); return r; } function Ar(e, r) { var t = "" + e; return t.length >= r ? t : it("0", r - t.length) + t; } function Vs(e, r) { var t = "" + e; return t.length >= r ? t : it(" ", r - t.length) + t; } function es(e, r) { var t = "" + e; return t.length >= r ? t : t + it(" ", r - t.length); } var zi = Math.pow(2, 32); function Aa(e, r) { return e > zi || e < -zi ? (t = e, a = r, (n = "" + Math.round(t)).length >= a ? n : it("0", a - n.length) + n) : (function(s, o) { var l = "" + s; return l.length >= o ? l : it("0", o - l.length) + l; })(Math.round(e), r); var t, a, n; } function Kn(e, r) { return r = r || 0, e.length >= 7 + r && (32 | e.charCodeAt(r)) == 103 && (32 | e.charCodeAt(r + 1)) == 101 && (32 | e.charCodeAt(r + 2)) == 110 && (32 | e.charCodeAt(r + 3)) == 101 && (32 | e.charCodeAt(r + 4)) == 114 && (32 | e.charCodeAt(r + 5)) == 97 && (32 | e.charCodeAt(r + 6)) == 108; } var Hi = [["Sun", "Sunday"], ["Mon", "Monday"], ["Tue", "Tuesday"], ["Wed", "Wednesday"], ["Thu", "Thursday"], ["Fri", "Friday"], ["Sat", "Saturday"]], Ts = [["J", "Jan", "January"], ["F", "Feb", "February"], ["M", "Mar", "March"], ["A", "Apr", "April"], ["M", "May", "May"], ["J", "Jun", "June"], ["J", "Jul", "July"], ["A", "Aug", "August"], ["S", "Sep", "September"], ["O", "Oct", "October"], ["N", "Nov", "November"], ["D", "Dec", "December"]], ke = { 0: "General", 1: "0", 2: "0.00", 3: "#,##0", 4: "#,##0.00", 9: "0%", 10: "0.00%", 11: "0.00E+00", 12: "# ?/?", 13: "# ??/??", 14: "m/d/yy", 15: "d-mmm-yy", 16: "d-mmm", 17: "mmm-yy", 18: "h:mm AM/PM", 19: "h:mm:ss AM/PM", 20: "h:mm", 21: "h:mm:ss", 22: "m/d/yy h:mm", 37: "#,##0 ;(#,##0)", 38: "#,##0 ;[Red](#,##0)", 39: "#,##0.00;(#,##0.00)", 40: "#,##0.00;[Red](#,##0.00)", 45: "mm:ss", 46: "[h]:mm:ss", 47: "mmss.0", 48: "##0.0E+0", 49: "@", 56: '"上午/下午 "hh"時"mm"分"ss"秒 "' }, Vi = { 5: 37, 6: 38, 7: 39, 8: 40, 23: 0, 24: 0, 25: 0, 26: 0, 27: 14, 28: 14, 29: 14, 30: 14, 31: 14, 50: 14, 51: 14, 52: 14, 53: 14, 54: 14, 55: 14, 56: 14, 57: 14, 58: 14, 59: 1, 60: 2, 61: 3, 62: 4, 67: 9, 68: 10, 69: 12, 70: 13, 71: 14, 72: 14, 73: 15, 74: 16, 75: 17, 76: 20, 77: 21, 78: 22, 79: 45, 80: 46, 81: 47, 82: 0 }, Uf = { 5: '"$"#,##0_);\\("$"#,##0\\)', 63: '"$"#,##0_);\\("$"#,##0\\)', 6: '"$"#,##0_);[Red]\\("$"#,##0\\)', 64: '"$"#,##0_);[Red]\\("$"#,##0\\)', 7: '"$"#,##0.00_);\\("$"#,##0.00\\)', 65: '"$"#,##0.00_);\\("$"#,##0.00\\)', 8: '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)', 66: '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)', 41: '_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)', 42: '_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)', 43: '_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)', 44: '_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)' }; function ts(e, r, t) { for (var a = e < 0 ? -1 : 1, n = e * a, s = 0, o = 1, l = 0, i = 1, c = 0, f = 0, u = Math.floor(n); c < r && (l = (u = Math.floor(n)) * o + s, f = u * c + i, !(n - u < 5e-8)); ) n = 1 / (n - u), s = o, o = l, i = c, c = f; if (f > r && (c > r ? (f = i, l = s) : (f = c, l = o)), !t) return [0, a * l, f]; var h = Math.floor(a * l / f); return [h, a * l - h * f, f]; } function Pr(e, r, t) { if (e > 2958465 || e < 0) return null; var a = 0 | (e = (function(c) { var f = c.toPrecision(16); if (f.indexOf("e") > -1) { var u = f.slice(0, f.indexOf("e")); return (u = u.indexOf(".") > -1 ? u.slice(0, u.slice(0, 2) == "0." ? 17 : 16) : u.slice(0, 15) + it("0", u.length - 15)) + f.slice(f.indexOf("e")); } var h = f.indexOf(".") > -1 ? f.slice(0, f.slice(0, 2) == "0." ? 17 : 16) : f.slice(0, 15) + it("0", f.length - 15); return Number(h); })(e)), n = Math.floor(86400 * (e - a)), s = 0, o = [], l = { D: a, T: n, u: 86400 * (e - a) - n, y: 0, m: 0, d: 0, H: 0, M: 0, S: 0, q: 0 }; if (Math.abs(l.u) < 1e-6 && (l.u = 0), r && r.date1904 && (a += 1462), l.u > 0.9999 && (l.u = 0, ++n == 86400 && (l.T = n = 0, ++a, ++l.D)), a === 60) o = t ? [1317, 10, 29] : [1900, 2, 29], s = 3; else if (a === 0) o = t ? [1317, 8, 29] : [1900, 1, 0], s = 6; else { a > 60 && --a; var i = new Date(1900, 0, 1); i.setDate(i.getDate() + a - 1), o = [i.getFullYear(), i.getMonth() + 1, i.getDate()], s = i.getDay(), a < 60 && (s = (s + 6) % 7), t && (s = (function(c, f) { f[0] -= 581; var u = c.getDay(); return c < 60 && (u = (u + 6) % 7), u; })(i, o)); } return l.y = o[0], l.m = o[1], l.d = o[2], l.S = n % 60, n = Math.floor(n / 60), l.M = n % 60, n = Math.floor(n / 60), l.H = n, l.q = s, l; } function ys(e) { return e.indexOf(".") == -1 ? e : e.replace(/(?:\.0*|(\.\d*[1-9])0+)$/, "$1"); } function mn(e) { if (!isFinite(e)) return isNaN(e) ? "#NUM!" : "#DIV/0!"; var r, t, a, n, s = Math.floor(Math.log(Math.abs(e)) * Math.LOG10E); return r = s >= -4 && s <= -1 ? e.toPrecision(10 + s) : Math.abs(s) <= 9 ? (a = (t = e) < 0 ? 12 : 11, (n = ys(t.toFixed(12))).length <= a || (n = t.toPrecision(10)).length <= a ? n : t.toExponential(5)) : s === 10 ? e.toFixed(10).substr(0, 12) : (function(o) { var l = ys(o.toFixed(11)); return l.length > (o < 0 ? 12 : 11) || l === "0" || l === "-0" ? o.toPrecision(6) : l; })(e), ys((function(o) { return o.indexOf("E") == -1 ? o : o.replace(/(?:\.0*|(\.\d*[1-9])0+)[Ee]/, "$1E").replace(/(E[+-])(\d)$/, "$10$2"); })(r.toUpperCase())); } function ga(e, r) { switch (typeof e) { case "string": return e; case "boolean": return e ? "TRUE" : "FALSE"; case "number": return (0 | e) === e ? e.toString(10) : mn(e); case "undefined": return ""; case "object": if (e == null) return ""; if (e instanceof Date) return hr(14, Tt(e, r && r.date1904), r); } throw new Error("unsupported value in General format: " + e); } function Bf(e, r, t, a) { var n, s = "", o = 0, l = 0, i = t.y, c = 0; switch (e) { case 98: i = t.y + 543; case 121: switch (r.length) { case 1: case 2: n = i % 100, c = 2; break; default: n = i % 1e4, c = 4; } break; case 109: switch (r.length) { case 1: case 2: n = t.m, c = r.length; break; case 3: return Ts[t.m - 1][1]; case 5: return Ts[t.m - 1][0]; default: return Ts[t.m - 1][2]; } break; case 100: switch (r.length) { case 1: case 2: n = t.d, c = r.length; break; case 3: return Hi[t.q][0]; default: return Hi[t.q][1]; } break; case 104: switch (r.length) { case 1: case 2: n = 1 + (t.H + 11) % 12, c = r.length; break; default: throw "bad hour format: " + r; } break; case 72: switch (r.length) { case 1: case 2: n = t.H, c = r.length; break; default: throw "bad hour format: " + r; } break; case 77: switch (r.length) { case 1: case 2: n = t.M, c = r.length; break; default: throw "bad minute format: " + r; } break; case 115: if (r != "s" && r != "ss" && r != ".0" && r != ".00" && r != ".000") throw "bad second format: " + r; return t.u !== 0 || r != "s" && r != "ss" ? (l = a >= 2 ? a === 3 ? 1e3 : 100 : a === 1 ? 10 : 1, (o = Math.round(l * (t.S + t.u))) >= 60 * l && (o = 0), r === "s" ? o === 0 ? "0" : "" + o / l : (s = Ar(o, 2 + a), r === "ss" ? s.substr(0, 2) : "." + s.substr(2, r.length - 1))) : Ar(t.S, r.length); case 90: switch (r) { case "[h]": case "[hh]": n = 24 * t.D + t.H; break; case "[m]": case "[mm]": n = 60 * (24 * t.D + t.H) + t.M; break; case "[s]": case "[ss]": n = 60 * (60 * (24 * t.D + t.H) + t.M) + (a == 0 ? Math.round(t.S + t.u) : t.S); break; default: throw "bad abstime format: " + r; } c = r.length === 3 ? 1 : 2; break; case 101: n = i, c = 1; } return c > 0 ? Ar(n, c) : ""; } function Gr(e) { if (e.length <= 3) return e; for (var r = e.length % 3, t = e.substr(0, r); r != e.length; r += 3) t += (t.length > 0 ? "," : "") + e.substr(r, 3); return t; } var Ic = /%/g; function Nc(e, r) { var t, a = e.indexOf("E") - e.indexOf(".") - 1; if (e.match(/^#+0.0E\+0$/)) { if (r == 0) return "0.0E+0"; if (r < 0) return "-" + Nc(e, -r); var n = e.indexOf("."); n === -1 && (n = e.indexOf("E")); var s = Math.floor(Math.log(r) * Math.LOG10E) % n; if (s < 0 && (s += n), (t = (r / Math.pow(10, s)).toPrecision(a + 1 + (n + s) % n)).indexOf("e") === -1) { var o = Math.floor(Math.log(r) * Math.LOG10E); for (t.indexOf(".") === -1 ? t = t.charAt(0) + "." + t.substr(1) + "E+" + (o - t.length + s) : t += "E+" + (o - s); t.substr(0, 2) === "0."; ) t = (t = t.charAt(0) + t.substr(2, n) + "." + t.substr(2 + n)).replace(/^0+([1-9])/, "$1").replace(/^0+\./, "0."); t = t.replace(/\+-/, "-"); } t = t.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/, function(l, i, c, f) { return i + c + f.substr(0, (n + s) % n) + "." + f.substr(s) + "E"; }); } else t = r.toExponential(a); return e.match(/E\+00$/) && t.match(/e[+-]\d$/) && (t = t.substr(0, t.length - 1) + "0" + t.charAt(t.length - 1)), e.match(/E\-/) && t.match(/e\+/) && (t = t.replace(/e\+/, "e")), t.replace("e", "E"); } var Fc = /# (\?+)( ?)\/( ?)(\d+)/, Dc = /^#*0*\.([0#]+)/, Pc = /\)[^)]*[0#]/, Lc = /\(###\) ###\\?-####/; function ir(e) { for (var r, t = "", a = 0; a != e.length; ++a) switch (r = e.charCodeAt(a)) { case 35: break; case 63: t += " "; break; case 48: t += "0"; break; default: t += String.fromCharCode(r); } return t; } function $i(e, r) { var t = Math.pow(10, r); return "" + Math.round(e * t) / t; } function Gi(e, r) { var t = e - Math.floor(e), a = Math.pow(10, r); return r < ("" + Math.round(t * a)).length ? 0 : Math.round(t * a); } function gr(e, r, t) { if (e.charCodeAt(0) === 40 && !r.match(Pc)) { var a = r.replace(/\( */, "").replace(/ \)/, "").replace(/\)/, ""); return t >= 0 ? gr("n", a, t) : "(" + gr("n", a, -t) + ")"; } if (r.charCodeAt(r.length - 1) === 44) return (function(w, E, _) { for (var v = E.length - 1; E.charCodeAt(v - 1) === 44; ) --v; return Kr(w, E.substr(0, v), _ / Math.pow(10, 3 * (E.length - v))); })(e, r, t); if (r.indexOf("%") !== -1) return n = e, o = t, l = (s = r).replace(Ic, ""), i = s.length - l.length, Kr(n, l, o * Math.pow(10, 2 * i)) + it("%", i); var n, s, o, l, i; if (r.indexOf("E") !== -1) return Nc(r, t); if (r.charCodeAt(0) === 36) return "$" + gr(e, r.substr(r.charAt(1) == " " ? 2 : 1), t); var c, f, u, h, p = Math.abs(t), d = t < 0 ? "-" : ""; if (r.match(/^00+$/)) return d + Aa(p, r.length); if (r.match(/^[#?]+$/)) return (c = Aa(t, 0)) === "0" && (c = ""), c.length > r.length ? c : ir(r.substr(0, r.length - c.length)) + c; if (f = r.match(Fc)) return (function(w, E, _) { var v = parseInt(w[4], 10), k = Math.round(E * v), S = Math.floor(k / v), y = k - S * v, x = v; return _ + (S === 0 ? "" : "" + S) + " " + (y === 0 ? it(" ", w[1].length + 1 + w[4].length) : Vs(y, w[1].length) + w[2] + "/" + w[3] + Ar(x, w[4].length)); })(f, p, d); if (r.match(/^#+0+$/)) return d + Aa(p, r.length - r.indexOf("0")); if (f = r.match(Dc)) return c = $i(t, f[1].length).replace(/^([^\.]+)$/, "$1." + ir(f[1])).replace(/\.$/, "." + ir(f[1])).replace(/\.(\d*)$/, function(w, E) { return "." + E + it("0", ir(f[1]).length - E.length); }), r.indexOf("0.") !== -1 ? c : c.replace(/^0\./, "."); if (r = r.replace(/^#+([0.])/, "$1"), f = r.match(/^(0*)\.(#*)$/)) return d + $i(p, f[2].length).replace(/\.(\d*[1-9])0*$/, ".$1").replace(/^(-?\d*)$/, "$1.").replace(/^0\./, f[1].length ? "0." : "."); if (f = r.match(/^#{1,3},##0(\.?)$/)) return d + Gr(Aa(p, 0)); if (f = r.match(/^#,##0\.([#0]*0)$/)) return t < 0 ? "-" + gr(e, r, -t) : Gr("" + (Math.floor(t) + (function(w, E) { return E < ("" + Math.round((w - Math.floor(w)) * Math.pow(10, E))).length ? 1 : 0; })(t, f[1].length))) + "." + Ar(Gi(t, f[1].length), f[1].length); if (f = r.match(/^#,#*,#0/)) return gr(e, r.replace(/^#,#*,/, ""), t); if (f = r.match(/^([0#]+)(\\?-([0#]+))+$/)) return c = Da(gr(e, r.replace(/[\\-]/g, ""), t)), u = 0, Da(Da(r.replace(/\\/g, "")).replace(/[0#]/g, function(w) { return u < c.length ? c.charAt(u++) : w === "0" ? "0" : ""; })); if (r.match(Lc)) return "(" + (c = gr(e, "##########", t)).substr(0, 3) + ") " + c.substr(3, 3) + "-" + c.substr(6); var g = ""; if (f = r.match(/^([#0?]+)( ?)\/( ?)([#0?]+)/)) return u = Math.min(f[4].length, 7), h = ts(p, Math.pow(10, u) - 1, !1), c = "" + d, (g = Kr("n", f[1], h[1])).charAt(g.length - 1) == " " && (g = g.substr(0, g.length - 1) + "0"), c += g + f[2] + "/" + f[3], (g = es(h[2], u)).length < f[4].length && (g = ir(f[4].substr(f[4].length - g.length)) + g), c += g; if (f = r.match(/^# ([#0?]+)( ?)\/( ?)([#0?]+)/)) return u = Math.min(Math.max(f[1].length, f[4].length), 7), d + ((h = ts(p, Math.pow(10, u) - 1, !0))[0] || (h[1] ? "" : "0")) + " " + (h[1] ? Vs(h[1], u) + f[2] + "/" + f[3] + es(h[2], u) : it(" ", 2 * u + 1 + f[2].length + f[3].length)); if (f = r.match(/^[#0?]+$/)) return c = Aa(t, 0), r.length <= c.length ? c : ir(r.substr(0, r.length - c.length)) + c; if (f = r.match(/^([#0?]+)\.([#0]+)$/)) { c = "" + t.toFixed(Math.min(f[2].length, 10)).replace(/([^0])0+$/, "$1"), u = c.indexOf("."); var m = r.indexOf(".") - u, b = r.length - c.length - m; return ir(r.substr(0, m) + c + r.substr(r.length - b)); } if (f = r.match(/^00,000\.([#0]*0)$/)) return u = Gi(t, f[1].length), t < 0 ? "-" + gr(e, r, -t) : Gr((function(w) { return w < 2147483647 && w > -2147483648 ? "" + (w >= 0 ? 0 | w : w - 1 | 0) : "" + Math.floor(w); })(t)).replace(/^\d,\d{3}$/, "0$&").replace(/^\d*$/, function(w) { return "00," + (w.length < 3 ? Ar(0, 3 - w.length) : "") + w; }) + "." + Ar(u, f[1].length); switch (r) { case "###,##0.00": return gr(e, "#,##0.00", t); case "###,###": case "##,###": case "#,###": var T = Gr(Aa(p, 0)); return T !== "0" ? d + T : ""; case "###,###.00": return gr(e, "###,##0.00", t).replace(/^0\./, "."); case "#,###.00": return gr(e, "#,##0.00", t).replace(/^0\./, "."); } throw new Error("unsupported format |" + r + "|"); } function Mc(e, r) { var t, a = e.indexOf("E") - e.indexOf(".") - 1; if (e.match(/^#+0.0E\+0$/)) { if (r == 0) return "0.0E+0"; if (r < 0) return "-" + Mc(e, -r); var n = e.indexOf("."); n === -1 && (n = e.indexOf("E")); var s = Math.floor(Math.log(r) * Math.LOG10E) % n; if (s < 0 && (s += n), !(t = (r / Math.pow(10, s)).toPrecision(a + 1 + (n + s) % n)).match(/[Ee]/)) { var o = Math.floor(Math.log(r) * Math.LOG10E); t.indexOf(".") === -1 ? t = t.charAt(0) + "." + t.substr(1) + "E+" + (o - t.length + s) : t += "E+" + (o - s), t = t.replace(/\+-/, "-"); } t = t.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/, function(l, i, c, f) { return i + c + f.substr(0, (n + s) % n) + "." + f.substr(s) + "E"; }); } else t = r.toExponential(a); return e.match(/E\+00$/) && t.match(/e[+-]\d$/) && (t = t.substr(0, t.length - 1) + "0" + t.charAt(t.length - 1)), e.match(/E\-/) && t.match(/e\+/) && (t = t.replace(/e\+/, "e")), t.replace("e", "E"); } function Nr(e, r, t) { if (e.charCodeAt(0) === 40 && !r.match(Pc)) { var a = r.replace(/\( */, "").replace(/ \)/, "").replace(/\)/, ""); return t >= 0 ? Nr("n", a, t) : "(" + Nr("n", a, -t) + ")"; } if (r.charCodeAt(r.length - 1) === 44) return (function(w, E, _) { for (var v = E.length - 1; E.charCodeAt(v - 1) === 44; ) --v; return Kr(w, E.substr(0, v), _ / Math.pow(10, 3 * (E.length - v))); })(e, r, t); if (r.indexOf("%") !== -1) return n = e, o = t, l = (s = r).replace(Ic, ""), i = s.length - l.length, Kr(n, l, o * Math.pow(10, 2 * i)) + it("%", i); var n, s, o, l, i; if (r.indexOf("E") !== -1) return Mc(r, t); if (r.charCodeAt(0) === 36) return "$" + Nr(e, r.substr(r.charAt(1) == " " ? 2 : 1), t); var c, f, u, h, p = Math.abs(t), d = t < 0 ? "-" : ""; if (r.match(/^00+$/)) return d + Ar(p, r.length); if (r.match(/^[#?]+$/)) return c = "" + t, t === 0 && (c = ""), c.length > r.length ? c : ir(r.substr(0, r.length - c.length)) + c; if (f = r.match(Fc)) return (function(w, E, _) { return _ + (E === 0 ? "" : "" + E) + it(" ", w[1].length + 2 + w[4].length); })(f, p, d); if (r.match(/^#+0+$/)) return d + Ar(p, r.length - r.indexOf("0")); if (f = r.match(Dc)) return c = (c = ("" + t).replace(/^([^\.]+)$/, "$1." + ir(f[1])).replace(/\.$/, "." + ir(f[1]))).replace(/\.(\d*)$/, function(w, E) { return "." + E + it("0", ir(f[1]).length - E.length); }), r.indexOf("0.") !== -1 ? c : c.replace(/^0\./, "."); if (r = r.replace(/^#+([0.])/, "$1"), f = r.match(/^(0*)\.(#*)$/)) return d + ("" + p).replace(/\.(\d*[1-9])0*$/, ".$1").replace(/^(-?\d*)$/, "$1.").replace(/^0\./, f[1].length ? "0." : "."); if (f = r.match(/^#{1,3},##0(\.?)$/)) return d + Gr("" + p); if (f = r.match(/^#,##0\.([#0]*0)$/)) return t < 0 ? "-" + Nr(e, r, -t) : Gr("" + t) + "." + it("0", f[1].length); if (f = r.match(/^#,#*,#0/)) return Nr(e, r.replace(/^#,#*,/, ""), t); if (f = r.match(/^([0#]+)(\\?-([0#]+))+$/)) return c = Da(Nr(e, r.replace(/[\\-]/g, ""), t)), u = 0, Da(Da(r.replace(/\\/g, "")).replace(/[0#]/g, function(w) { return u < c.length ? c.charAt(u++) : w === "0" ? "0" : ""; })); if (r.match(Lc)) return "(" + (c = Nr(e, "##########", t)).substr(0, 3) + ") " + c.substr(3, 3) + "-" + c.substr(6); var g = ""; if (f = r.match(/^([#0?]+)( ?)\/( ?)([#0?]+)/)) return u = Math.min(f[4].length, 7), h = ts(p, Math.pow(10, u) - 1, !1), c = "" + d, (g = Kr("n", f[1], h[1])).charAt(g.length - 1) == " " && (g = g.substr(0, g.length - 1) + "0"), c += g + f[2] + "/" + f[3], (g = es(h[2], u)).length < f[4].length && (g = ir(f[4].substr(f[4].length - g.length)) + g), c += g; if (f = r.match(/^# ([#0?]+)( ?)\/( ?)([#0?]+)/)) return u = Math.min(Math.max(f[1].length, f[4].length), 7), d + ((h = ts(p, Math.pow(10, u) - 1, !0))[0] || (h[1] ? "" : "0")) + " " + (h[1] ? Vs(h[1], u) + f[2] + "/" + f[3] + es(h[2], u) : it(" ", 2 * u + 1 + f[2].length + f[3].length)); if (f = r.match(/^[#0?]+$/)) return c = "" + t, r.length <= c.length ? c : ir(r.substr(0, r.length - c.length)) + c; if (f = r.match(/^([#0]+)\.([#0]+)$/)) { c = "" + t.toFixed(Math.min(f[2].length, 10)).replace(/([^0])0+$/, "$1"), u = c.indexOf("."); var m = r.indexOf(".") - u, b = r.length - c.length - m; return ir(r.substr(0, m) + c + r.substr(r.length - b)); } if (f = r.match(/^00,000\.([#0]*0)$/)) return t < 0 ? "-" + Nr(e, r, -t) : Gr("" + t).replace(/^\d,\d{3}$/, "0$&").replace(/^\d*$/, function(w) { return "00," + (w.length < 3 ? Ar(0, 3 - w.length) : "") + w; }) + "." + Ar(0, f[1].length); switch (r) { case "###,###": case "##,###": case "#,###": var T = Gr("" + p); return T !== "0" ? d + T : ""; default: if (r.match(/\.[0#?]*$/)) return Nr(e, r.slice(0, r.lastIndexOf(".")), t) + ir(r.slice(r.lastIndexOf("."))); } throw new Error("unsupported format |" + r + "|"); } function Kr(e, r, t) { return (0 | t) === t ? Nr(e, r, t) : gr(e, r, t); } var Uc = /\[[HhMmSs\u0E0A\u0E19\u0E17]*\]/; function pr(e) { for (var r = 0, t = "", a = ""; r < e.length; ) switch (t = e.charAt(r)) { case "G": Kn(e, r) && (r += 6), r++; break; case '"': for (; e.charCodeAt(++r) !== 34 && r < e.length; ) ; ++r; break; case "\\": case "_": r += 2; break; case "@": ++r; break; case "B": case "b": if (e.charAt(r + 1) === "1" || e.charAt(r + 1) === "2") return !0; case "M": case "D": case "Y": case "H": case "S": case "E": case "m": case "d": case "y": case "h": case "s": case "e": case "g": return !0; case "A": case "a": case "上": if (e.substr(r, 3).toUpperCase() === "A/P" || e.substr(r, 5).toUpperCase() === "AM/PM" || e.substr(r, 5).toUpperCase() === "上午/下午") return !0; ++r; break; case "[": for (a = t; e.charAt(r++) !== "]" && r < e.length; ) a += e.charAt(r); if (a.match(Uc)) return !0; break; case ".": case "0": case "#": for (; r < e.length && ("0#?.,E+-%".indexOf(t = e.charAt(++r)) > -1 || t == "\\" && e.charAt(r + 1) == "-" && "0#".indexOf(e.charAt(r + 2)) > -1); ) ; break; case "?": for (; e.charAt(++r) === t; ) ; break; case "*": ++r, e.charAt(r) != " " && e.charAt(r) != "*" || ++r; break; case "(": case ")": ++r; break; case "1": case "2": case "3": case "4": case "5": case "6": case "7": case "8": case "9": for (; r < e.length && "0123456789".indexOf(e.charAt(++r)) > -1; ) ; break; default: ++r; } return !1; } var Xi = /\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/; function ji(e, r) { if (r == null) return !1; var t = parseFloat(r[2]); switch (r[1]) { case "=": if (e == t) return !0; break; case ">": if (e > t) return !0; break; case "<": if (e < t) return !0; break; case "<>": if (e != t) return !0; break; case ">=": if (e >= t) return !0; break; case "<=": if (e <= t) return !0; } return !1; } function hr(e, r, t) { t == null && (t = {}); var a = ""; switch (typeof e) { case "string": a = e == "m/d/yy" && t.dateNF ? t.dateNF : e; break; case "number": (a = e == 14 && t.dateNF ? t.dateNF : (t.table != null ? t.table : ke)[e]) == null && (a = t.table && t.table[Vi[e]] || ke[Vi[e]]), a == null && (a = Uf[e] || "General"); } if (Kn(a, 0)) return ga(r, t); r instanceof Date && (r = Tt(r, t.date1904)); var n = (function(s, o) { var l = (function(p) { for (var d = [], g = !1, m = 0, b = 0; m < p.length; ++m) switch (p.charCodeAt(m)) { case 34: g = !g; break; case 95: case 42: case 92: ++m; break; case 59: d[d.length] = p.substr(b, m - b), b = m + 1; } if (d[d.length] = p.substr(b), g === !0) throw new Error("Format |" + p + "| unterminated string "); return d; })(s), i = l.length, c = l[i - 1].indexOf("@"); if (i < 4 && c > -1 && --i, l.length > 4) throw new Error("cannot find right format for |" + l.join("|") + "|"); if (typeof o != "number") return [4, l.length === 4 || c > -1 ? l[l.length - 1] : "@"]; switch (typeof o != "number" || isFinite(o) || (o = 0), l.length) { case 1: l = c > -1 ? ["General", "General", "General", l[0]] : [l[0], l[0], l[0], "@"]; break; case 2: l = c > -1 ? [l[0], l[0], l[0], l[1]] : [l[0], l[1], l[0], "@"]; break; case 3: l = c > -1 ? [l[0], l[1], l[0], l[2]] : [l[0], l[1], l[2], "@"]; } var f = o > 0 ? l[0] : o < 0 ? l[1] : l[2]; if (l[0].indexOf("[") === -1 && l[1].indexOf("[") === -1) return [i, f]; if (l[0].match(/\[[=<>]/) != null || l[1].match(/\[[=<>]/) != null) { var u = l[0].match(Xi), h = l[1].match(Xi); return ji(o, u) ? [i, l[0]] : ji(o, h) ? [i, l[1]] : [i, l[u != null && h != null ? 2 : 1]]; } return [i, f]; })(a, r); if (Kn(n[1])) return ga(r, t); if (r === !0) r = "TRUE"; else if (r === !1) r = "FALSE"; else { if (r === "" || r == null) return ""; if (isNaN(r) && n[1].indexOf("0") > -1) return "#NUM!"; if (!isFinite(r) && n[1].indexOf("0") > -1) return "#DIV/0!"; } return (function(s, o, l, i) { for (var c, f, u, h = [], p = "", d = 0, g = "", m = "t", b = "H"; d < s.length; ) switch (g = s.charAt(d)) { case "G": if (!Kn(s, d)) throw new Error("unrecognized character " + g + " in " + s); h[h.length] = { t: "G", v: "General" }, d += 7; break; case '"': for (p = ""; (u = s.charCodeAt(++d)) !== 34 && d < s.length; ) p += String.fromCharCode(u); h[h.length] = { t: "t", v: p }, ++d; break; case "\\": var T = s.charAt(++d), w = T === "(" || T === ")" ? T : "t"; h[h.length] = { t: w, v: T }, ++d; break; case "_": h[h.length] = { t: "t", v: " " }, d += 2; break; case "@": h[h.length] = { t: "T", v: o }, ++d; break; case "B": case "b": if (s.charAt(d + 1) === "1" || s.charAt(d + 1) === "2") { if (c == null && (c = Pr(o, l, s.charAt(d + 1) === "2")) == null) return ""; h[h.length] = { t: "X", v: s.substr(d, 2) }, m = g, d += 2; break; } case "M": case "D": case "Y": case "H": case "S": case "E": g = g.toLowerCase(); case "m": case "d": case "y": case "h": case "s": case "e": case "g": if (o < 0 || c == null && (c = Pr(o, l)) == null) return ""; for (p = g; ++d < s.length && s.charAt(d).toLowerCase() === g; ) p += g; g === "m" && m.toLowerCase() === "h" && (g = "M"), g === "h" && (g = b), h[h.length] = { t: g, v: p }, m = g; break; case "A": case "a": case "上": var E = { t: g, v: g }; if (c == null && (c = Pr(o, l)), s.substr(d, 3).toUpperCase() === "A/P" ? (c != null && (E.v = c.H >= 12 ? s.charAt(d + 2) : g), E.t = "T", b = "h", d += 3) : s.substr(d, 5).toUpperCase() === "AM/PM" ? (c != null && (E.v = c.H >= 12 ? "PM" : "AM"), E.t = "T", d += 5, b = "h") : s.substr(d, 5).toUpperCase() === "上午/下午" ? (c != null && (E.v = c.H >= 12 ? "下午" : "上午"), E.t = "T", d += 5, b = "h") : (E.t = "t", ++d), c == null && E.t === "T") return ""; h[h.length] = E, m = g; break; case "[": for (p = g; s.charAt(d++) !== "]" && d < s.length; ) p += s.charAt(d); if (p.slice(-1) !== "]") throw 'unterminated "[" block: |' + p + "|"; if (p.match(Uc)) { if (c == null && (c = Pr(o, l)) == null) return ""; h[h.length] = { t: "Z", v: p.toLowerCase() }, m = p.charAt(1); } else p.indexOf("$") > -1 && (p = (p.match(/\$([^-\[\]]*)/) || [])[1] || "$", pr(s) || (h[h.length] = { t: "t", v: p })); break; case ".": if (c != null) { for (p = g; ++d < s.length && (g = s.charAt(d)) === "0"; ) p += g; h[h.length] = { t: "s", v: p }; break; } case "0": case "#": for (p = g; ++d < s.length && "0#?.,E+-%".indexOf(g = s.charAt(d)) > -1; ) p += g; h[h.length] = { t: "n", v: p }; break; case "?": for (p = g; s.charAt(++d) === g; ) p += g; h[h.length] = { t: g, v: p }, m = g; break; case "*": ++d, s.charAt(d) != " " && s.charAt(d) != "*" || ++d; break; case "(": case ")": h[h.length] = { t: i === 1 ? "t" : g, v: g }, ++d; break; case "1": case "2": case "3": case "4": case "5": case "6": case "7": case "8": case "9": for (p = g; d < s.length && "0123456789".indexOf(s.charAt(++d)) > -1; ) p += s.charAt(d); h[h.length] = { t: "D", v: p }; break; case " ": h[h.length] = { t: g, v: g }, ++d; break; case "$": h[h.length] = { t: "t", v: "$" }, ++d; break; default: if (",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP".indexOf(g) === -1) throw new Error("unrecognized character " + g + " in " + s); h[h.length] = { t: "t", v: g }, ++d; } var _, v, k = 0, S = 0; for (d = h.length - 1, m = "t"; d >= 0; --d) switch (h[d].t) { case "h": case "H": h[d].t = b, m = "h", k < 1 && (k = 1); break; case "s": (_ = h[d].v.match(/\.0+$/)) && (S = Math.max(S, _[0].length - 1), k = 4), k < 3 && (k = 3); case "d": case "y": case "e": m = h[d].t; break; case "M": m = h[d].t, k < 2 && (k = 2); break; case "m": m === "s" && (h[d].t = "M", k < 2 && (k = 2)); break; case "X": break; case "Z": k < 1 && h[d].v.match(/[Hh]/) && (k = 1), k < 2 && h[d].v.match(/[Mm]/) && (k = 2), k < 3 && h[d].v.match(/[Ss]/) && (k = 3); } switch (k) { case 0: break; case 1: case 2: case 3: c.u >= 0.5 && (c.u = 0, ++c.S), c.S >= 60 && (c.S = 0, ++c.M), c.M >= 60 && (c.M = 0, ++c.H), c.H >= 24 && (c.H = 0, ++c.D, (v = Pr(c.D)).u = c.u, v.S = c.S, v.M = c.M, v.H = c.H, c = v); break; case 4: switch (S) { case 1: c.u = Math.round(10 * c.u) / 10; break; case 2: c.u = Math.round(100 * c.u) / 100; break; case 3: c.u = Math.round(1e3 * c.u) / 1e3; } c.u >= 1 && (c.u = 0, ++c.S), c.S >= 60 && (c.S = 0, ++c.M), c.M >= 60 && (c.M = 0, ++c.H), c.H >= 24 && (c.H = 0, ++c.D, (v = Pr(c.D)).u = c.u, v.S = c.S, v.M = c.M, v.H = c.H, c = v); } var y, x = ""; for (d = 0; d < h.length; ++d) switch (h[d].t) { case "t": case "T": case " ": case "D": break; case "X": h[d].v = "", h[d].t = ";"; break; case "d": case "m": case "y": case "h": case "H": case "M": case "s": case "e": case "b": case "Z": h[d].v = Bf(h[d].t.charCodeAt(0), h[d].v, c, S), h[d].t = "t"; break; case "n": case "?": for (y = d + 1; h[y] != null && ((g = h[y].t) === "?" || g === "D" || (g === " " || g === "t") && h[y + 1] != null && (h[y + 1].t === "?" || h[y + 1].t === "t" && h[y + 1].v === "/") || h[d].t === "(" && (g === " " || g === "n" || g === ")") || g === "t" && (h[y].v === "/" || h[y].v === " " && h[y + 1] != null && h[y + 1].t == "?")); ) h[d].v += h[y].v, h[y] = { v: "", t: ";" }, ++y; x += h[d].v, d = y - 1; break; case "G": h[d].t = "t", h[d].v = ga(o, l); } var C, N, W = ""; if (x.length > 0) { x.charCodeAt(0) == 40 ? (C = o < 0 && x.charCodeAt(0) === 45 ? -o : o, N = Kr("n", x, C)) : (N = Kr("n", x, C = o < 0 && i > 1 ? -o : o), C < 0 && h[0] && h[0].t == "t" && (N = N.substr(1), h[0].v = "-" + h[0].v)), y = N.length - 1; var R = h.length; for (d = 0; d < h.length; ++d) if (h[d] != null && h[d].t != "t" && h[d].v.indexOf(".") > -1) { R = d; break; } var J = h.length; if (R === h.length && N.indexOf("E") === -1) { for (d = h.length - 1; d >= 0; --d) h[d] != null && "n?".indexOf(h[d].t) !== -1 && (y >= h[d].v.length - 1 ? (y -= h[d].v.length, h[d].v = N.substr(y + 1, h[d].v.length)) : y < 0 ? h[d].v = "" : (h[d].v = N.substr(0, y + 1), y = -1), h[d].t = "t", J = d); y >= 0 && J < h.length && (h[J].v = N.substr(0, y + 1) + h[J].v); } else if (R !== h.length && N.indexOf("E") === -1) { for (y = N.indexOf(".") - 1, d = R; d >= 0; --d) if (h[d] != null && "n?".indexOf(h[d].t) !== -1) { for (f = h[d].v.indexOf(".") > -1 && d === R ? h[d].v.indexOf(".") - 1 : h[d].v.length - 1, W = h[d].v.substr(f + 1); f >= 0; --f) y >= 0 && (h[d].v.charAt(f) === "0" || h[d].v.charAt(f) === "#") && (W = N.charAt(y--) + W); h[d].v = W, h[d].t = "t", J = d; } for (y >= 0 && J < h.length && (h[J].v = N.substr(0, y + 1) + h[J].v), y = N.indexOf(".") + 1, d = R; d < h.length; ++d) if (h[d] != null && ("n?(".indexOf(h[d].t) !== -1 || d === R)) { for (f = h[d].v.indexOf(".") > -1 && d === R ? h[d].v.indexOf(".") + 1 : 0, W = h[d].v.substr(0, f); f < h[d].v.length; ++f) y < N.length && (W += N.charAt(y++)); h[d].v = W, h[d].t = "t", J = d; } } } for (d = 0; d < h.length; ++d) h[d] != null && "n?".indexOf(h[d].t) > -1 && (C = i > 1 && o < 0 && d > 0 && h[d - 1].v === "-" ? -o : o, h[d].v = Kr(h[d].t, h[d].v, C), h[d].t = "t"); var ee = ""; for (d = 0; d !== h.length; ++d) h[d] != null && (ee += h[d].v); return ee; })(n[1], r, t, n[0]); } function hi(e, r) { if (typeof r != "number") { r = +r || -1; for (var t = 0; t < 392; ++t) if (ke[t] != null) { if (ke[t] == e) { r = t; break; } } else r < 0 && (r = t); r < 0 && (r = 391); } return ke[r] = e, r; } function Xa(e) { for (var r = 0; r != 392; ++r) e[r] !== void 0 && hi(e[r], r); } function xa() { var e; e || (e = {}), e[0] = "General", e[1] = "0", e[2] = "0.00", e[3] = "#,##0", e[4] = "#,##0.00", e[9] = "0%", e[10] = "0.00%", e[11] = "0.00E+00", e[12] = "# ?/?", e[13] = "# ??/??", e[14] = "m/d/yy", e[15] = "d-mmm-yy", e[16] = "d-mmm", e[17] = "mmm-yy", e[18] = "h:mm AM/PM", e[19] = "h:mm:ss AM/PM", e[20] = "h:mm", e[21] = "h:mm:ss", e[22] = "m/d/yy h:mm", e[37] = "#,##0 ;(#,##0)", e[38] = "#,##0 ;[Red](#,##0)", e[39] = "#,##0.00;(#,##0.00)", e[40] = "#,##0.00;[Red](#,##0.00)", e[45] = "mm:ss", e[46] = "[h]:mm:ss", e[47] = "mmss.0", e[48] = "##0.0E+0", e[49] = "@", e[56] = '"上午/下午 "hh"時"mm"分"ss"秒 "', ke = e; } var Bc = { format: hr, load: hi, _table: ke, load_table: Xa, parse_date_code: Pr, is_date: pr, get_table: function() { return Bc._table = ke; } }, Wf = { 5: '"$"#,##0_);\\("$"#,##0\\)', 6: '"$"#,##0_);[Red]\\("$"#,##0\\)', 7: '"$"#,##0.00_);\\("$"#,##0.00\\)', 8: '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)', 23: "General", 24: "General", 25: "General", 26: "General", 27: "m/d/yy", 28: "m/d/yy", 29: "m/d/yy", 30: "m/d/yy", 31: "m/d/yy", 32: "h:mm:ss", 33: "h:mm:ss", 34: "h:mm:ss", 35: "h:mm:ss", 36: "m/d/yy", 41: '_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)', 42: '_("$"* #,##0_);_("$"* (#,##0);_("$"* "-"_);_(@_)', 43: '_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)', 44: '_("$"* #,##0.00_);_("$"* (#,##0.00);_("$"* "-"??_);_(@_)', 50: "m/d/yy", 51: "m/d/yy", 52: "m/d/yy", 53: "m/d/yy", 54: "m/d/yy", 55: "m/d/yy", 56: "m/d/yy", 57: "m/d/yy", 58: "m/d/yy", 59: "0", 60: "0.00", 61: "#,##0", 62: "#,##0.00", 63: '"$"#,##0_);\\("$"#,##0\\)', 64: '"$"#,##0_);[Red]\\("$"#,##0\\)', 65: '"$"#,##0.00_);\\("$"#,##0.00\\)', 66: '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)', 67: "0%", 68: "0.00%", 69: "# ?/?", 70: "# ??/??", 71: "m/d/yy", 72: "m/d/yy", 73: "d-mmm-yy", 74: "d-mmm", 75: "mmm-yy", 76: "h:mm", 77: "h:mm:ss", 78: "m/d/yy h:mm", 79: "mm:ss", 80: "[h]:mm:ss", 81: "mmss.0" }, Ln = /[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g, zf = { "d.m": "d\\.m" }; function ea(e, r) { return hi(zf[e] || e, r); } var Xr, Ca, Xt, jt, Ki, Yi, Ji, qi, Qi, Zi, eo, to, ro, ao, no, so, io, oo, co, lo = (Ca = { version: "1.2.0" }, Xt = (function() { for (var e = 0, r = new Array(256), t = 0; t != 256; ++t) e = 1 & (e = 1 & (e = 1 & (e = 1 & (e = 1 & (e = 1 & (e = 1 & (e = 1 & (e = t) ? -306674912 ^ e >>> 1 : e >>> 1) ? -306674912 ^ e >>> 1 : e >>> 1) ? -306674912 ^ e >>> 1 : e >>> 1) ? -306674912 ^ e >>> 1 : e >>> 1) ? -306674912 ^ e >>> 1 : e >>> 1) ? -306674912 ^ e >>> 1 : e >>> 1) ? -306674912 ^ e >>> 1 : e >>> 1) ? -306674912 ^ e >>> 1 : e >>> 1, r[t] = e; return typeof Int32Array < "u" ? new Int32Array(r) : r; })(), jt = (function(e) { var r = 0, t = 0, a = 0, n = typeof Int32Array < "u" ? new Int32Array(4096) : new Array(4096); for (a = 0; a != 256; ++a) n[a] = e[a]; for (a = 0; a != 256; ++a) for (t = e[a], r = 256 + a; r < 4096; r += 256) t = n[r] = t >>> 8 ^ e[255 & t]; var s = []; for (a = 1; a != 16; ++a) s[a - 1] = typeof Int32Array < "u" && typeof n.subarray == "function" ? n.subarray(256 * a, 256 * a + 256) : n.slice(256 * a, 256 * a + 256); return s; })(Xt), Ki = jt[0], Yi = jt[1], Ji = jt[2], qi = jt[3], Qi = jt[4], Zi = jt[5], eo = jt[6], to = jt[7], ro = jt[8], ao = jt[9], no = jt[10], so = jt[11], io = jt[12], oo = jt[13], co = jt[14], Ca.table = Xt, Ca.bstr = function(e, r) { for (var t = -1 ^ r, a = 0, n = e.length; a < n; ) t = t >>> 8 ^ Xt[255 & (t ^ e.charCodeAt(a++))]; return ~t; }, Ca.buf = function(e, r) { for (var t = -1 ^ r, a = e.length - 15, n = 0; n < a; ) t = co[e[n++] ^ 255 & t] ^ oo[e[n++] ^ t >> 8 & 255] ^ io[e[n++] ^ t >> 16 & 255] ^ so[e[n++] ^ t >>> 24] ^ no[e[n++]] ^ ao[e[n++]] ^ ro[e[n++]] ^ to[e[n++]] ^ eo[e[n++]] ^ Zi[e[n++]] ^ Qi[e[n++]] ^ qi[e[n++]] ^ Ji[e[n++]] ^ Yi[e[n++]] ^ Ki[e[n++]] ^ Xt[e[n++]]; for (a += 15; n < a; ) t = t >>> 8 ^ Xt[255 & (t ^ e[n++])]; return ~t; }, Ca.str = function(e, r) { for (var t = -1 ^ r, a = 0, n = e.length, s = 0, o = 0; a < n; ) (s = e.charCodeAt(a++)) < 128 ? t = t >>> 8 ^ Xt[255 & (t ^ s)] : s < 2048 ? t = (t = t >>> 8 ^ Xt[255 & (t ^ (192 | s >> 6 & 31))]) >>> 8 ^ Xt[255 & (t ^ (128 | 63 & s))] : s >= 55296 && s < 57344 ? (s = 64 + (1023 & s), o = 1023 & e.charCodeAt(a++), t = (t = (t = (t = t >>> 8 ^ Xt[255 & (t ^ (240 | s >> 8 & 7))]) >>> 8 ^ Xt[255 & (t ^ (128 | s >> 2 & 63))]) >>> 8 ^ Xt[255 & (t ^ (128 | o >> 6 & 15 | (3 & s) << 4))]) >>> 8 ^ Xt[255 & (t ^ (128 | 63 & o))]) : t = (t = (t = t >>> 8 ^ Xt[255 & (t ^ (224 | s >> 12 & 15))]) >>> 8 ^ Xt[255 & (t ^ (128 | s >> 6 & 63))]) >>> 8 ^ Xt[255 & (t ^ (128 | 63 & s))]; return ~t; }, Ca), xe = (function() { var e, r = {}; function t(A) { if (A.charAt(A.length - 1) == "/") return A.slice(0, -1).indexOf("/") === -1 ? A : t(A.slice(0, -1)); var D = A.lastIndexOf("/"); return D === -1 ? A : A.slice(0, D + 1); } function a(A) { if (A.charAt(A.length - 1) == "/") return a(A.slice(0, -1)); var D = A.lastIndexOf("/"); return D === -1 ? A : A.slice(D + 1); } function n(A, D) { typeof D == "string" && (D = new Date(D)); var I = D.getHours(); I = (I = I << 6 | D.getMinutes()) << 5 | D.getSeconds() >>> 1, A.write_shift(2, I); var z = D.getFullYear() - 1980; z = (z = z << 4 | D.getMonth() + 1) << 5 | D.getDate(), A.write_shift(2, z); } function s(A) { Ft(A, 0); for (var D = {}, I = 0; A.l <= A.length - 4; ) { var z = A.read_shift(2), P = A.read_shift(2), H = A.l + P, Z = {}; switch (z) { case 21589: 1 & (I = A.read_shift(1)) && (Z.mtime = A.read_shift(4)), P > 5 && (2 & I && (Z.atime = A.read_shift(4)), 4 & I && (Z.ctime = A.read_shift(4))), Z.mtime && (Z.mt = new Date(1e3 * Z.mtime)); break; case 1: var se = A.read_shift(4), V = A.read_shift(4); Z.usz = V * Math.pow(2, 32) + se, se = A.read_shift(4), V = A.read_shift(4), Z.csz = V * Math.pow(2, 32) + se; } A.l = H, D[z] = Z; } return D; } function o() { return e || (e = Xr); } function l(A, D) { if (A[0] == 80 && A[1] == 75) return Ct(A, D); if ((32 | A[0]) == 109 && (32 | A[1]) == 105) return (function(_e, Ie) { if (v(_e.slice(0, 13)).toLowerCase() != "mime-version:") throw new Error("Unsupported MAD header"); var De = Ie && Ie.root || "", ge = (Ge && Buffer.isBuffer(_e) ? _e.toString("binary") : v(_e)).split(`\r `), Re = 0, at = ""; for (Re = 0; Re < ge.length; ++Re) if (at = ge[Re], /^Content-Location:/i.test(at) && (at = at.slice(at.indexOf("file")), De || (De = at.slice(0, at.lastIndexOf("/") + 1)), at.slice(0, De.length) != De)) for (; De.length > 0 && (De = (De = De.slice(0, De.length - 1)).slice(0, De.lastIndexOf("/") + 1), at.slice(0, De.length) != De); ) ; var Mt = (ge[1] || "").match(/boundary="(.*?)"/); if (!Mt) throw new Error("MAD cannot find boundary"); var ut = "--" + (Mt[1] || ""), vt = { FileIndex: [], FullPaths: [] }; h(vt); var Me, $t = 0; for (Re = 0; Re < ge.length; ++Re) { var Gt = ge[Re]; Gt !== ut && Gt !== ut + "--" || ($t++ && Fe(vt, ge.slice(Me, Re), De), Me = Re); } return vt; })(A, D); if (A.length < 512) throw new Error("CFB file size " + A.length + " < 512"); var I, z, P, H, Z, se, V = 512, ne = [], ce = A.slice(0, 512); Ft(ce, 0); var pe = (function(_e) { if (_e[_e.l] == 80 && _e[_e.l + 1] == 75) return [0, 0]; _e.chk(T, "Header Signature: "), _e.l += 16; var Ie = _e.read_shift(2, "u"); return [_e.read_shift(2, "u"), Ie]; })(ce); switch (I = pe[0]) { case 3: V = 512; break; case 4: V = 4096; break; case 0: if (pe[1] == 0) return Ct(A, D); default: throw new Error("Major Version: Expected 3 or 4 saw " + I); } V !== 512 && Ft(ce = A.slice(0, V), 28); var Ae = A.slice(0, V); (function(_e, Ie) { var De; switch (_e.l += 2, De = _e.read_shift(2)) { case 9: if (Ie != 3) throw new Error("Sector Shift: Expected 9 saw " + De); break; case 12: if (Ie != 4) throw new Error("Sector Shift: Expected 12 saw " + De); break; default: throw new Error("Sector Shift: Expected 9 or 12 saw " + De); } _e.chk("0600", "Mini Sector Shift: "), _e.chk("000000000000", "Reserved: "); })(ce, I); var de = ce.read_shift(4, "i"); if (I === 3 && de !== 0) throw new Error("# Directory Sectors: Expected 0 saw " + de); ce.l += 4, H = ce.read_shift(4, "i"), ce.l += 4, ce.chk("00100000", "Mini Stream Cutoff Size: "), Z = ce.read_shift(4, "i"), z = ce.read_shift(4, "i"), se = ce.read_shift(4, "i"), P = ce.read_shift(4, "i"); for (var Oe = -1, Le = 0; Le < 109 && !((Oe = ce.read_shift(4, "i")) < 0); ++Le) ne[Le] = Oe; var ye = (function(_e, Ie) { for (var De = Math.ceil(_e.length / Ie) - 1, ge = [], Re = 1; Re < De; ++Re) ge[Re - 1] = _e.slice(Re * Ie, (Re + 1) * Ie); return ge[De - 1] = _e.slice(De * Ie), ge; })(A, V); c(se, P, ye, V, ne); var Se = (function(_e, Ie, De, ge) { var Re = _e.length, at = [], Mt = [], ut = [], vt = [], Me = ge - 1, $t = 0, Gt = 0, Rr = 0, Ya = 0; for ($t = 0; $t < Re; ++$t) if (ut = [], (Rr = $t + Ie) >= Re && (Rr -= Re), !Mt[Rr]) { vt = []; var gt = []; for (Gt = Rr; Gt >= 0; ) { gt[Gt] = !0, Mt[Gt] = !0, ut[ut.length] = Gt, vt.push(_e[Gt]); var st = De[Math.floor(4 * Gt / ge)]; if (ge < 4 + (Ya = 4 * Gt & Me)) throw new Error("FAT boundary crossed: " + Gt + " 4 " + ge); if (!_e[st] || gt[Gt = ha(_e[st], Ya)]) break; } at[Rr] = { nodes: ut, data: yo([vt]) }; } return at; })(ye, H, ne, V); H < Se.length && (Se[H].name = "!Directory"), z > 0 && Z !== b && (Se[Z].name = "!MiniFAT"), Se[ne[0]].name = "!FAT", Se.fat_addrs = ne, Se.ssz = V; var me = [], qe = [], je = []; (function(_e, Ie, De, ge, Re, at, Mt, ut) { for (var vt, Me = 0, $t = ge.length ? 2 : 0, Gt = Ie[_e].data, Rr = 0, Ya = 0; Rr < Gt.length; Rr += 128) { var gt = Gt.slice(Rr, Rr + 128); Ft(gt, 64), Ya = gt.read_shift(2), vt = vs(gt, 0, Ya - $t), ge.push(vt); var st = { name: vt, type: gt.read_shift(1), color: gt.read_shift(1), L: gt.read_shift(4, "i"), R: gt.read_shift(4, "i"), C: gt.read_shift(4, "i"), clsid: gt.read_shift(16), state: gt.read_shift(4, "i"), start: 0, size: 0 }; gt.read_shift(2) + gt.read_shift(2) + gt.read_shift(2) + gt.read_shift(2) !== 0 && (st.ct = u(gt, gt.l - 8)), gt.read_shift(2) + gt.read_shift(2) + gt.read_shift(2) + gt.read_shift(2) !== 0 && (st.mt = u(gt, gt.l - 8)), st.start = gt.read_shift(4, "i"), st.size = gt.read_shift(4, "i"), st.size < 0 && st.start < 0 && (st.size = st.type = 0, st.start = b, st.name = ""), st.type === 5 ? (Me = st.start, Re > 0 && Me !== b && (Ie[Me].name = "!StreamData")) : st.size >= 4096 ? (st.storage = "fat", Ie[st.start] === void 0 && (Ie[st.start] = f(De, st.start, Ie.fat_addrs, Ie.ssz)), Ie[st.start].name = st.name, st.content = Ie[st.start].data.slice(0, st.size)) : (st.storage = "minifat", st.size < 0 ? st.size = 0 : Me !== b && st.start !== b && Ie[Me] && (st.content = i(st, Ie[Me].data, (Ie[ut] || {}).data))), st.content && Ft(st.content, 0), at[vt] = st, Mt.push(st); } })(H, Se, ye, me, z, {}, qe, Z), (function(_e, Ie, De) { for (var ge = 0, Re = 0, at = 0, Mt = 0, ut = 0, vt = De.length, Me = [], $t = []; ge < vt; ++ge) Me[ge] = $t[ge] = ge, Ie[ge] = De[ge]; for (; ut < $t.length; ++ut) Re = _e[ge = $t[ut]].L, at = _e[ge].R, Mt = _e[ge].C, Me[ge] === ge && (Re !