@silurus/ooxml 0.71.0 → 0.72.1

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.
@@ -1,9 +1,9 @@
1
- import { A as e, B as t, C as n, D as r, Dt as i, E as a, Et as o, F as s, I as c, J as l, L as u, M as d, O as f, P as p, S as m, T as h, Tt as g, W as _, Z as v, _ as y, _t as b, at as x, b as S, bt as C, ct as w, d as T, dt as E, f as D, ft as O, g as k, gt as A, h as j, i as M, it as N, j as P, k as F, l as I, lt as L, m as R, mt as ee, n as z, nt as B, o as V, ot as H, p as U, pt as te, q as ne, r as re, rt as ie, st as W, t as ae, tt as oe, ut as se, w as ce, wt as le, y as G, yt as ue, z as de } from "./find-cursor-DgyGlCIw.js";
2
- import { t as K } from "./mathjax-BRfWlbSJ.js";
3
- import { t as fe } from "./segments-BLmJVJRb.js";
4
- import { n as pe, r as me, t as q } from "./visible-index-C4c37k-n.js";
1
+ import { $ as e, At as t, B as n, Bt as r, C as i, Dt as a, E as o, Et as s, Ft as c, G as l, H as u, Ht as d, I as f, It as p, J as m, Jt as h, K as g, L as _, Lt as v, M as y, Mt as b, N as x, Nt as S, O as C, Ot as w, P as T, Pt as E, S as D, T as O, Tt as k, U as A, Ut as j, V as M, W as N, Xt as P, Yt as F, _ as ee, _t as I, b as L, bt as R, ct as z, d as B, f as V, gt as H, h as U, i as te, it as W, j as ne, jt as G, kt as re, l as ie, lt as ae, m as oe, n as se, nt as ce, o as le, p as ue, pt as K, q as de, qt as fe, r as q, t as pe, tt as me, v as he, w as J, wt as ge, x as _e, y as ve, z as ye, zt as be } from "./find-cursor-CABDFafh.js";
2
+ import { a as xe, i as Se, n as Ce, r as we, t as Te } from "./visible-index-YRawP6W8.js";
3
+ import { t as Ee } from "./mathjax-Dk_JzbFj.js";
4
+ import { t as De } from "./segments-2VsQNClV.js";
5
5
  //#region packages/core/src/sparkline/renderer.ts
6
- function he(e, t, n) {
6
+ function Oe(e, t, n) {
7
7
  let { values: r } = n;
8
8
  if (r.length === 0 || t.w <= 0 || t.h <= 0) return;
9
9
  let i = n.colorSeries ?? "#5B9BD5", a = Math.min(2, t.w * .08), o = Math.max(2, t.h * .2), s = t.x + a, c = t.y + o, l = Math.max(1, t.w - a * 2), u = Math.max(1, t.h - o * 2), d = r.filter((e) => typeof e == "number");
@@ -12,11 +12,11 @@ function he(e, t, n) {
12
12
  m === h && (h = m + 1, --m);
13
13
  let g = h - m, _ = (e) => c + u - (e - m) / g * u;
14
14
  if (n.kind === "stem") {
15
- ve(e, n, s, c, l, u);
15
+ je(e, n, s, c, l, u);
16
16
  return;
17
17
  }
18
18
  if (n.kind === "column") {
19
- _e(e, n, r, s, c, l, u, m, h);
19
+ Ae(e, n, r, s, c, l, u, m, h);
20
20
  return;
21
21
  }
22
22
  if (n.displayXAxis && m < 0 && h > 0) {
@@ -25,7 +25,7 @@ function he(e, t, n) {
25
25
  e.moveTo(s, t), e.lineTo(s + l, t), e.stroke(), e.restore();
26
26
  }
27
27
  let v = r.length, y = (e) => v === 1 ? s + l / 2 : s + e / (v - 1) * l;
28
- e.save(), e.strokeStyle = i, e.lineCap = "round", e.lineJoin = "round", e.lineWidth = (n.lineWeight ?? .75) * w, e.beginPath();
28
+ e.save(), e.strokeStyle = i, e.lineCap = "round", e.lineJoin = "round", e.lineWidth = (n.lineWeight ?? .75) * G, e.beginPath();
29
29
  let b = !1, x = n.displayEmptyCellsAs ?? "gap";
30
30
  for (let t = 0; t < v; t++) {
31
31
  let n = r[t];
@@ -40,7 +40,7 @@ function he(e, t, n) {
40
40
  b ? e.lineTo(i, a) : (e.moveTo(i, a), b = !0);
41
41
  }
42
42
  e.stroke(), e.restore();
43
- let S = Math.max(1, Math.min(2.5, u * .12)), C = ge(r, n);
43
+ let S = Math.max(1, Math.min(2.5, u * .12)), C = ke(r, n);
44
44
  for (let t = 0; t < v; t++) {
45
45
  let a = r[t];
46
46
  if (a == null) continue;
@@ -48,7 +48,7 @@ function he(e, t, n) {
48
48
  (n.markers || o != null) && (e.save(), e.fillStyle = o ?? n.colorMarkers ?? i, e.beginPath(), e.arc(y(t), _(a), S, 0, Math.PI * 2), e.fill(), e.restore());
49
49
  }
50
50
  }
51
- function ge(e, t) {
51
+ function ke(e, t) {
52
52
  let n = e.map(() => null), r = e.map((e) => typeof e == "number" ? e : null), i = r.findIndex((e) => e != null), a = -1;
53
53
  for (let e = r.length - 1; e >= 0; e--) if (r[e] != null) {
54
54
  a = e;
@@ -63,10 +63,10 @@ function ge(e, t) {
63
63
  if (t.low && t.colorLow && !Number.isNaN(c)) for (let e = 0; e < r.length; e++) r[e] === c && (n[e] = t.colorLow);
64
64
  return n;
65
65
  }
66
- function _e(e, t, n, r, i, a, o, s, c) {
66
+ function Ae(e, t, n, r, i, a, o, s, c) {
67
67
  let l = n.length;
68
68
  if (l === 0) return;
69
- let u = s < 0 && c > 0 ? 0 : s, d = c - s, f = (e) => i + o - (e - s) / d * o, p = f(u), m = a / l, h = Math.min(1.5, m * .15), g = ge(n, t);
69
+ let u = s < 0 && c > 0 ? 0 : s, d = c - s, f = (e) => i + o - (e - s) / d * o, p = f(u), m = a / l, h = Math.min(1.5, m * .15), g = ke(n, t);
70
70
  for (let i = 0; i < l; i++) {
71
71
  let a = n[i];
72
72
  if (a == null) continue;
@@ -74,10 +74,10 @@ function _e(e, t, n, r, i, a, o, s, c) {
74
74
  e.save(), e.fillStyle = o, e.fillRect(c, Math.min(p, s), l, Math.abs(p - s)), e.restore();
75
75
  }
76
76
  }
77
- function ve(e, t, n, r, i, a) {
77
+ function je(e, t, n, r, i, a) {
78
78
  let o = t.values.length;
79
79
  if (o === 0) return;
80
- let s = r + a / 2, c = a / 2, l = i / o, u = Math.min(1.5, l * .15), d = ge(t.values, t);
80
+ let s = r + a / 2, c = a / 2, l = i / o, u = Math.min(1.5, l * .15), d = ke(t.values, t);
81
81
  for (let r = 0; r < o; r++) {
82
82
  let i = t.values[r];
83
83
  if (i == null || i === 0) continue;
@@ -87,11 +87,11 @@ function ve(e, t, n, r, i, a) {
87
87
  }
88
88
  //#endregion
89
89
  //#region packages/xlsx/src/worker.ts?worker&inline
90
- var ye = "var e=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,n.unregister(this),e}free(){let e=this.__destroy_into_raw();y.__wbg_xlsxarchive_free(e,0)}extract_image(e){let t=f(e,y.__wbindgen_malloc,y.__wbindgen_realloc),n=v,r=y.xlsxarchive_extract_image(this.__wbg_ptr,t,n);if(r[3])throw p(r[2]);var a=i(r[0],r[1]).slice();return y.__wbindgen_free(r[0],r[1]*1,1),a}constructor(e,t){let r=d(e,y.__wbindgen_malloc),i=v,a=y.xlsxarchive_new(r,i,!u(t),u(t)?BigInt(0):t);if(a[2])throw p(a[1]);return this.__wbg_ptr=a[0]>>>0,n.register(this,this.__wbg_ptr,this),this}parse(){let e=y.xlsxarchive_parse(this.__wbg_ptr);if(e[3])throw p(e[2]);var t=i(e[0],e[1]).slice();return y.__wbindgen_free(e[0],e[1]*1,1),t}parse_sheet(e,t){let n=f(t,y.__wbindgen_malloc,y.__wbindgen_realloc),r=v,a=y.xlsxarchive_parse_sheet(this.__wbg_ptr,e,n,r);if(a[3])throw p(a[2]);var o=i(a[0],a[1]).slice();return y.__wbindgen_free(a[0],a[1]*1,1),o}to_markdown(){let e,t;try{let i=y.xlsxarchive_to_markdown(this.__wbg_ptr);var n=i[0],r=i[1];if(i[3])throw n=0,r=0,p(i[2]);return e=n,t=r,s(n,r)}finally{y.__wbindgen_free(e,t,1)}}};Symbol.dispose&&(e.prototype[Symbol.dispose]=e.prototype.free);function t(){return{__proto__:null,\"./xlsx_parser_bg.js\":{__proto__:null,__wbg___wbindgen_debug_string_ab4b34d23d6778bd:function(e,t){let n=f(r(t),y.__wbindgen_malloc,y.__wbindgen_realloc),i=v;o().setInt32(e+4,i,!0),o().setInt32(e+0,n,!0)},__wbg___wbindgen_string_get_7ed5322991caaec5:function(e,t){let n=t,r=typeof n==`string`?n:void 0;var i=u(r)?0:f(r,y.__wbindgen_malloc,y.__wbindgen_realloc),a=v;o().setInt32(e+4,a,!0),o().setInt32(e+0,i,!0)},__wbg___wbindgen_throw_6b64449b9b9ed33c:function(e,t){throw Error(s(e,t))},__wbg_error_a6fa202b58aa1cd3:function(e,t){let n,r;try{n=e,r=t,console.error(s(e,t))}finally{y.__wbindgen_free(n,r,1)}},__wbg_new_227d7c05414eb861:function(){return Error()},__wbg_stack_3b0d974bbf31e44f:function(e,t){let n=t.stack,r=f(n,y.__wbindgen_malloc,y.__wbindgen_realloc),i=v;o().setInt32(e+4,i,!0),o().setInt32(e+0,r,!0)},__wbindgen_cast_0000000000000001:function(e,t){return s(e,t)},__wbindgen_init_externref_table:function(){let e=y.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}}}}const n=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>y.__wbg_xlsxarchive_free(e>>>0,1));function r(e){let t=typeof e;if(t==`number`||t==`boolean`||e==null)return`${e}`;if(t==`string`)return`\"${e}\"`;if(t==`symbol`){let t=e.description;return t==null?`Symbol`:`Symbol(${t})`}if(t==`function`){let t=e.name;return typeof t==`string`&&t.length>0?`Function(${t})`:`Function`}if(Array.isArray(e)){let t=e.length,n=`[`;t>0&&(n+=r(e[0]));for(let i=1;i<t;i++)n+=`, `+r(e[i]);return n+=`]`,n}let n=/\\[object ([^\\]]+)\\]/.exec(toString.call(e)),i;if(n&&n.length>1)i=n[1];else return toString.call(e);if(i==`Object`)try{return`Object(`+JSON.stringify(e)+`)`}catch{return`Object`}return e instanceof Error?`${e.name}: ${e.message}\\n${e.stack}`:i}function i(e,t){return e>>>=0,l().subarray(e/1,e/1+t)}let a=null;function o(){return(a===null||a.buffer.detached===!0||a.buffer.detached===void 0&&a.buffer!==y.memory.buffer)&&(a=new DataView(y.memory.buffer)),a}function s(e,t){return e>>>=0,g(e,t)}let c=null;function l(){return(c===null||c.byteLength===0)&&(c=new Uint8Array(y.memory.buffer)),c}function u(e){return e==null}function d(e,t){let n=t(e.length*1,1)>>>0;return l().set(e,n/1),v=e.length,n}function f(e,t,n){if(n===void 0){let n=_.encode(e),r=t(n.length,1)>>>0;return l().subarray(r,r+n.length).set(n),v=n.length,r}let r=e.length,i=t(r,1)>>>0,a=l(),o=0;for(;o<r;o++){let t=e.charCodeAt(o);if(t>127)break;a[i+o]=t}if(o!==r){o!==0&&(e=e.slice(o)),i=n(i,r,r=o+e.length*3,1)>>>0;let t=l().subarray(i+o,i+r),a=_.encodeInto(e,t);o+=a.written,i=n(i,r,o,1)>>>0}return v=o,i}function p(e){let t=y.__wbindgen_externrefs.get(e);return y.__externref_table_dealloc(e),t}let m=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0});m.decode();let h=0;function g(e,t){return h+=t,h>=2146435072&&(m=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0}),m.decode(),h=t),m.decode(l().subarray(e,e+t))}const _=new TextEncoder;`encodeInto`in _||(_.encodeInto=function(e,t){let n=_.encode(e);return t.set(n),{read:e.length,written:n.length}});let v=0,y;function b(e,t){return y=e.exports,a=null,c=null,y.__wbindgen_start(),y}async function x(e,t){if(typeof Response==`function`&&e instanceof Response){if(typeof WebAssembly.instantiateStreaming==`function`)try{return await WebAssembly.instantiateStreaming(e,t)}catch(t){if(e.ok&&n(e.type)&&e.headers.get(`Content-Type`)!==`application/wasm`)console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\",t);else throw t}let r=await e.arrayBuffer();return await WebAssembly.instantiate(r,t)}else{let n=await WebAssembly.instantiate(e,t);return n instanceof WebAssembly.Instance?{instance:n,module:e}:n}function n(e){switch(e){case`basic`:case`cors`:case`default`:return!0}return!1}}async function S(e){if(y!==void 0)return y;e!==void 0&&(Object.getPrototypeOf(e)===Object.prototype?{module_or_path:e}=e:console.warn(`using deprecated parameters for the initialization function; pass a single object instead`));let n=t();(typeof e==`string`||typeof Request==`function`&&e instanceof Request||typeof URL==`function`&&e instanceof URL)&&(e=fetch(e));let{instance:r,module:i}=await x(await e,n);return b(r,i)}async function C(e){return y=void 0,a=null,c=null,S(e)}function w(e){if(!e.startsWith(`data:`))return null;let t=e.indexOf(`,`);if(t===-1)return null;let n=atob(e.slice(t+1)),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r.buffer}var T=class e extends Error{code=`parser-crashed`;constructor(t){super(t),this.name=`WasmTrapError`,Object.setPrototypeOf(this,e.prototype)}};function E(e){let t=globalThis.WebAssembly?.RuntimeError;if(t&&e instanceof t||e instanceof RangeError)return!0;if(e instanceof Error){let t=e.name;if(t===`RuntimeError`||t===`CompileError`||t===`LinkError`)return!0}return!1}const D=new class{_init;_opts;_wasmInput=null;_initPromise=null;_poisoned=!1;_archive=null;constructor(e,t={}){this._init=e,this._opts=t}setWasmUrl(e){this._wasmInput=e,this._poisoned=!1,this._initPromise=this._init(e)}get archive(){return this._archive}setArchive(e){this._freeArchive(),this._archive=e}disposeArchive(){this._freeArchive()}_freeArchive(){this._archive!=null&&this._opts.freeArchive&&this._opts.freeArchive(this._archive),this._archive=null}get poisoned(){return this._poisoned}async ensureReady(){if(this._poisoned){if(this._wasmInput===null)throw Error(`WasmParserHost: setWasmUrl was never called`);let e=(this._opts.reinit??this._init)(this._wasmInput);this._initPromise=e,await e,this._poisoned=!1;return}if(this._initPromise===null)throw Error(`WasmParserHost: setWasmUrl was never called`);await this._initPromise}run(e){try{return e()}catch(e){throw E(e)?(this._poison(),new T(`WASM parser trapped and was recycled: ${e instanceof Error?e.message:String(e)}`)):e}}poison(){this._poison()}_poison(){if(this._poisoned=!0,this._initPromise=null,this._archive!=null&&this._opts.freeArchive)try{this._opts.freeArchive(this._archive)}catch{}this._archive=null}}(S,{freeArchive:e=>e.free(),reinit:C});self.onmessage=async t=>{let n=t.data;if(n.type===`init`){D.setWasmUrl(w(n.wasmUrl)??n.wasmUrl);return}let r=n.id;try{if(await D.ensureReady(),n.type===`parse`){let t=typeof n.maxZipEntryBytes==`number`&&n.maxZipEntryBytes>0?BigInt(n.maxZipEntryBytes):void 0,i=new Uint8Array(n.data),a=D.run(()=>{let n=new e(i,t);return D.setArchive(n),n.parse()}).buffer,o={type:`parsed`,id:r,workbookJson:a};self.postMessage(o,[a]);return}let t=D.archive;if(n.type===`parseSheet`){if(!t)throw Error(`parseSheet before parse: no archive retained`);let e=D.run(()=>t.parse_sheet(n.sheetIndex,n.sheetName)).buffer,i={type:`parsedSheet`,id:r,worksheetJson:e};self.postMessage(i,[e]);return}if(n.type===`extractImage`){if(!t)throw Error(`No xlsx loaded`);let e=D.run(()=>t.extract_image(n.path).buffer),i={type:`imageExtracted`,id:r,bytes:e};self.postMessage(i,[e]);return}if(n.type===`toMarkdown`){if(!t)throw Error(`No xlsx loaded`);let e={type:`markdownRendered`,id:r,markdown:D.run(()=>t.to_markdown())};self.postMessage(e);return}}catch(e){let t={type:`error`,id:r,message:String(e)};self.postMessage(t)}};", be = typeof self < "u" && self.Blob && new Blob(["URL.revokeObjectURL(import.meta.url);", ye], { type: "text/javascript;charset=utf-8" });
91
- function xe(e) {
90
+ var Me = "var e=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,n.unregister(this),e}free(){let e=this.__destroy_into_raw();y.__wbg_xlsxarchive_free(e,0)}extract_image(e){let t=f(e,y.__wbindgen_malloc,y.__wbindgen_realloc),n=v,r=y.xlsxarchive_extract_image(this.__wbg_ptr,t,n);if(r[3])throw p(r[2]);var a=i(r[0],r[1]).slice();return y.__wbindgen_free(r[0],r[1]*1,1),a}constructor(e,t){let r=d(e,y.__wbindgen_malloc),i=v,a=y.xlsxarchive_new(r,i,!u(t),u(t)?BigInt(0):t);if(a[2])throw p(a[1]);return this.__wbg_ptr=a[0]>>>0,n.register(this,this.__wbg_ptr,this),this}parse(){let e=y.xlsxarchive_parse(this.__wbg_ptr);if(e[3])throw p(e[2]);var t=i(e[0],e[1]).slice();return y.__wbindgen_free(e[0],e[1]*1,1),t}parse_sheet(e,t){let n=f(t,y.__wbindgen_malloc,y.__wbindgen_realloc),r=v,a=y.xlsxarchive_parse_sheet(this.__wbg_ptr,e,n,r);if(a[3])throw p(a[2]);var o=i(a[0],a[1]).slice();return y.__wbindgen_free(a[0],a[1]*1,1),o}to_markdown(){let e,t;try{let i=y.xlsxarchive_to_markdown(this.__wbg_ptr);var n=i[0],r=i[1];if(i[3])throw n=0,r=0,p(i[2]);return e=n,t=r,s(n,r)}finally{y.__wbindgen_free(e,t,1)}}};Symbol.dispose&&(e.prototype[Symbol.dispose]=e.prototype.free);function t(){return{__proto__:null,\"./xlsx_parser_bg.js\":{__proto__:null,__wbg___wbindgen_debug_string_ab4b34d23d6778bd:function(e,t){let n=f(r(t),y.__wbindgen_malloc,y.__wbindgen_realloc),i=v;o().setInt32(e+4,i,!0),o().setInt32(e+0,n,!0)},__wbg___wbindgen_string_get_7ed5322991caaec5:function(e,t){let n=t,r=typeof n==`string`?n:void 0;var i=u(r)?0:f(r,y.__wbindgen_malloc,y.__wbindgen_realloc),a=v;o().setInt32(e+4,a,!0),o().setInt32(e+0,i,!0)},__wbg___wbindgen_throw_6b64449b9b9ed33c:function(e,t){throw Error(s(e,t))},__wbg_error_a6fa202b58aa1cd3:function(e,t){let n,r;try{n=e,r=t,console.error(s(e,t))}finally{y.__wbindgen_free(n,r,1)}},__wbg_new_227d7c05414eb861:function(){return Error()},__wbg_stack_3b0d974bbf31e44f:function(e,t){let n=t.stack,r=f(n,y.__wbindgen_malloc,y.__wbindgen_realloc),i=v;o().setInt32(e+4,i,!0),o().setInt32(e+0,r,!0)},__wbindgen_cast_0000000000000001:function(e,t){return s(e,t)},__wbindgen_init_externref_table:function(){let e=y.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}}}}const n=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>y.__wbg_xlsxarchive_free(e>>>0,1));function r(e){let t=typeof e;if(t==`number`||t==`boolean`||e==null)return`${e}`;if(t==`string`)return`\"${e}\"`;if(t==`symbol`){let t=e.description;return t==null?`Symbol`:`Symbol(${t})`}if(t==`function`){let t=e.name;return typeof t==`string`&&t.length>0?`Function(${t})`:`Function`}if(Array.isArray(e)){let t=e.length,n=`[`;t>0&&(n+=r(e[0]));for(let i=1;i<t;i++)n+=`, `+r(e[i]);return n+=`]`,n}let n=/\\[object ([^\\]]+)\\]/.exec(toString.call(e)),i;if(n&&n.length>1)i=n[1];else return toString.call(e);if(i==`Object`)try{return`Object(`+JSON.stringify(e)+`)`}catch{return`Object`}return e instanceof Error?`${e.name}: ${e.message}\\n${e.stack}`:i}function i(e,t){return e>>>=0,l().subarray(e/1,e/1+t)}let a=null;function o(){return(a===null||a.buffer.detached===!0||a.buffer.detached===void 0&&a.buffer!==y.memory.buffer)&&(a=new DataView(y.memory.buffer)),a}function s(e,t){return e>>>=0,g(e,t)}let c=null;function l(){return(c===null||c.byteLength===0)&&(c=new Uint8Array(y.memory.buffer)),c}function u(e){return e==null}function d(e,t){let n=t(e.length*1,1)>>>0;return l().set(e,n/1),v=e.length,n}function f(e,t,n){if(n===void 0){let n=_.encode(e),r=t(n.length,1)>>>0;return l().subarray(r,r+n.length).set(n),v=n.length,r}let r=e.length,i=t(r,1)>>>0,a=l(),o=0;for(;o<r;o++){let t=e.charCodeAt(o);if(t>127)break;a[i+o]=t}if(o!==r){o!==0&&(e=e.slice(o)),i=n(i,r,r=o+e.length*3,1)>>>0;let t=l().subarray(i+o,i+r),a=_.encodeInto(e,t);o+=a.written,i=n(i,r,o,1)>>>0}return v=o,i}function p(e){let t=y.__wbindgen_externrefs.get(e);return y.__externref_table_dealloc(e),t}let m=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0});m.decode();let h=0;function g(e,t){return h+=t,h>=2146435072&&(m=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0}),m.decode(),h=t),m.decode(l().subarray(e,e+t))}const _=new TextEncoder;`encodeInto`in _||(_.encodeInto=function(e,t){let n=_.encode(e);return t.set(n),{read:e.length,written:n.length}});let v=0,y;function b(e,t){return y=e.exports,a=null,c=null,y.__wbindgen_start(),y}async function x(e,t){if(typeof Response==`function`&&e instanceof Response){if(typeof WebAssembly.instantiateStreaming==`function`)try{return await WebAssembly.instantiateStreaming(e,t)}catch(t){if(e.ok&&n(e.type)&&e.headers.get(`Content-Type`)!==`application/wasm`)console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\",t);else throw t}let r=await e.arrayBuffer();return await WebAssembly.instantiate(r,t)}else{let n=await WebAssembly.instantiate(e,t);return n instanceof WebAssembly.Instance?{instance:n,module:e}:n}function n(e){switch(e){case`basic`:case`cors`:case`default`:return!0}return!1}}async function S(e){if(y!==void 0)return y;e!==void 0&&(Object.getPrototypeOf(e)===Object.prototype?{module_or_path:e}=e:console.warn(`using deprecated parameters for the initialization function; pass a single object instead`));let n=t();(typeof e==`string`||typeof Request==`function`&&e instanceof Request||typeof URL==`function`&&e instanceof URL)&&(e=fetch(e));let{instance:r,module:i}=await x(await e,n);return b(r,i)}async function C(e){return y=void 0,a=null,c=null,S(e)}function w(e){if(!e.startsWith(`data:`))return null;let t=e.indexOf(`,`);if(t===-1)return null;let n=atob(e.slice(t+1)),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r.buffer}var T=class e extends Error{code=`parser-crashed`;constructor(t){super(t),this.name=`WasmTrapError`,Object.setPrototypeOf(this,e.prototype)}};function E(e){let t=globalThis.WebAssembly?.RuntimeError;if(t&&e instanceof t||e instanceof RangeError)return!0;if(e instanceof Error){let t=e.name;if(t===`RuntimeError`||t===`CompileError`||t===`LinkError`)return!0}return!1}const D=new class{_init;_opts;_wasmInput=null;_initPromise=null;_poisoned=!1;_archive=null;constructor(e,t={}){this._init=e,this._opts=t}setWasmUrl(e){this._wasmInput=e,this._poisoned=!1,this._initPromise=this._init(e)}get archive(){return this._archive}setArchive(e){this._freeArchive(),this._archive=e}disposeArchive(){this._freeArchive()}_freeArchive(){this._archive!=null&&this._opts.freeArchive&&this._opts.freeArchive(this._archive),this._archive=null}get poisoned(){return this._poisoned}async ensureReady(){if(this._poisoned){if(this._wasmInput===null)throw Error(`WasmParserHost: setWasmUrl was never called`);let e=(this._opts.reinit??this._init)(this._wasmInput);this._initPromise=e,await e,this._poisoned=!1;return}if(this._initPromise===null)throw Error(`WasmParserHost: setWasmUrl was never called`);await this._initPromise}run(e){try{return e()}catch(e){throw E(e)?(this._poison(),new T(`WASM parser trapped and was recycled: ${e instanceof Error?e.message:String(e)}`)):e}}poison(){this._poison()}_poison(){if(this._poisoned=!0,this._initPromise=null,this._archive!=null&&this._opts.freeArchive)try{this._opts.freeArchive(this._archive)}catch{}this._archive=null}}(S,{freeArchive:e=>e.free(),reinit:C});self.onmessage=async t=>{let n=t.data;if(n.type===`init`){D.setWasmUrl(w(n.wasmUrl)??n.wasmUrl);return}let r=n.id;try{if(await D.ensureReady(),n.type===`parse`){let t=typeof n.maxZipEntryBytes==`number`&&n.maxZipEntryBytes>0?BigInt(n.maxZipEntryBytes):void 0,i=new Uint8Array(n.data),a=D.run(()=>{let n=new e(i,t);return D.setArchive(n),n.parse()}).buffer,o={type:`parsed`,id:r,workbookJson:a};self.postMessage(o,[a]);return}let t=D.archive;if(n.type===`parseSheet`){if(!t)throw Error(`parseSheet before parse: no archive retained`);let e=D.run(()=>t.parse_sheet(n.sheetIndex,n.sheetName)).buffer,i={type:`parsedSheet`,id:r,worksheetJson:e};self.postMessage(i,[e]);return}if(n.type===`extractImage`){if(!t)throw Error(`No xlsx loaded`);let e=D.run(()=>t.extract_image(n.path).buffer),i={type:`imageExtracted`,id:r,bytes:e};self.postMessage(i,[e]);return}if(n.type===`toMarkdown`){if(!t)throw Error(`No xlsx loaded`);let e={type:`markdownRendered`,id:r,markdown:D.run(()=>t.to_markdown())};self.postMessage(e);return}}catch(e){let t={type:`error`,id:r,message:String(e)};self.postMessage(t)}};", Ne = typeof self < "u" && self.Blob && new Blob(["URL.revokeObjectURL(import.meta.url);", Me], { type: "text/javascript;charset=utf-8" });
91
+ function Pe(e) {
92
92
  let t;
93
93
  try {
94
- if (t = be && (self.URL || self.webkitURL).createObjectURL(be), !t) throw "";
94
+ if (t = Ne && (self.URL || self.webkitURL).createObjectURL(Ne), !t) throw "";
95
95
  let n = new Worker(t, {
96
96
  type: "module",
97
97
  name: e?.name
@@ -100,7 +100,7 @@ function xe(e) {
100
100
  (self.URL || self.webkitURL).revokeObjectURL(t);
101
101
  }), n;
102
102
  } catch {
103
- return new Worker("data:text/javascript;charset=utf-8," + encodeURIComponent(ye), {
103
+ return new Worker("data:text/javascript;charset=utf-8," + encodeURIComponent(Me), {
104
104
  type: "module",
105
105
  name: e?.name
106
106
  });
@@ -108,19 +108,19 @@ function xe(e) {
108
108
  }
109
109
  //#endregion
110
110
  //#region packages/xlsx/src/wasm/xlsx_parser_bg.wasm?url
111
- var Se = new URL("xlsx_parser_bg.wasm", import.meta.url).href;
111
+ var Fe = new URL("xlsx_parser_bg.wasm", import.meta.url).href;
112
112
  //#endregion
113
113
  //#region packages/xlsx/src/sheet-visibility.ts
114
- function Ce(e, t) {
114
+ function Ie(e, t) {
115
115
  return !Number.isInteger(t) || t < 0 || t >= e.length ? "visible" : e[t].visibility ?? "visible";
116
116
  }
117
117
  //#endregion
118
118
  //#region packages/xlsx/src/phonetic.ts
119
- function we(e) {
119
+ function Le(e) {
120
120
  return Array.from(e);
121
121
  }
122
- function Te(e, t, n, r, i) {
123
- let a = we(t), o = a.length, s = [];
122
+ function Re(e, t, n, r, i) {
123
+ let a = Le(t), o = a.length, s = [];
124
124
  for (let t of e) {
125
125
  let e = t.sb, c = t.eb;
126
126
  if (!(e < c) || e >= o) continue;
@@ -136,37 +136,37 @@ function Te(e, t, n, r, i) {
136
136
  }
137
137
  //#endregion
138
138
  //#region packages/xlsx/src/formula.ts
139
- function J(e) {
139
+ function Y(e) {
140
140
  return Array.isArray(e) ? e : [e];
141
141
  }
142
- function Ee(e) {
142
+ function ze(e) {
143
143
  return Array.isArray(e) ? e[0] ?? 0 : e;
144
144
  }
145
- var De = 8;
146
- function Oe(e, t) {
145
+ var Be = 8;
146
+ function Ve(e, t) {
147
147
  try {
148
- return ke(Fe(e, t));
148
+ return He(Ye(e, t));
149
149
  } catch {
150
150
  return !1;
151
151
  }
152
152
  }
153
- function ke(e) {
154
- let t = Ee(e);
153
+ function He(e) {
154
+ let t = ze(e);
155
155
  return typeof t == "boolean" ? t : typeof t == "number" ? t !== 0 : typeof t == "string" ? t.length > 0 && t.toUpperCase() !== "FALSE" : !1;
156
156
  }
157
- function Y(e) {
158
- let t = Ee(e);
157
+ function X(e) {
158
+ let t = ze(e);
159
159
  if (typeof t == "number") return t;
160
160
  if (typeof t == "boolean") return +!!t;
161
161
  if (t == null) return 0;
162
162
  let n = parseFloat(String(t));
163
163
  return isNaN(n) ? 0 : n;
164
164
  }
165
- function X(e) {
166
- let t = Ee(e);
165
+ function Ue(e) {
166
+ let t = ze(e);
167
167
  return t == null ? "" : typeof t == "boolean" ? t ? "TRUE" : "FALSE" : String(t);
168
168
  }
169
- var Ae = new Set([
169
+ var We = new Set([
170
170
  "<",
171
171
  ">",
172
172
  "=",
@@ -178,7 +178,7 @@ var Ae = new Set([
178
178
  "^",
179
179
  "%"
180
180
  ]);
181
- function je(e) {
181
+ function Ge(e) {
182
182
  let t = [], n = 0, r = e;
183
183
  for (; n < r.length;) {
184
184
  let e = r[n];
@@ -239,7 +239,7 @@ function je(e) {
239
239
  }), n = e;
240
240
  continue;
241
241
  }
242
- if (Ae.has(e)) {
242
+ if (We.has(e)) {
243
243
  (e === "<" || e === ">") && (r[n + 1] === "=" || e === "<" && r[n + 1] === ">") ? (t.push({
244
244
  kind: "op",
245
245
  text: r.slice(n, n + 2)
@@ -249,12 +249,12 @@ function je(e) {
249
249
  }), n++);
250
250
  continue;
251
251
  }
252
- if (e === "$" || Me(e)) {
252
+ if (e === "$" || Ke(e)) {
253
253
  let e = n;
254
- for (; e < r.length && (r[e] === "$" || Ne(r[e]));) e++;
254
+ for (; e < r.length && (r[e] === "$" || qe(r[e]));) e++;
255
255
  let i = r.slice(n, e);
256
256
  n = e;
257
- let a = Pe(i);
257
+ let a = Je(i);
258
258
  if (a) t.push({
259
259
  kind: "ref",
260
260
  text: i,
@@ -276,13 +276,13 @@ function je(e) {
276
276
  }
277
277
  return t;
278
278
  }
279
- function Me(e) {
279
+ function Ke(e) {
280
280
  return e >= "A" && e <= "Z" || e >= "a" && e <= "z" || e === "_";
281
281
  }
282
- function Ne(e) {
283
- return Me(e) || e >= "0" && e <= "9" || e === ".";
282
+ function qe(e) {
283
+ return Ke(e) || e >= "0" && e <= "9" || e === ".";
284
284
  }
285
- function Pe(e) {
285
+ function Je(e) {
286
286
  let t = 0, n = !1, r = !1;
287
287
  e[t] === "$" && (n = !0, t++);
288
288
  let i = t;
@@ -302,43 +302,43 @@ function Pe(e) {
302
302
  row: s
303
303
  };
304
304
  }
305
- function Fe(e, t) {
306
- return Re({
307
- toks: je(e),
305
+ function Ye(e, t) {
306
+ return Qe({
307
+ toks: Ge(e),
308
308
  pos: 0
309
309
  }, t);
310
310
  }
311
- function Ie(e) {
311
+ function Xe(e) {
312
312
  return e.toks[e.pos];
313
313
  }
314
- function Le(e) {
314
+ function Ze(e) {
315
315
  return e.toks[e.pos++];
316
316
  }
317
- function Re(e, t) {
318
- return ze(e, t);
317
+ function Qe(e, t) {
318
+ return $e(e, t);
319
319
  }
320
- function ze(e, t) {
321
- let n = Be(e, t), r = Ie(e);
320
+ function $e(e, t) {
321
+ let n = et(e, t), r = Xe(e);
322
322
  if (r && r.kind === "op" && (r.text === "<" || r.text === ">" || r.text === "<=" || r.text === ">=" || r.text === "=" || r.text === "<>")) {
323
- Le(e);
324
- let i = Be(e, t);
325
- return Ve(r.text, n, i);
323
+ Ze(e);
324
+ let i = et(e, t);
325
+ return tt(r.text, n, i);
326
326
  }
327
327
  return n;
328
328
  }
329
- function Be(e, t) {
330
- let n = He(e, t);
329
+ function et(e, t) {
330
+ let n = nt(e, t);
331
331
  for (;;) {
332
- let r = Ie(e);
332
+ let r = Xe(e);
333
333
  if (!r || r.kind !== "op" || r.text !== "&") break;
334
- Le(e);
335
- let i = He(e, t);
336
- n = X(n) + X(i);
334
+ Ze(e);
335
+ let i = nt(e, t);
336
+ n = Ue(n) + Ue(i);
337
337
  }
338
338
  return n;
339
339
  }
340
- function Ve(e, t, n) {
341
- let r = typeof t == "string" && isNaN(parseFloat(t)) ? null : Y(t), i = typeof n == "string" && isNaN(parseFloat(n)) ? null : Y(n);
340
+ function tt(e, t, n) {
341
+ let r = typeof t == "string" && isNaN(parseFloat(t)) ? null : X(t), i = typeof n == "string" && isNaN(parseFloat(n)) ? null : X(n);
342
342
  if (r !== null && i !== null) switch (e) {
343
343
  case "<": return r < i;
344
344
  case ">": return r > i;
@@ -358,67 +358,67 @@ function Ve(e, t, n) {
358
358
  }
359
359
  return !1;
360
360
  }
361
- function He(e, t) {
362
- let n = Ue(e, t);
361
+ function nt(e, t) {
362
+ let n = rt(e, t);
363
363
  for (;;) {
364
- let r = Ie(e);
364
+ let r = Xe(e);
365
365
  if (!r || r.kind !== "op" || r.text !== "+" && r.text !== "-") break;
366
- Le(e);
367
- let i = Ue(e, t);
368
- n = r.text === "+" ? Y(n) + Y(i) : Y(n) - Y(i);
366
+ Ze(e);
367
+ let i = rt(e, t);
368
+ n = r.text === "+" ? X(n) + X(i) : X(n) - X(i);
369
369
  }
370
370
  return n;
371
371
  }
372
- function Ue(e, t) {
373
- let n = We(e, t);
372
+ function rt(e, t) {
373
+ let n = it(e, t);
374
374
  for (;;) {
375
- let r = Ie(e);
375
+ let r = Xe(e);
376
376
  if (!r || r.kind !== "op" || r.text !== "*" && r.text !== "/") break;
377
- Le(e);
378
- let i = We(e, t);
379
- if (r.text === "*") n = Y(n) * Y(i);
377
+ Ze(e);
378
+ let i = it(e, t);
379
+ if (r.text === "*") n = X(n) * X(i);
380
380
  else {
381
- let e = Y(i);
382
- n = e === 0 ? 0 : Y(n) / e;
381
+ let e = X(i);
382
+ n = e === 0 ? 0 : X(n) / e;
383
383
  }
384
384
  }
385
385
  return n;
386
386
  }
387
- function We(e, t) {
388
- let n = Ie(e);
389
- return n && n.kind === "op" && n.text === "-" ? (Le(e), -Y(We(e, t))) : n && n.kind === "op" && n.text === "+" ? (Le(e), Y(We(e, t))) : Ge(e, t);
387
+ function it(e, t) {
388
+ let n = Xe(e);
389
+ return n && n.kind === "op" && n.text === "-" ? (Ze(e), -X(it(e, t))) : n && n.kind === "op" && n.text === "+" ? (Ze(e), X(it(e, t))) : at(e, t);
390
390
  }
391
- function Ge(e, t) {
392
- let n = Le(e);
391
+ function at(e, t) {
392
+ let n = Ze(e);
393
393
  if (!n) return 0;
394
394
  if (n.kind === "num") return parseFloat(n.text);
395
395
  if (n.kind === "str") return n.text;
396
396
  if (n.kind === "bool") return n.text === "TRUE";
397
397
  if (n.kind === "lparen") {
398
- let n = Re(e, t), r = Le(e);
398
+ let n = Qe(e, t), r = Ze(e);
399
399
  if (!r || r.kind !== "rparen") throw Error("missing )");
400
400
  return n;
401
401
  }
402
402
  if (n.kind === "ref") {
403
- if (Ie(e)?.kind === "colon") {
404
- Le(e);
405
- let r = Le(e);
403
+ if (Xe(e)?.kind === "colon") {
404
+ Ze(e);
405
+ let r = Ze(e);
406
406
  if (r?.kind !== "ref" || !r.ref) throw Error("range: expected ref after :");
407
- return Je(n.ref, r.ref, t);
407
+ return ct(n.ref, r.ref, t);
408
408
  }
409
- return qe(n.ref, t);
409
+ return st(n.ref, t);
410
410
  }
411
411
  if (n.kind === "name") {
412
- if (Ie(e)?.kind === "lparen") {
413
- Le(e);
412
+ if (Xe(e)?.kind === "lparen") {
413
+ Ze(e);
414
414
  let r = [];
415
- if (Ie(e)?.kind !== "rparen") for (r.push(Re(e, t)); Ie(e)?.kind === "comma";) Le(e), r.push(Re(e, t));
416
- let i = Le(e);
415
+ if (Xe(e)?.kind !== "rparen") for (r.push(Qe(e, t)); Xe(e)?.kind === "comma";) Ze(e), r.push(Qe(e, t));
416
+ let i = Ze(e);
417
417
  if (!i || i.kind !== "rparen") throw Error("missing )");
418
- return Xe(n.text, r, t);
418
+ return ut(n.text, r, t);
419
419
  }
420
420
  let r = t.definedNames.get(n.text);
421
- return r && t.depth < De ? Fe(Ke(r.formula), {
421
+ return r && t.depth < Be ? Ye(ot(r.formula), {
422
422
  ...t,
423
423
  anchorRow: 1,
424
424
  anchorCol: 1,
@@ -427,20 +427,20 @@ function Ge(e, t) {
427
427
  }
428
428
  return 0;
429
429
  }
430
- function Ke(e) {
430
+ function ot(e) {
431
431
  let t = e.match(/^(?:'[^']*'|[A-Za-z_][A-Za-z0-9_.]*)!(.*)$/);
432
432
  return t ? t[1] : e;
433
433
  }
434
- function qe(e, t) {
434
+ function st(e, t) {
435
435
  let n = e.colAbs ? e.col : e.col + (t.col - t.anchorCol), r = e.rowAbs ? e.row : e.row + (t.row - t.anchorRow);
436
- return Ye(t.cellIndex.get(`${r}:${n}`));
436
+ return lt(t.cellIndex.get(`${r}:${n}`));
437
437
  }
438
- function Je(e, t, n) {
438
+ function ct(e, t, n) {
439
439
  let r = e.colAbs ? e.col : e.col + (n.col - n.anchorCol), i = e.rowAbs ? e.row : e.row + (n.row - n.anchorRow), a = t.colAbs ? t.col : t.col + (n.col - n.anchorCol), o = t.rowAbs ? t.row : t.row + (n.row - n.anchorRow), s = Math.min(r, a), c = Math.max(r, a), l = Math.min(i, o), u = Math.max(i, o), d = [], f = 4096;
440
- for (let e = l; e <= u && d.length < f; e++) for (let t = s; t <= c && d.length < f; t++) d.push(Ye(n.cellIndex.get(`${e}:${t}`)));
440
+ for (let e = l; e <= u && d.length < f; e++) for (let t = s; t <= c && d.length < f; t++) d.push(lt(n.cellIndex.get(`${e}:${t}`)));
441
441
  return d;
442
442
  }
443
- function Ye(e) {
443
+ function lt(e) {
444
444
  if (!e) return null;
445
445
  switch (e.value.type) {
446
446
  case "number": return e.value.number;
@@ -450,162 +450,162 @@ function Ye(e) {
450
450
  default: return null;
451
451
  }
452
452
  }
453
- function Xe(e, t, n) {
453
+ function ut(e, t, n) {
454
454
  switch (e.toUpperCase()) {
455
- case "AND": return t.flatMap(J).every((e) => ke(e));
456
- case "OR": return t.flatMap(J).some((e) => ke(e));
457
- case "NOT": return !ke(t[0]);
458
- case "IF": return ke(t[0]) ? t[1] ?? !0 : t[2] ?? !1;
455
+ case "AND": return t.flatMap(Y).every((e) => He(e));
456
+ case "OR": return t.flatMap(Y).some((e) => He(e));
457
+ case "NOT": return !He(t[0]);
458
+ case "IF": return He(t[0]) ? t[1] ?? !0 : t[2] ?? !1;
459
459
  case "IFERROR": return t[0] == null ? t[1] ?? 0 : t[0];
460
460
  case "IFS":
461
- for (let e = 0; e + 1 < t.length; e += 2) if (ke(t[e])) return t[e + 1];
461
+ for (let e = 0; e + 1 < t.length; e += 2) if (He(t[e])) return t[e + 1];
462
462
  return null;
463
463
  case "TRUE": return !0;
464
464
  case "FALSE": return !1;
465
465
  case "ISBLANK": {
466
- let e = Ee(t[0]);
466
+ let e = ze(t[0]);
467
467
  return e == null || e === "";
468
468
  }
469
- case "ISNUMBER": return typeof Ee(t[0]) == "number";
470
- case "ISTEXT": return typeof Ee(t[0]) == "string";
471
- case "ISNONTEXT": return typeof Ee(t[0]) != "string";
469
+ case "ISNUMBER": return typeof ze(t[0]) == "number";
470
+ case "ISTEXT": return typeof ze(t[0]) == "string";
471
+ case "ISNONTEXT": return typeof ze(t[0]) != "string";
472
472
  case "ISERROR":
473
473
  case "ISERR":
474
- case "ISNA": return Ee(t[0]) == null;
475
- case "ISLOGICAL": return typeof Ee(t[0]) == "boolean";
474
+ case "ISNA": return ze(t[0]) == null;
475
+ case "ISLOGICAL": return typeof ze(t[0]) == "boolean";
476
476
  case "ROUNDDOWN": {
477
- let e = Y(t[0]), n = 10 ** Y(t[1]);
477
+ let e = X(t[0]), n = 10 ** X(t[1]);
478
478
  return (e >= 0 ? Math.floor(e * n) : Math.ceil(e * n)) / n;
479
479
  }
480
480
  case "ROUNDUP": {
481
- let e = Y(t[0]), n = 10 ** Y(t[1]);
481
+ let e = X(t[0]), n = 10 ** X(t[1]);
482
482
  return (e >= 0 ? Math.ceil(e * n) : Math.floor(e * n)) / n;
483
483
  }
484
484
  case "ROUND": {
485
- let e = Y(t[0]), n = 10 ** Y(t[1]);
485
+ let e = X(t[0]), n = 10 ** X(t[1]);
486
486
  return Math.round(e * n) / n;
487
487
  }
488
- case "INT": return Math.floor(Y(t[0]));
488
+ case "INT": return Math.floor(X(t[0]));
489
489
  case "TRUNC": {
490
- let e = Y(t[0]), n = 10 ** Y(t[1] ?? 0);
490
+ let e = X(t[0]), n = 10 ** X(t[1] ?? 0);
491
491
  return (e >= 0 ? Math.floor(e * n) : Math.ceil(e * n)) / n;
492
492
  }
493
493
  case "CEILING": {
494
- let e = Y(t[0]), n = Y(t[1] ?? 1);
494
+ let e = X(t[0]), n = X(t[1] ?? 1);
495
495
  return n === 0 ? 0 : Math.ceil(e / n) * n;
496
496
  }
497
497
  case "FLOOR": {
498
- let e = Y(t[0]), n = Y(t[1] ?? 1);
498
+ let e = X(t[0]), n = X(t[1] ?? 1);
499
499
  return n === 0 ? 0 : Math.floor(e / n) * n;
500
500
  }
501
501
  case "MOD": {
502
- let e = Y(t[0]), n = Y(t[1]);
502
+ let e = X(t[0]), n = X(t[1]);
503
503
  return n === 0 ? null : e - Math.floor(e / n) * n;
504
504
  }
505
- case "POWER": return Y(t[0]) ** +Y(t[1]);
505
+ case "POWER": return X(t[0]) ** +X(t[1]);
506
506
  case "SQRT": {
507
- let e = Y(t[0]);
507
+ let e = X(t[0]);
508
508
  return e < 0 ? null : Math.sqrt(e);
509
509
  }
510
- case "ABS": return Math.abs(Y(t[0]));
510
+ case "ABS": return Math.abs(X(t[0]));
511
511
  case "SIGN": {
512
- let e = Y(t[0]);
512
+ let e = X(t[0]);
513
513
  return e > 0 ? 1 : e < 0 ? -1 : 0;
514
514
  }
515
- case "EXP": return Math.exp(Y(t[0]));
515
+ case "EXP": return Math.exp(X(t[0]));
516
516
  case "LN": {
517
- let e = Y(t[0]);
517
+ let e = X(t[0]);
518
518
  return e <= 0 ? null : Math.log(e);
519
519
  }
520
520
  case "LOG10": {
521
- let e = Y(t[0]);
521
+ let e = X(t[0]);
522
522
  return e <= 0 ? null : Math.log10(e);
523
523
  }
524
524
  case "MIN": {
525
- let e = t.flatMap(J).filter((e) => typeof e == "number");
525
+ let e = t.flatMap(Y).filter((e) => typeof e == "number");
526
526
  return e.length ? Math.min(...e) : 0;
527
527
  }
528
528
  case "MAX": {
529
- let e = t.flatMap(J).filter((e) => typeof e == "number");
529
+ let e = t.flatMap(Y).filter((e) => typeof e == "number");
530
530
  return e.length ? Math.max(...e) : 0;
531
531
  }
532
- case "SUM": return t.flatMap(J).reduce((e, t) => e + (typeof t == "number" ? t : 0), 0);
532
+ case "SUM": return t.flatMap(Y).reduce((e, t) => e + (typeof t == "number" ? t : 0), 0);
533
533
  case "AVERAGE": {
534
- let e = t.flatMap(J).filter((e) => typeof e == "number");
534
+ let e = t.flatMap(Y).filter((e) => typeof e == "number");
535
535
  return e.length ? e.reduce((e, t) => e + t, 0) / e.length : null;
536
536
  }
537
- case "COUNT": return t.flatMap(J).filter((e) => typeof e == "number").length;
538
- case "COUNTA": return t.flatMap(J).filter((e) => e != null && e !== "").length;
539
- case "COUNTBLANK": return t.flatMap(J).filter((e) => e == null || e === "").length;
540
- case "COUNTIF": return Ze(J(t[0]), t[1]);
541
- case "SUMIF": return Qe(J(t[0]), t[1], t[2] === void 0 ? null : J(t[2]));
537
+ case "COUNT": return t.flatMap(Y).filter((e) => typeof e == "number").length;
538
+ case "COUNTA": return t.flatMap(Y).filter((e) => e != null && e !== "").length;
539
+ case "COUNTBLANK": return t.flatMap(Y).filter((e) => e == null || e === "").length;
540
+ case "COUNTIF": return dt(Y(t[0]), t[1]);
541
+ case "SUMIF": return ft(Y(t[0]), t[1], t[2] === void 0 ? null : Y(t[2]));
542
542
  case "AVERAGEIF": {
543
- let e = J(t[0]), n = Qe(e, t[1], t[2] === void 0 ? null : J(t[2])), r = Ze(e, t[1]);
544
- return r === 0 ? null : Y(n) / r;
543
+ let e = Y(t[0]), n = ft(e, t[1], t[2] === void 0 ? null : Y(t[2])), r = dt(e, t[1]);
544
+ return r === 0 ? null : X(n) / r;
545
545
  }
546
- case "LEN": return X(t[0]).length;
547
- case "LEFT": return X(t[0]).slice(0, Math.max(0, Y(t[1] ?? 1)));
546
+ case "LEN": return Ue(t[0]).length;
547
+ case "LEFT": return Ue(t[0]).slice(0, Math.max(0, X(t[1] ?? 1)));
548
548
  case "RIGHT": {
549
- let e = X(t[0]), n = Math.max(0, Y(t[1] ?? 1));
549
+ let e = Ue(t[0]), n = Math.max(0, X(t[1] ?? 1));
550
550
  return n >= e.length ? e : e.slice(e.length - n);
551
551
  }
552
552
  case "MID": {
553
- let e = X(t[0]), n = Math.max(1, Y(t[1])) - 1, r = Math.max(0, Y(t[2]));
553
+ let e = Ue(t[0]), n = Math.max(1, X(t[1])) - 1, r = Math.max(0, X(t[2]));
554
554
  return e.slice(n, n + r);
555
555
  }
556
- case "UPPER": return X(t[0]).toUpperCase();
557
- case "LOWER": return X(t[0]).toLowerCase();
558
- case "TRIM": return X(t[0]).replace(/\s+/g, " ").trim();
559
- case "EXACT": return X(t[0]) === X(t[1]);
556
+ case "UPPER": return Ue(t[0]).toUpperCase();
557
+ case "LOWER": return Ue(t[0]).toLowerCase();
558
+ case "TRIM": return Ue(t[0]).replace(/\s+/g, " ").trim();
559
+ case "EXACT": return Ue(t[0]) === Ue(t[1]);
560
560
  case "FIND": {
561
- let e = X(t[0]), n = X(t[1]), r = Math.max(1, Y(t[2] ?? 1)) - 1, i = n.indexOf(e, r);
561
+ let e = Ue(t[0]), n = Ue(t[1]), r = Math.max(1, X(t[2] ?? 1)) - 1, i = n.indexOf(e, r);
562
562
  return i < 0 ? null : i + 1;
563
563
  }
564
564
  case "SEARCH": {
565
- let e = X(t[0]).toLowerCase(), n = X(t[1]).toLowerCase(), r = Math.max(1, Y(t[2] ?? 1)) - 1, i = n.indexOf(e, r);
565
+ let e = Ue(t[0]).toLowerCase(), n = Ue(t[1]).toLowerCase(), r = Math.max(1, X(t[2] ?? 1)) - 1, i = n.indexOf(e, r);
566
566
  return i < 0 ? null : i + 1;
567
567
  }
568
568
  case "CONCATENATE":
569
- case "CONCAT": return t.flatMap(J).map((e) => e == null ? "" : typeof e == "boolean" ? e ? "TRUE" : "FALSE" : String(e)).join("");
569
+ case "CONCAT": return t.flatMap(Y).map((e) => e == null ? "" : typeof e == "boolean" ? e ? "TRUE" : "FALSE" : String(e)).join("");
570
570
  case "T": {
571
- let e = Ee(t[0]);
571
+ let e = ze(t[0]);
572
572
  return typeof e == "string" ? e : "";
573
573
  }
574
574
  case "N": {
575
- let e = Ee(t[0]);
575
+ let e = ze(t[0]);
576
576
  return typeof e == "number" ? e : typeof e == "boolean" ? +!!e : 0;
577
577
  }
578
- case "VALUE": return Y(t[0]);
578
+ case "VALUE": return X(t[0]);
579
579
  case "ROW": return n.row;
580
580
  case "COLUMN": return n.col;
581
- case "TODAY": return et();
582
- case "NOW": return tt();
583
- case "DATE": return nt(Y(t[0]), Y(t[1]), Y(t[2]));
584
- case "YEAR": return it(Y(t[0])).y;
585
- case "MONTH": return it(Y(t[0])).m;
586
- case "DAY": return it(Y(t[0])).d;
581
+ case "TODAY": return mt();
582
+ case "NOW": return ht();
583
+ case "DATE": return gt(X(t[0]), X(t[1]), X(t[2]));
584
+ case "YEAR": return vt(X(t[0])).y;
585
+ case "MONTH": return vt(X(t[0])).m;
586
+ case "DAY": return vt(X(t[0])).d;
587
587
  case "WEEKDAY": {
588
- let e = rt(Y(t[0])).getUTCDay(), n = Y(t[1] ?? 1);
588
+ let e = _t(X(t[0])).getUTCDay(), n = X(t[1] ?? 1);
589
589
  return n === 2 ? e === 0 ? 7 : e : n === 3 ? e === 0 ? 6 : e - 1 : e + 1;
590
590
  }
591
591
  default: return 0;
592
592
  }
593
593
  }
594
- function Ze(e, t) {
595
- let n = $e(t), r = 0;
594
+ function dt(e, t) {
595
+ let n = pt(t), r = 0;
596
596
  for (let t of e) n(t) && r++;
597
597
  return r;
598
598
  }
599
- function Qe(e, t, n) {
600
- let r = $e(t), i = n ?? e, a = 0;
599
+ function ft(e, t, n) {
600
+ let r = pt(t), i = n ?? e, a = 0;
601
601
  for (let t = 0; t < e.length; t++) if (r(e[t])) {
602
602
  let e = i[t];
603
603
  typeof e == "number" && (a += e);
604
604
  }
605
605
  return a;
606
606
  }
607
- function $e(e) {
608
- let t = Ee(e);
607
+ function pt(e) {
608
+ let t = ze(e);
609
609
  if (typeof t != "string") {
610
610
  let e = typeof t == "number" ? t : null;
611
611
  return (n) => e !== null && typeof n == "number" ? n === e : n === t;
@@ -631,21 +631,21 @@ function $e(e) {
631
631
  }
632
632
  };
633
633
  }
634
- function et() {
634
+ function mt() {
635
635
  let e = /* @__PURE__ */ new Date();
636
- return x(new Date(Date.UTC(e.getFullYear(), e.getMonth(), e.getDate())), !1);
636
+ return w(new Date(Date.UTC(e.getFullYear(), e.getMonth(), e.getDate())), !1);
637
637
  }
638
- function tt() {
639
- return x(new Date(Date.now()), !1);
638
+ function ht() {
639
+ return w(new Date(Date.now()), !1);
640
640
  }
641
- function nt(e, t, n) {
642
- return Math.floor(x(new Date(Date.UTC(e, t - 1, n)), !1));
641
+ function gt(e, t, n) {
642
+ return Math.floor(w(new Date(Date.UTC(e, t - 1, n)), !1));
643
643
  }
644
- function rt(e) {
645
- return N(Math.floor(e), !1);
644
+ function _t(e) {
645
+ return a(Math.floor(e), !1);
646
646
  }
647
- function it(e) {
648
- let t = rt(e);
647
+ function vt(e) {
648
+ let t = _t(e);
649
649
  return {
650
650
  y: t.getUTCFullYear(),
651
651
  m: t.getUTCMonth() + 1,
@@ -654,7 +654,7 @@ function it(e) {
654
654
  }
655
655
  //#endregion
656
656
  //#region packages/xlsx/src/number-format.ts
657
- function at(e) {
657
+ function yt(e) {
658
658
  switch (e.type) {
659
659
  case "empty": return "";
660
660
  case "text": return e.text;
@@ -664,20 +664,20 @@ function at(e) {
664
664
  case "shared": return "";
665
665
  }
666
666
  }
667
- function ot(e, t, n, r = !1) {
668
- return st(e, t, n, r).text;
667
+ function bt(e, t, n, r = !1) {
668
+ return xt(e, t, n, r).text;
669
669
  }
670
- function st(e, t, n, r = !1) {
670
+ function xt(e, t, n, r = !1) {
671
671
  let i = t.cellXfs[e.styleIndex ?? 0]?.numFmtId ?? 0, a = t.numFmts?.find((e) => e.numFmtId === i)?.formatCode ?? null, o = n?.numFmtId ?? i, s = n?.formatCode ?? a;
672
672
  if (e.value.type !== "number") {
673
- let t = at(e.value);
674
- return { text: s ? ct(t, s) : t };
673
+ let t = yt(e.value);
674
+ return { text: s ? St(t, s) : t };
675
675
  }
676
- let c = lt(e.formula);
677
- return Tt(c ?? e.value.number, o, s, c === null ? r : !1);
676
+ let c = Ct(e.formula);
677
+ return zt(c ?? e.value.number, o, s, c === null ? r : !1);
678
678
  }
679
- function ct(e, t) {
680
- let n = Ot(t), r;
679
+ function St(e, t) {
680
+ let n = Ht(t), r;
681
681
  if (n.length >= 4) r = n[3];
682
682
  else {
683
683
  let t = n[n.length - 1];
@@ -699,12 +699,12 @@ function ct(e, t) {
699
699
  }
700
700
  return i;
701
701
  }
702
- function lt(e) {
702
+ function Ct(e) {
703
703
  if (!e) return null;
704
704
  let t = e.trim().replace(/^=/, "").toUpperCase().replace(/\s+/g, "");
705
- return t === "TODAY()" ? et() : t === "NOW()" ? tt() : null;
705
+ return t === "TODAY()" ? mt() : t === "NOW()" ? ht() : null;
706
706
  }
707
- var ut = {
707
+ var wt = {
708
708
  14: "m/d/yyyy",
709
709
  15: "d-mmm-yy",
710
710
  16: "d-mmm",
@@ -728,7 +728,7 @@ var ut = {
728
728
  56: "m\"月\"d\"日\"",
729
729
  57: "[$-411]ge.m.d",
730
730
  58: "[$-411]ggge\"年\"m\"月\"d\"日\""
731
- }, dt = [
731
+ }, Tt = [
732
732
  "January",
733
733
  "February",
734
734
  "March",
@@ -741,7 +741,7 @@ var ut = {
741
741
  "October",
742
742
  "November",
743
743
  "December"
744
- ], ft = [
744
+ ], Et = [
745
745
  "Sunday",
746
746
  "Monday",
747
747
  "Tuesday",
@@ -749,7 +749,7 @@ var ut = {
749
749
  "Thursday",
750
750
  "Friday",
751
751
  "Saturday"
752
- ], pt = [
752
+ ], Dt = [
753
753
  "日",
754
754
  "月",
755
755
  "火",
@@ -757,7 +757,7 @@ var ut = {
757
757
  "木",
758
758
  "金",
759
759
  "土"
760
- ], mt = [
760
+ ], Ot = [
761
761
  "日曜日",
762
762
  "月曜日",
763
763
  "火曜日",
@@ -765,7 +765,7 @@ var ut = {
765
765
  "木曜日",
766
766
  "金曜日",
767
767
  "土曜日"
768
- ], ht = [
768
+ ], kt = [
769
769
  {
770
770
  start: new Date(Date.UTC(2019, 4, 1)),
771
771
  abbr: "R",
@@ -797,14 +797,14 @@ var ut = {
797
797
  long: "明治"
798
798
  }
799
799
  ];
800
- function gt(e) {
801
- for (let t of ht) if (e.getTime() >= t.start.getTime()) return {
800
+ function At(e) {
801
+ for (let t of kt) if (e.getTime() >= t.start.getTime()) return {
802
802
  abbr: t.abbr,
803
803
  short: t.short,
804
804
  long: t.long,
805
805
  year: e.getUTCFullYear() - t.start.getUTCFullYear() + 1
806
806
  };
807
- let t = ht[ht.length - 1];
807
+ let t = kt[kt.length - 1];
808
808
  return {
809
809
  abbr: t.abbr,
810
810
  short: t.short,
@@ -812,117 +812,117 @@ function gt(e) {
812
812
  year: e.getUTCFullYear()
813
813
  };
814
814
  }
815
- function _t(e, t, n = !1) {
816
- let r = N(e, n), i = r.getUTCFullYear(), a = r.getUTCMonth() + 1, o = r.getUTCDate(), s = r.getUTCDay(), c = r.getUTCHours(), l = r.getUTCMinutes(), u = r.getUTCSeconds(), d = t.split(";")[0], f = /am\/pm|a\/p/i.test(d), p = null, m = () => p ??= gt(r), h = "", g = 0, _ = !1;
817
- for (; g < d.length;) {
818
- let t = d[g];
815
+ function jt(e, t, n = !1) {
816
+ let r = a(e, n), i = r.getUTCFullYear(), o = r.getUTCMonth() + 1, s = r.getUTCDate(), c = r.getUTCDay(), l = r.getUTCHours(), u = r.getUTCMinutes(), d = r.getUTCSeconds(), f = t.split(";")[0], p = /am\/pm|a\/p/i.test(f), m = null, h = () => m ??= At(r), g = "", _ = 0, v = !1;
817
+ for (; _ < f.length;) {
818
+ let t = f[_];
819
819
  if (t === "\"") {
820
- for (g++; g < d.length && d[g] !== "\"";) h += d[g++];
821
- g < d.length && g++, _ = !1;
820
+ for (_++; _ < f.length && f[_] !== "\"";) g += f[_++];
821
+ _ < f.length && _++, v = !1;
822
822
  } else if (t === "[") {
823
- let t = d.indexOf("]", g), n = t > g ? d.slice(g + 1, t) : "", r = n.match(/^([hms])\1*$/i);
823
+ let t = f.indexOf("]", _), n = t > _ ? f.slice(_ + 1, t) : "", r = n.match(/^([hms])\1*$/i);
824
824
  if (r) {
825
825
  let i = r[1].toLowerCase(), a = e < 0 ? "-" : "", o = Math.floor(Math.abs(e) * 86400), s;
826
826
  s = i === "h" ? Math.floor(o / 3600) : i === "m" ? Math.floor(o / 60) : o;
827
827
  let c = n.length >= 2 ? String(s).padStart(n.length, "0") : String(s);
828
- h += a + c, g = t + 1, _ = i === "h";
828
+ g += a + c, _ = t + 1, v = i === "h";
829
829
  } else {
830
- for (; g < d.length && d[g] !== "]";) g++;
831
- g < d.length && g++;
830
+ for (; _ < f.length && f[_] !== "]";) _++;
831
+ _ < f.length && _++;
832
832
  }
833
- } else if (t === "_") g += 2;
834
- else if (t === "*") g += 2;
835
- else if (t === "\\") g + 1 < d.length && (h += d[g + 1]), g += 2, _ = !1;
833
+ } else if (t === "_") _ += 2;
834
+ else if (t === "*") _ += 2;
835
+ else if (t === "\\") _ + 1 < f.length && (g += f[_ + 1]), _ += 2, v = !1;
836
836
  else if (t === "y" || t === "Y") {
837
837
  let e = 0;
838
- for (; g < d.length && d[g].toLowerCase() === "y";) e++, g++;
839
- h += e <= 2 ? String(i).slice(-2) : String(i).padStart(4, "0"), _ = !1;
838
+ for (; _ < f.length && f[_].toLowerCase() === "y";) e++, _++;
839
+ g += e <= 2 ? String(i).slice(-2) : String(i).padStart(4, "0"), v = !1;
840
840
  } else if (t === "m" || t === "M") {
841
841
  let e = 0;
842
- for (; g < d.length && d[g].toLowerCase() === "m";) e++, g++;
843
- let t = d.slice(g).replace(/\[[^\]]*\]/g, "");
844
- _ || /^:s/i.test(t) ? h += e >= 2 ? String(l).padStart(2, "0") : String(l) : e === 1 ? h += String(a) : e === 2 ? h += String(a).padStart(2, "0") : e === 3 ? h += dt[a - 1].slice(0, 3) : e === 4 ? h += dt[a - 1] : h += dt[a - 1][0], _ = !1;
842
+ for (; _ < f.length && f[_].toLowerCase() === "m";) e++, _++;
843
+ let t = f.slice(_).replace(/\[[^\]]*\]/g, "");
844
+ v || /^:s/i.test(t) ? g += e >= 2 ? String(u).padStart(2, "0") : String(u) : e === 1 ? g += String(o) : e === 2 ? g += String(o).padStart(2, "0") : e === 3 ? g += Tt[o - 1].slice(0, 3) : e === 4 ? g += Tt[o - 1] : g += Tt[o - 1][0], v = !1;
845
845
  } else if (t === "d" || t === "D") {
846
846
  let e = 0;
847
- for (; g < d.length && d[g].toLowerCase() === "d";) e++, g++;
848
- e === 1 ? h += String(o) : e === 2 ? h += String(o).padStart(2, "0") : e === 3 ? h += ft[s].slice(0, 3) : h += ft[s], _ = !1;
847
+ for (; _ < f.length && f[_].toLowerCase() === "d";) e++, _++;
848
+ e === 1 ? g += String(s) : e === 2 ? g += String(s).padStart(2, "0") : e === 3 ? g += Et[c].slice(0, 3) : g += Et[c], v = !1;
849
849
  } else if (t === "h" || t === "H") {
850
850
  let e = 0;
851
- for (; g < d.length && d[g].toLowerCase() === "h";) e++, g++;
852
- let t = f ? c % 12 || 12 : c;
853
- h += e >= 2 ? String(t).padStart(2, "0") : String(t), _ = !0;
851
+ for (; _ < f.length && f[_].toLowerCase() === "h";) e++, _++;
852
+ let t = p ? l % 12 || 12 : l;
853
+ g += e >= 2 ? String(t).padStart(2, "0") : String(t), v = !0;
854
854
  } else if (t === "s" || t === "S") {
855
855
  let e = 0;
856
- for (; g < d.length && d[g].toLowerCase() === "s";) e++, g++;
857
- h += e >= 2 ? String(u).padStart(2, "0") : String(u), _ = !1;
856
+ for (; _ < f.length && f[_].toLowerCase() === "s";) e++, _++;
857
+ g += e >= 2 ? String(d).padStart(2, "0") : String(d), v = !1;
858
858
  } else if (t === "g" || t === "G") {
859
859
  let e = 0;
860
- for (; g < d.length && d[g].toLowerCase() === "g";) e++, g++;
861
- let t = m();
862
- e === 1 ? h += t.abbr : e === 2 ? h += t.short : h += t.long, _ = !1;
860
+ for (; _ < f.length && f[_].toLowerCase() === "g";) e++, _++;
861
+ let t = h();
862
+ e === 1 ? g += t.abbr : e === 2 ? g += t.short : g += t.long, v = !1;
863
863
  } else if (t === "e" || t === "E") {
864
864
  let e = 0;
865
- for (; g < d.length && d[g].toLowerCase() === "e";) e++, g++;
866
- let t = m().year;
867
- h += e >= 2 ? String(t).padStart(2, "0") : String(t), _ = !1;
865
+ for (; _ < f.length && f[_].toLowerCase() === "e";) e++, _++;
866
+ let t = h().year;
867
+ g += e >= 2 ? String(t).padStart(2, "0") : String(t), v = !1;
868
868
  } else if (t === "r" || t === "R") {
869
869
  let e = 0;
870
- for (; g < d.length && d[g].toLowerCase() === "r";) e++, g++;
871
- let t = m().year;
872
- h += e >= 2 ? String(t).padStart(2, "0") : String(t), _ = !1;
870
+ for (; _ < f.length && f[_].toLowerCase() === "r";) e++, _++;
871
+ let t = h().year;
872
+ g += e >= 2 ? String(t).padStart(2, "0") : String(t), v = !1;
873
873
  } else if (t === "A" || t === "a") {
874
- let e = d.slice(g).toUpperCase();
875
- e.startsWith("AAAA") ? (h += mt[s], g += 4) : e.startsWith("AAA") ? (h += pt[s], g += 3) : e.startsWith("AM/PM") ? (h += c < 12 ? "AM" : "PM", g += 5) : e.startsWith("A/P") ? (h += c < 12 ? "A" : "P", g += 3) : (h += t, g++), _ = !1;
876
- } else h += t, g++, t !== ":" && t !== "/" && t !== "-" && t !== "." && t !== " " && (_ = !1);
874
+ let e = f.slice(_).toUpperCase();
875
+ e.startsWith("AAAA") ? (g += Ot[c], _ += 4) : e.startsWith("AAA") ? (g += Dt[c], _ += 3) : e.startsWith("AM/PM") ? (g += l < 12 ? "AM" : "PM", _ += 5) : e.startsWith("A/P") ? (g += l < 12 ? "A" : "P", _ += 3) : (g += t, _++), v = !1;
876
+ } else g += t, _++, t !== ":" && t !== "/" && t !== "-" && t !== "." && t !== " " && (v = !1);
877
877
  }
878
- return h;
878
+ return g;
879
879
  }
880
- function vt(e) {
880
+ function Mt(e) {
881
881
  if (/\[[hms]+\]/i.test(e)) return !0;
882
882
  let t = e.replace(/"[^"]*"/g, "").replace(/\[[^\]]*\]/g, "");
883
883
  return /[yd]/i.test(t) || /a{3,}/i.test(t);
884
884
  }
885
- var yt = 11, bt = 6;
886
- function xt(e) {
885
+ var Nt = 11, Pt = 6;
886
+ function Ft(e) {
887
887
  return e.includes(".") ? e.replace(/0+$/, "").replace(/\.$/, "") : e;
888
888
  }
889
- function St(e) {
889
+ function It(e) {
890
890
  return `${e >= 0 ? "+" : "-"}${Math.abs(e).toString().padStart(2, "0")}`;
891
891
  }
892
- function Ct(e) {
893
- let [t, n] = e.toExponential(bt - 1).split("e");
894
- return `${xt(t)}E${St(Number(n))}`;
892
+ function Lt(e) {
893
+ let [t, n] = e.toExponential(Pt - 1).split("e");
894
+ return `${Ft(t)}E${It(Number(n))}`;
895
895
  }
896
- function wt(e) {
896
+ function Rt(e) {
897
897
  if (!Number.isFinite(e)) return String(e);
898
898
  if (e === 0) return "0";
899
- let t = e < 0, n = Math.abs(e), r = Number(n.toExponential(yt - 1).split("e")[1]), i = r >= yt || r < -5 ? Ct(n) : xt(n.toPrecision(yt));
899
+ let t = e < 0, n = Math.abs(e), r = Number(n.toExponential(Nt - 1).split("e")[1]), i = r >= Nt || r < -5 ? Lt(n) : Ft(n.toPrecision(Nt));
900
900
  return t ? `-${i}` : i;
901
901
  }
902
- function Tt(e, t, n, r = !1) {
903
- let i = ut[t];
904
- if (i) return { text: _t(e, i, r) };
905
- if (n && n.trim().toLowerCase() === "general") return { text: wt(e) };
906
- if (n) return vt(n) ? { text: _t(e, n, r) } : Rt(e, n);
902
+ function zt(e, t, n, r = !1) {
903
+ let i = wt[t];
904
+ if (i) return { text: jt(e, i, r) };
905
+ if (n && n.trim().toLowerCase() === "general") return { text: Rt(e) };
906
+ if (n) return Mt(n) ? { text: jt(e, n, r) } : Qt(e, n);
907
907
  switch (t) {
908
- case 0: return { text: wt(e) };
909
- case 1: return Rt(e, "0");
910
- case 2: return Rt(e, "0.00");
911
- case 3: return Rt(e, "#,##0");
912
- case 4: return Rt(e, "#,##0.00");
913
- case 9: return Rt(e, "0%");
914
- case 10: return Rt(e, "0.00%");
915
- case 11: return Rt(e, "0.00E+00");
916
- case 37: return Rt(e, "#,##0 ;(#,##0)");
917
- case 38: return Rt(e, "#,##0 ;[Red](#,##0)");
918
- case 39: return Rt(e, "#,##0.00;(#,##0.00)");
919
- case 40: return Rt(e, "#,##0.00;[Red](#,##0.00)");
920
- case 48: return Rt(e, "##0.0E+0");
908
+ case 0: return { text: Rt(e) };
909
+ case 1: return Qt(e, "0");
910
+ case 2: return Qt(e, "0.00");
911
+ case 3: return Qt(e, "#,##0");
912
+ case 4: return Qt(e, "#,##0.00");
913
+ case 9: return Qt(e, "0%");
914
+ case 10: return Qt(e, "0.00%");
915
+ case 11: return Qt(e, "0.00E+00");
916
+ case 37: return Qt(e, "#,##0 ;(#,##0)");
917
+ case 38: return Qt(e, "#,##0 ;[Red](#,##0)");
918
+ case 39: return Qt(e, "#,##0.00;(#,##0.00)");
919
+ case 40: return Qt(e, "#,##0.00;[Red](#,##0.00)");
920
+ case 48: return Qt(e, "##0.0E+0");
921
921
  case 49: return { text: String(e) };
922
- default: return { text: wt(e) };
922
+ default: return { text: Rt(e) };
923
923
  }
924
924
  }
925
- var Et = {
925
+ var Bt = {
926
926
  black: "#000000",
927
927
  blue: "#0000FF",
928
928
  cyan: "#00FFFF",
@@ -931,8 +931,8 @@ var Et = {
931
931
  red: "#FF0000",
932
932
  white: "#FFFFFF",
933
933
  yellow: "#FFFF00"
934
- }, Dt = /* @__PURE__ */ "#000000.#FFFFFF.#FF0000.#00FF00.#0000FF.#FFFF00.#FF00FF.#00FFFF.#000000.#FFFFFF.#FF0000.#00FF00.#0000FF.#FFFF00.#FF00FF.#00FFFF.#800000.#008000.#000080.#808000.#800080.#008080.#C0C0C0.#808080.#9999FF.#993366.#FFFFCC.#CCFFFF.#660066.#FF8080.#0066CC.#CCCCFF.#000080.#FF00FF.#FFFF00.#00FFFF.#800080.#800000.#008080.#0000FF.#00CCFF.#CCFFFF.#CCFFCC.#FFFF99.#99CCFF.#FF99CC.#CC99FF.#FFCC99.#3366FF.#33CCCC.#99CC00.#FFCC00.#FF9900.#FF6600.#666699.#969696.#003366.#339966.#003300.#333300.#993300.#993366.#333399.#333333".split(".");
935
- function Ot(e) {
934
+ }, Vt = /* @__PURE__ */ "#000000.#FFFFFF.#FF0000.#00FF00.#0000FF.#FFFF00.#FF00FF.#00FFFF.#000000.#FFFFFF.#FF0000.#00FF00.#0000FF.#FFFF00.#FF00FF.#00FFFF.#800000.#008000.#000080.#808000.#800080.#008080.#C0C0C0.#808080.#9999FF.#993366.#FFFFCC.#CCFFFF.#660066.#FF8080.#0066CC.#CCCCFF.#000080.#FF00FF.#FFFF00.#00FFFF.#800080.#800000.#008080.#0000FF.#00CCFF.#CCFFFF.#CCFFCC.#FFFF99.#99CCFF.#FF99CC.#CC99FF.#FFCC99.#3366FF.#33CCCC.#99CC00.#FFCC00.#FF9900.#FF6600.#666699.#969696.#003366.#339966.#003300.#333300.#993300.#993366.#333399.#333333".split(".");
935
+ function Ht(e) {
936
936
  let t = [], n = "", r = 0;
937
937
  for (; r < e.length;) {
938
938
  let i = e[r];
@@ -947,7 +947,7 @@ function Ot(e) {
947
947
  }
948
948
  return t.push(n), t;
949
949
  }
950
- function kt(e) {
950
+ function Ut(e) {
951
951
  let t = "", n, r, i = 0;
952
952
  for (; i < e.length;) {
953
953
  let a = e[i];
@@ -962,10 +962,10 @@ function kt(e) {
962
962
  continue;
963
963
  }
964
964
  let s = e.slice(i + 1, o), c = s.toLowerCase(), l = c.match(/^color(\d{1,2})$/), u = s.match(/^(<=|>=|<>|<|>|=)\s*(-?[0-9.]+(?:[eE][-+]?\d+)?)$/);
965
- if (c in Et) n = Et[c];
965
+ if (c in Bt) n = Bt[c];
966
966
  else if (l) {
967
967
  let e = parseInt(l[1], 10);
968
- e >= 1 && e <= 56 && (n = Dt[e + 7] ?? n);
968
+ e >= 1 && e <= 56 && (n = Vt[e + 7] ?? n);
969
969
  } else u ? r = {
970
970
  op: u[1],
971
971
  value: Number(u[2])
@@ -979,7 +979,7 @@ function kt(e) {
979
979
  condition: r
980
980
  };
981
981
  }
982
- function At(e, t) {
982
+ function Wt(e, t) {
983
983
  switch (e.op) {
984
984
  case "<": return t < e.value;
985
985
  case "<=": return t <= e.value;
@@ -989,7 +989,7 @@ function At(e, t) {
989
989
  case "<>": return t !== e.value;
990
990
  }
991
991
  }
992
- function jt(e) {
992
+ function Gt(e) {
993
993
  let t = [], n = "", r = "", i = !1, a = !1, o, s = !1, c = 0, l = 0, u = (e) => {
994
994
  if (!e) return;
995
995
  !a && !s && (c = n.replace(/,/g, "").length);
@@ -1063,20 +1063,20 @@ function jt(e) {
1063
1063
  fraction: h
1064
1064
  };
1065
1065
  }
1066
- function Mt(e) {
1066
+ function Kt(e) {
1067
1067
  return e.replace(/\B(?=(\d{3})+(?!\d))/g, ",");
1068
1068
  }
1069
- function Nt(e, t, n) {
1069
+ function qt(e, t, n) {
1070
1070
  let r = t.split(""), i = e.split(""), a = [], o = i.length - 1, s = [];
1071
1071
  for (let e = r.length - 1; e >= 0; e--) o >= 0 ? (a.unshift(i[o]), s.unshift(i[o]), o--) : r[e] === "0" ? (a.unshift("0"), s.unshift("0")) : r[e] === "?" && a.unshift(" ");
1072
1072
  for (; o >= 0;) a.unshift(i[o]), s.unshift(i[o]), o--;
1073
1073
  if (n) {
1074
- let e = Mt(s.join(""));
1074
+ let e = Kt(s.join(""));
1075
1075
  return (a.length - s.length > 0 ? a.slice(0, a.length - s.length).join("") : "") + e;
1076
1076
  }
1077
1077
  return a.join("");
1078
1078
  }
1079
- function Pt(e, t) {
1079
+ function Jt(e, t) {
1080
1080
  let n = t.length;
1081
1081
  if (n === 0) return "";
1082
1082
  let r = e.padEnd(n, "0").slice(0, n).split("");
@@ -1088,7 +1088,7 @@ function Pt(e, t) {
1088
1088
  }
1089
1089
  return r.join("");
1090
1090
  }
1091
- function Ft(e, t, n) {
1091
+ function Yt(e, t, n) {
1092
1092
  if (n !== null) return [Math.round(e * n), n];
1093
1093
  let r = 10 ** Math.max(t, 1) - 1, i = 0, a = 1, o = Math.abs(e), s = [0, 1], c = [1, 1];
1094
1094
  for (let t = 0; t < 100; t++) {
@@ -1101,12 +1101,12 @@ function Ft(e, t, n) {
1101
1101
  }
1102
1102
  return [i, a];
1103
1103
  }
1104
- function It(e, t, n) {
1105
- let r = jt(t), i = n ? Math.abs(e) : e;
1104
+ function Xt(e, t, n) {
1105
+ let r = Gt(t), i = n ? Math.abs(e) : e;
1106
1106
  r.hasPercent && (i *= 100), r.commaScale > 0 && (i /= 1e3 ** r.commaScale);
1107
1107
  let a = i < 0 ? "-" : "", o = Math.abs(i);
1108
1108
  if (r.fraction) {
1109
- let e = Math.floor(o), t = o - e, { wholeSpec: n, numSpec: i, denSpec: s, fixedDen: c } = r.fraction, l = n.length > 0, [u, d] = Ft(t, s.length, c), f = (e, t) => {
1109
+ let e = Math.floor(o), t = o - e, { wholeSpec: n, numSpec: i, denSpec: s, fixedDen: c } = r.fraction, l = n.length > 0, [u, d] = Yt(t, s.length, c), f = (e, t) => {
1110
1110
  let n = String(e), r = t.includes("0") ? "0" : " ";
1111
1111
  for (; n.length < t.length;) n = r + n;
1112
1112
  return n;
@@ -1132,14 +1132,14 @@ function It(e, t, n) {
1132
1132
  }
1133
1133
  if (r.exp) {
1134
1134
  let e = Math.max(r.intSpec.length, 1), t = r.fracSpec.length, n = 0, i = 0;
1135
- o !== 0 && (i = Math.floor(Math.log10(o)), i = Math.floor(i / e) * e, n = o / 10 ** i, parseFloat(ie(n, t)) >= 10 ** e && (i += e, n = o / 10 ** i));
1136
- let [s, c = ""] = ie(n, t).split(".");
1137
- return a + Lt(r, Nt(s, r.intSpec, !1), Pt(c, r.fracSpec), "E" + (i < 0 ? "-" : r.exp.plus ? "+" : "") + String(Math.abs(i)).padStart(r.exp.width, "0"));
1135
+ o !== 0 && (i = Math.floor(Math.log10(o)), i = Math.floor(i / e) * e, n = o / 10 ** i, parseFloat(s(n, t)) >= 10 ** e && (i += e, n = o / 10 ** i));
1136
+ let [c, l = ""] = s(n, t).split(".");
1137
+ return a + Zt(r, qt(c, r.intSpec, !1), Jt(l, r.fracSpec), "E" + (i < 0 ? "-" : r.exp.plus ? "+" : "") + String(Math.abs(i)).padStart(r.exp.width, "0"));
1138
1138
  }
1139
- let s = r.fracSpec.length, [c, l = ""] = ie(o, s).split("."), u = c.replace(/^0+/, ""), d = /[0]/.test(r.intSpec) || r.intSpec === "" && !1;
1140
- return u === "" && d && (u = "0"), a + Lt(r, Nt(u, r.intSpec, r.grouping), Pt(l, r.fracSpec), "");
1139
+ let c = r.fracSpec.length, [l, u = ""] = s(o, c).split("."), d = l.replace(/^0+/, ""), f = /[0]/.test(r.intSpec) || r.intSpec === "" && !1;
1140
+ return d === "" && f && (d = "0"), a + Zt(r, qt(d, r.intSpec, r.grouping), Jt(u, r.fracSpec), "");
1141
1141
  }
1142
- function Lt(e, t, n, r) {
1142
+ function Zt(e, t, n, r) {
1143
1143
  let i = t.split(""), a = [];
1144
1144
  e.parts.forEach((e, t) => {
1145
1145
  e.kind === "intph" && a.push(t);
@@ -1163,12 +1163,12 @@ function Lt(e, t, n, r) {
1163
1163
  }
1164
1164
  return f;
1165
1165
  }
1166
- function Rt(e, t) {
1167
- let n = Ot(t).map(kt), r = n.some((e) => e.condition), i, a = !1;
1166
+ function Qt(e, t) {
1167
+ let n = Ht(t).map(Ut), r = n.some((e) => e.condition), i, a = !1;
1168
1168
  if (r) {
1169
1169
  let t = !1;
1170
1170
  for (let r of n) if (r.condition) {
1171
- if (At(r.condition, e)) {
1171
+ if (Wt(r.condition, e)) {
1172
1172
  i = r, t = !0;
1173
1173
  break;
1174
1174
  }
@@ -1176,7 +1176,7 @@ function Rt(e, t) {
1176
1176
  if (!i) return { text: "#" };
1177
1177
  a = t && e < 0;
1178
1178
  } else e > 0 ? i = n[0] : e < 0 ? n.length > 1 ? (i = n[1], a = !0) : i = n[0] : i = n.length > 2 ? n[2] : n[0];
1179
- let o = It(e, i.body, a);
1179
+ let o = Xt(e, i.body, a);
1180
1180
  return i.color ? {
1181
1181
  text: o,
1182
1182
  color: i.color
@@ -1184,22 +1184,22 @@ function Rt(e, t) {
1184
1184
  }
1185
1185
  //#endregion
1186
1186
  //#region packages/xlsx/src/conditional-format.ts
1187
- function zt(e, t, n) {
1187
+ function $t(e, t, n) {
1188
1188
  for (let r of e) if (t >= r.top && t <= r.bottom && n >= r.left && n <= r.right) return !0;
1189
1189
  return !1;
1190
1190
  }
1191
- function Bt(e) {
1191
+ function en(e) {
1192
1192
  return e && e.value.type === "number" ? e.value.number : null;
1193
1193
  }
1194
- function Vt(e) {
1194
+ function tn(e) {
1195
1195
  return e && e.value.type === "text" ? e.value.text : null;
1196
1196
  }
1197
- function Ht(e, t) {
1197
+ function nn(e, t) {
1198
1198
  let n = [];
1199
- for (let r of e.rows) for (let e of r.cells) e.value.type === "number" && zt(t, e.row, e.col) && n.push(e.value.number);
1199
+ for (let r of e.rows) for (let e of r.cells) e.value.type === "number" && $t(t, e.row, e.col) && n.push(e.value.number);
1200
1200
  return n;
1201
1201
  }
1202
- function Ut(e, t) {
1202
+ function rn(e, t) {
1203
1203
  let n = t.length ? Math.min(...t) : 0, r = t.length ? Math.max(...t) : 0, i = e.value == null ? NaN : parseFloat(e.value);
1204
1204
  switch (e.kind) {
1205
1205
  case "min": return n;
@@ -1217,20 +1217,20 @@ function Ut(e, t) {
1217
1217
  default: return isNaN(i) ? 0 : i;
1218
1218
  }
1219
1219
  }
1220
- function Wt(e) {
1220
+ function an(e) {
1221
1221
  let t = [], n = /* @__PURE__ */ new Map();
1222
1222
  for (let t of e.rows) for (let e of t.cells) n.set(`${e.row}:${e.col}`, e);
1223
1223
  let r = /* @__PURE__ */ new Map();
1224
1224
  for (let t of e.definedNames ?? []) r.set(t.name, t);
1225
1225
  for (let n of e.conditionalFormats ?? []) {
1226
- let r = Ht(e, n.sqref);
1226
+ let r = nn(e, n.sqref);
1227
1227
  for (let e of n.rules) {
1228
1228
  let i = {
1229
1229
  rule: e,
1230
1230
  sqref: n.sqref
1231
1231
  };
1232
- if (e.type === "colorScale") i.scaleStops = e.stops.map((e) => Ut(e, r));
1233
- else if (e.type === "dataBar") i.barMin = Ut(e.min, r), i.barMax = Ut(e.max, r);
1232
+ if (e.type === "colorScale") i.scaleStops = e.stops.map((e) => rn(e, r));
1233
+ else if (e.type === "dataBar") i.barMin = rn(e.min, r), i.barMax = rn(e.max, r);
1234
1234
  else if (e.type === "top10") {
1235
1235
  let t = [...r].sort((e, t) => e - t), n = t.length;
1236
1236
  if (n > 0) {
@@ -1249,7 +1249,7 @@ function Wt(e) {
1249
1249
  i.avgStdDev = Math.sqrt(e);
1250
1250
  }
1251
1251
  }
1252
- } else e.type === "iconSet" && (i.iconThresholds = e.cfvos.map((e) => Ut(e, r)));
1252
+ } else e.type === "iconSet" && (i.iconThresholds = e.cfvos.map((e) => rn(e, r)));
1253
1253
  t.push(i);
1254
1254
  }
1255
1255
  }
@@ -1260,7 +1260,7 @@ function Wt(e) {
1260
1260
  definedNames: r
1261
1261
  };
1262
1262
  }
1263
- function Gt(e, t, n) {
1263
+ function on(e, t, n) {
1264
1264
  switch (t) {
1265
1265
  case "greaterThan": return e > (n[0] ?? 0);
1266
1266
  case "greaterThanOrEqual": return e >= (n[0] ?? 0);
@@ -1273,13 +1273,13 @@ function Gt(e, t, n) {
1273
1273
  default: return !1;
1274
1274
  }
1275
1275
  }
1276
- function Kt(e) {
1276
+ function sn(e) {
1277
1277
  let t = e.trim();
1278
1278
  if (t.length >= 2 && t.startsWith("\"") && t.endsWith("\"")) return { text: t.slice(1, -1).replace(/""/g, "\"") };
1279
1279
  let n = parseFloat(t);
1280
1280
  return isNaN(n) ? { text: t } : { num: n };
1281
1281
  }
1282
- function qt(e, t, n) {
1282
+ function cn(e, t, n) {
1283
1283
  let r = n[0] ?? "", i = n[1] ?? "", a = (e) => e.toLowerCase();
1284
1284
  switch (t) {
1285
1285
  case "equal": return a(e) === a(r);
@@ -1293,21 +1293,21 @@ function qt(e, t, n) {
1293
1293
  default: return !1;
1294
1294
  }
1295
1295
  }
1296
- function Jt(e, t, n) {
1296
+ function ln(e, t, n) {
1297
1297
  let r = e.replace("#", ""), i = t.replace("#", ""), a = parseInt(r.slice(0, 2), 16), o = parseInt(r.slice(2, 4), 16), s = parseInt(r.slice(4, 6), 16), c = parseInt(i.slice(0, 2), 16), l = parseInt(i.slice(2, 4), 16), u = parseInt(i.slice(4, 6), 16), d = Math.round(a + (c - a) * n), f = Math.round(o + (l - o) * n), p = Math.round(s + (u - s) * n);
1298
1298
  return `#${d.toString(16).padStart(2, "0").toUpperCase()}${f.toString(16).padStart(2, "0").toUpperCase()}${p.toString(16).padStart(2, "0").toUpperCase()}`;
1299
1299
  }
1300
- function Yt(e, t, n) {
1300
+ function un(e, t, n) {
1301
1301
  if (!t.length) return "#FFFFFF";
1302
1302
  if (e <= n[0]) return t[0].color;
1303
1303
  if (e >= n[n.length - 1]) return t[t.length - 1].color;
1304
1304
  for (let r = 1; r < n.length; r++) if (e <= n[r]) {
1305
1305
  let i = n[r - 1], a = n[r], o = a === i ? 0 : (e - i) / (a - i);
1306
- return Jt(t[r - 1].color, t[r].color, o);
1306
+ return ln(t[r - 1].color, t[r].color, o);
1307
1307
  }
1308
1308
  return t[t.length - 1].color;
1309
1309
  }
1310
- function Xt(e, t) {
1310
+ function dn(e, t) {
1311
1311
  if (t && (t.fill && !e.fill && (e.fill = t.fill), t.font?.color && e.fontColor == null && (e.fontColor = t.font.color), t.font?.bold && e.fontBold == null && (e.fontBold = !0), t.font?.italic && e.fontItalic == null && (e.fontItalic = !0), t.font?.underline && e.fontUnderline == null && (e.fontUnderline = !0), t.font?.strike && e.fontStrike == null && (e.fontStrike = !0), t.numFmt && e.numFmt == null && (e.numFmt = {
1312
1312
  numFmtId: t.numFmt.numFmtId,
1313
1313
  formatCode: t.numFmt.formatCode || null
@@ -1323,16 +1323,16 @@ function Xt(e, t) {
1323
1323
  };
1324
1324
  }
1325
1325
  }
1326
- function Zt(e, t, n, r, i) {
1326
+ function fn(e, t, n, r, i) {
1327
1327
  let a = {};
1328
1328
  if (!r.compiled.length) return a;
1329
1329
  for (let o of r.compiled) {
1330
- if (!zt(o.sqref, t, n)) continue;
1331
- let s = o.rule, c = Bt(e);
1330
+ if (!$t(o.sqref, t, n)) continue;
1331
+ let s = o.rule, c = en(e);
1332
1332
  if (s.type === "expression") {
1333
1333
  let e = o.sqref[0];
1334
1334
  if (!e) continue;
1335
- if (Oe(s.formula, {
1335
+ if (Ve(s.formula, {
1336
1336
  row: t,
1337
1337
  col: n,
1338
1338
  anchorRow: e.top,
@@ -1340,19 +1340,19 @@ function Zt(e, t, n, r, i) {
1340
1340
  cellIndex: r.cellIndex,
1341
1341
  definedNames: r.definedNames,
1342
1342
  depth: 0
1343
- }) && (Xt(a, s.dxfId == null ? null : i[s.dxfId]), s.stopIfTrue)) break;
1343
+ }) && (dn(a, s.dxfId == null ? null : i[s.dxfId]), s.stopIfTrue)) break;
1344
1344
  continue;
1345
1345
  }
1346
1346
  if (s.type === "cellIs") {
1347
- let t = s.formulas.map(Kt), n = Vt(e), r = !1;
1348
- c != null && t.every((e) => e.num != null) ? r = Gt(c, s.operator, t.map((e) => e.num)) : n != null && t.every((e) => e.text != null) && (r = qt(n, s.operator, t.map((e) => e.text))), r && Xt(a, s.dxfId == null ? null : i[s.dxfId]);
1347
+ let t = s.formulas.map(sn), n = tn(e), r = !1;
1348
+ c != null && t.every((e) => e.num != null) ? r = on(c, s.operator, t.map((e) => e.num)) : n != null && t.every((e) => e.text != null) && (r = cn(n, s.operator, t.map((e) => e.text))), r && dn(a, s.dxfId == null ? null : i[s.dxfId]);
1349
1349
  } else if (s.type === "top10") {
1350
1350
  if (c == null || o.top10Threshold == null) continue;
1351
- (o.top10IsTop ? c >= o.top10Threshold : c <= o.top10Threshold) && Xt(a, s.dxfId == null ? null : i[s.dxfId]);
1351
+ (o.top10IsTop ? c >= o.top10Threshold : c <= o.top10Threshold) && dn(a, s.dxfId == null ? null : i[s.dxfId]);
1352
1352
  } else if (s.type === "aboveAverage") {
1353
1353
  if (c == null || o.avgValue == null) continue;
1354
1354
  let e = o.avgStdDev == null ? 0 : o.avgStdDev * (s.stdDev ?? 1), t = o.avgIsAbove ? o.avgValue + e : o.avgValue - e, n = s.equalAverage === !0;
1355
- (o.avgIsAbove ? n ? c >= t : c > t : n ? c <= t : c < t) && Xt(a, s.dxfId == null ? null : i[s.dxfId]);
1355
+ (o.avgIsAbove ? n ? c >= t : c > t : n ? c <= t : c < t) && dn(a, s.dxfId == null ? null : i[s.dxfId]);
1356
1356
  } else if (s.type === "iconSet") {
1357
1357
  if (c == null || !o.iconThresholds?.length) continue;
1358
1358
  let e = o.iconThresholds, t = e.length, n = 0;
@@ -1369,7 +1369,7 @@ function Zt(e, t, n, r, i) {
1369
1369
  };
1370
1370
  } else if (s.type === "colorScale") {
1371
1371
  if (c == null || !o.scaleStops || a.fill) continue;
1372
- let e = Yt(c, s.stops, o.scaleStops);
1372
+ let e = un(c, s.stops, o.scaleStops);
1373
1373
  a.fill = {
1374
1374
  patternType: "solid",
1375
1375
  fgColor: e,
@@ -1389,21 +1389,21 @@ function Zt(e, t, n, r, i) {
1389
1389
  }
1390
1390
  //#endregion
1391
1391
  //#region packages/xlsx/src/bidi-line.ts
1392
- function Qt(e, t) {
1393
- return e === 2 ? !0 : e === 1 ? !1 : fe(void 0, t) === "rtl";
1392
+ function pn(e, t) {
1393
+ return e === 2 ? !0 : e === 1 ? !1 : De(void 0, t) === "rtl";
1394
1394
  }
1395
- var $t = (e) => {
1395
+ var mn = (e) => {
1396
1396
  let t = e.text;
1397
1397
  return typeof t == "string" ? t : void 0;
1398
1398
  };
1399
- function en(e, t) {
1399
+ function hn(e, t) {
1400
1400
  let r = e === 2 || n(t);
1401
1401
  return {
1402
1402
  needBidi: r,
1403
- baseRtl: r && Qt(e, t)
1403
+ baseRtl: r && pn(e, t)
1404
1404
  };
1405
1405
  }
1406
- function tn(e, t) {
1406
+ function gn(e, t) {
1407
1407
  let n = e.length;
1408
1408
  if (n === 0) return {
1409
1409
  order: [],
@@ -1412,10 +1412,10 @@ function tn(e, t) {
1412
1412
  let r = "", i = Array(n);
1413
1413
  for (let t = 0; t < n; t++) {
1414
1414
  i[t] = r.length;
1415
- let n = $t(e[t]) ?? "";
1415
+ let n = mn(e[t]) ?? "";
1416
1416
  r += n.length > 0 ? n : "";
1417
1417
  }
1418
- let { levels: a, paragraphLevel: o } = ce().computeLevels(r, t ? "rtl" : "ltr"), { order: s, segLevels: c } = m(a, o, i), l = Array(n);
1418
+ let { levels: a, paragraphLevel: o } = M().computeLevels(r, t ? "rtl" : "ltr"), { order: s, segLevels: c } = ye(a, o, i), l = Array(n);
1419
1419
  for (let e = 0; e < n; e++) l[e] = (c[e] & 1) == 1;
1420
1420
  return {
1421
1421
  order: s,
@@ -1424,7 +1424,7 @@ function tn(e, t) {
1424
1424
  }
1425
1425
  //#endregion
1426
1426
  //#region packages/xlsx/src/a1.ts
1427
- function nn(e) {
1427
+ function _n(e) {
1428
1428
  let t = /^\$?([A-Z]+)\$?(\d+)$/.exec(e.trim());
1429
1429
  if (!t) return null;
1430
1430
  let n = t[1], r = 0;
@@ -1434,7 +1434,7 @@ function nn(e) {
1434
1434
  col: r
1435
1435
  };
1436
1436
  }
1437
- function rn(e, t) {
1437
+ function vn(e, t) {
1438
1438
  let n = "", r = t;
1439
1439
  for (; r > 0;) {
1440
1440
  let e = (r - 1) % 26;
@@ -1443,25 +1443,49 @@ function rn(e, t) {
1443
1443
  return `${n}${e}`;
1444
1444
  }
1445
1445
  //#endregion
1446
+ //#region packages/xlsx/src/vertical-text.ts
1447
+ function yn(e, t, n, r, a, o = !1) {
1448
+ let s = t.codePointAt(0) ?? 0, c = _e(s);
1449
+ if (o && D(s)) {
1450
+ e.save(), e.translate(n, r + a / 2), e.textAlign = "center", e.textBaseline = "middle", he(e, () => e.fillText(t, 0, 0)), e.restore();
1451
+ return;
1452
+ }
1453
+ if (c === "Tr") {
1454
+ let o = ve(s);
1455
+ if (o !== null) {
1456
+ e.fillText(String.fromCodePoint(o), n, r);
1457
+ return;
1458
+ }
1459
+ if (i(s)) {
1460
+ e.fillText(t, n, r);
1461
+ return;
1462
+ }
1463
+ e.save(), e.translate(n, r + a / 2), e.rotate(Math.PI / 2), e.textAlign = "center", e.textBaseline = "middle", e.fillText(t, 0, 0), e.restore();
1464
+ return;
1465
+ }
1466
+ let l = c === "Tu" ? L(s) : null;
1467
+ e.fillText(l === null ? t : String.fromCodePoint(l), n, r);
1468
+ }
1469
+ //#endregion
1446
1470
  //#region packages/xlsx/src/renderer.ts
1447
- function an(e, t) {
1471
+ function bn(e, t) {
1448
1472
  return t ? `${e}|duo:${t.clr1}:${t.clr2}` : e;
1449
1473
  }
1450
- var on = L.map((e) => `"${e}"`).join(", "), sn = se.map((e) => `"${e}"`).join(", "), cn = `"Calibri", "Carlito", "Cambria", "Caladea", Arial, "Noto Naskh Arabic", "Noto Sans Arabic", ${on}, sans-serif`, ln = `"Cambria", "Caladea", "Times New Roman", "Liberation Serif", "Noto Naskh Arabic", "Noto Sans Arabic", ${sn}, serif`, un = "\"Courier New\", \"Liberation Mono\", monospace";
1451
- function dn(e) {
1452
- let t = e ? te(e) : null, n = ee(e);
1453
- if (!t) return n === "serif" ? ln : n === "mono" ? un : cn;
1474
+ var xn = b.map((e) => `"${e}"`).join(", "), Sn = S.map((e) => `"${e}"`).join(", "), Cn = `"Calibri", "Carlito", "Cambria", "Caladea", Arial, "Noto Naskh Arabic", "Noto Sans Arabic", ${xn}, sans-serif`, wn = `"Cambria", "Caladea", "Times New Roman", "Liberation Serif", "Noto Naskh Arabic", "Noto Sans Arabic", ${Sn}, serif`, Tn = "\"Courier New\", \"Liberation Mono\", monospace";
1475
+ function En(e) {
1476
+ let t = e ? p(e) : null, n = v(e);
1477
+ if (!t) return n === "serif" ? wn : n === "mono" ? Tn : Cn;
1454
1478
  let r = n === "serif";
1455
- return `${O(t, r ? "serif" : "sans").map((e) => `"${e}"`).join(", ")}, "Calibri", "Carlito", "Cambria", "Caladea", Arial, "Noto Naskh Arabic", "Noto Sans Arabic", ${r ? sn : on}, ${r ? "serif" : "sans-serif"}`;
1479
+ return `${c(t, r ? "serif" : "sans").map((e) => `"${e}"`).join(", ")}, "Calibri", "Carlito", "Cambria", "Caladea", Arial, "Noto Naskh Arabic", "Noto Sans Arabic", ${r ? Sn : xn}, ${r ? "serif" : "sans-serif"}`;
1456
1480
  }
1457
- function fn(e) {
1458
- return e ? `"${e}", ${dn(e)}` : cn;
1481
+ function Dn(e) {
1482
+ return e ? `"${e}", ${En(e)}` : Cn;
1459
1483
  }
1460
- var pn = 11, mn = 8;
1461
- function hn(e, t, n) {
1484
+ var On = 11, kn = 8;
1485
+ function An(e, t, n) {
1462
1486
  return n - e - t;
1463
1487
  }
1464
- var gn = "#7a7a7a", _n = /* @__PURE__ */ new Map(), vn = {
1488
+ var jn = "#7a7a7a", Mn = /* @__PURE__ */ new Map(), Nn = {
1465
1489
  "meiryo ui": {
1466
1490
  10: 8,
1467
1491
  11: 8
@@ -1471,49 +1495,49 @@ var gn = "#7a7a7a", _n = /* @__PURE__ */ new Map(), vn = {
1471
1495
  11: 8
1472
1496
  }
1473
1497
  };
1474
- function yn(e, t) {
1475
- let n = `${e}:${t}`, r = _n.get(n);
1498
+ function Pn(e, t) {
1499
+ let n = `${e}:${t}`, r = Mn.get(n);
1476
1500
  if (r !== void 0) return r;
1477
- let i = vn[e.toLowerCase()]?.[Math.round(t)];
1478
- if (i !== void 0) return _n.set(n, i), i;
1479
- let a = t * w, o = typeof OffscreenCanvas < "u" ? new OffscreenCanvas(1, 1) : typeof document < "u" ? document.createElement("canvas") : null;
1480
- if (!o) return mn;
1501
+ let i = Nn[e.toLowerCase()]?.[Math.round(t)];
1502
+ if (i !== void 0) return Mn.set(n, i), i;
1503
+ let a = t * G, o = typeof OffscreenCanvas < "u" ? new OffscreenCanvas(1, 1) : typeof document < "u" ? document.createElement("canvas") : null;
1504
+ if (!o) return kn;
1481
1505
  let s = o.getContext("2d");
1482
- if (!s) return mn;
1483
- s.font = `${a}px ${fn(e)}`;
1506
+ if (!s) return kn;
1507
+ s.font = `${a}px ${Dn(e)}`;
1484
1508
  let c = 0;
1485
1509
  for (let e of "0123456789") {
1486
1510
  let t = s.measureText(e).width;
1487
1511
  t > c && (c = t);
1488
1512
  }
1489
- let l = Math.round(c) || mn;
1490
- return _n.set(n, l), l;
1513
+ let l = Math.round(c) || kn;
1514
+ return Mn.set(n, l), l;
1491
1515
  }
1492
1516
  function Z(e) {
1493
- return !e.defaultFontFamily || !e.defaultFontSize ? mn : yn(e.defaultFontFamily, e.defaultFontSize);
1517
+ return !e.defaultFontFamily || !e.defaultFontSize ? kn : Pn(e.defaultFontFamily, e.defaultFontSize);
1494
1518
  }
1495
- function Q(e, t = mn) {
1519
+ function Q(e, t = kn) {
1496
1520
  return Math.trunc((256 * e + Math.trunc(128 / t)) / 256 * t);
1497
1521
  }
1498
- function bn(e, t = mn) {
1522
+ function Fn(e, t = kn) {
1499
1523
  return e / t;
1500
1524
  }
1501
1525
  function $(e) {
1502
- return Math.round(e * w);
1526
+ return Math.round(e * G);
1503
1527
  }
1504
- function xn(e) {
1505
- return e / w;
1528
+ function In(e) {
1529
+ return e / G;
1506
1530
  }
1507
- function Sn(e, t, n, r, i, a, o) {
1531
+ function Ln(e, t, n, r, i, a, o) {
1508
1532
  if (!(i <= 0 || a <= 0)) {
1509
1533
  if (o) {
1510
1534
  let a = e.createLinearGradient(n, r, n + i, r);
1511
- a.addColorStop(0, v(t, .85)), a.addColorStop(1, v(t, .15)), e.fillStyle = a;
1512
- } else e.fillStyle = v(t);
1535
+ a.addColorStop(0, R(t, .85)), a.addColorStop(1, R(t, .15)), e.fillStyle = a;
1536
+ } else e.fillStyle = R(t);
1513
1537
  e.fillRect(n, r, i, a);
1514
1538
  }
1515
1539
  }
1516
- function Cn(e) {
1540
+ function Rn(e) {
1517
1541
  switch (e) {
1518
1542
  case "solid": return 1;
1519
1543
  case "darkGray": return .75;
@@ -1536,7 +1560,7 @@ function Cn(e) {
1536
1560
  default: return 1;
1537
1561
  }
1538
1562
  }
1539
- var wn = /* @__PURE__ */ new Map(), Tn = {
1563
+ var zn = /* @__PURE__ */ new Map(), Bn = {
1540
1564
  gray0625: [
1541
1565
  128,
1542
1566
  0,
@@ -1698,16 +1722,16 @@ var wn = /* @__PURE__ */ new Map(), Tn = {
1698
1722
  153
1699
1723
  ]
1700
1724
  };
1701
- function En(e, t, n, r) {
1725
+ function Vn(e, t, n, r) {
1702
1726
  let i = e.getTransform(), a = Math.max(1, Math.round(Math.hypot(i.a, i.b))), o = Math.max(1, Math.round(Math.hypot(i.c, i.d))), s = `${t}|${n}|${r}|${a}|${o}`;
1703
- if (wn.has(s)) return wn.get(s);
1704
- let c = Tn[t];
1705
- if (!c) return wn.set(s, null), null;
1706
- let l = c.length, u = B(l, l);
1707
- if (!u) return wn.set(s, null), null;
1727
+ if (zn.has(s)) return zn.get(s);
1728
+ let c = Bn[t];
1729
+ if (!c) return zn.set(s, null), null;
1730
+ let l = c.length, u = k(l, l);
1731
+ if (!u) return zn.set(s, null), null;
1708
1732
  let d = u.getContext("2d");
1709
- if (!d) return wn.set(s, null), null;
1710
- d.fillStyle = v(r), d.fillRect(0, 0, l, l), d.fillStyle = v(n);
1733
+ if (!d) return zn.set(s, null), null;
1734
+ d.fillStyle = R(r), d.fillRect(0, 0, l, l), d.fillStyle = R(n);
1711
1735
  for (let e = 0; e < l; e++) {
1712
1736
  let t = c[e];
1713
1737
  for (let n = 0; n < l; n++) t & 1 << l - 1 - n && d.fillRect(n, e, 1, 1);
@@ -1717,23 +1741,23 @@ function En(e, t, n, r) {
1717
1741
  let e = new DOMMatrix();
1718
1742
  e.scaleSelf(1 / a, 1 / o), f.setTransform(e);
1719
1743
  }
1720
- return wn.set(s, f), f;
1744
+ return zn.set(s, f), f;
1721
1745
  }
1722
- function Dn(e, t, n, r, i, a) {
1723
- if (t.gradient && t.gradient.stops.length > 0) return e.fillStyle = On(e, t.gradient, n, r, i, a), e.fillRect(n, r, i, a), !0;
1746
+ function Hn(e, t, n, r, i, a) {
1747
+ if (t.gradient && t.gradient.stops.length > 0) return e.fillStyle = Un(e, t.gradient, n, r, i, a), e.fillRect(n, r, i, a), !0;
1724
1748
  let o = t.patternType;
1725
1749
  if (!o || o === "none") return !1;
1726
1750
  let s = t.fgColor ?? "000000", c = t.bgColor ?? "FFFFFF";
1727
- if (o === "solid") return e.fillStyle = v(s), e.fillRect(n, r, i, a), !0;
1728
- let l = En(e, o, s, c);
1751
+ if (o === "solid") return e.fillStyle = R(s), e.fillRect(n, r, i, a), !0;
1752
+ let l = Vn(e, o, s, c);
1729
1753
  if (l) e.fillStyle = l;
1730
1754
  else {
1731
- let t = Cn(o);
1732
- e.fillStyle = t >= 1 ? v(s) : jn(s, c, t);
1755
+ let t = Rn(o);
1756
+ e.fillStyle = t >= 1 ? R(s) : Kn(s, c, t);
1733
1757
  }
1734
1758
  return e.fillRect(n, r, i, a), !0;
1735
1759
  }
1736
- function On(e, t, n, r, i, a) {
1760
+ function Un(e, t, n, r, i, a) {
1737
1761
  let o;
1738
1762
  if (t.gradientType === "path") {
1739
1763
  let s = n + i * (t.left + (1 - t.right - t.left) / 2), c = r + a * (t.top + (1 - t.bottom - t.top) / 2), l = Math.hypot(Math.max(s - n, n + i - s), Math.max(c - r, r + a - c));
@@ -1744,32 +1768,32 @@ function On(e, t, n, r, i, a) {
1744
1768
  }
1745
1769
  for (let e of t.stops) {
1746
1770
  let t = Math.min(1, Math.max(0, e.position));
1747
- o.addColorStop(t, v(e.color));
1771
+ o.addColorStop(t, R(e.color));
1748
1772
  }
1749
1773
  return o;
1750
1774
  }
1751
- var kn = nn;
1752
- function An(e, t, n, r, i) {
1775
+ var Wn = _n;
1776
+ function Gn(e, t, n, r, i) {
1753
1777
  let a = Math.max(4, Math.min(8, Math.min(r, i) * .18));
1754
1778
  e.save(), e.fillStyle = "#D40000", e.beginPath(), e.moveTo(t + r - a, n), e.lineTo(t + r, n), e.lineTo(t + r, n + a), e.closePath(), e.fill(), e.restore();
1755
1779
  }
1756
- function jn(e, t, n) {
1780
+ function Kn(e, t, n) {
1757
1781
  let r = e.replace("#", ""), i = t.replace("#", ""), a = parseInt(r.slice(0, 2), 16), o = parseInt(r.slice(2, 4), 16), s = parseInt(r.slice(4, 6), 16), c = parseInt(i.slice(0, 2), 16), l = parseInt(i.slice(2, 4), 16), u = parseInt(i.slice(4, 6), 16), d = Math.min(1, Math.max(0, n));
1758
1782
  return `rgb(${Math.round(a * d + c * (1 - d))},${Math.round(o * d + l * (1 - d))},${Math.round(s * d + u * (1 - d))})`;
1759
1783
  }
1760
- function Mn(e, t, n = 1, r) {
1761
- let i = Math.round(e * w * n * t);
1762
- return r ? Math.max(i, Math.round(V(r, e * w * t))) : i;
1784
+ function qn(e, t, n = 1, r) {
1785
+ let i = Math.round(e * G * n * t);
1786
+ return r ? Math.max(i, Math.round(le(r, e * G * t))) : i;
1763
1787
  }
1764
- function Nn(e, t = 1) {
1765
- return `${e.italic ? "italic " : ""}${e.bold ? "bold " : ""}${Math.max(1, Math.round(e.size * w * t))}px ${fn(e.name)}`;
1788
+ function Jn(e, t = 1) {
1789
+ return `${e.italic ? "italic " : ""}${e.bold ? "bold " : ""}${Math.max(1, Math.round(e.size * G * t))}px ${Dn(e.name)}`;
1766
1790
  }
1767
- function Pn(e, t, n, r, i, a, o, s, c, l) {
1791
+ function Yn(e, t, n, r, i, a, o, s, c, l) {
1768
1792
  if (t.length === 0) return;
1769
1793
  let u = n?.fontId ?? 0, d = a.fonts[u] ?? a.fonts[0];
1770
1794
  if (!d) return;
1771
1795
  let f = n?.alignment ?? "left";
1772
- e.save(), e.font = Nn(d, c), e.textBaseline = "top", e.textAlign = "left", e.fillStyle = l;
1796
+ e.save(), e.font = Jn(d, c), e.textBaseline = "top", e.textAlign = "left", e.fillStyle = l;
1773
1797
  let p = s + Math.round(2 * c);
1774
1798
  if (f === "noControl") {
1775
1799
  let n = o;
@@ -1777,7 +1801,7 @@ function Pn(e, t, n, r, i, a, o, s, c, l) {
1777
1801
  e.restore();
1778
1802
  return;
1779
1803
  }
1780
- let m = Te(t, r, o, f, (t) => Fn(e, t, i));
1804
+ let m = Re(t, r, o, f, (t) => Xn(e, t, i));
1781
1805
  for (let t of m) {
1782
1806
  let n = e.measureText(t.text).width, r = [...t.text];
1783
1807
  if (t.spread === "distribute" && r.length > 1 && n < t.width) {
@@ -1793,23 +1817,23 @@ function Pn(e, t, n, r, i, a, o, s, c, l) {
1793
1817
  }
1794
1818
  e.restore();
1795
1819
  }
1796
- function Fn(e, t, n) {
1820
+ function Xn(e, t, n) {
1797
1821
  let r = e.font;
1798
1822
  e.font = n;
1799
1823
  let i = e.measureText(t).width;
1800
1824
  return e.font = r, i;
1801
1825
  }
1802
- function In(e, t, n, i, a, o, s = 1) {
1803
- if (e.save(), e.strokeStyle = a, e.lineWidth = .5, e.beginPath(), o) {
1804
- let a = i - 1, o = i + 1, c = a + r(a, .5, s), l = o + r(o, .5, s);
1805
- e.moveTo(t, c), e.lineTo(n, c), e.moveTo(t, l), e.lineTo(n, l);
1826
+ function Zn(e, t, n, r, i, a, o = 1) {
1827
+ if (e.save(), e.strokeStyle = i, e.lineWidth = .5, e.beginPath(), a) {
1828
+ let i = r - 1, a = r + 1, s = i + N(i, .5, o), c = a + N(a, .5, o);
1829
+ e.moveTo(t, s), e.lineTo(n, s), e.moveTo(t, c), e.lineTo(n, c);
1806
1830
  } else {
1807
- let a = i + r(i, .5, s);
1808
- e.moveTo(t, a), e.lineTo(n, a);
1831
+ let i = r + N(r, .5, o);
1832
+ e.moveTo(t, i), e.lineTo(n, i);
1809
1833
  }
1810
1834
  e.stroke(), e.restore();
1811
1835
  }
1812
- function Ln(e, t) {
1836
+ function Qn(e, t) {
1813
1837
  let n = t.font;
1814
1838
  return n ? {
1815
1839
  bold: n.bold,
@@ -1823,7 +1847,7 @@ function Ln(e, t) {
1823
1847
  vertAlign: n.vertAlign
1824
1848
  } : e;
1825
1849
  }
1826
- function Rn(e, t) {
1850
+ function $n(e, t) {
1827
1851
  let n = e.cellXfs[t] ?? e.cellXfs[0] ?? {
1828
1852
  fontId: 0,
1829
1853
  fillId: 0,
@@ -1839,7 +1863,7 @@ function Rn(e, t) {
1839
1863
  italic: !1,
1840
1864
  underline: !1,
1841
1865
  strike: !1,
1842
- size: pn,
1866
+ size: On,
1843
1867
  color: null,
1844
1868
  name: null
1845
1869
  },
@@ -1857,30 +1881,41 @@ function Rn(e, t) {
1857
1881
  xf: n
1858
1882
  };
1859
1883
  }
1860
- function zn(e, t, n) {
1884
+ function er(e, t, n) {
1861
1885
  let r = [];
1862
- for (let i of t.split("\n")) r.push(...Hn(e, i, n));
1886
+ for (let i of t.split("\n")) r.push(...ir(e, i, n));
1863
1887
  return r;
1864
1888
  }
1865
- function Bn(e, t) {
1889
+ function tr(e, t) {
1866
1890
  if (e.length === 0 || t.length === 0) return 0;
1867
1891
  let n = [...e, ...t], r = e.length;
1868
- return r - G(n, r, S, 1);
1892
+ return r - f(n, r, _, 1);
1869
1893
  }
1870
- function Vn(e, t) {
1894
+ function nr(e, t) {
1871
1895
  let n = t;
1872
1896
  for (; n < e.length;) {
1873
1897
  let t = e[e.length - n - 1], r = e[e.length - n], i = t?.codePointAt(0), a = r?.codePointAt(0);
1874
- if (i !== void 0 && a !== void 0 && y(i) && y(a)) n++;
1898
+ if (i !== void 0 && a !== void 0 && T(i) && T(a)) n++;
1875
1899
  else break;
1876
1900
  }
1877
1901
  return n >= e.length ? t : n;
1878
1902
  }
1879
- function Hn(e, t, n) {
1903
+ function rr(e, t) {
1904
+ if (e.length === 0 || t.length === 0) return 0;
1905
+ let n = t[0].codePointAt(0), r = e.length - 1, i = e[r].codePointAt(0);
1906
+ if (i === void 0 || n === void 0 || i === 8203 || n === 8203 || !y(i, n)) return 0;
1907
+ for (; r > 0;) {
1908
+ let t = e[r - 1].codePointAt(0), n = e[r].codePointAt(0);
1909
+ if (t === void 0 || n === void 0 || !y(t, n)) break;
1910
+ r--;
1911
+ }
1912
+ return r === 0 ? 0 : e.length - r;
1913
+ }
1914
+ function ir(e, t, n) {
1880
1915
  let r = [], i = [], a = 0;
1881
1916
  for (; a < t.length;) {
1882
1917
  let e = t[a], n = e.codePointAt(0) ?? 0;
1883
- if (k(n)) i.push(e), a += n > 65535 ? 2 : 1;
1918
+ if (x(n)) i.push(e), a += n > 65535 ? 2 : 1;
1884
1919
  else if (e === " ") {
1885
1920
  let e = a;
1886
1921
  for (; e < t.length && t[e] === " ";) e++;
@@ -1889,10 +1924,16 @@ function Hn(e, t, n) {
1889
1924
  let e = a;
1890
1925
  for (; e < t.length;) {
1891
1926
  let n = t[e], r = n.codePointAt(0) ?? 0;
1892
- if (n === " " || k(r)) break;
1927
+ if (n === " " || x(r)) break;
1893
1928
  e += r > 65535 ? 2 : 1;
1894
1929
  }
1895
- i.push(t.slice(a, e)), a = e;
1930
+ let n = t.slice(a, e), r = J(n) ? ne(n) : null;
1931
+ if (r && r.length > 0) {
1932
+ let e = 0;
1933
+ for (let t of r) i.push(n.slice(e, t)), e = t;
1934
+ i.push(n.slice(e));
1935
+ } else i.push(n);
1936
+ a = e;
1896
1937
  }
1897
1938
  }
1898
1939
  let o = "";
@@ -1906,7 +1947,7 @@ function Hn(e, t, n) {
1906
1947
  else {
1907
1948
  let e = t.replace(/^ +/, "");
1908
1949
  e === "" && (e = t);
1909
- let n = [...o], i = Bn(n, [...e]);
1950
+ let n = [...o], i = tr(n, [...e]);
1910
1951
  if (i > 0) {
1911
1952
  let t = n.length - i;
1912
1953
  r.push(n.slice(0, t).join("")), o = n.slice(t).join("") + e;
@@ -1915,63 +1956,83 @@ function Hn(e, t, n) {
1915
1956
  }
1916
1957
  return r.push(o), r;
1917
1958
  }
1918
- function Un(e, t, n, r, i) {
1919
- let a = [], o = [], s = 0, c = 0, l = null, u = n.size, d = n.name, f = 0, p = () => {
1920
- o.length !== 0 && (a.push({
1921
- segments: o,
1922
- maxFontSize: c,
1923
- maxFontFamily: l,
1924
- para: f
1925
- }), o = [], s = 0, c = 0, l = null);
1926
- }, m = () => {
1927
- if (o.length === 0) {
1959
+ function ar(e, t, n, r, i) {
1960
+ let a = [], s = [], c = 0, l = 0, u = null, d = n.size, f = n.name, p = 0, m = () => {
1961
+ s.length !== 0 && (a.push({
1962
+ segments: s,
1963
+ maxFontSize: l,
1964
+ maxFontFamily: u,
1965
+ para: p
1966
+ }), s = [], c = 0, l = 0, u = null);
1967
+ }, h = () => {
1968
+ if (s.length === 0) {
1928
1969
  a.push({
1929
1970
  segments: [],
1930
- maxFontSize: u || pn,
1931
- maxFontFamily: d,
1932
- para: f
1971
+ maxFontSize: d || On,
1972
+ maxFontFamily: f,
1973
+ para: p
1933
1974
  });
1934
1975
  return;
1935
1976
  }
1936
- p();
1937
- }, h = (t, n) => {
1977
+ m();
1978
+ }, g = (t, n) => {
1938
1979
  if (!t) return;
1939
- u = n.size, d = n.name, e.font = Nn(Gn(n), r);
1980
+ d = n.size, f = n.name, e.font = Jn(sr(n), r);
1940
1981
  let a = e.measureText(t).width;
1941
- if (o.length > 0 && s + a > i) {
1942
- let i = o.flatMap((e) => [...e.text]), a = Bn(i, [...t]);
1943
- a > 0 && (a = Vn(i, a));
1944
- let u = o[o.length - 1], d = [...u.text];
1982
+ if (s.length > 0 && c + a > i) {
1983
+ let i = s.flatMap((e) => [...e.text]), a = tr(i, [...t]);
1984
+ a > 0 ? a = nr(i, a) : !J(t) && !J(s[s.length - 1]?.text ?? "") && !/^\s/u.test(t) && !/\s$/u.test(i.at(-1) ?? "") && (a = rr(i, [...t]));
1985
+ let o = s[s.length - 1], d = [...o.text];
1945
1986
  a > d.length && (a = d.length);
1946
1987
  let f = null;
1947
1988
  if (a > 0) {
1948
1989
  let t = d.slice(0, d.length - a), n = d.slice(d.length - a);
1949
- if (e.font = Nn(Gn(u.font), r), t.length === 0) o.pop();
1990
+ if (e.font = Jn(sr(o.font), r), t.length === 0) s.pop();
1950
1991
  else {
1951
1992
  let n = t.join("");
1952
- u.text = n, u.width = e.measureText(n).width;
1993
+ o.text = n, o.width = e.measureText(n).width;
1953
1994
  }
1954
1995
  let i = n.join("");
1955
1996
  f = {
1956
1997
  text: i,
1957
- font: u.font,
1998
+ font: o.font,
1958
1999
  width: e.measureText(i).width
1959
2000
  };
1960
2001
  }
1961
- p(), f && (o.push(f), s += f.width, f.font.size > c && (c = f.font.size, l = f.font.name)), e.font = Nn(Gn(n), r);
2002
+ m(), f && (s.push(f), c += f.width, f.font.size > l && (l = f.font.size, u = f.font.name)), e.font = Jn(sr(n), r);
1962
2003
  }
1963
- o.push({
2004
+ s.push({
1964
2005
  text: t,
1965
2006
  font: n,
1966
2007
  width: a
1967
- }), s += a, n.size > c && (c = n.size, l = n.name);
2008
+ }), c += a, n.size > l && (l = n.size, u = n.name);
2009
+ }, _ = (t, n) => {
2010
+ let a = ne(t);
2011
+ if (a.length === 0) {
2012
+ g(t, n);
2013
+ return;
2014
+ }
2015
+ e.font = Jn(sr(n), r);
2016
+ let s = (t) => e.measureText(t).width, l = C(t), u = t.length, d = 0;
2017
+ for (; d < u;) {
2018
+ let e = i - c, r = O(t, a, d, e, s, l);
2019
+ if (r <= d) {
2020
+ if (c > 0) {
2021
+ m();
2022
+ continue;
2023
+ }
2024
+ let n = a.find((e) => e > d) ?? u, i = t.slice(d, n), f = o(i), p = O(i, f, 0, e, s, l);
2025
+ p <= 0 && (p = f.length > 0 ? f[0] : i.length), r = d + p;
2026
+ }
2027
+ g(t.slice(d, r), n), d = r, d < u && m();
2028
+ }
1968
2029
  };
1969
2030
  for (let e of t) {
1970
- let t = Ln(n, e), r = [], i = 0;
2031
+ let t = Qn(n, e), r = [], i = 0;
1971
2032
  for (; i < e.text.length;) {
1972
2033
  let t = e.text[i], n = t.codePointAt(0) ?? 0;
1973
2034
  if (n === 10) r.push("\n"), i += 1;
1974
- else if (k(n)) r.push(t), i += n > 65535 ? 2 : 1;
2035
+ else if (x(n)) r.push(t), i += n > 65535 ? 2 : 1;
1975
2036
  else if (t === " ") {
1976
2037
  let t = i;
1977
2038
  for (; t < e.text.length && e.text[t] === " ";) t++;
@@ -1980,17 +2041,17 @@ function Un(e, t, n, r, i) {
1980
2041
  let t = i;
1981
2042
  for (; t < e.text.length;) {
1982
2043
  let n = e.text[t], r = n.codePointAt(0) ?? 0;
1983
- if (n === " " || n === "\n" || k(r)) break;
2044
+ if (n === " " || n === "\n" || x(r)) break;
1984
2045
  t += r > 65535 ? 2 : 1;
1985
2046
  }
1986
2047
  r.push(e.text.slice(i, t)), i = t;
1987
2048
  }
1988
2049
  }
1989
- for (let e of r) e === "\n" ? (m(), f++) : h(e, t);
2050
+ for (let e of r) e === "\n" ? (h(), p++) : J(e) ? _(e, t) : g(e, t);
1990
2051
  }
1991
- return (o.length > 0 || a.length > 0) && m(), a;
2052
+ return (s.length > 0 || a.length > 0) && h(), a;
1992
2053
  }
1993
- function Wn(e, t, n) {
2054
+ function or(e, t, n) {
1994
2055
  return e === "middle" ? {
1995
2056
  underline: t + Math.round(n * .55),
1996
2057
  strike: t
@@ -2002,66 +2063,66 @@ function Wn(e, t, n) {
2002
2063
  strike: t + Math.round(n * .5)
2003
2064
  };
2004
2065
  }
2005
- function Gn(e) {
2066
+ function sr(e) {
2006
2067
  return e.vertAlign === "superscript" || e.vertAlign === "subscript" ? {
2007
2068
  ...e,
2008
2069
  size: e.size * .65
2009
2070
  } : e;
2010
2071
  }
2011
- function Kn(e, t, n, i, a, o, s, c) {
2012
- e.textAlign = "left", e.textBaseline = a;
2013
- let l = c.needBidi ? tn(t, c.baseRtl ?? !1) : null, u = e, d = n;
2072
+ function cr(e, t, n, r, i, a, o, s) {
2073
+ e.textAlign = "left", e.textBaseline = i;
2074
+ let c = s.needBidi ? gn(t, s.baseRtl ?? !1) : null, l = e, u = n;
2014
2075
  for (let n = 0; n < t.length; n++) {
2015
- let f = l ? l.order[n] : n;
2016
- if (l) try {
2017
- u.direction = l.rtl[f] ? "rtl" : "ltr";
2076
+ let d = c ? c.order[n] : n;
2077
+ if (c) try {
2078
+ l.direction = c.rtl[d] ? "rtl" : "ltr";
2018
2079
  } catch {}
2019
- let p = t[f], m = Gn(p.font);
2020
- e.font = Nn(m, o);
2021
- let h = c.fontColor ?? p.font.color;
2022
- e.fillStyle = h ? v(h) : "#000000";
2023
- let g = Mn(p.font.size, o), _ = 0;
2024
- p.font.vertAlign === "superscript" ? _ = -Math.round(g * .35) : p.font.vertAlign === "subscript" && (_ = Math.round(g * .1)), e.fillText(p.text, d, i + _);
2025
- let y = Mn(m.size, o);
2026
- if (p.font.underline || p.font.strike) {
2027
- let t = Wn(a, i, y);
2028
- if (p.font.underline) {
2029
- let n = h ? v(h) : "#000000", r = p.font.underlineStyle === "double" || p.font.underlineStyle === "doubleAccounting";
2030
- In(e, d, d + p.width, t.underline + _, n, r, s);
2080
+ let f = t[d], p = sr(f.font);
2081
+ e.font = Jn(p, a);
2082
+ let m = s.fontColor ?? f.font.color;
2083
+ e.fillStyle = m ? R(m) : "#000000";
2084
+ let h = qn(f.font.size, a), g = 0;
2085
+ f.font.vertAlign === "superscript" ? g = -Math.round(h * .35) : f.font.vertAlign === "subscript" && (g = Math.round(h * .1)), e.fillText(f.text, u, r + g);
2086
+ let _ = qn(p.size, a);
2087
+ if (f.font.underline || f.font.strike) {
2088
+ let t = or(i, r, _);
2089
+ if (f.font.underline) {
2090
+ let n = m ? R(m) : "#000000", r = f.font.underlineStyle === "double" || f.font.underlineStyle === "doubleAccounting";
2091
+ Zn(e, u, u + f.width, t.underline + g, n, r, o);
2031
2092
  }
2032
- if (p.font.strike) {
2033
- let n = t.strike + _, i = n + r(n, .5, s);
2034
- e.save(), e.strokeStyle = h ? v(h) : "#000000", e.lineWidth = .5, e.beginPath(), e.moveTo(d, i), e.lineTo(d + p.width, i), e.stroke(), e.restore();
2093
+ if (f.font.strike) {
2094
+ let n = t.strike + g, r = n + N(n, .5, o);
2095
+ e.save(), e.strokeStyle = m ? R(m) : "#000000", e.lineWidth = .5, e.beginPath(), e.moveTo(u, r), e.lineTo(u + f.width, r), e.stroke(), e.restore();
2035
2096
  }
2036
2097
  }
2037
- d += p.width;
2098
+ u += f.width;
2038
2099
  }
2039
- if (l) try {
2040
- u.direction = "ltr";
2100
+ if (c) try {
2101
+ l.direction = "ltr";
2041
2102
  } catch {}
2042
2103
  }
2043
- function qn(e, t, n, r, i, a, o, s, c) {
2104
+ function lr(e, t, n, r, i, a, o, s, c) {
2044
2105
  let { alignH: l, cx: u, cellW: d, leftPad: f, paddingX: p } = r, m = t.map((t) => {
2045
- let r = Ln(n, t);
2046
- return e.font = Nn(Gn(r), i), {
2106
+ let r = Qn(n, t);
2107
+ return e.font = Jn(sr(r), i), {
2047
2108
  text: t.text,
2048
2109
  font: r,
2049
2110
  width: e.measureText(t.text).width
2050
2111
  };
2051
2112
  }), h = m.reduce((e, t) => e + t.width, 0), g;
2052
2113
  g = l === "right" ? u + d - p - h : l === "center" ? u + d / 2 - h / 2 : u + f;
2053
- let { needBidi: _, baseRtl: v } = en(o.readingOrder, m.map((e) => e.text).join(""));
2054
- Kn(e, m, g, s, c, i, a, {
2114
+ let { needBidi: _, baseRtl: v } = hn(o.readingOrder, m.map((e) => e.text).join(""));
2115
+ cr(e, m, g, s, c, i, a, {
2055
2116
  fontColor: o.fontColor,
2056
2117
  needBidi: _,
2057
2118
  baseRtl: v
2058
2119
  });
2059
2120
  }
2060
- function Jn(e, t, n, r, i, a, o = {}) {
2121
+ function ur(e, t, n, r, i, a, o = {}) {
2061
2122
  let { alignV: s, cy: c, cellH: l, paddingY: u } = r, d, f;
2062
- s === "top" ? (f = "top", d = c + u) : s === "center" ? (f = "middle", d = c + l / 2) : (f = "bottom", d = c + l - u), qn(e, t, n, r, i, a, o, d, f);
2123
+ s === "top" ? (f = "top", d = c + u) : s === "center" ? (f = "middle", d = c + l / 2) : (f = "bottom", d = c + l - u), lr(e, t, n, r, i, a, o, d, f);
2063
2124
  }
2064
- function Yn(e, t, n, r, i, a, o = {}) {
2125
+ function dr(e, t, n, r, i, a, o = {}) {
2065
2126
  let { alignV: s, cy: c, cellH: l, paddingY: u } = r, d = [[]];
2066
2127
  for (let e of t) {
2067
2128
  let t = e.text.split("\n");
@@ -2072,44 +2133,44 @@ function Yn(e, t, n, r, i, a, o = {}) {
2072
2133
  }
2073
2134
  let f = n.size, p = n.name, m = d.map((e) => {
2074
2135
  if (e.length === 0) return {
2075
- pt: f || pn,
2136
+ pt: f || On,
2076
2137
  family: p
2077
2138
  };
2078
2139
  let t = 0, r = null;
2079
2140
  for (let i of e) {
2080
- let e = Ln(n, i);
2141
+ let e = Qn(n, i);
2081
2142
  e.size > t && (t = e.size, r = e.name), f = e.size, p = e.name;
2082
2143
  }
2083
2144
  return {
2084
2145
  pt: t,
2085
2146
  family: r
2086
2147
  };
2087
- }).map((e) => Mn(e.pt, i, 1.2, e.family ?? void 0)), h = m.reduce((e, t) => e + t, 0), g;
2148
+ }).map((e) => qn(e.pt, i, 1.2, e.family ?? void 0)), h = m.reduce((e, t) => e + t, 0), g;
2088
2149
  g = s === "top" ? c + u : s === "center" ? c + (l - h) / 2 : c + l - h - u;
2089
2150
  for (let t = 0; t < d.length; t++) {
2090
2151
  let s = d[t];
2091
- s.length > 0 && qn(e, s, n, r, i, a, o, g, "top"), g += m[t];
2152
+ s.length > 0 && lr(e, s, n, r, i, a, o, g, "top"), g += m[t];
2092
2153
  }
2093
2154
  }
2094
- function Xn(e, t, n, r, i, a, o = {}) {
2095
- t.some((e) => e.text.includes("\n")) ? Yn(e, t, n, r, i, a, o) : Jn(e, t, n, r, i, a, o);
2155
+ function fr(e, t, n, r, i, a, o = {}) {
2156
+ t.some((e) => e.text.includes("\n")) ? dr(e, t, n, r, i, a, o) : ur(e, t, n, r, i, a, o);
2096
2157
  }
2097
- function Zn(e, t, n, r, i, a, o = {}) {
2098
- let { alignH: s, alignV: c, cx: l, cy: u, cellW: d, cellH: f, leftPad: p, paddingX: m, paddingY: h } = r, g = Un(e, t, n, i, d - p - m), _ = g.reduce((e, t) => e + Mn(t.maxFontSize, i, 1.2, t.maxFontFamily ?? void 0), 0), v;
2158
+ function pr(e, t, n, r, i, a, o = {}) {
2159
+ let { alignH: s, alignV: c, cx: l, cy: u, cellW: d, cellH: f, leftPad: p, paddingX: m, paddingY: h } = r, g = ar(e, t, n, i, d - p - m), _ = g.reduce((e, t) => e + qn(t.maxFontSize, i, 1.2, t.maxFontFamily ?? void 0), 0), v;
2099
2160
  v = c === "top" ? u + h : c === "center" ? u + (f - _) / 2 : u + f - _ - h;
2100
- let y = t.map((e) => e.text).join("").split("\n").map((e) => en(o.readingOrder, e));
2161
+ let y = t.map((e) => e.text).join("").split("\n").map((e) => hn(o.readingOrder, e));
2101
2162
  for (let t of g) {
2102
2163
  let n = t.segments.reduce((e, t) => e + t.width, 0), r;
2103
2164
  r = s === "right" ? l + d - m - n : s === "center" ? l + d / 2 - n / 2 : l + p;
2104
2165
  let { needBidi: c, baseRtl: u } = y[t.para];
2105
- Kn(e, t.segments, r, v, "top", i, a, {
2166
+ cr(e, t.segments, r, v, "top", i, a, {
2106
2167
  fontColor: o.fontColor,
2107
2168
  needBidi: c,
2108
2169
  baseRtl: u
2109
- }), v += Mn(t.maxFontSize, i, 1.2, t.maxFontFamily ?? void 0);
2170
+ }), v += qn(t.maxFontSize, i, 1.2, t.maxFontFamily ?? void 0);
2110
2171
  }
2111
2172
  }
2112
- function Qn(e) {
2173
+ function mr(e) {
2113
2174
  let t = "";
2114
2175
  for (; e > 0;) {
2115
2176
  let n = (e - 1) % 26;
@@ -2117,38 +2178,38 @@ function Qn(e) {
2117
2178
  }
2118
2179
  return t;
2119
2180
  }
2120
- var $n = [
2181
+ var hr = [
2121
2182
  "#FF0000",
2122
2183
  "#FFFF00",
2123
2184
  "#00B050"
2124
- ], er = [
2185
+ ], gr = [
2125
2186
  "#FF0000",
2126
2187
  "#FF6600",
2127
2188
  "#FFFF00",
2128
2189
  "#00B050"
2129
- ], tr = [
2190
+ ], _r = [
2130
2191
  "#FF0000",
2131
2192
  "#FF6600",
2132
2193
  "#FFFF00",
2133
2194
  "#92D050",
2134
2195
  "#00B050"
2135
2196
  ];
2136
- function nr(e, t, n, r, i, a) {
2197
+ function vr(e, t, n, r, i, a) {
2137
2198
  if (t === "NoIcons") return;
2138
- let o = t || "3TrafficLights1", s = parseInt(o[0]) || 3, c = s === 5 ? tr : s === 4 ? er : $n, l = c[Math.max(0, Math.min(n, c.length - 1))];
2199
+ let o = t || "3TrafficLights1", s = parseInt(o[0]) || 3, c = s === 5 ? _r : s === 4 ? gr : hr, l = c[Math.max(0, Math.min(n, c.length - 1))];
2139
2200
  if (e.save(), e.fillStyle = l, o.includes("Arrow")) {
2140
2201
  let t = a / 2;
2141
2202
  e.beginPath(), n === s - 1 ? (e.moveTo(r + t, i), e.lineTo(r + a, i + a), e.lineTo(r, i + a)) : n === 0 ? (e.moveTo(r, i), e.lineTo(r + a, i), e.lineTo(r + t, i + a)) : (e.moveTo(r, i + a * .3), e.lineTo(r + a, i + t), e.lineTo(r, i + a * .7)), e.closePath(), e.fill();
2142
2203
  } else o.includes("Flag") ? (e.beginPath(), e.moveTo(r, i), e.lineTo(r + a, i), e.lineTo(r, i + a), e.closePath(), e.fill()) : (e.beginPath(), e.arc(r + a / 2, i + a / 2, a / 2, 0, Math.PI * 2), e.fill());
2143
2204
  e.restore();
2144
2205
  }
2145
- function rr(e, t, n, r, i) {
2206
+ function yr(e, t, n, r, i) {
2146
2207
  let a = Math.max(6, Math.round(Math.min(r, i) * .45)), o = t + r - a - 1, s = n + i - a - 1;
2147
2208
  e.save(), e.fillStyle = "#D0D0D0", e.fillRect(o, s, a, a), e.fillStyle = "#444444";
2148
2209
  let c = a * .55, l = o + (a - c) / 2, u = s + (a - c * .5) / 2;
2149
2210
  e.beginPath(), e.moveTo(l, u), e.lineTo(l + c, u), e.lineTo(l + c / 2, u + c * .5), e.closePath(), e.fill(), e.restore();
2150
2211
  }
2151
- function ir(e) {
2212
+ function br(e) {
2152
2213
  let t = /* @__PURE__ */ new Map();
2153
2214
  for (let n of e.tables ?? []) {
2154
2215
  if (!n.styleName) continue;
@@ -2176,7 +2237,7 @@ function ir(e) {
2176
2237
  }
2177
2238
  return t;
2178
2239
  }
2179
- function ar(e, t, n, r) {
2240
+ function xr(e, t, n, r) {
2180
2241
  let i = t?.border?.horizontal, a = t?.border?.top, o = t?.border?.bottom, s = t?.border?.left, c = t?.border?.right, l = n?.border?.bottom, u = n?.border?.top;
2181
2242
  if (i || a || o || s || c || l || u) {
2182
2243
  let t = {
@@ -2197,7 +2258,7 @@ function ar(e, t, n, r) {
2197
2258
  topEdge: e.isTopEdge
2198
2259
  };
2199
2260
  }
2200
- function or(e) {
2261
+ function Sr(e) {
2201
2262
  let t = /* @__PURE__ */ new Map();
2202
2263
  for (let n of e.sparklineGroups ?? []) {
2203
2264
  let e = Infinity, r = -Infinity;
@@ -2234,376 +2295,379 @@ function or(e) {
2234
2295
  }
2235
2296
  return t;
2236
2297
  }
2237
- function sr(e) {
2298
+ function Cr(e) {
2238
2299
  let t = e.replace("#", "");
2239
2300
  if (t.length < 6) return "#F2F2F2";
2240
2301
  let n = parseInt(t.slice(0, 2), 16), r = parseInt(t.slice(2, 4), 16), i = parseInt(t.slice(4, 6), 16), a = (e) => Math.round(e * .2 + 255 * .8), o = (e) => e.toString(16).padStart(2, "0").toUpperCase();
2241
2302
  return `#${o(a(n))}${o(a(r))}${o(a(i))}`;
2242
2303
  }
2243
- function cr(e, t, n, i, a, o, s, c, l, u, d, f, p, m) {
2244
- if (p <= 0 || m <= 0) return;
2245
- let { styles: h, cellMap: g, mergeAnchorMap: _, mergeSkipSet: y, cfContext: b, cs: x, dpr: S } = t, C = a.length, w = o.length, T = (e, n) => t.rtl ? hn(e, n, t.canvasW) : e, E = [], D = -s;
2246
- for (let e = 0; e < C; e++) E.push(D), D += a[e];
2247
- let O = [], k = -c;
2248
- for (let e = 0; e < w; e++) O.push(k), k += o[e];
2249
- e.save(), e.beginPath(), e.rect(T(d, p), f, p, m), e.clip();
2250
- let A = [], j = [], M = [];
2251
- for (let r of t.worksheet.mergeCells ?? []) {
2252
- let a = r.top, o = r.left;
2253
- if (a >= n && a < n + w && o >= i && o < i + C || r.bottom < n || r.top >= n + w || r.right < i || r.left >= i + C) continue;
2254
- let d = t.mergeAnchorMap.get(`${a}:${o}`);
2304
+ function wr(e, t, n, r, i, a, o, s, c, l, u, d, f, p) {
2305
+ if (f <= 0 || p <= 0) return;
2306
+ let { styles: m, cellMap: h, mergeAnchorMap: g, mergeSkipSet: _, cfContext: v, cs: y, dpr: b } = t, x = i.length, S = a.length, C = (e, n) => t.rtl ? An(e, n, t.canvasW) : e, w = [], T = -o;
2307
+ for (let e = 0; e < x; e++) w.push(T), T += i[e];
2308
+ let E = [], O = -s;
2309
+ for (let e = 0; e < S; e++) E.push(O), O += a[e];
2310
+ e.save(), e.beginPath(), e.rect(C(u, f), d, f, p), e.clip();
2311
+ let k = [], A = [], j = [];
2312
+ for (let i of t.worksheet.mergeCells ?? []) {
2313
+ let a = i.top, u = i.left;
2314
+ if (a >= n && a < n + S && u >= r && u < r + x || i.bottom < n || i.top >= n + S || i.right < r || i.left >= r + x) continue;
2315
+ let d = t.mergeAnchorMap.get(`${a}:${u}`);
2255
2316
  if (!d) continue;
2256
2317
  let f;
2257
- if (o >= i) f = l + E[o - i];
2318
+ if (u >= r) f = c + w[u - r];
2258
2319
  else {
2259
2320
  let e = 0;
2260
- for (let n = o; n < i; n++) e += Math.round(Q(t.worksheet.colWidths[n] ?? t.worksheet.defaultColWidth, t.mdw) * x);
2261
- f = l - s - e;
2321
+ for (let n = u; n < r; n++) e += Math.round(Q(t.worksheet.colWidths[n] ?? t.worksheet.defaultColWidth, t.mdw) * y);
2322
+ f = c - o - e;
2262
2323
  }
2263
2324
  let p;
2264
- if (a >= n) p = u + O[a - n];
2325
+ if (a >= n) p = l + E[a - n];
2265
2326
  else {
2266
2327
  let e = 0;
2267
- for (let r = a; r < n; r++) e += Math.round($(t.worksheet.rowHeights[r] ?? t.worksheet.defaultRowHeight) * x);
2268
- p = u - c - e;
2269
- }
2270
- let m = d.totalW, g = d.totalH;
2271
- f = T(f, m);
2272
- let _ = `${a}:${o}`, y = t.cellMap.get(_), { font: D, fill: k, border: A, xf: M } = Rn(h, y?.styleIndex ?? 0), N = Zt(y, a, o, b, h.dxfs ?? []);
2273
- if (Dn(e, N.fill ?? k, f, p, m, g), N.dataBar && N.dataBar.ratio > 0) {
2274
- let t = Math.max(0, (m - 4) * N.dataBar.ratio);
2275
- Sn(e, N.dataBar.color, f + 2, p + 2, t, g - 4, N.dataBar.gradient);
2276
- }
2277
- let P = kr(Or(A, a, o, d.right, d.bottom, t.cellMap, h), N.border);
2278
- if (j.push(() => Ar(e, P, f, p, m, g, S)), !y) continue;
2279
- let F = st(y, h, N.numFmt, t.worksheet.date1904), I = F.text;
2280
- if (!I || I === "0" && t.worksheet.showZeros === !1) continue;
2281
- let L = D.bold || !!N.fontBold, R = D.italic || !!N.fontItalic, ee = D.underline || !!N.fontUnderline, z = D.strike || !!N.fontStrike, B = L !== D.bold || R !== D.italic || ee !== D.underline || z !== D.strike ? {
2328
+ for (let r = a; r < n; r++) e += Math.round($(t.worksheet.rowHeights[r] ?? t.worksheet.defaultRowHeight) * y);
2329
+ p = l - s - e;
2330
+ }
2331
+ let h = d.totalW, g = d.totalH;
2332
+ f = C(f, h);
2333
+ let _ = `${a}:${u}`, T = t.cellMap.get(_), { font: D, fill: O, border: k, xf: j } = $n(m, T?.styleIndex ?? 0), M = fn(T, a, u, v, m.dxfs ?? []);
2334
+ if (Hn(e, M.fill ?? O, f, p, h, g), M.dataBar && M.dataBar.ratio > 0) {
2335
+ let t = Math.max(0, (h - 4) * M.dataBar.ratio);
2336
+ Ln(e, M.dataBar.color, f + 2, p + 2, t, g - 4, M.dataBar.gradient);
2337
+ }
2338
+ let N = Gr(Wr(k, a, u, d.right, d.bottom, t.cellMap, m), M.border);
2339
+ if (A.push(() => Kr(e, N, f, p, h, g, b)), !T) continue;
2340
+ let P = xt(T, m, M.numFmt, t.worksheet.date1904), F = P.text;
2341
+ if (!F || F === "0" && t.worksheet.showZeros === !1) continue;
2342
+ let ee = D.bold || !!M.fontBold, I = D.italic || !!M.fontItalic, L = D.underline || !!M.fontUnderline, z = D.strike || !!M.fontStrike, B = ee !== D.bold || I !== D.italic || L !== D.underline || z !== D.strike ? {
2282
2343
  ...D,
2283
- bold: L,
2284
- italic: R,
2285
- underline: ee,
2344
+ bold: ee,
2345
+ italic: I,
2346
+ underline: L,
2286
2347
  strike: z
2287
2348
  } : D;
2288
- e.font = Nn(B, x);
2289
- let V = t.hyperlinkMap.get(_) ? "#0563C1" : N.fontColor ?? F.color ?? D.color;
2290
- e.fillStyle = V ? v(V) : "#000000";
2291
- let H = y.value.type === "number", U = M.alignH ?? (H ? "right" : "left"), te = M.alignV ?? "bottom", ne = M.indent ? Math.round(M.indent * 3 * t.mdw) : 0, re = 3 + (U === "left" || !M.alignH ? ne : 0);
2292
- e.save(), e.beginPath(), e.rect(f, p, m, g), e.clip();
2293
- let ie;
2294
- U === "right" ? (ie = f + m - 3, e.textAlign = "right") : U === "center" ? (ie = f + m / 2, e.textAlign = "center") : (ie = f + re, e.textAlign = "left");
2295
- let W = y.value.type === "text" ? y.value.runs : void 0, ae = W && W.length > 0;
2296
- if (M.wrapText && ae) Zn(e, W, B, {
2349
+ e.font = Jn(B, y);
2350
+ let V = t.hyperlinkMap.get(_) ? "#0563C1" : M.fontColor ?? P.color ?? D.color;
2351
+ e.fillStyle = V ? R(V) : "#000000";
2352
+ let H = T.value.type === "number", U = j.alignH ?? (H ? "right" : "left"), te = j.alignV ?? "bottom", W = j.indent ? Math.round(j.indent * 3 * t.mdw) : 0, ne = 3 + (U === "left" || !j.alignH ? W : 0);
2353
+ e.save(), e.beginPath(), e.rect(f, p, h, g), e.clip();
2354
+ let G;
2355
+ U === "right" ? (G = f + h - 3, e.textAlign = "right") : U === "center" ? (G = f + h / 2, e.textAlign = "center") : (G = f + ne, e.textAlign = "left");
2356
+ let re = T.value.type === "text" ? T.value.runs : void 0, ie = re && re.length > 0;
2357
+ if (j.wrapText && ie) pr(e, re, B, {
2297
2358
  alignH: U,
2298
2359
  alignV: te,
2299
2360
  cx: f,
2300
2361
  cy: p,
2301
- cellW: m,
2362
+ cellW: h,
2302
2363
  cellH: g,
2303
- leftPad: re,
2364
+ leftPad: ne,
2304
2365
  paddingX: 3,
2305
2366
  paddingY: 2
2306
- }, x, S, {
2307
- fontColor: N.fontColor,
2308
- readingOrder: M.readingOrder
2367
+ }, y, b, {
2368
+ fontColor: M.fontColor,
2369
+ readingOrder: j.readingOrder
2309
2370
  });
2310
- else if (M.wrapText) {
2311
- let t = zn(e, I, m - re - 3), n = Mn(D.size, x, 1.2, D.name ?? void 0), r = t.length * n, i;
2371
+ else if (j.wrapText) {
2372
+ let t = er(e, F, h - ne - 3), n = qn(D.size, y, 1.2, D.name ?? void 0), r = t.length * n, i;
2312
2373
  i = te === "top" ? p + 2 : te === "center" ? p + (g - r) / 2 : p + g - r - 2, e.textBaseline = "top";
2313
- for (let r = 0; r < t.length; r++) e.fillText(t[r], ie, i + r * n);
2314
- } else if (ae) Xn(e, W, B, {
2374
+ for (let r = 0; r < t.length; r++) e.fillText(t[r], G, i + r * n);
2375
+ } else if (ie) fr(e, re, B, {
2315
2376
  alignH: U,
2316
2377
  alignV: te,
2317
2378
  cx: f,
2318
2379
  cy: p,
2319
- cellW: m,
2380
+ cellW: h,
2320
2381
  cellH: g,
2321
- leftPad: re,
2382
+ leftPad: ne,
2322
2383
  paddingX: 3,
2323
2384
  paddingY: 2
2324
- }, x, S, {
2325
- fontColor: N.fontColor,
2326
- readingOrder: M.readingOrder
2385
+ }, y, b, {
2386
+ fontColor: M.fontColor,
2387
+ readingOrder: j.readingOrder
2327
2388
  });
2328
2389
  else {
2329
2390
  let t;
2330
- te === "top" ? (e.textBaseline = "top", t = p + 2) : te === "center" ? (e.textBaseline = "middle", t = p + g / 2) : (e.textBaseline = "bottom", t = p + g - 2), e.fillText(I, ie, t);
2391
+ te === "top" ? (e.textBaseline = "top", t = p + 2) : te === "center" ? (e.textBaseline = "middle", t = p + g / 2) : (e.textBaseline = "bottom", t = p + g - 2), e.fillText(F, G, t);
2331
2392
  }
2332
2393
  e.restore();
2333
2394
  }
2334
- for (let s = 0; s < w; s++) {
2335
- let c = n + s, w = u + O[s], D = o[s];
2336
- if (w + D <= f || w >= f + m) continue;
2337
- let k = /* @__PURE__ */ new Set(), N = /* @__PURE__ */ new Set(), P = -1, F = (e) => {
2395
+ for (let o = 0; o < S; o++) {
2396
+ let s = n + o, S = l + E[o], T = a[o];
2397
+ if (S + T <= d || S >= d + p) continue;
2398
+ let O = /* @__PURE__ */ new Set(), M = /* @__PURE__ */ new Set(), P = -1, F = (e) => {
2338
2399
  if (P >= 0 && e - P >= 2) {
2339
- for (let t = P; t < e - 1; t++) k.add(t);
2340
- for (let t = P + 1; t < e; t++) N.add(t);
2400
+ for (let t = P; t < e - 1; t++) O.add(t);
2401
+ for (let t = P + 1; t < e; t++) M.add(t);
2341
2402
  }
2342
2403
  P = -1;
2343
2404
  };
2344
- for (let e = 0; e <= C; e++) {
2405
+ for (let e = 0; e <= x; e++) {
2345
2406
  let t = !1, n = !1;
2346
- if (e < C) {
2347
- let r = `${c}:${i + e}`;
2348
- if (!y.has(r) && !_.has(r)) {
2349
- let e = g.get(r);
2350
- t = Rn(h, e?.styleIndex ?? 0).xf.alignH === "centerContinuous", n = !!(e && e.value && e.value.type !== "empty");
2407
+ if (e < x) {
2408
+ let i = `${s}:${r + e}`;
2409
+ if (!_.has(i) && !g.has(i)) {
2410
+ let e = h.get(i);
2411
+ t = $n(m, e?.styleIndex ?? 0).xf.alignH === "centerContinuous", n = !!(e && e.value && e.value.type !== "empty");
2351
2412
  }
2352
2413
  }
2353
2414
  t ? n && P >= 0 && e > P ? (F(e), P = e) : P < 0 && (P = e) : F(e);
2354
2415
  }
2355
- for (let n = 0; n < C; n++) {
2356
- let o = i + n, u = l + E[n], f = a[n];
2357
- if (u + f <= d || u >= d + p) continue;
2358
- let m = `${c}:${o}`;
2359
- if (y.has(m)) continue;
2360
- let O = _.get(m), P = O ? O.totalW : f, F = O ? O.totalH : D, I = T(u, P), L = g.get(m), { font: R, fill: ee, border: z, xf: B } = Rn(h, L?.styleIndex ?? 0), V = Zt(L, c, o, b, h.dxfs ?? []), H = V.fill ?? ee, U = t.tableStyleMap.get(m), te = h.dxfs ?? [], ne = (e) => e == null ? void 0 : te[e], re = ne(U?.wholeTableDxf), ie = ne(U?.headerRowDxf), W = ne(U?.totalRowDxf), ae = ne(U?.firstColumnDxf), oe = ne(U?.lastColumnDxf), se = ne(U?.stripeDxf), ce = U?.isHeader && ie?.fill?.fgColor ? ie : U?.isTotals && W?.fill?.fgColor ? W : U?.isLastCol && oe?.fill?.fgColor ? oe : U?.isFirstCol && ae?.fill?.fgColor ? ae : se?.fill?.fgColor ? se : !U?.isHeader && !U?.isTotals && re?.fill?.fgColor ? re : void 0;
2361
- if (Dn(e, H, I, w, P, F) || (U && ce?.fill?.fgColor ? (e.fillStyle = v(ce.fill.fgColor), e.fillRect(I, w, P, F)) : U && !U.isCustom && U.isBanded && (e.fillStyle = sr(U.accent), e.fillRect(I, w, P, F))), t.commentCells.has(m) && An(e, I, w, P, F), V.dataBar && V.dataBar.ratio > 0) {
2362
- let t = Math.max(0, (P - 4) * V.dataBar.ratio);
2363
- Sn(e, V.dataBar.color, I + 2, w + 2, t, F - 4, V.dataBar.gradient);
2416
+ for (let n = 0; n < x; n++) {
2417
+ let a = r + n, l = c + w[n], d = i[n];
2418
+ if (l + d <= u || l >= u + f) continue;
2419
+ let p = `${s}:${a}`;
2420
+ if (_.has(p)) continue;
2421
+ let E = g.get(p), P = E ? E.totalW : d, F = E ? E.totalH : T, I = C(l, P), L = h.get(p), { font: z, fill: B, border: V, xf: H } = $n(m, L?.styleIndex ?? 0), U = fn(L, s, a, v, m.dxfs ?? []), te = U.fill ?? B, W = t.tableStyleMap.get(p), ne = m.dxfs ?? [], G = (e) => e == null ? void 0 : ne[e], re = G(W?.wholeTableDxf), ie = G(W?.headerRowDxf), ae = G(W?.totalRowDxf), oe = G(W?.firstColumnDxf), se = G(W?.lastColumnDxf), ce = G(W?.stripeDxf), le = W?.isHeader && ie?.fill?.fgColor ? ie : W?.isTotals && ae?.fill?.fgColor ? ae : W?.isLastCol && se?.fill?.fgColor ? se : W?.isFirstCol && oe?.fill?.fgColor ? oe : ce?.fill?.fgColor ? ce : !W?.isHeader && !W?.isTotals && re?.fill?.fgColor ? re : void 0;
2422
+ if (Hn(e, te, I, S, P, F) || (W && le?.fill?.fgColor ? (e.fillStyle = R(le.fill.fgColor), e.fillRect(I, S, P, F)) : W && !W.isCustom && W.isBanded && (e.fillStyle = Cr(W.accent), e.fillRect(I, S, P, F))), t.commentCells.has(p) && Gn(e, I, S, P, F), U.dataBar && U.dataBar.ratio > 0) {
2423
+ let t = Math.max(0, (P - 4) * U.dataBar.ratio);
2424
+ Ln(e, U.dataBar.color, I + 2, S + 2, t, F - 4, U.dataBar.gradient);
2364
2425
  }
2365
- let le = t.sparklineMap.get(m);
2366
- if (le && he(e, {
2426
+ let ue = t.sparklineMap.get(p);
2427
+ if (ue && Oe(e, {
2367
2428
  x: I,
2368
- y: w,
2429
+ y: S,
2369
2430
  w: P,
2370
2431
  h: F
2371
- }, le), t.worksheet.showGridlines !== !1) {
2372
- if (e.strokeStyle = "#d0d0d0", e.lineWidth = .5, e.beginPath(), !k.has(n)) {
2373
- let t = I + P + r(I + P, .5, S);
2374
- e.moveTo(t, w), e.lineTo(t, w + F);
2432
+ }, ue), t.worksheet.showGridlines !== !1) {
2433
+ if (e.strokeStyle = "#d0d0d0", e.lineWidth = .5, e.beginPath(), !O.has(n)) {
2434
+ let t = I + P + N(I + P, .5, b);
2435
+ e.moveTo(t, S), e.lineTo(t, S + F);
2375
2436
  }
2376
- let t = w + F + r(w + F, .5, S);
2377
- if (e.moveTo(I, t), e.lineTo(I + P, t), s === 0) {
2378
- let t = w + r(w, .5, S);
2437
+ let t = S + F + N(S + F, .5, b);
2438
+ if (e.moveTo(I, t), e.lineTo(I + P, t), o === 0) {
2439
+ let t = S + N(S, .5, b);
2379
2440
  e.moveTo(I, t), e.lineTo(I + P, t);
2380
2441
  }
2381
2442
  if (n === 0) {
2382
- let t = I + r(I, .5, S);
2383
- e.moveTo(t, w), e.lineTo(t, w + F);
2443
+ let t = I + N(I, .5, b);
2444
+ e.moveTo(t, S), e.lineTo(t, S + F);
2384
2445
  }
2385
2446
  e.stroke();
2386
2447
  }
2387
- let G = kr(O ? Or(z, c, o, O.right, O.bottom, g, h) : z, V.border);
2388
- (k.has(n) || N.has(n)) && (G = {
2389
- ...G,
2390
- left: N.has(n) ? null : G.left,
2391
- right: k.has(n) ? null : G.right
2448
+ let K = Gr(E ? Wr(V, s, a, E.right, E.bottom, h, m) : V, U.border);
2449
+ (O.has(n) || M.has(n)) && (K = {
2450
+ ...K,
2451
+ left: M.has(n) ? null : K.left,
2452
+ right: O.has(n) ? null : K.right
2392
2453
  });
2393
- let ue = g.get(`${c - 1}:${o}`), de = ue ? Rn(h, ue.styleIndex ?? 0).border.bottom : null;
2394
- if (de?.style && (s === 0 || G.top?.style) && (G = {
2395
- ...G,
2396
- top: Pr(G.top, de)
2397
- }), !N.has(n)) {
2398
- let e = g.get(`${c}:${o - 1}`), t = e ? Rn(h, e.styleIndex ?? 0).border.right : null;
2399
- t?.style && (n === 0 || G.left?.style) && (G = {
2400
- ...G,
2401
- left: Pr(G.left, t)
2454
+ let de = h.get(`${s - 1}:${a}`), fe = de ? $n(m, de.styleIndex ?? 0).border.bottom : null;
2455
+ if (fe?.style && (o === 0 || K.top?.style) && (K = {
2456
+ ...K,
2457
+ top: Xr(K.top, fe)
2458
+ }), !M.has(n)) {
2459
+ let e = h.get(`${s}:${a - 1}`), t = e ? $n(m, e.styleIndex ?? 0).border.right : null;
2460
+ t?.style && (n === 0 || K.left?.style) && (K = {
2461
+ ...K,
2462
+ left: Xr(K.left, t)
2402
2463
  });
2403
2464
  }
2404
- let K = U ? ar(U, re, ie, o) : null, fe = t.autoFilterCells.has(m), pe = () => {
2405
- if (K) {
2406
- if (K.kind === "dxf") Ar(e, K.border, I, w, P, F, S);
2407
- else if (K.kind === "accent") {
2408
- let t = .5 / S;
2409
- if (e.strokeStyle = K.color, e.lineWidth = K.lineWidth, e.beginPath(), e.moveTo(I, w + F - t), e.lineTo(I + P, w + F - t), K.topEdge) {
2410
- let t = w + r(w, K.lineWidth, S);
2465
+ let q = W ? xr(W, re, ie, a) : null, pe = t.autoFilterCells.has(p), me = () => {
2466
+ if (q) {
2467
+ if (q.kind === "dxf") Kr(e, q.border, I, S, P, F, b);
2468
+ else if (q.kind === "accent") {
2469
+ let t = .5 / b;
2470
+ if (e.strokeStyle = q.color, e.lineWidth = q.lineWidth, e.beginPath(), e.moveTo(I, S + F - t), e.lineTo(I + P, S + F - t), q.topEdge) {
2471
+ let t = S + N(S, q.lineWidth, b);
2411
2472
  e.moveTo(I, t), e.lineTo(I + P, t);
2412
2473
  }
2413
2474
  e.stroke();
2414
2475
  }
2415
2476
  }
2416
- fe && rr(e, I, w, f, F);
2477
+ pe && yr(e, I, S, d, F);
2417
2478
  };
2418
- if (O) {
2419
- let t = G;
2420
- j.push(() => Ar(e, t, I, w, P, F, S)), pe();
2479
+ if (E) {
2480
+ let t = K;
2481
+ A.push(() => Kr(e, t, I, S, P, F, b)), me();
2421
2482
  } else {
2422
- let t = G;
2423
- M.push(() => {
2424
- Ar(e, t, I, w, P, F, S), pe();
2483
+ let t = K;
2484
+ j.push(() => {
2485
+ Kr(e, t, I, S, P, F, b), me();
2425
2486
  });
2426
2487
  }
2427
2488
  if (!L) continue;
2428
- let me = st(L, h, V.numFmt, t.worksheet.date1904), q = me.text;
2429
- !q || q === "0" && t.worksheet.showZeros === !1 || A.push(() => {
2430
- let s = U?.isHeader ? ie : U?.isTotals ? W : U?.isLastCol && oe ? oe : U?.isFirstCol && ae ? ae : se || (U ? re : void 0), l = U ? U.isCustom ? !!s?.font?.bold : U.isHeader || U.isTotals : !1, u = R.bold || !!V.fontBold || l, d = R.italic || !!V.fontItalic, f = R.underline || !!V.fontUnderline, p = R.strike || !!V.fontStrike, b = u !== R.bold || d !== R.italic || f !== R.underline || p !== R.strike ? {
2431
- ...R,
2432
- bold: u,
2433
- italic: d,
2434
- underline: f,
2435
- strike: p
2436
- } : R;
2437
- e.font = Nn(b, x);
2438
- let T = t.hyperlinkMap.get(m), E = s?.font?.color ?? null, D = T ? "#0563C1" : V.fontColor ?? me.color ?? E ?? R.color;
2439
- e.fillStyle = D ? v(D) : "#000000";
2440
- let k = L.value.type === "number", A = B.alignH ?? (k ? "right" : "left"), j = B.alignV ?? "bottom", M = B.indent ? Math.round(B.indent * 3 * t.mdw) : 0, N = V.iconSet ? Math.max(8, Math.round(Math.min(P, F) * .55)) : 0, ee = N > 0 ? N + 4 : 0, z = 3 + (A === "left" || !B.alignH ? M : 0) + ee, H = P, te = I, ne = n;
2441
- if (A === "centerContinuous" && !O) for (let e = n + 1; e < C; e++) {
2442
- let t = `${c}:${i + e}`;
2443
- if (y.has(t) || _.has(t)) break;
2444
- let n = g.get(t);
2445
- if (n && n.value.type !== "empty" || Rn(h, n?.styleIndex ?? 0).xf.alignH !== "centerContinuous") break;
2446
- H += a[e], ne = e;
2489
+ let he = xt(L, m, U.numFmt, t.worksheet.date1904), J = he.text;
2490
+ !J || J === "0" && t.worksheet.showZeros === !1 || k.push(() => {
2491
+ let o = W?.isHeader ? ie : W?.isTotals ? ae : W?.isLastCol && se ? se : W?.isFirstCol && oe ? oe : ce || (W ? re : void 0), c = W ? W.isCustom ? !!o?.font?.bold : W.isHeader || W.isTotals : !1, l = z.bold || !!U.fontBold || c, u = z.italic || !!U.fontItalic, d = z.underline || !!U.fontUnderline, f = z.strike || !!U.fontStrike, v = l !== z.bold || u !== z.italic || d !== z.underline || f !== z.strike ? {
2492
+ ...z,
2493
+ bold: l,
2494
+ italic: u,
2495
+ underline: d,
2496
+ strike: f
2497
+ } : z;
2498
+ e.font = Jn(v, y);
2499
+ let C = t.hyperlinkMap.get(p), w = o?.font?.color ?? null, T = C ? "#0563C1" : U.fontColor ?? he.color ?? w ?? z.color;
2500
+ e.fillStyle = T ? R(T) : "#000000";
2501
+ let O = L.value.type === "number", k = H.alignH ?? (O ? "right" : "left"), A = H.alignV ?? "bottom", j = H.indent ? Math.round(H.indent * 3 * t.mdw) : 0, M = U.iconSet ? Math.max(8, Math.round(Math.min(P, F) * .55)) : 0, B = M > 0 ? M + 4 : 0, V = 3 + (k === "left" || !H.alignH ? j : 0) + B, te = P, ne = I, G = n;
2502
+ if (k === "centerContinuous" && !E) for (let e = n + 1; e < x; e++) {
2503
+ let t = `${s}:${r + e}`;
2504
+ if (_.has(t) || g.has(t)) break;
2505
+ let n = h.get(t);
2506
+ if (n && n.value.type !== "empty" || $n(m, n?.styleIndex ?? 0).xf.alignH !== "centerContinuous") break;
2507
+ te += i[e], G = e;
2447
2508
  }
2448
- let ce = A === "centerContinuous" ? te : I, le = A === "centerContinuous" ? H : P, G = q.includes("\n");
2449
- if (!O && !B.wrapText && !B.textRotation && !k && !G) {
2450
- let t = e.measureText(q).width, r = A === "centerContinuous", o = r ? t + 6 : t + z + 3, s = r ? H : P;
2451
- if (o > s) {
2452
- let e = o - s, t = 0, l = 0;
2453
- if (A === "right" ? l = e : A === "center" || r ? (l = e / 2, t = e / 2) : t = e, t > 0) {
2454
- let e = t, o = r ? ne + 1 : n + 1;
2455
- for (let t = o; t < C && e > 0; t++) {
2456
- let n = `${c}:${i + t}`;
2457
- if (y.has(n) || _.has(n)) break;
2458
- let r = g.get(n);
2459
- if (r && r.value.type !== "empty") break;
2460
- le += a[t], e -= a[t];
2509
+ let le = k === "centerContinuous" ? ne : I, ue = k === "centerContinuous" ? te : P, K = J.includes("\n");
2510
+ if (!E && !H.wrapText && !H.textRotation && !O && !K) {
2511
+ let t = e.measureText(J).width, a = k === "centerContinuous", o = a ? t + 6 : t + V + 3, c = a ? te : P;
2512
+ if (o > c) {
2513
+ let e = o - c, t = 0, l = 0;
2514
+ if (k === "right" ? l = e : k === "center" || a ? (l = e / 2, t = e / 2) : t = e, t > 0) {
2515
+ let e = t, o = a ? G + 1 : n + 1;
2516
+ for (let t = o; t < x && e > 0; t++) {
2517
+ let n = `${s}:${r + t}`;
2518
+ if (_.has(n) || g.has(n)) break;
2519
+ let a = h.get(n);
2520
+ if (a && a.value.type !== "empty") break;
2521
+ ue += i[t], e -= i[t];
2461
2522
  }
2462
2523
  }
2463
2524
  if (l > 0) {
2464
2525
  let e = l;
2465
2526
  for (let t = n - 1; t >= 0 && e > 0; t--) {
2466
- let n = `${c}:${i + t}`;
2467
- if (y.has(n) || _.has(n)) break;
2468
- let r = g.get(n);
2469
- if (r && r.value.type !== "empty") break;
2470
- ce -= a[t], le += a[t], e -= a[t];
2527
+ let n = `${s}:${r + t}`;
2528
+ if (_.has(n) || g.has(n)) break;
2529
+ let a = h.get(n);
2530
+ if (a && a.value.type !== "empty") break;
2531
+ le -= i[t], ue += i[t], e -= i[t];
2471
2532
  }
2472
2533
  }
2473
2534
  }
2474
2535
  }
2475
- let ue = q, de = 0;
2476
- if (A === "fill" && !k && q.length > 0) {
2477
- let t = Math.max(1, P - 6), n = e.measureText(q).width;
2536
+ let de = J, fe = 0;
2537
+ if (k === "fill" && !O && J.length > 0) {
2538
+ let t = Math.max(1, P - 6), n = e.measureText(J).width;
2478
2539
  if (n > 0 && n < t) {
2479
2540
  let e = Math.max(1, Math.floor(t / n));
2480
- ue = q.repeat(e);
2541
+ de = J.repeat(e);
2481
2542
  }
2482
2543
  }
2483
- if (A === "distributed" || A === "justify" && !B.wrapText && !G) {
2484
- let t = Math.max(1, P - 6), n = e.measureText(ue).width, r = Math.max(1, [...ue].length - 1);
2485
- n < t && (de = Math.max(0, (t - n) / r));
2544
+ if (k === "distributed" || k === "justify" && !H.wrapText && !K) {
2545
+ let t = Math.max(1, P - 6), n = e.measureText(de).width, r = Math.max(1, [...de].length - 1);
2546
+ n < t && (fe = Math.max(0, (t - n) / r));
2486
2547
  }
2487
- let K, fe;
2488
- A === "right" ? (K = I + P - 3, fe = "right") : A === "center" ? (K = I + P / 2, fe = "center") : A === "centerContinuous" ? (K = te + H / 2, fe = "center") : A === "distributed" || A === "justify" && !B.wrapText && !G ? (K = I + 3, fe = "left") : (K = I + z, fe = "left");
2489
- let pe = B.textRotation ?? 0, he = pe === 255, ge = pe > 0 && pe !== 255;
2490
- if (V.iconSet && N > 0 && (e.save(), e.beginPath(), e.rect(I, w, P, F), e.clip(), nr(e, V.iconSet.name, V.iconSet.index, I + 2, w + (F - N) / 2, N), e.restore()), e.save(), e.beginPath(), e.rect(ce, w, le, F), e.clip(), he) {
2491
- let t = Mn(R.size, x, 1.1), n = q.length * t, r = j === "top" ? w + 2 : j === "center" ? w + (F - n) / 2 : w + F - n - 2;
2548
+ let q, pe;
2549
+ k === "right" ? (q = I + P - 3, pe = "right") : k === "center" ? (q = I + P / 2, pe = "center") : k === "centerContinuous" ? (q = ne + te / 2, pe = "center") : k === "distributed" || k === "justify" && !H.wrapText && !K ? (q = I + 3, pe = "left") : (q = I + V, pe = "left");
2550
+ let me = H.textRotation ?? 0, ge = me === 255, _e = me > 0 && me !== 255;
2551
+ if (U.iconSet && M > 0 && (e.save(), e.beginPath(), e.rect(I, S, P, F), e.clip(), vr(e, U.iconSet.name, U.iconSet.index, I + 2, S + (F - M) / 2, M), e.restore()), e.save(), e.beginPath(), e.rect(le, S, ue, F), e.clip(), ge) {
2552
+ let t = qn(z.size, y, 1.1), n = [...J].length * t, r = A === "top" ? S + 2 : A === "center" ? S + (F - n) / 2 : S + F - n - 2;
2492
2553
  e.textAlign = "center", e.textBaseline = "top";
2493
- for (let n of q) e.fillText(n, I + P / 2, r), r += t;
2554
+ for (let n of J) {
2555
+ let i = n.codePointAt(0) ?? 0, a = D(i) && ee(e, i);
2556
+ yn(e, n, I + P / 2, r, t, a), r += t;
2557
+ }
2494
2558
  e.restore();
2495
2559
  return;
2496
2560
  }
2497
- if (ge) {
2498
- let t = pe <= 90 ? -(pe * Math.PI / 180) : (pe - 90) * Math.PI / 180;
2499
- e.translate(I + P / 2, w + F / 2), e.rotate(t), e.textAlign = "center", e.textBaseline = "middle", e.fillText(q, 0, 0), e.restore();
2561
+ if (_e) {
2562
+ let t = me <= 90 ? -(me * Math.PI / 180) : (me - 90) * Math.PI / 180;
2563
+ e.translate(I + P / 2, S + F / 2), e.rotate(t), e.textAlign = "center", e.textBaseline = "middle", e.fillText(J, 0, 0), e.restore();
2500
2564
  return;
2501
2565
  }
2502
- if (B.shrinkToFit) {
2503
- let t = e.measureText(q).width, n = P - z - 3;
2566
+ if (H.shrinkToFit) {
2567
+ let t = e.measureText(J).width, n = P - V - 3;
2504
2568
  if (t > n && t > 0) {
2505
- let r = n / t, i = A === "right" ? I + P - 3 : A === "center" ? I + P / 2 : I + z;
2569
+ let r = n / t, i = k === "right" ? I + P - 3 : k === "center" ? I + P / 2 : I + V;
2506
2570
  e.transform(r, 0, 0, 1, i * (1 - r), 0);
2507
2571
  }
2508
2572
  }
2509
- if (e.textAlign = fe, de > 0) try {
2510
- e.letterSpacing = `${de}px`;
2573
+ if (e.textAlign = pe, fe > 0) try {
2574
+ e.letterSpacing = `${fe}px`;
2511
2575
  } catch {}
2512
2576
  try {
2513
- e.direction = Qt(B.readingOrder, q) ? "rtl" : "ltr";
2577
+ e.direction = pn(H.readingOrder, J) ? "rtl" : "ltr";
2514
2578
  } catch {}
2515
- let _e = L.value.type === "text" ? L.value.runs : void 0, ve = _e && _e.length > 0;
2516
- if (B.wrapText && ve) Zn(e, _e, b, {
2517
- alignH: A,
2518
- alignV: j,
2579
+ let ve = L.value.type === "text" ? L.value.runs : void 0, ye = ve && ve.length > 0;
2580
+ if (H.wrapText && ye) pr(e, ve, v, {
2581
+ alignH: k,
2582
+ alignV: A,
2519
2583
  cx: I,
2520
- cy: w,
2584
+ cy: S,
2521
2585
  cellW: P,
2522
2586
  cellH: F,
2523
- leftPad: z,
2587
+ leftPad: V,
2524
2588
  paddingX: 3,
2525
2589
  paddingY: 2
2526
- }, x, S, {
2527
- fontColor: V.fontColor,
2528
- readingOrder: B.readingOrder
2590
+ }, y, b, {
2591
+ fontColor: U.fontColor,
2592
+ readingOrder: H.readingOrder
2529
2593
  });
2530
- else if (B.wrapText) {
2531
- let t = zn(e, q, P - z - 3), n = Mn(R.size, x, 1.2, R.name ?? void 0), r = t.length * n, i;
2532
- j === "top" ? (i = w + 2, e.textBaseline = "top") : j === "center" ? (i = w + (F - r) / 2, e.textBaseline = "top") : (i = w + F - r - 2, e.textBaseline = "top");
2533
- for (let r = 0; r < t.length; r++) e.fillText(t[r], K, i + r * n);
2534
- } else if (ve) Xn(e, _e, b, {
2535
- alignH: A,
2536
- alignV: j,
2594
+ else if (H.wrapText) {
2595
+ let t = er(e, J, P - V - 3), n = qn(z.size, y, 1.2, z.name ?? void 0), r = t.length * n, i;
2596
+ A === "top" ? (i = S + 2, e.textBaseline = "top") : A === "center" ? (i = S + (F - r) / 2, e.textBaseline = "top") : (i = S + F - r - 2, e.textBaseline = "top");
2597
+ for (let r = 0; r < t.length; r++) e.fillText(t[r], q, i + r * n);
2598
+ } else if (ye) fr(e, ve, v, {
2599
+ alignH: k,
2600
+ alignV: A,
2537
2601
  cx: I,
2538
- cy: w,
2602
+ cy: S,
2539
2603
  cellW: P,
2540
2604
  cellH: F,
2541
- leftPad: z,
2605
+ leftPad: V,
2542
2606
  paddingX: 3,
2543
2607
  paddingY: 2
2544
- }, x, S, {
2545
- fontColor: V.fontColor,
2546
- readingOrder: B.readingOrder
2608
+ }, y, b, {
2609
+ fontColor: U.fontColor,
2610
+ readingOrder: H.readingOrder
2547
2611
  });
2548
2612
  else {
2549
- let t = b.vertAlign, n = Mn(R.size, x), i = 0;
2550
- t === "superscript" ? i = -Math.round(n * .35) : t === "subscript" && (i = Math.round(n * .1));
2551
- let a = t ? {
2552
- ...b,
2553
- size: b.size * .65
2554
- } : b;
2555
- t && (e.font = Nn(a, x));
2556
- let o = null, s = () => o ??= e.measureText(q), c = () => {
2557
- let e = Math.min(s().width, le - z - 3);
2613
+ let t = v.vertAlign, n = qn(z.size, y), r = 0;
2614
+ t === "superscript" ? r = -Math.round(n * .35) : t === "subscript" && (r = Math.round(n * .1));
2615
+ let i = t ? {
2616
+ ...v,
2617
+ size: v.size * .65
2618
+ } : v;
2619
+ t && (e.font = Jn(i, y));
2620
+ let a = null, o = () => a ??= e.measureText(J), s = () => {
2621
+ let e = Math.min(o().width, ue - V - 3);
2558
2622
  return {
2559
- x: A === "right" ? I + P - 3 - e : A === "center" ? I + P / 2 - e / 2 : I + z,
2623
+ x: k === "right" ? I + P - 3 - e : k === "center" ? I + P / 2 - e / 2 : I + V,
2560
2624
  width: e
2561
2625
  };
2562
- }, l = Mn(a.size, x);
2563
- if (b.underline || T) {
2564
- let { x: t, width: n } = c(), r = (j === "top" ? w + 2 + l + 1 : j === "center" ? w + F / 2 + Math.round(l * .55) : w + F - 2 + 1) + i, a = T ? "#0563C1" : D ? v(D) : "#000000", o = b.underlineStyle === "double" || b.underlineStyle === "doubleAccounting";
2565
- In(e, t, t + n, r, a, o, S);
2626
+ }, c = qn(i.size, y);
2627
+ if (v.underline || C) {
2628
+ let { x: t, width: n } = s(), i = (A === "top" ? S + 2 + c + 1 : A === "center" ? S + F / 2 + Math.round(c * .55) : S + F - 2 + 1) + r, a = C ? "#0563C1" : T ? R(T) : "#000000", o = v.underlineStyle === "double" || v.underlineStyle === "doubleAccounting";
2629
+ Zn(e, t, t + n, i, a, o, b);
2566
2630
  }
2567
- if (b.strike) {
2568
- let { x: t, width: n } = c(), a = (j === "top" ? w + 2 + Math.round(l * .5) : j === "center" ? w + F / 2 : w + F - 2 - Math.round(l * .35)) + i, o = a + r(a, .5, S);
2569
- e.save(), e.strokeStyle = D ? v(D) : "#000000", e.lineWidth = .5, e.beginPath(), e.moveTo(t, o), e.lineTo(t + n, o), e.stroke(), e.restore();
2631
+ if (v.strike) {
2632
+ let { x: t, width: n } = s(), i = (A === "top" ? S + 2 + Math.round(c * .5) : A === "center" ? S + F / 2 : S + F - 2 - Math.round(c * .35)) + r, a = i + N(i, .5, b);
2633
+ e.save(), e.strokeStyle = T ? R(T) : "#000000", e.lineWidth = .5, e.beginPath(), e.moveTo(t, a), e.lineTo(t + n, a), e.stroke(), e.restore();
2570
2634
  }
2571
- if (q.includes("\n")) {
2572
- let t = q.split("\n"), n = Mn(R.size, x, 1.2, R.name ?? void 0), r = t.length * n, a;
2573
- j === "top" ? (a = w + 2, e.textBaseline = "top") : j === "center" ? (a = w + (F - r) / 2, e.textBaseline = "top") : (a = w + F - r - 2, e.textBaseline = "top");
2574
- for (let r = 0; r < t.length; r++) e.fillText(t[r], K, a + r * n + i);
2635
+ if (J.includes("\n")) {
2636
+ let t = J.split("\n"), n = qn(z.size, y, 1.2, z.name ?? void 0), i = t.length * n, a;
2637
+ A === "top" ? (a = S + 2, e.textBaseline = "top") : A === "center" ? (a = S + (F - i) / 2, e.textBaseline = "top") : (a = S + F - i - 2, e.textBaseline = "top");
2638
+ for (let i = 0; i < t.length; i++) e.fillText(t[i], q, a + i * n + r);
2575
2639
  } else {
2576
2640
  let t;
2577
- j === "top" ? (e.textBaseline = "top", t = w + 2) : j === "center" ? (e.textBaseline = "middle", t = w + F / 2) : (e.textBaseline = "bottom", t = w + F - 2), e.fillText(ue, K, t + i);
2641
+ A === "top" ? (e.textBaseline = "top", t = S + 2) : A === "center" ? (e.textBaseline = "middle", t = S + F / 2) : (e.textBaseline = "bottom", t = S + F - 2), e.fillText(de, q, t + r);
2578
2642
  }
2579
2643
  }
2580
- let ye = L.value.type === "text" ? L.value.phoneticRuns : void 0;
2581
- if (L.showPhonetic && ye && ye.length > 0 && !q.includes("\n")) {
2582
- let t = Nn(b, x), n = Fn(e, q, t), r;
2583
- r = A === "right" ? I + P - 3 - n : A === "center" ? I + P / 2 - n / 2 : I + z;
2584
- let i = D ? v(D) : "#000000";
2585
- Pn(e, ye, L.value.type === "text" ? L.value.phoneticPr : void 0, q, t, h, r, w, x, i);
2644
+ let be = L.value.type === "text" ? L.value.phoneticRuns : void 0;
2645
+ if (L.showPhonetic && be && be.length > 0 && !J.includes("\n")) {
2646
+ let t = Jn(v, y), n = Xn(e, J, t), r;
2647
+ r = k === "right" ? I + P - 3 - n : k === "center" ? I + P / 2 - n / 2 : I + V;
2648
+ let i = T ? R(T) : "#000000";
2649
+ Yn(e, be, L.value.type === "text" ? L.value.phoneticPr : void 0, J, t, m, r, S, y, i);
2586
2650
  }
2587
- e.restore(), q && t.onTextRun && t.onTextRun({
2588
- text: q,
2651
+ e.restore(), J && t.onTextRun && t.onTextRun({
2652
+ text: J,
2589
2653
  x: I,
2590
- y: w,
2654
+ y: S,
2591
2655
  width: P,
2592
2656
  height: F,
2593
- row: c,
2594
- col: o
2657
+ row: s,
2658
+ col: a
2595
2659
  });
2596
2660
  });
2597
2661
  }
2598
2662
  }
2599
- for (let e of M) e();
2600
2663
  for (let e of j) e();
2601
2664
  for (let e of A) e();
2665
+ for (let e of k) e();
2602
2666
  e.restore();
2603
2667
  }
2604
- var lr = /* @__PURE__ */ new WeakMap();
2605
- function ur(e) {
2606
- let t = lr.get(e);
2668
+ var Tr = /* @__PURE__ */ new WeakMap();
2669
+ function Er(e) {
2670
+ let t = Tr.get(e);
2607
2671
  if (t) return t;
2608
2672
  let n = /* @__PURE__ */ new Map();
2609
2673
  for (let t of e.rows) for (let e of t.cells) n.set(`${e.row}:${e.col}`, e);
@@ -2618,236 +2682,236 @@ function ur(e) {
2618
2682
  for (let t of e.hyperlinks ?? []) t.url && a.set(`${t.row}:${t.col}`, t.url);
2619
2683
  let o = /* @__PURE__ */ new Set();
2620
2684
  for (let t of e.commentRefs ?? []) {
2621
- let e = kn(t);
2685
+ let e = Wn(t);
2622
2686
  e && o.add(`${e.row}:${e.col}`);
2623
2687
  }
2624
2688
  let s = {
2625
2689
  cellMap: n,
2626
- cfContext: Wt(e),
2690
+ cfContext: an(e),
2627
2691
  mergeSkipSet: r,
2628
2692
  autoFilterCells: i,
2629
2693
  hyperlinkMap: a,
2630
2694
  commentCells: o,
2631
- tableStyleMap: ir(e),
2632
- sparklineMap: or(e)
2695
+ tableStyleMap: br(e),
2696
+ sparklineMap: Sr(e)
2633
2697
  };
2634
- return lr.set(e, s), s;
2635
- }
2636
- function dr(e, t, n, i, a = {}) {
2637
- let o = a.dpr ?? 1, s = a.cellScale ?? 1, c = Z(t), l = e.canvas.width / o, u = e.canvas.height / o;
2638
- e.clearRect(0, 0, l, u), e.fillStyle = "#ffffff", e.fillRect(0, 0, l, u);
2639
- let d = (e) => Math.round(e * s), f = d(50), p = d(22), { row: m, col: h, rows: g, cols: _ } = i, v = (a.scrollOffsetX ?? 0) * s, y = (a.scrollOffsetY ?? 0) * s, b = a.freezeRows ?? 0, x = a.freezeCols ?? 0, S = [];
2640
- for (let e = 1; e <= x; e++) S.push(d(Q(t.colWidths[e] ?? t.defaultColWidth, c)));
2641
- let C = [];
2642
- for (let e = 1; e <= b; e++) C.push(d($(t.rowHeights[e] ?? t.defaultRowHeight)));
2643
- let w = S.reduce((e, t) => e + t, 0), T = C.reduce((e, t) => e + t, 0), E = [];
2644
- for (let e = h; e < h + _; e++) E.push(d(Q(t.colWidths[e] ?? t.defaultColWidth, c)));
2645
- let D = [];
2646
- for (let e = m; e < m + g; e++) D.push(d($(t.rowHeights[e] ?? t.defaultRowHeight)));
2647
- let { cellMap: O, cfContext: k, mergeSkipSet: A, autoFilterCells: j, hyperlinkMap: M, commentCells: N, tableStyleMap: P, sparklineMap: F } = ur(t), I = /* @__PURE__ */ new Map();
2698
+ return Tr.set(e, s), s;
2699
+ }
2700
+ function Dr(e, t, n, r, i = {}) {
2701
+ let a = i.dpr ?? 1, o = i.cellScale ?? 1, s = Z(t), c = e.canvas.width / a, l = e.canvas.height / a;
2702
+ e.clearRect(0, 0, c, l), e.fillStyle = "#ffffff", e.fillRect(0, 0, c, l);
2703
+ let u = (e) => Math.round(e * o), d = u(50), f = u(22), { row: p, col: m, rows: h, cols: g } = r, _ = (i.scrollOffsetX ?? 0) * o, v = (i.scrollOffsetY ?? 0) * o, y = i.freezeRows ?? 0, b = i.freezeCols ?? 0, x = [];
2704
+ for (let e = 1; e <= b; e++) x.push(u(Q(t.colWidths[e] ?? t.defaultColWidth, s)));
2705
+ let S = [];
2706
+ for (let e = 1; e <= y; e++) S.push(u($(t.rowHeights[e] ?? t.defaultRowHeight)));
2707
+ let C = x.reduce((e, t) => e + t, 0), w = S.reduce((e, t) => e + t, 0), T = [];
2708
+ for (let e = m; e < m + g; e++) T.push(u(Q(t.colWidths[e] ?? t.defaultColWidth, s)));
2709
+ let E = [];
2710
+ for (let e = p; e < p + h; e++) E.push(u($(t.rowHeights[e] ?? t.defaultRowHeight)));
2711
+ let { cellMap: D, cfContext: O, mergeSkipSet: k, autoFilterCells: A, hyperlinkMap: j, commentCells: M, tableStyleMap: P, sparklineMap: F } = Er(t), ee = /* @__PURE__ */ new Map();
2648
2712
  for (let e of t.mergeCells ?? []) {
2649
2713
  let n = 0;
2650
- for (let r = e.left; r <= e.right; r++) n += d(Q(t.colWidths[r] ?? t.defaultColWidth, c));
2714
+ for (let r = e.left; r <= e.right; r++) n += u(Q(t.colWidths[r] ?? t.defaultColWidth, s));
2651
2715
  let r = 0;
2652
- for (let n = e.top; n <= e.bottom; n++) r += d($(t.rowHeights[n] ?? t.defaultRowHeight));
2653
- I.set(`${e.top}:${e.left}`, {
2716
+ for (let n = e.top; n <= e.bottom; n++) r += u($(t.rowHeights[n] ?? t.defaultRowHeight));
2717
+ ee.set(`${e.top}:${e.left}`, {
2654
2718
  totalW: n,
2655
2719
  totalH: r,
2656
2720
  right: e.right,
2657
2721
  bottom: e.bottom
2658
2722
  });
2659
2723
  }
2660
- let L = {
2724
+ let I = {
2661
2725
  worksheet: t,
2662
2726
  styles: n,
2663
- cellMap: O,
2664
- mergeAnchorMap: I,
2665
- mergeSkipSet: A,
2666
- cfContext: k,
2667
- colWidths: E,
2668
- rowHeights: D,
2669
- frozenColWidths: S,
2670
- frozenRowHeights: C,
2671
- frozenW: w,
2672
- frozenH: T,
2673
- startRow: m,
2674
- startCol: h,
2675
- cs: s,
2676
- dpr: o,
2677
- autoFilterCells: j,
2678
- hyperlinkMap: M,
2679
- commentCells: N,
2727
+ cellMap: D,
2728
+ mergeAnchorMap: ee,
2729
+ mergeSkipSet: k,
2730
+ cfContext: O,
2731
+ colWidths: T,
2732
+ rowHeights: E,
2733
+ frozenColWidths: x,
2734
+ frozenRowHeights: S,
2735
+ frozenW: C,
2736
+ frozenH: w,
2737
+ startRow: p,
2738
+ startCol: m,
2739
+ cs: o,
2740
+ dpr: a,
2741
+ autoFilterCells: A,
2742
+ hyperlinkMap: j,
2743
+ commentCells: M,
2680
2744
  tableStyleMap: P,
2681
2745
  sparklineMap: F,
2682
- mdw: c,
2683
- onTextRun: a.onTextRun,
2746
+ mdw: s,
2747
+ onTextRun: i.onTextRun,
2684
2748
  rtl: t.rightToLeft === !0,
2685
- canvasW: l
2686
- }, R = f, ee = p, z = R + w, B = ee + T, V = Math.max(0, l - z), H = Math.max(0, u - B);
2687
- b > 0 && x > 0 && cr(e, L, 1, 1, S, C, 0, 0, R, ee, R, ee, w, T), b > 0 && cr(e, L, 1, h, E, C, v, 0, z, ee, z, ee, V, T), x > 0 && cr(e, L, m, 1, S, D, 0, y, R, B, R, B, w, H), cr(e, L, m, h, E, D, v, y, z, B, z, B, V, H), t.images && t.images.length > 0 && a.loadedImages && hr(e, t, a.loadedImages, s, m, h, v, y, z, B, V, H), t.shapeGroups && t.shapeGroups.length > 0 && gr(e, t, s, m, h, v, y, z, B, V, H, a.loadedImages), t.charts && t.charts.length > 0 && Fr(e, t, s, m, h, v, y, z, B, V, H), t.slicers && t.slicers.length > 0 && Jr(e, t, s, m, h, v, y, z, B, V, H), fr(e, l, u, m, h, g, _, E, D, v, y, S, C, w, T, f, p, s, o, a.selectedRowRange ?? null, a.selectedColRange ?? null, t.rightToLeft === !0);
2749
+ canvasW: c
2750
+ }, L = d, R = f, z = L + C, B = R + w, V = Math.max(0, c - z), H = Math.max(0, l - B);
2751
+ y > 0 && b > 0 && wr(e, I, 1, 1, x, S, 0, 0, L, R, L, R, C, w), y > 0 && wr(e, I, 1, m, T, S, _, 0, z, R, z, R, V, w), b > 0 && wr(e, I, p, 1, x, E, 0, v, L, B, L, B, C, H), wr(e, I, p, m, T, E, _, v, z, B, z, B, V, H), t.images && t.images.length > 0 && i.loadedImages && jr(e, t, i.loadedImages, o, p, m, _, v, z, B, V, H), t.shapeGroups && t.shapeGroups.length > 0 && Mr(e, t, o, p, m, _, v, z, B, V, H, i.loadedImages), t.charts && t.charts.length > 0 && Zr(e, t, o, p, m, _, v, z, B, V, H), t.slicers && t.slicers.length > 0 && ui(e, t, o, p, m, _, v, z, B, V, H), Or(e, c, l, p, m, h, g, T, E, _, v, x, S, C, w, d, f, o, a, i.selectedRowRange ?? null, i.selectedColRange ?? null, t.rightToLeft === !0);
2688
2752
  let U = t.rightToLeft === !0;
2753
+ if (y > 0) {
2754
+ e.save(), e.strokeStyle = jn, e.lineWidth = .5, e.beginPath();
2755
+ let t = B + N(B, .5, a);
2756
+ U ? (e.moveTo(0, t), e.lineTo(c - d, t)) : (e.moveTo(d, t), e.lineTo(c, t)), e.stroke(), e.restore();
2757
+ }
2689
2758
  if (b > 0) {
2690
- e.save(), e.strokeStyle = gn, e.lineWidth = .5, e.beginPath();
2691
- let t = B + r(B, .5, o);
2692
- U ? (e.moveTo(0, t), e.lineTo(l - f, t)) : (e.moveTo(f, t), e.lineTo(l, t)), e.stroke(), e.restore();
2693
- }
2694
- if (x > 0) {
2695
- e.save(), e.strokeStyle = gn, e.lineWidth = .5, e.beginPath();
2696
- let t = U ? l - z : z, n = t + r(t, .5, o);
2697
- e.moveTo(n, p), e.lineTo(n, u), e.stroke(), e.restore();
2698
- }
2699
- }
2700
- function fr(e, t, n, i, a, o, s, c, l, u, d, f, p, m, h, g, _, v, y, b, x, S) {
2701
- let C = "#f8f9fa", w = "#e8eaed", T = "#caddf6", E = "#c8ccd0", D = "#5b9bd5", O = "#444", k = (e) => !x || e < x.start || e > x.end ? C : x.strong ? T : w, A = (e) => !x || e < x.start || e > x.end ? E : x.strong ? D : E, j = (e) => !b || e < b.start || e > b.end ? C : b.strong ? T : w, M = (e) => !b || e < b.start || e > b.end ? E : b.strong ? D : E, N = `${Math.max(1, Math.round(11 * v))}px ${cn}`, P = g + m, F = _ + h, I = .5 / y, L = (e, n) => S ? hn(e, n, t) : e, R = S ? t - g : 0;
2702
- e.fillStyle = C, e.fillRect(R, 0, g, _), e.strokeStyle = E, e.lineWidth = .5, e.beginPath();
2703
- let ee = R + r(R, .5, y), z = r(0, .5, y);
2704
- e.moveTo(ee, 0), e.lineTo(ee, _), e.moveTo(R, z), e.lineTo(R + g, z), e.moveTo(R + g - I, 0), e.lineTo(R + g - I, _), e.moveTo(R, _ - I), e.lineTo(R + g, _ - I), e.stroke(), e.font = N, e.fillStyle = O;
2705
- let B = (t, n, i) => {
2706
- let a = L(n, i);
2707
- e.fillStyle = k(t), e.fillRect(a, 0, i, _), e.strokeStyle = A(t), e.lineWidth = .5, e.beginPath();
2708
- let o = a + r(a, .5, y), s = r(0, .5, y);
2709
- e.moveTo(o, 0), e.lineTo(o, _), e.moveTo(a, _ - I), e.lineTo(a + i, _ - I), e.moveTo(a, s), e.lineTo(a + i, s), e.stroke(), e.fillStyle = O, e.textAlign = "center", e.textBaseline = "middle", e.fillText(Qn(t), a + i / 2, _ / 2);
2710
- }, V = (t, n, i) => {
2711
- let a = R;
2712
- e.fillStyle = j(t), e.fillRect(a, n, g, i), e.strokeStyle = M(t), e.lineWidth = .5, e.beginPath();
2713
- let o = n + r(n, .5, y), s = a + r(a, .5, y);
2714
- e.moveTo(a + g - I, n), e.lineTo(a + g - I, n + i), e.moveTo(a, o), e.lineTo(a + g, o), e.moveTo(s, n), e.lineTo(s, n + i), e.stroke(), e.fillStyle = O, e.textBaseline = "middle";
2715
- let c = Math.max(2, Math.round(4 * v));
2716
- S ? (e.textAlign = "left", e.fillText(String(t), a + c, n + i / 2)) : (e.textAlign = "right", e.fillText(String(t), a + g - c, n + i / 2));
2759
+ e.save(), e.strokeStyle = jn, e.lineWidth = .5, e.beginPath();
2760
+ let t = U ? c - z : z, n = t + N(t, .5, a);
2761
+ e.moveTo(n, f), e.lineTo(n, l), e.stroke(), e.restore();
2762
+ }
2763
+ }
2764
+ function Or(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, h, g, _, v, y, b, x) {
2765
+ let S = "#f8f9fa", C = "#e8eaed", w = "#caddf6", T = "#c8ccd0", E = "#5b9bd5", D = "#444", O = (e) => !b || e < b.start || e > b.end ? S : b.strong ? w : C, k = (e) => !b || e < b.start || e > b.end ? T : b.strong ? E : T, A = (e) => !y || e < y.start || e > y.end ? S : y.strong ? w : C, j = (e) => !y || e < y.start || e > y.end ? T : y.strong ? E : T, M = `${Math.max(1, Math.round(11 * _))}px ${Cn}`, P = h + p, F = g + m, ee = .5 / v, I = (e, n) => x ? An(e, n, t) : e, L = x ? t - h : 0;
2766
+ e.fillStyle = S, e.fillRect(L, 0, h, g), e.strokeStyle = T, e.lineWidth = .5, e.beginPath();
2767
+ let R = L + N(L, .5, v), z = N(0, .5, v);
2768
+ e.moveTo(R, 0), e.lineTo(R, g), e.moveTo(L, z), e.lineTo(L + h, z), e.moveTo(L + h - ee, 0), e.lineTo(L + h - ee, g), e.moveTo(L, g - ee), e.lineTo(L + h, g - ee), e.stroke(), e.font = M, e.fillStyle = D;
2769
+ let B = (t, n, r) => {
2770
+ let i = I(n, r);
2771
+ e.fillStyle = O(t), e.fillRect(i, 0, r, g), e.strokeStyle = k(t), e.lineWidth = .5, e.beginPath();
2772
+ let a = i + N(i, .5, v), o = N(0, .5, v);
2773
+ e.moveTo(a, 0), e.lineTo(a, g), e.moveTo(i, g - ee), e.lineTo(i + r, g - ee), e.moveTo(i, o), e.lineTo(i + r, o), e.stroke(), e.fillStyle = D, e.textAlign = "center", e.textBaseline = "middle", e.fillText(mr(t), i + r / 2, g / 2);
2774
+ }, V = (t, n, r) => {
2775
+ let i = L;
2776
+ e.fillStyle = A(t), e.fillRect(i, n, h, r), e.strokeStyle = j(t), e.lineWidth = .5, e.beginPath();
2777
+ let a = n + N(n, .5, v), o = i + N(i, .5, v);
2778
+ e.moveTo(i + h - ee, n), e.lineTo(i + h - ee, n + r), e.moveTo(i, a), e.lineTo(i + h, a), e.moveTo(o, n), e.lineTo(o, n + r), e.stroke(), e.fillStyle = D, e.textBaseline = "middle";
2779
+ let s = Math.max(2, Math.round(4 * _));
2780
+ x ? (e.textAlign = "left", e.fillText(String(t), i + s, n + r / 2)) : (e.textAlign = "right", e.fillText(String(t), i + h - s, n + r / 2));
2717
2781
  };
2718
- if (f.length > 0) {
2719
- e.save(), e.beginPath(), e.rect(L(g, m), 0, m, _), e.clip();
2720
- let t = g;
2721
- for (let e = 0; e < f.length; e++) B(e + 1, t, f[e]), t += f[e];
2782
+ if (d.length > 0) {
2783
+ e.save(), e.beginPath(), e.rect(I(h, p), 0, p, g), e.clip();
2784
+ let t = h;
2785
+ for (let e = 0; e < d.length; e++) B(e + 1, t, d[e]), t += d[e];
2722
2786
  e.restore();
2723
2787
  }
2724
- e.save(), e.beginPath(), e.rect(L(P, t - P), 0, t - P, _), e.clip();
2725
- let H = P - u;
2726
- for (let e = 0; e < c.length; e++) {
2727
- let n = c[e];
2728
- H + n > P && H < t && B(a + e, H, n), H += n;
2788
+ e.save(), e.beginPath(), e.rect(I(P, t - P), 0, t - P, g), e.clip();
2789
+ let H = P - l;
2790
+ for (let e = 0; e < s.length; e++) {
2791
+ let n = s[e];
2792
+ H + n > P && H < t && B(i + e, H, n), H += n;
2729
2793
  }
2730
- if (e.restore(), p.length > 0) {
2731
- e.save(), e.beginPath(), e.rect(R, _, g, h), e.clip();
2732
- let t = _;
2733
- for (let e = 0; e < p.length; e++) V(e + 1, t, p[e]), t += p[e];
2794
+ if (e.restore(), f.length > 0) {
2795
+ e.save(), e.beginPath(), e.rect(L, g, h, m), e.clip();
2796
+ let t = g;
2797
+ for (let e = 0; e < f.length; e++) V(e + 1, t, f[e]), t += f[e];
2734
2798
  e.restore();
2735
2799
  }
2736
- e.save(), e.beginPath(), e.rect(R, F, g, n - F), e.clip();
2737
- let U = F - d;
2738
- for (let e = 0; e < l.length; e++) {
2739
- let t = l[e];
2740
- U + t > F && U < n && V(i + e, U, t), U += t;
2800
+ e.save(), e.beginPath(), e.rect(L, F, h, n - F), e.clip();
2801
+ let U = F - u;
2802
+ for (let e = 0; e < c.length; e++) {
2803
+ let t = c[e];
2804
+ U + t > F && U < n && V(r + e, U, t), U += t;
2741
2805
  }
2742
2806
  e.restore();
2743
2807
  }
2744
- function pr(e, t, n) {
2808
+ function kr(e, t, n) {
2745
2809
  let r = Z(e), i = 0;
2746
2810
  for (let a = 1; a < t; a++) i += Math.round(Q(e.colWidths[a] ?? e.defaultColWidth, r) * n);
2747
2811
  return i;
2748
2812
  }
2749
- function mr(e, t, n) {
2813
+ function Ar(e, t, n) {
2750
2814
  let r = 0;
2751
2815
  for (let i = 1; i < t; i++) r += Math.round($(e.rowHeights[i] ?? e.defaultRowHeight) * n);
2752
2816
  return r;
2753
2817
  }
2754
- function hr(e, t, n, r, i, a, o, s, c, l, u, d) {
2755
- if (u <= 0 || d <= 0) return;
2756
- let f = pr(t, a, r), m = mr(t, i, r);
2757
- e.save(), e.beginPath(), e.rect(c, l, u, d), e.clip();
2758
- for (let i of t.images) {
2759
- let a = n.get(an(i.imagePath, i.duotone));
2760
- if (!a) continue;
2761
- let h = i.fromCol + 1, g = i.fromRow + 1, _ = pr(t, h, r) + i.fromColOff * r / W, v = mr(t, g, r) + i.fromRowOff * r / W, y, b;
2762
- if (i.editAs === "oneCell" && i.nativeExtCx > 0 && i.nativeExtCy > 0) y = i.nativeExtCx * r / W, b = i.nativeExtCy * r / W;
2818
+ function jr(n, r, i, a, o, s, c, l, u, d, f, p) {
2819
+ if (f <= 0 || p <= 0) return;
2820
+ let m = kr(r, s, a), h = Ar(r, o, a);
2821
+ n.save(), n.beginPath(), n.rect(u, d, f, p), n.clip();
2822
+ for (let o of r.images) {
2823
+ let s = i.get(bn(o.imagePath, o.duotone));
2824
+ if (!s) continue;
2825
+ let g = o.fromCol + 1, _ = o.fromRow + 1, v = kr(r, g, a) + o.fromColOff * a / t, y = Ar(r, _, a) + o.fromRowOff * a / t, b, x;
2826
+ if (o.editAs === "oneCell" && o.nativeExtCx > 0 && o.nativeExtCy > 0) b = o.nativeExtCx * a / t, x = o.nativeExtCy * a / t;
2763
2827
  else {
2764
- let e = i.toCol + 1, n = i.toRow + 1, a = pr(t, e, r) + i.toColOff * r / W, o = mr(t, n, r) + i.toRowOff * r / W;
2765
- y = a - _, b = o - v;
2828
+ let e = o.toCol + 1, n = o.toRow + 1, i = kr(r, e, a) + o.toColOff * a / t, s = Ar(r, n, a) + o.toRowOff * a / t;
2829
+ b = i - v, x = s - y;
2766
2830
  }
2767
- if (y <= 0 || b <= 0) continue;
2768
- let x = c + (_ - f) - o, S = l + (v - m) - s;
2769
- x + y < c || x > c + u || S + b < l || S > l + d || (i.alpha != null && i.alpha < 1 ? (e.save(), e.globalAlpha = i.alpha, p(e, a, i.srcRect, x, S, y, b), e.restore()) : p(e, a, i.srcRect, x, S, y, b));
2831
+ if (b <= 0 || x <= 0) continue;
2832
+ let S = u + (v - m) - c, C = d + (y - h) - l;
2833
+ S + b < u || S > u + f || C + x < d || C > d + p || (o.alpha != null && o.alpha < 1 ? (n.save(), n.globalAlpha = o.alpha, e(n, s, o.srcRect, S, C, b, x), n.restore()) : e(n, s, o.srcRect, S, C, b, x));
2770
2834
  }
2771
- e.restore();
2835
+ n.restore();
2772
2836
  }
2773
- function gr(e, t, n, r, i, a, o, s, c, l, u, d) {
2774
- if (l <= 0 || u <= 0) return;
2775
- let f = t.shapeGroups;
2776
- if (!f || f.length === 0) return;
2777
- let p = pr(t, i, n), m = mr(t, r, n);
2778
- e.save(), e.beginPath(), e.rect(s, c, l, u), e.clip();
2779
- for (let r of f) {
2780
- let i = r.fromCol + 1, f = r.fromRow + 1, h = pr(t, i, n) + r.fromColOff * n / W, g = mr(t, f, n) + r.fromRowOff * n / W, _, v;
2781
- if (r.editAs === "oneCell" && r.nativeExtCx > 0 && r.nativeExtCy > 0) _ = r.nativeExtCx * n / W, v = r.nativeExtCy * n / W;
2837
+ function Mr(e, n, r, i, a, o, s, c, l, u, d, f) {
2838
+ if (u <= 0 || d <= 0) return;
2839
+ let p = n.shapeGroups;
2840
+ if (!p || p.length === 0) return;
2841
+ let m = kr(n, a, r), h = Ar(n, i, r);
2842
+ e.save(), e.beginPath(), e.rect(c, l, u, d), e.clip();
2843
+ for (let i of p) {
2844
+ let a = i.fromCol + 1, p = i.fromRow + 1, g = kr(n, a, r) + i.fromColOff * r / t, _ = Ar(n, p, r) + i.fromRowOff * r / t, v, y;
2845
+ if (i.editAs === "oneCell" && i.nativeExtCx > 0 && i.nativeExtCy > 0) v = i.nativeExtCx * r / t, y = i.nativeExtCy * r / t;
2782
2846
  else {
2783
- let e = r.toCol + 1, i = r.toRow + 1, a = pr(t, e, n) + r.toColOff * n / W, o = mr(t, i, n) + r.toRowOff * n / W;
2784
- _ = a - h, v = o - g;
2847
+ let e = i.toCol + 1, a = i.toRow + 1, o = kr(n, e, r) + i.toColOff * r / t, s = Ar(n, a, r) + i.toRowOff * r / t;
2848
+ v = o - g, y = s - _;
2785
2849
  }
2786
- if (_ <= 0 || v <= 0) continue;
2787
- let y = s + (h - p) - a, b = c + (g - m) - o;
2788
- if (!(y + _ < s || y > s + l) && !(b + v < c || b > c + u)) for (let t of r.shapes) {
2789
- let r = y + t.x * _, i = b + t.y * v, a = t.w * _, o = t.h * v;
2790
- a <= 0 || o <= 0 || _r(e, t, r, i, a, o, n, d);
2850
+ if (v <= 0 || y <= 0) continue;
2851
+ let b = c + (g - m) - o, x = l + (_ - h) - s;
2852
+ if (!(b + v < c || b > c + u) && !(x + y < l || x > l + d)) for (let t of i.shapes) {
2853
+ let n = b + t.x * v, i = x + t.y * y, a = t.w * v, o = t.h * y;
2854
+ a <= 0 || o <= 0 || Nr(e, t, n, i, a, o, r, f);
2791
2855
  }
2792
2856
  }
2793
2857
  e.restore();
2794
2858
  }
2795
- function _r(e, t, n, r, i, a, o, s) {
2796
- if (e.save(), t.rot === 0 ? e.translate(n, r) : (e.translate(n + i / 2, r + a / 2), e.rotate(t.rot * Math.PI / 180), e.translate(-i / 2, -a / 2)), t.geom.type === "custom") for (let n of t.geom.paths) {
2797
- if (n.w <= 0 || n.h <= 0) continue;
2798
- let r = i / n.w, o = a / n.h;
2799
- e.beginPath();
2800
- let s = 0, c = 0, l = 0, u = 0;
2801
- for (let t of n.commands) switch (t.op) {
2859
+ function Nr(n, r, i, a, o, s, c, l) {
2860
+ if (n.save(), r.rot !== 0 || r.flipH || r.flipV ? (n.translate(i + o / 2, a + s / 2), n.rotate(r.rot * Math.PI / 180), n.scale(r.flipH ? -1 : 1, r.flipV ? -1 : 1), n.translate(-o / 2, -s / 2)) : n.translate(i, a), r.geom.type === "custom") for (let e of r.geom.paths) {
2861
+ if (e.w <= 0 || e.h <= 0) continue;
2862
+ let t = o / e.w, i = s / e.h;
2863
+ n.beginPath();
2864
+ let a = 0, c = 0, l = 0, u = 0;
2865
+ for (let r of e.commands) switch (r.op) {
2802
2866
  case "moveTo": {
2803
- let n = t.x * r, i = t.y * o;
2804
- e.moveTo(n, i), s = l = n, c = u = i;
2867
+ let e = r.x * t, o = r.y * i;
2868
+ n.moveTo(e, o), a = l = e, c = u = o;
2805
2869
  break;
2806
2870
  }
2807
2871
  case "lineTo": {
2808
- let n = t.x * r, i = t.y * o;
2809
- e.lineTo(n, i), s = n, c = i;
2872
+ let e = r.x * t, o = r.y * i;
2873
+ n.lineTo(e, o), a = e, c = o;
2810
2874
  break;
2811
2875
  }
2812
2876
  case "cubicBezTo": {
2813
- let n = t.x3 * r, i = t.y3 * o;
2814
- e.bezierCurveTo(t.x1 * r, t.y1 * o, t.x2 * r, t.y2 * o, n, i), s = n, c = i;
2877
+ let e = r.x3 * t, o = r.y3 * i;
2878
+ n.bezierCurveTo(r.x1 * t, r.y1 * i, r.x2 * t, r.y2 * i, e, o), a = e, c = o;
2815
2879
  break;
2816
2880
  }
2817
2881
  case "quadBezTo": {
2818
- let n = t.x2 * r, i = t.y2 * o;
2819
- e.quadraticCurveTo(t.x1 * r, t.y1 * o, n, i), s = n, c = i;
2882
+ let e = r.x2 * t, o = r.y2 * i;
2883
+ n.quadraticCurveTo(r.x1 * t, r.y1 * i, e, o), a = e, c = o;
2820
2884
  break;
2821
2885
  }
2822
2886
  case "arcTo": {
2823
- let n = t.wr * r, i = t.hr * o;
2824
- if (n <= 0 || i <= 0) break;
2825
- let a = t.stAng / 6e4 * (Math.PI / 180), l = t.swAng / 6e4 * (Math.PI / 180), u = s - Math.cos(a) * n, d = c - Math.sin(a) * i, f = a + l;
2826
- e.ellipse(u, d, n, i, 0, a, f, l < 0), s = u + Math.cos(f) * n, c = d + Math.sin(f) * i;
2887
+ let e = r.wr * t, o = r.hr * i;
2888
+ if (e <= 0 || o <= 0) break;
2889
+ let s = r.stAng / 6e4 * (Math.PI / 180), l = r.swAng / 6e4 * (Math.PI / 180), u = a - Math.cos(s) * e, d = c - Math.sin(s) * o, f = s + l;
2890
+ n.ellipse(u, d, e, o, 0, s, f, l < 0), a = u + Math.cos(f) * e, c = d + Math.sin(f) * o;
2827
2891
  break;
2828
2892
  }
2829
2893
  case "close":
2830
- e.closePath(), s = l, c = u;
2894
+ n.closePath(), a = l, c = u;
2831
2895
  break;
2832
2896
  }
2833
- Dr(e, t);
2897
+ Ur(n, r);
2834
2898
  }
2835
- else if (t.geom.type === "preset") {
2836
- let n = t.fillColor ?? null, r = t.strokeColor && t.strokeWidth > 0 ? () => {
2837
- e.strokeStyle = t.strokeColor, e.lineWidth = Math.max(.5, t.strokeWidth / W), e.stroke();
2899
+ else if (r.geom.type === "preset") {
2900
+ let e = r.fillColor ?? null, i = r.strokeColor && r.strokeWidth > 0 ? () => {
2901
+ n.strokeStyle = r.strokeColor, n.lineWidth = Math.max(.5, r.strokeWidth / t), n.stroke();
2838
2902
  } : null;
2839
- _(e, t.geom.name, 0, 0, i, a, t.geom.adj ?? [], n, r, () => {}) || (e.beginPath(), e.rect(0, 0, i, a), Dr(e, t));
2840
- } else if (t.geom.type === "image") {
2841
- let n = s?.get(an(t.geom.imagePath, t.geom.duotone));
2842
- if (n) {
2843
- let r = t.geom.alpha;
2844
- r != null && r < 1 ? (e.save(), e.globalAlpha = r, p(e, n, t.geom.srcRect, 0, 0, i, a), e.restore()) : p(e, n, t.geom.srcRect, 0, 0, i, a);
2903
+ K(n, r.geom.name, 0, 0, o, s, r.geom.adj ?? [], e, i, () => {}) || (n.beginPath(), n.rect(0, 0, o, s), Ur(n, r));
2904
+ } else if (r.geom.type === "image") {
2905
+ let t = l?.get(bn(r.geom.imagePath, r.geom.duotone));
2906
+ if (t) {
2907
+ let i = r.geom.alpha;
2908
+ i != null && i < 1 ? (n.save(), n.globalAlpha = i, e(n, t, r.geom.srcRect, 0, 0, o, s), n.restore()) : e(n, t, r.geom.srcRect, 0, 0, o, s);
2845
2909
  }
2846
2910
  }
2847
- t.text && Er(e, t.text, i, a, o), e.restore();
2911
+ r.text && Hr(n, r.text, o, s, c), n.restore();
2848
2912
  }
2849
- var vr = /* @__PURE__ */ new WeakMap();
2850
- function yr(e, t) {
2913
+ var Pr = /* @__PURE__ */ new WeakMap();
2914
+ function Fr(e, t) {
2851
2915
  let n = e.tinted.get(t);
2852
2916
  if (n) return n;
2853
2917
  let r = e.img.naturalWidth || 1, i = e.img.naturalHeight || 1, a = document.createElement("canvas");
@@ -2855,18 +2919,18 @@ function yr(e, t) {
2855
2919
  let o = a.getContext("2d");
2856
2920
  return o ? (o.drawImage(e.img, 0, 0, r, i), o.globalCompositeOperation = "source-in", o.fillStyle = t, o.fillRect(0, 0, r, i), e.tinted.set(t, a), a) : e.img;
2857
2921
  }
2858
- function br(e) {
2922
+ function Ir(e) {
2859
2923
  let t = `data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`, n = new Image();
2860
2924
  return new Promise((e, r) => {
2861
2925
  n.onload = () => e(n), n.onerror = r, n.src = t;
2862
2926
  });
2863
2927
  }
2864
- var xr = 256;
2865
- function Sr(e, t, n) {
2866
- let r = Math.max(1, Math.round(t * xr)), i = Math.max(1, Math.round(n * xr));
2928
+ var Lr = 256;
2929
+ function Rr(e, t, n) {
2930
+ let r = Math.max(1, Math.round(t * Lr)), i = Math.max(1, Math.round(n * Lr));
2867
2931
  return e.replace(/<svg([^>]*?)>/, (e, t) => `<svg${t.replace(/\s(?:width|height)="[^"]*"/g, "")} width="${r}" height="${i}">`);
2868
2932
  }
2869
- function Cr(e) {
2933
+ function zr(e) {
2870
2934
  let t = [];
2871
2935
  for (let n of e.shapeGroups ?? []) for (let e of n.shapes) for (let n of e.text?.paragraphs ?? []) for (let e of n.runs) e.type === "math" && t.push({
2872
2936
  nodes: e.nodes,
@@ -2874,182 +2938,182 @@ function Cr(e) {
2874
2938
  });
2875
2939
  return t;
2876
2940
  }
2877
- function wr(e) {
2878
- for (let t of e.shapeGroups ?? []) for (let e of t.shapes) for (let t of e.text?.paragraphs ?? []) for (let e of t.runs) if (e.type === "math" && !vr.has(e.nodes)) return !0;
2941
+ function Br(e) {
2942
+ for (let t of e.shapeGroups ?? []) for (let e of t.shapes) for (let t of e.text?.paragraphs ?? []) for (let e of t.runs) if (e.type === "math" && !Pr.has(e.nodes)) return !0;
2879
2943
  return !1;
2880
2944
  }
2881
- async function Tr(t, n) {
2882
- let r = Cr(t).filter((e) => !vr.has(e.nodes));
2883
- if (r.length !== 0) {
2884
- await n.loadMathJax();
2885
- for (let t of r) if (!vr.has(t.nodes)) try {
2886
- let r = await n.mathMLToSvg(e(t.nodes, t.display)), i = await br(Sr(K(r.svg, "#000000"), r.widthEm, r.ascentEm + r.descentEm));
2887
- vr.set(t.nodes, {
2888
- img: i,
2889
- widthEm: r.widthEm,
2890
- ascentEm: r.ascentEm,
2891
- descentEm: r.descentEm,
2945
+ async function Vr(e, t) {
2946
+ let n = zr(e).filter((e) => !Pr.has(e.nodes));
2947
+ if (n.length !== 0) {
2948
+ await t.loadMathJax();
2949
+ for (let e of n) if (!Pr.has(e.nodes)) try {
2950
+ let n = await t.mathMLToSvg(de(e.nodes, e.display)), r = await Ir(Rr(Ee(n.svg, "#000000"), n.widthEm, n.ascentEm + n.descentEm));
2951
+ Pr.set(e.nodes, {
2952
+ img: r,
2953
+ widthEm: n.widthEm,
2954
+ ascentEm: n.ascentEm,
2955
+ descentEm: n.descentEm,
2892
2956
  tinted: /* @__PURE__ */ new Map()
2893
2957
  });
2894
2958
  } catch {}
2895
2959
  }
2896
2960
  }
2897
- function Er(e, t, n, r, i) {
2898
- if (n <= 0 || r <= 0 || t.paragraphs.length === 0) return;
2899
- let a = t.lIns / W * i, o = t.rIns / W * i, s = t.tIns / W * i, c = t.bIns / W * i, l = Math.max(0, n - a - o), u = Math.max(0, r - s - c);
2900
- if (l <= 0 || u <= 0) return;
2901
- let d = (e) => {
2902
- let t = (e.size > 0 ? e.size : pn) * w * i, n = fn(e.fontFace);
2961
+ function Hr(e, n, r, i, a) {
2962
+ if (r <= 0 || i <= 0 || n.paragraphs.length === 0) return;
2963
+ let o = n.lIns / t * a, s = n.rIns / t * a, c = n.tIns / t * a, l = n.bIns / t * a, u = Math.max(0, r - o - s), d = Math.max(0, i - c - l);
2964
+ if (u <= 0 || d <= 0) return;
2965
+ let f = (e) => {
2966
+ let t = (e.size > 0 ? e.size : On) * G * a, n = Dn(e.fontFace);
2903
2967
  return {
2904
2968
  font: `${e.italic ? "italic " : ""}${e.bold ? "bold " : ""}${t}px ${n}`,
2905
2969
  px: t
2906
2970
  };
2907
- }, f = (t, n) => {
2971
+ }, p = (t, n) => {
2908
2972
  let r = e.font;
2909
2973
  e.font = t;
2910
2974
  let i = e.measureText("M").actualBoundingBoxAscent;
2911
2975
  return e.font = r, i > 0 ? i : n * .85;
2912
- }, p = t.wrap !== "none", m = [];
2913
- for (let n of t.paragraphs) {
2914
- let r = n.align || "l", a = (n.marL ?? 0) / W * i, o = (n.marR ?? 0) / W * i, s = (n.indent ?? 0) / W * i, c = Math.max(0, s), u = Math.max(0, l - a - o), h = !1, g = () => h ? a : a + c, _ = () => h ? u : u - c, v = [], y = 0, b = 0, x = 0, S = !1, C = (e) => {
2915
- let r = e;
2916
- return n.spaceLine && (n.spaceLine.type === "pct" ? r *= n.spaceLine.val / 1e5 : r = n.spaceLine.val * w * i), t.autoFit === "norm" && t.lnSpcReduction != null && n.spaceLine?.type !== "pts" && (r *= 1 - t.lnSpcReduction), r;
2976
+ }, m = n.wrap !== "none", h = [];
2977
+ for (let r of n.paragraphs) {
2978
+ let i = r.align || "l", o = (r.marL ?? 0) / t * a, s = (r.marR ?? 0) / t * a, c = (r.indent ?? 0) / t * a, l = Math.max(0, c), d = Math.max(0, u - o - s), g = !1, _ = () => g ? o : o + l, v = () => g ? d : d - l, y = [], b = 0, x = 0, S = 0, C = !1, w = (e) => {
2979
+ let t = e;
2980
+ return r.spaceLine && (r.spaceLine.type === "pct" ? t *= r.spaceLine.val / 1e5 : t = r.spaceLine.val * G * a), n.autoFit === "norm" && n.lnSpcReduction != null && r.spaceLine?.type !== "pts" && (t *= 1 - n.lnSpcReduction), t;
2917
2981
  }, T = () => {
2918
- if (b === 0) {
2919
- let e = (E || pn) * w * i, t = Math.max(V(D, e), V(O, e));
2920
- b = Math.max(e * 1.2, t), x = f(`${e}px ${fn(D)}`, e);
2982
+ if (x === 0) {
2983
+ let e = (E || On) * G * a, t = Math.max(le(D, e), le(O, e));
2984
+ x = Math.max(e * 1.2, t), S = p(`${e}px ${Dn(D)}`, e);
2921
2985
  }
2922
- b = C(b), m.push({
2923
- segs: v,
2924
- align: r,
2925
- height: b,
2926
- ascent: x,
2927
- hasMath: S,
2928
- leftInset: g(),
2929
- availW: _()
2930
- }), h = !0, v = [], y = 0, b = 0, x = 0, S = !1;
2986
+ x = w(x), h.push({
2987
+ segs: y,
2988
+ align: i,
2989
+ height: x,
2990
+ ascent: S,
2991
+ hasMath: C,
2992
+ leftInset: _(),
2993
+ availW: v()
2994
+ }), g = !0, y = [], b = 0, x = 0, S = 0, C = !1;
2931
2995
  }, E = 0, D, O;
2932
- for (let t of n.runs) {
2996
+ for (let t of r.runs) {
2933
2997
  if (t.type === "break") {
2934
2998
  T();
2935
2999
  continue;
2936
3000
  }
2937
3001
  if (t.type === "math") {
2938
- let e = vr.get(t.nodes);
3002
+ let e = Pr.get(t.nodes);
2939
3003
  if (!e) continue;
2940
- let n = (t.fontSize ?? (E || pn)) * w * i, o = e.widthEm * n, s = e.ascentEm * n, c = e.descentEm * n, l = t.color ?? "#000000";
3004
+ let n = (t.fontSize ?? (E || On)) * G * a, r = e.widthEm * n, s = e.ascentEm * n, c = e.descentEm * n, l = t.color ?? "#000000";
2941
3005
  if (t.display) {
2942
- T(), m.push({
3006
+ T(), h.push({
2943
3007
  segs: [{
2944
3008
  kind: "math",
2945
3009
  render: e,
2946
3010
  color: l,
2947
- w: o,
3011
+ w: r,
2948
3012
  ascent: s,
2949
3013
  descent: c
2950
3014
  }],
2951
- align: r,
2952
- height: C(s + c),
3015
+ align: i,
3016
+ height: w(s + c),
2953
3017
  ascent: s,
2954
3018
  hasMath: !0,
2955
- leftInset: a,
2956
- availW: u
2957
- }), h = !0;
3019
+ leftInset: o,
3020
+ availW: d
3021
+ }), g = !0;
2958
3022
  continue;
2959
3023
  }
2960
- p && y + o > _() && v.length > 0 && T(), v.push({
3024
+ m && b + r > v() && y.length > 0 && T(), y.push({
2961
3025
  kind: "math",
2962
3026
  render: e,
2963
3027
  color: l,
2964
- w: o,
3028
+ w: r,
2965
3029
  ascent: s,
2966
3030
  descent: c
2967
- }), y += o, b = Math.max(b, s + c), x = Math.max(x, s), S = !0;
3031
+ }), b += r, x = Math.max(x, s + c), S = Math.max(S, s), C = !0;
2968
3032
  continue;
2969
3033
  }
2970
- E = t.size > 0 ? t.size : pn, D = t.fontFace, O = t.fontFaceEa;
2971
- let { font: n, px: o } = d(t), s = t.color ?? "#000000", c = Math.max(V(t.fontFace, o), V(t.fontFaceEa, o)), l = Math.max(o * 1.2, c);
2972
- b = Math.max(b, l), x = Math.max(x, f(n, o)), e.font = n;
2973
- let g = t.text.split("\n");
2974
- for (let t = 0; t < g.length; t++) {
3034
+ E = t.size > 0 ? t.size : On, D = t.fontFace, O = t.fontFaceEa;
3035
+ let { font: n, px: r } = f(t), s = t.color ?? "#000000", c = Math.max(le(t.fontFace, r), le(t.fontFaceEa, r)), l = Math.max(r * 1.2, c);
3036
+ x = Math.max(x, l), S = Math.max(S, p(n, r)), e.font = n;
3037
+ let u = t.text.split("\n");
3038
+ for (let t = 0; t < u.length; t++) {
2975
3039
  t > 0 && T();
2976
- let r = g[t];
2977
- if (!r) continue;
2978
- if (!p) {
2979
- let t = e.measureText(r).width;
2980
- v.push({
3040
+ let i = u[t];
3041
+ if (!i) continue;
3042
+ if (!m) {
3043
+ let t = e.measureText(i).width;
3044
+ y.push({
2981
3045
  kind: "text",
2982
- text: r,
3046
+ text: i,
2983
3047
  font: n,
2984
3048
  color: s,
2985
3049
  w: t
2986
- }), y += t;
3050
+ }), b += t;
2987
3051
  continue;
2988
3052
  }
2989
- let i = "";
2990
- for (let t of r) {
2991
- let r = i + t, a = e.measureText(r).width;
2992
- if (y + a > _() && (i.length > 0 || v.length > 0)) {
2993
- if (i) {
2994
- let t = e.measureText(i).width;
2995
- v.push({
3053
+ let a = "";
3054
+ for (let t of i) {
3055
+ let i = a + t, o = e.measureText(i).width;
3056
+ if (b + o > v() && (a.length > 0 || y.length > 0)) {
3057
+ if (a) {
3058
+ let t = e.measureText(a).width;
3059
+ y.push({
2996
3060
  kind: "text",
2997
- text: i,
3061
+ text: a,
2998
3062
  font: n,
2999
3063
  color: s,
3000
3064
  w: t
3001
- }), y += t;
3065
+ }), b += t;
3002
3066
  }
3003
- T(), i = t, e.font = n, b = Math.max(b, l), x = Math.max(x, f(n, o));
3004
- } else i = r;
3067
+ T(), a = t, e.font = n, x = Math.max(x, l), S = Math.max(S, p(n, r));
3068
+ } else a = i;
3005
3069
  }
3006
- if (i) {
3007
- let t = e.measureText(i).width;
3008
- v.push({
3070
+ if (a) {
3071
+ let t = e.measureText(a).width;
3072
+ y.push({
3009
3073
  kind: "text",
3010
- text: i,
3074
+ text: a,
3011
3075
  font: n,
3012
3076
  color: s,
3013
3077
  w: t
3014
- }), y += t;
3078
+ }), b += t;
3015
3079
  }
3016
3080
  }
3017
3081
  }
3018
3082
  T();
3019
3083
  }
3020
- let h = m.reduce((e, t) => e + t.height, 0), g = s;
3021
- t.anchor === "ctr" ? g = s + (u - h) / 2 : t.anchor === "b" && (g = s + Math.max(0, u - h));
3022
- let _ = g;
3023
- for (let t of m) {
3024
- let n = t.segs.reduce((e, t) => e + t.w, 0), r = a + t.leftInset, i = r;
3084
+ let g = h.reduce((e, t) => e + t.height, 0), _ = c;
3085
+ n.anchor === "ctr" ? _ = c + (d - g) / 2 : n.anchor === "b" && (_ = c + Math.max(0, d - g));
3086
+ let v = _;
3087
+ for (let t of h) {
3088
+ let n = t.segs.reduce((e, t) => e + t.w, 0), r = o + t.leftInset, i = r;
3025
3089
  if (t.align === "ctr" ? i = r + Math.max(0, (t.availW - n) / 2) : t.align === "r" && (i = r + Math.max(0, t.availW - n)), t.hasMath) {
3026
3090
  e.textBaseline = "alphabetic";
3027
- let n = _ + t.ascent;
3091
+ let n = v + t.ascent;
3028
3092
  for (let r of t.segs) {
3029
3093
  if (r.kind === "text") e.font = r.font, e.fillStyle = r.color, e.fillText(r.text, i, n);
3030
3094
  else {
3031
- let t = yr(r.render, r.color);
3095
+ let t = Fr(r.render, r.color);
3032
3096
  e.drawImage(t, i, n - r.ascent, r.w, r.ascent + r.descent);
3033
3097
  }
3034
3098
  i += r.w;
3035
3099
  }
3036
3100
  } else {
3037
3101
  e.textBaseline = "middle";
3038
- let n = _ + t.height / 2;
3102
+ let n = v + t.height / 2;
3039
3103
  for (let r of t.segs) r.kind === "text" && (e.font = r.font, e.fillStyle = r.color, e.fillText(r.text, i, n)), i += r.w;
3040
3104
  }
3041
- _ += t.height;
3105
+ v += t.height;
3042
3106
  }
3043
3107
  }
3044
- function Dr(e, t) {
3045
- t.fillColor && (e.fillStyle = t.fillColor, e.fill()), t.strokeColor && t.strokeWidth > 0 && (e.strokeStyle = t.strokeColor, e.lineWidth = Math.max(.5, t.strokeWidth / W), e.stroke());
3108
+ function Ur(e, n) {
3109
+ n.fillColor && (e.fillStyle = n.fillColor, e.fill()), n.strokeColor && n.strokeWidth > 0 && (e.strokeStyle = n.strokeColor, e.lineWidth = Math.max(.5, n.strokeWidth / t), e.stroke());
3046
3110
  }
3047
- function Or(e, t, n, r, i, a, o) {
3111
+ function Wr(e, t, n, r, i, a, o) {
3048
3112
  if (r === n && i === t) return e;
3049
3113
  let s = (e, r) => {
3050
3114
  if (e === t && r === n) return null;
3051
3115
  let i = a.get(`${e}:${r}`);
3052
- return i ? Rn(o, i.styleIndex ?? 0).border : null;
3116
+ return i ? $n(o, i.styleIndex ?? 0).border : null;
3053
3117
  }, c = s(t, r), l = s(i, n), u = s(i, r), d = (e, ...t) => {
3054
3118
  if (e?.style) return e;
3055
3119
  for (let e of t) if (e?.style) return e;
@@ -3064,7 +3128,7 @@ function Or(e, t, n, r, i, a, o) {
3064
3128
  diagonalDown: e.diagonalDown ?? null
3065
3129
  };
3066
3130
  }
3067
- function kr(e, t) {
3131
+ function Gr(e, t) {
3068
3132
  if (!t) return e;
3069
3133
  let n = (e, t) => t && t.style ? t : e ?? null;
3070
3134
  return {
@@ -3076,87 +3140,87 @@ function kr(e, t) {
3076
3140
  diagonalDown: n(e.diagonalDown, t.diagonalDown)
3077
3141
  };
3078
3142
  }
3079
- function Ar(e, t, n, i, a, o, s = 1) {
3080
- let c = [
3143
+ function Kr(e, t, n, r, i, a, o = 1) {
3144
+ let s = [
3081
3145
  {
3082
3146
  edge: t.top,
3083
3147
  x1: n,
3084
- y1: i,
3085
- x2: n + a,
3086
- y2: i,
3148
+ y1: r,
3149
+ x2: n + i,
3150
+ y2: r,
3087
3151
  kind: "h"
3088
3152
  },
3089
3153
  {
3090
3154
  edge: t.bottom,
3091
3155
  x1: n,
3092
- y1: i + o,
3093
- x2: n + a,
3094
- y2: i + o,
3156
+ y1: r + a,
3157
+ x2: n + i,
3158
+ y2: r + a,
3095
3159
  kind: "h"
3096
3160
  },
3097
3161
  {
3098
3162
  edge: t.left,
3099
3163
  x1: n,
3100
- y1: i,
3164
+ y1: r,
3101
3165
  x2: n,
3102
- y2: i + o,
3166
+ y2: r + a,
3103
3167
  kind: "v"
3104
3168
  },
3105
3169
  {
3106
3170
  edge: t.right,
3107
- x1: n + a,
3108
- y1: i,
3109
- x2: n + a,
3110
- y2: i + o,
3171
+ x1: n + i,
3172
+ y1: r,
3173
+ x2: n + i,
3174
+ y2: r + a,
3111
3175
  kind: "v"
3112
3176
  },
3113
3177
  {
3114
3178
  edge: t.diagonalUp,
3115
3179
  x1: n,
3116
- y1: i + o,
3117
- x2: n + a,
3118
- y2: i,
3180
+ y1: r + a,
3181
+ x2: n + i,
3182
+ y2: r,
3119
3183
  kind: "d"
3120
3184
  },
3121
3185
  {
3122
3186
  edge: t.diagonalDown,
3123
3187
  x1: n,
3124
- y1: i,
3125
- x2: n + a,
3126
- y2: i + o,
3188
+ y1: r,
3189
+ x2: n + i,
3190
+ y2: r + a,
3127
3191
  kind: "d"
3128
3192
  }
3129
3193
  ];
3130
- for (let { edge: t, x1: l, y1: u, x2: d, y2: f, kind: p } of c) {
3194
+ for (let { edge: t, x1: c, y1: l, x2: u, y2: d, kind: f } of s) {
3131
3195
  if (!t || !t.style || t.style === "none") continue;
3132
- let c = t.color ? v(t.color) : "#000000";
3133
- if (t.style === "double" && p === "d") {
3134
- e.strokeStyle = c, e.lineWidth = 1, e.setLineDash([]);
3135
- let t = d - l, n = f - u, r = Math.hypot(t, n), i = -n / r * 1, a = t / r * 1;
3136
- e.beginPath(), e.moveTo(l + i, u + a), e.lineTo(d + i, f + a), e.moveTo(l - i, u - a), e.lineTo(d - i, f - a), e.stroke();
3196
+ let s = t.color ? R(t.color) : "#000000";
3197
+ if (t.style === "double" && f === "d") {
3198
+ e.strokeStyle = s, e.lineWidth = 1, e.setLineDash([]);
3199
+ let t = u - c, n = d - l, r = Math.hypot(t, n), i = -n / r * 1, a = t / r * 1;
3200
+ e.beginPath(), e.moveTo(c + i, l + a), e.lineTo(u + i, d + a), e.moveTo(c - i, l - a), e.lineTo(u - i, d - a), e.stroke();
3137
3201
  continue;
3138
3202
  }
3139
- if (t.style === "double" && p !== "d") {
3140
- if (e.strokeStyle = c, e.lineWidth = 1, e.setLineDash([]), e.beginPath(), p === "h") {
3141
- let t = u === i, r = t ? i - 1 : i + o + 1, s = t ? i + 1 : i + o - 1;
3142
- e.moveTo(n - 1, r), e.lineTo(n + a + 1, r), e.moveTo(n + 1, s), e.lineTo(n + a - 1, s);
3203
+ if (t.style === "double" && f !== "d") {
3204
+ if (e.strokeStyle = s, e.lineWidth = 1, e.setLineDash([]), e.beginPath(), f === "h") {
3205
+ let t = l === r, o = t ? r - 1 : r + a + 1, s = t ? r + 1 : r + a - 1;
3206
+ e.moveTo(n - 1, o), e.lineTo(n + i + 1, o), e.moveTo(n + 1, s), e.lineTo(n + i - 1, s);
3143
3207
  } else {
3144
- let t = l === n, r = t ? n - 1 : n + a + 1, s = t ? n + 1 : n + a - 1;
3145
- e.moveTo(r, i - 1), e.lineTo(r, i + o + 1), e.moveTo(s, i + 1), e.lineTo(s, i + o - 1);
3208
+ let t = c === n, o = t ? n - 1 : n + i + 1, s = t ? n + 1 : n + i - 1;
3209
+ e.moveTo(o, r - 1), e.lineTo(o, r + a + 1), e.moveTo(s, r + 1), e.lineTo(s, r + a - 1);
3146
3210
  }
3147
3211
  e.stroke();
3148
3212
  continue;
3149
3213
  }
3150
- e.beginPath(), e.strokeStyle = c;
3151
- let m = jr(t.style);
3152
- e.lineWidth = m;
3153
- let h = Mr(t.style);
3154
- e.setLineDash(h);
3155
- let g = p === "v" ? r(l, m, s) : 0, _ = p === "h" ? r(u, m, s) : 0;
3156
- e.moveTo(l + g, u + _), e.lineTo(d + g, f + _), e.stroke(), e.setLineDash([]);
3214
+ e.beginPath(), e.strokeStyle = s;
3215
+ let p = qr(t.style);
3216
+ e.lineWidth = p;
3217
+ let m = Jr(t.style);
3218
+ e.setLineDash(m);
3219
+ let h = f === "v" ? N(c, p, o) : 0, g = f === "h" ? N(l, p, o) : 0;
3220
+ e.moveTo(c + h, l + g), e.lineTo(u + h, d + g), e.stroke(), e.setLineDash([]);
3157
3221
  }
3158
3222
  }
3159
- function jr(e) {
3223
+ function qr(e) {
3160
3224
  switch (e) {
3161
3225
  case "thick": return 3;
3162
3226
  case "medium":
@@ -3168,10 +3232,10 @@ function jr(e) {
3168
3232
  default: return 1;
3169
3233
  }
3170
3234
  }
3171
- function Mr(e) {
3172
- return oe(e);
3235
+ function Jr(e) {
3236
+ return ge(e);
3173
3237
  }
3174
- function Nr(e) {
3238
+ function Yr(e) {
3175
3239
  switch (e) {
3176
3240
  case "double": return 13;
3177
3241
  case "thick": return 12;
@@ -3189,62 +3253,62 @@ function Nr(e) {
3189
3253
  default: return 0;
3190
3254
  }
3191
3255
  }
3192
- function Pr(e, t) {
3193
- let n = Nr(e?.style), r = Nr(t?.style);
3256
+ function Xr(e, t) {
3257
+ let n = Yr(e?.style), r = Yr(t?.style);
3194
3258
  return n === 0 && r === 0 ? null : n >= r ? e ?? null : t ?? null;
3195
3259
  }
3196
- function Fr(e, t, n, r, i, a, o, s, c, u, d) {
3260
+ function Zr(e, n, r, i, a, o, s, c, l, u, d) {
3197
3261
  if (u <= 0 || d <= 0) return;
3198
- let f = pr(t, i, n), p = mr(t, r, n);
3199
- for (let r of t.charts) {
3200
- let i = r.fromCol + 1, m = r.fromRow + 1, h = r.toCol + 1, g = r.toRow + 1, _ = pr(t, i, n) + r.fromColOff * n / W, v = mr(t, m, n) + r.fromRowOff * n / W, y = pr(t, h, n) + r.toColOff * n / W, b = mr(t, g, n) + r.toRowOff * n / W, x = y - _, S = b - v;
3262
+ let f = kr(n, a, r), p = Ar(n, i, r);
3263
+ for (let i of n.charts) {
3264
+ let a = i.fromCol + 1, m = i.fromRow + 1, h = i.toCol + 1, g = i.toRow + 1, _ = kr(n, a, r) + i.fromColOff * r / t, v = Ar(n, m, r) + i.fromRowOff * r / t, y = kr(n, h, r) + i.toColOff * r / t, b = Ar(n, g, r) + i.toRowOff * r / t, x = y - _, S = b - v;
3201
3265
  if (x <= 0 || S <= 0) continue;
3202
- let C = s + (_ - f) - a, T = c + (v - p) - o;
3203
- if (C + x < s || C > s + u || T + S < c || T > c + d) continue;
3204
- e.save(), e.beginPath(), e.rect(s, c, u, d), e.clip();
3205
- let E = w * n;
3206
- l(e, r.chart, {
3266
+ let C = c + (_ - f) - o, w = l + (v - p) - s;
3267
+ if (C + x < c || C > c + u || w + S < l || w > l + d) continue;
3268
+ e.save(), e.beginPath(), e.rect(c, l, u, d), e.clip();
3269
+ let T = G * r;
3270
+ I(e, i.chart, {
3207
3271
  x: C,
3208
- y: T,
3272
+ y: w,
3209
3273
  w: x,
3210
3274
  h: S
3211
- }, E), e.restore();
3275
+ }, T), e.restore();
3212
3276
  }
3213
3277
  }
3214
- var Ir = "600 12px \"Meiryo UI\", \"Segoe UI\", sans-serif", Lr = "11px \"Meiryo UI\", \"Segoe UI\", sans-serif", Rr = "#FFFFFF", zr = "#BFBFBF", Br = "#F2F2F2", Vr = "#404040", Hr = "#FFFFFF", Ur = "#000000", Wr = "#A5A5A5", Gr = "#E7E6E6", Kr = "#A6A6A6", qr = "#C6C6C6";
3215
- function Jr(e, t, n, r, i, a, o, s, c, l, u) {
3216
- if (l <= 0 || u <= 0) return;
3217
- let d = t.slicers;
3218
- if (!d) return;
3219
- let f = pr(t, i, n), p = mr(t, r, n);
3220
- for (let r of d) {
3221
- let i = r.fromCol + 1, d = r.fromRow + 1, m = r.toCol + 1, h = r.toRow + 1, g = pr(t, i, n) + r.fromColOff * n / W, _ = mr(t, d, n) + r.fromRowOff * n / W, v = pr(t, m, n) + r.toColOff * n / W, y = mr(t, h, n) + r.toRowOff * n / W, b = v - g, x = y - _;
3222
- if (b <= 0 || x <= 0) continue;
3223
- let S = s + (g - f) - a, C = c + (_ - p) - o;
3224
- S + b < s || S > s + l || C + x < c || C > c + u || (e.save(), e.beginPath(), e.rect(s, c, l, u), e.clip(), Yr(e, r.caption, r.items, S, C, b, x, n), e.restore());
3278
+ var Qr = "600 12px \"Meiryo UI\", \"Segoe UI\", sans-serif", $r = "11px \"Meiryo UI\", \"Segoe UI\", sans-serif", ei = "#FFFFFF", ti = "#BFBFBF", ni = "#F2F2F2", ri = "#404040", ii = "#FFFFFF", ai = "#000000", oi = "#A5A5A5", si = "#E7E6E6", ci = "#A6A6A6", li = "#C6C6C6";
3279
+ function ui(e, n, r, i, a, o, s, c, l, u, d) {
3280
+ if (u <= 0 || d <= 0) return;
3281
+ let f = n.slicers;
3282
+ if (!f) return;
3283
+ let p = kr(n, a, r), m = Ar(n, i, r);
3284
+ for (let i of f) {
3285
+ let a = i.fromCol + 1, f = i.fromRow + 1, h = i.toCol + 1, g = i.toRow + 1, _ = kr(n, a, r) + i.fromColOff * r / t, v = Ar(n, f, r) + i.fromRowOff * r / t, y = kr(n, h, r) + i.toColOff * r / t, b = Ar(n, g, r) + i.toRowOff * r / t, x = y - _, S = b - v;
3286
+ if (x <= 0 || S <= 0) continue;
3287
+ let C = c + (_ - p) - o, w = l + (v - m) - s;
3288
+ C + x < c || C > c + u || w + S < l || w > l + d || (e.save(), e.beginPath(), e.rect(c, l, u, d), e.clip(), di(e, i.caption, i.items, C, w, x, S, r), e.restore());
3225
3289
  }
3226
3290
  }
3227
- function Yr(e, t, n, r, i, a, o, s) {
3228
- e.fillStyle = Rr, e.fillRect(r, i, a, o), e.strokeStyle = zr, e.lineWidth = 1, e.strokeRect(r + .5, i + .5, a - 1, o - 1);
3291
+ function di(e, t, n, r, i, a, o, s) {
3292
+ e.fillStyle = ei, e.fillRect(r, i, a, o), e.strokeStyle = ti, e.lineWidth = 1, e.strokeRect(r + .5, i + .5, a - 1, o - 1);
3229
3293
  let c = Math.max(20 * s, 14);
3230
- e.fillStyle = Br, e.fillRect(r + 1, i + 1, a - 2, c), e.fillStyle = Vr, e.font = Xr(Ir, s), e.textBaseline = "middle", e.textAlign = "left";
3294
+ e.fillStyle = ni, e.fillRect(r + 1, i + 1, a - 2, c), e.fillStyle = ri, e.font = fi(Qr, s), e.textBaseline = "middle", e.textAlign = "left";
3231
3295
  let l = 6 * s;
3232
- if (Zr(e, t, r + l, i + c / 2 + 1, a - 2 * l), n.length === 0) return;
3296
+ if (pi(e, t, r + l, i + c / 2 + 1, a - 2 * l), n.length === 0) return;
3233
3297
  let u = Math.max(1, Math.round(2 * s)), d = 4 * s, f = r + d, p = i + c + d, m = a - 2 * d, h = o - c - 2 * d;
3234
3298
  if (m <= 0 || h <= 0) return;
3235
3299
  let g = Math.max(18 * s, 16), _ = Math.max(1, Math.floor((h + u) / (g + u))), v = Math.min(n.length, _), y = Math.min(g, (h - u * (v - 1)) / v);
3236
3300
  if (y <= 0) return;
3237
- e.font = Xr(Lr, s);
3301
+ e.font = fi($r, s);
3238
3302
  let b = 8 * s;
3239
3303
  for (let t = 0; t < v; t++) {
3240
3304
  let r = n[t], i = p + t * (y + u), a = r.selected;
3241
- e.fillStyle = a ? Hr : Gr, e.fillRect(f, i, m, y), e.strokeStyle = a ? Wr : qr, e.lineWidth = 1, e.strokeRect(f + .5, i + .5, m - 1, y - 1), e.fillStyle = a ? Ur : Kr, Zr(e, r.name, f + b, i + y / 2 + 1, m - 2 * b);
3305
+ e.fillStyle = a ? ii : si, e.fillRect(f, i, m, y), e.strokeStyle = a ? oi : li, e.lineWidth = 1, e.strokeRect(f + .5, i + .5, m - 1, y - 1), e.fillStyle = a ? ai : ci, pi(e, r.name, f + b, i + y / 2 + 1, m - 2 * b);
3242
3306
  }
3243
3307
  }
3244
- function Xr(e, t) {
3308
+ function fi(e, t) {
3245
3309
  return e.replace(/(\d+(?:\.\d+)?)px/, (e, n) => `${Math.round(Number(n) * t)}px`);
3246
3310
  }
3247
- function Zr(e, t, n, r, i) {
3311
+ function pi(e, t, n, r, i) {
3248
3312
  if (i <= 0) return;
3249
3313
  let a = t;
3250
3314
  if (e.measureText(a).width > i) {
@@ -3255,92 +3319,80 @@ function Zr(e, t, n, r, i) {
3255
3319
  }
3256
3320
  //#endregion
3257
3321
  //#region packages/xlsx/src/render-orchestrator.ts
3258
- async function Qr(e, n, r, i, a = 0, o = 0, s = null) {
3259
- let l = async (e, t) => {
3260
- let n = c(t, s, a, o);
3261
- return u(await i(e, t), {
3262
- widthPt: n.widthPt,
3263
- heightPt: n.heightPt
3264
- });
3265
- }, d = n === "image/svg+xml", f = {
3266
- svgImagePath: r,
3267
- srcRect: s
3322
+ async function mi(e, t, n, r, i = 0, a = 0, o = null, s = null, c) {
3323
+ let l = t === "image/svg+xml", u = me(t, o, i, a), d = () => xe(e, t, s, r, {
3324
+ widthPt: u.widthPt,
3325
+ heightPt: u.heightPt,
3326
+ offscreenFactory: c
3327
+ }), f = {
3328
+ svgImagePath: n,
3329
+ srcRect: o
3268
3330
  };
3269
- if (P(f)) try {
3270
- return await t(f.svgImagePath, i);
3331
+ if (m(f)) try {
3332
+ return await ae(f.svgImagePath, r);
3271
3333
  } catch {
3272
- return d ? t(e, i) : l(e, n);
3334
+ return l ? ae(e, r) : d();
3273
3335
  }
3274
- return d ? t(e, i) : l(e, n);
3336
+ return l ? ae(e, r) : d();
3275
3337
  }
3276
- function $r(e) {
3277
- for (let t of e.values()) t && typeof t.close == "function" && t.close();
3278
- e.clear();
3279
- }
3280
- async function ei(e, t, n, r) {
3338
+ async function hi(e, t, n, r) {
3281
3339
  if (!n) return;
3282
3340
  let i = n, a = /* @__PURE__ */ new Map();
3283
- if (e.images) for (let n of e.images) {
3284
- let e = an(n.imagePath, n.duotone);
3285
- t.has(e) || a.set(e, {
3286
- imagePath: n.imagePath,
3287
- mimeType: n.mimeType,
3288
- svgImagePath: n.svgImagePath,
3289
- widthPt: n.nativeExtCx > 0 ? n.nativeExtCx / H : 0,
3290
- heightPt: n.nativeExtCy > 0 ? n.nativeExtCy / H : 0,
3291
- srcRect: n.srcRect ?? null,
3292
- duotone: n.duotone ?? null
3293
- });
3294
- }
3295
- if (e.shapeGroups) {
3296
- for (let n of e.shapeGroups) for (let e of n.shapes) if (e.geom.type === "image") {
3297
- let r = an(e.geom.imagePath, e.geom.duotone);
3298
- t.has(r) || a.set(r, {
3299
- imagePath: e.geom.imagePath,
3300
- mimeType: e.geom.mimeType,
3301
- svgImagePath: e.geom.svgImagePath,
3302
- widthPt: n.nativeExtCx > 0 ? n.nativeExtCx * e.w / H : 0,
3303
- heightPt: n.nativeExtCy > 0 ? n.nativeExtCy * e.h / H : 0,
3304
- srcRect: e.geom.srcRect ?? null,
3305
- duotone: e.geom.duotone ?? null
3306
- });
3307
- }
3308
- }
3341
+ if (e.images) for (let t of e.images) a.set(bn(t.imagePath, t.duotone), {
3342
+ imagePath: t.imagePath,
3343
+ mimeType: t.mimeType,
3344
+ svgImagePath: t.svgImagePath,
3345
+ widthPt: t.nativeExtCx > 0 ? t.nativeExtCx / re : 0,
3346
+ heightPt: t.nativeExtCy > 0 ? t.nativeExtCy / re : 0,
3347
+ srcRect: t.srcRect ?? null,
3348
+ duotone: t.duotone ?? null
3349
+ });
3350
+ if (e.shapeGroups) for (let t of e.shapeGroups) for (let e of t.shapes) e.geom.type === "image" && a.set(bn(e.geom.imagePath, e.geom.duotone), {
3351
+ imagePath: e.geom.imagePath,
3352
+ mimeType: e.geom.mimeType,
3353
+ svgImagePath: e.geom.svgImagePath,
3354
+ widthPt: t.nativeExtCx > 0 ? t.nativeExtCx * e.w / re : 0,
3355
+ heightPt: t.nativeExtCy > 0 ? t.nativeExtCy * e.h / re : 0,
3356
+ srcRect: e.geom.srcRect ?? null,
3357
+ duotone: e.geom.duotone ?? null
3358
+ });
3309
3359
  a.size !== 0 && await Promise.all([...a.entries()].map(async ([e, n]) => {
3310
3360
  try {
3311
- let a = await Qr(n.imagePath, n.mimeType, n.svgImagePath, i, n.widthPt, n.heightPt, n.srcRect);
3312
- if (a && n.duotone) {
3313
- let { w: e, h: t } = s(a);
3314
- e > 0 && t > 0 && (a = await d(a, n.duotone, {
3315
- width: e,
3316
- height: t,
3317
- offscreenFactory: r?.offscreenFactory
3318
- }));
3319
- }
3361
+ let a = await mi(n.imagePath, n.mimeType, n.svgImagePath, i, n.widthPt, n.heightPt, n.srcRect, n.duotone, r?.offscreenFactory);
3320
3362
  t.set(e, a);
3321
- } catch {}
3363
+ } catch {
3364
+ t.delete(e);
3365
+ }
3322
3366
  }));
3323
3367
  }
3324
- async function ti(e, t, n, r = {}) {
3325
- let { ws: i, styles: o, imageCache: s } = e;
3326
- await ei(i, s, r.fetchImage), e.math && wr(i) && await Tr(i, e.math);
3327
- let c = r.dpr ?? f(), l = F(t) ? t.clientWidth || 800 : t.width, u = F(t) ? t.clientHeight || 600 : t.height, d = r.width ?? l, p = r.height ?? u, m = a(d * c, p * c), h = m.clamped ? c * m.scale : c, g = m.width, _ = m.height;
3328
- if (t.width !== g && (t.width = g), t.height !== _ && (t.height = _), F(t)) {
3329
- let e = `${d}px`, n = `${p}px`;
3368
+ async function gi(e, t, n, r = {}) {
3369
+ let i = r.fetchImage ? ce(r.fetchImage) : void 0;
3370
+ try {
3371
+ await _i(e, t, n, r);
3372
+ } finally {
3373
+ i?.();
3374
+ }
3375
+ }
3376
+ async function _i(e, t, n, r = {}) {
3377
+ let { ws: i, styles: a, imageCache: o } = e;
3378
+ await hi(i, o, r.fetchImage), e.math && Br(i) && await Vr(i, e.math);
3379
+ let s = r.dpr ?? l(), c = g(t) ? t.clientWidth || 800 : t.width, u = g(t) ? t.clientHeight || 600 : t.height, d = r.width ?? c, f = r.height ?? u, p = A(d * s, f * s), m = p.clamped ? s * p.scale : s, h = p.width, _ = p.height;
3380
+ if (t.width !== h && (t.width = h), t.height !== _ && (t.height = _), g(t)) {
3381
+ let e = `${d}px`, n = `${f}px`;
3330
3382
  t.style.width !== e && (t.style.width = e), t.style.height !== n && (t.style.height = n);
3331
3383
  }
3332
3384
  let v = t.getContext("2d");
3333
- if (v.setTransform(h, 0, 0, h, 0, 0), i.parseError) {
3334
- ni(v, d, p, i.name, i.parseError);
3385
+ if (v.setTransform(m, 0, 0, m, 0, 0), i.parseError) {
3386
+ vi(v, d, f, i.name, i.parseError);
3335
3387
  return;
3336
3388
  }
3337
- dr(v, i, o, n, {
3389
+ Dr(v, i, a, n, {
3338
3390
  ...r,
3339
- dpr: h,
3340
- loadedImages: s
3391
+ dpr: m,
3392
+ loadedImages: o
3341
3393
  });
3342
3394
  }
3343
- function ni(e, t, n, r, i) {
3395
+ function vi(e, t, n, r, i) {
3344
3396
  e.save(), e.fillStyle = "#f7f7f8", e.fillRect(0, 0, t, n);
3345
3397
  let a = t / 2, o = Math.min(t, n), s = Math.max(20, o * .1);
3346
3398
  e.fillStyle = "#b23b3b", e.textAlign = "center", e.textBaseline = "middle", e.font = `${s}px sans-serif`, e.fillText("⚠", a, n * .32);
@@ -3360,23 +3412,23 @@ function ni(e, t, n, r, i) {
3360
3412
  }
3361
3413
  //#endregion
3362
3414
  //#region packages/xlsx/src/google-fonts.ts
3363
- var ri = {
3364
- ...b,
3415
+ var yi = {
3416
+ ...r,
3365
3417
  ...E
3366
3418
  };
3367
- function* ii(e) {
3419
+ function* bi(e) {
3368
3420
  for (let t of e?.sharedStrings ?? []) if (t.runs && t.runs.length > 0) for (let e of t.runs) yield e.text;
3369
3421
  else yield t.text;
3370
3422
  }
3371
- function ai(e) {
3423
+ function xi(e) {
3372
3424
  let t = /* @__PURE__ */ new Set(), n = null;
3373
- for (let r of e?.styles?.fonts ?? []) r.name && (t.add(r.name), n ??= te(r.name));
3374
- for (let r of A(ii(e), n)) t.add(r);
3425
+ for (let r of e?.styles?.fonts ?? []) r.name && (t.add(r.name), n ??= p(r.name));
3426
+ for (let r of be(bi(e), n)) t.add(r);
3375
3427
  return t;
3376
3428
  }
3377
3429
  //#endregion
3378
3430
  //#region packages/xlsx/src/shared-strings.ts
3379
- function oi(e, t) {
3431
+ function Si(e, t) {
3380
3432
  for (let n of e.rows) for (let e of n.cells) {
3381
3433
  let n = e.value;
3382
3434
  if (n.type === "shared") {
@@ -3395,7 +3447,7 @@ function oi(e, t) {
3395
3447
  }
3396
3448
  return e;
3397
3449
  }
3398
- function si(e) {
3450
+ function Ci(e) {
3399
3451
  let t = (e ?? "").trim();
3400
3452
  if (!t) return {
3401
3453
  kind: "unresolved",
@@ -3410,9 +3462,9 @@ function si(e) {
3410
3462
  let e = t.slice(0, i);
3411
3463
  e.startsWith("'") && e.endsWith("'") && e.length >= 2 && (e = e.slice(1, -1).replace(/''/g, "'")), n = e, r = t.slice(i + 1);
3412
3464
  }
3413
- let [a, o] = r.split(":"), s = nn(a ?? "");
3465
+ let [a, o] = r.split(":"), s = _n(a ?? "");
3414
3466
  if (s) {
3415
- let e = o ? nn(o) : s;
3467
+ let e = o ? _n(o) : s;
3416
3468
  if (e) {
3417
3469
  let t = {
3418
3470
  row: Math.min(s.row, e.row),
@@ -3434,7 +3486,7 @@ function si(e) {
3434
3486
  formula: t
3435
3487
  };
3436
3488
  }
3437
- function ci(e, t) {
3489
+ function wi(e, t) {
3438
3490
  if (e.kind === "inline") return {
3439
3491
  kind: "values",
3440
3492
  values: e.values
@@ -3453,7 +3505,7 @@ function ci(e, t) {
3453
3505
  values: n
3454
3506
  };
3455
3507
  }
3456
- function li(e) {
3508
+ function Ti(e) {
3457
3509
  let { cell: t, panel: n, viewport: r, rtl: i } = e, a = t.y + t.h + 2, o = t.y - 2 - n.h, s;
3458
3510
  s = a + n.h <= r.h ? a : o >= 0 ? o : a, s = Math.max(0, Math.min(s, r.h - n.h));
3459
3511
  let c = i ? t.x + t.w - n.w : t.x;
@@ -3464,7 +3516,7 @@ function li(e) {
3464
3516
  }
3465
3517
  //#endregion
3466
3518
  //#region packages/xlsx/src/workbook.ts
3467
- var ui = class e {
3519
+ var Ei = class e {
3468
3520
  worker;
3469
3521
  bridge;
3470
3522
  parsedWorkbook = null;
@@ -3478,11 +3530,11 @@ var ui = class e {
3478
3530
  googleFontFaces = [];
3479
3531
  _mode = "main";
3480
3532
  constructor(e, t, n) {
3481
- this.worker = e, this._mode = t, this.bridge = new h(this.worker, {
3533
+ this.worker = e, this._mode = t, this.bridge = new u(this.worker, {
3482
3534
  correlate: (e) => e.id,
3483
3535
  toError: (e) => e.type === "error" ? e.message : void 0
3484
3536
  });
3485
- let r = new URL(n ?? Se, location.href).href;
3537
+ let r = new URL(n ?? Fe, location.href).href;
3486
3538
  this.bridge.post({
3487
3539
  type: "init",
3488
3540
  wasmUrl: r
@@ -3497,8 +3549,8 @@ var ui = class e {
3497
3549
  if (!e.ok) throw Error(`Failed to fetch: ${e.status} ${e.statusText}`);
3498
3550
  i = await e.arrayBuffer();
3499
3551
  } else i = t;
3500
- i = g(await le(i, n.password));
3501
- let a = new e(r === "worker" ? (await import("./render-worker-host-DL0cvjox.js")).createRenderWorker() : new xe(), r, n.wasmUrl);
3552
+ i = h(await fe(i, n.password));
3553
+ let a = new e(r === "worker" ? (await import("./render-worker-host-CJc3E4ej.js")).createRenderWorker() : new Pe(), r, n.wasmUrl);
3502
3554
  return await a._load(i, n), a;
3503
3555
  }
3504
3556
  async _load(e, t = {}) {
@@ -3521,7 +3573,7 @@ var ui = class e {
3521
3573
  this.parsedWorkbook = JSON.parse(new TextDecoder().decode(new Uint8Array(e)));
3522
3574
  }
3523
3575
  let r = this.parsedWorkbook?.workbook.parseError;
3524
- r && console.warn(`[ooxml] xlsx opened with a degraded part: ${r}`), this._mode === "main" && t.useGoogleFonts && (this.googleFontFaces = await ue(ai(this.parsedWorkbook), ri));
3576
+ r && console.warn(`[ooxml] xlsx opened with a degraded part: ${r}`), this._mode === "main" && t.useGoogleFonts && (this.googleFontFaces = await d(xi(this.parsedWorkbook), yi));
3525
3577
  }
3526
3578
  get sheetNames() {
3527
3579
  return this.parsedWorkbook?.workbook.sheets.map((e) => e.name) ?? [];
@@ -3533,7 +3585,7 @@ var ui = class e {
3533
3585
  return this.parsedWorkbook?.workbook.sheets.map((e) => e.tabColor ?? null) ?? [];
3534
3586
  }
3535
3587
  sheetVisibility(e) {
3536
- return Ce(this.parsedWorkbook?.workbook.sheets ?? [], e);
3588
+ return Ie(this.parsedWorkbook?.workbook.sheets ?? [], e);
3537
3589
  }
3538
3590
  isHidden(e) {
3539
3591
  return this.sheetVisibility(e) !== "visible";
@@ -3556,7 +3608,7 @@ var ui = class e {
3556
3608
  let { worksheetJson: e } = r;
3557
3609
  i = JSON.parse(new TextDecoder().decode(new Uint8Array(e)));
3558
3610
  }
3559
- return oi(i, this.parsedWorkbook.sharedStrings), this.sheetCache.set(e, i), i;
3611
+ return Si(i, this.parsedWorkbook.sharedStrings), this.sheetCache.set(e, i), i;
3560
3612
  }
3561
3613
  async getImage(e, t) {
3562
3614
  let n = this.imageBlobCache.get(e);
@@ -3579,8 +3631,8 @@ var ui = class e {
3579
3631
  }
3580
3632
  async resolveValidationList(e, t) {
3581
3633
  if (!this.parsedWorkbook) throw Error("Workbook not loaded");
3582
- let n = si(t);
3583
- if (n.kind !== "range") return ci(n, () => null);
3634
+ let n = Ci(t);
3635
+ if (n.kind !== "range") return wi(n, () => null);
3584
3636
  let r = e;
3585
3637
  if (n.sheet) {
3586
3638
  let e = this.sheetNames.findIndex((e) => e.toLowerCase() === n.sheet?.toLowerCase());
@@ -3592,31 +3644,31 @@ var ui = class e {
3592
3644
  }
3593
3645
  let i = await this.getWorksheet(r), a = this.parsedWorkbook.styles, o = /* @__PURE__ */ new Map();
3594
3646
  for (let e of i.rows) for (let t of e.cells) o.set(`${t.row}:${t.col}`, t);
3595
- return ci(n, (e, t) => {
3647
+ return wi(n, (e, t) => {
3596
3648
  let n = o.get(`${e}:${t}`);
3597
- return n ? ot(n, a, null, i.date1904) : null;
3649
+ return n ? bt(n, a, null, i.date1904) : null;
3598
3650
  });
3599
3651
  }
3600
3652
  cellText(e, t) {
3601
- return this.parsedWorkbook ? ot(t, this.parsedWorkbook.styles, null, e.date1904) : "";
3653
+ return this.parsedWorkbook ? bt(t, this.parsedWorkbook.styles, null, e.date1904) : "";
3602
3654
  }
3603
3655
  async renderViewport(e, t, n, r = {}) {
3604
3656
  if (this._mode === "worker") throw Error("renderViewport(canvas) is unavailable in mode: 'worker'; use renderViewportToBitmap() and paint it via an ImageBitmapRenderingContext");
3605
3657
  if (!this.parsedWorkbook) throw Error("Workbook not loaded");
3606
- return ti({
3658
+ return gi({
3607
3659
  ws: this.sheetCache.get(t) ?? await this.getWorksheet(t),
3608
3660
  styles: this.parsedWorkbook.styles,
3609
3661
  imageCache: this.imageCache,
3610
3662
  math: this.math
3611
3663
  }, e, n, {
3612
- fetchImage: this._fetchImage,
3613
- ...r
3664
+ ...r,
3665
+ fetchImage: this._fetchImage
3614
3666
  });
3615
3667
  }
3616
3668
  async renderViewportToBitmap(e, t, n) {
3617
3669
  let r = {
3618
3670
  ...n,
3619
- dpr: n.dpr ?? f()
3671
+ dpr: n.dpr ?? l()
3620
3672
  };
3621
3673
  if (this._mode === "worker") {
3622
3674
  if (!Number.isInteger(e) || e < 0 || e >= this.sheetCount) throw Error(`Sheet index ${e} out of range (count: ${this.sheetCount})`);
@@ -3632,36 +3684,36 @@ var ui = class e {
3632
3684
  return await this.renderViewport(i, e, t, r), i.transferToImageBitmap();
3633
3685
  }
3634
3686
  destroy() {
3635
- this.bridge.terminate(), this.parsedWorkbook = null, this.sheetCache.clear(), this.googleFontFaces.length > 0 && (C(this.googleFontFaces), this.googleFontFaces = []), $r(this.imageCache), this.imageBlobCache.clear(), de(this._fetchImage), this.rawData = null;
3687
+ this.bridge.terminate(), this.parsedWorkbook = null, this.sheetCache.clear(), this.googleFontFaces.length > 0 && (j(this.googleFontFaces), this.googleFontFaces = []), this.imageCache.clear(), W(this._fetchImage), Se(this._fetchImage), z(this._fetchImage), this.imageBlobCache.clear(), this.rawData = null;
3636
3688
  }
3637
3689
  };
3638
3690
  //#endregion
3639
3691
  //#region packages/xlsx/src/data-validation.ts
3640
- function di(e, t, n) {
3692
+ function Di(e, t, n) {
3641
3693
  if (!e) return !1;
3642
3694
  for (let r of e.split(/\s+/)) {
3643
3695
  if (!r) continue;
3644
- let [e, i] = r.split(":"), a = nn(e);
3696
+ let [e, i] = r.split(":"), a = _n(e);
3645
3697
  if (!a) continue;
3646
3698
  if (!i) {
3647
3699
  if (a.row === t && a.col === n) return !0;
3648
3700
  continue;
3649
3701
  }
3650
- let o = nn(i);
3702
+ let o = _n(i);
3651
3703
  if (!o) continue;
3652
3704
  let s = Math.min(a.row, o.row), c = Math.max(a.row, o.row), l = Math.min(a.col, o.col), u = Math.max(a.col, o.col);
3653
3705
  if (t >= s && t <= c && n >= l && n <= u) return !0;
3654
3706
  }
3655
3707
  return !1;
3656
3708
  }
3657
- function fi(e, t, n) {
3709
+ function Oi(e, t, n) {
3658
3710
  if (!e) return null;
3659
- for (let r of e) if (r.validationType === "list" && di(r.sqref, t, n)) return r;
3711
+ for (let r of e) if (r.validationType === "list" && Di(r.sqref, t, n)) return r;
3660
3712
  return null;
3661
3713
  }
3662
3714
  //#endregion
3663
3715
  //#region packages/xlsx/src/find.ts
3664
- var pi = class {
3716
+ var ki = class {
3665
3717
  _matches = [];
3666
3718
  _active = -1;
3667
3719
  constructor(e, t, n) {
@@ -3690,7 +3742,7 @@ var pi = class {
3690
3742
  return t ? {
3691
3743
  sheet: t.sheet,
3692
3744
  sheetName: t.sheetName,
3693
- ref: rn(t.row, t.col),
3745
+ ref: vn(t.row, t.col),
3694
3746
  row: t.row,
3695
3747
  col: t.col
3696
3748
  } : null;
@@ -3711,7 +3763,7 @@ var pi = class {
3711
3763
  for (let r = 0; r < n; r++) {
3712
3764
  let n = await this._collectSheetCells(r), i = this._sheetName(r);
3713
3765
  for (let a of n) {
3714
- let n = M(re([{ text: a.text }]), e, t);
3766
+ let n = te(q([{ text: a.text }]), e, t);
3715
3767
  for (let e of n) {
3716
3768
  let t = e.slices[0], n = a.text.slice(t.start, t.end);
3717
3769
  this._matches.push({
@@ -3727,10 +3779,10 @@ var pi = class {
3727
3779
  return this.matches();
3728
3780
  }
3729
3781
  next() {
3730
- return this._active = ae(this._active, this._matches.length), this._activePublic();
3782
+ return this._active = pe(this._active, this._matches.length), this._activePublic();
3731
3783
  }
3732
3784
  prev() {
3733
- return this._active = z(this._active, this._matches.length), this._activePublic();
3785
+ return this._active = se(this._active, this._matches.length), this._activePublic();
3734
3786
  }
3735
3787
  _activePublic() {
3736
3788
  let e = this._locationAt(this._active);
@@ -3741,7 +3793,7 @@ var pi = class {
3741
3793
  } : null;
3742
3794
  }
3743
3795
  };
3744
- function mi(e) {
3796
+ function Ai(e) {
3745
3797
  let { cell: t, popup: n, viewport: r, rtl: i } = e, a = t.x + t.w + 8, o = t.x - 8 - n.w, s = a + n.w <= r.w, c = o >= 0, l;
3746
3798
  l = i ? c ? o : s ? a : o : s ? a : c ? o : a, l = Math.max(0, Math.min(l, r.w - n.w));
3747
3799
  let u = t.y;
@@ -3750,10 +3802,10 @@ function mi(e) {
3750
3802
  top: u
3751
3803
  };
3752
3804
  }
3753
- function hi(e) {
3805
+ function ji(e) {
3754
3806
  return e > 0 ? (e + 1) * 19 : 0;
3755
3807
  }
3756
- function gi(e, t) {
3808
+ function Mi(e, t) {
3757
3809
  let n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map(), i = 0, a = 0;
3758
3810
  for (let t of e) t.level > 0 && n.set(t.index, t.level), t.collapsed && r.set(t.index, !0), t.index > i && (i = t.index), t.level > a && (a = t.level);
3759
3811
  let o = i, s = [];
@@ -3767,15 +3819,15 @@ function gi(e, t) {
3767
3819
  for (let i = 1; i <= o + 1; i++) c(i) >= e ? n ? n.end = i : n = {
3768
3820
  start: i,
3769
3821
  end: i
3770
- } : n &&= (s.push(_i(e, n, t, r, c)), null);
3771
- n && s.push(_i(e, n, t, r, c));
3822
+ } : n &&= (s.push(Ni(e, n, t, r, c)), null);
3823
+ n && s.push(Ni(e, n, t, r, c));
3772
3824
  }
3773
3825
  return {
3774
3826
  maxLevel: a,
3775
3827
  groups: s
3776
3828
  };
3777
3829
  }
3778
- function _i(e, t, n, r, i) {
3830
+ function Ni(e, t, n, r, i) {
3779
3831
  let a = null;
3780
3832
  if (n) {
3781
3833
  let n = t.end + 1;
@@ -3793,7 +3845,7 @@ function _i(e, t, n, r, i) {
3793
3845
  collapsed: o
3794
3846
  };
3795
3847
  }
3796
- function vi(e, t) {
3848
+ function Pi(e, t) {
3797
3849
  let n = !e.collapsed, r = /* @__PURE__ */ new Map();
3798
3850
  for (let e of t) r.set(e.index, e);
3799
3851
  let i = [], a = [];
@@ -3801,7 +3853,7 @@ function vi(e, t) {
3801
3853
  else {
3802
3854
  let n = /* @__PURE__ */ new Set();
3803
3855
  for (let r of t) r.index >= e.start && r.index <= e.end && r.collapsed && n.add(r.index);
3804
- for (let t = e.start; t <= e.end; t++) yi(t, e, r, n) || a.push(t);
3856
+ for (let t = e.start; t <= e.end; t++) Fi(t, e, r, n) || a.push(t);
3805
3857
  }
3806
3858
  return {
3807
3859
  hide: i,
@@ -3809,7 +3861,7 @@ function vi(e, t) {
3809
3861
  nowCollapsed: n
3810
3862
  };
3811
3863
  }
3812
- function yi(e, t, n, r) {
3864
+ function Fi(e, t, n, r) {
3813
3865
  let i = n.get(e)?.level ?? 0;
3814
3866
  if (i <= t.level) return !1;
3815
3867
  for (let e of r) {
@@ -3818,7 +3870,7 @@ function yi(e, t, n, r) {
3818
3870
  }
3819
3871
  return !1;
3820
3872
  }
3821
- function bi(e, t) {
3873
+ function Ii(e, t) {
3822
3874
  let n = [], r = [];
3823
3875
  for (let i of e) i.level >= t ? n.push(i.index) : r.push(i.index);
3824
3876
  return {
@@ -3826,7 +3878,7 @@ function bi(e, t) {
3826
3878
  show: r
3827
3879
  };
3828
3880
  }
3829
- function xi(e) {
3881
+ function Li(e) {
3830
3882
  let t = [];
3831
3883
  for (let n of e.rows) {
3832
3884
  let e = n.outlineLevel ?? 0, r = n.collapsed ?? !1;
@@ -3839,7 +3891,7 @@ function xi(e) {
3839
3891
  }
3840
3892
  return t;
3841
3893
  }
3842
- function Si(e) {
3894
+ function Ri(e) {
3843
3895
  let t = e.colOutlineLevels ?? {}, n = e.colCollapsed ?? {}, r = e.colHidden ?? {}, i = /* @__PURE__ */ new Set();
3844
3896
  for (let e of Object.keys(t)) i.add(Number(e));
3845
3897
  for (let e of Object.keys(n)) i.add(Number(e));
@@ -3852,19 +3904,19 @@ function Si(e) {
3852
3904
  });
3853
3905
  return a;
3854
3906
  }
3855
- function Ci(e, t) {
3907
+ function zi(e, t) {
3856
3908
  let n = e.outlinePr;
3857
3909
  return n ? t === "row" ? n.summaryBelow : n.summaryRight : !0;
3858
3910
  }
3859
3911
  //#endregion
3860
3912
  //#region packages/xlsx/src/viewer.ts
3861
- var wi = 150, Ti = 280, Ei = 200, Di = 240, Oi = 200, ki = 30, Ai = 1, ji = .45, Mi = "data-xlsx-viewer-styles", Ni = ".xlsx-tab-strip::-webkit-scrollbar{display:none}.xlsx-tab-nav{background:transparent;transition:background 0.1s;}.xlsx-tab-nav:hover{background:rgba(0,0,0,0.08);}.xlsx-zoom-slider{-webkit-appearance:none;appearance:none;background:transparent;height:15px;margin:0;}.xlsx-zoom-slider::-webkit-slider-runnable-track{height:4px;background:#c4c4c4;border-radius:2px;}.xlsx-zoom-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;margin-top:-4px;border-radius:50%;background:#808080;cursor:pointer;}.xlsx-zoom-slider:hover::-webkit-slider-thumb{background:#5f5f5f;}.xlsx-zoom-slider::-moz-range-track{height:4px;background:#c4c4c4;border-radius:2px;}.xlsx-zoom-slider::-moz-range-thumb{width:12px;height:12px;border:none;border-radius:50%;background:#808080;cursor:pointer;}";
3862
- function Pi() {
3863
- if (typeof document > "u" || !document.head || document.head.querySelector(`style[${Mi}]`)) return;
3913
+ var Bi = 150, Vi = 280, Hi = 200, Ui = 240, Wi = 200, Gi = 30, Ki = 1, qi = .45, Ji = "data-xlsx-viewer-styles", Yi = ".xlsx-tab-strip::-webkit-scrollbar{display:none}.xlsx-tab-nav{background:transparent;transition:background 0.1s;}.xlsx-tab-nav:hover{background:rgba(0,0,0,0.08);}.xlsx-zoom-slider{-webkit-appearance:none;appearance:none;background:transparent;height:15px;margin:0;}.xlsx-zoom-slider::-webkit-slider-runnable-track{height:4px;background:#c4c4c4;border-radius:2px;}.xlsx-zoom-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;margin-top:-4px;border-radius:50%;background:#808080;cursor:pointer;}.xlsx-zoom-slider:hover::-webkit-slider-thumb{background:#5f5f5f;}.xlsx-zoom-slider::-moz-range-track{height:4px;background:#c4c4c4;border-radius:2px;}.xlsx-zoom-slider::-moz-range-thumb{width:12px;height:12px;border:none;border-radius:50%;background:#808080;cursor:pointer;}";
3914
+ function Xi() {
3915
+ if (typeof document > "u" || !document.head || document.head.querySelector(`style[${Ji}]`)) return;
3864
3916
  let e = document.createElement("style");
3865
- e.setAttribute(Mi, ""), e.textContent = Ni, document.head.appendChild(e);
3917
+ e.setAttribute(Ji, ""), e.textContent = Yi, document.head.appendChild(e);
3866
3918
  }
3867
- var Fi = class {
3919
+ var Zi = class {
3868
3920
  idxs;
3869
3921
  cumDelta;
3870
3922
  constructor(e, t, n, r) {
@@ -3905,28 +3957,28 @@ var Fi = class {
3905
3957
  sizeOf(e) {
3906
3958
  return this.offsetOf(e + 1) - this.offsetOf(e);
3907
3959
  }
3908
- }, Ii = "#1a73e8", Li = 4, Ri = 5;
3909
- function zi(e, t, n, r) {
3960
+ }, Qi = "#1a73e8", $i = 4, ea = 5;
3961
+ function ta(e, t, n, r) {
3910
3962
  for (let { index: i, edge: a } of t) if (!(a <= r) && Math.abs(e - a) <= n) return i;
3911
3963
  return null;
3912
3964
  }
3913
- function Bi(e) {
3965
+ function na(e) {
3914
3966
  return {
3915
3967
  border: `2px solid ${e}`,
3916
3968
  background: `color-mix(in srgb, ${e} 8%, transparent)`
3917
3969
  };
3918
3970
  }
3919
- var Vi = /* @__PURE__ */ new WeakMap();
3920
- function Hi(e, t) {
3921
- let n = Vi.get(e);
3971
+ var ra = /* @__PURE__ */ new WeakMap();
3972
+ function ia(e, t) {
3973
+ let n = ra.get(e);
3922
3974
  if (n) return n;
3923
3975
  let r = {
3924
- col: new Fi(e.colWidths, Q(e.defaultColWidth, t), (e) => Q(e, t), 16384),
3925
- row: new Fi(e.rowHeights, $(e.defaultRowHeight), (e) => $(e), 1048576)
3976
+ col: new Zi(e.colWidths, Q(e.defaultColWidth, t), (e) => Q(e, t), 16384),
3977
+ row: new Zi(e.rowHeights, $(e.defaultRowHeight), (e) => $(e), 1048576)
3926
3978
  };
3927
- return Vi.set(e, r), r;
3979
+ return ra.set(e, r), r;
3928
3980
  }
3929
- var Ui = class {
3981
+ var aa = class {
3930
3982
  wb = null;
3931
3983
  wrapper;
3932
3984
  canvas;
@@ -3993,15 +4045,15 @@ var Ui = class {
3993
4045
  constructor(e, t = {}) {
3994
4046
  this.opts = t, this._mode = t.mode ?? "main", this._hiddenSheetMode = t.hiddenSheetMode ?? "show", this.wrapper = document.createElement("div"), this.wrapper.style.cssText = "position:relative;width:100%;height:100%;border:1px solid #c8ccd0;background:#fff;box-sizing:border-box;font-family:sans-serif;display:flex;flex-direction:column;", this.gridRegion = document.createElement("div"), this.gridRegion.style.cssText = "position:relative;flex:1;min-height:0;overflow:hidden;";
3995
4047
  let n = "position:absolute;top:0;left:0;z-index:3;display:none;background:#f5f5f5;";
3996
- this.cornerGutter = document.createElement("canvas"), this.cornerGutter.style.cssText = n, this.cornerGutter.setAttribute("data-xlsx-outline", "corner"), this.colGutter = document.createElement("canvas"), this.colGutter.style.cssText = n, this.colGutter.setAttribute("data-xlsx-outline", "col"), this.rowGutter = document.createElement("canvas"), this.rowGutter.style.cssText = n, this.rowGutter.setAttribute("data-xlsx-outline", "row"), this.canvasArea = document.createElement("div"), this.canvasArea.style.cssText = "position:absolute;inset:0;overflow:hidden;", this.canvas = document.createElement("canvas"), this.canvas.style.cssText = "position:absolute;top:0;left:0;z-index:0;display:block;", this._mode === "worker" && (this._bitmapCtx = this.canvas.getContext("bitmaprenderer")), this.selectionOverlay = document.createElement("div"), this.selectionOverlay.style.cssText = "position:absolute;top:0;left:0;z-index:1;pointer-events:none;overflow:hidden;width:100%;height:100%;", this.findOverlay = document.createElement("div"), this.findOverlay.style.cssText = "position:absolute;top:0;left:0;z-index:1;pointer-events:none;overflow:hidden;width:100%;height:100%;", this.scrollHost = document.createElement("div"), this.scrollHost.style.cssText = "position:absolute;inset:0;overflow:auto;z-index:2;background:transparent;", this.spacer = document.createElement("div"), this.spacer.style.cssText = "position:absolute;top:0;left:0;pointer-events:none;", this.scrollHost.appendChild(this.spacer), this.commentPopup = document.createElement("div"), this.commentPopup.style.cssText = `position:absolute;z-index:3;pointer-events:none;display:none;max-width:${Ti}px;max-height:${Ei}px;overflow:hidden;box-sizing:border-box;padding:6px 8px;background:#fffbcc;border:1px solid #b8b8a0;box-shadow:1px 2px 5px rgba(0,0,0,0.25);font:12px/1.4 sans-serif;color:#222;white-space:pre-wrap;word-break:break-word;`, this.validationPanel = document.createElement("div"), this.validationPanel.setAttribute("data-xlsx-validation-panel", ""), this.validationPanel.style.cssText = `position:absolute;z-index:4;pointer-events:auto;display:none;min-width:80px;max-width:${Di}px;max-height:${Oi}px;overflow-y:auto;box-sizing:border-box;background:#fff;border:1px solid #7f7f7f;box-shadow:1px 2px 5px rgba(0,0,0,0.25);font:12px/1.4 sans-serif;color:#222;`, this.validationPanel.addEventListener("wheel", (e) => e.stopPropagation()), this.canvasArea.appendChild(this.canvas), this.canvasArea.appendChild(this.selectionOverlay), this.canvasArea.appendChild(this.findOverlay), this.canvasArea.appendChild(this.scrollHost), this.canvasArea.appendChild(this.commentPopup), this.canvasArea.appendChild(this.validationPanel);
4048
+ this.cornerGutter = document.createElement("canvas"), this.cornerGutter.style.cssText = n, this.cornerGutter.setAttribute("data-xlsx-outline", "corner"), this.colGutter = document.createElement("canvas"), this.colGutter.style.cssText = n, this.colGutter.setAttribute("data-xlsx-outline", "col"), this.rowGutter = document.createElement("canvas"), this.rowGutter.style.cssText = n, this.rowGutter.setAttribute("data-xlsx-outline", "row"), this.canvasArea = document.createElement("div"), this.canvasArea.style.cssText = "position:absolute;inset:0;overflow:hidden;", this.canvas = document.createElement("canvas"), this.canvas.style.cssText = "position:absolute;top:0;left:0;z-index:0;display:block;", this._mode === "worker" && (this._bitmapCtx = this.canvas.getContext("bitmaprenderer")), this.selectionOverlay = document.createElement("div"), this.selectionOverlay.style.cssText = "position:absolute;top:0;left:0;z-index:1;pointer-events:none;overflow:hidden;width:100%;height:100%;", this.findOverlay = document.createElement("div"), this.findOverlay.style.cssText = "position:absolute;top:0;left:0;z-index:1;pointer-events:none;overflow:hidden;width:100%;height:100%;", this.scrollHost = document.createElement("div"), this.scrollHost.style.cssText = "position:absolute;inset:0;overflow:auto;z-index:2;background:transparent;", this.spacer = document.createElement("div"), this.spacer.style.cssText = "position:absolute;top:0;left:0;pointer-events:none;", this.scrollHost.appendChild(this.spacer), this.commentPopup = document.createElement("div"), this.commentPopup.style.cssText = `position:absolute;z-index:3;pointer-events:none;display:none;max-width:${Vi}px;max-height:${Hi}px;overflow:hidden;box-sizing:border-box;padding:6px 8px;background:#fffbcc;border:1px solid #b8b8a0;box-shadow:1px 2px 5px rgba(0,0,0,0.25);font:12px/1.4 sans-serif;color:#222;white-space:pre-wrap;word-break:break-word;`, this.validationPanel = document.createElement("div"), this.validationPanel.setAttribute("data-xlsx-validation-panel", ""), this.validationPanel.style.cssText = `position:absolute;z-index:4;pointer-events:auto;display:none;min-width:80px;max-width:${Ui}px;max-height:${Wi}px;overflow-y:auto;box-sizing:border-box;background:#fff;border:1px solid #7f7f7f;box-shadow:1px 2px 5px rgba(0,0,0,0.25);font:12px/1.4 sans-serif;color:#222;`, this.validationPanel.addEventListener("wheel", (e) => e.stopPropagation()), this.canvasArea.appendChild(this.canvas), this.canvasArea.appendChild(this.selectionOverlay), this.canvasArea.appendChild(this.findOverlay), this.canvasArea.appendChild(this.scrollHost), this.canvasArea.appendChild(this.commentPopup), this.canvasArea.appendChild(this.validationPanel);
3997
4049
  let r = Math.round(50 * (this.opts.cellScale ?? 1));
3998
- this.tabBar = document.createElement("div"), this.tabBar.style.cssText = `display:flex;align-items:flex-end;height:${ki}px;flex-shrink:0;background:#f0f0f0;border-top:1px solid #c8ccd0;`, this.navPrev = this.makeNavButton("◀", "Scroll tabs left", () => this.scrollTabs(-1)), this.navNext = this.makeNavButton("▶", "Scroll tabs right", () => this.scrollTabs(1)), this.navPrev.dataset.xlsxTabNav = "prev", this.navNext.dataset.xlsxTabNav = "next";
4050
+ this.tabBar = document.createElement("div"), this.tabBar.style.cssText = `display:flex;align-items:flex-end;height:${Gi}px;flex-shrink:0;background:#f0f0f0;border-top:1px solid #c8ccd0;`, this.navPrev = this.makeNavButton("◀", "Scroll tabs left", () => this.scrollTabs(-1)), this.navNext = this.makeNavButton("▶", "Scroll tabs right", () => this.scrollTabs(1)), this.navPrev.dataset.xlsxTabNav = "prev", this.navNext.dataset.xlsxTabNav = "next";
3999
4051
  let i = document.createElement("div");
4000
- i.style.cssText = `display:flex;flex-shrink:0;width:${r}px;height:100%;`, i.appendChild(this.navPrev), i.appendChild(this.navNext), this.navGroup = i, this.tabStrip = document.createElement("div"), this.tabStrip.style.cssText = `position:relative;display:flex;align-items:flex-end;flex:1;min-width:0;height:100%;margin-left:${Ai}px;overflow-x:auto;overflow-y:hidden;gap:${Ai}px;scrollbar-width:none;`, this.tabStrip.classList.add("xlsx-tab-strip"), Pi(), this.tabStrip.addEventListener("scroll", () => this.updateNavButtons()), this.tabBar.appendChild(i), this.tabBar.appendChild(this.tabStrip), this.opts.showZoomSlider !== !1 && this.tabBar.appendChild(this.buildZoomControl()), this.gridRegion.appendChild(this.canvasArea), this.wrapper.appendChild(this.gridRegion), this.wrapper.appendChild(this.tabBar), e.appendChild(this.wrapper), this.rowGutter.addEventListener("pointerdown", (e) => this.onGutterPointerDown(e, "row")), this.colGutter.addEventListener("pointerdown", (e) => this.onGutterPointerDown(e, "col")), this.scrollHost.addEventListener("scroll", () => {
4052
+ i.style.cssText = `display:flex;flex-shrink:0;width:${r}px;height:100%;`, i.appendChild(this.navPrev), i.appendChild(this.navNext), this.navGroup = i, this.tabStrip = document.createElement("div"), this.tabStrip.style.cssText = `position:relative;display:flex;align-items:flex-end;flex:1;min-width:0;height:100%;margin-left:${Ki}px;overflow-x:auto;overflow-y:hidden;gap:${Ki}px;scrollbar-width:none;`, this.tabStrip.classList.add("xlsx-tab-strip"), Xi(), this.tabStrip.addEventListener("scroll", () => this.updateNavButtons()), this.tabBar.appendChild(i), this.tabBar.appendChild(this.tabStrip), this.opts.showZoomSlider !== !1 && this.tabBar.appendChild(this.buildZoomControl()), this.gridRegion.appendChild(this.canvasArea), this.wrapper.appendChild(this.gridRegion), this.wrapper.appendChild(this.tabBar), e.appendChild(this.wrapper), this.rowGutter.addEventListener("pointerdown", (e) => this.onGutterPointerDown(e, "row")), this.colGutter.addEventListener("pointerdown", (e) => this.onGutterPointerDown(e, "col")), this.scrollHost.addEventListener("scroll", () => {
4001
4053
  this.pendingTap = null, this.hideCommentPopup(), this.hideValidationPanel(), this.scrollHost.clientWidth > 0 && (this.effectiveH = this.effectiveScrollLeft), this.scheduleRender(), this.updateSelectionOverlay(), this.updateFindOverlay();
4002
4054
  }), this.resizeObserver = new ResizeObserver(() => {
4003
4055
  this.reanchorHorizontalScroll(), this.layoutGutters(), this.scheduleRender(), this.updateSelectionOverlay(), this.updateFindOverlay(), this.updateNavButtons();
4004
- }), this.resizeObserver.observe(this.gridRegion), this.setupSelectionEvents(), this._find = new pi(() => this.sheetCount, (e) => this.wb?.sheetNames[e] ?? "", (e) => this._collectSheetCells(e));
4056
+ }), this.resizeObserver.observe(this.gridRegion), this.setupSelectionEvents(), this._find = new ki(() => this.sheetCount, (e) => this.wb?.sheetNames[e] ?? "", (e) => this._collectSheetCells(e));
4005
4057
  }
4006
4058
  async _collectSheetCells(e) {
4007
4059
  let t = this.wb;
@@ -4020,7 +4072,7 @@ var Ui = class {
4020
4072
  async load(e) {
4021
4073
  let t = ++this._loadGen, n = this.wb;
4022
4074
  try {
4023
- let r = await ui.load(e, {
4075
+ let r = await Ei.load(e, {
4024
4076
  useGoogleFonts: this.opts.useGoogleFonts,
4025
4077
  maxZipEntryBytes: this.opts.maxZipEntryBytes,
4026
4078
  workerTimeoutMs: this.opts.workerTimeoutMs,
@@ -4051,12 +4103,12 @@ var Ui = class {
4051
4103
  this.currentSheet = e, this.scrollHost.scrollTop = 0, this.anchorCell = null, this.activeCell = null, this.selectionMode = "cells", this.hideCommentPopup(), this.hideValidationPanel(), this.updateSelectionOverlay(), this.updateTabActive(e), this.currentWorksheet = await this.workbook.getWorksheet(e), this.buildCommentMap(this.currentWorksheet), this.buildHyperlinkMap(this.currentWorksheet), this.buildOutline(this.currentWorksheet), this.layoutGutters(), this.updateSpacerSize(this.currentWorksheet), this.resetHorizontalScroll(), await this.renderCurrentSheet(), this.updateFindOverlay(), this.opts.onSheetChange?.(e, this.workbook.sheetNames.length);
4052
4104
  }
4053
4105
  buildOutline(e) {
4054
- this.stashedRowHeights.clear(), this.stashedColWidths.clear(), this.rowOutlineBands = xi(e), this.colOutlineBands = Si(e);
4055
- let t = gi(this.rowOutlineBands, Ci(e, "row")), n = gi(this.colOutlineBands, Ci(e, "col"));
4106
+ this.stashedRowHeights.clear(), this.stashedColWidths.clear(), this.rowOutlineBands = Li(e), this.colOutlineBands = Ri(e);
4107
+ let t = Mi(this.rowOutlineBands, zi(e, "row")), n = Mi(this.colOutlineBands, zi(e, "col"));
4056
4108
  this.rowOutline = t.maxLevel > 0 ? t : null, this.colOutline = n.maxLevel > 0 ? n : null;
4057
4109
  }
4058
4110
  layoutGutters() {
4059
- let e = this.opts.cellScale ?? 1, t = this.rowOutline ? Math.round(hi(this.rowOutline.maxLevel) * e) : 0, n = this.colOutline ? Math.round(hi(this.colOutline.maxLevel) * e) : 0;
4111
+ let e = this.opts.cellScale ?? 1, t = this.rowOutline ? Math.round(ji(this.rowOutline.maxLevel) * e) : 0, n = this.colOutline ? Math.round(ji(this.colOutline.maxLevel) * e) : 0;
4060
4112
  this.gutter = {
4061
4113
  w: t,
4062
4114
  h: n
@@ -4160,7 +4212,7 @@ var Ui = class {
4160
4212
  applyGroupToggle(e, t) {
4161
4213
  let n = this.currentWorksheet;
4162
4214
  if (!n) return;
4163
- let { hide: r, show: i, nowCollapsed: a } = vi(e, t === "row" ? this.rowOutlineBands : this.colOutlineBands);
4215
+ let { hide: r, show: i, nowCollapsed: a } = Pi(e, t === "row" ? this.rowOutlineBands : this.colOutlineBands);
4164
4216
  for (let e of r) this.setBandHidden(t, e, !0);
4165
4217
  for (let e of i) this.setBandHidden(t, e, !1);
4166
4218
  e.summary != null && this.setBandCollapsed(t, e.summary, a), this.afterOutlineMutation(n);
@@ -4168,7 +4220,7 @@ var Ui = class {
4168
4220
  applyLevelButton(e, t) {
4169
4221
  let n = this.currentWorksheet;
4170
4222
  if (!n) return;
4171
- let { hide: r, show: i } = bi(t === "row" ? this.rowOutlineBands : this.colOutlineBands, e);
4223
+ let { hide: r, show: i } = Ii(t === "row" ? this.rowOutlineBands : this.colOutlineBands, e);
4172
4224
  for (let e of r) this.setBandHidden(t, e, !0);
4173
4225
  for (let e of i) this.setBandHidden(t, e, !1);
4174
4226
  let a = t === "row" ? this.rowOutline : this.colOutline;
@@ -4214,11 +4266,11 @@ var Ui = class {
4214
4266
  } else r.colCollapsed = r.colCollapsed ?? {}, n ? r.colCollapsed[t] = !0 : delete r.colCollapsed[t];
4215
4267
  }
4216
4268
  afterOutlineMutation(e) {
4217
- Vi.delete(e), this.buildOutlineLayoutOnly(e), this.updateSpacerSize(e), this.updateSelectionOverlay(), this.scheduleRender();
4269
+ ra.delete(e), this.buildOutlineLayoutOnly(e), this.updateSpacerSize(e), this.updateSelectionOverlay(), this.scheduleRender();
4218
4270
  }
4219
4271
  buildOutlineLayoutOnly(e) {
4220
- this.rowOutlineBands = xi(e), this.colOutlineBands = Si(e);
4221
- let t = gi(this.rowOutlineBands, Ci(e, "row")), n = gi(this.colOutlineBands, Ci(e, "col"));
4272
+ this.rowOutlineBands = Li(e), this.colOutlineBands = Ri(e);
4273
+ let t = Mi(this.rowOutlineBands, zi(e, "row")), n = Mi(this.colOutlineBands, zi(e, "col"));
4222
4274
  this.rowOutline = t.maxLevel > 0 ? t : null, this.colOutline = n.maxLevel > 0 ? n : null;
4223
4275
  }
4224
4276
  get isRtl() {
@@ -4232,7 +4284,7 @@ var Ui = class {
4232
4284
  return this.isRtl ? this.maxScrollLeft - e : e;
4233
4285
  }
4234
4286
  screenX(e, t) {
4235
- return this.isRtl ? hn(e, t, this.canvasArea.clientWidth) : e;
4287
+ return this.isRtl ? An(e, t, this.canvasArea.clientWidth) : e;
4236
4288
  }
4237
4289
  resetHorizontalScroll() {
4238
4290
  this.effectiveH = 0, this.scrollHost.scrollLeft = this.isRtl ? this.maxScrollLeft : 0;
@@ -4258,10 +4310,10 @@ var Ui = class {
4258
4310
  await this.goToSheet(this._stepSheet(-1));
4259
4311
  }
4260
4312
  _stepSheet(e) {
4261
- return this._hiddenSheetMode === "skip" && this.wb ? pe(this.currentSheet, e, (e) => this.wb.isHidden(e), this.sheetCount) : this.currentSheet + e;
4313
+ return this._hiddenSheetMode === "skip" && this.wb ? Ce(this.currentSheet, e, (e) => this.wb.isHidden(e), this.sheetCount) : this.currentSheet + e;
4262
4314
  }
4263
4315
  _initialSheet() {
4264
- return this._hiddenSheetMode === "skip" && this.wb ? me(0, (e) => this.wb.isHidden(e), this.sheetCount) : 0;
4316
+ return this._hiddenSheetMode === "skip" && this.wb ? we(0, (e) => this.wb.isHidden(e), this.sheetCount) : 0;
4265
4317
  }
4266
4318
  getCellAt(e, t) {
4267
4319
  let n = this.currentWorksheet;
@@ -4288,7 +4340,7 @@ var Ui = class {
4288
4340
  }
4289
4341
  if (h === -1) return null;
4290
4342
  } else {
4291
- let e = c - d + this.scrollHost.scrollTop / r, t = Hi(n, Z(n)).row.scrollableIndexAt(e, l + 1);
4343
+ let e = c - d + this.scrollHost.scrollTop / r, t = ia(n, Z(n)).row.scrollableIndexAt(e, l + 1);
4292
4344
  if (t === null) return null;
4293
4345
  h = t;
4294
4346
  }
@@ -4302,7 +4354,7 @@ var Ui = class {
4302
4354
  }
4303
4355
  if (g === -1) return null;
4304
4356
  } else {
4305
- let e = s - p + this.effectiveScrollLeft / r, t = Hi(n, Z(n)).col.scrollableIndexAt(e, u + 1);
4357
+ let e = s - p + this.effectiveScrollLeft / r, t = ia(n, Z(n)).col.scrollableIndexAt(e, u + 1);
4306
4358
  if (t === null) return null;
4307
4359
  g = t;
4308
4360
  }
@@ -4322,7 +4374,7 @@ var Ui = class {
4322
4374
  } else {
4323
4375
  let e = 0;
4324
4376
  for (let t = 1; t <= l; t++) e += o(t);
4325
- let s = a(50) + e, c = this.effectiveScrollLeft / r, d = Hi(n, i).col, { index: f, partial: p } = d.indexAt(c + d.offsetOf(l + 1)), m = s - p * r;
4377
+ let s = a(50) + e, c = this.effectiveScrollLeft / r, d = ia(n, i).col, { index: f, partial: p } = d.indexAt(c + d.offsetOf(l + 1)), m = s - p * r;
4326
4378
  if (t >= f) for (let e = f; e < t; e++) m += o(e);
4327
4379
  else for (let e = t; e < f; e++) m -= o(e);
4328
4380
  u = m;
@@ -4335,7 +4387,7 @@ var Ui = class {
4335
4387
  } else {
4336
4388
  let t = 0;
4337
4389
  for (let e = 1; e <= c; e++) t += s(e);
4338
- let o = a(22) + t, l = this.scrollHost.scrollTop / r, u = Hi(n, i).row, { index: f, partial: p } = u.indexAt(l + u.offsetOf(c + 1)), m = o - p * r;
4390
+ let o = a(22) + t, l = this.scrollHost.scrollTop / r, u = ia(n, i).row, { index: f, partial: p } = u.indexAt(l + u.offsetOf(c + 1)), m = o - p * r;
4339
4391
  if (e >= f) for (let t = f; t < e; t++) m += s(t);
4340
4392
  else for (let t = e; t < f; t++) m -= s(t);
4341
4393
  d = m;
@@ -4355,7 +4407,7 @@ var Ui = class {
4355
4407
  };
4356
4408
  }
4357
4409
  select(e) {
4358
- let t = nn(e);
4410
+ let t = _n(e);
4359
4411
  t && (this.hideValidationPanel(), this.selectionMode = "cells", this.anchorCell = {
4360
4412
  row: t.row,
4361
4413
  col: t.col
@@ -4387,7 +4439,7 @@ var Ui = class {
4387
4439
  };
4388
4440
  return null;
4389
4441
  }
4390
- let a = e - t + this.scrollHost.scrollTop / r, s = Hi(n, Z(n)).row.scrollableIndexAt(a, l + 1);
4442
+ let a = e - t + this.scrollHost.scrollTop / r, s = ia(n, Z(n)).row.scrollableIndexAt(a, l + 1);
4391
4443
  return s === null ? null : {
4392
4444
  kind: "row",
4393
4445
  row: s
@@ -4408,7 +4460,7 @@ var Ui = class {
4408
4460
  };
4409
4461
  return null;
4410
4462
  }
4411
- let m = d - f + this.effectiveScrollLeft / r, h = Hi(n, Z(n)).col.scrollableIndexAt(m, u + 1);
4463
+ let m = d - f + this.effectiveScrollLeft / r, h = ia(n, Z(n)).col.scrollableIndexAt(m, u + 1);
4412
4464
  return h === null ? null : {
4413
4465
  kind: "col",
4414
4466
  col: h
@@ -4430,7 +4482,7 @@ var Ui = class {
4430
4482
  edge: t.x + t.w
4431
4483
  }));
4432
4484
  }
4433
- let o = zi(a, i, Li, s);
4485
+ let o = ta(a, i, $i, s);
4434
4486
  return o === null ? null : {
4435
4487
  kind: "col",
4436
4488
  index: o,
@@ -4450,7 +4502,7 @@ var Ui = class {
4450
4502
  edge: t.y + t.h
4451
4503
  }));
4452
4504
  }
4453
- let a = zi(o, i, Li, c);
4505
+ let a = ta(o, i, $i, c);
4454
4506
  return a === null ? null : {
4455
4507
  kind: "row",
4456
4508
  index: a,
@@ -4465,19 +4517,19 @@ var Ui = class {
4465
4517
  if (!n || !r) return;
4466
4518
  let i = this.opts.cellScale ?? 1, a = this.canvasArea.getBoundingClientRect();
4467
4519
  if (n.kind === "col") {
4468
- let t = this.screenX(e - a.left, 0), o = Math.max(Ri, Math.round((t - n.originScaled) / i));
4469
- r.colWidths[n.index] = bn(o, n.mdw), this.recordSizeOverride("col", n.index);
4520
+ let t = this.screenX(e - a.left, 0), o = Math.max(ea, Math.round((t - n.originScaled) / i));
4521
+ r.colWidths[n.index] = Fn(o, n.mdw), this.recordSizeOverride("col", n.index);
4470
4522
  } else {
4471
- let e = t - a.top, o = Math.max(Ri, Math.round((e - n.originScaled) / i));
4472
- r.rowHeights[n.index] = xn(o), this.recordSizeOverride("row", n.index);
4523
+ let e = t - a.top, o = Math.max(ea, Math.round((e - n.originScaled) / i));
4524
+ r.rowHeights[n.index] = In(o), this.recordSizeOverride("row", n.index);
4473
4525
  }
4474
- Vi.delete(r), this.updateSpacerSize(r), this.updateSelectionOverlay(), this.scheduleRender();
4526
+ ra.delete(r), this.updateSpacerSize(r), this.updateSelectionOverlay(), this.scheduleRender();
4475
4527
  }
4476
4528
  setSelectionColor(e) {
4477
4529
  this.opts.selectionColor = e, this.updateSelectionOverlay();
4478
4530
  }
4479
4531
  async setHiddenSheetMode(e) {
4480
- this._hiddenSheetMode = e, this.buildTabs(), e === "skip" && this.wb && this.wb.isHidden(this.currentSheet) ? await this.showSheet(me(this.currentSheet, (e) => this.wb.isHidden(e), this.sheetCount)) : this.updateTabActive(this.currentSheet);
4532
+ this._hiddenSheetMode = e, this.buildTabs(), e === "skip" && this.wb && this.wb.isHidden(this.currentSheet) ? await this.showSheet(we(this.currentSheet, (e) => this.wb.isHidden(e), this.sheetCount)) : this.updateTabActive(this.currentSheet);
4481
4533
  }
4482
4534
  get hiddenSheetMode() {
4483
4535
  return this._hiddenSheetMode;
@@ -4485,7 +4537,7 @@ var Ui = class {
4485
4537
  get visibleSheetCount() {
4486
4538
  if (!this.wb) return 0;
4487
4539
  let e = this.wb;
4488
- return q((t) => e.isHidden(t), this.sheetCount);
4540
+ return Te((t) => e.isHidden(t), this.sheetCount);
4489
4541
  }
4490
4542
  copySelection() {
4491
4543
  let e = this.currentWorksheet;
@@ -4540,13 +4592,13 @@ var Ui = class {
4540
4592
  l < a && (d -= a - l, l = a), u < o && (f -= o - u, u = o);
4541
4593
  let h = a + c, g = o + s;
4542
4594
  if (m > r && l < h && (d -= h - l, l = h), p > n && u < g && (f -= g - u, u = g), d <= 0 || f <= 0) return;
4543
- let _ = this.screenX(l, d), { border: v, background: y } = Bi(this.opts.selectionColor ?? Ii), b = document.createElement("div");
4595
+ let _ = this.screenX(l, d), { border: v, background: y } = na(this.opts.selectionColor ?? Qi), b = document.createElement("div");
4544
4596
  b.style.cssText = `position:absolute;left:${_}px;top:${u}px;width:${d}px;height:${f}px;box-sizing:border-box;border:${v};background:${y};pointer-events:none;`, this.selectionOverlay.appendChild(b), this.maybeDrawValidationDropdown();
4545
4597
  }
4546
4598
  maybeDrawValidationDropdown() {
4547
4599
  if (this.validationArrowRect = null, this.selectionMode !== "cells") return;
4548
4600
  let e = this.currentWorksheet, t = this.activeCell;
4549
- if (!e || !t || !fi(e.dataValidations, t.row, t.col)) return;
4601
+ if (!e || !t || !Oi(e.dataValidations, t.row, t.col)) return;
4550
4602
  let n = this.getCellRect(t.row, t.col);
4551
4603
  if (!n) return;
4552
4604
  let r = this.opts.cellScale ?? 1, i = Math.round(50 * r), a = Math.round(22 * r), o = Math.max(14, Math.min(n.h, 22 * r)), s = n.x + n.w, c = n.y;
@@ -4569,7 +4621,7 @@ var Ui = class {
4569
4621
  for (let t = 1; t <= o; t++) s += n(Q(e.colWidths[t] ?? e.defaultColWidth, Z(e)));
4570
4622
  let c = 0;
4571
4623
  for (let t = 1; t <= a; t++) c += n($(e.rowHeights[t] ?? e.defaultRowHeight));
4572
- let l = r + s, u = i + c, d = Bi("#ffb300"), f = Bi("#fb8c00");
4624
+ let l = r + s, u = i + c, d = na("#ffb300"), f = na("#fb8c00");
4573
4625
  for (let e of this._find.sheetHighlights(this.currentSheet)) {
4574
4626
  let t = this.getCellRect(e.row, e.col);
4575
4627
  if (!t) continue;
@@ -4601,7 +4653,7 @@ var Ui = class {
4601
4653
  _scrollCellIntoView(e, t) {
4602
4654
  let n = this.currentWorksheet;
4603
4655
  if (!n) return;
4604
- let r = this.opts.cellScale ?? 1, i = Z(n), a = Hi(n, i), o = n.freezeRows ?? 0, s = n.freezeCols ?? 0;
4656
+ let r = this.opts.cellScale ?? 1, i = Z(n), a = ia(n, i), o = n.freezeRows ?? 0, s = n.freezeCols ?? 0;
4605
4657
  if (e > o) {
4606
4658
  let t = Math.round(22 * r), i = 0;
4607
4659
  for (let e = 1; e <= o; e++) i += Math.round($(n.rowHeights[e] ?? n.defaultRowHeight) * r);
@@ -4623,7 +4675,7 @@ var Ui = class {
4623
4675
  this.hideValidationPanel();
4624
4676
  return;
4625
4677
  }
4626
- let r = fi(e.dataValidations, t.row, t.col);
4678
+ let r = Oi(e.dataValidations, t.row, t.col);
4627
4679
  r && this.openValidationPanel(t, r.formula1);
4628
4680
  }
4629
4681
  async openValidationPanel(e, t) {
@@ -4662,7 +4714,7 @@ var Ui = class {
4662
4714
  if (!t) return;
4663
4715
  let n = this.screenX(t.x, t.w);
4664
4716
  this.validationPanel.style.left = "-9999px", this.validationPanel.style.top = "-9999px", this.validationPanel.style.display = "block";
4665
- let r = li({
4717
+ let r = Ti({
4666
4718
  cell: {
4667
4719
  x: n,
4668
4720
  y: t.y,
@@ -4695,7 +4747,7 @@ var Ui = class {
4695
4747
  buildCommentMap(e) {
4696
4748
  this.commentMap = /* @__PURE__ */ new Map();
4697
4749
  for (let t of e.comments ?? []) {
4698
- let e = nn(t.cellRef);
4750
+ let e = _n(t.cellRef);
4699
4751
  e && this.commentMap.set(`${e.row}:${e.col}`, t);
4700
4752
  }
4701
4753
  }
@@ -4704,7 +4756,7 @@ var Ui = class {
4704
4756
  for (let t of e.hyperlinks ?? []) this.hyperlinkMap.set(`${t.row}:${t.col}`, t);
4705
4757
  }
4706
4758
  hyperlinkAtCell(e) {
4707
- return this.hyperlinkMap.get(`${e.row}:${e.col}`) ?? null;
4759
+ return this.opts.enableHyperlinks === !1 ? null : this.hyperlinkMap.get(`${e.row}:${e.col}`) ?? null;
4708
4760
  }
4709
4761
  dispatchHyperlink(e) {
4710
4762
  let t = this.hyperlinkAtCell(e);
@@ -4720,7 +4772,7 @@ var Ui = class {
4720
4772
  };
4721
4773
  else return !1;
4722
4774
  let r = this.opts.onHyperlinkClick;
4723
- return r ? (r(n), !0) : (n.kind === "external" ? I(n.url) : this.navigateInternalHyperlink(n.ref), !0);
4775
+ return r ? (r(n), !0) : (n.kind === "external" ? ie(n.url) : this.navigateInternalHyperlink(n.ref), !0);
4724
4776
  }
4725
4777
  navigateInternalHyperlink(e) {
4726
4778
  let t = e.lastIndexOf("!");
@@ -4738,7 +4790,7 @@ var Ui = class {
4738
4790
  }
4739
4791
  this.commentPopupKey !== t && (this.hideCommentPopup(), this.commentPopupKey = t, this.commentPopupTimer = setTimeout(() => {
4740
4792
  this.commentPopupTimer = null, this.renderCommentPopup(e, n);
4741
- }, wi));
4793
+ }, Bi));
4742
4794
  }
4743
4795
  renderCommentPopup(e, t) {
4744
4796
  let n = this.getCellRect(e.row, e.col);
@@ -4751,7 +4803,7 @@ var Ui = class {
4751
4803
  r.textContent = t.text, this.commentPopup.appendChild(r);
4752
4804
  let i = this.screenX(n.x, n.w);
4753
4805
  this.commentPopup.style.left = "-9999px", this.commentPopup.style.top = "-9999px", this.commentPopup.style.display = "block";
4754
- let a = mi({
4806
+ let a = Ai({
4755
4807
  cell: {
4756
4808
  x: i,
4757
4809
  y: n.y,
@@ -4919,7 +4971,7 @@ var Ui = class {
4919
4971
  this._pendingZoomAnchor = Number.isFinite(n) && Number.isFinite(r) ? {
4920
4972
  x: n,
4921
4973
  y: r
4922
- } : null, this.setScale(j(this.opts.cellScale ?? 1, e.deltaY));
4974
+ } : null, this.setScale(U(this.opts.cellScale ?? 1, e.deltaY));
4923
4975
  }, { passive: !1 }), this.scrollHost.addEventListener("pointerleave", () => this.hideCommentPopup()), this.keydownHandler = (e) => {
4924
4976
  (e.ctrlKey || e.metaKey) && e.key === "c" ? this.copySelection() : e.key === "Escape" && this.validationPanel.style.display !== "none" && this.hideValidationPanel();
4925
4977
  }, document.addEventListener("keydown", this.keydownHandler);
@@ -4970,23 +5022,23 @@ var Ui = class {
4970
5022
  }
4971
5023
  }
4972
5024
  tabStyle(e, t) {
4973
- let n = ki - 2, r = ki - 5, i = t ? `box-shadow:inset 0 -${e ? 2 : 3}px 0 0 ${t};` : "";
5025
+ let n = Gi - 2, r = Gi - 5, i = t ? `box-shadow:inset 0 -${e ? 2 : 3}px 0 0 ${t};` : "";
4974
5026
  return e ? `display:inline-block;flex:none;padding:0 14px;position:relative;border:1px solid #c8ccd0;border-bottom:none;border-radius:3px 3px 0 0;cursor:pointer;white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis;outline:none;box-sizing:border-box;height:${n}px;font-size:13px;background:#fff;color:#000;border-bottom:1px solid #fff;font-weight:600;top:1px;` + i : `display:inline-block;flex:none;padding:0 14px;position:relative;border:1px solid #c8ccd0;border-bottom:none;border-radius:3px 3px 0 0;cursor:pointer;white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis;outline:none;box-sizing:border-box;height:${r}px;font-size:11px;background:#e0e0e0;color:#555;` + i;
4975
5027
  }
4976
5028
  tabCss(e, t) {
4977
5029
  let n = this.tabStyle(t, this.tabColors[e]);
4978
- return this._hiddenSheetMode !== "show" && this.wb?.isHidden(e) && (n += this._hiddenSheetMode === "skip" ? "display:none;" : `opacity:${ji};`), n;
5030
+ return this._hiddenSheetMode !== "show" && this.wb?.isHidden(e) && (n += this._hiddenSheetMode === "skip" ? "display:none;" : `opacity:${qi};`), n;
4979
5031
  }
4980
5032
  buildZoomControl() {
4981
5033
  let e = this.opts.zoomMin ?? .1, t = this.opts.zoomMax ?? 4, n = this.opts.cellScale ?? 1, r = document.createElement("div");
4982
5034
  r.style.cssText = "display:flex;align-items:center;flex-shrink:0;gap:2px;padding:0 10px;height:100%;color:#555;font-size:12px;user-select:none;";
4983
5035
  let i = (e, t, n) => {
4984
5036
  let r = document.createElement("button");
4985
- return r.textContent = e, r.setAttribute("aria-label", t), r.title = t, r.style.cssText = "width:18px;height:18px;padding:0;border:none;background:transparent;color:#555;font-size:14px;line-height:1;cursor:pointer;border-radius:3px;", r.addEventListener("click", () => this.setScale((this.opts.cellScale ?? 1) + n)), r;
5037
+ return r.textContent = e, r.setAttribute("aria-label", t), r.title = t, r.style.cssText = "width:18px;height:18px;padding:0;border:none;background:transparent;color:#555;font-size:14px;line-height:1;cursor:pointer;border-radius:3px;", r.addEventListener("click", n), r;
4986
5038
  }, a = document.createElement("input");
4987
5039
  a.type = "range", a.min = "0", a.max = "100", a.step = "any", a.value = String(this.zoomScaleToPos(n, e, t)), a.setAttribute("aria-label", "Zoom"), a.title = "Zoom", a.classList.add("xlsx-zoom-slider"), a.style.cssText = "width:90px;cursor:pointer;", a.addEventListener("input", () => this.setScale(this.zoomPosToScale(Number(a.value), e, t)));
4988
5040
  let o = document.createElement("span");
4989
- return o.textContent = `${Math.round(n * 100)}%`, o.style.cssText = "min-width:42px;margin-left:6px;text-align:right;font-variant-numeric:tabular-nums;", r.appendChild(i("−", "Zoom out", -.1)), r.appendChild(a), r.appendChild(i("+", "Zoom in", .1)), r.appendChild(o), this.zoomSlider = a, this.zoomLabel = o, r;
5041
+ return o.textContent = `${Math.round(n * 100)}%`, o.style.cssText = "min-width:42px;margin-left:6px;text-align:right;font-variant-numeric:tabular-nums;", r.appendChild(i("−", "Zoom out", () => this.zoomOut())), r.appendChild(a), r.appendChild(i("+", "Zoom in", () => this.zoomIn())), r.appendChild(o), this.zoomSlider = a, this.zoomLabel = o, r;
4990
5042
  }
4991
5043
  zoomPosToScale(e, t, n) {
4992
5044
  return e <= 50 ? t + e / 50 * (1 - t) : 1 + (e - 50) / 50 * (n - 1);
@@ -5002,8 +5054,8 @@ var Ui = class {
5002
5054
  let e = this.effectiveScrollLeft, t = this.scrollHost.scrollTop;
5003
5055
  if (this.layoutGutters(), this.updateSpacerSize(this.currentWorksheet), o) {
5004
5056
  let n = Math.max(0, this.scrollHost.scrollHeight - this.scrollHost.clientHeight);
5005
- this.scrollHost.scrollTop = R(t, o.y, a, i, { maxScroll: n });
5006
- let r = this.screenX(o.x, 0), s = this.maxScrollLeft, c = R(e, r, a, i, { maxScroll: s });
5057
+ this.scrollHost.scrollTop = oe(t, o.y, a, i, { maxScroll: n });
5058
+ let r = this.screenX(o.x, 0), s = this.maxScrollLeft, c = oe(e, r, a, i, { maxScroll: s });
5007
5059
  this.effectiveH = c, this.scrollHost.scrollLeft = this.isRtl ? Math.max(0, s - c) : c;
5008
5060
  } else this.effectiveH = e, this.isRtl && (this.scrollHost.scrollLeft = Math.max(0, this.maxScrollLeft - e));
5009
5061
  }
@@ -5014,10 +5066,10 @@ var Ui = class {
5014
5066
  return this.opts.cellScale ?? 1;
5015
5067
  }
5016
5068
  zoomIn() {
5017
- this.setScale(D(this.getScale()));
5069
+ this.setScale(V(this.getScale()));
5018
5070
  }
5019
5071
  zoomOut() {
5020
- this.setScale(U(this.getScale()));
5072
+ this.setScale(ue(this.getScale()));
5021
5073
  }
5022
5074
  fitWidth() {
5023
5075
  this._fit("width");
@@ -5028,7 +5080,7 @@ var Ui = class {
5028
5080
  _fit(e) {
5029
5081
  let t = this.currentWorksheet;
5030
5082
  if (!t) return;
5031
- let { width: n, height: r } = this._naturalContentExtent(t), i = T({
5083
+ let { width: n, height: r } = this._naturalContentExtent(t), i = B({
5032
5084
  contentWidth: n,
5033
5085
  contentHeight: r,
5034
5086
  containerWidth: this.canvasArea.clientWidth,
@@ -5095,7 +5147,7 @@ var Ui = class {
5095
5147
  for (let t = 1; t <= s; t++) c += Q(e.colWidths[t] ?? e.defaultColWidth, Z(e));
5096
5148
  let l = 0;
5097
5149
  for (let t = 1; t <= o; t++) l += $(e.rowHeights[t] ?? e.defaultRowHeight);
5098
- let u = this.effectiveScrollLeft / i, d = this.scrollHost.scrollTop / i, f = Hi(e, Z(e)), { index: p, partial: m } = f.col.indexAt(u + f.col.offsetOf(s + 1)), { index: h, partial: g } = f.row.indexAt(d + f.row.offsetOf(o + 1)), _ = t / i - 50 - c, v = n / i - 22 - l, y = 0;
5150
+ let u = this.effectiveScrollLeft / i, d = this.scrollHost.scrollTop / i, f = ia(e, Z(e)), { index: p, partial: m } = f.col.indexAt(u + f.col.offsetOf(s + 1)), { index: h, partial: g } = f.row.indexAt(d + f.row.offsetOf(o + 1)), _ = t / i - 50 - c, v = n / i - 22 - l, y = 0;
5099
5151
  {
5100
5152
  let t = -m, n = p;
5101
5153
  for (; t < _ + m && n <= 16384;) t += Q(e.colWidths[n] ?? e.defaultColWidth, Z(e)), y++, n++;
@@ -5205,13 +5257,13 @@ var Ui = class {
5205
5257
  destroy() {
5206
5258
  this._destroyed = !0, this._loadGen++, this.resizeObserver?.disconnect(), this._rafId !== null && typeof cancelAnimationFrame == "function" && (cancelAnimationFrame(this._rafId), this._rafId = null), this._renderSeq++, this.hideCommentPopup(), this.hideValidationPanel(), this.keydownHandler && document.removeEventListener("keydown", this.keydownHandler), this._find.invalidate(), this.wb?.destroy(), this.wrapper.remove();
5207
5259
  }
5208
- }, Wi = /* @__PURE__ */ i({
5209
- OoxmlError: () => o,
5210
- XlsxViewer: () => Ui,
5211
- XlsxWorkbook: () => ui,
5212
- autoResize: () => ne,
5213
- openExternalHyperlink: () => I,
5214
- resolveSharedStrings: () => oi
5260
+ }, oa = /* @__PURE__ */ P({
5261
+ OoxmlError: () => F,
5262
+ XlsxViewer: () => aa,
5263
+ XlsxWorkbook: () => Ei,
5264
+ autoResize: () => H,
5265
+ openExternalHyperlink: () => ie,
5266
+ resolveSharedStrings: () => Si
5215
5267
  });
5216
5268
  //#endregion
5217
- export { oi as i, Ui as n, ui as r, Wi as t };
5269
+ export { Si as i, aa as n, Ei as r, oa as t };