UNPKG

@watergis/maplibre-gl-export

Version:
1,323 lines 578 kB
import { n as e } from "./chunk-efA98nb6.js"; import { t } from "./typeof-CTd55yxz.js"; import { Map as n } from "maplibre-gl"; //#region src/lib/crosshair-manager.ts var r = class { map; width; height; svgCanvas; xLine; yLine; color = "#535353"; constructor(e) { this.map = e, this.mapResize = this.mapResize.bind(this); } create() { this.updateValues(), this.map === void 0 ? console.error("map object is null") : (this.map.on("resize", this.mapResize), this.createCanvas(this.map.getCanvasContainer())); } updateValues() { this.width = this.map?.getCanvas().clientWidth, this.height = this.map?.getCanvas().clientHeight; } mapResize() { this.updateValues(), this.updateCanvas(); } updateCanvas() { if (this.svgCanvas !== void 0 && this.yLine !== void 0 && this.xLine !== void 0 && this.width !== void 0 && this.height !== void 0) { this.svgCanvas.setAttribute("width", `${this.width}px`), this.svgCanvas.setAttribute("height", `${this.height}px`); let e = this.width / 2, t = this.height / 2; this.yLine.setAttribute("x1", `${e}px`), this.yLine.setAttribute("y1", "0px"), this.yLine.setAttribute("x2", `${e}px`), this.yLine.setAttribute("y2", `${this.height}px`), this.xLine.setAttribute("x1", "0px"), this.xLine.setAttribute("y1", `${t}px`), this.xLine.setAttribute("x2", `${this.width}px`), this.xLine.setAttribute("y2", `${t}px`); } else console.error("element value is null"); } createCanvas(e) { if (this.width !== void 0 && this.height !== void 0) { let t = document.createElementNS("http://www.w3.org/2000/svg", "svg"); t.style.position = "relative", t.setAttribute("width", `${this.width}px`), t.setAttribute("height", `${this.height}px`); let n = this.width / 2, r = this.height / 2; this.yLine = t.appendChild(this.createLine(`${n}`, "0", `${n}`, `${this.height}`, this.color, "2px")), this.xLine = t.appendChild(this.createLine("0", `${r}`, `${this.width}`, `${r}`, this.color, "2px")), e?.appendChild(t), this.svgCanvas = t; } } createLine(e, t, n, r, i, a) { let o = document.createElementNS("http://www.w3.org/2000/svg", "line"); return o.setAttribute("x1", e), o.setAttribute("y1", t), o.setAttribute("x2", n), o.setAttribute("y2", r), o.setAttribute("stroke-dasharray", "5,5"), o.setAttribute("stroke", i), o.setAttribute("stroke-width", a), o; } destroy() { this.xLine !== void 0 && (this.xLine.remove(), this.xLine = void 0), this.yLine !== void 0 && (this.yLine.remove(), this.yLine = void 0), this.svgCanvas !== void 0 && (this.svgCanvas.remove(), this.svgCanvas = void 0), this.map !== void 0 && (this.map.off("resize", this.mapResize), this.map = void 0); } }, i = { 72: 72, 96: 96, 200: 200, 300: 300, 400: 400 }, a = { JPEG: "jpg", PNG: "png", PDF: "pdf", SVG: "svg" }, o = { Landscape: "landscape", Portrait: "portrait" }, s = { LETTER: [279, 216], A2: [594, 420], A3: [420, 297], A4: [297, 210], A5: [210, 148], A6: [148, 105], B2: [707, 500], B3: [500, 353], B4: [353, 250], B5: [250, 176], B6: [176, 125] }, c = { in: "in", mm: "mm" }, l = class { map; width; height; unit; svgCanvas; svgPath; constructor(e) { if (this.map = e, this.map === void 0) return; this.mapResize = this.mapResize.bind(this), this.map.on("resize", this.mapResize); let t = this.map?.getCanvas().clientWidth, n = this.map?.getCanvas().clientHeight, r = document.createElementNS("http://www.w3.org/2000/svg", "svg"); r.style.position = "absolute", r.style.top = "0px", r.style.left = "0px", r.setAttribute("width", `${t}px`), r.setAttribute("height", `${n}px`); let i = document.createElementNS("http://www.w3.org/2000/svg", "path"); i.setAttribute("style", "fill:#888888;stroke-width:0"), i.setAttribute("fill-opacity", "0.5"), r.append(i), this.map?.getCanvasContainer().appendChild(r), this.svgCanvas = r, this.svgPath = i; } mapResize() { this.generateCutOut(); } updateArea(e, t) { this.width = e, this.height = t, this.unit = c.mm, this.generateCutOut(); } generateCutOut() { if (this.map === void 0 || this.svgCanvas === void 0 || this.svgPath === void 0) return; let e = this.toPixels(this.width), t = this.toPixels(this.height), n = this.map?.getCanvas().clientWidth, r = this.map?.getCanvas().clientHeight, i = n / 2 - e / 2, a = i + e, o = r / 2 - t / 2, s = o + t; this.svgCanvas.setAttribute("width", `${n}px`), this.svgCanvas.setAttribute("height", `${r}px`), this.svgPath.setAttribute("d", `M 0 0 L ${n} 0 L ${n} ${r} L 0 ${r} M ${i} ${o} L ${i} ${s} L ${a} ${s} L ${a} ${o}`); } destroy() { this.svgCanvas !== void 0 && (this.svgCanvas.remove(), this.svgCanvas = void 0), this.map !== void 0 && (this.map = void 0); } toPixels(e, t = 96) { return this.unit === c.mm && (t /= 25.4), t * e; } }, u = { PageSize: "Page Size", PageOrientation: "Page Orientation", Format: "Format", DPI: "DPI", Generate: "Generate", LanguageName: "English", LanguageCode: "en" }, d = [ u, { PageSize: "Taille de page", PageOrientation: "Orientation de la page", Format: "Format", DPI: "DPI", Generate: "Générer", LanguageName: "Français", LanguageCode: "fr" }, { PageSize: "Sivukoko", PageOrientation: "Sivun suunta", Format: "Muoto", DPI: "DPI", Generate: "Generoi", LanguageName: "Suomalainen", LanguageCode: "fi" }, { PageSize: "Papierformat", PageOrientation: "Papierausrichtung", Format: "Dateiformat", DPI: "Druckauflösung", Generate: "Erstellen", LanguageName: "Deutsch", LanguageCode: "de" }, { PageSize: "Sidstorlek", PageOrientation: "Sidorientering", Format: "Format", DPI: "DPI", Generate: "Generera", LanguageName: "Svenska", LanguageCode: "sv" }, { PageSize: "Tamaño de página", PageOrientation: "Orientación de página", Format: "Formato", DPI: "DPI", Generate: "Generar", LanguageName: "Española", LanguageCode: "es" }, { PageSize: "Mida", PageOrientation: "Orientació", Format: "Format", DPI: "DPI", Generate: "Genera", LanguageName: "Catalan", LanguageCode: "ca" }, { PageSize: "Kích thước trang", PageOrientation: "Loại trang", Format: "Định dạng", DPI: "Mật độ điểm ảnh (DPI)", Generate: "Tạo", LanguageName: "Tiếng Việt", LanguageCode: "vi" }, { PageSize: "Розмір сторінки", PageOrientation: "Орієнтація сторінки", Format: "Формат", DPI: "DPI", Generate: "Згенерувати", LanguageName: "українська", LanguageCode: "uk" }, { PageSize: "页面大小", PageOrientation: "页面方向", Format: "格式", DPI: "像素", Generate: "导出", LanguageName: "简体字", LanguageCode: "zhHans" }, { PageSize: "頁面大小", PageOrientation: "頁面方向", Format: "格式", DPI: "像素", Generate: "導出", LanguageName: "繁体字", LanguageCode: "zhHant" }, { PageSize: "ページサイズ", PageOrientation: "ページ方向", Format: "フォーマット", DPI: "DPI(解像度)", Generate: "出力", LanguageName: "日本語", LanguageCode: "ja" }, { PageSize: "Tamanho da página", PageOrientation: "Orientação da página", Format: "Formato", DPI: "DPI", Generate: "Gerar", LanguageName: "Português", LanguageCode: "pt" }, { PageSize: "Размер страницы", PageOrientation: "Ориентация страницы", Format: "Формат", DPI: "Разрешение (DPI)", Generate: "Сгенерировать", LanguageName: "русский", LanguageCode: "ru" } ], f = [ "en", "fr", "fi", "de", "sv", "es", "ca", "vi", "uk", "zhHans", "zhHant", "ja", "pt", "ru" ], p = (e) => d.find((t) => t.LanguageCode === e) ?? u, m = Uint8Array, h = Uint16Array, g = Int32Array, _ = new m([ 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 0, 0, 0 ]), v = new m([ 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 0, 0 ]), y = new m([ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ]), b = function(e, t) { for (var n = new h(31), r = 0; r < 31; ++r) n[r] = t += 1 << e[r - 1]; for (var i = new g(n[30]), r = 1; r < 30; ++r) for (var a = n[r]; a < n[r + 1]; ++a) i[a] = a - n[r] << 5 | r; return { b: n, r: i }; }, x = b(_, 2), S = x.b, C = x.r; S[28] = 258, C[258] = 28; var w = b(v, 0); w.b; for (var T = w.r, E = new h(32768), D = 0; D < 32768; ++D) { var O = (D & 43690) >> 1 | (D & 21845) << 1; O = (O & 52428) >> 2 | (O & 13107) << 2, O = (O & 61680) >> 4 | (O & 3855) << 4, E[D] = ((O & 65280) >> 8 | (O & 255) << 8) >> 1; } for (var k = (function(e, t, n) { for (var r = e.length, i = 0, a = new h(t); i < r; ++i) e[i] && ++a[e[i] - 1]; var o = new h(t); for (i = 1; i < t; ++i) o[i] = o[i - 1] + a[i - 1] << 1; var s; if (n) { s = new h(1 << t); var c = 15 - t; for (i = 0; i < r; ++i) if (e[i]) for (var l = i << 4 | e[i], u = t - e[i], d = o[e[i] - 1]++ << u, f = d | (1 << u) - 1; d <= f; ++d) s[E[d] >> c] = l; } else for (s = new h(r), i = 0; i < r; ++i) e[i] && (s[i] = E[o[e[i] - 1]++] >> 15 - e[i]); return s; }), A = new m(288), D = 0; D < 144; ++D) A[D] = 8; for (var D = 144; D < 256; ++D) A[D] = 9; for (var D = 256; D < 280; ++D) A[D] = 7; for (var D = 280; D < 288; ++D) A[D] = 8; for (var j = new m(32), D = 0; D < 32; ++D) j[D] = 5; var M = /* @__PURE__ */ k(A, 9, 0), N = /* @__PURE__ */ k(j, 5, 0), P = function(e) { return (e + 7) / 8 | 0; }, F = function(e, t, n) { return (t == null || t < 0) && (t = 0), (n == null || n > e.length) && (n = e.length), new m(e.subarray(t, n)); }, I = function(e, t, n) { n <<= t & 7; var r = t / 8 | 0; e[r] |= n, e[r + 1] |= n >> 8; }, L = function(e, t, n) { n <<= t & 7; var r = t / 8 | 0; e[r] |= n, e[r + 1] |= n >> 8, e[r + 2] |= n >> 16; }, ee = function(e, t) { for (var n = [], r = 0; r < e.length; ++r) e[r] && n.push({ s: r, f: e[r] }); var i = n.length, a = n.slice(); if (!i) return { t: H, l: 0 }; if (i == 1) { var o = new m(n[0].s + 1); return o[n[0].s] = 1, { t: o, l: 1 }; } n.sort(function(e, t) { return e.f - t.f; }), n.push({ s: -1, f: 25001 }); var s = n[0], c = n[1], l = 0, u = 1, d = 2; for (n[0] = { s: -1, f: s.f + c.f, l: s, r: c }; u != i - 1;) s = n[n[l].f < n[d].f ? l++ : d++], c = n[l != u && n[l].f < n[d].f ? l++ : d++], n[u++] = { s: -1, f: s.f + c.f, l: s, r: c }; for (var f = a[0].s, r = 1; r < i; ++r) a[r].s > f && (f = a[r].s); var p = new h(f + 1), g = R(n[u - 1], p, 0); if (g > t) { var r = 0, _ = 0, v = g - t, y = 1 << v; for (a.sort(function(e, t) { return p[t.s] - p[e.s] || e.f - t.f; }); r < i; ++r) { var b = a[r].s; if (p[b] > t) _ += y - (1 << g - p[b]), p[b] = t; else break; } for (_ >>= v; _ > 0;) { var x = a[r].s; p[x] < t ? _ -= 1 << t - p[x]++ - 1 : ++r; } for (; r >= 0 && _; --r) { var S = a[r].s; p[S] == t && (--p[S], ++_); } g = t; } return { t: new m(p), l: g }; }, R = function(e, t, n) { return e.s == -1 ? Math.max(R(e.l, t, n + 1), R(e.r, t, n + 1)) : t[e.s] = n; }, z = function(e) { for (var t = e.length; t && !e[--t];); for (var n = new h(++t), r = 0, i = e[0], a = 1, o = function(e) { n[r++] = e; }, s = 1; s <= t; ++s) if (e[s] == i && s != t) ++a; else { if (!i && a > 2) { for (; a > 138; a -= 138) o(32754); a > 2 && (o(a > 10 ? a - 11 << 5 | 28690 : a - 3 << 5 | 12305), a = 0); } else if (a > 3) { for (o(i), --a; a > 6; a -= 6) o(8304); a > 2 && (o(a - 3 << 5 | 8208), a = 0); } for (; a--;) o(i); a = 1, i = e[s]; } return { c: n.subarray(0, r), n: t }; }, B = function(e, t) { for (var n = 0, r = 0; r < t.length; ++r) n += e[r] * t[r]; return n; }, te = function(e, t, n) { var r = n.length, i = P(t + 2); e[i] = r & 255, e[i + 1] = r >> 8, e[i + 2] = e[i] ^ 255, e[i + 3] = e[i + 1] ^ 255; for (var a = 0; a < r; ++a) e[i + a + 4] = n[a]; return (i + 4 + r) * 8; }, V = function(e, t, n, r, i, a, o, s, c, l, u) { I(t, u++, n), ++i[256]; for (var d = ee(i, 15), f = d.t, p = d.l, m = ee(a, 15), g = m.t, b = m.l, x = z(f), S = x.c, C = x.n, w = z(g), T = w.c, E = w.n, D = new h(19), O = 0; O < S.length; ++O) ++D[S[O] & 31]; for (var O = 0; O < T.length; ++O) ++D[T[O] & 31]; for (var P = ee(D, 7), F = P.t, R = P.l, V = 19; V > 4 && !F[y[V - 1]]; --V); var ne = l + 5 << 3, H = B(i, A) + B(a, j) + o, U = B(i, f) + B(a, g) + o + 14 + 3 * V + B(D, F) + 2 * D[16] + 3 * D[17] + 7 * D[18]; if (c >= 0 && ne <= H && ne <= U) return te(t, u, e.subarray(c, c + l)); var W, re, ie, ae; if (I(t, u, 1 + (U < H)), u += 2, U < H) { W = k(f, p, 0), re = f, ie = k(g, b, 0), ae = g; var oe = k(F, R, 0); I(t, u, C - 257), I(t, u + 5, E - 1), I(t, u + 10, V - 4), u += 14; for (var O = 0; O < V; ++O) I(t, u + 3 * O, F[y[O]]); u += 3 * V; for (var G = [S, T], se = 0; se < 2; ++se) for (var ce = G[se], O = 0; O < ce.length; ++O) { var le = ce[O] & 31; I(t, u, oe[le]), u += F[le], le > 15 && (I(t, u, ce[O] >> 5 & 127), u += ce[O] >> 12); } } else W = M, re = A, ie = N, ae = j; for (var O = 0; O < s; ++O) { var ue = r[O]; if (ue > 255) { var le = ue >> 18 & 31; L(t, u, W[le + 257]), u += re[le + 257], le > 7 && (I(t, u, ue >> 23 & 31), u += _[le]); var de = ue & 31; L(t, u, ie[de]), u += ae[de], de > 3 && (L(t, u, ue >> 5 & 8191), u += v[de]); } else L(t, u, W[ue]), u += re[ue]; } return L(t, u, W[256]), u + re[256]; }, ne = /* @__PURE__ */ new g([ 65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632 ]), H = /* @__PURE__ */ new m(0), U = function(e, t, n, r, i, a) { var o = a.z || e.length, s = new m(r + o + 5 * (1 + Math.ceil(o / 7e3)) + i), c = s.subarray(r, s.length - i), l = a.l, u = (a.r || 0) & 7; if (t) { u && (c[0] = a.r >> 3); for (var d = ne[t - 1], f = d >> 13, p = d & 8191, y = (1 << n) - 1, b = a.p || new h(32768), x = a.h || new h(y + 1), S = Math.ceil(n / 3), w = 2 * S, E = function(t) { return (e[t] ^ e[t + 1] << S ^ e[t + 2] << w) & y; }, D = new g(25e3), O = new h(288), k = new h(32), A = 0, j = 0, M = a.i || 0, N = 0, I = a.w || 0, L = 0; M + 2 < o; ++M) { var ee = E(M), R = M & 32767, z = x[ee]; if (b[R] = z, x[ee] = R, I <= M) { var B = o - M; if ((A > 7e3 || N > 24576) && (B > 423 || !l)) { u = V(e, c, 0, D, O, k, j, N, L, M - L, u), N = A = j = 0, L = M; for (var H = 0; H < 286; ++H) O[H] = 0; for (var H = 0; H < 30; ++H) k[H] = 0; } var U = 2, W = 0, re = p, ie = R - z & 32767; if (B > 2 && ee == E(M - ie)) for (var ae = Math.min(f, B) - 1, oe = Math.min(32767, M), G = Math.min(258, B); ie <= oe && --re && R != z;) { if (e[M + U] == e[M + U - ie]) { for (var se = 0; se < G && e[M + se] == e[M + se - ie]; ++se); if (se > U) { if (U = se, W = ie, se > ae) break; for (var ce = Math.min(ie, se - 2), le = 0, H = 0; H < ce; ++H) { var ue = M - ie + H & 32767, de = ue - b[ue] & 32767; de > le && (le = de, z = ue); } } } R = z, z = b[R], ie += R - z & 32767; } if (W) { D[N++] = 268435456 | C[U] << 18 | T[W]; var fe = C[U] & 31, pe = T[W] & 31; j += _[fe] + v[pe], ++O[257 + fe], ++k[pe], I = M + U, ++A; } else D[N++] = e[M], ++O[e[M]]; } } for (M = Math.max(M, I); M < o; ++M) D[N++] = e[M], ++O[e[M]]; u = V(e, c, l, D, O, k, j, N, L, M - L, u), l || (a.r = u & 7 | c[u / 8 | 0] << 3, u -= 7, a.h = x, a.p = b, a.i = M, a.w = I); } else { for (var M = a.w || 0; M < o + l; M += 65535) { var me = M + 65535; me >= o && (c[u / 8 | 0] = l, me = o), u = te(c, u + 1, e.subarray(M, me)); } a.i = o; } return F(s, 0, r + P(u) + i); }, W = function() { var e = 1, t = 0; return { p: function(n) { for (var r = e, i = t, a = n.length | 0, o = 0; o != a;) { for (var s = Math.min(o + 2655, a); o < s; ++o) i += r += n[o]; r = (r & 65535) + 15 * (r >> 16), i = (i & 65535) + 15 * (i >> 16); } e = r, t = i; }, d: function() { return e %= 65521, t %= 65521, (e & 255) << 24 | (e & 65280) << 8 | (t & 255) << 8 | t >> 8; } }; }, re = function(e, t, n, r, i) { if (!i && (i = { l: 1 }, t.dictionary)) { var a = t.dictionary.subarray(-32768), o = new m(a.length + e.length); o.set(a), o.set(e, a.length), e = o, i.w = a.length; } return U(e, t.level == null ? 6 : t.level, t.mem == null ? i.l ? Math.ceil(Math.max(8, Math.min(13, Math.log(e.length))) * 1.5) : 20 : 12 + t.mem, n, r, i); }, ie = function(e, t, n) { for (; n; ++t) e[t] = n, n >>>= 8; }, ae = function(e, t) { var n = t.level, r = n == 0 ? 0 : n < 6 ? 1 : n == 9 ? 3 : 2; if (e[0] = 120, e[1] = r << 6 | (t.dictionary && 32), e[1] |= 31 - (e[0] << 8 | e[1]) % 31, t.dictionary) { var i = W(); i.p(t.dictionary), ie(e, 2, i.d()); } }; function oe(e, t) { t ||= {}; var n = W(); n.p(e); var r = re(e, t, t.dictionary ? 6 : 2, 4); return ae(r, t), ie(r, r.length - 4, n.d()), r; } var G = typeof TextDecoder < "u" && /* @__PURE__ */ new TextDecoder(); try { G.decode(H, { stream: !0 }); } catch {} //#endregion //#region ../../node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js function se(e) { if (Array.isArray(e)) return e; } //#endregion //#region ../../node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js function ce(e, t) { var n = e == null ? null : typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"]; if (n != null) { var r, i, a, o, s = [], c = !0, l = !1; try { if (a = (n = n.call(e)).next, t === 0) { if (Object(n) !== n) return; c = !1; } else for (; !(c = (r = a.call(n)).done) && (s.push(r.value), s.length !== t); c = !0); } catch (e) { l = !0, i = e; } finally { try { if (!c && n.return != null && (o = n.return(), Object(o) !== o)) return; } finally { if (l) throw i; } } return s; } } //#endregion //#region ../../node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js function le(e, t) { (t == null || t > e.length) && (t = e.length); for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n]; return r; } //#endregion //#region ../../node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js function ue(e, t) { if (e) { if (typeof e == "string") return le(e, t); var n = {}.toString.call(e).slice(8, -1); return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? le(e, t) : void 0; } } //#endregion //#region ../../node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js function de() { throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } //#endregion //#region ../../node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/slicedToArray.js function fe(e, t) { return se(e) || ce(e, t) || ue(e, t) || de(); } //#endregion //#region ../../node_modules/.pnpm/iobuffer@5.4.0/node_modules/iobuffer/lib-esm/text.js function pe(e, t = "utf8") { return new TextDecoder(t).decode(e); } var me = new TextEncoder(); function he(e) { return me.encode(e); } //#endregion //#region ../../node_modules/.pnpm/iobuffer@5.4.0/node_modules/iobuffer/lib-esm/IOBuffer.js var ge = 1024 * 8, _e = (() => { let e = new Uint8Array(4), t = new Uint32Array(e.buffer); return !((t[0] = 1) & e[0]); })(), ve = { int8: globalThis.Int8Array, uint8: globalThis.Uint8Array, int16: globalThis.Int16Array, uint16: globalThis.Uint16Array, int32: globalThis.Int32Array, uint32: globalThis.Uint32Array, uint64: globalThis.BigUint64Array, int64: globalThis.BigInt64Array, float32: globalThis.Float32Array, float64: globalThis.Float64Array }, ye = class e { buffer; byteLength; byteOffset; length; offset; lastWrittenByte; littleEndian; _data; _mark; _marks; constructor(t = ge, n = {}) { let r = !1; typeof t == "number" ? t = new ArrayBuffer(t) : (r = !0, this.lastWrittenByte = t.byteLength); let i = n.offset ? n.offset >>> 0 : 0, a = t.byteLength - i, o = i; (ArrayBuffer.isView(t) || t instanceof e) && (t.byteLength !== t.buffer.byteLength && (o = t.byteOffset + i), t = t.buffer), r ? this.lastWrittenByte = a : this.lastWrittenByte = 0, this.buffer = t, this.length = a, this.byteLength = a, this.byteOffset = o, this.offset = 0, this.littleEndian = !0, this._data = new DataView(this.buffer, o, a), this._mark = 0, this._marks = []; } available(e = 1) { return this.offset + e <= this.length; } isLittleEndian() { return this.littleEndian; } setLittleEndian() { return this.littleEndian = !0, this; } isBigEndian() { return !this.littleEndian; } setBigEndian() { return this.littleEndian = !1, this; } skip(e = 1) { return this.offset += e, this; } back(e = 1) { return this.offset -= e, this; } seek(e) { return this.offset = e, this; } mark() { return this._mark = this.offset, this; } reset() { return this.offset = this._mark, this; } pushMark() { return this._marks.push(this.offset), this; } popMark() { let e = this._marks.pop(); if (e === void 0) throw Error("Mark stack empty"); return this.seek(e), this; } rewind() { return this.offset = 0, this; } ensureAvailable(e = 1) { if (!this.available(e)) { let t = (this.offset + e) * 2, n = new Uint8Array(t); n.set(new Uint8Array(this.buffer)), this.buffer = n.buffer, this.length = t, this.byteLength = t, this._data = new DataView(this.buffer); } return this; } readBoolean() { return this.readUint8() !== 0; } readInt8() { return this._data.getInt8(this.offset++); } readUint8() { return this._data.getUint8(this.offset++); } readByte() { return this.readUint8(); } readBytes(e = 1) { return this.readArray(e, "uint8"); } readArray(e, t) { let n = ve[t].BYTES_PER_ELEMENT * e, r = this.byteOffset + this.offset, i = this.buffer.slice(r, r + n); if (this.littleEndian === _e && t !== "uint8" && t !== "int8") { let e = new Uint8Array(this.buffer.slice(r, r + n)); e.reverse(); let i = new ve[t](e.buffer); return this.offset += n, i.reverse(), i; } let a = new ve[t](i); return this.offset += n, a; } readInt16() { let e = this._data.getInt16(this.offset, this.littleEndian); return this.offset += 2, e; } readUint16() { let e = this._data.getUint16(this.offset, this.littleEndian); return this.offset += 2, e; } readInt32() { let e = this._data.getInt32(this.offset, this.littleEndian); return this.offset += 4, e; } readUint32() { let e = this._data.getUint32(this.offset, this.littleEndian); return this.offset += 4, e; } readFloat32() { let e = this._data.getFloat32(this.offset, this.littleEndian); return this.offset += 4, e; } readFloat64() { let e = this._data.getFloat64(this.offset, this.littleEndian); return this.offset += 8, e; } readBigInt64() { let e = this._data.getBigInt64(this.offset, this.littleEndian); return this.offset += 8, e; } readBigUint64() { let e = this._data.getBigUint64(this.offset, this.littleEndian); return this.offset += 8, e; } readChar() { return String.fromCharCode(this.readInt8()); } readChars(e = 1) { let t = ""; for (let n = 0; n < e; n++) t += this.readChar(); return t; } readUtf8(e = 1) { return pe(this.readBytes(e)); } decodeText(e = 1, t = "utf8") { return pe(this.readBytes(e), t); } writeBoolean(e) { return this.writeUint8(e ? 255 : 0), this; } writeInt8(e) { return this.ensureAvailable(1), this._data.setInt8(this.offset++, e), this._updateLastWrittenByte(), this; } writeUint8(e) { return this.ensureAvailable(1), this._data.setUint8(this.offset++, e), this._updateLastWrittenByte(), this; } writeByte(e) { return this.writeUint8(e); } writeBytes(e) { this.ensureAvailable(e.length); for (let t = 0; t < e.length; t++) this._data.setUint8(this.offset++, e[t]); return this._updateLastWrittenByte(), this; } writeInt16(e) { return this.ensureAvailable(2), this._data.setInt16(this.offset, e, this.littleEndian), this.offset += 2, this._updateLastWrittenByte(), this; } writeUint16(e) { return this.ensureAvailable(2), this._data.setUint16(this.offset, e, this.littleEndian), this.offset += 2, this._updateLastWrittenByte(), this; } writeInt32(e) { return this.ensureAvailable(4), this._data.setInt32(this.offset, e, this.littleEndian), this.offset += 4, this._updateLastWrittenByte(), this; } writeUint32(e) { return this.ensureAvailable(4), this._data.setUint32(this.offset, e, this.littleEndian), this.offset += 4, this._updateLastWrittenByte(), this; } writeFloat32(e) { return this.ensureAvailable(4), this._data.setFloat32(this.offset, e, this.littleEndian), this.offset += 4, this._updateLastWrittenByte(), this; } writeFloat64(e) { return this.ensureAvailable(8), this._data.setFloat64(this.offset, e, this.littleEndian), this.offset += 8, this._updateLastWrittenByte(), this; } writeBigInt64(e) { return this.ensureAvailable(8), this._data.setBigInt64(this.offset, e, this.littleEndian), this.offset += 8, this._updateLastWrittenByte(), this; } writeBigUint64(e) { return this.ensureAvailable(8), this._data.setBigUint64(this.offset, e, this.littleEndian), this.offset += 8, this._updateLastWrittenByte(), this; } writeChar(e) { return this.writeUint8(e.charCodeAt(0)); } writeChars(e) { for (let t = 0; t < e.length; t++) this.writeUint8(e.charCodeAt(t)); return this; } writeUtf8(e) { return this.writeBytes(he(e)); } toArray() { return new Uint8Array(this.buffer, this.byteOffset, this.lastWrittenByte); } getWrittenByteLength() { return this.lastWrittenByte - this.byteOffset; } _updateLastWrittenByte() { this.offset > this.lastWrittenByte && (this.lastWrittenByte = this.offset); } }, be = 4, xe = 0, Se = 1, Ce = 2; function we(e) { let t = e.length; for (; --t >= 0;) e[t] = 0; } var Te = 0, Ee = 1, De = 2, Oe = 3, ke = 258, Ae = 29, je = 256, Me = je + 1 + Ae, Ne = 30, K = 19, Pe = 2 * Me + 1, Fe = 15, Ie = 16, Le = 7, Re = 256, q = 16, ze = 17, Be = 18, Ve = new Uint8Array([ 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0 ]), He = new Uint8Array([ 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13 ]), Ue = new Uint8Array([ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7 ]), We = new Uint8Array([ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ]), Ge = 512, Ke = Array((Me + 2) * 2); we(Ke); var qe = Array(Ne * 2); we(qe); var Je = Array(Ge); we(Je); var Ye = Array(ke - Oe + 1); we(Ye); var Xe = Array(Ae); we(Xe); var Ze = Array(Ne); we(Ze); function Qe(e, t, n, r, i) { this.static_tree = e, this.extra_bits = t, this.extra_base = n, this.elems = r, this.max_length = i, this.has_stree = e && e.length; } var $e, et, tt; function nt(e, t) { this.dyn_tree = e, this.max_code = 0, this.stat_desc = t; } var rt = (e) => e < 256 ? Je[e] : Je[256 + (e >>> 7)], it = (e, t) => { e.pending_buf[e.pending++] = t & 255, e.pending_buf[e.pending++] = t >>> 8 & 255; }, at = (e, t, n) => { e.bi_valid > Ie - n ? (e.bi_buf |= t << e.bi_valid & 65535, it(e, e.bi_buf), e.bi_buf = t >> Ie - e.bi_valid, e.bi_valid += n - Ie) : (e.bi_buf |= t << e.bi_valid & 65535, e.bi_valid += n); }, ot = (e, t, n) => { at(e, n[t * 2], n[t * 2 + 1]); }, st = (e, t) => { let n = 0; do n |= e & 1, e >>>= 1, n <<= 1; while (--t > 0); return n >>> 1; }, ct = (e) => { e.bi_valid === 16 ? (it(e, e.bi_buf), e.bi_buf = 0, e.bi_valid = 0) : e.bi_valid >= 8 && (e.pending_buf[e.pending++] = e.bi_buf & 255, e.bi_buf >>= 8, e.bi_valid -= 8); }, lt = (e, t) => { let n = t.dyn_tree, r = t.max_code, i = t.stat_desc.static_tree, a = t.stat_desc.has_stree, o = t.stat_desc.extra_bits, s = t.stat_desc.extra_base, c = t.stat_desc.max_length, l, u, d, f, p, m, h = 0; for (f = 0; f <= Fe; f++) e.bl_count[f] = 0; for (n[e.heap[e.heap_max] * 2 + 1] = 0, l = e.heap_max + 1; l < Pe; l++) u = e.heap[l], f = n[n[u * 2 + 1] * 2 + 1] + 1, f > c && (f = c, h++), n[u * 2 + 1] = f, !(u > r) && (e.bl_count[f]++, p = 0, u >= s && (p = o[u - s]), m = n[u * 2], e.opt_len += m * (f + p), a && (e.static_len += m * (i[u * 2 + 1] + p))); if (h !== 0) { do { for (f = c - 1; e.bl_count[f] === 0;) f--; e.bl_count[f]--, e.bl_count[f + 1] += 2, e.bl_count[c]--, h -= 2; } while (h > 0); for (f = c; f !== 0; f--) for (u = e.bl_count[f]; u !== 0;) d = e.heap[--l], !(d > r) && (n[d * 2 + 1] !== f && (e.opt_len += (f - n[d * 2 + 1]) * n[d * 2], n[d * 2 + 1] = f), u--); } }, ut = (e, t, n) => { let r = Array(Fe + 1), i = 0, a, o; for (a = 1; a <= Fe; a++) i = i + n[a - 1] << 1, r[a] = i; for (o = 0; o <= t; o++) { let t = e[o * 2 + 1]; t !== 0 && (e[o * 2] = st(r[t]++, t)); } }, dt = () => { let e, t, n, r, i, a = Array(Fe + 1); for (n = 0, r = 0; r < Ae - 1; r++) for (Xe[r] = n, e = 0; e < 1 << Ve[r]; e++) Ye[n++] = r; for (Ye[n - 1] = r, i = 0, r = 0; r < 16; r++) for (Ze[r] = i, e = 0; e < 1 << He[r]; e++) Je[i++] = r; for (i >>= 7; r < Ne; r++) for (Ze[r] = i << 7, e = 0; e < 1 << He[r] - 7; e++) Je[256 + i++] = r; for (t = 0; t <= Fe; t++) a[t] = 0; for (e = 0; e <= 143;) Ke[e * 2 + 1] = 8, e++, a[8]++; for (; e <= 255;) Ke[e * 2 + 1] = 9, e++, a[9]++; for (; e <= 279;) Ke[e * 2 + 1] = 7, e++, a[7]++; for (; e <= 287;) Ke[e * 2 + 1] = 8, e++, a[8]++; for (ut(Ke, Me + 1, a), e = 0; e < Ne; e++) qe[e * 2 + 1] = 5, qe[e * 2] = st(e, 5); $e = new Qe(Ke, Ve, je + 1, Me, Fe), et = new Qe(qe, He, 0, Ne, Fe), tt = new Qe([], Ue, 0, K, Le); }, ft = (e) => { let t; for (t = 0; t < Me; t++) e.dyn_ltree[t * 2] = 0; for (t = 0; t < Ne; t++) e.dyn_dtree[t * 2] = 0; for (t = 0; t < K; t++) e.bl_tree[t * 2] = 0; e.dyn_ltree[Re * 2] = 1, e.opt_len = e.static_len = 0, e.sym_next = e.matches = 0; }, pt = (e) => { e.bi_valid > 8 ? it(e, e.bi_buf) : e.bi_valid > 0 && (e.pending_buf[e.pending++] = e.bi_buf), e.bi_buf = 0, e.bi_valid = 0; }, mt = (e, t, n, r) => { let i = t * 2, a = n * 2; return e[i] < e[a] || e[i] === e[a] && r[t] <= r[n]; }, ht = (e, t, n) => { let r = e.heap[n], i = n << 1; for (; i <= e.heap_len && (i < e.heap_len && mt(t, e.heap[i + 1], e.heap[i], e.depth) && i++, !mt(t, r, e.heap[i], e.depth));) e.heap[n] = e.heap[i], n = i, i <<= 1; e.heap[n] = r; }, gt = (e, t, n) => { let r, i, a = 0, o, s; if (e.sym_next !== 0) do r = e.pending_buf[e.sym_buf + a++] & 255, r += (e.pending_buf[e.sym_buf + a++] & 255) << 8, i = e.pending_buf[e.sym_buf + a++], r === 0 ? ot(e, i, t) : (o = Ye[i], ot(e, o + je + 1, t), s = Ve[o], s !== 0 && (i -= Xe[o], at(e, i, s)), r--, o = rt(r), ot(e, o, n), s = He[o], s !== 0 && (r -= Ze[o], at(e, r, s))); while (a < e.sym_next); ot(e, Re, t); }, _t = (e, t) => { let n = t.dyn_tree, r = t.stat_desc.static_tree, i = t.stat_desc.has_stree, a = t.stat_desc.elems, o, s, c = -1, l; for (e.heap_len = 0, e.heap_max = Pe, o = 0; o < a; o++) n[o * 2] === 0 ? n[o * 2 + 1] = 0 : (e.heap[++e.heap_len] = c = o, e.depth[o] = 0); for (; e.heap_len < 2;) l = e.heap[++e.heap_len] = c < 2 ? ++c : 0, n[l * 2] = 1, e.depth[l] = 0, e.opt_len--, i && (e.static_len -= r[l * 2 + 1]); for (t.max_code = c, o = e.heap_len >> 1; o >= 1; o--) ht(e, n, o); l = a; do o = e.heap[1], e.heap[1] = e.heap[e.heap_len--], ht(e, n, 1), s = e.heap[1], e.heap[--e.heap_max] = o, e.heap[--e.heap_max] = s, n[l * 2] = n[o * 2] + n[s * 2], e.depth[l] = (e.depth[o] >= e.depth[s] ? e.depth[o] : e.depth[s]) + 1, n[o * 2 + 1] = n[s * 2 + 1] = l, e.heap[1] = l++, ht(e, n, 1); while (e.heap_len >= 2); e.heap[--e.heap_max] = e.heap[1], lt(e, t), ut(n, c, e.bl_count); }, vt = (e, t, n) => { let r, i = -1, a, o = t[1], s = 0, c = 7, l = 4; for (o === 0 && (c = 138, l = 3), t[(n + 1) * 2 + 1] = 65535, r = 0; r <= n; r++) a = o, o = t[(r + 1) * 2 + 1], !(++s < c && a === o) && (s < l ? e.bl_tree[a * 2] += s : a === 0 ? s <= 10 ? e.bl_tree[ze * 2]++ : e.bl_tree[Be * 2]++ : (a !== i && e.bl_tree[a * 2]++, e.bl_tree[q * 2]++), s = 0, i = a, o === 0 ? (c = 138, l = 3) : a === o ? (c = 6, l = 3) : (c = 7, l = 4)); }, yt = (e, t, n) => { let r, i = -1, a, o = t[1], s = 0, c = 7, l = 4; for (o === 0 && (c = 138, l = 3), r = 0; r <= n; r++) if (a = o, o = t[(r + 1) * 2 + 1], !(++s < c && a === o)) { if (s < l) do ot(e, a, e.bl_tree); while (--s !== 0); else a === 0 ? s <= 10 ? (ot(e, ze, e.bl_tree), at(e, s - 3, 3)) : (ot(e, Be, e.bl_tree), at(e, s - 11, 7)) : (a !== i && (ot(e, a, e.bl_tree), s--), ot(e, q, e.bl_tree), at(e, s - 3, 2)); s = 0, i = a, o === 0 ? (c = 138, l = 3) : a === o ? (c = 6, l = 3) : (c = 7, l = 4); } }, bt = (e) => { let t; for (vt(e, e.dyn_ltree, e.l_desc.max_code), vt(e, e.dyn_dtree, e.d_desc.max_code), _t(e, e.bl_desc), t = K - 1; t >= 3 && e.bl_tree[We[t] * 2 + 1] === 0; t--); return e.opt_len += 3 * (t + 1) + 5 + 5 + 4, t; }, xt = (e, t, n, r) => { let i; for (at(e, t - 257, 5), at(e, n - 1, 5), at(e, r - 4, 4), i = 0; i < r; i++) at(e, e.bl_tree[We[i] * 2 + 1], 3); yt(e, e.dyn_ltree, t - 1), yt(e, e.dyn_dtree, n - 1); }, St = (e) => { let t = 4093624447, n; for (n = 0; n <= 31; n++, t >>>= 1) if (t & 1 && e.dyn_ltree[n * 2] !== 0) return xe; if (e.dyn_ltree[18] !== 0 || e.dyn_ltree[20] !== 0 || e.dyn_ltree[26] !== 0) return Se; for (n = 32; n < je; n++) if (e.dyn_ltree[n * 2] !== 0) return Se; return xe; }, Ct = !1, wt = (e) => { Ct ||= (dt(), !0), e.l_desc = new nt(e.dyn_ltree, $e), e.d_desc = new nt(e.dyn_dtree, et), e.bl_desc = new nt(e.bl_tree, tt), e.bi_buf = 0, e.bi_valid = 0, ft(e); }, Tt = (e, t, n, r) => { at(e, (Te << 1) + (r ? 1 : 0), 3), pt(e), it(e, n), it(e, ~n), n && e.pending_buf.set(e.window.subarray(t, t + n), e.pending), e.pending += n; }, J = { _tr_init: wt, _tr_stored_block: Tt, _tr_flush_block: (e, t, n, r) => { let i, a, o = 0; e.level > 0 ? (e.strm.data_type === Ce && (e.strm.data_type = St(e)), _t(e, e.l_desc), _t(e, e.d_desc), o = bt(e), i = e.opt_len + 3 + 7 >>> 3, a = e.static_len + 3 + 7 >>> 3, a <= i && (i = a)) : i = a = n + 5, n + 4 <= i && t !== -1 ? Tt(e, t, n, r) : e.strategy === be || a === i ? (at(e, (Ee << 1) + (r ? 1 : 0), 3), gt(e, Ke, qe)) : (at(e, (De << 1) + (r ? 1 : 0), 3), xt(e, e.l_desc.max_code + 1, e.d_desc.max_code + 1, o + 1), gt(e, e.dyn_ltree, e.dyn_dtree)), ft(e), r && pt(e); }, _tr_tally: (e, t, n) => (e.pending_buf[e.sym_buf + e.sym_next++] = t, e.pending_buf[e.sym_buf + e.sym_next++] = t >> 8, e.pending_buf[e.sym_buf + e.sym_next++] = n, t === 0 ? e.dyn_ltree[n * 2]++ : (e.matches++, t--, e.dyn_ltree[(Ye[n] + je + 1) * 2]++, e.dyn_dtree[rt(t) * 2]++), e.sym_next === e.sym_end), _tr_align: (e) => { at(e, Ee << 1, 3), ot(e, Re, Ke), ct(e); } }, Et = (e, t, n, r) => { let i = e & 65535 | 0, a = e >>> 16 & 65535 | 0, o = 0; for (; n !== 0;) { o = n > 2e3 ? 2e3 : n, n -= o; do i = i + t[r++] | 0, a = a + i | 0; while (--o); i %= 65521, a %= 65521; } return i | a << 16 | 0; }, Dt = new Uint32Array((() => { let e, t = []; for (var n = 0; n < 256; n++) { e = n; for (var r = 0; r < 8; r++) e = e & 1 ? 3988292384 ^ e >>> 1 : e >>> 1; t[n] = e; } return t; })()), Ot = (e, t, n, r) => { let i = Dt, a = r + n; e ^= -1; for (let n = r; n < a; n++) e = e >>> 8 ^ i[(e ^ t[n]) & 255]; return e ^ -1; }, kt = { 2: "need dictionary", 1: "stream end", 0: "", "-1": "file error", "-2": "stream error", "-3": "data error", "-4": "insufficient memory", "-5": "buffer error", "-6": "incompatible version" }, At = { Z_NO_FLUSH: 0, Z_PARTIAL_FLUSH: 1, Z_SYNC_FLUSH: 2, Z_FULL_FLUSH: 3, Z_FINISH: 4, Z_BLOCK: 5, Z_TREES: 6, Z_OK: 0, Z_STREAM_END: 1, Z_NEED_DICT: 2, Z_ERRNO: -1, Z_STREAM_ERROR: -2, Z_DATA_ERROR: -3, Z_MEM_ERROR: -4, Z_BUF_ERROR: -5, Z_NO_COMPRESSION: 0, Z_BEST_SPEED: 1, Z_BEST_COMPRESSION: 9, Z_DEFAULT_COMPRESSION: -1, Z_FILTERED: 1, Z_HUFFMAN_ONLY: 2, Z_RLE: 3, Z_FIXED: 4, Z_DEFAULT_STRATEGY: 0, Z_BINARY: 0, Z_TEXT: 1, Z_UNKNOWN: 2, Z_DEFLATED: 8 }, { _tr_init: jt, _tr_stored_block: Mt, _tr_flush_block: Nt, _tr_tally: Pt, _tr_align: Ft } = J, { Z_NO_FLUSH: It, Z_PARTIAL_FLUSH: Lt, Z_FULL_FLUSH: Rt, Z_FINISH: zt, Z_BLOCK: Bt, Z_OK: Vt, Z_STREAM_END: Ht, Z_STREAM_ERROR: Ut, Z_DATA_ERROR: Wt, Z_BUF_ERROR: Gt, Z_DEFAULT_COMPRESSION: Kt, Z_FILTERED: qt, Z_HUFFMAN_ONLY: Jt, Z_RLE: Yt, Z_FIXED: Xt, Z_DEFAULT_STRATEGY: Zt, Z_UNKNOWN: Qt, Z_DEFLATED: $t } = At, en = 9, tn = 15, nn = 8, rn = 286, an = 30, on = 19, sn = 2 * rn + 1, cn = 15, Y = 3, ln = 258, un = ln + Y + 1, dn = 32, fn = 42, pn = 57, mn = 69, hn = 73, gn = 91, _n = 103, vn = 113, yn = 666, bn = 1, xn = 2, Sn = 3, Cn = 4, wn = 3, Tn = (e, t) => (e.msg = kt[t], t), En = (e) => e * 2 - (e > 4 ? 9 : 0), Dn = (e) => { let t = e.length; for (; --t >= 0;) e[t] = 0; }, On = (e) => { let t, n, r, i = e.w_size; t = e.hash_size, r = t; do n = e.head[--r], e.head[r] = n >= i ? n - i : 0; while (--t); t = i, r = t; do n = e.prev[--r], e.prev[r] = n >= i ? n - i : 0; while (--t); }, kn = (e, t, n) => (t << e.hash_shift ^ n) & e.hash_mask, An = (e) => { let t = e.state, n = t.pending; n > e.avail_out && (n = e.avail_out), n !== 0 && (e.output.set(t.pending_buf.subarray(t.pending_out, t.pending_out + n), e.next_out), e.next_out += n, t.pending_out += n, e.total_out += n, e.avail_out -= n, t.pending -= n, t.pending === 0 && (t.pending_out = 0)); }, jn = (e, t) => { Nt(e, e.block_start >= 0 ? e.block_start : -1, e.strstart - e.block_start, t), e.block_start = e.strstart, An(e.strm); }, Mn = (e, t) => { e.pending_buf[e.pending++] = t; }, Nn = (e, t) => { e.pending_buf[e.pending++] = t >>> 8 & 255, e.pending_buf[e.pending++] = t & 255; }, Pn = (e, t, n, r) => { let i = e.avail_in; return i > r && (i = r), i === 0 ? 0 : (e.avail_in -= i, t.set(e.input.subarray(e.next_in, e.next_in + i), n), e.state.wrap === 1 ? e.adler = Et(e.adler, t, i, n) : e.state.wrap === 2 && (e.adler = Ot(e.adler, t, i, n)), e.next_in += i, e.total_in += i, i); }, Fn = (e, t) => { let n = e.max_chain_length, r = e.strstart, i, a, o = e.prev_length, s = e.nice_match, c = e.strstart > e.w_size - un ? e.strstart - (e.w_size - un) : 0, l = e.window, u = e.w_mask, d = e.prev, f = e.strstart + ln, p = l[r + o - 1], m = l[r + o]; e.prev_length >= e.good_match && (n >>= 2), s > e.lookahead && (s = e.lookahead); do { if (i = t, l[i + o] !== m || l[i + o - 1] !== p || l[i] !== l[r] || l[++i] !== l[r + 1]) continue; r += 2, i++; do ; while (l[++r] === l[++i] && l[++r] === l[++i] && l[++r] === l[++i] && l[++r] === l[++i] && l[++r] === l[++i] && l[++r] === l[++i] && l[++r] === l[++i] && l[++r] === l[++i] && r < f); if (a = ln - (f - r), r = f - ln, a > o) { if (e.match_start = t, o = a, a >= s) break; p = l[r + o - 1], m = l[r + o]; } } while ((t = d[t & u]) > c && --n !== 0); return o <= e.lookahead ? o : e.lookahead; }, In = (e) => { let t = e.w_size, n, r, i; do { if (r = e.window_size - e.lookahead - e.strstart, e.strstart >= t + (t - un) && (e.window.set(e.window.subarray(t, t + t - r), 0), e.match_start -= t, e.strstart -= t, e.block_start -= t, e.insert > e.strstart && (e.insert = e.strstart), On(e), r += t), e.strm.avail_in === 0) break; if (n = Pn(e.strm, e.window, e.strstart + e.lookahead, r), e.lookahead += n, e.lookahead + e.insert >= Y) for (i = e.strstart - e.insert, e.ins_h = e.window[i], e.ins_h = kn(e, e.ins_h, e.window[i + 1]); e.insert && (e.ins_h = kn(e, e.ins_h, e.window[i + Y - 1]), e.prev[i & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = i, i++, e.insert--, !(e.lookahead + e.insert < Y));); } while (e.lookahead < un && e.strm.avail_in !== 0); }, Ln = (e, t) => { let n = e.pending_buf_size - 5 > e.w_size ? e.w_size : e.pending_buf_size - 5, r, i, a, o = 0, s = e.strm.avail_in; do { if (r = 65535, a = e.bi_valid + 42 >> 3, e.strm.avail_out < a || (a = e.strm.avail_out - a, i = e.strstart - e.block_start, r > i + e.strm.avail_in && (r = i + e.strm.avail_in), r > a && (r = a), r < n && (r === 0 && t !== zt || t === It || r !== i + e.strm.avail_in))) break; o = t === zt && r === i + e.strm.avail_in ? 1 : 0, Mt(e, 0, 0, o), e.pending_buf[e.pending - 4] = r, e.pending_buf[e.pending - 3] = r >> 8, e.pending_buf[e.pending - 2] = ~r, e.pending_buf[e.pending - 1] = ~r >> 8, An(e.strm), i && (i > r && (i = r), e.strm.output.set(e.window.subarray(e.block_start, e.block_start + i), e.strm.next_out), e.strm.next_out += i, e.strm.avail_out -= i, e.strm.total_out += i, e.block_start += i, r -= i), r && (Pn(e.strm, e.strm.output, e.strm.next_out, r), e.strm.next_out += r, e.strm.avail_out -= r, e.strm.total_out += r); } while (o === 0); return s -= e.strm.avail_in, s && (s >= e.w_size ? (e.matches = 2, e.window.set(e.strm.input.subarray(e.strm.next_in - e.w_size, e.strm.next_in), 0), e.strstart = e.w_size, e.insert = e.strstart) : (e.window_size - e.strstart <= s && (e.strstart -= e.w_size, e.window.set(e.window.subarray(e.w_size, e.w_size + e.strstart), 0), e.matches < 2 && e.matches++, e.insert > e.strstart && (e.insert = e.strstart)), e.window.set(e.strm.input.subarray(e.strm.next_in - s, e.strm.next_in), e.strstart), e.strstart += s, e.insert += s > e.w_size - e.insert ? e.w_size - e.insert : s), e.block_start = e.strstart), e.high_water < e.strstart && (e.high_water = e.strstart), o ? Cn : t !== It && t !== zt && e.strm.avail_in === 0 && e.strstart === e.block_start ? xn : (a = e.window_size - e.strstart, e.strm.avail_in > a && e.block_start >= e.w_size && (e.block_start -= e.w_size, e.strstart -= e.w_size, e.window.set(e.window.subarray(e.w_size, e.w_size + e.strstart), 0), e.matches < 2 && e.matches++, a += e.w_size, e.insert > e.strstart && (e.insert = e.strstart)), a > e.strm.avail_in && (a = e.strm.avail_in), a && (Pn(e.strm, e.window, e.strstart, a), e.strstart += a, e.insert += a > e.w_size - e.insert ? e.w_size - e.insert : a), e.high_water < e.strstart && (e.high_water = e.strstart), a = e.bi_valid + 42 >> 3, a = e.pending_buf_size - a > 65535 ? 65535 : e.pending_buf_size - a, n = a > e.w_size ? e.w_size : a, i = e.strstart - e.block_start, (i >= n || (i || t === zt) && t !== It && e.strm.avail_in === 0 && i <= a) && (r = i > a ? a : i, o = t === zt && e.strm.avail_in === 0 && r === i ? 1 : 0, Mt(e, e.block_start, r, o), e.block_start += r, An(e.strm)), o ? Sn : bn); }, Rn = (e, t) => { let n, r; for (;;) { if (e.lookahead < un) { if (In(e), e.lookahead < un && t === It) return bn; if (e.lookahead === 0) break; } if (n = 0, e.lookahead >= Y && (e.ins_h = kn(e, e.ins_h, e.window[e.strstart + Y - 1]), n = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart), n !== 0 && e.strstart - n <= e.w_size - un && (e.match_length = Fn(e, n)), e.match_length >= Y) if (r = Pt(e, e.strstart - e.match_start, e.match_length - Y), e.lookahead -= e.match_length, e.match_length <= e.max_lazy_match && e.lookahead >= Y) { e.match_length--; do e.strstart++, e.ins_h = kn(e, e.ins_h, e.window[e.strstart + Y - 1]), n = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart; while (--e.match_length !== 0); e.strstart++; } else e.strstart += e.match_length, e.match_length = 0, e.ins_h = e.window[e.strstart], e.ins_h = kn(e, e.ins_h, e.window[e.strstart + 1]); else r = Pt(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++; if (r && (jn(e, !1), e.strm.avail_out === 0)) return bn; } return e.insert = e.strstart < Y - 1 ? e.strstart : Y - 1, t === zt ? (jn(e, !0), e.strm.avail_out === 0 ? Sn : Cn) : e.sym_next && (jn(e, !1), e.strm.avail_out === 0) ? bn : xn; }, zn = (e, t) => { let n, r, i; for (;;) { if (e.lookahead < un) { if (In(e), e.lookahead < un && t === It) return bn; if (e.lookahead === 0) break; } if (n = 0, e.lookahead >= Y && (e.ins_h = kn(e, e.ins_h, e.window[e.strstart + Y - 1]), n = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart), e.prev_length = e.match_length, e.prev_match = e.match_start, e.match_length = Y - 1, n !== 0 && e.prev_length < e.max_lazy_match && e.strstart - n <= e.w_size - un && (e.match_length = Fn(e, n), e.match_length <= 5 && (e.strategy === qt || e.match_length === Y && e.strstart - e.match_start > 4096) && (e.match_length = Y - 1)), e.prev_length >= Y && e.match_length <= e.prev_length) { i = e.strstart + e.lookahead - Y, r = Pt(e, e.strstart - 1 - e.prev_match, e.prev_length - Y), e.lookahead -= e.prev_length - 1, e.prev_length -= 2; do ++e.strstart <= i && (e.ins_h = kn(e, e.ins_h, e.window[e.strstart + Y - 1]), n = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart); while (--e.prev_length !== 0); if (e.match_available = 0, e.match_length = Y - 1, e.strstart++, r && (jn(e, !1), e.strm.avail_out === 0)) return bn; } else if (e.match_available) { if (r = Pt(e, 0, e.window[e.strstart - 1]), r && jn(e, !1), e.strstart++, e.lookahead--, e.strm.avail_out === 0) return bn; } else e.match_available = 1, e.strstart++, e.lookahead--; } return e.match_available &&= (r = Pt(e, 0, e.window[e.strstart - 1]), 0), e.insert = e.strstart < Y - 1 ? e.strstart : Y - 1, t === zt ? (jn(e, !0), e.strm.avail_out === 0 ? Sn : Cn) : e.sym_next && (jn(e, !1), e.strm.avail_out === 0) ? bn : xn; }, Bn = (e, t) => { let n, r, i, a, o = e.window; for (;;) { if (e.lookahead <= ln) { if (In(e), e.lookahead <= ln && t === It) return bn; if (e.lookahead === 0) break; } if (e.match_length = 0, e.lookahead >= Y && e.strstart > 0 && (i = e.strstart - 1, r = o[i], r === o[++i] && r === o[++i] && r === o[++i])) { a = e.strstart + ln; do ; while (r === o[++i] && r === o[++i] && r === o[++i] && r === o[++i] && r === o[++i] && r === o[++i] && r === o[++i] && r === o[++i] && i < a); e.match_length = ln - (a - i), e.match_length > e.lookahead && (e.match_length = e.lookahead); } if (e.match_length >= Y ? (n = Pt(e, 1, e.match_length - Y), e.lookahead -= e.match_length, e.strstart += e.match_length, e.match_length = 0) : (n = Pt(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++), n && (jn(e, !1), e.strm.avail_out === 0)) return bn; } return e.insert = 0, t === zt ? (jn(e, !0), e.strm.avail_out === 0 ? Sn : Cn) : e.sym_next && (jn(e, !1), e.strm.avail_out === 0) ? bn : xn; }, Vn = (e, t) => { let n; for (;;) { if (e.lookahead === 0 && (In(e), e.lookahead === 0)) { if (t === It) return bn; break; } if (e.match_length = 0, n = Pt(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++, n && (jn(e, !1), e.strm.avail_out === 0)) return bn; } return e.insert = 0, t === zt ? (jn(e, !0), e.strm.avail_out === 0 ? Sn : Cn) : e.sym_next && (jn(e, !1), e.strm.avail_out === 0) ? bn : xn; }; function Hn(e, t, n, r, i) { this.good_length = e, this.max_lazy = t, this.nice_length = n, this.max_chain = r, this.func = i; } var Un = [ new Hn(0, 0, 0, 0, Ln), new Hn(4, 4, 8, 4, Rn), new Hn(4, 5, 16, 8, Rn), new Hn(4, 6, 32, 32, Rn), new Hn(4, 4, 16, 16, zn), new Hn(8, 16, 32, 32, zn), new Hn(8, 16, 128, 128, zn), new Hn(8, 32, 128, 256, zn), new Hn(32, 128, 258, 1024, zn), new Hn(32, 258, 258, 4096, zn) ], Wn = (e) => { e.window_size = 2 * e.w_size, Dn(e.head), e.max_lazy_match = Un[e.level].max_lazy, e.good_match = Un[e.level].good_length, e.nice_match = Un[e.level].nice_length, e.max_chain_length = Un[e.level].max_chain, e.strstart = 0, e.block_start = 0, e.lookahead = 0, e.insert = 0, e.match_length = e.prev_length = Y - 1, e.match_available = 0, e.ins_h = 0; }; function Gn() { this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, this.method = $t, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new Uint16Array(sn * 2), this.dyn_dtree = new Uint16Array((2 * an + 1) * 2), this.bl_tree = new Uint16Array((2 * on + 1) * 2), Dn(this.dyn_ltree), Dn(this.dyn_dtree), Dn(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new Uint16Array(cn + 1), this.heap = new Uint16Array(2 * rn + 1), Dn(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new Uint16Array(2 * rn + 1), Dn(this.depth), this.sym_buf = 0, this.lit_bufsize = 0, this.sym_next = 0, this.sym_end = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0; } var Kn = (e) => { if (!e) return 1; let t = e.state; return !t || t.strm !== e || t.status !== fn && t.status !== pn && t.status !== mn && t.status !== hn && t.status !== gn && t.status !== _n && t.status !== vn && t.status !== yn ? 1 : 0; }, qn = (e) => { if (Kn(e)) return Tn(e, Ut); e.total_in = e.total_out = 0, e.data_type = Qt; let t = e.state; return t.pending = 0, t.pending_out = 0, t.wrap < 0 && (t.wrap = -t.wrap), t.status = t.wrap === 2 ? pn : t.wrap ? fn : vn, e.adler = t.wrap === 2 ? 0 : 1, t.last_flush = -2, jt(t), Vt; }, Jn = (e) => { let t = qn(e); return t === Vt && Wn(e.state), t; }, Yn = (e, t) => Kn(e) || e.state.wrap !== 2 ? Ut : (e.state.gzhead = t, Vt), Xn = (e, t, n, r, i, a) => { if (!e) return Ut; let o = 1; if (t === Kt && (t = 6), r < 0 ? (o = 0, r = -r) : r > 15 && (o = 2, r -= 16), i < 1 || i > en || n !== $t || r < 8 || r > 15 || t < 0 || t > 9