behavior-contracts 0.3.0 → 0.5.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.
Files changed (51) hide show
  1. package/README.md +78 -29
  2. package/dist/generator/core.d.ts +14 -0
  3. package/dist/generator/core.d.ts.map +1 -1
  4. package/dist/generator/core.js +1 -0
  5. package/dist/generator/core.js.map +1 -1
  6. package/dist/generator/emit-raw-abi-go.d.ts.map +1 -1
  7. package/dist/generator/emit-raw-abi-go.js +2 -1
  8. package/dist/generator/emit-raw-abi-go.js.map +1 -1
  9. package/dist/generator/emit-straightline-go.d.ts +2 -0
  10. package/dist/generator/emit-straightline-go.d.ts.map +1 -1
  11. package/dist/generator/emit-straightline-go.js +37 -19
  12. package/dist/generator/emit-straightline-go.js.map +1 -1
  13. package/dist/generator/emit-straightline-native-go.d.ts +54 -0
  14. package/dist/generator/emit-straightline-native-go.d.ts.map +1 -0
  15. package/dist/generator/emit-straightline-native-go.js +835 -0
  16. package/dist/generator/emit-straightline-native-go.js.map +1 -0
  17. package/dist/generator/emit-straightline-native-rust.d.ts +27 -0
  18. package/dist/generator/emit-straightline-native-rust.d.ts.map +1 -0
  19. package/dist/generator/emit-straightline-native-rust.js +624 -0
  20. package/dist/generator/emit-straightline-native-rust.js.map +1 -0
  21. package/dist/generator/emit-straightline-rust.d.ts.map +1 -1
  22. package/dist/generator/emit-straightline-rust.js +5 -12
  23. package/dist/generator/emit-straightline-rust.js.map +1 -1
  24. package/dist/generator/emit-straightline-typed-go.d.ts +17 -0
  25. package/dist/generator/emit-straightline-typed-go.d.ts.map +1 -1
  26. package/dist/generator/emit-straightline-typed-go.js +4 -1
  27. package/dist/generator/emit-straightline-typed-go.js.map +1 -1
  28. package/dist/generator/emit-straightline-typed-rust.d.ts +16 -0
  29. package/dist/generator/emit-straightline-typed-rust.d.ts.map +1 -1
  30. package/dist/generator/emit-straightline-typed-rust.js +2 -0
  31. package/dist/generator/emit-straightline-typed-rust.js.map +1 -1
  32. package/dist/generator/emit-straightline-typescript.d.ts.map +1 -1
  33. package/dist/generator/emit-straightline-typescript.js +4 -10
  34. package/dist/generator/emit-straightline-typescript.js.map +1 -1
  35. package/dist/generator/emit-typed-native-go.d.ts +63 -0
  36. package/dist/generator/emit-typed-native-go.d.ts.map +1 -0
  37. package/dist/generator/emit-typed-native-go.js +1840 -0
  38. package/dist/generator/emit-typed-native-go.js.map +1 -0
  39. package/dist/generator/emit-typed-native-rust.d.ts +52 -0
  40. package/dist/generator/emit-typed-native-rust.d.ts.map +1 -0
  41. package/dist/generator/emit-typed-native-rust.js +1673 -0
  42. package/dist/generator/emit-typed-native-rust.js.map +1 -0
  43. package/dist/generator/index.d.ts +2 -0
  44. package/dist/generator/index.d.ts.map +1 -1
  45. package/dist/generator/index.js +16 -0
  46. package/dist/generator/index.js.map +1 -1
  47. package/dist/generator/straightline.d.ts +46 -0
  48. package/dist/generator/straightline.d.ts.map +1 -1
  49. package/dist/generator/straightline.js +65 -0
  50. package/dist/generator/straightline.js.map +1 -1
  51. package/package.json +1 -1
package/README.md CHANGED
@@ -1,51 +1,100 @@
1
1
  # behavior-contracts
2
2
 
3
- Language-agnostic runtime **core** for behavior contracts (the `dsl-contracts`
4
- project). It is the TypeScript reference implementation of the shared, thin
5
- DSL→Metadata→IR→Runtime primitives the single source of truth that the
6
- Python, Rust, and Go runtimes conform to via a shared 93-vector conformance
7
- suite.
8
-
9
- > This package publishes **only** the COMMON primitives judged portable in
10
- > `runtime-boundary.md`. Backend execution, key resolution, retry tuning, and
11
- > hydrate logic are consumer-specific and are intentionally **not** included.
3
+ `behavior-contracts` is a library for declarative, statically-resolvable behavior/DSL
4
+ contracts. A contract is compiled to a **portable, language-neutral IR** and then either
5
+ compiled to **genuinely-native per-language code** (Go and Rust) that runs at
6
+ hand-written-SDK-floor parity, or interpreted by a small shared multi-language runtime
7
+ (TypeScript / Python / PHP / Rust / Go). The IR is deterministic and
8
+ canonically-serialized, so the same contract produces byte-identical output across every
9
+ consumer language.
10
+
11
+ ## Features
12
+
13
+ - **Native typed-native codegen for Go and Rust.** A covered contract is emitted as
14
+ straight-line native code — direct struct field access, concrete per-node calls, and a
15
+ local error type — running at **SDK-floor parity** (~0–5% overhead vs. a hand-written
16
+ SDK baseline) and **~2–3× faster than the shared interpreter**.
17
+ - **Zero-runtime generated modules.** The generated Go/Rust modules import **no**
18
+ `behavior-contracts` runtime at all — a property the compiler verifies (a build gate
19
+ rejects any runtime reference or boxing primitive that leaks into the output).
20
+ - **Async or sync output, selectable.** Pass `ioModel: "async"` to emit `async fn` /
21
+ `.await` for async-capable targets; `"sync"` is the default.
22
+ - **Fail-closed, never silently boxed.** Shapes not yet natively coverable are rejected
23
+ at generation time rather than falling back to a boxed/interpreted path labelled as
24
+ native.
25
+ - **Portable IR, consumed identically across languages.** The same language-neutral IR
26
+ runs through the shared interpreter in TypeScript, Python, PHP, Rust, and Go with
27
+ identical semantics.
28
+ - **Deterministic, canonical serialization.** Key-sorted, typed-value encoding with a
29
+ canonical decimal float representation — the same contract always serializes to the
30
+ same bytes, which is what makes cross-language conformance verifiable.
31
+
32
+ Native codegen is **Go and Rust only**. TypeScript, Python, and PHP consume the portable
33
+ IR through the shared interpreter.
12
34
 
13
35
  ## Install
14
36
 
15
37
  ```bash
16
- npm i behavior-contracts
38
+ npm install behavior-contracts
39
+ ```
40
+
41
+ - ESM-only library; TypeScript type declarations are included.
42
+ - Requires Node.js **22+**.
43
+ - No runtime dependencies.
44
+
45
+ ## Usage
46
+
47
+ A contract is authored as an IR (a portable component graph). You can either **generate a
48
+ native module** from it, or **interpret it directly** with the shared runtime.
49
+
50
+ ### Generate a native module
51
+
52
+ ```ts
53
+ import { generateModule } from "behavior-contracts";
54
+
55
+ // `ir` is a portable component-graph IR (language-neutral).
56
+ const mod = generateModule(ir, {
57
+ language: "go-typed-native", // or "rust-typed-native"
58
+ ioModel: "async", // "sync" (default) | "async"
59
+ });
60
+
61
+ console.log(mod.language); // "go"
62
+ console.log(mod.filenameHint); // e.g. "behaviors.generated.go"
63
+ console.log(mod.fingerprint); // IR fingerprint (build-time skew gate)
64
+ // mod.code is the full, runtime-free native source — write it to a file and compile it.
17
65
  ```
18
66
 
19
- Requires Node.js >= 22 (ESM only).
67
+ `generateModule` also emits interpreted modules for other targets — pass
68
+ `language: "typescript"`, `"python"`, `"php"`, `"rust"`, or `"go"`. It is fail-closed:
69
+ an unknown language, a non-portable IR, or a shape the target emitter cannot cover
70
+ natively throws rather than degrading silently.
71
+
72
+ ### Interpret the IR directly
73
+
74
+ ```ts
75
+ import { runBehavior } from "behavior-contracts";
76
+
77
+ // Inject boundary handlers; the interpreter walks the portable IR.
78
+ const result = runBehavior(ir, handlers, { userId: "u1" }, "UserReads");
79
+ ```
20
80
 
21
81
  ## Public primitives
22
82
 
83
+ The shared runtime also exposes the individual COMMON primitives piecewise:
84
+
23
85
  | Export | Purpose |
24
86
  |---|---|
25
87
  | `validateEnvelope` | spec-version fail-closed validation (loud-rejects unknown versions) |
26
88
  | `evaluateExpression` | evaluate the portable expression IR |
27
89
  | `renderTemplate` | pure `{param}` string substitution |
28
90
  | `runPlan` | execute the portable execution-plan IR |
29
- | `canonicalValue` / `canonicalJson` | deterministic canonical serialization (sorted keys, compact JSON, `repr(float)`-parity decimals) |
91
+ | `canonicalValue` / `canonicalJson` | deterministic canonical serialization (sorted keys, compact JSON, canonical decimal floats) |
30
92
  | `runBehavior` | execute the portable component-graph IR (handlers injected at the boundary) |
93
+ | `generateModule` | emit a native (Go/Rust typed-native) or interpreted module from the portable IR |
31
94
  | `assertPortable` / `assertPortableComponentGraph` | Portability Guard (fail-closed structural validation of portable IR) |
32
- | `SemanticBehavior` / `behavior` / `compileBehaviors` / `catalogComponents` / `when` + expression builders | shared, effect-agnostic SCP authoring surface — each public method of a marked class lowers to one component-graph root Behavior (consumers supply only their catalog) |
33
- | `referencedComponents` / `classifyBehaviorEffect` | consumer-side CQRS derivation from the lowered graph (authoring never names Query/Command) |
34
- | `buildComponentDefinition` | data-registration IF for model-driven consumers — validates and canonicalizes a pre-composed component graph (caller node ids, `parent`/`bindField`/`relationKind`, v2 `map` vocabulary, dynamic ports via catalog `additionalPorts: true`); byte-stable output, recorder-independent |
35
-
36
- ## Usage
37
-
38
- ```ts
39
- import { validateEnvelope, renderTemplate, canonicalJson } from "behavior-contracts";
40
-
41
- validateEnvelope(envelope); // throws on unknown/incompatible spec version
42
-
43
- renderTemplate("hello {name}", { name: "world" }); // "hello world"
44
-
45
- // Keys are sorted by code point. JS `number` is a float, `bigint` is an int:
46
- canonicalJson({ b: 1, a: 2 }); // '{"a":2.0,"b":1.0}'
47
- canonicalJson({ b: 1n, a: 2n }); // '{"a":2,"b":1}'
48
- ```
95
+ | `SemanticBehavior` / `behavior` / `compileBehaviors` / `catalogComponents` / `when` + expression builders | effect-agnostic authoring surface — each public method of a marked class lowers to one component-graph root Behavior |
96
+ | `referencedComponents` / `classifyBehaviorEffect` | consumer-side CQRS derivation from the lowered graph |
97
+ | `buildComponentDefinition` | data-registration IF for model-driven consumers — validates and canonicalizes a pre-composed component graph; byte-stable output |
49
98
 
50
99
  ## Spec versions
51
100
 
@@ -20,6 +20,14 @@ export interface EmitContext {
20
20
  componentNames: string[];
21
21
  /** runtime-core を import するモジュール指定子(emitter の既定を上書き可)。 */
22
22
  runtimeImport: string;
23
+ /**
24
+ * codegen I/O モデル(bc#97): async/await を持つ言語(rust/python)で、consumer の terminal
25
+ * handler が async I/O を行う場合に `'async'` を選ぶと、emitter は `async fn` + `.await` を出力する。
26
+ * 省略時は `'sync'`(従来通り = neutral floor、runtime 不要・全言語で動く)。async/sync は
27
+ * language-runtime concern であり IR には入らない — これは codegen INPUT(emitter option / CLI flag)。
28
+ * この slice では uniform(1 generation 内の全 terminal handler で共通)。go は await 概念が無く no-op。
29
+ */
30
+ ioModel: "sync" | "async";
23
31
  }
24
32
  /** 言語 emitter プラグイン。DSL 非依存の EmitContext からモジュール全文を emit する。 */
