zyzz 0.0.24 → 0.0.26
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 +23 -365
- package/dist/Style.d.ts +2 -0
- package/dist/Style.d.ts.map +1 -1
- package/dist/Vars.d.ts +18 -2
- package/dist/Vars.d.ts.map +1 -1
- package/dist/Vars.js +21 -3
- package/dist/Vars.js.map +1 -1
- package/dist/compiler/Graph.d.ts +3 -0
- package/dist/compiler/Graph.d.ts.map +1 -1
- package/dist/compiler/Graph.js +38 -2
- package/dist/compiler/Graph.js.map +1 -1
- package/dist/compiler/Source.d.ts.map +1 -1
- package/dist/compiler/Source.js +11 -3
- package/dist/compiler/Source.js.map +1 -1
- package/dist/compiler/Transform.d.ts +4 -0
- package/dist/compiler/Transform.d.ts.map +1 -1
- package/dist/compiler/Transform.js +79 -15
- package/dist/compiler/Transform.js.map +1 -1
- package/dist/compiler/internal/Applications.d.ts +20 -0
- package/dist/compiler/internal/Applications.d.ts.map +1 -1
- package/dist/compiler/internal/Applications.js +151 -47
- package/dist/compiler/internal/Applications.js.map +1 -1
- package/dist/compiler/internal/Compositions.d.ts.map +1 -1
- package/dist/compiler/internal/Compositions.js +6 -0
- package/dist/compiler/internal/Compositions.js.map +1 -1
- package/dist/compiler/internal/Configurations.d.ts +3 -0
- package/dist/compiler/internal/Configurations.d.ts.map +1 -1
- package/dist/compiler/internal/Configurations.js +6 -1
- package/dist/compiler/internal/Configurations.js.map +1 -1
- package/dist/compiler/internal/Contract.d.ts.map +1 -1
- package/dist/compiler/internal/Contract.js +34 -7
- package/dist/compiler/internal/Contract.js.map +1 -1
- package/dist/compiler/internal/PackedStyles.d.ts.map +1 -1
- package/dist/compiler/internal/PackedStyles.js +7 -0
- package/dist/compiler/internal/PackedStyles.js.map +1 -1
- package/dist/compiler/internal/Themes.d.ts.map +1 -1
- package/dist/compiler/internal/Themes.js +123 -35
- package/dist/compiler/internal/Themes.js.map +1 -1
- package/dist/internal/Configuration.d.ts +10 -0
- package/dist/internal/Configuration.d.ts.map +1 -1
- package/dist/internal/Configuration.js +13 -1
- package/dist/internal/Configuration.js.map +1 -1
- package/dist/internal/Token.d.ts +2 -0
- package/dist/internal/Token.d.ts.map +1 -1
- package/dist/internal/Token.js.map +1 -1
- package/dist/internal/VariableSets.d.ts +20 -4
- package/dist/internal/VariableSets.d.ts.map +1 -1
- package/dist/internal/VariableSets.js +70 -19
- package/dist/internal/VariableSets.js.map +1 -1
- package/dist/next/internal/Project.d.ts.map +1 -1
- package/dist/next/internal/Project.js +30 -25
- package/dist/next/internal/Project.js.map +1 -1
- package/dist/next/loader.js +2 -1
- package/dist/next/loader.js.map +1 -1
- package/dist/node/Host.d.ts.map +1 -1
- package/dist/node/Host.js +32 -23
- package/dist/node/Host.js.map +1 -1
- package/dist/node/internal/Contracts.d.ts +22 -0
- package/dist/node/internal/Contracts.d.ts.map +1 -0
- package/dist/node/internal/Contracts.js +287 -0
- package/dist/node/internal/Contracts.js.map +1 -0
- package/dist/react-native/internal/Tokens.d.ts.map +1 -1
- package/dist/react-native/internal/Tokens.js +3 -6
- package/dist/react-native/internal/Tokens.js.map +1 -1
- package/dist/unplugin/index.d.ts.map +1 -1
- package/dist/unplugin/index.js +31 -13
- package/dist/unplugin/index.js.map +1 -1
- package/dist/vite/index.d.ts.map +1 -1
- package/dist/vite/index.js +33 -44
- package/dist/vite/index.js.map +1 -1
- package/dist/web/Css.d.ts +10 -5
- package/dist/web/Css.d.ts.map +1 -1
- package/dist/web/Css.js +170 -31
- package/dist/web/Css.js.map +1 -1
- package/dist/web/internal/ClassName.d.ts +49 -0
- package/dist/web/internal/ClassName.d.ts.map +1 -1
- package/dist/web/internal/ClassName.js +57 -0
- package/dist/web/internal/ClassName.js.map +1 -1
- package/dist/web/internal/Themes.d.ts.map +1 -1
- package/dist/web/internal/Themes.js +4 -2
- package/dist/web/internal/Themes.js.map +1 -1
- package/package.json +1 -1
- package/src/Style.ts +2 -0
- package/src/Vars.ts +104 -12
- package/src/compiler/Graph.ts +42 -2
- package/src/compiler/Source.ts +11 -3
- package/src/compiler/Transform.ts +130 -29
- package/src/compiler/internal/Applications.ts +239 -63
- package/src/compiler/internal/Compositions.ts +9 -0
- package/src/compiler/internal/Configurations.ts +8 -1
- package/src/compiler/internal/Contract.ts +59 -7
- package/src/compiler/internal/PackedStyles.ts +9 -0
- package/src/compiler/internal/Themes.ts +174 -52
- package/src/internal/Configuration.ts +26 -4
- package/src/internal/Token.ts +2 -0
- package/src/internal/VariableSets.ts +104 -24
- package/src/next/internal/Project.ts +28 -23
- package/src/next/loader.ts +2 -1
- package/src/node/Host.ts +31 -24
- package/src/node/internal/Contracts.ts +384 -0
- package/src/react-native/internal/Tokens.ts +5 -6
- package/src/unplugin/index.ts +35 -13
- package/src/vite/index.ts +38 -45
- package/src/web/Css.ts +228 -42
- package/src/web/internal/ClassName.ts +114 -0
- package/src/web/internal/Themes.ts +12 -11
package/dist/web/Css.d.ts
CHANGED
|
@@ -9,7 +9,8 @@ export type Contribution = Contributions.Definition;
|
|
|
9
9
|
/**
|
|
10
10
|
* Emits atomic or grouped CSS without reading files or generating runtime code.
|
|
11
11
|
* Shares only nonconflicting declaration domains; conflicting rules retain authored
|
|
12
|
-
* order by default. Independent composition deduplicates complete applications
|
|
12
|
+
* order by default. Independent composition deduplicates complete applications and
|
|
13
|
+
* shares equal atomic domain declarations under short names.
|
|
13
14
|
* Class lists are scoped to the complete compilation input. Empty styles
|
|
14
15
|
* return an empty class list and no rule.
|
|
15
16
|
* @param options - Validated, ordered definitions from Style.define.
|
|
@@ -27,18 +28,20 @@ export declare namespace compile {
|
|
|
27
28
|
readonly [Themes.shared]?: 'all' | 'defaults' | undefined;
|
|
28
29
|
/** Readable source bindings and consumer-owned configuration namespaces. */
|
|
29
30
|
readonly [ClassName.labels]?: ClassName.Labels | undefined;
|
|
31
|
+
/** Names shared independent atomic rules, with one name table across a graph's modules. */
|
|
32
|
+
readonly [ClassName.units]?: ClassName.Units | undefined;
|
|
30
33
|
/** Fixed class identities used by CSS-only consumers. */
|
|
31
34
|
readonly names?: Readonly<Record<string, string>> | undefined;
|
|
32
35
|
/**
|
|
33
|
-
*
|
|
34
|
-
* Independent
|
|
35
|
-
*
|
|
36
|
+
* Ordered by default, preserving precedence across combined class lists.
|
|
37
|
+
* Independent shares applications and atomic declarations, so resolve
|
|
38
|
+
* composition first and never combine its lists.
|
|
36
39
|
*/
|
|
40
|
+
readonly composition?: 'independent' | 'ordered' | undefined;
|
|
37
41
|
/** Eager module-level stylesheet contributions, supplied as static data. */
|
|
38
42
|
readonly contributions?: readonly Contribution[] | undefined;
|
|
39
43
|
/** CSS representation; atomic declarations are the default. */
|
|
40
44
|
readonly cssOutput?: 'atomic' | 'grouped' | undefined;
|
|
41
|
-
readonly composition?: 'independent' | 'ordered' | undefined;
|
|
42
45
|
/** Retains live definitions for development updates. */
|
|
43
46
|
readonly development?: boolean | undefined;
|
|
44
47
|
/**
|
|
@@ -57,6 +60,8 @@ export declare namespace compile {
|
|
|
57
60
|
type ReturnType<name extends string = string, themeName extends string = string> = {
|
|
58
61
|
/** Exact emitted rule bodies retained for graph-wide collision diagnostics. */
|
|
59
62
|
readonly [ClassName.rules]: Readonly<Record<string, string>>;
|
|
63
|
+
/** Shared rule names chosen by this compilation, for graph cache validation. */
|
|
64
|
+
readonly [ClassName.units]: ClassName.Units['used'];
|
|
60
65
|
/** Shared token resources omitted from this module's stylesheet. */
|
|
61
66
|
readonly [Themes.shared]?: readonly Themes.Resource[] | undefined;
|
|
62
67
|
/** Contribution text separated for graph-wide hoisting. */
|
package/dist/web/Css.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Css.d.ts","sourceRoot":"","sources":["../../src/web/Css.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAA;AAEpD,OAAO,KAAK,aAAa,MAAM,6BAA6B,CAAA;AAK5D,OAAO,KAAK,KAAK,KAAK,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,KAAK,IAAI,MAAM,YAAY,CAAA;AACvC,OAAO,KAAK,KAAK,KAAK,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAE9C,qDAAqD;AACrD,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC,UAAU,CAAA;AAEnD
|
|
1
|
+
{"version":3,"file":"Css.d.ts","sourceRoot":"","sources":["../../src/web/Css.ts"],"names":[],"mappings":"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"}
|
package/dist/web/Css.js
CHANGED
|
@@ -14,7 +14,8 @@ import * as Themes from './internal/Themes.js';
|
|
|
14
14
|
/**
|
|
15
15
|
* Emits atomic or grouped CSS without reading files or generating runtime code.
|
|
16
16
|
* Shares only nonconflicting declaration domains; conflicting rules retain authored
|
|
17
|
-
* order by default. Independent composition deduplicates complete applications
|
|
17
|
+
* order by default. Independent composition deduplicates complete applications and
|
|
18
|
+
* shares equal atomic domain declarations under short names.
|
|
18
19
|
* Class lists are scoped to the complete compilation input. Empty styles
|
|
19
20
|
* return an empty class list and no rule.
|
|
20
21
|
* @param options - Validated, ordered definitions from Style.define.
|
|
@@ -23,6 +24,8 @@ import * as Themes from './internal/Themes.js';
|
|
|
23
24
|
*/
|
|
24
25
|
export function compile(options) {
|
|
25
26
|
const labels = options[ClassName.labels] ?? options.styles[ClassName.labels];
|
|
27
|
+
const units = options[ClassName.units] ??
|
|
28
|
+
ClassName.registry().scope({ owner: '', qualifier: '' });
|
|
26
29
|
options = {
|
|
27
30
|
...options,
|
|
28
31
|
styles: { styles: options.styles.styles.map(Targets.web) },
|
|
@@ -61,11 +64,17 @@ export function compile(options) {
|
|
|
61
64
|
const classes = Object.create(null);
|
|
62
65
|
const diagnostics = [];
|
|
63
66
|
const groups = new Map();
|
|
64
|
-
const nestedComposition = options.styles.styles.some((style) => style.rules);
|
|
67
|
+
const nestedComposition = options.styles.styles.some((style) => style.rules && !isolated(style));
|
|
65
68
|
const properties = new Set();
|
|
66
|
-
|
|
69
|
+
// Conditional and composed declarations join the same conflict domains.
|
|
70
|
+
function collect(style) {
|
|
67
71
|
for (const { property } of style.declarations)
|
|
68
72
|
properties.add(property);
|
|
73
|
+
for (const rule of style.rules ?? [])
|
|
74
|
+
collect(rule.style);
|
|
75
|
+
}
|
|
76
|
+
for (const style of analyzed)
|
|
77
|
+
collect(style);
|
|
69
78
|
// Logical dimensions may alias either physical axis in inherited writing modes.
|
|
70
79
|
// Preserve physical-only factoring when no logical dimension is authored.
|
|
71
80
|
const logicalSizing = [...properties].some((property) => /^(min|max)?(blockSize|inlineSize)$/i.test(canonical(property)));
|
|
@@ -278,28 +287,31 @@ export function compile(options) {
|
|
|
278
287
|
}
|
|
279
288
|
// Sharing is safe only when every use of a conflict domain has the same
|
|
280
289
|
// declaration sequence. Conditions conservatively retain contextual identities.
|
|
290
|
+
// Isolated class lists never combine, so atomic sharing considers ordered styles only.
|
|
291
|
+
const ordered = new Map();
|
|
292
|
+
const combinable = new Set();
|
|
293
|
+
for (const [index, style] of options.styles.styles.entries())
|
|
294
|
+
if (!isolated(style))
|
|
295
|
+
combinable.add(canonicalStyles[index]);
|
|
281
296
|
for (const style of analyzed) {
|
|
282
297
|
const domains = new Map();
|
|
283
298
|
for (const item of style.declarations) {
|
|
284
299
|
const property = item.property;
|
|
285
300
|
const key = conflict(property);
|
|
286
|
-
const
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
const entry = domains.get(key) ?? {
|
|
290
|
-
body: '',
|
|
291
|
-
property,
|
|
292
|
-
};
|
|
293
|
-
entry.body += declaration;
|
|
294
|
-
if (entry.property !== property)
|
|
295
|
-
groups.set(key, false);
|
|
301
|
+
const entry = domains.get(key) ?? { body: '', mixed: false, property };
|
|
302
|
+
entry.body += declarationBody(item);
|
|
303
|
+
entry.mixed ||= entry.property !== property;
|
|
296
304
|
domains.set(key, entry);
|
|
297
305
|
}
|
|
298
|
-
for (const [key, entry] of domains)
|
|
299
|
-
const
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
306
|
+
for (const [key, entry] of domains)
|
|
307
|
+
for (const map of combinable.has(style) ? [groups, ordered] : [groups]) {
|
|
308
|
+
const previous = map.get(key);
|
|
309
|
+
map.set(key, previous === false ||
|
|
310
|
+
entry.mixed ||
|
|
311
|
+
(previous !== undefined && previous !== entry.body)
|
|
312
|
+
? false
|
|
313
|
+
: entry.body);
|
|
314
|
+
}
|
|
303
315
|
}
|
|
304
316
|
const defaultMode = options.cssOutput ?? 'atomic';
|
|
305
317
|
if (defaultMode !== 'atomic' && defaultMode !== 'grouped')
|
|
@@ -313,6 +325,59 @@ export function compile(options) {
|
|
|
313
325
|
function outputMode(style) {
|
|
314
326
|
return Object.getOwnPropertyDescriptor(style, 'cssOutput')?.value;
|
|
315
327
|
}
|
|
328
|
+
function compositionMode(style) {
|
|
329
|
+
const mode = Object.getOwnPropertyDescriptor(style, 'composition')
|
|
330
|
+
?.value;
|
|
331
|
+
return mode ?? options.composition ?? 'ordered';
|
|
332
|
+
}
|
|
333
|
+
// Development keeps every style ordered so names survive value edits.
|
|
334
|
+
function isolated(style) {
|
|
335
|
+
return compositionMode(style) === 'independent' && !options.development;
|
|
336
|
+
}
|
|
337
|
+
// Lists declaration groups in authored order; undefined marks styles whose
|
|
338
|
+
// nested grouped output or anonymous layers emit one opaque rule.
|
|
339
|
+
function flatten(style, conditions = []) {
|
|
340
|
+
if (outputMode(style) === 'grouped')
|
|
341
|
+
return undefined;
|
|
342
|
+
if (style.rules) {
|
|
343
|
+
const items = [];
|
|
344
|
+
for (const rule of style.rules) {
|
|
345
|
+
if (rule.condition?.trim() === '@layer')
|
|
346
|
+
return undefined;
|
|
347
|
+
const nested = flatten(rule.style, rule.condition === undefined
|
|
348
|
+
? conditions
|
|
349
|
+
: [...conditions, rule.condition]);
|
|
350
|
+
if (!nested)
|
|
351
|
+
return undefined;
|
|
352
|
+
items.push(...nested);
|
|
353
|
+
}
|
|
354
|
+
return items;
|
|
355
|
+
}
|
|
356
|
+
const items = [];
|
|
357
|
+
for (let index = 0; index < style.declarations.length;) {
|
|
358
|
+
const property = style.declarations[index].property;
|
|
359
|
+
let value = '';
|
|
360
|
+
// Keep same-property fallbacks ordered; they form one semantic value.
|
|
361
|
+
while (style.declarations[index]?.property === property) {
|
|
362
|
+
const declaration = style.declarations[index++];
|
|
363
|
+
value += `${Literal.name(property)}:${serialize(declaration.value)}${declaration.important ? '!important' : ''};`;
|
|
364
|
+
}
|
|
365
|
+
items.push({ conditions, property, value });
|
|
366
|
+
}
|
|
367
|
+
return items;
|
|
368
|
+
}
|
|
369
|
+
function byDomain(items) {
|
|
370
|
+
const result = new Map();
|
|
371
|
+
for (const item of items) {
|
|
372
|
+
const key = conflict(item.property);
|
|
373
|
+
const domain = result.get(key);
|
|
374
|
+
if (domain)
|
|
375
|
+
domain.push(item);
|
|
376
|
+
else
|
|
377
|
+
result.set(key, [item]);
|
|
378
|
+
}
|
|
379
|
+
return result;
|
|
380
|
+
}
|
|
316
381
|
function representation(style) {
|
|
317
382
|
return [
|
|
318
383
|
outputMode(style),
|
|
@@ -348,8 +413,40 @@ export function compile(options) {
|
|
|
348
413
|
const key = conflict(declaration.property);
|
|
349
414
|
occurrences.set(key, (occurrences.get(key) ?? 0) + 1);
|
|
350
415
|
}
|
|
416
|
+
// An ordered atomic style reuses the rules of the previous style that set a
|
|
417
|
+
// domain to the same sequence: no differing rule sits between them.
|
|
418
|
+
const runs = new Map();
|
|
419
|
+
const owned = new Map();
|
|
420
|
+
if (!options.development) {
|
|
421
|
+
const last = new Map();
|
|
422
|
+
for (const [index, style] of options.styles.styles.entries()) {
|
|
423
|
+
if (isolated(style))
|
|
424
|
+
continue;
|
|
425
|
+
const items = (outputMode(style) ?? defaultMode) === 'atomic' &&
|
|
426
|
+
options.names?.[style.name] === undefined
|
|
427
|
+
? flatten(style)
|
|
428
|
+
: undefined;
|
|
429
|
+
// Grouped, explicit, and opaque rules may set any domain.
|
|
430
|
+
if (!items) {
|
|
431
|
+
last.clear();
|
|
432
|
+
continue;
|
|
433
|
+
}
|
|
434
|
+
for (const [domain, list] of byDomain(items)) {
|
|
435
|
+
const key = JSON.stringify(list.map((item) => [item.conditions, item.value]));
|
|
436
|
+
const previous = last.get(domain);
|
|
437
|
+
if (previous?.key !== key) {
|
|
438
|
+
last.set(domain, { key, owner: index });
|
|
439
|
+
continue;
|
|
440
|
+
}
|
|
441
|
+
const reuse = runs.get(index) ?? new Map();
|
|
442
|
+
reuse.set(domain, previous.owner);
|
|
443
|
+
runs.set(index, reuse);
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
}
|
|
351
447
|
for (const [styleIndex, style] of options.styles.styles.entries()) {
|
|
352
448
|
const mode = outputMode(style) ?? defaultMode;
|
|
449
|
+
const independent = compositionMode(style) === 'independent' && !options.development;
|
|
353
450
|
if (!style.name || Object.hasOwn(classes, style.name)) {
|
|
354
451
|
diagnostics.push({
|
|
355
452
|
code: 'invalid_name',
|
|
@@ -375,9 +472,7 @@ export function compile(options) {
|
|
|
375
472
|
continue;
|
|
376
473
|
explicitModes.add(key);
|
|
377
474
|
}
|
|
378
|
-
const application = explicit === undefined &&
|
|
379
|
-
options.composition === 'independent' &&
|
|
380
|
-
!options.development
|
|
475
|
+
const application = explicit === undefined && independent
|
|
381
476
|
? `${mode}:${style.rules ? JSON.stringify(representation(style)) : ''}:${nested(canonicalStyles[styleIndex])}`
|
|
382
477
|
: undefined;
|
|
383
478
|
if (application !== undefined && applications.has(application)) {
|
|
@@ -396,16 +491,13 @@ export function compile(options) {
|
|
|
396
491
|
}
|
|
397
492
|
function emit(body, label, shared, output = mode, conditional) {
|
|
398
493
|
if (!body)
|
|
399
|
-
return;
|
|
400
|
-
const
|
|
401
|
-
|
|
402
|
-
output === mode &&
|
|
403
|
-
options.composition === 'independent';
|
|
404
|
-
const reusable = explicit === undefined && (shared || independent);
|
|
494
|
+
return undefined;
|
|
495
|
+
const reusable = explicit === undefined &&
|
|
496
|
+
(shared || (independent && mode === 'grouped' && output === mode));
|
|
405
497
|
const previous = reusable ? sharedRules[output].get(body) : undefined;
|
|
406
498
|
if (previous && !names.includes(previous)) {
|
|
407
499
|
names.push(previous);
|
|
408
|
-
return;
|
|
500
|
+
return previous;
|
|
409
501
|
}
|
|
410
502
|
if (previous)
|
|
411
503
|
shared = false;
|
|
@@ -447,6 +539,7 @@ export function compile(options) {
|
|
|
447
539
|
sharedRules[output].set(body, identity);
|
|
448
540
|
names.push(identity);
|
|
449
541
|
}
|
|
542
|
+
return identity;
|
|
450
543
|
}
|
|
451
544
|
function atoms(style, conditions = []) {
|
|
452
545
|
if (outputMode(style) === 'grouped') {
|
|
@@ -475,14 +568,56 @@ export function compile(options) {
|
|
|
475
568
|
// Keep same-property fallbacks ordered; they form one semantic value.
|
|
476
569
|
while (style.declarations[index]?.property === property)
|
|
477
570
|
values.push(style.declarations[index++]);
|
|
571
|
+
const domain = conflict(property);
|
|
572
|
+
const owner = runs.get(styleIndex)?.get(domain);
|
|
573
|
+
const reused = owner === undefined ? undefined : owned.get(owner)?.get(domain);
|
|
574
|
+
if (reused) {
|
|
575
|
+
for (const identity of reused)
|
|
576
|
+
if (!names.includes(identity))
|
|
577
|
+
names.push(identity);
|
|
578
|
+
continue;
|
|
579
|
+
}
|
|
478
580
|
const value = values
|
|
479
581
|
.map(({ important, value }) => `${Literal.name(property)}:${serialize(value)}${important ? '!important' : ''};`)
|
|
480
582
|
.join('');
|
|
481
583
|
const body = conditions.reduceRight((body, condition) => `${condition}{${body}}`, value);
|
|
482
584
|
const shared = !nestedComposition &&
|
|
483
585
|
!conditions.length &&
|
|
484
|
-
|
|
485
|
-
emit(body, property, shared, mode, {
|
|
586
|
+
ordered.get(domain) !== false;
|
|
587
|
+
const identity = emit(body, property, shared, mode, {
|
|
588
|
+
conditions,
|
|
589
|
+
value,
|
|
590
|
+
});
|
|
591
|
+
if (identity === undefined)
|
|
592
|
+
continue;
|
|
593
|
+
const domains = owned.get(styleIndex) ?? new Map();
|
|
594
|
+
domains.set(domain, [...(domains.get(domain) ?? []), identity]);
|
|
595
|
+
owned.set(styleIndex, domains);
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
// Independent class lists never combine, so only declarations within one
|
|
599
|
+
// conflict domain need relative order. Equal domain bodies share one rule.
|
|
600
|
+
function share(style) {
|
|
601
|
+
const items = flatten(style);
|
|
602
|
+
if (!items)
|
|
603
|
+
return atoms(style);
|
|
604
|
+
for (const domain of byDomain(items).values()) {
|
|
605
|
+
// Conditional rules stay contextual to keep their order against base declarations.
|
|
606
|
+
if (domain.some((item) => item.conditions.length)) {
|
|
607
|
+
for (const item of domain)
|
|
608
|
+
emit(item.conditions.reduceRight((body, condition) => `${condition}{${body}}`, item.value), item.property, false, mode, item);
|
|
609
|
+
continue;
|
|
610
|
+
}
|
|
611
|
+
const body = domain.map((item) => item.value).join('');
|
|
612
|
+
const identity = units.name(body, cssNamespace);
|
|
613
|
+
if (rules.has(identity) && rules.get(identity) !== body)
|
|
614
|
+
diagnostics.push({
|
|
615
|
+
code: 'identity_collision',
|
|
616
|
+
message: 'Generated class names conflict. Supply distinct config or style ids.',
|
|
617
|
+
path: [style.name],
|
|
618
|
+
});
|
|
619
|
+
rules.set(identity, body);
|
|
620
|
+
names.push(identity);
|
|
486
621
|
}
|
|
487
622
|
}
|
|
488
623
|
try {
|
|
@@ -492,7 +627,7 @@ export function compile(options) {
|
|
|
492
627
|
for (const declaration of style.declarations) {
|
|
493
628
|
const key = conflict(declaration.property);
|
|
494
629
|
const reusable = !style.rules &&
|
|
495
|
-
|
|
630
|
+
independent &&
|
|
496
631
|
groups.get(key) !== false &&
|
|
497
632
|
(occurrences.get(key) ?? 0) > 1;
|
|
498
633
|
if (reusable)
|
|
@@ -507,6 +642,8 @@ export function compile(options) {
|
|
|
507
642
|
else
|
|
508
643
|
emit(nested(style), 'style', false);
|
|
509
644
|
}
|
|
645
|
+
else if (explicit === undefined && independent)
|
|
646
|
+
share(style);
|
|
510
647
|
else
|
|
511
648
|
atoms(style);
|
|
512
649
|
}
|
|
@@ -576,6 +713,7 @@ export function compile(options) {
|
|
|
576
713
|
const result = {
|
|
577
714
|
...(scopes.resources.length ? { [Themes.shared]: scopes.resources } : {}),
|
|
578
715
|
...(contributionCss ? { contributionCss, scopedCss } : {}),
|
|
716
|
+
[ClassName.units]: units.used,
|
|
579
717
|
[ClassName.rules]: Object.freeze({
|
|
580
718
|
...Object.fromEntries(rules),
|
|
581
719
|
...Object.fromEntries(scopes.rules.map((rule) => [
|
|
@@ -588,6 +726,7 @@ export function compile(options) {
|
|
|
588
726
|
vars: scopes.classes,
|
|
589
727
|
};
|
|
590
728
|
Object.defineProperty(result, ClassName.rules, { enumerable: false });
|
|
729
|
+
Object.defineProperty(result, ClassName.units, { enumerable: false });
|
|
591
730
|
return Object.freeze(result);
|
|
592
731
|
}
|
|
593
732
|
/** Aggregated literal compilation diagnostics in authored traversal order. */
|
package/dist/web/Css.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Css.js","sourceRoot":"","sources":["../../src/web/Css.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AACjD,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAA;AACpD,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAA;AACnD,OAAO,KAAK,aAAa,MAAM,6BAA6B,CAAA;AAC5D,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AACjD,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AACjD,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AACjD,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAA;AAI7C,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAK9C;;;;;;;;;GASG;AACH,MAAM,UAAU,OAAO,CAIrB,OAAyC;IAEzC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAC5E,OAAO,GAAG;QACR,GAAG,OAAO;QACV,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;KAC3D,CAAA;IACD,IAAI,KAAmD,CAAA;IAEvD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAmB,CAAA;IAE7C,SAAS,WAAW,CAAC,KAAc;QACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,KAAK,CAAA;QAE7D,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACtC,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAA;QAE3C,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;QAE9B,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAE7B,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,EAA4B,CAAA;IAClD,MAAM,YAAY,GAAG,IAAI,GAAG,EAA6B,CAAA;IAMzD,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAoB,CAAA;IACzD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAA;IAE5C,mFAAmF;IACnF,6DAA6D;IAC7D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA4B,CAAA;IAEpD,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1D,IACE,OAAO,IAAI,KAAK;YAChB,KAAK,CAAC,YAAY,CAAC,IAAI,CACrB,CAAC,WAAW,EAAE,EAAE,CAAC,OAAO,WAAW,CAAC,KAAK,KAAK,QAAQ,CACvD;YAED,OAAO,KAAK,CAAA;QAEd,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QACzB,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAClC,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAA;QAE7B,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAExB,OAAO,KAAK,CAAA;IACd,CAAC,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAA;IAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAyB,CAAA;IAC3D,MAAM,WAAW,GAAiB,EAAE,CAAA;IACpC,MAAM,MAAM,GAAG,IAAI,GAAG,EAA0B,CAAA;IAChD,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAE5E,MAAM,UAAU,GAAG,IAAI,GAAG,EAAiC,CAAA;IAC3D,KAAK,MAAM,KAAK,IAAI,QAAQ;QAC1B,KAAK,MAAM,EAAE,QAAQ,EAAE,IAAI,KAAK,CAAC,YAAY;YAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAEzE,gFAAgF;IAChF,0EAA0E;IAC1E,MAAM,aAAa,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CACtD,qCAAqC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAChE,CAAA;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACpC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAA;IAEvC,KAAK,MAAM,QAAQ,IAAI,UAAU;QAC/B,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;YAChC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAChE,CAAC;IAEH,SAAS,SAAS,CAAC,QAAgB;QACjC,OAAO,QAAQ,IAAI,OAAO,CAAC,OAAO;YAChC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAwC,CAAC;YAC3D,CAAC,CAAC,QAAQ,CAAA;IACd,CAAC;IAED,SAAS,MAAM,CAAC,QAAgB;QAC9B,IACE,MAAM;YACN,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;YAC1B,QAAQ,KAAK,WAAW;YACxB,QAAQ,KAAK,aAAa;YAE1B,OAAO,KAAK,CAAA;QAEd,IAAI,4BAA4B,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAA;QAChE,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,aAAa,CAAA;QACvD,IAAI,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC;YAAE,OAAO,sBAAsB,CAAA;QAC1E,IAAI,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC;YAAE,OAAO,eAAe,CAAA;QAChE,IAAI,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC;YAAE,OAAO,oBAAoB,CAAA;QAE1E,IAAI,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC;YACtE,OAAO,YAAY,CAAA;QAErB,IAAI,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;YAChE,OAAO,SAAS,CAAA;QAElB,IAAI,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC;YAAE,OAAO,aAAa,CAAA;QAE5D,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,OAAO,QAAQ,CAAA;YAEhD,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/B,OAAO,aAAa,CAAA;YACtB,CAAC;YAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/B,OAAO,aAAa,CAAA;YACtB,CAAC;YAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/B,OAAO,aAAa,CAAA;YACtB,CAAC;YAED,OAAO,cAAc,CAAA;QACvB,CAAC;QAED,IAAI,CAAC,eAAe,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC9D,OAAO,UAAU,CAAA;QAEnB,IAAI,0CAA0C,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC3D,OAAO,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QAE/C,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,WAAW,CAAA;QACvE,IAAI,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC;YAAE,OAAO,eAAe,CAAA;QAEhE,IACE;YACE,YAAY;YACZ,oBAAoB;YACpB,gBAAgB;YAChB,UAAU;YACV,cAAc;YACd,eAAe;SAChB,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAEpB,OAAO,YAAY,CAAA;QAErB,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,cAAc,CAAA;QAE1E,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,IACE,QAAQ,KAAK,UAAU;YACvB,QAAQ,KAAK,WAAW;YACxB,QAAQ,KAAK,WAAW;YACxB,QAAQ,KAAK,eAAe;YAC5B,QAAQ,KAAK,gBAAgB,EAC7B,CAAC;YACD,OAAO,UAAU,CAAA;QACnB,CAAC;QAED,IAAI,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC9C,OAAO,oBAAoB,CAAA;QAC7B,CAAC;QAED,IAAI,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YACxC,OAAO,cAAc,CAAA;QACvB,CAAC;QAED,IAAI,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACzC,OAAO,eAAe,CAAA;QACxB,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,oCAAoC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxD,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,IACE,aAAa;YACb,kDAAkD,CAAC,IAAI,CAAC,QAAQ,CAAC,EACjE,CAAC;YACD,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,UAAU,CAAA;YACnB,CAAC;YAED,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,UAAU,CAAA;YACnB,CAAC;YAED,OAAO,MAAM,CAAA;QACf,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;IAEzC,SAAS,IAAI,CAAC,MAAc;QAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAClC,IAAI,CAAC,MAAM;YAAE,OAAO,MAAM,CAAA;QAE1B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;QAE3B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAE3B,OAAO,MAAM,CAAA;IACf,CAAC;IAED,kFAAkF;IAClF,kFAAkF;IAClF,SAAS,IAAI,CAAC,QAAgB,EAAE,MAAc,EAAE,OAAO,GAAG,IAAI,GAAG,EAAU;QACzE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAM;QAEjC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAErB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;QAE1B,IAAI,OAAO,KAAK,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAElD,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC;YAC7C,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,UAAU,CACpC,QAA2C,CAC5C;gBACC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC5D,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC;YAC7C,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEpC,SAAS,SAAS,CAAC,KAAiC;QAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,KAAK,CAAA;QAE7D,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACpC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAA;QAEvC,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;QAEvC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAE3D,OAAO,KAAK,CAAA;IACd,CAAC;IAED,SAAS,kBAAkB,CACzB,KAAiC;QAEjC,IAAI,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC;YAAE,OAAO,OAAO,KAAK,CAAC,IAAI,GAAG,CAAA;QAClD,IAAI,WAAW,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAE3E,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC;YAC3B,OAAO,KAAK,CAAC,KAAK;iBACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;iBAClE,IAAI,CAAC,EAAE,CAAC,CAAA;QAEb,OAAO,KAAwB,CAAA;IACjC,CAAC;IAED,SAAS,eAAe,CAAC,WAA8B;QACrD,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QAC9C,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAA;QAE3C,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,WAAW,CAAA;QAClD,IAAI,KAAK,GAAG,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG;gBACN,SAAS,EAAE,IAAI,GAAG,EAAE;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC5B,MAAM,EAAE,IAAI,GAAG,EAAE;aAClB,CAAA;YACD,qBAAqB,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QAC5C,CAAC;QAED,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAA;QACzD,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC5B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,CAAA;YAC3E,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QACzB,CAAC;QAED,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;QACnC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS,MAAM,CAAC,KAAuB;QACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAClC,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAA;QAC3C,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;QAChC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QACvB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS,YAAY,CAAC,KAAuB;QAC3C,IAAI,KAAK,CAAC,KAAK;YACb,OAAO,KAAK,CAAC,KAAK;iBACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACZ,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAE/B,OAAO,IAAI,CAAC,SAAS,KAAK,SAAS;oBACjC,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,GAAG,CAAA;YAClC,CAAC,CAAC;iBACD,IAAI,CAAC,EAAE,CAAC,CAAA;QAEb,OAAO,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAA;IACnD,SAAS,QAAQ,CAAC,QAAgB;QAChC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAChD,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAA;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAC/C,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACtC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,wEAAwE;IACxE,gFAAgF;IAChF,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,GAAG,EAA8C,CAAA;QAErE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;YAC9B,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAC9B,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;YACzC,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK;gBAAE,SAAQ;YACvC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI;gBAChC,IAAI,EAAE,EAAE;gBACR,QAAQ;aACT,CAAA;YACD,KAAK,CAAC,IAAI,IAAI,WAAW,CAAA;YACzB,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ;gBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YACvD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACzB,CAAC;QAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAA;YAExB,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAChC,MAAM,CAAC,GAAG,CACR,GAAG,EACH,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAC7D,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAA;IACjD,IAAI,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,SAAS;QACvD,MAAM,IAAI,YAAY,CAAC;YACrB;gBACE,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,sCAAsC;gBAC/C,IAAI,EAAE,CAAC,WAAW,CAAC;aACpB;SACF,CAAC,CAAA;IAEJ,SAAS,UAAU,CAAC,KAAuB;QACzC,OAAO,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,KAG/C,CAAA;IACf,CAAC;IAED,SAAS,cAAc,CAAC,KAAuB;QAC7C,OAAO;YACL,UAAU,CAAC,KAAK,CAAC;YACjB,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACvD,CAAA;IACH,CAAC;IAED,SAAS,QAAQ,CAAC,KAAuB;QACvC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;QAC9B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS;YAC/D,MAAM,IAAI,YAAY,CAAC;gBACrB;oBACE,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,sCAAsC;oBAC/C,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC;iBAChC;aACF,CAAC,CAAA;QACJ,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE;YAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC5D,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM;QAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;IAE1D,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC5C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAA;IAEvC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA2B,CAAA;IAE3D,MAAM,SAAS,GAAG,IAAI,GAAG,EAAmC,CAAA;IAC5D,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAA;IAChD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC3C,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAA;IACvC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC9C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC7C,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM;QACvC,KAAK,MAAM,WAAW,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;YAC1C,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACvD,CAAC;IAEH,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAClE,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,WAAW,CAAA;QAC7C,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,0CAA0C;gBACnD,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;aACnB,CAAC,CAAA;YACF,SAAQ;QACV,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC5C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;YAC1B,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAC7C,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI;gBAC7C,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,oBAAoB;oBAC1B,OAAO,EAAE,8CAA8C;oBACvD,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;iBACnB,CAAC,CAAA;YACJ,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YAClC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAA;YAC9B,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAA;YACjC,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAQ;YACpC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;QAED,MAAM,WAAW,GACf,QAAQ,KAAK,SAAS;YACtB,OAAO,CAAC,WAAW,KAAK,aAAa;YACrC,CAAC,OAAO,CAAC,WAAW;YAClB,CAAC,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,eAAe,CAAC,UAAU,CAAE,CAAC,EAAE;YAC/G,CAAC,CAAC,SAAS,CAAA;QACf,IAAI,WAAW,KAAK,SAAS,IAAI,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/D,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAE,CAAA;YACpD,SAAQ;QACV,CAAC;QAED,MAAM,KAAK,GAAa,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;QAChE,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAChE,MAAM,YAAY,GAChB,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS;YAC/B,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QAC5D,IAAI,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QAC7C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,WAAW,GAAG,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,CAAA;YACvD,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;QAC1C,CAAC;QAED,SAAS,IAAI,CACX,IAAY,EACZ,KAAa,EACb,MAAe,EACf,MAAM,GAAG,IAAI,EACb,WAA6B;YAE7B,IAAI,CAAC,IAAI;gBAAE,OAAM;YAEjB,MAAM,WAAW,GACf,IAAI,KAAK,SAAS;gBAClB,CAAC,OAAO,CAAC,WAAW;gBACpB,MAAM,KAAK,IAAI;gBACf,OAAO,CAAC,WAAW,KAAK,aAAa,CAAA;YACvC,MAAM,QAAQ,GAAG,QAAQ,KAAK,SAAS,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,CAAA;YAClE,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,WAAY,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YACtE,IAAI,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1C,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBACpB,OAAM;YACR,CAAC;YAED,IAAI,QAAQ;gBAAE,MAAM,GAAG,KAAK,CAAA;YAE5B,sFAAsF;YACtF,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;YACtB,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE;gBACrB,IAAI,QAAQ,KAAK,SAAS;oBACxB,OAAO,GAAG,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAA;gBACvD,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC/C,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;gBAC1F,CAAC;gBACD,OAAO,SAAS,CAAC,MAAM,CAAC;oBACtB,IAAI;oBACJ,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;oBACtC,SAAS,EAAE,YAAY;oBACvB,QAAQ,EAAE,KAAK;oBACf,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;iBACjC,CAAC,CAAA;YACJ,CAAC,CAAC,EAAE,CAAA;YACJ,MAAM,KAAK,GACT,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;YACpE,IACE,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;gBACrD,CAAC,KAAK,KAAK,SAAS;oBAClB,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;oBACxB,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC;gBAErC,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,oBAAoB;oBAC1B,OAAO,EACL,sEAAsE;oBACxE,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;iBACnB,CAAC,CAAA;YAEJ,IAAI,KAAK,KAAK,SAAS;gBAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;YACxD,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YACzB,IACE,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CACzC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CACvC;gBAED,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;YAC7C,IAAI,QAAQ,KAAK,SAAS;gBAAE,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;iBACxD,CAAC;gBACJ,IAAI,QAAQ;oBAAE,WAAY,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;gBACtD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACtB,CAAC;QACH,CAAC;QAED,SAAS,KAAK,CACZ,KAAuB,EACvB,UAAU,GAAsB,EAAE;YAElC,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CACjC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,SAAS,IAAI,IAAI,GAAG,EAC5C,MAAM,CAAC,KAAK,CAAC,CACd,CAAA;gBACD,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;gBACrC,OAAM;YACR,CAAC;YACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAC/B,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;wBACxC,gEAAgE;wBAChE,MAAM,IAAI,GAAG,CAAC,GAAG,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CACtD,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,SAAS,IAAI,IAAI,GAAG,EAC5C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CACnB,CAAA;wBACD,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;wBAC1B,SAAQ;oBACV,CAAC;oBACD,KAAK,CACH,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,SAAS,KAAK,SAAS;wBAC1B,CAAC,CAAC,UAAU;wBACZ,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CACpC,CAAA;gBACH,CAAC;gBACD,OAAM;YACR,CAAC;YAED,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,GAAI,CAAC;gBACxD,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,CAAE,CAAA;gBAChD,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAA;gBACrC,MAAM,MAAM,GAAG,CAAC,WAAW,CAAC,CAAA;gBAC5B,sEAAsE;gBACtE,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,QAAQ,KAAK,QAAQ;oBACrD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,CAAE,CAAC,CAAA;gBAE3C,MAAM,KAAK,GAAG,MAAM;qBACjB,GAAG,CACF,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CACvB,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,CACnF;qBACA,IAAI,CAAC,EAAE,CAAC,CAAA;gBACX,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CACjC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,SAAS,IAAI,IAAI,GAAG,EAC5C,KAAK,CACN,CAAA;gBACD,MAAM,MAAM,GACV,CAAC,iBAAiB;oBAClB,CAAC,UAAU,CAAC,MAAM;oBAClB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,KAAK,CAAA;gBAC1C,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;YAC3D,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAwB,EAAE,CAAA;gBACtC,MAAM,KAAK,GAAwB,EAAE,CAAA;gBACrC,KAAK,MAAM,WAAW,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;oBAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;oBAC1C,MAAM,QAAQ,GACZ,CAAC,KAAK,CAAC,KAAK;wBACZ,OAAO,CAAC,WAAW,KAAK,aAAa;wBACrC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK;wBACzB,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;oBACjC,IAAI,QAAQ;wBAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;;wBACjC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;gBAC9B,CAAC;gBACD,IAAI,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;oBAC3D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;gBAC3D,CAAC;;oBAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;YAC5C,CAAC;;gBAAM,KAAK,CAAC,KAAK,CAAC,CAAA;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAG,KAAe,CAAC,OAAO;gBACjC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;aACnB,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACnD,IAAI,WAAW,KAAK,SAAS;YAC3B,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IACtD,CAAC;IAED,IAAI,WAAW,CAAC,MAAM;QAAE,MAAM,IAAI,YAAY,CAAC,WAAW,CAAC,CAAA;IAE3D,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE;QAC5B,IAAI,CAAC;YACH,OAAO,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,EAAE,MAAM,CAAC,CAAA;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,YAAY,CAAC;gBACrB;oBACE,IAAI,EAAE,qBAAqB;oBAC3B,OAAO,EAAG,KAAe,CAAC,OAAO;oBACjC,IAAI,EAAE,CAAC,eAAe,CAAC;iBACxB;aACF,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,CAAC,EAAE,CAAA;IAEJ,IAAI,MAAqD,CAAA;IAEzD,IAAI,CAAC;QACH,MAAM;YACJ,KAAK,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO;gBACtC,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAC9B,OAAO,CAAC,IAAI,IAAI,EAAE,EAClB,OAAO,CAAC,OAAO,IAAI,KAAK,EACxB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CACvB;gBACH,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;IACzE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,YAAY,CAAC;YACrB;gBACE,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAG,KAAe,CAAC,OAAO;gBACjC,IAAI,EAAE,CAAC,MAAM,CAAC;aACf;SACF,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,SAAS,GAAG;QAChB,MAAM,CAAC,GAAG;QACV,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,KAAK,CAAA;YAC1B,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAA;YACtE,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAC9C,IACE,CAAC,WAAW;gBACZ,WAAW,CAAC,UAAU,CAAC,IAAI,CACzB,CAAC,SAAS,EAAE,EAAE,CACZ,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;oBACzB,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CAC1C;gBAED,OAAO,GAAG,QAAQ,IAAI,IAAI,GAAG,CAAA;YAE/B,yFAAyF;YACzF,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAC7D,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAC1B,CAAA;YACD,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU;iBAClC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;iBACjD,WAAW,CACV,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,SAAS,IAAI,IAAI,GAAG,EAC5C,WAAW,CAAC,KAAK,CAClB,CAAA;YACH,OAAO,UAAU,CAAC,WAAW,CAC3B,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,SAAS,IAAI,IAAI,GAAG,EAC5C,GAAG,QAAQ,IAAI,MAAM,GAAG,CACzB,CAAA;QACH,CAAC,CAAC;KACH;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,MAAM,MAAM,GAAG;QACb,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC;YAC/B,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC;YAC5B,GAAG,MAAM,CAAC,WAAW,CACnB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBACzB,UAAU,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE;gBACpH,IAAI,CAAC,KAAK;aACX,CAAC,CACH;SACF,CAAC;QACF,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;QAC/B,GAAG,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5D,IAAI,EAAE,MAAM,CAAC,OAA8C;KAC5D,CAAA;IACD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;IACrE,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AAC9B,CAAC;AAmED,8EAA8E;AAC9E,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,8EAA8E;IAC9E,YAAY,WAAkC;QAC5C,KAAK,CACH,WAAW;aACR,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;aAC9D,IAAI,CAAC,IAAI,CAAC,CACd,CAAA;QACD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAC9B,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACvB,MAAM,CAAC,MAAM,CAAC;YACZ,GAAG,IAAI;YACP,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;SACpC,CAAC,CACH,CACF,CAAA;IACH,CAAC;IACD,wDAAwD;IAC/C,WAAW,CAAuB;IAC3C,0CAA0C;IACjC,IAAI,GAAG,kBAAkB,CAAA;CACnC;AAiBD,sEAAsE;AACtE,SAAS,MAAM,CAAC,KAAa;IAC3B,OAAO,KAAK,CAAC,OAAO,CAClB,gBAAgB,EAChB,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAC3D,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"Css.js","sourceRoot":"","sources":["../../src/web/Css.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AACjD,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAA;AACpD,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAA;AACnD,OAAO,KAAK,aAAa,MAAM,6BAA6B,CAAA;AAC5D,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AACjD,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AACjD,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AACjD,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAA;AAI7C,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAK9C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,OAAO,CAIrB,OAAyC;IAEzC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAC5E,MAAM,KAAK,GACT,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC;QACxB,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAA;IAC1D,OAAO,GAAG;QACR,GAAG,OAAO;QACV,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;KAC3D,CAAA;IACD,IAAI,KAAmD,CAAA;IAEvD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAmB,CAAA;IAE7C,SAAS,WAAW,CAAC,KAAc;QACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,KAAK,CAAA;QAE7D,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACtC,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAA;QAE3C,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;QAE9B,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAE7B,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,EAA4B,CAAA;IAClD,MAAM,YAAY,GAAG,IAAI,GAAG,EAA6B,CAAA;IAMzD,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAoB,CAAA;IACzD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAA;IAE5C,mFAAmF;IACnF,6DAA6D;IAC7D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA4B,CAAA;IAEpD,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1D,IACE,OAAO,IAAI,KAAK;YAChB,KAAK,CAAC,YAAY,CAAC,IAAI,CACrB,CAAC,WAAW,EAAE,EAAE,CAAC,OAAO,WAAW,CAAC,KAAK,KAAK,QAAQ,CACvD;YAED,OAAO,KAAK,CAAA;QAEd,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QACzB,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAClC,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAA;QAE7B,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAExB,OAAO,KAAK,CAAA;IACd,CAAC,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAA;IAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAyB,CAAA;IAC3D,MAAM,WAAW,GAAiB,EAAE,CAAA;IACpC,MAAM,MAAM,GAAG,IAAI,GAAG,EAA0B,CAAA;IAChD,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAClD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC3C,CAAA;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,EAAiC,CAAA;IAC3D,wEAAwE;IACxE,SAAS,OAAO,CAAC,KAAuB;QACtC,KAAK,MAAM,EAAE,QAAQ,EAAE,IAAI,KAAK,CAAC,YAAY;YAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACvE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE;YAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC3D,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,QAAQ;QAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IAE5C,gFAAgF;IAChF,0EAA0E;IAC1E,MAAM,aAAa,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CACtD,qCAAqC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAChE,CAAA;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACpC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAA;IAEvC,KAAK,MAAM,QAAQ,IAAI,UAAU;QAC/B,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;YAChC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAChE,CAAC;IAEH,SAAS,SAAS,CAAC,QAAgB;QACjC,OAAO,QAAQ,IAAI,OAAO,CAAC,OAAO;YAChC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAwC,CAAC;YAC3D,CAAC,CAAC,QAAQ,CAAA;IACd,CAAC;IAED,SAAS,MAAM,CAAC,QAAgB;QAC9B,IACE,MAAM;YACN,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;YAC1B,QAAQ,KAAK,WAAW;YACxB,QAAQ,KAAK,aAAa;YAE1B,OAAO,KAAK,CAAA;QAEd,IAAI,4BAA4B,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAA;QAChE,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,aAAa,CAAA;QACvD,IAAI,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC;YAAE,OAAO,sBAAsB,CAAA;QAC1E,IAAI,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC;YAAE,OAAO,eAAe,CAAA;QAChE,IAAI,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC;YAAE,OAAO,oBAAoB,CAAA;QAE1E,IAAI,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC;YACtE,OAAO,YAAY,CAAA;QAErB,IAAI,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;YAChE,OAAO,SAAS,CAAA;QAElB,IAAI,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC;YAAE,OAAO,aAAa,CAAA;QAE5D,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,OAAO,QAAQ,CAAA;YAEhD,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/B,OAAO,aAAa,CAAA;YACtB,CAAC;YAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/B,OAAO,aAAa,CAAA;YACtB,CAAC;YAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/B,OAAO,aAAa,CAAA;YACtB,CAAC;YAED,OAAO,cAAc,CAAA;QACvB,CAAC;QAED,IAAI,CAAC,eAAe,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC9D,OAAO,UAAU,CAAA;QAEnB,IAAI,0CAA0C,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC3D,OAAO,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QAE/C,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,WAAW,CAAA;QACvE,IAAI,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC;YAAE,OAAO,eAAe,CAAA;QAEhE,IACE;YACE,YAAY;YACZ,oBAAoB;YACpB,gBAAgB;YAChB,UAAU;YACV,cAAc;YACd,eAAe;SAChB,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAEpB,OAAO,YAAY,CAAA;QAErB,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,cAAc,CAAA;QAE1E,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,IACE,QAAQ,KAAK,UAAU;YACvB,QAAQ,KAAK,WAAW;YACxB,QAAQ,KAAK,WAAW;YACxB,QAAQ,KAAK,eAAe;YAC5B,QAAQ,KAAK,gBAAgB,EAC7B,CAAC;YACD,OAAO,UAAU,CAAA;QACnB,CAAC;QAED,IAAI,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC9C,OAAO,oBAAoB,CAAA;QAC7B,CAAC;QAED,IAAI,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YACxC,OAAO,cAAc,CAAA;QACvB,CAAC;QAED,IAAI,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACzC,OAAO,eAAe,CAAA;QACxB,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,oCAAoC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxD,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,IACE,aAAa;YACb,kDAAkD,CAAC,IAAI,CAAC,QAAQ,CAAC,EACjE,CAAC;YACD,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,UAAU,CAAA;YACnB,CAAC;YAED,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,UAAU,CAAA;YACnB,CAAC;YAED,OAAO,MAAM,CAAA;QACf,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;IAEzC,SAAS,IAAI,CAAC,MAAc;QAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAClC,IAAI,CAAC,MAAM;YAAE,OAAO,MAAM,CAAA;QAE1B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;QAE3B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAE3B,OAAO,MAAM,CAAA;IACf,CAAC;IAED,kFAAkF;IAClF,kFAAkF;IAClF,SAAS,IAAI,CAAC,QAAgB,EAAE,MAAc,EAAE,OAAO,GAAG,IAAI,GAAG,EAAU;QACzE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAM;QAEjC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAErB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;QAE1B,IAAI,OAAO,KAAK,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAElD,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC;YAC7C,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,UAAU,CACpC,QAA2C,CAC5C;gBACC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC5D,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC;YAC7C,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEpC,SAAS,SAAS,CAAC,KAAiC;QAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,KAAK,CAAA;QAE7D,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACpC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAA;QAEvC,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;QAEvC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAE3D,OAAO,KAAK,CAAA;IACd,CAAC;IAED,SAAS,kBAAkB,CACzB,KAAiC;QAEjC,IAAI,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC;YAAE,OAAO,OAAO,KAAK,CAAC,IAAI,GAAG,CAAA;QAClD,IAAI,WAAW,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAE3E,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC;YAC3B,OAAO,KAAK,CAAC,KAAK;iBACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;iBAClE,IAAI,CAAC,EAAE,CAAC,CAAA;QAEb,OAAO,KAAwB,CAAA;IACjC,CAAC;IAED,SAAS,eAAe,CAAC,WAA8B;QACrD,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QAC9C,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAA;QAE3C,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,WAAW,CAAA;QAClD,IAAI,KAAK,GAAG,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG;gBACN,SAAS,EAAE,IAAI,GAAG,EAAE;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC5B,MAAM,EAAE,IAAI,GAAG,EAAE;aAClB,CAAA;YACD,qBAAqB,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QAC5C,CAAC;QAED,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAA;QACzD,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC5B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,CAAA;YAC3E,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QACzB,CAAC;QAED,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;QACnC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS,MAAM,CAAC,KAAuB;QACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAClC,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAA;QAC3C,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;QAChC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QACvB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS,YAAY,CAAC,KAAuB;QAC3C,IAAI,KAAK,CAAC,KAAK;YACb,OAAO,KAAK,CAAC,KAAK;iBACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACZ,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAE/B,OAAO,IAAI,CAAC,SAAS,KAAK,SAAS;oBACjC,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,GAAG,CAAA;YAClC,CAAC,CAAC;iBACD,IAAI,CAAC,EAAE,CAAC,CAAA;QAEb,OAAO,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAA;IACnD,SAAS,QAAQ,CAAC,QAAgB;QAChC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAChD,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAA;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAC/C,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACtC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,wEAAwE;IACxE,gFAAgF;IAChF,uFAAuF;IACvF,MAAM,OAAO,GAAG,IAAI,GAAG,EAA0B,CAAA;IACjD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAA;IAC9C,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;QAC1D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,CAAE,CAAC,CAAA;IAE/D,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,GAAG,EAGpB,CAAA;QAEH,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;YAC9B,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;YACtE,KAAK,CAAC,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,CAAA;YACnC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAA;YAC3C,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACzB,CAAC;QAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO;YAChC,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvE,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAC7B,GAAG,CAAC,GAAG,CACL,GAAG,EACH,QAAQ,KAAK,KAAK;oBAChB,KAAK,CAAC,KAAK;oBACX,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,KAAK,CAAC,IAAI,CAAC;oBACnD,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,KAAK,CAAC,IAAI,CACf,CAAA;YACH,CAAC;IACL,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAA;IACjD,IAAI,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,SAAS;QACvD,MAAM,IAAI,YAAY,CAAC;YACrB;gBACE,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,sCAAsC;gBAC/C,IAAI,EAAE,CAAC,WAAW,CAAC;aACpB;SACF,CAAC,CAAA;IAEJ,SAAS,UAAU,CAAC,KAAuB;QACzC,OAAO,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,KAG/C,CAAA;IACf,CAAC;IAED,SAAS,eAAe,CAAC,KAAuB;QAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,aAAa,CAAC;YAChE,EAAE,KAA8C,CAAA;QAElD,OAAO,IAAI,IAAI,OAAO,CAAC,WAAW,IAAI,SAAS,CAAA;IACjD,CAAC;IAED,sEAAsE;IACtE,SAAS,QAAQ,CAAC,KAAuB;QACvC,OAAO,eAAe,CAAC,KAAK,CAAC,KAAK,aAAa,IAAI,CAAC,OAAO,CAAC,WAAW,CAAA;IACzE,CAAC;IAQD,2EAA2E;IAC3E,kEAAkE;IAClE,SAAS,OAAO,CACd,KAAuB,EACvB,UAAU,GAAsB,EAAE;QAElC,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,SAAS;YAAE,OAAO,SAAS,CAAA;QAErD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,KAAK,GAAW,EAAE,CAAA;YACxB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,QAAQ;oBAAE,OAAO,SAAS,CAAA;gBAEzD,MAAM,MAAM,GAAG,OAAO,CACpB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,SAAS,KAAK,SAAS;oBAC1B,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CACpC,CAAA;gBACD,IAAI,CAAC,MAAM;oBAAE,OAAO,SAAS,CAAA;gBAE7B,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAA;YACvB,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,KAAK,GAAW,EAAE,CAAA;QACxB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,GAAI,CAAC;YACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,CAAE,CAAC,QAAQ,CAAA;YACpD,IAAI,KAAK,GAAG,EAAE,CAAA;YACd,sEAAsE;YACtE,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACxD,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,CAAE,CAAA;gBAChD,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,CAAA;YACnH,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;QAC7C,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,SAAS,QAAQ,CAAC,KAAsB;QACtC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;QACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACnC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC9B,IAAI,MAAM;gBAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;;gBACxB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9B,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,SAAS,cAAc,CAAC,KAAuB;QAC7C,OAAO;YACL,UAAU,CAAC,KAAK,CAAC;YACjB,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACvD,CAAA;IACH,CAAC;IAED,SAAS,QAAQ,CAAC,KAAuB;QACvC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;QAC9B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS;YAC/D,MAAM,IAAI,YAAY,CAAC;gBACrB;oBACE,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,sCAAsC;oBAC/C,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC;iBAChC;aACF,CAAC,CAAA;QACJ,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE;YAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC5D,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM;QAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;IAE1D,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC5C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAA;IAEvC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA2B,CAAA;IAE3D,MAAM,SAAS,GAAG,IAAI,GAAG,EAAmC,CAAA;IAC5D,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAA;IAChD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC3C,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAA;IACvC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC9C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC7C,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM;QACvC,KAAK,MAAM,WAAW,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;YAC1C,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACvD,CAAC;IAEH,4EAA4E;IAC5E,oEAAoE;IACpE,MAAM,IAAI,GAAG,IAAI,GAAG,EAA+B,CAAA;IACnD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAiC,CAAA;IACtD,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,GAAG,EAA0C,CAAA;QAE9D,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7D,IAAI,QAAQ,CAAC,KAAK,CAAC;gBAAE,SAAQ;YAE7B,MAAM,KAAK,GACT,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,KAAK,QAAQ;gBAC/C,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS;gBACvC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;gBAChB,CAAC,CAAC,SAAS,CAAA;YACf,0DAA0D;YAC1D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,IAAI,CAAC,KAAK,EAAE,CAAA;gBACZ,SAAQ;YACV,CAAC;YAED,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CACxB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAClD,CAAA;gBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;gBACjC,IAAI,QAAQ,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC;oBAC1B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;oBACvC,SAAQ;gBACV,CAAC;gBAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,EAAkB,CAAA;gBAC1D,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;gBACjC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAClE,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,WAAW,CAAA;QAC7C,MAAM,WAAW,GACf,eAAe,CAAC,KAAK,CAAC,KAAK,aAAa,IAAI,CAAC,OAAO,CAAC,WAAW,CAAA;QAClE,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,0CAA0C;gBACnD,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;aACnB,CAAC,CAAA;YACF,SAAQ;QACV,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC5C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;YAC1B,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAC7C,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI;gBAC7C,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,oBAAoB;oBAC1B,OAAO,EAAE,8CAA8C;oBACvD,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;iBACnB,CAAC,CAAA;YACJ,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YAClC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAA;YAC9B,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAA;YACjC,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAQ;YACpC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;QAED,MAAM,WAAW,GACf,QAAQ,KAAK,SAAS,IAAI,WAAW;YACnC,CAAC,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,eAAe,CAAC,UAAU,CAAE,CAAC,EAAE;YAC/G,CAAC,CAAC,SAAS,CAAA;QACf,IAAI,WAAW,KAAK,SAAS,IAAI,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/D,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAE,CAAA;YACpD,SAAQ;QACV,CAAC;QAED,MAAM,KAAK,GAAa,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;QAChE,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAChE,MAAM,YAAY,GAChB,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS;YAC/B,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QAC5D,IAAI,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QAC7C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,WAAW,GAAG,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,CAAA;YACvD,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;QAC1C,CAAC;QAED,SAAS,IAAI,CACX,IAAY,EACZ,KAAa,EACb,MAAe,EACf,MAAM,GAAG,IAAI,EACb,WAA6B;YAE7B,IAAI,CAAC,IAAI;gBAAE,OAAO,SAAS,CAAA;YAE3B,MAAM,QAAQ,GACZ,QAAQ,KAAK,SAAS;gBACtB,CAAC,MAAM,IAAI,CAAC,WAAW,IAAI,IAAI,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,CAAA;YACpE,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,WAAY,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YACtE,IAAI,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1C,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBACpB,OAAO,QAAQ,CAAA;YACjB,CAAC;YAED,IAAI,QAAQ;gBAAE,MAAM,GAAG,KAAK,CAAA;YAE5B,sFAAsF;YACtF,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;YACtB,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE;gBACrB,IAAI,QAAQ,KAAK,SAAS;oBACxB,OAAO,GAAG,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAA;gBACvD,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC/C,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;gBAC1F,CAAC;gBACD,OAAO,SAAS,CAAC,MAAM,CAAC;oBACtB,IAAI;oBACJ,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;oBACtC,SAAS,EAAE,YAAY;oBACvB,QAAQ,EAAE,KAAK;oBACf,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;iBACjC,CAAC,CAAA;YACJ,CAAC,CAAC,EAAE,CAAA;YACJ,MAAM,KAAK,GACT,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;YACpE,IACE,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;gBACrD,CAAC,KAAK,KAAK,SAAS;oBAClB,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;oBACxB,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC;gBAErC,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,oBAAoB;oBAC1B,OAAO,EACL,sEAAsE;oBACxE,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;iBACnB,CAAC,CAAA;YAEJ,IAAI,KAAK,KAAK,SAAS;gBAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;YACxD,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YACzB,IACE,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CACzC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CACvC;gBAED,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;YAC7C,IAAI,QAAQ,KAAK,SAAS;gBAAE,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;iBACxD,CAAC;gBACJ,IAAI,QAAQ;oBAAE,WAAY,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;gBACtD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACtB,CAAC;YAED,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,SAAS,KAAK,CACZ,KAAuB,EACvB,UAAU,GAAsB,EAAE;YAElC,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CACjC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,SAAS,IAAI,IAAI,GAAG,EAC5C,MAAM,CAAC,KAAK,CAAC,CACd,CAAA;gBACD,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;gBACrC,OAAM;YACR,CAAC;YACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAC/B,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;wBACxC,gEAAgE;wBAChE,MAAM,IAAI,GAAG,CAAC,GAAG,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CACtD,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,SAAS,IAAI,IAAI,GAAG,EAC5C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CACnB,CAAA;wBACD,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;wBAC1B,SAAQ;oBACV,CAAC;oBACD,KAAK,CACH,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,SAAS,KAAK,SAAS;wBAC1B,CAAC,CAAC,UAAU;wBACZ,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CACpC,CAAA;gBACH,CAAC;gBACD,OAAM;YACR,CAAC;YAED,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,GAAI,CAAC;gBACxD,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,CAAE,CAAA;gBAChD,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAA;gBACrC,MAAM,MAAM,GAAG,CAAC,WAAW,CAAC,CAAA;gBAC5B,sEAAsE;gBACtE,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,QAAQ,KAAK,QAAQ;oBACrD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,CAAE,CAAC,CAAA;gBAE3C,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;gBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;gBAC/C,MAAM,MAAM,GACV,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;gBACjE,IAAI,MAAM,EAAE,CAAC;oBACX,KAAK,MAAM,QAAQ,IAAI,MAAM;wBAC3B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;4BAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;oBACrD,SAAQ;gBACV,CAAC;gBAED,MAAM,KAAK,GAAG,MAAM;qBACjB,GAAG,CACF,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CACvB,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,CACnF;qBACA,IAAI,CAAC,EAAE,CAAC,CAAA;gBACX,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CACjC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,SAAS,IAAI,IAAI,GAAG,EAC5C,KAAK,CACN,CAAA;gBACD,MAAM,MAAM,GACV,CAAC,iBAAiB;oBAClB,CAAC,UAAU,CAAC,MAAM;oBAClB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,CAAA;gBAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;oBAClD,UAAU;oBACV,KAAK;iBACN,CAAC,CAAA;gBACF,IAAI,QAAQ,KAAK,SAAS;oBAAE,SAAQ;gBAEpC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG,EAAoB,CAAA;gBACpE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAA;gBAC/D,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;YAChC,CAAC;QACH,CAAC;QAED,yEAAyE;QACzE,2EAA2E;QAC3E,SAAS,KAAK,CAAC,KAAuB;YACpC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;YAC5B,IAAI,CAAC,KAAK;gBAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAA;YAE/B,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC9C,mFAAmF;gBACnF,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;oBAClD,KAAK,MAAM,IAAI,IAAI,MAAM;wBACvB,IAAI,CACF,IAAI,CAAC,UAAU,CAAC,WAAW,CACzB,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,SAAS,IAAI,IAAI,GAAG,EAC5C,IAAI,CAAC,KAAK,CACX,EACD,IAAI,CAAC,QAAQ,EACb,KAAK,EACL,IAAI,EACJ,IAAI,CACL,CAAA;oBACH,SAAQ;gBACV,CAAC;gBAED,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACtD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;gBAC/C,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI;oBACrD,WAAW,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,oBAAoB;wBAC1B,OAAO,EACL,sEAAsE;wBACxE,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;qBACnB,CAAC,CAAA;gBAEJ,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;gBACzB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACtB,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAwB,EAAE,CAAA;gBACtC,MAAM,KAAK,GAAwB,EAAE,CAAA;gBACrC,KAAK,MAAM,WAAW,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;oBAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;oBAC1C,MAAM,QAAQ,GACZ,CAAC,KAAK,CAAC,KAAK;wBACZ,WAAW;wBACX,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK;wBACzB,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;oBACjC,IAAI,QAAQ;wBAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;;wBACjC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;gBAC9B,CAAC;gBACD,IAAI,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;oBAC3D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;gBAC3D,CAAC;;oBAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;YAC5C,CAAC;iBAAM,IAAI,QAAQ,KAAK,SAAS,IAAI,WAAW;gBAAE,KAAK,CAAC,KAAK,CAAC,CAAA;;gBACzD,KAAK,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAG,KAAe,CAAC,OAAO;gBACjC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;aACnB,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACnD,IAAI,WAAW,KAAK,SAAS;YAC3B,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IACtD,CAAC;IAED,IAAI,WAAW,CAAC,MAAM;QAAE,MAAM,IAAI,YAAY,CAAC,WAAW,CAAC,CAAA;IAE3D,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE;QAC5B,IAAI,CAAC;YACH,OAAO,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,EAAE,MAAM,CAAC,CAAA;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,YAAY,CAAC;gBACrB;oBACE,IAAI,EAAE,qBAAqB;oBAC3B,OAAO,EAAG,KAAe,CAAC,OAAO;oBACjC,IAAI,EAAE,CAAC,eAAe,CAAC;iBACxB;aACF,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,CAAC,EAAE,CAAA;IAEJ,IAAI,MAAqD,CAAA;IAEzD,IAAI,CAAC;QACH,MAAM;YACJ,KAAK,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO;gBACtC,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAC9B,OAAO,CAAC,IAAI,IAAI,EAAE,EAClB,OAAO,CAAC,OAAO,IAAI,KAAK,EACxB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CACvB;gBACH,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;IACzE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,YAAY,CAAC;YACrB;gBACE,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAG,KAAe,CAAC,OAAO;gBACjC,IAAI,EAAE,CAAC,MAAM,CAAC;aACf;SACF,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,SAAS,GAAG;QAChB,MAAM,CAAC,GAAG;QACV,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,KAAK,CAAA;YAC1B,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAA;YACtE,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAC9C,IACE,CAAC,WAAW;gBACZ,WAAW,CAAC,UAAU,CAAC,IAAI,CACzB,CAAC,SAAS,EAAE,EAAE,CACZ,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;oBACzB,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CAC1C;gBAED,OAAO,GAAG,QAAQ,IAAI,IAAI,GAAG,CAAA;YAE/B,yFAAyF;YACzF,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAC7D,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAC1B,CAAA;YACD,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU;iBAClC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;iBACjD,WAAW,CACV,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,SAAS,IAAI,IAAI,GAAG,EAC5C,WAAW,CAAC,KAAK,CAClB,CAAA;YACH,OAAO,UAAU,CAAC,WAAW,CAC3B,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,SAAS,IAAI,IAAI,GAAG,EAC5C,GAAG,QAAQ,IAAI,MAAM,GAAG,CACzB,CAAA;QACH,CAAC,CAAC;KACH;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,MAAM,MAAM,GAAG;QACb,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,IAAI;QAC7B,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC;YAC/B,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC;YAC5B,GAAG,MAAM,CAAC,WAAW,CACnB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBACzB,UAAU,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE;gBACpH,IAAI,CAAC,KAAK;aACX,CAAC,CACH;SACF,CAAC;QACF,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;QAC/B,GAAG,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5D,IAAI,EAAE,MAAM,CAAC,OAA8C;KAC5D,CAAA;IACD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;IACrE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;IACrE,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AAC9B,CAAC;AAuED,8EAA8E;AAC9E,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,8EAA8E;IAC9E,YAAY,WAAkC;QAC5C,KAAK,CACH,WAAW;aACR,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;aAC9D,IAAI,CAAC,IAAI,CAAC,CACd,CAAA;QACD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAC9B,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACvB,MAAM,CAAC,MAAM,CAAC;YACZ,GAAG,IAAI;YACP,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;SACpC,CAAC,CACH,CACF,CAAA;IACH,CAAC;IACD,wDAAwD;IAC/C,WAAW,CAAuB;IAC3C,0CAA0C;IACjC,IAAI,GAAG,kBAAkB,CAAA;CACnC;AAiBD,sEAAsE;AACtE,SAAS,MAAM,CAAC,KAAa;IAC3B,OAAO,KAAK,CAAC,OAAO,CAClB,gBAAgB,EAChB,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAC3D,CAAA;AACH,CAAC"}
|
|
@@ -20,6 +20,55 @@ export declare namespace create {
|
|
|
20
20
|
export declare function selector(value: string): string;
|
|
21
21
|
/** Carries exact emitted rule bodies for graph-wide collision checks. */
|
|
22
22
|
export declare const rules: unique symbol;
|
|
23
|
+
/** Carries a compilation's unit naming scope in, and its naming decisions out. */
|
|
24
|
+
export declare const units: unique symbol;
|
|
25
|
+
/**
|
|
26
|
+
* Marks a graph compiled once with every module, whose stylesheets load together.
|
|
27
|
+
* Only its modules may reuse names that unrelated modules introduce.
|
|
28
|
+
*/
|
|
29
|
+
export declare const complete: unique symbol;
|
|
30
|
+
/** One compilation's unit names. */
|
|
31
|
+
export type Units = {
|
|
32
|
+
/** Names a declaration unit, reusing a visible earlier name for an equal body. */
|
|
33
|
+
readonly name: (body: string, namespace: string | undefined) => string;
|
|
34
|
+
/** Names chosen so far, keyed by namespace and body, and whether each was reused. */
|
|
35
|
+
readonly used: ReadonlyMap<string, Decision>;
|
|
36
|
+
};
|
|
37
|
+
/** A naming decision recorded so cached output can be validated against a later build. */
|
|
38
|
+
export type Decision = {
|
|
39
|
+
/** Whether the name was introduced by an earlier compilation. */
|
|
40
|
+
readonly borrowed: boolean;
|
|
41
|
+
/** Emitted class name. */
|
|
42
|
+
readonly name: string;
|
|
43
|
+
};
|
|
44
|
+
/** Shares unit names across the compilations of one graph. */
|
|
45
|
+
export declare function registry(): registry.ReturnType;
|
|
46
|
+
/** Graph-wide unit naming contracts. */
|
|
47
|
+
export declare namespace registry {
|
|
48
|
+
/** Visibility and identity of one compilation in the shared name table. */
|
|
49
|
+
type Options = {
|
|
50
|
+
/** Compilation identity recorded on the names it introduces. */
|
|
51
|
+
readonly owner: string;
|
|
52
|
+
/** Limits reuse to names introduced by these owners. Defaults to every owner. */
|
|
53
|
+
readonly visible?: ((owner: string) => boolean) | undefined;
|
|
54
|
+
};
|
|
55
|
+
/** Creates per-compilation naming scopes over one shared name table. */
|
|
56
|
+
type ReturnType = {
|
|
57
|
+
/**
|
|
58
|
+
* Registers a cached compilation's names. Returns false, registering nothing,
|
|
59
|
+
* when compiling it now would choose different names.
|
|
60
|
+
*/
|
|
61
|
+
readonly restore: (options: Options & {
|
|
62
|
+
/** Decisions recorded by the cached compilation. */
|
|
63
|
+
readonly used: ReadonlyMap<string, Decision>;
|
|
64
|
+
}) => boolean;
|
|
65
|
+
/** Names units for one compilation, whose qualifier keeps new names distinct. */
|
|
66
|
+
readonly scope: (options: Options & {
|
|
67
|
+
/** Fixed prefix distinguishing this compilation's new names. */
|
|
68
|
+
readonly qualifier: string;
|
|
69
|
+
}) => Units;
|
|
70
|
+
};
|
|
71
|
+
}
|
|
23
72
|
/** Carries authored names between source extraction and CSS emission. */
|
|
24
73
|
export declare const labels: unique symbol;
|
|
25
74
|
/** Authored names retained on extracted style data. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClassName.d.ts","sourceRoot":"","sources":["../../../src/web/internal/ClassName.ts"],"names":[],"mappings":"AAGA,uEAAuE;AACvE,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CA4BtD;AAED,uFAAuF;AACvF,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,oEAAoE;IACpE,KAAK,OAAO,GAAG;QACb,gEAAgE;QAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,yEAAyE;QACzE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACrC,uDAAuD;QACvD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACvC,mCAAmC;QACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzB,0DAA0D;QAC1D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACnC,CAAA;CACF;AAqCD,iEAAiE;AACjE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK9C;AAED,yEAAyE;AACzE,eAAO,MAAM,KAAK,eAA2B,CAAA;AAE7C,yEAAyE;AACzE,eAAO,MAAM,MAAM,eAA4B,CAAA;AAE/C,uDAAuD;AACvD,MAAM,MAAM,MAAM,GAAG,QAAQ,CAC3B,MAAM,CACJ,MAAM,EACN;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CACnE,CACF,CAAA"}
|
|
1
|
+
{"version":3,"file":"ClassName.d.ts","sourceRoot":"","sources":["../../../src/web/internal/ClassName.ts"],"names":[],"mappings":"AAGA,uEAAuE;AACvE,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CA4BtD;AAED,uFAAuF;AACvF,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,oEAAoE;IACpE,KAAK,OAAO,GAAG;QACb,gEAAgE;QAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,yEAAyE;QACzE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACrC,uDAAuD;QACvD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACvC,mCAAmC;QACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzB,0DAA0D;QAC1D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACnC,CAAA;CACF;AAqCD,iEAAiE;AACjE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK9C;AAED,yEAAyE;AACzE,eAAO,MAAM,KAAK,eAA2B,CAAA;AAE7C,kFAAkF;AAClF,eAAO,MAAM,KAAK,eAA2B,CAAA;AAE7C;;;GAGG;AACH,eAAO,MAAM,QAAQ,eAA8B,CAAA;AAEnD,oCAAoC;AACpC,MAAM,MAAM,KAAK,GAAG;IAClB,kFAAkF;IAClF,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,CAAA;IACtE,qFAAqF;IACrF,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;CAC7C,CAAA;AAED,0FAA0F;AAC1F,MAAM,MAAM,QAAQ,GAAG;IACrB,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,0BAA0B;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,8DAA8D;AAC9D,wBAAgB,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAsD9C;AAED,wCAAwC;AACxC,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC;IAChC,2EAA2E;IAC3E,KAAK,OAAO,GAAG;QACb,gEAAgE;QAChE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;QACtB,iFAAiF;QACjF,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,SAAS,CAAA;KAC5D,CAAA;IAED,wEAAwE;IACxE,KAAK,UAAU,GAAG;QAChB;;;WAGG;QACH,QAAQ,CAAC,OAAO,EAAE,CAChB,OAAO,EAAE,OAAO,GAAG;YACjB,oDAAoD;YACpD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;SAC7C,KACE,OAAO,CAAA;QACZ,iFAAiF;QACjF,QAAQ,CAAC,KAAK,EAAE,CACd,OAAO,EAAE,OAAO,GAAG;YACjB,gEAAgE;YAChE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;SAC3B,KACE,KAAK,CAAA;KACX,CAAA;CACF;AAED,yEAAyE;AACzE,eAAO,MAAM,MAAM,eAA4B,CAAA;AAE/C,uDAAuD;AACvD,MAAM,MAAM,MAAM,GAAG,QAAQ,CAC3B,MAAM,CACJ,MAAM,EACN;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CACnE,CACF,CAAA"}
|
|
@@ -59,6 +59,63 @@ export function selector(value) {
|
|
|
59
59
|
}
|
|
60
60
|
/** Carries exact emitted rule bodies for graph-wide collision checks. */
|
|
61
61
|
export const rules = Symbol('zyzz.css.rules');
|
|
62
|
+
/** Carries a compilation's unit naming scope in, and its naming decisions out. */
|
|
63
|
+
export const units = Symbol('zyzz.css.units');
|
|
64
|
+
/**
|
|
65
|
+
* Marks a graph compiled once with every module, whose stylesheets load together.
|
|
66
|
+
* Only its modules may reuse names that unrelated modules introduce.
|
|
67
|
+
*/
|
|
68
|
+
export const complete = Symbol('zyzz.css.complete');
|
|
69
|
+
/** Shares unit names across the compilations of one graph. */
|
|
70
|
+
export function registry() {
|
|
71
|
+
const names = new Map();
|
|
72
|
+
// A borrowed name stays tied to its first owner, so later modules can resolve it.
|
|
73
|
+
function borrow(key, visible) {
|
|
74
|
+
const previous = names.get(key);
|
|
75
|
+
if (previous && (visible?.(previous.owner) ?? true))
|
|
76
|
+
return previous.name;
|
|
77
|
+
return undefined;
|
|
78
|
+
}
|
|
79
|
+
return {
|
|
80
|
+
restore(options) {
|
|
81
|
+
for (const [key, decision] of options.used) {
|
|
82
|
+
const name = borrow(key, options.visible);
|
|
83
|
+
if ((name !== undefined) !== decision.borrowed)
|
|
84
|
+
return false;
|
|
85
|
+
if (name !== undefined && name !== decision.name)
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
for (const [key, decision] of options.used)
|
|
89
|
+
if (!names.has(key))
|
|
90
|
+
names.set(key, { name: decision.name, owner: options.owner });
|
|
91
|
+
return true;
|
|
92
|
+
},
|
|
93
|
+
scope(options) {
|
|
94
|
+
const local = new Map();
|
|
95
|
+
const used = new Map();
|
|
96
|
+
return {
|
|
97
|
+
name(body, namespace) {
|
|
98
|
+
const key = `${namespace ?? ''}\n${body}`;
|
|
99
|
+
// Every distinct body consumes a slot, so own names never depend on reuse.
|
|
100
|
+
let index = local.get(key);
|
|
101
|
+
if (index === undefined) {
|
|
102
|
+
index = local.size;
|
|
103
|
+
local.set(key, index);
|
|
104
|
+
}
|
|
105
|
+
const borrowed = borrow(key, options.visible);
|
|
106
|
+
// The underscore keeps unit names apart from readable names and anonymous scopes.
|
|
107
|
+
const name = borrowed ??
|
|
108
|
+
`z_${namespace ? `${namespace}-` : ''}${options.qualifier}${index.toString(36)}`;
|
|
109
|
+
if (!names.has(key))
|
|
110
|
+
names.set(key, { name, owner: options.owner });
|
|
111
|
+
used.set(key, { borrowed: borrowed !== undefined, name });
|
|
112
|
+
return name;
|
|
113
|
+
},
|
|
114
|
+
used,
|
|
115
|
+
};
|
|
116
|
+
},
|
|
117
|
+
};
|
|
118
|
+
}
|
|
62
119
|
/** Carries authored names between source extraction and CSS emission. */
|
|
63
120
|
export const labels = Symbol('zyzz.css.labels');
|
|
64
121
|
//# sourceMappingURL=ClassName.js.map
|