lecodes-cli 2.0.3 → 2.0.5
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/dist/index.js +2580 -872
- package/package.json +16 -11
- package/runtime/sdk-types.json +1 -1
- package/runtime/web/VERSION.json +3 -3
- package/runtime/web/assets/creator-2d-CYlV77UR.js +1 -0
- package/runtime/web/assets/creator-2d-nG7rGEmq.wasm +0 -0
- package/runtime/web/assets/{creator-full-D2dSDdDj.wasm → creator-full-Cla1R8N6.wasm} +0 -0
- package/runtime/web/assets/creator-full-DmfoULcB.js +1 -0
- package/runtime/web/assets/creator-full.js-D8SMHuCt.symbols +8419 -0
- package/runtime/web/assets/creator-ui-CbtoaRlz.js +1 -0
- package/runtime/web/assets/creator-ui-DZaoxIpX.wasm +0 -0
- package/runtime/web/player.js +17 -17
- package/runtime/web-lite/assets/__vite-browser-external-BIHI7g3E.js +1 -0
- package/runtime/web-lite/assets/ar-BOdQ-wV4.js +1 -0
- package/runtime/web-lite/assets/basis-C64VHDVD.js +1 -0
- package/runtime/web-lite/assets/basis_transcoder-VXdx5NbI.wasm +0 -0
- package/runtime/web-lite/assets/canvas-WxiusXCB.js +1 -0
- package/runtime/web-lite/assets/creatorAnim-BOwKr-C1.js +1 -0
- package/runtime/web-lite/assets/creatorParticles-DYlv4g1J.js +1 -0
- package/runtime/web-lite/assets/creatorPhysics-k7wL0kV1.js +1 -0
- package/runtime/web-lite/assets/draco-BiISTFcR.js +118 -0
- package/runtime/web-lite/assets/draco_decoder-DsQ12WqX.wasm +0 -0
- package/runtime/web-lite/assets/index-3CbsYWmo.js +2 -0
- package/runtime/web-lite/assets/neutral_ibl128-D-lzdkLN.ktx +0 -0
- package/runtime/web-lite/assets/pager-Db5BY7FB.js +1 -0
- package/runtime/web-lite/assets/plugins-CuEPHbHL.js +1 -0
- package/runtime/web-lite/assets/roboto-cyrillic-DVBNKCCH.woff2 +0 -0
- package/runtime/web-lite/assets/roboto-cyrillic-ext-1gPz9dK9.woff2 +0 -0
- package/runtime/web-lite/assets/roboto-greek-DVLYEgdx.woff2 +0 -0
- package/runtime/web-lite/assets/roboto-greek-ext-D98D44EL.woff2 +0 -0
- package/runtime/web-lite/assets/roboto-latin-cAJwcdBQ.woff2 +0 -0
- package/runtime/web-lite/assets/roboto-latin-ext-t610Sqxq.woff2 +0 -0
- package/runtime/web-lite/assets/roboto-rest-C7JkyNHT.woff2 +0 -0
- package/runtime/web-lite/assets/roboto-vietnamese-w-p-nKZZ.woff2 +0 -0
- package/runtime/web-lite/assets/scene3d-CX7MAqmN.js +866 -0
- package/runtime/web-lite/assets/tween-BnWYhJ7P.js +1 -0
- package/runtime/web-lite/assets/video-BLj61nDx.js +1 -0
- package/runtime/web-lite/assets/vlist-DrV2Q7P5.js +1 -0
- package/runtime/web-lite/assets/worker-Caf-yYEI.js +2 -0
- package/runtime/web-lite/features.json +134 -0
- package/runtime/web-lite/lite.js +90 -13
- package/runtime/web-lite/plugins/camera/index-5XOM8eHl.js +1 -0
- package/runtime/web-lite/plugins/geolocation/index-BjTKN9_P.js +1 -0
- package/runtime/web-lite/plugins/map/_virtual_lecodes-half-CQBO044A.js +1 -0
- package/runtime/web-lite/plugins/map/_virtual_lecodes-half-resources-BYwqQkWQ.js +1 -0
- package/runtime/web-lite/plugins/map/assets/maplibre-gl-worker-DeQFNGa4.js +8 -0
- package/runtime/web-lite/plugins/map/index-BTBHQ264.js +1 -0
- package/runtime/web-lite/plugins/map/mapImpl-C6E1SwCS.js +823 -0
- package/runtime/web-lite/plugins/qr-scanner/index-CK_cYoJR.js +1 -0
- package/runtime/web-lite/plugins.json +8 -0
- package/src/commands/compile.ts +7 -1
- package/src/commands/desktop.ts +7 -4
- package/src/commands/dev.ts +4 -14
- package/src/commands/render.ts +6 -2
- package/src/commands/test.ts +25 -9
- package/src/commands/update/index.ts +5 -4
- package/src/compile/projectCompile.ts +47 -1
- package/src/dev/androidDev.ts +1 -1
- package/src/dev/backendWorker.ts +138 -0
- package/src/dev/devServer.ts +119 -115
- package/src/dev/localBackend.ts +214 -0
- package/src/dev/projectBackend.ts +199 -0
- package/src/dev/serve.ts +164 -0
- package/src/hosts/archives.ts +41 -7
- package/src/hosts/cmgenTool.ts +6 -9
- package/src/hosts/desktopRenderer.ts +6 -5
- package/src/hosts/liteRunner.ts +52 -9
- package/src/hosts/matcTool.ts +5 -22
- package/src/hosts/peerInstall.ts +7 -7
- package/src/hosts/peers.ts +1 -0
- package/src/hosts/releases.ts +6 -0
- package/src/index.ts +5 -1
- package/src/plugin/generate.ts +10 -6
- package/src/web/build.ts +45 -5
- package/runtime/web/assets/creator-2d-D9WKYM6h.js +0 -1
- package/runtime/web/assets/creator-2d-ukvEmNEp.wasm +0 -0
- package/runtime/web/assets/creator-full-BBXzQlhq.js +0 -1
- package/runtime/web/assets/creator-full.js-BYswGsqR.symbols +0 -8124
- package/runtime/web/assets/creator-ui-DIc92ion.wasm +0 -0
- package/runtime/web/assets/creator-ui-_1Z_AX2M.js +0 -1
- package/runtime/web-lite/assets/Roboto-Variable-DHm9jpd-.woff2 +0 -0
- package/runtime/web-lite/assets/creatorTween-PF8B6T8V.wasm +0 -0
package/src/hosts/matcTool.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { existsSync, readdirSync } from "node:fs"
|
|
2
2
|
import { homedir } from "node:os"
|
|
3
3
|
import { join, resolve } from "node:path"
|
|
4
|
-
import { downloadReleaseArchive, fetchReleaseProduct, newestForPlatform, semverNewer, type ManifestFile, type ManifestVersion } from "./releases"
|
|
4
|
+
import { downloadReleaseArchive, fetchReleaseProduct, macPlatformKey, newestForPlatform, semverNewer, type ManifestFile, type ManifestVersion } from "./releases"
|
|
5
5
|
import { CliError, note } from "../cli"
|
|
6
6
|
|
|
7
7
|
/*
|
|
@@ -23,14 +23,9 @@ import { CliError, note } from "../cli"
|
|
|
23
23
|
* read "not published" with a perfectly good older build sitting right there. `lecodes shaders
|
|
24
24
|
* update` moves an existing cache forward after an engine upgrade.
|
|
25
25
|
*
|
|
26
|
-
* Platforms: windows-x64, linux-x64, macos-arm64.
|
|
27
|
-
* (filament's host tools build in-tree there)
|
|
28
|
-
*
|
|
29
|
-
* (`out/cmake-release/filament/tools/matc`), which is the same filament tree those xcframeworks are
|
|
30
|
-
* compiled from. Same guarantee, different source; see scripts/release/release-macos.sh.
|
|
31
|
-
*
|
|
32
|
-
* macos-x64 is deliberately absent: the host tools are built for the machine doing the release, and
|
|
33
|
-
* only Apple Silicon is built today (release-macos.sh skips Intel for the same reason).
|
|
26
|
+
* Platforms: windows-x64, linux-x64, macos-arm64, macos-x64. matc rides the DESKTOP build on every
|
|
27
|
+
* OS (filament's host tools build in-tree there): on the Mac, the two trees of
|
|
28
|
+
* hosts/desktop/build-macos.sh — see scripts/release/release-macos.sh.
|
|
34
29
|
*/
|
|
35
30
|
|
|
36
31
|
const matcName = () => (process.platform === "win32" ? "matc.exe" : "matc")
|
|
@@ -38,19 +33,7 @@ const matcName = () => (process.platform === "win32" ? "matc.exe" : "matc")
|
|
|
38
33
|
const platformKey = (): string => {
|
|
39
34
|
if (process.platform === "win32") return "windows-x64"
|
|
40
35
|
if (process.platform === "linux") return "linux-x64"
|
|
41
|
-
if (process.platform === "darwin")
|
|
42
|
-
// Intel Macs have no published matc (see the platform note above). Rosetta would run an
|
|
43
|
-
// arm64 binary anyway, but publishing a key we never build is how a download turns into a
|
|
44
|
-
// corrupt-archive error instead of a readable one.
|
|
45
|
-
if (process.arch !== "arm64") {
|
|
46
|
-
throw new CliError(
|
|
47
|
-
"matc isn't published for Intel macOS — set LECODES_MATC to a locally built matc " +
|
|
48
|
-
"(creator-gl/out/cmake-release/filament/tools/matc), or push the project once so shaders " +
|
|
49
|
-
"compile on the server.",
|
|
50
|
-
)
|
|
51
|
-
}
|
|
52
|
-
return "macos-arm64"
|
|
53
|
-
}
|
|
36
|
+
if (process.platform === "darwin") return macPlatformKey()
|
|
54
37
|
throw new CliError(`matc isn't published for ${process.platform}.`)
|
|
55
38
|
}
|
|
56
39
|
|
package/src/hosts/peerInstall.ts
CHANGED
|
@@ -31,10 +31,10 @@ const CANVAS_RANGE_FALLBACK = "^0.1.65"
|
|
|
31
31
|
const readJson = (path: string): any => { try { return JSON.parse(readFileSync(path, "utf8")) } catch { return null } }
|
|
32
32
|
|
|
33
33
|
/** What a peer installs by: the url of its archive — the renderer at exactly this CLI's version (one
|
|
34
|
-
* ABI set), an editor at the version this CLI
|
|
35
|
-
* at the range the installed renderer declares, lecodes-assets at this CLI's peer range. */
|
|
36
|
-
export const peerSpec = (name: string): string => {
|
|
37
|
-
const archive = archiveSpec(name)
|
|
34
|
+
* ABI set), an editor at the newest version out that this CLI's peer range takes — or, for npm's, a
|
|
35
|
+
* spec: canvas at the range the installed renderer declares, lecodes-assets at this CLI's peer range. */
|
|
36
|
+
export const peerSpec = async (name: string): Promise<string> => {
|
|
37
|
+
const archive = await archiveSpec(name)
|
|
38
38
|
if (archive) return archive
|
|
39
39
|
if (name === "@napi-rs/canvas") {
|
|
40
40
|
const renderer = readJson(join(peerDirInPrefix("lecodes-headless"), "package.json"))
|
|
@@ -71,7 +71,7 @@ export const installPeers = async (names: string[], why: string, opts: { yes?: b
|
|
|
71
71
|
}
|
|
72
72
|
// The renderer must be in place before canvas's range can be read off it — install in order.
|
|
73
73
|
const ordered = [...names].sort((a, b) => (a === "lecodes-headless" ? -1 : b === "lecodes-headless" ? 1 : 0))
|
|
74
|
-
const specsNow = ordered.map(peerSpec)
|
|
74
|
+
const specsNow = await Promise.all(ordered.map(peerSpec))
|
|
75
75
|
|
|
76
76
|
const yes = opts.yes === true || !!process.env.LECODES_YES
|
|
77
77
|
if (!yes) {
|
|
@@ -90,7 +90,7 @@ export const installPeers = async (names: string[], why: string, opts: { yes?: b
|
|
|
90
90
|
if (!tool) throw new CliError(`Neither npm nor bun is on PATH, so ${names.join(" + ")} can't be installed automatically. Install one, or run on a machine with Node: ${manualCommand(dir, specsNow)}`)
|
|
91
91
|
|
|
92
92
|
for (const name of ordered) {
|
|
93
|
-
const spec = peerSpec(name) // canvas's range comes from the renderer installed a step earlier
|
|
93
|
+
const spec = await peerSpec(name) // canvas's range comes from the renderer installed a step earlier
|
|
94
94
|
const argv = tool === "npm"
|
|
95
95
|
? ["install", "--prefix", dir, "--no-audit", "--no-fund", "--loglevel=error", spec]
|
|
96
96
|
: ["add", "--cwd", dir, spec]
|
|
@@ -157,7 +157,7 @@ export async function loadPeer<T>(name: string, subpath: string | undefined, opt
|
|
|
157
157
|
if (opts.install === false) return null
|
|
158
158
|
// A global install of a DIFFERENT version than the probe expects would have resolved above; here
|
|
159
159
|
// the peer is nowhere. (Globally installed but broken → the error above was not "not found".)
|
|
160
|
-
if (peerVersionGlobal(name, spec) !== null) throw new CliError(`${name} is installed but "${spec}" can't be loaded from it — reinstall it: npm install -g ${peerSpec(name)}`)
|
|
160
|
+
if (peerVersionGlobal(name, spec) !== null) throw new CliError(`${name} is installed but "${spec}" can't be loaded from it — reinstall it: npm install -g ${await peerSpec(name)}`)
|
|
161
161
|
await installPeers(companions(name), opts.for)
|
|
162
162
|
}
|
|
163
163
|
return (await import(pathToFileURL(resolveEntry(dir, subpath)).href)) as T
|
package/src/hosts/peers.ts
CHANGED
|
@@ -23,6 +23,7 @@ export const OPTIONAL_PEERS: [name: string, probe: string][] = [
|
|
|
23
23
|
["lecodes-3d-editor", "lecodes-3d-editor/server"],
|
|
24
24
|
["lecodes-assets", "lecodes-assets/cli"],
|
|
25
25
|
["@napi-rs/canvas", "@napi-rs/canvas"],
|
|
26
|
+
["marcidb-embedded", "marcidb-embedded"],
|
|
26
27
|
]
|
|
27
28
|
|
|
28
29
|
/** The CLI's own peer install dir. */
|
package/src/hosts/releases.ts
CHANGED
|
@@ -9,6 +9,7 @@ import { CliError } from "../cli"
|
|
|
9
9
|
* publishes (releases/versions.json) + the sha256-verified archive download. Consumers:
|
|
10
10
|
* - desktopRenderer.ts the LeCodes Desktop host behind `render --desktop` (product "desktop")
|
|
11
11
|
* - matcTool.ts Filament's matc for local shader compile (product "matc")
|
|
12
|
+
* - cmgenTool.ts Filament's cmgen behind `lecodes assets sky` (product "cmgen")
|
|
12
13
|
*/
|
|
13
14
|
|
|
14
15
|
// Straight off the S3 bucket, NOT the CDN: the manifest must never be stale (an updater reading
|
|
@@ -36,6 +37,11 @@ export const cachedArtifactSha = (dir: string): string | null => {
|
|
|
36
37
|
export type ManifestVersion = { version: string, files: Record<string, ManifestFile> }
|
|
37
38
|
type Manifest = { products?: Record<string, { latest: string, versions: ManifestVersion[] }> }
|
|
38
39
|
|
|
40
|
+
/** The platform key of a Mac's artifacts (desktop, matc, cmgen): release-macos.sh publishes both CPUs.
|
|
41
|
+
* process.arch is the CLI's own — under Rosetta an x64 node on Apple Silicon gets the Intel build,
|
|
42
|
+
* which that same Rosetta runs. */
|
|
43
|
+
export const macPlatformKey = (): string => (process.arch === "arm64" ? "macos-arm64" : "macos-x64")
|
|
44
|
+
|
|
39
45
|
/** Positive when b is a newer semver than a (the manifest publisher's ordering, mirrored). */
|
|
40
46
|
export const semverNewer = (a: string, b: string): number => {
|
|
41
47
|
const pa = a.split(/[.-]/).map(Number), pb = b.split(/[.-]/).map(Number)
|
package/src/index.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { installedDesktopVersions, selectedDesktopVersion } from "./hosts/deskto
|
|
|
8
8
|
import { installedMatcVersions } from "./hosts/matcTool"
|
|
9
9
|
import { OPTIONAL_PEERS, peerSource, peerVersion } from "./hosts/peers"
|
|
10
10
|
import { loadProjectEnv } from "./project/env"
|
|
11
|
+
import { BACKEND_WORKER_ARG } from "./dev/localBackend"
|
|
11
12
|
|
|
12
13
|
/*
|
|
13
14
|
* `lecodes` — the entry point. Everything a command is lives in src/commands (one file each, listed
|
|
@@ -56,7 +57,10 @@ const printVersion = (): void => {
|
|
|
56
57
|
for (const [label, value] of rows) log(`${label.padEnd(width)} ${value}`)
|
|
57
58
|
}
|
|
58
59
|
|
|
59
|
-
|
|
60
|
+
// The process a project's server bundle runs in under `lecodes dev` (src/dev/localBackend.ts): not a
|
|
61
|
+
// command — no argv of a user's, the dev server speaks to it over the IPC channel.
|
|
62
|
+
if (process.argv[2] === BACKEND_WORKER_ARG) await import("./dev/backendWorker")
|
|
63
|
+
else runCli({
|
|
60
64
|
version: pkg.version ?? "unknown",
|
|
61
65
|
groups: commandGroups({ install: STANDALONE && !INSTALLED }),
|
|
62
66
|
footer: "Config lives in ~/.lecodes/config.json (override with LECODES_API / LECODES_TOKEN). A .env next to app.json is read at startup for LECODES_* / CREATOR_* keys (the shell's own environment wins; ./ paths resolve against the project; the file is never pushed) — e.g. LECODES_DESKTOP_EXE, LECODES_MATC, LECODES_TOKEN.",
|
package/src/plugin/generate.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
import { existsSync, mkdirSync, readFileSync, readdirSync, statSync, writeFileSync } from "node:fs"
|
|
8
8
|
import { createRequire } from "node:module"
|
|
9
|
-
import { basename, join, relative, resolve } from "node:path"
|
|
9
|
+
import { basename, join, relative, resolve, sep } from "node:path"
|
|
10
10
|
import type tsModule from "typescript"
|
|
11
11
|
import { CliError } from "../cli"
|
|
12
12
|
import { ContractError, readContract, type Contract } from "./contract"
|
|
@@ -17,6 +17,10 @@ import { emitWeb } from "./emitWeb"
|
|
|
17
17
|
import { lower } from "./lower"
|
|
18
18
|
import { ManifestError, readManifestIfAny } from "./manifest"
|
|
19
19
|
|
|
20
|
+
// A path as the report shows it: relative to `from`, with `/` on every platform (a report is
|
|
21
|
+
// compared and pasted; `\` is Windows' own).
|
|
22
|
+
const shown = (from: string, to: string): string => relative(from, to).split(sep).join("/")
|
|
23
|
+
|
|
20
24
|
export const CONTRACT_FILE = "contract.d.ts"
|
|
21
25
|
|
|
22
26
|
export type PluginDir = { id: string, dir: string }
|
|
@@ -91,7 +95,7 @@ export const hostImports = (web: string): string[] => {
|
|
|
91
95
|
if (!/\.(ts|tsx|js|mjs)$/.test(entry)) continue
|
|
92
96
|
readFileSync(path, "utf8").split("\n").forEach((line, i) => {
|
|
93
97
|
const m = /(?:from\s+|import\s*\(\s*|import\s+)["'](lecodes-[^"']*)["']/.exec(line)
|
|
94
|
-
if (m && !/^\s*\/\//.test(line)) found.push(`${
|
|
98
|
+
if (m && !/^\s*\/\//.test(line)) found.push(`${shown(join(web, ".."), path)}:${i + 1}: ${m[1]}`)
|
|
95
99
|
})
|
|
96
100
|
}
|
|
97
101
|
}
|
|
@@ -137,7 +141,7 @@ export const generate = (path: string, opts: { check?: boolean } = {}): GenRepor
|
|
|
137
141
|
const { contract, files } = generatePlugin(ts, plugin)
|
|
138
142
|
const entry = { id: plugin.id, contract, written: [] as string[], stale: [] as string[], fresh: [] as string[] }
|
|
139
143
|
for (const f of files) {
|
|
140
|
-
const name =
|
|
144
|
+
const name = shown(root, f.file) || basename(f.file)
|
|
141
145
|
const current = existsSync(f.file) ? readFileSync(f.file, "utf8") : null
|
|
142
146
|
if (current === f.text) { entry.fresh.push(name); continue }
|
|
143
147
|
if (opts.check) { entry.stale.push(name); continue }
|
|
@@ -147,9 +151,9 @@ export const generate = (path: string, opts: { check?: boolean } = {}): GenRepor
|
|
|
147
151
|
}
|
|
148
152
|
report.plugins.push(entry)
|
|
149
153
|
} catch (e) {
|
|
150
|
-
if (e instanceof ContractError) report.failures.push(e.problems.map(p => `${
|
|
151
|
-
else if (e instanceof EmitError) report.failures.push(`${
|
|
152
|
-
else if (e instanceof ManifestError) report.failures.push(`${
|
|
154
|
+
if (e instanceof ContractError) report.failures.push(e.problems.map(p => `${shown(root, e.file) || e.file}:${p.line}: ${p.message}`).join("\n"))
|
|
155
|
+
else if (e instanceof EmitError) report.failures.push(`${shown(root, join(plugin.dir, CONTRACT_FILE))}: ${e.message}`)
|
|
156
|
+
else if (e instanceof ManifestError) report.failures.push(`${shown(root, e.file) || e.file}:\n${e.problems.map(p => ` ${p}`).join("\n")}`)
|
|
153
157
|
else throw e
|
|
154
158
|
}
|
|
155
159
|
}
|
package/src/web/build.ts
CHANGED
|
@@ -14,8 +14,15 @@ import { CliError } from "../cli"
|
|
|
14
14
|
*
|
|
15
15
|
* index.html the page (name, icon, theme color of app.json)
|
|
16
16
|
* app.<hash>.js the bundle — the same code every platform runs
|
|
17
|
-
* lite.js, assets/… the page of Web Lite (lecodes-web-lite's dist): its script, its font
|
|
18
|
-
* the
|
|
17
|
+
* lite.js, assets/… the page of Web Lite (lecodes-web-lite's dist): its script, its font
|
|
18
|
+
* in parts by script (a browser fetches the ones a page shows; none
|
|
19
|
+
* with app.json `web.font: "system"`)
|
|
20
|
+
* and the FEATURES this app needs (the pager, the virtualized list, the
|
|
21
|
+
* tweens, the canvas, the 3D engine, its twins, AR — a chunk each with
|
|
22
|
+
* the files it fetches; the page's features.json says what
|
|
23
|
+
* a bundle has to name for one to be needed, and whose files they are)
|
|
24
|
+
* plugins/<id>/… the web halves of the plugins the app lists, a folder each, and
|
|
25
|
+
* plugins.json where the half of each is
|
|
19
26
|
* assets/<path> the project's assets — only the ones the bundle names
|
|
20
27
|
* 404.html in `path` mode: the page again, for the hostings that answer an unknown
|
|
21
28
|
* path with it
|
|
@@ -36,6 +43,10 @@ export type WebConfig = {
|
|
|
36
43
|
themeColor?: string
|
|
37
44
|
/** The page's language (`<html lang>`). */
|
|
38
45
|
lang?: string
|
|
46
|
+
/** The font of a text that names none: `roboto` (default; the browser fetches the parts the
|
|
47
|
+
* page shows) or `system` — the device's own font, nothing fetched, the width of a text the
|
|
48
|
+
* device's. */
|
|
49
|
+
font?: "roboto" | "system"
|
|
39
50
|
}
|
|
40
51
|
|
|
41
52
|
export type WebBuildOptions = {
|
|
@@ -115,14 +126,39 @@ export const buildWeb = async (options: WebBuildOptions): Promise<WebBuildResult
|
|
|
115
126
|
// differ (the line stays, for the source map's count of lines).
|
|
116
127
|
const js = compiled.replace(/^\/\/ last-updated: .*$/m, "// last-updated: -")
|
|
117
128
|
const header = js.slice(0, 2000)
|
|
118
|
-
if (
|
|
119
|
-
warnings.push("This project uses
|
|
129
|
+
if (/^\/\/ 2d: enable/m.test(header)) {
|
|
130
|
+
warnings.push("This project uses 2D scenes, which Web Lite does not show yet: the page runs its UI and its 3D, a 2D scene's calls fail. (`lecodes dev --web` runs the whole app on the web player.)")
|
|
120
131
|
}
|
|
121
132
|
|
|
122
133
|
// ---- the folder ----------------------------------------------------------------------------------------------
|
|
123
134
|
rmSync(out, { recursive: true, force: true })
|
|
124
135
|
mkdirSync(out, { recursive: true })
|
|
125
136
|
cpSync(lite, out, { recursive: true })
|
|
137
|
+
// the features this bundle never names are not part of its page
|
|
138
|
+
const table = join(out, "features.json")
|
|
139
|
+
if (existsSync(table)) {
|
|
140
|
+
const { features, fonts } = JSON.parse(readFileSync(table, "utf8")) as { features: { name: string, uses: string[], files: string[] }[], fonts?: string[] }
|
|
141
|
+
if (config.font === "system") for (const file of fonts ?? []) rmSync(join(out, file), { force: true })
|
|
142
|
+
for (const feature of features) {
|
|
143
|
+
if (feature.uses.some((name) => js.includes(name))) continue
|
|
144
|
+
for (const file of feature.files) rmSync(join(out, file), { force: true })
|
|
145
|
+
}
|
|
146
|
+
rmSync(table)
|
|
147
|
+
}
|
|
148
|
+
// …and the plugins the app does not list (`// plugins:` of the bundle's header)
|
|
149
|
+
const pluginsTable = join(out, "plugins.json")
|
|
150
|
+
if (existsSync(pluginsTable)) {
|
|
151
|
+
const listed = new Set((/^\/\/ plugins: (.+)$/m.exec(header)?.[1] ?? "").split(";").map((id) => id.trim()).filter(Boolean))
|
|
152
|
+
const { plugins } = JSON.parse(readFileSync(pluginsTable, "utf8")) as { plugins: Record<string, string> }
|
|
153
|
+
const kept: Record<string, string> = {}
|
|
154
|
+
for (const id of Object.keys(plugins)) {
|
|
155
|
+
if (listed.has(id)) kept[id] = plugins[id]!
|
|
156
|
+
else rmSync(join(out, "plugins", id), { recursive: true, force: true })
|
|
157
|
+
}
|
|
158
|
+
for (const id of listed) if (!(id in plugins)) warnings.push(`The "${id}" plugin has no web half in this CLI: it is unsupported on the page (\`isSupported\` answers false).`)
|
|
159
|
+
if (Object.keys(kept).length > 0) writeFileSync(pluginsTable, JSON.stringify({ plugins: kept }, null, 2))
|
|
160
|
+
else { rmSync(pluginsTable); rmSync(join(out, "plugins"), { recursive: true, force: true }) }
|
|
161
|
+
}
|
|
126
162
|
|
|
127
163
|
const bundle = `app.${createHash("sha256").update(js).digest("hex").slice(0, 10)}.js`
|
|
128
164
|
writeFileSync(join(out, bundle), js)
|
|
@@ -154,7 +190,11 @@ export const buildWeb = async (options: WebBuildOptions): Promise<WebBuildResult
|
|
|
154
190
|
}
|
|
155
191
|
// in path mode a route is a path: what the page names relatively is under the base, whatever the route
|
|
156
192
|
if (mode === "path") head.unshift(`<base href="${escapeHtml(base)}" />`)
|
|
157
|
-
const attrs = [
|
|
193
|
+
const attrs = [
|
|
194
|
+
`data-src="${bundle}"`,
|
|
195
|
+
...(mode === "path" ? [`data-urls="path"`, `data-base="${escapeHtml(base)}"`] : []),
|
|
196
|
+
...(config.font === "system" ? [`data-font="system"`] : []),
|
|
197
|
+
].join(" ")
|
|
158
198
|
const replace = (from: string | RegExp, to: string) => {
|
|
159
199
|
const next = html.replace(from, to)
|
|
160
200
|
if (next === html) throw new CliError(`The page of Web Lite has no ${String(from)} to fill — this CLI and its page are of different versions.`)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
async function Rf(Ae={}){var t=Ae,w="./this.program",me=import.meta.url,H="";function Te(e){return t.locateFile?t.locateFile(e,H):H+e}var E;{try{H=new URL(".",me).href}catch{}E=async e=>{var r=await fetch(e,{credentials:"same-origin"});if(r.ok)return r.arrayBuffer();throw new Error(r.status+" : "+r.url)}}var ee=console.log.bind(console),T=console.error.bind(console),I,re=!1;class j{}function te(){var e=O.buffer;L=new Int8Array(e),ne=new Int16Array(e),t.HEAPU8=A=new Uint8Array(e),t.HEAPU16=ae=new Uint16Array(e),t.HEAP32=g=new Int32Array(e),t.HEAPU32=B=new Uint32Array(e),t.HEAPF32=C=new Float32Array(e),t.HEAPF64=ie=new Float64Array(e),z=new BigInt64Array(e),new BigUint64Array(e)}function Le(){if(t.preRun)for(typeof t.preRun=="function"&&(t.preRun=[t.preRun]);t.preRun.length;)Me(t.preRun.shift());ce(fe)}function pe(){G.te()}function De(){if(t.postRun)for(typeof t.postRun=="function"&&(t.postRun=[t.postRun]);t.postRun.length;)Ne(t.postRun.shift());ce(oe)}function D(e){var n;(n=t.onAbort)==null||n.call(t,e),e=`Aborted(${e})`,T(e),re=!0,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw r}var X;function Fe(){return t.locateFile?Te("creator-2d.wasm"):new URL(""+new URL("creator-2d-ukvEmNEp.wasm",import.meta.url).href,import.meta.url).href}function Ie(e){if(e==X&&I)return new Uint8Array(I);throw"both async and sync fetching of the wasm failed"}async function Ve(e){if(!I)try{var r=await E(e);return new Uint8Array(r)}catch{}return Ie(e)}async function We(e,r){try{var n=await Ve(e),i=await WebAssembly.instantiate(n,r);return i}catch(a){T(`failed to asynchronously prepare wasm: ${a}`),D(a)}}async function Re(e,r,n){if(!e)try{var i=fetch(r,{credentials:"same-origin"}),a=await WebAssembly.instantiateStreaming(i,n);return a}catch(c){T(`wasm streaming compile failed: ${c}`),T("falling back to ArrayBuffer instantiation")}return We(r,n)}function Ge(){var e={a:tf};return e}async function Ue(){function e(c,l){return G=c.exports,rf(G),te(),G}function r(c){return e(c.instance)}var n=Ge();if(t.instantiateWasm)return new Promise((c,l)=>{t.instantiateWasm(n,(u,s)=>{c(e(u))})});X??(X=Fe());var i=await Re(I,X,n),a=r(i);return a}var ne,g,z,L,C,ie,ae,B,A,ce=e=>{for(;e.length>0;)e.shift()(t)},oe=[],Ne=e=>oe.push(e),fe=[],Me=e=>fe.push(e),y=e=>Se(e),S=()=>Be(),U=[],Oe=e=>{var r=new ue(e);return r.get_caught()||r.set_caught(!0),r.set_rethrown(!1),U.push(r),Pe(e)},$e=()=>{h(0,0);var e=U.pop();ke(e.excPtr)},le=e=>(setTempRet0(0),0),He=()=>le(),Xe=e=>le(),ze=()=>{U.length||D("no exception to throw");var e=U.at(-1);e.excPtr,e.set_rethrown(!0),e.set_caught(!1),D()};class ue{constructor(r){this.excPtr=r,this.ptr=r-24}set_type(r){B[this.ptr+4>>2]=r}get_type(){return B[this.ptr+4>>2]}set_destructor(r){B[this.ptr+8>>2]=r}get_destructor(){return B[this.ptr+8>>2]}set_caught(r){r=r?1:0,L[this.ptr+12]=r}get_caught(){return L[this.ptr+12]!=0}set_rethrown(r){r=r?1:0,L[this.ptr+13]=r}get_rethrown(){return L[this.ptr+13]!=0}init(r,n){this.set_adjusted_ptr(0),this.set_type(r),this.set_destructor(n)}set_adjusted_ptr(r){B[this.ptr+16>>2]=r}get_adjusted_ptr(){return B[this.ptr+16>>2]}}var Qe=(e,r,n)=>{var i=new ue(e);i.init(r,n),D()},Je=e=>{D()},Ke=()=>D(""),_e=()=>performance.now(),Ze=()=>Date.now(),qe=e=>e>=0&&e<=3;function Ye(e,r,n){if(!qe(e))return 28;var i;e===0?i=Ze():i=_e();var a=Math.round(i*1e3*1e3);return z[n>>3]=BigInt(a),0}var Q=[],xe=(e,r)=>{Q.length=0;for(var n;n=A[e++];){var i=n!=105;i&=n!=112,r+=i&&r%8?4:0,Q.push(n==112?B[r>>2]:n==106?z[r>>3]:n==105?g[r>>2]:ie[r>>3]),r+=i?8:4}return Q},we=(e,r,n)=>{var i=xe(r,n);return ja[e](...i)},Ee=(e,r,n)=>we(e,r,n),er=()=>2147483648,rr=(e,r)=>Math.ceil(e/r)*r,tr=e=>{var r=O.buffer.byteLength,n=(e-r+65535)/65536|0;try{return O.grow(n),te(),1}catch{}},nr=e=>{var r=A.length;e>>>=0;var n=er();if(e>n)return!1;for(var i=1;i<=4;i*=2){var a=r*(1+.2/i);a=Math.min(a,e+100663296);var c=Math.min(n,rr(Math.max(e,a),65536)),l=tr(c);if(l)return!0}return!1},f,ir=e=>!!(e.dibvbi=e.getExtension("WEBGL_draw_instanced_base_vertex_base_instance")),ar=e=>!!(e.mdibvbi=e.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")),cr=e=>!!(e.extPolygonOffsetClamp=e.getExtension("EXT_polygon_offset_clamp")),or=e=>!!(e.extClipControl=e.getExtension("EXT_clip_control")),fr=e=>!!(e.webglPolygonMode=e.getExtension("WEBGL_polygon_mode")),lr=e=>!!(e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw")),se=e=>{var n;var r=["EXT_color_buffer_float","EXT_conservative_depth","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","NV_shader_noperspective_interpolation","WEBGL_clip_cull_distance","EXT_clip_control","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_polygon_offset_clamp","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw","WEBGL_polygon_mode"];return((n=e.getSupportedExtensions())==null?void 0:n.filter(i=>r.includes(i)))??[]},ur=e=>{typeof MainLoop<"u"&&MainLoop.preMainLoop.push(e)},J=(e,r,n,i,a=A)=>{{n&&f.bufferSubData(e,r,a,i,n);return}},ve=globalThis.TextDecoder&&new TextDecoder,_r=(e,r,n,i)=>{var a=r+n;if(i)return a;for(;e[r]&&!(r>=a);)++r;return r},de=(e,r=0,n,i)=>{var a=_r(e,r,n,i);if(a-r>16&&e.buffer&&ve)return ve.decode(e.subarray(r,a));for(var c="";r<a;){var l=e[r++];if(!(l&128)){c+=String.fromCharCode(l);continue}var u=e[r++]&63;if((l&224)==192){c+=String.fromCharCode((l&31)<<6|u);continue}var s=e[r++]&63;if((l&240)==224?l=(l&15)<<12|u<<6|s:l=(l&7)<<18|u<<12|s<<6|e[r++]&63,l<65536)c+=String.fromCharCode(l);else{var v=l-65536;c+=String.fromCharCode(55296|v>>10,56320|v&1023)}}return c},_=(e,r,n)=>e?de(A,e,r,n):"",o={counter:1,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],stringCache:{},stringiCache:{},unpackAlignment:4,unpackRowLength:0,recordError:e=>{o.lastError||(o.lastError=e)},getNewId:e=>{for(var r=o.counter++,n=e.length;n<r;n++)e[n]=null;for(;e[r];)r=o.counter++;return r},genObject:(e,r,n,i)=>{for(var a=0;a<e;a++){var c=f[n](),l=c&&o.getNewId(i);c?(c.name=l,i[l]=c):o.recordError(1282),g[r+a*4>>2]=l}},MAX_TEMP_BUFFER_SIZE:2097152,numTempVertexBuffersPerSize:64,log2ceilLookup:e=>32-Math.clz32(e===0?0:e-1),generateTempBuffers:(e,r)=>{var n=o.log2ceilLookup(o.MAX_TEMP_BUFFER_SIZE);r.tempVertexBufferCounters1=[],r.tempVertexBufferCounters2=[],r.tempVertexBufferCounters1.length=r.tempVertexBufferCounters2.length=n+1,r.tempVertexBuffers1=[],r.tempVertexBuffers2=[],r.tempVertexBuffers1.length=r.tempVertexBuffers2.length=n+1,r.tempIndexBuffers=[],r.tempIndexBuffers.length=n+1;for(var i=0;i<=n;++i){r.tempIndexBuffers[i]=null,r.tempVertexBufferCounters1[i]=r.tempVertexBufferCounters2[i]=0;var a=o.numTempVertexBuffersPerSize;r.tempVertexBuffers1[i]=[],r.tempVertexBuffers2[i]=[];var c=r.tempVertexBuffers1[i],l=r.tempVertexBuffers2[i];c.length=l.length=a;for(var u=0;u<a;++u)c[u]=l[u]=null}if(e){r.tempQuadIndexBuffer=f.createBuffer(),r.GLctx.bindBuffer(34963,r.tempQuadIndexBuffer);for(var s=o.MAX_TEMP_BUFFER_SIZE>>1,v=new Uint16Array(s),i=0,d=0;v[i++]=d,!(i>=s||(v[i++]=d+1,i>=s)||(v[i++]=d+2,i>=s)||(v[i++]=d,i>=s)||(v[i++]=d+2,i>=s)||(v[i++]=d+3,i>=s));)d+=4;r.GLctx.bufferData(34963,v,35044),r.GLctx.bindBuffer(34963,null)}},getTempVertexBuffer:e=>{var r=o.log2ceilLookup(e),n=o.currentContext.tempVertexBuffers1[r],i=o.currentContext.tempVertexBufferCounters1[r];o.currentContext.tempVertexBufferCounters1[r]=o.currentContext.tempVertexBufferCounters1[r]+1&o.numTempVertexBuffersPerSize-1;var a=n[i];if(a)return a;var c=f.getParameter(34964);return n[i]=f.createBuffer(),f.bindBuffer(34962,n[i]),f.bufferData(34962,1<<r,35048),f.bindBuffer(34962,c),n[i]},getTempIndexBuffer:e=>{var r=o.log2ceilLookup(e),n=o.currentContext.tempIndexBuffers[r];if(n)return n;var i=f.getParameter(34965);return o.currentContext.tempIndexBuffers[r]=f.createBuffer(),f.bindBuffer(34963,o.currentContext.tempIndexBuffers[r]),f.bufferData(34963,1<<r,35048),f.bindBuffer(34963,i),o.currentContext.tempIndexBuffers[r]},newRenderingFrameStarted:()=>{if(o.currentContext){var e=o.currentContext.tempVertexBuffers1;o.currentContext.tempVertexBuffers1=o.currentContext.tempVertexBuffers2,o.currentContext.tempVertexBuffers2=e,e=o.currentContext.tempVertexBufferCounters1,o.currentContext.tempVertexBufferCounters1=o.currentContext.tempVertexBufferCounters2,o.currentContext.tempVertexBufferCounters2=e;for(var r=o.log2ceilLookup(o.MAX_TEMP_BUFFER_SIZE),n=0;n<=r;++n)o.currentContext.tempVertexBufferCounters1[n]=0}},getSource:(e,r,n,i)=>{for(var a="",c=0;c<r;++c){var l=i?B[i+c*4>>2]:void 0;a+=_(B[n+c*4>>2],l)}return a},calcBufLength:(e,r,n,i)=>{if(n>0)return i*n;var a=o.byteSizeByType[r-o.byteSizeByTypeRoot];return e*a*i},usedTempBuffers:[],preDrawHandleClientVertexAttribBindings:e=>{o.resetBufferBinding=!1;for(var r=0;r<o.currentContext.maxVertexAttribs;++r){var n=o.currentContext.clientBuffers[r];if(!(!n.clientside||!n.enabled)){o.resetBufferBinding=!0;var i=o.calcBufLength(n.size,n.type,n.stride,e),a=o.getTempVertexBuffer(i);f.bindBuffer(34962,a),J(34962,0,i,n.ptr),n.vertexAttribPointerAdaptor.call(f,r,n.size,n.type,n.normalized,n.stride,0)}}},postDrawHandleClientVertexAttribBindings:()=>{o.resetBufferBinding&&f.bindBuffer(34962,o.buffers[f.currentArrayBufferBinding])},createContext:(e,r)=>{if(!e.getContextSafariWebGL2Fixed){let a=function(c,l){var u=e.getContextSafariWebGL2Fixed(c,l);return c=="webgl"==u instanceof WebGLRenderingContext?u:null};e.getContextSafariWebGL2Fixed=e.getContext,e.getContext=a}var n=e.getContext("webgl2",r);if(!n)return 0;var i=o.registerContext(n,r);return i},registerContext:(e,r)=>{var n=o.getNewId(o.contexts),i={handle:n,attributes:r,version:r.majorVersion,GLctx:e};e.canvas&&(e.canvas.GLctxObject=i),o.contexts[n]=i,(typeof r.enableExtensionsByDefault>"u"||r.enableExtensionsByDefault)&&o.initExtensions(i),i.maxVertexAttribs=i.GLctx.getParameter(34921),i.clientBuffers=[];for(var a=0;a<i.maxVertexAttribs;a++)i.clientBuffers[a]={enabled:!1,clientside:!1,size:0,type:0,normalized:0,stride:0,ptr:0,vertexAttribPointerAdaptor:null};return o.generateTempBuffers(!1,i),n},makeContextCurrent:e=>{var r;return o.currentContext=o.contexts[e],t.ctx=f=(r=o.currentContext)==null?void 0:r.GLctx,!(e&&!f)},getContext:e=>o.contexts[e],deleteContext:e=>{var r;o.currentContext===o.contexts[e]&&(o.currentContext=null),typeof JSEvents=="object"&&JSEvents.removeAllHandlersOnTarget(o.contexts[e].GLctx.canvas),(r=o.contexts[e])!=null&&r.GLctx.canvas&&(o.contexts[e].GLctx.canvas.GLctxObject=void 0),o.contexts[e]=null},initExtensions:e=>{if(e||(e=o.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var r=e.GLctx;lr(r),cr(r),or(r),fr(r),ir(r),ar(r),e.version>=2&&(r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query_webgl2")),(e.version<2||!r.disjointTimerQueryExt)&&(r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query"));for(var n of se(r))!n.includes("lose_context")&&!n.includes("debug")&&r.getExtension(n)}}},sr=e=>{var r=o.makeContextCurrent(e);return r?0:-5},N={},vr=()=>w,V=()=>{var a;if(!V.strings){var e=(((a=globalThis.navigator)==null?void 0:a.language)??"C").replace("-","_")+".UTF-8",r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:e,_:vr()};for(var n in N)N[n]===void 0?delete r[n]:r[n]=N[n];var i=[];for(var n in r)i.push(`${n}=${r[n]}`);V.strings=i}return V.strings},dr=(e,r,n,i)=>{if(!(i>0))return 0;for(var a=n,c=n+i-1,l=0;l<e.length;++l){var u=e.codePointAt(l);if(u<=127){if(n>=c)break;r[n++]=u}else if(u<=2047){if(n+1>=c)break;r[n++]=192|u>>6,r[n++]=128|u&63}else if(u<=65535){if(n+2>=c)break;r[n++]=224|u>>12,r[n++]=128|u>>6&63,r[n++]=128|u&63}else{if(n+3>=c)break;r[n++]=240|u>>18,r[n++]=128|u>>12&63,r[n++]=128|u>>6&63,r[n++]=128|u&63,l++}}return r[n]=0,n-a},W=(e,r,n)=>dr(e,A,r,n),gr=(e,r)=>{var n=0,i=0;for(var a of V()){var c=r+n;B[e+i>>2]=c,n+=W(a,c,1/0)+1,i+=4}return 0},K=e=>{for(var r=0,n=0;n<e.length;++n){var i=e.charCodeAt(n);i<=127?r++:i<=2047?r+=2:i>=55296&&i<=57343?(r+=4,++n):r+=3}return r},br=(e,r)=>{var n=V();B[e>>2]=n.length;var i=0;for(var a of n)i+=K(a)+1;return B[r>>2]=i,0},hr=e=>52;function jr(e,r,n,i){return 70}var yr=[null,[],[]],Sr=(e,r)=>{var n=yr[e];r===0||r===10?((e===1?ee:T)(de(n)),n.length=0):n.push(r)},Br=(e,r,n,i)=>{for(var a=0,c=0;c<n;c++){var l=B[r>>2],u=B[r+4>>2];r+=8;for(var s=0;s<u;s++)Sr(e,A[l+s]);a+=u}return B[i>>2]=a,0},kr=e=>f.activeTexture(e),Pr=kr,Cr=(e,r)=>{f.attachShader(o.programs[e],o.shaders[r])},Ar=Cr,mr=(e,r)=>{if(r&&!o.buffers[r]){var n=f.createBuffer();n.name=r,o.buffers[r]=n}e==34962?f.currentArrayBufferBinding=r:e==34963&&(f.currentElementArrayBufferBinding=r),e==35051?f.currentPixelPackBufferBinding=r:e==35052&&(f.currentPixelUnpackBufferBinding=r),f.bindBuffer(e,o.buffers[r])},Tr=mr,Lr=(e,r,n)=>{f.bindBufferBase(e,r,o.buffers[n])},pr=Lr,Dr=(e,r,n,i,a)=>{f.bindBufferRange(e,r,o.buffers[n],i,a)},Fr=Dr,Ir=(e,r)=>{f.bindFramebuffer(e,o.framebuffers[r])},Vr=Ir,Wr=(e,r)=>{f.bindRenderbuffer(e,o.renderbuffers[r])},Rr=Wr,Gr=(e,r)=>{f.bindSampler(e,o.samplers[r])},Ur=Gr,Nr=(e,r)=>{f.bindTexture(e,o.textures[r])},Mr=Nr,Or=e=>{f.bindVertexArray(o.vaos[e]);var r=f.getParameter(34965);f.currentElementArrayBufferBinding=r?r.name|0:0},$r=Or,Hr=(e,r,n,i)=>f.blendColor(e,r,n,i),Xr=Hr,zr=(e,r)=>f.blendEquationSeparate(e,r),Qr=zr,Jr=(e,r,n,i)=>f.blendFuncSeparate(e,r,n,i),Kr=Jr,Zr=(e,r,n,i,a,c,l,u,s,v)=>f.blitFramebuffer(e,r,n,i,a,c,l,u,s,v),qr=Zr,Yr=(e,r,n,i)=>{{n&&r?f.bufferData(e,A,i,n,r):f.bufferData(e,r,i);return}},xr=Yr,wr=(e,r,n,i)=>J(e,r,n,i),Er=wr,et=e=>f.checkFramebufferStatus(e),rt=et,tt=(e,r,n,i)=>f.clearBufferfi(e,r,n,i),nt=tt,it=(e,r,n)=>{f.clearBufferfv(e,r,C,n>>2)},at=it,ct=(e,r,n)=>{f.clearBufferiv(e,r,g,n>>2)},ot=ct,ft=(e,r,n,i)=>{f.colorMask(!!e,!!r,!!n,!!i)},lt=ft,ut=e=>{f.compileShader(o.shaders[e])},_t=ut,st=(e,r,n,i,a,c,l,u,s)=>{{if(f.currentPixelUnpackBufferBinding||!u){f.compressedTexSubImage2D(e,r,n,i,a,c,l,u,s);return}f.compressedTexSubImage2D(e,r,n,i,a,c,l,A,s,u);return}},vt=st,dt=(e,r,n,i,a,c,l,u,s,v,d)=>{f.currentPixelUnpackBufferBinding?f.compressedTexSubImage3D(e,r,n,i,a,c,l,u,s,v,d):f.compressedTexSubImage3D(e,r,n,i,a,c,l,u,s,A,d,v)},gt=dt,bt=()=>{var e=o.getNewId(o.programs),r=f.createProgram();return r.name=e,r.maxUniformLength=r.maxAttributeLength=r.maxUniformBlockNameLength=0,r.uniformIdCounter=1,o.programs[e]=r,e},ht=bt,jt=e=>{var r=o.getNewId(o.shaders);return o.shaders[r]=f.createShader(e),r},yt=jt,St=e=>f.cullFace(e),Bt=St,kt=(e,r)=>{for(var n=0;n<e;n++){var i=g[r+n*4>>2],a=o.buffers[i];a&&(f.deleteBuffer(a),a.name=0,o.buffers[i]=null,i==f.currentArrayBufferBinding&&(f.currentArrayBufferBinding=0),i==f.currentElementArrayBufferBinding&&(f.currentElementArrayBufferBinding=0),i==f.currentPixelPackBufferBinding&&(f.currentPixelPackBufferBinding=0),i==f.currentPixelUnpackBufferBinding&&(f.currentPixelUnpackBufferBinding=0))}},Pt=kt,Ct=(e,r)=>{for(var n=0;n<e;++n){var i=g[r+n*4>>2],a=o.framebuffers[i];a&&(f.deleteFramebuffer(a),a.name=0,o.framebuffers[i]=null)}},At=Ct,mt=e=>{if(e){var r=o.programs[e];if(!r){o.recordError(1281);return}f.deleteProgram(r),r.name=0,o.programs[e]=null}},Tt=mt,Lt=(e,r)=>{for(var n=0;n<e;n++){var i=g[r+n*4>>2],a=o.renderbuffers[i];a&&(f.deleteRenderbuffer(a),a.name=0,o.renderbuffers[i]=null)}},pt=Lt,Dt=(e,r)=>{for(var n=0;n<e;n++){var i=g[r+n*4>>2],a=o.samplers[i];a&&(f.deleteSampler(a),a.name=0,o.samplers[i]=null)}},Ft=Dt,It=e=>{if(e){var r=o.shaders[e];if(!r){o.recordError(1281);return}f.deleteShader(r),o.shaders[e]=null}},Vt=It,Wt=(e,r)=>{for(var n=0;n<e;n++){var i=g[r+n*4>>2],a=o.textures[i];a&&(f.deleteTexture(a),a.name=0,o.textures[i]=null)}},Rt=Wt,Gt=(e,r)=>{for(var n=0;n<e;n++){var i=g[r+n*4>>2];f.deleteVertexArray(o.vaos[i]),o.vaos[i]=null}},Ut=Gt,Nt=e=>f.depthFunc(e),Mt=Nt,Ot=e=>{f.depthMask(!!e)},$t=Ot,Ht=e=>f.disable(e),Xt=Ht,zt=e=>{var r=o.currentContext.clientBuffers[e];r.enabled=!1,f.disableVertexAttribArray(e)},Qt=zt,Jt=(e,r,n)=>{o.preDrawHandleClientVertexAttribBindings(r+n),f.drawArrays(e,r,n),o.postDrawHandleClientVertexAttribBindings()},Kt=Jt,Zt=(e,r,n,i)=>{f.drawArraysInstanced(e,r,n,i)},qt=Zt,Z=[],Yt=(e,r)=>{for(var n=Z[e],i=0;i<e;i++)n[i]=g[r+i*4>>2];f.drawBuffers(n)},xt=Yt,wt=(e,r,n,i)=>{var a,c=0;if(!f.currentElementArrayBufferBinding){var l=o.calcBufLength(1,n,0,r);if(a=o.getTempIndexBuffer(l),f.bindBuffer(34963,a),J(34963,0,l,i),r>0)for(var u=0;u<o.currentContext.maxVertexAttribs;++u){var s=o.currentContext.clientBuffers[u];if(s.clientside&&s.enabled){let v;switch(n){case 5121:v=Uint8Array;break;case 5123:v=Uint16Array;break;case 5125:v=Uint32Array;break;default:o.recordError(1282);return}c=new v(A.buffer,i,r).reduce((d,k)=>Math.max(d,k))+1;break}}i=0}o.preDrawHandleClientVertexAttribBindings(c),f.drawElements(e,r,n,i),o.postDrawHandleClientVertexAttribBindings(r),f.currentElementArrayBufferBinding||f.bindBuffer(34963,null)},Et=wt,en=(e,r,n,i,a)=>{f.drawElementsInstanced(e,r,n,i,a)},rn=en,tn=e=>f.enable(e),nn=tn,an=e=>{var r=o.currentContext.clientBuffers[e];r.enabled=!0,f.enableVertexAttribArray(e)},cn=an,on=(e,r,n,i)=>{f.framebufferRenderbuffer(e,r,n,o.renderbuffers[i])},fn=on,ln=(e,r,n,i,a)=>{f.framebufferTexture2D(e,r,n,o.textures[i],a)},un=ln,_n=(e,r,n,i,a)=>{f.framebufferTextureLayer(e,r,o.textures[n],i,a)},sn=_n,vn=e=>f.frontFace(e),dn=vn,gn=(e,r)=>{o.genObject(e,r,"createBuffer",o.buffers)},bn=gn,hn=(e,r)=>{o.genObject(e,r,"createFramebuffer",o.framebuffers)},jn=hn,yn=(e,r)=>{o.genObject(e,r,"createRenderbuffer",o.renderbuffers)},Sn=yn,Bn=(e,r)=>{o.genObject(e,r,"createSampler",o.samplers)},kn=Bn,Pn=(e,r)=>{o.genObject(e,r,"createTexture",o.textures)},Cn=Pn,An=(e,r)=>{o.genObject(e,r,"createVertexArray",o.vaos)},mn=An,Tn=(e,r)=>f.getAttribLocation(o.programs[e],_(r)),Ln=Tn,pn=(e,r)=>{B[e>>2]=r;var n=B[e>>2];B[e+4>>2]=(r-n)/4294967296},ge=()=>{var e=se(f);return e=e.concat(e.map(r=>"GL_"+r)),e},Dn=(e,r,n)=>{if(!r){o.recordError(1281);return}var i=void 0;switch(e){case 36346:i=1;break;case 36344:return;case 34814:case 36345:i=0;break;case 34466:var a=f.getParameter(34467);i=a?a.length:0;break;case 33309:if(o.currentContext.version<2){o.recordError(1282);return}i=ge().length;break;case 33307:case 33308:if(o.currentContext.version<2){o.recordError(1280);return}i=e==33307?3:0;break}if(i===void 0){var c=f.getParameter(e);switch(typeof c){case"number":i=c;break;case"boolean":i=c?1:0;break;case"string":o.recordError(1280);return;case"object":if(c===null)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:{i=0;break}default:{o.recordError(1280);return}}else if(c instanceof Float32Array||c instanceof Uint32Array||c instanceof Int32Array||c instanceof Array){for(var l=0;l<c.length;++l)switch(n){case 0:g[r+l*4>>2]=c[l];break;case 2:C[r+l*4>>2]=c[l];break;case 4:L[r+l]=c[l]?1:0;break}return}else try{i=c.name|0}catch(u){o.recordError(1280),T(`GL_INVALID_ENUM in glGet${n}v: Unknown object returned from WebGL getParameter(${e})! (error: ${u})`);return}break;default:o.recordError(1280),T(`GL_INVALID_ENUM in glGet${n}v: Native code calling glGet${n}v(${e}) and it returns ${c} of type ${typeof c}!`);return}}switch(n){case 1:pn(r,i);break;case 0:g[r>>2]=i;break;case 2:C[r>>2]=i;break;case 4:L[r]=i?1:0;break}},Fn=(e,r)=>Dn(e,r,0),In=Fn,Vn=(e,r,n,i)=>{var a=f.getProgramInfoLog(o.programs[e]);a===null&&(a="(unknown error)");var c=r>0&&i?W(a,i,r):0;n&&(g[n>>2]=c)},Wn=Vn,Rn=(e,r,n)=>{if(!n){o.recordError(1281);return}if(e>=o.counter){o.recordError(1281);return}if(e=o.programs[e],r==35716){var i=f.getProgramInfoLog(e);i===null&&(i="(unknown error)"),g[n>>2]=i.length+1}else if(r==35719){if(!e.maxUniformLength)for(var a=f.getProgramParameter(e,35718),c=0;c<a;++c)e.maxUniformLength=Math.max(e.maxUniformLength,f.getActiveUniform(e,c).name.length+1);g[n>>2]=e.maxUniformLength}else if(r==35722){if(!e.maxAttributeLength)for(var l=f.getProgramParameter(e,35721),c=0;c<l;++c)e.maxAttributeLength=Math.max(e.maxAttributeLength,f.getActiveAttrib(e,c).name.length+1);g[n>>2]=e.maxAttributeLength}else if(r==35381){if(!e.maxUniformBlockNameLength)for(var u=f.getProgramParameter(e,35382),c=0;c<u;++c)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,f.getActiveUniformBlockName(e,c).length+1);g[n>>2]=e.maxUniformBlockNameLength}else g[n>>2]=f.getProgramParameter(e,r)},Gn=Rn,Un=(e,r,n,i)=>{var a=f.getShaderInfoLog(o.shaders[e]);a===null&&(a="(unknown error)");var c=r>0&&i?W(a,i,r):0;n&&(g[n>>2]=c)},Nn=Un,Mn=(e,r,n)=>{if(!n){o.recordError(1281);return}if(r==35716){var i=f.getShaderInfoLog(o.shaders[e]);i===null&&(i="(unknown error)");var a=i?i.length+1:0;g[n>>2]=a}else if(r==35720){var c=f.getShaderSource(o.shaders[e]),l=c?c.length+1:0;g[n>>2]=l}else g[n>>2]=f.getShaderParameter(o.shaders[e],r)},On=Mn,F=e=>{var r=K(e)+1,n=ye(r);return n&&W(e,n,r),n},$n=(e,r)=>{if(o.currentContext.version<2)return o.recordError(1282),0;var n=o.stringiCache[e];if(n)return r<0||r>=n.length?(o.recordError(1281),0):n[r];switch(e){case 7939:var i=ge().map(F);return n=o.stringiCache[e]=i,r<0||r>=n.length?(o.recordError(1281),0):n[r];default:return o.recordError(1280),0}},Hn=$n,Xn=e=>parseInt(e),be=e=>e.slice(-1)=="]"&&e.lastIndexOf("["),zn=e=>{var r=e.uniformLocsById,n=e.uniformSizeAndIdsByName,i,a;if(!r){e.uniformLocsById=r={},e.uniformArrayNamesById={};var c=f.getProgramParameter(e,35718);for(i=0;i<c;++i){var l=f.getActiveUniform(e,i),u=l.name,s=l.size,v=be(u),d=v>0?u.slice(0,v):u,k=e.uniformIdCounter;for(e.uniformIdCounter+=s,n[d]=[s,k],a=0;a<s;++a)r[k]=a,e.uniformArrayNamesById[k++]=d}}},Qn=(e,r)=>{if(r=_(r),e=o.programs[e]){zn(e);var n=e.uniformLocsById,i=0,a=r,c=be(r);c>0&&(i=Xn(r.slice(c+1))>>>0,a=r.slice(0,c));var l=e.uniformSizeAndIdsByName[a];if(l&&i<l[0]&&(i+=l[1],n[i]=n[i]||f.getUniformLocation(e,r)))return i}else o.recordError(1281);return-1},Jn=Qn,Kn=(e,r,n)=>{for(var i=Z[r],a=0;a<r;a++)i[a]=g[n+a*4>>2];f.invalidateFramebuffer(e,i)},Zn=Kn,qn=e=>{e=o.programs[e],f.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},Yn=qn,xn=(e,r)=>{e==3317?o.unpackAlignment=r:e==3314&&(o.unpackRowLength=r),f.pixelStorei(e,r)},wn=xn,En=(e,r)=>f.polygonOffset(e,r),ei=En,ri=e=>f.readBuffer(e),ti=ri,ni=(e,r,n,i,a)=>f.renderbufferStorageMultisample(e,r,n,i,a),ii=ni,ai=(e,r,n)=>{f.samplerParameterf(o.samplers[e],r,n)},ci=ai,oi=(e,r,n)=>{f.samplerParameteri(o.samplers[e],r,n)},fi=oi,li=(e,r,n,i)=>f.scissor(e,r,n,i),ui=li,_i=(e,r,n,i)=>{var a=o.getSource(e,r,n,i);f.shaderSource(o.shaders[e],a)},si=_i,vi=(e,r,n)=>f.stencilFunc(e,r,n),di=vi,gi=(e,r,n,i)=>f.stencilFuncSeparate(e,r,n,i),bi=gi,hi=e=>f.stencilMask(e),ji=hi,yi=(e,r,n)=>f.stencilOp(e,r,n),Si=yi,Bi=(e,r,n,i)=>f.stencilOpSeparate(e,r,n,i),ki=Bi,Pi=(e,r,n,i,a)=>f.texStorage2D(e,r,n,i,a),Ci=Pi,Ai=(e,r,n,i,a,c)=>f.texStorage3D(e,r,n,i,a,c),mi=Ai,Ti=(e,r,n)=>{function i(l,u){return l+u-1&-u}var a=(o.unpackRowLength||e)*n,c=i(a,o.unpackAlignment);return r*c},Li=e=>{var r={5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4};return r[e-6402]||1},q=e=>(e-=5120,e==0?L:e==1?A:e==2?ne:e==4?g:e==6?C:e==5||e==28922||e==28520||e==30779||e==30782?B:ae),M=(e,r)=>e>>>31-Math.clz32(r.BYTES_PER_ELEMENT),pi=(e,r,n,i,a)=>{var c=q(e),l=Li(r)*c.BYTES_PER_ELEMENT,u=Ti(n,i,l);return c.subarray(M(a,c),M(a+u,c))},Di=(e,r,n,i,a,c,l,u,s)=>{{if(f.currentPixelUnpackBufferBinding){f.texSubImage2D(e,r,n,i,a,c,l,u,s);return}if(s){var v=q(u);f.texSubImage2D(e,r,n,i,a,c,l,u,v,M(s,v));return}}var d=s?pi(u,l,a,c,s):null;f.texSubImage2D(e,r,n,i,a,c,l,u,d)},Fi=Di,Ii=(e,r,n,i,a,c,l,u,s,v,d)=>{if(f.currentPixelUnpackBufferBinding)f.texSubImage3D(e,r,n,i,a,c,l,u,s,v,d);else if(d){var k=q(v);f.texSubImage3D(e,r,n,i,a,c,l,u,s,v,k,M(d,k))}else f.texSubImage3D(e,r,n,i,a,c,l,u,s,v,null)},Vi=Ii,Wi=(e,r)=>{if(e){var n=e.uniformLocsById[r];return typeof n=="number"&&(e.uniformLocsById[r]=n=f.getUniformLocation(e,e.uniformArrayNamesById[r]+(n>0?`[${n}]`:""))),n}else o.recordError(1282)},m=e=>Wi(f.currentProgram,e),Ri=(e,r,n)=>{r&&f.uniform1fv(m(e),C,n>>2,r)},Gi=Ri,Ui=(e,r)=>{f.uniform1i(m(e),r)},Ni=Ui,Mi=(e,r,n)=>{r&&f.uniform1iv(m(e),g,n>>2,r)},Oi=Mi,$i=(e,r,n)=>{r&&f.uniform2fv(m(e),C,n>>2,r*2)},Hi=$i,Xi=(e,r,n)=>{r&&f.uniform2iv(m(e),g,n>>2,r*2)},zi=Xi,Qi=(e,r,n)=>{r&&f.uniform3fv(m(e),C,n>>2,r*3)},Ji=Qi,Ki=(e,r,n)=>{r&&f.uniform3iv(m(e),g,n>>2,r*3)},Zi=Ki,qi=(e,r,n)=>{r&&f.uniform4fv(m(e),C,n>>2,r*4)},Yi=qi,xi=(e,r,n)=>{r&&f.uniform4iv(m(e),g,n>>2,r*4)},wi=xi,Ei=(e,r,n,i)=>{r&&f.uniformMatrix4fv(m(e),!!n,C,i>>2,r*16)},ea=Ei,ra=e=>{e=o.programs[e],f.useProgram(e),f.currentProgram=e},ta=ra,na=(e,r)=>{f.vertexAttribDivisor(e,r)},ia=na,aa=(e,r,n,i,a)=>{var c=o.currentContext.clientBuffers[e];if(!f.currentArrayBufferBinding){c.size=r,c.type=n,c.normalized=!1,c.stride=i,c.ptr=a,c.clientside=!0,c.vertexAttribPointerAdaptor=function(l,u,s,v,d,k){this.vertexAttribIPointer(l,u,s,d,k)};return}c.clientside=!1,f.vertexAttribIPointer(e,r,n,i,a)},ca=aa,oa=(e,r,n,i,a,c)=>{var l=o.currentContext.clientBuffers[e];if(!f.currentArrayBufferBinding){l.size=r,l.type=n,l.normalized=i,l.stride=a,l.ptr=c,l.clientside=!0,l.vertexAttribPointerAdaptor=function(u,s,v,d,k,P){this.vertexAttribPointer(u,s,v,d,k,P)};return}l.clientside=!1,f.vertexAttribPointer(e,r,n,!!i,a,c)},fa=oa,la=(e,r,n,i)=>f.viewport(e,r,n,i),ua=la,b=e=>R.get(e),_a=(e,r)=>{if(p)for(var n=e;n<e+r;n++){var i=b(n);i&&p.set(i,n)}},p,sa=e=>(p||(p=new WeakMap,_a(0,R.length)),p.get(e)||0),Y=[],va=()=>Y.length?Y.pop():R.grow(1),x=(e,r)=>R.set(e,r),he=e=>{const r=e.length;return[r%128|128,r>>7,...e]},da={i:127,p:127,j:126,f:125,d:124,e:111},je=e=>he(Array.from(e,r=>{var n=da[r];return n})),ga=(e,r)=>{var n=Uint8Array.of(0,97,115,109,1,0,0,0,1,...he([1,96,...je(r.slice(1)),...je(r[0]==="v"?"":r[0])]),2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),i=new WebAssembly.Module(n),a=new WebAssembly.Instance(i,{e:{f:e}}),c=a.exports.f;return c},ba=(e,r)=>{var n=sa(e);if(n)return n;var i=va();try{x(i,e)}catch(c){if(!(c instanceof TypeError))throw c;var a=ga(e,r);x(i,a)}return p.set(e,i),i},ha=e=>{p.delete(b(e)),x(e,null),Y.push(e)};ur(()=>o.newRenderingFrameStarted());for(let e=0;e<32;++e)Z.push(new Array(e));if(t.noExitRuntime&&t.noExitRuntime,t.print&&(ee=t.print),t.printErr&&(T=t.printErr),t.wasmBinary&&(I=t.wasmBinary),t.arguments&&t.arguments,t.thisProgram&&(w=t.thisProgram),t.preInit)for(typeof t.preInit=="function"&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.shift()();t.ENV=N,t.addFunction=ba,t.removeFunction=ha,t.UTF8ToString=_,t.stringToUTF8=W,t.lengthBytesUTF8=K,t.stringToNewUTF8=F,t.GL=o;var ja={86553:()=>{const e=t.creator2d_glContext||typeof window<"u"&&window.creator2d_glContext,r=t.creator2d_glOptions||typeof window<"u"&&window.creator2d_glOptions||{},n=o.registerContext(e,r);return o.makeContextCurrent(n),n}};function ya(e){t.jsb._init(e)}function Sa(e){t.jsb.dup(e)}function Ba(e){t.jsb.release(e)}function ka(e){t.jsb.global(e)}function Pa(e,r,n){t.jsb.get(e,r,_(n))}function Ca(e,r,n){t.jsb.getIndex(e,r,n)}function Aa(e,r,n){return t.jsb.has(e,r,_(n))?1:0}function ma(e,r,n,i){t.jsb.set(e,_(r),n,i)}function Ta(e,r,n,i){t.jsb.setIndex(e,r,n,i)}function La(e,r,n){return t.jsb.keys(e,r,n)}function pa(e,r){t.jsb.newObject(e,r)}function Da(){t.jsb.newArray()}function Fa(e,r){t.jsb.newString(_(e,r))}function Ia(e,r,n){return t.jsb.str(e,r,n)}function Va(e,r){return t.jsb.logString(e,r)}function Wa(e){return t.jsb.toNumber(e)}function Ra(e){return t.jsb.truthy(e)?1:0}function Ga(e){t.jsb.newError(_(e))}function Ua(e,r){t.jsb.throwNew(e,_(r))}function Na(){t.jsb.takeException()}function Ma(e,r,n,i,a,c){t.jsb.call(e,r,n,i,a,c)}function Oa(e,r,n,i){t.jsb.eval(e,_(r,n),_(i))}function $a(){return t.jsb.newContext()}function Ha(e){t.jsb.freeContext(e)}function Xa(e,r){t.jsb.parseJson(_(e,r))}function za(e,r,n){t.jsb.typedArray(e,r,n)}function Qa(e,r,n,i){return t.jsb.arrayIn(e,r,n,i)}function Ja(e,r,n){t.jsb.arrayOut(e,r,n)}function Ka(e,r,n,i){t.jsb.makeFunction(e,r,n?_(n):"",i)}function Za(e,r,n,i,a,c){t.jsb.defineMethod(e,r,_(n),i,a,c)}function qa(){t.jsb.gc()}function Ya(e){return t.jsb.host[_(e)]?1:0}function xa(e,r){const n=t.jsb.host[_(e)];return n&&typeof n[_(r)]=="function"?1:0}function wa(e,r){const n=t.jsb.host[_(e)],i=n?n[_(r)]:void 0;return i==null?0:F(String(i))}function Ea(e,r){const n=t.jsb.host[_(e)],i=n?Number(n[_(r)]):0;return i===i?i:0}function ec(){return t.jsb.host.gl.getGLContext()|0}function rc(){t.jsb.host.gl.engineCreated()}function tc(){t.jsb.host.gl.createGLView()}function nc(){t.jsb.host.gl.closeScene()}function ic(e,r,n,i){const a=t.jsb.group(n,i);t.jsb.host.gl.createTexture(e,r,t.jsb.callback(n,a),t.jsb.callback(i,a))}function ac(e){return t.jsb.host.gl.createMediaPlayerTexture(e)||0}function cc(e,r,n){const i=t.jsb.group(r,n);t.jsb.host.gl.launchAR(e,t.jsb.callback(r,i),t.jsb.callback(n,i))}function oc(){t.jsb.host.gl.stopAR()}function fc(e,r,n){const i=t.jsb.group(r,n);t.jsb.host.gl.launchVR(e,t.jsb.callback(r,i),t.jsb.callback(n,i))}function lc(){t.jsb.host.gl.stopVR()}function uc(e,r,n){t.jsb.host.gl.createARController(e,r,n?_(n):null)}function _c(e,r){t.jsb.host.gl.createRootAnchor(e,r)}function sc(e,r,n,i){t.jsb.host.gl.createAnchor(e,r,n,i)}function vc(e){t.jsb.host.scene2d.open2DScene(e)}function dc(){t.jsb.host.scene2d.close2DScene()}function gc(){t.jsb.host.scene2d.init2D()}function bc(e,r,n,i){t.jsb.host.ui.nodeFactory(e,r?_(r):null,n,i)}function hc(e,r,n){t.jsb.host.ui.setPropertyString(e,r?_(r):null,n?_(n):null)}function jc(e,r,n){t.jsb.host.ui.setPropertyInt(e,r?_(r):null,n)}function yc(e,r){t.jsb.host.ui.setFlags(e,r)}function Sc(e,r,n){t.jsb.host.ui.insertNode(e,r,n)}function Bc(e,r){t.jsb.host.ui.removeNode(e,r)}function kc(e){t.jsb.host.ui.releaseNode(e)}function Pc(e,r,n,i,a,c){t.jsb.host.ui.openView(e,r,n,i?_(i):null,a?_(a):null,!!c)}function Cc(e,r,n){t.jsb.host.ui.dropView(e,r,n)}function Ac(){t.jsb.host.ui.closeView()}function mc(e){return t.jsb.host.ui.isViewSupported(e?_(e):null)?1:0}function Tc(e){return t.jsb.host.ui.viewVersion(e?_(e):null)||0}function Lc(e,r,n,i,a){const c=t.jsb.group(i,a);t.jsb.host.ui.viewCall(e,r?_(r):null,t.jsb.valueAt(n),t.jsb.callback(i,c),t.jsb.callback(a,c))}function pc(e,r,n,i){t.jsb.host.ui.widgetOpen(e,r,n,i)}function Dc(e){t.jsb.host.ui.widgetClose(e)}function Fc(e,r,n,i,a,c){const l=t.jsb.group(a,c);t.jsb.host.ui.registerFont(e?_(e):null,r?_(r):null,n,i,t.jsb.callback(a,l),t.jsb.callback(c,l))}function Ic(e,r){t.jsb.host.ui.showToast(e?_(e):null,r)}function Vc(e){return t.jsb.host.ui.getButtonPressed(e)?1:0}function Wc(e){const r=t.jsb.host.ui.getTextValue(e);return r==null?0:F(String(r))}function Rc(e,r){const n=t.jsb.host.ui.getBoundingRect(e);if(!n)return 0;for(let i=0;i<4;i++)C[(r>>2)+i]=n[i]||0;return 1}function Gc(e,r,n,i){t.jsb.host.ui.touchHandler(e,!!r,n,i)}function Uc(e,r){t.jsb.host.ui.longPressHandler(e,r)}function Nc(e,r,n){t.jsb.host.ui.vlistScroll(e,r,!!n)}function Mc(e,r,n){t.jsb.host.ui.pagerCommand(e,r?_(r):null,!!n)}function Oc(e,r,n){t.jsb.host.ui.pagerShowPage(e,r,!!n)}function $c(e,r){t.jsb.host.ui.pagerDropPage(e,r)}function Hc(e,r){t.jsb.host.ui.pagerPageMounted(e,!!r)}function Xc(e,r,n,i,a,c,l,u,s,v){return t.jsb.host.ui.tweenClaim(e,r?_(r):null,n,C.subarray(i>>2,(i>>2)+a),c,l,u,!!s,v)?1:0}function zc(e,r,n){t.jsb.host.ui.tweenRelease(e,r?_(r):null,n)}function Qc(e,r,n,i,a,c,l,u){t.jsb.host.canvas.paint(e,r,n,i,C.subarray(a>>2,(a>>2)+c),t.jsb.strings(l,u))}function Jc(e,r,n,i,a,c){t.jsb.host.canvas.measureText(e?_(e):null,r?_(r):null,n,i,!!a,C.subarray(c>>2,(c>>2)+16))}function Kc(e,r,n){return t.jsb.host.canvas.decodeImage(e,r,g.subarray(n>>2,(n>>2)+16))?1:0}function Zc(e,r){const n=t.jsb.host.canvas.readPixels(e,g.subarray(r>>2,(r>>2)+16));return t.jsb.bytesOut(n,0)}function qc(e){t.jsb.host.canvas.releaseSurface(e)}function Yc(){const e=t.jsb.host.app.state();return e==null?0:F(String(e))}function xc(){return t.jsb.host.app.isOnline()?1:0}function wc(e){t.jsb.host.app.openUrl(e?_(e):null)}function Ec(e){t.jsb.host.app.setOrientation(e?_(e):null)}function eo(e,r){t.jsb.host.app.worldChange(e?_(e):null,!!r)}function ro(){t.jsb.host.app.exit()}function to(e){t.jsb.host.device.setPreciseTouch(!!e)}function no(e){t.jsb.host.device.vibrate(e?_(e):null)}function io(){return t.jsb.host.device.motionAvailable()?1:0}function ao(e){return t.jsb.host.device.motionStart(e)?1:0}function co(){t.jsb.host.device.motionStop()}function oo(e){const r=t.jsb.host.device.motionSample();if(!r)return 0;for(let n=0;n<8;n++)C[(e>>2)+n]=r[n]||0;return 1}function fo(e){t.jsb.host.device.clipboardWrite(e?_(e):null)}function lo(e,r){const n=t.jsb.group(e,r);t.jsb.host.device.clipboardRead(t.jsb.callback(e,n),t.jsb.callback(r,n))}function uo(e,r){t.jsb.host.device.share(e,r?_(r):null)}function _o(e,r,n,i){const a=t.jsb.group(e,r);t.jsb.host.device.openFilePicker(t.jsb.callback(e,a),t.jsb.callback(r,a),!!n,i?_(i):null)}function so(e,r){const n=t.jsb.group(e,r);t.jsb.host.device.requestCamera(t.jsb.callback(e,n),t.jsb.callback(r,n))}function vo(e){return t.jsb.host.fetch.local(e?_(e):null)||0}function go(e){t.jsb.host.fetch.dispose(e)}function bo(e,r,n,i,a,c,l,u,s,v){const d=t.jsb.group(u,s,v);t.jsb.host.fetch.request(e?_(e):null,r?_(r):null,t.jsb.strings(n,i),a?_(a):null,Array.from({length:l},(k,P)=>({key:B[c+P*16+0>>2]?_(B[c+P*16+0>>2]):null,value:B[c+P*16+4>>2]?_(B[c+P*16+4>>2]):null,bufferId:g[c+P*16+8>>2],filename:B[c+P*16+12>>2]?_(B[c+P*16+12>>2]):null})),t.jsb.callback(u,d),t.jsb.callback(s,d),t.jsb.callback(v,d))}function ho(e,r,n){const i=t.jsb.host.fetch.buffer(e,!!r);return t.jsb.bytesOut(i,n)}function jo(e,r,n,i,a){const c=t.jsb.host.fetch.bufferSlice(e,r,n,!!i);return t.jsb.bytesOut(c,a)}function yo(e,r){const n=t.jsb.host.fetch.systemBuffer(e);return t.jsb.bytesOut(n,r)}function So(e,r){return t.jsb.host.fetch.putBuffer(A.subarray(e,e+r))||0}function Bo(e,r,n){const i=t.jsb.group(r,n);t.jsb.host.files.readBytes(e?_(e):null,t.jsb.callback(r,i),t.jsb.callback(n,i))}function ko(e,r,n){const i=t.jsb.group(r,n);t.jsb.host.files.readText(e?_(e):null,t.jsb.callback(r,i),t.jsb.callback(n,i))}function Po(e,r,n,i){const a=t.jsb.group(n,i);t.jsb.host.files.remove(e?_(e):null,!!r,t.jsb.callback(n,a),t.jsb.callback(i,a))}function Co(e,r,n){const i=t.jsb.group(r,n);t.jsb.host.files.mkdir(e?_(e):null,t.jsb.callback(r,i),t.jsb.callback(n,i))}function Ao(e,r,n,i){const a=t.jsb.group(n,i);t.jsb.host.files.list(e?_(e):null,!!r,t.jsb.callback(n,a),t.jsb.callback(i,a))}function mo(e,r,n){const i=t.jsb.group(r,n);t.jsb.host.files.stat(e?_(e):null,t.jsb.callback(r,i),t.jsb.callback(n,i))}function To(e,r,n,i,a,c){const l=t.jsb.group(a,c);t.jsb.host.files.write(e?_(e):null,A.subarray(r,r+n),!!i,t.jsb.callback(a,l),t.jsb.callback(c,l))}function Lo(e){const r=t.jsb.host.storage.load(e?_(e):null);return r==null?0:F(String(r))}function po(e,r){t.jsb.host.storage.save(e?_(e):null,r?_(r):null)}function Do(e,r){t.jsb.host.socket.send(e,r?_(r):null)}function Fo(e,r){return t.jsb.host.socket.open(e?_(e):null,t.jsb.callback(r,null))||0}function Io(e){t.jsb.host.socket.close(e)}function Vo(e){return t.jsb.host.service.supported(e?_(e):null)?1:0}function Wo(e,r,n){return t.jsb.host.service.open(e?_(e):null,r?_(r):null,t.jsb.callback(n,null))||0}function Ro(e){t.jsb.host.service.close(e)}function Go(e){return t.jsb.host.service.version(e?_(e):null)||0}function Uo(e,r,n,i,a){const c=t.jsb.group(i,a);t.jsb.host.service.call(e,r?_(r):null,t.jsb.valueAt(n),t.jsb.callback(i,c),t.jsb.callback(a,c))}function No(e,r){return t.jsb.host.input.key(e?_(e):null,r)?1:0}function Mo(e){return t.jsb.host.input.read(e)||0}function Oo(e){return t.jsb.host.input.setPointerLock(!!e)?1:0}function $o(e,r,n,i){return t.jsb.host.input.rumble(e,r,n,i)?1:0}function Ho(){return t.jsb.host.input.keyboardHeight()||0}function Xo(e,r){t.jsb.host.media.setVolume(e,r)}function zo(e){return t.jsb.host.media.time(e)||0}function Qo(e,r){t.jsb.host.media.setTime(e,r)}function Jo(e){return t.jsb.host.media.duration(e)||0}function Ko(e,r){return t.jsb.host.media.createAudio(e?_(e):null,t.jsb.callback(r,null))||0}function Zo(e,r){return t.jsb.host.media.createVideo(e?_(e):null,t.jsb.callback(r,null))||0}function qo(e,r){t.jsb.host.media.setLoop(e,!!r)}function Yo(e,r){t.jsb.host.media.setPlaying(e,!!r)}function xo(e){t.jsb.host.media.remove(e)}function wo(e,r){const n=_(r);switch(e){case 0:console.error(n);break;case 1:console.error(n);break;case 2:console.warn(n);break;default:console.info(n);break}}function Eo(e){console.error(_(e))}function ef(e){const r=t.jsb.host.ui;r.refreshDone&&r.refreshDone(e)}var ye,h,Se,Be,ke,Pe,O,R;function rf(e){t._free=e.ve,t._setNodeClass=e.we,t._setThemeValue=e.xe,t._applyTheme=e.ye,t._getScreenId=e.ze,t._getParentNode=e.Ae,t._c2dGetLocalTransform=e.Be,t._c2dSetPosition=e.Ce,t._c2dSetRotation=e.De,t._c2dSetScale=e.Ee,t._c2dSetSpriteOpacity=e.Fe,t._c2dSetSpriteColor=e.Ge,t._c2dGetSpriteOpacity=e.He,t._c2dGetSpriteColor=e.Ie,ye=t._malloc=e.Je,t._jsbInvoke=e.Ke,t._jsbInvokeGetter=e.Le,t._jsbInvokeData=e.Me,t._jsbFunctionGone=e.Ne,t._jsbFinalize=e.Oe,t._jsbHostCall=e.Pe,t._jsbRejection=e.Qe,t._calculate=e.Re,t._widgetDetach=e.Se,t._recalculate=e.Te,t._calculateRoot=e.Ue,t._calculateWidget=e.Ve,t._collectBegin=e.We,t._collectRoot=e.Xe,t._collectCount=e.Ye,t._jsbViewEvent=e.Ze,t._getNodeOwner=e._e,t._createNodeRoot=e.$e,t._setNodeMeasure=e.af,t._setNodeOwner=e.bf,t._forEachNode=e.cf,t._freeNode=e.df,t._vlistExists=e.ef,t._adoptNode=e.ff,t._detachNode=e.gf,t._cuiChildCount=e.hf,t._cuiChildAt=e.jf,t._setStringExt=e.kf,t._resetPropExt=e.lf,t._nodeHasMeasure=e.mf,t._nodeHasFixedSize=e.nf,t._markNodeDirty=e.of,t._setNodeInteractive=e.pf,t._setFloatExt=e.qf,t._getLayer=e.rf,t._setNodeHovered=e.sf,t._cuiPaintJson=e.tf,t._setVListHandlers=e.uf,t._vlistInit=e.vf,t._vlistFree=e.wf,t._vlistSetKeys=e.xf,t._vlistInsertKeys=e.yf,t._vlistRemoveKeys=e.zf,t._vlistInvalidate=e.Af,t._vlistCreateItemRoot=e.Bf,t._vlistItemMounted=e.Cf,t._vlistItemUnmounted=e.Df,t._vlistToPhysical=e.Ef,t._getContentHeight=e.Ff,t._vlistOffsetOf=e.Gf,t._c2dInit=e.Hf,t._c2dOpenScene=e.If,t._c2dSetUpdateCallbacks=e.Jf,t._c2dSetAnimEventCallback=e.Kf,t._c2dSetPhysicsEventCallback=e.Lf,t._c2dCloseScene=e.Mf,t._c2dEntityIsOwned=e.Nf,t._c2dDestroyEntity=e.Of,t._c2dResetStateCache=e.Pf,t._c2dRender=e.Qf,t._c2dTick=e.Rf,t._c2dGetChildCount=e.Sf,t._c2dGetChild=e.Tf,t._c2dCreateTexture=e.Uf,t._c2dGetTextureWidth=e.Vf,t._c2dGetTextureHeight=e.Wf,t._c2dCreateTextureFromRGBA=e.Xf,t._c2dUpdateTextureFromRGBA=e.Yf,t._creator2dVersion=e.Zf,t._c2dSetTimeScale=e._f,t._c2dSetClearColor=e.$f,t._c2dCreateScene=e.ag,t._c2dDestroyScene=e.bg,t._c2dSceneSetClearColor=e.cg,t._c2dAddEntityToScene=e.dg,t._c2dRemoveEntityFromScene=e.eg,t._c2dSetLayerYSort=e.fg,t._c2dCameraSetPosition=e.gg,t._c2dCameraSetZoom=e.hg,t._c2dCameraSetRotation=e.ig,t._c2dCameraScreenToWorld=e.jg,t._c2dCameraWorldToScreen=e.kg,t._c2dCreateEntity=e.lg,t._c2dSetLayer=e.mg,t._c2dSetZ=e.ng,t._c2dSetVisible=e.og,t._c2dGetPosition=e.pg,t._c2dSetParent=e.qg,t._c2dGetParent=e.rg,t._c2dGetWorldPosition=e.sg,t._c2dGetWorldMatrix=e.tg,t._c2dWorldToLocal=e.ug,t._c2dLocalToWorld=e.vg,t._c2dSetSprite=e.wg,t._c2dSetSpriteFrame=e.xg,t._c2dSetSpriteFramePx=e.yg,t._c2dSetSpriteSize=e.zg,t._c2dSetSpriteAnchor=e.Ag,t._c2dSetSpriteFlip=e.Bg,t._c2dDestroyTexture=e.Cg,t._c2dSetDefaultFilter=e.Dg,t._c2dDefineAnimation=e.Eg,t._c2dPlayAnimation=e.Fg,t._c2dStopAnimation=e.Gg,t._c2dSetAnimationSpeed=e.Hg,t._c2dGetAnimationFrame=e.Ig,t._c2dCreateTilemap=e.Jg,t._c2dSetTile=e.Kg,t._c2dBulkSetPositions=e.Lg,t._c2dPhysicsHasSupport=e.Mg,t._c2dPhysicsConfigure=e.Ng,t._c2dSetInterpolation=e.Og,t._c2dPhysicsCreateBody=e.Pg,t._c2dPhysicsRemoveBody=e.Qg,t._c2dPhysicsAddBox=e.Rg,t._c2dPhysicsAddCircle=e.Sg,t._c2dPhysicsAddCapsule=e.Tg,t._c2dPhysicsAddSegment=e.Ug,t._c2dPhysicsAddPolygon=e.Vg,t._c2dPhysicsAddChain=e.Wg,t._c2dPhysicsClearShapes=e.Xg,t._c2dPhysicsSetContactEvents=e.Yg,t._c2dPhysicsSetLinearVelocity=e.Zg,t._c2dPhysicsGetLinearVelocity=e._g,t._c2dPhysicsSetAngularVelocity=e.$g,t._c2dPhysicsGetAngularVelocity=e.ah,t._c2dPhysicsApplyLinearImpulse=e.bh,t._c2dPhysicsApplyImpulseAt=e.ch,t._c2dPhysicsApplyForce=e.dh,t._c2dPhysicsSetFromEntity=e.eh,t._c2dPhysicsSetFixedRotation=e.fh,t._c2dPhysicsSetGravityScale=e.gh,t._c2dPhysicsSetLinearDamping=e.hh,t._c2dPhysicsSetAngularDamping=e.ih,t._c2dPhysicsSetBullet=e.jh,t._c2dPhysicsSetEnabled=e.kh,t._c2dPhysicsSetAwake=e.lh,t._c2dPhysicsSetMass=e.mh,t._c2dPhysicsGetMass=e.nh,t._c2dPhysicsSetMotionType=e.oh,t._c2dPhysicsSetFriction=e.ph,t._c2dPhysicsSetBounce=e.qh,t._c2dPhysicsSetFilter=e.rh,t._c2dPhysicsRaycastClosest=e.sh,t._c2dPhysicsRaycastAll=e.th,t._c2dPhysicsOverlap=e.uh,t._c2dPhysicsOverlapPoint=e.vh,t._c2dCharacterCreate=e.wh,t._c2dCharacterDestroy=e.xh,t._c2dCharacterMove=e.yh,t._c2dCharacterMoveFree=e.zh,t._c2dCharacterSetVerticalVelocity=e.Ah,t._c2dCharacterSetVelocity=e.Bh,t._c2dCharacterSetGravityScale=e.Ch,t._c2dCharacterSetMaxSlope=e.Dh,t._c2dCharacterSetFilter=e.Eh,t._c2dCharacterSetDropThrough=e.Fh,t._c2dCharacterSetCapsule=e.Gh,t._c2dCharacterSetFromEntity=e.Hh,t._c2dCharacterGetState=e.Ih,t._c2dCharacterGetCollisions=e.Jh,t._c2dPhysicsSetOneWay=e.Kh,t._c2dPickSprite=e.Lh,t._cnavUnloadAll=e.Mh,t._cnavLastError=e.Nh,t._cnavLoad=e.Oh,t._cnavUnload=e.Ph,t._cnavHeader=e.Qh,t._cnavPolyCount=e.Rh,t._cnavSetAreaCost=e.Sh,t._cnavPath=e.Th,t._cnavNearestPoint=e.Uh,t._cnavRay=e.Vh,t._cnavRandom=e.Wh,t._cnavTriangles=e.Xh,t._cnavCrowdNew=e.Yh,t._cnavCrowdFree=e.Zh,t._cnavAgentAdd=e._h,t._cnavAgentRemove=e.$h,t._cnavAgentSetParams=e.ai,t._cnavAgentSetTarget=e.bi,t._cnavAgentSetVelocity=e.ci,t._cnavAgentResetTarget=e.di,t._cnavAgentWarp=e.ei,t._cnavCrowdStep=e.fi,t._cnavCrowdReadAll=e.gi,t._c2dInitMetal=e.hi,t._c2dInitVulkan=e.ii,t._c2dInitHeadless=e.ji,t._c2dTickHeadless=e.ki,t._c2dReadDrawList=e.li,t._c2dShutdown=e.mi,t._c2dSetViewport=e.ni,t._c2dSetDensity=e.oi,t._c2dSetGLFramebuffer=e.pi,t._c2dDrawSceneGL=e.qi,t._c2dTargetCreate=e.ri,t._c2dTargetCreateMetal=e.si,t._c2dTargetDestroy=e.ti,t._c2dSetPresentTarget=e.ui,t._c2dDrawSceneTarget=e.vi,t._c2dTargetVkImage=e.wi,t._c2dTargetMtlTexture=e.xi,t._c2dRenderMetal=e.yi,t._setMeasureFunc=e.zi,t._createNode=e.Ai,t._cuiStringOf=e.Bi,t._removeNode=e.Ci,t._paintCollect=e.Di,t._paintNodes=e.Ei,t._paintRecords=e.Fi,t._cuiPaintOf=e.Gi,t._cuiGradientOf=e.Hi,t._getColor=e.Ii,t._setFloat=e.Ji,t._setString=e.Ki,t._getThemeValue=e.Li,t._resetProp=e.Mi,t._enableNodeLayer=e.Ni,t._disableNodeLayer=e.Oi,t._resetNodeLayer=e.Pi,t._mergeNodeLayer=e.Qi,t._setNodePressed=e.Ri,t._setNodeFocused=e.Si,t._setConditionValue=e.Ti,t._freeWidget=e.Ui,t._setSafePaddings=e.Vi,t._overrideRootSafeBottom=e.Wi,t._setSafeAreaBars=e.Xi,t._consumeNeedsLayout=e.Yi,t._getCachedRoot=e.Zi,t._collectNodes=e._i,t._collectRects=e.$i,t._getOffset=e.aj,t._getContentWidth=e.bj,t._getLayoutPointer=e.cj,t._getLayoutDOMPointer=e.dj,t._getPaddingPointer=e.ej,t._vlistOnScroll=e.fj,t._vlistUpdateLayout=e.gj,t._vlistItemOffsetOf=e.hj,t._cnavBuildDefaults=e.ij,t._cnavBuildCreate=e.jj,t._cnavBuildDestroy=e.kj,t._cnavBuildAddTriangles=e.lj,t._cnavBuildAddVolume=e.mj,t._cnavBuildAddLink=e.nj,t._cnavBuildRun=e.oj,t._cnavBuildData=e.pj,t._cnavBuildTileCount=e.qj,t._cnavBuildPolyCount=e.rj,t._cnavBuildBounds=e.sj,t._cnavMeshLoad=e.tj,t._cnavMeshDestroy=e.uj,t._cnavMeshHeader=e.vj,t._cnavMeshTileCount=e.wj,t._cnavMeshPolyCount=e.xj,t._cnavMeshSetAreaCost=e.yj,t._cnavFindPath=e.zj,t._cnavNearest=e.Aj,t._cnavRaycast=e.Bj,t._cnavRandomPoint=e.Cj,t._cnavDebugTriangles=e.Dj,t._cnavAgentDefaults=e.Ej,t._cnavCrowdCreate=e.Fj,t._cnavCrowdDestroy=e.Gj,t._cnavCrowdMaxAgents=e.Hj,t._cnavCrowdAdd=e.Ij,t._cnavCrowdRemove=e.Jj,t._cnavCrowdSetParams=e.Kj,t._cnavCrowdSetTarget=e.Lj,t._cnavCrowdSetVelocity=e.Mj,t._cnavCrowdResetTarget=e.Nj,t._cnavCrowdWarp=e.Oj,t._cnavCrowdUpdate=e.Pj,t._cnavCrowdRead=e.Qj,t._creatorWebVersion=e.Rj,t._creatorWebInit=e.Sj,t._creatorWebRun=e.Tj,t._creatorWebTick=e.Uj,t._creatorWebTickCore=e.Vj,t._creatorWebResize=e.Wj,t._creatorWebLayoutFrame=e.Xj,t._creatorWebDebugDump=e.Yj,t._creatorWebBackPressed=e.Zj,t._creatorWebSetStepEveryTick=e._j,t._creatorWebSceneOpen=e.$j,t._creatorWebFrameRendered=e.ak,t._creatorWebSetViewport=e.bk,t._creatorWebSceneRenderScale=e.ck,t._creatorWebAppEvent=e.dk,t._creatorWebInputEvent=e.ek,t._creatorWebKeyboardEvent=e.fk,t._creatorWebSetLaunchUrl=e.gk,t._creatorWebSetBootProjectUuid=e.hk,t._creatorWebQuitToLauncher=e.ik,t._creatorWebViewEvent=e.jk,t._creatorWebNodeEvent=e.kk,t._creatorWebNodeEventNum=e.lk,t._creatorWebNodeEventStr=e.mk,t._creatorWebNodeLayout=e.nk,t._creatorWebNodeScroll=e.ok,t._creatorWebNodeTouchStart=e.pk,t._creatorWebNodeLongPress=e.qk,t._creatorWebNodeClick=e.rk,t._creatorWebTouchMove=e.sk,t._creatorWebTouchEnd=e.tk,t._creatorWebTouchCancel=e.uk,t._creatorWebRefresh=e.vk,t._creatorWebHover=e.wk,t._creatorWebSceneTouchStart=e.xk,t._creatorWebSceneTouchClick=e.yk,t._creatorWebSetShrunkRoot=e.zk,t._creatorWebSetWidgetBox=e.Ak,t._creatorWebRootLayoutHeight=e.Bk,t._creatorWebPagerLayoutPages=e.Ck,t._creatorWebPagerDidSelect=e.Dk,t._creatorWebPagerTabCount=e.Ek,t._creatorWebPagerSelectedIndex=e.Fk,t._creatorWebPagerStackLen=e.Gk,t._creatorWebPagerPageNode=e.Hk,t._creatorWeb2dEnsureInited=e.Ik,t._creatorWeb2dSceneOpen=e.Jk,t._creatorWeb2dRenderFrame=e.Kk,t._creatorWeb2dEmitPointer=e.Lk,h=e.Mk,Se=e.Nk,Be=e.Ok,ke=e.Pk,Pe=e.Qk,O=e.se,R=e.ue}var tf={S:Oe,hc:$e,a:He,n:Xe,ic:ze,F:Qe,c:Je,$b:Ke,Zb:Ye,fc:Eo,zd:Ee,Vb:_e,Tb:nr,K:sr,Wb:gr,Xb:br,Yb:hr,Ub:jr,aa:Br,U:Pr,Y:Ar,u:Tr,fa:pr,Xc:Fr,C:Vr,gd:Rr,T:Ur,B:Mr,ya:$r,ka:Xr,la:Qr,ma:Kr,Dc:qr,sd:xr,ua:Er,oc:rt,bd:nt,oa:at,ad:ot,P:lt,rc:_t,xc:vt,vc:gt,md:ht,tc:yt,ja:Bt,yc:Pt,Z:At,I:Tt,va:pt,wa:Ft,H:Vt,Q:Rt,ud:Ut,W:Mt,X:$t,v:Xt,ha:Qt,Fc:Kt,Gc:qt,pa:xt,Hc:Et,Ic:rn,y:nn,Tc:cn,E:fn,D:un,pc:sn,ia:dn,td:bn,xa:jn,hd:Sn,nd:kn,rd:Cn,xd:mn,id:Ln,p:In,kd:Wn,ra:Gn,qc:Nn,ea:On,yd:Hn,qa:Jn,Cc:Zn,sa:Yn,wd:wn,na:ei,Ec:ti,fd:ii,ta:ci,x:fi,cd:ui,sc:si,Bc:di,_c:bi,O:ji,Ac:Si,Zc:ki,pd:Ci,od:mi,wc:Fi,uc:Vi,Sc:Gi,jd:Ni,Nc:Oi,Rc:Hi,Mc:zi,Qc:Ji,Lc:Zi,Oc:Yi,Kc:wi,Jc:ea,J:ta,Uc:ia,Vc:ca,Wc:fa,dd:ua,q:vf,m:yf,j:jf,i:hf,ba:Cf,d:cf,M:Sf,g:nf,G:Tf,w:kf,dc:Df,ca:uf,ec:mf,f:af,k:ff,t:bf,cc:Ff,o:sf,e:df,A:Lf,lc:gf,l:Pf,jc:Bf,mc:_f,h:of,bc:If,N:lf,z:pf,L:Af,Bd:Qa,vd:Ja,zc:Ma,kc:Za,R:Sa,Pb:Oa,Qb:Ha,Rb:qa,qd:Pa,ld:Ca,Yc:ka,ed:Aa,_b:ya,$c:La,nc:Va,gc:Ka,re:Da,Sb:$a,Ta:Ga,_:pa,cb:Fa,Pc:Xa,r:Ba,ge:ma,Xd:Ta,nb:Ia,da:Na,V:Ua,Jb:Wa,yb:Ra,Md:za,Ia:ro,Ma:xc,La:wc,Ka:Ec,Na:Yc,Ja:eo,Qa:Kc,Ra:Jc,Sa:Qc,Pa:Zc,Oa:qc,Aa:lo,Ba:fo,Fa:io,Ca:oo,Ea:ao,Da:co,qe:_o,pe:so,Ha:to,za:uo,Ga:no,le:ho,ke:jo,ne:go,oe:vo,ie:So,me:bo,je:yo,Ob:Ea,$:wa,ce:Ao,de:Co,he:Bo,fe:ko,ee:Po,be:mo,ae:To,Kb:nc,Cb:uc,Ab:sc,Lb:tc,Hb:ac,Bb:_c,Ib:ic,Mb:rc,Nb:ec,Gb:cc,Eb:fc,Fb:oc,Db:lc,b:xa,Rd:No,Nd:Ho,Qd:Mo,Od:$o,Pd:Oo,Hd:Ko,Gd:Zo,Id:Jo,Dd:xo,Fd:qo,Ed:Yo,Jd:Qo,Ld:Xo,Kd:zo,ac:ef,xb:dc,wb:gc,zb:vc,Ad:Uo,Td:Ro,Ud:Wo,Vd:Vo,Sd:Go,Wd:Io,Yd:Fo,Zd:Do,$d:Lo,_d:po,s:Ya,lb:Ac,mb:Cc,bb:Rc,eb:Vc,db:Wc,rb:Sc,kb:mc,$a:Uc,vb:bc,ob:Pc,Za:Mc,Xa:$c,Wa:Hc,Ya:Oc,gb:Fc,pb:kc,qb:Bc,sb:yc,tb:jc,ub:hc,fb:Ic,ab:Gc,Va:Xc,Ua:zc,Cd:Lc,jb:Tc,_a:Nc,hb:Dc,ib:pc,ga:wo};function nf(e,r,n){var i=S();try{return b(e)(r,n)}catch(a){if(y(i),!(a instanceof j))throw a;h(1,0)}}function af(e){var r=S();try{b(e)()}catch(n){if(y(r),!(n instanceof j))throw n;h(1,0)}}function cf(e,r){var n=S();try{return b(e)(r)}catch(i){if(y(n),!(i instanceof j))throw i;h(1,0)}}function of(e,r,n,i,a){var c=S();try{b(e)(r,n,i,a)}catch(l){if(y(c),!(l instanceof j))throw l;h(1,0)}}function ff(e,r){var n=S();try{b(e)(r)}catch(i){if(y(n),!(i instanceof j))throw i;h(1,0)}}function lf(e,r,n,i,a,c){var l=S();try{b(e)(r,n,i,a,c)}catch(u){if(y(l),!(u instanceof j))throw u;h(1,0)}}function uf(e,r,n,i,a,c,l,u,s,v,d,k){var P=S();try{return b(e)(r,n,i,a,c,l,u,s,v,d,k)}catch($){if(y(P),!($ instanceof j))throw $;h(1,0)}}function _f(e,r,n,i,a,c,l,u,s,v,d){var k=S();try{b(e)(r,n,i,a,c,l,u,s,v,d)}catch(P){if(y(k),!(P instanceof j))throw P;h(1,0)}}function sf(e,r,n,i){var a=S();try{b(e)(r,n,i)}catch(c){if(y(a),!(c instanceof j))throw c;h(1,0)}}function vf(e,r){var n=S();try{return b(e)(r)}catch(i){if(y(n),!(i instanceof j))throw i;h(1,0)}}function df(e,r,n){var i=S();try{b(e)(r,n)}catch(a){if(y(i),!(a instanceof j))throw a;h(1,0)}}function gf(e,r,n,i,a){var c=S();try{b(e)(r,n,i,a)}catch(l){if(y(c),!(l instanceof j))throw l;h(1,0)}}function bf(e,r,n){var i=S();try{b(e)(r,n)}catch(a){if(y(i),!(a instanceof j))throw a;h(1,0)}}function hf(e,r,n,i,a,c){var l=S();try{return b(e)(r,n,i,a,c)}catch(u){if(y(l),!(u instanceof j))throw u;h(1,0)}}function jf(e,r,n,i,a){var c=S();try{return b(e)(r,n,i,a)}catch(l){if(y(c),!(l instanceof j))throw l;h(1,0)}}function yf(e,r,n,i){var a=S();try{return b(e)(r,n,i)}catch(c){if(y(a),!(c instanceof j))throw c;h(1,0)}}function Sf(e,r,n,i,a,c,l,u,s,v,d,k,P,$){var Wf=S();try{return b(e)(r,n,i,a,c,l,u,s,v,d,k,P,$)}catch(Ce){if(y(Wf),!(Ce instanceof j))throw Ce;h(1,0)}}function Bf(e,r,n,i,a,c,l,u,s,v){var d=S();try{b(e)(r,n,i,a,c,l,u,s,v)}catch(k){if(y(d),!(k instanceof j))throw k;h(1,0)}}function kf(e,r,n,i,a){var c=S();try{return b(e)(r,n,i,a)}catch(l){if(y(c),!(l instanceof j))throw l;h(1,0)}}function Pf(e,r,n,i){var a=S();try{b(e)(r,n,i)}catch(c){if(y(a),!(c instanceof j))throw c;h(1,0)}}function Cf(e,r,n,i,a,c,l){var u=S();try{return b(e)(r,n,i,a,c,l)}catch(s){if(y(u),!(s instanceof j))throw s;h(1,0)}}function Af(e,r,n,i,a,c,l,u,s){var v=S();try{b(e)(r,n,i,a,c,l,u,s)}catch(d){if(y(v),!(d instanceof j))throw d;h(1,0)}}function mf(e,r,n,i,a,c,l,u,s,v){var d=S();try{return b(e)(r,n,i,a,c,l,u,s,v)}catch(k){if(y(d),!(k instanceof j))throw k;h(1,0)}}function Tf(e,r,n,i){var a=S();try{return b(e)(r,n,i)}catch(c){if(y(a),!(c instanceof j))throw c;h(1,0)}}function Lf(e,r,n,i){var a=S();try{b(e)(r,n,i)}catch(c){if(y(a),!(c instanceof j))throw c;h(1,0)}}function pf(e,r,n,i,a,c,l){var u=S();try{b(e)(r,n,i,a,c,l)}catch(s){if(y(u),!(s instanceof j))throw s;h(1,0)}}function Df(e,r,n,i,a,c){var l=S();try{return b(e)(r,n,i,a,c)}catch(u){if(y(l),!(u instanceof j))throw u;h(1,0)}}function Ff(e,r,n,i,a){var c=S();try{b(e)(r,n,i,a)}catch(l){if(y(c),!(l instanceof j))throw l;h(1,0)}}function If(e,r,n,i,a,c){var l=S();try{b(e)(r,n,i,a,c)}catch(u){if(y(l),!(u instanceof j))throw u;h(1,0)}}async function Vf(){var r;Le();var e=t.setStatus;e&&(e("Running..."),await new Promise(n=>setTimeout(n,1)),setTimeout(e,1,"")),!re&&(pe(),(r=t.onRuntimeInitialized)==null||r.call(t),De())}var G;return G=await Ue(),await Vf(),t}export{Rf as default};
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
async function nf(Xe={}){var r=Xe,ve="./this.program",ze=import.meta.url,re="";function Ze(e){return r.locateFile?r.locateFile(e,re):re+e}var se;{try{re=new URL(".",ze).href}catch{}se=async e=>{var t=await fetch(e,{credentials:"same-origin"});if(t.ok)return t.arrayBuffer();throw new Error(t.status+" : "+t.url)}}var te=console.log.bind(console),T=console.error.bind(console),O,ge=!1;class j{}function he(){var e=ee.buffer;m=new Int8Array(e),q=new Int16Array(e),r.HEAPU8=k=new Uint8Array(e),r.HEAPU16=U=new Uint16Array(e),r.HEAP32=g=new Int32Array(e),r.HEAPU32=h=new Uint32Array(e),r.HEAPF32=A=new Float32Array(e),r.HEAPF64=ie=new Float64Array(e),Y=new BigInt64Array(e),be=new BigUint64Array(e)}function Ke(){if(r.preRun)for(typeof r.preRun=="function"&&(r.preRun=[r.preRun]);r.preRun.length;)ar(r.preRun.shift());ye(je)}function Ye(){Z.Af()}function Je(){if(r.postRun)for(typeof r.postRun=="function"&&(r.postRun=[r.postRun]);r.postRun.length;)ir(r.postRun.shift());ye(Se)}function W(e){var n;(n=r.onAbort)==null||n.call(r,e),e=`Aborted(${e})`,T(e),ge=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw t}var ne;function xe(){return r.locateFile?Ze("creator-full.wasm"):new URL(""+new URL("creator-full-D2dSDdDj.wasm",import.meta.url).href,import.meta.url).href}function we(e){if(e==ne&&O)return new Uint8Array(O);throw"both async and sync fetching of the wasm failed"}async function Ee(e){if(!O)try{var t=await se(e);return new Uint8Array(t)}catch{}return we(e)}async function er(e,t){try{var n=await Ee(e),i=await WebAssembly.instantiate(n,t);return i}catch(a){T(`failed to asynchronously prepare wasm: ${a}`),W(a)}}async function rr(e,t,n){if(!e)try{var i=fetch(t,{credentials:"same-origin"}),a=await WebAssembly.instantiateStreaming(i,n);return a}catch(c){T(`wasm streaming compile failed: ${c}`),T("falling back to ArrayBuffer instantiation")}return er(t,n)}function tr(){var e={a:ku};return e}async function nr(){function e(c,o){return Z=c.exports,Cu(Z),he(),Z}function t(c){return e(c.instance)}var n=tr();if(r.instantiateWasm)return new Promise((c,o)=>{r.instantiateWasm(n,(u,f)=>{c(e(u))})});ne??(ne=xe());var i=await rr(O,ne,n),a=t(i);return a}var q,g,Y,m,A,ie,U,h,be,k,ye=e=>{for(;e.length>0;)e.shift()(r)},Se=[],ir=e=>Se.push(e),je=[],ar=e=>je.push(e),B=e=>qe(e),C=()=>He(),J=[],cr=e=>{var t=new Ce(e);return t.get_caught()||t.set_caught(!0),t.set_rethrown(!1),J.push(t),Qe(e)},_r=()=>{y(0,0);var e=J.pop();$e(e.excPtr)},Be=e=>(setTempRet0(0),0),lr=()=>Be(),or=e=>Be(),ur=()=>{J.length||W("no exception to throw");var e=J.at(-1);e.excPtr,e.set_rethrown(!0),e.set_caught(!1),W()};class Ce{constructor(t){this.excPtr=t,this.ptr=t-24}set_type(t){h[this.ptr+4>>2]=t}get_type(){return h[this.ptr+4>>2]}set_destructor(t){h[this.ptr+8>>2]=t}get_destructor(){return h[this.ptr+8>>2]}set_caught(t){t=t?1:0,m[this.ptr+12]=t}get_caught(){return m[this.ptr+12]!=0}set_rethrown(t){t=t?1:0,m[this.ptr+13]=t}get_rethrown(){return m[this.ptr+13]!=0}init(t,n){this.set_adjusted_ptr(0),this.set_type(t),this.set_destructor(n)}set_adjusted_ptr(t){h[this.ptr+16>>2]=t}get_adjusted_ptr(){return h[this.ptr+16>>2]}}var fr=(e,t,n)=>{var i=new Ce(e);i.init(t,n),W()},dr=e=>{W()},ke=globalThis.TextDecoder&&new TextDecoder,Pe=(e,t,n,i)=>{var a=t+n;if(i)return a;for(;e[t]&&!(t>=a);)++t;return t},Ae=(e,t=0,n,i)=>{var a=Pe(e,t,n,i);if(a-t>16&&e.buffer&&ke)return ke.decode(e.subarray(t,a));for(var c="";t<a;){var o=e[t++];if(!(o&128)){c+=String.fromCharCode(o);continue}var u=e[t++]&63;if((o&224)==192){c+=String.fromCharCode((o&31)<<6|u);continue}var f=e[t++]&63;if((o&240)==224?o=(o&15)<<12|u<<6|f:o=(o&7)<<18|u<<12|f<<6|e[t++]&63,o<65536)c+=String.fromCharCode(o);else{var v=o-65536;c+=String.fromCharCode(55296|v>>10,56320|v&1023)}}return c},d=(e,t,n)=>e?Ae(k,e,t,n):"";function vr(e,t,n){return 0}function sr(e,t,n){return 0}function gr(e,t,n,i){}var hr=(e,t)=>{},br=()=>W(""),G=e=>{for(var t="";;){var n=k[e++];if(!n)return t;t+=String.fromCharCode(n)}},ae={},Te={},yr=class extends Error{constructor(t){super(t),this.name="BindingError"}},H=e=>{throw new yr(e)};function Sr(e,t,n={}){var i=t.name;if(e||H(`type "${i}" must have a positive integer typeid pointer`),Te.hasOwnProperty(e)){if(n.ignoreDuplicateRegistrations)return;H(`Cannot register type '${i}' twice`)}if(Te[e]=t,ae.hasOwnProperty(e)){var a=ae[e];delete ae[e],a.forEach(c=>c())}}function I(e,t,n={}){return Sr(e,t,n)}var De=(e,t,n)=>{switch(t){case 1:return n?i=>m[i]:i=>k[i];case 2:return n?i=>q[i>>1]:i=>U[i>>1];case 4:return n?i=>g[i>>2]:i=>h[i>>2];case 8:return n?i=>Y[i>>3]:i=>be[i>>3];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},jr=(e,t,n,i,a)=>{t=G(t);const c=i===0n;let o=u=>u;if(c){const u=n*8;o=f=>BigInt.asUintN(u,f),a=o(a)}I(e,{name:t,fromWireType:o,toWireType:(u,f)=>(typeof f=="number"&&(f=BigInt(f)),f),readValueFromPointer:De(t,n,!c),destructorFunction:null})},Br=(e,t,n,i)=>{t=G(t),I(e,{name:t,fromWireType:function(a){return!!a},toWireType:function(a,c){return c?n:i},readValueFromPointer:function(a){return this.fromWireType(k[a])},destructorFunction:null})},me=[],p=[0,1,,1,null,1,!0,1,!1,1],Cr=e=>{e>9&&--p[e+1]===0&&(p[e]=void 0,me.push(e))},Fe={toValue:e=>(e||H(`Cannot use deleted val. handle = ${e}`),p[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const t=me.pop()||p.length;return p[t]=e,p[t+1]=1,t}}}};function ce(e){return this.fromWireType(h[e>>2])}var kr={name:"emscripten::val",fromWireType:e=>{var t=Fe.toValue(e);return Cr(e),t},toWireType:(e,t)=>Fe.toHandle(t),readValueFromPointer:ce,destructorFunction:null},Pr=e=>I(e,kr),Ar=(e,t)=>{switch(t){case 4:return function(n){return this.fromWireType(A[n>>2])};case 8:return function(n){return this.fromWireType(ie[n>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},Tr=(e,t,n)=>{t=G(t),I(e,{name:t,fromWireType:i=>i,toWireType:(i,a)=>a,readValueFromPointer:Ar(t,n),destructorFunction:null})},Dr=(e,t,n,i,a)=>{t=G(t);const c=i===0;let o=f=>f;if(c){var u=32-8*n;o=f=>f<<u>>>u,a=o(a)}I(e,{name:t,fromWireType:o,toWireType:(f,v)=>v,readValueFromPointer:De(t,n,i!==0),destructorFunction:null})},mr=(e,t,n)=>{var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array],a=i[t];function c(o){var u=h[o>>2],f=h[o+4>>2];return new a(m.buffer,f,u)}n=G(n),I(e,{name:n,fromWireType:c,readValueFromPointer:c},{ignoreDuplicateRegistrations:!0})},Fr=(e,t,n,i)=>{if(!(i>0))return 0;for(var a=n,c=n+i-1,o=0;o<e.length;++o){var u=e.codePointAt(o);if(u<=127){if(n>=c)break;t[n++]=u}else if(u<=2047){if(n+1>=c)break;t[n++]=192|u>>6,t[n++]=128|u&63}else if(u<=65535){if(n+2>=c)break;t[n++]=224|u>>12,t[n++]=128|u>>6&63,t[n++]=128|u&63}else{if(n+3>=c)break;t[n++]=240|u>>18,t[n++]=128|u>>12&63,t[n++]=128|u>>6&63,t[n++]=128|u&63,o++}}return t[n]=0,n-a},F=(e,t,n)=>Fr(e,k,t,n),x=e=>{for(var t=0,n=0;n<e.length;++n){var i=e.charCodeAt(n);i<=127?t++:i<=2047?t+=2:i>=55296&&i<=57343?(t+=4,++n):t+=3}return t},Lr=(e,t)=>{t=G(t),I(e,{name:t,fromWireType(n){var i=h[n>>2],a=n+4,c;return c=d(a,i,!0),R(n),c},toWireType(n,i){i instanceof ArrayBuffer&&(i=new Uint8Array(i));var a,c=typeof i=="string";c||ArrayBuffer.isView(i)&&i.BYTES_PER_ELEMENT==1||H("Cannot pass non-string to std::string"),c?a=x(i):a=i.length;var o=X(4+a+1),u=o+4;return h[o>>2]=a,c?F(i,u,a+1):k.set(i,u),n!==null&&n.push(R,o),o},readValueFromPointer:ce,destructorFunction(n){R(n)}})},Le=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,Ir=(e,t,n)=>{var i=e>>1,a=Pe(U,i,t/2,n);if(a-i>16&&Le)return Le.decode(U.subarray(i,a));for(var c="",o=i;o<a;++o){var u=U[o];c+=String.fromCharCode(u)}return c},Gr=(e,t,n)=>{if(n??(n=2147483647),n<2)return 0;n-=2;for(var i=t,a=n<e.length*2?n/2:e.length,c=0;c<a;++c){var o=e.charCodeAt(c);q[t>>1]=o,t+=2}return q[t>>1]=0,t-i},Rr=e=>e.length*2,Vr=(e,t,n)=>{for(var i="",a=e>>2,c=0;!(c>=t/4);c++){var o=h[a+c];if(!o&&!n)break;i+=String.fromCodePoint(o)}return i},Mr=(e,t,n)=>{if(n??(n=2147483647),n<4)return 0;for(var i=t,a=i+n-4,c=0;c<e.length;++c){var o=e.codePointAt(c);if(o>65535&&c++,g[t>>2]=o,t+=4,t+4>a)break}return g[t>>2]=0,t-i},Wr=e=>{for(var t=0,n=0;n<e.length;++n){var i=e.codePointAt(n);i>65535&&n++,t+=4}return t},Ur=(e,t,n)=>{n=G(n);var i,a,c;t===2?(i=Ir,a=Gr,c=Rr):(i=Vr,a=Mr,c=Wr),I(e,{name:n,fromWireType:o=>{var u=h[o>>2],f=i(o+4,u*t,!0);return R(o),f},toWireType:(o,u)=>{typeof u!="string"&&H(`Cannot pass non-string to C++ string type ${n}`);var f=c(u),v=X(4+f+t);return h[v>>2]=f/t,a(u,v+4,f+t),o!==null&&o.push(R,v),v},readValueFromPointer:ce,destructorFunction(o){R(o)}})},pr=(e,t)=>{t=G(t),I(e,{isVoid:!0,name:t,fromWireType:()=>{},toWireType:(n,i)=>{}})},Nr=(e,t,n,i)=>{var a=new Date().getFullYear(),c=new Date(a,0,1),o=new Date(a,6,1),u=c.getTimezoneOffset(),f=o.getTimezoneOffset(),v=Math.max(u,f);h[e>>2]=v*60,g[t>>2]=+(u!=f);var s=M=>{var de=M>=0?"-":"+",K=Math.abs(M),ef=String(Math.floor(K/60)).padStart(2,"0"),rf=String(K%60).padStart(2,"0");return`UTC${de}${ef}${rf}`},S=s(u),P=s(f);f<u?(F(S,n,17),F(P,i,17)):(F(S,i,17),F(P,n,17))},Ie=()=>performance.now(),Or=()=>Date.now(),qr=e=>e>=0&&e<=3;function Hr(e,t,n){if(!qr(e))return 28;var i;e===0?i=Or():i=Ie();var a=Math.round(i*1e3*1e3);return Y[n>>3]=BigInt(a),0}var _e=[],$r=(e,t)=>{_e.length=0;for(var n;n=k[e++];){var i=n!=105;i&=n!=112,t+=i&&t%8?4:0,_e.push(n==112?h[t>>2]:n==106?Y[t>>3]:n==105?g[t>>2]:ie[t>>3]),t+=i?8:4}return _e},Qr=(e,t,n)=>{var i=$r(t,n);return N_[e](...i)},Xr=(e,t,n)=>Qr(e,t,n),zr=e=>T(d(e)),Ge=()=>2147483648,Zr=()=>Ge(),Kr=e=>te(d(e)),Yr=(e,t)=>Math.ceil(e/t)*t,Jr=e=>{var t=ee.buffer.byteLength,n=(e-t+65535)/65536|0;try{return ee.grow(n),he(),1}catch{}},xr=e=>{var t=k.length;e>>>=0;var n=Ge();if(e>n)return!1;for(var i=1;i<=4;i*=2){var a=t*(1+.2/i);a=Math.min(a,e+100663296);var c=Math.min(n,Yr(Math.max(e,a),65536)),o=Jr(c);if(o)return!0}return!1},l,wr=e=>!!(e.dibvbi=e.getExtension("WEBGL_draw_instanced_base_vertex_base_instance")),Er=e=>!!(e.mdibvbi=e.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")),et=e=>!!(e.extPolygonOffsetClamp=e.getExtension("EXT_polygon_offset_clamp")),rt=e=>!!(e.extClipControl=e.getExtension("EXT_clip_control")),tt=e=>!!(e.webglPolygonMode=e.getExtension("WEBGL_polygon_mode")),nt=e=>!!(e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw")),Re=e=>{var n;var t=["EXT_color_buffer_float","EXT_conservative_depth","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","NV_shader_noperspective_interpolation","WEBGL_clip_cull_distance","EXT_clip_control","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_polygon_offset_clamp","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw","WEBGL_polygon_mode"];return((n=e.getSupportedExtensions())==null?void 0:n.filter(i=>t.includes(i)))??[]},it=e=>{typeof MainLoop<"u"&&MainLoop.preMainLoop.push(e)},w=(e,t,n,i,a=k)=>{{n&&l.bufferSubData(e,t,a,i,n);return}},_={counter:1,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],stringCache:{},stringiCache:{},unpackAlignment:4,unpackRowLength:0,recordError:e=>{_.lastError||(_.lastError=e)},getNewId:e=>{for(var t=_.counter++,n=e.length;n<t;n++)e[n]=null;for(;e[t];)t=_.counter++;return t},genObject:(e,t,n,i)=>{for(var a=0;a<e;a++){var c=l[n](),o=c&&_.getNewId(i);c?(c.name=o,i[o]=c):_.recordError(1282),g[t+a*4>>2]=o}},MAX_TEMP_BUFFER_SIZE:2097152,numTempVertexBuffersPerSize:64,log2ceilLookup:e=>32-Math.clz32(e===0?0:e-1),generateTempBuffers:(e,t)=>{var n=_.log2ceilLookup(_.MAX_TEMP_BUFFER_SIZE);t.tempVertexBufferCounters1=[],t.tempVertexBufferCounters2=[],t.tempVertexBufferCounters1.length=t.tempVertexBufferCounters2.length=n+1,t.tempVertexBuffers1=[],t.tempVertexBuffers2=[],t.tempVertexBuffers1.length=t.tempVertexBuffers2.length=n+1,t.tempIndexBuffers=[],t.tempIndexBuffers.length=n+1;for(var i=0;i<=n;++i){t.tempIndexBuffers[i]=null,t.tempVertexBufferCounters1[i]=t.tempVertexBufferCounters2[i]=0;var a=_.numTempVertexBuffersPerSize;t.tempVertexBuffers1[i]=[],t.tempVertexBuffers2[i]=[];var c=t.tempVertexBuffers1[i],o=t.tempVertexBuffers2[i];c.length=o.length=a;for(var u=0;u<a;++u)c[u]=o[u]=null}if(e){t.tempQuadIndexBuffer=l.createBuffer(),t.GLctx.bindBuffer(34963,t.tempQuadIndexBuffer);for(var f=_.MAX_TEMP_BUFFER_SIZE>>1,v=new Uint16Array(f),i=0,s=0;v[i++]=s,!(i>=f||(v[i++]=s+1,i>=f)||(v[i++]=s+2,i>=f)||(v[i++]=s,i>=f)||(v[i++]=s+2,i>=f)||(v[i++]=s+3,i>=f));)s+=4;t.GLctx.bufferData(34963,v,35044),t.GLctx.bindBuffer(34963,null)}},getTempVertexBuffer:e=>{var t=_.log2ceilLookup(e),n=_.currentContext.tempVertexBuffers1[t],i=_.currentContext.tempVertexBufferCounters1[t];_.currentContext.tempVertexBufferCounters1[t]=_.currentContext.tempVertexBufferCounters1[t]+1&_.numTempVertexBuffersPerSize-1;var a=n[i];if(a)return a;var c=l.getParameter(34964);return n[i]=l.createBuffer(),l.bindBuffer(34962,n[i]),l.bufferData(34962,1<<t,35048),l.bindBuffer(34962,c),n[i]},getTempIndexBuffer:e=>{var t=_.log2ceilLookup(e),n=_.currentContext.tempIndexBuffers[t];if(n)return n;var i=l.getParameter(34965);return _.currentContext.tempIndexBuffers[t]=l.createBuffer(),l.bindBuffer(34963,_.currentContext.tempIndexBuffers[t]),l.bufferData(34963,1<<t,35048),l.bindBuffer(34963,i),_.currentContext.tempIndexBuffers[t]},newRenderingFrameStarted:()=>{if(_.currentContext){var e=_.currentContext.tempVertexBuffers1;_.currentContext.tempVertexBuffers1=_.currentContext.tempVertexBuffers2,_.currentContext.tempVertexBuffers2=e,e=_.currentContext.tempVertexBufferCounters1,_.currentContext.tempVertexBufferCounters1=_.currentContext.tempVertexBufferCounters2,_.currentContext.tempVertexBufferCounters2=e;for(var t=_.log2ceilLookup(_.MAX_TEMP_BUFFER_SIZE),n=0;n<=t;++n)_.currentContext.tempVertexBufferCounters1[n]=0}},getSource:(e,t,n,i)=>{for(var a="",c=0;c<t;++c){var o=i?h[i+c*4>>2]:void 0;a+=d(h[n+c*4>>2],o)}return a},calcBufLength:(e,t,n,i)=>{if(n>0)return i*n;var a=_.byteSizeByType[t-_.byteSizeByTypeRoot];return e*a*i},usedTempBuffers:[],preDrawHandleClientVertexAttribBindings:e=>{_.resetBufferBinding=!1;for(var t=0;t<_.currentContext.maxVertexAttribs;++t){var n=_.currentContext.clientBuffers[t];if(!(!n.clientside||!n.enabled)){_.resetBufferBinding=!0;var i=_.calcBufLength(n.size,n.type,n.stride,e),a=_.getTempVertexBuffer(i);l.bindBuffer(34962,a),w(34962,0,i,n.ptr),n.vertexAttribPointerAdaptor.call(l,t,n.size,n.type,n.normalized,n.stride,0)}}},postDrawHandleClientVertexAttribBindings:()=>{_.resetBufferBinding&&l.bindBuffer(34962,_.buffers[l.currentArrayBufferBinding])},createContext:(e,t)=>{if(!e.getContextSafariWebGL2Fixed){let a=function(c,o){var u=e.getContextSafariWebGL2Fixed(c,o);return c=="webgl"==u instanceof WebGLRenderingContext?u:null};e.getContextSafariWebGL2Fixed=e.getContext,e.getContext=a}var n=e.getContext("webgl2",t);if(!n)return 0;var i=_.registerContext(n,t);return i},registerContext:(e,t)=>{var n=_.getNewId(_.contexts),i={handle:n,attributes:t,version:t.majorVersion,GLctx:e};e.canvas&&(e.canvas.GLctxObject=i),_.contexts[n]=i,(typeof t.enableExtensionsByDefault>"u"||t.enableExtensionsByDefault)&&_.initExtensions(i),i.maxVertexAttribs=i.GLctx.getParameter(34921),i.clientBuffers=[];for(var a=0;a<i.maxVertexAttribs;a++)i.clientBuffers[a]={enabled:!1,clientside:!1,size:0,type:0,normalized:0,stride:0,ptr:0,vertexAttribPointerAdaptor:null};return _.generateTempBuffers(!1,i),n},makeContextCurrent:e=>{var t;return _.currentContext=_.contexts[e],r.ctx=l=(t=_.currentContext)==null?void 0:t.GLctx,!(e&&!l)},getContext:e=>_.contexts[e],deleteContext:e=>{var t;_.currentContext===_.contexts[e]&&(_.currentContext=null),typeof JSEvents=="object"&&JSEvents.removeAllHandlersOnTarget(_.contexts[e].GLctx.canvas),(t=_.contexts[e])!=null&&t.GLctx.canvas&&(_.contexts[e].GLctx.canvas.GLctxObject=void 0),_.contexts[e]=null},initExtensions:e=>{if(e||(e=_.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var t=e.GLctx;nt(t),et(t),rt(t),tt(t),wr(t),Er(t),e.version>=2&&(t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query_webgl2")),(e.version<2||!t.disjointTimerQueryExt)&&(t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query"));for(var n of Re(t))!n.includes("lose_context")&&!n.includes("debug")&&t.getExtension(n)}}},at=e=>{var t=_.makeContextCurrent(e);return t?0:-5},E={},ct=()=>ve,$=()=>{var a;if(!$.strings){var e=(((a=globalThis.navigator)==null?void 0:a.language)??"C").replace("-","_")+".UTF-8",t={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:e,_:ct()};for(var n in E)E[n]===void 0?delete t[n]:t[n]=E[n];var i=[];for(var n in t)i.push(`${n}=${t[n]}`);$.strings=i}return $.strings},_t=(e,t)=>{var n=0,i=0;for(var a of $()){var c=t+n;h[e+i>>2]=c,n+=F(a,c,1/0)+1,i+=4}return 0},lt=(e,t)=>{var n=$();h[e>>2]=n.length;var i=0;for(var a of n)i+=x(a)+1;return h[t>>2]=i,0},ot=e=>52,ut=(e,t,n,i)=>52;function ft(e,t,n,i){return 70}var dt=[null,[],[]],vt=(e,t)=>{var n=dt[e];t===0||t===10?((e===1?te:T)(Ae(n)),n.length=0):n.push(t)},st=(e,t,n,i)=>{for(var a=0,c=0;c<n;c++){var o=h[t>>2],u=h[t+4>>2];t+=8;for(var f=0;f<u;f++)vt(e,k[o+f]);a+=u}return h[i>>2]=a,0},gt=e=>l.activeTexture(e),ht=gt,bt=(e,t)=>{l.attachShader(_.programs[e],_.shaders[t])},yt=bt,St=(e,t)=>{l.beginQuery(e,_.queries[t])},jt=St,Bt=(e,t,n)=>{l.bindAttribLocation(_.programs[e],t,d(n))},Ct=Bt,kt=(e,t)=>{if(t&&!_.buffers[t]){var n=l.createBuffer();n.name=t,_.buffers[t]=n}e==34962?l.currentArrayBufferBinding=t:e==34963&&(l.currentElementArrayBufferBinding=t),e==35051?l.currentPixelPackBufferBinding=t:e==35052&&(l.currentPixelUnpackBufferBinding=t),l.bindBuffer(e,_.buffers[t])},Pt=kt,At=(e,t,n)=>{l.bindBufferBase(e,t,_.buffers[n])},Tt=At,Dt=(e,t,n,i,a)=>{l.bindBufferRange(e,t,_.buffers[n],i,a)},mt=Dt,Ft=(e,t)=>{l.bindFramebuffer(e,_.framebuffers[t])},Lt=Ft,It=(e,t)=>{l.bindRenderbuffer(e,_.renderbuffers[t])},Gt=It,Rt=(e,t)=>{l.bindSampler(e,_.samplers[t])},Vt=Rt,Mt=(e,t)=>{l.bindTexture(e,_.textures[t])},Wt=Mt,Ut=e=>{l.bindVertexArray(_.vaos[e]);var t=l.getParameter(34965);l.currentElementArrayBufferBinding=t?t.name|0:0},pt=Ut,Nt=(e,t,n,i)=>l.blendColor(e,t,n,i),Ot=Nt,qt=(e,t)=>l.blendEquationSeparate(e,t),Ht=qt,$t=(e,t,n,i)=>l.blendFuncSeparate(e,t,n,i),Qt=$t,Xt=(e,t,n,i,a,c,o,u,f,v)=>l.blitFramebuffer(e,t,n,i,a,c,o,u,f,v),zt=Xt,Zt=(e,t,n,i)=>{{n&&t?l.bufferData(e,k,i,n,t):l.bufferData(e,t,i);return}},Kt=Zt,Yt=(e,t,n,i)=>w(e,t,n,i),Jt=Yt,xt=e=>l.checkFramebufferStatus(e),wt=xt,Et=e=>l.clear(e),en=Et,rn=(e,t,n,i)=>l.clearBufferfi(e,t,n,i),tn=rn,nn=(e,t,n)=>{l.clearBufferfv(e,t,A,n>>2)},an=nn,cn=(e,t,n)=>{l.clearBufferiv(e,t,g,n>>2)},_n=cn,ln=(e,t,n)=>{l.clearBufferuiv(e,t,h,n>>2)},on=ln,un=(e,t,n,i)=>l.clearColor(e,t,n,i),fn=un,dn=e=>l.clearDepth(e),vn=dn,sn=e=>l.clearStencil(e),gn=sn,hn=(e,t,n)=>(n=Number(n),l.clientWaitSync(_.syncs[e],t,n)),bn=hn,yn=(e,t,n,i)=>{l.colorMask(!!e,!!t,!!n,!!i)},Sn=yn,jn=e=>{l.compileShader(_.shaders[e])},Bn=jn,Cn=(e,t,n,i,a,c,o,u,f)=>{{if(l.currentPixelUnpackBufferBinding||!u){l.compressedTexSubImage2D(e,t,n,i,a,c,o,u,f);return}l.compressedTexSubImage2D(e,t,n,i,a,c,o,k,f,u);return}},kn=Cn,Pn=(e,t,n,i,a,c,o,u,f,v,s)=>{l.currentPixelUnpackBufferBinding?l.compressedTexSubImage3D(e,t,n,i,a,c,o,u,f,v,s):l.compressedTexSubImage3D(e,t,n,i,a,c,o,u,f,k,s,v)},An=Pn,Tn=(e,t,n,i,a)=>l.copyBufferSubData(e,t,n,i,a),Dn=Tn,mn=()=>{var e=_.getNewId(_.programs),t=l.createProgram();return t.name=e,t.maxUniformLength=t.maxAttributeLength=t.maxUniformBlockNameLength=0,t.uniformIdCounter=1,_.programs[e]=t,e},Fn=mn,Ln=e=>{var t=_.getNewId(_.shaders);return _.shaders[t]=l.createShader(e),t},In=Ln,Gn=e=>l.cullFace(e),Rn=Gn,Vn=(e,t)=>{for(var n=0;n<e;n++){var i=g[t+n*4>>2],a=_.buffers[i];a&&(l.deleteBuffer(a),a.name=0,_.buffers[i]=null,i==l.currentArrayBufferBinding&&(l.currentArrayBufferBinding=0),i==l.currentElementArrayBufferBinding&&(l.currentElementArrayBufferBinding=0),i==l.currentPixelPackBufferBinding&&(l.currentPixelPackBufferBinding=0),i==l.currentPixelUnpackBufferBinding&&(l.currentPixelUnpackBufferBinding=0))}},Mn=Vn,Wn=(e,t)=>{for(var n=0;n<e;++n){var i=g[t+n*4>>2],a=_.framebuffers[i];a&&(l.deleteFramebuffer(a),a.name=0,_.framebuffers[i]=null)}},Un=Wn,pn=e=>{if(e){var t=_.programs[e];if(!t){_.recordError(1281);return}l.deleteProgram(t),t.name=0,_.programs[e]=null}},Nn=pn,On=(e,t)=>{for(var n=0;n<e;n++){var i=g[t+n*4>>2],a=_.queries[i];a&&(l.deleteQuery(a),_.queries[i]=null)}},qn=On,Hn=(e,t)=>{for(var n=0;n<e;n++){var i=g[t+n*4>>2],a=_.renderbuffers[i];a&&(l.deleteRenderbuffer(a),a.name=0,_.renderbuffers[i]=null)}},$n=Hn,Qn=(e,t)=>{for(var n=0;n<e;n++){var i=g[t+n*4>>2],a=_.samplers[i];a&&(l.deleteSampler(a),a.name=0,_.samplers[i]=null)}},Xn=Qn,zn=e=>{if(e){var t=_.shaders[e];if(!t){_.recordError(1281);return}l.deleteShader(t),_.shaders[e]=null}},Zn=zn,Kn=e=>{if(e){var t=_.syncs[e];if(!t){_.recordError(1281);return}l.deleteSync(t),t.name=0,_.syncs[e]=null}},Yn=Kn,Jn=(e,t)=>{for(var n=0;n<e;n++){var i=g[t+n*4>>2],a=_.textures[i];a&&(l.deleteTexture(a),a.name=0,_.textures[i]=null)}},xn=Jn,wn=(e,t)=>{for(var n=0;n<e;n++){var i=g[t+n*4>>2];l.deleteVertexArray(_.vaos[i]),_.vaos[i]=null}},En=wn,ei=e=>l.depthFunc(e),ri=ei,ti=e=>{l.depthMask(!!e)},ni=ti,ii=(e,t)=>l.depthRange(e,t),ai=ii,ci=(e,t)=>{l.detachShader(_.programs[e],_.shaders[t])},_i=ci,li=e=>l.disable(e),oi=li,ui=e=>{var t=_.currentContext.clientBuffers[e];t.enabled=!1,l.disableVertexAttribArray(e)},fi=ui,di=(e,t,n)=>{_.preDrawHandleClientVertexAttribBindings(t+n),l.drawArrays(e,t,n),_.postDrawHandleClientVertexAttribBindings()},vi=di,si=(e,t,n,i)=>{l.drawArraysInstanced(e,t,n,i)},gi=si,le=[],hi=(e,t)=>{for(var n=le[e],i=0;i<e;i++)n[i]=g[t+i*4>>2];l.drawBuffers(n)},bi=hi,yi=(e,t,n,i)=>{var a,c=0;if(!l.currentElementArrayBufferBinding){var o=_.calcBufLength(1,n,0,t);if(a=_.getTempIndexBuffer(o),l.bindBuffer(34963,a),w(34963,0,o,i),t>0)for(var u=0;u<_.currentContext.maxVertexAttribs;++u){var f=_.currentContext.clientBuffers[u];if(f.clientside&&f.enabled){let v;switch(n){case 5121:v=Uint8Array;break;case 5123:v=Uint16Array;break;case 5125:v=Uint32Array;break;default:_.recordError(1282);return}c=new v(k.buffer,i,t).reduce((s,S)=>Math.max(s,S))+1;break}}i=0}_.preDrawHandleClientVertexAttribBindings(c),l.drawElements(e,t,n,i),_.postDrawHandleClientVertexAttribBindings(t),l.currentElementArrayBufferBinding||l.bindBuffer(34963,null)},Si=yi,ji=(e,t,n,i,a)=>{l.drawElementsInstanced(e,t,n,i,a)},Bi=ji,Ci=e=>l.enable(e),ki=Ci,Pi=e=>{var t=_.currentContext.clientBuffers[e];t.enabled=!0,l.enableVertexAttribArray(e)},Ai=Pi,Ti=e=>l.endQuery(e),Di=Ti,mi=(e,t)=>{var n=l.fenceSync(e,t);if(n){var i=_.getNewId(_.syncs);return n.name=i,_.syncs[i]=n,i}return 0},Fi=mi,Li=()=>l.finish(),Ii=Li,Gi=()=>l.flush(),Ri=Gi,Vi=(e,t,n,i)=>{l.framebufferRenderbuffer(e,t,n,_.renderbuffers[i])},Mi=Vi,Wi=(e,t,n,i,a)=>{l.framebufferTexture2D(e,t,n,_.textures[i],a)},Ui=Wi,pi=(e,t,n,i,a)=>{l.framebufferTextureLayer(e,t,_.textures[n],i,a)},Ni=pi,Oi=e=>l.frontFace(e),qi=Oi,Hi=(e,t)=>{_.genObject(e,t,"createBuffer",_.buffers)},$i=Hi,Qi=(e,t)=>{_.genObject(e,t,"createFramebuffer",_.framebuffers)},Xi=Qi,zi=(e,t)=>{_.genObject(e,t,"createQuery",_.queries)},Zi=zi,Ki=(e,t)=>{_.genObject(e,t,"createRenderbuffer",_.renderbuffers)},Yi=Ki,Ji=(e,t)=>{_.genObject(e,t,"createSampler",_.samplers)},xi=Ji,wi=(e,t)=>{_.genObject(e,t,"createTexture",_.textures)},Ei=wi,ea=(e,t)=>{_.genObject(e,t,"createVertexArray",_.vaos)},ra=ea,ta=e=>l.generateMipmap(e),na=ta,ia=(e,t)=>l.getAttribLocation(_.programs[e],d(t)),aa=ia,ca=(e,t,n,i)=>{if(!i){_.recordError(1281);return}n&&l.getBufferSubData(e,t,k,i,n)},_a=ca,la=()=>{var e=l.getError()||_.lastError;return _.lastError=0,e},oa=la,ua=(e,t)=>{h[e>>2]=t;var n=h[e>>2];h[e+4>>2]=(t-n)/4294967296},oe=()=>{var e=Re(l);return e=e.concat(e.map(t=>"GL_"+t)),e},Ve=(e,t,n)=>{if(!t){_.recordError(1281);return}var i=void 0;switch(e){case 36346:i=1;break;case 36344:n!=0&&n!=1&&_.recordError(1280);return;case 34814:case 36345:i=0;break;case 34466:var a=l.getParameter(34467);i=a?a.length:0;break;case 33309:if(_.currentContext.version<2){_.recordError(1282);return}i=oe().length;break;case 33307:case 33308:if(_.currentContext.version<2){_.recordError(1280);return}i=e==33307?3:0;break}if(i===void 0){var c=l.getParameter(e);switch(typeof c){case"number":i=c;break;case"boolean":i=c?1:0;break;case"string":_.recordError(1280);return;case"object":if(c===null)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:{i=0;break}default:{_.recordError(1280);return}}else if(c instanceof Float32Array||c instanceof Uint32Array||c instanceof Int32Array||c instanceof Array){for(var o=0;o<c.length;++o)switch(n){case 0:g[t+o*4>>2]=c[o];break;case 2:A[t+o*4>>2]=c[o];break;case 4:m[t+o]=c[o]?1:0;break}return}else try{i=c.name|0}catch(u){_.recordError(1280),T(`GL_INVALID_ENUM in glGet${n}v: Unknown object returned from WebGL getParameter(${e})! (error: ${u})`);return}break;default:_.recordError(1280),T(`GL_INVALID_ENUM in glGet${n}v: Native code calling glGet${n}v(${e}) and it returns ${c} of type ${typeof c}!`);return}}switch(n){case 1:ua(t,i);break;case 0:g[t>>2]=i;break;case 2:A[t>>2]=i;break;case 4:m[t]=i?1:0;break}},fa=(e,t)=>Ve(e,t,2),da=fa,va=(e,t)=>Ve(e,t,0),sa=va,ga=(e,t,n,i,a)=>{_.recordError(1282)},ha=ga,ba=(e,t,n,i)=>{var a=l.getProgramInfoLog(_.programs[e]);a===null&&(a="(unknown error)");var c=t>0&&i?F(a,i,t):0;n&&(g[n>>2]=c)},ya=ba,Sa=(e,t,n)=>{if(!n){_.recordError(1281);return}if(e>=_.counter){_.recordError(1281);return}if(e=_.programs[e],t==35716){var i=l.getProgramInfoLog(e);i===null&&(i="(unknown error)"),g[n>>2]=i.length+1}else if(t==35719){if(!e.maxUniformLength)for(var a=l.getProgramParameter(e,35718),c=0;c<a;++c)e.maxUniformLength=Math.max(e.maxUniformLength,l.getActiveUniform(e,c).name.length+1);g[n>>2]=e.maxUniformLength}else if(t==35722){if(!e.maxAttributeLength)for(var o=l.getProgramParameter(e,35721),c=0;c<o;++c)e.maxAttributeLength=Math.max(e.maxAttributeLength,l.getActiveAttrib(e,c).name.length+1);g[n>>2]=e.maxAttributeLength}else if(t==35381){if(!e.maxUniformBlockNameLength)for(var u=l.getProgramParameter(e,35382),c=0;c<u;++c)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,l.getActiveUniformBlockName(e,c).length+1);g[n>>2]=e.maxUniformBlockNameLength}else g[n>>2]=l.getProgramParameter(e,t)},ja=Sa,Ba=(e,t,n)=>{if(!n){_.recordError(1281);return}var i=_.queries[e],a=l.getQueryParameter(i,t),c;typeof a=="boolean"?c=a?1:0:c=a,g[n>>2]=c},Ca=Ba,ka=(e,t,n,i)=>{var a=l.getShaderInfoLog(_.shaders[e]);a===null&&(a="(unknown error)");var c=t>0&&i?F(a,i,t):0;n&&(g[n>>2]=c)},Pa=ka,Aa=(e,t,n)=>{if(!n){_.recordError(1281);return}if(t==35716){var i=l.getShaderInfoLog(_.shaders[e]);i===null&&(i="(unknown error)");var a=i?i.length+1:0;g[n>>2]=a}else if(t==35720){var c=l.getShaderSource(_.shaders[e]),o=c?c.length+1:0;g[n>>2]=o}else g[n>>2]=l.getShaderParameter(_.shaders[e],t)},Ta=Aa,L=e=>{var t=x(e)+1,n=X(t);return n&&F(e,n,t),n},Da=e=>{var t=_.stringCache[e];if(!t){switch(e){case 7939:t=L(oe().join(" "));break;case 7936:case 7937:case 37445:case 37446:var n=l.getParameter(e);n||_.recordError(1280),t=n?L(n):0;break;case 7938:var i=l.getParameter(7938),a=`OpenGL ES 2.0 (${i})`;a=`OpenGL ES 3.0 (${i})`,t=L(a);break;case 35724:var c=l.getParameter(35724),o=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/,u=c.match(o);u!==null&&(u[1].length==3&&(u[1]=u[1]+"0"),c=`OpenGL ES GLSL ES ${u[1]} (${c})`),t=L(c);break;default:_.recordError(1280)}_.stringCache[e]=t}return t},ma=Da,Fa=(e,t)=>{if(_.currentContext.version<2)return _.recordError(1282),0;var n=_.stringiCache[e];if(n)return t<0||t>=n.length?(_.recordError(1281),0):n[t];switch(e){case 7939:var i=oe().map(L);return n=_.stringiCache[e]=i,t<0||t>=n.length?(_.recordError(1281),0):n[t];default:return _.recordError(1280),0}},La=Fa,Ia=(e,t)=>l.getUniformBlockIndex(_.programs[e],d(t)),Ga=Ia,Ra=e=>parseInt(e),Me=e=>e.slice(-1)=="]"&&e.lastIndexOf("["),Va=e=>{var t=e.uniformLocsById,n=e.uniformSizeAndIdsByName,i,a;if(!t){e.uniformLocsById=t={},e.uniformArrayNamesById={};var c=l.getProgramParameter(e,35718);for(i=0;i<c;++i){var o=l.getActiveUniform(e,i),u=o.name,f=o.size,v=Me(u),s=v>0?u.slice(0,v):u,S=e.uniformIdCounter;for(e.uniformIdCounter+=f,n[s]=[f,S],a=0;a<f;++a)t[S]=a,e.uniformArrayNamesById[S++]=s}}},Ma=(e,t)=>{if(t=d(t),e=_.programs[e]){Va(e);var n=e.uniformLocsById,i=0,a=t,c=Me(t);c>0&&(i=Ra(t.slice(c+1))>>>0,a=t.slice(0,c));var o=e.uniformSizeAndIdsByName[a];if(o&&i<o[0]&&(i+=o[1],n[i]=n[i]||l.getUniformLocation(e,t)))return i}else _.recordError(1281);return-1},Wa=Ma,Ua=(e,t)=>l.hint(e,t),pa=Ua,Na=(e,t,n)=>{for(var i=le[t],a=0;a<t;a++)i[a]=g[n+a*4>>2];l.invalidateFramebuffer(e,i)},Oa=Na,qa=e=>{e=_.programs[e],l.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},Ha=qa,We=e=>{switch(e){case 34962:e=34964;break;case 34963:e=34965;break;case 35051:e=35053;break;case 35052:e=35055;break;case 35982:e=35983;break;case 36662:e=36662;break;case 36663:e=36663;break;case 35345:e=35368;break}var t=l.getParameter(e);return t?t.name|0:0},Ue=e=>{switch(e){case 34962:case 34963:case 36662:case 36663:case 35051:case 35052:case 35882:case 35982:case 35345:return!0;default:return!1}},$a=(e,t,n,i)=>{var o;if((i&33)!=0)return T("glMapBufferRange access does not support MAP_READ or MAP_UNSYNCHRONIZED"),0;if((i&2)==0)return T("glMapBufferRange access must include MAP_WRITE"),0;if((i&12)==0)return T("glMapBufferRange access must include INVALIDATE_BUFFER or INVALIDATE_RANGE"),0;if(!Ue(e))return _.recordError(1280),T("GL_INVALID_ENUM in glMapBufferRange"),0;var a=X(n),c=We(e);return a?(c=(o=_.mappedBuffers)[c]??(o[c]={}),c.offset=t,c.length=n,c.mem=a,c.access=i,a):0},Qa=$a,Xa=(e,t)=>{e==3317?_.unpackAlignment=t:e==3314&&(_.unpackRowLength=t),l.pixelStorei(e,t)},za=Xa,Za=(e,t)=>l.polygonOffset(e,t),Ka=Za,Ya=(e,t,n,i)=>{_.recordError(1280)},Ja=Ya,xa=e=>l.readBuffer(e),wa=xa,Q=e=>(e-=5120,e==0?m:e==1?k:e==2?q:e==4?g:e==6?A:e==5||e==28922||e==28520||e==30779||e==30782?h:U),N=(e,t)=>e>>>31-Math.clz32(t.BYTES_PER_ELEMENT),Ea=(e,t,n,i,a,c,o)=>{{if(l.currentPixelPackBufferBinding){l.readPixels(e,t,n,i,a,c,o);return}var u=Q(c),f=N(o,u);l.readPixels(e,t,n,i,a,c,u,f);return}},ec=Ea,rc=(e,t,n,i)=>l.renderbufferStorage(e,t,n,i),tc=rc,nc=(e,t,n,i,a)=>l.renderbufferStorageMultisample(e,t,n,i,a),ic=nc,ac=(e,t,n)=>{l.samplerParameterf(_.samplers[e],t,n)},cc=ac,_c=(e,t,n)=>{l.samplerParameteri(_.samplers[e],t,n)},lc=_c,oc=(e,t,n,i)=>l.scissor(e,t,n,i),uc=oc,fc=(e,t,n,i)=>{var a=_.getSource(e,t,n,i);l.shaderSource(_.shaders[e],a)},dc=fc,vc=(e,t,n)=>l.stencilFunc(e,t,n),sc=vc,gc=(e,t,n,i)=>l.stencilFuncSeparate(e,t,n,i),hc=gc,bc=e=>l.stencilMask(e),yc=bc,Sc=(e,t)=>l.stencilMaskSeparate(e,t),jc=Sc,Bc=(e,t,n)=>l.stencilOp(e,t,n),Cc=Bc,kc=(e,t,n,i)=>l.stencilOpSeparate(e,t,n,i),Pc=kc,Ac=(e,t,n)=>{function i(o,u){return o+u-1&-u}var a=(_.unpackRowLength||e)*n,c=i(a,_.unpackAlignment);return t*c},Tc=e=>{var t={5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4};return t[e-6402]||1},pe=(e,t,n,i,a)=>{var c=Q(e),o=Tc(t)*c.BYTES_PER_ELEMENT,u=Ac(n,i,o);return c.subarray(N(a,c),N(a+u,c))},Dc=(e,t,n,i,a,c,o,u,f)=>{{if(l.currentPixelUnpackBufferBinding){l.texImage2D(e,t,n,i,a,c,o,u,f);return}if(f){var v=Q(u),s=N(f,v);l.texImage2D(e,t,n,i,a,c,o,u,v,s);return}}var S=f?pe(u,o,i,a,f):null;l.texImage2D(e,t,n,i,a,c,o,u,S)},mc=Dc,Fc=(e,t,n)=>l.texParameterf(e,t,n),Lc=Fc,Ic=(e,t,n)=>l.texParameteri(e,t,n),Gc=Ic,Rc=(e,t,n,i,a)=>l.texStorage2D(e,t,n,i,a),Vc=Rc,Mc=(e,t,n,i,a,c)=>l.texStorage3D(e,t,n,i,a,c),Wc=Mc,Uc=(e,t,n,i,a,c,o,u,f)=>{{if(l.currentPixelUnpackBufferBinding){l.texSubImage2D(e,t,n,i,a,c,o,u,f);return}if(f){var v=Q(u);l.texSubImage2D(e,t,n,i,a,c,o,u,v,N(f,v));return}}var s=f?pe(u,o,a,c,f):null;l.texSubImage2D(e,t,n,i,a,c,o,u,s)},pc=Uc,Nc=(e,t,n,i,a,c,o,u,f,v,s)=>{if(l.currentPixelUnpackBufferBinding)l.texSubImage3D(e,t,n,i,a,c,o,u,f,v,s);else if(s){var S=Q(v);l.texSubImage3D(e,t,n,i,a,c,o,u,f,v,S,N(s,S))}else l.texSubImage3D(e,t,n,i,a,c,o,u,f,v,null)},Oc=Nc,qc=(e,t)=>{if(e){var n=e.uniformLocsById[t];return typeof n=="number"&&(e.uniformLocsById[t]=n=l.getUniformLocation(e,e.uniformArrayNamesById[t]+(n>0?`[${n}]`:""))),n}else _.recordError(1282)},D=e=>qc(l.currentProgram,e),Hc=(e,t)=>{l.uniform1f(D(e),t)},$c=Hc,Qc=(e,t,n)=>{t&&l.uniform1fv(D(e),A,n>>2,t)},Xc=Qc,zc=(e,t)=>{l.uniform1i(D(e),t)},Zc=zc,Kc=(e,t,n)=>{t&&l.uniform1iv(D(e),g,n>>2,t)},Yc=Kc,Jc=(e,t)=>{l.uniform1ui(D(e),t)},xc=Jc,wc=(e,t,n)=>{t&&l.uniform2fv(D(e),A,n>>2,t*2)},Ec=wc,e_=(e,t,n)=>{t&&l.uniform2iv(D(e),g,n>>2,t*2)},r_=e_,t_=(e,t,n)=>{t&&l.uniform3fv(D(e),A,n>>2,t*3)},n_=t_,i_=(e,t,n)=>{t&&l.uniform3iv(D(e),g,n>>2,t*3)},a_=i_,c_=(e,t,n)=>{t&&l.uniform4fv(D(e),A,n>>2,t*4)},__=c_,l_=(e,t,n)=>{t&&l.uniform4iv(D(e),g,n>>2,t*4)},o_=l_,u_=(e,t,n)=>{e=_.programs[e],l.uniformBlockBinding(e,t,n)},f_=u_,d_=(e,t,n,i)=>{t&&l.uniformMatrix3fv(D(e),!!n,A,i>>2,t*9)},v_=d_,s_=(e,t,n,i)=>{t&&l.uniformMatrix4fv(D(e),!!n,A,i>>2,t*16)},g_=s_,h_=e=>{if(!Ue(e))return _.recordError(1280),T("GL_INVALID_ENUM in glUnmapBuffer"),0;var t=We(e),n=_.mappedBuffers[t];return!n||!n.mem?(_.recordError(1282),T("buffer was never mapped in glUnmapBuffer"),0):(n.access&16||w(e,n.offset,n.length,n.mem),R(n.mem),n.mem=0,1)},b_=h_,y_=e=>{e=_.programs[e],l.useProgram(e),l.currentProgram=e},S_=y_,j_=(e,t,n,i,a)=>l.vertexAttrib4f(e,t,n,i,a),B_=j_,C_=(e,t)=>{l.vertexAttribDivisor(e,t)},k_=C_,P_=(e,t,n,i,a)=>l.vertexAttribI4ui(e,t,n,i,a),A_=P_,T_=(e,t,n,i,a)=>{var c=_.currentContext.clientBuffers[e];if(!l.currentArrayBufferBinding){c.size=t,c.type=n,c.normalized=!1,c.stride=i,c.ptr=a,c.clientside=!0,c.vertexAttribPointerAdaptor=function(o,u,f,v,s,S){this.vertexAttribIPointer(o,u,f,s,S)};return}c.clientside=!1,l.vertexAttribIPointer(e,t,n,i,a)},D_=T_,m_=(e,t,n,i,a,c)=>{var o=_.currentContext.clientBuffers[e];if(!l.currentArrayBufferBinding){o.size=t,o.type=n,o.normalized=i,o.stride=a,o.ptr=c,o.clientside=!0,o.vertexAttribPointerAdaptor=function(u,f,v,s,S,P){this.vertexAttribPointer(u,f,v,s,S,P)};return}o.clientside=!1,l.vertexAttribPointer(e,t,n,!!i,a,c)},F_=m_,L_=(e,t,n,i)=>l.viewport(e,t,n,i),I_=L_,b=e=>z.get(e),G_=(e,t)=>{if(V)for(var n=e;n<e+t;n++){var i=b(n);i&&V.set(i,n)}},V,R_=e=>(V||(V=new WeakMap,G_(0,z.length)),V.get(e)||0),ue=[],V_=()=>ue.length?ue.pop():z.grow(1),fe=(e,t)=>z.set(e,t),Ne=e=>{const t=e.length;return[t%128|128,t>>7,...e]},M_={i:127,p:127,j:126,f:125,d:124,e:111},Oe=e=>Ne(Array.from(e,t=>{var n=M_[t];return n})),W_=(e,t)=>{var n=Uint8Array.of(0,97,115,109,1,0,0,0,1,...Ne([1,96,...Oe(t.slice(1)),...Oe(t[0]==="v"?"":t[0])]),2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),i=new WebAssembly.Module(n),a=new WebAssembly.Instance(i,{e:{f:e}}),c=a.exports.f;return c},U_=(e,t)=>{var n=R_(e);if(n)return n;var i=V_();try{fe(i,e)}catch(c){if(!(c instanceof TypeError))throw c;var a=W_(e,t);fe(i,a)}return V.set(e,i),i},p_=e=>{V.delete(b(e)),fe(e,null),ue.push(e)};it(()=>_.newRenderingFrameStarted());for(let e=0;e<32;++e)le.push(new Array(e));if(r.noExitRuntime&&r.noExitRuntime,r.print&&(te=r.print),r.printErr&&(T=r.printErr),r.wasmBinary&&(O=r.wasmBinary),r.arguments&&r.arguments,r.thisProgram&&(ve=r.thisProgram),r.preInit)for(typeof r.preInit=="function"&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.shift()();r.ENV=E,r.addFunction=U_,r.removeFunction=p_,r.UTF8ToString=d,r.stringToUTF8=F,r.lengthBytesUTF8=x,r.stringToNewUTF8=L,r.GL=_;var N_={664384:()=>{const e=r.filament_glOptions||window.filament_glOptions,t=r.filament_glContext||window.filament_glContext,n=_.registerContext(t,e);return window.filament_contextHandle=n,_.makeContextCurrent(n),n},664671:()=>{const e=r.creator2d_glContext||typeof window<"u"&&window.creator2d_glContext,t=r.creator2d_glOptions||typeof window<"u"&&window.creator2d_glOptions||{},n=_.registerContext(e,t);return _.makeContextCurrent(n),n}};function O_(e){r.jsb._init(e)}function q_(e){r.jsb.dup(e)}function H_(e){r.jsb.release(e)}function $_(e){r.jsb.global(e)}function Q_(e,t,n){r.jsb.get(e,t,d(n))}function X_(e,t,n){r.jsb.getIndex(e,t,n)}function z_(e,t,n){return r.jsb.has(e,t,d(n))?1:0}function Z_(e,t,n,i){r.jsb.set(e,d(t),n,i)}function K_(e,t,n,i){r.jsb.setIndex(e,t,n,i)}function Y_(e,t,n){return r.jsb.keys(e,t,n)}function J_(e,t){r.jsb.newObject(e,t)}function x_(){r.jsb.newArray()}function w_(e,t){r.jsb.newString(d(e,t))}function E_(e,t,n){return r.jsb.str(e,t,n)}function el(e,t){return r.jsb.logString(e,t)}function rl(e){return r.jsb.toNumber(e)}function tl(e){return r.jsb.truthy(e)?1:0}function nl(e){r.jsb.newError(d(e))}function il(e,t){r.jsb.throwNew(e,d(t))}function al(){r.jsb.takeException()}function cl(e,t,n,i,a,c){r.jsb.call(e,t,n,i,a,c)}function _l(e,t,n,i){r.jsb.eval(e,d(t,n),d(i))}function ll(){return r.jsb.newContext()}function ol(e){r.jsb.freeContext(e)}function ul(e,t){r.jsb.parseJson(d(e,t))}function fl(e,t,n){r.jsb.typedArray(e,t,n)}function dl(e,t,n,i){return r.jsb.arrayIn(e,t,n,i)}function vl(e,t,n){r.jsb.arrayOut(e,t,n)}function sl(e,t,n,i){r.jsb.makeFunction(e,t,n?d(n):"",i)}function gl(e,t,n,i,a,c){r.jsb.defineMethod(e,t,d(n),i,a,c)}function hl(){r.jsb.gc()}function bl(e){return r.jsb.host[d(e)]?1:0}function yl(e,t){const n=r.jsb.host[d(e)];return n&&typeof n[d(t)]=="function"?1:0}function Sl(e,t){const n=r.jsb.host[d(e)],i=n?n[d(t)]:void 0;return i==null?0:L(String(i))}function jl(e,t){const n=r.jsb.host[d(e)],i=n?Number(n[d(t)]):0;return i===i?i:0}function Bl(){return r.jsb.host.gl.getGLContext()|0}function Cl(){r.jsb.host.gl.engineCreated()}function kl(){r.jsb.host.gl.createGLView()}function Pl(){r.jsb.host.gl.closeScene()}function Al(e,t,n,i){const a=r.jsb.group(n,i);r.jsb.host.gl.createTexture(e,t,r.jsb.callback(n,a),r.jsb.callback(i,a))}function Tl(e){return r.jsb.host.gl.createMediaPlayerTexture(e)||0}function Dl(e,t,n){const i=r.jsb.group(t,n);r.jsb.host.gl.launchAR(e,r.jsb.callback(t,i),r.jsb.callback(n,i))}function ml(){r.jsb.host.gl.stopAR()}function Fl(e,t,n){const i=r.jsb.group(t,n);r.jsb.host.gl.launchVR(e,r.jsb.callback(t,i),r.jsb.callback(n,i))}function Ll(){r.jsb.host.gl.stopVR()}function Il(e,t,n){r.jsb.host.gl.createARController(e,t,n?d(n):null)}function Gl(e,t){r.jsb.host.gl.createRootAnchor(e,t)}function Rl(e,t,n,i){r.jsb.host.gl.createAnchor(e,t,n,i)}function Vl(e){r.jsb.host.scene2d.open2DScene(e)}function Ml(){r.jsb.host.scene2d.close2DScene()}function Wl(){r.jsb.host.scene2d.init2D()}function Ul(e,t,n,i){r.jsb.host.ui.nodeFactory(e,t?d(t):null,n,i)}function pl(e,t,n){r.jsb.host.ui.setPropertyString(e,t?d(t):null,n?d(n):null)}function Nl(e,t,n){r.jsb.host.ui.setPropertyInt(e,t?d(t):null,n)}function Ol(e,t){r.jsb.host.ui.setFlags(e,t)}function ql(e,t,n){r.jsb.host.ui.insertNode(e,t,n)}function Hl(e,t){r.jsb.host.ui.removeNode(e,t)}function $l(e){r.jsb.host.ui.releaseNode(e)}function Ql(e,t,n,i,a,c){r.jsb.host.ui.openView(e,t,n,i?d(i):null,a?d(a):null,!!c)}function Xl(e,t,n){r.jsb.host.ui.dropView(e,t,n)}function zl(){r.jsb.host.ui.closeView()}function Zl(e){return r.jsb.host.ui.isViewSupported(e?d(e):null)?1:0}function Kl(e){return r.jsb.host.ui.viewVersion(e?d(e):null)||0}function Yl(e,t,n,i,a){const c=r.jsb.group(i,a);r.jsb.host.ui.viewCall(e,t?d(t):null,r.jsb.valueAt(n),r.jsb.callback(i,c),r.jsb.callback(a,c))}function Jl(e,t,n,i){r.jsb.host.ui.widgetOpen(e,t,n,i)}function xl(e){r.jsb.host.ui.widgetClose(e)}function wl(e,t,n,i,a,c){const o=r.jsb.group(a,c);r.jsb.host.ui.registerFont(e?d(e):null,t?d(t):null,n,i,r.jsb.callback(a,o),r.jsb.callback(c,o))}function El(e,t){r.jsb.host.ui.showToast(e?d(e):null,t)}function eo(e){return r.jsb.host.ui.getButtonPressed(e)?1:0}function ro(e){const t=r.jsb.host.ui.getTextValue(e);return t==null?0:L(String(t))}function to(e,t){const n=r.jsb.host.ui.getBoundingRect(e);if(!n)return 0;for(let i=0;i<4;i++)A[(t>>2)+i]=n[i]||0;return 1}function no(e,t,n,i){r.jsb.host.ui.touchHandler(e,!!t,n,i)}function io(e,t){r.jsb.host.ui.longPressHandler(e,t)}function ao(e,t,n){r.jsb.host.ui.vlistScroll(e,t,!!n)}function co(e,t,n){r.jsb.host.ui.pagerCommand(e,t?d(t):null,!!n)}function _o(e,t,n){r.jsb.host.ui.pagerShowPage(e,t,!!n)}function lo(e,t){r.jsb.host.ui.pagerDropPage(e,t)}function oo(e,t){r.jsb.host.ui.pagerPageMounted(e,!!t)}function uo(e,t,n,i,a,c,o,u,f,v){return r.jsb.host.ui.tweenClaim(e,t?d(t):null,n,A.subarray(i>>2,(i>>2)+a),c,o,u,!!f,v)?1:0}function fo(e,t,n){r.jsb.host.ui.tweenRelease(e,t?d(t):null,n)}function vo(e,t,n,i,a,c,o,u){r.jsb.host.canvas.paint(e,t,n,i,A.subarray(a>>2,(a>>2)+c),r.jsb.strings(o,u))}function so(e,t,n,i,a,c){r.jsb.host.canvas.measureText(e?d(e):null,t?d(t):null,n,i,!!a,A.subarray(c>>2,(c>>2)+16))}function go(e,t,n){return r.jsb.host.canvas.decodeImage(e,t,g.subarray(n>>2,(n>>2)+16))?1:0}function ho(e,t){const n=r.jsb.host.canvas.readPixels(e,g.subarray(t>>2,(t>>2)+16));return r.jsb.bytesOut(n,0)}function bo(e){r.jsb.host.canvas.releaseSurface(e)}function yo(){const e=r.jsb.host.app.state();return e==null?0:L(String(e))}function So(){return r.jsb.host.app.isOnline()?1:0}function jo(e){r.jsb.host.app.openUrl(e?d(e):null)}function Bo(e){r.jsb.host.app.setOrientation(e?d(e):null)}function Co(e,t){r.jsb.host.app.worldChange(e?d(e):null,!!t)}function ko(){r.jsb.host.app.exit()}function Po(e){r.jsb.host.device.setPreciseTouch(!!e)}function Ao(e){r.jsb.host.device.vibrate(e?d(e):null)}function To(){return r.jsb.host.device.motionAvailable()?1:0}function Do(e){return r.jsb.host.device.motionStart(e)?1:0}function mo(){r.jsb.host.device.motionStop()}function Fo(e){const t=r.jsb.host.device.motionSample();if(!t)return 0;for(let n=0;n<8;n++)A[(e>>2)+n]=t[n]||0;return 1}function Lo(e){r.jsb.host.device.clipboardWrite(e?d(e):null)}function Io(e,t){const n=r.jsb.group(e,t);r.jsb.host.device.clipboardRead(r.jsb.callback(e,n),r.jsb.callback(t,n))}function Go(e,t){r.jsb.host.device.share(e,t?d(t):null)}function Ro(e,t,n,i){const a=r.jsb.group(e,t);r.jsb.host.device.openFilePicker(r.jsb.callback(e,a),r.jsb.callback(t,a),!!n,i?d(i):null)}function Vo(e,t){const n=r.jsb.group(e,t);r.jsb.host.device.requestCamera(r.jsb.callback(e,n),r.jsb.callback(t,n))}function Mo(e){return r.jsb.host.fetch.local(e?d(e):null)||0}function Wo(e){r.jsb.host.fetch.dispose(e)}function Uo(e,t,n,i,a,c,o,u,f,v){const s=r.jsb.group(u,f,v);r.jsb.host.fetch.request(e?d(e):null,t?d(t):null,r.jsb.strings(n,i),a?d(a):null,Array.from({length:o},(S,P)=>({key:h[c+P*16+0>>2]?d(h[c+P*16+0>>2]):null,value:h[c+P*16+4>>2]?d(h[c+P*16+4>>2]):null,bufferId:g[c+P*16+8>>2],filename:h[c+P*16+12>>2]?d(h[c+P*16+12>>2]):null})),r.jsb.callback(u,s),r.jsb.callback(f,s),r.jsb.callback(v,s))}function po(e,t,n){const i=r.jsb.host.fetch.buffer(e,!!t);return r.jsb.bytesOut(i,n)}function No(e,t,n,i,a){const c=r.jsb.host.fetch.bufferSlice(e,t,n,!!i);return r.jsb.bytesOut(c,a)}function Oo(e,t){const n=r.jsb.host.fetch.systemBuffer(e);return r.jsb.bytesOut(n,t)}function qo(e,t){return r.jsb.host.fetch.putBuffer(k.subarray(e,e+t))||0}function Ho(e,t,n){const i=r.jsb.group(t,n);r.jsb.host.files.readBytes(e?d(e):null,r.jsb.callback(t,i),r.jsb.callback(n,i))}function $o(e,t,n){const i=r.jsb.group(t,n);r.jsb.host.files.readText(e?d(e):null,r.jsb.callback(t,i),r.jsb.callback(n,i))}function Qo(e,t,n,i){const a=r.jsb.group(n,i);r.jsb.host.files.remove(e?d(e):null,!!t,r.jsb.callback(n,a),r.jsb.callback(i,a))}function Xo(e,t,n){const i=r.jsb.group(t,n);r.jsb.host.files.mkdir(e?d(e):null,r.jsb.callback(t,i),r.jsb.callback(n,i))}function zo(e,t,n,i){const a=r.jsb.group(n,i);r.jsb.host.files.list(e?d(e):null,!!t,r.jsb.callback(n,a),r.jsb.callback(i,a))}function Zo(e,t,n){const i=r.jsb.group(t,n);r.jsb.host.files.stat(e?d(e):null,r.jsb.callback(t,i),r.jsb.callback(n,i))}function Ko(e,t,n,i,a,c){const o=r.jsb.group(a,c);r.jsb.host.files.write(e?d(e):null,k.subarray(t,t+n),!!i,r.jsb.callback(a,o),r.jsb.callback(c,o))}function Yo(e){const t=r.jsb.host.storage.load(e?d(e):null);return t==null?0:L(String(t))}function Jo(e,t){r.jsb.host.storage.save(e?d(e):null,t?d(t):null)}function xo(e,t){r.jsb.host.socket.send(e,t?d(t):null)}function wo(e,t){return r.jsb.host.socket.open(e?d(e):null,r.jsb.callback(t,null))||0}function Eo(e){r.jsb.host.socket.close(e)}function eu(e){return r.jsb.host.service.supported(e?d(e):null)?1:0}function ru(e,t,n){return r.jsb.host.service.open(e?d(e):null,t?d(t):null,r.jsb.callback(n,null))||0}function tu(e){r.jsb.host.service.close(e)}function nu(e){return r.jsb.host.service.version(e?d(e):null)||0}function iu(e,t,n,i,a){const c=r.jsb.group(i,a);r.jsb.host.service.call(e,t?d(t):null,r.jsb.valueAt(n),r.jsb.callback(i,c),r.jsb.callback(a,c))}function au(e,t){return r.jsb.host.input.key(e?d(e):null,t)?1:0}function cu(e){return r.jsb.host.input.read(e)||0}function _u(e){return r.jsb.host.input.setPointerLock(!!e)?1:0}function lu(e,t,n,i){return r.jsb.host.input.rumble(e,t,n,i)?1:0}function ou(){return r.jsb.host.input.keyboardHeight()||0}function uu(e,t){r.jsb.host.media.setVolume(e,t)}function fu(e){return r.jsb.host.media.time(e)||0}function du(e,t){r.jsb.host.media.setTime(e,t)}function vu(e){return r.jsb.host.media.duration(e)||0}function su(e,t){return r.jsb.host.media.createAudio(e?d(e):null,r.jsb.callback(t,null))||0}function gu(e,t){return r.jsb.host.media.createVideo(e?d(e):null,r.jsb.callback(t,null))||0}function hu(e,t){r.jsb.host.media.setLoop(e,!!t)}function bu(e,t){r.jsb.host.media.setPlaying(e,!!t)}function yu(e){r.jsb.host.media.remove(e)}function Su(e,t){const n=d(t);switch(e){case 0:console.error(n);break;case 1:console.error(n);break;case 2:console.warn(n);break;default:console.info(n);break}}function ju(e){console.error(d(e))}function Bu(e){const t=r.jsb.host.ui;t.refreshDone&&t.refreshDone(e)}var X,R,y,qe,He,$e,Qe,ee,z;function Cu(e){r._creatorHasPhysics=e.Bf,r._destroyEngine=e.Cf,r._setHeadlessBackend=e.Df,r._init=e.Ef,r._initWithContext=e.Gf,r._isEngineValid=e.Hf,r._createSwapChain=e.If,r._createSwapChainHeadless=e.Jf,r._destroySwapChain=e.Kf,r._beginFrame=e.Lf,r._physicsStep=e.Mf,r._flushSkinning=e.Nf,r._creatorHasLightmapBake=e.Of,r._setTimeScale=e.Pf,r._getTimeScale=e.Qf,r._updateFrame=e.Rf,r._updateFrameUs=e.Sf,r._setCameraOverride=e.Tf,r._getCurrentSceneBounds=e.Uf,r._render=e.Vf,r._finishFrame=e.Wf,r._renderScene=e.Xf,r._clearRender=e.Yf,r._warmScene=e.Zf,r._setVisibleAll=e._f,r._warmSceneReady=e.$f,r._setCastShadowsGlobal=e.ag,r._setReceiveShadowsGlobal=e.bg,r._createMeshC=e.cg,r._createMeshEx=e.dg,r._createMesh=e.eg,r._setCulling=e.fg,r._setRenderPriority=e.gg,r._setReceiveShadows=e.hg,r._setCastShadows=e.ig,r._hasMesh=e.jg,r._createScene=e.kg,r._createOverlayScene=e.lg,r._setMultiSampleAntiAliasing=e.mg,r._setTemporalAntiAliasing=e.ng,r._setSceneRenderOptions=e.og,r._getCurrentRenderScale=e.pg,r._setBloomOptions=e.qg,r._setCameraExposure=e.rg,r._setToneMapping=e.sg,r._setDisplayHeadroom=e.tg,r._getDisplayHeadroom=e.ug,r._setHdrStrength=e.vg,r._getHdrStrength=e.wg,r._setHdrPaperWhite=e.xg,r._getHdrPaperWhite=e.yg,r._setAmbientOcclusionOptions=e.zg,r._setFogOptions=e.Ag,r._setCameraProjection=e.Bg,r._getCameraProjection=e.Cg,r._setSceneStencil=e.Dg,r._setViewport=e.Eg,r._getCameraFov=e.Fg,r._attachCameraToScene=e.Gg,r._updateProjectionMatrix=e.Hg,r._createARPlane=e.Ig,r._createEntity=e.Jg,r._setParent=e.Kg,r._addEntityToScene=e.Lg,r._updateProjectionMatrixAR=e.Mg,r._openScene=e.Ng,r._removeEntityFromScene=e.Og,r._getName=e.Pg,X=r._malloc=e.Qg,r._findNode=e.Rg,r._setName=e.Sg,r._destroyEntity=e.Tg,r._entityIsOwned=e.Ug,r._getParent=e.Vg,r._createIblLight=e.Wg,r._setEnvironmentIntensity=e.Xg,r._setSkyboxFromEnvironment=e.Yg,r._setSkybox=e.Zg,r._setSkyboxTexture=e._g,r._createSunLight=e.$g,r._createPointLight=e.ah,r._setLightBakeArea=e.bh,r._setLightIntensity=e.ch,r._setLightColor=e.dh,r._getLightIntensity=e.eh,r._getLightColor=e.fh,r._cloneEntity=e.gh,r._setMaterialGlobalParameter=e.hh,r._setMatrix=e.ih,r._setWorldMatrix=e.jh,r._setParentNull=e.kh,r._getChildCount=e.lh,r._getChild=e.mh,r._getChildrenIter=e.nh,r._getMatrix=e.oh,r._getWorldMatrix=e.ph,r._getWorldMatrixInverse=e.qh,r._getCameraViewDirection=e.rh,r._setMaterial=e.sh,r._getMaterial=e.th,r._createMaterial=e.uh,r._createMaterialInstanceFromBytes=e.vh,r._createMaterialInstance=e.wh,r._createNamedMaterialInstance=e.xh,r._createNamedMaterialInstanceFromBytes=e.yh,r._importTexture=e.zh,r._createTextureFromRGBA=e.Ah,r._isKtx2=e.Bh,r._createTextureFromKtx2=e.Ch,R=r._free=e.Dh,r._getTextureWidth=e.Eh,r._getTextureHeight=e.Fh,r._createTexturePixels=e.Gh,r._updateTexturePixels=e.Hh,r._updateTextureFromRGBA=e.Ih,r._precompileShaders=e.Jh,r._precompileShadersReady=e.Kh,r._setUniformRgb=e.Lh,r._setUniformRgba=e.Mh,r._setMaterialDepthTest=e.Nh,r._setMaterialDepthWrite=e.Oh,r._setMaterialCulling=e.Ph,r._setMaterialStencil=e.Qh,r._setUniformFloat=e.Rh,r._setUniformBoolean=e.Sh,r._setUniformNull=e.Th,r._setTextureAnisotropy=e.Uh,r._setHostTextureAnisotropy=e.Vh,r._setTextureMaxSize=e.Wh,r._setUniformTexture=e.Xh,r._destroyMaterialInstance=e.Yh,r._destroyTexture=e.Zh,r._sweepOrphanedResources=e._h,r._setUniformArray=e.$h,r._readMaterialArchive=e.ai,r._initGlbSupport=e.bi,r._lightVolumeClear=e.ci,r._setNextGlbLightmapped=e.di,r._lightmapSetOptions=e.ei,r._lightmapSunSet=e.fi,r._lightmapDebug=e.gi,r._lightmapProbesSet=e.hi,r._lightmapApply=e.ii,r._lightmapObjectApply=e.ji,r._ambientCubeSet=e.ki,r._setLightChannel=e.li,r._foliageSetWind=e.mi,r._foliageSetOptions=e.ni,r._foliageSetLeaf=e.oi,r._foliageSetLook=e.pi,r._foliageSetBender=e.qi,r._foliageSetFade=e.ri,r._setGlbShadows=e.si,r._loadGlb=e.ti,r._setGlbCulling=e.ui,r._glbLoadingUpdate=e.vi,r._getGlbChildCount=e.wi,r._getGlbClipSet=e.xi,r._getClipSetCount=e.yi,r._setVisible=e.zi,r._isVisible=e.Ai,r._setColliderFromMesh=e.Bi,r._computeBoundingBox=e.Ci,r._setColliderBox=e.Di,r._setColliderSphere=e.Ei,r._getRaycastDistance=e.Fi,r._raycast=e.Gi,r._physicsRaycast=e.Hi,r._raycastView=e.Ii,r._pickTriangle=e.Ji,r._setPosition=e.Ki,r._getWorldDirection=e.Li,r._getWorldPosition=e.Mi,r._setQuaternion=e.Ni,r._setScale=e.Oi,r._setEulerAngles=e.Pi,r._setDepthEffects=e.Qi,r._createParticleSystem=e.Ri,r._spawnParticles=e.Si,r._setParticleSystemConfig=e.Ti,r._createNoise=e.Ui,r._setNoiseFrequency=e.Vi,r._setNoiseOctaves=e.Wi,r._setNoiseFractalLunacrity=e.Xi,r._setNoiseFractalGain=e.Yi,r._getNoise2D=e.Zi,r._getNoise3D=e._i,r._createDecalSet=e.$i,r._addDecal=e.aj,r._updateDecal=e.bj,r._removeDecal=e.cj,r._clearDecals=e.dj,r._decalCount=e.ej,r._setLodBias=e.fj,r._setLod=e.gj,r._lightVolumeLoad=e.hj,r._lightVolumeTrack=e.ij,r._lightVolumeSample=e.jj,r._getFrameStats=e.kj,r._createInstancedMesh=e.lj,r._setInstanceTransforms=e.mj,r._setInstancedMeshMaterial=e.nj,r._setInstancedMeshShadows=e.oj,r._terrainCreate=e.pj,r._terrainUpdate=e.qj,r._terrainSetMaterial=e.rj,r._terrainSetShadows=e.sj,r._hasTerrain=e.tj,r._loadClips=e.uj,r._createClipFromTracks=e.vj,r._getClipInfos=e.wj,r._setClipEvents=e.xj,r._deriveClip=e.yj,r._setClipAnchors=e.zj,r._destroyClipSet=e.Aj,r._skinnedCullingSupported=e.Bj,r._animatorCreate=e.Cj,r._animatorDestroy=e.Dj,r._animatorBind=e.Ej,r._animatorBoundTracks=e.Fj,r._animatorSetBlend=e.Gj,r._animatorSetBlendValue=e.Hj,r._animatorPlay=e.Ij,r._animatorStop=e.Jj,r._animatorSeek=e.Kj,r._animatorGetSlotTime=e.Lj,r._animatorGetSlotWeight=e.Mj,r._animatorSetLayer=e.Nj,r._animatorSetLayerAnticipation=e.Oj,r._animatorSlotSetTurn=e.Pj,r._animatorSlotSetWindow=e.Qj,r._animatorSetGlobal=e.Rj,r._animatorSetRootMotion=e.Sj,r._animatorGetRootMotion=e.Tj,r._animatorSetStats=e.Uj,r._animatorStats=e.Vj,r._animatorSetFeet=e.Wj,r._animatorSlotCurveAt=e.Xj,r._animatorSlotCurveInfo=e.Yj,r._animatorSlotTurn=e.Zj,r._animatorSlotTimeAtTurn=e._j,r._animatorLayerPhase=e.$j,r._animatorSeekPhase=e.ak,r._animatorSlotFit=e.bk,r._animatorSlotAlign=e.ck,r._animatorSlotExit=e.dk,r._animatorSlotContacts=e.ek,r._animatorSlotTreads=e.fk,r._animatorSlotPhysics=e.gk,r._animatorSlotFeatures=e.hk,r._animatorKneeAxis=e.ik,r._animatorSlotKneePole=e.jk,r._animatorSetStepWarp=e.kk,r._animatorSetMotion=e.lk,r._animatorSetDriveInput=e.mk,r._animatorSetSlotDrive=e.nk,r._animatorSetWarpParams=e.ok,r._animatorSetFeetParams=e.pk,r._animatorFootState=e.qk,r._animatorIkCreate=e.rk,r._animatorIkDestroy=e.sk,r._animatorIkSet=e.tk,r._animatorIkNodes=e.uk,r._animatorIkAnchor=e.vk,r._animatorIkState=e.wk,r._animatorSetSocket=e.xk,r._locoCreate=e.yk,r._locoDestroy=e.zk,r._locoSetParams=e.Ak,r._locoDefaults=e.Bk,r._locoSetEntry=e.Ck,r._locoClearSet=e.Dk,r._locoSetInput=e.Ek,r._locoStep=e.Fk,r._locoUpdate=e.Gk,r._locoRead=e.Hk,r._locoStopReport=e.Ik,r._locoBuildDatabase=e.Jk,r._characterForEntity=e.Kk,r._characterSetExternalVelocity=e.Lk,r._physicsProbeGround=e.Mk,r._characterGetGroundState=e.Nk,r._dynamicBoneCreate=e.Ok,r._dynamicBoneDestroy=e.Pk,r._dynamicBoneSet=e.Qk,r._dynamicBoneSetFloor=e.Rk,r._dynamicBoneReset=e.Sk,r._dynamicBoneTargets=e.Tk,r._dynamicBoneSetColliders=e.Uk,r._dynamicBoneParticles=e.Vk,r._dynamicBoneColliderCreate=e.Wk,r._dynamicBoneColliderSet=e.Xk,r._dynamicBoneColliderDestroy=e.Yk,r._setPhysicsInterpolation=e.Zk,r._physicsConfigure=e._k,r._physicsStaticGeometry=e.$k,r._physicsBuildBox=e.al,r._physicsBuildSphere=e.bl,r._physicsBuildCylinder=e.cl,r._physicsBuildCapsule=e.dl,r._physicsBuildMesh=e.el,r._physicsBuildMeshFromEntity=e.fl,r._physicsBuildHeightField=e.gl,r._physicsUpdateHeightField=e.hl,r._glbTriangles=e.il,r._physicsSetShapeOrigin=e.jl,r._physicsSetBodyShape=e.kl,r._physicsDestroyShape=e.ll,r._physicsCreateBody=e.ml,r._physicsSetPickable=e.nl,r._physicsSetFriction=e.ol,r._physicsGetFriction=e.pl,r._physicsCreateBox=e.ql,r._physicsCreateSphere=e.rl,r._physicsCreateCylinder=e.sl,r._physicsSetLinearVelocity=e.tl,r._physicsGetLinearVelocity=e.ul,r._physicsSetAngularVelocity=e.vl,r._physicsGetAngularVelocity=e.wl,r._physicsApplyImpulse=e.xl,r._physicsApplyImpulseAt=e.yl,r._physicsSetBodyPosition=e.zl,r._physicsSetBodyRotation=e.Al,r._physicsRemoveBody=e.Bl,r._characterCreate=e.Cl,r._characterDestroy=e.Dl,r._characterMove=e.El,r._characterMoveFree=e.Fl,r._characterSetVerticalVelocity=e.Gl,r._characterSetVelocity=e.Hl,r._characterSetGravityScale=e.Il,r._characterSetMaxSlope=e.Jl,r._characterSetShape=e.Kl,r._characterGetVelocity=e.Ll,r._characterSetPosition=e.Ml,r._vehicleCreate=e.Nl,r._vehicleDestroy=e.Ol,r._vehicleSetInput=e.Pl,r._vehicleSetTuning=e.Ql,r._vehicleGetState=e.Rl,r._vehicleReset=e.Sl,r._vehicleBodyId=e.Tl,r._ragdollCreate=e.Ul,r._ragdollDestroy=e.Vl,r._ragdollActivate=e.Wl,r._ragdollDeactivate=e.Xl,r._ragdollSetDrive=e.Yl,r._ragdollActive=e.Zl,r._ragdollBodyId=e._l,r._audioAttachSource=e.$l,r._audioDetachSource=e.am,r._audioAttachZone=e.bm,r._audioDetachZone=e.cm,r._audioSetListener=e.dm,r._audioResetBindings=e.em,r._setNodeClass=e.fm,r._setThemeValue=e.gm,r._applyTheme=e.hm,r._getScreenId=e.im,r._getParentNode=e.jm,r._c2dGetLocalTransform=e.km,r._c2dSetPosition=e.lm,r._c2dSetRotation=e.mm,r._c2dSetScale=e.nm,r._c2dSetSpriteOpacity=e.om,r._c2dSetSpriteColor=e.pm,r._c2dGetSpriteOpacity=e.qm,r._c2dGetSpriteColor=e.rm,r._jsbInvoke=e.sm,r._jsbInvokeGetter=e.tm,r._jsbInvokeData=e.um,r._jsbFunctionGone=e.vm,r._jsbFinalize=e.wm,r._jsbHostCall=e.xm,r._jsbRejection=e.ym,r._calculate=e.zm,r._widgetDetach=e.Am,r._recalculate=e.Bm,r._calculateRoot=e.Cm,r._calculateWidget=e.Dm,r._collectBegin=e.Em,r._collectRoot=e.Fm,r._collectCount=e.Gm,r._jsbViewEvent=e.Hm,r._getNodeOwner=e.Im,r._createNodeRoot=e.Jm,r._setNodeMeasure=e.Km,r._setNodeOwner=e.Lm,r._forEachNode=e.Mm,r._freeNode=e.Nm,r._vlistExists=e.Om,r._adoptNode=e.Pm,r._detachNode=e.Qm,r._cuiChildCount=e.Rm,r._cuiChildAt=e.Sm,r._setStringExt=e.Tm,r._resetPropExt=e.Um,r._nodeHasMeasure=e.Vm,r._nodeHasFixedSize=e.Wm,r._markNodeDirty=e.Xm,r._setNodeInteractive=e.Ym,r._setFloatExt=e.Zm,r._getLayer=e._m,r._setNodeHovered=e.$m,r._cuiPaintJson=e.an,r._setVListHandlers=e.bn,r._vlistInit=e.cn,r._vlistFree=e.dn,r._vlistSetKeys=e.en,r._vlistInsertKeys=e.fn,r._vlistRemoveKeys=e.gn,r._vlistInvalidate=e.hn,r._vlistCreateItemRoot=e.jn,r._vlistItemMounted=e.kn,r._vlistItemUnmounted=e.ln,r._vlistToPhysical=e.mn,r._getContentHeight=e.nn,r._vlistOffsetOf=e.on,r._c2dInit=e.pn,r._c2dOpenScene=e.qn,r._c2dSetUpdateCallbacks=e.rn,r._c2dSetAnimEventCallback=e.sn,r._c2dSetPhysicsEventCallback=e.tn,r._c2dCloseScene=e.un,r._c2dEntityIsOwned=e.vn,r._c2dDestroyEntity=e.wn,r._c2dResetStateCache=e.xn,r._c2dRender=e.yn,r._c2dTick=e.zn,r._c2dGetChildCount=e.An,r._c2dGetChild=e.Bn,r._c2dCreateTexture=e.Cn,r._c2dGetTextureWidth=e.Dn,r._c2dGetTextureHeight=e.En,r._c2dCreateTextureFromRGBA=e.Fn,r._c2dUpdateTextureFromRGBA=e.Gn,r._creator2dVersion=e.Hn,r._c2dSetTimeScale=e.In,r._c2dSetClearColor=e.Jn,r._c2dCreateScene=e.Kn,r._c2dDestroyScene=e.Ln,r._c2dSceneSetClearColor=e.Mn,r._c2dAddEntityToScene=e.Nn,r._c2dRemoveEntityFromScene=e.On,r._c2dSetLayerYSort=e.Pn,r._c2dCameraSetPosition=e.Qn,r._c2dCameraSetZoom=e.Rn,r._c2dCameraSetRotation=e.Sn,r._c2dCameraScreenToWorld=e.Tn,r._c2dCameraWorldToScreen=e.Un,r._c2dCreateEntity=e.Vn,r._c2dSetLayer=e.Wn,r._c2dSetZ=e.Xn,r._c2dSetVisible=e.Yn,r._c2dGetPosition=e.Zn,r._c2dSetParent=e._n,r._c2dGetParent=e.$n,r._c2dGetWorldPosition=e.ao,r._c2dGetWorldMatrix=e.bo,r._c2dWorldToLocal=e.co,r._c2dLocalToWorld=e.eo,r._c2dSetSprite=e.fo,r._c2dSetSpriteFrame=e.go,r._c2dSetSpriteFramePx=e.ho,r._c2dSetSpriteSize=e.io,r._c2dSetSpriteAnchor=e.jo,r._c2dSetSpriteFlip=e.ko,r._c2dDestroyTexture=e.lo,r._c2dSetDefaultFilter=e.mo,r._c2dDefineAnimation=e.no,r._c2dPlayAnimation=e.oo,r._c2dStopAnimation=e.po,r._c2dSetAnimationSpeed=e.qo,r._c2dGetAnimationFrame=e.ro,r._c2dCreateTilemap=e.so,r._c2dSetTile=e.to,r._c2dBulkSetPositions=e.uo,r._c2dPhysicsHasSupport=e.vo,r._c2dPhysicsConfigure=e.wo,r._c2dSetInterpolation=e.xo,r._c2dPhysicsCreateBody=e.yo,r._c2dPhysicsRemoveBody=e.zo,r._c2dPhysicsAddBox=e.Ao,r._c2dPhysicsAddCircle=e.Bo,r._c2dPhysicsAddCapsule=e.Co,r._c2dPhysicsAddSegment=e.Do,r._c2dPhysicsAddPolygon=e.Eo,r._c2dPhysicsAddChain=e.Fo,r._c2dPhysicsClearShapes=e.Go,r._c2dPhysicsSetContactEvents=e.Ho,r._c2dPhysicsSetLinearVelocity=e.Io,r._c2dPhysicsGetLinearVelocity=e.Jo,r._c2dPhysicsSetAngularVelocity=e.Ko,r._c2dPhysicsGetAngularVelocity=e.Lo,r._c2dPhysicsApplyLinearImpulse=e.Mo,r._c2dPhysicsApplyImpulseAt=e.No,r._c2dPhysicsApplyForce=e.Oo,r._c2dPhysicsSetFromEntity=e.Po,r._c2dPhysicsSetFixedRotation=e.Qo,r._c2dPhysicsSetGravityScale=e.Ro,r._c2dPhysicsSetLinearDamping=e.So,r._c2dPhysicsSetAngularDamping=e.To,r._c2dPhysicsSetBullet=e.Uo,r._c2dPhysicsSetEnabled=e.Vo,r._c2dPhysicsSetAwake=e.Wo,r._c2dPhysicsSetMass=e.Xo,r._c2dPhysicsGetMass=e.Yo,r._c2dPhysicsSetMotionType=e.Zo,r._c2dPhysicsSetFriction=e._o,r._c2dPhysicsSetBounce=e.$o,r._c2dPhysicsSetFilter=e.ap,r._c2dPhysicsRaycastClosest=e.bp,r._c2dPhysicsRaycastAll=e.cp,r._c2dPhysicsOverlap=e.dp,r._c2dPhysicsOverlapPoint=e.ep,r._c2dCharacterCreate=e.fp,r._c2dCharacterDestroy=e.gp,r._c2dCharacterMove=e.hp,r._c2dCharacterMoveFree=e.ip,r._c2dCharacterSetVerticalVelocity=e.jp,r._c2dCharacterSetVelocity=e.kp,r._c2dCharacterSetGravityScale=e.lp,r._c2dCharacterSetMaxSlope=e.mp,r._c2dCharacterSetFilter=e.np,r._c2dCharacterSetDropThrough=e.op,r._c2dCharacterSetCapsule=e.pp,r._c2dCharacterSetFromEntity=e.qp,r._c2dCharacterGetState=e.rp,r._c2dCharacterGetCollisions=e.sp,r._c2dPhysicsSetOneWay=e.tp,r._c2dPickSprite=e.up,r._cnavUnloadAll=e.vp,r._cnavLastError=e.wp,r._cnavLoad=e.xp,r._cnavUnload=e.yp,r._cnavHeader=e.zp,r._cnavPolyCount=e.Ap,r._cnavSetAreaCost=e.Bp,r._cnavPath=e.Cp,r._cnavNearestPoint=e.Dp,r._cnavRay=e.Ep,r._cnavRandom=e.Fp,r._cnavTriangles=e.Gp,r._cnavCrowdNew=e.Hp,r._cnavCrowdFree=e.Ip,r._cnavAgentAdd=e.Jp,r._cnavAgentRemove=e.Kp,r._cnavAgentSetParams=e.Lp,r._cnavAgentSetTarget=e.Mp,r._cnavAgentSetVelocity=e.Np,r._cnavAgentResetTarget=e.Op,r._cnavAgentWarp=e.Pp,r._cnavCrowdStep=e.Qp,r._cnavCrowdReadAll=e.Rp,r._c2dInitMetal=e.Sp,r._c2dInitVulkan=e.Tp,r._c2dInitHeadless=e.Up,r._c2dTickHeadless=e.Vp,r._c2dReadDrawList=e.Wp,r._c2dShutdown=e.Xp,r._c2dSetViewport=e.Yp,r._c2dSetDensity=e.Zp,r._c2dSetGLFramebuffer=e._p,r._c2dDrawSceneGL=e.$p,r._c2dTargetCreate=e.aq,r._c2dTargetCreateMetal=e.bq,r._c2dTargetDestroy=e.cq,r._c2dSetPresentTarget=e.dq,r._c2dDrawSceneTarget=e.eq,r._c2dTargetVkImage=e.fq,r._c2dTargetMtlTexture=e.gq,r._c2dRenderMetal=e.hq,r._setMeasureFunc=e.iq,r._createNode=e.jq,r._cuiStringOf=e.kq,r._removeNode=e.lq,r._paintCollect=e.mq,r._paintNodes=e.nq,r._paintRecords=e.oq,r._cuiPaintOf=e.pq,r._cuiGradientOf=e.qq,r._getColor=e.rq,r._setFloat=e.sq,r._setString=e.tq,r._getThemeValue=e.uq,r._resetProp=e.vq,r._enableNodeLayer=e.wq,r._disableNodeLayer=e.xq,r._resetNodeLayer=e.yq,r._mergeNodeLayer=e.zq,r._setNodePressed=e.Aq,r._setNodeFocused=e.Bq,r._setConditionValue=e.Cq,r._freeWidget=e.Dq,r._setSafePaddings=e.Eq,r._overrideRootSafeBottom=e.Fq,r._setSafeAreaBars=e.Gq,r._consumeNeedsLayout=e.Hq,r._getCachedRoot=e.Iq,r._collectNodes=e.Jq,r._collectRects=e.Kq,r._getOffset=e.Lq,r._getContentWidth=e.Mq,r._getLayoutPointer=e.Nq,r._getLayoutDOMPointer=e.Oq,r._getPaddingPointer=e.Pq,r._vlistOnScroll=e.Qq,r._vlistUpdateLayout=e.Rq,r._vlistItemOffsetOf=e.Sq,r._cnavBuildDefaults=e.Tq,r._cnavBuildCreate=e.Uq,r._cnavBuildDestroy=e.Vq,r._cnavBuildAddTriangles=e.Wq,r._cnavBuildAddVolume=e.Xq,r._cnavBuildAddLink=e.Yq,r._cnavBuildRun=e.Zq,r._cnavBuildData=e._q,r._cnavBuildTileCount=e.$q,r._cnavBuildPolyCount=e.ar,r._cnavBuildBounds=e.br,r._cnavMeshLoad=e.cr,r._cnavMeshDestroy=e.dr,r._cnavMeshHeader=e.er,r._cnavMeshTileCount=e.fr,r._cnavMeshPolyCount=e.gr,r._cnavMeshSetAreaCost=e.hr,r._cnavFindPath=e.ir,r._cnavNearest=e.jr,r._cnavRaycast=e.kr,r._cnavRandomPoint=e.lr,r._cnavDebugTriangles=e.mr,r._cnavAgentDefaults=e.nr,r._cnavCrowdCreate=e.or,r._cnavCrowdDestroy=e.pr,r._cnavCrowdMaxAgents=e.qr,r._cnavCrowdAdd=e.rr,r._cnavCrowdRemove=e.sr,r._cnavCrowdSetParams=e.tr,r._cnavCrowdSetTarget=e.ur,r._cnavCrowdSetVelocity=e.vr,r._cnavCrowdResetTarget=e.wr,r._cnavCrowdWarp=e.xr,r._cnavCrowdUpdate=e.yr,r._cnavCrowdRead=e.zr,r._creatorWebVersion=e.Ar,r._creatorWebInit=e.Br,r._creatorWebRun=e.Cr,r._creatorWebTick=e.Dr,r._creatorWebTickCore=e.Er,r._creatorWebResize=e.Fr,r._creatorWebLayoutFrame=e.Gr,r._creatorWebDebugDump=e.Hr,r._creatorWebBackPressed=e.Ir,r._creatorWebSetStepEveryTick=e.Jr,r._creatorWebSceneOpen=e.Kr,r._creatorWebFrameRendered=e.Lr,r._creatorWebSetViewport=e.Mr,r._creatorWebSceneRenderScale=e.Nr,r._creatorWebAppEvent=e.Or,r._creatorWebInputEvent=e.Pr,r._creatorWebKeyboardEvent=e.Qr,r._creatorWebSetLaunchUrl=e.Rr,r._creatorWebSetBootProjectUuid=e.Sr,r._creatorWebQuitToLauncher=e.Tr,r._creatorWebViewEvent=e.Ur,r._creatorWebNodeEvent=e.Vr,r._creatorWebNodeEventNum=e.Wr,r._creatorWebNodeEventStr=e.Xr,r._creatorWebNodeLayout=e.Yr,r._creatorWebNodeScroll=e.Zr,r._creatorWebNodeTouchStart=e._r,r._creatorWebNodeLongPress=e.$r,r._creatorWebNodeClick=e.as,r._creatorWebTouchMove=e.bs,r._creatorWebTouchEnd=e.cs,r._creatorWebTouchCancel=e.ds,r._creatorWebRefresh=e.es,r._creatorWebHover=e.fs,r._creatorWebSceneTouchStart=e.gs,r._creatorWebSceneTouchClick=e.hs,r._creatorWebSetShrunkRoot=e.is,r._creatorWebSetWidgetBox=e.js,r._creatorWebRootLayoutHeight=e.ks,r._creatorWebPagerLayoutPages=e.ls,r._creatorWebPagerDidSelect=e.ms,r._creatorWebPagerTabCount=e.ns,r._creatorWebPagerSelectedIndex=e.os,r._creatorWebPagerStackLen=e.ps,r._creatorWebPagerPageNode=e.qs,r._creatorWeb2dEnsureInited=e.rs,r._creatorWeb2dSceneOpen=e.ss,r._creatorWeb2dRenderFrame=e.ts,r._creatorWeb2dEmitPointer=e.us,y=e.vs,qe=e.ws,He=e.xs,$e=e.ys,Qe=e.zs,ee=e.zf,z=e.Ff}var ku={Za:cr,yf:_r,a:lr,x:or,xf:ur,i:fr,c:dr,Pb:vr,wf:sr,vf:gr,uf:hr,of:br,Nb:jr,nf:Br,mf:Pr,Mb:Tr,J:Dr,t:mr,lf:Lr,Xa:Ur,kf:pr,jf:Nr,tf:Hr,hf:ju,Lb:Xr,gf:zr,ff:Zr,Ca:Ie,ef:Kr,df:xr,F:at,sf:_t,rf:lt,Ya:ot,qf:ut,pf:ft,Ob:st,s:ht,Ba:yt,cf:jt,bf:Ct,n:Pt,Aa:Tt,Wa:mt,w:Lt,Va:Gt,Y:Vt,B:Wt,Ua:pt,Kb:Ot,za:Ht,ya:Qt,ka:zt,X:Kt,ja:Jt,af:wt,$e:en,Jb:tn,xa:an,Ta:_n,_e:on,Ze:fn,Ye:vn,Xe:gn,We:bn,W:Sn,Ib:Bn,Sa:kn,Ra:An,Ve:Dn,Qa:Fn,Hb:In,wa:Rn,va:Mn,I:Un,Q:Nn,Ue:qn,ua:$n,ta:Xn,V:Zn,Gb:Yn,ca:xn,Fb:En,ba:ri,aa:ni,Eb:ai,Db:_i,o:oi,Pa:fi,Te:vi,Cb:gi,Oa:bi,Bb:Si,Na:Bi,r:ki,Ab:Ai,Se:Di,Re:Fi,Ma:Ii,H:Ri,A:Mi,v:Ui,P:Ni,sa:qi,ia:$i,U:Xi,Qe:Zi,La:Yi,Ka:xi,O:Ei,zb:ra,Pe:na,Oe:aa,Ne:_a,$:oa,Me:da,m:sa,Le:ha,yb:ya,N:ja,Ke:Ca,xb:Pa,ha:Ta,_:ma,Je:La,Ie:Ga,ga:Wa,He:pa,wb:Oa,Ja:Ha,Ge:Qa,M:za,ra:Ka,Fe:Ja,Ee:wa,vb:ec,De:tc,ub:ic,qa:cc,y:lc,Ia:uc,tb:dc,Ce:sc,fa:hc,pa:yc,L:jc,Be:Cc,ea:Pc,sb:mc,rb:Lc,T:Gc,qb:Vc,Ha:Wc,Ga:pc,Fa:Oc,Ae:$c,pb:Xc,Z:Zc,ob:Yc,ze:xc,nb:Ec,mb:r_,lb:n_,kb:a_,jb:__,ib:o_,ye:f_,hb:v_,gb:g_,xe:b_,K:S_,we:B_,ve:k_,ue:A_,fb:D_,eb:F_,Ea:I_,z:Ru,q:Nu,k:pu,j:Uu,db:Qu,e:Tu,oa:Ou,g:Pu,da:Zu,G:Hu,te:Ju,cb:Lu,se:zu,f:Au,l:mu,E:Wu,re:xu,u:Gu,d:Vu,S:Ku,qe:Mu,p:$u,pe:qu,oe:Iu,h:Du,ne:wu,na:Fu,R:Yu,ma:Xu,me:dl,le:vl,ke:cl,je:gl,la:q_,ie:_l,he:ol,ge:hl,fe:Q_,ee:X_,de:$_,ce:z_,be:O_,ae:Y_,$d:el,_d:sl,Zd:x_,Yd:ll,Xd:nl,bb:J_,Wd:w_,Vd:ul,C:H_,Ud:Z_,Td:K_,Sd:E_,ab:al,Da:il,Rd:rl,Qd:tl,Pd:fl,Od:ko,Nd:So,Md:jo,Ld:Bo,Kd:yo,Jd:Co,Id:go,Hd:so,Gd:vo,Fd:ho,Ed:bo,Dd:Io,Cd:Lo,Bd:To,Ad:Fo,zd:Do,yd:mo,xd:Ro,wd:Vo,vd:Po,ud:Go,td:Ao,sd:po,rd:No,qd:Wo,pd:Mo,od:qo,nd:Uo,md:Oo,ld:jl,$a:Sl,kd:zo,jd:Xo,id:Ho,hd:$o,gd:Qo,fd:Zo,ed:Ko,dd:Pl,cd:Il,bd:Rl,ad:kl,$c:Tl,_c:Gl,Zc:Al,Yc:Cl,Xc:Bl,Wc:Dl,Vc:Fl,Uc:ml,Tc:Ll,b:yl,Sc:au,Rc:ou,Qc:cu,Pc:lu,Oc:_u,Nc:su,Mc:gu,Lc:vu,Kc:yu,Jc:hu,Ic:bu,Hc:du,Gc:uu,Fc:fu,Ec:Bu,Dc:Ml,Cc:Wl,Bc:Vl,Ac:iu,zc:tu,yc:ru,xc:eu,wc:nu,vc:Eo,uc:wo,tc:xo,sc:Yo,rc:Jo,D:bl,qc:zl,pc:Xl,oc:to,nc:eo,mc:ro,lc:ql,kc:Zl,jc:io,ic:Ul,hc:Ql,gc:co,fc:lo,ec:oo,dc:_o,cc:wl,bc:$l,ac:Hl,$b:Ol,_b:Nl,Zb:pl,Yb:El,Xb:no,Wb:uo,Vb:fo,Ub:Yl,Tb:Kl,Sb:ao,Rb:xl,Qb:Jl,_a:Su};function Pu(e,t,n){var i=C();try{return b(e)(t,n)}catch(a){if(B(i),!(a instanceof j))throw a;y(1,0)}}function Au(e){var t=C();try{b(e)()}catch(n){if(B(t),!(n instanceof j))throw n;y(1,0)}}function Tu(e,t){var n=C();try{return b(e)(t)}catch(i){if(B(n),!(i instanceof j))throw i;y(1,0)}}function Du(e,t,n,i,a){var c=C();try{b(e)(t,n,i,a)}catch(o){if(B(c),!(o instanceof j))throw o;y(1,0)}}function mu(e,t){var n=C();try{b(e)(t)}catch(i){if(B(n),!(i instanceof j))throw i;y(1,0)}}function Fu(e,t,n,i,a,c){var o=C();try{b(e)(t,n,i,a,c)}catch(u){if(B(o),!(u instanceof j))throw u;y(1,0)}}function Lu(e,t,n,i,a,c,o,u,f,v,s,S){var P=C();try{return b(e)(t,n,i,a,c,o,u,f,v,s,S)}catch(M){if(B(P),!(M instanceof j))throw M;y(1,0)}}function Iu(e,t,n,i,a,c,o,u,f,v,s){var S=C();try{b(e)(t,n,i,a,c,o,u,f,v,s)}catch(P){if(B(S),!(P instanceof j))throw P;y(1,0)}}function Gu(e,t,n,i){var a=C();try{b(e)(t,n,i)}catch(c){if(B(a),!(c instanceof j))throw c;y(1,0)}}function Ru(e,t){var n=C();try{return b(e)(t)}catch(i){if(B(n),!(i instanceof j))throw i;y(1,0)}}function Vu(e,t,n){var i=C();try{b(e)(t,n)}catch(a){if(B(i),!(a instanceof j))throw a;y(1,0)}}function Mu(e,t,n,i,a){var c=C();try{b(e)(t,n,i,a)}catch(o){if(B(c),!(o instanceof j))throw o;y(1,0)}}function Wu(e,t,n){var i=C();try{b(e)(t,n)}catch(a){if(B(i),!(a instanceof j))throw a;y(1,0)}}function Uu(e,t,n,i,a,c){var o=C();try{return b(e)(t,n,i,a,c)}catch(u){if(B(o),!(u instanceof j))throw u;y(1,0)}}function pu(e,t,n,i,a){var c=C();try{return b(e)(t,n,i,a)}catch(o){if(B(c),!(o instanceof j))throw o;y(1,0)}}function Nu(e,t,n,i){var a=C();try{return b(e)(t,n,i)}catch(c){if(B(a),!(c instanceof j))throw c;y(1,0)}}function Ou(e,t,n,i,a,c,o,u,f,v,s,S,P,M){var de=C();try{return b(e)(t,n,i,a,c,o,u,f,v,s,S,P,M)}catch(K){if(B(de),!(K instanceof j))throw K;y(1,0)}}function qu(e,t,n,i,a,c,o,u,f,v){var s=C();try{b(e)(t,n,i,a,c,o,u,f,v)}catch(S){if(B(s),!(S instanceof j))throw S;y(1,0)}}function Hu(e,t,n,i,a){var c=C();try{return b(e)(t,n,i,a)}catch(o){if(B(c),!(o instanceof j))throw o;y(1,0)}}function $u(e,t,n,i){var a=C();try{b(e)(t,n,i)}catch(c){if(B(a),!(c instanceof j))throw c;y(1,0)}}function Qu(e,t,n,i,a,c,o){var u=C();try{return b(e)(t,n,i,a,c,o)}catch(f){if(B(u),!(f instanceof j))throw f;y(1,0)}}function Xu(e,t,n,i,a,c,o,u,f){var v=C();try{b(e)(t,n,i,a,c,o,u,f)}catch(s){if(B(v),!(s instanceof j))throw s;y(1,0)}}function zu(e,t,n,i,a,c,o,u,f,v){var s=C();try{return b(e)(t,n,i,a,c,o,u,f,v)}catch(S){if(B(s),!(S instanceof j))throw S;y(1,0)}}function Zu(e,t,n,i){var a=C();try{return b(e)(t,n,i)}catch(c){if(B(a),!(c instanceof j))throw c;y(1,0)}}function Ku(e,t,n,i){var a=C();try{b(e)(t,n,i)}catch(c){if(B(a),!(c instanceof j))throw c;y(1,0)}}function Yu(e,t,n,i,a,c,o){var u=C();try{b(e)(t,n,i,a,c,o)}catch(f){if(B(u),!(f instanceof j))throw f;y(1,0)}}function Ju(e,t,n,i,a,c){var o=C();try{return b(e)(t,n,i,a,c)}catch(u){if(B(o),!(u instanceof j))throw u;y(1,0)}}function xu(e,t,n,i,a){var c=C();try{b(e)(t,n,i,a)}catch(o){if(B(c),!(o instanceof j))throw o;y(1,0)}}function wu(e,t,n,i,a,c){var o=C();try{b(e)(t,n,i,a,c)}catch(u){if(B(o),!(u instanceof j))throw u;y(1,0)}}async function Eu(){var t;Ke();var e=r.setStatus;e&&(e("Running..."),await new Promise(n=>setTimeout(n,1)),setTimeout(e,1,"")),!ge&&(Ye(),(t=r.onRuntimeInitialized)==null||t.call(r),Je())}var Z;return Z=await nr(),await Eu(),r}export{nf as default};
|