@nimbus-sh/worker 0.12.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esbuild-cli-artifact.generated.d.ts +1 -1
- package/dist/esbuild-cli-artifact.generated.js +4 -4
- package/dist/esbuild-wasm-bundle.generated.d.ts +11 -10
- package/dist/esbuild-wasm-bundle.generated.d.ts.map +1 -1
- package/dist/esbuild-wasm-bundle.generated.js +11 -10
- package/dist/facets/build-facet.d.ts +53 -0
- package/dist/facets/build-facet.d.ts.map +1 -0
- package/dist/facets/build-facet.js +346 -0
- package/dist/facets/cirrus-real.d.ts +3 -0
- package/dist/facets/cirrus-real.d.ts.map +1 -1
- package/dist/facets/cirrus-real.js +1 -2
- package/dist/facets/compose.d.ts +1 -0
- package/dist/facets/compose.d.ts.map +1 -1
- package/dist/facets/compose.js +3 -0
- package/dist/facets/data-plan.d.ts +14 -30
- package/dist/facets/data-plan.d.ts.map +1 -1
- package/dist/facets/data-plan.js +153 -13
- package/dist/facets/dev-stylesheet.d.ts +27 -0
- package/dist/facets/dev-stylesheet.d.ts.map +1 -0
- package/dist/facets/dev-stylesheet.js +65 -0
- package/dist/facets/esbuild-transform.d.ts +23 -18
- package/dist/facets/esbuild-transform.d.ts.map +1 -1
- package/dist/facets/esbuild-transform.js +63 -109
- package/dist/facets/manager.d.ts +49 -9
- package/dist/facets/manager.d.ts.map +1 -1
- package/dist/facets/manager.js +238 -69
- package/dist/facets/oxc-transform.d.ts +29 -0
- package/dist/facets/oxc-transform.d.ts.map +1 -0
- package/dist/facets/oxc-transform.js +198 -0
- package/dist/facets/prebundle-pool.d.ts +23 -0
- package/dist/facets/prebundle-pool.d.ts.map +1 -0
- package/dist/facets/prebundle-pool.js +55 -0
- package/dist/facets/process.d.ts +13 -6
- package/dist/facets/process.d.ts.map +1 -1
- package/dist/facets/process.js +37 -31
- package/dist/facets/transform-store.d.ts +4 -4
- package/dist/facets/transform-store.js +4 -4
- package/dist/facets/vite-dev-server.d.ts +89 -12
- package/dist/facets/vite-dev-server.d.ts.map +1 -1
- package/dist/facets/vite-dev-server.js +66 -43
- package/dist/hosted/commands.d.ts.map +1 -1
- package/dist/hosted/commands.js +20 -4
- package/dist/hosted/runtime.d.ts.map +1 -1
- package/dist/hosted/runtime.js +7 -2
- package/dist/hosted/services.d.ts +3 -3
- package/dist/hosted/services.d.ts.map +1 -1
- package/dist/hosted/services.js +102 -95
- package/dist/hosted/session.d.ts +1 -0
- package/dist/hosted/session.d.ts.map +1 -1
- package/dist/loaders/generated-workers.d.ts +3 -0
- package/dist/loaders/generated-workers.d.ts.map +1 -1
- package/dist/loaders/generated-workers.js +3 -0
- package/dist/napi-wasm-artifacts.generated.js +2 -2
- package/dist/node-shims-artifact.generated.d.ts +14 -1
- package/dist/node-shims-artifact.generated.d.ts.map +1 -1
- package/dist/node-shims-artifact.generated.js +23 -10
- package/dist/npm/bin-links.d.ts +7 -4
- package/dist/npm/bin-links.d.ts.map +1 -1
- package/dist/npm/bin-links.js +14 -55
- package/dist/npm/cache.d.ts +6 -0
- package/dist/npm/cache.d.ts.map +1 -1
- package/dist/npm/cache.js +26 -4
- package/dist/npm/installer.d.ts +1 -1
- package/dist/npm/installer.d.ts.map +1 -1
- package/dist/npm/installer.js +26 -52
- package/dist/npm/pre-bundle-facet.d.ts +15 -117
- package/dist/npm/pre-bundle-facet.d.ts.map +1 -1
- package/dist/npm/pre-bundle-facet.js +13 -511
- package/dist/oxc-facet-artifact.generated.d.ts +18 -0
- package/dist/oxc-facet-artifact.generated.d.ts.map +1 -0
- package/dist/oxc-facet-artifact.generated.js +17 -0
- package/dist/oxc-wasm-artifact.generated.d.ts +20 -0
- package/dist/oxc-wasm-artifact.generated.d.ts.map +1 -0
- package/dist/oxc-wasm-artifact.generated.js +19 -0
- package/dist/rolldown-facet-artifact.generated.d.ts +18 -0
- package/dist/rolldown-facet-artifact.generated.d.ts.map +1 -0
- package/dist/rolldown-facet-artifact.generated.js +17 -0
- package/dist/router/remote-api.d.ts.map +1 -1
- package/dist/router/remote-api.js +9 -0
- package/dist/runtime/bash-repl.d.ts.map +1 -1
- package/dist/runtime/bash-repl.js +1 -4
- package/dist/runtime/cpython-resident.d.ts.map +1 -1
- package/dist/runtime/cpython-resident.js +1 -0
- package/dist/runtime/esbuild-wasm-bytes.d.ts +25 -23
- package/dist/runtime/esbuild-wasm-bytes.d.ts.map +1 -1
- package/dist/runtime/esbuild-wasm-bytes.js +30 -25
- package/dist/runtime/facet-loader-host.d.ts +5 -4
- package/dist/runtime/facet-loader-host.d.ts.map +1 -1
- package/dist/runtime/facet-loader-host.js +5 -4
- package/dist/runtime/node-runner.d.ts +2 -0
- package/dist/runtime/node-runner.d.ts.map +1 -1
- package/dist/runtime/node-runner.js +1 -0
- package/dist/runtime/node-shims-artifact.d.ts +8 -1
- package/dist/runtime/node-shims-artifact.d.ts.map +1 -1
- package/dist/runtime/node-shims-artifact.js +32 -4
- package/dist/runtime/node-shims.d.ts.map +1 -1
- package/dist/runtime/node-shims.js +145 -109
- package/dist/runtime/opencode-facet-runner.d.ts.map +1 -1
- package/dist/runtime/opencode-facet-runner.js +6 -2
- package/dist/runtime/oxc-wasm-bytes.d.ts +19 -0
- package/dist/runtime/oxc-wasm-bytes.d.ts.map +1 -0
- package/dist/runtime/oxc-wasm-bytes.js +39 -0
- package/dist/runtime/package-manager.js +1 -1
- package/dist/runtime/process-logs-api.d.ts.map +1 -1
- package/dist/runtime/process-logs-api.js +2 -0
- package/dist/runtime/project-fs.d.ts +8 -1
- package/dist/runtime/project-fs.d.ts.map +1 -1
- package/dist/runtime/project-fs.js +15 -1
- package/dist/runtime/python-repl.d.ts +40 -1
- package/dist/runtime/python-repl.d.ts.map +1 -1
- package/dist/runtime/python-repl.js +19 -11
- package/dist/runtime/ruby-repl.d.ts +38 -0
- package/dist/runtime/ruby-repl.d.ts.map +1 -1
- package/dist/runtime/ruby-repl.js +24 -5
- package/dist/runtime/ruby-resident.d.ts.map +1 -1
- package/dist/runtime/ruby-resident.js +2 -0
- package/dist/session/nimbus-session.d.ts +13 -8
- package/dist/session/nimbus-session.d.ts.map +1 -1
- package/dist/session/nimbus-session.js +11 -5
- package/dist/session/programmatic.d.ts +25 -30
- package/dist/session/programmatic.d.ts.map +1 -1
- package/dist/session/programmatic.js +65 -93
- package/dist/session/routes.d.ts.map +1 -1
- package/dist/session/routes.js +23 -7
- package/dist/session/rpc.d.ts +16 -6
- package/dist/session/rpc.d.ts.map +1 -1
- package/dist/session/rpc.js +53 -13
- package/dist/session/start-real-vite.d.ts +24 -9
- package/dist/session/start-real-vite.d.ts.map +1 -1
- package/dist/session/start-real-vite.js +40 -4
- package/dist/session/supervisor-op.d.ts +14 -0
- package/dist/session/supervisor-op.d.ts.map +1 -1
- package/dist/session/supervisor-op.js +49 -0
- package/dist/session/supervisor-rpc.d.ts +11 -0
- package/dist/session/supervisor-rpc.d.ts.map +1 -1
- package/dist/session/supervisor-rpc.js +18 -0
- package/dist/session/vite-command.d.ts.map +1 -1
- package/dist/session/vite-command.js +23 -19
- package/dist/session/ws-relay.d.ts.map +1 -1
- package/dist/session/ws-relay.js +13 -1
- package/dist/shell/npm-bin-entrypoints.d.ts +3 -1
- package/dist/shell/npm-bin-entrypoints.d.ts.map +1 -1
- package/dist/shell/npm-bin-entrypoints.js +53 -25
- package/dist/vfs/facet-resident-store.d.ts.map +1 -1
- package/dist/vfs/facet-resident-store.js +11 -5
- package/dist/wrangler/nimbus-wrangler.d.ts +8 -0
- package/dist/wrangler/nimbus-wrangler.d.ts.map +1 -1
- package/dist/wrangler/nimbus-wrangler.js +54 -57
- package/package.json +6 -4
- package/public/_assets/esbuild-0.24.2.wasm +0 -0
- package/public/_assets/napi-wasm/loader/{99efae93dd1dcc2b → ab7e57fe9e8750c2}/napi-wasm-loader.mjs +4 -4
- package/public/_assets/napi-wasm/loader/{99efae93dd1dcc2b → ab7e57fe9e8750c2}/provenance.json +2 -2
- package/public/_assets/oxc/nimbus-oxc-1aa8c4c7057c6c28.provenance.json +72 -0
- package/public/_assets/oxc/nimbus-oxc-1aa8c4c7057c6c28.wasm +0 -0
- package/public/_assets/runtime/esbuild-cli-f13e6a112b03ac07.js +1143 -0
- package/public/_assets/runtime/js-interpreter-3c37c48024f0f651.js +23 -0
- package/public/_assets/runtime/js-interpreter-ops-2f4dfec6798e70fc.js +290 -0
- package/public/_assets/runtime/js-interpreter-primordials-e620a61b7e9800fa.js +1 -0
- package/public/_assets/runtime/{node-shims-f92f16c7d7c532e9.js → node-shims-e3adc4576da31e6e.js} +651 -103
- package/public/_assets/runtime/{esbuild-cli-b7aecffd4c6a36fe.js → oxc-facet-fd86fefcdf16bf9c.js} +217 -1047
- package/public/_assets/runtime/{resident-store-92386265e8b306dc.js → resident-store-009f39539ac989fc.js} +11 -5
- package/public/_assets/runtime/rolldown-facet-09983434e2dbe93e.js +15165 -0
- package/public/_assets/runtime/{vfs-write-ledger-d33ee0034446c3e0.js → vfs-write-ledger-9e9594591425a9b8.js} +4 -1
- package/scripts/acorn-primordials.mjs +637 -0
- package/scripts/bundle-esbuild-wasm.mjs +42 -50
- package/scripts/bundle-facet-workers.mjs +247 -18
- package/scripts/bundle-node-shims.mjs +29 -2
- package/scripts/bundle-oxc-wasm.mjs +105 -0
- package/scripts/interpreter-bundle.mjs +105 -0
- package/scripts/napi-wasm/build.mjs +4 -1
- package/scripts/napi-wasm/loader/napi-wasm-loader.ts +38 -3
- package/scripts/oxc-wasm/Cargo.lock +1246 -0
- package/scripts/oxc-wasm/Cargo.toml +30 -0
- package/scripts/oxc-wasm/build.mjs +249 -0
- package/scripts/oxc-wasm/examples/memory.rs +51 -0
- package/scripts/oxc-wasm/examples/transform.rs +20 -0
- package/scripts/oxc-wasm/inputs.mjs +32 -0
- package/scripts/oxc-wasm/rust-toolchain.toml +5 -0
- package/scripts/oxc-wasm/src/abi.rs +136 -0
- package/scripts/oxc-wasm/src/diagnostics.rs +49 -0
- package/scripts/oxc-wasm/src/helpers.rs +139 -0
- package/scripts/oxc-wasm/src/lib.rs +247 -0
- package/scripts/oxc-wasm/src/module.rs +978 -0
- package/scripts/oxc-wasm/src/names.rs +175 -0
- package/scripts/oxc-wasm/src/options.rs +154 -0
- package/scripts/parser-audit.mjs +492 -0
- package/scripts/rolldown-facet/entry.mjs +21 -0
- package/scripts/rolldown-facet/shims.mjs +64 -0
- package/dist/facets/esbuild-bundle-pool.d.ts +0 -43
- package/dist/facets/esbuild-bundle-pool.d.ts.map +0 -1
- package/dist/facets/esbuild-bundle-pool.js +0 -80
- package/dist/loaders/pre-bundle-preamble.d.ts +0 -44
- package/dist/loaders/pre-bundle-preamble.d.ts.map +0 -1
- package/dist/loaders/pre-bundle-preamble.js +0 -116
- package/dist/runtime/host-wasm.d.ts +0 -8
- package/dist/runtime/host-wasm.d.ts.map +0 -1
- package/dist/runtime/host-wasm.js +0 -33
- /package/public/_assets/napi-wasm/loader/{99efae93dd1dcc2b → ab7e57fe9e8750c2}/wasi-trampoline.wasm +0 -0
|
@@ -1,109 +1,27 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* pre-bundle-facet.ts —
|
|
2
|
+
* pre-bundle-facet.ts — the supervisor's half of pre-bundling npm packages
|
|
3
|
+
* (the `Pre-bundling N modules…` step in npm/installer.ts, and the Vite dev
|
|
4
|
+
* server's on-demand /@modules/ bundles).
|
|
3
5
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* inside the supervisor DO isolate. Each `esbuild.build` allocates
|
|
9
|
-
* 30–80 MiB of WASM linear memory plus the input/output graph; against
|
|
10
|
-
* the 128 MB DO heap cap this OOM-killed the supervisor on installs
|
|
11
|
-
* touching large React libraries (motion, framer-motion, etc.). The
|
|
12
|
-
* symptom was a banner re-print after `npm install` succeeded —
|
|
13
|
-
* NimbusSession's constructor running again because workerd had killed
|
|
14
|
-
* the previous isolate.
|
|
15
|
-
*
|
|
16
|
-
* The fix is to dispatch each per-specifier `esbuild.build` to a
|
|
17
|
-
* IsolatePool isolate. Each facet has its own 128 MB budget and
|
|
18
|
-
* stable-slot reuse keeps the warm-up cost amortized across the 8
|
|
19
|
-
* concurrent specs of a typical install. The install-batch facet uses
|
|
20
|
-
* the same isolate boundary for tarball extraction.
|
|
6
|
+
* Bundling runs in the Durable Object's build facet (facets/build-facet.ts:
|
|
7
|
+
* `prebundle`, rolldown, core runtime/prebundle-slice.ts), never in the
|
|
8
|
+
* supervisor: a bundle's working set (the engine's wasm memory plus the
|
|
9
|
+
* input and output graph) would not fit beside the supervisor's own heap.
|
|
21
10
|
*
|
|
22
11
|
* File-slice strategy (zero per-read RPC)
|
|
23
12
|
* ──────────────────────────────────────
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* dependency tree once (fast — direct VFS access) and ships the
|
|
31
|
-
* entire `{path → bytes}` slice as part of the spec. The facet's VFS
|
|
32
|
-
* plugin reads from this in-memory map. Zero RPC during bundling.
|
|
33
|
-
*
|
|
34
|
-
* Stability invariants
|
|
35
|
-
* ───────────────────
|
|
36
|
-
* cloudflare-parallel serializes the function via `fn.toString()`.
|
|
37
|
-
* - No `this` references (arrow / anonymous async).
|
|
38
|
-
* - No free variables other than preamble names + explicit args.
|
|
39
|
-
* - Module-level constants the function references must come from
|
|
40
|
-
* the preamble (src/loaders/pre-bundle-preamble.ts) — see
|
|
41
|
-
* `ESBUILD_PRELOAD_PREAMBLE`.
|
|
42
|
-
*
|
|
43
|
-
* The supervisor RPC surface (env.SUPERVISOR) is available for emergency
|
|
44
|
-
* fallbacks but the bundle path MUST NOT use it — slice-up-front is the
|
|
45
|
-
* contract.
|
|
13
|
+
* A VFS plugin would naturally call back to the supervisor for every
|
|
14
|
+
* resolve and load. With workerd's ~5–20 ms RPC latency and 50–200 reads
|
|
15
|
+
* per bundle that is seconds of pure RPC overhead per install. Instead the
|
|
16
|
+
* supervisor walks the spec's transitive non-external dependency tree once
|
|
17
|
+
* (fast — direct VFS access) and ships the entire `{path → bytes}` slice as
|
|
18
|
+
* part of the spec; the bundler reads from that in-memory map.
|
|
46
19
|
*/
|
|
47
20
|
import type { CredentialedVfs } from '@nimbus-sh/core/vfs/sqlite-vfs.js';
|
|
48
21
|
import type { ResolvedPackage } from './resolver.js';
|
|
49
22
|
import { BUNDLER_VERSION } from '@nimbus-sh/core/runtime/esbuild-service.js';
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
* loader inferences (js/ts/css/binary) need raw bytes for binary entries
|
|
53
|
-
* and TextDecoder produces lossless text for source code.
|
|
54
|
-
*
|
|
55
|
-
* RPC serialisation: workerd transmits Uint8Array via structured-clone with
|
|
56
|
-
* zero-copy semantics across same-process isolates. Memory cost on the
|
|
57
|
-
* facet side equals the spec's slice size; cost on the supervisor side is
|
|
58
|
-
* the same (the slice was just built from VFS reads).
|
|
59
|
-
*/
|
|
60
|
-
export interface SlicedFile {
|
|
61
|
-
path: string;
|
|
62
|
-
bytes: Uint8Array;
|
|
63
|
-
isDir: false;
|
|
64
|
-
}
|
|
65
|
-
export interface SlicedDir {
|
|
66
|
-
path: string;
|
|
67
|
-
isDir: true;
|
|
68
|
-
}
|
|
69
|
-
export type SliceEntry = SlicedFile | SlicedDir;
|
|
70
|
-
/** What the supervisor sends per pre-bundle dispatch. */
|
|
71
|
-
export interface PrebundleSpec {
|
|
72
|
-
/** Bare specifier being bundled, e.g. "framer-motion" or "react/jsx-runtime". */
|
|
73
|
-
specifier: string;
|
|
74
|
-
/** VFS path of the entry point, e.g. "/home/user/example-app/node_modules/framer-motion/dist/es/index.mjs". */
|
|
75
|
-
entryPath: string;
|
|
76
|
-
/** External specifiers (from getSharedRuntimeExternals). */
|
|
77
|
-
externals: string[];
|
|
78
|
-
/**
|
|
79
|
-
* Slice: every file/dir the bundler may need for this spec. Computed
|
|
80
|
-
* supervisor-side via a transitive-dependency walk. Includes:
|
|
81
|
-
* - Every file under node_modules/<spec-pkg>/
|
|
82
|
-
* - Every file under node_modules/<dep>/ for each transitive dep
|
|
83
|
-
* NOT marked external by `externals`.
|
|
84
|
-
*/
|
|
85
|
-
slice: SliceEntry[];
|
|
86
|
-
/** Stamp written into pkg_esm_bundles.bundle_hash; matches BUNDLER_VERSION. */
|
|
87
|
-
bundlerVersion: string;
|
|
88
|
-
/** Optional esbuild `define` map. Used by the on-demand bundler path
|
|
89
|
-
* (vite-dev-server) to inject process.env.NODE_ENV, import.meta.env.*,
|
|
90
|
-
* global → globalThis, etc. The pre-bundle path leaves this undefined
|
|
91
|
-
* (browser-target build needs no define replacement). */
|
|
92
|
-
define?: Record<string, string>;
|
|
93
|
-
}
|
|
94
|
-
/** What the facet returns. */
|
|
95
|
-
export interface PrebundleResult {
|
|
96
|
-
specifier: string;
|
|
97
|
-
ok: boolean;
|
|
98
|
-
/** ESM bundle output as a UTF-8 string. Empty when ok=false. */
|
|
99
|
-
esmCode: string;
|
|
100
|
-
/** First esbuild error message; populated when ok=false. */
|
|
101
|
-
errorText?: string;
|
|
102
|
-
/** Wall-clock ms inside the facet (bundling only, excludes RPC roundtrip). */
|
|
103
|
-
elapsed: number;
|
|
104
|
-
/** Non-fatal warnings the supervisor should surface. */
|
|
105
|
-
warnings: string[];
|
|
106
|
-
}
|
|
23
|
+
import type { SliceEntry } from '@nimbus-sh/core/runtime/prebundle-slice.js';
|
|
24
|
+
export type { PrebundleResult, PrebundleSpec, SlicedDir, SlicedFile, SliceEntry } from '@nimbus-sh/core/runtime/prebundle-slice.js';
|
|
107
25
|
export declare function buildSliceForSpecifierWithCap(vfs: CredentialedVfs, specifier: string, nmDir: string, capBytes: number): {
|
|
108
26
|
slice: SliceEntry[];
|
|
109
27
|
totalBytes: number;
|
|
@@ -114,26 +32,6 @@ export declare function buildSliceForSpecifierWithCap(vfs: CredentialedVfs, spec
|
|
|
114
32
|
* the helper from esbuild-service.ts on the call site.
|
|
115
33
|
*/
|
|
116
34
|
export declare function externalsForSpecifier(specifier: string): string[];
|
|
117
|
-
/**
|
|
118
|
-
* Bundle one specifier in a facet isolate. Returns the ESM bundle output
|
|
119
|
-
* to the supervisor; bundle bytes flow through `pool.map`'s return value
|
|
120
|
-
* (no RPC writeBatch — pkg_esm_bundles is supervisor-side SQLite, not VFS).
|
|
121
|
-
*
|
|
122
|
-
* Memory plan (verified by /api/_diag/memory after the rollout):
|
|
123
|
-
* - Slice retained in facet memory: ~3–10 MiB per typical React lib.
|
|
124
|
-
* - esbuild WASM linear memory: ~30–80 MiB during build.
|
|
125
|
-
* - Output bundle: usually <2 MiB.
|
|
126
|
-
* - Peak in the facet: ~100 MiB worst case (well under 128 MB cap).
|
|
127
|
-
*
|
|
128
|
-
* The supervisor never holds more than the spec arg + result return at
|
|
129
|
-
* once, so its peak stays in the low tens of MiB during the entire
|
|
130
|
-
* pre-bundle phase.
|
|
131
|
-
*/
|
|
132
|
-
export declare const prebundleOne: (spec: PrebundleSpec, _env: {
|
|
133
|
-
SUPERVISOR: {
|
|
134
|
-
readFile(p: string): Promise<string | null>;
|
|
135
|
-
};
|
|
136
|
-
}) => Promise<PrebundleResult>;
|
|
137
35
|
export { BUNDLER_VERSION };
|
|
138
36
|
export type _ResolvedPackage = ResolvedPackage;
|
|
139
37
|
//# sourceMappingURL=pre-bundle-facet.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pre-bundle-facet.d.ts","sourceRoot":"","sources":["../../src/npm/pre-bundle-facet.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"pre-bundle-facet.d.ts","sourceRoot":"","sources":["../../src/npm/pre-bundle-facet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAA6B,eAAe,EAAE,MAAM,4CAA4C,CAAC;AACxG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAE7E,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAQpI,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,eAAe,EACpB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf;IAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CA4GpD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAEjE;AAGD,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B,MAAM,MAAM,gBAAgB,GAAG,eAAe,CAAC"}
|