@alloy-js/core 0.4.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +53 -0
- package/babel.config.cjs +4 -1
- package/dist/src/binder.d.ts +20 -13
- package/dist/src/binder.d.ts.map +1 -1
- package/dist/src/binder.js +33 -15
- package/dist/src/binder.js.map +1 -1
- package/dist/src/code.d.ts +2 -2
- package/dist/src/code.d.ts.map +1 -1
- package/dist/src/code.js +4 -4
- package/dist/src/code.js.map +1 -1
- package/dist/src/components/Block.d.ts +25 -0
- package/dist/src/components/Block.d.ts.map +1 -0
- package/dist/src/components/Block.js +25 -0
- package/dist/src/components/Block.js.map +1 -0
- package/dist/src/components/Declaration.d.ts +1 -1
- package/dist/src/components/Declaration.d.ts.map +1 -1
- package/dist/src/components/Declaration.js +4 -0
- package/dist/src/components/Declaration.js.map +1 -1
- package/dist/src/components/For.d.ts +44 -0
- package/dist/src/components/For.d.ts.map +1 -0
- package/dist/src/components/For.js +41 -0
- package/dist/src/components/For.js.map +1 -0
- package/dist/src/components/Indent.d.ts +6 -10
- package/dist/src/components/Indent.d.ts.map +1 -1
- package/dist/src/components/Indent.js +7 -18
- package/dist/src/components/Indent.js.map +1 -1
- package/dist/src/components/List.d.ts +38 -0
- package/dist/src/components/List.d.ts.map +1 -0
- package/dist/src/components/List.js +40 -0
- package/dist/src/components/List.js.map +1 -0
- package/dist/src/components/MemberDeclaration.d.ts +1 -1
- package/dist/src/components/MemberDeclaration.d.ts.map +1 -1
- package/dist/src/components/MemberDeclaration.js.map +1 -1
- package/dist/src/components/MemberName.d.ts +1 -1
- package/dist/src/components/MemberName.d.ts.map +1 -1
- package/dist/src/components/MemberName.js +1 -1
- package/dist/src/components/MemberName.js.map +1 -1
- package/dist/src/components/MemberScope.d.ts +1 -1
- package/dist/src/components/MemberScope.d.ts.map +1 -1
- package/dist/src/components/MemberScope.js.map +1 -1
- package/dist/src/components/Name.d.ts +1 -1
- package/dist/src/components/Name.d.ts.map +1 -1
- package/dist/src/components/Name.js +1 -1
- package/dist/src/components/Name.js.map +1 -1
- package/dist/src/components/Output.d.ts +3 -2
- package/dist/src/components/Output.d.ts.map +1 -1
- package/dist/src/components/Output.js +12 -2
- package/dist/src/components/Output.js.map +1 -1
- package/dist/src/components/Scope.d.ts +1 -1
- package/dist/src/components/Scope.d.ts.map +1 -1
- package/dist/src/components/Scope.js.map +1 -1
- package/dist/src/components/Show.d.ts +8 -0
- package/dist/src/components/Show.d.ts.map +1 -0
- package/dist/src/components/Show.js +4 -0
- package/dist/src/components/Show.js.map +1 -0
- package/dist/src/components/SourceDirectory.d.ts +2 -2
- package/dist/src/components/SourceDirectory.d.ts.map +1 -1
- package/dist/src/components/SourceDirectory.js +1 -0
- package/dist/src/components/SourceDirectory.js.map +1 -1
- package/dist/src/components/SourceFile.d.ts +4 -8
- package/dist/src/components/SourceFile.d.ts.map +1 -1
- package/dist/src/components/SourceFile.js +6 -13
- package/dist/src/components/SourceFile.js.map +1 -1
- package/dist/src/components/StatementList.d.ts +9 -0
- package/dist/src/components/StatementList.d.ts.map +1 -0
- package/dist/src/components/StatementList.js +17 -0
- package/dist/src/components/StatementList.js.map +1 -0
- package/dist/src/components/Switch.d.ts +41 -0
- package/dist/src/components/Switch.d.ts.map +1 -0
- package/dist/src/components/Switch.js +41 -0
- package/dist/src/components/Switch.js.map +1 -0
- package/dist/src/components/Wrap.d.ts +20 -0
- package/dist/src/components/Wrap.d.ts.map +1 -0
- package/dist/src/components/Wrap.js +15 -0
- package/dist/src/components/Wrap.js.map +1 -0
- package/dist/src/components/index.d.ts +8 -1
- package/dist/src/components/index.d.ts.map +1 -1
- package/dist/src/components/index.js +7 -0
- package/dist/src/components/index.js.map +1 -1
- package/dist/src/components/stc/index.d.ts +89 -18
- package/dist/src/components/stc/index.d.ts.map +1 -1
- package/dist/src/components/stc/index.js +17 -1
- package/dist/src/components/stc/index.js.map +1 -1
- package/dist/src/context/index.d.ts +0 -1
- package/dist/src/context/index.d.ts.map +1 -1
- package/dist/src/context/index.js +0 -1
- package/dist/src/context/index.js.map +1 -1
- package/dist/src/context/member-declaration.d.ts +1 -0
- package/dist/src/context/member-declaration.d.ts.map +1 -1
- package/dist/src/context/member-declaration.js +4 -1
- package/dist/src/context/member-declaration.js.map +1 -1
- package/dist/src/context.d.ts.map +1 -1
- package/dist/src/context.js +3 -3
- package/dist/src/context.js.map +1 -1
- package/dist/src/index.browser.d.ts +3 -0
- package/dist/src/index.browser.d.ts.map +1 -0
- package/dist/src/index.browser.js +3 -0
- package/dist/src/index.browser.js.map +1 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/jsx-runtime.d.ts +151 -7
- package/dist/src/jsx-runtime.d.ts.map +1 -1
- package/dist/src/jsx-runtime.js +113 -12
- package/dist/src/jsx-runtime.js.map +1 -1
- package/dist/src/render.d.ts +107 -132
- package/dist/src/render.d.ts.map +1 -1
- package/dist/src/render.js +272 -178
- package/dist/src/render.js.map +1 -1
- package/dist/src/stc.d.ts +14 -0
- package/dist/src/stc.d.ts.map +1 -0
- package/dist/src/stc.js +52 -0
- package/dist/src/stc.js.map +1 -0
- package/dist/src/tap.d.ts +19 -0
- package/dist/src/tap.d.ts.map +1 -0
- package/dist/src/tap.js +39 -0
- package/dist/src/tap.js.map +1 -0
- package/dist/src/utils.d.ts +22 -15
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +95 -59
- package/dist/src/utils.js.map +1 -1
- package/dist/test/browser-build.test.d.ts +2 -0
- package/dist/test/browser-build.test.d.ts.map +1 -0
- package/dist/test/components/block.test.d.ts +2 -0
- package/dist/test/components/block.test.d.ts.map +1 -0
- package/dist/test/components/declaration.test.d.ts +2 -0
- package/dist/test/components/declaration.test.d.ts.map +1 -0
- package/dist/test/components/list.test.d.ts +2 -0
- package/dist/test/components/list.test.d.ts.map +1 -0
- package/dist/test/components/wrap.test.d.ts +2 -0
- package/dist/test/components/wrap.test.d.ts.map +1 -0
- package/dist/test/control-flow/for.test.d.ts +2 -0
- package/dist/test/control-flow/for.test.d.ts.map +1 -0
- package/dist/test/control-flow/match.test.d.ts +2 -0
- package/dist/test/control-flow/match.test.d.ts.map +1 -0
- package/dist/test/control-flow/show.test.d.ts +2 -0
- package/dist/test/control-flow/show.test.d.ts.map +1 -0
- package/dist/test/reactivity/cleanup.test.d.ts +2 -0
- package/dist/test/reactivity/cleanup.test.d.ts.map +1 -0
- package/dist/test/reactivity/memo.test.d.ts +2 -0
- package/dist/test/reactivity/memo.test.d.ts.map +1 -0
- package/dist/test/reactivity/untrack.test.d.ts +2 -0
- package/dist/test/reactivity/untrack.test.d.ts.map +1 -0
- package/dist/test/rendering/formatting.test.d.ts +2 -0
- package/dist/test/rendering/formatting.test.d.ts.map +1 -0
- package/dist/test/rendering/memoization.test.d.ts +2 -0
- package/dist/test/rendering/memoization.test.d.ts.map +1 -0
- package/dist/test/split-props.test.d.ts +2 -0
- package/dist/test/split-props.test.d.ts.map +1 -0
- package/dist/test/stc.test.d.ts.map +1 -1
- package/dist/test/utils.test.d.ts.map +1 -1
- package/dist/testing/extend-expect.js +4 -4
- package/dist/testing/extend-expect.js.map +1 -1
- package/dist/testing/render.d.ts +2 -3
- package/dist/testing/render.d.ts.map +1 -1
- package/dist/testing/render.js +2 -4
- package/dist/testing/render.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -9
- package/src/binder.ts +60 -50
- package/src/code.ts +17 -12
- package/src/components/Block.tsx +44 -0
- package/src/components/Declaration.tsx +10 -4
- package/src/components/For.tsx +81 -0
- package/src/components/Indent.tsx +20 -27
- package/src/components/List.tsx +94 -0
- package/src/components/MemberDeclaration.tsx +9 -6
- package/src/components/MemberScope.tsx +4 -2
- package/src/components/Output.tsx +27 -14
- package/src/components/Scope.tsx +4 -2
- package/src/components/Show.tsx +11 -0
- package/src/components/SourceDirectory.tsx +6 -2
- package/src/components/SourceFile.tsx +13 -17
- package/src/components/StatementList.tsx +16 -0
- package/src/components/Switch.tsx +62 -0
- package/src/components/Wrap.tsx +29 -0
- package/src/components/index.tsx +8 -1
- package/src/components/stc/index.ts +18 -1
- package/src/context/index.ts +0 -1
- package/src/context/member-declaration.ts +9 -1
- package/src/context.ts +2 -3
- package/src/index.browser.ts +2 -0
- package/src/index.ts +2 -0
- package/src/jsx-runtime.ts +265 -23
- package/src/render.ts +382 -200
- package/src/stc.ts +95 -0
- package/src/tap.ts +69 -0
- package/src/utils.ts +162 -95
- package/temp/api.json +8042 -1886
- package/test/browser-build.test.ts +91 -0
- package/test/children.test.tsx +8 -10
- package/test/components/block.test.tsx +48 -0
- package/test/components/declaration.test.tsx +37 -0
- package/test/components/list.test.tsx +91 -0
- package/test/components/slot.test.tsx +31 -25
- package/test/components/source-file.test.tsx +11 -31
- package/test/components/wrap.test.tsx +42 -0
- package/test/control-flow/for.test.tsx +194 -0
- package/test/control-flow/match.test.tsx +49 -0
- package/test/control-flow/show.test.tsx +25 -0
- package/test/name-policy.test.tsx +5 -5
- package/test/reactivity/cleanup.test.tsx +91 -0
- package/test/reactivity/memo.test.tsx +17 -0
- package/test/reactivity/ref-rendering.test.tsx +3 -8
- package/test/reactivity/test.test.tsx +7 -6
- package/test/reactivity/untrack.test.ts +33 -0
- package/test/rendering/basic.test.tsx +25 -47
- package/test/rendering/code.test.tsx +3 -3
- package/test/rendering/formatting.test.tsx +487 -0
- package/test/rendering/indent.test.tsx +42 -529
- package/test/rendering/memoization.test.tsx +30 -0
- package/test/split-props.test.ts +87 -0
- package/test/stc.test.tsx +29 -8
- package/test/symbols.test.ts +132 -3
- package/test/utils.test.tsx +129 -20
- package/testing/extend-expect.ts +14 -4
- package/testing/render.ts +2 -4
- package/testing/vitest.d.ts +6 -1
- package/vitest.config.ts +1 -1
- package/dist/src/context/indent.d.ts +0 -5
- package/dist/src/context/indent.d.ts.map +0 -1
- package/dist/src/context/indent.js +0 -8
- package/dist/src/context/indent.js.map +0 -1
- package/dist/test/rendering/linebreaks.test.d.ts +0 -2
- package/dist/test/rendering/linebreaks.test.d.ts.map +0 -1
- package/src/context/indent.ts +0 -17
- package/test/rendering/linebreaks.test.tsx +0 -72
package/dist/src/render.d.ts
CHANGED
|
@@ -1,132 +1,83 @@
|
|
|
1
|
+
import { Doc } from "prettier";
|
|
1
2
|
import { Children, Context } from "./jsx-runtime.js";
|
|
2
3
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
* "\n ",
|
|
81
|
-
* createComponent(Foo, {}),
|
|
82
|
-
* "\n"
|
|
83
|
-
* ]
|
|
84
|
-
* }
|
|
85
|
-
* })
|
|
86
|
-
* ]
|
|
87
|
-
* ```
|
|
88
|
-
*
|
|
89
|
-
* ### Render tree
|
|
90
|
-
* ```
|
|
91
|
-
* [ // node for Indent
|
|
92
|
-
* [ // node for Context Provider
|
|
93
|
-
* " ", // indent from the children of Indent
|
|
94
|
-
* [ // component for Foo
|
|
95
|
-
* "Foo" // result of calling Foo
|
|
96
|
-
* ],
|
|
97
|
-
* "\n ", // indent and line break from the children of Ident
|
|
98
|
-
* [ "Foo" ] // second foo component
|
|
99
|
-
* ]
|
|
100
|
-
* ]
|
|
101
|
-
* ```
|
|
102
|
-
* ### Rendered text
|
|
103
|
-
* ```
|
|
104
|
-
* FooFoo
|
|
105
|
-
* ```
|
|
106
|
-
*
|
|
107
|
-
* ## Implicit indentation
|
|
108
|
-
*
|
|
109
|
-
* ### Input
|
|
110
|
-
* ```
|
|
111
|
-
* <>
|
|
112
|
-
* base
|
|
113
|
-
* <Foo /> <Foo />
|
|
114
|
-
* </>
|
|
115
|
-
* ```
|
|
116
|
-
*
|
|
117
|
-
* ### Render tree
|
|
118
|
-
* ```
|
|
119
|
-
* [ // node for top-level fragment
|
|
120
|
-
* "base\n ", // contents of fragment, including trailing indent
|
|
121
|
-
* [ // node for implicitly created Indent component
|
|
122
|
-
* [ // node for its context provider [ "Foo" ], // contents of Foo "\n"
|
|
123
|
-
* ]
|
|
124
|
-
* ```
|
|
125
|
-
* ## Rendered text
|
|
126
|
-
* ```
|
|
127
|
-
* base
|
|
128
|
-
* Foo Foo
|
|
129
|
-
* ```
|
|
4
|
+
* Turning components into source text involves three different trees produced
|
|
5
|
+
* sequentially:
|
|
6
|
+
*
|
|
7
|
+
* 1. Component tree, built by the nesting of components
|
|
8
|
+
* 2. Rendered text tree, produced by *rendering* the component tree
|
|
9
|
+
* 3. Document tree, produced by *printing* the rendered text tree
|
|
10
|
+
*
|
|
11
|
+
* Finally, the document tree is converted to text via `prettier`. Let's look at
|
|
12
|
+
* each of these trees and the conversions in detail.
|
|
13
|
+
*
|
|
14
|
+
* # Component tree
|
|
15
|
+
*
|
|
16
|
+
* The component tree is built by JSX or STC templates. The nodes in this tree
|
|
17
|
+
* are defined by the type `Child` and are one of the following
|
|
18
|
+
*
|
|
19
|
+
* ## Primitive values
|
|
20
|
+
*
|
|
21
|
+
* Strings in the tree are placed into the rendered text tree as-is. Numbers are
|
|
22
|
+
* converted to strings. Falsy primitive values and booleans are converted to
|
|
23
|
+
* empty strings (and may cause a line break to be ignored, see below).
|
|
24
|
+
*
|
|
25
|
+
* ## Nullary functions
|
|
26
|
+
*
|
|
27
|
+
* Nullary functions represent computed or reactive values in the component
|
|
28
|
+
* tree, such as expressions placed into a JSX template with curly brackets.
|
|
29
|
+
* Nullary functions return `Children` which are then recursively rendered.
|
|
30
|
+
* Nullary functions are invoked in an effect which will update the rendered
|
|
31
|
+
* text tree when any reactive dependencies change.
|
|
32
|
+
*
|
|
33
|
+
* ## Component creators
|
|
34
|
+
*
|
|
35
|
+
* Component creators are a special kind of nullary function which instantiate
|
|
36
|
+
* components in order to get their children which are then recursively
|
|
37
|
+
* rendered. Component creators have some special rendering behavior, such as
|
|
38
|
+
* tracking the stack of rendered components. Like other nullary functions,
|
|
39
|
+
* component creators are invoked in an effect which will update the rendered
|
|
40
|
+
* text tree when any reactive dependencies change.
|
|
41
|
+
*
|
|
42
|
+
* ## Refs
|
|
43
|
+
*
|
|
44
|
+
* Refs are wrapped in a nullary function and rendered in an effect which will
|
|
45
|
+
* update the rendered text tree when the ref's value changes. This is
|
|
46
|
+
* essentially a syntactic convenience, allowing JSX templates to contain
|
|
47
|
+
* `\{ someRef \}` instead of `\{ someRef.value \}`.
|
|
48
|
+
*
|
|
49
|
+
* ## Refkey
|
|
50
|
+
*
|
|
51
|
+
* Refkeys are replaced with a component creator for the Reference component
|
|
52
|
+
* associated with the current source file. This allows creating references by
|
|
53
|
+
* placing them directly in the component tree e.g. `{ someRefkey }`.
|
|
54
|
+
*
|
|
55
|
+
* ## CustomContext
|
|
56
|
+
*
|
|
57
|
+
* CustomContext is a special kind of component which allows rendering children
|
|
58
|
+
* within a custom reactive context. This enables components to manually manage
|
|
59
|
+
* the lifetime of their reactive contexts.
|
|
60
|
+
*
|
|
61
|
+
* ## IntrinsicElement
|
|
62
|
+
*
|
|
63
|
+
* Various intrinsic elements exist to control formatting. These elements
|
|
64
|
+
* provide Print Hooks that are called during Printing.
|
|
65
|
+
*
|
|
66
|
+
* # Rendered Text Tree
|
|
67
|
+
*
|
|
68
|
+
* This tree is a nested array structure containing the rendered output of all
|
|
69
|
+
* the components in the component tree. This structure is updated reactively
|
|
70
|
+
* when reactive dependencies change. The nodes in this tree are predominantly
|
|
71
|
+
* strings, but can also be Print Hooks.
|
|
72
|
+
*
|
|
73
|
+
* This tree is built by the `renderTree` function.
|
|
74
|
+
*
|
|
75
|
+
* # Document Tree
|
|
76
|
+
*
|
|
77
|
+
* This tree is constructed by calling `printTree` on the rendered text tree.
|
|
78
|
+
* The rendered text tree is walked and the appropriate Prettier builders are
|
|
79
|
+
* called to produce a document tree. The result is then passed to Prettier's
|
|
80
|
+
* `printDocToString` function to produce the final source text.
|
|
130
81
|
*/
|
|
131
82
|
export interface OutputDirectory {
|
|
132
83
|
kind: "directory";
|
|
@@ -139,9 +90,33 @@ export interface OutputFile {
|
|
|
139
90
|
path: string;
|
|
140
91
|
filetype: string;
|
|
141
92
|
}
|
|
142
|
-
export declare function getContextForRenderNode(node:
|
|
143
|
-
export
|
|
144
|
-
export
|
|
145
|
-
|
|
146
|
-
|
|
93
|
+
export declare function getContextForRenderNode(node: RenderedTextTree): Context | undefined;
|
|
94
|
+
export declare const printHookTag: unique symbol;
|
|
95
|
+
export interface PrintHook {
|
|
96
|
+
[printHookTag]: true;
|
|
97
|
+
transform?(tree: RenderedTextTree): RenderedTextTree;
|
|
98
|
+
print?(tree: RenderedTextTree, print: (subtree: RenderedTextTree) => Doc): Doc;
|
|
99
|
+
subtree: RenderedTextTree;
|
|
100
|
+
}
|
|
101
|
+
export declare function createRenderTreeHook(subtree: RenderedTextTree, hooks: Omit<PrintHook, typeof printHookTag | "subtree">): PrintHook;
|
|
102
|
+
export declare function isPrintHook(type: unknown): type is PrintHook;
|
|
103
|
+
export type RenderedTextTree = (string | RenderedTextTree | PrintHook)[];
|
|
104
|
+
export declare function render(children: Children, options?: PrintTreeOptions): OutputDirectory;
|
|
105
|
+
export declare function renderTree(children: Children): RenderedTextTree;
|
|
106
|
+
export interface PrintTreeOptions {
|
|
107
|
+
/**
|
|
108
|
+
* The number of characters the printer will wrap on. Defaults to 100
|
|
109
|
+
* characters.
|
|
110
|
+
*/
|
|
111
|
+
printWidth?: number;
|
|
112
|
+
/**
|
|
113
|
+
* Whether to use tabs instead of spaces for indentation. Defaults to false.
|
|
114
|
+
*/
|
|
115
|
+
useTabs?: boolean;
|
|
116
|
+
/**
|
|
117
|
+
* The number of spaces to use for indentation. Defaults to 2 spaces.
|
|
118
|
+
*/
|
|
119
|
+
tabWidth?: number;
|
|
120
|
+
}
|
|
121
|
+
export declare function printTree(tree: RenderedTextTree, options?: PrintTreeOptions): string;
|
|
147
122
|
//# sourceMappingURL=render.d.ts.map
|
package/dist/src/render.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/render.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/render.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAO,MAAM,UAAU,CAAC;AAIpC,OAAO,EAEL,QAAQ,EACR,OAAO,EAcR,MAAM,kBAAkB,CAAC;AAsB1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8EG;AAEH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,CAAC,eAAe,GAAG,UAAU,CAAC,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,gBAAgB,uBAE7D;AAED,eAAO,MAAM,YAAY,eAAW,CAAC;AAErC,MAAM,WAAW,SAAS;IACxB,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC;IACrB,SAAS,CAAC,CAAC,IAAI,EAAE,gBAAgB,GAAG,gBAAgB,CAAC;IACrD,KAAK,CAAC,CACJ,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,GAAG,GACxC,GAAG,CAAC;IACP,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,YAAY,GAAG,SAAS,CAAC,GACtD,SAAS,CAMX;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,SAAS,CAE5D;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAAC,EAAE,CAAC;AAOzE,wBAAgB,MAAM,CACpB,QAAQ,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE,gBAAgB,GACzB,eAAe,CAsFjB;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,QAAQ,oBAY5C;AA4OD,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAOD,wBAAgB,SAAS,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,gBAAgB,UAW3E"}
|