zyzz 0.0.7 → 0.0.8
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/babel/index.d.ts +4 -1
- package/dist/babel/index.d.ts.map +1 -1
- package/dist/babel/index.js +6 -3
- package/dist/babel/index.js.map +1 -1
- package/dist/babel/internal/Compilation.d.ts +12 -0
- package/dist/babel/internal/Compilation.d.ts.map +1 -0
- package/dist/babel/internal/Compilation.js +3 -0
- package/dist/babel/internal/Compilation.js.map +1 -0
- package/dist/compiler/Graph.d.ts +6 -1
- package/dist/compiler/Graph.d.ts.map +1 -1
- package/dist/compiler/Graph.js +160 -36
- package/dist/compiler/Graph.js.map +1 -1
- package/dist/compiler/Transform.d.ts.map +1 -1
- package/dist/compiler/Transform.js +2 -1
- package/dist/compiler/Transform.js.map +1 -1
- package/dist/compiler/internal/Stylesheets.d.ts +8 -0
- package/dist/compiler/internal/Stylesheets.d.ts.map +1 -1
- package/dist/compiler/internal/Stylesheets.js +4 -0
- package/dist/compiler/internal/Stylesheets.js.map +1 -1
- package/dist/metro/Graph.d.ts +9 -1
- package/dist/metro/Graph.d.ts.map +1 -1
- package/dist/metro/Graph.js +5 -4
- package/dist/metro/Graph.js.map +1 -1
- package/dist/metro/transformer.d.ts +0 -1
- package/dist/metro/transformer.d.ts.map +1 -1
- package/dist/metro/transformer.js +19 -1
- package/dist/metro/transformer.js.map +1 -1
- package/dist/next/index.d.ts +3 -3
- package/dist/next/index.d.ts.map +1 -1
- package/dist/next/index.js +25 -30
- package/dist/next/index.js.map +1 -1
- package/dist/next/internal/Project.d.ts +4 -4
- package/dist/next/internal/Project.d.ts.map +1 -1
- package/dist/next/internal/Project.js +153 -107
- package/dist/next/internal/Project.js.map +1 -1
- package/dist/next/loader.d.ts +3 -1
- package/dist/next/loader.d.ts.map +1 -1
- package/dist/next/loader.js +152 -99
- package/dist/next/loader.js.map +1 -1
- package/dist/node/Host.d.ts.map +1 -1
- package/dist/node/Host.js +11 -3
- package/dist/node/Host.js.map +1 -1
- package/dist/node/internal/Snapshot.d.ts +12 -0
- package/dist/node/internal/Snapshot.d.ts.map +1 -0
- package/dist/node/internal/Snapshot.js +74 -0
- package/dist/node/internal/Snapshot.js.map +1 -0
- package/dist/unplugin/index.d.ts.map +1 -1
- package/dist/unplugin/index.js +10 -5
- package/dist/unplugin/index.js.map +1 -1
- package/dist/vite/index.d.ts.map +1 -1
- package/dist/vite/index.js +19 -4
- package/dist/vite/index.js.map +1 -1
- package/package.json +1 -1
- package/src/babel/index.ts +10 -4
- package/src/babel/internal/Compilation.ts +13 -0
- package/src/compiler/Graph.ts +213 -47
- package/src/compiler/Transform.ts +2 -1
- package/src/compiler/internal/Stylesheets.ts +9 -0
- package/src/metro/Graph.ts +5 -3
- package/src/metro/transformer.ts +26 -1
- package/src/next/index.ts +26 -31
- package/src/next/internal/Project.ts +196 -155
- package/src/next/loader.ts +181 -124
- package/src/node/Host.ts +15 -3
- package/src/node/internal/Snapshot.ts +79 -0
- package/src/unplugin/index.ts +10 -5
- package/src/vite/index.ts +24 -4
package/dist/metro/Graph.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/** Reads a closed local source graph for native authoring without evaluating modules. @module */
|
|
2
2
|
import * as Fs from 'node:fs';
|
|
3
3
|
import * as Path from 'node:path';
|
|
4
|
-
import * as
|
|
4
|
+
import * as Snapshot from '../node/internal/Snapshot.js';
|
|
5
5
|
/** Collects relative source imports; package and asset imports remain owned by Metro. */
|
|
6
|
-
export function read(filename, source, platform, root) {
|
|
6
|
+
export function read(filename, source, platform, root, snapshot = Snapshot.create()) {
|
|
7
7
|
const files = new Set();
|
|
8
8
|
const modules = Object.create(null);
|
|
9
9
|
const imports = Object.create(null);
|
|
@@ -21,7 +21,8 @@ export function read(filename, source, platform, root) {
|
|
|
21
21
|
modules[id] = source;
|
|
22
22
|
const resolved = Object.create(null);
|
|
23
23
|
imports[id] = resolved;
|
|
24
|
-
for (const statement of
|
|
24
|
+
for (const statement of snapshot.parse({ moduleId: id, source }).program
|
|
25
|
+
.body) {
|
|
25
26
|
if (!('source' in statement) ||
|
|
26
27
|
!statement.source ||
|
|
27
28
|
typeof statement.source !== 'object' ||
|
|
@@ -49,7 +50,7 @@ export function read(filename, source, platform, root) {
|
|
|
49
50
|
if (!target || !/\.[cm]?[jt]sx?$/.test(target))
|
|
50
51
|
continue;
|
|
51
52
|
resolved[specifier] = identity(target);
|
|
52
|
-
visit(target,
|
|
53
|
+
visit(target, snapshot.readSync(target));
|
|
53
54
|
}
|
|
54
55
|
}
|
|
55
56
|
visit(filename, source);
|
package/dist/metro/Graph.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Graph.js","sourceRoot":"","sources":["../../src/metro/Graph.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Graph.js","sourceRoot":"","sources":["../../src/metro/Graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/** Chains native authoring compilation into the configured Metro Babel transformer. @module */
|
|
2
1
|
import type * as Babel from '@babel/core';
|
|
3
2
|
import { type NativeOptions } from '../babel/index.js';
|
|
4
3
|
/** Babel transformer inputs passed through without removing upstream fields. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../../src/metro/transformer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../../src/metro/transformer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,KAAK,MAAM,aAAa,CAAA;AAMzC,OAAO,EAAE,KAAK,aAAa,EAAQ,MAAM,mBAAmB,CAAA;AAE5D,gFAAgF;AAChF,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAA;IAC5D,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,KAAK,CAAC,UAAU,EAAE,GAAG,SAAS,CAAA;IAC1D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB,CAAA;AAOD,4FAA4F;AAC5F,wBAAgB,MAAM,CACpB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,IAAI,CACX,aAAa,EACb,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAC3E,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE;IAM3B,WAAW,UAAU,SAAS,OAAO,EAAE;IAqCvC,SAAS,QAAQ,KAAK;EA+CzB"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/** Chains native authoring compilation into the configured Metro Babel transformer. @module */
|
|
2
|
+
import * as Compilation from '../babel/internal/Compilation.js';
|
|
3
|
+
import * as Compiler from '../compiler/Graph.js';
|
|
4
|
+
import * as Snapshot from '../node/internal/Snapshot.js';
|
|
1
5
|
import * as Crypto from 'node:crypto';
|
|
2
6
|
import * as Fs from 'node:fs';
|
|
3
7
|
import * as Module from 'node:module';
|
|
@@ -6,6 +10,8 @@ import * as Graph from './Graph.js';
|
|
|
6
10
|
import { zyzz } from '../babel/index.js';
|
|
7
11
|
/** Creates a transformer with isolated options and the existing upstream implementation. */
|
|
8
12
|
export function create(upstreamPath, options) {
|
|
13
|
+
const compilers = new Map();
|
|
14
|
+
const snapshot = Snapshot.create();
|
|
9
15
|
const upstream = Module.createRequire(import.meta.url)(upstreamPath);
|
|
10
16
|
return {
|
|
11
17
|
getCacheKey(...args) {
|
|
@@ -50,6 +56,13 @@ export function create(upstreamPath, options) {
|
|
|
50
56
|
input.filename.split(/[\\/]/).includes('node_modules') ||
|
|
51
57
|
Path.relative(options.root, filename).startsWith(`..${Path.sep}`))
|
|
52
58
|
return upstream.transform(input);
|
|
59
|
+
const graph = Graph.read(filename, input.src, platform, options.root, snapshot);
|
|
60
|
+
const key = `${platform}:${filename}`;
|
|
61
|
+
let compiler = compilers.get(key);
|
|
62
|
+
if (!compiler) {
|
|
63
|
+
compiler = Compiler.create();
|
|
64
|
+
compilers.set(key, compiler);
|
|
65
|
+
}
|
|
53
66
|
return upstream.transform({
|
|
54
67
|
...input,
|
|
55
68
|
plugins: [
|
|
@@ -59,7 +72,12 @@ export function create(upstreamPath, options) {
|
|
|
59
72
|
...options,
|
|
60
73
|
platform,
|
|
61
74
|
target: 'native',
|
|
62
|
-
...
|
|
75
|
+
...graph,
|
|
76
|
+
[Compilation.key]: {
|
|
77
|
+
compile: compiler.compile,
|
|
78
|
+
parse: snapshot.parse,
|
|
79
|
+
programs: snapshot.programs(graph.modules),
|
|
80
|
+
},
|
|
63
81
|
},
|
|
64
82
|
],
|
|
65
83
|
...(input.plugins ?? []),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformer.js","sourceRoot":"","sources":["../../src/metro/transformer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transformer.js","sourceRoot":"","sources":["../../src/metro/transformer.ts"],"names":[],"mappings":"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"}
|
package/dist/next/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/** Connects Next.js configuration to the shared static compiler. @module */
|
|
2
2
|
import type { NextConfig } from 'next';
|
|
3
3
|
/**
|
|
4
|
-
* Adds source transformation, CSS delivery, and
|
|
5
|
-
* Preserves
|
|
6
|
-
*
|
|
4
|
+
* Adds source transformation, CSS delivery, and imported dependency watching to both bundlers.
|
|
5
|
+
* Preserves configuration hooks. Compilation emits stylesheets beneath `.zyzz/next`.
|
|
6
|
+
* Compilation and file-system errors are reported by the bundler.
|
|
7
7
|
*/
|
|
8
8
|
export declare function zyzz(config: NextConfig, options?: zyzz.Options): NextConfig;
|
|
9
9
|
export declare function zyzz(config: zyzz.Factory, options?: zyzz.Options): zyzz.Factory;
|
package/dist/next/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAKtC;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,UAAU,CAAA;AAC5E,wBAAgB,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;AAChF,wBAAgB,IAAI,CAClB,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,EAC3B,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,GACrB,OAAO,CAAC,UAAU,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAKtC;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,UAAU,CAAA;AAC5E,wBAAgB,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;AAChF,wBAAgB,IAAI,CAClB,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,EAC3B,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,GACrB,OAAO,CAAC,UAAU,CAAC,CAAA;AAqGtB,gDAAgD;AAChD,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,+EAA+E;IAC/E,KAAK,OAAO,GAAG,CACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;QAAE,aAAa,EAAE,UAAU,CAAA;KAAE,KACnC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAErC,wCAAwC;IACxC,KAAK,OAAO,GAAG;QACb,gDAAgD;QAChD,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KACrC,CAAA;CACF"}
|
package/dist/next/index.js
CHANGED
|
@@ -7,26 +7,34 @@ export function zyzz(config, options = {}) {
|
|
|
7
7
|
if (config instanceof Promise)
|
|
8
8
|
return config.then((value) => zyzz(value, options));
|
|
9
9
|
const loader = Module.createRequire(import.meta.url).resolve('zyzz/next/loader');
|
|
10
|
-
const loaderOptions = {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
10
|
+
const loaderOptions = {
|
|
11
|
+
development: process.env.NODE_ENV === 'development',
|
|
12
|
+
reset: options.reset ?? false,
|
|
13
|
+
root: process.cwd(),
|
|
14
|
+
};
|
|
15
|
+
// Turbopack must observe the output directory before taking its filesystem snapshot.
|
|
16
|
+
const directory = Path.join(loaderOptions.root, '.zyzz', 'next');
|
|
17
|
+
Fs.mkdirSync(directory, { recursive: true });
|
|
18
|
+
for (const [name, source] of Object.entries({
|
|
19
|
+
'package.json': JSON.stringify({ sideEffects: true, type: 'module' }),
|
|
20
|
+
'style.css': '',
|
|
21
|
+
})) {
|
|
22
|
+
try {
|
|
23
|
+
Fs.writeFileSync(Path.join(directory, name), source, { flag: 'wx' });
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
if (error.code !== 'EEXIST')
|
|
27
|
+
throw error;
|
|
28
|
+
}
|
|
19
29
|
}
|
|
20
30
|
const pattern = '*.{ts,tsx,js,jsx,mts,cts,mjs,cjs}';
|
|
21
31
|
const existing = config.turbopack?.rules?.[pattern];
|
|
22
32
|
const rule = {
|
|
23
|
-
condition: {
|
|
24
|
-
all: [{ not: 'foreign' }, { not: { query: /zyzz-style/ } }],
|
|
25
|
-
},
|
|
33
|
+
condition: { not: 'foreign' },
|
|
26
34
|
loaders: [
|
|
27
35
|
{
|
|
28
36
|
loader,
|
|
29
|
-
options: { ...loaderOptions, bundler: 'turbopack'
|
|
37
|
+
options: { ...loaderOptions, bundler: 'turbopack' },
|
|
30
38
|
},
|
|
31
39
|
],
|
|
32
40
|
};
|
|
@@ -51,29 +59,16 @@ export function zyzz(config, options = {}) {
|
|
|
51
59
|
[pattern]: [
|
|
52
60
|
...(Array.isArray(existing) ? existing : existing ? [existing] : []),
|
|
53
61
|
rule,
|
|
54
|
-
{
|
|
55
|
-
condition: { query: /zyzz-style/ },
|
|
56
|
-
loaders: [
|
|
57
|
-
{
|
|
58
|
-
loader,
|
|
59
|
-
options: {
|
|
60
|
-
...loaderOptions,
|
|
61
|
-
bundler: 'turbopack',
|
|
62
|
-
mode: 'style',
|
|
63
|
-
},
|
|
64
|
-
},
|
|
65
|
-
],
|
|
66
|
-
as: '*.css',
|
|
67
|
-
},
|
|
68
62
|
],
|
|
69
|
-
'**/.zyzz/next/
|
|
63
|
+
'**/.zyzz/next/style.css': {
|
|
64
|
+
condition: { query: /zyzz=/ },
|
|
70
65
|
loaders: [
|
|
71
66
|
{
|
|
72
67
|
loader,
|
|
73
68
|
options: {
|
|
74
69
|
...loaderOptions,
|
|
75
70
|
bundler: 'turbopack',
|
|
76
|
-
mode: '
|
|
71
|
+
mode: 'style',
|
|
77
72
|
},
|
|
78
73
|
},
|
|
79
74
|
],
|
|
@@ -92,7 +87,7 @@ export function zyzz(config, options = {}) {
|
|
|
92
87
|
use: [
|
|
93
88
|
{
|
|
94
89
|
loader,
|
|
95
|
-
options: { ...loaderOptions, bundler: 'webpack'
|
|
90
|
+
options: { ...loaderOptions, bundler: 'webpack' },
|
|
96
91
|
},
|
|
97
92
|
],
|
|
98
93
|
});
|
package/dist/next/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAajC,MAAM,UAAU,IAAI,CAClB,MAAuD,EACvD,OAAO,GAAiB,EAAE;IAE1B,IAAI,OAAO,MAAM,KAAK,UAAU;QAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;IAC9E,IAAI,MAAM,YAAY,OAAO;QAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;IAErD,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAC1D,kBAAkB,CACnB,CAAA;IACD,MAAM,aAAa,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import * as Graph from '../../compiler/Graph.js';
|
|
2
2
|
/** Resolution and dependency notifications supplied by the active loader invocation. */
|
|
3
3
|
export type Context = {
|
|
4
|
-
/** Track graph membership changes. */
|
|
5
|
-
addContextDependency(directory: string): void;
|
|
6
4
|
/** Track source and contract edits. */
|
|
7
5
|
addDependency(file: string): void;
|
|
8
6
|
/** Resolve with the active bundler's aliases and conditions. */
|
|
@@ -13,12 +11,14 @@ export type Context = {
|
|
|
13
11
|
/** Creates project state owned by a loader configuration in one worker process. */
|
|
14
12
|
export declare function create(options: create.Options): {
|
|
15
13
|
/** Compiles a fresh snapshot while retaining unchanged syntax and graph results. */
|
|
16
|
-
compile(context: Context, source
|
|
14
|
+
compile(context: Context, source: string): Promise<Graph.compile.ReturnType>;
|
|
17
15
|
};
|
|
18
16
|
/** Project cache settings. */
|
|
19
17
|
export declare namespace create {
|
|
20
|
-
/** Isolates source
|
|
18
|
+
/** Isolates imported source graphs and shared stylesheet options. */
|
|
21
19
|
type Options = {
|
|
20
|
+
/** Keep development class names stable across value edits. */
|
|
21
|
+
readonly development?: boolean | undefined;
|
|
22
22
|
/** Include the packaged reset in shared CSS. */
|
|
23
23
|
readonly reset?: boolean | undefined;
|
|
24
24
|
/** Absolute application directory. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Project.d.ts","sourceRoot":"","sources":["../../../src/next/internal/Project.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAA;AAMhD,wFAAwF;AACxF,MAAM,MAAM,OAAO,GAAG;IACpB,
|
|
1
|
+
{"version":3,"file":"Project.d.ts","sourceRoot":"","sources":["../../../src/next/internal/Project.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAA;AAMhD,wFAAwF;AACxF,MAAM,MAAM,OAAO,GAAG;IACpB,uCAAuC;IACvC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,gEAAgE;IAChE,UAAU,CACR,OAAO,EAAE,MAAM,GACd,CACD,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,KAAK,IAAI,KAC3D,IAAI,CAAA;IACT,gCAAgC;IAChC,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,mFAAmF;AACnF,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO;IAe1C,oFAAoF;IACpF,OAAO,UAAU,OAAO,UAAU,MAAM;EA6T3C;AAED,8BAA8B;AAC9B,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,qEAAqE;IACrE,KAAK,OAAO,GAAG;QACb,8DAA8D;QAC9D,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QAC1C,gDAAgD;QAChD,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACpC,sCAAsC;QACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KACtB,CAAA;CACF"}
|