@evitcastudio/kit 3.3.1 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +209 -127
- package/lib/bundle/cli/cli.js +1101 -984
- package/lib/bundle/cli/kit-game-templates/multi/dist/src/client/index.js +286 -0
- package/lib/bundle/cli/kit-game-templates/multi/src/client/index.ts +1 -1
- package/lib/cli/app-bundler.d.ts.map +1 -1
- package/lib/cli/app-bundler.js +60 -8
- package/lib/cli/create.d.ts.map +1 -1
- package/lib/cli/create.js +7 -6
- package/lib/cli/doctor.d.ts.map +1 -1
- package/lib/cli/doctor.js +57 -30
- package/lib/cli/host.d.ts.map +1 -1
- package/lib/cli/host.js +19 -12
- package/lib/cli/init.d.ts.map +1 -1
- package/lib/cli/init.js +20 -17
- package/lib/cli/resource-builder.d.ts.map +1 -1
- package/lib/cli/resource-builder.js +11 -8
- package/lib/cli/theme.d.ts +36 -0
- package/lib/cli/theme.d.ts.map +1 -0
- package/lib/cli/theme.js +41 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/plugins/camera/index.d.ts +3 -0
- package/lib/plugins/camera/index.d.ts.map +1 -0
- package/lib/plugins/camera/index.js +2 -0
- package/package.json +6 -1
package/lib/bundle/cli/cli.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
// @bun
|
|
3
3
|
|
|
4
4
|
/*!
|
|
5
|
-
* @evitcastudio/kit@3.
|
|
6
|
-
* Compiled
|
|
5
|
+
* @evitcastudio/kit@3.4.0 git+https://github.com/EvitcaStudio/Kit.git
|
|
6
|
+
* Compiled Fri, 11 Sep 2026 03:52:37 UTC
|
|
7
7
|
* Copyright (c) 2026 Jared Bates, Evitca Studio, "doubleactii"
|
|
8
8
|
*
|
|
9
9
|
* @evitcastudio/kit is licensed under the MIT License.
|
|
@@ -1943,497 +1943,7 @@ var {
|
|
|
1943
1943
|
|
|
1944
1944
|
// src/cli/resource-builder.ts
|
|
1945
1945
|
import { promises as fs2, existsSync as existsSync2 } from "fs";
|
|
1946
|
-
import { join as join4, extname as extname3, basename as basename3, resolve as
|
|
1947
|
-
|
|
1948
|
-
// node_modules/chalk/source/vendor/ansi-styles/index.js
|
|
1949
|
-
var ANSI_BACKGROUND_OFFSET = 10;
|
|
1950
|
-
var wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`;
|
|
1951
|
-
var wrapAnsi256 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`;
|
|
1952
|
-
var wrapAnsi16m = (offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`;
|
|
1953
|
-
var styles = {
|
|
1954
|
-
modifier: {
|
|
1955
|
-
reset: [0, 0],
|
|
1956
|
-
bold: [1, 22],
|
|
1957
|
-
dim: [2, 22],
|
|
1958
|
-
italic: [3, 23],
|
|
1959
|
-
underline: [4, 24],
|
|
1960
|
-
overline: [53, 55],
|
|
1961
|
-
inverse: [7, 27],
|
|
1962
|
-
hidden: [8, 28],
|
|
1963
|
-
strikethrough: [9, 29]
|
|
1964
|
-
},
|
|
1965
|
-
color: {
|
|
1966
|
-
black: [30, 39],
|
|
1967
|
-
red: [31, 39],
|
|
1968
|
-
green: [32, 39],
|
|
1969
|
-
yellow: [33, 39],
|
|
1970
|
-
blue: [34, 39],
|
|
1971
|
-
magenta: [35, 39],
|
|
1972
|
-
cyan: [36, 39],
|
|
1973
|
-
white: [37, 39],
|
|
1974
|
-
blackBright: [90, 39],
|
|
1975
|
-
gray: [90, 39],
|
|
1976
|
-
grey: [90, 39],
|
|
1977
|
-
redBright: [91, 39],
|
|
1978
|
-
greenBright: [92, 39],
|
|
1979
|
-
yellowBright: [93, 39],
|
|
1980
|
-
blueBright: [94, 39],
|
|
1981
|
-
magentaBright: [95, 39],
|
|
1982
|
-
cyanBright: [96, 39],
|
|
1983
|
-
whiteBright: [97, 39]
|
|
1984
|
-
},
|
|
1985
|
-
bgColor: {
|
|
1986
|
-
bgBlack: [40, 49],
|
|
1987
|
-
bgRed: [41, 49],
|
|
1988
|
-
bgGreen: [42, 49],
|
|
1989
|
-
bgYellow: [43, 49],
|
|
1990
|
-
bgBlue: [44, 49],
|
|
1991
|
-
bgMagenta: [45, 49],
|
|
1992
|
-
bgCyan: [46, 49],
|
|
1993
|
-
bgWhite: [47, 49],
|
|
1994
|
-
bgBlackBright: [100, 49],
|
|
1995
|
-
bgGray: [100, 49],
|
|
1996
|
-
bgGrey: [100, 49],
|
|
1997
|
-
bgRedBright: [101, 49],
|
|
1998
|
-
bgGreenBright: [102, 49],
|
|
1999
|
-
bgYellowBright: [103, 49],
|
|
2000
|
-
bgBlueBright: [104, 49],
|
|
2001
|
-
bgMagentaBright: [105, 49],
|
|
2002
|
-
bgCyanBright: [106, 49],
|
|
2003
|
-
bgWhiteBright: [107, 49]
|
|
2004
|
-
}
|
|
2005
|
-
};
|
|
2006
|
-
var modifierNames = Object.keys(styles.modifier);
|
|
2007
|
-
var foregroundColorNames = Object.keys(styles.color);
|
|
2008
|
-
var backgroundColorNames = Object.keys(styles.bgColor);
|
|
2009
|
-
var colorNames = [...foregroundColorNames, ...backgroundColorNames];
|
|
2010
|
-
function assembleStyles() {
|
|
2011
|
-
const codes = new Map;
|
|
2012
|
-
for (const [groupName, group] of Object.entries(styles)) {
|
|
2013
|
-
for (const [styleName, style] of Object.entries(group)) {
|
|
2014
|
-
styles[styleName] = {
|
|
2015
|
-
open: `\x1B[${style[0]}m`,
|
|
2016
|
-
close: `\x1B[${style[1]}m`
|
|
2017
|
-
};
|
|
2018
|
-
group[styleName] = styles[styleName];
|
|
2019
|
-
codes.set(style[0], style[1]);
|
|
2020
|
-
}
|
|
2021
|
-
Object.defineProperty(styles, groupName, {
|
|
2022
|
-
value: group,
|
|
2023
|
-
enumerable: false
|
|
2024
|
-
});
|
|
2025
|
-
}
|
|
2026
|
-
Object.defineProperty(styles, "codes", {
|
|
2027
|
-
value: codes,
|
|
2028
|
-
enumerable: false
|
|
2029
|
-
});
|
|
2030
|
-
styles.color.close = "\x1B[39m";
|
|
2031
|
-
styles.bgColor.close = "\x1B[49m";
|
|
2032
|
-
styles.color.ansi = wrapAnsi16();
|
|
2033
|
-
styles.color.ansi256 = wrapAnsi256();
|
|
2034
|
-
styles.color.ansi16m = wrapAnsi16m();
|
|
2035
|
-
styles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
|
|
2036
|
-
styles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
|
|
2037
|
-
styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
|
|
2038
|
-
Object.defineProperties(styles, {
|
|
2039
|
-
rgbToAnsi256: {
|
|
2040
|
-
value(red, green, blue) {
|
|
2041
|
-
if (red === green && green === blue) {
|
|
2042
|
-
if (red < 8) {
|
|
2043
|
-
return 16;
|
|
2044
|
-
}
|
|
2045
|
-
if (red > 248) {
|
|
2046
|
-
return 231;
|
|
2047
|
-
}
|
|
2048
|
-
return Math.round((red - 8) / 247 * 24) + 232;
|
|
2049
|
-
}
|
|
2050
|
-
return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
|
|
2051
|
-
},
|
|
2052
|
-
enumerable: false
|
|
2053
|
-
},
|
|
2054
|
-
hexToRgb: {
|
|
2055
|
-
value(hex) {
|
|
2056
|
-
const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
|
|
2057
|
-
if (!matches) {
|
|
2058
|
-
return [0, 0, 0];
|
|
2059
|
-
}
|
|
2060
|
-
let [colorString] = matches;
|
|
2061
|
-
if (colorString.length === 3) {
|
|
2062
|
-
colorString = [...colorString].map((character) => character + character).join("");
|
|
2063
|
-
}
|
|
2064
|
-
const integer = Number.parseInt(colorString, 16);
|
|
2065
|
-
return [
|
|
2066
|
-
integer >> 16 & 255,
|
|
2067
|
-
integer >> 8 & 255,
|
|
2068
|
-
integer & 255
|
|
2069
|
-
];
|
|
2070
|
-
},
|
|
2071
|
-
enumerable: false
|
|
2072
|
-
},
|
|
2073
|
-
hexToAnsi256: {
|
|
2074
|
-
value: (hex) => styles.rgbToAnsi256(...styles.hexToRgb(hex)),
|
|
2075
|
-
enumerable: false
|
|
2076
|
-
},
|
|
2077
|
-
ansi256ToAnsi: {
|
|
2078
|
-
value(code) {
|
|
2079
|
-
if (code < 8) {
|
|
2080
|
-
return 30 + code;
|
|
2081
|
-
}
|
|
2082
|
-
if (code < 16) {
|
|
2083
|
-
return 90 + (code - 8);
|
|
2084
|
-
}
|
|
2085
|
-
let red;
|
|
2086
|
-
let green;
|
|
2087
|
-
let blue;
|
|
2088
|
-
if (code >= 232) {
|
|
2089
|
-
red = ((code - 232) * 10 + 8) / 255;
|
|
2090
|
-
green = red;
|
|
2091
|
-
blue = red;
|
|
2092
|
-
} else {
|
|
2093
|
-
code -= 16;
|
|
2094
|
-
const remainder = code % 36;
|
|
2095
|
-
red = Math.floor(code / 36) / 5;
|
|
2096
|
-
green = Math.floor(remainder / 6) / 5;
|
|
2097
|
-
blue = remainder % 6 / 5;
|
|
2098
|
-
}
|
|
2099
|
-
const value = Math.max(red, green, blue) * 2;
|
|
2100
|
-
if (value === 0) {
|
|
2101
|
-
return 30;
|
|
2102
|
-
}
|
|
2103
|
-
let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
|
|
2104
|
-
if (value === 2) {
|
|
2105
|
-
result += 60;
|
|
2106
|
-
}
|
|
2107
|
-
return result;
|
|
2108
|
-
},
|
|
2109
|
-
enumerable: false
|
|
2110
|
-
},
|
|
2111
|
-
rgbToAnsi: {
|
|
2112
|
-
value: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),
|
|
2113
|
-
enumerable: false
|
|
2114
|
-
},
|
|
2115
|
-
hexToAnsi: {
|
|
2116
|
-
value: (hex) => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),
|
|
2117
|
-
enumerable: false
|
|
2118
|
-
}
|
|
2119
|
-
});
|
|
2120
|
-
return styles;
|
|
2121
|
-
}
|
|
2122
|
-
var ansiStyles = assembleStyles();
|
|
2123
|
-
var ansi_styles_default = ansiStyles;
|
|
2124
|
-
|
|
2125
|
-
// node_modules/chalk/source/vendor/supports-color/index.js
|
|
2126
|
-
import process2 from "process";
|
|
2127
|
-
import os from "os";
|
|
2128
|
-
import tty from "tty";
|
|
2129
|
-
function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process2.argv) {
|
|
2130
|
-
const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
|
|
2131
|
-
const position = argv.indexOf(prefix + flag);
|
|
2132
|
-
const terminatorPosition = argv.indexOf("--");
|
|
2133
|
-
return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
|
|
2134
|
-
}
|
|
2135
|
-
var { env } = process2;
|
|
2136
|
-
var flagForceColor;
|
|
2137
|
-
if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
|
|
2138
|
-
flagForceColor = 0;
|
|
2139
|
-
} else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
|
|
2140
|
-
flagForceColor = 1;
|
|
2141
|
-
}
|
|
2142
|
-
function envForceColor() {
|
|
2143
|
-
if ("FORCE_COLOR" in env) {
|
|
2144
|
-
if (env.FORCE_COLOR === "true") {
|
|
2145
|
-
return 1;
|
|
2146
|
-
}
|
|
2147
|
-
if (env.FORCE_COLOR === "false") {
|
|
2148
|
-
return 0;
|
|
2149
|
-
}
|
|
2150
|
-
return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
|
|
2151
|
-
}
|
|
2152
|
-
}
|
|
2153
|
-
function translateLevel(level) {
|
|
2154
|
-
if (level === 0) {
|
|
2155
|
-
return false;
|
|
2156
|
-
}
|
|
2157
|
-
return {
|
|
2158
|
-
level,
|
|
2159
|
-
hasBasic: true,
|
|
2160
|
-
has256: level >= 2,
|
|
2161
|
-
has16m: level >= 3
|
|
2162
|
-
};
|
|
2163
|
-
}
|
|
2164
|
-
function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
|
|
2165
|
-
const noFlagForceColor = envForceColor();
|
|
2166
|
-
if (noFlagForceColor !== undefined) {
|
|
2167
|
-
flagForceColor = noFlagForceColor;
|
|
2168
|
-
}
|
|
2169
|
-
const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
|
|
2170
|
-
if (forceColor === 0) {
|
|
2171
|
-
return 0;
|
|
2172
|
-
}
|
|
2173
|
-
if (sniffFlags) {
|
|
2174
|
-
if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
|
|
2175
|
-
return 3;
|
|
2176
|
-
}
|
|
2177
|
-
if (hasFlag("color=256")) {
|
|
2178
|
-
return 2;
|
|
2179
|
-
}
|
|
2180
|
-
}
|
|
2181
|
-
if ("TF_BUILD" in env && "AGENT_NAME" in env) {
|
|
2182
|
-
return 1;
|
|
2183
|
-
}
|
|
2184
|
-
if (haveStream && !streamIsTTY && forceColor === undefined) {
|
|
2185
|
-
return 0;
|
|
2186
|
-
}
|
|
2187
|
-
const min = forceColor || 0;
|
|
2188
|
-
if (env.TERM === "dumb") {
|
|
2189
|
-
return min;
|
|
2190
|
-
}
|
|
2191
|
-
if (process2.platform === "win32") {
|
|
2192
|
-
const osRelease = os.release().split(".");
|
|
2193
|
-
if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
|
|
2194
|
-
return Number(osRelease[2]) >= 14931 ? 3 : 2;
|
|
2195
|
-
}
|
|
2196
|
-
return 1;
|
|
2197
|
-
}
|
|
2198
|
-
if ("CI" in env) {
|
|
2199
|
-
if (["GITHUB_ACTIONS", "GITEA_ACTIONS", "CIRCLECI"].some((key) => (key in env))) {
|
|
2200
|
-
return 3;
|
|
2201
|
-
}
|
|
2202
|
-
if (["TRAVIS", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => (sign in env)) || env.CI_NAME === "codeship") {
|
|
2203
|
-
return 1;
|
|
2204
|
-
}
|
|
2205
|
-
return min;
|
|
2206
|
-
}
|
|
2207
|
-
if ("TEAMCITY_VERSION" in env) {
|
|
2208
|
-
return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
|
|
2209
|
-
}
|
|
2210
|
-
if (env.COLORTERM === "truecolor") {
|
|
2211
|
-
return 3;
|
|
2212
|
-
}
|
|
2213
|
-
if (env.TERM === "xterm-kitty") {
|
|
2214
|
-
return 3;
|
|
2215
|
-
}
|
|
2216
|
-
if (env.TERM === "xterm-ghostty") {
|
|
2217
|
-
return 3;
|
|
2218
|
-
}
|
|
2219
|
-
if (env.TERM === "wezterm") {
|
|
2220
|
-
return 3;
|
|
2221
|
-
}
|
|
2222
|
-
if ("TERM_PROGRAM" in env) {
|
|
2223
|
-
const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
|
|
2224
|
-
switch (env.TERM_PROGRAM) {
|
|
2225
|
-
case "iTerm.app": {
|
|
2226
|
-
return version >= 3 ? 3 : 2;
|
|
2227
|
-
}
|
|
2228
|
-
case "Apple_Terminal": {
|
|
2229
|
-
return 2;
|
|
2230
|
-
}
|
|
2231
|
-
}
|
|
2232
|
-
}
|
|
2233
|
-
if (/-256(color)?$/i.test(env.TERM)) {
|
|
2234
|
-
return 2;
|
|
2235
|
-
}
|
|
2236
|
-
if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
|
|
2237
|
-
return 1;
|
|
2238
|
-
}
|
|
2239
|
-
if ("COLORTERM" in env) {
|
|
2240
|
-
return 1;
|
|
2241
|
-
}
|
|
2242
|
-
return min;
|
|
2243
|
-
}
|
|
2244
|
-
function createSupportsColor(stream, options = {}) {
|
|
2245
|
-
const level = _supportsColor(stream, {
|
|
2246
|
-
streamIsTTY: stream && stream.isTTY,
|
|
2247
|
-
...options
|
|
2248
|
-
});
|
|
2249
|
-
return translateLevel(level);
|
|
2250
|
-
}
|
|
2251
|
-
var supportsColor = {
|
|
2252
|
-
stdout: createSupportsColor({ isTTY: tty.isatty(1) }),
|
|
2253
|
-
stderr: createSupportsColor({ isTTY: tty.isatty(2) })
|
|
2254
|
-
};
|
|
2255
|
-
var supports_color_default = supportsColor;
|
|
2256
|
-
|
|
2257
|
-
// node_modules/chalk/source/utilities.js
|
|
2258
|
-
function stringReplaceAll(string, substring, replacer) {
|
|
2259
|
-
let index = string.indexOf(substring);
|
|
2260
|
-
if (index === -1) {
|
|
2261
|
-
return string;
|
|
2262
|
-
}
|
|
2263
|
-
const substringLength = substring.length;
|
|
2264
|
-
let endIndex = 0;
|
|
2265
|
-
let returnValue = "";
|
|
2266
|
-
do {
|
|
2267
|
-
returnValue += string.slice(endIndex, index) + substring + replacer;
|
|
2268
|
-
endIndex = index + substringLength;
|
|
2269
|
-
index = string.indexOf(substring, endIndex);
|
|
2270
|
-
} while (index !== -1);
|
|
2271
|
-
returnValue += string.slice(endIndex);
|
|
2272
|
-
return returnValue;
|
|
2273
|
-
}
|
|
2274
|
-
function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
|
|
2275
|
-
let endIndex = 0;
|
|
2276
|
-
let returnValue = "";
|
|
2277
|
-
do {
|
|
2278
|
-
const gotCR = string[index - 1] === "\r";
|
|
2279
|
-
returnValue += string.slice(endIndex, gotCR ? index - 1 : index) + prefix + (gotCR ? `\r
|
|
2280
|
-
` : `
|
|
2281
|
-
`) + postfix;
|
|
2282
|
-
endIndex = index + 1;
|
|
2283
|
-
index = string.indexOf(`
|
|
2284
|
-
`, endIndex);
|
|
2285
|
-
} while (index !== -1);
|
|
2286
|
-
returnValue += string.slice(endIndex);
|
|
2287
|
-
return returnValue;
|
|
2288
|
-
}
|
|
2289
|
-
|
|
2290
|
-
// node_modules/chalk/source/index.js
|
|
2291
|
-
var { stdout: stdoutColor, stderr: stderrColor } = supports_color_default;
|
|
2292
|
-
var GENERATOR = Symbol("GENERATOR");
|
|
2293
|
-
var STYLER = Symbol("STYLER");
|
|
2294
|
-
var IS_EMPTY = Symbol("IS_EMPTY");
|
|
2295
|
-
var levelMapping = [
|
|
2296
|
-
"ansi",
|
|
2297
|
-
"ansi",
|
|
2298
|
-
"ansi256",
|
|
2299
|
-
"ansi16m"
|
|
2300
|
-
];
|
|
2301
|
-
var styles2 = Object.create(null);
|
|
2302
|
-
var applyOptions = (object, options = {}) => {
|
|
2303
|
-
if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {
|
|
2304
|
-
throw new Error("The `level` option should be an integer from 0 to 3");
|
|
2305
|
-
}
|
|
2306
|
-
const colorLevel = stdoutColor ? stdoutColor.level : 0;
|
|
2307
|
-
object.level = options.level === undefined ? colorLevel : options.level;
|
|
2308
|
-
};
|
|
2309
|
-
var chalkFactory = (options) => {
|
|
2310
|
-
const chalk = (...strings) => strings.join(" ");
|
|
2311
|
-
applyOptions(chalk, options);
|
|
2312
|
-
Object.setPrototypeOf(chalk, createChalk.prototype);
|
|
2313
|
-
return chalk;
|
|
2314
|
-
};
|
|
2315
|
-
function createChalk(options) {
|
|
2316
|
-
return chalkFactory(options);
|
|
2317
|
-
}
|
|
2318
|
-
Object.setPrototypeOf(createChalk.prototype, Function.prototype);
|
|
2319
|
-
for (const [styleName, style] of Object.entries(ansi_styles_default)) {
|
|
2320
|
-
styles2[styleName] = {
|
|
2321
|
-
get() {
|
|
2322
|
-
const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);
|
|
2323
|
-
Object.defineProperty(this, styleName, { value: builder });
|
|
2324
|
-
return builder;
|
|
2325
|
-
}
|
|
2326
|
-
};
|
|
2327
|
-
}
|
|
2328
|
-
styles2.visible = {
|
|
2329
|
-
get() {
|
|
2330
|
-
const builder = createBuilder(this, this[STYLER], true);
|
|
2331
|
-
Object.defineProperty(this, "visible", { value: builder });
|
|
2332
|
-
return builder;
|
|
2333
|
-
}
|
|
2334
|
-
};
|
|
2335
|
-
var getModelAnsi = (model, level, type, ...arguments_) => {
|
|
2336
|
-
if (model === "rgb") {
|
|
2337
|
-
if (level === "ansi16m") {
|
|
2338
|
-
return ansi_styles_default[type].ansi16m(...arguments_);
|
|
2339
|
-
}
|
|
2340
|
-
if (level === "ansi256") {
|
|
2341
|
-
return ansi_styles_default[type].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_));
|
|
2342
|
-
}
|
|
2343
|
-
return ansi_styles_default[type].ansi(ansi_styles_default.rgbToAnsi(...arguments_));
|
|
2344
|
-
}
|
|
2345
|
-
if (model === "hex") {
|
|
2346
|
-
return getModelAnsi("rgb", level, type, ...ansi_styles_default.hexToRgb(...arguments_));
|
|
2347
|
-
}
|
|
2348
|
-
return ansi_styles_default[type][model](...arguments_);
|
|
2349
|
-
};
|
|
2350
|
-
var usedModels = ["rgb", "hex", "ansi256"];
|
|
2351
|
-
for (const model of usedModels) {
|
|
2352
|
-
styles2[model] = {
|
|
2353
|
-
get() {
|
|
2354
|
-
const { level } = this;
|
|
2355
|
-
return function(...arguments_) {
|
|
2356
|
-
const styler = createStyler(getModelAnsi(model, levelMapping[level], "color", ...arguments_), ansi_styles_default.color.close, this[STYLER]);
|
|
2357
|
-
return createBuilder(this, styler, this[IS_EMPTY]);
|
|
2358
|
-
};
|
|
2359
|
-
}
|
|
2360
|
-
};
|
|
2361
|
-
const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
|
|
2362
|
-
styles2[bgModel] = {
|
|
2363
|
-
get() {
|
|
2364
|
-
const { level } = this;
|
|
2365
|
-
return function(...arguments_) {
|
|
2366
|
-
const styler = createStyler(getModelAnsi(model, levelMapping[level], "bgColor", ...arguments_), ansi_styles_default.bgColor.close, this[STYLER]);
|
|
2367
|
-
return createBuilder(this, styler, this[IS_EMPTY]);
|
|
2368
|
-
};
|
|
2369
|
-
}
|
|
2370
|
-
};
|
|
2371
|
-
}
|
|
2372
|
-
var proto = Object.defineProperties(() => {
|
|
2373
|
-
}, {
|
|
2374
|
-
...styles2,
|
|
2375
|
-
level: {
|
|
2376
|
-
enumerable: true,
|
|
2377
|
-
get() {
|
|
2378
|
-
return this[GENERATOR].level;
|
|
2379
|
-
},
|
|
2380
|
-
set(level) {
|
|
2381
|
-
this[GENERATOR].level = level;
|
|
2382
|
-
}
|
|
2383
|
-
}
|
|
2384
|
-
});
|
|
2385
|
-
var createStyler = (open, close, parent) => {
|
|
2386
|
-
let openAll;
|
|
2387
|
-
let closeAll;
|
|
2388
|
-
if (parent === undefined) {
|
|
2389
|
-
openAll = open;
|
|
2390
|
-
closeAll = close;
|
|
2391
|
-
} else {
|
|
2392
|
-
openAll = parent.openAll + open;
|
|
2393
|
-
closeAll = close + parent.closeAll;
|
|
2394
|
-
}
|
|
2395
|
-
return {
|
|
2396
|
-
open,
|
|
2397
|
-
close,
|
|
2398
|
-
openAll,
|
|
2399
|
-
closeAll,
|
|
2400
|
-
parent
|
|
2401
|
-
};
|
|
2402
|
-
};
|
|
2403
|
-
var createBuilder = (self, _styler, _isEmpty) => {
|
|
2404
|
-
const builder = (...arguments_) => applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
|
|
2405
|
-
Object.setPrototypeOf(builder, proto);
|
|
2406
|
-
builder[GENERATOR] = self;
|
|
2407
|
-
builder[STYLER] = _styler;
|
|
2408
|
-
builder[IS_EMPTY] = _isEmpty;
|
|
2409
|
-
return builder;
|
|
2410
|
-
};
|
|
2411
|
-
var applyStyle = (self, string) => {
|
|
2412
|
-
if (self.level <= 0 || !string) {
|
|
2413
|
-
return self[IS_EMPTY] ? "" : string;
|
|
2414
|
-
}
|
|
2415
|
-
let styler = self[STYLER];
|
|
2416
|
-
if (styler === undefined) {
|
|
2417
|
-
return string;
|
|
2418
|
-
}
|
|
2419
|
-
const { openAll, closeAll } = styler;
|
|
2420
|
-
if (string.includes("\x1B")) {
|
|
2421
|
-
while (styler !== undefined) {
|
|
2422
|
-
string = stringReplaceAll(string, styler.close, styler.open);
|
|
2423
|
-
styler = styler.parent;
|
|
2424
|
-
}
|
|
2425
|
-
}
|
|
2426
|
-
const lfIndex = string.indexOf(`
|
|
2427
|
-
`);
|
|
2428
|
-
if (lfIndex !== -1) {
|
|
2429
|
-
string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
|
|
2430
|
-
}
|
|
2431
|
-
return openAll + string + closeAll;
|
|
2432
|
-
};
|
|
2433
|
-
Object.defineProperties(createChalk.prototype, styles2);
|
|
2434
|
-
var chalk = createChalk();
|
|
2435
|
-
var chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 });
|
|
2436
|
-
var source_default = chalk;
|
|
1946
|
+
import { join as join4, extname as extname3, basename as basename3, resolve as resolve4, relative as relative3 } from "path";
|
|
2437
1947
|
|
|
2438
1948
|
// node_modules/chokidar/index.js
|
|
2439
1949
|
import { EventEmitter } from "events";
|
|
@@ -4099,17 +3609,11 @@ function v4(options, buf, offset) {
|
|
|
4099
3609
|
return native_default.randomUUID();
|
|
4100
3610
|
}
|
|
4101
3611
|
options = options || {};
|
|
4102
|
-
const rnds = options.random
|
|
4103
|
-
if (rnds.length < 16) {
|
|
4104
|
-
throw new Error("Random bytes length must be >= 16");
|
|
4105
|
-
}
|
|
3612
|
+
const rnds = options.random || (options.rng || rng)();
|
|
4106
3613
|
rnds[6] = rnds[6] & 15 | 64;
|
|
4107
3614
|
rnds[8] = rnds[8] & 63 | 128;
|
|
4108
3615
|
if (buf) {
|
|
4109
3616
|
offset = offset || 0;
|
|
4110
|
-
if (offset < 0 || offset + 16 > buf.length) {
|
|
4111
|
-
throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);
|
|
4112
|
-
}
|
|
4113
3617
|
for (let i = 0;i < 16; ++i) {
|
|
4114
3618
|
buf[offset + i] = rnds[i];
|
|
4115
3619
|
}
|
|
@@ -9206,435 +8710,955 @@ Inflate$1.prototype.push = function(data, flush_mode) {
|
|
|
9206
8710
|
}
|
|
9207
8711
|
}
|
|
9208
8712
|
}
|
|
9209
|
-
if (status === Z_OK && last_avail_out === 0)
|
|
9210
|
-
continue;
|
|
9211
|
-
if (status === Z_STREAM_END) {
|
|
9212
|
-
status = inflate_1$2.inflateEnd(this.strm);
|
|
9213
|
-
this.onEnd(status);
|
|
9214
|
-
this.ended = true;
|
|
9215
|
-
return true;
|
|
9216
|
-
}
|
|
9217
|
-
if (strm.avail_in === 0)
|
|
9218
|
-
break;
|
|
8713
|
+
if (status === Z_OK && last_avail_out === 0)
|
|
8714
|
+
continue;
|
|
8715
|
+
if (status === Z_STREAM_END) {
|
|
8716
|
+
status = inflate_1$2.inflateEnd(this.strm);
|
|
8717
|
+
this.onEnd(status);
|
|
8718
|
+
this.ended = true;
|
|
8719
|
+
return true;
|
|
8720
|
+
}
|
|
8721
|
+
if (strm.avail_in === 0)
|
|
8722
|
+
break;
|
|
8723
|
+
}
|
|
8724
|
+
return true;
|
|
8725
|
+
};
|
|
8726
|
+
Inflate$1.prototype.onData = function(chunk) {
|
|
8727
|
+
this.chunks.push(chunk);
|
|
8728
|
+
};
|
|
8729
|
+
Inflate$1.prototype.onEnd = function(status) {
|
|
8730
|
+
if (status === Z_OK) {
|
|
8731
|
+
if (this.options.to === "string") {
|
|
8732
|
+
this.result = this.chunks.join("");
|
|
8733
|
+
} else {
|
|
8734
|
+
this.result = common.flattenChunks(this.chunks);
|
|
8735
|
+
}
|
|
8736
|
+
}
|
|
8737
|
+
this.chunks = [];
|
|
8738
|
+
this.err = status;
|
|
8739
|
+
this.msg = this.strm.msg;
|
|
8740
|
+
};
|
|
8741
|
+
function inflate$1(input, options) {
|
|
8742
|
+
const inflator = new Inflate$1(options);
|
|
8743
|
+
inflator.push(input);
|
|
8744
|
+
if (inflator.err)
|
|
8745
|
+
throw inflator.msg || messages[inflator.err];
|
|
8746
|
+
return inflator.result;
|
|
8747
|
+
}
|
|
8748
|
+
function inflateRaw$1(input, options) {
|
|
8749
|
+
options = options || {};
|
|
8750
|
+
options.raw = true;
|
|
8751
|
+
return inflate$1(input, options);
|
|
8752
|
+
}
|
|
8753
|
+
var Inflate_1$1 = Inflate$1;
|
|
8754
|
+
var inflate_2 = inflate$1;
|
|
8755
|
+
var inflateRaw_1$1 = inflateRaw$1;
|
|
8756
|
+
var ungzip$1 = inflate$1;
|
|
8757
|
+
var constants = constants$2;
|
|
8758
|
+
var inflate_1$1 = {
|
|
8759
|
+
Inflate: Inflate_1$1,
|
|
8760
|
+
inflate: inflate_2,
|
|
8761
|
+
inflateRaw: inflateRaw_1$1,
|
|
8762
|
+
ungzip: ungzip$1,
|
|
8763
|
+
constants
|
|
8764
|
+
};
|
|
8765
|
+
var { Deflate, deflate, deflateRaw, gzip } = deflate_1$1;
|
|
8766
|
+
var { Inflate, inflate, inflateRaw, ungzip } = inflate_1$1;
|
|
8767
|
+
var Deflate_1 = Deflate;
|
|
8768
|
+
var deflate_1 = deflate;
|
|
8769
|
+
var deflateRaw_1 = deflateRaw;
|
|
8770
|
+
var gzip_1 = gzip;
|
|
8771
|
+
var Inflate_1 = Inflate;
|
|
8772
|
+
var inflate_1 = inflate;
|
|
8773
|
+
var inflateRaw_1 = inflateRaw;
|
|
8774
|
+
var ungzip_1 = ungzip;
|
|
8775
|
+
var constants_1 = constants$2;
|
|
8776
|
+
var pako = {
|
|
8777
|
+
Deflate: Deflate_1,
|
|
8778
|
+
deflate: deflate_1,
|
|
8779
|
+
deflateRaw: deflateRaw_1,
|
|
8780
|
+
gzip: gzip_1,
|
|
8781
|
+
Inflate: Inflate_1,
|
|
8782
|
+
inflate: inflate_1,
|
|
8783
|
+
inflateRaw: inflateRaw_1,
|
|
8784
|
+
ungzip: ungzip_1,
|
|
8785
|
+
constants: constants_1
|
|
8786
|
+
};
|
|
8787
|
+
|
|
8788
|
+
class VYI {
|
|
8789
|
+
static version = "4.1.0";
|
|
8790
|
+
static logger = new Logger;
|
|
8791
|
+
icons = new Map;
|
|
8792
|
+
name = "failed-to-find-vyi-name";
|
|
8793
|
+
formatVersion = 1;
|
|
8794
|
+
constructor(pVyiData) {
|
|
8795
|
+
VYI.logger.registerType("Vyi-module", "#ff6600");
|
|
8796
|
+
if (pVyiData) {
|
|
8797
|
+
this.parse(pVyiData);
|
|
8798
|
+
}
|
|
8799
|
+
}
|
|
8800
|
+
parse(pVyiData) {
|
|
8801
|
+
if (!pVyiData)
|
|
8802
|
+
return this;
|
|
8803
|
+
try {
|
|
8804
|
+
let vyi;
|
|
8805
|
+
if (typeof pVyiData === "string") {
|
|
8806
|
+
try {
|
|
8807
|
+
vyi = JSON.parse(pVyiData);
|
|
8808
|
+
} catch (pError) {
|
|
8809
|
+
if (!pVyiData.includes(".vyr") && !pVyiData.includes(".vyi")) {
|
|
8810
|
+
vyi = pVyiData;
|
|
8811
|
+
if (!vyi) {
|
|
8812
|
+
throw new Error("Non vyi data found from binary string");
|
|
8813
|
+
}
|
|
8814
|
+
} else {
|
|
8815
|
+
try {
|
|
8816
|
+
vyi = JSON.parse(pVyiData);
|
|
8817
|
+
} catch (e) {
|
|
8818
|
+
const isNodeEnv = typeof window === "undefined";
|
|
8819
|
+
if (isNodeEnv) {
|
|
8820
|
+
vyi = this.readFileAndGetVYI(pVyiData);
|
|
8821
|
+
} else {
|
|
8822
|
+
throw new Error("Invalid string input - not valid JSON or file path");
|
|
8823
|
+
}
|
|
8824
|
+
}
|
|
8825
|
+
}
|
|
8826
|
+
}
|
|
8827
|
+
} else if (pVyiData instanceof VYI) {
|
|
8828
|
+
vyi = pVyiData.export();
|
|
8829
|
+
} else if (pVyiData instanceof Object && !Array.isArray(pVyiData) && !(pVyiData instanceof ArrayBuffer || pVyiData instanceof Uint8Array)) {
|
|
8830
|
+
vyi = pVyiData;
|
|
8831
|
+
} else if (pVyiData instanceof ArrayBuffer || pVyiData instanceof Uint8Array) {
|
|
8832
|
+
vyi = this.handleBinaryData(pVyiData);
|
|
8833
|
+
} else {
|
|
8834
|
+
throw new Error("Error processing: Invalid input type provided.");
|
|
8835
|
+
}
|
|
8836
|
+
if (!vyi || (!vyi.v || !vyi.i) && !vyi.icons) {
|
|
8837
|
+
throw new Error("Non vyi data found.");
|
|
8838
|
+
}
|
|
8839
|
+
this.processVyiData(vyi);
|
|
8840
|
+
} catch (pError) {
|
|
8841
|
+
VYI.logger.prefix("Vyi-module").error(`${pError.message}`);
|
|
8842
|
+
}
|
|
8843
|
+
return this;
|
|
8844
|
+
}
|
|
8845
|
+
readFile(pVyiData) {
|
|
8846
|
+
try {
|
|
8847
|
+
const encoder = new TextEncoder;
|
|
8848
|
+
const binaryData = encoder.encode(pVyiData);
|
|
8849
|
+
const decompressed = pako.inflate(binaryData, { to: "string" });
|
|
8850
|
+
return JSON.parse(decompressed);
|
|
8851
|
+
} catch (error) {
|
|
8852
|
+
console.error("File reading failed:", error);
|
|
8853
|
+
return null;
|
|
8854
|
+
}
|
|
8855
|
+
}
|
|
8856
|
+
readFileAndGetVYI(pURL) {
|
|
8857
|
+
const fs = () => ({});
|
|
8858
|
+
const data = fs.readFileSync(pURL);
|
|
8859
|
+
return this.handleBinaryData(data);
|
|
8860
|
+
}
|
|
8861
|
+
async fetchAndParseJSON(pURL) {
|
|
8862
|
+
try {
|
|
8863
|
+
const response = await fetch(pURL);
|
|
8864
|
+
const jsonData = await response.json();
|
|
8865
|
+
return jsonData;
|
|
8866
|
+
} catch (pError) {
|
|
8867
|
+
throw new Error(`Failed to fetch or parse JSON from URL: ${pError}`);
|
|
8868
|
+
}
|
|
8869
|
+
}
|
|
8870
|
+
handleBinaryData(pBinaryData) {
|
|
8871
|
+
const byteArray = pBinaryData instanceof ArrayBuffer ? new Uint8Array(pBinaryData) : pBinaryData;
|
|
8872
|
+
try {
|
|
8873
|
+
const decompressed = pako.inflate(byteArray, { to: "string" });
|
|
8874
|
+
if (!decompressed)
|
|
8875
|
+
return null;
|
|
8876
|
+
return JSON.parse(decompressed);
|
|
8877
|
+
} catch (pError) {
|
|
8878
|
+
try {
|
|
8879
|
+
const decodedText = new TextDecoder().decode(byteArray);
|
|
8880
|
+
if (!decodedText)
|
|
8881
|
+
return null;
|
|
8882
|
+
return JSON.parse(decodedText);
|
|
8883
|
+
} catch (pDecodeError) {
|
|
8884
|
+
console.error("Decoding failed:", pDecodeError);
|
|
8885
|
+
return null;
|
|
8886
|
+
}
|
|
8887
|
+
}
|
|
8888
|
+
}
|
|
8889
|
+
processVyiData(pVyi) {
|
|
8890
|
+
this.icons.clear();
|
|
8891
|
+
const icons = pVyi.i || pVyi.icons;
|
|
8892
|
+
this.formatVersion = pVyi.v ?? "format not found";
|
|
8893
|
+
if (Array.isArray(icons)) {
|
|
8894
|
+
icons.forEach((pIconData) => {
|
|
8895
|
+
if (!Array.isArray(pIconData) && typeof pIconData === "object") {
|
|
8896
|
+
const convertedIconData = this.convertOldIconData(pIconData);
|
|
8897
|
+
this.addIcon(convertedIconData);
|
|
8898
|
+
} else {
|
|
8899
|
+
this.addIcon(pIconData);
|
|
8900
|
+
}
|
|
8901
|
+
});
|
|
8902
|
+
} else {
|
|
8903
|
+
VYI.logger.prefix("Vyi-module").error("Invalid .vyi file! Cannot parse icons.");
|
|
8904
|
+
}
|
|
8905
|
+
}
|
|
8906
|
+
convertOldIconData(pOldData) {
|
|
8907
|
+
const frames = Array.isArray(pOldData.frames) ? pOldData.frames.map((f) => [f.data, f.delay]) : [];
|
|
8908
|
+
const states = Array.isArray(pOldData.states) ? pOldData.states.map((s) => {
|
|
8909
|
+
const stateFrames = Array.isArray(s.frames) ? s.frames.map((f) => [f.data, f.delay]) : [];
|
|
8910
|
+
return [s.name, s.data, s.delay || 100, stateFrames];
|
|
8911
|
+
}) : [];
|
|
8912
|
+
return [
|
|
8913
|
+
pOldData.name || "",
|
|
8914
|
+
pOldData.w || 32,
|
|
8915
|
+
pOldData.h || 32,
|
|
8916
|
+
pOldData.delay || 100,
|
|
8917
|
+
pOldData.data || "",
|
|
8918
|
+
frames,
|
|
8919
|
+
states
|
|
8920
|
+
];
|
|
8921
|
+
}
|
|
8922
|
+
addIcon(pIconData) {
|
|
8923
|
+
if (!pIconData) {
|
|
8924
|
+
VYI.logger.prefix("Vyi-module").error("No icon data passed!");
|
|
8925
|
+
return;
|
|
8926
|
+
}
|
|
8927
|
+
if (!(pIconData instanceof Icon) && !Array.isArray(pIconData)) {
|
|
8928
|
+
VYI.logger.prefix("Vyi-module").error("Invalid icon data type passed!");
|
|
8929
|
+
return;
|
|
8930
|
+
}
|
|
8931
|
+
const icon = pIconData instanceof Icon ? pIconData : new Icon(pIconData);
|
|
8932
|
+
this.icons.set(icon.id, icon);
|
|
8933
|
+
icon.setVyi(this);
|
|
8934
|
+
return icon;
|
|
8935
|
+
}
|
|
8936
|
+
removeIcon(pIcon) {
|
|
8937
|
+
if (!pIcon)
|
|
8938
|
+
return;
|
|
8939
|
+
if (pIcon instanceof Icon) {
|
|
8940
|
+
if (this.icons.delete(pIcon.id)) {
|
|
8941
|
+
pIcon.removeVyi();
|
|
8942
|
+
}
|
|
8943
|
+
}
|
|
8944
|
+
}
|
|
8945
|
+
removeIconByName(pName) {
|
|
8946
|
+
const icon = this.getIcon(pName);
|
|
8947
|
+
if (icon) {
|
|
8948
|
+
this.removeIcon(icon);
|
|
8949
|
+
}
|
|
8950
|
+
}
|
|
8951
|
+
removeIconById(pId) {
|
|
8952
|
+
const icon = this.getIconById(pId);
|
|
8953
|
+
if (icon) {
|
|
8954
|
+
this.removeIcon(icon);
|
|
8955
|
+
}
|
|
8956
|
+
}
|
|
8957
|
+
getIconNames() {
|
|
8958
|
+
const iconNames = this.getIcons().map((pIcon) => pIcon.name);
|
|
8959
|
+
return iconNames;
|
|
8960
|
+
}
|
|
8961
|
+
getIcon(pName) {
|
|
8962
|
+
if (typeof pName === "string") {
|
|
8963
|
+
const icons = this.getIcons();
|
|
8964
|
+
for (let i = icons.length - 1;i >= 0; i--) {
|
|
8965
|
+
const icon = icons[i];
|
|
8966
|
+
if (icon.getName() === pName) {
|
|
8967
|
+
return icon;
|
|
8968
|
+
}
|
|
8969
|
+
}
|
|
8970
|
+
} else {
|
|
8971
|
+
VYI.logger.prefix("Vyi-module").error("Invalid name type used!");
|
|
8972
|
+
}
|
|
9219
8973
|
}
|
|
9220
|
-
|
|
9221
|
-
|
|
9222
|
-
|
|
9223
|
-
|
|
9224
|
-
|
|
9225
|
-
|
|
9226
|
-
|
|
9227
|
-
|
|
9228
|
-
|
|
8974
|
+
getIconCount() {
|
|
8975
|
+
return this.icons.size;
|
|
8976
|
+
}
|
|
8977
|
+
getIconById(pId) {
|
|
8978
|
+
if (!pId)
|
|
8979
|
+
return;
|
|
8980
|
+
const icon = this.icons.get(pId) || this.getIcons().find((pIcon) => pIcon.states.has(pId))?.getStateById(pId);
|
|
8981
|
+
return icon;
|
|
8982
|
+
}
|
|
8983
|
+
getIcons() {
|
|
8984
|
+
return Array.from(this.icons.values());
|
|
8985
|
+
}
|
|
8986
|
+
rename(pName) {
|
|
8987
|
+
if (typeof pName === "string") {
|
|
8988
|
+
this.name = pName;
|
|
9229
8989
|
} else {
|
|
9230
|
-
|
|
8990
|
+
VYI.logger.prefix("Vyi-module").error("Invalid name type used!");
|
|
9231
8991
|
}
|
|
9232
8992
|
}
|
|
9233
|
-
|
|
9234
|
-
|
|
9235
|
-
|
|
9236
|
-
|
|
9237
|
-
|
|
9238
|
-
|
|
9239
|
-
|
|
9240
|
-
|
|
9241
|
-
|
|
9242
|
-
|
|
9243
|
-
|
|
9244
|
-
|
|
9245
|
-
|
|
9246
|
-
|
|
9247
|
-
|
|
8993
|
+
getName() {
|
|
8994
|
+
return this.name;
|
|
8995
|
+
}
|
|
8996
|
+
export(pCompressed) {
|
|
8997
|
+
const vyi = {
|
|
8998
|
+
v: this.formatVersion,
|
|
8999
|
+
i: this.getIcons().map((pIcon) => pIcon.export())
|
|
9000
|
+
};
|
|
9001
|
+
if (pCompressed) {
|
|
9002
|
+
const binaryData = new TextEncoder().encode(JSON.stringify(vyi));
|
|
9003
|
+
const compressed = pako.deflate(binaryData);
|
|
9004
|
+
return compressed;
|
|
9005
|
+
}
|
|
9006
|
+
return vyi;
|
|
9007
|
+
}
|
|
9248
9008
|
}
|
|
9249
|
-
var
|
|
9250
|
-
|
|
9251
|
-
|
|
9252
|
-
|
|
9253
|
-
|
|
9254
|
-
|
|
9255
|
-
|
|
9256
|
-
|
|
9257
|
-
|
|
9258
|
-
|
|
9259
|
-
|
|
9260
|
-
|
|
9261
|
-
|
|
9262
|
-
|
|
9263
|
-
|
|
9264
|
-
|
|
9265
|
-
|
|
9266
|
-
|
|
9267
|
-
|
|
9268
|
-
|
|
9269
|
-
|
|
9270
|
-
|
|
9271
|
-
|
|
9272
|
-
|
|
9273
|
-
|
|
9274
|
-
deflate: deflate_1,
|
|
9275
|
-
|
|
9276
|
-
|
|
9277
|
-
|
|
9278
|
-
inflate: inflate_1,
|
|
9279
|
-
inflateRaw: inflateRaw_1,
|
|
9280
|
-
ungzip: ungzip_1,
|
|
9281
|
-
constants: constants_1
|
|
9282
|
-
};
|
|
9009
|
+
var WORKER_CODE = `/*!
|
|
9010
|
+
* vyi@4.1.0 https://github.com/EvitcaStudio/vyi
|
|
9011
|
+
* Compiled Sun, 21 Jun 2026 10:57:24 UTC
|
|
9012
|
+
* Copyright (c) 2026 Evitca Studio, "doubleactii"
|
|
9013
|
+
*
|
|
9014
|
+
* vyi is privately licensed.
|
|
9015
|
+
*/
|
|
9016
|
+
var a0=((Q)=>typeof require!=="undefined"?require:typeof Proxy!=="undefined"?new Proxy(Q,{get:(W,J)=>(typeof require!=="undefined"?require:W)[J]}):Q)(function(Q){if(typeof require!=="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+Q+'" is not supported')});/*!
|
|
9017
|
+
* logger@1.0.0 https://github.com/EvitcaStudio/Logger
|
|
9018
|
+
* Compiled Mon, 10 Nov 2025 05:36:23 UTC
|
|
9019
|
+
* Copyright (c) 2025 Evitca Studio, "doubleactii"
|
|
9020
|
+
*
|
|
9021
|
+
* logger is privately licensed.
|
|
9022
|
+
*/class eQ{RESET;BRIGHT;DIM;UNDERSCORE;BLINK;REVERSE;HIDDEN;FG_BLACK;FG_RED;FG_GREEN;FG_YELLOW;FG_BLUE;FG_MAGENTA;FG_CYAN;FG_WHITE;FG_GRAY;BG_BLACK;BG_RED;BG_GREEN;BG_YELLOW;BG_BLUE;BG_MAGENTA;BG_CYAN;BG_WHITE;BG_GRAY;TYPE_SPACER_LENGTH;types;currentType;SPACE_CHAR;FG_COLORS;BG_COLORS;constructor(Q){this.RESET="\\x1B[0m",this.BRIGHT="\\x1B[1m",this.DIM="\\x1B[2m",this.UNDERSCORE="\\x1B[4m",this.BLINK="\\x1B[5m",this.REVERSE="\\x1B[7m",this.HIDDEN="\\x1B[8m",this.FG_BLACK="\\x1B[30m",this.FG_RED="\\x1B[31m",this.FG_GREEN="\\x1B[32m",this.FG_YELLOW="\\x1B[33m",this.FG_BLUE="\\x1B[34m",this.FG_MAGENTA="\\x1B[35m",this.FG_CYAN="\\x1B[36m",this.FG_WHITE="\\x1B[37m",this.FG_GRAY="\\x1B[90m",this.BG_BLACK="\\x1B[40m",this.BG_RED="\\x1B[41m",this.BG_GREEN="\\x1B[42m",this.BG_YELLOW="\\x1B[43m",this.BG_BLUE="\\x1B[44m",this.BG_MAGENTA="\\x1B[45m",this.BG_CYAN="\\x1B[46m",this.BG_WHITE="\\x1B[47m",this.BG_GRAY="\\x1B[100m",this.TYPE_SPACER_LENGTH=13,this.types={default:this.FG_WHITE},this.currentType="",this.SPACE_CHAR=" ",this.FG_COLORS={};for(let W=0;W<=255;W++)this.FG_COLORS[W]="\\x1B[38;5;"+W+"m";this.BG_COLORS={};for(let W=0;W<=255;W++)this.BG_COLORS[W]="\\x1B[48;5;"+W+"m";if(Array.isArray(Q))this.registerTypes(Q)}prefix(Q){if(typeof Q==="string")this.currentType=Q;return this}message(Q="log",...W){let J=this.currentType?this.currentType:"";if(J.length===0)console[Q](...W);else{let G=J.length>=this.TYPE_SPACER_LENGTH,q=this.types[J.toLowerCase()]?this.types[J.toLowerCase()]:this.types.default,z=q.includes("\\x1B");if(!z)q=\`color: \${q}\`;if(typeof globalThis.window!=="undefined")if(z)console[Q](q+J+this.SPACE_CHAR.repeat(Math.max(this.TYPE_SPACER_LENGTH-J.length,G?1:0))+"|"+this.RESET,...W);else console[Q]("%c"+J+this.SPACE_CHAR.repeat(Math.max(this.TYPE_SPACER_LENGTH-J.length,G?1:0))+"|",q,...W);else console[Q](q+J+this.SPACE_CHAR.repeat(Math.max(this.TYPE_SPACER_LENGTH-J.length,G?1:0))+"|"+this.RESET,...W)}this.currentType=""}log(...Q){this.message("log",...Q)}info(...Q){this.message("info",...Q)}error(...Q){this.message("error",...Q)}warn(...Q){this.message("warn",...Q)}assert(...Q){console.assert(...Q)}debug(...Q){this.message("debug",...Q)}count(Q){console.count(Q)}countReset(Q){console.countReset(Q)}table(Q,W){console.table(Q,W)}time(Q="default"){this.message("time",Q)}timeLog(Q="default",...W){this.message("timeLog",Q,...W)}timeEnd(Q="default"){this.message("timeEnd",Q)}trace(...Q){this.message("trace",...Q)}group(Q=""){this.message("group",Q)}groupCollapsed(Q=""){this.message("groupCollapsed",Q)}groupEnd(){console.groupEnd()}clear(){console.clear()}registerType(Q,W){if(this.types[Q.toLowerCase()])return;if(typeof Q==="string"&&typeof W==="string")this.types[Q.toLowerCase()]=W}registerTypes(Q){if(Array.isArray(Q))for(let W=0;W<Q.length;W++)this.registerType(Q[W].type,Q[W].ansi)}unregisterType(Q){let W=Q.toLowerCase();if(this.types[W])delete this.types[W]}}class n{delay=100;dataURL="";index=0;parent=null;static defaultDelay=100;constructor(Q){if(Q)this.parse(Q)}parse(Q){if(!Q)return;let W=Q[0],J=Q[1]?Q[1]:this.parent?this.parent.getDelay():null;if(this.setDataURL(W),J)this.setDelay(J)}setParent(Q){if(!Q||this.parent)return;if(Q instanceof T){if(this.parent=Q,!this.getDelay())this.setDelay(this.parent.getDelay())}}removeParent(){this.parent=null}setDelay(Q){if(typeof Q==="number")this.delay=Q;else w.logger.prefix("Vyi-module").error("Invalid delay type!");return this}getDelay(){return this.delay}getIndex(){return this.index}setDataURL(Q){if(typeof Q==="string")this.dataURL=Q.replace(/^data:image\\/[a-z]+;base64,/,"");else w.logger.prefix("Vyi-module").error("Invalid data url type!");return this}getDataURL(){return this.dataURL}getWidth(){if(!this.parent)return;return this.parent.width}getHeight(){if(!this.parent)return;return this.parent.height}getSize(){if(!this.parent)return;return{width:this.parent.width,height:this.parent.height}}getVyi(){return this?.parent?.vyi}getParent(){return this.parent}export(){let Q=[this.getDataURL()];if(this.getDelay()!==n.defaultDelay)Q[1]=this.getDelay()||n.defaultDelay;return Q}}/*!
|
|
9023
|
+
* icon-point@2.1.0 https://github.com/EvitcaStudio/IconPoint
|
|
9024
|
+
* Compiled Mon, 10 Nov 2025 09:52:21 UTC
|
|
9025
|
+
* Copyright (c) 2025 Evitca Studio, "doubleactii"
|
|
9026
|
+
*
|
|
9027
|
+
* icon-point is privately licensed.
|
|
9028
|
+
*//*!
|
|
9029
|
+
* logger@1.0.0 https://github.com/EvitcaStudio/Logger
|
|
9030
|
+
* Compiled Mon, 10 Nov 2025 05:36:23 UTC
|
|
9031
|
+
* Copyright (c) 2025 Evitca Studio, "doubleactii"
|
|
9032
|
+
*
|
|
9033
|
+
* logger is privately licensed.
|
|
9034
|
+
*/class SJ{RESET;BRIGHT;DIM;UNDERSCORE;BLINK;REVERSE;HIDDEN;FG_BLACK;FG_RED;FG_GREEN;FG_YELLOW;FG_BLUE;FG_MAGENTA;FG_CYAN;FG_WHITE;FG_GRAY;BG_BLACK;BG_RED;BG_GREEN;BG_YELLOW;BG_BLUE;BG_MAGENTA;BG_CYAN;BG_WHITE;BG_GRAY;TYPE_SPACER_LENGTH;types;currentType;SPACE_CHAR;FG_COLORS;BG_COLORS;constructor(Q){this.RESET="\\x1B[0m",this.BRIGHT="\\x1B[1m",this.DIM="\\x1B[2m",this.UNDERSCORE="\\x1B[4m",this.BLINK="\\x1B[5m",this.REVERSE="\\x1B[7m",this.HIDDEN="\\x1B[8m",this.FG_BLACK="\\x1B[30m",this.FG_RED="\\x1B[31m",this.FG_GREEN="\\x1B[32m",this.FG_YELLOW="\\x1B[33m",this.FG_BLUE="\\x1B[34m",this.FG_MAGENTA="\\x1B[35m",this.FG_CYAN="\\x1B[36m",this.FG_WHITE="\\x1B[37m",this.FG_GRAY="\\x1B[90m",this.BG_BLACK="\\x1B[40m",this.BG_RED="\\x1B[41m",this.BG_GREEN="\\x1B[42m",this.BG_YELLOW="\\x1B[43m",this.BG_BLUE="\\x1B[44m",this.BG_MAGENTA="\\x1B[45m",this.BG_CYAN="\\x1B[46m",this.BG_WHITE="\\x1B[47m",this.BG_GRAY="\\x1B[100m",this.TYPE_SPACER_LENGTH=13,this.types={default:this.FG_WHITE},this.currentType="",this.SPACE_CHAR=" ",this.FG_COLORS={};for(let W=0;W<=255;W++)this.FG_COLORS[W]="\\x1B[38;5;"+W+"m";this.BG_COLORS={};for(let W=0;W<=255;W++)this.BG_COLORS[W]="\\x1B[48;5;"+W+"m";if(Array.isArray(Q))this.registerTypes(Q)}prefix(Q){if(typeof Q==="string")this.currentType=Q;return this}message(Q="log",...W){let J=this.currentType?this.currentType:"";if(J.length===0)console[Q](...W);else{let G=J.length>=this.TYPE_SPACER_LENGTH,q=this.types[J.toLowerCase()]?this.types[J.toLowerCase()]:this.types.default,z=q.includes("\\x1B");if(!z)q=\`color: \${q}\`;if(typeof globalThis.window!=="undefined")if(z)console[Q](q+J+this.SPACE_CHAR.repeat(Math.max(this.TYPE_SPACER_LENGTH-J.length,G?1:0))+"|"+this.RESET,...W);else console[Q]("%c"+J+this.SPACE_CHAR.repeat(Math.max(this.TYPE_SPACER_LENGTH-J.length,G?1:0))+"|",q,...W);else console[Q](q+J+this.SPACE_CHAR.repeat(Math.max(this.TYPE_SPACER_LENGTH-J.length,G?1:0))+"|"+this.RESET,...W)}this.currentType=""}log(...Q){this.message("log",...Q)}info(...Q){this.message("info",...Q)}error(...Q){this.message("error",...Q)}warn(...Q){this.message("warn",...Q)}assert(...Q){console.assert(...Q)}debug(...Q){this.message("debug",...Q)}count(Q){console.count(Q)}countReset(Q){console.countReset(Q)}table(Q,W){console.table(Q,W)}time(Q="default"){this.message("time",Q)}timeLog(Q="default",...W){this.message("timeLog",Q,...W)}timeEnd(Q="default"){this.message("timeEnd",Q)}trace(...Q){this.message("trace",...Q)}group(Q=""){this.message("group",Q)}groupCollapsed(Q=""){this.message("groupCollapsed",Q)}groupEnd(){console.groupEnd()}clear(){console.clear()}registerType(Q,W){if(this.types[Q.toLowerCase()])return;if(typeof Q==="string"&&typeof W==="string")this.types[Q.toLowerCase()]=W}registerTypes(Q){if(Array.isArray(Q))for(let W=0;W<Q.length;W++)this.registerType(Q[W].type,Q[W].ansi)}unregisterType(Q){let W=Q.toLowerCase();if(this.types[W])delete this.types[W]}}class E{static defaultOffset={x:0,y:0};static defaultAnchor={x:0.5,y:0.5};static version="2.1.0";static logger=new SJ;iconPoint={x:0,y:0};originalPoint={x:0,y:0};positionalPoint;point={x:0,y:0};bounds={width:32,height:32};id;constructor(Q,W,J,j){let{width:G,height:q}=W;this.bounds.width=G,this.bounds.height=q,this.positionalPoint=Q,this.originalPoint={...J},this.id=j||"",E.logger.registerType("IconPointModule","#ff6600"),this.setPoint(J)}getPoint(Q=0,W=E.defaultOffset,J=E.defaultAnchor){let j=this.positionalPoint.x+W.x+this.bounds.width*J.x,G=this.positionalPoint.y+W.y+this.bounds.height*J.y,q=this.positionalPoint.x+W.x-1+this.iconPoint.x,z=this.positionalPoint.y+W.y-1+this.iconPoint.y,U=q-j,Y=z-G,X=U*Math.cos(Q)-Y*-Math.sin(Q),K=U*-Math.sin(Q)+Y*Math.cos(Q),P=X+j,k=K+G;return this.point.x=P,this.point.y=k,this.point}getPointFromExternalPoint(Q,W=0,J=E.defaultOffset,j=E.defaultAnchor){let G=Q.x+J.x+this.bounds.width*j.x,q=Q.y+J.y+this.bounds.height*j.y,z=Q.x+J.x-1+this.iconPoint.x,U=Q.y+J.y-1+this.iconPoint.y,Y=z-G,X=U-q,K=Y*Math.cos(W)-X*-Math.sin(W),P=Y*-Math.sin(W)+X*Math.cos(W),k=K+G,V=P+q;return this.point.x=k,this.point.y=V,this.point}setPoint(Q){let{x:W,y:J,isNormalized:j}=Q;this.iconPoint.x=j?W*this.bounds.width:W,this.iconPoint.y=j?J*this.bounds.height:J}resetPoint(){this.setPoint(this.originalPoint)}updateBounds(Q){let{width:W,height:J}=Q;this.bounds.width=W,this.bounds.height=J}transformX(Q){let W=Math.abs(Q*this.bounds.width);this.iconPoint.x=W-this.originalPoint.x}transformY(Q){let W=Math.abs(Q*this.bounds.height);this.iconPoint.y=W-this.originalPoint.y}transform(Q){this.transformX(Q.x),this.transformY(Q.y)}getId(){return this.id}export(){return{...this.bounds,...this.iconPoint,id:this.id}}}class tQ{bounds={};add(Q,W){this.bounds[Q]=W}remove(Q){delete this.bounds[Q]}update(Q,W){if(this.bounds[Q])this.bounds[Q]={...this.bounds[Q],...W}}rename(Q,W){if(this.bounds[Q])this.bounds[W]=this.bounds[Q],delete this.bounds[Q]}get(Q){return this.bounds[Q]}getAll(){return{...this.bounds}}getIdsByShape(Q){return Object.keys(this.bounds).filter((W)=>this.bounds[W].type===Q)}exportAll(){return this.getAll()}clearAll(){this.bounds={}}loadBounds(Q){this.clearAll(),Object.entries(Q).forEach(([W,J])=>{this.add(W,J)})}}class T{states=new Map;frames=new Map;width=32;height=32;dataURL="";delay=100;name="";parent=null;vyi=null;id="";static reservedIds=new Set;iconPoints=new Set;boundsManager=new tQ;static reservedIconPointIds=new Set(["center","top-left","top-right","bottom-left","bottom-right","top-middle","bottom-middle","left-middle","right-middle"]);static generateId(){let Q=()=>{return Math.floor(Math.random()*4294967295).toString(16).padStart(8,"0")},W=Q();while(this.reservedIds.has(W))W=Q();return this.reservedIds.add(W),W}constructor(Q){if(Q)this.parse(Q);this.assignId()}setParent(Q){if(!Q||this.parent)return;if(Q instanceof T)this.parent=Q}removeParent(){if(this.parent)this.parent=null,this.vyi=null}setVyi(Q){if(!Q)return;if(Q instanceof w){if(this.vyi=Q,this.getStateCount()>0)this.getStates().forEach((j)=>{j.setParent(this),j.setVyi(Q)});this.getFrames().forEach((J)=>J.setParent(this))}}removeVyi(){this.vyi=null}assignId(){this.id=T.generateId()}getId(){return this.id}getVyi(){return this.vyi}getParent(){return this.parent}getStateCount(){return this.states.size}getFrameCount(){return this.frames.size}parse(Q){if(!Q)return;let W=Q[0],J=Q[1],j=Q[2],G=Q[3],q=Q[4],z=Q[5],U=Q[6],Y=Q[7],X=Q[8];if(this.rename(W),this.setSize(J,j),this.setDelay(G),this.setDataURL(q),Array.isArray(z))z.forEach((K)=>{this.addFrame(K)});if(Array.isArray(U))U.forEach((K)=>{let P=new T(void 0),k=K[0],V=K[1],Z=K[2],M=K[3],$=K[4];if(P.rename(k),P.setSize(J,j),P.setDelay(Z),P.setDataURL(V),Array.isArray(M))M.forEach((C)=>{P.addFrame(C)});if($&&typeof $==="object")P.boundsManager.loadBounds($);this.addState(P)});if(Array.isArray(Y))Y.forEach((K)=>{let{x:P,y:k,width:V,height:Z,id:M}=K;if(T.reservedIconPointIds.has(M))return;this.addIconPoint({x:0,y:0},{width:V,height:Z},{x:P,y:k},M)});if(X&&typeof X==="object")this.boundsManager.loadBounds(X);this.resetInitialIconPoints()}resetInitialIconPoints(){let Q=this.getWidth(),W=this.getHeight();Array.from(T.reservedIconPointIds).forEach((k)=>{let V=Array.from(this.iconPoints).find((Z)=>Z.getId()===k);if(!V)return;this.iconPoints.delete(V)});let J={x:1,y:1},j=new E(J,{width:Q,height:W},{x:Math.round(Q/2),y:Math.round(W/2)},"center"),G=new E(J,{width:Q,height:W},{x:1,y:1},"top-left"),q=new E(J,{width:Q,height:W},{x:Q,y:1},"top-right"),z=new E(J,{width:Q,height:W},{x:1,y:W},"bottom-left"),U=new E(J,{width:Q,height:W},{x:Q,y:W},"bottom-right"),Y=new E(J,{width:Q,height:W},{x:Math.round(Q/2),y:1},"top-middle"),X=new E(J,{width:Q,height:W},{x:Math.round(Q/2),y:W},"bottom-middle"),K=new E(J,{width:Q,height:W},{x:1,y:Math.round(W/2)},"left-middle"),P=new E(J,{width:Q,height:W},{x:Q,y:Math.round(W/2)},"right-middle");this.iconPoints.add(j),this.iconPoints.add(G),this.iconPoints.add(q),this.iconPoints.add(z),this.iconPoints.add(U),this.iconPoints.add(Y),this.iconPoints.add(X),this.iconPoints.add(K),this.iconPoints.add(P)}addIconPoint(Q,W,J,j){if(T.reservedIconPointIds.has(j)){w.logger.prefix("Vyi-module").error(\`The id \${j} is reserved and cannot be used for additional icon points.\`);return}let G=new E(Q,W,J,j);return this.iconPoints.add(G),G}removeIconPoint(Q){for(let W of this.iconPoints)if(W.getId()===Q&&!T.reservedIconPointIds.has(Q)){this.iconPoints.delete(W);break}}getIconPointExportById(Q){for(let W of this.iconPoints)if(W.getId()===Q)return W.export();return}getIconPointsExport(){let Q=[];return this.iconPoints.forEach((W)=>Q.push(W.export())),Q}getIconPointById(Q){for(let W of this.iconPoints)if(W.getId()===Q)return W;return}getIconPoints(){let Q=[];return this.iconPoints.forEach((W)=>Q.push(W)),Q}getBoundsExport(){return this.boundsManager.exportAll()}getBoundsById(Q){return this.boundsManager.get(Q)}getIdsByShape(Q){return this.boundsManager.getIdsByShape(Q)}setBounds(Q,W){return this.boundsManager.add(Q,W),this}removeBounds(Q){return this.boundsManager.remove(Q),this}updateBounds(Q,W){return this.boundsManager.update(Q,W),this}setSize(Q,W){if(typeof Q==="number")this.width=Q;if(typeof W==="number")this.height=W;return this}getWidth(){return this.width}getHeight(){return this.height}getSize(){return{width:this.width,height:this.height}}setDataURL(Q){if(typeof Q==="string")this.dataURL=Q.replace(/^data:image\\/[a-z]+;base64,/,"");else w.logger.prefix("Vyi-module").error("Invalid data url type!");return this}getDataURL(){return this.dataURL}setDelay(Q){if(typeof Q==="number")this.delay=Q;else w.logger.prefix("Vyi-module").error("Invalid delay type!");return this}getDelay(){return this.delay}rename(Q){if(typeof Q==="string")try{this.name=decodeURIComponent(Q)}catch{this.name=Q}else w.logger.prefix("Vyi-module").error("Invalid type for pName!");return this}getName(){return this.name}setAllFrameDelays(Q){if(typeof Q==="number")this.setDelay(Q),this.getFrames().forEach((W)=>W.setDelay(Q));else w.logger.prefix("Vyi-module").error("Invalid type for pDelay!");return this}addFrame(Q){if(!Q){w.logger.prefix("Vyi-module").error("No frame data passed!");return}if(!(Q instanceof n)&&!Array.isArray(Q)){w.logger.prefix("Vyi-module").error("Invalid frame data type passed!");return}let W=Q instanceof n?Q:new n(Q);return W.setParent(this),this.frames.set(this.frames.size,W),this.indexFrames(),W}removeFrame(Q){if(!Q)return this;if(Q instanceof n){if(this.frames.delete(Q.index))Q.removeParent(),this.indexFrames()}return this}removeFrameByIndex(Q){let W=this.getFrame(Q);if(W)this.removeFrame(W);return this}indexFrames(){let Q=this.getFrames();this.frames.clear(),Q.forEach((W,J)=>{W.index=J,this.frames.set(J,W)})}reorderFrame(Q,W){if(typeof Q==="number"&&typeof W==="number"){let J=this.getFrame(W),j=Q===-1?this:this.getFrame(Q);if(j&&J){let G=j.getDataURL(),q=j.getDelay(),z=J.getDataURL(),U=J.getDelay();j.setDataURL(z),j.setDelay(U),J.setDataURL(G),J.setDelay(q)}else w.logger.prefix("Vyi-module").error("There was no frame found at pCurrentIndex, or there was no frame found at pIndex!")}else w.logger.prefix("Vyi-module").error("Invalid type used!");return this}getFrame(Q){return this.frames.get(Q)}getFrames(){return Array.from(this.frames.values())}getFramesData(){return this.getFrames().map((W)=>W.export())}addState(Q){if(!Q){w.logger.prefix("Vyi-module").error("No icon data passed!");return}if(!(Q instanceof T)&&!Array.isArray(Q)){w.logger.prefix("Vyi-module").error("Invalid icon data type passed!");return}let W=Q instanceof T?Q:new T(this.convertStateDataToIconData(Q));if(W.getWidth()!==this.getWidth()||W.getHeight()!==this.getHeight()){w.logger.prefix("Vyi-module").error("State dimensions do not match parent!");return}if(W.setParent(this),this.vyi)W.setVyi(this.vyi);return this.states.set(W.id,W),W}removeState(Q){if(Q instanceof T){if(this.states.delete(Q.id))Q.removeParent()}return this}removeStateByName(Q){let W=this.getState(Q);if(W)this.removeState(W);return this}removeStateById(Q){let W=this.getStateById(Q);if(W)this.removeState(W);return this}getState(Q){if(typeof Q==="string"){let W=this.getStates();for(let J=W.length-1;J>=0;J--){let j=W[J];if(j.getName()===Q)return j}return}else{w.logger.prefix("Vyi-module").error("Invalid name type used!");return}}getStateById(Q){if(!Q)return;return this.states.get(Q)}getStates(){return Array.from(this.states.values())}getStateNames(){return this.getStates().map((Q)=>Q.getName())}getStatesData(){return this.getStates().map((W)=>W.exportAsState())}exportAsState(){let Q=[this.getName(),this.getDataURL(),this.getDelay(),this.getFrames().map((J)=>J.export())],W=this.getBoundsExport();if(Object.keys(W).length>0)Q[4]=W;return Q}convertStateDataToIconData(Q){return[Q[0],this.getWidth(),this.getHeight(),Q[2],Q[1],Q[3]]}export(){let Q=[this.getName(),this.getWidth(),this.getHeight(),this.getDelay(),this.getDataURL(),this.getFramesData()];if(this.states.size>0)Q[6]=this.getStatesData();return Q[7]=this.getIconPointsExport(),Q[8]=this.getBoundsExport(),Q}}/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */function HQ(Q){let W=Q.length;while(--W>=0)Q[W]=0}var e0=0,H0=1,t0=2,s0=3,Q5=258,vJ=29,yQ=256,RQ=yQ+1+vJ,YQ=30,gJ=19,P0=2*RQ+1,WQ=15,sQ=16,J5=7,RJ=256,B0=16,C0=17,$0=18,FJ=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]),pQ=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]),W5=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),L0=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),j5=512,r=new Array((RQ+2)*2);HQ(r);var NQ=new Array(YQ*2);HQ(NQ);var xQ=new Array(j5);HQ(xQ);var OQ=new Array(Q5-s0+1);HQ(OQ);var xJ=new Array(vJ);HQ(xJ);var lQ=new Array(YQ);HQ(lQ);function QJ(Q,W,J,j,G){this.static_tree=Q,this.extra_bits=W,this.extra_base=J,this.elems=j,this.max_length=G,this.has_stree=Q&&Q.length}var N0,v0,g0;function JJ(Q,W){this.dyn_tree=Q,this.max_code=0,this.stat_desc=W}var R0=(Q)=>{return Q<256?xQ[Q]:xQ[256+(Q>>>7)]},MQ=(Q,W)=>{Q.pending_buf[Q.pending++]=W&255,Q.pending_buf[Q.pending++]=W>>>8&255},f=(Q,W,J)=>{if(Q.bi_valid>sQ-J)Q.bi_buf|=W<<Q.bi_valid&65535,MQ(Q,Q.bi_buf),Q.bi_buf=W>>sQ-Q.bi_valid,Q.bi_valid+=J-sQ;else Q.bi_buf|=W<<Q.bi_valid&65535,Q.bi_valid+=J},p=(Q,W,J)=>{f(Q,J[W*2],J[W*2+1])},x0=(Q,W)=>{let J=0;do J|=Q&1,Q>>>=1,J<<=1;while(--W>0);return J>>>1},q5=(Q)=>{if(Q.bi_valid===16)MQ(Q,Q.bi_buf),Q.bi_buf=0,Q.bi_valid=0;else if(Q.bi_valid>=8)Q.pending_buf[Q.pending++]=Q.bi_buf&255,Q.bi_buf>>=8,Q.bi_valid-=8},G5=(Q,W)=>{let{dyn_tree:J,max_code:j}=W,G=W.stat_desc.static_tree,q=W.stat_desc.has_stree,z=W.stat_desc.extra_bits,U=W.stat_desc.extra_base,Y=W.stat_desc.max_length,X,K,P,k,V,Z,M=0;for(k=0;k<=WQ;k++)Q.bl_count[k]=0;J[Q.heap[Q.heap_max]*2+1]=0;for(X=Q.heap_max+1;X<P0;X++){if(K=Q.heap[X],k=J[J[K*2+1]*2+1]+1,k>Y)k=Y,M++;if(J[K*2+1]=k,K>j)continue;if(Q.bl_count[k]++,V=0,K>=U)V=z[K-U];if(Z=J[K*2],Q.opt_len+=Z*(k+V),q)Q.static_len+=Z*(G[K*2+1]+V)}if(M===0)return;do{k=Y-1;while(Q.bl_count[k]===0)k--;Q.bl_count[k]--,Q.bl_count[k+1]+=2,Q.bl_count[Y]--,M-=2}while(M>0);for(k=Y;k!==0;k--){K=Q.bl_count[k];while(K!==0){if(P=Q.heap[--X],P>j)continue;if(J[P*2+1]!==k)Q.opt_len+=(k-J[P*2+1])*J[P*2],J[P*2+1]=k;K--}}},O0=(Q,W,J)=>{let j=new Array(WQ+1),G=0,q,z;for(q=1;q<=WQ;q++)G=G+J[q-1]<<1,j[q]=G;for(z=0;z<=W;z++){let U=Q[z*2+1];if(U===0)continue;Q[z*2]=x0(j[U]++,U)}},X5=()=>{let Q,W,J,j,G,q=new Array(WQ+1);J=0;for(j=0;j<vJ-1;j++){xJ[j]=J;for(Q=0;Q<1<<FJ[j];Q++)OQ[J++]=j}OQ[J-1]=j,G=0;for(j=0;j<16;j++){lQ[j]=G;for(Q=0;Q<1<<pQ[j];Q++)xQ[G++]=j}G>>=7;for(;j<YQ;j++){lQ[j]=G<<7;for(Q=0;Q<1<<pQ[j]-7;Q++)xQ[256+G++]=j}for(W=0;W<=WQ;W++)q[W]=0;Q=0;while(Q<=143)r[Q*2+1]=8,Q++,q[8]++;while(Q<=255)r[Q*2+1]=9,Q++,q[9]++;while(Q<=279)r[Q*2+1]=7,Q++,q[7]++;while(Q<=287)r[Q*2+1]=8,Q++,q[8]++;O0(r,RQ+1,q);for(Q=0;Q<YQ;Q++)NQ[Q*2+1]=5,NQ[Q*2]=x0(Q,5);N0=new QJ(r,FJ,yQ+1,RQ,WQ),v0=new QJ(NQ,pQ,0,YQ,WQ),g0=new QJ(new Array(0),W5,0,gJ,J5)},M0=(Q)=>{let W;for(W=0;W<RQ;W++)Q.dyn_ltree[W*2]=0;for(W=0;W<YQ;W++)Q.dyn_dtree[W*2]=0;for(W=0;W<gJ;W++)Q.bl_tree[W*2]=0;Q.dyn_ltree[RJ*2]=1,Q.opt_len=Q.static_len=0,Q.sym_next=Q.matches=0},w0=(Q)=>{if(Q.bi_valid>8)MQ(Q,Q.bi_buf);else if(Q.bi_valid>0)Q.pending_buf[Q.pending++]=Q.bi_buf;Q.bi_buf=0,Q.bi_valid=0},TJ=(Q,W,J,j)=>{let G=W*2,q=J*2;return Q[G]<Q[q]||Q[G]===Q[q]&&j[W]<=j[J]},WJ=(Q,W,J)=>{let j=Q.heap[J],G=J<<1;while(G<=Q.heap_len){if(G<Q.heap_len&&TJ(W,Q.heap[G+1],Q.heap[G],Q.depth))G++;if(TJ(W,j,Q.heap[G],Q.depth))break;Q.heap[J]=Q.heap[G],J=G,G<<=1}Q.heap[J]=j},yJ=(Q,W,J)=>{let j,G,q=0,z,U;if(Q.sym_next!==0)do if(j=Q.pending_buf[Q.sym_buf+q++]&255,j+=(Q.pending_buf[Q.sym_buf+q++]&255)<<8,G=Q.pending_buf[Q.sym_buf+q++],j===0)p(Q,G,W);else{if(z=OQ[G],p(Q,z+yQ+1,W),U=FJ[z],U!==0)G-=xJ[z],f(Q,G,U);if(j--,z=R0(j),p(Q,z,J),U=pQ[z],U!==0)j-=lQ[z],f(Q,j,U)}while(q<Q.sym_next);p(Q,RJ,W)},ZJ=(Q,W)=>{let J=W.dyn_tree,j=W.stat_desc.static_tree,G=W.stat_desc.has_stree,q=W.stat_desc.elems,z,U,Y=-1,X;Q.heap_len=0,Q.heap_max=P0;for(z=0;z<q;z++)if(J[z*2]!==0)Q.heap[++Q.heap_len]=Y=z,Q.depth[z]=0;else J[z*2+1]=0;while(Q.heap_len<2)if(X=Q.heap[++Q.heap_len]=Y<2?++Y:0,J[X*2]=1,Q.depth[X]=0,Q.opt_len--,G)Q.static_len-=j[X*2+1];W.max_code=Y;for(z=Q.heap_len>>1;z>=1;z--)WJ(Q,J,z);X=q;do z=Q.heap[1],Q.heap[1]=Q.heap[Q.heap_len--],WJ(Q,J,1),U=Q.heap[1],Q.heap[--Q.heap_max]=z,Q.heap[--Q.heap_max]=U,J[X*2]=J[z*2]+J[U*2],Q.depth[X]=(Q.depth[z]>=Q.depth[U]?Q.depth[z]:Q.depth[U])+1,J[z*2+1]=J[U*2+1]=X,Q.heap[1]=X++,WJ(Q,J,1);while(Q.heap_len>=2);Q.heap[--Q.heap_max]=Q.heap[1],G5(Q,W),O0(J,Y,Q.bl_count)},DJ=(Q,W,J)=>{let j,G=-1,q,z=W[1],U=0,Y=7,X=4;if(z===0)Y=138,X=3;W[(J+1)*2+1]=65535;for(j=0;j<=J;j++){if(q=z,z=W[(j+1)*2+1],++U<Y&&q===z)continue;else if(U<X)Q.bl_tree[q*2]+=U;else if(q!==0){if(q!==G)Q.bl_tree[q*2]++;Q.bl_tree[B0*2]++}else if(U<=10)Q.bl_tree[C0*2]++;else Q.bl_tree[$0*2]++;if(U=0,G=q,z===0)Y=138,X=3;else if(q===z)Y=6,X=3;else Y=7,X=4}},EJ=(Q,W,J)=>{let j,G=-1,q,z=W[1],U=0,Y=7,X=4;if(z===0)Y=138,X=3;for(j=0;j<=J;j++){if(q=z,z=W[(j+1)*2+1],++U<Y&&q===z)continue;else if(U<X)do p(Q,q,Q.bl_tree);while(--U!==0);else if(q!==0){if(q!==G)p(Q,q,Q.bl_tree),U--;p(Q,B0,Q.bl_tree),f(Q,U-3,2)}else if(U<=10)p(Q,C0,Q.bl_tree),f(Q,U-3,3);else p(Q,$0,Q.bl_tree),f(Q,U-11,7);if(U=0,G=q,z===0)Y=138,X=3;else if(q===z)Y=6,X=3;else Y=7,X=4}},U5=(Q)=>{let W;DJ(Q,Q.dyn_ltree,Q.l_desc.max_code),DJ(Q,Q.dyn_dtree,Q.d_desc.max_code),ZJ(Q,Q.bl_desc);for(W=gJ-1;W>=3;W--)if(Q.bl_tree[L0[W]*2+1]!==0)break;return Q.opt_len+=3*(W+1)+5+5+4,W},z5=(Q,W,J,j)=>{let G;f(Q,W-257,5),f(Q,J-1,5),f(Q,j-4,4);for(G=0;G<j;G++)f(Q,Q.bl_tree[L0[G]*2+1],3);EJ(Q,Q.dyn_ltree,W-1),EJ(Q,Q.dyn_dtree,J-1)},K5=(Q)=>{let W=4093624447,J;for(J=0;J<=31;J++,W>>>=1)if(W&1&&Q.dyn_ltree[J*2]!==0)return 0;if(Q.dyn_ltree[18]!==0||Q.dyn_ltree[20]!==0||Q.dyn_ltree[26]!==0)return 1;for(J=32;J<yQ;J++)if(Q.dyn_ltree[J*2]!==0)return 1;return 0},IJ=!1,V5=(Q)=>{if(!IJ)X5(),IJ=!0;Q.l_desc=new JJ(Q.dyn_ltree,N0),Q.d_desc=new JJ(Q.dyn_dtree,v0),Q.bl_desc=new JJ(Q.bl_tree,g0),Q.bi_buf=0,Q.bi_valid=0,M0(Q)},A0=(Q,W,J,j)=>{if(f(Q,(e0<<1)+(j?1:0),3),w0(Q),MQ(Q,J),MQ(Q,~J),J)Q.pending_buf.set(Q.window.subarray(W,W+J),Q.pending);Q.pending+=J},k5=(Q)=>{f(Q,H0<<1,3),p(Q,RJ,r),q5(Q)},Y5=(Q,W,J,j)=>{let G,q,z=0;if(Q.level>0){if(Q.strm.data_type===2)Q.strm.data_type=K5(Q);if(ZJ(Q,Q.l_desc),ZJ(Q,Q.d_desc),z=U5(Q),G=Q.opt_len+3+7>>>3,q=Q.static_len+3+7>>>3,q<=G)G=q}else G=q=J+5;if(J+4<=G&&W!==-1)A0(Q,W,J,j);else if(Q.strategy===4||q===G)f(Q,(H0<<1)+(j?1:0),3),yJ(Q,r,NQ);else f(Q,(t0<<1)+(j?1:0),3),z5(Q,Q.l_desc.max_code+1,Q.d_desc.max_code+1,z+1),yJ(Q,Q.dyn_ltree,Q.dyn_dtree);if(M0(Q),j)w0(Q)},F5=(Q,W,J)=>{if(Q.pending_buf[Q.sym_buf+Q.sym_next++]=W,Q.pending_buf[Q.sym_buf+Q.sym_next++]=W>>8,Q.pending_buf[Q.sym_buf+Q.sym_next++]=J,W===0)Q.dyn_ltree[J*2]++;else Q.matches++,W--,Q.dyn_ltree[(OQ[J]+yQ+1)*2]++,Q.dyn_dtree[R0(W)*2]++;return Q.sym_next===Q.sym_end},Z5=V5,H5=A0,P5=Y5,B5=F5,C5=k5,$5={_tr_init:Z5,_tr_stored_block:H5,_tr_flush_block:P5,_tr_tally:B5,_tr_align:C5},L5=(Q,W,J,j)=>{let G=Q&65535|0,q=Q>>>16&65535|0,z=0;while(J!==0){z=J>2000?2000:J,J-=z;do G=G+W[j++]|0,q=q+G|0;while(--z);G%=65521,q%=65521}return G|q<<16|0},wQ=L5,N5=()=>{let Q,W=[];for(var J=0;J<256;J++){Q=J;for(var j=0;j<8;j++)Q=Q&1?3988292384^Q>>>1:Q>>>1;W[J]=Q}return W},v5=new Uint32Array(N5()),g5=(Q,W,J,j)=>{let G=v5,q=j+J;Q^=-1;for(let z=j;z<q;z++)Q=Q>>>8^G[(Q^W[z])&255];return Q^-1},D=g5,GQ={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"},zQ={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:R5,_tr_stored_block:HJ,_tr_flush_block:x5,_tr_tally:t,_tr_align:O5}=$5,{Z_NO_FLUSH:s,Z_PARTIAL_FLUSH:M5,Z_FULL_FLUSH:w5,Z_FINISH:c,Z_BLOCK:bJ,Z_OK:I,Z_STREAM_END:fJ,Z_STREAM_ERROR:l,Z_DATA_ERROR:A5,Z_BUF_ERROR:jJ,Z_DEFAULT_COMPRESSION:S5,Z_FILTERED:T5,Z_HUFFMAN_ONLY:uQ,Z_RLE:y5,Z_FIXED:D5,Z_DEFAULT_STRATEGY:E5,Z_UNKNOWN:I5,Z_DEFLATED:rQ}=zQ,b5=9,f5=15,u5=8,h5=29,c5=256,PJ=c5+1+h5,m5=30,d5=19,p5=2*PJ+1,l5=15,v=3,e=258,_=e+v+1,_5=32,FQ=42,OJ=57,BJ=69,CJ=73,$J=91,LJ=103,jQ=113,$Q=666,b=1,PQ=2,XQ=3,BQ=4,i5=3,qQ=(Q,W)=>{return Q.msg=GQ[W],W},uJ=(Q)=>{return Q*2-(Q>4?9:0)},a=(Q)=>{let W=Q.length;while(--W>=0)Q[W]=0},r5=(Q)=>{let W,J,j,G=Q.w_size;W=Q.hash_size,j=W;do J=Q.head[--j],Q.head[j]=J>=G?J-G:0;while(--W);W=G,j=W;do J=Q.prev[--j],Q.prev[j]=J>=G?J-G:0;while(--W)},o5=(Q,W,J)=>(W<<Q.hash_shift^J)&Q.hash_mask,QQ=o5,u=(Q)=>{let W=Q.state,J=W.pending;if(J>Q.avail_out)J=Q.avail_out;if(J===0)return;if(Q.output.set(W.pending_buf.subarray(W.pending_out,W.pending_out+J),Q.next_out),Q.next_out+=J,W.pending_out+=J,Q.total_out+=J,Q.avail_out-=J,W.pending-=J,W.pending===0)W.pending_out=0},h=(Q,W)=>{x5(Q,Q.block_start>=0?Q.block_start:-1,Q.strstart-Q.block_start,W),Q.block_start=Q.strstart,u(Q.strm)},x=(Q,W)=>{Q.pending_buf[Q.pending++]=W},CQ=(Q,W)=>{Q.pending_buf[Q.pending++]=W>>>8&255,Q.pending_buf[Q.pending++]=W&255},NJ=(Q,W,J,j)=>{let G=Q.avail_in;if(G>j)G=j;if(G===0)return 0;if(Q.avail_in-=G,W.set(Q.input.subarray(Q.next_in,Q.next_in+G),J),Q.state.wrap===1)Q.adler=wQ(Q.adler,W,G,J);else if(Q.state.wrap===2)Q.adler=D(Q.adler,W,G,J);return Q.next_in+=G,Q.total_in+=G,G},S0=(Q,W)=>{let{max_chain_length:J,strstart:j}=Q,G,q,z=Q.prev_length,U=Q.nice_match,Y=Q.strstart>Q.w_size-_?Q.strstart-(Q.w_size-_):0,X=Q.window,K=Q.w_mask,P=Q.prev,k=Q.strstart+e,V=X[j+z-1],Z=X[j+z];if(Q.prev_length>=Q.good_match)J>>=2;if(U>Q.lookahead)U=Q.lookahead;do{if(G=W,X[G+z]!==Z||X[G+z-1]!==V||X[G]!==X[j]||X[++G]!==X[j+1])continue;j+=2,G++;do;while(X[++j]===X[++G]&&X[++j]===X[++G]&&X[++j]===X[++G]&&X[++j]===X[++G]&&X[++j]===X[++G]&&X[++j]===X[++G]&&X[++j]===X[++G]&&X[++j]===X[++G]&&j<k);if(q=e-(k-j),j=k-e,q>z){if(Q.match_start=W,z=q,q>=U)break;V=X[j+z-1],Z=X[j+z]}}while((W=P[W&K])>Y&&--J!==0);if(z<=Q.lookahead)return z;return Q.lookahead},ZQ=(Q)=>{let W=Q.w_size,J,j,G;do{if(j=Q.window_size-Q.lookahead-Q.strstart,Q.strstart>=W+(W-_)){if(Q.window.set(Q.window.subarray(W,W+W-j),0),Q.match_start-=W,Q.strstart-=W,Q.block_start-=W,Q.insert>Q.strstart)Q.insert=Q.strstart;r5(Q),j+=W}if(Q.strm.avail_in===0)break;if(J=NJ(Q.strm,Q.window,Q.strstart+Q.lookahead,j),Q.lookahead+=J,Q.lookahead+Q.insert>=v){G=Q.strstart-Q.insert,Q.ins_h=Q.window[G],Q.ins_h=QQ(Q,Q.ins_h,Q.window[G+1]);while(Q.insert)if(Q.ins_h=QQ(Q,Q.ins_h,Q.window[G+v-1]),Q.prev[G&Q.w_mask]=Q.head[Q.ins_h],Q.head[Q.ins_h]=G,G++,Q.insert--,Q.lookahead+Q.insert<v)break}}while(Q.lookahead<_&&Q.strm.avail_in!==0)},T0=(Q,W)=>{let J=Q.pending_buf_size-5>Q.w_size?Q.w_size:Q.pending_buf_size-5,j,G,q,z=0,U=Q.strm.avail_in;do{if(j=65535,q=Q.bi_valid+42>>3,Q.strm.avail_out<q)break;if(q=Q.strm.avail_out-q,G=Q.strstart-Q.block_start,j>G+Q.strm.avail_in)j=G+Q.strm.avail_in;if(j>q)j=q;if(j<J&&(j===0&&W!==c||W===s||j!==G+Q.strm.avail_in))break;if(z=W===c&&j===G+Q.strm.avail_in?1:0,HJ(Q,0,0,z),Q.pending_buf[Q.pending-4]=j,Q.pending_buf[Q.pending-3]=j>>8,Q.pending_buf[Q.pending-2]=~j,Q.pending_buf[Q.pending-1]=~j>>8,u(Q.strm),G){if(G>j)G=j;Q.strm.output.set(Q.window.subarray(Q.block_start,Q.block_start+G),Q.strm.next_out),Q.strm.next_out+=G,Q.strm.avail_out-=G,Q.strm.total_out+=G,Q.block_start+=G,j-=G}if(j)NJ(Q.strm,Q.strm.output,Q.strm.next_out,j),Q.strm.next_out+=j,Q.strm.avail_out-=j,Q.strm.total_out+=j}while(z===0);if(U-=Q.strm.avail_in,U){if(U>=Q.w_size)Q.matches=2,Q.window.set(Q.strm.input.subarray(Q.strm.next_in-Q.w_size,Q.strm.next_in),0),Q.strstart=Q.w_size,Q.insert=Q.strstart;else{if(Q.window_size-Q.strstart<=U){if(Q.strstart-=Q.w_size,Q.window.set(Q.window.subarray(Q.w_size,Q.w_size+Q.strstart),0),Q.matches<2)Q.matches++;if(Q.insert>Q.strstart)Q.insert=Q.strstart}Q.window.set(Q.strm.input.subarray(Q.strm.next_in-U,Q.strm.next_in),Q.strstart),Q.strstart+=U,Q.insert+=U>Q.w_size-Q.insert?Q.w_size-Q.insert:U}Q.block_start=Q.strstart}if(Q.high_water<Q.strstart)Q.high_water=Q.strstart;if(z)return BQ;if(W!==s&&W!==c&&Q.strm.avail_in===0&&Q.strstart===Q.block_start)return PQ;if(q=Q.window_size-Q.strstart,Q.strm.avail_in>q&&Q.block_start>=Q.w_size){if(Q.block_start-=Q.w_size,Q.strstart-=Q.w_size,Q.window.set(Q.window.subarray(Q.w_size,Q.w_size+Q.strstart),0),Q.matches<2)Q.matches++;if(q+=Q.w_size,Q.insert>Q.strstart)Q.insert=Q.strstart}if(q>Q.strm.avail_in)q=Q.strm.avail_in;if(q)NJ(Q.strm,Q.window,Q.strstart,q),Q.strstart+=q,Q.insert+=q>Q.w_size-Q.insert?Q.w_size-Q.insert:q;if(Q.high_water<Q.strstart)Q.high_water=Q.strstart;if(q=Q.bi_valid+42>>3,q=Q.pending_buf_size-q>65535?65535:Q.pending_buf_size-q,J=q>Q.w_size?Q.w_size:q,G=Q.strstart-Q.block_start,G>=J||(G||W===c)&&W!==s&&Q.strm.avail_in===0&&G<=q)j=G>q?q:G,z=W===c&&Q.strm.avail_in===0&&j===G?1:0,HJ(Q,Q.block_start,j,z),Q.block_start+=j,u(Q.strm);return z?XQ:b},qJ=(Q,W)=>{let J,j;for(;;){if(Q.lookahead<_){if(ZQ(Q),Q.lookahead<_&&W===s)return b;if(Q.lookahead===0)break}if(J=0,Q.lookahead>=v)Q.ins_h=QQ(Q,Q.ins_h,Q.window[Q.strstart+v-1]),J=Q.prev[Q.strstart&Q.w_mask]=Q.head[Q.ins_h],Q.head[Q.ins_h]=Q.strstart;if(J!==0&&Q.strstart-J<=Q.w_size-_)Q.match_length=S0(Q,J);if(Q.match_length>=v)if(j=t(Q,Q.strstart-Q.match_start,Q.match_length-v),Q.lookahead-=Q.match_length,Q.match_length<=Q.max_lazy_match&&Q.lookahead>=v){Q.match_length--;do Q.strstart++,Q.ins_h=QQ(Q,Q.ins_h,Q.window[Q.strstart+v-1]),J=Q.prev[Q.strstart&Q.w_mask]=Q.head[Q.ins_h],Q.head[Q.ins_h]=Q.strstart;while(--Q.match_length!==0);Q.strstart++}else Q.strstart+=Q.match_length,Q.match_length=0,Q.ins_h=Q.window[Q.strstart],Q.ins_h=QQ(Q,Q.ins_h,Q.window[Q.strstart+1]);else j=t(Q,0,Q.window[Q.strstart]),Q.lookahead--,Q.strstart++;if(j){if(h(Q,!1),Q.strm.avail_out===0)return b}}if(Q.insert=Q.strstart<v-1?Q.strstart:v-1,W===c){if(h(Q,!0),Q.strm.avail_out===0)return XQ;return BQ}if(Q.sym_next){if(h(Q,!1),Q.strm.avail_out===0)return b}return PQ},VQ=(Q,W)=>{let J,j,G;for(;;){if(Q.lookahead<_){if(ZQ(Q),Q.lookahead<_&&W===s)return b;if(Q.lookahead===0)break}if(J=0,Q.lookahead>=v)Q.ins_h=QQ(Q,Q.ins_h,Q.window[Q.strstart+v-1]),J=Q.prev[Q.strstart&Q.w_mask]=Q.head[Q.ins_h],Q.head[Q.ins_h]=Q.strstart;if(Q.prev_length=Q.match_length,Q.prev_match=Q.match_start,Q.match_length=v-1,J!==0&&Q.prev_length<Q.max_lazy_match&&Q.strstart-J<=Q.w_size-_){if(Q.match_length=S0(Q,J),Q.match_length<=5&&(Q.strategy===T5||Q.match_length===v&&Q.strstart-Q.match_start>4096))Q.match_length=v-1}if(Q.prev_length>=v&&Q.match_length<=Q.prev_length){G=Q.strstart+Q.lookahead-v,j=t(Q,Q.strstart-1-Q.prev_match,Q.prev_length-v),Q.lookahead-=Q.prev_length-1,Q.prev_length-=2;do if(++Q.strstart<=G)Q.ins_h=QQ(Q,Q.ins_h,Q.window[Q.strstart+v-1]),J=Q.prev[Q.strstart&Q.w_mask]=Q.head[Q.ins_h],Q.head[Q.ins_h]=Q.strstart;while(--Q.prev_length!==0);if(Q.match_available=0,Q.match_length=v-1,Q.strstart++,j){if(h(Q,!1),Q.strm.avail_out===0)return b}}else if(Q.match_available){if(j=t(Q,0,Q.window[Q.strstart-1]),j)h(Q,!1);if(Q.strstart++,Q.lookahead--,Q.strm.avail_out===0)return b}else Q.match_available=1,Q.strstart++,Q.lookahead--}if(Q.match_available)j=t(Q,0,Q.window[Q.strstart-1]),Q.match_available=0;if(Q.insert=Q.strstart<v-1?Q.strstart:v-1,W===c){if(h(Q,!0),Q.strm.avail_out===0)return XQ;return BQ}if(Q.sym_next){if(h(Q,!1),Q.strm.avail_out===0)return b}return PQ},n5=(Q,W)=>{let J,j,G,q,z=Q.window;for(;;){if(Q.lookahead<=e){if(ZQ(Q),Q.lookahead<=e&&W===s)return b;if(Q.lookahead===0)break}if(Q.match_length=0,Q.lookahead>=v&&Q.strstart>0){if(G=Q.strstart-1,j=z[G],j===z[++G]&&j===z[++G]&&j===z[++G]){q=Q.strstart+e;do;while(j===z[++G]&&j===z[++G]&&j===z[++G]&&j===z[++G]&&j===z[++G]&&j===z[++G]&&j===z[++G]&&j===z[++G]&&G<q);if(Q.match_length=e-(q-G),Q.match_length>Q.lookahead)Q.match_length=Q.lookahead}}if(Q.match_length>=v)J=t(Q,1,Q.match_length-v),Q.lookahead-=Q.match_length,Q.strstart+=Q.match_length,Q.match_length=0;else J=t(Q,0,Q.window[Q.strstart]),Q.lookahead--,Q.strstart++;if(J){if(h(Q,!1),Q.strm.avail_out===0)return b}}if(Q.insert=0,W===c){if(h(Q,!0),Q.strm.avail_out===0)return XQ;return BQ}if(Q.sym_next){if(h(Q,!1),Q.strm.avail_out===0)return b}return PQ},a5=(Q,W)=>{let J;for(;;){if(Q.lookahead===0){if(ZQ(Q),Q.lookahead===0){if(W===s)return b;break}}if(Q.match_length=0,J=t(Q,0,Q.window[Q.strstart]),Q.lookahead--,Q.strstart++,J){if(h(Q,!1),Q.strm.avail_out===0)return b}}if(Q.insert=0,W===c){if(h(Q,!0),Q.strm.avail_out===0)return XQ;return BQ}if(Q.sym_next){if(h(Q,!1),Q.strm.avail_out===0)return b}return PQ};function d(Q,W,J,j,G){this.good_length=Q,this.max_lazy=W,this.nice_length=J,this.max_chain=j,this.func=G}var LQ=[new d(0,0,0,0,T0),new d(4,4,8,4,qJ),new d(4,5,16,8,qJ),new d(4,6,32,32,qJ),new d(4,4,16,16,VQ),new d(8,16,32,32,VQ),new d(8,16,128,128,VQ),new d(8,32,128,256,VQ),new d(32,128,258,1024,VQ),new d(32,258,258,4096,VQ)],e5=(Q)=>{Q.window_size=2*Q.w_size,a(Q.head),Q.max_lazy_match=LQ[Q.level].max_lazy,Q.good_match=LQ[Q.level].good_length,Q.nice_match=LQ[Q.level].nice_length,Q.max_chain_length=LQ[Q.level].max_chain,Q.strstart=0,Q.block_start=0,Q.lookahead=0,Q.insert=0,Q.match_length=Q.prev_length=v-1,Q.match_available=0,Q.ins_h=0};function t5(){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=rQ,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(p5*2),this.dyn_dtree=new Uint16Array((2*m5+1)*2),this.bl_tree=new Uint16Array((2*d5+1)*2),a(this.dyn_ltree),a(this.dyn_dtree),a(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(l5+1),this.heap=new Uint16Array(2*PJ+1),a(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*PJ+1),a(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 DQ=(Q)=>{if(!Q)return 1;let W=Q.state;if(!W||W.strm!==Q||W.status!==FQ&&W.status!==OJ&&W.status!==BJ&&W.status!==CJ&&W.status!==$J&&W.status!==LJ&&W.status!==jQ&&W.status!==$Q)return 1;return 0},y0=(Q)=>{if(DQ(Q))return qQ(Q,l);Q.total_in=Q.total_out=0,Q.data_type=I5;let W=Q.state;if(W.pending=0,W.pending_out=0,W.wrap<0)W.wrap=-W.wrap;return W.status=W.wrap===2?OJ:W.wrap?FQ:jQ,Q.adler=W.wrap===2?0:1,W.last_flush=-2,R5(W),I},D0=(Q)=>{let W=y0(Q);if(W===I)e5(Q.state);return W},s5=(Q,W)=>{if(DQ(Q)||Q.state.wrap!==2)return l;return Q.state.gzhead=W,I},E0=(Q,W,J,j,G,q)=>{if(!Q)return l;let z=1;if(W===S5)W=6;if(j<0)z=0,j=-j;else if(j>15)z=2,j-=16;if(G<1||G>b5||J!==rQ||j<8||j>15||W<0||W>9||q<0||q>D5||j===8&&z!==1)return qQ(Q,l);if(j===8)j=9;let U=new t5;return Q.state=U,U.strm=Q,U.status=FQ,U.wrap=z,U.gzhead=null,U.w_bits=j,U.w_size=1<<U.w_bits,U.w_mask=U.w_size-1,U.hash_bits=G+7,U.hash_size=1<<U.hash_bits,U.hash_mask=U.hash_size-1,U.hash_shift=~~((U.hash_bits+v-1)/v),U.window=new Uint8Array(U.w_size*2),U.head=new Uint16Array(U.hash_size),U.prev=new Uint16Array(U.w_size),U.lit_bufsize=1<<G+6,U.pending_buf_size=U.lit_bufsize*4,U.pending_buf=new Uint8Array(U.pending_buf_size),U.sym_buf=U.lit_bufsize,U.sym_end=(U.lit_bufsize-1)*3,U.level=W,U.strategy=q,U.method=J,D0(Q)},Q8=(Q,W)=>{return E0(Q,W,rQ,f5,u5,E5)},J8=(Q,W)=>{if(DQ(Q)||W>bJ||W<0)return Q?qQ(Q,l):l;let J=Q.state;if(!Q.output||Q.avail_in!==0&&!Q.input||J.status===$Q&&W!==c)return qQ(Q,Q.avail_out===0?jJ:l);let j=J.last_flush;if(J.last_flush=W,J.pending!==0){if(u(Q),Q.avail_out===0)return J.last_flush=-1,I}else if(Q.avail_in===0&&uJ(W)<=uJ(j)&&W!==c)return qQ(Q,jJ);if(J.status===$Q&&Q.avail_in!==0)return qQ(Q,jJ);if(J.status===FQ&&J.wrap===0)J.status=jQ;if(J.status===FQ){let G=rQ+(J.w_bits-8<<4)<<8,q=-1;if(J.strategy>=uQ||J.level<2)q=0;else if(J.level<6)q=1;else if(J.level===6)q=2;else q=3;if(G|=q<<6,J.strstart!==0)G|=_5;if(G+=31-G%31,CQ(J,G),J.strstart!==0)CQ(J,Q.adler>>>16),CQ(J,Q.adler&65535);if(Q.adler=1,J.status=jQ,u(Q),J.pending!==0)return J.last_flush=-1,I}if(J.status===OJ)if(Q.adler=0,x(J,31),x(J,139),x(J,8),!J.gzhead){if(x(J,0),x(J,0),x(J,0),x(J,0),x(J,0),x(J,J.level===9?2:J.strategy>=uQ||J.level<2?4:0),x(J,i5),J.status=jQ,u(Q),J.pending!==0)return J.last_flush=-1,I}else{if(x(J,(J.gzhead.text?1:0)+(J.gzhead.hcrc?2:0)+(!J.gzhead.extra?0:4)+(!J.gzhead.name?0:8)+(!J.gzhead.comment?0:16)),x(J,J.gzhead.time&255),x(J,J.gzhead.time>>8&255),x(J,J.gzhead.time>>16&255),x(J,J.gzhead.time>>24&255),x(J,J.level===9?2:J.strategy>=uQ||J.level<2?4:0),x(J,J.gzhead.os&255),J.gzhead.extra&&J.gzhead.extra.length)x(J,J.gzhead.extra.length&255),x(J,J.gzhead.extra.length>>8&255);if(J.gzhead.hcrc)Q.adler=D(Q.adler,J.pending_buf,J.pending,0);J.gzindex=0,J.status=BJ}if(J.status===BJ){if(J.gzhead.extra){let G=J.pending,q=(J.gzhead.extra.length&65535)-J.gzindex;while(J.pending+q>J.pending_buf_size){let U=J.pending_buf_size-J.pending;if(J.pending_buf.set(J.gzhead.extra.subarray(J.gzindex,J.gzindex+U),J.pending),J.pending=J.pending_buf_size,J.gzhead.hcrc&&J.pending>G)Q.adler=D(Q.adler,J.pending_buf,J.pending-G,G);if(J.gzindex+=U,u(Q),J.pending!==0)return J.last_flush=-1,I;G=0,q-=U}let z=new Uint8Array(J.gzhead.extra);if(J.pending_buf.set(z.subarray(J.gzindex,J.gzindex+q),J.pending),J.pending+=q,J.gzhead.hcrc&&J.pending>G)Q.adler=D(Q.adler,J.pending_buf,J.pending-G,G);J.gzindex=0}J.status=CJ}if(J.status===CJ){if(J.gzhead.name){let G=J.pending,q;do{if(J.pending===J.pending_buf_size){if(J.gzhead.hcrc&&J.pending>G)Q.adler=D(Q.adler,J.pending_buf,J.pending-G,G);if(u(Q),J.pending!==0)return J.last_flush=-1,I;G=0}if(J.gzindex<J.gzhead.name.length)q=J.gzhead.name.charCodeAt(J.gzindex++)&255;else q=0;x(J,q)}while(q!==0);if(J.gzhead.hcrc&&J.pending>G)Q.adler=D(Q.adler,J.pending_buf,J.pending-G,G);J.gzindex=0}J.status=$J}if(J.status===$J){if(J.gzhead.comment){let G=J.pending,q;do{if(J.pending===J.pending_buf_size){if(J.gzhead.hcrc&&J.pending>G)Q.adler=D(Q.adler,J.pending_buf,J.pending-G,G);if(u(Q),J.pending!==0)return J.last_flush=-1,I;G=0}if(J.gzindex<J.gzhead.comment.length)q=J.gzhead.comment.charCodeAt(J.gzindex++)&255;else q=0;x(J,q)}while(q!==0);if(J.gzhead.hcrc&&J.pending>G)Q.adler=D(Q.adler,J.pending_buf,J.pending-G,G)}J.status=LJ}if(J.status===LJ){if(J.gzhead.hcrc){if(J.pending+2>J.pending_buf_size){if(u(Q),J.pending!==0)return J.last_flush=-1,I}x(J,Q.adler&255),x(J,Q.adler>>8&255),Q.adler=0}if(J.status=jQ,u(Q),J.pending!==0)return J.last_flush=-1,I}if(Q.avail_in!==0||J.lookahead!==0||W!==s&&J.status!==$Q){let G=J.level===0?T0(J,W):J.strategy===uQ?a5(J,W):J.strategy===y5?n5(J,W):LQ[J.level].func(J,W);if(G===XQ||G===BQ)J.status=$Q;if(G===b||G===XQ){if(Q.avail_out===0)J.last_flush=-1;return I}if(G===PQ){if(W===M5)O5(J);else if(W!==bJ){if(HJ(J,0,0,!1),W===w5){if(a(J.head),J.lookahead===0)J.strstart=0,J.block_start=0,J.insert=0}}if(u(Q),Q.avail_out===0)return J.last_flush=-1,I}}if(W!==c)return I;if(J.wrap<=0)return fJ;if(J.wrap===2)x(J,Q.adler&255),x(J,Q.adler>>8&255),x(J,Q.adler>>16&255),x(J,Q.adler>>24&255),x(J,Q.total_in&255),x(J,Q.total_in>>8&255),x(J,Q.total_in>>16&255),x(J,Q.total_in>>24&255);else CQ(J,Q.adler>>>16),CQ(J,Q.adler&65535);if(u(Q),J.wrap>0)J.wrap=-J.wrap;return J.pending!==0?I:fJ},W8=(Q)=>{if(DQ(Q))return l;let W=Q.state.status;return Q.state=null,W===jQ?qQ(Q,A5):I},j8=(Q,W)=>{let J=W.length;if(DQ(Q))return l;let j=Q.state,G=j.wrap;if(G===2||G===1&&j.status!==FQ||j.lookahead)return l;if(G===1)Q.adler=wQ(Q.adler,W,J,0);if(j.wrap=0,J>=j.w_size){if(G===0)a(j.head),j.strstart=0,j.block_start=0,j.insert=0;let Y=new Uint8Array(j.w_size);Y.set(W.subarray(J-j.w_size,J),0),W=Y,J=j.w_size}let{avail_in:q,next_in:z,input:U}=Q;Q.avail_in=J,Q.next_in=0,Q.input=W,ZQ(j);while(j.lookahead>=v){let Y=j.strstart,X=j.lookahead-(v-1);do j.ins_h=QQ(j,j.ins_h,j.window[Y+v-1]),j.prev[Y&j.w_mask]=j.head[j.ins_h],j.head[j.ins_h]=Y,Y++;while(--X);j.strstart=Y,j.lookahead=v-1,ZQ(j)}return j.strstart+=j.lookahead,j.block_start=j.strstart,j.insert=j.lookahead,j.lookahead=0,j.match_length=j.prev_length=v-1,j.match_available=0,Q.next_in=z,Q.input=U,Q.avail_in=q,j.wrap=G,I},q8=Q8,G8=E0,X8=D0,U8=y0,z8=s5,K8=J8,V8=W8,k8=j8,Y8="pako deflate (from Nodeca project)",vQ={deflateInit:q8,deflateInit2:G8,deflateReset:X8,deflateResetKeep:U8,deflateSetHeader:z8,deflate:K8,deflateEnd:V8,deflateSetDictionary:k8,deflateInfo:Y8},F8=(Q,W)=>{return Object.prototype.hasOwnProperty.call(Q,W)},Z8=function(Q){let W=Array.prototype.slice.call(arguments,1);while(W.length){let J=W.shift();if(!J)continue;if(typeof J!=="object")throw new TypeError(J+"must be non-object");for(let j in J)if(F8(J,j))Q[j]=J[j]}return Q},H8=(Q)=>{let W=0;for(let j=0,G=Q.length;j<G;j++)W+=Q[j].length;let J=new Uint8Array(W);for(let j=0,G=0,q=Q.length;j<q;j++){let z=Q[j];J.set(z,G),G+=z.length}return J},oQ={assign:Z8,flattenChunks:H8},I0=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(Q){I0=!1}var AQ=new Uint8Array(256);for(let Q=0;Q<256;Q++)AQ[Q]=Q>=252?6:Q>=248?5:Q>=240?4:Q>=224?3:Q>=192?2:1;AQ[254]=AQ[254]=1;var P8=(Q)=>{if(typeof TextEncoder==="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(Q);let W,J,j,G,q,z=Q.length,U=0;for(G=0;G<z;G++){if(J=Q.charCodeAt(G),(J&64512)===55296&&G+1<z){if(j=Q.charCodeAt(G+1),(j&64512)===56320)J=65536+(J-55296<<10)+(j-56320),G++}U+=J<128?1:J<2048?2:J<65536?3:4}W=new Uint8Array(U);for(q=0,G=0;q<U;G++){if(J=Q.charCodeAt(G),(J&64512)===55296&&G+1<z){if(j=Q.charCodeAt(G+1),(j&64512)===56320)J=65536+(J-55296<<10)+(j-56320),G++}if(J<128)W[q++]=J;else if(J<2048)W[q++]=192|J>>>6,W[q++]=128|J&63;else if(J<65536)W[q++]=224|J>>>12,W[q++]=128|J>>>6&63,W[q++]=128|J&63;else W[q++]=240|J>>>18,W[q++]=128|J>>>12&63,W[q++]=128|J>>>6&63,W[q++]=128|J&63}return W},B8=(Q,W)=>{if(W<65534){if(Q.subarray&&I0)return String.fromCharCode.apply(null,Q.length===W?Q:Q.subarray(0,W))}let J="";for(let j=0;j<W;j++)J+=String.fromCharCode(Q[j]);return J},C8=(Q,W)=>{let J=W||Q.length;if(typeof TextDecoder==="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(Q.subarray(0,W));let j,G,q=new Array(J*2);for(G=0,j=0;j<J;){let z=Q[j++];if(z<128){q[G++]=z;continue}let U=AQ[z];if(U>4){q[G++]=65533,j+=U-1;continue}z&=U===2?31:U===3?15:7;while(U>1&&j<J)z=z<<6|Q[j++]&63,U--;if(U>1){q[G++]=65533;continue}if(z<65536)q[G++]=z;else z-=65536,q[G++]=55296|z>>10&1023,q[G++]=56320|z&1023}return B8(q,G)},$8=(Q,W)=>{if(W=W||Q.length,W>Q.length)W=Q.length;let J=W-1;while(J>=0&&(Q[J]&192)===128)J--;if(J<0)return W;if(J===0)return W;return J+AQ[Q[J]]>W?J:W},SQ={string2buf:P8,buf2string:C8,utf8border:$8};function L8(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var b0=L8,f0=Object.prototype.toString,{Z_NO_FLUSH:N8,Z_SYNC_FLUSH:v8,Z_FULL_FLUSH:g8,Z_FINISH:R8,Z_OK:_Q,Z_STREAM_END:x8,Z_DEFAULT_COMPRESSION:O8,Z_DEFAULT_STRATEGY:M8,Z_DEFLATED:w8}=zQ;function EQ(Q){this.options=oQ.assign({level:O8,method:w8,chunkSize:16384,windowBits:15,memLevel:8,strategy:M8},Q||{});let W=this.options;if(W.raw&&W.windowBits>0)W.windowBits=-W.windowBits;else if(W.gzip&&W.windowBits>0&&W.windowBits<16)W.windowBits+=16;this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new b0,this.strm.avail_out=0;let J=vQ.deflateInit2(this.strm,W.level,W.method,W.windowBits,W.memLevel,W.strategy);if(J!==_Q)throw new Error(GQ[J]);if(W.header)vQ.deflateSetHeader(this.strm,W.header);if(W.dictionary){let j;if(typeof W.dictionary==="string")j=SQ.string2buf(W.dictionary);else if(f0.call(W.dictionary)==="[object ArrayBuffer]")j=new Uint8Array(W.dictionary);else j=W.dictionary;if(J=vQ.deflateSetDictionary(this.strm,j),J!==_Q)throw new Error(GQ[J]);this._dict_set=!0}}EQ.prototype.push=function(Q,W){let J=this.strm,j=this.options.chunkSize,G,q;if(this.ended)return!1;if(W===~~W)q=W;else q=W===!0?R8:N8;if(typeof Q==="string")J.input=SQ.string2buf(Q);else if(f0.call(Q)==="[object ArrayBuffer]")J.input=new Uint8Array(Q);else J.input=Q;J.next_in=0,J.avail_in=J.input.length;for(;;){if(J.avail_out===0)J.output=new Uint8Array(j),J.next_out=0,J.avail_out=j;if((q===v8||q===g8)&&J.avail_out<=6){this.onData(J.output.subarray(0,J.next_out)),J.avail_out=0;continue}if(G=vQ.deflate(J,q),G===x8){if(J.next_out>0)this.onData(J.output.subarray(0,J.next_out));return G=vQ.deflateEnd(this.strm),this.onEnd(G),this.ended=!0,G===_Q}if(J.avail_out===0){this.onData(J.output);continue}if(q>0&&J.next_out>0){this.onData(J.output.subarray(0,J.next_out)),J.avail_out=0;continue}if(J.avail_in===0)break}return!0};EQ.prototype.onData=function(Q){this.chunks.push(Q)};EQ.prototype.onEnd=function(Q){if(Q===_Q)this.result=oQ.flattenChunks(this.chunks);this.chunks=[],this.err=Q,this.msg=this.strm.msg};function MJ(Q,W){let J=new EQ(W);if(J.push(Q,!0),J.err)throw J.msg||GQ[J.err];return J.result}function A8(Q,W){return W=W||{},W.raw=!0,MJ(Q,W)}function S8(Q,W){return W=W||{},W.gzip=!0,MJ(Q,W)}var T8=EQ,y8=MJ,D8=A8,E8=S8,I8=zQ,b8={Deflate:T8,deflate:y8,deflateRaw:D8,gzip:E8,constants:I8},hQ=16209,f8=16191,u8=function Q(W,J){let j,G,q,z,U,Y,X,K,P,k,V,Z,M,$,C,O,L,F,R,y,H,A,g,B,N=W.state;j=W.next_in,g=W.input,G=j+(W.avail_in-5),q=W.next_out,B=W.output,z=q-(J-W.avail_out),U=q+(W.avail_out-257),Y=N.dmax,X=N.wsize,K=N.whave,P=N.wnext,k=N.window,V=N.hold,Z=N.bits,M=N.lencode,$=N.distcode,C=(1<<N.lenbits)-1,O=(1<<N.distbits)-1;Q:do{if(Z<15)V+=g[j++]<<Z,Z+=8,V+=g[j++]<<Z,Z+=8;L=M[V&C];J:for(;;){if(F=L>>>24,V>>>=F,Z-=F,F=L>>>16&255,F===0)B[q++]=L&65535;else if(F&16){if(R=L&65535,F&=15,F){if(Z<F)V+=g[j++]<<Z,Z+=8;R+=V&(1<<F)-1,V>>>=F,Z-=F}if(Z<15)V+=g[j++]<<Z,Z+=8,V+=g[j++]<<Z,Z+=8;L=$[V&O];W:for(;;){if(F=L>>>24,V>>>=F,Z-=F,F=L>>>16&255,F&16){if(y=L&65535,F&=15,Z<F){if(V+=g[j++]<<Z,Z+=8,Z<F)V+=g[j++]<<Z,Z+=8}if(y+=V&(1<<F)-1,y>Y){W.msg="invalid distance too far back",N.mode=hQ;break Q}if(V>>>=F,Z-=F,F=q-z,y>F){if(F=y-F,F>K){if(N.sane){W.msg="invalid distance too far back",N.mode=hQ;break Q}}if(H=0,A=k,P===0){if(H+=X-F,F<R){R-=F;do B[q++]=k[H++];while(--F);H=q-y,A=B}}else if(P<F){if(H+=X+P-F,F-=P,F<R){R-=F;do B[q++]=k[H++];while(--F);if(H=0,P<R){F=P,R-=F;do B[q++]=k[H++];while(--F);H=q-y,A=B}}}else if(H+=P-F,F<R){R-=F;do B[q++]=k[H++];while(--F);H=q-y,A=B}while(R>2)B[q++]=A[H++],B[q++]=A[H++],B[q++]=A[H++],R-=3;if(R){if(B[q++]=A[H++],R>1)B[q++]=A[H++]}}else{H=q-y;do B[q++]=B[H++],B[q++]=B[H++],B[q++]=B[H++],R-=3;while(R>2);if(R){if(B[q++]=B[H++],R>1)B[q++]=B[H++]}}}else if((F&64)===0){L=$[(L&65535)+(V&(1<<F)-1)];continue W}else{W.msg="invalid distance code",N.mode=hQ;break Q}break}}else if((F&64)===0){L=M[(L&65535)+(V&(1<<F)-1)];continue J}else if(F&32){N.mode=f8;break Q}else{W.msg="invalid literal/length code",N.mode=hQ;break Q}break}}while(j<G&&q<U);R=Z>>3,j-=R,Z-=R<<3,V&=(1<<Z)-1,W.next_in=j,W.next_out=q,W.avail_in=j<G?5+(G-j):5-(j-G),W.avail_out=q<U?257+(U-q):257-(q-U),N.hold=V,N.bits=Z;return},kQ=15,hJ=852,cJ=592,mJ=0,GJ=1,dJ=2,h8=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),c8=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),m8=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),d8=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),p8=(Q,W,J,j,G,q,z,U)=>{let Y=U.bits,X=0,K=0,P=0,k=0,V=0,Z=0,M=0,$=0,C=0,O=0,L,F,R,y,H,A=null,g,B=new Uint16Array(kQ+1),N=new Uint16Array(kQ+1),JQ=null,AJ,bQ,fQ;for(X=0;X<=kQ;X++)B[X]=0;for(K=0;K<j;K++)B[W[J+K]]++;V=Y;for(k=kQ;k>=1;k--)if(B[k]!==0)break;if(V>k)V=k;if(k===0)return G[q++]=20971520,G[q++]=20971520,U.bits=1,0;for(P=1;P<k;P++)if(B[P]!==0)break;if(V<P)V=P;$=1;for(X=1;X<=kQ;X++)if($<<=1,$-=B[X],$<0)return-1;if($>0&&(Q===mJ||k!==1))return-1;N[1]=0;for(X=1;X<kQ;X++)N[X+1]=N[X]+B[X];for(K=0;K<j;K++)if(W[J+K]!==0)z[N[W[J+K]]++]=K;if(Q===mJ)A=JQ=z,g=20;else if(Q===GJ)A=h8,JQ=c8,g=257;else A=m8,JQ=d8,g=0;if(O=0,K=0,X=P,H=q,Z=V,M=0,R=-1,C=1<<V,y=C-1,Q===GJ&&C>hJ||Q===dJ&&C>cJ)return 1;for(;;){if(AJ=X-M,z[K]+1<g)bQ=0,fQ=z[K];else if(z[K]>=g)bQ=JQ[z[K]-g],fQ=A[z[K]-g];else bQ=96,fQ=0;L=1<<X-M,F=1<<Z,P=F;do F-=L,G[H+(O>>M)+F]=AJ<<24|bQ<<16|fQ|0;while(F!==0);L=1<<X-1;while(O&L)L>>=1;if(L!==0)O&=L-1,O+=L;else O=0;if(K++,--B[X]===0){if(X===k)break;X=W[J+z[K]]}if(X>V&&(O&y)!==R){if(M===0)M=V;H+=P,Z=X-M,$=1<<Z;while(Z+M<k){if($-=B[Z+M],$<=0)break;Z++,$<<=1}if(C+=1<<Z,Q===GJ&&C>hJ||Q===dJ&&C>cJ)return 1;R=O&y,G[R]=V<<24|Z<<16|H-q|0}}if(O!==0)G[H+O]=X-M<<24|4194304|0;return U.bits=V,0},gQ=p8,l8=0,u0=1,h0=2,{Z_FINISH:pJ,Z_BLOCK:_8,Z_TREES:cQ,Z_OK:UQ,Z_STREAM_END:i8,Z_NEED_DICT:r8,Z_STREAM_ERROR:m,Z_DATA_ERROR:c0,Z_MEM_ERROR:m0,Z_BUF_ERROR:o8,Z_DEFLATED:lJ}=zQ,nQ=16180,_J=16181,iJ=16182,rJ=16183,oJ=16184,nJ=16185,aJ=16186,eJ=16187,tJ=16188,sJ=16189,iQ=16190,i=16191,XJ=16192,Q0=16193,UJ=16194,J0=16195,W0=16196,j0=16197,q0=16198,mQ=16199,dQ=16200,G0=16201,X0=16202,U0=16203,z0=16204,K0=16205,zJ=16206,V0=16207,k0=16208,S=16209,d0=16210,p0=16211,n8=852,a8=592,e8=15,t8=e8,Y0=(Q)=>{return(Q>>>24&255)+(Q>>>8&65280)+((Q&65280)<<8)+((Q&255)<<24)};function s8(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var KQ=(Q)=>{if(!Q)return 1;let W=Q.state;if(!W||W.strm!==Q||W.mode<nQ||W.mode>p0)return 1;return 0},l0=(Q)=>{if(KQ(Q))return m;let W=Q.state;if(Q.total_in=Q.total_out=W.total=0,Q.msg="",W.wrap)Q.adler=W.wrap&1;return W.mode=nQ,W.last=0,W.havedict=0,W.flags=-1,W.dmax=32768,W.head=null,W.hold=0,W.bits=0,W.lencode=W.lendyn=new Int32Array(n8),W.distcode=W.distdyn=new Int32Array(a8),W.sane=1,W.back=-1,UQ},_0=(Q)=>{if(KQ(Q))return m;let W=Q.state;return W.wsize=0,W.whave=0,W.wnext=0,l0(Q)},i0=(Q,W)=>{let J;if(KQ(Q))return m;let j=Q.state;if(W<0)J=0,W=-W;else if(J=(W>>4)+5,W<48)W&=15;if(W&&(W<8||W>15))return m;if(j.window!==null&&j.wbits!==W)j.window=null;return j.wrap=J,j.wbits=W,_0(Q)},r0=(Q,W)=>{if(!Q)return m;let J=new s8;Q.state=J,J.strm=Q,J.window=null,J.mode=nQ;let j=i0(Q,W);if(j!==UQ)Q.state=null;return j},Q1=(Q)=>{return r0(Q,t8)},F0=!0,KJ,VJ,J1=(Q)=>{if(F0){KJ=new Int32Array(512),VJ=new Int32Array(32);let W=0;while(W<144)Q.lens[W++]=8;while(W<256)Q.lens[W++]=9;while(W<280)Q.lens[W++]=7;while(W<288)Q.lens[W++]=8;gQ(u0,Q.lens,0,288,KJ,0,Q.work,{bits:9}),W=0;while(W<32)Q.lens[W++]=5;gQ(h0,Q.lens,0,32,VJ,0,Q.work,{bits:5}),F0=!1}Q.lencode=KJ,Q.lenbits=9,Q.distcode=VJ,Q.distbits=5},o0=(Q,W,J,j)=>{let G,q=Q.state;if(q.window===null)q.wsize=1<<q.wbits,q.wnext=0,q.whave=0,q.window=new Uint8Array(q.wsize);if(j>=q.wsize)q.window.set(W.subarray(J-q.wsize,J),0),q.wnext=0,q.whave=q.wsize;else{if(G=q.wsize-q.wnext,G>j)G=j;if(q.window.set(W.subarray(J-j,J-j+G),q.wnext),j-=G,j)q.window.set(W.subarray(J-j,J),0),q.wnext=j,q.whave=q.wsize;else{if(q.wnext+=G,q.wnext===q.wsize)q.wnext=0;if(q.whave<q.wsize)q.whave+=G}}return 0},W1=(Q,W)=>{let J,j,G,q,z,U,Y,X,K,P,k,V,Z,M,$=0,C,O,L,F,R,y,H,A,g=new Uint8Array(4),B,N,JQ=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(KQ(Q)||!Q.output||!Q.input&&Q.avail_in!==0)return m;if(J=Q.state,J.mode===i)J.mode=XJ;z=Q.next_out,G=Q.output,Y=Q.avail_out,q=Q.next_in,j=Q.input,U=Q.avail_in,X=J.hold,K=J.bits,P=U,k=Y,A=UQ;Q:for(;;)switch(J.mode){case nQ:if(J.wrap===0){J.mode=XJ;break}while(K<16){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(J.wrap&2&&X===35615){if(J.wbits===0)J.wbits=15;J.check=0,g[0]=X&255,g[1]=X>>>8&255,J.check=D(J.check,g,2,0),X=0,K=0,J.mode=_J;break}if(J.head)J.head.done=!1;if(!(J.wrap&1)||(((X&255)<<8)+(X>>8))%31){Q.msg="incorrect header check",J.mode=S;break}if((X&15)!==lJ){Q.msg="unknown compression method",J.mode=S;break}if(X>>>=4,K-=4,H=(X&15)+8,J.wbits===0)J.wbits=H;if(H>15||H>J.wbits){Q.msg="invalid window size",J.mode=S;break}J.dmax=1<<J.wbits,J.flags=0,Q.adler=J.check=1,J.mode=X&512?sJ:i,X=0,K=0;break;case _J:while(K<16){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(J.flags=X,(J.flags&255)!==lJ){Q.msg="unknown compression method",J.mode=S;break}if(J.flags&57344){Q.msg="unknown header flags set",J.mode=S;break}if(J.head)J.head.text=X>>8&1;if(J.flags&512&&J.wrap&4)g[0]=X&255,g[1]=X>>>8&255,J.check=D(J.check,g,2,0);X=0,K=0,J.mode=iJ;case iJ:while(K<32){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(J.head)J.head.time=X;if(J.flags&512&&J.wrap&4)g[0]=X&255,g[1]=X>>>8&255,g[2]=X>>>16&255,g[3]=X>>>24&255,J.check=D(J.check,g,4,0);X=0,K=0,J.mode=rJ;case rJ:while(K<16){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(J.head)J.head.xflags=X&255,J.head.os=X>>8;if(J.flags&512&&J.wrap&4)g[0]=X&255,g[1]=X>>>8&255,J.check=D(J.check,g,2,0);X=0,K=0,J.mode=oJ;case oJ:if(J.flags&1024){while(K<16){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(J.length=X,J.head)J.head.extra_len=X;if(J.flags&512&&J.wrap&4)g[0]=X&255,g[1]=X>>>8&255,J.check=D(J.check,g,2,0);X=0,K=0}else if(J.head)J.head.extra=null;J.mode=nJ;case nJ:if(J.flags&1024){if(V=J.length,V>U)V=U;if(V){if(J.head){if(H=J.head.extra_len-J.length,!J.head.extra)J.head.extra=new Uint8Array(J.head.extra_len);J.head.extra.set(j.subarray(q,q+V),H)}if(J.flags&512&&J.wrap&4)J.check=D(J.check,j,V,q);U-=V,q+=V,J.length-=V}if(J.length)break Q}J.length=0,J.mode=aJ;case aJ:if(J.flags&2048){if(U===0)break Q;V=0;do if(H=j[q+V++],J.head&&H&&J.length<65536)J.head.name+=String.fromCharCode(H);while(H&&V<U);if(J.flags&512&&J.wrap&4)J.check=D(J.check,j,V,q);if(U-=V,q+=V,H)break Q}else if(J.head)J.head.name=null;J.length=0,J.mode=eJ;case eJ:if(J.flags&4096){if(U===0)break Q;V=0;do if(H=j[q+V++],J.head&&H&&J.length<65536)J.head.comment+=String.fromCharCode(H);while(H&&V<U);if(J.flags&512&&J.wrap&4)J.check=D(J.check,j,V,q);if(U-=V,q+=V,H)break Q}else if(J.head)J.head.comment=null;J.mode=tJ;case tJ:if(J.flags&512){while(K<16){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(J.wrap&4&&X!==(J.check&65535)){Q.msg="header crc mismatch",J.mode=S;break}X=0,K=0}if(J.head)J.head.hcrc=J.flags>>9&1,J.head.done=!0;Q.adler=J.check=0,J.mode=i;break;case sJ:while(K<32){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}Q.adler=J.check=Y0(X),X=0,K=0,J.mode=iQ;case iQ:if(J.havedict===0)return Q.next_out=z,Q.avail_out=Y,Q.next_in=q,Q.avail_in=U,J.hold=X,J.bits=K,r8;Q.adler=J.check=1,J.mode=i;case i:if(W===_8||W===cQ)break Q;case XJ:if(J.last){X>>>=K&7,K-=K&7,J.mode=zJ;break}while(K<3){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}switch(J.last=X&1,X>>>=1,K-=1,X&3){case 0:J.mode=Q0;break;case 1:if(J1(J),J.mode=mQ,W===cQ){X>>>=2,K-=2;break Q}break;case 2:J.mode=W0;break;case 3:Q.msg="invalid block type",J.mode=S}X>>>=2,K-=2;break;case Q0:X>>>=K&7,K-=K&7;while(K<32){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if((X&65535)!==(X>>>16^65535)){Q.msg="invalid stored block lengths",J.mode=S;break}if(J.length=X&65535,X=0,K=0,J.mode=UJ,W===cQ)break Q;case UJ:J.mode=J0;case J0:if(V=J.length,V){if(V>U)V=U;if(V>Y)V=Y;if(V===0)break Q;G.set(j.subarray(q,q+V),z),U-=V,q+=V,Y-=V,z+=V,J.length-=V;break}J.mode=i;break;case W0:while(K<14){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(J.nlen=(X&31)+257,X>>>=5,K-=5,J.ndist=(X&31)+1,X>>>=5,K-=5,J.ncode=(X&15)+4,X>>>=4,K-=4,J.nlen>286||J.ndist>30){Q.msg="too many length or distance symbols",J.mode=S;break}J.have=0,J.mode=j0;case j0:while(J.have<J.ncode){while(K<3){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}J.lens[JQ[J.have++]]=X&7,X>>>=3,K-=3}while(J.have<19)J.lens[JQ[J.have++]]=0;if(J.lencode=J.lendyn,J.lenbits=7,B={bits:J.lenbits},A=gQ(l8,J.lens,0,19,J.lencode,0,J.work,B),J.lenbits=B.bits,A){Q.msg="invalid code lengths set",J.mode=S;break}J.have=0,J.mode=q0;case q0:while(J.have<J.nlen+J.ndist){for(;;){if($=J.lencode[X&(1<<J.lenbits)-1],C=$>>>24,O=$>>>16&255,L=$&65535,C<=K)break;if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(L<16)X>>>=C,K-=C,J.lens[J.have++]=L;else{if(L===16){N=C+2;while(K<N){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(X>>>=C,K-=C,J.have===0){Q.msg="invalid bit length repeat",J.mode=S;break}H=J.lens[J.have-1],V=3+(X&3),X>>>=2,K-=2}else if(L===17){N=C+3;while(K<N){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}X>>>=C,K-=C,H=0,V=3+(X&7),X>>>=3,K-=3}else{N=C+7;while(K<N){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}X>>>=C,K-=C,H=0,V=11+(X&127),X>>>=7,K-=7}if(J.have+V>J.nlen+J.ndist){Q.msg="invalid bit length repeat",J.mode=S;break}while(V--)J.lens[J.have++]=H}}if(J.mode===S)break;if(J.lens[256]===0){Q.msg="invalid code -- missing end-of-block",J.mode=S;break}if(J.lenbits=9,B={bits:J.lenbits},A=gQ(u0,J.lens,0,J.nlen,J.lencode,0,J.work,B),J.lenbits=B.bits,A){Q.msg="invalid literal/lengths set",J.mode=S;break}if(J.distbits=6,J.distcode=J.distdyn,B={bits:J.distbits},A=gQ(h0,J.lens,J.nlen,J.ndist,J.distcode,0,J.work,B),J.distbits=B.bits,A){Q.msg="invalid distances set",J.mode=S;break}if(J.mode=mQ,W===cQ)break Q;case mQ:J.mode=dQ;case dQ:if(U>=6&&Y>=258){if(Q.next_out=z,Q.avail_out=Y,Q.next_in=q,Q.avail_in=U,J.hold=X,J.bits=K,u8(Q,k),z=Q.next_out,G=Q.output,Y=Q.avail_out,q=Q.next_in,j=Q.input,U=Q.avail_in,X=J.hold,K=J.bits,J.mode===i)J.back=-1;break}J.back=0;for(;;){if($=J.lencode[X&(1<<J.lenbits)-1],C=$>>>24,O=$>>>16&255,L=$&65535,C<=K)break;if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(O&&(O&240)===0){F=C,R=O,y=L;for(;;){if($=J.lencode[y+((X&(1<<F+R)-1)>>F)],C=$>>>24,O=$>>>16&255,L=$&65535,F+C<=K)break;if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}X>>>=F,K-=F,J.back+=F}if(X>>>=C,K-=C,J.back+=C,J.length=L,O===0){J.mode=K0;break}if(O&32){J.back=-1,J.mode=i;break}if(O&64){Q.msg="invalid literal/length code",J.mode=S;break}J.extra=O&15,J.mode=G0;case G0:if(J.extra){N=J.extra;while(K<N){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}J.length+=X&(1<<J.extra)-1,X>>>=J.extra,K-=J.extra,J.back+=J.extra}J.was=J.length,J.mode=X0;case X0:for(;;){if($=J.distcode[X&(1<<J.distbits)-1],C=$>>>24,O=$>>>16&255,L=$&65535,C<=K)break;if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if((O&240)===0){F=C,R=O,y=L;for(;;){if($=J.distcode[y+((X&(1<<F+R)-1)>>F)],C=$>>>24,O=$>>>16&255,L=$&65535,F+C<=K)break;if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}X>>>=F,K-=F,J.back+=F}if(X>>>=C,K-=C,J.back+=C,O&64){Q.msg="invalid distance code",J.mode=S;break}J.offset=L,J.extra=O&15,J.mode=U0;case U0:if(J.extra){N=J.extra;while(K<N){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}J.offset+=X&(1<<J.extra)-1,X>>>=J.extra,K-=J.extra,J.back+=J.extra}if(J.offset>J.dmax){Q.msg="invalid distance too far back",J.mode=S;break}J.mode=z0;case z0:if(Y===0)break Q;if(V=k-Y,J.offset>V){if(V=J.offset-V,V>J.whave){if(J.sane){Q.msg="invalid distance too far back",J.mode=S;break}}if(V>J.wnext)V-=J.wnext,Z=J.wsize-V;else Z=J.wnext-V;if(V>J.length)V=J.length;M=J.window}else M=G,Z=z-J.offset,V=J.length;if(V>Y)V=Y;Y-=V,J.length-=V;do G[z++]=M[Z++];while(--V);if(J.length===0)J.mode=dQ;break;case K0:if(Y===0)break Q;G[z++]=J.length,Y--,J.mode=dQ;break;case zJ:if(J.wrap){while(K<32){if(U===0)break Q;U--,X|=j[q++]<<K,K+=8}if(k-=Y,Q.total_out+=k,J.total+=k,J.wrap&4&&k)Q.adler=J.check=J.flags?D(J.check,G,k,z-k):wQ(J.check,G,k,z-k);if(k=Y,J.wrap&4&&(J.flags?X:Y0(X))!==J.check){Q.msg="incorrect data check",J.mode=S;break}X=0,K=0}J.mode=V0;case V0:if(J.wrap&&J.flags){while(K<32){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(J.wrap&4&&X!==(J.total&4294967295)){Q.msg="incorrect length check",J.mode=S;break}X=0,K=0}J.mode=k0;case k0:A=i8;break Q;case S:A=c0;break Q;case d0:return m0;case p0:default:return m}if(Q.next_out=z,Q.avail_out=Y,Q.next_in=q,Q.avail_in=U,J.hold=X,J.bits=K,J.wsize||k!==Q.avail_out&&J.mode<S&&(J.mode<zJ||W!==pJ)){if(o0(Q,Q.output,Q.next_out,k-Q.avail_out));}if(P-=Q.avail_in,k-=Q.avail_out,Q.total_in+=P,Q.total_out+=k,J.total+=k,J.wrap&4&&k)Q.adler=J.check=J.flags?D(J.check,G,k,Q.next_out-k):wQ(J.check,G,k,Q.next_out-k);if(Q.data_type=J.bits+(J.last?64:0)+(J.mode===i?128:0)+(J.mode===mQ||J.mode===UJ?256:0),(P===0&&k===0||W===pJ)&&A===UQ)A=o8;return A},j1=(Q)=>{if(KQ(Q))return m;let W=Q.state;if(W.window)W.window=null;return Q.state=null,UQ},q1=(Q,W)=>{if(KQ(Q))return m;let J=Q.state;if((J.wrap&2)===0)return m;return J.head=W,W.done=!1,UQ},G1=(Q,W)=>{let J=W.length,j,G,q;if(KQ(Q))return m;if(j=Q.state,j.wrap!==0&&j.mode!==iQ)return m;if(j.mode===iQ){if(G=1,G=wQ(G,W,J,0),G!==j.check)return c0}if(q=o0(Q,W,J,J),q)return j.mode=d0,m0;return j.havedict=1,UQ},X1=_0,U1=i0,z1=l0,K1=Q1,V1=r0,k1=W1,Y1=j1,F1=q1,Z1=G1,H1="pako inflate (from Nodeca project)",o={inflateReset:X1,inflateReset2:U1,inflateResetKeep:z1,inflateInit:K1,inflateInit2:V1,inflate:k1,inflateEnd:Y1,inflateGetHeader:F1,inflateSetDictionary:Z1,inflateInfo:H1};function P1(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}var B1=P1,n0=Object.prototype.toString,{Z_NO_FLUSH:C1,Z_FINISH:$1,Z_OK:TQ,Z_STREAM_END:kJ,Z_NEED_DICT:YJ,Z_STREAM_ERROR:L1,Z_DATA_ERROR:Z0,Z_MEM_ERROR:N1}=zQ;function IQ(Q){this.options=oQ.assign({chunkSize:65536,windowBits:15,to:""},Q||{});let W=this.options;if(W.raw&&W.windowBits>=0&&W.windowBits<16){if(W.windowBits=-W.windowBits,W.windowBits===0)W.windowBits=-15}if(W.windowBits>=0&&W.windowBits<16&&!(Q&&Q.windowBits))W.windowBits+=32;if(W.windowBits>15&&W.windowBits<48){if((W.windowBits&15)===0)W.windowBits|=15}this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new b0,this.strm.avail_out=0;let J=o.inflateInit2(this.strm,W.windowBits);if(J!==TQ)throw new Error(GQ[J]);if(this.header=new B1,o.inflateGetHeader(this.strm,this.header),W.dictionary){if(typeof W.dictionary==="string")W.dictionary=SQ.string2buf(W.dictionary);else if(n0.call(W.dictionary)==="[object ArrayBuffer]")W.dictionary=new Uint8Array(W.dictionary);if(W.raw){if(J=o.inflateSetDictionary(this.strm,W.dictionary),J!==TQ)throw new Error(GQ[J])}}}IQ.prototype.push=function(Q,W){let J=this.strm,j=this.options.chunkSize,G=this.options.dictionary,q,z,U;if(this.ended)return!1;if(W===~~W)z=W;else z=W===!0?$1:C1;if(n0.call(Q)==="[object ArrayBuffer]")J.input=new Uint8Array(Q);else J.input=Q;J.next_in=0,J.avail_in=J.input.length;for(;;){if(J.avail_out===0)J.output=new Uint8Array(j),J.next_out=0,J.avail_out=j;if(q=o.inflate(J,z),q===YJ&&G){if(q=o.inflateSetDictionary(J,G),q===TQ)q=o.inflate(J,z);else if(q===Z0)q=YJ}while(J.avail_in>0&&q===kJ&&J.state.wrap>0&&Q[J.next_in]!==0)o.inflateReset(J),q=o.inflate(J,z);switch(q){case L1:case Z0:case YJ:case N1:return this.onEnd(q),this.ended=!0,!1}if(U=J.avail_out,J.next_out){if(J.avail_out===0||q===kJ)if(this.options.to==="string"){let Y=SQ.utf8border(J.output,J.next_out),X=J.next_out-Y,K=SQ.buf2string(J.output,Y);if(J.next_out=X,J.avail_out=j-X,X)J.output.set(J.output.subarray(Y,Y+X),0);this.onData(K)}else this.onData(J.output.length===J.next_out?J.output:J.output.subarray(0,J.next_out))}if(q===TQ&&U===0)continue;if(q===kJ)return q=o.inflateEnd(this.strm),this.onEnd(q),this.ended=!0,!0;if(J.avail_in===0)break}return!0};IQ.prototype.onData=function(Q){this.chunks.push(Q)};IQ.prototype.onEnd=function(Q){if(Q===TQ)if(this.options.to==="string")this.result=this.chunks.join("");else this.result=oQ.flattenChunks(this.chunks);this.chunks=[],this.err=Q,this.msg=this.strm.msg};function wJ(Q,W){let J=new IQ(W);if(J.push(Q),J.err)throw J.msg||GQ[J.err];return J.result}function v1(Q,W){return W=W||{},W.raw=!0,wJ(Q,W)}var g1=IQ,R1=wJ,x1=v1,O1=wJ,M1=zQ,w1={Inflate:g1,inflate:R1,inflateRaw:x1,ungzip:O1,constants:M1},{Deflate:A1,deflate:S1,deflateRaw:T1,gzip:y1}=b8,{Inflate:D1,inflate:E1,inflateRaw:I1,ungzip:b1}=w1,f1=A1,u1=S1,h1=T1,c1=y1,m1=D1,d1=E1,p1=I1,l1=b1,_1=zQ,aQ={Deflate:f1,deflate:u1,deflateRaw:h1,gzip:c1,Inflate:m1,inflate:d1,inflateRaw:p1,ungzip:l1,constants:_1};class w{static version="4.1.0";static logger=new eQ;icons=new Map;name="failed-to-find-vyi-name";formatVersion=1;constructor(Q){if(w.logger.registerType("Vyi-module","#ff6600"),Q)this.parse(Q)}parse(Q){if(!Q)return this;try{let W;if(typeof Q==="string")try{W=JSON.parse(Q)}catch(J){if(!Q.includes(".vyr")&&!Q.includes(".vyi")){if(W=Q,!W)throw new Error("Non vyi data found from binary string")}else try{W=JSON.parse(Q)}catch(j){if(typeof window==="undefined")W=this.readFileAndGetVYI(Q);else throw new Error("Invalid string input - not valid JSON or file path")}}else if(Q instanceof w)W=Q.export();else if(Q instanceof Object&&!Array.isArray(Q)&&!(Q instanceof ArrayBuffer||Q instanceof Uint8Array))W=Q;else if(Q instanceof ArrayBuffer||Q instanceof Uint8Array)W=this.handleBinaryData(Q);else throw new Error("Error processing: Invalid input type provided.");if(!W||(!W.v||!W.i)&&!W.icons)throw new Error("Non vyi data found.");this.processVyiData(W)}catch(W){w.logger.prefix("Vyi-module").error(\`\${W.message}\`)}return this}readFile(Q){try{let J=new TextEncoder().encode(Q),j=aQ.inflate(J,{to:"string"});return JSON.parse(j)}catch(W){return console.error("File reading failed:",W),null}}readFileAndGetVYI(Q){let J=(()=>({})).readFileSync(Q);return this.handleBinaryData(J)}async fetchAndParseJSON(Q){try{return await(await fetch(Q)).json()}catch(W){throw new Error(\`Failed to fetch or parse JSON from URL: \${W}\`)}}handleBinaryData(Q){let W=Q instanceof ArrayBuffer?new Uint8Array(Q):Q;try{let J=aQ.inflate(W,{to:"string"});if(!J)return null;return JSON.parse(J)}catch(J){try{let j=new TextDecoder().decode(W);if(!j)return null;return JSON.parse(j)}catch(j){return console.error("Decoding failed:",j),null}}}processVyiData(Q){this.icons.clear();let W=Q.i||Q.icons;if(this.formatVersion=Q.v??"format not found",Array.isArray(W))W.forEach((J)=>{if(!Array.isArray(J)&&typeof J==="object"){let j=this.convertOldIconData(J);this.addIcon(j)}else this.addIcon(J)});else w.logger.prefix("Vyi-module").error("Invalid .vyi file! Cannot parse icons.")}convertOldIconData(Q){let W=Array.isArray(Q.frames)?Q.frames.map((j)=>[j.data,j.delay]):[],J=Array.isArray(Q.states)?Q.states.map((j)=>{let G=Array.isArray(j.frames)?j.frames.map((q)=>[q.data,q.delay]):[];return[j.name,j.data,j.delay||100,G]}):[];return[Q.name||"",Q.w||32,Q.h||32,Q.delay||100,Q.data||"",W,J]}addIcon(Q){if(!Q){w.logger.prefix("Vyi-module").error("No icon data passed!");return}if(!(Q instanceof T)&&!Array.isArray(Q)){w.logger.prefix("Vyi-module").error("Invalid icon data type passed!");return}let W=Q instanceof T?Q:new T(Q);return this.icons.set(W.id,W),W.setVyi(this),W}removeIcon(Q){if(!Q)return;if(Q instanceof T){if(this.icons.delete(Q.id))Q.removeVyi()}}removeIconByName(Q){let W=this.getIcon(Q);if(W)this.removeIcon(W)}removeIconById(Q){let W=this.getIconById(Q);if(W)this.removeIcon(W)}getIconNames(){return this.getIcons().map((W)=>W.name)}getIcon(Q){if(typeof Q==="string"){let W=this.getIcons();for(let J=W.length-1;J>=0;J--){let j=W[J];if(j.getName()===Q)return j}}else w.logger.prefix("Vyi-module").error("Invalid name type used!")}getIconCount(){return this.icons.size}getIconById(Q){if(!Q)return;return this.icons.get(Q)||this.getIcons().find((J)=>J.states.has(Q))?.getStateById(Q)}getIcons(){return Array.from(this.icons.values())}rename(Q){if(typeof Q==="string")this.name=Q;else w.logger.prefix("Vyi-module").error("Invalid name type used!")}getName(){return this.name}export(Q){let W={v:this.formatVersion,i:this.getIcons().map((J)=>J.export())};if(Q){let J=new TextEncoder().encode(JSON.stringify(W));return aQ.deflate(J)}return W}}self.onmessage=function(Q){let{id:W,type:J,data:j}=Q.data;try{if(J==="parse"){let q=new w(j).export();self.postMessage({id:W,success:!0,data:q})}}catch(G){let q=G instanceof Error?G.message:"Unknown error";console.error("Worker error:",G),self.postMessage({id:W,success:!1,error:q})}};
|
|
9035
|
+
`;
|
|
9036
|
+
var WORKER_BLOB = new Blob([WORKER_CODE], { type: "application/javascript" });
|
|
9037
|
+
var WORKER_SCRIPT_URL = URL.createObjectURL(WORKER_BLOB);
|
|
9283
9038
|
|
|
9284
|
-
class
|
|
9285
|
-
static
|
|
9286
|
-
|
|
9287
|
-
|
|
9288
|
-
|
|
9289
|
-
|
|
9290
|
-
|
|
9291
|
-
|
|
9292
|
-
|
|
9293
|
-
|
|
9039
|
+
class WorkerPool {
|
|
9040
|
+
static instance = null;
|
|
9041
|
+
workers = [];
|
|
9042
|
+
availableWorkers = [];
|
|
9043
|
+
maxWorkers;
|
|
9044
|
+
messageId = 0;
|
|
9045
|
+
pendingMessages = new Map;
|
|
9046
|
+
waitQueue = [];
|
|
9047
|
+
constructor(maxWorkers = navigator.hardwareConcurrency || 4) {
|
|
9048
|
+
this.maxWorkers = maxWorkers;
|
|
9049
|
+
this.initializeWorkers();
|
|
9050
|
+
}
|
|
9051
|
+
static getInstance(maxWorkers) {
|
|
9052
|
+
if (!WorkerPool.instance) {
|
|
9053
|
+
WorkerPool.instance = new WorkerPool(maxWorkers);
|
|
9294
9054
|
}
|
|
9055
|
+
return WorkerPool.instance;
|
|
9295
9056
|
}
|
|
9296
|
-
|
|
9297
|
-
if (
|
|
9298
|
-
|
|
9299
|
-
|
|
9300
|
-
|
|
9301
|
-
|
|
9302
|
-
|
|
9303
|
-
|
|
9304
|
-
|
|
9305
|
-
|
|
9306
|
-
|
|
9307
|
-
|
|
9308
|
-
|
|
9309
|
-
|
|
9310
|
-
|
|
9311
|
-
|
|
9312
|
-
|
|
9313
|
-
|
|
9314
|
-
|
|
9315
|
-
|
|
9316
|
-
|
|
9317
|
-
|
|
9318
|
-
|
|
9319
|
-
|
|
9320
|
-
}
|
|
9321
|
-
}
|
|
9057
|
+
static destroy() {
|
|
9058
|
+
if (WorkerPool.instance) {
|
|
9059
|
+
WorkerPool.instance.terminate();
|
|
9060
|
+
WorkerPool.instance = null;
|
|
9061
|
+
}
|
|
9062
|
+
}
|
|
9063
|
+
initializeWorkers() {
|
|
9064
|
+
for (let i = 0;i < this.maxWorkers; i++) {
|
|
9065
|
+
const worker = this.createWorker();
|
|
9066
|
+
this.workers.push(worker);
|
|
9067
|
+
this.availableWorkers.push(worker);
|
|
9068
|
+
}
|
|
9069
|
+
}
|
|
9070
|
+
createWorker() {
|
|
9071
|
+
const worker = new Worker(WORKER_SCRIPT_URL, { type: "module" });
|
|
9072
|
+
worker.onmessage = (event) => {
|
|
9073
|
+
const { id, success, data, error } = event.data;
|
|
9074
|
+
const pending = this.pendingMessages.get(id);
|
|
9075
|
+
if (pending) {
|
|
9076
|
+
this.pendingMessages.delete(id);
|
|
9077
|
+
if (success) {
|
|
9078
|
+
pending.resolve(data);
|
|
9079
|
+
} else {
|
|
9080
|
+
pending.reject(new Error(error));
|
|
9322
9081
|
}
|
|
9323
|
-
} else if (pVyiData instanceof VYI) {
|
|
9324
|
-
vyi = pVyiData.export();
|
|
9325
|
-
} else if (pVyiData instanceof Object && !Array.isArray(pVyiData) && !(pVyiData instanceof ArrayBuffer || pVyiData instanceof Uint8Array)) {
|
|
9326
|
-
vyi = pVyiData;
|
|
9327
|
-
} else if (pVyiData instanceof ArrayBuffer || pVyiData instanceof Uint8Array) {
|
|
9328
|
-
vyi = this.handleBinaryData(pVyiData);
|
|
9329
|
-
} else {
|
|
9330
|
-
throw new Error("Error processing: Invalid input type provided.");
|
|
9331
9082
|
}
|
|
9332
|
-
|
|
9333
|
-
|
|
9083
|
+
};
|
|
9084
|
+
worker.onerror = (error) => {
|
|
9085
|
+
console.error("Worker error:", error);
|
|
9086
|
+
for (const [id, pending] of this.pendingMessages) {
|
|
9087
|
+
pending.reject(new Error(`Worker error: ${error.message}`));
|
|
9334
9088
|
}
|
|
9335
|
-
this.
|
|
9336
|
-
}
|
|
9337
|
-
|
|
9089
|
+
this.pendingMessages.clear();
|
|
9090
|
+
};
|
|
9091
|
+
return worker;
|
|
9092
|
+
}
|
|
9093
|
+
async getWorker() {
|
|
9094
|
+
if (this.availableWorkers.length > 0) {
|
|
9095
|
+
return this.availableWorkers.pop();
|
|
9096
|
+
}
|
|
9097
|
+
if (this.workers.length === 0) {
|
|
9098
|
+
throw new Error("Workers have been terminated. Create a new VyiWorker instance to continue.");
|
|
9099
|
+
}
|
|
9100
|
+
return new Promise((resolve3) => {
|
|
9101
|
+
this.waitQueue.push(resolve3);
|
|
9102
|
+
});
|
|
9103
|
+
}
|
|
9104
|
+
returnWorker(worker) {
|
|
9105
|
+
if (this.waitQueue.length > 0) {
|
|
9106
|
+
const resolve3 = this.waitQueue.shift();
|
|
9107
|
+
resolve3(worker);
|
|
9108
|
+
} else if (this.workers.includes(worker)) {
|
|
9109
|
+
this.availableWorkers.push(worker);
|
|
9338
9110
|
}
|
|
9339
|
-
return this;
|
|
9340
9111
|
}
|
|
9341
|
-
|
|
9342
|
-
|
|
9343
|
-
|
|
9344
|
-
|
|
9345
|
-
|
|
9346
|
-
|
|
9347
|
-
|
|
9348
|
-
|
|
9349
|
-
|
|
9112
|
+
async sendMessage(worker, type, data) {
|
|
9113
|
+
const id = `${this.messageId++}`;
|
|
9114
|
+
return new Promise((resolve3, reject) => {
|
|
9115
|
+
this.pendingMessages.set(id, { resolve: resolve3, reject });
|
|
9116
|
+
worker.postMessage({ id, type, data });
|
|
9117
|
+
setTimeout(() => {
|
|
9118
|
+
if (this.pendingMessages.has(id)) {
|
|
9119
|
+
this.pendingMessages.delete(id);
|
|
9120
|
+
reject(new Error("Worker message timeout"));
|
|
9121
|
+
}
|
|
9122
|
+
}, 30000);
|
|
9123
|
+
});
|
|
9124
|
+
}
|
|
9125
|
+
terminate() {
|
|
9126
|
+
for (const worker of this.workers) {
|
|
9127
|
+
worker.terminate();
|
|
9128
|
+
}
|
|
9129
|
+
this.workers = [];
|
|
9130
|
+
this.availableWorkers = [];
|
|
9131
|
+
for (const [id, pending] of this.pendingMessages) {
|
|
9132
|
+
pending.reject(new Error("Worker terminated"));
|
|
9350
9133
|
}
|
|
9134
|
+
this.pendingMessages.clear();
|
|
9351
9135
|
}
|
|
9352
|
-
|
|
9353
|
-
|
|
9354
|
-
|
|
9355
|
-
|
|
9136
|
+
}
|
|
9137
|
+
|
|
9138
|
+
// src/cli/app-bundler.ts
|
|
9139
|
+
import { promises as fs, existsSync } from "fs";
|
|
9140
|
+
import { join as join3, dirname as dirname3, extname as extname2, resolve as resolve3 } from "path";
|
|
9141
|
+
|
|
9142
|
+
// node_modules/chalk/source/vendor/ansi-styles/index.js
|
|
9143
|
+
var ANSI_BACKGROUND_OFFSET = 10;
|
|
9144
|
+
var wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`;
|
|
9145
|
+
var wrapAnsi256 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`;
|
|
9146
|
+
var wrapAnsi16m = (offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`;
|
|
9147
|
+
var styles = {
|
|
9148
|
+
modifier: {
|
|
9149
|
+
reset: [0, 0],
|
|
9150
|
+
bold: [1, 22],
|
|
9151
|
+
dim: [2, 22],
|
|
9152
|
+
italic: [3, 23],
|
|
9153
|
+
underline: [4, 24],
|
|
9154
|
+
overline: [53, 55],
|
|
9155
|
+
inverse: [7, 27],
|
|
9156
|
+
hidden: [8, 28],
|
|
9157
|
+
strikethrough: [9, 29]
|
|
9158
|
+
},
|
|
9159
|
+
color: {
|
|
9160
|
+
black: [30, 39],
|
|
9161
|
+
red: [31, 39],
|
|
9162
|
+
green: [32, 39],
|
|
9163
|
+
yellow: [33, 39],
|
|
9164
|
+
blue: [34, 39],
|
|
9165
|
+
magenta: [35, 39],
|
|
9166
|
+
cyan: [36, 39],
|
|
9167
|
+
white: [37, 39],
|
|
9168
|
+
blackBright: [90, 39],
|
|
9169
|
+
gray: [90, 39],
|
|
9170
|
+
grey: [90, 39],
|
|
9171
|
+
redBright: [91, 39],
|
|
9172
|
+
greenBright: [92, 39],
|
|
9173
|
+
yellowBright: [93, 39],
|
|
9174
|
+
blueBright: [94, 39],
|
|
9175
|
+
magentaBright: [95, 39],
|
|
9176
|
+
cyanBright: [96, 39],
|
|
9177
|
+
whiteBright: [97, 39]
|
|
9178
|
+
},
|
|
9179
|
+
bgColor: {
|
|
9180
|
+
bgBlack: [40, 49],
|
|
9181
|
+
bgRed: [41, 49],
|
|
9182
|
+
bgGreen: [42, 49],
|
|
9183
|
+
bgYellow: [43, 49],
|
|
9184
|
+
bgBlue: [44, 49],
|
|
9185
|
+
bgMagenta: [45, 49],
|
|
9186
|
+
bgCyan: [46, 49],
|
|
9187
|
+
bgWhite: [47, 49],
|
|
9188
|
+
bgBlackBright: [100, 49],
|
|
9189
|
+
bgGray: [100, 49],
|
|
9190
|
+
bgGrey: [100, 49],
|
|
9191
|
+
bgRedBright: [101, 49],
|
|
9192
|
+
bgGreenBright: [102, 49],
|
|
9193
|
+
bgYellowBright: [103, 49],
|
|
9194
|
+
bgBlueBright: [104, 49],
|
|
9195
|
+
bgMagentaBright: [105, 49],
|
|
9196
|
+
bgCyanBright: [106, 49],
|
|
9197
|
+
bgWhiteBright: [107, 49]
|
|
9356
9198
|
}
|
|
9357
|
-
|
|
9358
|
-
|
|
9359
|
-
|
|
9360
|
-
|
|
9361
|
-
|
|
9362
|
-
|
|
9363
|
-
|
|
9199
|
+
};
|
|
9200
|
+
var modifierNames = Object.keys(styles.modifier);
|
|
9201
|
+
var foregroundColorNames = Object.keys(styles.color);
|
|
9202
|
+
var backgroundColorNames = Object.keys(styles.bgColor);
|
|
9203
|
+
var colorNames = [...foregroundColorNames, ...backgroundColorNames];
|
|
9204
|
+
function assembleStyles() {
|
|
9205
|
+
const codes = new Map;
|
|
9206
|
+
for (const [groupName, group] of Object.entries(styles)) {
|
|
9207
|
+
for (const [styleName, style] of Object.entries(group)) {
|
|
9208
|
+
styles[styleName] = {
|
|
9209
|
+
open: `\x1B[${style[0]}m`,
|
|
9210
|
+
close: `\x1B[${style[1]}m`
|
|
9211
|
+
};
|
|
9212
|
+
group[styleName] = styles[styleName];
|
|
9213
|
+
codes.set(style[0], style[1]);
|
|
9364
9214
|
}
|
|
9215
|
+
Object.defineProperty(styles, groupName, {
|
|
9216
|
+
value: group,
|
|
9217
|
+
enumerable: false
|
|
9218
|
+
});
|
|
9365
9219
|
}
|
|
9366
|
-
|
|
9367
|
-
|
|
9368
|
-
|
|
9369
|
-
|
|
9370
|
-
|
|
9371
|
-
|
|
9372
|
-
|
|
9373
|
-
|
|
9374
|
-
|
|
9375
|
-
|
|
9376
|
-
|
|
9377
|
-
|
|
9378
|
-
|
|
9379
|
-
|
|
9380
|
-
|
|
9381
|
-
|
|
9382
|
-
|
|
9220
|
+
Object.defineProperty(styles, "codes", {
|
|
9221
|
+
value: codes,
|
|
9222
|
+
enumerable: false
|
|
9223
|
+
});
|
|
9224
|
+
styles.color.close = "\x1B[39m";
|
|
9225
|
+
styles.bgColor.close = "\x1B[49m";
|
|
9226
|
+
styles.color.ansi = wrapAnsi16();
|
|
9227
|
+
styles.color.ansi256 = wrapAnsi256();
|
|
9228
|
+
styles.color.ansi16m = wrapAnsi16m();
|
|
9229
|
+
styles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
|
|
9230
|
+
styles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
|
|
9231
|
+
styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
|
|
9232
|
+
Object.defineProperties(styles, {
|
|
9233
|
+
rgbToAnsi256: {
|
|
9234
|
+
value(red, green, blue) {
|
|
9235
|
+
if (red === green && green === blue) {
|
|
9236
|
+
if (red < 8) {
|
|
9237
|
+
return 16;
|
|
9238
|
+
}
|
|
9239
|
+
if (red > 248) {
|
|
9240
|
+
return 231;
|
|
9241
|
+
}
|
|
9242
|
+
return Math.round((red - 8) / 247 * 24) + 232;
|
|
9243
|
+
}
|
|
9244
|
+
return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
|
|
9245
|
+
},
|
|
9246
|
+
enumerable: false
|
|
9247
|
+
},
|
|
9248
|
+
hexToRgb: {
|
|
9249
|
+
value(hex) {
|
|
9250
|
+
const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
|
|
9251
|
+
if (!matches) {
|
|
9252
|
+
return [0, 0, 0];
|
|
9253
|
+
}
|
|
9254
|
+
let [colorString] = matches;
|
|
9255
|
+
if (colorString.length === 3) {
|
|
9256
|
+
colorString = [...colorString].map((character) => character + character).join("");
|
|
9257
|
+
}
|
|
9258
|
+
const integer = Number.parseInt(colorString, 16);
|
|
9259
|
+
return [
|
|
9260
|
+
integer >> 16 & 255,
|
|
9261
|
+
integer >> 8 & 255,
|
|
9262
|
+
integer & 255
|
|
9263
|
+
];
|
|
9264
|
+
},
|
|
9265
|
+
enumerable: false
|
|
9266
|
+
},
|
|
9267
|
+
hexToAnsi256: {
|
|
9268
|
+
value: (hex) => styles.rgbToAnsi256(...styles.hexToRgb(hex)),
|
|
9269
|
+
enumerable: false
|
|
9270
|
+
},
|
|
9271
|
+
ansi256ToAnsi: {
|
|
9272
|
+
value(code) {
|
|
9273
|
+
if (code < 8) {
|
|
9274
|
+
return 30 + code;
|
|
9275
|
+
}
|
|
9276
|
+
if (code < 16) {
|
|
9277
|
+
return 90 + (code - 8);
|
|
9278
|
+
}
|
|
9279
|
+
let red;
|
|
9280
|
+
let green;
|
|
9281
|
+
let blue;
|
|
9282
|
+
if (code >= 232) {
|
|
9283
|
+
red = ((code - 232) * 10 + 8) / 255;
|
|
9284
|
+
green = red;
|
|
9285
|
+
blue = red;
|
|
9286
|
+
} else {
|
|
9287
|
+
code -= 16;
|
|
9288
|
+
const remainder = code % 36;
|
|
9289
|
+
red = Math.floor(code / 36) / 5;
|
|
9290
|
+
green = Math.floor(remainder / 6) / 5;
|
|
9291
|
+
blue = remainder % 6 / 5;
|
|
9292
|
+
}
|
|
9293
|
+
const value = Math.max(red, green, blue) * 2;
|
|
9294
|
+
if (value === 0) {
|
|
9295
|
+
return 30;
|
|
9296
|
+
}
|
|
9297
|
+
let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
|
|
9298
|
+
if (value === 2) {
|
|
9299
|
+
result += 60;
|
|
9300
|
+
}
|
|
9301
|
+
return result;
|
|
9302
|
+
},
|
|
9303
|
+
enumerable: false
|
|
9304
|
+
},
|
|
9305
|
+
rgbToAnsi: {
|
|
9306
|
+
value: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),
|
|
9307
|
+
enumerable: false
|
|
9308
|
+
},
|
|
9309
|
+
hexToAnsi: {
|
|
9310
|
+
value: (hex) => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),
|
|
9311
|
+
enumerable: false
|
|
9312
|
+
}
|
|
9313
|
+
});
|
|
9314
|
+
return styles;
|
|
9315
|
+
}
|
|
9316
|
+
var ansiStyles = assembleStyles();
|
|
9317
|
+
var ansi_styles_default = ansiStyles;
|
|
9318
|
+
|
|
9319
|
+
// node_modules/chalk/source/vendor/supports-color/index.js
|
|
9320
|
+
import process2 from "process";
|
|
9321
|
+
import os from "os";
|
|
9322
|
+
import tty from "tty";
|
|
9323
|
+
function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process2.argv) {
|
|
9324
|
+
const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
|
|
9325
|
+
const position = argv.indexOf(prefix + flag);
|
|
9326
|
+
const terminatorPosition = argv.indexOf("--");
|
|
9327
|
+
return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
|
|
9328
|
+
}
|
|
9329
|
+
var { env } = process2;
|
|
9330
|
+
var flagForceColor;
|
|
9331
|
+
if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
|
|
9332
|
+
flagForceColor = 0;
|
|
9333
|
+
} else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
|
|
9334
|
+
flagForceColor = 1;
|
|
9335
|
+
}
|
|
9336
|
+
function envForceColor() {
|
|
9337
|
+
if ("FORCE_COLOR" in env) {
|
|
9338
|
+
if (env.FORCE_COLOR === "true") {
|
|
9339
|
+
return 1;
|
|
9383
9340
|
}
|
|
9384
|
-
|
|
9385
|
-
|
|
9386
|
-
this.icons.clear();
|
|
9387
|
-
const icons = pVyi.i || pVyi.icons;
|
|
9388
|
-
this.formatVersion = pVyi.v ?? "format not found";
|
|
9389
|
-
if (Array.isArray(icons)) {
|
|
9390
|
-
icons.forEach((pIconData) => {
|
|
9391
|
-
if (!Array.isArray(pIconData) && typeof pIconData === "object") {
|
|
9392
|
-
const convertedIconData = this.convertOldIconData(pIconData);
|
|
9393
|
-
this.addIcon(convertedIconData);
|
|
9394
|
-
} else {
|
|
9395
|
-
this.addIcon(pIconData);
|
|
9396
|
-
}
|
|
9397
|
-
});
|
|
9398
|
-
} else {
|
|
9399
|
-
VYI.logger.prefix("Vyi-module").error("Invalid .vyi file! Cannot parse icons.");
|
|
9341
|
+
if (env.FORCE_COLOR === "false") {
|
|
9342
|
+
return 0;
|
|
9400
9343
|
}
|
|
9344
|
+
return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
|
|
9401
9345
|
}
|
|
9402
|
-
|
|
9403
|
-
|
|
9404
|
-
|
|
9405
|
-
|
|
9406
|
-
return [s.name, s.data, s.delay || 100, stateFrames];
|
|
9407
|
-
}) : [];
|
|
9408
|
-
return [
|
|
9409
|
-
pOldData.name || "",
|
|
9410
|
-
pOldData.w || 32,
|
|
9411
|
-
pOldData.h || 32,
|
|
9412
|
-
pOldData.delay || 100,
|
|
9413
|
-
pOldData.data || "",
|
|
9414
|
-
frames,
|
|
9415
|
-
states
|
|
9416
|
-
];
|
|
9346
|
+
}
|
|
9347
|
+
function translateLevel(level) {
|
|
9348
|
+
if (level === 0) {
|
|
9349
|
+
return false;
|
|
9417
9350
|
}
|
|
9418
|
-
|
|
9419
|
-
|
|
9420
|
-
|
|
9421
|
-
|
|
9351
|
+
return {
|
|
9352
|
+
level,
|
|
9353
|
+
hasBasic: true,
|
|
9354
|
+
has256: level >= 2,
|
|
9355
|
+
has16m: level >= 3
|
|
9356
|
+
};
|
|
9357
|
+
}
|
|
9358
|
+
function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
|
|
9359
|
+
const noFlagForceColor = envForceColor();
|
|
9360
|
+
if (noFlagForceColor !== undefined) {
|
|
9361
|
+
flagForceColor = noFlagForceColor;
|
|
9362
|
+
}
|
|
9363
|
+
const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
|
|
9364
|
+
if (forceColor === 0) {
|
|
9365
|
+
return 0;
|
|
9366
|
+
}
|
|
9367
|
+
if (sniffFlags) {
|
|
9368
|
+
if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
|
|
9369
|
+
return 3;
|
|
9422
9370
|
}
|
|
9423
|
-
if (
|
|
9424
|
-
|
|
9425
|
-
return;
|
|
9371
|
+
if (hasFlag("color=256")) {
|
|
9372
|
+
return 2;
|
|
9426
9373
|
}
|
|
9427
|
-
const icon = pIconData instanceof Icon ? pIconData : new Icon(pIconData);
|
|
9428
|
-
this.icons.set(icon.id, icon);
|
|
9429
|
-
icon.setVyi(this);
|
|
9430
|
-
return icon;
|
|
9431
9374
|
}
|
|
9432
|
-
|
|
9433
|
-
|
|
9434
|
-
return;
|
|
9435
|
-
if (pIcon instanceof Icon) {
|
|
9436
|
-
if (this.icons.delete(pIcon.id)) {
|
|
9437
|
-
pIcon.removeVyi();
|
|
9438
|
-
}
|
|
9439
|
-
}
|
|
9375
|
+
if ("TF_BUILD" in env && "AGENT_NAME" in env) {
|
|
9376
|
+
return 1;
|
|
9440
9377
|
}
|
|
9441
|
-
|
|
9442
|
-
|
|
9443
|
-
if (icon) {
|
|
9444
|
-
this.removeIcon(icon);
|
|
9445
|
-
}
|
|
9378
|
+
if (haveStream && !streamIsTTY && forceColor === undefined) {
|
|
9379
|
+
return 0;
|
|
9446
9380
|
}
|
|
9447
|
-
|
|
9448
|
-
|
|
9449
|
-
|
|
9450
|
-
this.removeIcon(icon);
|
|
9451
|
-
}
|
|
9381
|
+
const min = forceColor || 0;
|
|
9382
|
+
if (env.TERM === "dumb") {
|
|
9383
|
+
return min;
|
|
9452
9384
|
}
|
|
9453
|
-
|
|
9454
|
-
const
|
|
9455
|
-
|
|
9385
|
+
if (process2.platform === "win32") {
|
|
9386
|
+
const osRelease = os.release().split(".");
|
|
9387
|
+
if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
|
|
9388
|
+
return Number(osRelease[2]) >= 14931 ? 3 : 2;
|
|
9389
|
+
}
|
|
9390
|
+
return 1;
|
|
9456
9391
|
}
|
|
9457
|
-
|
|
9458
|
-
if (
|
|
9459
|
-
|
|
9460
|
-
|
|
9461
|
-
|
|
9462
|
-
|
|
9463
|
-
return icon;
|
|
9464
|
-
}
|
|
9465
|
-
}
|
|
9466
|
-
} else {
|
|
9467
|
-
VYI.logger.prefix("Vyi-module").error("Invalid name type used!");
|
|
9392
|
+
if ("CI" in env) {
|
|
9393
|
+
if (["GITHUB_ACTIONS", "GITEA_ACTIONS", "CIRCLECI"].some((key) => (key in env))) {
|
|
9394
|
+
return 3;
|
|
9395
|
+
}
|
|
9396
|
+
if (["TRAVIS", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => (sign in env)) || env.CI_NAME === "codeship") {
|
|
9397
|
+
return 1;
|
|
9468
9398
|
}
|
|
9399
|
+
return min;
|
|
9469
9400
|
}
|
|
9470
|
-
|
|
9471
|
-
return
|
|
9401
|
+
if ("TEAMCITY_VERSION" in env) {
|
|
9402
|
+
return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
|
|
9472
9403
|
}
|
|
9473
|
-
|
|
9474
|
-
|
|
9475
|
-
return;
|
|
9476
|
-
const icon = this.icons.get(pId) || this.getIcons().find((pIcon) => pIcon.states.has(pId))?.getStateById(pId);
|
|
9477
|
-
return icon;
|
|
9404
|
+
if (env.COLORTERM === "truecolor") {
|
|
9405
|
+
return 3;
|
|
9478
9406
|
}
|
|
9479
|
-
|
|
9480
|
-
return
|
|
9407
|
+
if (env.TERM === "xterm-kitty") {
|
|
9408
|
+
return 3;
|
|
9481
9409
|
}
|
|
9482
|
-
|
|
9483
|
-
|
|
9484
|
-
|
|
9485
|
-
|
|
9486
|
-
|
|
9410
|
+
if ("TERM_PROGRAM" in env) {
|
|
9411
|
+
const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
|
|
9412
|
+
switch (env.TERM_PROGRAM) {
|
|
9413
|
+
case "iTerm.app": {
|
|
9414
|
+
return version >= 3 ? 3 : 2;
|
|
9415
|
+
}
|
|
9416
|
+
case "Apple_Terminal": {
|
|
9417
|
+
return 2;
|
|
9418
|
+
}
|
|
9487
9419
|
}
|
|
9488
9420
|
}
|
|
9489
|
-
|
|
9490
|
-
return
|
|
9421
|
+
if (/-256(color)?$/i.test(env.TERM)) {
|
|
9422
|
+
return 2;
|
|
9491
9423
|
}
|
|
9492
|
-
|
|
9493
|
-
|
|
9494
|
-
v: this.formatVersion,
|
|
9495
|
-
i: this.getIcons().map((pIcon) => pIcon.export())
|
|
9496
|
-
};
|
|
9497
|
-
if (pCompressed) {
|
|
9498
|
-
const binaryData = new TextEncoder().encode(JSON.stringify(vyi));
|
|
9499
|
-
const compressed = pako.deflate(binaryData);
|
|
9500
|
-
return compressed;
|
|
9501
|
-
}
|
|
9502
|
-
return vyi;
|
|
9424
|
+
if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
|
|
9425
|
+
return 1;
|
|
9503
9426
|
}
|
|
9427
|
+
if ("COLORTERM" in env) {
|
|
9428
|
+
return 1;
|
|
9429
|
+
}
|
|
9430
|
+
return min;
|
|
9504
9431
|
}
|
|
9505
|
-
|
|
9506
|
-
|
|
9507
|
-
|
|
9508
|
-
|
|
9509
|
-
|
|
9510
|
-
|
|
9511
|
-
|
|
9512
|
-
var
|
|
9513
|
-
|
|
9514
|
-
|
|
9515
|
-
|
|
9516
|
-
|
|
9517
|
-
* logger is privately licensed.
|
|
9518
|
-
*/class eQ{RESET;BRIGHT;DIM;UNDERSCORE;BLINK;REVERSE;HIDDEN;FG_BLACK;FG_RED;FG_GREEN;FG_YELLOW;FG_BLUE;FG_MAGENTA;FG_CYAN;FG_WHITE;FG_GRAY;BG_BLACK;BG_RED;BG_GREEN;BG_YELLOW;BG_BLUE;BG_MAGENTA;BG_CYAN;BG_WHITE;BG_GRAY;TYPE_SPACER_LENGTH;types;currentType;SPACE_CHAR;FG_COLORS;BG_COLORS;constructor(Q){this.RESET="\\x1B[0m",this.BRIGHT="\\x1B[1m",this.DIM="\\x1B[2m",this.UNDERSCORE="\\x1B[4m",this.BLINK="\\x1B[5m",this.REVERSE="\\x1B[7m",this.HIDDEN="\\x1B[8m",this.FG_BLACK="\\x1B[30m",this.FG_RED="\\x1B[31m",this.FG_GREEN="\\x1B[32m",this.FG_YELLOW="\\x1B[33m",this.FG_BLUE="\\x1B[34m",this.FG_MAGENTA="\\x1B[35m",this.FG_CYAN="\\x1B[36m",this.FG_WHITE="\\x1B[37m",this.FG_GRAY="\\x1B[90m",this.BG_BLACK="\\x1B[40m",this.BG_RED="\\x1B[41m",this.BG_GREEN="\\x1B[42m",this.BG_YELLOW="\\x1B[43m",this.BG_BLUE="\\x1B[44m",this.BG_MAGENTA="\\x1B[45m",this.BG_CYAN="\\x1B[46m",this.BG_WHITE="\\x1B[47m",this.BG_GRAY="\\x1B[100m",this.TYPE_SPACER_LENGTH=13,this.types={default:this.FG_WHITE},this.currentType="",this.SPACE_CHAR=" ",this.FG_COLORS={};for(let W=0;W<=255;W++)this.FG_COLORS[W]="\\x1B[38;5;"+W+"m";this.BG_COLORS={};for(let W=0;W<=255;W++)this.BG_COLORS[W]="\\x1B[48;5;"+W+"m";if(Array.isArray(Q))this.registerTypes(Q)}prefix(Q){if(typeof Q==="string")this.currentType=Q;return this}message(Q="log",...W){let J=this.currentType?this.currentType:"";if(J.length===0)console[Q](...W);else{let G=J.length>=this.TYPE_SPACER_LENGTH,q=this.types[J.toLowerCase()]?this.types[J.toLowerCase()]:this.types.default,z=q.includes("\\x1B");if(!z)q=\`color: \${q}\`;if(typeof globalThis.window!=="undefined")if(z)console[Q](q+J+this.SPACE_CHAR.repeat(Math.max(this.TYPE_SPACER_LENGTH-J.length,G?1:0))+"|"+this.RESET,...W);else console[Q]("%c"+J+this.SPACE_CHAR.repeat(Math.max(this.TYPE_SPACER_LENGTH-J.length,G?1:0))+"|",q,...W);else console[Q](q+J+this.SPACE_CHAR.repeat(Math.max(this.TYPE_SPACER_LENGTH-J.length,G?1:0))+"|"+this.RESET,...W)}this.currentType=""}log(...Q){this.message("log",...Q)}info(...Q){this.message("info",...Q)}error(...Q){this.message("error",...Q)}warn(...Q){this.message("warn",...Q)}assert(...Q){console.assert(...Q)}debug(...Q){this.message("debug",...Q)}count(Q){console.count(Q)}countReset(Q){console.countReset(Q)}table(Q,W){console.table(Q,W)}time(Q="default"){this.message("time",Q)}timeLog(Q="default",...W){this.message("timeLog",Q,...W)}timeEnd(Q="default"){this.message("timeEnd",Q)}trace(...Q){this.message("trace",...Q)}group(Q=""){this.message("group",Q)}groupCollapsed(Q=""){this.message("groupCollapsed",Q)}groupEnd(){console.groupEnd()}clear(){console.clear()}registerType(Q,W){if(this.types[Q.toLowerCase()])return;if(typeof Q==="string"&&typeof W==="string")this.types[Q.toLowerCase()]=W}registerTypes(Q){if(Array.isArray(Q))for(let W=0;W<Q.length;W++)this.registerType(Q[W].type,Q[W].ansi)}unregisterType(Q){let W=Q.toLowerCase();if(this.types[W])delete this.types[W]}}class n{delay=100;dataURL="";index=0;parent=null;static defaultDelay=100;constructor(Q){if(Q)this.parse(Q)}parse(Q){if(!Q)return;let W=Q[0],J=Q[1]?Q[1]:this.parent?this.parent.getDelay():null;if(this.setDataURL(W),J)this.setDelay(J)}setParent(Q){if(!Q||this.parent)return;if(Q instanceof T){if(this.parent=Q,!this.getDelay())this.setDelay(this.parent.getDelay())}}removeParent(){this.parent=null}setDelay(Q){if(typeof Q==="number")this.delay=Q;else w.logger.prefix("Vyi-module").error("Invalid delay type!");return this}getDelay(){return this.delay}getIndex(){return this.index}setDataURL(Q){if(typeof Q==="string")this.dataURL=Q.replace(/^data:image\\/[a-z]+;base64,/,"");else w.logger.prefix("Vyi-module").error("Invalid data url type!");return this}getDataURL(){return this.dataURL}getWidth(){if(!this.parent)return;return this.parent.width}getHeight(){if(!this.parent)return;return this.parent.height}getSize(){if(!this.parent)return;return{width:this.parent.width,height:this.parent.height}}getVyi(){return this?.parent?.vyi}getParent(){return this.parent}export(){let Q=[this.getDataURL()];if(this.getDelay()!==n.defaultDelay)Q[1]=this.getDelay()||n.defaultDelay;return Q}}/*!
|
|
9519
|
-
* icon-point@2.1.0 https://github.com/EvitcaStudio/IconPoint
|
|
9520
|
-
* Compiled Mon, 10 Nov 2025 09:52:21 UTC
|
|
9521
|
-
* Copyright (c) 2025 Evitca Studio, "doubleactii"
|
|
9522
|
-
*
|
|
9523
|
-
* icon-point is privately licensed.
|
|
9524
|
-
*//*!
|
|
9525
|
-
* logger@1.0.0 https://github.com/EvitcaStudio/Logger
|
|
9526
|
-
* Compiled Mon, 10 Nov 2025 05:36:23 UTC
|
|
9527
|
-
* Copyright (c) 2025 Evitca Studio, "doubleactii"
|
|
9528
|
-
*
|
|
9529
|
-
* logger is privately licensed.
|
|
9530
|
-
*/class SJ{RESET;BRIGHT;DIM;UNDERSCORE;BLINK;REVERSE;HIDDEN;FG_BLACK;FG_RED;FG_GREEN;FG_YELLOW;FG_BLUE;FG_MAGENTA;FG_CYAN;FG_WHITE;FG_GRAY;BG_BLACK;BG_RED;BG_GREEN;BG_YELLOW;BG_BLUE;BG_MAGENTA;BG_CYAN;BG_WHITE;BG_GRAY;TYPE_SPACER_LENGTH;types;currentType;SPACE_CHAR;FG_COLORS;BG_COLORS;constructor(Q){this.RESET="\\x1B[0m",this.BRIGHT="\\x1B[1m",this.DIM="\\x1B[2m",this.UNDERSCORE="\\x1B[4m",this.BLINK="\\x1B[5m",this.REVERSE="\\x1B[7m",this.HIDDEN="\\x1B[8m",this.FG_BLACK="\\x1B[30m",this.FG_RED="\\x1B[31m",this.FG_GREEN="\\x1B[32m",this.FG_YELLOW="\\x1B[33m",this.FG_BLUE="\\x1B[34m",this.FG_MAGENTA="\\x1B[35m",this.FG_CYAN="\\x1B[36m",this.FG_WHITE="\\x1B[37m",this.FG_GRAY="\\x1B[90m",this.BG_BLACK="\\x1B[40m",this.BG_RED="\\x1B[41m",this.BG_GREEN="\\x1B[42m",this.BG_YELLOW="\\x1B[43m",this.BG_BLUE="\\x1B[44m",this.BG_MAGENTA="\\x1B[45m",this.BG_CYAN="\\x1B[46m",this.BG_WHITE="\\x1B[47m",this.BG_GRAY="\\x1B[100m",this.TYPE_SPACER_LENGTH=13,this.types={default:this.FG_WHITE},this.currentType="",this.SPACE_CHAR=" ",this.FG_COLORS={};for(let W=0;W<=255;W++)this.FG_COLORS[W]="\\x1B[38;5;"+W+"m";this.BG_COLORS={};for(let W=0;W<=255;W++)this.BG_COLORS[W]="\\x1B[48;5;"+W+"m";if(Array.isArray(Q))this.registerTypes(Q)}prefix(Q){if(typeof Q==="string")this.currentType=Q;return this}message(Q="log",...W){let J=this.currentType?this.currentType:"";if(J.length===0)console[Q](...W);else{let G=J.length>=this.TYPE_SPACER_LENGTH,q=this.types[J.toLowerCase()]?this.types[J.toLowerCase()]:this.types.default,z=q.includes("\\x1B");if(!z)q=\`color: \${q}\`;if(typeof globalThis.window!=="undefined")if(z)console[Q](q+J+this.SPACE_CHAR.repeat(Math.max(this.TYPE_SPACER_LENGTH-J.length,G?1:0))+"|"+this.RESET,...W);else console[Q]("%c"+J+this.SPACE_CHAR.repeat(Math.max(this.TYPE_SPACER_LENGTH-J.length,G?1:0))+"|",q,...W);else console[Q](q+J+this.SPACE_CHAR.repeat(Math.max(this.TYPE_SPACER_LENGTH-J.length,G?1:0))+"|"+this.RESET,...W)}this.currentType=""}log(...Q){this.message("log",...Q)}info(...Q){this.message("info",...Q)}error(...Q){this.message("error",...Q)}warn(...Q){this.message("warn",...Q)}assert(...Q){console.assert(...Q)}debug(...Q){this.message("debug",...Q)}count(Q){console.count(Q)}countReset(Q){console.countReset(Q)}table(Q,W){console.table(Q,W)}time(Q="default"){this.message("time",Q)}timeLog(Q="default",...W){this.message("timeLog",Q,...W)}timeEnd(Q="default"){this.message("timeEnd",Q)}trace(...Q){this.message("trace",...Q)}group(Q=""){this.message("group",Q)}groupCollapsed(Q=""){this.message("groupCollapsed",Q)}groupEnd(){console.groupEnd()}clear(){console.clear()}registerType(Q,W){if(this.types[Q.toLowerCase()])return;if(typeof Q==="string"&&typeof W==="string")this.types[Q.toLowerCase()]=W}registerTypes(Q){if(Array.isArray(Q))for(let W=0;W<Q.length;W++)this.registerType(Q[W].type,Q[W].ansi)}unregisterType(Q){let W=Q.toLowerCase();if(this.types[W])delete this.types[W]}}class E{static defaultOffset={x:0,y:0};static defaultAnchor={x:0.5,y:0.5};static version="2.1.0";static logger=new SJ;iconPoint={x:0,y:0};originalPoint={x:0,y:0};positionalPoint;point={x:0,y:0};bounds={width:32,height:32};id;constructor(Q,W,J,j){let{width:G,height:q}=W;this.bounds.width=G,this.bounds.height=q,this.positionalPoint=Q,this.originalPoint={...J},this.id=j||"",E.logger.registerType("IconPointModule","#ff6600"),this.setPoint(J)}getPoint(Q=0,W=E.defaultOffset,J=E.defaultAnchor){let j=this.positionalPoint.x+W.x+this.bounds.width*J.x,G=this.positionalPoint.y+W.y+this.bounds.height*J.y,q=this.positionalPoint.x+W.x-1+this.iconPoint.x,z=this.positionalPoint.y+W.y-1+this.iconPoint.y,U=q-j,Y=z-G,X=U*Math.cos(Q)-Y*-Math.sin(Q),K=U*-Math.sin(Q)+Y*Math.cos(Q),P=X+j,k=K+G;return this.point.x=P,this.point.y=k,this.point}getPointFromExternalPoint(Q,W=0,J=E.defaultOffset,j=E.defaultAnchor){let G=Q.x+J.x+this.bounds.width*j.x,q=Q.y+J.y+this.bounds.height*j.y,z=Q.x+J.x-1+this.iconPoint.x,U=Q.y+J.y-1+this.iconPoint.y,Y=z-G,X=U-q,K=Y*Math.cos(W)-X*-Math.sin(W),P=Y*-Math.sin(W)+X*Math.cos(W),k=K+G,V=P+q;return this.point.x=k,this.point.y=V,this.point}setPoint(Q){let{x:W,y:J,isNormalized:j}=Q;this.iconPoint.x=j?W*this.bounds.width:W,this.iconPoint.y=j?J*this.bounds.height:J}resetPoint(){this.setPoint(this.originalPoint)}updateBounds(Q){let{width:W,height:J}=Q;this.bounds.width=W,this.bounds.height=J}transformX(Q){let W=Math.abs(Q*this.bounds.width);this.iconPoint.x=W-this.originalPoint.x}transformY(Q){let W=Math.abs(Q*this.bounds.height);this.iconPoint.y=W-this.originalPoint.y}transform(Q){this.transformX(Q.x),this.transformY(Q.y)}getId(){return this.id}export(){return{...this.bounds,...this.iconPoint,id:this.id}}}class tQ{bounds={};add(Q,W){this.bounds[Q]=W}remove(Q){delete this.bounds[Q]}update(Q,W){if(this.bounds[Q])this.bounds[Q]={...this.bounds[Q],...W}}rename(Q,W){if(this.bounds[Q])this.bounds[W]=this.bounds[Q],delete this.bounds[Q]}get(Q){return this.bounds[Q]}getAll(){return{...this.bounds}}getIdsByShape(Q){return Object.keys(this.bounds).filter((W)=>this.bounds[W].type===Q)}exportAll(){return this.getAll()}clearAll(){this.bounds={}}loadBounds(Q){this.clearAll(),Object.entries(Q).forEach(([W,J])=>{this.add(W,J)})}}class T{states=new Map;frames=new Map;width=32;height=32;dataURL="";delay=100;name="";parent=null;vyi=null;id="";static reservedIds=new Set;iconPoints=new Set;boundsManager=new tQ;static reservedIconPointIds=new Set(["center","top-left","top-right","bottom-left","bottom-right","top-middle","bottom-middle","left-middle","right-middle"]);static generateId(){let Q=()=>{return Math.floor(Math.random()*4294967295).toString(16).padStart(8,"0")},W=Q();while(this.reservedIds.has(W))W=Q();return this.reservedIds.add(W),W}constructor(Q){if(Q)this.parse(Q);this.assignId()}setParent(Q){if(!Q||this.parent)return;if(Q instanceof T)this.parent=Q}removeParent(){if(this.parent)this.parent=null,this.vyi=null}setVyi(Q){if(!Q)return;if(Q instanceof w){if(this.vyi=Q,this.getStateCount()>0)this.getStates().forEach((j)=>{j.setParent(this),j.setVyi(Q)});this.getFrames().forEach((J)=>J.setParent(this))}}removeVyi(){this.vyi=null}assignId(){this.id=T.generateId()}getId(){return this.id}getVyi(){return this.vyi}getParent(){return this.parent}getStateCount(){return this.states.size}getFrameCount(){return this.frames.size}parse(Q){if(!Q)return;let W=Q[0],J=Q[1],j=Q[2],G=Q[3],q=Q[4],z=Q[5],U=Q[6],Y=Q[7],X=Q[8];if(this.rename(W),this.setSize(J,j),this.setDelay(G),this.setDataURL(q),Array.isArray(z))z.forEach((K)=>{this.addFrame(K)});if(Array.isArray(U))U.forEach((K)=>{let P=new T(void 0),k=K[0],V=K[1],Z=K[2],M=K[3],$=K[4];if(P.rename(k),P.setSize(J,j),P.setDelay(Z),P.setDataURL(V),Array.isArray(M))M.forEach((C)=>{P.addFrame(C)});if($&&typeof $==="object")P.boundsManager.loadBounds($);this.addState(P)});if(Array.isArray(Y))Y.forEach((K)=>{let{x:P,y:k,width:V,height:Z,id:M}=K;if(T.reservedIconPointIds.has(M))return;this.addIconPoint({x:0,y:0},{width:V,height:Z},{x:P,y:k},M)});if(X&&typeof X==="object")this.boundsManager.loadBounds(X);this.resetInitialIconPoints()}resetInitialIconPoints(){let Q=this.getWidth(),W=this.getHeight();Array.from(T.reservedIconPointIds).forEach((k)=>{let V=Array.from(this.iconPoints).find((Z)=>Z.getId()===k);if(!V)return;this.iconPoints.delete(V)});let J={x:1,y:1},j=new E(J,{width:Q,height:W},{x:Math.round(Q/2),y:Math.round(W/2)},"center"),G=new E(J,{width:Q,height:W},{x:1,y:1},"top-left"),q=new E(J,{width:Q,height:W},{x:Q,y:1},"top-right"),z=new E(J,{width:Q,height:W},{x:1,y:W},"bottom-left"),U=new E(J,{width:Q,height:W},{x:Q,y:W},"bottom-right"),Y=new E(J,{width:Q,height:W},{x:Math.round(Q/2),y:1},"top-middle"),X=new E(J,{width:Q,height:W},{x:Math.round(Q/2),y:W},"bottom-middle"),K=new E(J,{width:Q,height:W},{x:1,y:Math.round(W/2)},"left-middle"),P=new E(J,{width:Q,height:W},{x:Q,y:Math.round(W/2)},"right-middle");this.iconPoints.add(j),this.iconPoints.add(G),this.iconPoints.add(q),this.iconPoints.add(z),this.iconPoints.add(U),this.iconPoints.add(Y),this.iconPoints.add(X),this.iconPoints.add(K),this.iconPoints.add(P)}addIconPoint(Q,W,J,j){if(T.reservedIconPointIds.has(j)){w.logger.prefix("Vyi-module").error(\`The id \${j} is reserved and cannot be used for additional icon points.\`);return}let G=new E(Q,W,J,j);return this.iconPoints.add(G),G}removeIconPoint(Q){for(let W of this.iconPoints)if(W.getId()===Q&&!T.reservedIconPointIds.has(Q)){this.iconPoints.delete(W);break}}getIconPointExportById(Q){for(let W of this.iconPoints)if(W.getId()===Q)return W.export();return}getIconPointsExport(){let Q=[];return this.iconPoints.forEach((W)=>Q.push(W.export())),Q}getIconPointById(Q){for(let W of this.iconPoints)if(W.getId()===Q)return W;return}getIconPoints(){let Q=[];return this.iconPoints.forEach((W)=>Q.push(W)),Q}getBoundsExport(){return this.boundsManager.exportAll()}getBoundsById(Q){return this.boundsManager.get(Q)}getIdsByShape(Q){return this.boundsManager.getIdsByShape(Q)}setBounds(Q,W){return this.boundsManager.add(Q,W),this}removeBounds(Q){return this.boundsManager.remove(Q),this}updateBounds(Q,W){return this.boundsManager.update(Q,W),this}setSize(Q,W){if(typeof Q==="number")this.width=Q;if(typeof W==="number")this.height=W;return this}getWidth(){return this.width}getHeight(){return this.height}getSize(){return{width:this.width,height:this.height}}setDataURL(Q){if(typeof Q==="string")this.dataURL=Q.replace(/^data:image\\/[a-z]+;base64,/,"");else w.logger.prefix("Vyi-module").error("Invalid data url type!");return this}getDataURL(){return this.dataURL}setDelay(Q){if(typeof Q==="number")this.delay=Q;else w.logger.prefix("Vyi-module").error("Invalid delay type!");return this}getDelay(){return this.delay}rename(Q){if(typeof Q==="string")try{this.name=decodeURIComponent(Q)}catch{this.name=Q}else w.logger.prefix("Vyi-module").error("Invalid type for pName!");return this}getName(){return this.name}setAllFrameDelays(Q){if(typeof Q==="number")this.setDelay(Q),this.getFrames().forEach((W)=>W.setDelay(Q));else w.logger.prefix("Vyi-module").error("Invalid type for pDelay!");return this}addFrame(Q){if(!Q){w.logger.prefix("Vyi-module").error("No frame data passed!");return}if(!(Q instanceof n)&&!Array.isArray(Q)){w.logger.prefix("Vyi-module").error("Invalid frame data type passed!");return}let W=Q instanceof n?Q:new n(Q);return W.setParent(this),this.frames.set(this.frames.size,W),this.indexFrames(),W}removeFrame(Q){if(!Q)return this;if(Q instanceof n){if(this.frames.delete(Q.index))Q.removeParent(),this.indexFrames()}return this}removeFrameByIndex(Q){let W=this.getFrame(Q);if(W)this.removeFrame(W);return this}indexFrames(){let Q=this.getFrames();this.frames.clear(),Q.forEach((W,J)=>{W.index=J,this.frames.set(J,W)})}reorderFrame(Q,W){if(typeof Q==="number"&&typeof W==="number"){let J=this.getFrame(W),j=Q===-1?this:this.getFrame(Q);if(j&&J){let G=j.getDataURL(),q=j.getDelay(),z=J.getDataURL(),U=J.getDelay();j.setDataURL(z),j.setDelay(U),J.setDataURL(G),J.setDelay(q)}else w.logger.prefix("Vyi-module").error("There was no frame found at pCurrentIndex, or there was no frame found at pIndex!")}else w.logger.prefix("Vyi-module").error("Invalid type used!");return this}getFrame(Q){return this.frames.get(Q)}getFrames(){return Array.from(this.frames.values())}getFramesData(){return this.getFrames().map((W)=>W.export())}addState(Q){if(!Q){w.logger.prefix("Vyi-module").error("No icon data passed!");return}if(!(Q instanceof T)&&!Array.isArray(Q)){w.logger.prefix("Vyi-module").error("Invalid icon data type passed!");return}let W=Q instanceof T?Q:new T(this.convertStateDataToIconData(Q));if(W.getWidth()!==this.getWidth()||W.getHeight()!==this.getHeight()){w.logger.prefix("Vyi-module").error("State dimensions do not match parent!");return}if(W.setParent(this),this.vyi)W.setVyi(this.vyi);return this.states.set(W.id,W),W}removeState(Q){if(Q instanceof T){if(this.states.delete(Q.id))Q.removeParent()}return this}removeStateByName(Q){let W=this.getState(Q);if(W)this.removeState(W);return this}removeStateById(Q){let W=this.getStateById(Q);if(W)this.removeState(W);return this}getState(Q){if(typeof Q==="string"){let W=this.getStates();for(let J=W.length-1;J>=0;J--){let j=W[J];if(j.getName()===Q)return j}return}else{w.logger.prefix("Vyi-module").error("Invalid name type used!");return}}getStateById(Q){if(!Q)return;return this.states.get(Q)}getStates(){return Array.from(this.states.values())}getStateNames(){return this.getStates().map((Q)=>Q.getName())}getStatesData(){return this.getStates().map((W)=>W.exportAsState())}exportAsState(){let Q=[this.getName(),this.getDataURL(),this.getDelay(),this.getFrames().map((J)=>J.export())],W=this.getBoundsExport();if(Object.keys(W).length>0)Q[4]=W;return Q}convertStateDataToIconData(Q){return[Q[0],this.getWidth(),this.getHeight(),Q[2],Q[1],Q[3]]}export(){let Q=[this.getName(),this.getWidth(),this.getHeight(),this.getDelay(),this.getDataURL(),this.getFramesData()];if(this.states.size>0)Q[6]=this.getStatesData();return Q[7]=this.getIconPointsExport(),Q[8]=this.getBoundsExport(),Q}}/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */function HQ(Q){let W=Q.length;while(--W>=0)Q[W]=0}var e0=0,H0=1,t0=2,s0=3,Q5=258,vJ=29,yQ=256,RQ=yQ+1+vJ,YQ=30,gJ=19,P0=2*RQ+1,WQ=15,sQ=16,J5=7,RJ=256,B0=16,C0=17,$0=18,FJ=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]),pQ=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]),W5=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),L0=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),j5=512,r=new Array((RQ+2)*2);HQ(r);var NQ=new Array(YQ*2);HQ(NQ);var xQ=new Array(j5);HQ(xQ);var OQ=new Array(Q5-s0+1);HQ(OQ);var xJ=new Array(vJ);HQ(xJ);var lQ=new Array(YQ);HQ(lQ);function QJ(Q,W,J,j,G){this.static_tree=Q,this.extra_bits=W,this.extra_base=J,this.elems=j,this.max_length=G,this.has_stree=Q&&Q.length}var N0,v0,g0;function JJ(Q,W){this.dyn_tree=Q,this.max_code=0,this.stat_desc=W}var R0=(Q)=>{return Q<256?xQ[Q]:xQ[256+(Q>>>7)]},MQ=(Q,W)=>{Q.pending_buf[Q.pending++]=W&255,Q.pending_buf[Q.pending++]=W>>>8&255},f=(Q,W,J)=>{if(Q.bi_valid>sQ-J)Q.bi_buf|=W<<Q.bi_valid&65535,MQ(Q,Q.bi_buf),Q.bi_buf=W>>sQ-Q.bi_valid,Q.bi_valid+=J-sQ;else Q.bi_buf|=W<<Q.bi_valid&65535,Q.bi_valid+=J},p=(Q,W,J)=>{f(Q,J[W*2],J[W*2+1])},x0=(Q,W)=>{let J=0;do J|=Q&1,Q>>>=1,J<<=1;while(--W>0);return J>>>1},q5=(Q)=>{if(Q.bi_valid===16)MQ(Q,Q.bi_buf),Q.bi_buf=0,Q.bi_valid=0;else if(Q.bi_valid>=8)Q.pending_buf[Q.pending++]=Q.bi_buf&255,Q.bi_buf>>=8,Q.bi_valid-=8},G5=(Q,W)=>{let{dyn_tree:J,max_code:j}=W,G=W.stat_desc.static_tree,q=W.stat_desc.has_stree,z=W.stat_desc.extra_bits,U=W.stat_desc.extra_base,Y=W.stat_desc.max_length,X,K,P,k,V,Z,M=0;for(k=0;k<=WQ;k++)Q.bl_count[k]=0;J[Q.heap[Q.heap_max]*2+1]=0;for(X=Q.heap_max+1;X<P0;X++){if(K=Q.heap[X],k=J[J[K*2+1]*2+1]+1,k>Y)k=Y,M++;if(J[K*2+1]=k,K>j)continue;if(Q.bl_count[k]++,V=0,K>=U)V=z[K-U];if(Z=J[K*2],Q.opt_len+=Z*(k+V),q)Q.static_len+=Z*(G[K*2+1]+V)}if(M===0)return;do{k=Y-1;while(Q.bl_count[k]===0)k--;Q.bl_count[k]--,Q.bl_count[k+1]+=2,Q.bl_count[Y]--,M-=2}while(M>0);for(k=Y;k!==0;k--){K=Q.bl_count[k];while(K!==0){if(P=Q.heap[--X],P>j)continue;if(J[P*2+1]!==k)Q.opt_len+=(k-J[P*2+1])*J[P*2],J[P*2+1]=k;K--}}},O0=(Q,W,J)=>{let j=new Array(WQ+1),G=0,q,z;for(q=1;q<=WQ;q++)G=G+J[q-1]<<1,j[q]=G;for(z=0;z<=W;z++){let U=Q[z*2+1];if(U===0)continue;Q[z*2]=x0(j[U]++,U)}},X5=()=>{let Q,W,J,j,G,q=new Array(WQ+1);J=0;for(j=0;j<vJ-1;j++){xJ[j]=J;for(Q=0;Q<1<<FJ[j];Q++)OQ[J++]=j}OQ[J-1]=j,G=0;for(j=0;j<16;j++){lQ[j]=G;for(Q=0;Q<1<<pQ[j];Q++)xQ[G++]=j}G>>=7;for(;j<YQ;j++){lQ[j]=G<<7;for(Q=0;Q<1<<pQ[j]-7;Q++)xQ[256+G++]=j}for(W=0;W<=WQ;W++)q[W]=0;Q=0;while(Q<=143)r[Q*2+1]=8,Q++,q[8]++;while(Q<=255)r[Q*2+1]=9,Q++,q[9]++;while(Q<=279)r[Q*2+1]=7,Q++,q[7]++;while(Q<=287)r[Q*2+1]=8,Q++,q[8]++;O0(r,RQ+1,q);for(Q=0;Q<YQ;Q++)NQ[Q*2+1]=5,NQ[Q*2]=x0(Q,5);N0=new QJ(r,FJ,yQ+1,RQ,WQ),v0=new QJ(NQ,pQ,0,YQ,WQ),g0=new QJ(new Array(0),W5,0,gJ,J5)},M0=(Q)=>{let W;for(W=0;W<RQ;W++)Q.dyn_ltree[W*2]=0;for(W=0;W<YQ;W++)Q.dyn_dtree[W*2]=0;for(W=0;W<gJ;W++)Q.bl_tree[W*2]=0;Q.dyn_ltree[RJ*2]=1,Q.opt_len=Q.static_len=0,Q.sym_next=Q.matches=0},w0=(Q)=>{if(Q.bi_valid>8)MQ(Q,Q.bi_buf);else if(Q.bi_valid>0)Q.pending_buf[Q.pending++]=Q.bi_buf;Q.bi_buf=0,Q.bi_valid=0},TJ=(Q,W,J,j)=>{let G=W*2,q=J*2;return Q[G]<Q[q]||Q[G]===Q[q]&&j[W]<=j[J]},WJ=(Q,W,J)=>{let j=Q.heap[J],G=J<<1;while(G<=Q.heap_len){if(G<Q.heap_len&&TJ(W,Q.heap[G+1],Q.heap[G],Q.depth))G++;if(TJ(W,j,Q.heap[G],Q.depth))break;Q.heap[J]=Q.heap[G],J=G,G<<=1}Q.heap[J]=j},yJ=(Q,W,J)=>{let j,G,q=0,z,U;if(Q.sym_next!==0)do if(j=Q.pending_buf[Q.sym_buf+q++]&255,j+=(Q.pending_buf[Q.sym_buf+q++]&255)<<8,G=Q.pending_buf[Q.sym_buf+q++],j===0)p(Q,G,W);else{if(z=OQ[G],p(Q,z+yQ+1,W),U=FJ[z],U!==0)G-=xJ[z],f(Q,G,U);if(j--,z=R0(j),p(Q,z,J),U=pQ[z],U!==0)j-=lQ[z],f(Q,j,U)}while(q<Q.sym_next);p(Q,RJ,W)},ZJ=(Q,W)=>{let J=W.dyn_tree,j=W.stat_desc.static_tree,G=W.stat_desc.has_stree,q=W.stat_desc.elems,z,U,Y=-1,X;Q.heap_len=0,Q.heap_max=P0;for(z=0;z<q;z++)if(J[z*2]!==0)Q.heap[++Q.heap_len]=Y=z,Q.depth[z]=0;else J[z*2+1]=0;while(Q.heap_len<2)if(X=Q.heap[++Q.heap_len]=Y<2?++Y:0,J[X*2]=1,Q.depth[X]=0,Q.opt_len--,G)Q.static_len-=j[X*2+1];W.max_code=Y;for(z=Q.heap_len>>1;z>=1;z--)WJ(Q,J,z);X=q;do z=Q.heap[1],Q.heap[1]=Q.heap[Q.heap_len--],WJ(Q,J,1),U=Q.heap[1],Q.heap[--Q.heap_max]=z,Q.heap[--Q.heap_max]=U,J[X*2]=J[z*2]+J[U*2],Q.depth[X]=(Q.depth[z]>=Q.depth[U]?Q.depth[z]:Q.depth[U])+1,J[z*2+1]=J[U*2+1]=X,Q.heap[1]=X++,WJ(Q,J,1);while(Q.heap_len>=2);Q.heap[--Q.heap_max]=Q.heap[1],G5(Q,W),O0(J,Y,Q.bl_count)},DJ=(Q,W,J)=>{let j,G=-1,q,z=W[1],U=0,Y=7,X=4;if(z===0)Y=138,X=3;W[(J+1)*2+1]=65535;for(j=0;j<=J;j++){if(q=z,z=W[(j+1)*2+1],++U<Y&&q===z)continue;else if(U<X)Q.bl_tree[q*2]+=U;else if(q!==0){if(q!==G)Q.bl_tree[q*2]++;Q.bl_tree[B0*2]++}else if(U<=10)Q.bl_tree[C0*2]++;else Q.bl_tree[$0*2]++;if(U=0,G=q,z===0)Y=138,X=3;else if(q===z)Y=6,X=3;else Y=7,X=4}},EJ=(Q,W,J)=>{let j,G=-1,q,z=W[1],U=0,Y=7,X=4;if(z===0)Y=138,X=3;for(j=0;j<=J;j++){if(q=z,z=W[(j+1)*2+1],++U<Y&&q===z)continue;else if(U<X)do p(Q,q,Q.bl_tree);while(--U!==0);else if(q!==0){if(q!==G)p(Q,q,Q.bl_tree),U--;p(Q,B0,Q.bl_tree),f(Q,U-3,2)}else if(U<=10)p(Q,C0,Q.bl_tree),f(Q,U-3,3);else p(Q,$0,Q.bl_tree),f(Q,U-11,7);if(U=0,G=q,z===0)Y=138,X=3;else if(q===z)Y=6,X=3;else Y=7,X=4}},U5=(Q)=>{let W;DJ(Q,Q.dyn_ltree,Q.l_desc.max_code),DJ(Q,Q.dyn_dtree,Q.d_desc.max_code),ZJ(Q,Q.bl_desc);for(W=gJ-1;W>=3;W--)if(Q.bl_tree[L0[W]*2+1]!==0)break;return Q.opt_len+=3*(W+1)+5+5+4,W},z5=(Q,W,J,j)=>{let G;f(Q,W-257,5),f(Q,J-1,5),f(Q,j-4,4);for(G=0;G<j;G++)f(Q,Q.bl_tree[L0[G]*2+1],3);EJ(Q,Q.dyn_ltree,W-1),EJ(Q,Q.dyn_dtree,J-1)},K5=(Q)=>{let W=4093624447,J;for(J=0;J<=31;J++,W>>>=1)if(W&1&&Q.dyn_ltree[J*2]!==0)return 0;if(Q.dyn_ltree[18]!==0||Q.dyn_ltree[20]!==0||Q.dyn_ltree[26]!==0)return 1;for(J=32;J<yQ;J++)if(Q.dyn_ltree[J*2]!==0)return 1;return 0},IJ=!1,V5=(Q)=>{if(!IJ)X5(),IJ=!0;Q.l_desc=new JJ(Q.dyn_ltree,N0),Q.d_desc=new JJ(Q.dyn_dtree,v0),Q.bl_desc=new JJ(Q.bl_tree,g0),Q.bi_buf=0,Q.bi_valid=0,M0(Q)},A0=(Q,W,J,j)=>{if(f(Q,(e0<<1)+(j?1:0),3),w0(Q),MQ(Q,J),MQ(Q,~J),J)Q.pending_buf.set(Q.window.subarray(W,W+J),Q.pending);Q.pending+=J},k5=(Q)=>{f(Q,H0<<1,3),p(Q,RJ,r),q5(Q)},Y5=(Q,W,J,j)=>{let G,q,z=0;if(Q.level>0){if(Q.strm.data_type===2)Q.strm.data_type=K5(Q);if(ZJ(Q,Q.l_desc),ZJ(Q,Q.d_desc),z=U5(Q),G=Q.opt_len+3+7>>>3,q=Q.static_len+3+7>>>3,q<=G)G=q}else G=q=J+5;if(J+4<=G&&W!==-1)A0(Q,W,J,j);else if(Q.strategy===4||q===G)f(Q,(H0<<1)+(j?1:0),3),yJ(Q,r,NQ);else f(Q,(t0<<1)+(j?1:0),3),z5(Q,Q.l_desc.max_code+1,Q.d_desc.max_code+1,z+1),yJ(Q,Q.dyn_ltree,Q.dyn_dtree);if(M0(Q),j)w0(Q)},F5=(Q,W,J)=>{if(Q.pending_buf[Q.sym_buf+Q.sym_next++]=W,Q.pending_buf[Q.sym_buf+Q.sym_next++]=W>>8,Q.pending_buf[Q.sym_buf+Q.sym_next++]=J,W===0)Q.dyn_ltree[J*2]++;else Q.matches++,W--,Q.dyn_ltree[(OQ[J]+yQ+1)*2]++,Q.dyn_dtree[R0(W)*2]++;return Q.sym_next===Q.sym_end},Z5=V5,H5=A0,P5=Y5,B5=F5,C5=k5,$5={_tr_init:Z5,_tr_stored_block:H5,_tr_flush_block:P5,_tr_tally:B5,_tr_align:C5},L5=(Q,W,J,j)=>{let G=Q&65535|0,q=Q>>>16&65535|0,z=0;while(J!==0){z=J>2000?2000:J,J-=z;do G=G+W[j++]|0,q=q+G|0;while(--z);G%=65521,q%=65521}return G|q<<16|0},wQ=L5,N5=()=>{let Q,W=[];for(var J=0;J<256;J++){Q=J;for(var j=0;j<8;j++)Q=Q&1?3988292384^Q>>>1:Q>>>1;W[J]=Q}return W},v5=new Uint32Array(N5()),g5=(Q,W,J,j)=>{let G=v5,q=j+J;Q^=-1;for(let z=j;z<q;z++)Q=Q>>>8^G[(Q^W[z])&255];return Q^-1},D=g5,GQ={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"},zQ={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:R5,_tr_stored_block:HJ,_tr_flush_block:x5,_tr_tally:t,_tr_align:O5}=$5,{Z_NO_FLUSH:s,Z_PARTIAL_FLUSH:M5,Z_FULL_FLUSH:w5,Z_FINISH:c,Z_BLOCK:bJ,Z_OK:I,Z_STREAM_END:fJ,Z_STREAM_ERROR:l,Z_DATA_ERROR:A5,Z_BUF_ERROR:jJ,Z_DEFAULT_COMPRESSION:S5,Z_FILTERED:T5,Z_HUFFMAN_ONLY:uQ,Z_RLE:y5,Z_FIXED:D5,Z_DEFAULT_STRATEGY:E5,Z_UNKNOWN:I5,Z_DEFLATED:rQ}=zQ,b5=9,f5=15,u5=8,h5=29,c5=256,PJ=c5+1+h5,m5=30,d5=19,p5=2*PJ+1,l5=15,v=3,e=258,_=e+v+1,_5=32,FQ=42,OJ=57,BJ=69,CJ=73,$J=91,LJ=103,jQ=113,$Q=666,b=1,PQ=2,XQ=3,BQ=4,i5=3,qQ=(Q,W)=>{return Q.msg=GQ[W],W},uJ=(Q)=>{return Q*2-(Q>4?9:0)},a=(Q)=>{let W=Q.length;while(--W>=0)Q[W]=0},r5=(Q)=>{let W,J,j,G=Q.w_size;W=Q.hash_size,j=W;do J=Q.head[--j],Q.head[j]=J>=G?J-G:0;while(--W);W=G,j=W;do J=Q.prev[--j],Q.prev[j]=J>=G?J-G:0;while(--W)},o5=(Q,W,J)=>(W<<Q.hash_shift^J)&Q.hash_mask,QQ=o5,u=(Q)=>{let W=Q.state,J=W.pending;if(J>Q.avail_out)J=Q.avail_out;if(J===0)return;if(Q.output.set(W.pending_buf.subarray(W.pending_out,W.pending_out+J),Q.next_out),Q.next_out+=J,W.pending_out+=J,Q.total_out+=J,Q.avail_out-=J,W.pending-=J,W.pending===0)W.pending_out=0},h=(Q,W)=>{x5(Q,Q.block_start>=0?Q.block_start:-1,Q.strstart-Q.block_start,W),Q.block_start=Q.strstart,u(Q.strm)},x=(Q,W)=>{Q.pending_buf[Q.pending++]=W},CQ=(Q,W)=>{Q.pending_buf[Q.pending++]=W>>>8&255,Q.pending_buf[Q.pending++]=W&255},NJ=(Q,W,J,j)=>{let G=Q.avail_in;if(G>j)G=j;if(G===0)return 0;if(Q.avail_in-=G,W.set(Q.input.subarray(Q.next_in,Q.next_in+G),J),Q.state.wrap===1)Q.adler=wQ(Q.adler,W,G,J);else if(Q.state.wrap===2)Q.adler=D(Q.adler,W,G,J);return Q.next_in+=G,Q.total_in+=G,G},S0=(Q,W)=>{let{max_chain_length:J,strstart:j}=Q,G,q,z=Q.prev_length,U=Q.nice_match,Y=Q.strstart>Q.w_size-_?Q.strstart-(Q.w_size-_):0,X=Q.window,K=Q.w_mask,P=Q.prev,k=Q.strstart+e,V=X[j+z-1],Z=X[j+z];if(Q.prev_length>=Q.good_match)J>>=2;if(U>Q.lookahead)U=Q.lookahead;do{if(G=W,X[G+z]!==Z||X[G+z-1]!==V||X[G]!==X[j]||X[++G]!==X[j+1])continue;j+=2,G++;do;while(X[++j]===X[++G]&&X[++j]===X[++G]&&X[++j]===X[++G]&&X[++j]===X[++G]&&X[++j]===X[++G]&&X[++j]===X[++G]&&X[++j]===X[++G]&&X[++j]===X[++G]&&j<k);if(q=e-(k-j),j=k-e,q>z){if(Q.match_start=W,z=q,q>=U)break;V=X[j+z-1],Z=X[j+z]}}while((W=P[W&K])>Y&&--J!==0);if(z<=Q.lookahead)return z;return Q.lookahead},ZQ=(Q)=>{let W=Q.w_size,J,j,G;do{if(j=Q.window_size-Q.lookahead-Q.strstart,Q.strstart>=W+(W-_)){if(Q.window.set(Q.window.subarray(W,W+W-j),0),Q.match_start-=W,Q.strstart-=W,Q.block_start-=W,Q.insert>Q.strstart)Q.insert=Q.strstart;r5(Q),j+=W}if(Q.strm.avail_in===0)break;if(J=NJ(Q.strm,Q.window,Q.strstart+Q.lookahead,j),Q.lookahead+=J,Q.lookahead+Q.insert>=v){G=Q.strstart-Q.insert,Q.ins_h=Q.window[G],Q.ins_h=QQ(Q,Q.ins_h,Q.window[G+1]);while(Q.insert)if(Q.ins_h=QQ(Q,Q.ins_h,Q.window[G+v-1]),Q.prev[G&Q.w_mask]=Q.head[Q.ins_h],Q.head[Q.ins_h]=G,G++,Q.insert--,Q.lookahead+Q.insert<v)break}}while(Q.lookahead<_&&Q.strm.avail_in!==0)},T0=(Q,W)=>{let J=Q.pending_buf_size-5>Q.w_size?Q.w_size:Q.pending_buf_size-5,j,G,q,z=0,U=Q.strm.avail_in;do{if(j=65535,q=Q.bi_valid+42>>3,Q.strm.avail_out<q)break;if(q=Q.strm.avail_out-q,G=Q.strstart-Q.block_start,j>G+Q.strm.avail_in)j=G+Q.strm.avail_in;if(j>q)j=q;if(j<J&&(j===0&&W!==c||W===s||j!==G+Q.strm.avail_in))break;if(z=W===c&&j===G+Q.strm.avail_in?1:0,HJ(Q,0,0,z),Q.pending_buf[Q.pending-4]=j,Q.pending_buf[Q.pending-3]=j>>8,Q.pending_buf[Q.pending-2]=~j,Q.pending_buf[Q.pending-1]=~j>>8,u(Q.strm),G){if(G>j)G=j;Q.strm.output.set(Q.window.subarray(Q.block_start,Q.block_start+G),Q.strm.next_out),Q.strm.next_out+=G,Q.strm.avail_out-=G,Q.strm.total_out+=G,Q.block_start+=G,j-=G}if(j)NJ(Q.strm,Q.strm.output,Q.strm.next_out,j),Q.strm.next_out+=j,Q.strm.avail_out-=j,Q.strm.total_out+=j}while(z===0);if(U-=Q.strm.avail_in,U){if(U>=Q.w_size)Q.matches=2,Q.window.set(Q.strm.input.subarray(Q.strm.next_in-Q.w_size,Q.strm.next_in),0),Q.strstart=Q.w_size,Q.insert=Q.strstart;else{if(Q.window_size-Q.strstart<=U){if(Q.strstart-=Q.w_size,Q.window.set(Q.window.subarray(Q.w_size,Q.w_size+Q.strstart),0),Q.matches<2)Q.matches++;if(Q.insert>Q.strstart)Q.insert=Q.strstart}Q.window.set(Q.strm.input.subarray(Q.strm.next_in-U,Q.strm.next_in),Q.strstart),Q.strstart+=U,Q.insert+=U>Q.w_size-Q.insert?Q.w_size-Q.insert:U}Q.block_start=Q.strstart}if(Q.high_water<Q.strstart)Q.high_water=Q.strstart;if(z)return BQ;if(W!==s&&W!==c&&Q.strm.avail_in===0&&Q.strstart===Q.block_start)return PQ;if(q=Q.window_size-Q.strstart,Q.strm.avail_in>q&&Q.block_start>=Q.w_size){if(Q.block_start-=Q.w_size,Q.strstart-=Q.w_size,Q.window.set(Q.window.subarray(Q.w_size,Q.w_size+Q.strstart),0),Q.matches<2)Q.matches++;if(q+=Q.w_size,Q.insert>Q.strstart)Q.insert=Q.strstart}if(q>Q.strm.avail_in)q=Q.strm.avail_in;if(q)NJ(Q.strm,Q.window,Q.strstart,q),Q.strstart+=q,Q.insert+=q>Q.w_size-Q.insert?Q.w_size-Q.insert:q;if(Q.high_water<Q.strstart)Q.high_water=Q.strstart;if(q=Q.bi_valid+42>>3,q=Q.pending_buf_size-q>65535?65535:Q.pending_buf_size-q,J=q>Q.w_size?Q.w_size:q,G=Q.strstart-Q.block_start,G>=J||(G||W===c)&&W!==s&&Q.strm.avail_in===0&&G<=q)j=G>q?q:G,z=W===c&&Q.strm.avail_in===0&&j===G?1:0,HJ(Q,Q.block_start,j,z),Q.block_start+=j,u(Q.strm);return z?XQ:b},qJ=(Q,W)=>{let J,j;for(;;){if(Q.lookahead<_){if(ZQ(Q),Q.lookahead<_&&W===s)return b;if(Q.lookahead===0)break}if(J=0,Q.lookahead>=v)Q.ins_h=QQ(Q,Q.ins_h,Q.window[Q.strstart+v-1]),J=Q.prev[Q.strstart&Q.w_mask]=Q.head[Q.ins_h],Q.head[Q.ins_h]=Q.strstart;if(J!==0&&Q.strstart-J<=Q.w_size-_)Q.match_length=S0(Q,J);if(Q.match_length>=v)if(j=t(Q,Q.strstart-Q.match_start,Q.match_length-v),Q.lookahead-=Q.match_length,Q.match_length<=Q.max_lazy_match&&Q.lookahead>=v){Q.match_length--;do Q.strstart++,Q.ins_h=QQ(Q,Q.ins_h,Q.window[Q.strstart+v-1]),J=Q.prev[Q.strstart&Q.w_mask]=Q.head[Q.ins_h],Q.head[Q.ins_h]=Q.strstart;while(--Q.match_length!==0);Q.strstart++}else Q.strstart+=Q.match_length,Q.match_length=0,Q.ins_h=Q.window[Q.strstart],Q.ins_h=QQ(Q,Q.ins_h,Q.window[Q.strstart+1]);else j=t(Q,0,Q.window[Q.strstart]),Q.lookahead--,Q.strstart++;if(j){if(h(Q,!1),Q.strm.avail_out===0)return b}}if(Q.insert=Q.strstart<v-1?Q.strstart:v-1,W===c){if(h(Q,!0),Q.strm.avail_out===0)return XQ;return BQ}if(Q.sym_next){if(h(Q,!1),Q.strm.avail_out===0)return b}return PQ},VQ=(Q,W)=>{let J,j,G;for(;;){if(Q.lookahead<_){if(ZQ(Q),Q.lookahead<_&&W===s)return b;if(Q.lookahead===0)break}if(J=0,Q.lookahead>=v)Q.ins_h=QQ(Q,Q.ins_h,Q.window[Q.strstart+v-1]),J=Q.prev[Q.strstart&Q.w_mask]=Q.head[Q.ins_h],Q.head[Q.ins_h]=Q.strstart;if(Q.prev_length=Q.match_length,Q.prev_match=Q.match_start,Q.match_length=v-1,J!==0&&Q.prev_length<Q.max_lazy_match&&Q.strstart-J<=Q.w_size-_){if(Q.match_length=S0(Q,J),Q.match_length<=5&&(Q.strategy===T5||Q.match_length===v&&Q.strstart-Q.match_start>4096))Q.match_length=v-1}if(Q.prev_length>=v&&Q.match_length<=Q.prev_length){G=Q.strstart+Q.lookahead-v,j=t(Q,Q.strstart-1-Q.prev_match,Q.prev_length-v),Q.lookahead-=Q.prev_length-1,Q.prev_length-=2;do if(++Q.strstart<=G)Q.ins_h=QQ(Q,Q.ins_h,Q.window[Q.strstart+v-1]),J=Q.prev[Q.strstart&Q.w_mask]=Q.head[Q.ins_h],Q.head[Q.ins_h]=Q.strstart;while(--Q.prev_length!==0);if(Q.match_available=0,Q.match_length=v-1,Q.strstart++,j){if(h(Q,!1),Q.strm.avail_out===0)return b}}else if(Q.match_available){if(j=t(Q,0,Q.window[Q.strstart-1]),j)h(Q,!1);if(Q.strstart++,Q.lookahead--,Q.strm.avail_out===0)return b}else Q.match_available=1,Q.strstart++,Q.lookahead--}if(Q.match_available)j=t(Q,0,Q.window[Q.strstart-1]),Q.match_available=0;if(Q.insert=Q.strstart<v-1?Q.strstart:v-1,W===c){if(h(Q,!0),Q.strm.avail_out===0)return XQ;return BQ}if(Q.sym_next){if(h(Q,!1),Q.strm.avail_out===0)return b}return PQ},n5=(Q,W)=>{let J,j,G,q,z=Q.window;for(;;){if(Q.lookahead<=e){if(ZQ(Q),Q.lookahead<=e&&W===s)return b;if(Q.lookahead===0)break}if(Q.match_length=0,Q.lookahead>=v&&Q.strstart>0){if(G=Q.strstart-1,j=z[G],j===z[++G]&&j===z[++G]&&j===z[++G]){q=Q.strstart+e;do;while(j===z[++G]&&j===z[++G]&&j===z[++G]&&j===z[++G]&&j===z[++G]&&j===z[++G]&&j===z[++G]&&j===z[++G]&&G<q);if(Q.match_length=e-(q-G),Q.match_length>Q.lookahead)Q.match_length=Q.lookahead}}if(Q.match_length>=v)J=t(Q,1,Q.match_length-v),Q.lookahead-=Q.match_length,Q.strstart+=Q.match_length,Q.match_length=0;else J=t(Q,0,Q.window[Q.strstart]),Q.lookahead--,Q.strstart++;if(J){if(h(Q,!1),Q.strm.avail_out===0)return b}}if(Q.insert=0,W===c){if(h(Q,!0),Q.strm.avail_out===0)return XQ;return BQ}if(Q.sym_next){if(h(Q,!1),Q.strm.avail_out===0)return b}return PQ},a5=(Q,W)=>{let J;for(;;){if(Q.lookahead===0){if(ZQ(Q),Q.lookahead===0){if(W===s)return b;break}}if(Q.match_length=0,J=t(Q,0,Q.window[Q.strstart]),Q.lookahead--,Q.strstart++,J){if(h(Q,!1),Q.strm.avail_out===0)return b}}if(Q.insert=0,W===c){if(h(Q,!0),Q.strm.avail_out===0)return XQ;return BQ}if(Q.sym_next){if(h(Q,!1),Q.strm.avail_out===0)return b}return PQ};function d(Q,W,J,j,G){this.good_length=Q,this.max_lazy=W,this.nice_length=J,this.max_chain=j,this.func=G}var LQ=[new d(0,0,0,0,T0),new d(4,4,8,4,qJ),new d(4,5,16,8,qJ),new d(4,6,32,32,qJ),new d(4,4,16,16,VQ),new d(8,16,32,32,VQ),new d(8,16,128,128,VQ),new d(8,32,128,256,VQ),new d(32,128,258,1024,VQ),new d(32,258,258,4096,VQ)],e5=(Q)=>{Q.window_size=2*Q.w_size,a(Q.head),Q.max_lazy_match=LQ[Q.level].max_lazy,Q.good_match=LQ[Q.level].good_length,Q.nice_match=LQ[Q.level].nice_length,Q.max_chain_length=LQ[Q.level].max_chain,Q.strstart=0,Q.block_start=0,Q.lookahead=0,Q.insert=0,Q.match_length=Q.prev_length=v-1,Q.match_available=0,Q.ins_h=0};function t5(){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=rQ,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(p5*2),this.dyn_dtree=new Uint16Array((2*m5+1)*2),this.bl_tree=new Uint16Array((2*d5+1)*2),a(this.dyn_ltree),a(this.dyn_dtree),a(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(l5+1),this.heap=new Uint16Array(2*PJ+1),a(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*PJ+1),a(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 DQ=(Q)=>{if(!Q)return 1;let W=Q.state;if(!W||W.strm!==Q||W.status!==FQ&&W.status!==OJ&&W.status!==BJ&&W.status!==CJ&&W.status!==$J&&W.status!==LJ&&W.status!==jQ&&W.status!==$Q)return 1;return 0},y0=(Q)=>{if(DQ(Q))return qQ(Q,l);Q.total_in=Q.total_out=0,Q.data_type=I5;let W=Q.state;if(W.pending=0,W.pending_out=0,W.wrap<0)W.wrap=-W.wrap;return W.status=W.wrap===2?OJ:W.wrap?FQ:jQ,Q.adler=W.wrap===2?0:1,W.last_flush=-2,R5(W),I},D0=(Q)=>{let W=y0(Q);if(W===I)e5(Q.state);return W},s5=(Q,W)=>{if(DQ(Q)||Q.state.wrap!==2)return l;return Q.state.gzhead=W,I},E0=(Q,W,J,j,G,q)=>{if(!Q)return l;let z=1;if(W===S5)W=6;if(j<0)z=0,j=-j;else if(j>15)z=2,j-=16;if(G<1||G>b5||J!==rQ||j<8||j>15||W<0||W>9||q<0||q>D5||j===8&&z!==1)return qQ(Q,l);if(j===8)j=9;let U=new t5;return Q.state=U,U.strm=Q,U.status=FQ,U.wrap=z,U.gzhead=null,U.w_bits=j,U.w_size=1<<U.w_bits,U.w_mask=U.w_size-1,U.hash_bits=G+7,U.hash_size=1<<U.hash_bits,U.hash_mask=U.hash_size-1,U.hash_shift=~~((U.hash_bits+v-1)/v),U.window=new Uint8Array(U.w_size*2),U.head=new Uint16Array(U.hash_size),U.prev=new Uint16Array(U.w_size),U.lit_bufsize=1<<G+6,U.pending_buf_size=U.lit_bufsize*4,U.pending_buf=new Uint8Array(U.pending_buf_size),U.sym_buf=U.lit_bufsize,U.sym_end=(U.lit_bufsize-1)*3,U.level=W,U.strategy=q,U.method=J,D0(Q)},Q8=(Q,W)=>{return E0(Q,W,rQ,f5,u5,E5)},J8=(Q,W)=>{if(DQ(Q)||W>bJ||W<0)return Q?qQ(Q,l):l;let J=Q.state;if(!Q.output||Q.avail_in!==0&&!Q.input||J.status===$Q&&W!==c)return qQ(Q,Q.avail_out===0?jJ:l);let j=J.last_flush;if(J.last_flush=W,J.pending!==0){if(u(Q),Q.avail_out===0)return J.last_flush=-1,I}else if(Q.avail_in===0&&uJ(W)<=uJ(j)&&W!==c)return qQ(Q,jJ);if(J.status===$Q&&Q.avail_in!==0)return qQ(Q,jJ);if(J.status===FQ&&J.wrap===0)J.status=jQ;if(J.status===FQ){let G=rQ+(J.w_bits-8<<4)<<8,q=-1;if(J.strategy>=uQ||J.level<2)q=0;else if(J.level<6)q=1;else if(J.level===6)q=2;else q=3;if(G|=q<<6,J.strstart!==0)G|=_5;if(G+=31-G%31,CQ(J,G),J.strstart!==0)CQ(J,Q.adler>>>16),CQ(J,Q.adler&65535);if(Q.adler=1,J.status=jQ,u(Q),J.pending!==0)return J.last_flush=-1,I}if(J.status===OJ)if(Q.adler=0,x(J,31),x(J,139),x(J,8),!J.gzhead){if(x(J,0),x(J,0),x(J,0),x(J,0),x(J,0),x(J,J.level===9?2:J.strategy>=uQ||J.level<2?4:0),x(J,i5),J.status=jQ,u(Q),J.pending!==0)return J.last_flush=-1,I}else{if(x(J,(J.gzhead.text?1:0)+(J.gzhead.hcrc?2:0)+(!J.gzhead.extra?0:4)+(!J.gzhead.name?0:8)+(!J.gzhead.comment?0:16)),x(J,J.gzhead.time&255),x(J,J.gzhead.time>>8&255),x(J,J.gzhead.time>>16&255),x(J,J.gzhead.time>>24&255),x(J,J.level===9?2:J.strategy>=uQ||J.level<2?4:0),x(J,J.gzhead.os&255),J.gzhead.extra&&J.gzhead.extra.length)x(J,J.gzhead.extra.length&255),x(J,J.gzhead.extra.length>>8&255);if(J.gzhead.hcrc)Q.adler=D(Q.adler,J.pending_buf,J.pending,0);J.gzindex=0,J.status=BJ}if(J.status===BJ){if(J.gzhead.extra){let G=J.pending,q=(J.gzhead.extra.length&65535)-J.gzindex;while(J.pending+q>J.pending_buf_size){let U=J.pending_buf_size-J.pending;if(J.pending_buf.set(J.gzhead.extra.subarray(J.gzindex,J.gzindex+U),J.pending),J.pending=J.pending_buf_size,J.gzhead.hcrc&&J.pending>G)Q.adler=D(Q.adler,J.pending_buf,J.pending-G,G);if(J.gzindex+=U,u(Q),J.pending!==0)return J.last_flush=-1,I;G=0,q-=U}let z=new Uint8Array(J.gzhead.extra);if(J.pending_buf.set(z.subarray(J.gzindex,J.gzindex+q),J.pending),J.pending+=q,J.gzhead.hcrc&&J.pending>G)Q.adler=D(Q.adler,J.pending_buf,J.pending-G,G);J.gzindex=0}J.status=CJ}if(J.status===CJ){if(J.gzhead.name){let G=J.pending,q;do{if(J.pending===J.pending_buf_size){if(J.gzhead.hcrc&&J.pending>G)Q.adler=D(Q.adler,J.pending_buf,J.pending-G,G);if(u(Q),J.pending!==0)return J.last_flush=-1,I;G=0}if(J.gzindex<J.gzhead.name.length)q=J.gzhead.name.charCodeAt(J.gzindex++)&255;else q=0;x(J,q)}while(q!==0);if(J.gzhead.hcrc&&J.pending>G)Q.adler=D(Q.adler,J.pending_buf,J.pending-G,G);J.gzindex=0}J.status=$J}if(J.status===$J){if(J.gzhead.comment){let G=J.pending,q;do{if(J.pending===J.pending_buf_size){if(J.gzhead.hcrc&&J.pending>G)Q.adler=D(Q.adler,J.pending_buf,J.pending-G,G);if(u(Q),J.pending!==0)return J.last_flush=-1,I;G=0}if(J.gzindex<J.gzhead.comment.length)q=J.gzhead.comment.charCodeAt(J.gzindex++)&255;else q=0;x(J,q)}while(q!==0);if(J.gzhead.hcrc&&J.pending>G)Q.adler=D(Q.adler,J.pending_buf,J.pending-G,G)}J.status=LJ}if(J.status===LJ){if(J.gzhead.hcrc){if(J.pending+2>J.pending_buf_size){if(u(Q),J.pending!==0)return J.last_flush=-1,I}x(J,Q.adler&255),x(J,Q.adler>>8&255),Q.adler=0}if(J.status=jQ,u(Q),J.pending!==0)return J.last_flush=-1,I}if(Q.avail_in!==0||J.lookahead!==0||W!==s&&J.status!==$Q){let G=J.level===0?T0(J,W):J.strategy===uQ?a5(J,W):J.strategy===y5?n5(J,W):LQ[J.level].func(J,W);if(G===XQ||G===BQ)J.status=$Q;if(G===b||G===XQ){if(Q.avail_out===0)J.last_flush=-1;return I}if(G===PQ){if(W===M5)O5(J);else if(W!==bJ){if(HJ(J,0,0,!1),W===w5){if(a(J.head),J.lookahead===0)J.strstart=0,J.block_start=0,J.insert=0}}if(u(Q),Q.avail_out===0)return J.last_flush=-1,I}}if(W!==c)return I;if(J.wrap<=0)return fJ;if(J.wrap===2)x(J,Q.adler&255),x(J,Q.adler>>8&255),x(J,Q.adler>>16&255),x(J,Q.adler>>24&255),x(J,Q.total_in&255),x(J,Q.total_in>>8&255),x(J,Q.total_in>>16&255),x(J,Q.total_in>>24&255);else CQ(J,Q.adler>>>16),CQ(J,Q.adler&65535);if(u(Q),J.wrap>0)J.wrap=-J.wrap;return J.pending!==0?I:fJ},W8=(Q)=>{if(DQ(Q))return l;let W=Q.state.status;return Q.state=null,W===jQ?qQ(Q,A5):I},j8=(Q,W)=>{let J=W.length;if(DQ(Q))return l;let j=Q.state,G=j.wrap;if(G===2||G===1&&j.status!==FQ||j.lookahead)return l;if(G===1)Q.adler=wQ(Q.adler,W,J,0);if(j.wrap=0,J>=j.w_size){if(G===0)a(j.head),j.strstart=0,j.block_start=0,j.insert=0;let Y=new Uint8Array(j.w_size);Y.set(W.subarray(J-j.w_size,J),0),W=Y,J=j.w_size}let{avail_in:q,next_in:z,input:U}=Q;Q.avail_in=J,Q.next_in=0,Q.input=W,ZQ(j);while(j.lookahead>=v){let Y=j.strstart,X=j.lookahead-(v-1);do j.ins_h=QQ(j,j.ins_h,j.window[Y+v-1]),j.prev[Y&j.w_mask]=j.head[j.ins_h],j.head[j.ins_h]=Y,Y++;while(--X);j.strstart=Y,j.lookahead=v-1,ZQ(j)}return j.strstart+=j.lookahead,j.block_start=j.strstart,j.insert=j.lookahead,j.lookahead=0,j.match_length=j.prev_length=v-1,j.match_available=0,Q.next_in=z,Q.input=U,Q.avail_in=q,j.wrap=G,I},q8=Q8,G8=E0,X8=D0,U8=y0,z8=s5,K8=J8,V8=W8,k8=j8,Y8="pako deflate (from Nodeca project)",vQ={deflateInit:q8,deflateInit2:G8,deflateReset:X8,deflateResetKeep:U8,deflateSetHeader:z8,deflate:K8,deflateEnd:V8,deflateSetDictionary:k8,deflateInfo:Y8},F8=(Q,W)=>{return Object.prototype.hasOwnProperty.call(Q,W)},Z8=function(Q){let W=Array.prototype.slice.call(arguments,1);while(W.length){let J=W.shift();if(!J)continue;if(typeof J!=="object")throw new TypeError(J+"must be non-object");for(let j in J)if(F8(J,j))Q[j]=J[j]}return Q},H8=(Q)=>{let W=0;for(let j=0,G=Q.length;j<G;j++)W+=Q[j].length;let J=new Uint8Array(W);for(let j=0,G=0,q=Q.length;j<q;j++){let z=Q[j];J.set(z,G),G+=z.length}return J},oQ={assign:Z8,flattenChunks:H8},I0=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(Q){I0=!1}var AQ=new Uint8Array(256);for(let Q=0;Q<256;Q++)AQ[Q]=Q>=252?6:Q>=248?5:Q>=240?4:Q>=224?3:Q>=192?2:1;AQ[254]=AQ[254]=1;var P8=(Q)=>{if(typeof TextEncoder==="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(Q);let W,J,j,G,q,z=Q.length,U=0;for(G=0;G<z;G++){if(J=Q.charCodeAt(G),(J&64512)===55296&&G+1<z){if(j=Q.charCodeAt(G+1),(j&64512)===56320)J=65536+(J-55296<<10)+(j-56320),G++}U+=J<128?1:J<2048?2:J<65536?3:4}W=new Uint8Array(U);for(q=0,G=0;q<U;G++){if(J=Q.charCodeAt(G),(J&64512)===55296&&G+1<z){if(j=Q.charCodeAt(G+1),(j&64512)===56320)J=65536+(J-55296<<10)+(j-56320),G++}if(J<128)W[q++]=J;else if(J<2048)W[q++]=192|J>>>6,W[q++]=128|J&63;else if(J<65536)W[q++]=224|J>>>12,W[q++]=128|J>>>6&63,W[q++]=128|J&63;else W[q++]=240|J>>>18,W[q++]=128|J>>>12&63,W[q++]=128|J>>>6&63,W[q++]=128|J&63}return W},B8=(Q,W)=>{if(W<65534){if(Q.subarray&&I0)return String.fromCharCode.apply(null,Q.length===W?Q:Q.subarray(0,W))}let J="";for(let j=0;j<W;j++)J+=String.fromCharCode(Q[j]);return J},C8=(Q,W)=>{let J=W||Q.length;if(typeof TextDecoder==="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(Q.subarray(0,W));let j,G,q=new Array(J*2);for(G=0,j=0;j<J;){let z=Q[j++];if(z<128){q[G++]=z;continue}let U=AQ[z];if(U>4){q[G++]=65533,j+=U-1;continue}z&=U===2?31:U===3?15:7;while(U>1&&j<J)z=z<<6|Q[j++]&63,U--;if(U>1){q[G++]=65533;continue}if(z<65536)q[G++]=z;else z-=65536,q[G++]=55296|z>>10&1023,q[G++]=56320|z&1023}return B8(q,G)},$8=(Q,W)=>{if(W=W||Q.length,W>Q.length)W=Q.length;let J=W-1;while(J>=0&&(Q[J]&192)===128)J--;if(J<0)return W;if(J===0)return W;return J+AQ[Q[J]]>W?J:W},SQ={string2buf:P8,buf2string:C8,utf8border:$8};function L8(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var b0=L8,f0=Object.prototype.toString,{Z_NO_FLUSH:N8,Z_SYNC_FLUSH:v8,Z_FULL_FLUSH:g8,Z_FINISH:R8,Z_OK:_Q,Z_STREAM_END:x8,Z_DEFAULT_COMPRESSION:O8,Z_DEFAULT_STRATEGY:M8,Z_DEFLATED:w8}=zQ;function EQ(Q){this.options=oQ.assign({level:O8,method:w8,chunkSize:16384,windowBits:15,memLevel:8,strategy:M8},Q||{});let W=this.options;if(W.raw&&W.windowBits>0)W.windowBits=-W.windowBits;else if(W.gzip&&W.windowBits>0&&W.windowBits<16)W.windowBits+=16;this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new b0,this.strm.avail_out=0;let J=vQ.deflateInit2(this.strm,W.level,W.method,W.windowBits,W.memLevel,W.strategy);if(J!==_Q)throw new Error(GQ[J]);if(W.header)vQ.deflateSetHeader(this.strm,W.header);if(W.dictionary){let j;if(typeof W.dictionary==="string")j=SQ.string2buf(W.dictionary);else if(f0.call(W.dictionary)==="[object ArrayBuffer]")j=new Uint8Array(W.dictionary);else j=W.dictionary;if(J=vQ.deflateSetDictionary(this.strm,j),J!==_Q)throw new Error(GQ[J]);this._dict_set=!0}}EQ.prototype.push=function(Q,W){let J=this.strm,j=this.options.chunkSize,G,q;if(this.ended)return!1;if(W===~~W)q=W;else q=W===!0?R8:N8;if(typeof Q==="string")J.input=SQ.string2buf(Q);else if(f0.call(Q)==="[object ArrayBuffer]")J.input=new Uint8Array(Q);else J.input=Q;J.next_in=0,J.avail_in=J.input.length;for(;;){if(J.avail_out===0)J.output=new Uint8Array(j),J.next_out=0,J.avail_out=j;if((q===v8||q===g8)&&J.avail_out<=6){this.onData(J.output.subarray(0,J.next_out)),J.avail_out=0;continue}if(G=vQ.deflate(J,q),G===x8){if(J.next_out>0)this.onData(J.output.subarray(0,J.next_out));return G=vQ.deflateEnd(this.strm),this.onEnd(G),this.ended=!0,G===_Q}if(J.avail_out===0){this.onData(J.output);continue}if(q>0&&J.next_out>0){this.onData(J.output.subarray(0,J.next_out)),J.avail_out=0;continue}if(J.avail_in===0)break}return!0};EQ.prototype.onData=function(Q){this.chunks.push(Q)};EQ.prototype.onEnd=function(Q){if(Q===_Q)this.result=oQ.flattenChunks(this.chunks);this.chunks=[],this.err=Q,this.msg=this.strm.msg};function MJ(Q,W){let J=new EQ(W);if(J.push(Q,!0),J.err)throw J.msg||GQ[J.err];return J.result}function A8(Q,W){return W=W||{},W.raw=!0,MJ(Q,W)}function S8(Q,W){return W=W||{},W.gzip=!0,MJ(Q,W)}var T8=EQ,y8=MJ,D8=A8,E8=S8,I8=zQ,b8={Deflate:T8,deflate:y8,deflateRaw:D8,gzip:E8,constants:I8},hQ=16209,f8=16191,u8=function Q(W,J){let j,G,q,z,U,Y,X,K,P,k,V,Z,M,$,C,O,L,F,R,y,H,A,g,B,N=W.state;j=W.next_in,g=W.input,G=j+(W.avail_in-5),q=W.next_out,B=W.output,z=q-(J-W.avail_out),U=q+(W.avail_out-257),Y=N.dmax,X=N.wsize,K=N.whave,P=N.wnext,k=N.window,V=N.hold,Z=N.bits,M=N.lencode,$=N.distcode,C=(1<<N.lenbits)-1,O=(1<<N.distbits)-1;Q:do{if(Z<15)V+=g[j++]<<Z,Z+=8,V+=g[j++]<<Z,Z+=8;L=M[V&C];J:for(;;){if(F=L>>>24,V>>>=F,Z-=F,F=L>>>16&255,F===0)B[q++]=L&65535;else if(F&16){if(R=L&65535,F&=15,F){if(Z<F)V+=g[j++]<<Z,Z+=8;R+=V&(1<<F)-1,V>>>=F,Z-=F}if(Z<15)V+=g[j++]<<Z,Z+=8,V+=g[j++]<<Z,Z+=8;L=$[V&O];W:for(;;){if(F=L>>>24,V>>>=F,Z-=F,F=L>>>16&255,F&16){if(y=L&65535,F&=15,Z<F){if(V+=g[j++]<<Z,Z+=8,Z<F)V+=g[j++]<<Z,Z+=8}if(y+=V&(1<<F)-1,y>Y){W.msg="invalid distance too far back",N.mode=hQ;break Q}if(V>>>=F,Z-=F,F=q-z,y>F){if(F=y-F,F>K){if(N.sane){W.msg="invalid distance too far back",N.mode=hQ;break Q}}if(H=0,A=k,P===0){if(H+=X-F,F<R){R-=F;do B[q++]=k[H++];while(--F);H=q-y,A=B}}else if(P<F){if(H+=X+P-F,F-=P,F<R){R-=F;do B[q++]=k[H++];while(--F);if(H=0,P<R){F=P,R-=F;do B[q++]=k[H++];while(--F);H=q-y,A=B}}}else if(H+=P-F,F<R){R-=F;do B[q++]=k[H++];while(--F);H=q-y,A=B}while(R>2)B[q++]=A[H++],B[q++]=A[H++],B[q++]=A[H++],R-=3;if(R){if(B[q++]=A[H++],R>1)B[q++]=A[H++]}}else{H=q-y;do B[q++]=B[H++],B[q++]=B[H++],B[q++]=B[H++],R-=3;while(R>2);if(R){if(B[q++]=B[H++],R>1)B[q++]=B[H++]}}}else if((F&64)===0){L=$[(L&65535)+(V&(1<<F)-1)];continue W}else{W.msg="invalid distance code",N.mode=hQ;break Q}break}}else if((F&64)===0){L=M[(L&65535)+(V&(1<<F)-1)];continue J}else if(F&32){N.mode=f8;break Q}else{W.msg="invalid literal/length code",N.mode=hQ;break Q}break}}while(j<G&&q<U);R=Z>>3,j-=R,Z-=R<<3,V&=(1<<Z)-1,W.next_in=j,W.next_out=q,W.avail_in=j<G?5+(G-j):5-(j-G),W.avail_out=q<U?257+(U-q):257-(q-U),N.hold=V,N.bits=Z;return},kQ=15,hJ=852,cJ=592,mJ=0,GJ=1,dJ=2,h8=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),c8=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),m8=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),d8=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),p8=(Q,W,J,j,G,q,z,U)=>{let Y=U.bits,X=0,K=0,P=0,k=0,V=0,Z=0,M=0,$=0,C=0,O=0,L,F,R,y,H,A=null,g,B=new Uint16Array(kQ+1),N=new Uint16Array(kQ+1),JQ=null,AJ,bQ,fQ;for(X=0;X<=kQ;X++)B[X]=0;for(K=0;K<j;K++)B[W[J+K]]++;V=Y;for(k=kQ;k>=1;k--)if(B[k]!==0)break;if(V>k)V=k;if(k===0)return G[q++]=20971520,G[q++]=20971520,U.bits=1,0;for(P=1;P<k;P++)if(B[P]!==0)break;if(V<P)V=P;$=1;for(X=1;X<=kQ;X++)if($<<=1,$-=B[X],$<0)return-1;if($>0&&(Q===mJ||k!==1))return-1;N[1]=0;for(X=1;X<kQ;X++)N[X+1]=N[X]+B[X];for(K=0;K<j;K++)if(W[J+K]!==0)z[N[W[J+K]]++]=K;if(Q===mJ)A=JQ=z,g=20;else if(Q===GJ)A=h8,JQ=c8,g=257;else A=m8,JQ=d8,g=0;if(O=0,K=0,X=P,H=q,Z=V,M=0,R=-1,C=1<<V,y=C-1,Q===GJ&&C>hJ||Q===dJ&&C>cJ)return 1;for(;;){if(AJ=X-M,z[K]+1<g)bQ=0,fQ=z[K];else if(z[K]>=g)bQ=JQ[z[K]-g],fQ=A[z[K]-g];else bQ=96,fQ=0;L=1<<X-M,F=1<<Z,P=F;do F-=L,G[H+(O>>M)+F]=AJ<<24|bQ<<16|fQ|0;while(F!==0);L=1<<X-1;while(O&L)L>>=1;if(L!==0)O&=L-1,O+=L;else O=0;if(K++,--B[X]===0){if(X===k)break;X=W[J+z[K]]}if(X>V&&(O&y)!==R){if(M===0)M=V;H+=P,Z=X-M,$=1<<Z;while(Z+M<k){if($-=B[Z+M],$<=0)break;Z++,$<<=1}if(C+=1<<Z,Q===GJ&&C>hJ||Q===dJ&&C>cJ)return 1;R=O&y,G[R]=V<<24|Z<<16|H-q|0}}if(O!==0)G[H+O]=X-M<<24|4194304|0;return U.bits=V,0},gQ=p8,l8=0,u0=1,h0=2,{Z_FINISH:pJ,Z_BLOCK:_8,Z_TREES:cQ,Z_OK:UQ,Z_STREAM_END:i8,Z_NEED_DICT:r8,Z_STREAM_ERROR:m,Z_DATA_ERROR:c0,Z_MEM_ERROR:m0,Z_BUF_ERROR:o8,Z_DEFLATED:lJ}=zQ,nQ=16180,_J=16181,iJ=16182,rJ=16183,oJ=16184,nJ=16185,aJ=16186,eJ=16187,tJ=16188,sJ=16189,iQ=16190,i=16191,XJ=16192,Q0=16193,UJ=16194,J0=16195,W0=16196,j0=16197,q0=16198,mQ=16199,dQ=16200,G0=16201,X0=16202,U0=16203,z0=16204,K0=16205,zJ=16206,V0=16207,k0=16208,S=16209,d0=16210,p0=16211,n8=852,a8=592,e8=15,t8=e8,Y0=(Q)=>{return(Q>>>24&255)+(Q>>>8&65280)+((Q&65280)<<8)+((Q&255)<<24)};function s8(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var KQ=(Q)=>{if(!Q)return 1;let W=Q.state;if(!W||W.strm!==Q||W.mode<nQ||W.mode>p0)return 1;return 0},l0=(Q)=>{if(KQ(Q))return m;let W=Q.state;if(Q.total_in=Q.total_out=W.total=0,Q.msg="",W.wrap)Q.adler=W.wrap&1;return W.mode=nQ,W.last=0,W.havedict=0,W.flags=-1,W.dmax=32768,W.head=null,W.hold=0,W.bits=0,W.lencode=W.lendyn=new Int32Array(n8),W.distcode=W.distdyn=new Int32Array(a8),W.sane=1,W.back=-1,UQ},_0=(Q)=>{if(KQ(Q))return m;let W=Q.state;return W.wsize=0,W.whave=0,W.wnext=0,l0(Q)},i0=(Q,W)=>{let J;if(KQ(Q))return m;let j=Q.state;if(W<0)J=0,W=-W;else if(J=(W>>4)+5,W<48)W&=15;if(W&&(W<8||W>15))return m;if(j.window!==null&&j.wbits!==W)j.window=null;return j.wrap=J,j.wbits=W,_0(Q)},r0=(Q,W)=>{if(!Q)return m;let J=new s8;Q.state=J,J.strm=Q,J.window=null,J.mode=nQ;let j=i0(Q,W);if(j!==UQ)Q.state=null;return j},Q1=(Q)=>{return r0(Q,t8)},F0=!0,KJ,VJ,J1=(Q)=>{if(F0){KJ=new Int32Array(512),VJ=new Int32Array(32);let W=0;while(W<144)Q.lens[W++]=8;while(W<256)Q.lens[W++]=9;while(W<280)Q.lens[W++]=7;while(W<288)Q.lens[W++]=8;gQ(u0,Q.lens,0,288,KJ,0,Q.work,{bits:9}),W=0;while(W<32)Q.lens[W++]=5;gQ(h0,Q.lens,0,32,VJ,0,Q.work,{bits:5}),F0=!1}Q.lencode=KJ,Q.lenbits=9,Q.distcode=VJ,Q.distbits=5},o0=(Q,W,J,j)=>{let G,q=Q.state;if(q.window===null)q.wsize=1<<q.wbits,q.wnext=0,q.whave=0,q.window=new Uint8Array(q.wsize);if(j>=q.wsize)q.window.set(W.subarray(J-q.wsize,J),0),q.wnext=0,q.whave=q.wsize;else{if(G=q.wsize-q.wnext,G>j)G=j;if(q.window.set(W.subarray(J-j,J-j+G),q.wnext),j-=G,j)q.window.set(W.subarray(J-j,J),0),q.wnext=j,q.whave=q.wsize;else{if(q.wnext+=G,q.wnext===q.wsize)q.wnext=0;if(q.whave<q.wsize)q.whave+=G}}return 0},W1=(Q,W)=>{let J,j,G,q,z,U,Y,X,K,P,k,V,Z,M,$=0,C,O,L,F,R,y,H,A,g=new Uint8Array(4),B,N,JQ=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(KQ(Q)||!Q.output||!Q.input&&Q.avail_in!==0)return m;if(J=Q.state,J.mode===i)J.mode=XJ;z=Q.next_out,G=Q.output,Y=Q.avail_out,q=Q.next_in,j=Q.input,U=Q.avail_in,X=J.hold,K=J.bits,P=U,k=Y,A=UQ;Q:for(;;)switch(J.mode){case nQ:if(J.wrap===0){J.mode=XJ;break}while(K<16){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(J.wrap&2&&X===35615){if(J.wbits===0)J.wbits=15;J.check=0,g[0]=X&255,g[1]=X>>>8&255,J.check=D(J.check,g,2,0),X=0,K=0,J.mode=_J;break}if(J.head)J.head.done=!1;if(!(J.wrap&1)||(((X&255)<<8)+(X>>8))%31){Q.msg="incorrect header check",J.mode=S;break}if((X&15)!==lJ){Q.msg="unknown compression method",J.mode=S;break}if(X>>>=4,K-=4,H=(X&15)+8,J.wbits===0)J.wbits=H;if(H>15||H>J.wbits){Q.msg="invalid window size",J.mode=S;break}J.dmax=1<<J.wbits,J.flags=0,Q.adler=J.check=1,J.mode=X&512?sJ:i,X=0,K=0;break;case _J:while(K<16){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(J.flags=X,(J.flags&255)!==lJ){Q.msg="unknown compression method",J.mode=S;break}if(J.flags&57344){Q.msg="unknown header flags set",J.mode=S;break}if(J.head)J.head.text=X>>8&1;if(J.flags&512&&J.wrap&4)g[0]=X&255,g[1]=X>>>8&255,J.check=D(J.check,g,2,0);X=0,K=0,J.mode=iJ;case iJ:while(K<32){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(J.head)J.head.time=X;if(J.flags&512&&J.wrap&4)g[0]=X&255,g[1]=X>>>8&255,g[2]=X>>>16&255,g[3]=X>>>24&255,J.check=D(J.check,g,4,0);X=0,K=0,J.mode=rJ;case rJ:while(K<16){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(J.head)J.head.xflags=X&255,J.head.os=X>>8;if(J.flags&512&&J.wrap&4)g[0]=X&255,g[1]=X>>>8&255,J.check=D(J.check,g,2,0);X=0,K=0,J.mode=oJ;case oJ:if(J.flags&1024){while(K<16){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(J.length=X,J.head)J.head.extra_len=X;if(J.flags&512&&J.wrap&4)g[0]=X&255,g[1]=X>>>8&255,J.check=D(J.check,g,2,0);X=0,K=0}else if(J.head)J.head.extra=null;J.mode=nJ;case nJ:if(J.flags&1024){if(V=J.length,V>U)V=U;if(V){if(J.head){if(H=J.head.extra_len-J.length,!J.head.extra)J.head.extra=new Uint8Array(J.head.extra_len);J.head.extra.set(j.subarray(q,q+V),H)}if(J.flags&512&&J.wrap&4)J.check=D(J.check,j,V,q);U-=V,q+=V,J.length-=V}if(J.length)break Q}J.length=0,J.mode=aJ;case aJ:if(J.flags&2048){if(U===0)break Q;V=0;do if(H=j[q+V++],J.head&&H&&J.length<65536)J.head.name+=String.fromCharCode(H);while(H&&V<U);if(J.flags&512&&J.wrap&4)J.check=D(J.check,j,V,q);if(U-=V,q+=V,H)break Q}else if(J.head)J.head.name=null;J.length=0,J.mode=eJ;case eJ:if(J.flags&4096){if(U===0)break Q;V=0;do if(H=j[q+V++],J.head&&H&&J.length<65536)J.head.comment+=String.fromCharCode(H);while(H&&V<U);if(J.flags&512&&J.wrap&4)J.check=D(J.check,j,V,q);if(U-=V,q+=V,H)break Q}else if(J.head)J.head.comment=null;J.mode=tJ;case tJ:if(J.flags&512){while(K<16){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(J.wrap&4&&X!==(J.check&65535)){Q.msg="header crc mismatch",J.mode=S;break}X=0,K=0}if(J.head)J.head.hcrc=J.flags>>9&1,J.head.done=!0;Q.adler=J.check=0,J.mode=i;break;case sJ:while(K<32){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}Q.adler=J.check=Y0(X),X=0,K=0,J.mode=iQ;case iQ:if(J.havedict===0)return Q.next_out=z,Q.avail_out=Y,Q.next_in=q,Q.avail_in=U,J.hold=X,J.bits=K,r8;Q.adler=J.check=1,J.mode=i;case i:if(W===_8||W===cQ)break Q;case XJ:if(J.last){X>>>=K&7,K-=K&7,J.mode=zJ;break}while(K<3){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}switch(J.last=X&1,X>>>=1,K-=1,X&3){case 0:J.mode=Q0;break;case 1:if(J1(J),J.mode=mQ,W===cQ){X>>>=2,K-=2;break Q}break;case 2:J.mode=W0;break;case 3:Q.msg="invalid block type",J.mode=S}X>>>=2,K-=2;break;case Q0:X>>>=K&7,K-=K&7;while(K<32){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if((X&65535)!==(X>>>16^65535)){Q.msg="invalid stored block lengths",J.mode=S;break}if(J.length=X&65535,X=0,K=0,J.mode=UJ,W===cQ)break Q;case UJ:J.mode=J0;case J0:if(V=J.length,V){if(V>U)V=U;if(V>Y)V=Y;if(V===0)break Q;G.set(j.subarray(q,q+V),z),U-=V,q+=V,Y-=V,z+=V,J.length-=V;break}J.mode=i;break;case W0:while(K<14){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(J.nlen=(X&31)+257,X>>>=5,K-=5,J.ndist=(X&31)+1,X>>>=5,K-=5,J.ncode=(X&15)+4,X>>>=4,K-=4,J.nlen>286||J.ndist>30){Q.msg="too many length or distance symbols",J.mode=S;break}J.have=0,J.mode=j0;case j0:while(J.have<J.ncode){while(K<3){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}J.lens[JQ[J.have++]]=X&7,X>>>=3,K-=3}while(J.have<19)J.lens[JQ[J.have++]]=0;if(J.lencode=J.lendyn,J.lenbits=7,B={bits:J.lenbits},A=gQ(l8,J.lens,0,19,J.lencode,0,J.work,B),J.lenbits=B.bits,A){Q.msg="invalid code lengths set",J.mode=S;break}J.have=0,J.mode=q0;case q0:while(J.have<J.nlen+J.ndist){for(;;){if($=J.lencode[X&(1<<J.lenbits)-1],C=$>>>24,O=$>>>16&255,L=$&65535,C<=K)break;if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(L<16)X>>>=C,K-=C,J.lens[J.have++]=L;else{if(L===16){N=C+2;while(K<N){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(X>>>=C,K-=C,J.have===0){Q.msg="invalid bit length repeat",J.mode=S;break}H=J.lens[J.have-1],V=3+(X&3),X>>>=2,K-=2}else if(L===17){N=C+3;while(K<N){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}X>>>=C,K-=C,H=0,V=3+(X&7),X>>>=3,K-=3}else{N=C+7;while(K<N){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}X>>>=C,K-=C,H=0,V=11+(X&127),X>>>=7,K-=7}if(J.have+V>J.nlen+J.ndist){Q.msg="invalid bit length repeat",J.mode=S;break}while(V--)J.lens[J.have++]=H}}if(J.mode===S)break;if(J.lens[256]===0){Q.msg="invalid code -- missing end-of-block",J.mode=S;break}if(J.lenbits=9,B={bits:J.lenbits},A=gQ(u0,J.lens,0,J.nlen,J.lencode,0,J.work,B),J.lenbits=B.bits,A){Q.msg="invalid literal/lengths set",J.mode=S;break}if(J.distbits=6,J.distcode=J.distdyn,B={bits:J.distbits},A=gQ(h0,J.lens,J.nlen,J.ndist,J.distcode,0,J.work,B),J.distbits=B.bits,A){Q.msg="invalid distances set",J.mode=S;break}if(J.mode=mQ,W===cQ)break Q;case mQ:J.mode=dQ;case dQ:if(U>=6&&Y>=258){if(Q.next_out=z,Q.avail_out=Y,Q.next_in=q,Q.avail_in=U,J.hold=X,J.bits=K,u8(Q,k),z=Q.next_out,G=Q.output,Y=Q.avail_out,q=Q.next_in,j=Q.input,U=Q.avail_in,X=J.hold,K=J.bits,J.mode===i)J.back=-1;break}J.back=0;for(;;){if($=J.lencode[X&(1<<J.lenbits)-1],C=$>>>24,O=$>>>16&255,L=$&65535,C<=K)break;if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(O&&(O&240)===0){F=C,R=O,y=L;for(;;){if($=J.lencode[y+((X&(1<<F+R)-1)>>F)],C=$>>>24,O=$>>>16&255,L=$&65535,F+C<=K)break;if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}X>>>=F,K-=F,J.back+=F}if(X>>>=C,K-=C,J.back+=C,J.length=L,O===0){J.mode=K0;break}if(O&32){J.back=-1,J.mode=i;break}if(O&64){Q.msg="invalid literal/length code",J.mode=S;break}J.extra=O&15,J.mode=G0;case G0:if(J.extra){N=J.extra;while(K<N){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}J.length+=X&(1<<J.extra)-1,X>>>=J.extra,K-=J.extra,J.back+=J.extra}J.was=J.length,J.mode=X0;case X0:for(;;){if($=J.distcode[X&(1<<J.distbits)-1],C=$>>>24,O=$>>>16&255,L=$&65535,C<=K)break;if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if((O&240)===0){F=C,R=O,y=L;for(;;){if($=J.distcode[y+((X&(1<<F+R)-1)>>F)],C=$>>>24,O=$>>>16&255,L=$&65535,F+C<=K)break;if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}X>>>=F,K-=F,J.back+=F}if(X>>>=C,K-=C,J.back+=C,O&64){Q.msg="invalid distance code",J.mode=S;break}J.offset=L,J.extra=O&15,J.mode=U0;case U0:if(J.extra){N=J.extra;while(K<N){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}J.offset+=X&(1<<J.extra)-1,X>>>=J.extra,K-=J.extra,J.back+=J.extra}if(J.offset>J.dmax){Q.msg="invalid distance too far back",J.mode=S;break}J.mode=z0;case z0:if(Y===0)break Q;if(V=k-Y,J.offset>V){if(V=J.offset-V,V>J.whave){if(J.sane){Q.msg="invalid distance too far back",J.mode=S;break}}if(V>J.wnext)V-=J.wnext,Z=J.wsize-V;else Z=J.wnext-V;if(V>J.length)V=J.length;M=J.window}else M=G,Z=z-J.offset,V=J.length;if(V>Y)V=Y;Y-=V,J.length-=V;do G[z++]=M[Z++];while(--V);if(J.length===0)J.mode=dQ;break;case K0:if(Y===0)break Q;G[z++]=J.length,Y--,J.mode=dQ;break;case zJ:if(J.wrap){while(K<32){if(U===0)break Q;U--,X|=j[q++]<<K,K+=8}if(k-=Y,Q.total_out+=k,J.total+=k,J.wrap&4&&k)Q.adler=J.check=J.flags?D(J.check,G,k,z-k):wQ(J.check,G,k,z-k);if(k=Y,J.wrap&4&&(J.flags?X:Y0(X))!==J.check){Q.msg="incorrect data check",J.mode=S;break}X=0,K=0}J.mode=V0;case V0:if(J.wrap&&J.flags){while(K<32){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(J.wrap&4&&X!==(J.total&4294967295)){Q.msg="incorrect length check",J.mode=S;break}X=0,K=0}J.mode=k0;case k0:A=i8;break Q;case S:A=c0;break Q;case d0:return m0;case p0:default:return m}if(Q.next_out=z,Q.avail_out=Y,Q.next_in=q,Q.avail_in=U,J.hold=X,J.bits=K,J.wsize||k!==Q.avail_out&&J.mode<S&&(J.mode<zJ||W!==pJ)){if(o0(Q,Q.output,Q.next_out,k-Q.avail_out));}if(P-=Q.avail_in,k-=Q.avail_out,Q.total_in+=P,Q.total_out+=k,J.total+=k,J.wrap&4&&k)Q.adler=J.check=J.flags?D(J.check,G,k,Q.next_out-k):wQ(J.check,G,k,Q.next_out-k);if(Q.data_type=J.bits+(J.last?64:0)+(J.mode===i?128:0)+(J.mode===mQ||J.mode===UJ?256:0),(P===0&&k===0||W===pJ)&&A===UQ)A=o8;return A},j1=(Q)=>{if(KQ(Q))return m;let W=Q.state;if(W.window)W.window=null;return Q.state=null,UQ},q1=(Q,W)=>{if(KQ(Q))return m;let J=Q.state;if((J.wrap&2)===0)return m;return J.head=W,W.done=!1,UQ},G1=(Q,W)=>{let J=W.length,j,G,q;if(KQ(Q))return m;if(j=Q.state,j.wrap!==0&&j.mode!==iQ)return m;if(j.mode===iQ){if(G=1,G=wQ(G,W,J,0),G!==j.check)return c0}if(q=o0(Q,W,J,J),q)return j.mode=d0,m0;return j.havedict=1,UQ},X1=_0,U1=i0,z1=l0,K1=Q1,V1=r0,k1=W1,Y1=j1,F1=q1,Z1=G1,H1="pako inflate (from Nodeca project)",o={inflateReset:X1,inflateReset2:U1,inflateResetKeep:z1,inflateInit:K1,inflateInit2:V1,inflate:k1,inflateEnd:Y1,inflateGetHeader:F1,inflateSetDictionary:Z1,inflateInfo:H1};function P1(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}var B1=P1,n0=Object.prototype.toString,{Z_NO_FLUSH:C1,Z_FINISH:$1,Z_OK:TQ,Z_STREAM_END:kJ,Z_NEED_DICT:YJ,Z_STREAM_ERROR:L1,Z_DATA_ERROR:Z0,Z_MEM_ERROR:N1}=zQ;function IQ(Q){this.options=oQ.assign({chunkSize:65536,windowBits:15,to:""},Q||{});let W=this.options;if(W.raw&&W.windowBits>=0&&W.windowBits<16){if(W.windowBits=-W.windowBits,W.windowBits===0)W.windowBits=-15}if(W.windowBits>=0&&W.windowBits<16&&!(Q&&Q.windowBits))W.windowBits+=32;if(W.windowBits>15&&W.windowBits<48){if((W.windowBits&15)===0)W.windowBits|=15}this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new b0,this.strm.avail_out=0;let J=o.inflateInit2(this.strm,W.windowBits);if(J!==TQ)throw new Error(GQ[J]);if(this.header=new B1,o.inflateGetHeader(this.strm,this.header),W.dictionary){if(typeof W.dictionary==="string")W.dictionary=SQ.string2buf(W.dictionary);else if(n0.call(W.dictionary)==="[object ArrayBuffer]")W.dictionary=new Uint8Array(W.dictionary);if(W.raw){if(J=o.inflateSetDictionary(this.strm,W.dictionary),J!==TQ)throw new Error(GQ[J])}}}IQ.prototype.push=function(Q,W){let J=this.strm,j=this.options.chunkSize,G=this.options.dictionary,q,z,U;if(this.ended)return!1;if(W===~~W)z=W;else z=W===!0?$1:C1;if(n0.call(Q)==="[object ArrayBuffer]")J.input=new Uint8Array(Q);else J.input=Q;J.next_in=0,J.avail_in=J.input.length;for(;;){if(J.avail_out===0)J.output=new Uint8Array(j),J.next_out=0,J.avail_out=j;if(q=o.inflate(J,z),q===YJ&&G){if(q=o.inflateSetDictionary(J,G),q===TQ)q=o.inflate(J,z);else if(q===Z0)q=YJ}while(J.avail_in>0&&q===kJ&&J.state.wrap>0&&Q[J.next_in]!==0)o.inflateReset(J),q=o.inflate(J,z);switch(q){case L1:case Z0:case YJ:case N1:return this.onEnd(q),this.ended=!0,!1}if(U=J.avail_out,J.next_out){if(J.avail_out===0||q===kJ)if(this.options.to==="string"){let Y=SQ.utf8border(J.output,J.next_out),X=J.next_out-Y,K=SQ.buf2string(J.output,Y);if(J.next_out=X,J.avail_out=j-X,X)J.output.set(J.output.subarray(Y,Y+X),0);this.onData(K)}else this.onData(J.output.length===J.next_out?J.output:J.output.subarray(0,J.next_out))}if(q===TQ&&U===0)continue;if(q===kJ)return q=o.inflateEnd(this.strm),this.onEnd(q),this.ended=!0,!0;if(J.avail_in===0)break}return!0};IQ.prototype.onData=function(Q){this.chunks.push(Q)};IQ.prototype.onEnd=function(Q){if(Q===TQ)if(this.options.to==="string")this.result=this.chunks.join("");else this.result=oQ.flattenChunks(this.chunks);this.chunks=[],this.err=Q,this.msg=this.strm.msg};function wJ(Q,W){let J=new IQ(W);if(J.push(Q),J.err)throw J.msg||GQ[J.err];return J.result}function v1(Q,W){return W=W||{},W.raw=!0,wJ(Q,W)}var g1=IQ,R1=wJ,x1=v1,O1=wJ,M1=zQ,w1={Inflate:g1,inflate:R1,inflateRaw:x1,ungzip:O1,constants:M1},{Deflate:A1,deflate:S1,deflateRaw:T1,gzip:y1}=b8,{Inflate:D1,inflate:E1,inflateRaw:I1,ungzip:b1}=w1,f1=A1,u1=S1,h1=T1,c1=y1,m1=D1,d1=E1,p1=I1,l1=b1,_1=zQ,aQ={Deflate:f1,deflate:u1,deflateRaw:h1,gzip:c1,Inflate:m1,inflate:d1,inflateRaw:p1,ungzip:l1,constants:_1};class w{static version="4.1.0";static logger=new eQ;icons=new Map;name="failed-to-find-vyi-name";formatVersion=1;constructor(Q){if(w.logger.registerType("Vyi-module","#ff6600"),Q)this.parse(Q)}parse(Q){if(!Q)return this;try{let W;if(typeof Q==="string")try{W=JSON.parse(Q)}catch(J){if(!Q.includes(".vyr")&&!Q.includes(".vyi")){if(W=Q,!W)throw new Error("Non vyi data found from binary string")}else try{W=JSON.parse(Q)}catch(j){if(typeof window==="undefined")W=this.readFileAndGetVYI(Q);else throw new Error("Invalid string input - not valid JSON or file path")}}else if(Q instanceof w)W=Q.export();else if(Q instanceof Object&&!Array.isArray(Q)&&!(Q instanceof ArrayBuffer||Q instanceof Uint8Array))W=Q;else if(Q instanceof ArrayBuffer||Q instanceof Uint8Array)W=this.handleBinaryData(Q);else throw new Error("Error processing: Invalid input type provided.");if(!W||(!W.v||!W.i)&&!W.icons)throw new Error("Non vyi data found.");this.processVyiData(W)}catch(W){w.logger.prefix("Vyi-module").error(\`\${W.message}\`)}return this}readFile(Q){try{let J=new TextEncoder().encode(Q),j=aQ.inflate(J,{to:"string"});return JSON.parse(j)}catch(W){return console.error("File reading failed:",W),null}}readFileAndGetVYI(Q){let J=(()=>({})).readFileSync(Q);return this.handleBinaryData(J)}async fetchAndParseJSON(Q){try{return await(await fetch(Q)).json()}catch(W){throw new Error(\`Failed to fetch or parse JSON from URL: \${W}\`)}}handleBinaryData(Q){let W=Q instanceof ArrayBuffer?new Uint8Array(Q):Q;try{let J=aQ.inflate(W,{to:"string"});if(!J)return null;return JSON.parse(J)}catch(J){try{let j=new TextDecoder().decode(W);if(!j)return null;return JSON.parse(j)}catch(j){return console.error("Decoding failed:",j),null}}}processVyiData(Q){this.icons.clear();let W=Q.i||Q.icons;if(this.formatVersion=Q.v??"format not found",Array.isArray(W))W.forEach((J)=>{if(!Array.isArray(J)&&typeof J==="object"){let j=this.convertOldIconData(J);this.addIcon(j)}else this.addIcon(J)});else w.logger.prefix("Vyi-module").error("Invalid .vyi file! Cannot parse icons.")}convertOldIconData(Q){let W=Array.isArray(Q.frames)?Q.frames.map((j)=>[j.data,j.delay]):[],J=Array.isArray(Q.states)?Q.states.map((j)=>{let G=Array.isArray(j.frames)?j.frames.map((q)=>[q.data,q.delay]):[];return[j.name,j.data,j.delay||100,G]}):[];return[Q.name||"",Q.w||32,Q.h||32,Q.delay||100,Q.data||"",W,J]}addIcon(Q){if(!Q){w.logger.prefix("Vyi-module").error("No icon data passed!");return}if(!(Q instanceof T)&&!Array.isArray(Q)){w.logger.prefix("Vyi-module").error("Invalid icon data type passed!");return}let W=Q instanceof T?Q:new T(Q);return this.icons.set(W.id,W),W.setVyi(this),W}removeIcon(Q){if(!Q)return;if(Q instanceof T){if(this.icons.delete(Q.id))Q.removeVyi()}}removeIconByName(Q){let W=this.getIcon(Q);if(W)this.removeIcon(W)}removeIconById(Q){let W=this.getIconById(Q);if(W)this.removeIcon(W)}getIconNames(){return this.getIcons().map((W)=>W.name)}getIcon(Q){if(typeof Q==="string"){let W=this.getIcons();for(let J=W.length-1;J>=0;J--){let j=W[J];if(j.getName()===Q)return j}}else w.logger.prefix("Vyi-module").error("Invalid name type used!")}getIconCount(){return this.icons.size}getIconById(Q){if(!Q)return;return this.icons.get(Q)||this.getIcons().find((J)=>J.states.has(Q))?.getStateById(Q)}getIcons(){return Array.from(this.icons.values())}rename(Q){if(typeof Q==="string")this.name=Q;else w.logger.prefix("Vyi-module").error("Invalid name type used!")}getName(){return this.name}export(Q){let W={v:this.formatVersion,i:this.getIcons().map((J)=>J.export())};if(Q){let J=new TextEncoder().encode(JSON.stringify(W));return aQ.deflate(J)}return W}}self.onmessage=function(Q){let{id:W,type:J,data:j}=Q.data;try{if(J==="parse"){let q=new w(j).export();self.postMessage({id:W,success:!0,data:q})}}catch(G){let q=G instanceof Error?G.message:"Unknown error";console.error("Worker error:",G),self.postMessage({id:W,success:!1,error:q})}};
|
|
9531
|
-
`;
|
|
9532
|
-
var WORKER_BLOB = new Blob([WORKER_CODE], { type: "application/javascript" });
|
|
9533
|
-
var WORKER_SCRIPT_URL = URL.createObjectURL(WORKER_BLOB);
|
|
9432
|
+
function createSupportsColor(stream, options = {}) {
|
|
9433
|
+
const level = _supportsColor(stream, {
|
|
9434
|
+
streamIsTTY: stream && stream.isTTY,
|
|
9435
|
+
...options
|
|
9436
|
+
});
|
|
9437
|
+
return translateLevel(level);
|
|
9438
|
+
}
|
|
9439
|
+
var supportsColor = {
|
|
9440
|
+
stdout: createSupportsColor({ isTTY: tty.isatty(1) }),
|
|
9441
|
+
stderr: createSupportsColor({ isTTY: tty.isatty(2) })
|
|
9442
|
+
};
|
|
9443
|
+
var supports_color_default = supportsColor;
|
|
9534
9444
|
|
|
9535
|
-
|
|
9536
|
-
|
|
9537
|
-
|
|
9538
|
-
|
|
9539
|
-
|
|
9540
|
-
|
|
9541
|
-
|
|
9542
|
-
|
|
9543
|
-
|
|
9544
|
-
|
|
9545
|
-
|
|
9445
|
+
// node_modules/chalk/source/utilities.js
|
|
9446
|
+
function stringReplaceAll(string, substring, replacer) {
|
|
9447
|
+
let index = string.indexOf(substring);
|
|
9448
|
+
if (index === -1) {
|
|
9449
|
+
return string;
|
|
9450
|
+
}
|
|
9451
|
+
const substringLength = substring.length;
|
|
9452
|
+
let endIndex = 0;
|
|
9453
|
+
let returnValue = "";
|
|
9454
|
+
do {
|
|
9455
|
+
returnValue += string.slice(endIndex, index) + substring + replacer;
|
|
9456
|
+
endIndex = index + substringLength;
|
|
9457
|
+
index = string.indexOf(substring, endIndex);
|
|
9458
|
+
} while (index !== -1);
|
|
9459
|
+
returnValue += string.slice(endIndex);
|
|
9460
|
+
return returnValue;
|
|
9461
|
+
}
|
|
9462
|
+
function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
|
|
9463
|
+
let endIndex = 0;
|
|
9464
|
+
let returnValue = "";
|
|
9465
|
+
do {
|
|
9466
|
+
const gotCR = string[index - 1] === "\r";
|
|
9467
|
+
returnValue += string.slice(endIndex, gotCR ? index - 1 : index) + prefix + (gotCR ? `\r
|
|
9468
|
+
` : `
|
|
9469
|
+
`) + postfix;
|
|
9470
|
+
endIndex = index + 1;
|
|
9471
|
+
index = string.indexOf(`
|
|
9472
|
+
`, endIndex);
|
|
9473
|
+
} while (index !== -1);
|
|
9474
|
+
returnValue += string.slice(endIndex);
|
|
9475
|
+
return returnValue;
|
|
9476
|
+
}
|
|
9477
|
+
|
|
9478
|
+
// node_modules/chalk/source/index.js
|
|
9479
|
+
var { stdout: stdoutColor, stderr: stderrColor } = supports_color_default;
|
|
9480
|
+
var GENERATOR = Symbol("GENERATOR");
|
|
9481
|
+
var STYLER = Symbol("STYLER");
|
|
9482
|
+
var IS_EMPTY = Symbol("IS_EMPTY");
|
|
9483
|
+
var levelMapping = [
|
|
9484
|
+
"ansi",
|
|
9485
|
+
"ansi",
|
|
9486
|
+
"ansi256",
|
|
9487
|
+
"ansi16m"
|
|
9488
|
+
];
|
|
9489
|
+
var styles2 = Object.create(null);
|
|
9490
|
+
var applyOptions = (object, options = {}) => {
|
|
9491
|
+
if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {
|
|
9492
|
+
throw new Error("The `level` option should be an integer from 0 to 3");
|
|
9546
9493
|
}
|
|
9547
|
-
|
|
9548
|
-
|
|
9549
|
-
|
|
9494
|
+
const colorLevel = stdoutColor ? stdoutColor.level : 0;
|
|
9495
|
+
object.level = options.level === undefined ? colorLevel : options.level;
|
|
9496
|
+
};
|
|
9497
|
+
var chalkFactory = (options) => {
|
|
9498
|
+
const chalk = (...strings2) => strings2.join(" ");
|
|
9499
|
+
applyOptions(chalk, options);
|
|
9500
|
+
Object.setPrototypeOf(chalk, createChalk.prototype);
|
|
9501
|
+
return chalk;
|
|
9502
|
+
};
|
|
9503
|
+
function createChalk(options) {
|
|
9504
|
+
return chalkFactory(options);
|
|
9505
|
+
}
|
|
9506
|
+
Object.setPrototypeOf(createChalk.prototype, Function.prototype);
|
|
9507
|
+
for (const [styleName, style] of Object.entries(ansi_styles_default)) {
|
|
9508
|
+
styles2[styleName] = {
|
|
9509
|
+
get() {
|
|
9510
|
+
const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);
|
|
9511
|
+
Object.defineProperty(this, styleName, { value: builder });
|
|
9512
|
+
return builder;
|
|
9550
9513
|
}
|
|
9551
|
-
|
|
9514
|
+
};
|
|
9515
|
+
}
|
|
9516
|
+
styles2.visible = {
|
|
9517
|
+
get() {
|
|
9518
|
+
const builder = createBuilder(this, this[STYLER], true);
|
|
9519
|
+
Object.defineProperty(this, "visible", { value: builder });
|
|
9520
|
+
return builder;
|
|
9552
9521
|
}
|
|
9553
|
-
|
|
9554
|
-
|
|
9555
|
-
|
|
9556
|
-
|
|
9522
|
+
};
|
|
9523
|
+
var getModelAnsi = (model, level, type, ...arguments_) => {
|
|
9524
|
+
if (model === "rgb") {
|
|
9525
|
+
if (level === "ansi16m") {
|
|
9526
|
+
return ansi_styles_default[type].ansi16m(...arguments_);
|
|
9557
9527
|
}
|
|
9558
|
-
|
|
9559
|
-
|
|
9560
|
-
for (let i = 0;i < this.maxWorkers; i++) {
|
|
9561
|
-
const worker = this.createWorker();
|
|
9562
|
-
this.workers.push(worker);
|
|
9563
|
-
this.availableWorkers.push(worker);
|
|
9528
|
+
if (level === "ansi256") {
|
|
9529
|
+
return ansi_styles_default[type].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_));
|
|
9564
9530
|
}
|
|
9531
|
+
return ansi_styles_default[type].ansi(ansi_styles_default.rgbToAnsi(...arguments_));
|
|
9565
9532
|
}
|
|
9566
|
-
|
|
9567
|
-
|
|
9568
|
-
worker.onmessage = (event) => {
|
|
9569
|
-
const { id, success, data, error } = event.data;
|
|
9570
|
-
const pending = this.pendingMessages.get(id);
|
|
9571
|
-
if (pending) {
|
|
9572
|
-
this.pendingMessages.delete(id);
|
|
9573
|
-
if (success) {
|
|
9574
|
-
pending.resolve(data);
|
|
9575
|
-
} else {
|
|
9576
|
-
pending.reject(new Error(error));
|
|
9577
|
-
}
|
|
9578
|
-
}
|
|
9579
|
-
};
|
|
9580
|
-
worker.onerror = (error) => {
|
|
9581
|
-
console.error("Worker error:", error);
|
|
9582
|
-
for (const [id, pending] of this.pendingMessages) {
|
|
9583
|
-
pending.reject(new Error(`Worker error: ${error.message}`));
|
|
9584
|
-
}
|
|
9585
|
-
this.pendingMessages.clear();
|
|
9586
|
-
};
|
|
9587
|
-
return worker;
|
|
9533
|
+
if (model === "hex") {
|
|
9534
|
+
return getModelAnsi("rgb", level, type, ...ansi_styles_default.hexToRgb(...arguments_));
|
|
9588
9535
|
}
|
|
9589
|
-
|
|
9590
|
-
|
|
9591
|
-
|
|
9536
|
+
return ansi_styles_default[type][model](...arguments_);
|
|
9537
|
+
};
|
|
9538
|
+
var usedModels = ["rgb", "hex", "ansi256"];
|
|
9539
|
+
for (const model of usedModels) {
|
|
9540
|
+
styles2[model] = {
|
|
9541
|
+
get() {
|
|
9542
|
+
const { level } = this;
|
|
9543
|
+
return function(...arguments_) {
|
|
9544
|
+
const styler = createStyler(getModelAnsi(model, levelMapping[level], "color", ...arguments_), ansi_styles_default.color.close, this[STYLER]);
|
|
9545
|
+
return createBuilder(this, styler, this[IS_EMPTY]);
|
|
9546
|
+
};
|
|
9592
9547
|
}
|
|
9593
|
-
|
|
9594
|
-
|
|
9548
|
+
};
|
|
9549
|
+
const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
|
|
9550
|
+
styles2[bgModel] = {
|
|
9551
|
+
get() {
|
|
9552
|
+
const { level } = this;
|
|
9553
|
+
return function(...arguments_) {
|
|
9554
|
+
const styler = createStyler(getModelAnsi(model, levelMapping[level], "bgColor", ...arguments_), ansi_styles_default.bgColor.close, this[STYLER]);
|
|
9555
|
+
return createBuilder(this, styler, this[IS_EMPTY]);
|
|
9556
|
+
};
|
|
9595
9557
|
}
|
|
9596
|
-
|
|
9597
|
-
|
|
9598
|
-
|
|
9599
|
-
|
|
9600
|
-
|
|
9601
|
-
|
|
9602
|
-
|
|
9603
|
-
|
|
9604
|
-
|
|
9605
|
-
|
|
9558
|
+
};
|
|
9559
|
+
}
|
|
9560
|
+
var proto = Object.defineProperties(() => {
|
|
9561
|
+
}, {
|
|
9562
|
+
...styles2,
|
|
9563
|
+
level: {
|
|
9564
|
+
enumerable: true,
|
|
9565
|
+
get() {
|
|
9566
|
+
return this[GENERATOR].level;
|
|
9567
|
+
},
|
|
9568
|
+
set(level) {
|
|
9569
|
+
this[GENERATOR].level = level;
|
|
9606
9570
|
}
|
|
9607
9571
|
}
|
|
9608
|
-
|
|
9609
|
-
|
|
9610
|
-
|
|
9611
|
-
|
|
9612
|
-
|
|
9613
|
-
|
|
9614
|
-
|
|
9615
|
-
|
|
9616
|
-
|
|
9617
|
-
|
|
9618
|
-
}, 30000);
|
|
9619
|
-
});
|
|
9572
|
+
});
|
|
9573
|
+
var createStyler = (open2, close, parent) => {
|
|
9574
|
+
let openAll;
|
|
9575
|
+
let closeAll;
|
|
9576
|
+
if (parent === undefined) {
|
|
9577
|
+
openAll = open2;
|
|
9578
|
+
closeAll = close;
|
|
9579
|
+
} else {
|
|
9580
|
+
openAll = parent.openAll + open2;
|
|
9581
|
+
closeAll = close + parent.closeAll;
|
|
9620
9582
|
}
|
|
9621
|
-
|
|
9622
|
-
|
|
9623
|
-
|
|
9624
|
-
|
|
9625
|
-
|
|
9626
|
-
|
|
9627
|
-
|
|
9628
|
-
|
|
9583
|
+
return {
|
|
9584
|
+
open: open2,
|
|
9585
|
+
close,
|
|
9586
|
+
openAll,
|
|
9587
|
+
closeAll,
|
|
9588
|
+
parent
|
|
9589
|
+
};
|
|
9590
|
+
};
|
|
9591
|
+
var createBuilder = (self, _styler, _isEmpty) => {
|
|
9592
|
+
const builder = (...arguments_) => applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
|
|
9593
|
+
Object.setPrototypeOf(builder, proto);
|
|
9594
|
+
builder[GENERATOR] = self;
|
|
9595
|
+
builder[STYLER] = _styler;
|
|
9596
|
+
builder[IS_EMPTY] = _isEmpty;
|
|
9597
|
+
return builder;
|
|
9598
|
+
};
|
|
9599
|
+
var applyStyle = (self, string) => {
|
|
9600
|
+
if (self.level <= 0 || !string) {
|
|
9601
|
+
return self[IS_EMPTY] ? "" : string;
|
|
9602
|
+
}
|
|
9603
|
+
let styler = self[STYLER];
|
|
9604
|
+
if (styler === undefined) {
|
|
9605
|
+
return string;
|
|
9606
|
+
}
|
|
9607
|
+
const { openAll, closeAll } = styler;
|
|
9608
|
+
if (string.includes("\x1B")) {
|
|
9609
|
+
while (styler !== undefined) {
|
|
9610
|
+
string = stringReplaceAll(string, styler.close, styler.open);
|
|
9611
|
+
styler = styler.parent;
|
|
9629
9612
|
}
|
|
9630
|
-
this.pendingMessages.clear();
|
|
9631
9613
|
}
|
|
9632
|
-
|
|
9614
|
+
const lfIndex = string.indexOf(`
|
|
9615
|
+
`);
|
|
9616
|
+
if (lfIndex !== -1) {
|
|
9617
|
+
string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
|
|
9618
|
+
}
|
|
9619
|
+
return openAll + string + closeAll;
|
|
9620
|
+
};
|
|
9621
|
+
Object.defineProperties(createChalk.prototype, styles2);
|
|
9622
|
+
var chalk = createChalk();
|
|
9623
|
+
var chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 });
|
|
9624
|
+
var source_default = chalk;
|
|
9633
9625
|
|
|
9634
9626
|
// src/cli/app-bundler.ts
|
|
9635
|
-
import { promises as fs, existsSync } from "fs";
|
|
9636
|
-
import { join as join3, dirname as dirname3, extname as extname2 } from "path";
|
|
9637
9627
|
var Bun2 = globalThis.Bun;
|
|
9628
|
+
|
|
9629
|
+
// src/cli/theme.ts
|
|
9630
|
+
var theme = {
|
|
9631
|
+
brand: source_default.hex("#10B981"),
|
|
9632
|
+
brandBold: source_default.bold.hex("#10B981"),
|
|
9633
|
+
brandLight: source_default.hex("#34D399"),
|
|
9634
|
+
brandMuted: source_default.hex("#059669"),
|
|
9635
|
+
accent: source_default.bold.hex("#2DD4BF"),
|
|
9636
|
+
success: source_default.bold.hex("#10B981"),
|
|
9637
|
+
successIcon: source_default.bold.hex("#34D399"),
|
|
9638
|
+
warning: source_default.bold.hex("#FBBF24"),
|
|
9639
|
+
warningMuted: source_default.hex("#FCD34D"),
|
|
9640
|
+
error: source_default.bold.hex("#F43F5E"),
|
|
9641
|
+
errorText: source_default.hex("#FB7185"),
|
|
9642
|
+
info: source_default.hex("#38BDF8"),
|
|
9643
|
+
infoBold: source_default.bold.hex("#38BDF8"),
|
|
9644
|
+
alert: source_default.bold.hex("#FBBF24"),
|
|
9645
|
+
title: source_default.bold.white,
|
|
9646
|
+
text: source_default.hex("#F1F5F9"),
|
|
9647
|
+
secondary: source_default.hex("#94A3B8"),
|
|
9648
|
+
muted: source_default.hex("#64748B"),
|
|
9649
|
+
highlight: source_default.bold.hex("#F8FAFC"),
|
|
9650
|
+
url: source_default.bold.hex("#38BDF8").underline,
|
|
9651
|
+
bracket: source_default.hex("#64748B"),
|
|
9652
|
+
divider: source_default.hex("#334155"),
|
|
9653
|
+
bullet: source_default.hex("#10B981")("\u203A"),
|
|
9654
|
+
stepNumber: source_default.bold.hex("#10B981"),
|
|
9655
|
+
white: source_default.white,
|
|
9656
|
+
whiteBold: source_default.white.bold,
|
|
9657
|
+
dim: source_default.hex("#94A3B8"),
|
|
9658
|
+
gray: source_default.hex("#94A3B8")
|
|
9659
|
+
};
|
|
9660
|
+
|
|
9661
|
+
// src/cli/app-bundler.ts
|
|
9638
9662
|
function detectArchitecture(pSrcDir) {
|
|
9639
9663
|
const hasClientEntry = existsSync(join3(pSrcDir, "client", "index.ts"));
|
|
9640
9664
|
const hasServerEntry = existsSync(join3(pSrcDir, "server", "index.ts"));
|
|
@@ -9727,6 +9751,7 @@ async function bundleApp(pProjectRoot, pOutDir, pOptions = {}) {
|
|
|
9727
9751
|
const startStamp = Date.now();
|
|
9728
9752
|
const clientResult = await Bun2.build({
|
|
9729
9753
|
entrypoints: [join3(srcDir, "index.ts")],
|
|
9754
|
+
root: pProjectRoot,
|
|
9730
9755
|
naming: {
|
|
9731
9756
|
entry: "index.[ext]",
|
|
9732
9757
|
chunk: "[name]-[hash].[ext]",
|
|
@@ -9740,7 +9765,21 @@ async function bundleApp(pProjectRoot, pOutDir, pOptions = {}) {
|
|
|
9740
9765
|
identifiers: shouldObfuscate,
|
|
9741
9766
|
syntax: true,
|
|
9742
9767
|
whitespace: true
|
|
9743
|
-
} : false
|
|
9768
|
+
} : false,
|
|
9769
|
+
plugins: [
|
|
9770
|
+
{
|
|
9771
|
+
name: "kit-project-resolver",
|
|
9772
|
+
setup(build) {
|
|
9773
|
+
build.onResolve({ filter: /^resource\.json$/ }, () => {
|
|
9774
|
+
const resourcePath = resolve3(pProjectRoot, "resource.json");
|
|
9775
|
+
if (existsSync(resourcePath)) {
|
|
9776
|
+
return { path: resourcePath };
|
|
9777
|
+
}
|
|
9778
|
+
return;
|
|
9779
|
+
});
|
|
9780
|
+
}
|
|
9781
|
+
}
|
|
9782
|
+
]
|
|
9744
9783
|
});
|
|
9745
9784
|
if (!clientResult.success) {
|
|
9746
9785
|
console.error(clientResult.logs);
|
|
@@ -9757,7 +9796,7 @@ async function bundleApp(pProjectRoot, pOutDir, pOptions = {}) {
|
|
|
9757
9796
|
}
|
|
9758
9797
|
const elapsed = Date.now() - startStamp;
|
|
9759
9798
|
if (isVerbose) {
|
|
9760
|
-
console.log(
|
|
9799
|
+
console.log(theme.info(`[Kit CLI] Singleplayer Client Build took: ${elapsed}ms`));
|
|
9761
9800
|
}
|
|
9762
9801
|
return { architecture: "single", clientBuildTime: elapsed, success: true };
|
|
9763
9802
|
}
|
|
@@ -9770,6 +9809,7 @@ async function bundleApp(pProjectRoot, pOutDir, pOptions = {}) {
|
|
|
9770
9809
|
const clientStart = Date.now();
|
|
9771
9810
|
const clientResult = await Bun2.build({
|
|
9772
9811
|
entrypoints: [clientEntry],
|
|
9812
|
+
root: pProjectRoot,
|
|
9773
9813
|
naming: {
|
|
9774
9814
|
entry: "index.[ext]",
|
|
9775
9815
|
chunk: "[name]-[hash].[ext]",
|
|
@@ -9783,7 +9823,21 @@ async function bundleApp(pProjectRoot, pOutDir, pOptions = {}) {
|
|
|
9783
9823
|
identifiers: shouldObfuscate,
|
|
9784
9824
|
syntax: true,
|
|
9785
9825
|
whitespace: true
|
|
9786
|
-
} : false
|
|
9826
|
+
} : false,
|
|
9827
|
+
plugins: [
|
|
9828
|
+
{
|
|
9829
|
+
name: "kit-project-resolver",
|
|
9830
|
+
setup(build) {
|
|
9831
|
+
build.onResolve({ filter: /^resource\.json$/ }, () => {
|
|
9832
|
+
const resourcePath = resolve3(pProjectRoot, "resource.json");
|
|
9833
|
+
if (existsSync(resourcePath)) {
|
|
9834
|
+
return { path: resourcePath };
|
|
9835
|
+
}
|
|
9836
|
+
return;
|
|
9837
|
+
});
|
|
9838
|
+
}
|
|
9839
|
+
}
|
|
9840
|
+
]
|
|
9787
9841
|
});
|
|
9788
9842
|
if (!clientResult.success) {
|
|
9789
9843
|
console.error(clientResult.logs);
|
|
@@ -9801,6 +9855,7 @@ async function bundleApp(pProjectRoot, pOutDir, pOptions = {}) {
|
|
|
9801
9855
|
const serverStart = Date.now();
|
|
9802
9856
|
const serverResult = await Bun2.build({
|
|
9803
9857
|
entrypoints: [serverEntry],
|
|
9858
|
+
root: pProjectRoot,
|
|
9804
9859
|
naming: {
|
|
9805
9860
|
entry: "server.[ext]",
|
|
9806
9861
|
chunk: "[name]-[hash].[ext]",
|
|
@@ -9814,7 +9869,21 @@ async function bundleApp(pProjectRoot, pOutDir, pOptions = {}) {
|
|
|
9814
9869
|
identifiers: shouldObfuscate,
|
|
9815
9870
|
syntax: true,
|
|
9816
9871
|
whitespace: true
|
|
9817
|
-
} : false
|
|
9872
|
+
} : false,
|
|
9873
|
+
plugins: [
|
|
9874
|
+
{
|
|
9875
|
+
name: "kit-project-resolver",
|
|
9876
|
+
setup(build) {
|
|
9877
|
+
build.onResolve({ filter: /^resource\.json$/ }, () => {
|
|
9878
|
+
const resourcePath = resolve3(pProjectRoot, "resource.json");
|
|
9879
|
+
if (existsSync(resourcePath)) {
|
|
9880
|
+
return { path: resourcePath };
|
|
9881
|
+
}
|
|
9882
|
+
return;
|
|
9883
|
+
});
|
|
9884
|
+
}
|
|
9885
|
+
}
|
|
9886
|
+
]
|
|
9818
9887
|
});
|
|
9819
9888
|
if (!serverResult.success) {
|
|
9820
9889
|
console.error(serverResult.logs);
|
|
@@ -9832,10 +9901,10 @@ async function bundleApp(pProjectRoot, pOutDir, pOptions = {}) {
|
|
|
9832
9901
|
}
|
|
9833
9902
|
if (isVerbose) {
|
|
9834
9903
|
if (clientElapsed) {
|
|
9835
|
-
console.log(
|
|
9904
|
+
console.log(theme.info(`[Kit CLI] Multiplayer Client Build took: ${clientElapsed}ms`));
|
|
9836
9905
|
}
|
|
9837
9906
|
if (serverElapsed) {
|
|
9838
|
-
console.log(
|
|
9907
|
+
console.log(theme.info(`[Kit CLI] Multiplayer Server Build took: ${serverElapsed}ms`));
|
|
9839
9908
|
}
|
|
9840
9909
|
}
|
|
9841
9910
|
return {
|
|
@@ -9847,16 +9916,21 @@ async function bundleApp(pProjectRoot, pOutDir, pOptions = {}) {
|
|
|
9847
9916
|
}
|
|
9848
9917
|
return { architecture: "none", success: true };
|
|
9849
9918
|
} catch (pError) {
|
|
9850
|
-
console.error(
|
|
9919
|
+
console.error(theme.error(`[Kit CLI Build Error] ${pError}`));
|
|
9920
|
+
if (pError?.logs) {
|
|
9921
|
+
console.error(pError.logs);
|
|
9922
|
+
} else if (pError?.errors) {
|
|
9923
|
+
console.error(pError.errors);
|
|
9924
|
+
}
|
|
9851
9925
|
return { architecture, success: false };
|
|
9852
9926
|
}
|
|
9853
9927
|
}
|
|
9854
9928
|
|
|
9855
9929
|
// src/cli/resource-builder.ts
|
|
9856
9930
|
var log = console.log;
|
|
9857
|
-
var info =
|
|
9858
|
-
var error =
|
|
9859
|
-
var alert =
|
|
9931
|
+
var info = theme.info;
|
|
9932
|
+
var error = theme.error;
|
|
9933
|
+
var alert = theme.alert;
|
|
9860
9934
|
var RESOURCE_TYPES = ["interface", "icon", "map", "sound", "macros"];
|
|
9861
9935
|
var VALID_EXTENSIONS = ["vyint", "vyi", "vym", "vymac", "mp3", "aac", "wav", "m4a", "ogg", "flac"];
|
|
9862
9936
|
var resourceJSON = initializeResourceJSON();
|
|
@@ -9913,7 +9987,7 @@ async function processDirectory(pDirectoryPath) {
|
|
|
9913
9987
|
const contents = await fs2.readdir(pDirectoryPath);
|
|
9914
9988
|
for (const item of contents) {
|
|
9915
9989
|
const itemPath = join4(pDirectoryPath, item);
|
|
9916
|
-
if (
|
|
9990
|
+
if (resolve4(itemPath) === resourceOutDirectory) {
|
|
9917
9991
|
continue;
|
|
9918
9992
|
}
|
|
9919
9993
|
const stats = await fs2.stat(itemPath);
|
|
@@ -10145,10 +10219,12 @@ async function clearResourceTypeDirectories(pBaseDirectory) {
|
|
|
10145
10219
|
try {
|
|
10146
10220
|
const directoryExists = await fs2.stat(pBaseDirectory).then((stat4) => stat4.isDirectory()).catch(() => false);
|
|
10147
10221
|
if (directoryExists) {
|
|
10148
|
-
await fs2.rm(pBaseDirectory, { recursive: true });
|
|
10222
|
+
await fs2.rm(pBaseDirectory, { recursive: true, force: true });
|
|
10149
10223
|
}
|
|
10150
10224
|
} catch (pError) {
|
|
10151
|
-
|
|
10225
|
+
if (pError?.code !== "ENOENT") {
|
|
10226
|
+
log(`${error(`[Error]`)} clearing resource directory: ${pError}`);
|
|
10227
|
+
}
|
|
10152
10228
|
}
|
|
10153
10229
|
}
|
|
10154
10230
|
async function copyFile(pSource, pDestinationDir, pNewName) {
|
|
@@ -10206,9 +10282,9 @@ async function runWatch() {
|
|
|
10206
10282
|
if (shouldBundleApp && existsSync2(srcDir) && srcDir !== resourceInDirectory) {
|
|
10207
10283
|
pathsToWatch.push(srcDir);
|
|
10208
10284
|
}
|
|
10209
|
-
const displayPaths = pathsToWatch.map((p) =>
|
|
10210
|
-
console.log(
|
|
10211
|
-
Watching for changes in: ${displayPaths}`)
|
|
10285
|
+
const displayPaths = pathsToWatch.map((p) => theme.highlight(relative3(projectRootDirectory, p) || p)).join(", ");
|
|
10286
|
+
console.log(`
|
|
10287
|
+
${theme.brandBold("Watching for changes in:")} ${displayPaths}`);
|
|
10212
10288
|
let debounceTimer = null;
|
|
10213
10289
|
let isRebuilding = false;
|
|
10214
10290
|
let queuedChange = null;
|
|
@@ -10222,8 +10298,8 @@ Watching for changes in: ${displayPaths}`));
|
|
|
10222
10298
|
}
|
|
10223
10299
|
isRebuilding = true;
|
|
10224
10300
|
try {
|
|
10225
|
-
console.log(
|
|
10226
|
-
File changed: ${pFilename}
|
|
10301
|
+
console.log(`
|
|
10302
|
+
${theme.accent("\u203A")} ${theme.title("File changed:")} ${theme.highlight(pFilename)} ${theme.secondary("(rebuilding...)")}`);
|
|
10227
10303
|
await runBuild();
|
|
10228
10304
|
} finally {
|
|
10229
10305
|
isRebuilding = false;
|
|
@@ -10260,7 +10336,7 @@ File changed: ${pFilename}, rebuilding...`));
|
|
|
10260
10336
|
try {
|
|
10261
10337
|
const stats = await fs2.stat(pFilePath);
|
|
10262
10338
|
if (stats.isFile()) {
|
|
10263
|
-
fileStats.set(
|
|
10339
|
+
fileStats.set(resolve4(pFilePath), { mtime: stats.mtimeMs, size: stats.size });
|
|
10264
10340
|
}
|
|
10265
10341
|
} catch {
|
|
10266
10342
|
}
|
|
@@ -10295,7 +10371,7 @@ File changed: ${pFilename}, rebuilding...`));
|
|
|
10295
10371
|
watcher.on("all", async (event, filePath) => {
|
|
10296
10372
|
if (event === "addDir" || event === "unlinkDir")
|
|
10297
10373
|
return;
|
|
10298
|
-
const absPath =
|
|
10374
|
+
const absPath = resolve4(filePath);
|
|
10299
10375
|
if (event === "unlink") {
|
|
10300
10376
|
fileStats.delete(absPath);
|
|
10301
10377
|
const relativePath2 = relative3(projectRootDirectory, filePath).replace(/\\/g, "/");
|
|
@@ -10322,8 +10398,8 @@ async function processResources({ inDirectory, outDirectory, manifestPath, watch
|
|
|
10322
10398
|
projectRootDirectory = process.cwd();
|
|
10323
10399
|
const resolvedIn = inDirectory || (existsSync2(join4(projectRootDirectory, "src", "resources")) ? "src/resources" : "");
|
|
10324
10400
|
const resolvedOut = outDirectory || "dist";
|
|
10325
|
-
resourceInDirectory = resolvedIn ?
|
|
10326
|
-
resourceOutDirectory = resolvedOut ?
|
|
10401
|
+
resourceInDirectory = resolvedIn ? resolve4(resolvedIn) : "";
|
|
10402
|
+
resourceOutDirectory = resolvedOut ? resolve4(resolvedOut) : "";
|
|
10327
10403
|
customManifestPath = manifestPath;
|
|
10328
10404
|
isVerbose = verbose;
|
|
10329
10405
|
ignoringSound = ignoreSound;
|
|
@@ -11410,7 +11486,7 @@ import os2 from "os";
|
|
|
11410
11486
|
// package.json
|
|
11411
11487
|
var package_default = {
|
|
11412
11488
|
name: "@evitcastudio/kit",
|
|
11413
|
-
version: "3.
|
|
11489
|
+
version: "3.4.0",
|
|
11414
11490
|
author: "doubleactii 56242467+doubleactii@users.noreply.github.com (https://evitcastudio.com)",
|
|
11415
11491
|
main: "./lib/index.js",
|
|
11416
11492
|
types: "./lib/index.d.ts",
|
|
@@ -11420,6 +11496,10 @@ var package_default = {
|
|
|
11420
11496
|
".": {
|
|
11421
11497
|
import: "./lib/index.js",
|
|
11422
11498
|
types: "./lib/index.d.ts"
|
|
11499
|
+
},
|
|
11500
|
+
"./camera": {
|
|
11501
|
+
import: "./lib/plugins/camera/index.js",
|
|
11502
|
+
types: "./lib/plugins/camera/index.d.ts"
|
|
11423
11503
|
}
|
|
11424
11504
|
},
|
|
11425
11505
|
description: "A single-player/multiplayer framework for the Vylocity Game Engine.",
|
|
@@ -11470,6 +11550,7 @@ var package_default = {
|
|
|
11470
11550
|
},
|
|
11471
11551
|
dependencies: {
|
|
11472
11552
|
"@clack/prompts": "^1.1.0",
|
|
11553
|
+
"@evitcastudio/lens": "^4.3.0",
|
|
11473
11554
|
chalk: "^5.4.0",
|
|
11474
11555
|
chokidar: "^5.0.0",
|
|
11475
11556
|
commander: "^12.1.0",
|
|
@@ -11497,6 +11578,8 @@ function getGitUser() {
|
|
|
11497
11578
|
}
|
|
11498
11579
|
}
|
|
11499
11580
|
function checkBun() {
|
|
11581
|
+
if (typeof Bun !== "undefined")
|
|
11582
|
+
return true;
|
|
11500
11583
|
const result = spawnSync("bun", ["--version"], { stdio: "ignore", shell: true });
|
|
11501
11584
|
return !result.error && result.status === 0;
|
|
11502
11585
|
}
|
|
@@ -11540,16 +11623,16 @@ function copyTemplate(pSrc, pDest, pProjectName, pVersion, pAuthor) {
|
|
|
11540
11623
|
}
|
|
11541
11624
|
}
|
|
11542
11625
|
async function processInit(pOptions) {
|
|
11543
|
-
Wt2(
|
|
11626
|
+
Wt2(theme.brand(`Kit CLI v${package_default.version}`));
|
|
11544
11627
|
if (!checkBun()) {
|
|
11545
11628
|
Vt2(`Kit requires the Bun runtime to build and run projects.
|
|
11546
|
-
You can download it manually at ${
|
|
11629
|
+
You can download it manually at ${theme.brand("https://bun.sh/")}`, "Bun Not Found");
|
|
11547
11630
|
const install = await Rt({
|
|
11548
11631
|
message: "Would you like to install Bun automatically now?",
|
|
11549
11632
|
initialValue: true
|
|
11550
11633
|
});
|
|
11551
11634
|
if (Ct(install) || !install) {
|
|
11552
|
-
Nt(`Please install Bun manually to use Kit: ${
|
|
11635
|
+
Nt(`Please install Bun manually to use Kit: ${theme.brand("https://bun.sh/")}
|
|
11553
11636
|
Note: Kit projects cannot build or run without Bun.`);
|
|
11554
11637
|
process.exit(1);
|
|
11555
11638
|
}
|
|
@@ -11558,7 +11641,7 @@ Note: Kit projects cannot build or run without Bun.`);
|
|
|
11558
11641
|
const success = installBun();
|
|
11559
11642
|
if (!success) {
|
|
11560
11643
|
sInstall.stop(source_default.red("Automatic installation failed."));
|
|
11561
|
-
Vt2(`Please install Bun manually: ${
|
|
11644
|
+
Vt2(`Please install Bun manually: ${theme.brand("https://bun.sh/")}`, "Manual Installation Required");
|
|
11562
11645
|
process.exit(1);
|
|
11563
11646
|
}
|
|
11564
11647
|
sInstall.stop();
|
|
@@ -11617,7 +11700,7 @@ Note: Kit projects cannot build or run without Bun.`);
|
|
|
11617
11700
|
if (fs3.existsSync(projectDir)) {
|
|
11618
11701
|
if (isInteractive) {
|
|
11619
11702
|
const overwrite = await Rt({
|
|
11620
|
-
message: `Directory ${
|
|
11703
|
+
message: `Directory ${theme.brand(projectName)} already exists. Overwrite?`,
|
|
11621
11704
|
initialValue: false
|
|
11622
11705
|
});
|
|
11623
11706
|
if (Ct(overwrite) || !overwrite) {
|
|
@@ -11631,7 +11714,7 @@ Error: Destination directory '${projectName}' already exists. Use --force (-f) t
|
|
|
11631
11714
|
}
|
|
11632
11715
|
}
|
|
11633
11716
|
const s = be();
|
|
11634
|
-
s.start(`Scaffolding ${
|
|
11717
|
+
s.start(`Scaffolding ${theme.brand(projectName)}...`);
|
|
11635
11718
|
try {
|
|
11636
11719
|
const projectPath = path.join(process.cwd(), projectName);
|
|
11637
11720
|
if (fs3.existsSync(projectPath)) {
|
|
@@ -11668,24 +11751,24 @@ Error: Destination directory '${projectName}' already exists. Use --force (-f) t
|
|
|
11668
11751
|
installSpinner.start("Installing project dependencies with Bun...");
|
|
11669
11752
|
const installResult = spawnSync("bun", ["install"], { cwd: projectPath, stdio: "ignore", shell: true });
|
|
11670
11753
|
if (installResult.status === 0) {
|
|
11671
|
-
installSpinner.stop(
|
|
11754
|
+
installSpinner.stop(theme.success("Dependencies installed successfully!"));
|
|
11672
11755
|
} else {
|
|
11673
|
-
installSpinner.stop(
|
|
11756
|
+
installSpinner.stop(theme.warning("Dependency installation finished with warnings."));
|
|
11674
11757
|
}
|
|
11675
11758
|
}
|
|
11676
|
-
console.log(`${
|
|
11677
|
-
console.log(`${
|
|
11678
|
-
console.log(`${
|
|
11759
|
+
console.log(`${theme.brand("\u2502")}`);
|
|
11760
|
+
console.log(`${theme.brand("\u2502")} ${theme.title("Next steps:")}`);
|
|
11761
|
+
console.log(`${theme.brand("\u2502")} ${theme.stepNumber("1.")} cd ${theme.brandBold(projectName)}`);
|
|
11679
11762
|
if (!shouldInstall) {
|
|
11680
|
-
console.log(`${
|
|
11681
|
-
console.log(`${
|
|
11763
|
+
console.log(`${theme.brand("\u2502")} ${theme.stepNumber("2.")} bun install`);
|
|
11764
|
+
console.log(`${theme.brand("\u2502")} ${theme.stepNumber("3.")} bun run build`);
|
|
11682
11765
|
} else {
|
|
11683
|
-
console.log(`${
|
|
11766
|
+
console.log(`${theme.brand("\u2502")} ${theme.stepNumber("2.")} bun run build`);
|
|
11684
11767
|
}
|
|
11685
|
-
console.log(`${
|
|
11686
|
-
Gt(
|
|
11768
|
+
console.log(`${theme.brand("\u2502")}`);
|
|
11769
|
+
Gt(theme.brandBold("Happy coding!"));
|
|
11687
11770
|
} catch (pError) {
|
|
11688
|
-
s.stop(
|
|
11771
|
+
s.stop(theme.error("Scaffolding failed."));
|
|
11689
11772
|
if (projectName) {
|
|
11690
11773
|
const projectPath = path.join(process.cwd(), projectName);
|
|
11691
11774
|
if (fs3.existsSync(projectPath)) {
|
|
@@ -11699,29 +11782,38 @@ Error: Destination directory '${projectName}' already exists. Use --force (-f) t
|
|
|
11699
11782
|
|
|
11700
11783
|
// src/cli/doctor.ts
|
|
11701
11784
|
import { spawnSync as spawnSync2 } from "child_process";
|
|
11702
|
-
import { existsSync as existsSync3, readFileSync } from "fs";
|
|
11785
|
+
import { existsSync as existsSync3, readdirSync, readFileSync } from "fs";
|
|
11703
11786
|
import { join as join5 } from "path";
|
|
11704
11787
|
async function processDoctor(pOptions = {}) {
|
|
11705
11788
|
const isVerbose2 = Boolean(pOptions.verbose);
|
|
11706
11789
|
const results = [];
|
|
11707
11790
|
console.log(`
|
|
11708
|
-
${
|
|
11791
|
+
${theme.brandBold("Kit Doctor")} ${source_default.dim("-")} Environment & Project Health Check
|
|
11709
11792
|
`);
|
|
11710
|
-
|
|
11711
|
-
if (!bunCheck.error && bunCheck.status === 0) {
|
|
11793
|
+
if (typeof Bun !== "undefined") {
|
|
11712
11794
|
results.push({
|
|
11713
11795
|
category: "Runtime",
|
|
11714
11796
|
title: "Bun Runtime",
|
|
11715
11797
|
passed: true,
|
|
11716
|
-
details: `
|
|
11798
|
+
details: `v${Bun.version}`
|
|
11717
11799
|
});
|
|
11718
11800
|
} else {
|
|
11719
|
-
|
|
11720
|
-
|
|
11721
|
-
|
|
11722
|
-
|
|
11723
|
-
|
|
11724
|
-
|
|
11801
|
+
const bunCheck = spawnSync2("bun", ["--version"], { encoding: "utf8", shell: true });
|
|
11802
|
+
if (!bunCheck.error && bunCheck.status === 0) {
|
|
11803
|
+
results.push({
|
|
11804
|
+
category: "Runtime",
|
|
11805
|
+
title: "Bun Runtime",
|
|
11806
|
+
passed: true,
|
|
11807
|
+
details: `v${bunCheck.stdout.trim()}`
|
|
11808
|
+
});
|
|
11809
|
+
} else {
|
|
11810
|
+
results.push({
|
|
11811
|
+
category: "Runtime",
|
|
11812
|
+
title: "Bun Runtime",
|
|
11813
|
+
passed: false,
|
|
11814
|
+
details: "Bun is not installed or not in PATH. Download at https://bun.sh/"
|
|
11815
|
+
});
|
|
11816
|
+
}
|
|
11725
11817
|
}
|
|
11726
11818
|
const gitCheck = spawnSync2("git", ["--version"], { encoding: "utf8", shell: true });
|
|
11727
11819
|
if (!gitCheck.error && gitCheck.status === 0) {
|
|
@@ -11746,28 +11838,44 @@ async function processDoctor(pOptions = {}) {
|
|
|
11746
11838
|
try {
|
|
11747
11839
|
const rawPkg = readFileSync(pkgPath, "utf8");
|
|
11748
11840
|
const pkg = JSON.parse(rawPkg);
|
|
11749
|
-
const
|
|
11841
|
+
const isKitCoreRepo = pkg.name === "@evitcastudio/kit";
|
|
11842
|
+
const kitVersionSpec = pkg.dependencies?.["@evitcastudio/kit"] || pkg.devDependencies?.["@evitcastudio/kit"];
|
|
11843
|
+
const hasKitDependency = Boolean(kitVersionSpec || isKitCoreRepo);
|
|
11750
11844
|
results.push({
|
|
11751
11845
|
category: "Project",
|
|
11752
11846
|
title: "package.json configuration",
|
|
11753
11847
|
passed: true,
|
|
11754
|
-
details:
|
|
11848
|
+
details: `${pkg.name || "unnamed"}${pkg.version ? ` v${pkg.version}` : ""}`
|
|
11755
11849
|
});
|
|
11850
|
+
let kitDependencyDetails = "Missing @evitcastudio/kit dependency in package.json";
|
|
11851
|
+
if (isKitCoreRepo) {
|
|
11852
|
+
kitDependencyDetails = "Core Framework Repository";
|
|
11853
|
+
} else if (kitVersionSpec) {
|
|
11854
|
+
kitDependencyDetails = `@evitcastudio/kit: ${kitVersionSpec}`;
|
|
11855
|
+
}
|
|
11756
11856
|
results.push({
|
|
11757
11857
|
category: "Project",
|
|
11758
11858
|
title: "Kit framework dependency",
|
|
11759
11859
|
passed: hasKitDependency,
|
|
11760
|
-
details:
|
|
11860
|
+
details: kitDependencyDetails
|
|
11761
11861
|
});
|
|
11762
|
-
const isKitCoreRepo = pkg.name === "@evitcastudio/kit";
|
|
11763
11862
|
if (!isKitCoreRepo) {
|
|
11764
11863
|
const resourcesDir = join5(cwd, "src", "resources");
|
|
11765
11864
|
const hasResources = existsSync3(resourcesDir);
|
|
11865
|
+
let assetDetails = "src/resources directory not found";
|
|
11866
|
+
if (hasResources) {
|
|
11867
|
+
try {
|
|
11868
|
+
const items = readdirSync(resourcesDir, { recursive: true });
|
|
11869
|
+
assetDetails = `Ready (${items.length} asset${items.length === 1 ? "" : "s"})`;
|
|
11870
|
+
} catch {
|
|
11871
|
+
assetDetails = "Asset directory present";
|
|
11872
|
+
}
|
|
11873
|
+
}
|
|
11766
11874
|
results.push({
|
|
11767
11875
|
category: "Project",
|
|
11768
11876
|
title: "Asset Directory (src/resources)",
|
|
11769
11877
|
passed: hasResources,
|
|
11770
|
-
details:
|
|
11878
|
+
details: assetDetails
|
|
11771
11879
|
});
|
|
11772
11880
|
}
|
|
11773
11881
|
const hasClientEntry = existsSync3(join5(cwd, "src", "client", "index.ts"));
|
|
@@ -11811,11 +11919,11 @@ async function processDoctor(pOptions = {}) {
|
|
|
11811
11919
|
const buildPipelinePassed = hasBuildScript || hasKitBuildScript;
|
|
11812
11920
|
let buildDetails = "No build pipeline configured";
|
|
11813
11921
|
if (hasKitBuildScript && hasBuildScript) {
|
|
11814
|
-
buildDetails =
|
|
11922
|
+
buildDetails = 'Native CLI build ("kit build") + bun-build.ts';
|
|
11815
11923
|
} else if (hasKitBuildScript) {
|
|
11816
|
-
buildDetails =
|
|
11924
|
+
buildDetails = 'Native CLI build ("kit build")';
|
|
11817
11925
|
} else if (hasBuildScript) {
|
|
11818
|
-
buildDetails = "Legacy bun-build.ts
|
|
11926
|
+
buildDetails = "Legacy build script (bun-build.ts)";
|
|
11819
11927
|
}
|
|
11820
11928
|
results.push({
|
|
11821
11929
|
category: "Project",
|
|
@@ -11833,11 +11941,12 @@ async function processDoctor(pOptions = {}) {
|
|
|
11833
11941
|
}
|
|
11834
11942
|
let allPassed = true;
|
|
11835
11943
|
for (const res of results) {
|
|
11836
|
-
const icon = res.passed ?
|
|
11837
|
-
const
|
|
11838
|
-
|
|
11839
|
-
|
|
11840
|
-
|
|
11944
|
+
const icon = res.passed ? theme.successIcon("\u2713") : theme.error("\u2717");
|
|
11945
|
+
const categoryBadge = `${theme.bracket("[")}${theme.brandBold(res.category)}${theme.bracket("]")}`;
|
|
11946
|
+
const titleText = res.passed ? theme.title(res.title) : theme.error(res.title);
|
|
11947
|
+
console.log(` ${icon} ${categoryBadge} ${titleText}`);
|
|
11948
|
+
if (res.details) {
|
|
11949
|
+
console.log(` ${theme.secondary(res.details)}`);
|
|
11841
11950
|
}
|
|
11842
11951
|
if (!res.passed) {
|
|
11843
11952
|
allPassed = false;
|
|
@@ -11846,10 +11955,10 @@ async function processDoctor(pOptions = {}) {
|
|
|
11846
11955
|
console.log(`
|
|
11847
11956
|
`);
|
|
11848
11957
|
if (allPassed) {
|
|
11849
|
-
console.log(` ${
|
|
11958
|
+
console.log(` ${theme.successIcon("\u2714")} ${theme.brandBold("All doctor diagnostics passed!")}
|
|
11850
11959
|
`);
|
|
11851
11960
|
} else {
|
|
11852
|
-
console.log(` ${
|
|
11961
|
+
console.log(` ${theme.warning("\u25B2 Some issues were detected. Check the items above.")}
|
|
11853
11962
|
`);
|
|
11854
11963
|
}
|
|
11855
11964
|
return allPassed;
|
|
@@ -11888,13 +11997,13 @@ export class ${pClassName} extends KitPlugin {
|
|
|
11888
11997
|
async function processCreate(pOptions) {
|
|
11889
11998
|
const { type, name, verbose } = pOptions;
|
|
11890
11999
|
if (!type || !name) {
|
|
11891
|
-
console.error(
|
|
12000
|
+
console.error(theme.error(`
|
|
11892
12001
|
Error: Both type and name are required. Usage: kit create <type> <name>`));
|
|
11893
12002
|
process.exit(1);
|
|
11894
12003
|
}
|
|
11895
12004
|
const normalizedType = type.toLowerCase();
|
|
11896
12005
|
if (normalizedType !== "plugin") {
|
|
11897
|
-
console.error(
|
|
12006
|
+
console.error(theme.error(`
|
|
11898
12007
|
Error: Unknown create type '${type}'. Supported types: 'plugin'`));
|
|
11899
12008
|
process.exit(1);
|
|
11900
12009
|
}
|
|
@@ -11906,21 +12015,21 @@ Error: Unknown create type '${type}'. Supported types: 'plugin'`));
|
|
|
11906
12015
|
await fs4.mkdir(pluginsDir, { recursive: true });
|
|
11907
12016
|
const fileExists = await fs4.stat(targetPath).then(() => true).catch(() => false);
|
|
11908
12017
|
if (fileExists) {
|
|
11909
|
-
console.error(
|
|
12018
|
+
console.error(theme.error(`
|
|
11910
12019
|
Error: File already exists at ${targetPath}`));
|
|
11911
12020
|
process.exit(1);
|
|
11912
12021
|
}
|
|
11913
12022
|
const sourceCode = generatePluginSource(className, className);
|
|
11914
12023
|
await fs4.writeFile(targetPath, sourceCode, "utf8");
|
|
11915
12024
|
console.log(`
|
|
11916
|
-
${
|
|
12025
|
+
${theme.successIcon("\u2713")} Created plugin ${theme.brandBold(className)} at ${theme.secondary(targetPath)}
|
|
11917
12026
|
`);
|
|
11918
12027
|
if (verbose) {
|
|
11919
|
-
console.log(
|
|
12028
|
+
console.log(theme.secondary(sourceCode));
|
|
11920
12029
|
}
|
|
11921
12030
|
} catch (pError) {
|
|
11922
12031
|
const message = pError instanceof Error ? pError.message : String(pError);
|
|
11923
|
-
console.error(
|
|
12032
|
+
console.error(theme.error(`
|
|
11924
12033
|
Error creating plugin: ${message}`));
|
|
11925
12034
|
process.exit(1);
|
|
11926
12035
|
}
|
|
@@ -11928,7 +12037,7 @@ Error creating plugin: ${message}`));
|
|
|
11928
12037
|
|
|
11929
12038
|
// src/cli/host.ts
|
|
11930
12039
|
import { existsSync as existsSync4, readFileSync as readFileSync2 } from "fs";
|
|
11931
|
-
import { join as join7, resolve as
|
|
12040
|
+
import { join as join7, resolve as resolve5 } from "path";
|
|
11932
12041
|
import { networkInterfaces } from "os";
|
|
11933
12042
|
function getNetworkAddress() {
|
|
11934
12043
|
const interfaces = networkInterfaces();
|
|
@@ -11948,11 +12057,11 @@ async function processHost(pOptions = {}) {
|
|
|
11948
12057
|
const cwd = process.cwd();
|
|
11949
12058
|
const defaultPort = 8090;
|
|
11950
12059
|
const port = pOptions.port || defaultPort;
|
|
11951
|
-
const distDir = pOptions.directory ?
|
|
12060
|
+
const distDir = pOptions.directory ? resolve5(pOptions.directory) : join7(cwd, "dist");
|
|
11952
12061
|
const architecture = detectArchitecture(join7(cwd, "src"));
|
|
11953
12062
|
if (!existsSync4(distDir)) {
|
|
11954
12063
|
const message = `Target directory "${distDir}" does not exist. Run "kit build" or use "kit host -b" first.`;
|
|
11955
|
-
console.error(
|
|
12064
|
+
console.error(theme.error(`
|
|
11956
12065
|
[Kit Host] ${message}
|
|
11957
12066
|
`));
|
|
11958
12067
|
return { success: false, message };
|
|
@@ -11961,14 +12070,14 @@ async function processHost(pOptions = {}) {
|
|
|
11961
12070
|
const serverJsPath = join7(distDir, "server.js");
|
|
11962
12071
|
if (!existsSync4(serverJsPath)) {
|
|
11963
12072
|
const message = `Cannot host multiplayer project: "${serverJsPath}" was not found. Please compile the server first using "kit build".`;
|
|
11964
|
-
console.error(
|
|
12073
|
+
console.error(theme.error(`
|
|
11965
12074
|
[Kit Host] ${message}
|
|
11966
12075
|
`));
|
|
11967
12076
|
return { success: false, message };
|
|
11968
12077
|
}
|
|
11969
|
-
console.log(
|
|
11970
|
-
|
|
11971
|
-
`)
|
|
12078
|
+
console.log(`
|
|
12079
|
+
${theme.brandBold("Kit Multiplayer Server")} ${theme.muted("\u2500")} ${theme.secondary(distDir)}
|
|
12080
|
+
`);
|
|
11972
12081
|
let serverSettingsPort = port;
|
|
11973
12082
|
const settingsPath = join7(distDir, "settings.json");
|
|
11974
12083
|
if (existsSync4(settingsPath)) {
|
|
@@ -11985,7 +12094,15 @@ Starting Multiplayer Server from ${source_default.bold(distDir)}...
|
|
|
11985
12094
|
stderr: "inherit",
|
|
11986
12095
|
stdin: "inherit"
|
|
11987
12096
|
});
|
|
11988
|
-
console.log(
|
|
12097
|
+
console.log(` ${theme.successIcon("\u2713")} ${theme.title("Multiplayer server process spawned")} ${theme.secondary(`(configured port: ${serverSettingsPort})`)}`);
|
|
12098
|
+
console.log(` ${theme.title("Local:")} ${theme.url(`http://localhost:${serverSettingsPort}`)}`);
|
|
12099
|
+
const lanIp2 = getNetworkAddress();
|
|
12100
|
+
if (lanIp2 !== "localhost") {
|
|
12101
|
+
console.log(` ${theme.title("Network:")} ${theme.url(`http://${lanIp2}:${serverSettingsPort}`)}`);
|
|
12102
|
+
}
|
|
12103
|
+
console.log(theme.muted(`
|
|
12104
|
+
Press Ctrl+C to stop the server
|
|
12105
|
+
`));
|
|
11989
12106
|
process.on("SIGINT", () => {
|
|
11990
12107
|
proc.kill();
|
|
11991
12108
|
process.exit(0);
|
|
@@ -12000,7 +12117,7 @@ Starting Multiplayer Server from ${source_default.bold(distDir)}...
|
|
|
12000
12117
|
const indexPath = join7(distDir, "index.html");
|
|
12001
12118
|
if (!existsSync4(indexPath)) {
|
|
12002
12119
|
const message = `Missing entrypoint: "${indexPath}" was not found in dist. Run "kit build" or use "kit host -b" to compile.`;
|
|
12003
|
-
console.error(
|
|
12120
|
+
console.error(theme.error(`
|
|
12004
12121
|
[Kit Host] ${message}
|
|
12005
12122
|
`));
|
|
12006
12123
|
return { success: false, message };
|
|
@@ -12014,26 +12131,26 @@ Starting Multiplayer Server from ${source_default.bold(distDir)}...
|
|
|
12014
12131
|
const file = Bun.file(join7(distDir, target));
|
|
12015
12132
|
if (!await file.exists()) {
|
|
12016
12133
|
if (pOptions.verbose) {
|
|
12017
|
-
console.warn(
|
|
12134
|
+
console.warn(theme.warning(`[Kit Host] 404 Not Found: ${target}`));
|
|
12018
12135
|
}
|
|
12019
12136
|
return new Response("Not Found", { status: 404 });
|
|
12020
12137
|
}
|
|
12021
12138
|
return new Response(file);
|
|
12022
12139
|
}
|
|
12023
12140
|
});
|
|
12024
|
-
console.log(
|
|
12025
|
-
Kit Game Host Server
|
|
12026
|
-
`)
|
|
12027
|
-
console.log(` ${
|
|
12141
|
+
console.log(`
|
|
12142
|
+
${theme.brandBold("Kit Game Host Server")}
|
|
12143
|
+
`);
|
|
12144
|
+
console.log(` ${theme.title("Local:")} ${theme.url(`http://localhost:${server.port}`)}`);
|
|
12028
12145
|
if (lanIp !== "localhost") {
|
|
12029
|
-
console.log(` ${
|
|
12146
|
+
console.log(` ${theme.title("Network:")} ${theme.url(`http://${lanIp}:${server.port}`)}`);
|
|
12030
12147
|
}
|
|
12031
|
-
console.log(
|
|
12032
|
-
Serving files from: ${distDir}`));
|
|
12033
|
-
console.log(
|
|
12148
|
+
console.log(theme.secondary(`
|
|
12149
|
+
Serving files from: ${distDir}`));
|
|
12150
|
+
console.log(theme.muted(` Press Ctrl+C to stop the server
|
|
12034
12151
|
`));
|
|
12035
12152
|
process.on("SIGINT", () => {
|
|
12036
|
-
console.log(
|
|
12153
|
+
console.log(theme.warning(`
|
|
12037
12154
|
Shutting down host server...`));
|
|
12038
12155
|
server.stop();
|
|
12039
12156
|
process.exit(0);
|
|
@@ -12077,20 +12194,20 @@ var formatHelp = (pCmd) => {
|
|
|
12077
12194
|
const isRoot = pCmd === program2;
|
|
12078
12195
|
const desc = pCmd.description() || package_default["cli-description"];
|
|
12079
12196
|
let output = `
|
|
12080
|
-
${
|
|
12197
|
+
${theme.brandBold("Kit CLI")} ${theme.muted("\u2500")} ${theme.title(desc)}
|
|
12081
12198
|
`;
|
|
12082
|
-
output += ` ${
|
|
12199
|
+
output += ` ${theme.secondary("Version")} ${theme.brandBold(`v${package_default.version}`)}
|
|
12083
12200
|
|
|
12084
12201
|
`;
|
|
12085
|
-
const usage = pCmd.usage() || (isRoot ? `${
|
|
12086
|
-
output += ` ${
|
|
12202
|
+
const usage = pCmd.usage() || (isRoot ? `${theme.secondary("<command>")} ${theme.muted("[options]")}` : `${theme.muted("[options]")}`);
|
|
12203
|
+
output += ` ${theme.title("Usage:")} ${theme.brandBold("kit")} ${!isRoot ? theme.brand(pCmd.name() + " ") : ""}${usage}
|
|
12087
12204
|
|
|
12088
12205
|
`;
|
|
12089
12206
|
if (isRoot) {
|
|
12090
|
-
output += ` ${
|
|
12207
|
+
output += ` ${theme.title("Commands:")}
|
|
12091
12208
|
`;
|
|
12092
12209
|
pCmd.commands.filter((cmd) => cmd.name() !== "help").forEach((cmd) => {
|
|
12093
|
-
output += ` ${
|
|
12210
|
+
output += ` ${theme.brandBold(cmd.name().padEnd(14))} ${theme.secondary(cmd.description())}
|
|
12094
12211
|
`;
|
|
12095
12212
|
});
|
|
12096
12213
|
output += `
|
|
@@ -12104,10 +12221,10 @@ var formatHelp = (pCmd) => {
|
|
|
12104
12221
|
return true;
|
|
12105
12222
|
});
|
|
12106
12223
|
if (options.length > 0) {
|
|
12107
|
-
output += ` ${
|
|
12224
|
+
output += ` ${theme.title(isRoot ? "Options:" : "Command Options:")}
|
|
12108
12225
|
`;
|
|
12109
12226
|
options.forEach((opt) => {
|
|
12110
|
-
output += ` ${
|
|
12227
|
+
output += ` ${theme.warningMuted(opt.flags.padEnd(24))} ${theme.secondary(opt.description)}
|
|
12111
12228
|
`;
|
|
12112
12229
|
});
|
|
12113
12230
|
output += `
|
|
@@ -12120,10 +12237,10 @@ var formatHelp = (pCmd) => {
|
|
|
12120
12237
|
return true;
|
|
12121
12238
|
});
|
|
12122
12239
|
if (globalOptions.length > 0) {
|
|
12123
|
-
output += ` ${
|
|
12240
|
+
output += ` ${theme.title("Global Options:")}
|
|
12124
12241
|
`;
|
|
12125
12242
|
globalOptions.forEach((opt) => {
|
|
12126
|
-
output += ` ${
|
|
12243
|
+
output += ` ${theme.warningMuted(opt.flags.padEnd(24))} ${theme.secondary(opt.description)}
|
|
12127
12244
|
`;
|
|
12128
12245
|
});
|
|
12129
12246
|
output += `
|
|
@@ -12132,43 +12249,43 @@ var formatHelp = (pCmd) => {
|
|
|
12132
12249
|
}
|
|
12133
12250
|
const name = pCmd.name();
|
|
12134
12251
|
if (isRoot || name === "init" || name === "build" || name === "create" || name === "doctor") {
|
|
12135
|
-
output += ` ${
|
|
12252
|
+
output += ` ${theme.title("Examples:")}
|
|
12136
12253
|
`;
|
|
12137
12254
|
if (isRoot || name === "init") {
|
|
12138
|
-
output += ` ${
|
|
12255
|
+
output += ` ${theme.brand("kit init")}
|
|
12139
12256
|
`;
|
|
12140
|
-
output += ` ${
|
|
12257
|
+
output += ` ${theme.brand("kit init my-game --single --install")}
|
|
12141
12258
|
`;
|
|
12142
12259
|
}
|
|
12143
12260
|
if (isRoot || name === "build") {
|
|
12144
|
-
output += ` ${
|
|
12261
|
+
output += ` ${theme.brand("kit build --in ./src/resources --out ./dist")}
|
|
12145
12262
|
`;
|
|
12146
|
-
output += ` ${
|
|
12263
|
+
output += ` ${theme.brand("kit build --in ./src/resources --out ./dist --watch")}
|
|
12147
12264
|
`;
|
|
12148
12265
|
}
|
|
12149
12266
|
if (isRoot || name === "create") {
|
|
12150
|
-
output += ` ${
|
|
12267
|
+
output += ` ${theme.brand("kit create plugin Inventory")}
|
|
12151
12268
|
`;
|
|
12152
12269
|
}
|
|
12153
12270
|
if (isRoot || name === "doctor") {
|
|
12154
|
-
output += ` ${
|
|
12271
|
+
output += ` ${theme.brand("kit doctor")}
|
|
12155
12272
|
`;
|
|
12156
12273
|
}
|
|
12157
12274
|
if (isRoot || name === "host") {
|
|
12158
|
-
output += ` ${
|
|
12275
|
+
output += ` ${theme.brand("kit host")}
|
|
12159
12276
|
`;
|
|
12160
|
-
output += ` ${
|
|
12277
|
+
output += ` ${theme.brand("kit host -p 8080 -b")}
|
|
12161
12278
|
`;
|
|
12162
12279
|
}
|
|
12163
12280
|
if (isRoot) {
|
|
12164
|
-
output += ` ${
|
|
12281
|
+
output += ` ${theme.brand("kit build --help")}
|
|
12165
12282
|
`;
|
|
12166
12283
|
}
|
|
12167
12284
|
output += `
|
|
12168
12285
|
`;
|
|
12169
12286
|
}
|
|
12170
12287
|
if (isRoot) {
|
|
12171
|
-
output += ` ${
|
|
12288
|
+
output += ` ${theme.accent("Tip:")} ${theme.secondary("Use ")}${theme.brandBold("kit <command> --help")}${theme.secondary(" to view detailed options for any command.")}
|
|
12172
12289
|
`;
|
|
12173
12290
|
}
|
|
12174
12291
|
return output;
|