25
33
  export interface EmitterPlugin {
@@ -53,6 +61,12 @@ export interface GenerateOptions {
53
61
  * 生成コードの決定性は指定子込み(同一 IR + 同一オプション → byte-identical)。
54
62
  */
55
63
  runtimeImport?: string;
64
+ /**
65
+ * codegen I/O モデル(bc#97)。省略時 `'sync'`(従来通り、byte-identical な既定パス)。
66
+ * `'async'` を渡すと async/await 対応言語(rust-typed-native 等)が `async fn` + `.await` を出力する。
67
+ * go は await 概念が無いため無視(no-op)。
68
+ */
69
+ ioModel?: "sync" | "async";
56
70
  }
57
71
  export interface GeneratedModule {
58
72
  /** 生成言語。 */
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/generator/core.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGvD,MAAM,MAAM,oBAAoB,GAC5B,uBAAuB,GACvB,wBAAwB,GACxB,0BAA0B,GAC1B,UAAU,GACV,qBAAqB,GACrB,kBAAkB,GAClB,+BAA+B,CAAC;AAEpC,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,IAAI,EAAE,oBAAoB,CAAC;gBACf,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM;CAKxD;AAOD,0CAA0C;AAC1C,MAAM,WAAW,WAAW;IAC1B,mCAAmC;IACnC,EAAE,EAAE,gBAAgB,CAAC;IACrB,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,YAAY,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,8BAA8B;IAC9B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,0DAA0D;IAC1D,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,gEAAgE;AAChE,MAAM,WAAW,aAAa;IAC5B,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,oFAAoF;IACpF,oBAAoB,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,IAAI,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAAC;CAChC;AAID;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAE3D;AAED,uCAAuC;AACvC,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAE9C;AA8CD,MAAM,WAAW,eAAe;IAC9B,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,YAAY,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,uCAAuC;IACvC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,8CAA8C;IAC9C,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,eAAe,CA+BrF"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/generator/core.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGvD,MAAM,MAAM,oBAAoB,GAC5B,uBAAuB,GACvB,wBAAwB,GACxB,0BAA0B,GAC1B,UAAU,GACV,qBAAqB,GACrB,kBAAkB,GAClB,+BAA+B,CAAC;AAEpC,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,IAAI,EAAE,oBAAoB,CAAC;gBACf,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM;CAKxD;AAOD,0CAA0C;AAC1C,MAAM,WAAW,WAAW;IAC1B,mCAAmC;IACnC,EAAE,EAAE,gBAAgB,CAAC;IACrB,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,YAAY,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,8BAA8B;IAC9B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,0DAA0D;IAC1D,aAAa,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;CAC3B;AAED,gEAAgE;AAChE,MAAM,WAAW,aAAa;IAC5B,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,oFAAoF;IACpF,oBAAoB,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,IAAI,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAAC;CAChC;AAID;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAE3D;AAED,uCAAuC;AACvC,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAE9C;AA8CD,MAAM,WAAW,eAAe;IAC9B,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,YAAY,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,uCAAuC;IACvC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,8CAA8C;IAC9C,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,eAAe,CAgCrF"}
@@ -111,6 +111,7 @@ export function generateModule(ir, options) {
111
111
  specVersions,
112
112
  componentNames,
113
113
  runtimeImport: options.runtimeImport ?? plugin.defaultRuntimeImport,
114
+ ioModel: options.ioModel ?? "sync",
114
115
  };
115
116
  return {
116
117
  language: plugin.language,
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/generator/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/generator/core.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"emit-raw-abi-go.d.ts","sourceRoot":"","sources":["../../src/generator/emit-raw-abi-go.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,WAAW,CAAC;AAuY5D;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,aAM7B,CAAC"}
1
+ {"version":3,"file":"emit-raw-abi-go.d.ts","sourceRoot":"","sources":["../../src/generator/emit-raw-abi-go.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,WAAW,CAAC;AAuY5D;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,aAO7B,CAAC"}
@@ -338,7 +338,8 @@ function emit(ctx) {
338
338
  export const goRawAbiEmitter = {
339
339
  language: "go-typed-raw",
340
340
  fileExtension: ".go",
341
- defaultRuntimeImport: "github.com/foo-ogawa/behavior-contracts/go",
341
+ // JSON-free codegen runtime (bc no-json invariant, 0.5.0): see emit-straightline-go.ts.
342
+ defaultRuntimeImport: "github.com/foo-ogawa/behavior-contracts/go/coderuntime",
342
343
  filenameHint: "behaviors.typed.raw.generated.go",
343
344
  emit,
344
345
  };
@@ -1 +1 @@
1
- {"version":3,"file":"emit-raw-abi-go.js","sourceRoot":"","sources":["../../src/generator/emit-raw-abi-go.ts"],"names":[],"mappings":"AAsCA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ,EAA8C,MAAM,YAAY,CAAC;AAChH,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAGnE,MAAM,EACJ,GAAG,EACH,QAAQ,EACR,WAAW,EACX,aAAa,EACb,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACd,0BAA0B,EAC1B,cAAc,EACd,uBAAuB,EACvB,SAAS,EACT,wBAAwB,EACxB,qBAAqB,GACtB,GAAG,gBAAgB,CAAC;AAErB,4FAA4F;AAE5F,gEAAgE;AAChE,SAAS,kBAAkB,CAAC,IAAc;IACxC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,oBAAoB,CAAC,CAAW,EAAE,IAAc;IACvD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,QAAQ,GAAG,eAAe,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC;IACnF,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAClC,wFAAwF;IACxF,8DAA8D;IAC9D,KAAK,CAAC,IAAI,CAAC,qBAAqB,GAAG,UAAU,CAAC,CAAC;IAC/C,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzB,KAAK,CAAC,IAAI,CACR,mBAAmB,GAAG,uDAAuD,CAAC,CAAC,IAAI,yBAAyB,GAAG,qBAAqB,CACrI,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,gCAAgC,MAAM,GAAG,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChC,KAAK,CAAC,IAAI,CACR,qBAAqB,GAAG,sDAAsD,CAAC,CAAC,IAAI,yBAAyB,MAAM,GAAG,CACvH,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5E,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAChC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,SAAS,uBAAuB,CAAC,MAAc,EAAE,GAAW,EAAE,GAAY,EAAE,IAAc,EAAE,MAAc;IACxG,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC1B,oFAAoF;gBACpF,uFAAuF;gBACvF,OAAO,GAAG,CAAC,GAAG,MAAM,QAAQ,CAAC;YAC/B,CAAC;YACD,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAChC,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YACpF,OAAO;gBACL,GAAG,CAAC,cAAc,GAAG,KAAK,EAAE,GAAG;gBAC/B,GAAG,CAAC,WAAW;gBACf,GAAG,CAAC,iBAAiB,GAAG,iEAAiE,GAAG,CAAC,MAAM,WAAW,GAAG,iBAAiB,GAAG,IAAI;gBACzI,GAAG,CAAC,GAAG;gBACP,GAAG,CAAC,GAAG,MAAM,OAAO;aACrB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,OAAO;gBACL,GAAG,CAAC,2BAA2B,GAAG,CAAC,IAAI,IAAI,GAAG,GAAG;gBACjD,GAAG,CAAC,kBAAkB;gBACtB,GAAG,CAAC,oBAAoB;gBACxB,GAAG,CAAC,GAAG;gBACP,GAAG,CAAC,GAAG,MAAM,OAAO;aACrB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACvC,MAAM,KAAK,GAAG,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;YACxF,OAAO;gBACL,GAAG,CAAC,eAAe,GAAG,OAAO,GAAG,YAAY;gBAC5C,GAAG,CAAC,WAAW;gBACf,GAAG,CAAC,iBAAiB,GAAG,4EAA4E,GAAG,iBAAiB,GAAG,IAAI;gBAC/H,GAAG,CAAC,GAAG;gBACP,GAAG,CAAC,mBAAmB,MAAM,gBAAgB;gBAC7C,GAAG,CAAC,+BAA+B;gBACnC,GAAG,CAAC,iBAAiB,MAAM,EAAE;gBAC7B,KAAK;gBACL,GAAG,CAAC,kCAAkC;gBACtC,GAAG,CAAC,GAAG;gBACP,GAAG,CAAC,GAAG,MAAM,UAAU;aACxB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,KAAK,GAAG,uBAAuB,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;YAClF,OAAO;gBACL,GAAG,CAAC,MAAM,GAAG,WAAW;gBACxB,GAAG,CAAC,KAAK,MAAM,QAAQ;gBACvB,GAAG,CAAC,UAAU;gBACd,GAAG,CAAC,gBAAgB,OAAO,EAAE;gBAC7B,KAAK;gBACL,GAAG,CAAC,KAAK,MAAM,YAAY;gBAC3B,GAAG,CAAC,GAAG;aACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;IACH,CAAC;AACH,CAAC;AAED,wFAAwF;AACxF,SAAS,uBAAuB,CAAC,QAAgB,EAAE,MAAc;IAC/D,OAAO,sBAAsB,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,EAAE,CAAC;AAC7F,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAe,EAAE,UAAgC,EAAE,IAAc;IACjG,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;QAC7C,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO;YAAE,SAAS;QACnC,MAAM,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,EAAE,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,uBAAuB,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,eAAe,EAAE,yBAAyB,EAAE,KAAK,IAAI,wBAAwB,CAAC,CAAC;IACjH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED,yFAAyF;AAEzF,MAAM,UAAU,GAAG,aAAa,CAAC;AAEjC,SAAS,gBAAgB,CAAC,MAAc,EAAE,OAAe,EAAE,GAAwB,EAAE,QAAgB,EAAE,MAAc,EAAE,YAAoC;IACzJ,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC,OAAO,OAAO,EAAE,CAAC;IACnD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC;IACpD,MAAM,KAAK,GAAG,GAAG,CAAC,mBAAmB,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,kBAAkB,CAAC;IAChG,MAAM,IAAI,GACR,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,OAAO,GAAG,CAAC;IAC5H,OAAO,GAAG,CAAC,eAAe,IAAI,KAAK,CAAC,qBAAqB,CAAC,8BAA8B,CAAC,MAAM,KAAK,EAAE,CAAC;AACzG,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAe;IACzC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,KAAK,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,EAAE,GAAI,CAAgC,CAAC,OAAO,CAAC;YACrD,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;gBACrB,MAAM,IAAI,gBAAgB,CACxB,+BAA+B,EAC/B,kCAAkC,IAAI,CAAC,IAAI,WAAY,CAAoB,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,2OAA2O,CACrW,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,EAAgE,EAAE,QAAgB,EAAE,UAAgC,EAAE,IAAc,EAAE,YAAoC;IAChM,IAAI,EAAE,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAC/B,gFAAgF;QAChF,2EAA2E;QAC3E,MAAM,IAAI,gBAAgB,CACxB,+BAA+B,EAC/B,6BAA6B,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,IAAI,iFAAiF,CACtI,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,GAAG,SAAS,CAAC;IACrB,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK;SACvB,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI;;;;kBAI3B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CACrD;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;IAC3D,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAClC,MAAM,WAAW,GAAG,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;IAC1F,OAAO,eAAe,EAAE,CAAC,KAAK;iBACf,GAAG,YAAY,IAAI;6BACP,GAAG,6BAA6B,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC;;4BAEvF,GAAG,wDAAwD,EAAE,CAAC,SAAS;;;iBAGlF,GAAG;;EAElB,WAAW;eACE,GAAG;MACZ,CAAC;AACP,CAAC;AAED,SAAS,aAAa,CAAC,IAAe,EAAE,IAAc;IACpD,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACzB,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAEjD,MAAM,KAAK,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;SACpC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,SAAS,UAAU,CAAC,EAAE,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;SACnE,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,EAAE,CAAC;IACvF,MAAM,aAAa,GAAG,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;SACzC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,YAAY,CAAC,EAAE,CAAC,oBAAoB,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;SACxE,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,sFAAsF;IACtF,mFAAmF;IACnF,MAAM,uBAAuB,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;SACtD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE;QACjB,MAAM,GAAG,GAAG,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACtD,OAAO,UAAU,YAAY,CAAC,EAAE,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC;IAC3F,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7G,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,0BAA0B,CAAC;IAExG,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChG,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IAClE,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC;IACtC,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;IAElG,OAAO,oBAAoB,EAAE;;;;;;qBAMV,EAAE,aAAa,GAAG,6BAA6B,GAAG,UAAU,GAAG;WACzE,cAAc,CAAC,KAAK,CAAC;;cAElB,GAAG;;EAEf,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE;;yBAE9C,GAAG;WACjB,GAAG;;;;EAIZ,uBAAuB,CAAC,CAAC,CAAC,sBAAsB,GAAG,uBAAuB,GAAG,0BAA0B,CAAC,CAAC,CAAC,EAAE;;;;sCAIxE,GAAG;;aAE5B,GAAG;;oBAEI,GAAG,cAAc,GAAG,WAAW,GAAG;;;;;;;;;EASpD,IAAI;wBACkB,GAAG;;YAEf,WAAW;gBACP,GAAG;mBACA,GAAG;;;;;;;mBAOH,GAAG,CAAC,IAAI;;WAEhB,UAAU;EACnB,CAAC;AACH,CAAC;AAED,yFAAyF;AAEzF,SAAS,WAAW,CAAC,GAAgB;IACnC,MAAM,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,UAAU;SAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;SAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5B,OAAO,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,GAAG,UAAU,GAAG,8CAA8C,EAAE,wBAAwB,CAAC;IAClJ,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO;;;wBAGe,GAAG,uCAAuC,GAAG,UAAU,GAAG;0BACxD,GAAG,UAAU,GAAG;EACxC,IAAI;;EAEJ,CAAC;AACH,CAAC;AAED,wFAAwF;AAExF,SAAS,IAAI,CAAC,GAAgB;IAC5B,MAAM,KAAK,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,gBAAgB,CACxB,+BAA+B,EAC/B,oIAAoI,CACrI,CAAC;IACJ,CAAC;IACD,0FAA0F;IAC1F,yFAAyF;IACzF,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzD,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAEhC,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,cAAc,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAC1C,6FAA6F;IAC7F,8FAA8F;IAC9F,2FAA2F;IAC3F,wFAAwF;IACxF,MAAM,gBAAgB,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5E,MAAM,iBAAiB,GAAG,GAAG,CAAC,EAAE,CAAC,UAAU;SACxC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;SAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,UAAU,GAAG,IAAI,GAAG,EAAmB,CAAC;QAC9C,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,KAAK,IAAI,CAAC;gBAAE,SAAS;YACzB,MAAM,EAAE,GAAI,CAAgC,CAAC,OAAO,CAAC;YACrD,IAAI,EAAE,KAAK,SAAS;gBAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,wBAAwB,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;SAC3B,IAAI,CAAC,MAAM,CAAC,CAAC;IAChB,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC,UAAU;SAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;SAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;SAClC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChB,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAEjC,MAAM,MAAM,GAAG;;;;yGAIwF,CAAC;IACxG,MAAM,QAAQ,GAA2B;QACvC,MAAM;QACN,KAAK,IAAI,SAAS;QAClB,cAAc;YACZ,CAAC,CAAC,4LAA4L,cAAc,EAAE;YAC9M,CAAC,CAAC,SAAS;QACb,gBAAgB;YACd,CAAC,CAAC,oNAAoN,gBAAgB,EAAE;YACxO,CAAC,CAAC,SAAS;QACb,+GAA+G,WAAW,EAAE;QAC5H,+FAA+F,WAAW,EAAE;QAC5G,iBAAiB,CAAC,CAAC,CAAC,kEAAkE,iBAAiB,EAAE,CAAC,CAAC,CAAC,SAAS;QACrH,iBAAiB;YACf,CAAC,CAAC,6GAA6G,iBAAiB,EAAE;YAClI,CAAC,CAAC,SAAS;QACb,qFAAqF,OAAO,EAAE;QAC9F,OAAO;KACR,CAAC;IACF,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxE,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC;AACrE,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAkB;IAC5C,QAAQ,EAAE,cAAc;IACxB,aAAa,EAAE,KAAK;IACpB,oBAAoB,EAAE,4CAA4C;IAClE,YAAY,EAAE,kCAAkC;IAChD,IAAI;CACL,CAAC"}
1
+ {"version":3,"file":"emit-raw-abi-go.js","sourceRoot":"","sources":["../../src/generator/emit-raw-abi-go.ts"],"names":[],"mappings":"AAsCA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ,EAA8C,MAAM,YAAY,CAAC;AAChH,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAGnE,MAAM,EACJ,GAAG,EACH,QAAQ,EACR,WAAW,EACX,aAAa,EACb,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACd,0BAA0B,EAC1B,cAAc,EACd,uBAAuB,EACvB,SAAS,EACT,wBAAwB,EACxB,qBAAqB,GACtB,GAAG,gBAAgB,CAAC;AAErB,4FAA4F;AAE5F,gEAAgE;AAChE,SAAS,kBAAkB,CAAC,IAAc;IACxC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,oBAAoB,CAAC,CAAW,EAAE,IAAc;IACvD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,QAAQ,GAAG,eAAe,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC;IACnF,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAClC,wFAAwF;IACxF,8DAA8D;IAC9D,KAAK,CAAC,IAAI,CAAC,qBAAqB,GAAG,UAAU,CAAC,CAAC;IAC/C,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzB,KAAK,CAAC,IAAI,CACR,mBAAmB,GAAG,uDAAuD,CAAC,CAAC,IAAI,yBAAyB,GAAG,qBAAqB,CACrI,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,gCAAgC,MAAM,GAAG,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChC,KAAK,CAAC,IAAI,CACR,qBAAqB,GAAG,sDAAsD,CAAC,CAAC,IAAI,yBAAyB,MAAM,GAAG,CACvH,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5E,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAChC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,SAAS,uBAAuB,CAAC,MAAc,EAAE,GAAW,EAAE,GAAY,EAAE,IAAc,EAAE,MAAc;IACxG,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC1B,oFAAoF;gBACpF,uFAAuF;gBACvF,OAAO,GAAG,CAAC,GAAG,MAAM,QAAQ,CAAC;YAC/B,CAAC;YACD,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAChC,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YACpF,OAAO;gBACL,GAAG,CAAC,cAAc,GAAG,KAAK,EAAE,GAAG;gBAC/B,GAAG,CAAC,WAAW;gBACf,GAAG,CAAC,iBAAiB,GAAG,iEAAiE,GAAG,CAAC,MAAM,WAAW,GAAG,iBAAiB,GAAG,IAAI;gBACzI,GAAG,CAAC,GAAG;gBACP,GAAG,CAAC,GAAG,MAAM,OAAO;aACrB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,OAAO;gBACL,GAAG,CAAC,2BAA2B,GAAG,CAAC,IAAI,IAAI,GAAG,GAAG;gBACjD,GAAG,CAAC,kBAAkB;gBACtB,GAAG,CAAC,oBAAoB;gBACxB,GAAG,CAAC,GAAG;gBACP,GAAG,CAAC,GAAG,MAAM,OAAO;aACrB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACvC,MAAM,KAAK,GAAG,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;YACxF,OAAO;gBACL,GAAG,CAAC,eAAe,GAAG,OAAO,GAAG,YAAY;gBAC5C,GAAG,CAAC,WAAW;gBACf,GAAG,CAAC,iBAAiB,GAAG,4EAA4E,GAAG,iBAAiB,GAAG,IAAI;gBAC/H,GAAG,CAAC,GAAG;gBACP,GAAG,CAAC,mBAAmB,MAAM,gBAAgB;gBAC7C,GAAG,CAAC,+BAA+B;gBACnC,GAAG,CAAC,iBAAiB,MAAM,EAAE;gBAC7B,KAAK;gBACL,GAAG,CAAC,kCAAkC;gBACtC,GAAG,CAAC,GAAG;gBACP,GAAG,CAAC,GAAG,MAAM,UAAU;aACxB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,KAAK,GAAG,uBAAuB,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;YAClF,OAAO;gBACL,GAAG,CAAC,MAAM,GAAG,WAAW;gBACxB,GAAG,CAAC,KAAK,MAAM,QAAQ;gBACvB,GAAG,CAAC,UAAU;gBACd,GAAG,CAAC,gBAAgB,OAAO,EAAE;gBAC7B,KAAK;gBACL,GAAG,CAAC,KAAK,MAAM,YAAY;gBAC3B,GAAG,CAAC,GAAG;aACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;IACH,CAAC;AACH,CAAC;AAED,wFAAwF;AACxF,SAAS,uBAAuB,CAAC,QAAgB,EAAE,MAAc;IAC/D,OAAO,sBAAsB,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,EAAE,CAAC;AAC7F,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAe,EAAE,UAAgC,EAAE,IAAc;IACjG,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;QAC7C,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO;YAAE,SAAS;QACnC,MAAM,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,EAAE,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,uBAAuB,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,eAAe,EAAE,yBAAyB,EAAE,KAAK,IAAI,wBAAwB,CAAC,CAAC;IACjH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED,yFAAyF;AAEzF,MAAM,UAAU,GAAG,aAAa,CAAC;AAEjC,SAAS,gBAAgB,CAAC,MAAc,EAAE,OAAe,EAAE,GAAwB,EAAE,QAAgB,EAAE,MAAc,EAAE,YAAoC;IACzJ,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC,OAAO,OAAO,EAAE,CAAC;IACnD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC;IACpD,MAAM,KAAK,GAAG,GAAG,CAAC,mBAAmB,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,kBAAkB,CAAC;IAChG,MAAM,IAAI,GACR,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,OAAO,GAAG,CAAC;IAC5H,OAAO,GAAG,CAAC,eAAe,IAAI,KAAK,CAAC,qBAAqB,CAAC,8BAA8B,CAAC,MAAM,KAAK,EAAE,CAAC;AACzG,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAe;IACzC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,KAAK,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,EAAE,GAAI,CAAgC,CAAC,OAAO,CAAC;YACrD,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;gBACrB,MAAM,IAAI,gBAAgB,CACxB,+BAA+B,EAC/B,kCAAkC,IAAI,CAAC,IAAI,WAAY,CAAoB,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,2OAA2O,CACrW,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,EAAgE,EAAE,QAAgB,EAAE,UAAgC,EAAE,IAAc,EAAE,YAAoC;IAChM,IAAI,EAAE,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAC/B,gFAAgF;QAChF,2EAA2E;QAC3E,MAAM,IAAI,gBAAgB,CACxB,+BAA+B,EAC/B,6BAA6B,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,IAAI,iFAAiF,CACtI,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,GAAG,SAAS,CAAC;IACrB,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK;SACvB,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI;;;;kBAI3B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CACrD;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;IAC3D,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAClC,MAAM,WAAW,GAAG,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;IAC1F,OAAO,eAAe,EAAE,CAAC,KAAK;iBACf,GAAG,YAAY,IAAI;6BACP,GAAG,6BAA6B,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC;;4BAEvF,GAAG,wDAAwD,EAAE,CAAC,SAAS;;;iBAGlF,GAAG;;EAElB,WAAW;eACE,GAAG;MACZ,CAAC;AACP,CAAC;AAED,SAAS,aAAa,CAAC,IAAe,EAAE,IAAc;IACpD,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACzB,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAEjD,MAAM,KAAK,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;SACpC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,SAAS,UAAU,CAAC,EAAE,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;SACnE,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,EAAE,CAAC;IACvF,MAAM,aAAa,GAAG,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;SACzC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,YAAY,CAAC,EAAE,CAAC,oBAAoB,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;SACxE,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,sFAAsF;IACtF,mFAAmF;IACnF,MAAM,uBAAuB,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;SACtD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE;QACjB,MAAM,GAAG,GAAG,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACtD,OAAO,UAAU,YAAY,CAAC,EAAE,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC;IAC3F,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7G,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,0BAA0B,CAAC;IAExG,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChG,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IAClE,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC;IACtC,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;IAElG,OAAO,oBAAoB,EAAE;;;;;;qBAMV,EAAE,aAAa,GAAG,6BAA6B,GAAG,UAAU,GAAG;WACzE,cAAc,CAAC,KAAK,CAAC;;cAElB,GAAG;;EAEf,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE;;yBAE9C,GAAG;WACjB,GAAG;;;;EAIZ,uBAAuB,CAAC,CAAC,CAAC,sBAAsB,GAAG,uBAAuB,GAAG,0BAA0B,CAAC,CAAC,CAAC,EAAE;;;;sCAIxE,GAAG;;aAE5B,GAAG;;oBAEI,GAAG,cAAc,GAAG,WAAW,GAAG;;;;;;;;;EASpD,IAAI;wBACkB,GAAG;;YAEf,WAAW;gBACP,GAAG;mBACA,GAAG;;;;;;;mBAOH,GAAG,CAAC,IAAI;;WAEhB,UAAU;EACnB,CAAC;AACH,CAAC;AAED,yFAAyF;AAEzF,SAAS,WAAW,CAAC,GAAgB;IACnC,MAAM,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,UAAU;SAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;SAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5B,OAAO,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,GAAG,UAAU,GAAG,8CAA8C,EAAE,wBAAwB,CAAC;IAClJ,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO;;;wBAGe,GAAG,uCAAuC,GAAG,UAAU,GAAG;0BACxD,GAAG,UAAU,GAAG;EACxC,IAAI;;EAEJ,CAAC;AACH,CAAC;AAED,wFAAwF;AAExF,SAAS,IAAI,CAAC,GAAgB;IAC5B,MAAM,KAAK,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,gBAAgB,CACxB,+BAA+B,EAC/B,oIAAoI,CACrI,CAAC;IACJ,CAAC;IACD,0FAA0F;IAC1F,yFAAyF;IACzF,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzD,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAEhC,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,cAAc,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAC1C,6FAA6F;IAC7F,8FAA8F;IAC9F,2FAA2F;IAC3F,wFAAwF;IACxF,MAAM,gBAAgB,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5E,MAAM,iBAAiB,GAAG,GAAG,CAAC,EAAE,CAAC,UAAU;SACxC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;SAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,UAAU,GAAG,IAAI,GAAG,EAAmB,CAAC;QAC9C,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,KAAK,IAAI,CAAC;gBAAE,SAAS;YACzB,MAAM,EAAE,GAAI,CAAgC,CAAC,OAAO,CAAC;YACrD,IAAI,EAAE,KAAK,SAAS;gBAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,wBAAwB,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;SAC3B,IAAI,CAAC,MAAM,CAAC,CAAC;IAChB,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC,UAAU;SAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;SAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;SAClC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChB,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAEjC,MAAM,MAAM,GAAG;;;;yGAIwF,CAAC;IACxG,MAAM,QAAQ,GAA2B;QACvC,MAAM;QACN,KAAK,IAAI,SAAS;QAClB,cAAc;YACZ,CAAC,CAAC,4LAA4L,cAAc,EAAE;YAC9M,CAAC,CAAC,SAAS;QACb,gBAAgB;YACd,CAAC,CAAC,oNAAoN,gBAAgB,EAAE;YACxO,CAAC,CAAC,SAAS;QACb,+GAA+G,WAAW,EAAE;QAC5H,+FAA+F,WAAW,EAAE;QAC5G,iBAAiB,CAAC,CAAC,CAAC,kEAAkE,iBAAiB,EAAE,CAAC,CAAC,CAAC,SAAS;QACrH,iBAAiB;YACf,CAAC,CAAC,6GAA6G,iBAAiB,EAAE;YAClI,CAAC,CAAC,SAAS;QACb,qFAAqF,OAAO,EAAE;QAC9F,OAAO;KACR,CAAC;IACF,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxE,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC;AACrE,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAkB;IAC5C,QAAQ,EAAE,cAAc;IACxB,aAAa,EAAE,KAAK;IACpB,wFAAwF;IACxF,oBAAoB,EAAE,wDAAwD;IAC9E,YAAY,EAAE,kCAAkC;IAChD,IAAI;CACL,CAAC"}
@@ -28,6 +28,7 @@
28
28
  import type { EmitterPlugin } from "./core.js";
29
29
  import { type ComponentPlan, type StraightlineDialect } from "./straightline.js";
30
30
  export declare function setGoForceRunPlanHelpers(on: boolean): void;
31
+ export declare function setGoForceStraightHelpers(on: boolean): void;
31
32
  /**
32
33
  * emitExpr — Expression IR ノードを「scope を受けて (Value, error) を返す」Go 式に落とす
33
34
  * (**dynamic 式専用**の legacy 経路 — RunPlan 経路と typed emitter が流用する seam)。
@@ -52,6 +53,7 @@ export declare const goStraightlineInternals: {
52
53
  goPortVar: typeof goPortVar;
53
54
  sanitize: typeof sanitize;
54
55
  dialect: StraightlineDialect;
56
+ setGoForceStraightHelpers: typeof setGoForceStraightHelpers;
55
57
  };
56
58
  export declare const goStraightlineEmitter: EmitterPlugin;
57
59
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"emit-straightline-go.d.ts","sourceRoot":"","sources":["../../src/generator/emit-straightline-go.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,WAAW,CAAC;AAG5D,OAAO,EAQL,KAAK,aAAa,EAIlB,KAAK,mBAAmB,EACzB,MAAM,mBAAmB,CAAC;AA+B3B,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAE1D;AA8ED;;;GAGG;AACH,iBAAS,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA4BzD;AAgHD,oEAAoE;AACpE,iBAAS,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtC;AAkZD,oDAAoD;AACpD,iBAAS,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CASnD;AAmCD,iCAAiC;AACjC,iBAAS,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvC;AAgND,yEAAyE;AACzE,iBAAS,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAMtD;AA0PD;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;CAQnC,CAAC;AAMF,eAAO,MAAM,qBAAqB,EAAE,aAMnC,CAAC"}
1
+ {"version":3,"file":"emit-straightline-go.d.ts","sourceRoot":"","sources":["../../src/generator/emit-straightline-go.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,WAAW,CAAC;AAG5D,OAAO,EAQL,KAAK,aAAa,EAIlB,KAAK,mBAAmB,EACzB,MAAM,mBAAmB,CAAC;AAmC3B,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAE1D;AAUD,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAE3D;AA8ED;;;GAGG;AACH,iBAAS,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA4BzD;AAgHD,oEAAoE;AACpE,iBAAS,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtC;AAkZD,oDAAoD;AACpD,iBAAS,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CASnD;AAmCD,iCAAiC;AACjC,iBAAS,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvC;AAgND,yEAAyE;AACzE,iBAAS,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAMtD;AA0PD;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;CASnC,CAAC;AAMF,eAAO,MAAM,qBAAqB,EAAE,aAUnC,CAAC"}
@@ -7,11 +7,15 @@ const SCOPE = "baseScope()";
7
7
  /** map 本体の要素 scope 式(RunPlan 経路の map 展開用 — 逐次経路は per-map ローカル)。 */
8
8
  const MAP_SCOPE = "mscope()";
9
9
  /**
10
- * 生成中 module の json.Number 使用 / helper 要否の構造的トラッカー(emitModule が emit 前に reset)。
10
+ * 生成中 module の helper 要否の構造的トラッカー(emitModule が emit 前に reset)。
11
11
  * 生成テキストの substring 判定(文字列リテラル内容に誤反応)はしない。
12
+ *
13
+ * bc no-json invariant(オーナー指示・0.5.0): 直線生成 Go は encoding/json を import
14
+ * しない。runtime import は JSON-free な coderuntime サブパッケージ(defaultRuntimeImport)。
15
+ * IR リテラル(JObjOf / json.Number)は直線経路に存在せず、万一 leak しても coderuntime
16
+ * には JNode が無いのでコンパイルが LOUD に落ちる(黙って通らない)。
12
17
  */
13
18
  const usage = {
14
- json: false,
15
19
  runPlan: false,
16
20
  slBind: false,
17
21
  slField: false,
@@ -30,6 +34,17 @@ let forceRunPlanHelpers = false;
30
34
  export function setGoForceRunPlanHelpers(on) {
31
35
  forceRunPlanHelpers = on;
32
36
  }
37
+ /**
38
+ * bc#77 (combined read emitter, go-typed-native) reuses the base straight-line body's
39
+ * RunPlan-path native helpers (slRef/slRefOpt/slConcat/slPart/slVal) to evaluate its ports and
40
+ * output via the primitive SSoT — but its runner is INLINE sequential (no RunPlan), so it does
41
+ * NOT reference `sync`. This flag forces the slPart helper block WITHOUT the `sync` import
42
+ * (distinct from setGoForceRunPlanHelpers, which also imports sync for the RunPlan runner).
43
+ */
44
+ let forceStraightHelpers = false;
45
+ export function setGoForceStraightHelpers(on) {
46
+ forceStraightHelpers = on;
47
+ }
33
48
  function resetUsage() {
34
49
  for (const k of Object.keys(usage))
35
50
  usage[k] = false;
@@ -766,11 +781,10 @@ function emitPlanDrivenGoFn(plan) {
766
781
  ? emitBehaviorPlanLiteral(plan.component.plan)
767
782
  : `(*${PKG}.ExecutionPlanSpec)(nil)`;
768
783
  const output = emitExpr(plan.component.output, SCOPE);
769
- // arms は buildComponentPlan 由来の op.expr(emitModule の reset より前に生成)。json/slField/slPart/
770
- // slConcat の使用は実 emit テキストで確定させる(arms は我々の生成した go 式で、user 由来 string は
771
- // JObjOf/リテラルの内側にあるため token 出現=実使用で安全)。
772
- if (/json\.Number\(|json\.RawMessage/.test(arms))
773
- usage.json = true;
784
+ // arms は buildComponentPlan 由来の op.expr(emitModule の reset より前に生成)。slPart/slConcat の
785
+ // 使用は実 emit テキストで確定させる。json.Number の追跡は撤去済み(bc no-json invariant: 直線経路は
786
+ // IR リテラルを emit しないので encoding/json import は常に不要 — 万一 leak すれば coderuntime に
787
+ // JNode/json.Number の受け皿が無くコンパイルが LOUD に落ちる)。
774
788
  // slRef/slRefOpt/slConcat/slPart は RunPlan-path helper(usage.slPart 枝で定義)。逐次 slFieldVE
775
789
  // (usage.slField 枝・slVE 型必須)ではないので slPart を立てる。
776
790
  if (/slRef(Opt)?\(|slConcat\(\[\]slPart\{/.test(arms))
@@ -857,7 +871,7 @@ function emitComponent(plan, _ctx) {
857
871
  return emitPlanDrivenGoFn(plan);
858
872
  }
859
873
  function emitModule(plans, ctx) {
860
- const { fingerprint, specVersions, componentNames, runtimeImport } = ctx;
874
+ const { specVersions, componentNames, runtimeImport } = ctx;
861
875
  const names = componentNames.map((n) => JSON.stringify(n)).join(", ");
862
876
  // buildComponentPlan は逐次経路が使わない op.expr を先に emit するため usage を過大に立てる。
863
877
  // 実 emit 直前で reset し、emitComponent 内の呼び出しだけが import/helper 要否を立てるようにする。
@@ -871,7 +885,11 @@ function emitModule(plans, ctx) {
871
885
  usage.slPart = true;
872
886
  usage.runPlan = true; // sync import
873
887
  }
874
- const usesJson = usage.json;
888
+ if (forceStraightHelpers) {
889
+ // bc#77: the combined read runner uses the slPart helper block (slRef/slConcat/slPart) for
890
+ // Value-space port/output evaluation but is INLINE sequential — no `sync` (no usage.runPlan).
891
+ usage.slPart = true;
892
+ }
875
893
  const dispatchArms = plans
876
894
  .map((p) => `\tif name == ${JSON.stringify(p.name)} {\n\t\treturn run_${sanitize(p.name)}(handlers, input)\n\t}`)
877
895
  .join("\n");
@@ -1008,10 +1026,8 @@ func slRefWalk(op string, path []string, scope *${PKG}.Obj) (${PKG}.Value, error
1008
1026
  \t}
1009
1027
  \treturn cur, nil
1010
1028
  }`);
1011
- // 依存 import の構造的判定。
1029
+ // 依存 import の構造的判定(bc no-json invariant: encoding/json は決して emit しない)。
1012
1030
  const imports = [];
1013
- if (usesJson)
1014
- imports.push(`\t"encoding/json"`);
1015
1031
  imports.push(`\t"fmt"`);
1016
1032
  if (usage.slCat || usage.slPart)
1017
1033
  imports.push(`\t"strings"`);
@@ -1031,8 +1047,9 @@ func slRefWalk(op string, path []string, scope *${PKG}.Obj) (${PKG}.Value, error
1031
1047
  // (overflow arithmetic, strict-bool short-circuit, obj/arr construction, checked literals)
1032
1048
  // still route through the A0 Prim* primitives (#36) — the semantics SSoT stays single-
1033
1049
  // sourced. Handlers are ALWAYS injected at the boundary; they are never generated.
1034
- // The portable IR is NOT embedded: this module carries only IRFingerprint + ComponentNames.
1035
- // irFingerprint: ${fingerprint}
1050
+ // The portable IR is NOT embedded: this module carries only ExpectedSpecVersions +
1051
+ // ComponentNames (the IR fingerprint is a BUILD-TIME return on GenerateResult.fingerprint,
1052
+ // not baked into the module — the skew gate lives on the consumer/build side, 0.5.0).
1036
1053
 
1037
1054
  package behaviors
1038
1055
 
@@ -1044,10 +1061,6 @@ ${imports.join("\n")}
1044
1061
  // (fail-closed constant comparison at init).
1045
1062
  var ExpectedSpecVersions = map[string]int64{"behavior": ${specVersions.behavior}, "expression": ${specVersions.expression}, "plan": ${specVersions.plan}}
1046
1063
 
1047
- // IRFingerprint is the FNV-1a 64 fingerprint of the source portable IR
1048
- // (CanonicalJSON discipline, #208), computed at GENERATION time.
1049
- const IRFingerprint = ${JSON.stringify(fingerprint)}
1050
-
1051
1064
  // ComponentNames are the components exposed by Bind(), in IR declaration order.
1052
1065
  var ComponentNames = []string{${names}}
1053
1066
 
@@ -1107,6 +1120,7 @@ export const goStraightlineInternals = {
1107
1120
  goPortVar,
1108
1121
  sanitize,
1109
1122
  dialect,
1123
+ setGoForceStraightHelpers,
1110
1124
  };
1111
1125
  function emit(ctx) {
1112
1126
  return emitStraightlineModule(ctx, dialect, SCOPE);
@@ -1114,7 +1128,11 @@ function emit(ctx) {
1114
1128
  export const goStraightlineEmitter = {
1115
1129
  language: "go-straightline",
1116
1130
  fileExtension: ".go",
1117
- defaultRuntimeImport: "github.com/foo-ogawa/behavior-contracts/go",
1131
+ // JSON-free codegen runtime (bc no-json invariant, 0.5.0): generated modules
1132
+ // link against the coderuntime subpackage — encoding/json never enters a
1133
+ // codegen consumer's compile unit. The IR interpreter surface stays at the
1134
+ // module root (…/go) and is NOT imported by generated straight-line code.
1135
+ defaultRuntimeImport: "github.com/foo-ogawa/behavior-contracts/go/coderuntime",
1118
1136
  filenameHint: "behaviors.straightline.generated.go",
1119
1137
  emit,
1120
1138
  };
@@ -1 +1 @@
1
- {"version":3,"file":"emit-straightline-go.js","sourceRoot":"","sources":["../../src/generator/emit-straightline-go.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,WAAW,EACX,mBAAmB,GAMpB,MAAM,mBAAmB,CAAC;AAE3B,mEAAmE;AACnE,MAAM,GAAG,GAAG,cAAc,CAAC;AAC3B,6DAA6D;AAC7D,MAAM,KAAK,GAAG,aAAa,CAAC;AAC5B,mEAAmE;AACnE,MAAM,SAAS,GAAG,UAAU,CAAC;AAE7B;;;GAGG;AACH,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,KAAK,EAAE,yCAAyC;IACxD,UAAU,EAAE,KAAK;CAClB,CAAC;AAEF;;;;;GAKG;AACH,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAChC,MAAM,UAAU,wBAAwB,CAAC,EAAW;IAClD,mBAAmB,GAAG,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,UAAU;IACjB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QAAG,KAAiC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AACpF,CAAC;AAED;;;;;GAKG;AACH,SAAS,GAAG,CAAC,IAAa;IACxB,MAAM,IAAI,KAAK,CACb,4DAA4D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,4DAA4D,CAC3J,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,SAAS,KAAK,CAAC,IAAa;IAC1B,OAAO,WAAW,GAAG,UAAU,GAAG,2BAA2B,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC;AACvF,CAAC;AAED,+DAA+D;AAC/D,SAAS,UAAU,CAAC,CAAS;IAC3B,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;AACxC,CAAC;AAED;;;;;GAKG;AACH,MAAM,GAAG,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,CAAC,CAAU,EAAE,CAAS,EAAE,EAAE;IACpD,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAc,CAAC;IAC9B,OAAO,GAAG,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;AACxD,CAAC,CAAC;AACF,MAAM,EAAE,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,CAAC,CAAU,EAAE,CAAS,EAAE,EAAE;IACnD,MAAM,CAAC,CAAC,CAAC,GAAG,CAAc,CAAC;IAC3B,OAAO,GAAG,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;AAC3C,CAAC,CAAC;AACF,MAAM,OAAO,GAAwD;IACnE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,iBAAiB,IAAI,CAAC,SAAS,CAAC,CAAW,CAAC,GAAG;IACjE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,mBAAmB,UAAU,CAAC,CAAW,CAAC,GAAG;IACjE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACZ,MAAM,GAAG,GAAG,CAA4B,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,OAAO,GAAG,GAAG,uBAAuB,OAAO,QAAQ,GAAG,WAAW,IAAI,MAAM,CAAC,GAAG,CAAC;IAClF,CAAC;IACD,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACZ,GAAG,GAAG,gBAAgB,GAAG,WAAY,CAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG;IAChG,GAAG,EAAE,GAAG,CAAC,WAAW,CAAC;IACrB,GAAG,EAAE,GAAG,CAAC,WAAW,CAAC;IACrB,GAAG,EAAE,GAAG,CAAC,WAAW,CAAC;IACrB,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC;IACpB,GAAG,EAAE,GAAG,CAAC,WAAW,CAAC;IACrB,GAAG,EAAE,GAAG,CAAC,WAAW,CAAC;IACrB,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC;IACnB,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC;IACnB,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC;IACnB,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC;IACnB,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC;IACnB,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC;IACnB,GAAG,EAAE,GAAG,CAAC,WAAW,CAAC;IACrB,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC;IACnB,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC;IACpB,QAAQ,EAAE,GAAG,CAAC,gBAAgB,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAc,CAAC;QACjC,OAAO,GAAG,GAAG,eAAe,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;IAC1E,CAAC;IACD,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,SAAS,QAAQ,CAAC,IAAa,EAAE,QAAgB;IAC/C,6CAA6C;IAC7C,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,YAAY,CAAC;IACvC,IAAI,OAAO,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC;IAC1E,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;IACtE,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,GAAG,GAAG,oBAAoB,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;IACnF,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,MAAM,GAAG,GAAI,IAAgC,CAAC,EAAE,CAAC,CAAC;YAClD,IAAI,EAAE,KAAK,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACpC,yEAAyE;gBACzE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;gBACpB,OAAO,QAAQ,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,QAAQ,GAAG,CAAC;YACrF,CAAC;YACD,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACpB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;gBACpB,OAAO,qBAAqB,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,QAAQ,GAAG,CAAC;YAC9E,CAAC;YACD,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;YACzB,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IACD,gEAAgE;IAChE,MAAM,IAAI,KAAK,CACb,wEAAwE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAC7G,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,SAAS,cAAc,CAAC,GAAY;IAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IACvG,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACzB,IAAI,OAAO,CAAC,KAAK,QAAQ;YACvB,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;QACtG,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IACH,OAAO,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACxC,CAAC;AAED,gEAAgE;AAChE,SAAS,eAAe,CAAC,GAAY,EAAE,QAAgB;IACrD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IACnG,KAAK,QAAQ,CAAC;IACd,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,GAAG,UAAU,GAAG,2BAA2B,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/G,CAAC;AAuBD,qDAAqD;AACrD,SAAS,QAAQ,CAAC,IAAa,EAAE,GAAW;IAC1C,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACrB,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,IAAI,GAAG,CAAC,KAAK;QAAE,OAAO,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;IAC1C,IAAI,CAAC,GAAG,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;IACnH,OAAO,GAAG,CAAC,QAAQ,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,IAAY,EAAE,GAAW;IAC3C,IAAI,GAAG,CAAC,KAAK,IAAI,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;QACvC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,OAAO,UAAU,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC;IACtC,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,cAAc,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC;QACrE,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;YACnC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACpB,IAAI,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC;gBAAE,OAAO,UAAU,KAAK,GAAG,CAAC;YAClF,OAAO,cAAc,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAE,KAAK,KAAK,YAAY,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;QAC1F,CAAC;IACH,CAAC;IACD,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,mBAAmB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;AACpD,CAAC;AAED,+DAA+D;AAC/D,SAAS,SAAS,CAAC,CAAa,EAAE,GAAW;IAC3C,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,KAAK;YACR,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACpB,OAAO,WAAW,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;QAC/C,KAAK,MAAM;YACT,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACpB,OAAO,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC;QAClD,KAAK,MAAM;YACT,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACpB,OAAO,cAAc,CAAC;QACxB,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YACrC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;YACrB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtE,OAAO,aAAa,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,cAAc,IAAI,IAAI,CAAC;QAC9F,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;YACnB,OAAO,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACxE,CAAC;QACD,KAAK,SAAS;YACZ,sEAAsE;YACtE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACpB,OAAO,SAAS,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,6CAA6C;AAC7C,SAAS,OAAO,CAAC,IAAa,EAAE,GAAW;IACzC,OAAO,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,oEAAoE;AACpE,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED,iCAAiC;AACjC,SAAS,WAAW,CAAC,MAAc,EAAE,GAAa;IAChD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QACpB,IAAI,IAAI,GAAG,GAAG,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;QAC3C,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChB,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED,iEAAiE;AACjE,SAAS,YAAY,CAAC,YAAgC;IACpD,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;IACxB,OAAO,GAAG,GAAG,oBAAoB,IAAI,CAAC,SAAS,CAAC,YAAY,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;AAC9G,CAAC;AAED,gGAAgG;AAChG,SAAS,cAAc,CAAC,UAAkB,EAAE,IAAY,EAAE,IAAsB,EAAE,GAAW;IAC3F,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO;YACL,GAAG,GAAG,MAAM,UAAU,YAAY;YAClC,GAAG,GAAG,iBAAiB,GAAG,0GAA0G,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,UAAU,QAAQ;YAC/K,GAAG,GAAG,GAAG;SACV,CAAC;IACJ,CAAC;IACD,iDAAiD;IACjD,OAAO;QACL,GAAG,GAAG,MAAM,UAAU,YAAY;QAClC,GAAG,GAAG,iBAAiB,GAAG,6FAA6F,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,UAAU,QAAQ;QAClK,GAAG,GAAG,GAAG;KACV,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,SAAS,CAAC,EAAkB,EAAE,IAAmB,EAAE,GAAW,EAAE,KAAe;IACtF,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;IACnB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;IAChB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;IACjC,KAAK,CAAC,IAAI,CACR,eAAe,EAAE,MAAM,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAC7K,CAAC;IAEF,kDAAkD;IAClD,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,iBAAiB,GAAG,qCAAqC,IAAI,CAAC,SAAS,CAAC,wBAAwB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;QACtI,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC;IAChD,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,GAAG,cAAc,EAAE,KAAK,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAE,WAAW,CAAC,CAAC;IACvF,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,wEAAwE,CAAC,CAAC;QAC7G,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAE,CAAC,CAAC;IACpG,CAAC;IACD,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QACnD,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAE,CAAC;QAC5D,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QAChC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QAClD,+DAA+D;QAC/D,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,QAAQ,EAAE,YAAY,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM,EAAE,SAAS,CAAC,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC1F,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,QAAQ,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;QACxD,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QACtB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QACvB,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAClC,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,6DAA6D;AAC7D,SAAS,WAAW,CAAC,EAAkB,EAAE,IAAmB,EAAE,GAAW,EAAE,KAAe,EAAE,GAAW;IACrG,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;IACnB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;IAChB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;IACjC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC;IAEhD,4BAA4B;IAC5B,MAAM,KAAK,GAAG,CAAC,SAAiB,EAAE,MAAgB,EAAE,IAAY,EAAQ,EAAE;QACxE,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,MAAM,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAE,SAAS,CAAC,CAAC;QACxF,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,OAAO,SAAS,EAAE,EAAE,GAAG,IAAI,OAAO,KAAK,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,GAAG,CAAC,QAAQ;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,QAAQ,QAAQ,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC;IAC/F,CAAC,CAAC;IAEF,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,CAAC,GAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAc,CAAC,IAAI,CAAC;QACpD,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5E,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,cAAc,EAAE,GAAG,GAAG,iBAAiB,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;QAClF,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACtB,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7C,OAAO;IACT,CAAC;IACD,mDAAmD;IACnD,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC;IAChC,MAAM,QAAQ,GAAG,SAAS,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;IACzC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,QAAQ,OAAO,GAAG,WAAW,CAAC,CAAC;IACnD,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACxE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,EAAE,CAAC;QACzE,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,OAAO,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM,EAAE,eAAe,EAAE,GAAG,GAAG,iBAAiB,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;QACtF,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,QAAQ,QAAQ,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC;IACD,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC;IAC1B,MAAM,EAAE,GAAG,KAAK,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,KAAK,EAAE,eAAe,GAAG,0BAA0B,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,QAAQ,QAAQ,CAAC,CAAC;IACnJ,KAAK,CAAC,IAAI,CACR,GAAG,GAAG,OAAO,EAAE,YAAY,EAC3B,GAAG,GAAG,iBAAiB,GAAG,wDAAwD,EAAE,CAAC,SAAS,kCAAkC,EAChI,GAAG,GAAG,GAAG,CACV,CAAC;IACF,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,EAAE,YAAY,CAAC,CAAC;QACxC,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QACjD,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,SAAS,UAAU,CACjB,EAA4C,EAC5C,IAAmB,EACnB,GAAW,EACX,KAAe,EACf,GAAW,EACX,KAAkE;IAElE,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;IACnB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAa,CAAC,GAAG,CAAC;IAClD,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;IACjB,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEnC,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;IACnF,MAAM,aAAa,GACjB,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9B,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,KAAK,GAAG,CAAC,CAAa,EAAW,EAAE,CACvC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAClG,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,MAAM,aAAa,GAAG,GAAG,CAAC,QAAQ,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC;IACxB,MAAM,SAAS,GAAG,UAAU,CAAC,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAG,aAAa,CAAC,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC;IAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC;IAE5B,MAAM,MAAM,GAAW,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC;IAEzE,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,OAAO,SAAS,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5D,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM,OAAO,iBAAiB,EAAE,GAAG,GAAG,iBAAiB,OAAO,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;IACpG,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,OAAO,KAAK,OAAO,YAAY,OAAO,aAAa,GAAG,SAAS,CAAC,CAAC;IACrF,KAAK,CAAC,IAAI,CACR,GAAG,GAAG,OAAO,OAAO,SAAS,EAC7B,GAAG,GAAG,iBAAiB,GAAG,mDAAmD,EAAE,0CAA0C,EACzH,GAAG,GAAG,GAAG,CACV,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,OAAO,0BAA0B,OAAO,IAAI,CAAC,CAAC;IAClE,IAAI,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,OAAO,WAAW,CAAC,CAAC;IAEtD,MAAM,WAAW,GAAG,CAAC,IAAY,EAAY,EAAE;QAC7C,IAAI,CAAC,aAAa;YAAE,OAAO,EAAE,CAAC;QAC9B,OAAO;YACL,GAAG,IAAI,GAAG,SAAS,OAAO,GAAG,WAAW;YACxC,GAAG,CAAC,aAAa;gBACf,CAAC,CAAC,CAAC,GAAG,IAAI,UAAU,SAAS,cAAc,aAAa,SAAS,EAAE,GAAG,IAAI,KAAK,SAAS,QAAQ,SAAS,MAAM,aAAa,SAAS,SAAS,KAAK,EAAE,GAAG,IAAI,GAAG,CAAC;gBAChK,CAAC,CAAC,CAAC,GAAG,IAAI,UAAU,SAAS,yBAAyB,EAAE,GAAG,IAAI,KAAK,SAAS,QAAQ,SAAS,iBAAiB,SAAS,KAAK,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC;YAC7I,GAAG,IAAI,GAAG,SAAS,QAAQ,KAAK,KAAK,KAAK,GAAG;SAC9C,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,CAAC,IAAY,EAAY,EAAE;QAC5C,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO;YACL,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;YAC9F,GAAG,IAAI,MAAM,CAAC,cAAc;YAC5B,GAAG,IAAI,iBAAiB,CAAC,KAAK;YAC9B,GAAG,IAAI,GAAG;YACV,GAAG,IAAI,MAAM,CAAC,YAAY;YAC1B,GAAG,IAAI,YAAY;YACnB,GAAG,IAAI,GAAG;SACX,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,QAAgB,EAAY,EAAE;QAC7D,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,QAAQ,OAAO,GAAG,WAAW,CAAC,CAAC;QACtD,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;YACzB,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,EAAE,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YAChE,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,iBAAiB,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC;YACvF,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,QAAQ,QAAQ,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IAEF,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,KAAK,cAAc,GAAG,kBAAkB,OAAO,IAAI,CAAC,CAAC;QACzE,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,KAAK,QAAQ,KAAK,aAAa,OAAO,IAAI,CAAC,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1G,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,KAAK,aAAa,KAAK,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,KAAK,OAAO,aAAa,OAAO,KAAK,KAAK,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;QACjI,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,SAAS,MAAM,GAAG,QAAQ,CAAC,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,UAAU,KAAK,UAAU,EAAE,GAAG,GAAG,KAAK,SAAS,QAAQ,GAAG,UAAU,EAAE,GAAG,GAAG,UAAU,CAAC,CAAC;QACzG,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,EAAE,OAAO,GAAG,WAAW,EAAE,GAAG,GAAG,KAAK,EAAE,iBAAiB,KAAK,GAAG,CAAC,CAAC;QACvF,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,EAAE,KAAK,EAAE,eAAe,GAAG,0BAA0B,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,IAAI,KAAK,EAAE,QAAQ,CAAC,CAAC;QACvH,KAAK,CAAC,IAAI,CACR,GAAG,GAAG,SAAS,EAAE,YAAY,EAC7B,GAAG,GAAG,mBAAmB,GAAG,wDAAwD,EAAE,CAAC,SAAS,kCAAkC,EAClI,GAAG,GAAG,KAAK,CACZ,CAAC;QACF,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,QAAQ,EAAE,YAAY,EAAE,GAAG,GAAG,OAAO,OAAO,SAAS,EAAE,GAAG,GAAG,YAAY,CAAC,CAAC;YAC5F,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC;YAClE,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,SAAS,cAAc,GAAG,kBAAkB,OAAO,IAAI,CAAC,CAAC;QAC7E,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,KAAK,QAAQ,KAAK,aAAa,OAAO,IAAI,CAAC,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1G,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,EAAE,KAAK,EAAE,eAAe,GAAG,0BAA0B,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC;QACjI,KAAK,CAAC,IAAI,CACR,GAAG,GAAG,SAAS,EAAE,YAAY,EAC7B,GAAG,GAAG,mBAAmB,GAAG,wDAAwD,EAAE,CAAC,SAAS,kCAAkC,EAClI,GAAG,GAAG,KAAK,CACZ,CAAC;QACF,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,QAAQ,EAAE,YAAY,EAAE,GAAG,GAAG,OAAO,OAAO,SAAS,EAAE,GAAG,GAAG,WAAW,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC;QAC1G,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;QAC1D,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,SAAS,aAAa,SAAS,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,KAAK,OAAO,aAAa,OAAO,KAAK,KAAK,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;IACzI,CAAC;IAED,mEAAmE;IACnE,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IACzC,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACzB,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,GAAG,cAAc,GAAG,kBAAkB,OAAO,IAAI,CAAC,CAAC;QACzE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,aAAa,OAAO,IAAI,CAAC,CAAC;QAClE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,WAAW,CAAC,UAAU,OAAO,QAAQ,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzF,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,cAAc,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;QAC5E,MAAM,CAAC,IAAI,CACT,GAAG,IAAI,iBAAiB,CAAC,IAAI,EAC7B,GAAG,IAAI,qBAAqB,GAAG,wEAAwE,EAAE,yEAAyE,CAAC,IAAI,EACvL,GAAG,IAAI,OAAO,CACf,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,UAAU,CAAC,OAAO,GAAG,WAAW,CAAC,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,iBAAiB,CAAC,oBAAoB,CAAC,SAAS,EAAE,GAAG,IAAI,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;QACrJ,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,UAAU,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS,OAAO,CAAC,IAAI,CAAC,CAAC;QACxF,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,aAAa,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QACnF,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,YAAY,EAAE,GAAG,IAAI,OAAO,GAAG,aAAa,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;QAC/F,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACxB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,OAAO,IAAI,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;IACxB,CAAC;AACH,CAAC;AAED,oDAAoD;AACpD,SAAS,OAAO,CAAC,EAAU,EAAE,SAAiB,EAAE,KAAa,EAAE,EAAU,EAAE,CAAS,EAAE,GAAW;IAC/F,OAAO;QACL,GAAG,GAAG,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS;QAC7D,GAAG,GAAG,aAAa,CAAC,mBAAmB,CAAC,YAAY,KAAK,KAAK;QAC9D,GAAG,GAAG,iBAAiB,GAAG,sEAAsE,EAAE,0EAA0E,KAAK,KAAK;QACtL,GAAG,GAAG,GAAG;QACT,GAAG,GAAG,GAAG,SAAS,cAAc,CAAC,EAAE;KACpC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,IAAmB,EAAE,KAAe;IAC9D,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC3D,MAAM,GAAG,GAAG,IAAI,KAAK,CAAS,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACtD,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACvC,MAAM,GAAG,GAAW;QAClB,GAAG;QACH,SAAS;QACT,KAAK;QACL,KAAK;QACL,MAAM;QACN,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QACpC,UAAU,EAAE,CAAC;QACb,QAAQ,EAAE,KAAK;KAChB,CAAC;IAEF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,0BAA0B,GAAG,UAAU,GAAG,kBAAkB,CAAC,CAAC;IACxH,KAAK,CAAC,IAAI,CAAC,qBAAqB,EAAE,eAAe,GAAG,WAAW,EAAE,KAAK,CAAC,CAAC;IACxE,IAAI,SAAS,EAAE,CAAC;QACd,mEAAmE;QACnE,KAAK,CAAC,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,kCAAkC,EAAE,iCAAiC,EAAE,KAAK,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,WAAW;YAAE,MAAM;QACvB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7C,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,QAAQ;YAAE,WAAW,GAAG,IAAI,CAAC;IAClE,CAAC;IACD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;QACpB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC;gBAAE,SAAS;YACjD,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,EAAE,CAAE,IAAI,CAAC,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,EAAE,CAAE,MAAM,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACvF,IAAI,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,EAAE,CAAE,GAAG,CAAC,CAAC;YACrF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,yBAAyB,EAAE,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAC1E,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACxC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,qFAAqF;AACrF,oDAAoD;AACpD,qFAAqF;AAErF,oDAAoD;AACpD,SAAS,cAAc,CAAC,IAAmB;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxG,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QAC3G,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAChG,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAC/F,OAAO,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACtC,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,GAAG,aAAa,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;AACrD,CAAC;AAED,wDAAwD;AACxD,SAAS,WAAW,CAAC,EAAkB;IACrC,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK;QAAE,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC;IAC7C,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACvB,OAAO,eAAe,EAAE,CAAC,KAAK;kBAChB,EAAE,CAAC,IAAI;;;;eAIV,GAAG;MACZ,CAAC;IACL,CAAC;IACD,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK;SACvB,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,SAAS,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI;;;;kBAIlC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAC5D;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;IAC3D,OAAO,eAAe,EAAE,CAAC,KAAK;iBACf,GAAG,YAAY,IAAI;6BACP,GAAG,0BAA0B,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC;;4BAEpF,GAAG,wDAAwD,EAAE,CAAC,SAAS;;;MAG7F,CAAC;AACP,CAAC;AAED,iCAAiC;AACjC,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,EAAE,CAAC;AACrD,CAAC;AAED,wCAAwC;AACxC,SAAS,gBAAgB,CAAC,EAA4C;IACpE,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,oBAAoB,GAAG,WAAW,CAAC;IACrE,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK;SACnB,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,WAAW,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI;;;;oBAIlC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAC9D;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,oBAAoB,GAAG,cAAc,KAAK,EAAE,CAAC;AACtD,CAAC;AAED,6CAA6C;AAC7C,SAAS,UAAU,CAAC,EAA4C;IAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,MAAM,UAAU,GACd,EAAE,CAAC,KAAK,KAAK,SAAS;QACpB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,4BAA4B,EAAE,CAAC,KAAK;;;;;;UAMlC,CAAC;IACT,MAAM,SAAS,GAAG;4BACQ,GAAG;iBACd,KAAK;kBACJ,KAAK;;;mBAGJ,CAAC;IAClB,MAAM,QAAQ,GACZ,EAAE,CAAC,IAAI,KAAK,SAAS;QACnB,CAAC,CAAC,gBAAgB,GAAG,uBAAuB;QAC5C,CAAC,CAAC,6BAA6B,GAAG;;;;mCAIL,GAAG;;gCAEN,GAAG,wEAAwE,EAAE,CAAC,EAAE;;kBAE9F,GAAG;;;;mBAIF,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;eAO3B,GAAG,uBAAuB,CAAC;IACxC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO;QACrB,CAAC,CAAC,yBAAyB,GAAG;;EAEhC,SAAS,GAAG,UAAU;EACtB,gBAAgB,CAAC,EAAE,CAAC;;;;wBAIE,GAAG;;wBAEH,GAAG;;wBAEH,GAAG;;+BAEI,GAAG,0BAA0B,MAAM,KAAK,IAAI;;8BAE7C,GAAG,wDAAwD,EAAE,CAAC,SAAS;;;;;oCAKjE,GAAG;;8BAET,GAAG,sEAAsE,EAAE,CAAC,EAAE;;;;EAI1G,QAAQ,EAAE;QACR,CAAC,CAAC,6BAA6B,GAAG;;EAEpC,SAAS,GAAG,UAAU;EACtB,gBAAgB,CAAC,EAAE,CAAC;+BACS,GAAG,0BAA0B,MAAM,KAAK,IAAI;;8BAE7C,GAAG,wDAAwD,EAAE,CAAC,SAAS;;;;;;;;EAQnG,QAAQ,EAAE,CAAC;IACX,OAAO,eAAe,EAAE,CAAC,KAAK;4BACJ,EAAE,CAAC,IAAI;;;;qCAIE,GAAG;;4BAEZ,GAAG,mDAAmD,EAAE,CAAC,EAAE;;;EAGrF,IAAI;MACA,CAAC;AACP,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,IAAmB;IAC7C,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;IACxB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI;QACrC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAC9C,CAAC,CAAC,KAAK,GAAG,0BAA0B,CAAC;IACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACtD,wFAAwF;IACxF,sEAAsE;IACtE,wCAAwC;IACxC,IAAI,iCAAiC,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IACpE,uFAAuF;IACvF,gDAAgD;IAChD,IAAI,sCAAsC,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IAC3E,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9G,MAAM,SAAS,GAAG,YAAY,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACxF,OAAO,YAAY,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,0BAA0B,GAAG,UAAU,GAAG;WACvF,cAAc,CAAC,IAAI,CAAC;;cAEjB,GAAG;;eAEF,GAAG;;;;yBAIO,GAAG;WACjB,GAAG;;;;;;;;;;;qBAWO,SAAS;;sCAEQ,GAAG;;aAE5B,GAAG;;;;iCAIiB,GAAG;;EAElC,IAAI;wBACkB,GAAG;;;;;;2BAMA,GAAG,kBAAkB,GAAG,WAAW,GAAG;;;;;;;;;;YAUrD,WAAW;gBACP,GAAG;mBACA,GAAG;;;;;;;;;;sBAUA,GAAG;;WAEd,MAAM;EACf,CAAC;AACH,CAAC;AAED,yEAAyE;AACzE,SAAS,uBAAuB,CAAC,IAAa;IAC5C,MAAM,CAAC,GAAG,IAAqD,CAAC;IAChE,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,WAAW,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IAClF,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC;IAChC,OAAO,IAAI,GAAG,8BAA8B,SAAS,kBAAkB,IAAI,GAAG,CAAC;AACjF,CAAC;AAED,SAAS,aAAa,CAAC,IAAmB,EAAE,IAAiB;IAC3D,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9C,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3D,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,UAAU,CAAC,KAAsB,EAAE,GAAgB;IAC1D,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC;IACzE,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtE,qEAAqE;IACrE,wEAAwE;IACxE,UAAU,EAAE,CAAC;IACb,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjE,IAAI,mBAAmB,EAAE,CAAC;QACxB,gGAAgG;QAChG,kFAAkF;QAClF,0EAA0E;QAC1E,4CAA4C;QAC5C,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,cAAc;IACtC,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;IAC5B,MAAM,YAAY,GAAG,KAAK;SACvB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC;SAChH,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,qCAAqC;IACrC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,OAAO,CAAC,IAAI,CAAC;eACA,GAAG,YAAY,GAAG,kCAAkC,CAAC,CAAC;IACnE,IAAI,KAAK,CAAC,OAAO;QACf,OAAO,CAAC,IAAI,CAAC;;kBAEC,GAAG,iBAAiB,GAAG,aAAa,CAAC,CAAC;IACtD,IAAI,KAAK,CAAC,MAAM;QACd,OAAO,CAAC,IAAI,CAAC;;;QAGT,GAAG;;;;eAII,GAAG;;iBAED,GAAG;;gBAEJ,GAAG;;uBAEI,GAAG;;;uBAGH,GAAG;;;;;;iCAMO,GAAG,kBAAkB,GAAG;;;;;EAKvD,CAAC,CAAC;IACF,IAAI,KAAK,CAAC,OAAO;QACf,OAAO,CAAC,IAAI,CAAC;;;;;;;;;;;;yBAYQ,GAAG;;qBAEP,GAAG;;yBAEC,GAAG,iEAAiE,GAAG;;;;yBAIvE,GAAG;;;;;EAK1B,CAAC,CAAC;IACF,IAAI,KAAK,CAAC,KAAK;QACb,OAAO,CAAC,IAAI,CAAC;;;;;;;;;;yBAUQ,GAAG,iEAAiE,GAAG;;;;;EAK9F,CAAC,CAAC;IACF,IAAI,KAAK,CAAC,MAAM;QACd,OAAO,CAAC,IAAI,CAAC;4BACW,GAAG,UAAU,GAAG;;uCAEL,GAAG,UAAU,GAAG;;kBAErC,GAAG;;;;;;;;;;oBAUD,GAAG,iEAAiE,GAAG;;;;;;;mCAOxD,GAAG,UAAU,GAAG;sCACb,GAAG,UAAU,GAAG;kDACJ,GAAG,UAAU,GAAG;;kBAEhD,GAAG;;;;kBAIH,GAAG;;;;;;;oBAOD,GAAG;;wBAEC,GAAG;;oBAEP,GAAG,iEAAiE,GAAG;;;;oBAIvE,GAAG;;;;;EAKrB,CAAC,CAAC;IAEF,oBAAoB;IACpB,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,QAAQ;QAAE,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAChD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxB,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC7D,IAAI,KAAK,CAAC,OAAO;QAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5C,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAE1D,OAAO;;;;;;;;;;;;;oBAaW,WAAW;;;;;EAK7B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;0DAKsC,YAAY,CAAC,QAAQ,mBAAmB,YAAY,CAAC,UAAU,aAAa,YAAY,CAAC,IAAI;;;;wBAI/H,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;;;gCAGnB,KAAK;;;;;gBAKrB,GAAG;;;;;;;;;;EAUjB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;;;EAGpB,GAAG;;;qBAGgB,GAAG,0CAA0C,GAAG,UAAU,GAAG;yCACzC,GAAG,UAAU,GAAG;;;6BAG5B,GAAG,UAAU,GAAG;;;;;;;sCAOP,GAAG,0BAA0B,GAAG,UAAU,GAAG;EACjF,YAAY;gBACE,GAAG;;CAElB,CAAC;AACF,CAAC;AAED,MAAM,OAAO,GAAwB;IACnC,QAAQ;IACR,WAAW,EAAE,SAAS;IACtB,aAAa;IACb,UAAU;IACV,WAAW;QACT,UAAU,EAAE,CAAC;IACf,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,GAAG;IACH,QAAQ;IACR,cAAc;IACd,uBAAuB;IACvB,SAAS;IACT,QAAQ;IACR,OAAO;CACR,CAAC;AAEF,SAAS,IAAI,CAAC,GAAgB;IAC5B,OAAO,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAkB;IAClD,QAAQ,EAAE,iBAAiB;IAC3B,aAAa,EAAE,KAAK;IACpB,oBAAoB,EAAE,4CAA4C;IAClE,YAAY,EAAE,qCAAqC;IACnD,IAAI;CACL,CAAC;AAEF,KAAK,kBAAkB,CAAC"}
1
+ {"version":3,"file":"emit-straightline-go.js","sourceRoot":"","sources":["../../src/generator/emit-straightline-go.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,WAAW,EACX,mBAAmB,GAMpB,MAAM,mBAAmB,CAAC;AAE3B,mEAAmE;AACnE,MAAM,GAAG,GAAG,cAAc,CAAC;AAC3B,6DAA6D;AAC7D,MAAM,KAAK,GAAG,aAAa,CAAC;AAC5B,mEAAmE;AACnE,MAAM,SAAS,GAAG,UAAU,CAAC;AAE7B;;;;;;;;GAQG;AACH,MAAM,KAAK,GAAG;IACZ,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,KAAK,EAAE,yCAAyC;IACxD,UAAU,EAAE,KAAK;CAClB,CAAC;AAEF;;;;;GAKG;AACH,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAChC,MAAM,UAAU,wBAAwB,CAAC,EAAW;IAClD,mBAAmB,GAAG,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;;GAMG;AACH,IAAI,oBAAoB,GAAG,KAAK,CAAC;AACjC,MAAM,UAAU,yBAAyB,CAAC,EAAW;IACnD,oBAAoB,GAAG,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,UAAU;IACjB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QAAG,KAAiC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AACpF,CAAC;AAED;;;;;GAKG;AACH,SAAS,GAAG,CAAC,IAAa;IACxB,MAAM,IAAI,KAAK,CACb,4DAA4D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,4DAA4D,CAC3J,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,SAAS,KAAK,CAAC,IAAa;IAC1B,OAAO,WAAW,GAAG,UAAU,GAAG,2BAA2B,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC;AACvF,CAAC;AAED,+DAA+D;AAC/D,SAAS,UAAU,CAAC,CAAS;IAC3B,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;AACxC,CAAC;AAED;;;;;GAKG;AACH,MAAM,GAAG,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,CAAC,CAAU,EAAE,CAAS,EAAE,EAAE;IACpD,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAc,CAAC;IAC9B,OAAO,GAAG,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;AACxD,CAAC,CAAC;AACF,MAAM,EAAE,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,CAAC,CAAU,EAAE,CAAS,EAAE,EAAE;IACnD,MAAM,CAAC,CAAC,CAAC,GAAG,CAAc,CAAC;IAC3B,OAAO,GAAG,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;AAC3C,CAAC,CAAC;AACF,MAAM,OAAO,GAAwD;IACnE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,iBAAiB,IAAI,CAAC,SAAS,CAAC,CAAW,CAAC,GAAG;IACjE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,mBAAmB,UAAU,CAAC,CAAW,CAAC,GAAG;IACjE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACZ,MAAM,GAAG,GAAG,CAA4B,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,OAAO,GAAG,GAAG,uBAAuB,OAAO,QAAQ,GAAG,WAAW,IAAI,MAAM,CAAC,GAAG,CAAC;IAClF,CAAC;IACD,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACZ,GAAG,GAAG,gBAAgB,GAAG,WAAY,CAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG;IAChG,GAAG,EAAE,GAAG,CAAC,WAAW,CAAC;IACrB,GAAG,EAAE,GAAG,CAAC,WAAW,CAAC;IACrB,GAAG,EAAE,GAAG,CAAC,WAAW,CAAC;IACrB,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC;IACpB,GAAG,EAAE,GAAG,CAAC,WAAW,CAAC;IACrB,GAAG,EAAE,GAAG,CAAC,WAAW,CAAC;IACrB,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC;IACnB,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC;IACnB,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC;IACnB,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC;IACnB,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC;IACnB,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC;IACnB,GAAG,EAAE,GAAG,CAAC,WAAW,CAAC;IACrB,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC;IACnB,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC;IACpB,QAAQ,EAAE,GAAG,CAAC,gBAAgB,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAc,CAAC;QACjC,OAAO,GAAG,GAAG,eAAe,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;IAC1E,CAAC;IACD,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,SAAS,QAAQ,CAAC,IAAa,EAAE,QAAgB;IAC/C,6CAA6C;IAC7C,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,YAAY,CAAC;IACvC,IAAI,OAAO,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC;IAC1E,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;IACtE,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,GAAG,GAAG,oBAAoB,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;IACnF,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,MAAM,GAAG,GAAI,IAAgC,CAAC,EAAE,CAAC,CAAC;YAClD,IAAI,EAAE,KAAK,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACpC,yEAAyE;gBACzE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;gBACpB,OAAO,QAAQ,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,QAAQ,GAAG,CAAC;YACrF,CAAC;YACD,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACpB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;gBACpB,OAAO,qBAAqB,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,QAAQ,GAAG,CAAC;YAC9E,CAAC;YACD,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;YACzB,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IACD,gEAAgE;IAChE,MAAM,IAAI,KAAK,CACb,wEAAwE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAC7G,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,SAAS,cAAc,CAAC,GAAY;IAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IACvG,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACzB,IAAI,OAAO,CAAC,KAAK,QAAQ;YACvB,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;QACtG,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IACH,OAAO,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACxC,CAAC;AAED,gEAAgE;AAChE,SAAS,eAAe,CAAC,GAAY,EAAE,QAAgB;IACrD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IACnG,KAAK,QAAQ,CAAC;IACd,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,GAAG,UAAU,GAAG,2BAA2B,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/G,CAAC;AAuBD,qDAAqD;AACrD,SAAS,QAAQ,CAAC,IAAa,EAAE,GAAW;IAC1C,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACrB,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,IAAI,GAAG,CAAC,KAAK;QAAE,OAAO,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;IAC1C,IAAI,CAAC,GAAG,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;IACnH,OAAO,GAAG,CAAC,QAAQ,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,IAAY,EAAE,GAAW;IAC3C,IAAI,GAAG,CAAC,KAAK,IAAI,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;QACvC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,OAAO,UAAU,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC;IACtC,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,cAAc,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC;QACrE,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;YACnC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACpB,IAAI,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC;gBAAE,OAAO,UAAU,KAAK,GAAG,CAAC;YAClF,OAAO,cAAc,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAE,KAAK,KAAK,YAAY,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;QAC1F,CAAC;IACH,CAAC;IACD,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,mBAAmB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;AACpD,CAAC;AAED,+DAA+D;AAC/D,SAAS,SAAS,CAAC,CAAa,EAAE,GAAW;IAC3C,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,KAAK;YACR,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACpB,OAAO,WAAW,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;QAC/C,KAAK,MAAM;YACT,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACpB,OAAO,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC;QAClD,KAAK,MAAM;YACT,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACpB,OAAO,cAAc,CAAC;QACxB,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YACrC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;YACrB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtE,OAAO,aAAa,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,cAAc,IAAI,IAAI,CAAC;QAC9F,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;YACnB,OAAO,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACxE,CAAC;QACD,KAAK,SAAS;YACZ,sEAAsE;YACtE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACpB,OAAO,SAAS,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,6CAA6C;AAC7C,SAAS,OAAO,CAAC,IAAa,EAAE,GAAW;IACzC,OAAO,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,oEAAoE;AACpE,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED,iCAAiC;AACjC,SAAS,WAAW,CAAC,MAAc,EAAE,GAAa;IAChD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QACpB,IAAI,IAAI,GAAG,GAAG,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;QAC3C,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChB,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED,iEAAiE;AACjE,SAAS,YAAY,CAAC,YAAgC;IACpD,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;IACxB,OAAO,GAAG,GAAG,oBAAoB,IAAI,CAAC,SAAS,CAAC,YAAY,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;AAC9G,CAAC;AAED,gGAAgG;AAChG,SAAS,cAAc,CAAC,UAAkB,EAAE,IAAY,EAAE,IAAsB,EAAE,GAAW;IAC3F,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO;YACL,GAAG,GAAG,MAAM,UAAU,YAAY;YAClC,GAAG,GAAG,iBAAiB,GAAG,0GAA0G,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,UAAU,QAAQ;YAC/K,GAAG,GAAG,GAAG;SACV,CAAC;IACJ,CAAC;IACD,iDAAiD;IACjD,OAAO;QACL,GAAG,GAAG,MAAM,UAAU,YAAY;QAClC,GAAG,GAAG,iBAAiB,GAAG,6FAA6F,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,UAAU,QAAQ;QAClK,GAAG,GAAG,GAAG;KACV,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,SAAS,CAAC,EAAkB,EAAE,IAAmB,EAAE,GAAW,EAAE,KAAe;IACtF,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;IACnB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;IAChB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;IACjC,KAAK,CAAC,IAAI,CACR,eAAe,EAAE,MAAM,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAC7K,CAAC;IAEF,kDAAkD;IAClD,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,iBAAiB,GAAG,qCAAqC,IAAI,CAAC,SAAS,CAAC,wBAAwB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;QACtI,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC;IAChD,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,GAAG,cAAc,EAAE,KAAK,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAE,WAAW,CAAC,CAAC;IACvF,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,wEAAwE,CAAC,CAAC;QAC7G,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAE,CAAC,CAAC;IACpG,CAAC;IACD,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QACnD,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAE,CAAC;QAC5D,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QAChC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QAClD,+DAA+D;QAC/D,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,QAAQ,EAAE,YAAY,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM,EAAE,SAAS,CAAC,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC1F,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,QAAQ,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;QACxD,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QACtB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QACvB,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAClC,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,6DAA6D;AAC7D,SAAS,WAAW,CAAC,EAAkB,EAAE,IAAmB,EAAE,GAAW,EAAE,KAAe,EAAE,GAAW;IACrG,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;IACnB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;IAChB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;IACjC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC;IAEhD,4BAA4B;IAC5B,MAAM,KAAK,GAAG,CAAC,SAAiB,EAAE,MAAgB,EAAE,IAAY,EAAQ,EAAE;QACxE,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,MAAM,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAE,SAAS,CAAC,CAAC;QACxF,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,OAAO,SAAS,EAAE,EAAE,GAAG,IAAI,OAAO,KAAK,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,GAAG,CAAC,QAAQ;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,QAAQ,QAAQ,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC;IAC/F,CAAC,CAAC;IAEF,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,CAAC,GAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAc,CAAC,IAAI,CAAC;QACpD,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5E,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,cAAc,EAAE,GAAG,GAAG,iBAAiB,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;QAClF,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACtB,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7C,OAAO;IACT,CAAC;IACD,mDAAmD;IACnD,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC;IAChC,MAAM,QAAQ,GAAG,SAAS,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;IACzC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,QAAQ,OAAO,GAAG,WAAW,CAAC,CAAC;IACnD,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACxE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,EAAE,CAAC;QACzE,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,OAAO,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM,EAAE,eAAe,EAAE,GAAG,GAAG,iBAAiB,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;QACtF,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,QAAQ,QAAQ,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC;IACD,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC;IAC1B,MAAM,EAAE,GAAG,KAAK,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,KAAK,EAAE,eAAe,GAAG,0BAA0B,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,QAAQ,QAAQ,CAAC,CAAC;IACnJ,KAAK,CAAC,IAAI,CACR,GAAG,GAAG,OAAO,EAAE,YAAY,EAC3B,GAAG,GAAG,iBAAiB,GAAG,wDAAwD,EAAE,CAAC,SAAS,kCAAkC,EAChI,GAAG,GAAG,GAAG,CACV,CAAC;IACF,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,EAAE,YAAY,CAAC,CAAC;QACxC,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QACjD,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,SAAS,UAAU,CACjB,EAA4C,EAC5C,IAAmB,EACnB,GAAW,EACX,KAAe,EACf,GAAW,EACX,KAAkE;IAElE,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;IACnB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAa,CAAC,GAAG,CAAC;IAClD,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;IACjB,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEnC,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;IACnF,MAAM,aAAa,GACjB,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9B,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,KAAK,GAAG,CAAC,CAAa,EAAW,EAAE,CACvC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAClG,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,MAAM,aAAa,GAAG,GAAG,CAAC,QAAQ,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC;IACxB,MAAM,SAAS,GAAG,UAAU,CAAC,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAG,aAAa,CAAC,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC;IAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC;IAE5B,MAAM,MAAM,GAAW,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC;IAEzE,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,OAAO,SAAS,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5D,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM,OAAO,iBAAiB,EAAE,GAAG,GAAG,iBAAiB,OAAO,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;IACpG,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,OAAO,KAAK,OAAO,YAAY,OAAO,aAAa,GAAG,SAAS,CAAC,CAAC;IACrF,KAAK,CAAC,IAAI,CACR,GAAG,GAAG,OAAO,OAAO,SAAS,EAC7B,GAAG,GAAG,iBAAiB,GAAG,mDAAmD,EAAE,0CAA0C,EACzH,GAAG,GAAG,GAAG,CACV,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,OAAO,0BAA0B,OAAO,IAAI,CAAC,CAAC;IAClE,IAAI,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,OAAO,WAAW,CAAC,CAAC;IAEtD,MAAM,WAAW,GAAG,CAAC,IAAY,EAAY,EAAE;QAC7C,IAAI,CAAC,aAAa;YAAE,OAAO,EAAE,CAAC;QAC9B,OAAO;YACL,GAAG,IAAI,GAAG,SAAS,OAAO,GAAG,WAAW;YACxC,GAAG,CAAC,aAAa;gBACf,CAAC,CAAC,CAAC,GAAG,IAAI,UAAU,SAAS,cAAc,aAAa,SAAS,EAAE,GAAG,IAAI,KAAK,SAAS,QAAQ,SAAS,MAAM,aAAa,SAAS,SAAS,KAAK,EAAE,GAAG,IAAI,GAAG,CAAC;gBAChK,CAAC,CAAC,CAAC,GAAG,IAAI,UAAU,SAAS,yBAAyB,EAAE,GAAG,IAAI,KAAK,SAAS,QAAQ,SAAS,iBAAiB,SAAS,KAAK,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC;YAC7I,GAAG,IAAI,GAAG,SAAS,QAAQ,KAAK,KAAK,KAAK,GAAG;SAC9C,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,CAAC,IAAY,EAAY,EAAE;QAC5C,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO;YACL,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;YAC9F,GAAG,IAAI,MAAM,CAAC,cAAc;YAC5B,GAAG,IAAI,iBAAiB,CAAC,KAAK;YAC9B,GAAG,IAAI,GAAG;YACV,GAAG,IAAI,MAAM,CAAC,YAAY;YAC1B,GAAG,IAAI,YAAY;YACnB,GAAG,IAAI,GAAG;SACX,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,QAAgB,EAAY,EAAE;QAC7D,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,QAAQ,OAAO,GAAG,WAAW,CAAC,CAAC;QACtD,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;YACzB,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,EAAE,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YAChE,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,iBAAiB,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC;YACvF,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,QAAQ,QAAQ,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IAEF,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,KAAK,cAAc,GAAG,kBAAkB,OAAO,IAAI,CAAC,CAAC;QACzE,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,KAAK,QAAQ,KAAK,aAAa,OAAO,IAAI,CAAC,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1G,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,KAAK,aAAa,KAAK,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,KAAK,OAAO,aAAa,OAAO,KAAK,KAAK,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;QACjI,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,SAAS,MAAM,GAAG,QAAQ,CAAC,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,UAAU,KAAK,UAAU,EAAE,GAAG,GAAG,KAAK,SAAS,QAAQ,GAAG,UAAU,EAAE,GAAG,GAAG,UAAU,CAAC,CAAC;QACzG,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,EAAE,OAAO,GAAG,WAAW,EAAE,GAAG,GAAG,KAAK,EAAE,iBAAiB,KAAK,GAAG,CAAC,CAAC;QACvF,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,EAAE,KAAK,EAAE,eAAe,GAAG,0BAA0B,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,IAAI,KAAK,EAAE,QAAQ,CAAC,CAAC;QACvH,KAAK,CAAC,IAAI,CACR,GAAG,GAAG,SAAS,EAAE,YAAY,EAC7B,GAAG,GAAG,mBAAmB,GAAG,wDAAwD,EAAE,CAAC,SAAS,kCAAkC,EAClI,GAAG,GAAG,KAAK,CACZ,CAAC;QACF,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,QAAQ,EAAE,YAAY,EAAE,GAAG,GAAG,OAAO,OAAO,SAAS,EAAE,GAAG,GAAG,YAAY,CAAC,CAAC;YAC5F,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC;YAClE,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,SAAS,cAAc,GAAG,kBAAkB,OAAO,IAAI,CAAC,CAAC;QAC7E,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,KAAK,QAAQ,KAAK,aAAa,OAAO,IAAI,CAAC,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1G,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,EAAE,KAAK,EAAE,eAAe,GAAG,0BAA0B,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC;QACjI,KAAK,CAAC,IAAI,CACR,GAAG,GAAG,SAAS,EAAE,YAAY,EAC7B,GAAG,GAAG,mBAAmB,GAAG,wDAAwD,EAAE,CAAC,SAAS,kCAAkC,EAClI,GAAG,GAAG,KAAK,CACZ,CAAC;QACF,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,QAAQ,EAAE,YAAY,EAAE,GAAG,GAAG,OAAO,OAAO,SAAS,EAAE,GAAG,GAAG,WAAW,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC;QAC1G,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;QAC1D,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,SAAS,aAAa,SAAS,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,KAAK,OAAO,aAAa,OAAO,KAAK,KAAK,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;IACzI,CAAC;IAED,mEAAmE;IACnE,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IACzC,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACzB,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,GAAG,cAAc,GAAG,kBAAkB,OAAO,IAAI,CAAC,CAAC;QACzE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,aAAa,OAAO,IAAI,CAAC,CAAC;QAClE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,WAAW,CAAC,UAAU,OAAO,QAAQ,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzF,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,cAAc,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;QAC5E,MAAM,CAAC,IAAI,CACT,GAAG,IAAI,iBAAiB,CAAC,IAAI,EAC7B,GAAG,IAAI,qBAAqB,GAAG,wEAAwE,EAAE,yEAAyE,CAAC,IAAI,EACvL,GAAG,IAAI,OAAO,CACf,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,UAAU,CAAC,OAAO,GAAG,WAAW,CAAC,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,iBAAiB,CAAC,oBAAoB,CAAC,SAAS,EAAE,GAAG,IAAI,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;QACrJ,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,UAAU,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS,OAAO,CAAC,IAAI,CAAC,CAAC;QACxF,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,aAAa,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QACnF,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,YAAY,EAAE,GAAG,IAAI,OAAO,GAAG,aAAa,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;QAC/F,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACxB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,OAAO,IAAI,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;IACxB,CAAC;AACH,CAAC;AAED,oDAAoD;AACpD,SAAS,OAAO,CAAC,EAAU,EAAE,SAAiB,EAAE,KAAa,EAAE,EAAU,EAAE,CAAS,EAAE,GAAW;IAC/F,OAAO;QACL,GAAG,GAAG,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS;QAC7D,GAAG,GAAG,aAAa,CAAC,mBAAmB,CAAC,YAAY,KAAK,KAAK;QAC9D,GAAG,GAAG,iBAAiB,GAAG,sEAAsE,EAAE,0EAA0E,KAAK,KAAK;QACtL,GAAG,GAAG,GAAG;QACT,GAAG,GAAG,GAAG,SAAS,cAAc,CAAC,EAAE;KACpC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,IAAmB,EAAE,KAAe;IAC9D,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC3D,MAAM,GAAG,GAAG,IAAI,KAAK,CAAS,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACtD,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACvC,MAAM,GAAG,GAAW;QAClB,GAAG;QACH,SAAS;QACT,KAAK;QACL,KAAK;QACL,MAAM;QACN,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QACpC,UAAU,EAAE,CAAC;QACb,QAAQ,EAAE,KAAK;KAChB,CAAC;IAEF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,0BAA0B,GAAG,UAAU,GAAG,kBAAkB,CAAC,CAAC;IACxH,KAAK,CAAC,IAAI,CAAC,qBAAqB,EAAE,eAAe,GAAG,WAAW,EAAE,KAAK,CAAC,CAAC;IACxE,IAAI,SAAS,EAAE,CAAC;QACd,mEAAmE;QACnE,KAAK,CAAC,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,kCAAkC,EAAE,iCAAiC,EAAE,KAAK,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,WAAW;YAAE,MAAM;QACvB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7C,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,QAAQ;YAAE,WAAW,GAAG,IAAI,CAAC;IAClE,CAAC;IACD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;QACpB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC;gBAAE,SAAS;YACjD,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,EAAE,CAAE,IAAI,CAAC,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,EAAE,CAAE,MAAM,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACvF,IAAI,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,EAAE,CAAE,GAAG,CAAC,CAAC;YACrF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,yBAAyB,EAAE,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAC1E,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACxC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,qFAAqF;AACrF,oDAAoD;AACpD,qFAAqF;AAErF,oDAAoD;AACpD,SAAS,cAAc,CAAC,IAAmB;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxG,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QAC3G,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAChG,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAC/F,OAAO,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACtC,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,GAAG,aAAa,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;AACrD,CAAC;AAED,wDAAwD;AACxD,SAAS,WAAW,CAAC,EAAkB;IACrC,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK;QAAE,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC;IAC7C,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACvB,OAAO,eAAe,EAAE,CAAC,KAAK;kBAChB,EAAE,CAAC,IAAI;;;;eAIV,GAAG;MACZ,CAAC;IACL,CAAC;IACD,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK;SACvB,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,SAAS,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI;;;;kBAIlC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAC5D;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;IAC3D,OAAO,eAAe,EAAE,CAAC,KAAK;iBACf,GAAG,YAAY,IAAI;6BACP,GAAG,0BAA0B,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC;;4BAEpF,GAAG,wDAAwD,EAAE,CAAC,SAAS;;;MAG7F,CAAC;AACP,CAAC;AAED,iCAAiC;AACjC,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,EAAE,CAAC;AACrD,CAAC;AAED,wCAAwC;AACxC,SAAS,gBAAgB,CAAC,EAA4C;IACpE,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,oBAAoB,GAAG,WAAW,CAAC;IACrE,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK;SACnB,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,WAAW,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI;;;;oBAIlC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAC9D;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,oBAAoB,GAAG,cAAc,KAAK,EAAE,CAAC;AACtD,CAAC;AAED,6CAA6C;AAC7C,SAAS,UAAU,CAAC,EAA4C;IAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,MAAM,UAAU,GACd,EAAE,CAAC,KAAK,KAAK,SAAS;QACpB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,4BAA4B,EAAE,CAAC,KAAK;;;;;;UAMlC,CAAC;IACT,MAAM,SAAS,GAAG;4BACQ,GAAG;iBACd,KAAK;kBACJ,KAAK;;;mBAGJ,CAAC;IAClB,MAAM,QAAQ,GACZ,EAAE,CAAC,IAAI,KAAK,SAAS;QACnB,CAAC,CAAC,gBAAgB,GAAG,uBAAuB;QAC5C,CAAC,CAAC,6BAA6B,GAAG;;;;mCAIL,GAAG;;gCAEN,GAAG,wEAAwE,EAAE,CAAC,EAAE;;kBAE9F,GAAG;;;;mBAIF,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;eAO3B,GAAG,uBAAuB,CAAC;IACxC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO;QACrB,CAAC,CAAC,yBAAyB,GAAG;;EAEhC,SAAS,GAAG,UAAU;EACtB,gBAAgB,CAAC,EAAE,CAAC;;;;wBAIE,GAAG;;wBAEH,GAAG;;wBAEH,GAAG;;+BAEI,GAAG,0BAA0B,MAAM,KAAK,IAAI;;8BAE7C,GAAG,wDAAwD,EAAE,CAAC,SAAS;;;;;oCAKjE,GAAG;;8BAET,GAAG,sEAAsE,EAAE,CAAC,EAAE;;;;EAI1G,QAAQ,EAAE;QACR,CAAC,CAAC,6BAA6B,GAAG;;EAEpC,SAAS,GAAG,UAAU;EACtB,gBAAgB,CAAC,EAAE,CAAC;+BACS,GAAG,0BAA0B,MAAM,KAAK,IAAI;;8BAE7C,GAAG,wDAAwD,EAAE,CAAC,SAAS;;;;;;;;EAQnG,QAAQ,EAAE,CAAC;IACX,OAAO,eAAe,EAAE,CAAC,KAAK;4BACJ,EAAE,CAAC,IAAI;;;;qCAIE,GAAG;;4BAEZ,GAAG,mDAAmD,EAAE,CAAC,EAAE;;;EAGrF,IAAI;MACA,CAAC;AACP,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,IAAmB;IAC7C,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;IACxB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI;QACrC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAC9C,CAAC,CAAC,KAAK,GAAG,0BAA0B,CAAC;IACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACtD,qFAAqF;IACrF,wEAAwE;IACxE,6EAA6E;IAC7E,8CAA8C;IAC9C,uFAAuF;IACvF,gDAAgD;IAChD,IAAI,sCAAsC,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IAC3E,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9G,MAAM,SAAS,GAAG,YAAY,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACxF,OAAO,YAAY,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,0BAA0B,GAAG,UAAU,GAAG;WACvF,cAAc,CAAC,IAAI,CAAC;;cAEjB,GAAG;;eAEF,GAAG;;;;yBAIO,GAAG;WACjB,GAAG;;;;;;;;;;;qBAWO,SAAS;;sCAEQ,GAAG;;aAE5B,GAAG;;;;iCAIiB,GAAG;;EAElC,IAAI;wBACkB,GAAG;;;;;;2BAMA,GAAG,kBAAkB,GAAG,WAAW,GAAG;;;;;;;;;;YAUrD,WAAW;gBACP,GAAG;mBACA,GAAG;;;;;;;;;;sBAUA,GAAG;;WAEd,MAAM;EACf,CAAC;AACH,CAAC;AAED,yEAAyE;AACzE,SAAS,uBAAuB,CAAC,IAAa;IAC5C,MAAM,CAAC,GAAG,IAAqD,CAAC;IAChE,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,WAAW,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IAClF,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC;IAChC,OAAO,IAAI,GAAG,8BAA8B,SAAS,kBAAkB,IAAI,GAAG,CAAC;AACjF,CAAC;AAED,SAAS,aAAa,CAAC,IAAmB,EAAE,IAAiB;IAC3D,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9C,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3D,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,UAAU,CAAC,KAAsB,EAAE,GAAgB;IAC1D,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC;IAC5D,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtE,qEAAqE;IACrE,wEAAwE;IACxE,UAAU,EAAE,CAAC;IACb,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjE,IAAI,mBAAmB,EAAE,CAAC;QACxB,gGAAgG;QAChG,kFAAkF;QAClF,0EAA0E;QAC1E,4CAA4C;QAC5C,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,cAAc;IACtC,CAAC;IACD,IAAI,oBAAoB,EAAE,CAAC;QACzB,2FAA2F;QAC3F,8FAA8F;QAC9F,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,MAAM,YAAY,GAAG,KAAK;SACvB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC;SAChH,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,qCAAqC;IACrC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,OAAO,CAAC,IAAI,CAAC;eACA,GAAG,YAAY,GAAG,kCAAkC,CAAC,CAAC;IACnE,IAAI,KAAK,CAAC,OAAO;QACf,OAAO,CAAC,IAAI,CAAC;;kBAEC,GAAG,iBAAiB,GAAG,aAAa,CAAC,CAAC;IACtD,IAAI,KAAK,CAAC,MAAM;QACd,OAAO,CAAC,IAAI,CAAC;;;QAGT,GAAG;;;;eAII,GAAG;;iBAED,GAAG;;gBAEJ,GAAG;;uBAEI,GAAG;;;uBAGH,GAAG;;;;;;iCAMO,GAAG,kBAAkB,GAAG;;;;;EAKvD,CAAC,CAAC;IACF,IAAI,KAAK,CAAC,OAAO;QACf,OAAO,CAAC,IAAI,CAAC;;;;;;;;;;;;yBAYQ,GAAG;;qBAEP,GAAG;;yBAEC,GAAG,iEAAiE,GAAG;;;;yBAIvE,GAAG;;;;;EAK1B,CAAC,CAAC;IACF,IAAI,KAAK,CAAC,KAAK;QACb,OAAO,CAAC,IAAI,CAAC;;;;;;;;;;yBAUQ,GAAG,iEAAiE,GAAG;;;;;EAK9F,CAAC,CAAC;IACF,IAAI,KAAK,CAAC,MAAM;QACd,OAAO,CAAC,IAAI,CAAC;4BACW,GAAG,UAAU,GAAG;;uCAEL,GAAG,UAAU,GAAG;;kBAErC,GAAG;;;;;;;;;;oBAUD,GAAG,iEAAiE,GAAG;;;;;;;mCAOxD,GAAG,UAAU,GAAG;sCACb,GAAG,UAAU,GAAG;kDACJ,GAAG,UAAU,GAAG;;kBAEhD,GAAG;;;;kBAIH,GAAG;;;;;;;oBAOD,GAAG;;wBAEC,GAAG;;oBAEP,GAAG,iEAAiE,GAAG;;;;oBAIvE,GAAG;;;;;EAKrB,CAAC,CAAC;IAEF,uEAAuE;IACvE,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxB,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC7D,IAAI,KAAK,CAAC,OAAO;QAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5C,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAE1D,OAAO;;;;;;;;;;;;;;;;;;;EAmBP,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;0DAKsC,YAAY,CAAC,QAAQ,mBAAmB,YAAY,CAAC,UAAU,aAAa,YAAY,CAAC,IAAI;;;gCAGvH,KAAK;;;;;gBAKrB,GAAG;;;;;;;;;;EAUjB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;;;EAGpB,GAAG;;;qBAGgB,GAAG,0CAA0C,GAAG,UAAU,GAAG;yCACzC,GAAG,UAAU,GAAG;;;6BAG5B,GAAG,UAAU,GAAG;;;;;;;sCAOP,GAAG,0BAA0B,GAAG,UAAU,GAAG;EACjF,YAAY;gBACE,GAAG;;CAElB,CAAC;AACF,CAAC;AAED,MAAM,OAAO,GAAwB;IACnC,QAAQ;IACR,WAAW,EAAE,SAAS;IACtB,aAAa;IACb,UAAU;IACV,WAAW;QACT,UAAU,EAAE,CAAC;IACf,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,GAAG;IACH,QAAQ;IACR,cAAc;IACd,uBAAuB;IACvB,SAAS;IACT,QAAQ;IACR,OAAO;IACP,yBAAyB;CAC1B,CAAC;AAEF,SAAS,IAAI,CAAC,GAAgB;IAC5B,OAAO,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAkB;IAClD,QAAQ,EAAE,iBAAiB;IAC3B,aAAa,EAAE,KAAK;IACpB,6EAA6E;IAC7E,yEAAyE;IACzE,2EAA2E;IAC3E,0EAA0E;IAC1E,oBAAoB,EAAE,wDAAwD;IAC9E,YAAY,EAAE,qCAAqC;IACnD,IAAI;CACL,CAAC;AAEF,KAAK,kBAAkB,CAAC"}