@fluixi/dom 1.0.0-alpha.82 → 1.0.0-alpha.84
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/cdn/dom-client.cjs +1427 -1
- package/dist/cdn/dom-client.d.ts +2 -2
- package/dist/cdn/dom-client.global.js +2 -1
- package/dist/cdn/dom-client.js +3 -3
- package/dist/cdn/dom-client.mjs +1430 -1
- package/dist/cdn/dom.cjs +3127 -1
- package/dist/cdn/dom.d.ts +2 -2
- package/dist/cdn/dom.global.js +2 -1
- package/dist/cdn/dom.js +4 -4
- package/dist/cdn/dom.mjs +3133 -1
- package/dist/index.cjs +3155 -1
- package/dist/index.js +2 -2
- package/dist/index.mjs +3149 -1
- package/dist/lib/component/index.cjs +128 -1
- package/dist/lib/component/index.mjs +105 -1
- package/dist/lib/component/modifiers.cjs +126 -1
- package/dist/lib/component/modifiers.d.ts +12 -0
- package/dist/lib/component/modifiers.d.ts.map +1 -1
- package/dist/lib/component/modifiers.js +12 -84
- package/dist/lib/component/modifiers.mjs +105 -1
- package/dist/lib/dom/delegate.cjs +60 -1
- package/dist/lib/dom/delegate.js +1 -1
- package/dist/lib/dom/delegate.mjs +39 -1
- package/dist/lib/dom/dynamic-element.cjs +949 -1
- package/dist/lib/dom/dynamic-element.d.ts +3 -3
- package/dist/lib/dom/dynamic-element.js +3 -3
- package/dist/lib/dom/dynamic-element.mjs +928 -1
- package/dist/lib/dom/hydration-state.cjs +93 -1
- package/dist/lib/dom/hydration-state.d.ts +1 -1
- package/dist/lib/dom/hydration-state.js +1 -1
- package/dist/lib/dom/hydration-state.mjs +72 -1
- package/dist/lib/dom/hydration.cjs +685 -1
- package/dist/lib/dom/hydration.js +8 -8
- package/dist/lib/dom/hydration.mjs +664 -1
- package/dist/lib/dom/index.cjs +2040 -1
- package/dist/lib/dom/index.js +1 -1
- package/dist/lib/dom/index.mjs +2020 -1
- package/dist/lib/dom/integration.cjs +71 -1
- package/dist/lib/dom/integration.d.ts.map +1 -1
- package/dist/lib/dom/integration.js +15 -6
- package/dist/lib/dom/integration.mjs +51 -1
- package/dist/lib/dom/island.cjs +790 -1
- package/dist/lib/dom/island.d.ts +1 -1
- package/dist/lib/dom/island.js +12 -12
- package/dist/lib/dom/island.mjs +769 -1
- package/dist/lib/dom/runtime.cjs +1432 -1
- package/dist/lib/dom/runtime.d.ts +71 -19
- package/dist/lib/dom/runtime.d.ts.map +1 -1
- package/dist/lib/dom/runtime.js +261 -100
- package/dist/lib/dom/runtime.mjs +1414 -1
- package/dist/lib/dom/server/fx-data.cjs +53 -1
- package/dist/lib/dom/server/fx-data.d.ts +5 -5
- package/dist/lib/dom/server/fx-data.js +6 -6
- package/dist/lib/dom/server/fx-data.mjs +32 -1
- package/dist/lib/dom/server/host.cjs +66 -1
- package/dist/lib/dom/server/host.d.ts +14 -2
- package/dist/lib/dom/server/host.d.ts.map +1 -1
- package/dist/lib/dom/server/host.js +38 -10
- package/dist/lib/dom/server/host.mjs +45 -1
- package/dist/lib/dom/server/index.cjs +759 -1
- package/dist/lib/dom/server/index.d.ts +1 -1
- package/dist/lib/dom/server/index.js +1 -1
- package/dist/lib/dom/server/index.mjs +743 -1
- package/dist/lib/dom/server/nodes.cjs +302 -1
- package/dist/lib/dom/server/nodes.d.ts +2 -2
- package/dist/lib/dom/server/nodes.d.ts.map +1 -1
- package/dist/lib/dom/server/nodes.js +4 -4
- package/dist/lib/dom/server/nodes.mjs +279 -1
- package/dist/lib/dom/server/parse-template.cjs +395 -1
- package/dist/lib/dom/server/parse-template.d.ts +1 -1
- package/dist/lib/dom/server/parse-template.js +4 -4
- package/dist/lib/dom/server/parse-template.mjs +372 -1
- package/dist/lib/dom/server/render.cjs +691 -1
- package/dist/lib/dom/server/render.d.ts +9 -1
- package/dist/lib/dom/server/render.d.ts.map +1 -1
- package/dist/lib/dom/server/render.js +25 -17
- package/dist/lib/dom/server/render.mjs +677 -1
- package/dist/lib/dom/server/request-context.cjs +110 -1
- package/dist/lib/dom/server/request-context.d.ts +29 -9
- package/dist/lib/dom/server/request-context.d.ts.map +1 -1
- package/dist/lib/dom/server/request-context.js +28 -8
- package/dist/lib/dom/server/request-context.mjs +89 -1
- package/dist/lib/dom/server/serialize.cjs +187 -1
- package/dist/lib/dom/server/serialize.js +3 -3
- package/dist/lib/dom/server/serialize.mjs +164 -1
- package/dist/lib/dom/server-renderer.cjs +760 -1
- package/dist/lib/dom/server-renderer.js +1 -1
- package/dist/lib/dom/server-renderer.mjs +745 -1
- package/dist/lib/dom/types.cjs +18 -1
- package/dist/lib/dom/utils.cjs +381 -1
- package/dist/lib/dom/utils.d.ts +1 -88
- package/dist/lib/dom/utils.d.ts.map +1 -1
- package/dist/lib/dom/utils.js +2 -99
- package/dist/lib/dom/utils.mjs +361 -1
- package/dist/lib/dom/versions.cjs +60 -1
- package/dist/lib/dom/versions.d.ts +3 -3
- package/dist/lib/dom/versions.d.ts.map +1 -1
- package/dist/lib/dom/versions.js +17 -5
- package/dist/lib/dom/versions.mjs +37 -1
- package/dist/lib/element/attributes.cjs +19 -1
- package/dist/lib/element/attributes.d.ts +7 -7
- package/dist/lib/element/attributes.js +1 -1
- package/dist/lib/element/attributes.mjs +1 -0
- package/dist/lib/element/index.cjs +19 -1
- package/dist/lib/element/index.mjs +1 -0
- package/dist/lib/element/types.cjs +18 -1
- package/dist/lib/element/types.d.ts +4 -5
- package/dist/lib/element/types.d.ts.map +1 -1
- package/dist/lib/element/types.js +0 -1
- package/dist/lib/flow/class-map.cjs +38 -1
- package/dist/lib/flow/class-map.d.ts +3 -3
- package/dist/lib/flow/class-map.js +3 -3
- package/dist/lib/flow/class-map.mjs +17 -1
- package/dist/lib/flow/client-only.cjs +57 -1
- package/dist/lib/flow/client-only.d.ts +4 -4
- package/dist/lib/flow/client-only.js +4 -4
- package/dist/lib/flow/client-only.mjs +36 -1
- package/dist/lib/flow/dynamic.cjs +53 -1
- package/dist/lib/flow/dynamic.d.ts +2 -2
- package/dist/lib/flow/dynamic.js +4 -4
- package/dist/lib/flow/dynamic.mjs +32 -1
- package/dist/lib/flow/error-boundary.cjs +43 -1
- package/dist/lib/flow/error-boundary.d.ts +2 -2
- package/dist/lib/flow/error-boundary.js +4 -4
- package/dist/lib/flow/error-boundary.mjs +22 -1
- package/dist/lib/flow/for.cjs +66 -1
- package/dist/lib/flow/for.d.ts +9 -9
- package/dist/lib/flow/for.d.ts.map +1 -1
- package/dist/lib/flow/for.js +2 -2
- package/dist/lib/flow/for.mjs +45 -1
- package/dist/lib/flow/index-flow.cjs +67 -1
- package/dist/lib/flow/index-flow.d.ts +5 -5
- package/dist/lib/flow/index-flow.js +4 -4
- package/dist/lib/flow/index-flow.mjs +46 -1
- package/dist/lib/flow/index.cjs +805 -1
- package/dist/lib/flow/index.mjs +792 -1
- package/dist/lib/flow/portal.cjs +538 -1
- package/dist/lib/flow/portal.mjs +519 -1
- package/dist/lib/flow/show.cjs +81 -1
- package/dist/lib/flow/show.d.ts +1 -1
- package/dist/lib/flow/show.d.ts.map +1 -1
- package/dist/lib/flow/show.js +12 -118
- package/dist/lib/flow/show.mjs +67 -1
- package/dist/lib/flow/style-map.cjs +43 -1
- package/dist/lib/flow/style-map.d.ts +3 -3
- package/dist/lib/flow/style-map.js +4 -4
- package/dist/lib/flow/style-map.mjs +22 -1
- package/dist/lib/flow/switch.cjs +91 -1
- package/dist/lib/flow/switch.d.ts +3 -3
- package/dist/lib/flow/switch.d.ts.map +1 -1
- package/dist/lib/flow/switch.js +7 -7
- package/dist/lib/flow/switch.mjs +70 -1
- package/dist/lib/flow/utils.cjs +44 -1
- package/dist/lib/flow/utils.d.ts +1 -1
- package/dist/lib/flow/utils.js +1 -1
- package/dist/lib/flow/utils.mjs +23 -1
- package/dist/lib/html.cjs +32 -1
- package/dist/lib/html.d.ts +6 -6
- package/dist/lib/html.js +5 -5
- package/dist/lib/html.mjs +11 -1
- package/dist/lib/index.cjs +3104 -1
- package/dist/lib/index.d.ts +0 -1
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +2 -3
- package/dist/lib/index.mjs +3097 -1
- package/dist/lib/shared/types.cjs +18 -1
- package/dist/lib/shared/types.d.ts +8 -8
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/dist/version.generated.cjs +26 -1
- package/dist/version.generated.d.ts +1 -1
- package/dist/version.generated.js +2 -2
- package/dist/version.generated.mjs +5 -1
- package/package.json +7 -6
- package/dist/lib/jsx/control-flow/flow.cjs +0 -1
- package/dist/lib/jsx/control-flow/flow.d.ts +0 -2
- package/dist/lib/jsx/control-flow/flow.d.ts.map +0 -1
- package/dist/lib/jsx/control-flow/flow.js +0 -627
- package/dist/lib/jsx/control-flow/flow.mjs +0 -0
- package/dist/lib/jsx/control-flow/for-flow.cjs +0 -1
- package/dist/lib/jsx/control-flow/for-flow.d.ts +0 -2
- package/dist/lib/jsx/control-flow/for-flow.d.ts.map +0 -1
- package/dist/lib/jsx/control-flow/for-flow.js +0 -1
- package/dist/lib/jsx/control-flow/for-flow.mjs +0 -0
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @fileoverview Core Reactive DOM Runtime
|
|
3
2
|
* @module @fluixi/dom/runtime
|
|
4
3
|
*
|
|
5
4
|
* Fine-grained reactive DOM manipulation utilities inspired by SolidJS.
|
|
6
5
|
* Key design: Event delegation uses `$$eventname` properties on DOM nodes
|
|
7
|
-
* (the SolidJS pattern)
|
|
6
|
+
* (the SolidJS pattern): simpler and more reliable than Map-based lookup.
|
|
8
7
|
*
|
|
9
8
|
* Critical fixes applied:
|
|
10
9
|
* - insertContent array branch: nested signal content cleanup via onCleanup
|
|
@@ -35,7 +34,7 @@ export type Children = Node | Node[] | string | number | boolean | null | undefi
|
|
|
35
34
|
*/
|
|
36
35
|
export declare function delegateEvents(eventNames: string[]): void;
|
|
37
36
|
/**
|
|
38
|
-
* Add a delegated event handler
|
|
37
|
+
* Add a delegated event handler: stores as $$eventname property
|
|
39
38
|
*/
|
|
40
39
|
export declare function addDelegatedEventListener(element: Element, name: string, handler: EventListener): void;
|
|
41
40
|
/**
|
|
@@ -50,29 +49,56 @@ export declare function isDelegatedEvent(name: string): boolean;
|
|
|
50
49
|
* Check if value is a function
|
|
51
50
|
*/
|
|
52
51
|
export declare function isFunction(value: any): value is Function;
|
|
53
|
-
|
|
52
|
+
/**
|
|
53
|
+
* Create an element, or adopt the server's during hydration.
|
|
54
|
+
*
|
|
55
|
+
* One of the calls the compiler emits, so its three modes are the whole of how a
|
|
56
|
+
* template becomes DOM. Server rendering routes to the realm's node factory and returns
|
|
57
|
+
* a string-serializable stand-in rather than a real element. Hydration asks the walker
|
|
58
|
+
* for the next element the server wrote and reuses it. Otherwise it creates one.
|
|
59
|
+
*
|
|
60
|
+
* `at` is a dev-only source position, stamped onto the node for devtools. A production
|
|
61
|
+
* build passes none and carries no marker.
|
|
62
|
+
*/
|
|
63
|
+
export declare function createNativeElement(tag: string, isSVG?: boolean, at?: {
|
|
64
|
+
file: string;
|
|
65
|
+
line: number;
|
|
66
|
+
column: number;
|
|
67
|
+
}): Element;
|
|
68
|
+
/**
|
|
69
|
+
* Parse static template HTML once and cache it by that string.
|
|
70
|
+
*
|
|
71
|
+
* Every clone of a template comes from one parse, which is most of why a compiled
|
|
72
|
+
* template is cheap. The cache is keyed by the markup rather than by identity, so two
|
|
73
|
+
* modules emitting the same HTML share the parse.
|
|
74
|
+
*/
|
|
54
75
|
export declare function createTemplate(html: string, isSVG?: boolean): HTMLTemplateElement;
|
|
55
76
|
/**
|
|
56
77
|
* A node for a compiler-emitted static template, built the way the current environment
|
|
57
78
|
* needs it.
|
|
58
79
|
*
|
|
59
80
|
* The three cases mirror {@link createNativeElement}, which is the point: a template has
|
|
60
|
-
* to behave like the elements it replaces, or it works only in client-rendered apps
|
|
81
|
+
* to behave like the elements it replaces, or it works only in client-rendered apps,
|
|
61
82
|
* which is exactly how it failed before this existed.
|
|
62
83
|
*
|
|
63
|
-
* - **server
|
|
84
|
+
* - **server**: carried as text and written out verbatim. Parsing it into elements
|
|
64
85
|
* only to serialize them straight back would be pure cost.
|
|
65
|
-
* - **hydrating
|
|
86
|
+
* - **hydrating**: adopt the server's existing subtree and skip past it. The subtree
|
|
66
87
|
* is inert, so there is nothing inside to wire up.
|
|
67
|
-
* - **client
|
|
88
|
+
* - **client**: parse once (cached by HTML) and clone per instance.
|
|
68
89
|
*/
|
|
69
|
-
export declare function templateNode(html: string, tag: string, holes?: boolean, isSVG?: boolean): Node;
|
|
90
|
+
export declare function templateNode(html: string, tag: string, holes?: boolean, isSVG?: boolean, at?: TemplatePositions): Node;
|
|
91
|
+
/** Line and column per element of a template, flattened, in document order. */
|
|
92
|
+
export interface TemplatePositions {
|
|
93
|
+
file: string;
|
|
94
|
+
pos: number[];
|
|
95
|
+
}
|
|
70
96
|
/**
|
|
71
97
|
* Evaluate a hole's content with the hydration cursor placed at what the server rendered
|
|
72
98
|
* for *that hole*.
|
|
73
99
|
*
|
|
74
100
|
* Without this, only the hole's top level adopts. `templateNode` moves the cursor past the
|
|
75
|
-
* whole template
|
|
101
|
+
* whole template, the subtree is inert, so there is nothing in it to walk, which leaves
|
|
76
102
|
* the cursor in the wrong place for anything the hole builds internally. A component in a
|
|
77
103
|
* hole would then recreate its own elements: no duplication, but every server node thrown
|
|
78
104
|
* away, which is most of what hydration is for.
|
|
@@ -93,7 +119,7 @@ export declare function holeEnd(start: Node): Node;
|
|
|
93
119
|
*
|
|
94
120
|
* On a fresh clone the markers are adjacent and this is empty, so `insert` builds the
|
|
95
121
|
* content. When hydrating, the server's rendered content sits between them and is handed
|
|
96
|
-
* back
|
|
122
|
+
* back: `insertExpression` then reuses those nodes (setting `.data` on a text node
|
|
97
123
|
* rather than creating one), which is what adoption means here.
|
|
98
124
|
*
|
|
99
125
|
* Paired markers are what make this exact: a hole's content is *by definition* the nodes
|
|
@@ -104,14 +130,27 @@ export declare function cloneTemplate(template: HTMLTemplateElement, isSVG?: boo
|
|
|
104
130
|
export declare function makeArrayFlat(values: any[]): any;
|
|
105
131
|
export declare function fnName(fn: Function): any;
|
|
106
132
|
/**
|
|
107
|
-
* iterateFn
|
|
133
|
+
* iterateFn: resolves a value by calling through plain function wrappers.
|
|
108
134
|
*
|
|
109
135
|
* Must stop at signals/memos/resources ($SIGNAL marker) and
|
|
110
136
|
* component thunks (fluixi-component marker). Without this:
|
|
111
137
|
* - components returning memos get unwrapped to static values, losing reactivity
|
|
112
|
-
* - lazy component createMemo re-triggers C(props)
|
|
138
|
+
* - lazy component createMemo re-triggers C(props) -> infinite recursion
|
|
113
139
|
*/
|
|
114
140
|
export declare function iterateFn(item: any): any;
|
|
141
|
+
/**
|
|
142
|
+
* Place content in a parent, and keep it current when the content is reactive.
|
|
143
|
+
*
|
|
144
|
+
* The other half of the compiler's output. `accessor` may be a value or a function: a
|
|
145
|
+
* function is read inside a render effect, so the position updates on its own when
|
|
146
|
+
* anything it read changes. That is where fine-grained updating actually happens, since
|
|
147
|
+
* only this position is touched rather than the subtree around it.
|
|
148
|
+
*
|
|
149
|
+
* `marker` is the node the content sits before, which is what makes several holes in one
|
|
150
|
+
* parent independent. `init` is what the position already holds, empty on a fresh clone
|
|
151
|
+
* and the server's nodes when hydrating, so hydration reconciles against them instead of
|
|
152
|
+
* building a second copy.
|
|
153
|
+
*/
|
|
115
154
|
export declare function insert(parent: Node, accessor?: Children | Accessor<Children> | null, marker?: Node, init?: Node | Node[] | null): (() => Node | Node[] | null) | (Node | Node[] | null);
|
|
116
155
|
export declare function insertExpression(parent: Node, value: Children, marker?: Node, current?: Node | Node[] | null, componentCache?: Map<Function, any>): Node | Node[] | null;
|
|
117
156
|
export declare function cleanChildren(parent: Node, current?: Node | Node[] | null, marker?: Node): null;
|
|
@@ -138,13 +177,26 @@ export declare function setDynamicBoolAttribute(element: Element, name: string,
|
|
|
138
177
|
*/
|
|
139
178
|
export declare function setClassName(element: Element, value: any): void;
|
|
140
179
|
/**
|
|
141
|
-
* Apply a `classList`-style map `{ 'a b': condition }
|
|
180
|
+
* Apply a `classList`-style map `{ 'a b': condition }`, toggling each class on
|
|
142
181
|
* the element. A condition may be a value or a reactive accessor; when
|
|
143
182
|
* `disposers` is provided, accessor entries are wired with a render effect so
|
|
144
183
|
* they update fine-grained (Solid-style `classList`).
|
|
145
184
|
*/
|
|
146
185
|
export declare function setClassList(element: Element, value: any, disposers?: Array<() => void>): void;
|
|
147
186
|
export declare function setStyle(element: any, _value: any): void;
|
|
187
|
+
/**
|
|
188
|
+
* Apply a props object to an element, and re-apply what changes.
|
|
189
|
+
*
|
|
190
|
+
* Handles every prop kind the compiler can emit: attributes, properties, events,
|
|
191
|
+
* `class`/`style` in their object and string forms, `ref` and `use:`. Each reactive prop
|
|
192
|
+
* gets its own effect, so a change touches one attribute rather than re-running the
|
|
193
|
+
* element.
|
|
194
|
+
*
|
|
195
|
+
* `prevProps` is what was applied last, which is how a removed key is cleared rather
|
|
196
|
+
* than left behind. A getter-backed prop stays reactive: the value is read inside the
|
|
197
|
+
* effect, not when the object was built, which is what keeps `splitProps` and a
|
|
198
|
+
* polymorphic wrapper live.
|
|
199
|
+
*/
|
|
148
200
|
export declare function spread(options: SpreadOptions): () => void;
|
|
149
201
|
/**
|
|
150
202
|
* Apply props to an element.
|
|
@@ -152,14 +204,14 @@ export declare function spread(options: SpreadOptions): () => void;
|
|
|
152
204
|
*/
|
|
153
205
|
export declare function applyProps(element: Element, props: Record<string, any>, isSVG?: boolean): void;
|
|
154
206
|
/**
|
|
155
|
-
* Merge several (possibly reactive) prop sources into one, last-source-wins
|
|
156
|
-
* source's `undefined` does
|
|
207
|
+
* Merge several (possibly reactive) prop sources into one, last-source-wins, but a later
|
|
208
|
+
* source's `undefined` does not clobber an earlier defined value; it falls through to it. This
|
|
157
209
|
* is what makes `mergeProps(defaults, props)` work, and why the compiler can emit
|
|
158
210
|
* `mergeProps(...spreads, baseProps)` for JSX spreads (`<div {...a} {...b} />`) without a missing
|
|
159
211
|
* `b.x` wiping `a.x`.
|
|
160
212
|
*
|
|
161
213
|
* Like Solid's mergeProps (and `splitProps` above), the result is a Proxy that resolves each key
|
|
162
|
-
* LAZILY off the sources
|
|
214
|
+
* LAZILY off the sources: getter/signal-backed props stay live (re-read on every access, not
|
|
163
215
|
* snapshotted), and the key set is the union across all sources (so dynamic prop objects work).
|
|
164
216
|
*/
|
|
165
217
|
export declare function mergeProps<T extends object>(...sources: Partial<T>[]): T;
|
|
@@ -168,7 +220,7 @@ type SplitArgs<T, K extends (keyof T)[][]> = {
|
|
|
168
220
|
};
|
|
169
221
|
/**
|
|
170
222
|
* Split a (possibly reactive) props object into groups of keys plus a `rest`,
|
|
171
|
-
* preserving reactivity
|
|
223
|
+
* preserving reactivity, each returned object is a Proxy whose `get` forwards
|
|
172
224
|
* to the original `props`, so a getter/signal-backed prop stays live.
|
|
173
225
|
*
|
|
174
226
|
* const [local, rest] = splitProps(props, ['class', 'id']);
|
|
@@ -192,7 +244,7 @@ export declare function render<T>(element: T, container: Element, context?: any)
|
|
|
192
244
|
* Normalize what `bind:` was given into a `[read, write]` pair.
|
|
193
245
|
*
|
|
194
246
|
* `createSignal` hands back that pair already; `signal` hands back `{ get, set }`. Both
|
|
195
|
-
* are the same primitive, so `bind:value` has to take either
|
|
247
|
+
* are the same primitive, so `bind:value` has to take either, steering people to the
|
|
196
248
|
* new API and then refusing it in a directive would be its own kind of broken.
|
|
197
249
|
*/
|
|
198
250
|
export declare function bindPair(source: any): [() => any, (value: any) => void];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/lib/dom/runtime.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/lib/dom/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAyEH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAEtD;AACD,eAAO,MAAM,UAAU,cAMtB,CAAC;AAMF,KAAK,QAAQ,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;AAE3B,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC;AAChC,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAC1E,MAAM,MAAM,QAAQ,GAChB,IAAI,GACJ,IAAI,EAAE,GACN,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,GACT,CAAC,MAAM,GAAG,CAAC,CAAC;AAqChB;;;GAGG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAOzD;AAmBD;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,GACrB,IAAI,CAiBN;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAQjF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAMD;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,QAAQ,CAExD;AAuBD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,KAAK,UAAQ,EACb,EAAE,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAClD,OAAO,CAUT;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,mBAAmB,CAS/E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,KAAK,UAAQ,EACb,KAAK,UAAQ,EACb,EAAE,CAAC,EAAE,iBAAiB,GACrB,IAAI,CAcN;AAED,+EAA+E;AAC/E,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,EAAE,CAAC;CACf;AAuBD;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAsB7D;AAcD;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CAMzC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,IAAI,EAAE,CAI1D;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,mBAAmB,EAC7B,KAAK,UAAQ,GACZ,gBAAgB,GAAG,OAAO,CAI5B;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,OAS1C;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,QAAQ,OAGlC;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAkBxC;AAmGD;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CACpB,MAAM,EAAE,IAAI,EACZ,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,EAC/C,MAAM,CAAC,EAAE,IAAI,EACb,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,GAC1B,CAAC,MAAM,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CA2CvD;AAMD,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,QAAQ,EACf,MAAM,CAAC,EAAE,IAAI,EACb,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,EAC9B,cAAc,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,GAClC,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,CA2JtB;AAkSD,wBAAgB,aAAa,CAC3B,MAAM,EAAE,IAAI,EACZ,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,EAC9B,MAAM,CAAC,EAAE,IAAI,GACZ,IAAI,CAYN;AA2BD,wBAAgB,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAGxE;AAED;;;;;GAKG;AACH;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,MAAM,IAAI,CAO7F;AA2BD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAe3D;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,GAAG,EACb,KAAK,UAAQ,GACZ,MAAM,IAAI,CAWZ;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,MAAM,IAAI,CAWxF;AAID,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,MAAM,IAAI,CAUjG;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAiC/D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,GAAG,EACV,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,GAC5B,IAAI,CAiBN;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI,CAexD;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,IAAI,CAkKzD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,UAAQ,GAAG,IAAI,CA8L5F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CA4BxE;AAED,KAAK,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,IAAI;KAC1C,CAAC,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;CACxD,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAClE,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,CAAC,GACT,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CA8BlD;AAQD,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CA0B1D;AAMD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG,QAgDpE;AAKD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAMjD;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO9C;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAOnD;AAMD,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,CAE9D;AAED,mGAAmG;AACnG,wBAAgB,MAAM,CAAC,CAAC,EACtB,OAAO,EAAE,CAAC,EACV,SAAS,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,GAAG,GACZ,MAAM,IAAI,CAuCZ;AAGD;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC,CASvE"}
|