@tabnas/abnf 0.2.3 → 0.3.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/README.md +36 -2
- package/dist/compile.js +2 -2
- package/dist/compile.js.map +1 -1
- package/dist/converter.d.ts +7 -0
- package/dist/converter.js +440 -57
- package/dist/converter.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -27,6 +27,37 @@ tn.abnf(`greet = "hi" / "hello"`)
|
|
|
27
27
|
tn.parse('hi') // => ({ rule: 'greet', src: 'hi', kids: [] })
|
|
28
28
|
```
|
|
29
29
|
|
|
30
|
+
## Round-tripping
|
|
31
|
+
|
|
32
|
+
The integer-addition grammar shared with the
|
|
33
|
+
[engine README](https://github.com/tabnas/parser#readme) compiles to the
|
|
34
|
+
same grammar that README builds by hand, and renders back out unchanged:
|
|
35
|
+
|
|
36
|
+
```js
|
|
37
|
+
const { Tabnas } = require('@tabnas/parser')
|
|
38
|
+
const { abnf } = require('@tabnas/abnf')
|
|
39
|
+
const { Debug } = require('@tabnas/debug')
|
|
40
|
+
|
|
41
|
+
const GRAMMAR = `val = add
|
|
42
|
+
add = NR [ PL add ]
|
|
43
|
+
|
|
44
|
+
NR = <number>
|
|
45
|
+
PL = "+"`
|
|
46
|
+
|
|
47
|
+
const tn = new Tabnas({ plugins: [abnf] })
|
|
48
|
+
tn.abnf(GRAMMAR)
|
|
49
|
+
tn.use(Debug, { print: false })
|
|
50
|
+
|
|
51
|
+
tn.debug.model().abnf === GRAMMAR // => true
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Two rules make that work. A production whose whole body is a single
|
|
55
|
+
string literal (`PL = "+"`) is a lexical definition, so it compiles to a
|
|
56
|
+
named fixed token `#PL` rather than a rule. And RFC 5234 `prose-val`
|
|
57
|
+
(`NR = <number>`) is informational: for a built-in lexer token it
|
|
58
|
+
documents the terminal the lexer already provides and compiles to
|
|
59
|
+
nothing. See the [root README](../README.md#the-same-grammar-two-ways).
|
|
60
|
+
|
|
30
61
|
## Left recursion
|
|
31
62
|
|
|
32
63
|
Left-recursive rules are accepted directly. A left-recursion pass
|
|
@@ -45,14 +76,17 @@ tn.abnf(`
|
|
|
45
76
|
PL = "+"
|
|
46
77
|
`)
|
|
47
78
|
|
|
48
|
-
tn.parse('1+2+3').kids.map((k) => k.rule) // => ['
|
|
79
|
+
tn.parse('1+2+3').kids.map((k) => k.rule) // => ['term', 'term']
|
|
49
80
|
```
|
|
50
81
|
|
|
51
82
|
Because it is a rewrite, the tree is **flat** (no nested `expr`; the
|
|
52
83
|
leading operand folds into the rule, so associativity is applied in an
|
|
53
84
|
action, not read off the AST), and `@ref` alt actions on the rewritten
|
|
54
85
|
branches are look-up-only — attach actions to the sub-rules instead. A
|
|
55
|
-
**purely** left-recursive rule (no non-recursive branch) is an error
|
|
86
|
+
**purely** left-recursive rule (no non-recursive branch) is an error, and
|
|
87
|
+
a rewritten rule does not round-trip back to its left-recursive source.
|
|
88
|
+
(`PL = "+"` compiles to a token, not a rule, so the operators are not
|
|
89
|
+
among the children — only `term` is.)
|
|
56
90
|
See [concepts.md](doc/concepts.md) and the root
|
|
57
91
|
[README](../README.md#left-recursion) for the full details and caveats.
|
|
58
92
|
|
package/dist/compile.js
CHANGED
|
@@ -17,8 +17,8 @@ const REF_FIELDS = new Set(['a', 'bo', 'bc']);
|
|
|
17
17
|
// Tree-building `$`-builtins (emitted with `builtins: true`). Pure
|
|
18
18
|
// recognition mode drops these too; their per-alt config lives under
|
|
19
19
|
// `k.node$` / `k.capture$`.
|
|
20
|
-
const TREE_BUILTINS = new Set(['@node$', '@capture$', '@bubble$']);
|
|
21
|
-
const TREE_CONFIG_KEYS = ['node$', 'capture$'];
|
|
20
|
+
const TREE_BUILTINS = new Set(['@node$', '@capture$', '@bubble$', '@fold$']);
|
|
21
|
+
const TREE_CONFIG_KEYS = ['node$', 'capture$', 'fold$'];
|
|
22
22
|
class AbnfCompileError extends Error {
|
|
23
23
|
constructor(message, rules) {
|
|
24
24
|
super(message);
|
package/dist/compile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":";AAAA,2EAA2E;;;AAwH3E,8CAsBC;AAOD,gCAaC;AAcD,4BA4CC;AA6FD,sCA0BC;AAOD,8CAWC;AAID,kCAgBC;AAcD,kCAOC;AAxXD,2CAAuD;AAEvD,2CAAqE;AAGrE,qEAAqE;AACrE,uDAAuD;AACvD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;AAE7C,mEAAmE;AACnE,qEAAqE;AACrE,4BAA4B;AAC5B,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;AAC5E,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;AAGvD,MAAa,gBAAiB,SAAQ,KAAK;IAEzC,YAAY,OAAe,EAAE,KAAe;QAC1C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAA;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;CACF;AAPD,4CAOC;AAGD,oEAAoE;AACpE,4CAA4C;AAC5C,SAAS,SAAS,CAAC,CAAM;IACvB,IAAI,CAAC,YAAY,MAAM;QAAE,OAAO,CAAC,CAAA;IACjC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IAC7C,IAAI,CAAC,IAAI,QAAQ,KAAK,OAAO,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,GAAQ,EAAE,CAAA;QACjB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,IAAI,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;gBAAE,SAAQ;YACxC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACxB,CAAC;QACD,OAAO,CAAC,CAAA;IACV,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,yEAAyE;AACzE,wEAAwE;AACxE,sEAAsE;AACtE,qEAAqE;AACrE,SAAS,gBAAgB,CAAC,CAAM,EAAE,SAAiC;IACjE,IAAI,CAAC,YAAY,MAAM;QAAE,OAAO,CAAC,CAAA;IACjC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAA;IACzE,IAAI,CAAC,IAAI,QAAQ,KAAK,OAAO,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,GAAQ,EAAE,CAAA;QACjB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YACd,IAAI,UAAU,KAAK,OAAO,CAAC;gBAAE,SAAQ;YACrC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,QAAQ,KAAK,OAAO,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC;gBAAE,SAAQ;YACxE,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ,KAAK,OAAO,CAAC,EAAE,CAAC;gBAC5C,MAAM,EAAE,GAAG,gBAAgB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;gBACzC,KAAK,MAAM,EAAE,IAAI,gBAAgB;oBAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;gBAChD,IAAI,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM;oBAAE,SAAQ;gBAC1C,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;gBACT,SAAQ;YACV,CAAC;YACD,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;QACvC,CAAC;QACD,OAAO,CAAC,CAAA;IACV,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAGD,sEAAsE;AACtE,sEAAsE;AACtE,+DAA+D;AAC/D,uCAAuC;AACvC,SAAS,eAAe,CACtB,IAAiB,EAAE,KAA6B;IAChD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAA;IACnC,MAAM,IAAI,GAAG,CAAC,CAAM,EAAE,IAAY,EAAE,EAAE;QACpC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAAC,OAAM;QAAC,CAAC;QACjE,IAAI,CAAC,CAAC,IAAI,QAAQ,KAAK,OAAO,CAAC;YAAE,OAAM;QACvC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YACd,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,QAAQ,KAAK,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5D,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACrB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;YACf,CAAC;QACH,CAAC;IACH,CAAC,CAAA;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAA;IAC7B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,IAAI,CAAE,KAAa,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;IACvE,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,EAAE,CAAA;AAC9B,CAAC;AAGD,sEAAsE;AACtE,sEAAsE;AACtE,mEAAmE;AACnE,SAAgB,iBAAiB,CAAC,IAAiB;IACjD,MAAM,GAAG,GAA6B,IAAY,CAAC,GAAG,IAAI,EAAE,CAAA;IAC5D,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IAEzE,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAC9C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,gBAAgB,CACxB,2DAA2D;YAC3D,kEAAkE;YAClE,sDAAsD;YACtD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EACpB,SAAS,CACV,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACjE,MAAM,GAAG,GAAG,gBAAgB,CAC1B,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,CAAgB,CAAA;IACvE,uEAAuE;IACvE,wDAAwD;IACxD,GAAG,CAAC,CAAC,GAAG,+BAAsB,CAAA;IAC9B,OAAO,GAAG,CAAA;AACZ,CAAC;AAGD,uEAAuE;AACvE,oEAAoE;AACpE,uEAAuE;AACvE,+CAA+C;AAC/C,SAAgB,UAAU,CAAC,IAAiB;IAC1C,MAAM,GAAG,GAA6B,IAAY,CAAC,GAAG,IAAI,EAAE,CAAA;IAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACjC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,gBAAgB,CACxB,oEAAoE;YACpE,sCAAsC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EACxE,EAAE,CACH,CAAA;IACH,CAAC;IACD,MAAM,GAAG,GAAG,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAgB,CAAA;IAChF,GAAG,CAAC,CAAC,GAAG,+BAAsB,CAAA;IAC9B,OAAO,GAAG,CAAA;AACZ,CAAC;AAKD,MAAM,KAAK,GAAG,4BAA4B,CAAA;AAG1C,+DAA+D;AAC/D,iEAAiE;AACjE,qEAAqE;AACrE,qEAAqE;AACrE,kEAAkE;AAClE,8BAA8B;AAC9B,SAAgB,QAAQ,CAAC,KAAU,EAAE,OAAsB,EAAE;IAC3D,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;IAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAA;IAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;IACjC,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;IAE9C,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAU,EAAE,EAAE,CACtC,EAAE,GAAG,CAAC;SACH,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;SACtB,OAAO,CAAC,IAAI,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC;SACvC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,CAAA;IAE/B,MAAM,EAAE,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACvC,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACzD,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CACxB,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAExC,MAAM,GAAG,GAAG,CAAC,CAAM,EAAE,KAAa,EAAU,EAAE;QAC5C,IAAI,IAAI,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC;YAAE,OAAO,MAAM,CAAA;QAChD,IAAI,CAAC,YAAY,MAAM,EAAE,CAAC;YACxB,mEAAmE;YACnE,qCAAqC;YACrC,MAAM,QAAQ,GAAI,CAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;YACjD,OAAO,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;QACjD,CAAC;QACD,MAAM,CAAC,GAAG,OAAO,CAAC,CAAA;QAClB,IAAI,QAAQ,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAA;QACvD,IAAI,QAAQ,KAAK,CAAC;YAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAA;QACjC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAA;YAC/B,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAA;YAC9D,OAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAA;QAC1D,CAAC;QACD,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC3B,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAA;YAClC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAA;YAC/D,OAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAA;QAC1D,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IAED,OAAO,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;AACtB,CAAC;AAGD,sEAAsE;AAEtE,MAAa,eAAgB,SAAQ,KAAK;IACxC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;IAC/B,CAAC;CACF;AALD,0CAKC;AAKD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;AAEhD,qEAAqE;AACrE,uEAAuE;AACvE,SAAS,cAAc,CAAC,IAAS,EAAE,GAAe;IAChD,MAAM,MAAM,GAAoB,UAAU,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IACxE,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACrB,IAAI,MAAM;YAAE,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;QAC/B,KAAK,MAAM,EAAE,IAAI,GAAG;YAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;IACvC,CAAC,CAAA;AACH,CAAC;AAED,uEAAuE;AACvE,SAAS,UAAU,CAAC,GAAe;IACjC,OAAO,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACjD,KAAK,MAAM,EAAE,IAAI,GAAG;YAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;IACvC,CAAC,CAAA;AACH,CAAC;AAED,kEAAkE;AAClE,uEAAuE;AACvE,SAAS,YAAY,CAAC,QAAa,EAAE,KAAU;IAC7C,IAAI,IAAI,IAAI,QAAQ;QAAE,OAAO,KAAK,CAAA;IAClC,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;AAC3E,CAAC;AAED,SAAS,SAAS,CAAC,KAAU;IAC3B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;AACnE,CAAC;AAED,yEAAyE;AACzE,+DAA+D;AAC/D,SAAS,aAAa,CACpB,IAAiB,EAAE,GAAW;IAE9B,oEAAoE;IACpE,iEAAiE;IACjE,kEAAkE;IAClE,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,eAAe,CACvB,6DAA6D;YAC7D,IAAI,GAAG,uBAAuB,CAAC,CAAA;IACnC,CAAC;IACD,MAAM,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACrC,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,IAAI,eAAe,CACvB,+BAA+B,GAAG,IAAI;YACtC,0CAA0C,CAAC,CAAA;IAC/C,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACjB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAChB,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAQ,CAAA;IACtC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,eAAe,CACvB,qBAAqB,GAAG,2BAA2B,IAAI,GAAG,CAAC,CAAA;IAC/D,CAAC;IACD,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;IAE1C,MAAM,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACpC,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,eAAe,CAAC,+BAA+B,GAAG,GAAG,CAAC,CAAA;IACzE,MAAM,KAAK,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;IAC9C,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;IAClB,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAA;IAC3E,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,IAAI,eAAe,CACvB,qBAAqB,GAAG,gBAAgB,KAAK,iBAAiB;YAC9D,IAAI,IAAI,cAAc,IAAI,GAAG,CAAC,CAAA;IAClC,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;AACvB,CAAC;AAED,0DAA0D;AAC1D,qEAAqE;AACrE,wEAAwE;AACxE,uEAAuE;AACvE,qEAAqE;AACrE,wEAAwE;AACxE,8CAA8C;AAC9C,SAAgB,aAAa,CAAC,IAAiB,EAAE,OAAmB;IAClE,MAAM,GAAG,GACP,CAAE,IAAY,CAAC,GAAG,GAAI,IAAY,CAAC,GAAG,IAAI,EAAE,CAAC,CAAA;IAC/C,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,MAAM,GAAG,GAAI,EAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAQ,CAAC,CAAA;QAC1D,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAEvC,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACtB,8DAA8D;YAC9D,8DAA8D;YAC9D,gDAAgD;YAChD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAE,CAAC,CAAC,CAAC,CAAA;YACvC,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAA;YACvC,GAAG,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;YAC1C,SAAQ;QACV,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,aAAa,OAAO,EAAE,EAAE,CAAA;YACxC,GAAG,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;YAC9B,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;QACtC,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,sEAAsE;AACtE,qEAAqE;AACrE,8DAA8D;AAC9D,qEAAqE;AACrE,oEAAoE;AACpE,SAAgB,iBAAiB,CAAC,IAAiB,EAAE,QAAkB;IACrE,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACxC,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACtB,MAAM,IAAI,eAAe,CACvB,eAAe,IAAI,uCAAuC;gBAC1D,4BAA4B,CAAC,CAAA;QACjC,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI;YAAE,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAClE,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,iEAAiE;AACjE,mCAAmC;AACnC,SAAgB,WAAW,CAAC,IAAiB;IAC3C,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAA;IAC7B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAU,EAAE,CAAC;YACjE,MAAM,CAAC,GAAI,KAAa,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAA;YAClC,MAAM,IAAI,GAAU,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;YAC9D,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;oBAC5D,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;gBAC/C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAWD,sEAAsE;AACtE,mEAAmE;AACnE,0DAA0D;AAC1D,SAAgB,WAAW,CAAC,GAAW,EAAE,OAA2B,EAAE;IACpE,MAAM,IAAI,GAAG,IAAA,gBAAW,EAAC,GAAG,EAC1B,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACpE,MAAM,GAAG,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC;QACtC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;QAClB,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAC3B,OAAO,QAAQ,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;AACpE,CAAC"}
|
package/dist/converter.d.ts
CHANGED
|
@@ -10,12 +10,16 @@ type AbnfElement = {
|
|
|
10
10
|
kind: 'term';
|
|
11
11
|
literal: string;
|
|
12
12
|
caseSensitive?: boolean;
|
|
13
|
+
tokenName?: string;
|
|
13
14
|
} | {
|
|
14
15
|
kind: 'ref';
|
|
15
16
|
name: string;
|
|
16
17
|
} | {
|
|
17
18
|
kind: 'token';
|
|
18
19
|
name: string;
|
|
20
|
+
} | {
|
|
21
|
+
kind: 'prose';
|
|
22
|
+
text: string;
|
|
19
23
|
} | {
|
|
20
24
|
kind: 'regex';
|
|
21
25
|
pattern: string;
|
|
@@ -43,6 +47,9 @@ type AbnfProduction = {
|
|
|
43
47
|
name: string;
|
|
44
48
|
alts: AbnfSequence[];
|
|
45
49
|
incremental?: boolean;
|
|
50
|
+
tailRepeat?: {
|
|
51
|
+
sep: AbnfSequence;
|
|
52
|
+
};
|
|
46
53
|
probeDispatch?: ProbeDispatchSpec;
|
|
47
54
|
probeHelper?: {
|
|
48
55
|
vocabElements: AbnfElement[];
|
package/dist/converter.js
CHANGED
|
@@ -41,7 +41,8 @@ exports.eliminateLeftRecursion = eliminateLeftRecursion;
|
|
|
41
41
|
// element = repetition? atom
|
|
42
42
|
// repetition = NUM '*' NUM / NUM '*' / '*' NUM / '*' / NUM
|
|
43
43
|
// atom = IDENT | STRING | ['%s' | '%i'] STRING | NUMVAL
|
|
44
|
-
// | '(' alts ')' | '[' alts ']'
|
|
44
|
+
// | '(' alts ')' | '[' alts ']' | PROSE
|
|
45
|
+
// prose = '<' *(%x20-3D / %x3F-7E) '>'
|
|
45
46
|
// numval = '%' ('x' / 'd' / 'b') DIGITS [ '-' DIGITS | ('.' DIGITS)* ]
|
|
46
47
|
const abnfRules = {
|
|
47
48
|
// Top-level: accumulates productions into r.node.
|
|
@@ -132,6 +133,7 @@ const abnfRules = {
|
|
|
132
133
|
{ s: '#NV', b: 1, p: 'elem' },
|
|
133
134
|
{ s: '#SS', b: 1, p: 'elem' },
|
|
134
135
|
{ s: '#SI', b: 1, p: 'elem' },
|
|
136
|
+
{ s: '#PV', b: 1, p: 'elem' },
|
|
135
137
|
{ s: '#TX', b: 1, p: 'elem' },
|
|
136
138
|
{ s: '#LP', b: 1, p: 'elem' },
|
|
137
139
|
{ s: '#OB', b: 1, p: 'elem' },
|
|
@@ -150,6 +152,7 @@ const abnfRules = {
|
|
|
150
152
|
{ s: '#NV', b: 1, p: 'elem' },
|
|
151
153
|
{ s: '#SS', b: 1, p: 'elem' },
|
|
152
154
|
{ s: '#SI', b: 1, p: 'elem' },
|
|
155
|
+
{ s: '#PV', b: 1, p: 'elem' },
|
|
153
156
|
{ s: '#TX', b: 1, p: 'elem' },
|
|
154
157
|
{ s: '#LP', b: 1, p: 'elem' },
|
|
155
158
|
{ s: '#OB', b: 1, p: 'elem' },
|
|
@@ -282,6 +285,15 @@ const abnfRules = {
|
|
|
282
285
|
r.node = parseNumericValue(r.o[0].src);
|
|
283
286
|
},
|
|
284
287
|
},
|
|
288
|
+
// Prose terminal `<free text>` — carried through as-is; the
|
|
289
|
+
// `resolveProseTerminals` pass decides what it means.
|
|
290
|
+
{
|
|
291
|
+
s: '#PV',
|
|
292
|
+
a: (r) => {
|
|
293
|
+
const src = r.o[0].src;
|
|
294
|
+
r.node = { kind: 'prose', text: src.slice(1, -1) };
|
|
295
|
+
},
|
|
296
|
+
},
|
|
285
297
|
{
|
|
286
298
|
s: '#TX',
|
|
287
299
|
a: (r) => {
|
|
@@ -330,6 +342,7 @@ const abnfRules = {
|
|
|
330
342
|
{ s: '#NV', b: 1 },
|
|
331
343
|
{ s: '#SS', b: 1 },
|
|
332
344
|
{ s: '#SI', b: 1 },
|
|
345
|
+
{ s: '#PV', b: 1 },
|
|
333
346
|
{ s: '#NUM', b: 1 },
|
|
334
347
|
{ s: '#STAR', b: 1 },
|
|
335
348
|
{ s: '#LP', b: 1 },
|
|
@@ -396,6 +409,9 @@ function getAbnfParser() {
|
|
|
396
409
|
// requires `"` so they don't steal the `%` of `%xNN`.
|
|
397
410
|
'#SS': /^%[sS](?=")/,
|
|
398
411
|
'#SI': /^%[iI](?=")/,
|
|
412
|
+
// RFC 5234 prose-val: `<` free text `>`. The body is every
|
|
413
|
+
// printable char except `>` itself (%x20-3D / %x3F-7E).
|
|
414
|
+
'#PV': /^<[\x20-\x3D\x3F-\x7E]*>/,
|
|
399
415
|
},
|
|
400
416
|
},
|
|
401
417
|
tokenSet: {
|
|
@@ -404,7 +420,7 @@ function getAbnfParser() {
|
|
|
404
420
|
// — that way the tcol at the atom-starter position includes
|
|
405
421
|
// every matcher tin (notably #NV), so the lexer doesn't fall
|
|
406
422
|
// through to #TX when the actual atom is `%xNN`.
|
|
407
|
-
ATOM: ['#ST', '#NV', '#TX', '#LP', '#OB', '#SS', '#SI'],
|
|
423
|
+
ATOM: ['#ST', '#NV', '#TX', '#LP', '#OB', '#SS', '#SI', '#PV'],
|
|
408
424
|
},
|
|
409
425
|
comment: {
|
|
410
426
|
// ABNF uses `;` to start a line comment. Override tabnas's
|
|
@@ -466,25 +482,44 @@ function eliminateLeftRecursion(grammar) {
|
|
|
466
482
|
// substitution inlines A_j's alts into A_i for j < i, so putting
|
|
467
483
|
// dependencies first is what makes nullable-prefixed hidden left
|
|
468
484
|
// recursion reachable by the substitution step.
|
|
469
|
-
//
|
|
470
|
-
// Note: substitution here always runs, even for cycle-free
|
|
471
|
-
// grammars. The reason is pragmatic rather than theoretical —
|
|
472
|
-
// populating tcol from multi-token altPrefixes (needed so the
|
|
473
|
-
// lexer's regex matchers fire with the right tin in nested
|
|
474
|
-
// contexts) requires the full inlined shape. A future refactor
|
|
475
|
-
// could compute tcol from the un-substituted grammar and only
|
|
476
|
-
// apply Paull's to the cyclic SCCs, which would preserve more
|
|
477
|
-
// named-rule structure in the emitted AST.
|
|
478
485
|
let prods = topoOrderForPaull(grammar.productions.map((p) => ({
|
|
479
486
|
name: p.name,
|
|
480
487
|
alts: p.alts.map((a) => a.slice()),
|
|
481
488
|
nodeKind: p.nodeKind,
|
|
482
489
|
})));
|
|
490
|
+
// Substitution normally runs for every production, even a cycle-free
|
|
491
|
+
// one. That is pragmatic rather than theoretical: the multi-token
|
|
492
|
+
// `altPrefixes` used to populate tcol (so the lexer's regex matchers
|
|
493
|
+
// fire with the right tin in nested contexts) are read off the fully
|
|
494
|
+
// inlined shape, and a rule choosing between several alternatives
|
|
495
|
+
// needs that lookahead to dispatch. Scoping substitution to the cyclic
|
|
496
|
+
// SCCs in general therefore has to wait for tcol to be computed from
|
|
497
|
+
// the un-substituted grammar.
|
|
498
|
+
//
|
|
499
|
+
// One case is safe to exempt today, and it is the one that visibly
|
|
500
|
+
// mangles a grammar: a *pure alias*, a production whose single
|
|
501
|
+
// alternative is a single rule reference (`val = add`). Inlining it
|
|
502
|
+
// rewrites `val = add` into `val = NR [ PL add ]` — the alias name is
|
|
503
|
+
// dissolved, so the rule vanishes from the emitted AST and the grammar
|
|
504
|
+
// no longer renders back to the ABNF it was written in. Because such a
|
|
505
|
+
// production has exactly one alternative, it has nothing to dispatch
|
|
506
|
+
// between: it unconditionally pushes its target, needs no lookahead,
|
|
507
|
+
// and so cannot depend on the inlined prefixes. Aliases caught up in a
|
|
508
|
+
// leading-reference cycle are still inlined — that is where Paull's
|
|
509
|
+
// substitution is doing real work (`P = Q`, `Q = P a / b`).
|
|
510
|
+
const cyclic = findLeadingRefCycleMembers(prods);
|
|
511
|
+
const isExemptAlias = (p) => p.alts.length === 1 &&
|
|
512
|
+
p.alts[0].length === 1 &&
|
|
513
|
+
p.alts[0][0].kind === 'ref' &&
|
|
514
|
+
!cyclic.has(p.name) &&
|
|
515
|
+
!cyclic.has(p.alts[0][0].name);
|
|
483
516
|
for (let i = 0; i < prods.length; i++) {
|
|
484
517
|
// For each earlier production A_j, inline any alternative of
|
|
485
518
|
// A_i whose leading element is a reference to A_j.
|
|
486
|
-
|
|
487
|
-
|
|
519
|
+
if (!isExemptAlias(prods[i])) {
|
|
520
|
+
for (let j = 0; j < i; j++) {
|
|
521
|
+
prods[i] = substituteLeadingRef(prods[i], prods[j]);
|
|
522
|
+
}
|
|
488
523
|
}
|
|
489
524
|
prods[i] = eliminateDirectLeftRec(prods[i]);
|
|
490
525
|
}
|
|
@@ -665,6 +700,69 @@ function eliminateDirectLeftRec(prod) {
|
|
|
665
700
|
nodeKind: prod.nodeKind,
|
|
666
701
|
};
|
|
667
702
|
}
|
|
703
|
+
// Rewrite tail self-references into same-depth repeats.
|
|
704
|
+
//
|
|
705
|
+
// X = prefix [ sep X ]
|
|
706
|
+
//
|
|
707
|
+
// compiles naturally to a rule that repeats itself (`r: X`) from its
|
|
708
|
+
// close phase — the form a hand-written tabnas grammar uses — rather
|
|
709
|
+
// than to an optional-group helper chain that re-pushes X. The repeat
|
|
710
|
+
// keeps every iteration at one stack depth with the SAME parent, which
|
|
711
|
+
// is what makes `r.parent.node` usable from user actions, and flattens
|
|
712
|
+
// the tree: `1+2+3` yields sibling X kids instead of a right-nested
|
|
713
|
+
// chain.
|
|
714
|
+
//
|
|
715
|
+
// The rewrite is deliberately narrow. It applies only when:
|
|
716
|
+
// - the production has exactly one alternative;
|
|
717
|
+
// - its last element is an option wrapping `sep… X` with the
|
|
718
|
+
// self-reference LAST and at least one separator element;
|
|
719
|
+
// - every prefix and separator element is a terminal (literal,
|
|
720
|
+
// token, or regex — all resolved before this pass runs);
|
|
721
|
+
// - the production is not the start production (the `__start__`
|
|
722
|
+
// wrapper allocates no node for a fold to land in).
|
|
723
|
+
// Anything else keeps the existing compilation.
|
|
724
|
+
function rewriteTailRepeats(grammar, start) {
|
|
725
|
+
const isTerminal = (el) => el.kind === 'term' || el.kind === 'token' || el.kind === 'regex';
|
|
726
|
+
for (const prod of grammar.productions) {
|
|
727
|
+
if (prod.probeDispatch || prod.probeHelper)
|
|
728
|
+
continue;
|
|
729
|
+
if (prod.name === start)
|
|
730
|
+
continue;
|
|
731
|
+
if (prod.alts.length !== 1)
|
|
732
|
+
continue;
|
|
733
|
+
const alt = prod.alts[0];
|
|
734
|
+
if (alt.length < 2)
|
|
735
|
+
continue;
|
|
736
|
+
const last = alt[alt.length - 1];
|
|
737
|
+
if (last.kind !== 'opt')
|
|
738
|
+
continue;
|
|
739
|
+
// Normalize the option body to a sequence: `[ a b ]` parses as
|
|
740
|
+
// opt(group([[a, b]])); `[ a ]` as opt(a).
|
|
741
|
+
let seq;
|
|
742
|
+
if (last.inner.kind === 'group') {
|
|
743
|
+
if (last.inner.alts.length !== 1)
|
|
744
|
+
continue;
|
|
745
|
+
seq = last.inner.alts[0];
|
|
746
|
+
}
|
|
747
|
+
else {
|
|
748
|
+
seq = [last.inner];
|
|
749
|
+
}
|
|
750
|
+
if (seq.length < 2)
|
|
751
|
+
continue; // need at least one separator + the self-ref
|
|
752
|
+
const tail = seq[seq.length - 1];
|
|
753
|
+
if (tail.kind !== 'ref' || tail.name !== prod.name)
|
|
754
|
+
continue;
|
|
755
|
+
const sep = seq.slice(0, -1);
|
|
756
|
+
if (!sep.every(isTerminal))
|
|
757
|
+
continue;
|
|
758
|
+
const prefix = alt.slice(0, -1);
|
|
759
|
+
if (prefix.length === 0 || !prefix.every(isTerminal))
|
|
760
|
+
continue;
|
|
761
|
+
prod.alts = [prefix];
|
|
762
|
+
prod.tailRepeat = { sep };
|
|
763
|
+
}
|
|
764
|
+
return grammar;
|
|
765
|
+
}
|
|
668
766
|
function desugar(grammar) {
|
|
669
767
|
const extra = [];
|
|
670
768
|
const used = new Set(grammar.productions.map((p) => p.name));
|
|
@@ -687,6 +785,11 @@ function desugar(grammar) {
|
|
|
687
785
|
el.kind === 'token') {
|
|
688
786
|
return el;
|
|
689
787
|
}
|
|
788
|
+
if (el.kind === 'prose') {
|
|
789
|
+
// Unreachable: `resolveProseTerminals` drops every prose element
|
|
790
|
+
// (or throws) before desugaring runs.
|
|
791
|
+
throw new Error(`abnf: internal: unresolved prose terminal '<${el.text}>'`);
|
|
792
|
+
}
|
|
690
793
|
if (el.kind === 'group') {
|
|
691
794
|
// Recurse into the group's alts so nested sugar is flattened,
|
|
692
795
|
// then emit a helper production whose body is those alts.
|
|
@@ -697,8 +800,13 @@ function desugar(grammar) {
|
|
|
697
800
|
}
|
|
698
801
|
// `opt`, `star`, `plus` all wrap a single inner element.
|
|
699
802
|
const inner = desugarElement(el.inner);
|
|
803
|
+
// Name the generated helper after what it repeats. A literal lifted
|
|
804
|
+
// from a named production (`PL = "+"`) carries that name, and a
|
|
805
|
+
// built-in token carries its own, so `*PL` still yields
|
|
806
|
+
// `_genN_star_PL` rather than an anonymous `_genN_star_term`.
|
|
700
807
|
const hint = inner.kind === 'ref' ? inner.name :
|
|
701
|
-
inner.kind === 'term' ? 'term' :
|
|
808
|
+
inner.kind === 'term' ? (inner.tokenName ?? 'term') :
|
|
809
|
+
inner.kind === 'token' ? inner.name.replace(/^#/, '') : 'x';
|
|
702
810
|
if (el.kind === 'opt') {
|
|
703
811
|
// H ::= inner | (empty)
|
|
704
812
|
const name = freshName('opt_' + hint);
|
|
@@ -780,12 +888,16 @@ function desugar(grammar) {
|
|
|
780
888
|
alts: p.alts.map(desugarAlt),
|
|
781
889
|
nodeKind: p.nodeKind,
|
|
782
890
|
};
|
|
783
|
-
// Probe-dispatch flags survive desugar unchanged —
|
|
784
|
-
// routes around the standard alt-compilation path for
|
|
891
|
+
// Probe-dispatch and tail-repeat flags survive desugar unchanged —
|
|
892
|
+
// the emitter routes around the standard alt-compilation path for
|
|
893
|
+
// these. (A tail-repeat separator is all-terminal by construction,
|
|
894
|
+
// so it needs no desugaring of its own.)
|
|
785
895
|
if (p.probeDispatch)
|
|
786
896
|
out.probeDispatch = p.probeDispatch;
|
|
787
897
|
if (p.probeHelper)
|
|
788
898
|
out.probeHelper = p.probeHelper;
|
|
899
|
+
if (p.tailRepeat)
|
|
900
|
+
out.tailRepeat = p.tailRepeat;
|
|
789
901
|
return out;
|
|
790
902
|
});
|
|
791
903
|
return { productions: [...rewritten, ...extra] };
|
|
@@ -1297,6 +1409,179 @@ const BUILTIN_TOKENS = {
|
|
|
1297
1409
|
ST: '#ST', // quoted string (string matcher)
|
|
1298
1410
|
VL: '#VL', // keyword value: true / false / null (value matcher)
|
|
1299
1411
|
};
|
|
1412
|
+
// Resolve RFC 5234 `prose-val` terminals (`<free text>`).
|
|
1413
|
+
//
|
|
1414
|
+
// Prose is informational by definition — RFC 5234 §4 calls it a "last
|
|
1415
|
+
// resort" escape hatch for describing a terminal in English when no
|
|
1416
|
+
// formal notation will do. There is nothing to compile, so the converter
|
|
1417
|
+
// accepts it in exactly one position: as the *entire* body of a
|
|
1418
|
+
// production naming a built-in lexer token.
|
|
1419
|
+
//
|
|
1420
|
+
// NR = <number>
|
|
1421
|
+
//
|
|
1422
|
+
// That line documents, in the grammar text, that `NR` is the engine's
|
|
1423
|
+
// number token. The lexer already supplies it, so the production is
|
|
1424
|
+
// dropped here and every `NR` reference falls through to
|
|
1425
|
+
// `normalizeBuiltinTokens`, which binds it to `#NR`. This is what lets a
|
|
1426
|
+
// grammar state its terminals explicitly and still round-trip: the same
|
|
1427
|
+
// line is what @tabnas/debug emits when it renders a live grammar back
|
|
1428
|
+
// to ABNF.
|
|
1429
|
+
//
|
|
1430
|
+
// Prose anywhere else has no definition behind it, so it is an error
|
|
1431
|
+
// rather than a silently-ignored rule.
|
|
1432
|
+
function resolveProseTerminals(grammar) {
|
|
1433
|
+
const isProse = (el) => el.kind === 'prose';
|
|
1434
|
+
const kept = [];
|
|
1435
|
+
for (const prod of grammar.productions) {
|
|
1436
|
+
const onlyProse = prod.alts.length === 1 &&
|
|
1437
|
+
prod.alts[0].length === 1 &&
|
|
1438
|
+
isProse(prod.alts[0][0]);
|
|
1439
|
+
if (onlyProse) {
|
|
1440
|
+
if (BUILTIN_TOKENS[prod.name])
|
|
1441
|
+
continue; // informational — the lexer defines it
|
|
1442
|
+
const text = prod.alts[0][0].text;
|
|
1443
|
+
throw new Error(`abnf: rule '${prod.name}' is defined only by prose ('<${text}>'), ` +
|
|
1444
|
+
`which describes a terminal but does not define one. Prose is ` +
|
|
1445
|
+
`allowed only for built-in lexer tokens (${Object.keys(BUILTIN_TOKENS).join(', ')}).`);
|
|
1446
|
+
}
|
|
1447
|
+
// Any surviving prose is embedded in a larger expression, where it
|
|
1448
|
+
// cannot be given a meaning. Search nested groups and repetitions
|
|
1449
|
+
// too, so `x = ( <foo> / "a" )` reports the same clear error as a
|
|
1450
|
+
// top-level `x = "a" <foo>`.
|
|
1451
|
+
const findStray = (el) => {
|
|
1452
|
+
if (isProse(el))
|
|
1453
|
+
return el;
|
|
1454
|
+
if (el.kind === 'opt' || el.kind === 'star' || el.kind === 'plus' ||
|
|
1455
|
+
el.kind === 'rep') {
|
|
1456
|
+
return findStray(el.inner);
|
|
1457
|
+
}
|
|
1458
|
+
if (el.kind === 'group') {
|
|
1459
|
+
for (const alt of el.alts) {
|
|
1460
|
+
for (const inner of alt) {
|
|
1461
|
+
const hit = findStray(inner);
|
|
1462
|
+
if (hit)
|
|
1463
|
+
return hit;
|
|
1464
|
+
}
|
|
1465
|
+
}
|
|
1466
|
+
}
|
|
1467
|
+
return undefined;
|
|
1468
|
+
};
|
|
1469
|
+
for (const alt of prod.alts) {
|
|
1470
|
+
for (const el of alt) {
|
|
1471
|
+
const stray = findStray(el);
|
|
1472
|
+
if (stray) {
|
|
1473
|
+
throw new Error(`abnf: rule '${prod.name}' uses prose ('<${stray.text}>') inside an ` +
|
|
1474
|
+
`expression; prose may only stand alone as the whole definition ` +
|
|
1475
|
+
`of a built-in lexer token.`);
|
|
1476
|
+
}
|
|
1477
|
+
}
|
|
1478
|
+
}
|
|
1479
|
+
kept.push(prod);
|
|
1480
|
+
}
|
|
1481
|
+
if (kept.length === 0) {
|
|
1482
|
+
throw new Error('abnf: grammar defines no rules — only informational prose terminals.');
|
|
1483
|
+
}
|
|
1484
|
+
grammar.productions = kept;
|
|
1485
|
+
}
|
|
1486
|
+
// Token names the engine itself owns: the standard lexer tokens
|
|
1487
|
+
// (`utility.ts` registers these under `standard$`) plus the fixed tokens
|
|
1488
|
+
// the default config installs. A lifted literal must never claim one of
|
|
1489
|
+
// these — binding `#TX` to a literal would displace the lexer's text
|
|
1490
|
+
// matcher rather than add a token — so a production so named stays an
|
|
1491
|
+
// ordinary rule.
|
|
1492
|
+
const RESERVED_TOKEN_NAMES = new Set([
|
|
1493
|
+
'BD', 'ZZ', 'UK', 'AA', 'SP', 'LN', 'CM', 'NR', 'ST', 'TX', 'VL',
|
|
1494
|
+
'OB', 'CB', 'OS', 'CS', 'CL', 'CA',
|
|
1495
|
+
]);
|
|
1496
|
+
// Lift single-literal productions into *named lexer tokens*.
|
|
1497
|
+
//
|
|
1498
|
+
// A production whose whole body is one string literal is a lexical
|
|
1499
|
+
// definition, not a syntactic rule:
|
|
1500
|
+
//
|
|
1501
|
+
// PL = "+"
|
|
1502
|
+
//
|
|
1503
|
+
// Compiled as a rule it would produce a token named after the literal
|
|
1504
|
+
// text — and since `+` has no word characters to name it after, that
|
|
1505
|
+
// degrades to `#T` / `#T1` / … — plus a one-token `PL` rule wrapping it,
|
|
1506
|
+
// so a grammar rendered back to ABNF reads `PL = T` with a separate
|
|
1507
|
+
// `T = "+"`. Lifting instead binds the literal to `#PL` directly and
|
|
1508
|
+
// drops the rule, which is exactly how the same grammar is written by
|
|
1509
|
+
// hand against the engine (`fixed: { token: { '#PL': '+' } }`), and what
|
|
1510
|
+
// lets `PL = "+"` survive the round-trip through @tabnas/debug unchanged.
|
|
1511
|
+
//
|
|
1512
|
+
// The start rule is never lifted: it has to stay a rule for the grammar
|
|
1513
|
+
// to have an entry point, so `greet = "hi"` still compiles to a rule.
|
|
1514
|
+
// Multi-alternative productions (`sign = "+" / "-"`) are real choices and
|
|
1515
|
+
// are left alone, as are names the engine already owns (see
|
|
1516
|
+
// RESERVED_TOKEN_NAMES) and the RFC 5234 core rules, which callers expect
|
|
1517
|
+
// to behave as rules wherever they are referenced.
|
|
1518
|
+
function liftLiteralTokens(grammar, start) {
|
|
1519
|
+
const lifted = new Map();
|
|
1520
|
+
for (const prod of grammar.productions) {
|
|
1521
|
+
if (prod.name === start)
|
|
1522
|
+
continue;
|
|
1523
|
+
if (RESERVED_TOKEN_NAMES.has(prod.name))
|
|
1524
|
+
continue;
|
|
1525
|
+
if (prod.nodeKind === 'core')
|
|
1526
|
+
continue;
|
|
1527
|
+
if (prod.alts.length !== 1 || prod.alts[0].length !== 1)
|
|
1528
|
+
continue;
|
|
1529
|
+
const el = prod.alts[0][0];
|
|
1530
|
+
if (el.kind !== 'term')
|
|
1531
|
+
continue;
|
|
1532
|
+
// `path-empty = ""` (RFC 3986) matches the empty string — a rule that
|
|
1533
|
+
// derives epsilon, not a token the lexer could ever emit.
|
|
1534
|
+
if (el.literal === '')
|
|
1535
|
+
continue;
|
|
1536
|
+
lifted.set(prod.name, { literal: el.literal, caseSensitive: el.caseSensitive });
|
|
1537
|
+
}
|
|
1538
|
+
// The engine keys its fixed tokens by literal (`cfg.fixed.token` is
|
|
1539
|
+
// inverted to src -> tin), so one literal is one token — two names for
|
|
1540
|
+
// the same literal cannot both become tokens. When `A = "+"` and
|
|
1541
|
+
// `B = "+"` both claim `+`, lifting either would silently drop the
|
|
1542
|
+
// other, so neither is lifted and both stay ordinary rules.
|
|
1543
|
+
const byLiteral = new Map();
|
|
1544
|
+
for (const [name, lit] of lifted) {
|
|
1545
|
+
const key = termKey(lit);
|
|
1546
|
+
const names = byLiteral.get(key);
|
|
1547
|
+
if (names)
|
|
1548
|
+
names.push(name);
|
|
1549
|
+
else
|
|
1550
|
+
byLiteral.set(key, [name]);
|
|
1551
|
+
}
|
|
1552
|
+
for (const names of byLiteral.values()) {
|
|
1553
|
+
if (1 < names.length)
|
|
1554
|
+
for (const n of names)
|
|
1555
|
+
lifted.delete(n);
|
|
1556
|
+
}
|
|
1557
|
+
if (lifted.size === 0)
|
|
1558
|
+
return [];
|
|
1559
|
+
const walk = (el) => {
|
|
1560
|
+
if (el.kind === 'ref') {
|
|
1561
|
+
const lit = lifted.get(el.name);
|
|
1562
|
+
return lit
|
|
1563
|
+
? { kind: 'term', ...lit, tokenName: el.name }
|
|
1564
|
+
: el;
|
|
1565
|
+
}
|
|
1566
|
+
if (el.kind === 'opt' || el.kind === 'star' || el.kind === 'plus' ||
|
|
1567
|
+
el.kind === 'rep') {
|
|
1568
|
+
return { ...el, inner: walk(el.inner) };
|
|
1569
|
+
}
|
|
1570
|
+
if (el.kind === 'group') {
|
|
1571
|
+
return { kind: 'group', alts: el.alts.map((a) => a.map(walk)) };
|
|
1572
|
+
}
|
|
1573
|
+
return el;
|
|
1574
|
+
};
|
|
1575
|
+
grammar.productions = grammar.productions
|
|
1576
|
+
.filter((p) => !lifted.has(p.name))
|
|
1577
|
+
.map((p) => ({ ...p, alts: p.alts.map((alt) => alt.map(walk)) }));
|
|
1578
|
+
// Return every lifted definition, referenced or not. The production is
|
|
1579
|
+
// gone from the grammar, so an unreferenced one (`top = "x"` with a
|
|
1580
|
+
// spare `PL = "+"`) would otherwise leave no element behind for the
|
|
1581
|
+
// emitter to allocate a token from, and the user's declaration would
|
|
1582
|
+
// vanish silently instead of compiling to the promised named token.
|
|
1583
|
+
return [...lifted].map(([name, lit]) => ({ kind: 'term', ...lit, tokenName: name }));
|
|
1584
|
+
}
|
|
1300
1585
|
// Rewrite every bareword reference whose name is a built-in token AND is not a
|
|
1301
1586
|
// defined production into a `token` terminal element. Run before any other
|
|
1302
1587
|
// pass so the rest of the pipeline treats these as ordinary terminals.
|
|
@@ -1344,13 +1629,38 @@ function emitLiteralToken(el, name, fixedTokens, matchTokens, wordKeywords) {
|
|
|
1344
1629
|
re.eager$ = true;
|
|
1345
1630
|
matchTokens[name] = re;
|
|
1346
1631
|
}
|
|
1632
|
+
// Copy a grammar deeply enough that the emit pipeline cannot disturb the
|
|
1633
|
+
// caller's AST. The passes below replace `productions`, `alts` and the
|
|
1634
|
+
// individual sequences, but treat elements as immutable (each rewriting
|
|
1635
|
+
// walk returns fresh element objects), so sharing elements is safe.
|
|
1636
|
+
function cloneGrammar(grammar) {
|
|
1637
|
+
return {
|
|
1638
|
+
productions: grammar.productions.map((p) => ({
|
|
1639
|
+
...p,
|
|
1640
|
+
alts: p.alts.map((alt) => alt.slice()),
|
|
1641
|
+
})),
|
|
1642
|
+
};
|
|
1643
|
+
}
|
|
1347
1644
|
// Convert an ABNF grammar AST into a tabnas GrammarSpec.
|
|
1348
1645
|
function emitGrammarSpec(grammar, opts) {
|
|
1646
|
+
// Work on a copy: `resolveProseTerminals`, `liftLiteralTokens` and
|
|
1647
|
+
// `normalizeBuiltinTokens` all rewrite the grammar in place, so emitting
|
|
1648
|
+
// twice from one `parseAbnf` result would otherwise give two different
|
|
1649
|
+
// specs — the second missing every lifted production, since the first
|
|
1650
|
+
// pass had already removed them.
|
|
1651
|
+
grammar = cloneGrammar(grammar);
|
|
1652
|
+
// Drop informational prose definitions (`NR = <number>`) first, so the
|
|
1653
|
+
// names they document fall through to the built-in tokens — and so a
|
|
1654
|
+
// leading prose line is never mistaken for the start rule.
|
|
1655
|
+
resolveProseTerminals(grammar);
|
|
1349
1656
|
const start = opts?.start ?? grammar.productions[0].name;
|
|
1350
1657
|
const tag = opts?.tag ?? 'abnf';
|
|
1351
1658
|
const wordKeywords = !!opts?.wordKeywords;
|
|
1352
|
-
//
|
|
1353
|
-
//
|
|
1659
|
+
// Turn single-literal productions (`PL = "+"`) into named lexer
|
|
1660
|
+
// tokens, then resolve bare built-in token names (`TX`/`NR`/`ST`/`VL`)
|
|
1661
|
+
// to token terminals — both before any structural pass sees them as
|
|
1662
|
+
// rule references.
|
|
1663
|
+
const liftedLiterals = liftLiteralTokens(grammar, start);
|
|
1354
1664
|
normalizeBuiltinTokens(grammar);
|
|
1355
1665
|
// Eliminate direct left recursion (P → P α | β) by rewriting to
|
|
1356
1666
|
// the equivalent right-recursive form P → β (α)*, then detect
|
|
@@ -1359,6 +1669,7 @@ function emitGrammarSpec(grammar, opts) {
|
|
|
1359
1669
|
// (`?`, `*`, `+`, grouping) into plain ABNF.
|
|
1360
1670
|
grammar = eliminateLeftRecursion(grammar);
|
|
1361
1671
|
grammar = rewriteProbeDispatches(grammar);
|
|
1672
|
+
grammar = rewriteTailRepeats(grammar, start);
|
|
1362
1673
|
grammar = desugar(grammar);
|
|
1363
1674
|
// Allocate a fixed token for each unique literal, and a match
|
|
1364
1675
|
// token for each unique regex terminal. Literals are keyed by
|
|
@@ -1369,47 +1680,37 @@ function emitGrammarSpec(grammar, opts) {
|
|
|
1369
1680
|
const usedNames = new Set();
|
|
1370
1681
|
const fixedTokens = {};
|
|
1371
1682
|
const matchTokens = {};
|
|
1683
|
+
// Gather every terminal first. Probe-helper productions store their
|
|
1684
|
+
// vocab as AbnfElements rather than in `alts`, so walk those too. The
|
|
1685
|
+
// lifted literals are seeded up front: their productions no longer
|
|
1686
|
+
// exist, so an unreferenced one has no element anywhere in `alts`.
|
|
1687
|
+
const terminals = [...liftedLiterals];
|
|
1372
1688
|
for (const prod of grammar.productions) {
|
|
1373
|
-
for (const alt of prod.alts)
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
}
|
|
1689
|
+
for (const alt of prod.alts)
|
|
1690
|
+
terminals.push(...alt);
|
|
1691
|
+
if (prod.probeHelper)
|
|
1692
|
+
terminals.push(...prod.probeHelper.vocabElements);
|
|
1693
|
+
}
|
|
1694
|
+
// Terminals carrying a lifted production name are allocated first, so
|
|
1695
|
+
// the name wins even when the same literal also appears inline in an
|
|
1696
|
+
// earlier rule (`PL = "+"` must yield `#PL`, not `#T`, regardless of
|
|
1697
|
+
// where the bare `"+"` shows up).
|
|
1698
|
+
const named = terminals.filter((el) => el.kind === 'term' && el.tokenName);
|
|
1699
|
+
for (const el of [...named, ...terminals]) {
|
|
1700
|
+
if (el.kind === 'term') {
|
|
1701
|
+
const key = termKey(el);
|
|
1702
|
+
if (!literals.has(key)) {
|
|
1703
|
+
const name = allocTokenName(el.literal, usedNames, el.tokenName);
|
|
1704
|
+
literals.set(key, name);
|
|
1705
|
+
emitLiteralToken(el, name, fixedTokens, matchTokens, wordKeywords);
|
|
1391
1706
|
}
|
|
1392
1707
|
}
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
if (!literals.has(key)) {
|
|
1400
|
-
const name = allocTokenName(el.literal, usedNames);
|
|
1401
|
-
literals.set(key, name);
|
|
1402
|
-
emitLiteralToken(el, name, fixedTokens, matchTokens, wordKeywords);
|
|
1403
|
-
}
|
|
1404
|
-
}
|
|
1405
|
-
else if (el.kind === 'regex') {
|
|
1406
|
-
const key = regexKey(el);
|
|
1407
|
-
if (!regexTokens.has(key)) {
|
|
1408
|
-
const name = allocTokenName('rx_' + el.pattern, usedNames);
|
|
1409
|
-
regexTokens.set(key, name);
|
|
1410
|
-
matchTokens[name] = new RegExp('^' + el.pattern, el.flags);
|
|
1411
|
-
}
|
|
1412
|
-
}
|
|
1708
|
+
else if (el.kind === 'regex') {
|
|
1709
|
+
const key = regexKey(el);
|
|
1710
|
+
if (!regexTokens.has(key)) {
|
|
1711
|
+
const name = allocTokenName('rx_' + el.pattern, usedNames);
|
|
1712
|
+
regexTokens.set(key, name);
|
|
1713
|
+
matchTokens[name] = new RegExp('^' + el.pattern, el.flags);
|
|
1413
1714
|
}
|
|
1414
1715
|
}
|
|
1415
1716
|
}
|
|
@@ -1574,6 +1875,36 @@ class RefRegistry {
|
|
|
1574
1875
|
bubble(closure) {
|
|
1575
1876
|
return this.useBuiltins ? { a: '@bubble$' } : { a: this.register(closure) };
|
|
1576
1877
|
}
|
|
1878
|
+
fold(cfg, closure) {
|
|
1879
|
+
return this.useBuiltins
|
|
1880
|
+
? { a: '@fold$', k: { fold$: cfg } }
|
|
1881
|
+
: { a: this.register(closure) };
|
|
1882
|
+
}
|
|
1883
|
+
}
|
|
1884
|
+
// Closure-mode twin of the engine's `@fold$` builtin (see
|
|
1885
|
+
// `@tabnas/parser` builtins.ts — the two MUST stay behaviourally
|
|
1886
|
+
// identical; the fixture suite pins this). Folds a tail-repeat
|
|
1887
|
+
// iteration's node into its parent as a sibling kid, appends `cN`
|
|
1888
|
+
// close-phase (separator) tokens' src to the parent, and clears the
|
|
1889
|
+
// own node so the parent's capture no-ops on its stale first-iteration
|
|
1890
|
+
// child pointer.
|
|
1891
|
+
function mkFoldClosure(cN) {
|
|
1892
|
+
return (r) => {
|
|
1893
|
+
const p = r.parent && r.parent.node;
|
|
1894
|
+
if (null == p || 'object' !== typeof p || !('src' in p))
|
|
1895
|
+
return;
|
|
1896
|
+
const own = r.node;
|
|
1897
|
+
if (null != own && 'object' === typeof own && 'src' in own && own !== p) {
|
|
1898
|
+
p.src += own.src;
|
|
1899
|
+
if (own.rule)
|
|
1900
|
+
p.kids.push(own);
|
|
1901
|
+
else if (Array.isArray(own.kids))
|
|
1902
|
+
p.kids.push(...own.kids);
|
|
1903
|
+
}
|
|
1904
|
+
for (let i = 0; i < cN; i++)
|
|
1905
|
+
p.src += r.c[i].src;
|
|
1906
|
+
r.node = undefined;
|
|
1907
|
+
};
|
|
1577
1908
|
}
|
|
1578
1909
|
function mkAstNode(ruleName, nodeKind) {
|
|
1579
1910
|
return nodeKind === 'user'
|
|
@@ -1665,10 +1996,53 @@ function captureChildFields(refs, ruleName, nodeKind) {
|
|
|
1665
1996
|
n.kids.push(...c.kids);
|
|
1666
1997
|
});
|
|
1667
1998
|
}
|
|
1999
|
+
// Emit a production marked by `rewriteTailRepeats`:
|
|
2000
|
+
//
|
|
2001
|
+
// open: [ { s: prefix, node$ init } ]
|
|
2002
|
+
// close: [ { s: sep, r: SELF, fold$ cN } , { fold$ } ]
|
|
2003
|
+
//
|
|
2004
|
+
// The same shape a hand-written tabnas grammar uses for `X = a [ b X ]`.
|
|
2005
|
+
// Every iteration folds itself into the parent (see mkFoldClosure /
|
|
2006
|
+
// `@fold$`); marks land on the close alts too, so `@X:c:<sep>` and
|
|
2007
|
+
// `@X:c:_` user actions can attach.
|
|
2008
|
+
function emitTailRepeat(prod, literals, regexTokens, tag, ruleSpec, refs) {
|
|
2009
|
+
const prodKind = prod.nodeKind ?? 'user';
|
|
2010
|
+
const prefixAlt = prod.alts[0];
|
|
2011
|
+
const sep = prod.tailRepeat.sep;
|
|
2012
|
+
// All-terminal sequences (guaranteed by the rewrite's guards), so
|
|
2013
|
+
// each segmentizes to exactly one ref-free segment.
|
|
2014
|
+
const prefixSeg = segmentize(prefixAlt, literals, regexTokens)[0];
|
|
2015
|
+
const sepSeg = segmentize(sep, literals, regexTokens)[0];
|
|
2016
|
+
const marks = (prodKind === 'user' && refs.emitMarks)
|
|
2017
|
+
? assignMarks([prefixAlt, sep], literals, regexTokens)
|
|
2018
|
+
: null;
|
|
2019
|
+
const open = segmentToAlt(prefixSeg, tag, refs, true, prod.name, prodKind);
|
|
2020
|
+
if (marks)
|
|
2021
|
+
open.m = marks.get(prefixAlt);
|
|
2022
|
+
const repeat = {
|
|
2023
|
+
s: sepSeg.terms.join(' '),
|
|
2024
|
+
r: prod.name,
|
|
2025
|
+
...refs.fold({ cN: sepSeg.terms.length }, mkFoldClosure(sepSeg.terms.length)),
|
|
2026
|
+
g: tag,
|
|
2027
|
+
};
|
|
2028
|
+
if (marks)
|
|
2029
|
+
repeat.m = marks.get(sep);
|
|
2030
|
+
const end = {
|
|
2031
|
+
...refs.fold({}, mkFoldClosure(0)),
|
|
2032
|
+
g: tag,
|
|
2033
|
+
};
|
|
2034
|
+
if (marks)
|
|
2035
|
+
end.m = '_';
|
|
2036
|
+
ruleSpec[prod.name] = { open: [open], close: [repeat, end] };
|
|
2037
|
+
}
|
|
1668
2038
|
function emitProduction(prod, grammar, literals, regexTokens, knownRules, tag, ruleSpec, firstSets, nullable, refs) {
|
|
1669
2039
|
for (const alt of prod.alts) {
|
|
1670
2040
|
validateRefs(alt, knownRules, prod.name);
|
|
1671
2041
|
}
|
|
2042
|
+
if (prod.tailRepeat) {
|
|
2043
|
+
emitTailRepeat(prod, literals, regexTokens, tag, ruleSpec, refs);
|
|
2044
|
+
return;
|
|
2045
|
+
}
|
|
1672
2046
|
const allSimple = prod.alts.every(isSingleSegment);
|
|
1673
2047
|
if (allSimple) {
|
|
1674
2048
|
// Every alternative collapses to one tabnas alt — emit them
|
|
@@ -2153,7 +2527,16 @@ function parseNumericValue(src) {
|
|
|
2153
2527
|
const chars = parts.map((n) => String.fromCharCode(parseInt(n, radix)));
|
|
2154
2528
|
return { kind: 'term', literal: chars.join('') };
|
|
2155
2529
|
}
|
|
2156
|
-
function allocTokenName(literal, used) {
|
|
2530
|
+
function allocTokenName(literal, used, preferred) {
|
|
2531
|
+
// A literal lifted from a named production (`PL = "+"`) keeps that
|
|
2532
|
+
// name, so the emitted grammar reads `PL` rather than `T`.
|
|
2533
|
+
if (preferred) {
|
|
2534
|
+
const want = '#' + preferred;
|
|
2535
|
+
if (!used.has(want)) {
|
|
2536
|
+
used.add(want);
|
|
2537
|
+
return want;
|
|
2538
|
+
}
|
|
2539
|
+
}
|
|
2157
2540
|
const base = literal
|
|
2158
2541
|
.replace(/[^A-Za-z0-9]/g, '_')
|
|
2159
2542
|
.toUpperCase()
|
package/dist/converter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":";AAAA,2EAA2E;;;AAuhFzE,oBAAI;AACJ,8BAAS;AACT,0CAAe;AACf,wDAAsB;AAr4ExB,kEAAkE;AAClE,uEAAuE;AACvE,sDAAsD;AACtD,EAAE;AACF,+DAA+D;AAC/D,iEAAiE;AACjE,kEAAkE;AAClE,iEAAiE;AACjE,8BAA8B;AAC9B,EAAE;AACF,oBAAoB;AACpB,2CAA2C;AAC3C,oDAAoD;AACpD,8BAA8B;AAC9B,uCAAuC;AACvC,8DAA8D;AAC9D,gEAAgE;AAChE,+CAA+C;AAC/C,mEAAmE;AACnE,eAAe;AACf,eAAe;AACf,qCAAqC;AACrC,sCAAsC;AACtC,uDAAuD;AACvD,+DAA+D;AAC/D,yBAAyB;AACzB,EAAE;AACF,WAAW;AACX,8BAA8B;AAC9B,yCAAyC;AACzC,gCAAgC;AAChC,0BAA0B;AAC1B,kCAAkC;AAClC,6DAA6D;AAC7D,gEAAgE;AAChE,6CAA6C;AAC7C,6EAA6E;AAC7E,MAAM,SAAS,GAQX;IACF,kDAAkD;IAClD,IAAI,EAAE;QACJ,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,EAAE,CAAA,CAAC,CAAC;QAC1B,IAAI,EAAE;YACJ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE;YACxB,EAAE,CAAC,EAAE,MAAM,EAAE;SACd;QACD,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;KACtB;IAED,kEAAkE;IAClE,+DAA+D;IAC/D,4DAA4D;IAC5D,iEAAiE;IACjE,kCAAkC;IAClC,IAAI,EAAE;QACJ,IAAI,EAAE;YACJ,uCAAuC;YACvC;gBACE,CAAC,EAAE,UAAU;gBACb,CAAC,EAAE,CAAC,CAAO,EAAE,EAAE;oBACb,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;oBACrB,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,KAAK,CAAA;gBACzB,CAAC;gBACD,CAAC,EAAE,MAAM;aACV;YACD,2CAA2C;YAC3C;gBACE,CAAC,EAAE,WAAW;gBACd,CAAC,EAAE,CAAC,CAAO,EAAE,EAAE;oBACb,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;oBACrB,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAA;gBACxB,CAAC;gBACD,CAAC,EAAE,MAAM;aACV;SACF;QACD,KAAK,EAAE;YACL,6DAA6D;YAC7D,6DAA6D;YAC7D,QAAQ;YACR,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE;YAClC,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE;YACnC,EAAE,CAAC,EAAE,CAAC,EAAE;SACT;QACD,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;YACR,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC1C,MAAM,IAAI,GAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;gBACxD,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW;oBAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;gBAC5C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACnB,CAAC;QACH,CAAC;KACF;IAED,yDAAyD;IACzD,+DAA+D;IAC/D,2BAA2B;IAC3B,IAAI,EAAE;QACJ,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,EAAE,CAAA,CAAC,CAAC;QAC1B,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QACpB,KAAK,EAAE;YACL,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE;YACvB,EAAE,CAAC,EAAE,CAAC,EAAE;SACT;QACD,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;YACR,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC1C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC3B,CAAC;QACH,CAAC;KACF;IAED,iEAAiE;IACjE,+DAA+D;IAC/D,iEAAiE;IACjE,0DAA0D;IAC1D,yCAAyC;IACzC,GAAG,EAAE;QACH,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,EAAE,CAAA,CAAC,CAAC;QAC1B,IAAI,EAAE;YACJ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE;YACjC,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE;YAClC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE;YAC7B,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE;YAC5B,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE;YAC5B,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE;YAC5B,0DAA0D;YAC1D,sDAAsD;YACtD,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE;YAC7B,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE;YAC7B,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE;YAC7B,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE;YAC7B,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE;YAC7B,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE;YAC7B,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE;YAC7B,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE;YAC/B,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE;YAC9B,EAAE,CAAC,EAAE,MAAM,EAAE;SACd;QACD,KAAK,EAAE;YACL,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE;YACjC,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE;YAClC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE;YAC7B,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE;YAC5B,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE;YAC5B,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE;YAC5B,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE;YAC7B,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE;YAC7B,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE;YAC7B,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE;YAC7B,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE;YAC7B,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE;YAC7B,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE;YAC7B,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE;YAC/B,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE;YAC9B,EAAE,CAAC,EAAE,CAAC,EAAE;SACT;KACF;IAED,gEAAgE;IAChE,iEAAiE;IACjE,kEAAkE;IAClE,mEAAmE;IACnE,oEAAoE;IACpE,IAAI,EAAE;QACJ,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA,CAAC,CAAC;QACvC,IAAI,EAAE;YACJ,yDAAyD;YACzD,6DAA6D;YAC7D,yDAAyD;YACzD;gBACE,CAAC,EAAE,uBAAuB;gBAC1B,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC,CAAO,EAAE,EAAE;oBACb,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;oBAClC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;gBACpC,CAAC;gBACD,CAAC,EAAE,MAAM;aACV;YACD,yDAAyD;YACzD;gBACE,CAAC,EAAE,kBAAkB;gBACrB,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC,CAAO,EAAE,EAAE;oBACb,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;oBAClC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAA;gBACpB,CAAC;gBACD,CAAC,EAAE,MAAM;aACV;YACD,oCAAoC;YACpC;gBACE,CAAC,EAAE,kBAAkB;gBACrB,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC,CAAO,EAAE,EAAE;oBACb,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;oBACX,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;gBACpC,CAAC;gBACD,CAAC,EAAE,MAAM;aACV;YACD,sBAAsB;YACtB;gBACE,CAAC,EAAE,aAAa;gBAChB,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC,CAAO,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAA,CAAC,CAAC;gBACnD,CAAC,EAAE,MAAM;aACV;YACD,gCAAgC;YAChC;gBACE,CAAC,EAAE,YAAY;gBACf,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC,CAAO,EAAE,EAAE;oBACb,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;oBAClC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;oBACX,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;gBACb,CAAC;gBACD,CAAC,EAAE,MAAM;aACV;YACD,kDAAkD;YAClD,EAAE,CAAC,EAAE,MAAM,EAAE;SACd;QACD,KAAK,EAAE,CAAC;gBACN,6DAA6D;gBAC7D,wCAAwC;gBACxC,CAAC,EAAE,CAAC,CAAO,EAAE,EAAE;oBACb,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;oBACzB,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;oBACxB,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;wBAC3B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBACnB,CAAC;yBAAM,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;wBACzC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;oBAC5C,CAAC;yBAAM,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;wBACzC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;oBAC5C,CAAC;yBAAM,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;wBAClC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;oBAC3C,CAAC;yBAAM,CAAC;wBACN,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;oBACrD,CAAC;gBACH,CAAC;aACF,CAAC;KACH;IAED,0DAA0D;IAC1D,kEAAkE;IAClE,8DAA8D;IAC9D,0CAA0C;IAC1C,IAAI,EAAE;QACJ,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,SAAS,CAAA,CAAC,CAAC;QACjC,IAAI,EAAE;YACJ,mCAAmC;YACnC;gBACE,CAAC,EAAE,SAAS;gBACZ,CAAC,EAAE,CAAC,CAAO,EAAE,EAAE;oBACb,CAAC,CAAC,IAAI,GAAG;wBACP,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;wBACnB,aAAa,EAAE,IAAI;qBACpB,CAAA;gBACH,CAAC;aACF;YACD,8DAA8D;YAC9D,2BAA2B;YAC3B;gBACE,CAAC,EAAE,SAAS;gBACZ,CAAC,EAAE,CAAC,CAAO,EAAE,EAAE;oBACb,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;gBAChD,CAAC;aACF;YACD,0DAA0D;YAC1D;gBACE,CAAC,EAAE,KAAK;gBACR,CAAC,EAAE,CAAC,CAAO,EAAE,EAAE;oBACb,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;gBAChD,CAAC;aACF;YACD;gBACE,CAAC,EAAE,KAAK;gBACR,CAAC,EAAE,CAAC,CAAO,EAAE,EAAE;oBACb,CAAC,CAAC,IAAI,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAa,CAAC,CAAA;gBAClD,CAAC;aACF;YACD;gBACE,CAAC,EAAE,KAAK;gBACR,CAAC,EAAE,CAAC,CAAO,EAAE,EAAE;oBACb,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;gBAC5C,CAAC;aACF;YACD;gBACE,CAAC,EAAE,KAAK;gBACR,CAAC,EAAE,CAAC,CAAO,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,OAAO,CAAA,CAAC,CAAC;gBAC3C,CAAC,EAAE,MAAM;aACV;YACD;gBACE,CAAC,EAAE,KAAK;gBACR,CAAC,EAAE,CAAC,CAAO,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,KAAK,CAAA,CAAC,CAAC;gBACzC,CAAC,EAAE,MAAM;aACV;SACF;QACD,KAAK,EAAE;YACL;gBACE,CAAC,EAAE,KAAK;gBACR,CAAC,EAAE,CAAC,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO;gBACzC,CAAC,EAAE,CAAC,CAAO,EAAE,EAAE;oBACb,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;gBAChD,CAAC;aACF;YACD;gBACE,CAAC,EAAE,KAAK;gBACR,CAAC,EAAE,CAAC,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK;gBACvC,CAAC,EAAE,CAAC,CAAO,EAAE,EAAE;oBACb,CAAC,CAAC,IAAI,GAAG;wBACP,IAAI,EAAE,KAAK;wBACX,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE;qBAC7C,CAAA;gBACH,CAAC;aACF;YACD,0DAA0D;YAC1D,yDAAyD;YACzD,2DAA2D;YAC3D,2DAA2D;YAC3D,yDAAyD;YACzD,sDAAsD;YACtD,0DAA0D;YAC1D,gCAAgC;YAChC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE;YAClB,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE;YAClB,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE;YAClB,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE;YAClB,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE;YAClB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE;YACnB,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE;YACpB,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE;YAClB,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE;YAClB,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE;YAClB,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE;YAClB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE;YACnB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE;YACnB,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE;YAClB,EAAE,CAAC,EAAE,CAAC,EAAE;SACT;KACF;CACF,CAAA;AA8iEC,8BAAS;AA3iEX,iEAAiE;AACjE,qEAAqE;AACrE,IAAI,WAAW,GAA+C,IAAI,CAAA;AAElE,SAAS,aAAa;IACpB,IAAI,WAAW;QAAE,OAAO,WAAW,CAAA;IAEnC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAE5C,kEAAkE;IAClE,iEAAiE;IACjE,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC;QACnB,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;QACvB,KAAK,EAAE;YACL,KAAK,EAAE;gBACL,2DAA2D;gBAC3D,sDAAsD;gBACtD,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,IAAI;gBACX,uDAAuD;gBACvD,qCAAqC;gBACrC,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,GAAG;gBACX,0DAA0D;gBAC1D,yDAAyD;gBACzD,kBAAkB;gBAClB,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,GAAG;gBACZ,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,GAAG;aACX;SACF;QACD,KAAK,EAAE;YACL,KAAK,EAAE;gBACL,4CAA4C;gBAC5C,MAAM,EAAE,SAAS;gBACjB,+BAA+B;gBAC/B,sCAAsC;gBACtC,0CAA0C;gBAC1C,yCAAyC;gBACzC,0BAA0B;gBAC1B,wDAAwD;gBACxD,yDAAyD;gBACzD,yDAAyD;gBACzD,eAAe;gBACf,KAAK,EAAE,6CAA6C;gBACpD,yDAAyD;gBACzD,sDAAsD;gBACtD,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE,aAAa;aACrB;SACF;QACD,QAAQ,EAAE;YACR,4DAA4D;YAC5D,+DAA+D;YAC/D,4DAA4D;YAC5D,6DAA6D;YAC7D,iDAAiD;YACjD,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;SACxD;QACD,OAAO,EAAE;YACP,2DAA2D;YAC3D,6DAA6D;YAC7D,2DAA2D;YAC3D,iCAAiC;YACjC,GAAG,EAAE;gBACH,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE;gBAC3D,KAAK,EAAE,IAAW;gBAClB,KAAK,EAAE,IAAW;aACnB;SACF;KACF,CAAC,CAAA;IAEF,kEAAkE;IAClE,mCAAmC;IACnC,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IACzB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACpB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;QAC5B,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAO,EAAE,EAAE;YACvB,IAAI,IAAI,CAAC,EAAE;gBAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAC3B,IAAI,IAAI,CAAC,EAAE;gBAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAC3B,IAAI,IAAI,CAAC,IAAI;gBAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACjC,IAAI,IAAI,CAAC,KAAK;gBAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAqB,CAAA;IAC/D,OAAO,WAAW,CAAA;AACpB,CAAC;AAGD,iEAAiE;AACjE,sEAAsE;AACtE,sEAAsE;AACtE,+BAA+B;AAC/B,gEAAgE;AAChE,8CAA8C;AAC9C,EAAE;AACF,sEAAsE;AACtE,mEAAmE;AACnE,qEAAqE;AACrE,qBAAqB;AACrB,yCAAyC;AACzC,oEAAoE;AACpE,+BAA+B;AAC/B,EAAE;AACF,oEAAoE;AACpE,iEAAiE;AACjE,+DAA+D;AAC/D,cAAc;AACd,SAAS,sBAAsB,CAAC,OAAoB;IAClD,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAE5D,mEAAmE;IACnE,8DAA8D;IAC9D,iEAAiE;IACjE,iEAAiE;IACjE,gDAAgD;IAChD,EAAE;IACF,2DAA2D;IAC3D,8DAA8D;IAC9D,8DAA8D;IAC9D,2DAA2D;IAC3D,+DAA+D;IAC/D,8DAA8D;IAC9D,8DAA8D;IAC9D,2CAA2C;IAC3C,IAAI,KAAK,GAAG,iBAAiB,CAC3B,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9B,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAClC,QAAQ,EAAE,CAAC,CAAC,QAAQ;KACrB,CAAC,CAAC,CACJ,CAAA;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,6DAA6D;QAC7D,mDAAmD;QACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,KAAK,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACrD,CAAC;QACD,KAAK,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7C,CAAC;IAED,+DAA+D;IAC/D,yDAAyD;IACzD,gDAAgD;IAChD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACrD,MAAM,OAAO,GAAqB,EAAE,CAAA;IACpC,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC1B,IAAI,CAAC,EAAE,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAAC,CAAC;IACjD,CAAC;IACD,iEAAiE;IACjE,uDAAuD;IACvD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAEhD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAA;AACjC,CAAC;AAGD,8DAA8D;AAC9D,oEAAoE;AACpE,qEAAqE;AACrE,wCAAwC;AACxC,SAAS,0BAA0B,CAAC,KAAuB;IACzD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACrD,MAAM,WAAW,GAAG,CAAC,CAAiB,EAAY,EAAE;QAClD,MAAM,GAAG,GAAa,EAAE,CAAA;QACxB,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACzB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAQ;YAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;YACpB,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC1E,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC,CAAA;IAED,0BAA0B;IAC1B,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;IACjC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;IACzC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC1C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAA;IAEhC,SAAS,aAAa,CAAC,IAAY;QACjC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QACxB,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QACzB,KAAK,EAAE,CAAA;QACP,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAEjB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC7B,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBACzB,aAAa,CAAC,MAAM,CAAC,CAAA;oBACrB,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,CAAC,CAAA;gBAC1E,CAAC;qBAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC/B,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,CAAC,CAAA;gBACzE,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,yDAAyD;YACzD,kDAAkD;YAClD,MAAM,GAAG,GAAa,EAAE,CAAA;YACxB,IAAI,CAAS,CAAA;YACb,GAAG,CAAC;gBACF,CAAC,GAAG,KAAK,CAAC,GAAG,EAAY,CAAA;gBACzB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;gBACjB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACb,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAC;YACpB,MAAM,OAAO,GACX,GAAG,CAAC,MAAM,GAAG,CAAC;gBACd,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACzE,IAAI,OAAO;gBAAE,KAAK,MAAM,CAAC,IAAI,GAAG;oBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACjD,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACjD,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAGD,iEAAiE;AACjE,iEAAiE;AACjE,gEAAgE;AAChE,mEAAmE;AACnE,SAAS,iBAAiB,CAAC,KAAuB;IAChD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACrD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA,CAAC,kCAAkC;IAC3E,MAAM,KAAK,GAAqB,EAAE,CAAA;IAElC,SAAS,KAAK,CAAC,IAAY;QACzB,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC/B,IAAI,CAAC,KAAK,CAAC;YAAE,OAAM,CAAC,sCAAsC;QAC1D,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QACnB,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC1B,IAAI,CAAC,EAAE,CAAC;YACN,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBACzB,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;gBACpB,CAAC;YACH,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;YACnB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACf,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QACrB,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACpC,OAAO,KAAK,CAAA;AACd,CAAC;AAGD,8DAA8D;AAC9D,kEAAkE;AAClE,gEAAgE;AAChE,SAAS,oBAAoB,CAC3B,MAAsB,EACtB,MAAsB;IAEtB,MAAM,OAAO,GAAmB,EAAE,CAAA;IAClC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,IACE,GAAG,CAAC,MAAM,GAAG,CAAC;YACd,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK;YACrB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,EAC3B,CAAC;YACD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACzB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBACjC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;YACpC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAA;AACxE,CAAC;AAGD,6DAA6D;AAC7D,8DAA8D;AAC9D,yDAAyD;AACzD,SAAS,sBAAsB,CAAC,IAAoB;IAClD,MAAM,SAAS,GAAmB,EAAE,CAAA;IACpC,MAAM,KAAK,GAAmB,EAAE,CAAA;IAChC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IACE,GAAG,CAAC,MAAM,GAAG,CAAC;YACd,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK;YACrB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EACzB,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9B,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACjB,CAAC;IACH,CAAC;IAED,8DAA8D;IAC9D,gEAAgE;IAChE,gEAAgE;IAChE,4DAA4D;IAC5D,WAAW;IACX,MAAM,mBAAmB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACjE,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,+DAA+D;QAC/D,kBAAkB;QAClB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAA;IAClE,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,eAAe,IAAI,CAAC,IAAI,6BAA6B;YACrD,yCAAyC,CAAC,CAAA;IAC9C,CAAC;IAED,MAAM,WAAW,GACf,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC;QACzC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;IAEpC,MAAM,SAAS,GACb,mBAAmB,CAAC,MAAM,KAAK,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC;QACrE,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAA;IAElD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACzD,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAA;AACH,CAAC;AAGD,SAAS,OAAO,CAAC,OAAoB;IACnC,MAAM,KAAK,GAAqB,EAAE,CAAA;IAClC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAE5D,SAAS,SAAS,CAAC,IAAY;QAC7B,mDAAmD;QACnD,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;QACpB,IAAI,IAAY,CAAA;QAChB,GAAG,CAAC;YACF,CAAC,EAAE,CAAA;YACH,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,CAAA;QAC3B,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAC;QACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACd,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS,UAAU,CAAC,GAAiB;QACnC,OAAO,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;IAChC,CAAC;IAED,SAAS,cAAc,CAAC,EAAe;QACrC,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO;YAC9D,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACxB,OAAO,EAAE,CAAA;QACX,CAAC;QAED,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACxB,8DAA8D;YAC9D,0DAA0D;YAC1D,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;YACnD,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;YAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAA;YACzD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;QAC9B,CAAC;QAED,yDAAyD;QACzD,MAAM,KAAK,GAAG,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;QACtC,MAAM,IAAI,GACR,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAA;QAExC,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACtB,wBAAwB;YACxB,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;YACrC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAA;YAC7D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;QAC9B,CAAC;QAED,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACvB,wBAAwB;YACxB,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;YACtC,MAAM,OAAO,GAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;YAClD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAA;YACtE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;QAC9B,CAAC;QAED,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACvB,uDAAuD;YACvD,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;YAC1C,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;YAC1C,MAAM,OAAO,GAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;YAC5D,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;gBAC5B,QAAQ,EAAE,QAAQ;aACnB,CAAC,CAAA;YACF,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACxB,QAAQ,EAAE,QAAQ;aACnB,CAAC,CAAA;YACF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;QACxC,CAAC;QAED,8DAA8D;QAC9D,4DAA4D;QAC5D,8CAA8C;QAC9C,4DAA4D;QAC5D,oEAAoE;QACpE,+DAA+D;QAC/D,+DAA+D;QAC/D,0DAA0D;QAC1D,gCAAgC;QAChC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;QACvB,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;QACxC,MAAM,MAAM,GAAiB,EAAE,CAAA;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAEhD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,iCAAiC;YACjC,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;YAC9C,MAAM,WAAW,GAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,CAAA;YACpE,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC;gBAChC,QAAQ,EAAE,QAAQ;aACnB,CAAC,CAAA;YACF,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC1B,CAAC;aAAM,CAAC;YACN,+CAA+C;YAC/C,IAAI,MAAM,GAAiB,EAAE,CAAA;YAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnC,8DAA8D;gBAC9D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxB,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;gBACvE,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,CAAC;4BACR,IAAI,EAAE,KAAK;4BACX,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE;yBACrD,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAA;QACxB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC7E,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;IACvC,CAAC;IAED,MAAM,SAAS,GAAqB,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAChE,MAAM,GAAG,GAAmB;YAC1B,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;YAC5B,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACrB,CAAA;QACD,+DAA+D;QAC/D,6DAA6D;QAC7D,IAAI,CAAC,CAAC,aAAa;YAAE,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAA;QACxD,IAAI,CAAC,CAAC,WAAW;YAAE,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAA;QAClD,OAAO,GAAG,CAAA;IACZ,CAAC,CAAC,CAAA;IAEF,OAAO,EAAE,WAAW,EAAE,CAAC,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC,EAAE,CAAA;AAClD,CAAC;AAGD,sEAAsE;AACtE,qEAAqE;AACrE,gEAAgE;AAChE,MAAM,cAAe,SAAQ,KAAK;IAIhC,YAAY,OAAe,EAAE,QAA6C,EAAE,KAAe;QACzF,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAA;QAC5B,IAAI,CAAC,IAAI,GAAG,QAAQ,EAAE,IAAI,CAAA;QAC1B,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,MAAM,CAAA;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;CACF;AA2jDC,wCAAc;AAxjDhB,oEAAoE;AACpE,SAAS,SAAS,CAAC,GAAW;IAC5B,MAAM,MAAM,GAAG,aAAa,EAAE,CAAA;IAC9B,IAAI,WAA6B,CAAA;IACjC,IAAI,CAAC;QACH,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;IACjC,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,kEAAkE;QAClE,sDAAsD;QACtD,MAAM,IAAI,GAAG,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,CAAA;QACpC,MAAM,MAAM,GAAG,CAAC,EAAE,YAAY,IAAI,CAAC,EAAE,GAAG,CAAA;QACxC,MAAM,GAAG,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC;YAC1C,CAAC,CAAC,YAAY,IAAI,YAAY,MAAM,EAAE;YACtC,CAAC,CAAC,EAAE,CAAA;QACN,MAAM,GAAG,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACrE,MAAM,IAAI,cAAc,CACtB,oBAAoB,GAAG,KAAK,GAAG,EAAE,EACjC,EAAE,IAAI,EAAE,MAAM,EAAE,EAChB,CAAC,CACF,CAAA;IACH,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,cAAc,CAAC,4BAA4B,CAAC,CAAA;IACxD,CAAC;IACD,MAAM,MAAM,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAA;IAC7C,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,CAAA;AAC/C,CAAC;AAGD,+DAA+D;AAC/D,6DAA6D;AAC7D,+BAA+B;AAC/B,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;CAgBvB,CAAA;AAED,IAAI,UAAU,GAAuC,IAAI,CAAA;AAEzD,SAAS,YAAY;IACnB,IAAI,UAAU;QAAE,OAAO,UAAU,CAAA;IACjC,MAAM,MAAM,GAAG,aAAa,EAAE,CAAA;IAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,eAAe,CAAqB,CAAA;IACvD,0DAA0D;IAC1D,iEAAiE;IACjE,6BAA6B;IAC7B,KAAK,MAAM,CAAC,IAAI,GAAG;QAAE,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAA;IACxC,UAAU,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACjD,OAAO,UAAU,CAAA;AACnB,CAAC;AAGD,SAAS,MAAM,CAAC,GAAiB,EAAE,GAAgB;IACjD,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK;YAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;aAClC,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM;YACvC,EAAE,CAAC,IAAI,KAAK,MAAM,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACjD,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAA;QACzB,CAAC;aAAM,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC/B,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI;gBAAE,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;AACH,CAAC;AAGD,iEAAiE;AACjE,+DAA+D;AAC/D,iEAAiE;AACjE,sDAAsD;AACtD,SAAS,aAAa,CAAC,IAAsB;IAC3C,MAAM,IAAI,GAAG,YAAY,EAAE,CAAA;IAC3B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAChD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAA;IAEhC,MAAM,IAAI,GAAG,CAAC,KAAuB,EAAE,EAAE;QACvC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI;gBAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC,CAAA;IAED,IAAI,CAAC,IAAI,CAAC,CAAA;IACV,MAAM,GAAG,GAAqB,EAAE,CAAA;IAChC,qDAAqD;IACrD,IAAI,KAAK,GAAG,IAAI,CAAA;IAChB,OAAO,KAAK,EAAE,CAAC;QACb,KAAK,GAAG,KAAK,CAAA;QACb,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YAChC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAQ;YAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAQ;YAC/B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACjB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACd,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;YACZ,KAAK,GAAG,IAAI,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC,CAAA;AAC1B,CAAC;AAGD,kEAAkE;AAClE,iEAAiE;AACjE,oEAAoE;AACpE,gDAAgD;AAChD,SAAS,iBAAiB,CAAC,KAAuB;IAChD,MAAM,GAAG,GAAqB,EAAE,CAAA;IAChC,MAAM,MAAM,GAAG,IAAI,GAAG,EAA0B,CAAA;IAChD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAClB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,cAAc,CACtB,UAAU,CAAC,CAAC,IAAI,0BAA0B,CAAC,CAAC,IAAI,iBAAiB,CAClE,CAAA;YACH,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAA;YACzB,SAAQ;QACV,CAAC;QACD,6DAA6D;QAC7D,iCAAiC;QACjC,MAAM,KAAK,GAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QAC5D,IAAI,CAAC,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAA;QAC3C,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACf,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAC3B,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAGD,sEAAsE;AACtE,EAAE;AACF,gEAAgE;AAChE,8DAA8D;AAC9D,EAAE;AACF,mDAAmD;AACnD,iEAAiE;AACjE,oDAAoD;AACpD,2DAA2D;AAC3D,EAAE;AACF,+DAA+D;AAC/D,8DAA8D;AAC9D,gEAAgE;AAChE,kCAAkC;AAClC,EAAE;AACF,kEAAkE;AAClE,iEAAiE;AACjE,oEAAoE;AACpE,8CAA8C;AAC9C,EAAE;AACF,oEAAoE;AACpE,mEAAmE;AACnE,2CAA2C;AAC3C,8CAA8C;AAC9C,wDAAwD;AACxD,oDAAoD;AACpD,6DAA6D;AAC7D,mEAAmE;AACnE,uDAAuD;AACvD,EAAE;AACF,mEAAmE;AACnE,qEAAqE;AACrE,uCAAuC;AAGvC,kEAAkE;AAClE,mDAAmD;AACnD,SAAS,cAAc,CAAC,EAAe;IAIrC,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK;QAAE,OAAO,IAAI,CAAA;IAClC,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAA;IACtB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,IAAI,CAAA;IACvC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACxC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACzB,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAChC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;QACxE,OAAO,IAAI,CAAA;IACb,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAA;AACxD,CAAC;AAGD,qEAAqE;AACrE,qEAAqE;AACrE,oEAAoE;AACpE,mCAAmC;AACnC,SAAS,4BAA4B,CACnC,EAAe,EACf,OAAoB,EACpB,GAA6B,EAC7B,OAAoB;IAEpB,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,CAAA;QACrB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAC/B,OAAM;IACR,CAAC;IACD,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;QACtB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAC/B,OAAM;IACR,CAAC;IACD,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QAC3C,OAAM;IACR,CAAC;IACD,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACtB,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;YAAE,OAAM;QAChC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;QACpB,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI;YAAE,OAAM;QACjB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI;YACzB,KAAK,MAAM,GAAG,IAAI,GAAG;gBACnB,4BAA4B,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;QAC5D,OAAM;IACR,CAAC;IACD,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM;QAC7D,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACtB,4BAA4B,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;QAC7D,OAAM;IACR,CAAC;IACD,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACxB,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,IAAI;YACvB,KAAK,MAAM,GAAG,IAAI,GAAG;gBACnB,4BAA4B,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;QAC5D,OAAM;IACR,CAAC;AACH,CAAC;AAGD,SAAS,uBAAuB,CAC9B,GAAiB,EACjB,OAAoB;IAEpB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAuB,CAAA;IAC1C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;IACjC,KAAK,MAAM,EAAE,IAAI,GAAG;QAClB,4BAA4B,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;IACzD,OAAO,GAAG,CAAA;AACZ,CAAC;AAGD,SAAS,WAAW,CAAO,CAAY,EAAE,CAAY;IACnD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;QAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAA;IACnD,OAAO,KAAK,CAAA;AACd,CAAC;AAGD,oEAAoE;AACpE,qEAAqE;AACrE,qEAAqE;AACrE,4DAA4D;AAC5D,kEAAkE;AAClE,6CAA6C;AAC7C,SAAS,sBAAsB,CAAC,OAAoB;IAClD,MAAM,OAAO,GAAsB,OAAO,CAAC,WAAW,IAAI,EAAE,CAAA;IAC5D,MAAM,KAAK,GAAqB,EAAE,CAAA;IAClC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAS,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAEpE,SAAS,SAAS,CAAC,IAAY;QAC7B,IAAI,IAAI,GAAG,IAAI,CAAA;QACf,IAAI,CAAC,GAAG,CAAC,CAAA;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;YAAC,CAAC,EAAE,CAAA;QAAC,CAAC;QAC/C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACd,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,SAAS,GAAqB,EAAE,CAAA;IAEtC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACvC,IAAI,OAAO,GAAmB,EAAE,CAAA;QAChC,IAAI,OAAO,GAAG,KAAK,CAAA;QACnB,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;YACzD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC7B,IAAI,SAAS,GAAiB,EAAE,CAAA;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;gBACjB,MAAM,IAAI,GAAG,cAAc,CAAC,EAAE,CAAC,CAAA;gBAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;oBAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAAC,SAAQ;gBAAC,CAAC;gBAC3C,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;gBAC7B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACtB,6DAA6D;oBAC7D,0DAA0D;oBAC1D,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAAC,SAAQ;gBAC9B,CAAC;gBACD,MAAM,MAAM,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;gBAC1D,MAAM,MAAM,GAAG,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;gBACrD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;oBACjC,8DAA8D;oBAC9D,2DAA2D;oBAC3D,6BAA6B;oBAC7B,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAAC,SAAQ;gBAC9B,CAAC;gBAED,2DAA2D;gBAC3D,+DAA+D;gBAC/D,4CAA4C;gBAC5C,MAAM,KAAK,GAAG,IAAI,GAAG,CAAsB,CAAC,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAA;gBAClE,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAA;gBAC5B,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;oBACzC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAClC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;4BAC7B,CAAC,CAAC,IAAI,CAAA;gBACR,IAAI,IAAI;oBAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBAE5B,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAA;gBACrD,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,YAAY,QAAQ,CAAC,CAAA;gBACpD,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,YAAY,OAAO,CAAC,CAAA;gBAClD,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,YAAY,KAAK,CAAC,CAAA;gBAE9C,+BAA+B;gBAC/B,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,EAAE;oBACR,WAAW,EAAE,EAAE,aAAa,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;oBACnD,QAAQ,EAAE,QAAQ;iBACnB,CAAC,CAAA;gBACF,+DAA+D;gBAC/D,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,CAAC;oBACnD,QAAQ,EAAE,QAAQ;iBACnB,CAAC,CAAA;gBACF,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,CAAC,IAAI,CAAC;oBACZ,QAAQ,EAAE,QAAQ;iBACnB,CAAC,CAAA;gBACF,4DAA4D;gBAC5D,wDAAwD;gBACxD,2DAA2D;gBAC3D,iDAAiD;gBACjD,uDAAuD;gBACvD,+BAA+B;gBAC/B,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE;wBACJ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;wBACjC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;qBAChC;oBACD,aAAa,EAAE;wBACb,SAAS,EAAE,SAAS;wBACpB,aAAa,EAAE,IAAI,CAAC,aAAa;wBACjC,UAAU,EAAE,QAAQ;wBACpB,QAAQ,EAAE,MAAM;qBACjB;oBACD,QAAQ,EAAE,QAAQ;iBACnB,CAAC,CAAA;gBAEF,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;oBAClC,MAAM,EAAE,6CAA6C;oBACrD,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAA;gBAEF,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAA;gBACnD,gEAAgE;gBAChE,wDAAwD;gBACxD,CAAC,GAAG,GAAG,CAAC,MAAM,CAAA;gBACd,OAAO,GAAG,IAAI,CAAA;YAChB,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACzB,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACtB,CAAC;IACH,CAAC;IAED,OAAO;QACL,WAAW,EAAE,CAAC,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;QACrC,WAAW,EAAE,OAAO;KACrB,CAAA;AACH,CAAC;AAGD,uEAAuE;AACvE,mEAAmE;AACnE,uEAAuE;AACvE,8DAA8D;AAC9D,sDAAsD;AACtD,SAAS,eAAe,CACtB,IAAoB,EACpB,GAAW,EACX,QAA0C,EAC1C,QAA6B,EAC7B,WAAgC;IAEhC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAY,CAAC,aAAa,CAAA;IAC7C,MAAM,KAAK,GAAU,EAAE,CAAA;IACvB,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,KAAK,MAAM;YAC5B,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC3B,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACrD,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI;oBAC/B,CAAC,CAAC,SAAS,CAAA;QACb,IAAI,GAAG;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IACvD,CAAC;IACD,kEAAkE;IAClE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IACtB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;AACvC,CAAC;AAGD,kEAAkE;AAClE,iEAAiE;AACjE,sBAAsB;AACtB,SAAS,iBAAiB,CACxB,IAAoB,EACpB,GAAW,EACX,QAA0C,EAC1C,IAAiB,EACjB,QAA6B,EAC7B,WAAgC,EAChC,WAAoB;IAEpB,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,GACtD,IAAI,CAAC,aAAc,CAAA;IACrB,MAAM,kBAAkB,GACtB,aAAa,CAAC,IAAI,KAAK,MAAM;QAC3B,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACtC,CAAC,CAAC,aAAa,CAAC,IAAI,KAAK,OAAO;YAC9B,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC1C,CAAC,CAAC,aAAa,CAAC,IAAI,KAAK,OAAO;gBAC9B,CAAC,CAAC,aAAa,CAAC,IAAI;gBACpB,CAAC,CAAC,SAAS,CAAA;IACnB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,8BAA8B,IAAI,CAAC,IAAI,qBAAqB;YAC5D,uBAAuB,aAAa,CAAC,IAAI,GAAG,CAAC,CAAA;IACjD,CAAC;IAED,oEAAoE;IACpE,gEAAgE;IAChE,gCAAgC;IAChC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAO,EAAE,EAAE;QAC3C,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;IAClE,CAAC,CAAC,CAAA;IAEF,IAAI,WAAW,EAAE,CAAC;QAChB,kEAAkE;QAClE,mDAAmD;QACnD,uCAAuC;QACvC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YACpB,IAAI,EAAE;gBACJ,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,SAAS;oBAClD,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,CAAC,EAAE,GAAG,EAAS;gBAClD,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,EAAS;gBACpD,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAS;aACnD;YACD,KAAK,EAAE;gBACL,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAS;gBACvE,EAAE,GAAG,YAAY,EAAE,CAAC,EAAE,GAAG,EAAE;aAC5B;SACF,CAAA;QACD,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAO,EAAE,GAAQ,EAAE,EAAE;QACnD,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAA;QAChB,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;IAC1B,CAAC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAO,EAAE,GAAQ,EAAE,EAAE;QACjD,kEAAkE;QAClE,wDAAwD;QACxD,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACrB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QACvB,MAAM,OAAO,GAAG,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,CAAA;QACxD,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAChC,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QACpB,IAAI,EAAE;YACJ,wCAAwC;YACxC;gBACE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC5C,CAAC,EAAE,QAAQ;gBACX,CAAC,EAAE,SAAS;gBACZ,CAAC,EAAE,GAAG;aACP;YACD,qDAAqD;YACrD;gBACE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC;gBACjD,CAAC,EAAE,UAAU;gBACb,CAAC,EAAE,GAAG;aACP;YACD,2DAA2D;YAC3D;gBACE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC;gBACjD,CAAC,EAAE,QAAQ;gBACX,CAAC,EAAE,GAAG;aACP;SACF;QACD,KAAK,EAAE;YACL,iEAAiE;YACjE;gBACE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC;gBACjD,CAAC,EAAE,MAAM;gBACT,CAAC,EAAE,IAAI,CAAC,IAAI;gBACZ,CAAC,EAAE,GAAG;aACP;YACD,yDAAyD;YACzD,EAAE,GAAG,YAAY,EAAE,CAAC,EAAE,GAAG,EAAE;SAC5B;KACF,CAAA;AACH,CAAC;AAGD,yEAAyE;AACzE,6EAA6E;AAC7E,6EAA6E;AAC7E,wEAAwE;AACxE,0EAA0E;AAC1E,2CAA2C;AAC3C,MAAM,cAAc,GAA2B;IAC7C,EAAE,EAAE,KAAK,EAAG,uCAAuC;IACnD,EAAE,EAAE,KAAK,EAAG,0BAA0B;IACtC,EAAE,EAAE,KAAK,EAAG,iCAAiC;IAC7C,EAAE,EAAE,KAAK,EAAG,qDAAqD;CAClE,CAAA;AAGD,+EAA+E;AAC/E,2EAA2E;AAC3E,uEAAuE;AACvE,SAAS,sBAAsB,CAAC,OAAoB;IAClD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAC/D,MAAM,IAAI,GAAG,CAAC,EAAe,EAAe,EAAE;QAC5C,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;YACnC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;gBAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;YACrE,OAAO,EAAE,CAAA;QACX,CAAC;QACD,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM;YAC7D,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACtB,OAAO,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAA;QACzC,CAAC;QACD,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACxB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAA;QACjE,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC,CAAA;IACD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;IACnD,CAAC;AACH,CAAC;AAGD,4DAA4D;AAC5D,0EAA0E;AAC1E,wEAAwE;AACxE,oEAAoE;AACpE,2EAA2E;AAC3E,sDAAsD;AACtD,SAAS,gBAAgB,CACvB,EAAgD,EAChD,IAAY,EACZ,WAAmC,EACnC,WAAmC,EACnC,YAAqB;IAErB,MAAM,QAAQ,GACZ,YAAY,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;QAC9C,CAAC,CAAC,kBAAkB;QACpB,CAAC,CAAC,EAAE,CAAA;IACR,IAAI,0BAA0B,CAAC,EAAE,CAAC,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;QACtD,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAA;QAC9B,OAAM;IACR,CAAC;IACD,mEAAmE;IACnE,oEAAoE;IACpE,0DAA0D;IAC1D,MAAM,KAAK,GAAG,0BAA0B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;IACvD,MAAM,EAAE,GAAG,IAAI,MAAM,CACnB,GAAG,GAAG,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,QAAQ,EACzC,KAAK,CAC2B,CAAA;IAClC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAA;IAChB,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;AACxB,CAAC;AAGD,yDAAyD;AACzD,SAAS,eAAe,CACtB,OAAoB,EACpB,IAAyB;IAEzB,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACxD,MAAM,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,MAAM,CAAA;IAC/B,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,EAAE,YAAY,CAAA;IAEzC,mEAAmE;IACnE,qEAAqE;IACrE,sBAAsB,CAAC,OAAO,CAAC,CAAA;IAE/B,gEAAgE;IAChE,8DAA8D;IAC9D,gEAAgE;IAChE,8DAA8D;IAC9D,6CAA6C;IAC7C,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAA;IACzC,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAA;IACzC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAE1B,8DAA8D;IAC9D,8DAA8D;IAC9D,mEAAmE;IACnE,4DAA4D;IAC5D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAA,CAAQ,4BAA4B;IAC9E,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAA,CAAK,0BAA0B;IAC5E,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAA;IACnC,MAAM,WAAW,GAA2B,EAAE,CAAA;IAC9C,MAAM,WAAW,GAA2B,EAAE,CAAA;IAC9C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACvC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;gBACrB,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACvB,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,CAAA;oBACvB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;wBACvB,MAAM,IAAI,GAAG,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;wBAClD,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;wBACvB,gBAAgB,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,CAAC,CAAA;oBACpE,CAAC;gBACH,CAAC;qBAAM,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC/B,MAAM,GAAG,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;oBACxB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC1B,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,GAAG,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;wBAC1D,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;wBAC1B,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,CAAA;oBAC5D,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,+DAA+D;QAC/D,uDAAuD;QACvD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;gBAChD,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACvB,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,CAAA;oBACvB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;wBACvB,MAAM,IAAI,GAAG,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;wBAClD,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;wBACvB,gBAAgB,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,CAAC,CAAA;oBACpE,CAAC;gBACH,CAAC;qBAAM,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC/B,MAAM,GAAG,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;oBACxB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC1B,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,GAAG,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;wBAC1D,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;wBAC1B,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,CAAA;oBAC5D,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAClE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAC9C,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;IACjC,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAA;IAC9B,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAA;IACnC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,CAAA;IAE9B,MAAM,QAAQ,GAAqC,EAAE,CAAA;IACrD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;YAC3D,SAAQ;QACV,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,iBAAiB,CACf,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;YACrE,SAAQ;QACV,CAAC;QACD,iEAAiE;QACjE,iEAAiE;QACjE,0DAA0D;QAC1D,cAAc,CACZ,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAC/D,SAAS,EAAE,QAAQ,EAAE,IAAI,CAC1B,CAAA;IACH,CAAC;IAED,4DAA4D;IAC5D,+DAA+D;IAC/D,iEAAiE;IACjE,kEAAkE;IAClE,4BAA4B;IAC5B,MAAM,YAAY,GAAG,WAAW,CAAA;IAChC,QAAQ,CAAC,YAAY,CAAC,GAAG;QACvB,IAAI,EAAE,CAAC;gBACL,CAAC,EAAE,KAAK;gBACR,CAAC,EAAE,GAAG;aACP,CAAC;QACF,KAAK,EAAE,CAAC;gBACN,CAAC,EAAE,KAAK;gBACR,8DAA8D;gBAC9D,6DAA6D;gBAC7D,4DAA4D;gBAC5D,2DAA2D;gBAC3D,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAO,EAAE,EAAE;oBACzB,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBAC1C,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;oBACvB,CAAC;gBACH,CAAC,CAAC;gBACF,CAAC,EAAE,GAAG;aACP,CAAC;KACH,CAAA;IAED,MAAM,OAAO,GAAQ;QACnB,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE;QAC7B,IAAI,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE;KAC9B,CAAA;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAA;IACxC,CAAC;IAED,MAAM,IAAI,GAAgB;QACxB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,OAAO;QACP,IAAI,EAAE,QAAQ;KACf,CAAA;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AASD,kEAAkE;AAClE,6DAA6D;AAC7D,sEAAsE;AACtE,sDAAsD;AACtD,SAAS,UAAU,CACjB,GAAiB,EACjB,QAA6B,EAC7B,WAAgC;IAEhC,MAAM,IAAI,GAAc,EAAE,CAAA;IAC1B,IAAI,OAAO,GAAY,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAA;IAC/C,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAW,CAAC,CAAA;QACzD,CAAC;aAAM,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;YACxB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAW,CAAC,CAAA;QACpD,CAAC;aAAM,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC/B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;QAC7B,CAAC;aAAM,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAA;YACrB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAClB,OAAO,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAA;QACpC,CAAC;aAAM,CAAC;YACN,0DAA0D;YAC1D,+BAA+B;YAC/B,MAAM,IAAI,KAAK,CACb,6CAA6C,EAAE,CAAC,IAAI,cAAc,CAAC,CAAA;QACvE,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACpB,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAGD,SAAS,QAAQ,CAAC,EAAsC;IACtD,OAAO,IAAI,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,KAAK,EAAE,CAAA;AACrC,CAAC;AAGD,SAAS,eAAe,CAAC,GAAiB;IACxC,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACtB,IAAI,MAAM;gBAAE,OAAO,KAAK,CAAA;YACxB,MAAM,GAAG,IAAI,CAAA;QACf,CAAC;aAAM,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO;YACzC,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC/B,IAAI,MAAM;gBAAE,OAAO,KAAK,CAAA,CAAC,uCAAuC;QAClE,CAAC;aAAM,CAAC;YACN,8CAA8C;YAC9C,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAGD,SAAS,YAAY,CACnB,GAAiB,EACjB,UAAuB,EACvB,QAAgB;IAEhB,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CACb,eAAe,QAAQ,8BAA8B,EAAE,CAAC,IAAI,GAAG,CAAC,CAAA;QACpE,CAAC;IACH,CAAC;AACH,CAAC;AAGD,+DAA+D;AAC/D,mEAAmE;AACnE,iEAAiE;AACjE,8BAA8B;AAC9B,MAAM,WAAW;IAAjB;QACU,SAAI,GAA6B,EAAE,CAAA;QACnC,YAAO,GAAG,CAAC,CAAA;QACnB,oEAAoE;QACpE,oEAAoE;QACpE,mEAAmE;QACnE,gBAAW,GAAG,KAAK,CAAA;QACnB,+DAA+D;QAC/D,cAAS,GAAG,KAAK,CAAA;IAyBnB,CAAC;IAxBC,QAAQ,CAAC,EAAY;QACnB,MAAM,IAAI,GAAG,UAAU,IAAI,CAAC,OAAO,EAAE,EAAkB,CAAA;QACvD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;QACpB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,kEAAkE;IAClE,sDAAsD;IACtD,IAAI,CAAC,GAAwB,EAAE,OAAiB;QAC9C,OAAO,IAAI,CAAC,WAAW;YACrB,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACpC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAA;IACnC,CAAC;IACD,OAAO,CAAC,GAAwB,EAAE,OAAiB;QACjD,OAAO,IAAI,CAAC,WAAW;YACrB,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;YAC1C,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAA;IACnC,CAAC;IACD,MAAM,CAAC,OAAiB;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAA;IAC7E,CAAC;CACF;AAeD,SAAS,SAAS,CAAC,QAAgB,EAAE,QAAoC;IACvE,OAAO,QAAQ,KAAK,MAAM;QACxB,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACvC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;AAC3B,CAAC;AAGD,sEAAsE;AACtE,qEAAqE;AACrE,qEAAqE;AACrE,iEAAiE;AACjE,SAAS,gBAAgB,CACvB,GAAiB,EACjB,QAA6B,EAC7B,WAAgC;IAEhC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAA;IAChC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;IACjB,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACvB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAA;IACnE,CAAC;IACD,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAA;IACvE,CAAC;IACD,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAA;IAChE,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK;QAAE,OAAO,EAAE,CAAC,IAAI,CAAA;IACrC,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,sEAAsE;AACtE,mEAAmE;AACnE,SAAS,WAAW,CAClB,IAAoB,EACpB,QAA6B,EAC7B,WAAgC;IAEhC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAA;IAC7C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAA;IACtC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;QACzD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QACnC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QACjB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,CAAA;IACjD,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAGD,SAAS,YAAY,CACnB,GAAY,EACZ,GAAW,EACX,IAAiB,EACjB,QAAiB,EACjB,QAAgB,EAChB,QAAoC;IAEpC,MAAM,IAAI,GAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,CAAA;IAC5B,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACtD,IAAI,GAAG,CAAC,GAAG;QAAE,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAA;IAE7B,mEAAmE;IACnE,mEAAmE;IACnE,+DAA+D;IAC/D,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAA;IAC/B,IAAI,MAAM,GAAG,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAC3B,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAC1D,CAAC,CAAO,EAAE,EAAE;YACV,IAAI,QAAQ;gBAAE,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;YACpD,MAAM,CAAC,GAAG,CAAC,CAAC,IAAe,CAAA;YAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE;gBAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;QACtD,CAAC,CAAC,CAAC,CAAA;IACP,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAGD,oEAAoE;AACpE,mEAAmE;AACnE,iEAAiE;AACjE,0DAA0D;AAC1D,iEAAiE;AACjE,WAAW;AACX,SAAS,kBAAkB,CACzB,IAAiB,EACjB,QAAgB,EAChB,QAAoC;IAEpC,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAO,EAAE,EAAE;QAClE,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI;YAAE,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAC1D,MAAM,CAAC,GAAG,CAAC,CAAC,IAAe,CAAA;QAC3B,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,IAA2B,CAAA;QACxD,IAAI,CAAC,IAAI,IAAI;YAAE,OAAM;QACrB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC;YAC3C,qCAAqC;YACrC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAQ,CAAC,CAAA;YACrB,OAAM;QACR,CAAC;QACD,0DAA0D;QAC1D,+DAA+D;QAC/D,gEAAgE;QAChE,IAAI,CAAC,KAAK,CAAC;YAAE,OAAM;QACnB,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAA;QACd,IAAI,CAAC,CAAC,IAAI;YAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;aACrB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAA;IACxD,CAAC,CAAC,CAAA;AACJ,CAAC;AAGD,SAAS,cAAc,CACrB,IAAoB,EACpB,OAAoB,EACpB,QAA6B,EAC7B,WAAgC,EAChC,UAAuB,EACvB,GAAW,EACX,QAA0C,EAC1C,SAAmC,EACnC,QAAqB,EACrB,IAAiB;IAEjB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IAElD,IAAI,SAAS,EAAE,CAAC;QACd,4DAA4D;QAC5D,4DAA4D;QAC5D,+DAA+D;QAC/D,iEAAiE;QACjE,6CAA6C;QAC7C,MAAM,OAAO,GAAG;YACd,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;YAC5C,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC;SAC/C,CAAA;QAED,gEAAgE;QAChE,+DAA+D;QAC/D,8DAA8D;QAC9D,oCAAoC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAA;QACxC,MAAM,KAAK,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC;YACnD,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAA;QACR,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA;QACpC,MAAM,KAAK,GAAU,EAAE,CAAA;QACvB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;YACnD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YACnB,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC;gBAC/B,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC;gBACpC,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;gBACtB,GAAG,CAAC,GAAG,IAAI,IAAI,CAAA;YAEjB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YAC/C,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;gBAC3B,MAAM,WAAW,GAAG,UAAU,CAC5B,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;gBAClD,IAAI,WAAW,EAAE,CAAC;oBAChB,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;wBAC9B,MAAM,CAAC,GAAQ;4BACb,CAAC,EAAE,GAAG;4BACN,CAAC,EAAE,CAAC;4BACJ,CAAC,EAAE,GAAG,CAAC,GAAG;4BACV,GAAG,IAAI,CAAC,IAAI,CACV,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,EAC1D,CAAC,CAAO,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA,CAAC,CAAC,CAAC;4BAC3D,CAAC,EAAE,GAAG;yBACP,CAAA;wBACD,IAAI,IAAI;4BAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;wBACpB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;oBACf,CAAC;oBACD,SAAQ;gBACV,CAAC;YACH,CAAC;YACD,MAAM,CAAC,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;YACjE,IAAI,IAAI;gBAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;YACpB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACf,CAAC;QAED,MAAM,EAAE,GAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;QAE/B,0DAA0D;QAC1D,2DAA2D;QAC3D,4CAA4C;QAC5C,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjE,MAAM,KAAK,GAAQ;gBACjB,GAAG,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC;gBAC/D,CAAC,EAAE,GAAG;aACP,CAAA;YACD,IAAI,KAAK;gBAAE,KAAK,CAAC,CAAC,GAAG,GAAG,CAAA;YACxB,EAAE,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAA;QACpB,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;QACxB,OAAM;IACR,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,yDAAyD;QACzD,cAAc;QACd,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAC3D,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAA;QAC1C,OAAM;IACR,CAAC;IAED,gEAAgE;IAChE,yDAAyD;IACzD,oEAAoE;IACpE,iEAAiE;IACjE,gEAAgE;IAChE,yCAAyC;IACzC,MAAM,YAAY,GAAU,EAAE,CAAA;IAC9B,IAAI,YAAY,GAAG,KAAK,CAAA;IACxB,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC;QAC5E,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC;QAC/C,CAAC,CAAC,IAAI,CAAA;IAER,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACxB,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,IAAI,OAAO,CAAC,EAAE,CAAA;QACvC,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAE/D,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,uDAAuD;YACvD,YAAY,GAAG,IAAI,CAAA;YACnB,SAAQ;QACV,CAAC;QAED,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EACjE,QAAQ,CAAC,CAAA;QAEX,8DAA8D;QAC9D,2DAA2D;QAC3D,8DAA8D;QAC9D,4DAA4D;QAC5D,6DAA6D;QAC7D,8CAA8C;QAC9C,6DAA6D;QAC7D,iEAAiE;QACjE,8DAA8D;QAC9D,6DAA6D;QAC7D,4BAA4B;QAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAA;QAC5C,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAClC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,EAC9D,CAAC,CAAO,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QAE/D,MAAM,WAAW,GAAG,CAAC,CAAA;QACrB,MAAM,QAAQ,GAAG,WAAW,CAC1B,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,CAAA;QACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACnD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,MAAM,CAAC,GAAQ;oBACb,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;oBACd,CAAC,EAAE,CAAC,CAAC,MAAM;oBACX,CAAC,EAAE,QAAQ;oBACX,GAAG,kBAAkB;oBACrB,CAAC,EAAE,GAAG;iBACP,CAAA;gBACD,IAAI,IAAI;oBAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;gBACpB,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACtB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,WAAW,GAAG,UAAU,CAC5B,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;YAClD,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CACb,eAAe,IAAI,CAAC,IAAI,iBAAiB,CAAC,eAAe;oBACzD,uDAAuD,CAAC,CAAA;YAC5D,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;gBAC9B,MAAM,CAAC,GAAQ;oBACb,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,kBAAkB,EAAE,CAAC,EAAE,GAAG;iBACzD,CAAA;gBACD,IAAI,IAAI;oBAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;gBACpB,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,+DAA+D;QAC/D,8DAA8D;QAC9D,+DAA+D;QAC/D,eAAe;QACf,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAA;QAC5C,MAAM,CAAC,GAAQ;YACb,GAAG,IAAI,CAAC,IAAI,CACV,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,EAC9D,CAAC,CAAO,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA,CAAC,CAAC,CAAC;YAC/D,CAAC,EAAE,GAAG;SACP,CAAA;QACD,IAAI,aAAa;YAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;QAC5B,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACtB,CAAC;IAED,MAAM,SAAS,GAAQ;QACrB,gEAAgE;QAChE,+DAA+D;QAC/D,8DAA8D;QAC9D,kBAAkB;QAClB,GAAG,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC;QAC/D,CAAC,EAAE,GAAG;KACP,CAAA;IACD,IAAI,aAAa;QAAE,SAAS,CAAC,CAAC,GAAG,GAAG,CAAA;IACpC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,CAAA;AAClE,CAAC;AAGD,qEAAqE;AACrE,8DAA8D;AAC9D,2DAA2D;AAC3D,EAAE;AACF,kEAAkE;AAClE,kEAAkE;AAClE,kEAAkE;AAClE,iEAAiE;AACjE,oBAAoB;AACpB,SAAS,SAAS,CAChB,QAAgB,EAChB,GAAiB,EACjB,QAA6B,EAC7B,WAAgC,EAChC,GAAW,EACX,QAA0C,EAC1C,IAAiB,EACjB,WAAuC,QAAQ;IAE/C,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;IACnD,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE,CAC9B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,QAAQ,CAAC,EAAE,CAAA;IAE7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAA;QAC1C,gEAAgE;QAChE,6DAA6D;QAC7D,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QACjE,0DAA0D;QAC1D,IAAI,CAAC,KAAK,CAAC,IAAI,QAAQ,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACrD,OAAO,CAAC,CAAC,GAAG,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;QAC1D,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,CAAA;QACtB,MAAM,EAAE,GAAQ,EAAE,IAAI,EAAE,CAAA;QAExB,MAAM,MAAM,GAAG,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;QACpC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,6DAA6D;YAC7D,4CAA4C;YAC5C,EAAE,CAAC,KAAK,GAAG,CAAC;oBACV,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC;oBACnB,GAAG,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;oBACvC,CAAC,EAAE,GAAG;iBACP,CAAC,CAAA;QACJ,CAAC;aAAM,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;YACnB,8DAA8D;YAC9D,8BAA8B;YAC9B,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;QAClE,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;IACrB,CAAC;AACH,CAAC;AAGD,kEAAkE;AAClE,kEAAkE;AAClE,oEAAoE;AACpE,2BAA2B;AAC3B,SAAS,gBAAgB,CACvB,OAAoB,EACpB,QAA6B,EAC7B,WAAgC;IAEhC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAuB,CAAA;IAChD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAA;IAClC,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,WAAW;QAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;IAErE,IAAI,OAAO,GAAG,IAAI,CAAA;IAClB,OAAO,OAAO,EAAE,CAAC;QACf,OAAO,GAAG,KAAK,CAAA;QACf,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAgB,CAAA;YACrD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC5B,wDAAwD;gBACxD,mBAAmB;gBACnB,IAAI,WAAW,GAAG,IAAI,CAAA;gBACtB,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;oBACrB,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO;wBACzC,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wBACxB,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,KAAK,MAAM;4BAC5B,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAW;4BACrC,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,OAAO;gCACnB,CAAC,CAAC,EAAE,CAAC,IAAI;gCACT,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAW,CAAA;wBAC7C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;4BAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;4BAAC,OAAO,GAAG,IAAI,CAAA;wBAAC,CAAC;wBACvD,WAAW,GAAG,KAAK,CAAA;wBACnB,MAAK;oBACP,CAAC;oBACD,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;wBACtB,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAU,CAAA;wBAC5D,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;4BAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gCAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gCAAC,OAAO,GAAG,IAAI,CAAA;4BAAC,CAAC;wBACzD,CAAC;wBACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;4BAC3B,WAAW,GAAG,KAAK,CAAA;4BACnB,MAAK;wBACP,CAAC;wBACD,SAAQ;oBACV,CAAC;oBACD,8CAA8C;oBAC9C,MAAM,IAAI,KAAK,CAAC,8CAA8C,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;gBAC1E,CAAC;gBACD,IAAI,WAAW,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5C,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBACvB,OAAO,GAAG,IAAI,CAAA;gBAChB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAA;AAChC,CAAC;AAGD,mEAAmE;AACnE,mEAAmE;AACnE,uDAAuD;AACvD,SAAS,UAAU,CACjB,GAAiB,EACjB,QAA6B,EAC7B,WAAgC,EAChC,SAAmC,EACnC,QAAqB;IAErB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAA;IAC7B,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACrE,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,KAAK,MAAM;gBAC5B,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAW;gBACrC,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,OAAO;oBACnB,CAAC,CAAC,EAAE,CAAC,IAAI;oBACT,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAW,CAAA;YAC7C,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACZ,OAAO,GAAG,CAAA;QACZ,CAAC;QACD,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACtB,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAU,CAAA;YACtD,KAAK,MAAM,GAAG,IAAI,EAAE;gBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;gBAAE,OAAO,GAAG,CAAA;YACtC,0CAA0C;YAC1C,SAAQ;QACV,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mDAAmD,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;IAC/E,CAAC;IACD,yCAAyC;IACzC,OAAO,IAAI,CAAA;AACb,CAAC;AAGD,gEAAgE;AAChE,+DAA+D;AAC/D,mEAAmE;AACnE,iEAAiE;AACjE,mEAAmE;AACnE,iEAAiE;AACjE,4CAA4C;AAC5C,SAAS,iBAAiB,CACxB,IAAY,EACZ,OAAoB,EACpB,QAA6B,EAC7B,WAAgC,EAChC,OAAoB;IAEpB,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAA;IAChC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;IAC7D,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAE9C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACrC,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAA;IAC9D,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,CAAA;IACnD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IACzD,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC1B,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;;YACpD,MAAK;IACZ,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAGD,SAAS,gBAAgB,CACvB,GAAiB,EACjB,OAAoB,EACpB,QAA6B,EAC7B,WAAgC,EAChC,OAAoB;IAEpB,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACvB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAW,CAAC,CAAA;QAC/C,CAAC;aAAM,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC/B,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAW,CAAC,CAAA;QACnD,CAAC;aAAM,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC/B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;QACnB,CAAC;aAAM,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,iBAAiB,CAC3B,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;YACnD,6DAA6D;YAC7D,2CAA2C;YAC3C,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAA;YAChB,OAAO,GAAG,CAAA;QACZ,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,CAAA;QACZ,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAMD,gEAAgE;AAChE,kEAAkE;AAClE,kEAAkE;AAClE,iEAAiE;AACjE,iEAAiE;AACjE,gEAAgE;AAChE,kEAAkE;AAClE,oEAAoE;AACpE,cAAc;AACd,SAAS,cAAc,CACrB,GAAiB,EACjB,OAAoB,EACpB,QAA6B,EAC7B,WAAgC,EAChC,IAAY,EACZ,UAAuB,IAAI,GAAG,EAAE;IAEhC,IAAI,KAAK,GAAiB,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IAEvD,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,MAAM,IAAI,GAAiB,EAAE,CAAA;QAC7B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;gBAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAAC,SAAQ;YAAC,CAAC;YACjE,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC;oBACR,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAW,CAAC;oBAC1D,IAAI,EAAE,KAAK;iBACZ,CAAC,CAAA;YACJ,CAAC;iBAAM,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC/B,IAAI,CAAC,IAAI,CAAC;oBACR,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAW,CAAC;oBAC9D,IAAI,EAAE,KAAK;iBACZ,CAAC,CAAA;YACJ,CAAC;iBAAM,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC/B,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;YAC5D,CAAC;iBAAM,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzB,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;oBAC3C,SAAQ;gBACV,CAAC;gBACD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;gBAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;gBAChE,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,CAAC,CAAA;gBACpE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;oBAC3C,SAAQ;gBACV,CAAC;gBACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC9B,MAAM,QAAQ,GAAG,cAAc,CAC7B,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EACnC,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;oBACvC,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;wBAC1B,IAAI,CAAC,IAAI,CAAC;4BACR,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC;4BACnC,oDAAoD;4BACpD,8BAA8B;4BAC9B,IAAI,EAAE,EAAE,CAAC,IAAI;yBACd,CAAC,CAAA;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,gEAAgE;gBAChE,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YAC7C,CAAC;QACH,CAAC;QACD,KAAK,GAAG,IAAI,CAAA;QACZ,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC;YAAE,MAAK;IAClE,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAGD,SAAS,WAAW,CAClB,GAAiB,EACjB,OAAoB,EACpB,QAA6B,EAC7B,WAAgC,EAChC,IAAY;IAEZ,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;IACrE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,MAAM,GAAG,GAAe,EAAE,CAAA;IAC1B,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC9B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QAAC,CAAC;IAC3D,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAGD,+DAA+D;AAC/D,gEAAgE;AAChE,gEAAgE;AAChE,eAAe;AACf,SAAS,0BAA0B,CAAC,EAGnC;IACC,IAAI,EAAE,CAAC,aAAa,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAC1C,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;AACrC,CAAC;AAGD,kEAAkE;AAClE,4DAA4D;AAC5D,+DAA+D;AAC/D,qDAAqD;AACrD,SAAS,OAAO,CAAC,EAAgD;IAC/D,OAAO,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAA;AACtE,CAAC;AAGD,SAAS,YAAY,CAAC,CAAS;IAC7B,OAAO,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAA;AACjD,CAAC;AAGD,kEAAkE;AAClE,uDAAuD;AACvD,EAAE;AACF,4CAA4C;AAC5C,+CAA+C;AAC/C,6DAA6D;AAC7D,EAAE;AACF,iEAAiE;AACjE,+DAA+D;AAC/D,sDAAsD;AACtD,SAAS,iBAAiB,CAAC,GAAW;IACpC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IACjC,MAAM,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACvD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAEzB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACtC,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QACjC,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QACjC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACd,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAA;QAC3D,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAC1B,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QACzC,OAAO;YACL,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,GAAG;YAChD,KAAK,EAAE,EAAE;SACV,CAAA;IACH,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;IACvE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAA;AAClD,CAAC;AAGD,SAAS,cAAc,CAAC,OAAe,EAAE,IAAiB;IACxD,MAAM,IAAI,GAAG,OAAO;SACjB,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC;SAC7B,WAAW,EAAE;SACb,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;IAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IACrD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACnB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;QAAE,CAAC,EAAE,CAAA;IACnC,MAAM,MAAM,GAAG,SAAS,GAAG,CAAC,CAAA;IAC5B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAChB,OAAO,MAAM,CAAA;AACf,CAAC;AAGD,wEAAwE;AACxE,SAAS,IAAI,CAAC,GAAW,EAAE,IAAyB;IAClD,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;IAC9B,OAAO,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AACvC,CAAC"}
|
|
1
|
+
{"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tabnas/abnf",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"main": "dist/abnf.js",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"types": "dist/abnf.d.ts",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
".": "./dist/abnf.js"
|
|
40
40
|
},
|
|
41
41
|
"peerDependencies": {
|
|
42
|
-
"@tabnas/parser": ">=0"
|
|
42
|
+
"@tabnas/parser": ">=0.5.0"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@tabnas/debug": "*",
|