@aura3d/engine 4.3.5 → 4.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -5,19 +5,25 @@
5
5
  [![license: MIT](https://img.shields.io/badge/license-MIT-green.svg)](https://opensource.org/licenses/MIT)
6
6
  [![TypeScript](https://img.shields.io/badge/TypeScript-browser%203D-3178c6.svg)](https://www.typescriptlang.org/)
7
7
 
8
- **A TypeScript SDK for agent-written browser 3D apps and games.** You describe a scene with typed, declarative nodes; the toolchain brings typed assets, checks and deploy gates. The current version is in [`CHANGELOG.md`](./CHANGELOG.md).
8
+ **The TypeScript 3D engine that ships the whole stack.** Aura3D is a browser 3D engine with its own renderer, plus the toolchain around it: typed and licensed assets, lighting looks, a game kit and deploy checks. It is built for agent-written browser 3D, and people who write it by hand use the same API. The current version is in [`CHANGELOG.md`](./CHANGELOG.md).
9
+
10
+ A lit, shadowed, framed product with orbit controls, in 10 lines:
9
11
 
10
12
  ```ts
11
- import { createAuraApp, looks, model, scene } from "@aura3d/engine";
13
+ import { camera, createAuraApp, interactions, looks, model, scene } from "@aura3d/engine";
12
14
  import { assets } from "./aura-assets";
13
15
 
14
16
  createAuraApp("#app", {
15
- scene: scene().add(looks.preset("product-studio")).add(model(assets.robot)),
17
+ scene: scene()
18
+ .add(looks.preset("product-studio"))
19
+ .add(model(assets.product, { name: "product", targetHeight: 1.6, castShadow: true }))
20
+ .add(interactions.orbit({ target: "product" }))
21
+ .camera(camera.frameAsset(assets.product, { targetHeight: 1.6 })),
16
22
  ...looks.appOptions("product-studio")
17
23
  });
18
24
  ```
19
25
 
20
- A `looks.preset` supplies image-based light, a shadow-casting key, fog, background and a post grade as one unit. `model(assets.robot)` is a typed asset generated by the CLI, never a raw URL.
26
+ A `looks.preset` supplies image-based light, a shadow-casting key, fog, background and a post grade as one unit. `model(assets.product)` is a typed asset generated by the CLI, never a raw URL. The same scene in three.js is 38 lines before orbit controls ([tagline check](./evidence/vs-threejs/tagline-check/); line counts include imports and skip blank and comment lines).
21
27
 
22
28
  ## Start in five commands
23
29
 
@@ -29,7 +35,7 @@ npx @aura3d/cli@latest assets resolve "robot" --name robot # assets add also w
29
35
  npm run build && npx @aura3d/cli@latest check-deploy --dist dist
30
36
  ```
31
37
 
32
- Templates: `product-viewer` (default), `cinematic-scene`, `mini-game`, `racing-starter`, `falling-blocks-starter`, `fighting-game`, `character-controller`, `arena-shooter` and more (`npx create-aura3d@latest --help`). Known issue: a stock `vite build` of 4.1.2 fails on a Node-only import in the engine graph; the fix ships in 4.1.3.
38
+ Templates: `product-viewer` (default), `cinematic-scene`, `mini-game`, `racing-starter`, `falling-blocks-starter`, `fighting-game`, `character-controller`, `arena-shooter` and more (`npx create-aura3d@latest --help`).
33
39
 
34
40
  ## If you are an AI agent
35
41
 
@@ -41,7 +47,7 @@ Read [`llms.txt`](./llms.txt) (one screen, the fast path), then [`docs/agents/ag
41
47
  - **Typed, provenance-checked assets.** `assets search`, `assets resolve`, `assets add`, `assets import-meshy`, `assets optimize`, `assets validate`. In production a model needs a same-origin URL, a sha256 and provenance, otherwise it draws nothing. Meshy generation goes through the CLI with admission records.
42
48
  - **Game kit.** `@aura3d/engine/game` (`createGame`: lifecycle, pause, results, DOM HUD, touch, juice, sound), `createFixedStepLoop`, `installQaHooks` and seeded replay, `createCueBank` audio synth, `defineModelAssets`, racket-sports and other genre kits.
43
49
  - **Safety net.** `installSafetyNet` from `@aura3d/debug`: `?diag=1` panel, quality switches and black-frame self-heal. Custom shader failures are reported, not silent.
44
- - **Checks.** `aura3d doctor`, `aura3d check-deploy`, route-health and screenshot evidence, the look-dev loop (`aura3d look capture`, `aura3d look lint`).
50
+ - **Checks.** `aura3d doctor`, `aura3d check-deploy` (add `--browser` to load every route in headless Chromium and fail on failed requests and console errors), route-health and screenshot evidence, the look-dev loop (`aura3d look capture`, `aura3d look lint`).
45
51
  - **Migration.** `aura3d migrate three` is a codemod that records each approximation. It is not a drop-in claim.
46
52
 
47
53
  Kit documentation: [`docs/api/game-kit.md`](./docs/api/game-kit.md), [`qa-kit.md`](./docs/api/qa-kit.md), [`safety-net.md`](./docs/api/safety-net.md), [`audio-synth.md`](./docs/api/audio-synth.md), [`model-loader.md`](./docs/api/model-loader.md), [`glsl-chunks.md`](./docs/api/glsl-chunks.md), [`scatter-merge.md`](./docs/api/scatter-merge.md), [`cli-asset-tools.md`](./docs/api/cli-asset-tools.md), [`toon.md`](./docs/api/toon.md).
@@ -50,9 +56,16 @@ Kit documentation: [`docs/api/game-kit.md`](./docs/api/game-kit.md), [`qa-kit.md
50
56
 
51
57
  The [showcase index](https://aura3d.auraone.ai/apps/showcase-index/) has 25 playable games across racing, sports, action, platformers and arcade, including Aura Slam 3D (tennis, with a deterministic replay gate), Apex Overdrive (racing), Glint Courier (maze chase) and Craterline GP (bike racing). Each page states its limits; the games are independent work, not affiliated with any other game or studio. Games are checked on software WebGL2 in remote runs; real-GPU confirmation is partial and tracked in [`evidence/`](./evidence/).
52
58
 
53
- ## Compared with three.js
59
+ ## Why Aura3D instead of three.js
60
+
61
+ three.js gives you a renderer. Aura3D is a complete TypeScript 3D engine and toolchain with its own renderer, so the parts three.js leaves to you come built in:
62
+
63
+ - **A lit, shadowed, framed product in 10 lines.** The same scene in three.js is 38 lines before orbit controls ([tagline check](./evidence/vs-threejs/tagline-check/)). In our five-scene benchmark, a PBR viewer with HDR lighting, shadow, bloom and orbit controls is 24 lines instead of 49, with 1 import instead of 8 ([results](./evidence/vs-threejs/RESULTS.md)).
64
+ - **Assets you can trust.** Every model is typed, hashed and licensed; in production an unverified model doesn't draw.
65
+ - **The game stack included.** HUD, touch controls, audio cues, a fixed-step loop, seeded replay, a safety net and smooth motion on 120 and 144 Hz displays.
66
+ - **Built for AI coding agents.** `llms.txt`, 14 skills and compiled recipes ship with every new project.
54
67
 
55
- Aura3D wraps a three.js-compatible renderer lineage and adds the authoring, asset, game and check layers above it. A measured comparison exists, with limits: five small scenes, one author, software WebGL2 (not a GPU), three.js 0.185.1 against Aura3D 4.1.2. In it, Aura3D scene source was shorter in four of five scenes and needed one import instead of up to eight; three.js had the smaller bundle (about 7.7 times smaller for a one-cube app), the faster first frame in four of five scenes, lower frame cost, and a stock build that worked without configuration. Full tables, failure modes and caveats: [`evidence/vs-threejs/RESULTS.md`](./evidence/vs-threejs/RESULTS.md); plan to close the gaps: [`docs/workflows/aura3d-vs-threejs-analysis-and-plan.md`](./docs/workflows/aura3d-vs-threejs-analysis-and-plan.md). Choose three.js when you need WebGPU-first rendering, the widest loader and post-processing set, or its ecosystem.
68
+ Porting an existing three.js project: [`docs/migration/from-threejs.md`](./docs/migration/from-threejs.md).
56
69
 
57
70
  ## Packages
58
71
 
@@ -67,7 +80,7 @@ Public packages (all at the same version; `@aura3d/engine` is the root of this r
67
80
  | `@aura3d/rendering` | Render device, WebGL2 backend, materials, passes |
68
81
  | `@aura3d/assets`, `@aura3d/asset-index` | Asset loading and caching; asset search across public sources |
69
82
  | `@aura3d/animation`, `@aura3d/audio`, `@aura3d/input`, `@aura3d/controls` | Clips and state machines, audio buses, input, camera controls |
70
- | `@aura3d/physics`, `@aura3d/physics-rapier`, `@aura3d/navigation-recast` | Deterministic physics and optional adapters |
83
+ | `@aura3d/physics`, `@aura3d/physics-rapier`, `@aura3d/navigation-recast` | Physics, with optional Rapier and navigation adapters |
71
84
  | `@aura3d/ecs`, `@aura3d/scripting` | ECS and behaviour graphs |
72
85
  | `@aura3d/debug` | Diagnostics and the runtime safety net |
73
86
  | `@aura3d/product-studio`, `@aura3d/apps`, `@aura3d/workflows`, `@aura3d/react`, `@aura3d/editor-runtime` | Product viewers, app presets, workflows, React host, editor runtime |
@@ -76,14 +89,14 @@ Public packages (all at the same version; `@aura3d/engine` is the root of this r
76
89
 
77
90
  ## Claims and verification
78
91
 
79
- Every public claim follows [`docs/agents/claims-and-boundaries.md`](./docs/agents/claims-and-boundaries.md): label the capability, and claim only what a judged capture or retained evidence shows. Published gates include route health, typed provenance, public-API surface checks, package-size checks and `check-deploy`. Known gaps are listed per release in [`CHANGELOG.md`](./CHANGELOG.md) and in [`docs/workflows/threejs-parity-gaps.md`](./docs/workflows/threejs-parity-gaps.md).
92
+ Every public claim follows [`docs/agents/claims-and-boundaries.md`](./docs/agents/claims-and-boundaries.md): label the capability, and claim only what a judged capture or retained evidence shows. Published gates include route health, typed provenance, public-API surface checks, package-size checks and `check-deploy`. Release notes are in [`CHANGELOG.md`](./CHANGELOG.md).
80
93
 
81
94
  ## Documentation
82
95
 
83
96
  - [`docs/index.md`](./docs/index.md): hub for humans and agents
84
97
  - [`docs/agents/README.md`](./docs/agents/README.md): agent docs index
85
98
  - [`docs/api/public-api.md`](./docs/api/public-api.md): public API
86
- - [`docs/whats-new-4.1.md`](./docs/whats-new-4.1.md) and [`docs/migration/4.0-to-4.1.md`](./docs/migration/4.0-to-4.1.md): what changed in 4.1
99
+ - [`docs/aura3d-vs-threejs.md`](./docs/aura3d-vs-threejs.md) and [`docs/migration/from-threejs.md`](./docs/migration/from-threejs.md): why Aura3D over three.js, and how to port
87
100
  - [`docs/workflows/game-conversion-playbook.md`](./docs/workflows/game-conversion-playbook.md): turning a browser game into an Aura3D game
88
101
  - Site: https://aura3d.auraone.ai
89
102
 
@@ -1 +1 @@
1
- {"version":3,"file":"cli-help.d.ts","sourceRoot":"","sources":["../../../../packages/aura3d-cli/src/cli-help.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,iKACqI,CAAC;AAEjK,wBAAgB,aAAa,IAAI,MAAM,CA4BtC;AAED,wBAAgB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAqCrD"}
1
+ {"version":3,"file":"cli-help.d.ts","sourceRoot":"","sources":["../../../../packages/aura3d-cli/src/cli-help.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,iKACqI,CAAC;AAEjK,wBAAgB,aAAa,IAAI,MAAM,CA4BtC;AAED,wBAAgB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAwCrD"}
@@ -63,6 +63,9 @@ Commands:
63
63
  aura3d animation scene <new|show|cast add|prop add|set|block|camera|shot|dialogue|render|...> (agent-native Scene-Tool CLI)
64
64
  aura3d doctor
65
65
  aura3d check-deploy --dist dist [--release] [--source [src]] [--asset assetId|--no-assets]
66
+ Static check of the build output against aura.assets.json (hashed assets, unreferenced files, licence gates with --release).
67
+ aura3d check-deploy --dist dist --browser [--route /path ...] [--browser-timeout ms] [--browser-settle ms]
68
+ Also loads each route (default /) from a local static server in headless Chromium and fails on HTTP errors, failed requests, uncaught errors and console errors. Needs Playwright in your project (npm i -D playwright, npx playwright install chromium).
66
69
  aura3d init --agent all [--skills core|all|none] [--template <create-aura3d template>]
67
70
  Writes agent instruction files, Aura3D agent skills (per client skills dir), and llms.txt; never overwrites user-edited files.`;
68
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cli-help.js","sourceRoot":"","sources":["../../../../packages/aura3d-cli/src/cli-help.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GACzB,8JAA8J,CAAC;AAEjK,MAAM,UAAU,aAAa;IAC3B,OAAO;;;;;;;;;;;;;;;;;WAiBE,cAAc;;;;;;;;;8BASK,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,YAAoB;IAC3C,OAAO;;;0SAGiS,cAAc;;iRAEvC,cAAc;;;;;;;;;;;;;;;;;;;;;;;4CAuBnP,YAAY;2DACG,YAAY;;;;;;qIAM8D,CAAC;AACtI,CAAC"}
1
+ {"version":3,"file":"cli-help.js","sourceRoot":"","sources":["../../../../packages/aura3d-cli/src/cli-help.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GACzB,8JAA8J,CAAC;AAEjK,MAAM,UAAU,aAAa;IAC3B,OAAO;;;;;;;;;;;;;;;;;WAiBE,cAAc;;;;;;;;;8BASK,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,YAAoB;IAC3C,OAAO;;;0SAGiS,cAAc;;iRAEvC,cAAc;;;;;;;;;;;;;;;;;;;;;;;4CAuBnP,YAAY;2DACG,YAAY;;;;;;;;;qIAS8D,CAAC;AACtI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../../packages/aura3d-cli/src/cli.ts"],"names":[],"mappings":";AAkCA,OAAO,wBAAwB,CAAC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../../packages/aura3d-cli/src/cli.ts"],"names":[],"mappings":";AAoCA,OAAO,wBAAwB,CAAC"}
@@ -1,9 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import { spawnSync } from "node:child_process";
3
+ import { resolve } from "node:path";
3
4
  import { addAsset, bindGameRouteEvidence, certifyGameGeometry, checkDeploy, createCharacterAssemblyPlan, createAssetThumbnails, doctor, initAgentFiles, initAgentSetup, inspectAsset, importMeshyAsset, listAssets, scanAssets, validateAnimationAssets, validateGameAssets, validateAssets, validateAnimationStudioAssets, parseAnimationClipMap, writeTypedAssets, readAssetManifest } from "./index.js";
4
5
  import { createCliOptionReaders, printSearchReport, profileUsage, } from "./cli-options.js";
5
6
  import { assetsAddHelp, mainHelp } from "./cli-help.js";
6
7
  import { writeRouteTypedAssets } from "./asset-route-typegen.js";
8
+ import { runBrowserDeployCheck } from "./deploy-browser-check.js";
7
9
  import { runResolve, runSearch } from "./pull-bridge.js";
8
10
  import { LADDER_ROLES, printLadderReport, runResolveLadder } from "./resolve-ladder.js";
9
11
  import { cliCommandFor, cliCommandNames } from "./contracts/commands.js";
@@ -424,7 +426,30 @@ async function main() {
424
426
  await runAnimationCommand(args[1]);
425
427
  }
426
428
  else if (command === "check-deploy") {
427
- print(checkDeploy({ distDir: readOption("--dist"), ...readAssetValidationOptions() }));
429
+ const staticResult = checkDeploy({ distDir: readOption("--dist"), ...readAssetValidationOptions() });
430
+ if (!hasFlag("--browser")) {
431
+ print(staticResult);
432
+ }
433
+ else {
434
+ // Runtime pass: open the built site in a headless browser and fail on HTTP errors, failed requests, uncaught errors and console errors.
435
+ const routes = args.flatMap((arg, index) => (arg === "--route" && args[index + 1] && !args[index + 1].startsWith("--") ? [args[index + 1]] : []));
436
+ const timeout = readOption("--browser-timeout");
437
+ const settle = readOption("--browser-settle");
438
+ const browserResult = await runBrowserDeployCheck({
439
+ distDir: resolve(process.cwd(), readOption("--dist") ?? "dist"),
440
+ routes,
441
+ ...(timeout ? { timeoutMs: Number(timeout) } : {}),
442
+ ...(settle ? { settleMs: Number(settle) } : {})
443
+ }).catch((error) => ({ ok: false, failures: [String(error.message ?? error)], warnings: [], routes: [] }));
444
+ const failures = [...staticResult.failures, ...browserResult.failures];
445
+ print({
446
+ ...staticResult,
447
+ ok: failures.length === 0,
448
+ failures,
449
+ warnings: [...staticResult.warnings, ...browserResult.warnings],
450
+ messages: failures.length === 0 ? [`${staticResult.messages.join(" ")} Browser pass: ${browserResult.routes.length} route(s) loaded with no HTTP errors, failed requests or console errors.`] : failures
451
+ });
452
+ }
428
453
  }
429
454
  else if (command === "init") {
430
455
  const agent = readOption("--agent") ?? "generic";
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../../packages/aura3d-cli/src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EACL,QAAQ,EACR,qBAAqB,EACrB,mBAAmB,EACnB,WAAW,EACX,2BAA2B,EAC3B,qBAAqB,EACrB,MAAM,EACN,cAAc,EACd,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EACd,6BAA6B,EAC7B,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,GACb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAmB,MAAM,qBAAqB,CAAC;AACzG,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,wBAAwB,CAAC;AAChC,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACrH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,EAAuB,MAAM,mBAAmB,CAAC;AAGrN,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,EACJ,OAAO,EACP,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,0BAA0B,EAC1B,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,eAAe,EACf,SAAS,EACT,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,GACvB,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;AACjC,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;AAEzD,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;gBAC7B,OAAO;YACT,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACzF,yEAAyE;YACzE,sEAAsE;YACtE,sEAAsE;YACtE,kEAAkE;YAClE,MAAM,gBAAgB,GAAG,gBAAgB,EAAE,CAAC;YAC5C,IAAI,gBAAgB,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAAE,CAAC;gBACzE,MAAM,IAAI,KAAK,CAAC,+HAA+H,CAAC,CAAC;YACnJ,CAAC;YACD,IAAI,OAAO,CAAC,wBAAwB,CAAC,EAAE,CAAC;gBACtC,OAAO,CAAC,IAAI,CAAC,uIAAuI,CAAC,CAAC;YACxJ,CAAC;YACD,KAAK,CAAC,QAAQ,CAAC;gBACb,IAAI;gBACJ,IAAI;gBACJ,IAAI,EAAE,aAAa,EAAE;gBACrB,UAAU,EAAE,UAAU,CAAC,eAAe,CAAC;gBACvC,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC;gBACjC,UAAU,EAAE,UAAU,CAAC,eAAe,CAAC;gBACvC,WAAW,EAAE,UAAU,CAAC,gBAAgB,CAAC;gBACzC,SAAS,EAAE,UAAU,CAAC,cAAc,CAAC;gBACrC,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC;gBAChC,WAAW,EAAE,UAAU,CAAC,gBAAgB,CAAC;gBACzC,UAAU,EAAE,UAAU,CAAC,eAAe,CAAC;gBACvC,UAAU,EAAE,UAAU,CAAC,eAAe,CAAC;gBACvC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC;gBAC9B,YAAY,EAAE,UAAU,CAAC,iBAAiB,CAAC;gBAC3C,WAAW,EAAE,UAAU,CAAC,eAAe,CAAC;gBACxC,kBAAkB,EAAE,sBAAsB,EAAE;gBAC5C,WAAW,EAAE,UAAU,CAAC,gBAAgB,CAAC;gBACzC,OAAO,EAAE,gBAAgB;gBACzB,IAAI,EAAE,aAAa,EAAE;gBACrB,iBAAiB,EAAE,UAAU,CAAC,eAAe,CAAC;gBAC9C,aAAa,EAAE,iBAAiB,EAAE;gBAClC,WAAW,EAAE,eAAe,EAAE;gBAC9B,YAAY,EAAE,UAAU,CAAC,iBAAiB,CAAC;gBAC3C,KAAK,EAAE,iBAAiB,EAAE;aAC3B,CAAC,CAAC,CAAC;QACN,CAAC;aAAM,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;YACrC,4GAA4G;YAC5G,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC1C,IAAI,YAAY,KAAK,SAAS,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC;gBACvG,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC5B,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;gBACtC,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACtC,IAAI,CAAC,WAAW,IAAI,CAAC,YAAY,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAC1D,MAAM,IAAI,KAAK,CAAC,yFAAyF,wBAAwB,EAAE,sFAAsF,CAAC,CAAC;gBAC7N,CAAC;gBACD,MAAM,eAAe,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;gBAChD,IAAI,eAAe,IAAI,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;oBACjG,MAAM,IAAI,KAAK,CAAC,sCAAsC,eAAe,iDAAiD,CAAC,CAAC;gBAC1H,CAAC;gBACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC;oBACnC,KAAK,EAAE,WAAW;oBAClB,IAAI,EAAE,YAAY;oBAClB,MAAM;oBACN,IAAI,EAAE,QAAQ;oBACd,cAAc,EAAE,UAAU,CAAC,mBAAmB,CAAC;oBAC/C,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC;oBAC1B,SAAS,EAAE,UAAU,CAAC,aAAa,CAAC;oBACpC,OAAO,EAAE,gBAAgB,EAAE;oBAC3B,IAAI,EAAE,aAAa,EAAE;oBACrB,OAAO,EAAE,eAA8E;oBACvF,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC;oBACjC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC;iBACjC,CAAC,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC/C,IAAI,CAAC,QAAQ,CAAC,EAAE;oBAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACvC,OAAO;YACT,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;YAClC,MAAM,cAAc,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;YACvD,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,oQAAoQ,CAAC,CAAC;YACxR,CAAC;YACD,MAAM,YAAY,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;YAC7C,IAAI,YAAY,IAAI,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC3F,MAAM,IAAI,KAAK,CAAC,sCAAsC,YAAY,iDAAiD,CAAC,CAAC;YACvH,CAAC;YACD,KAAK,CAAC,gBAAgB,CAAC;gBACrB,KAAK;gBACL,IAAI;gBACJ,cAAc;gBACd,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC;gBAC1B,SAAS,EAAE,UAAU,CAAC,aAAa,CAAC;gBACpC,WAAW,EAAE,UAAU,CAAC,gBAAgB,CAAC;gBACzC,WAAW,EAAE,UAAU,CAAC,gBAAgB,CAAC;gBACzC,OAAO,EAAE,gBAAgB,EAAE;gBAC3B,IAAI,EAAE,aAAa,EAAE;gBACrB,OAAO,EAAE,YAA2E;aACrF,CAAC,CAAC,CAAC;QACN,CAAC;aAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YAC7B,KAAK,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,MAAM,KAAK,0BAA0B,EAAE,CAAC;YACjD,MAAM,QAAQ,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;YACtC,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC3F,MAAM,sBAAsB,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;YAC1D,MAAM,cAAc,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;YACvD,MAAM,iBAAiB,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC;YAC7D,MAAM,YAAY,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;YACnD,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,YAAY,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,sBAAsB,IAAI,CAAC,cAAc,IAAI,CAAC,iBAAiB,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvK,MAAM,IAAI,KAAK,CAAC,6MAA6M,CAAC,CAAC;YACjO,CAAC;YACD,MAAM,MAAM,GAAG,qBAAqB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,cAAc,EAAE,iBAAiB,EAAE,YAAY,EAAE,CAAC,CAAC;YAC/I,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,EAAE;gBAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,MAAM,KAAK,uBAAuB,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;YACtC,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC3F,MAAM,QAAQ,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;YAC1C,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;gBACvD,MAAM,IAAI,KAAK,CAAC,yGAAyG,CAAC,CAAC;YAC7H,CAAC;YACD,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3C,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;YACnF,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC;gBACvC,QAAQ;gBACR,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;aAC1C,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,EAAE;gBAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;YAClG,KAAK,CAAC,YAAY,CAAC;gBACjB,IAAI;gBACJ,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC;gBACjC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC;gBAC/B,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC;gBAC/B,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC;gBAC3B,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC;aAC9B,CAAC,CAAC,CAAC;QACN,CAAC;aAAM,IAAI,MAAM,KAAK,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtD,IAAI,aAAa,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YACtD,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;YAC7D,IAAI,OAAO,CAAC,QAAQ,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;;gBAC/D,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,EAAE;gBAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;YACpC,IAAI,aAAa,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAAC,IAAI,CAAC,aAAa;oBAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YACxI,MAAM,OAAO,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;YAC5C,MAAM,UAAU,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE;gBACnD,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC;gBACxB,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC;gBACjC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5D,YAAY,EAAE,OAAO,CAAC,iBAAiB,CAAC;gBACxC,aAAa,EAAE,OAAO,CAAC,kBAAkB,CAAC;gBAC1C,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,YAAY,EAAE,OAAO,CAAC,iBAAiB,CAAC;gBACxC,aAAa,EAAE,OAAO,CAAC,kBAAkB,CAAC;gBAC1C,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,cAAc,CAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjI,GAAG,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjG,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9F,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1G,WAAW,EAAE,gBAAgB,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;aAC5D,CAAC,CAAC;YACH,IAAI,OAAO,CAAC,QAAQ,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;;gBAC/D,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ;oBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM,CAAC,EAAE;gBAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,mEAAmE;YACnE,4DAA4D;YAC5D,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;gBAC1E,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC;oBACvC,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE;oBACzB,KAAK;oBACL,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC;iBAC9B,CAAC,CAAC;gBACH,KAAK,CAAC,MAAM,CAAC,CAAC;gBACd,IAAI,CAAC,MAAM,CAAC,EAAE;oBAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,cAAc,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;YACtC,KAAK,CAAC,kBAAkB,CAAC;gBACvB,MAAM,EAAE,kBAAkB,EAAE;gBAC5B,GAAG,0BAA0B,EAAE;gBAC/B,GAAG,CAAC,OAAO,KAAK,oBAAoB,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtE,CAAC,CAAC,CAAC;QACN,CAAC;aAAM,IAAI,MAAM,KAAK,2BAA2B,EAAE,CAAC;YAClD,KAAK,CAAC,6BAA6B,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE,GAAG,0BAA0B,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1G,CAAC;aAAM,IAAI,MAAM,KAAK,oBAAoB,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;YACxC,MAAM,OAAO,GAAG,qBAAqB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3D,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;YAC5C,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACtH,MAAM,MAAM,GAAG,uBAAuB,CAAC;gBACrC,cAAc;gBACd,OAAO;gBACP,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;gBACtG,UAAU,EAAE,OAAO,CAAC,eAAe,CAAC;aACrC,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;YACjE,IAAI,UAAU,EAAE,CAAC;gBACf,yGAAyG;gBACzG,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;gBACzD,MAAM,IAAI,GAAG,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBACpF,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACxI,MAAM,QAAQ,GAAG,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,yBAAyB,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACpO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC/C,IAAI,CAAC,QAAQ,CAAC,EAAE;oBAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,MAAM,CAAC,CAAC;YAChB,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,KAAK,oBAAoB,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;YAClC,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,0HAA0H,CAAC,CAAC;YAChK,KAAK,CAAC,2BAA2B,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QACjH,CAAC;aAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC;aAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC;gBACvD,IAAI,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAC5E,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAC;gBACzG,CAAC;gBACD,MAAM,MAAM,GAAG,qBAAqB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,aAAa,CAAC,MAAM,aAAa,MAAM,CAAC,YAAY,UAAU,CAAC,CAAC;gBAC5G,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC3C,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,UAAU;oBAAE,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,2CAA2C,CAAC,CAAC;gBACrH,IAAI,CAAC,MAAM,CAAC,EAAE;oBAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC/E,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,SAAS,QAAQ,CAAC,SAAS,OAAO,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;QAC1E,CAAC;aAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,YAAY,EAAE,8DAA8D,CAAC,CAAC;YACtL,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,sBAAsB,EAAE,EAAE,CAAC,CAAC;YACjF,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;YACvC,MAAM,iBAAiB,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;YACvD,IAAI,QAAQ,KAAK,SAAS,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;gBAC9D,8EAA8E;gBAC9E,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;oBAAE,MAAM,IAAI,KAAK,CAAC,iEAAiE,YAAY,EAAE,qFAAqF,CAAC,CAAC;gBACrO,MAAM,cAAc,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC7E,IAAI,cAAc,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;oBACtE,MAAM,IAAI,KAAK,CAAC,2DAA2D,QAAQ,KAAK,CAAC,CAAC;gBAC5F,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;oBAC9B,KAAK;oBACL,IAAI;oBACJ,WAAW,EAAE,sBAAsB,EAAE;oBACrC,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC;oBAC3D,GAAG,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;iBAC/E,CAAC,CAAC;gBACH,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACtB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC/C,CAAC;qBAAM,CAAC;oBACN,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ;wBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC5D,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ;wBAAE,OAAO,CAAC,KAAK,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;gBAC9E,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,EAAE;oBAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrC,OAAO;YACT,CAAC;YACD,wFAAwF;YACxF,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,kKAAkK,CAAC,CAAC;YAC1N,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;YACxC,IAAI,UAAU,KAAK,SAAS,IAAI,CAAE,YAAkC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC1F,MAAM,IAAI,KAAK,CAAC,gDAAgD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,UAAU,KAAK,CAAC,CAAC;YACpH,CAAC;YACD,MAAM,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC7E,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;gBACrE,MAAM,IAAI,KAAK,CAAC,kFAAkF,YAAY,KAAK,CAAC,CAAC;YACvH,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;gBACpC,IAAI,EAAE,KAAK;gBACX,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;gBACvC,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAwB,EAAE,CAAC;gBACvE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;gBAC3C,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,KAAK,OAAO;gBAC7C,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC;gBAC5B,WAAW,EAAE,sBAAsB,EAAE;aACtC,CAAC,CAAC;YACH,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,EAAE;gBAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,0DAA0D;YAC1D,yEAAyE;YACzE,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC/D,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBACjE,IAAI,UAAU,EAAE,CAAC;oBACf,OAAO,CAAC,QAAQ,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;wBACzD,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;wBAClB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;wBACnC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;qBACtC,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;YACH,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,kEAAkE;YAClE,qEAAqE;YACrE,4BAA4B;YAC5B,MAAM,IAAI,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;YACxC,kEAAkE;YAClE,6CAA6C;YAC7C,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;YAC/G,OAAO,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAC/B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAC,EAC/C;gBACE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;gBAClB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;gBACnC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;aACtC,CACF,CAAC;YACF,OAAO;QACT,CAAC;QACD,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAClB,CAAC;SAAM,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QACnC,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;SAAM,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;QACtC,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,GAAG,0BAA0B,EAAE,EAAE,CAAC,CAAC,CAAC;IACzF,CAAC;SAAM,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC;QACjD,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,EAAE,CAAC,CAAC;QAC9H,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC;QAChD,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,2BAA2B,CAAC,CAAC;QAChI,MAAM,KAAK,GAAG,cAAc,CAAC,EAAE,KAAK,EAAE,KAA4D,EAAE,MAAM,EAAE,MAAiC,EAAE,QAAQ,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACrL,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACN,mFAAmF;QACnF,uDAAuD;QACvD,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;YAC9D,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACjE,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,CAAC,QAAQ,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;oBACzD,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;oBAClB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;oBACnC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;iBACtC,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,sBAAsB,EAAE,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,MAA0B;IAC3D,MAAM,cAAc,GAA2B;QAC7C,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,iBAAiB;QAC1B,MAAM,EAAE,gBAAgB;QACxB,OAAO,EAAE,iBAAiB;QAC1B,MAAM,EAAE,gBAAgB;QACxB,MAAM,EAAE,gBAAgB;QACxB,sFAAsF;QACtF,uFAAuF;QACvF,KAAK,EAAE,OAAO;KACf,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,mEAAmE;QACnE,2EAA2E;QAC3E,sCAAsC;QACtC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,UAAU,GAAG,aAAa,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC;YACxD,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,CAAC,QAAQ,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;oBACrD,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;oBAClB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;oBACnC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;iBACtC,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAC;IACzG,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC;QACnF,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,KAAK,CAAC;IACV,0FAA0F;IAC1F,wFAAwF;IACxF,mCAAmC;IACnC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC;IACjE,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrI,MAAM,MAAM,GAAG;QACb,EAAE,EAAE,IAAI;QACR,OAAO,EAAE,WAAW;QACpB,MAAM;QACN,eAAe,EAAE,MAAM;QACvB,aAAa,EAAE,SAAS;QACxB,MAAM,EAAE,OAAO;QACf,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC;KAC7B,CAAC;IACF,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE;QAC7C,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;KACpC,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,KAAK;QAAE,MAAM,MAAM,CAAC,KAAK,CAAC;IACrC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,sBAAsB;IAC7B,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAChC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,OAAO,qBAAqB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,IAAI,MAAM,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC3H,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACjH,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,SAAS,kBAAkB;IACzB,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,MAAM,UAAU,GAAG,SAAS,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrI,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS,cAAc,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7F,KAAK,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE;QAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,YAAY,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpJ,OAAO;QACL,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,QAAQ,EAAE,0BAA0B,EAAE,CAAC,QAAQ;QAC/C,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC;QAC3B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC;KACxB,CAAC;AACJ,CAAC;AAED,SAAS,KAAK,CAAC,KAAmJ;IAChK,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../../packages/aura3d-cli/src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ import { type Server } from "node:http";
2
+ export interface BrowserRouteReport {
3
+ readonly route: string;
4
+ readonly status: number | null;
5
+ readonly consoleErrors: readonly string[];
6
+ readonly consoleWarnings: readonly string[];
7
+ readonly pageErrors: readonly string[];
8
+ readonly failedRequests: readonly string[];
9
+ readonly badResponses: readonly string[];
10
+ /** `data-aura3d-error` on <body> when the app reported a boot failure. */
11
+ readonly appError?: string;
12
+ }
13
+ export interface BrowserDriver {
14
+ /** Open `url`, wait for the page to settle, and report what the browser saw. */
15
+ visit(url: string, route: string, options: {
16
+ readonly timeoutMs: number;
17
+ readonly settleMs: number;
18
+ }): Promise<BrowserRouteReport>;
19
+ close(): Promise<void>;
20
+ }
21
+ export interface BrowserDeployCheckOptions {
22
+ readonly distDir: string;
23
+ /** Routes to open, relative to the site root. Defaults to `/`. */
24
+ readonly routes?: readonly string[];
25
+ /** Where Playwright is resolved from. Defaults to the folder that contains `distDir`. */
26
+ readonly projectDir?: string;
27
+ readonly timeoutMs?: number;
28
+ readonly settleMs?: number;
29
+ /** Test seam: replaces the Playwright-backed driver. */
30
+ readonly driver?: BrowserDriver;
31
+ }
32
+ export interface BrowserDeployCheckResult {
33
+ readonly ok: boolean;
34
+ readonly failures: readonly string[];
35
+ readonly warnings: readonly string[];
36
+ readonly routes: readonly BrowserRouteReport[];
37
+ }
38
+ /** Static file server over `dist` that behaves like a plain static host: no SPA fallback, so a missing file is a real 404. */
39
+ export declare function startStaticServer(distDir: string): Promise<{
40
+ readonly server: Server;
41
+ readonly origin: string;
42
+ }>;
43
+ interface ChromiumLike {
44
+ launch(options: {
45
+ headless: boolean;
46
+ args: string[];
47
+ }): Promise<{
48
+ newContext(options?: Record<string, unknown>): Promise<{
49
+ newPage(): Promise<PageLike>;
50
+ close(): Promise<void>;
51
+ }>;
52
+ close(): Promise<void>;
53
+ }>;
54
+ }
55
+ interface PageLike {
56
+ on(event: string, handler: (value: never) => void): void;
57
+ goto(url: string, options: {
58
+ waitUntil: string;
59
+ timeout: number;
60
+ }): Promise<{
61
+ status(): number;
62
+ } | null>;
63
+ waitForLoadState(state: string, options: {
64
+ timeout: number;
65
+ }): Promise<void>;
66
+ waitForTimeout(ms: number): Promise<void>;
67
+ evaluate<T>(fn: () => T): Promise<T>;
68
+ }
69
+ export declare function loadChromium(projectDir: string, moduleNames?: readonly string[]): ChromiumLike;
70
+ /** Driver backed by Playwright's Chromium. Software WebGL flags let headless runs without a GPU boot Aura3D apps. */
71
+ export declare function createPlaywrightDriver(projectDir: string): BrowserDriver;
72
+ export declare function evaluateRouteReport(report: BrowserRouteReport): {
73
+ readonly failures: string[];
74
+ readonly warnings: string[];
75
+ };
76
+ export declare function runBrowserDeployCheck(options: BrowserDeployCheckOptions): Promise<BrowserDeployCheckResult>;
77
+ export {};
78
+ //# sourceMappingURL=deploy-browser-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy-browser-check.d.ts","sourceRoot":"","sources":["../../../../packages/aura3d-cli/src/deploy-browser-check.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,167 @@
1
+ // `aura3d check-deploy --browser`: load the built site in a headless browser and fail on what a visitor would hit.
2
+ // The static check (hashed assets, unreferenced files, licence gates) lives in index.ts `checkDeploy`; this adds a runtime pass:
3
+ // every route is opened from a local static server over `dist`, and any HTTP error, failed request, uncaught exception or
4
+ // console error fails the check. Playwright is an optional peer: it is resolved from the project being checked.
5
+ import { existsSync, readFileSync, statSync } from "node:fs";
6
+ import { createRequire } from "node:module";
7
+ import { createServer } from "node:http";
8
+ import { extname, join, normalize, resolve, sep } from "node:path";
9
+ const MIME = {
10
+ ".html": "text/html; charset=utf-8", ".js": "text/javascript", ".mjs": "text/javascript", ".css": "text/css", ".json": "application/json",
11
+ ".glb": "model/gltf-binary", ".gltf": "model/gltf+json", ".bin": "application/octet-stream", ".hdr": "application/octet-stream",
12
+ ".ktx2": "image/ktx2", ".wasm": "application/wasm", ".png": "image/png", ".jpg": "image/jpeg", ".jpeg": "image/jpeg", ".webp": "image/webp",
13
+ ".svg": "image/svg+xml", ".ico": "image/x-icon", ".woff": "font/woff", ".woff2": "font/woff2", ".txt": "text/plain; charset=utf-8",
14
+ ".mp3": "audio/mpeg", ".ogg": "audio/ogg", ".wav": "audio/wav", ".webm": "video/webm", ".mp4": "video/mp4"
15
+ };
16
+ /** Static file server over `dist` that behaves like a plain static host: no SPA fallback, so a missing file is a real 404. */
17
+ export function startStaticServer(distDir) {
18
+ const root = resolve(distDir);
19
+ return new Promise((resolvePromise, reject) => {
20
+ const server = createServer((request, response) => {
21
+ const pathname = decodeURIComponent(new URL(request.url ?? "/", "http://localhost").pathname);
22
+ const relative = normalize(pathname).replace(/^([/\\])+/, "");
23
+ const candidates = [join(root, relative), join(root, relative, "index.html"), join(root, `${relative}.html`)];
24
+ const file = candidates.find((candidate) => (candidate === root || candidate.startsWith(root + sep)) && existsSync(candidate) && statSync(candidate).isFile());
25
+ if (!file) {
26
+ response.writeHead(404, { "content-type": "text/plain" });
27
+ response.end("not found");
28
+ return;
29
+ }
30
+ const body = readFileSync(file);
31
+ response.writeHead(200, { "content-type": MIME[extname(file).toLowerCase()] ?? "application/octet-stream", "content-length": body.length, "cache-control": "no-store" });
32
+ response.end(body);
33
+ });
34
+ server.once("error", reject);
35
+ server.listen(0, "127.0.0.1", () => {
36
+ const address = server.address();
37
+ resolvePromise({ server, origin: `http://127.0.0.1:${typeof address === "object" && address ? address.port : 0}` });
38
+ });
39
+ });
40
+ }
41
+ const PLAYWRIGHT_MODULES = ["playwright", "@playwright/test", "playwright-core"];
42
+ export function loadChromium(projectDir, moduleNames = PLAYWRIGHT_MODULES) {
43
+ const projectRequire = createRequire(join(resolve(projectDir), "package.json"));
44
+ for (const name of moduleNames) {
45
+ try {
46
+ const loaded = projectRequire(name);
47
+ if (loaded.chromium)
48
+ return loaded.chromium;
49
+ }
50
+ catch {
51
+ // try the next candidate
52
+ }
53
+ }
54
+ throw new Error("check-deploy --browser needs Playwright in the project being checked. Install it with `npm i -D playwright` and `npx playwright install chromium`, or leave out --browser for the static check.");
55
+ }
56
+ /** Driver backed by Playwright's Chromium. Software WebGL flags let headless runs without a GPU boot Aura3D apps. */
57
+ export function createPlaywrightDriver(projectDir) {
58
+ const chromium = loadChromium(projectDir);
59
+ let browserPromise;
60
+ const browser = () => (browserPromise ??= chromium.launch({ headless: true, args: ["--use-angle=swiftshader", "--enable-unsafe-swiftshader", "--ignore-gpu-blocklist"] }));
61
+ return {
62
+ async visit(url, route, { timeoutMs, settleMs }) {
63
+ const context = await (await browser()).newContext({ viewport: { width: 1280, height: 720 } });
64
+ const page = await context.newPage();
65
+ const consoleErrors = [];
66
+ const consoleWarnings = [];
67
+ const pageErrors = [];
68
+ const failedRequests = [];
69
+ const badResponses = [];
70
+ page.on("console", ((message) => {
71
+ const text = message.text().slice(0, 300);
72
+ if (message.type() === "error")
73
+ consoleErrors.push(text);
74
+ else if (message.type() === "warning")
75
+ consoleWarnings.push(text);
76
+ }));
77
+ page.on("pageerror", ((error) => pageErrors.push(String(error.message ?? error).slice(0, 300))));
78
+ page.on("requestfailed", ((request) => failedRequests.push(`${new URL(request.url()).pathname} (${request.failure()?.errorText ?? "failed"})`)));
79
+ page.on("response", ((response) => {
80
+ if (response.status() >= 400)
81
+ badResponses.push(`${response.status()} ${new URL(response.url()).pathname}`);
82
+ }));
83
+ try {
84
+ const response = await page.goto(url, { waitUntil: "load", timeout: timeoutMs });
85
+ await page.waitForLoadState("networkidle", { timeout: timeoutMs }).catch(() => undefined);
86
+ await page.waitForTimeout(settleMs);
87
+ const appError = await page.evaluate(() => document.body?.dataset?.aura3dError ?? "");
88
+ return {
89
+ route,
90
+ status: response ? response.status() : null,
91
+ consoleErrors,
92
+ consoleWarnings,
93
+ pageErrors,
94
+ failedRequests,
95
+ badResponses,
96
+ ...(appError ? { appError } : {})
97
+ };
98
+ }
99
+ finally {
100
+ await context.close();
101
+ }
102
+ },
103
+ async close() {
104
+ if (browserPromise)
105
+ await (await browserPromise).close();
106
+ }
107
+ };
108
+ }
109
+ /** A missing favicon is reported, but is not worth failing a deploy on. */
110
+ const WARN_ONLY_PATHS = /^404 \/(favicon\.ico|apple-touch-icon[^/]*\.png)$/;
111
+ export function evaluateRouteReport(report) {
112
+ const failures = [];
113
+ const warnings = [];
114
+ const at = `Route ${report.route}`;
115
+ if (report.status === null || report.status >= 400)
116
+ failures.push(`${at} answered ${report.status ?? "no response"}.`);
117
+ for (const response of report.badResponses)
118
+ (WARN_ONLY_PATHS.test(response) ? warnings : failures).push(`${at} request failed with HTTP ${response}.`);
119
+ for (const request of report.failedRequests)
120
+ failures.push(`${at} request did not complete: ${request}.`);
121
+ for (const error of report.pageErrors)
122
+ failures.push(`${at} threw an uncaught error: ${error}`);
123
+ for (const message of report.consoleErrors) {
124
+ // The browser echoes "Failed to load resource" for every bad response; those are already reported with their path above.
125
+ if (/^Failed to load resource/i.test(message) && (report.badResponses.length > 0 || report.failedRequests.length > 0))
126
+ continue;
127
+ failures.push(`${at} logged a console error: ${message}`);
128
+ }
129
+ if (report.appError)
130
+ failures.push(`${at} reported an app boot error (data-aura3d-error): ${report.appError}`);
131
+ for (const message of report.consoleWarnings)
132
+ warnings.push(`${at} logged a console warning: ${message}`);
133
+ return { failures, warnings };
134
+ }
135
+ export async function runBrowserDeployCheck(options) {
136
+ const distDir = resolve(options.distDir);
137
+ if (!existsSync(join(distDir, "index.html")) && !(options.routes ?? []).length) {
138
+ return { ok: false, failures: [`Browser check found no index.html in ${distDir}. Run your build first.`], warnings: [], routes: [] };
139
+ }
140
+ const projectDir = resolve(options.projectDir ?? join(distDir, ".."));
141
+ const driver = options.driver ?? createPlaywrightDriver(projectDir);
142
+ const { server, origin } = await startStaticServer(distDir);
143
+ const routes = (options.routes?.length ? options.routes : ["/"]).map((route) => (route.startsWith("/") ? route : `/${route}`));
144
+ const failures = [];
145
+ const warnings = [];
146
+ const reports = [];
147
+ try {
148
+ for (const route of routes) {
149
+ try {
150
+ const report = await driver.visit(`${origin}${route}`, route, { timeoutMs: options.timeoutMs ?? 30_000, settleMs: options.settleMs ?? 2_000 });
151
+ reports.push(report);
152
+ const verdict = evaluateRouteReport(report);
153
+ failures.push(...verdict.failures);
154
+ warnings.push(...verdict.warnings);
155
+ }
156
+ catch (error) {
157
+ failures.push(`Route ${route} could not be opened: ${String(error.message ?? error).split("\n")[0]}`);
158
+ }
159
+ }
160
+ }
161
+ finally {
162
+ await driver.close().catch(() => undefined);
163
+ await new Promise((done) => server.close(() => done()));
164
+ }
165
+ return { ok: failures.length === 0, failures, warnings, routes: reports };
166
+ }
167
+ //# sourceMappingURL=deploy-browser-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy-browser-check.js","sourceRoot":"","sources":["../../../../packages/aura3d-cli/src/deploy-browser-check.ts"],"names":[],"mappings":"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"}
@@ -75,7 +75,7 @@ export function createA3DProject(options) {
75
75
  const dependencies = { ...(packageJson.dependencies ?? {}) };
76
76
  const auraDependencies = Object.keys(dependencies).filter((name) => name.startsWith("@aura3d/"));
77
77
  if (auraDependencies.length === 0) {
78
- dependencies["@aura3d/engine"] = options.packageVersion ?? "4.3.5";
78
+ dependencies["@aura3d/engine"] = options.packageVersion ?? "4.3.7";
79
79
  }
80
80
  else if (options.packageVersion) {
81
81
  for (const dependency of auraDependencies)
@@ -104,7 +104,7 @@ export { isTextureBinding, TextureBinding } from "./TextureBinding.js";
104
104
  * `AnimationMixerThreeCompat`, `SkeletonThreeCompat` and `MorphTargetMixerThreeCompat`, the symbols WS-1.6
105
105
  * found the parity generator was failing to grep. Only the rendering one was fabricated.
106
106
  *
107
- * Retrievable from git history; recorded in `docs/architecture/2.0-removals.md`.
107
+ * Retrievable from git history; recorded in `docs/archive/docs/architecture/2.0-removals.md`.
108
108
  */
109
109
  export { ProductionWebGL2Renderer, ProductionRuntimeRenderer, ProductionWebGPURenderer, analyzePixels, bindTransmissionBackdropCapture, createSceneColorMipLevels, createTransmissionBackdropSource, createContactShadowPass, createProductionOrbitControlPreset, createDualProbeEnvironmentLightingResources, createProductionEnvironmentLightingResources, createProductionPbrHdrPipelineFromRadiance, createProductionToneMappingPolicy, createProductionWebGPUReport, describeWebGPULostDevice, resolveProductionRuntimeRendererBackend, screenWebGPURenderBundlePrototype, WEBGPU_PARITY_PLAN, loadProductionHdrEnvironmentFile, loadProductionHdrEnvironment, normalizeTransmissionBackdropCapture, parseProductionRadianceHDR, rendererFeatureReport, rendererInteractiveFeatureReport, rendererProofCapture, rendererShadowReport, validateProductionRendererInput, summarizeProductionAnimationWorkflow, summarizeProductionProductionProof, summarizeProductionWebGL2Proof } from "./production-runtime/index.js";
110
110
  export { ShaderModule } from "./ShaderModule.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aura3d/engine",
3
- "version": "4.3.5",
3
+ "version": "4.3.7",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "files": [
@@ -149,31 +149,31 @@
149
149
  "vite": "^7.3.2",
150
150
  "vitest": "^3.1.3",
151
151
  "recast-navigation": "0.43.1",
152
- "@aura3d/animation": "4.3.5",
153
- "@aura3d/apps": "4.3.5",
154
- "@aura3d/asset-index": "4.3.5",
155
- "@aura3d/audio": "4.3.5",
156
- "@aura3d/assets": "4.3.5",
157
- "@aura3d/cli": "4.3.5",
158
- "@aura3d/controls": "4.3.5",
159
- "@aura3d/core": "4.3.5",
160
- "@aura3d/ecs": "4.3.5",
161
- "@aura3d/debug": "4.3.5",
162
- "@aura3d/editor-runtime": "4.3.5",
163
- "@aura3d/engine-runtime": "4.3.5",
152
+ "@aura3d/animation": "4.3.7",
153
+ "@aura3d/asset-index": "4.3.7",
154
+ "@aura3d/apps": "4.3.7",
155
+ "@aura3d/audio": "4.3.7",
156
+ "@aura3d/assets": "4.3.7",
157
+ "@aura3d/cli": "4.3.7",
158
+ "@aura3d/core": "4.3.7",
159
+ "@aura3d/controls": "4.3.7",
160
+ "@aura3d/debug": "4.3.7",
161
+ "@aura3d/ecs": "4.3.7",
162
+ "@aura3d/editor-runtime": "4.3.7",
163
+ "@aura3d/engine-runtime": "4.3.7",
164
164
  "@aura3d/game": "4.0.7",
165
- "@aura3d/math": "4.3.5",
166
- "@aura3d/input": "4.3.5",
167
- "@aura3d/navigation-recast": "4.3.5",
168
- "@aura3d/physics": "4.3.5",
169
- "@aura3d/product-studio": "4.3.5",
170
- "@aura3d/physics-rapier": "4.3.5",
171
- "@aura3d/react": "4.3.5",
172
- "@aura3d/rendering": "4.3.5",
173
- "@aura3d/scene": "4.3.5",
174
- "@aura3d/scripting": "4.3.5",
175
- "@aura3d/workflows": "4.3.5",
176
- "create-aura3d": "4.3.5"
165
+ "@aura3d/input": "4.3.7",
166
+ "@aura3d/math": "4.3.7",
167
+ "@aura3d/navigation-recast": "4.3.7",
168
+ "@aura3d/physics": "4.3.7",
169
+ "@aura3d/physics-rapier": "4.3.7",
170
+ "@aura3d/product-studio": "4.3.7",
171
+ "@aura3d/react": "4.3.7",
172
+ "@aura3d/rendering": "4.3.7",
173
+ "@aura3d/scripting": "4.3.7",
174
+ "@aura3d/scene": "4.3.7",
175
+ "@aura3d/workflows": "4.3.7",
176
+ "create-aura3d": "4.3.7"
177
177
  },
178
178
  "dependencies": {
179
179
  "@gltf-transform/core": "4.5.1",
@@ -12,8 +12,8 @@
12
12
  "test:browser": "playwright test tests/route-health.spec.ts tests/screenshot.spec.ts --workers=1"
13
13
  },
14
14
  "dependencies": {
15
- "@aura3d/engine": "4.3.5",
16
- "@aura3d/assets": "4.3.5"
15
+ "@aura3d/engine": "4.3.7",
16
+ "@aura3d/assets": "4.3.7"
17
17
  },
18
18
  "devDependencies": {
19
19
  "@playwright/test": "1.59.1",
@@ -12,8 +12,8 @@
12
12
  "test:browser": "playwright test tests/route-health.spec.ts tests/playable.spec.ts tests/screenshot.spec.ts tests/certified-rig.spec.ts --workers=1"
13
13
  },
14
14
  "dependencies": {
15
- "@aura3d/engine": "4.3.5",
16
- "@aura3d/assets": "4.3.5"
15
+ "@aura3d/engine": "4.3.7",
16
+ "@aura3d/assets": "4.3.7"
17
17
  },
18
18
  "devDependencies": {
19
19
  "@playwright/test": "1.59.1",
@@ -12,8 +12,8 @@
12
12
  "test:browser": "playwright test tests/route-health.spec.ts tests/screenshot.spec.ts --workers=1"
13
13
  },
14
14
  "dependencies": {
15
- "@aura3d/engine": "4.3.5",
16
- "@aura3d/assets": "4.3.5"
15
+ "@aura3d/engine": "4.3.7",
16
+ "@aura3d/assets": "4.3.7"
17
17
  },
18
18
  "devDependencies": {
19
19
  "@playwright/test": "1.59.1",
@@ -8,7 +8,7 @@
8
8
  "preview": "vite preview --host 127.0.0.1"
9
9
  },
10
10
  "dependencies": {
11
- "@aura3d/engine": "4.3.5"
11
+ "@aura3d/engine": "4.3.7"
12
12
  },
13
13
  "devDependencies": {
14
14
  "typescript": "^5.9.3",
@@ -8,7 +8,7 @@
8
8
  "preview": "vite preview --host 127.0.0.1"
9
9
  },
10
10
  "dependencies": {
11
- "@aura3d/engine": "4.3.5"
11
+ "@aura3d/engine": "4.3.7"
12
12
  },
13
13
  "devDependencies": {
14
14
  "typescript": "^5.9.3",
@@ -8,7 +8,7 @@
8
8
  "preview": "vite preview --host 127.0.0.1"
9
9
  },
10
10
  "dependencies": {
11
- "@aura3d/engine": "4.3.5"
11
+ "@aura3d/engine": "4.3.7"
12
12
  },
13
13
  "devDependencies": {
14
14
  "typescript": "^5.9.3",
@@ -8,7 +8,7 @@
8
8
  "preview": "vite preview --host 127.0.0.1"
9
9
  },
10
10
  "dependencies": {
11
- "@aura3d/engine": "4.3.5"
11
+ "@aura3d/engine": "4.3.7"
12
12
  },
13
13
  "devDependencies": {
14
14
  "typescript": "^5.9.3",