@openrewrite/rewrite 8.91.0 → 8.91.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/java/formatting-utils.d.ts +8 -5
- package/dist/java/formatting-utils.d.ts.map +1 -1
- package/dist/java/formatting-utils.js +14 -10
- package/dist/java/formatting-utils.js.map +1 -1
- package/dist/java/type.d.ts +2 -0
- package/dist/java/type.d.ts.map +1 -1
- package/dist/java/type.js +5 -0
- package/dist/java/type.js.map +1 -1
- package/dist/javascript/add-import.d.ts +96 -43
- package/dist/javascript/add-import.d.ts.map +1 -1
- package/dist/javascript/add-import.js +668 -236
- package/dist/javascript/add-import.js.map +1 -1
- package/dist/javascript/amd.d.ts +138 -0
- package/dist/javascript/amd.d.ts.map +1 -0
- package/dist/javascript/amd.js +768 -0
- package/dist/javascript/amd.js.map +1 -0
- package/dist/javascript/assertions.d.ts +7 -0
- package/dist/javascript/assertions.d.ts.map +1 -1
- package/dist/javascript/assertions.js +31 -5
- package/dist/javascript/assertions.js.map +1 -1
- package/dist/javascript/binding.d.ts +94 -0
- package/dist/javascript/binding.d.ts.map +1 -0
- package/dist/javascript/binding.js +335 -0
- package/dist/javascript/binding.js.map +1 -0
- package/dist/javascript/comparator.d.ts +5 -0
- package/dist/javascript/comparator.d.ts.map +1 -1
- package/dist/javascript/comparator.js +34 -9
- package/dist/javascript/comparator.js.map +1 -1
- package/dist/javascript/format/format.d.ts.map +1 -1
- package/dist/javascript/format/format.js +8 -9
- package/dist/javascript/format/format.js.map +1 -1
- package/dist/javascript/format/tabs-and-indents-visitor.d.ts +2 -0
- package/dist/javascript/format/tabs-and-indents-visitor.d.ts.map +1 -1
- package/dist/javascript/format/tabs-and-indents-visitor.js +17 -11
- package/dist/javascript/format/tabs-and-indents-visitor.js.map +1 -1
- package/dist/javascript/index.d.ts +8 -1
- package/dist/javascript/index.d.ts.map +1 -1
- package/dist/javascript/index.js +26 -1
- package/dist/javascript/index.js.map +1 -1
- package/dist/javascript/node-resolution-result.d.ts +19 -1
- package/dist/javascript/node-resolution-result.d.ts.map +1 -1
- package/dist/javascript/node-resolution-result.js +37 -2
- package/dist/javascript/node-resolution-result.js.map +1 -1
- package/dist/javascript/package-exported-types.d.ts.map +1 -1
- package/dist/javascript/package-exported-types.js +56 -72
- package/dist/javascript/package-exported-types.js.map +1 -1
- package/dist/javascript/parser-utils.d.ts.map +1 -1
- package/dist/javascript/parser-utils.js +2 -0
- package/dist/javascript/parser-utils.js.map +1 -1
- package/dist/javascript/parser.d.ts +7 -1
- package/dist/javascript/parser.d.ts.map +1 -1
- package/dist/javascript/parser.js +17 -4
- package/dist/javascript/parser.js.map +1 -1
- package/dist/javascript/recipes/change-import.d.ts +2 -4
- package/dist/javascript/recipes/change-import.d.ts.map +1 -1
- package/dist/javascript/recipes/change-import.js +8 -244
- package/dist/javascript/recipes/change-import.js.map +1 -1
- package/dist/javascript/remove-import.d.ts +2 -28
- package/dist/javascript/remove-import.d.ts.map +1 -1
- package/dist/javascript/remove-import.js +19 -57
- package/dist/javascript/remove-import.js.map +1 -1
- package/dist/javascript/scope.d.ts +49 -0
- package/dist/javascript/scope.d.ts.map +1 -0
- package/dist/javascript/scope.js +324 -0
- package/dist/javascript/scope.js.map +1 -0
- package/dist/javascript/style.d.ts.map +1 -1
- package/dist/javascript/style.js +3 -10
- package/dist/javascript/style.js.map +1 -1
- package/dist/javascript/templating/bindings.d.ts +8 -0
- package/dist/javascript/templating/bindings.d.ts.map +1 -0
- package/dist/javascript/templating/bindings.js +92 -0
- package/dist/javascript/templating/bindings.js.map +1 -0
- package/dist/javascript/templating/comparator.d.ts +10 -0
- package/dist/javascript/templating/comparator.d.ts.map +1 -1
- package/dist/javascript/templating/comparator.js +48 -20
- package/dist/javascript/templating/comparator.js.map +1 -1
- package/dist/javascript/templating/engine.d.ts +34 -10
- package/dist/javascript/templating/engine.d.ts.map +1 -1
- package/dist/javascript/templating/engine.js +109 -55
- package/dist/javascript/templating/engine.js.map +1 -1
- package/dist/javascript/templating/index.d.ts +1 -1
- package/dist/javascript/templating/index.d.ts.map +1 -1
- package/dist/javascript/templating/index.js.map +1 -1
- package/dist/javascript/templating/pattern.d.ts.map +1 -1
- package/dist/javascript/templating/pattern.js +13 -10
- package/dist/javascript/templating/pattern.js.map +1 -1
- package/dist/javascript/templating/placeholder-replacement.d.ts +4 -0
- package/dist/javascript/templating/placeholder-replacement.d.ts.map +1 -1
- package/dist/javascript/templating/placeholder-replacement.js +24 -10
- package/dist/javascript/templating/placeholder-replacement.js.map +1 -1
- package/dist/javascript/templating/precedence.d.ts +12 -4
- package/dist/javascript/templating/precedence.d.ts.map +1 -1
- package/dist/javascript/templating/precedence.js +18 -11
- package/dist/javascript/templating/precedence.js.map +1 -1
- package/dist/javascript/templating/rewrite.d.ts.map +1 -1
- package/dist/javascript/templating/rewrite.js +19 -17
- package/dist/javascript/templating/rewrite.js.map +1 -1
- package/dist/javascript/templating/template.d.ts +14 -0
- package/dist/javascript/templating/template.d.ts.map +1 -1
- package/dist/javascript/templating/template.js +63 -3
- package/dist/javascript/templating/template.js.map +1 -1
- package/dist/javascript/templating/types.d.ts +39 -1
- package/dist/javascript/templating/types.d.ts.map +1 -1
- package/dist/javascript/templating/utils.d.ts +6 -1
- package/dist/javascript/templating/utils.d.ts.map +1 -1
- package/dist/javascript/templating/utils.js +20 -2
- package/dist/javascript/templating/utils.js.map +1 -1
- package/dist/javascript/type-mapping.d.ts +1 -0
- package/dist/javascript/type-mapping.d.ts.map +1 -1
- package/dist/javascript/type-mapping.js +52 -2
- package/dist/javascript/type-mapping.js.map +1 -1
- package/dist/rewrite-javascript-version.txt +1 -1
- package/dist/style.d.ts +2 -0
- package/dist/style.d.ts.map +1 -1
- package/dist/style.js +5 -0
- package/dist/style.js.map +1 -1
- package/dist/test/rewrite-test.d.ts +12 -0
- package/dist/test/rewrite-test.d.ts.map +1 -1
- package/dist/test/rewrite-test.js +40 -3
- package/dist/test/rewrite-test.js.map +1 -1
- package/package.json +2 -2
- package/src/java/formatting-utils.ts +14 -10
- package/src/java/type.ts +5 -0
- package/src/javascript/add-import.ts +751 -247
- package/src/javascript/amd.ts +915 -0
- package/src/javascript/assertions.ts +33 -5
- package/src/javascript/binding.ts +449 -0
- package/src/javascript/comparator.ts +39 -10
- package/src/javascript/format/format.ts +9 -10
- package/src/javascript/format/tabs-and-indents-visitor.ts +18 -12
- package/src/javascript/index.ts +12 -1
- package/src/javascript/node-resolution-result.ts +59 -4
- package/src/javascript/package-exported-types.ts +60 -74
- package/src/javascript/parser-utils.ts +2 -0
- package/src/javascript/parser.ts +23 -3
- package/src/javascript/recipes/change-import.ts +10 -263
- package/src/javascript/remove-import.ts +20 -56
- package/src/javascript/scope.ts +338 -0
- package/src/javascript/style.ts +3 -11
- package/src/javascript/templating/bindings.ts +99 -0
- package/src/javascript/templating/comparator.ts +57 -20
- package/src/javascript/templating/engine.ts +148 -68
- package/src/javascript/templating/index.ts +1 -0
- package/src/javascript/templating/pattern.ts +19 -16
- package/src/javascript/templating/placeholder-replacement.ts +32 -11
- package/src/javascript/templating/precedence.ts +21 -13
- package/src/javascript/templating/rewrite.ts +23 -17
- package/src/javascript/templating/template.ts +84 -9
- package/src/javascript/templating/types.ts +46 -1
- package/src/javascript/templating/utils.ts +21 -2
- package/src/javascript/type-mapping.ts +54 -2
- package/src/style.ts +5 -0
- package/src/test/rewrite-test.ts +61 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.js","sourceRoot":"","sources":["../../src/javascript/style.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;
|
|
1
|
+
{"version":3,"file":"style.js","sourceRoot":"","sources":["../../src/javascript/style.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { J } from '../../java';
|
|
2
|
+
/**
|
|
3
|
+
* Renames the identifiers a template uses for its declared bindings to the names the file
|
|
4
|
+
* actually binds. Runs before parameter substitution, so only the template's own code is in
|
|
5
|
+
* scope and a caller's captured code is never rewritten.
|
|
6
|
+
*/
|
|
7
|
+
export declare function renameBindings<T extends J>(tree: T, renames: Record<string, string>, modules: Record<string, string>): Promise<T>;
|
|
8
|
+
//# sourceMappingURL=bindings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/bindings.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,CAAC,EAAO,MAAM,YAAY,CAAC;AAInC;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAEvI"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.renameBindings = renameBindings;
|
|
4
|
+
/*
|
|
5
|
+
* Copyright 2025 the original author or authors.
|
|
6
|
+
* <p>
|
|
7
|
+
* Licensed under the Moderne Source Available License (the "License");
|
|
8
|
+
* you may not use this file except in compliance with the License.
|
|
9
|
+
* You may obtain a copy of the License at
|
|
10
|
+
* <p>
|
|
11
|
+
* https://docs.moderne.io/licensing/moderne-source-available-license
|
|
12
|
+
* <p>
|
|
13
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
* See the License for the specific language governing permissions and
|
|
17
|
+
* limitations under the License.
|
|
18
|
+
*/
|
|
19
|
+
const java_1 = require("../../java");
|
|
20
|
+
const visitor_1 = require("../visitor");
|
|
21
|
+
/**
|
|
22
|
+
* Renames the identifiers a template uses for its declared bindings to the names the file
|
|
23
|
+
* actually binds. Runs before parameter substitution, so only the template's own code is in
|
|
24
|
+
* scope and a caller's captured code is never rewritten.
|
|
25
|
+
*/
|
|
26
|
+
async function renameBindings(tree, renames, modules) {
|
|
27
|
+
return new RenameBindingsVisitor(renames, modules).visit(tree, undefined);
|
|
28
|
+
}
|
|
29
|
+
class RenameBindingsVisitor extends visitor_1.JavaScriptVisitor {
|
|
30
|
+
constructor(renames, modules) {
|
|
31
|
+
super();
|
|
32
|
+
this.renames = renames;
|
|
33
|
+
this.modules = modules;
|
|
34
|
+
}
|
|
35
|
+
async visitIdentifier(identifier, p) {
|
|
36
|
+
const renamed = this.renames[identifier.simpleName];
|
|
37
|
+
if (renamed === undefined || renamed === identifier.simpleName) {
|
|
38
|
+
return identifier;
|
|
39
|
+
}
|
|
40
|
+
// Attribution settles it where the context import resolved. It is absent for a module the
|
|
41
|
+
// parse could not reach, and the identifier's position decides instead.
|
|
42
|
+
const resolved = resolvedModule(identifier);
|
|
43
|
+
const refersToBinding = resolved !== undefined
|
|
44
|
+
? resolved === this.modules[identifier.simpleName]
|
|
45
|
+
: !namesItsParent(this.cursor, identifier);
|
|
46
|
+
return refersToBinding ? Object.assign(Object.assign({}, identifier), { simpleName: renamed }) : identifier;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/** Whether the parent is naming this identifier — as a property, a method, a declaration — rather than referencing it. */
|
|
50
|
+
function namesItsParent(cursor, identifier) {
|
|
51
|
+
let c = cursor.parent;
|
|
52
|
+
while (c && isPadding(c.value)) {
|
|
53
|
+
c = c.parent;
|
|
54
|
+
}
|
|
55
|
+
const parent = c === null || c === void 0 ? void 0 : c.value;
|
|
56
|
+
// A call names a member of whatever it selects from. With nothing selected there is no member,
|
|
57
|
+
// and its `name` is a reference to the function being called.
|
|
58
|
+
if ((parent === null || parent === void 0 ? void 0 : parent.kind) === java_1.J.Kind.MethodInvocation && !parent.select) {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
const name = parent === null || parent === void 0 ? void 0 : parent.name;
|
|
62
|
+
return name === identifier || (name === null || name === void 0 ? void 0 : name.element) === identifier;
|
|
63
|
+
}
|
|
64
|
+
function isPadding(value) {
|
|
65
|
+
const kind = value === null || value === void 0 ? void 0 : value.kind;
|
|
66
|
+
return kind === java_1.J.Kind.RightPadded || kind === java_1.J.Kind.LeftPadded || kind === java_1.J.Kind.Container;
|
|
67
|
+
}
|
|
68
|
+
/** The module an identifier's attribution traces back to, following the owning-class chain to its root. */
|
|
69
|
+
function resolvedModule(identifier) {
|
|
70
|
+
const fieldType = identifier.fieldType;
|
|
71
|
+
if ((fieldType === null || fieldType === void 0 ? void 0 : fieldType.kind) === java_1.Type.Kind.Variable) {
|
|
72
|
+
const owner = fieldType.owner;
|
|
73
|
+
return owner && java_1.Type.isClass(owner) ? rootName(owner) : undefined;
|
|
74
|
+
}
|
|
75
|
+
const type = identifier.type;
|
|
76
|
+
if (type && java_1.Type.isMethod(type)) {
|
|
77
|
+
const declaring = type.declaringType;
|
|
78
|
+
return declaring ? rootName(declaring) : undefined;
|
|
79
|
+
}
|
|
80
|
+
if (type && java_1.Type.isClass(type)) {
|
|
81
|
+
return rootName(type);
|
|
82
|
+
}
|
|
83
|
+
return undefined;
|
|
84
|
+
}
|
|
85
|
+
function rootName(classType) {
|
|
86
|
+
let current = classType;
|
|
87
|
+
while (current.owningClass && java_1.Type.isClass(current.owningClass)) {
|
|
88
|
+
current = current.owningClass;
|
|
89
|
+
}
|
|
90
|
+
return java_1.Type.FullyQualified.getFullyQualifiedName(current);
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=bindings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bindings.js","sourceRoot":"","sources":["../../../src/javascript/templating/bindings.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,6 +41,11 @@ export interface MatcherCallbacks {
|
|
|
41
41
|
restoreState: (state: MatcherState) => void;
|
|
42
42
|
debug?: DebugCallbacks;
|
|
43
43
|
}
|
|
44
|
+
/** A capture found in a pattern, and the target node it binds to. */
|
|
45
|
+
interface CaptureAt {
|
|
46
|
+
marker: CaptureMarker;
|
|
47
|
+
target: J;
|
|
48
|
+
}
|
|
44
49
|
/**
|
|
45
50
|
* A comparator for pattern matching that is lenient about optional properties.
|
|
46
51
|
* Allows patterns without type annotations to match actual code with type annotations.
|
|
@@ -55,6 +60,10 @@ export declare class PatternMatchingComparator extends JavaScriptSemanticCompara
|
|
|
55
60
|
* @returns The constraint context for evaluating capture constraints
|
|
56
61
|
*/
|
|
57
62
|
protected buildConstraintContext(cursor: Cursor): CaptureConstraintContext;
|
|
63
|
+
/** The capture this pattern node stands for, paired with the target node it should bind to. */
|
|
64
|
+
protected captureAt(j: Tree, p: J): CaptureAt | undefined;
|
|
65
|
+
/** The marker `attachCaptureMarkers` moved onto a parenthesized capture's `J.RightPadded`, which `unwrap()` skips past. */
|
|
66
|
+
private captureBehindParentheses;
|
|
58
67
|
visit<R extends J>(j: Tree, p: J, parent?: Cursor): Promise<R | undefined>;
|
|
59
68
|
protected hasSameKind(j: J, other: J): boolean;
|
|
60
69
|
/**
|
|
@@ -174,4 +183,5 @@ export declare class DebugPatternMatchingComparator extends PatternMatchingCompa
|
|
|
174
183
|
protected visitSequenceElement(patternWrapper: J.RightPadded<J>, targetWrapper: J.RightPadded<J>, targetIdx: number): Promise<boolean>;
|
|
175
184
|
protected matchSequenceOptimized(patternElements: J.RightPadded<J>[], targetElements: J.RightPadded<J>[], patternIdx: number, targetIdx: number, filterEmpty: boolean): Promise<boolean>;
|
|
176
185
|
}
|
|
186
|
+
export {};
|
|
177
187
|
//# sourceMappingURL=comparator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comparator.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/comparator.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,OAAO,CAAC;AACnC,OAAO,EAAC,CAAC,EAAC,MAAM,YAAY,CAAC;AAC7B,OAAO,EAAC,EAAE,EAAC,MAAM,UAAU,CAAC;AAC5B,OAAO,EAAC,mCAAmC,EAAC,MAAM,eAAe,CAAC;AAClE,OAAO,EAAC,aAAa,EAAE,mBAAmB,EAAmB,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAU,wBAAwB,EAAc,aAAa,EAAE,gBAAgB,EAAC,MAAM,SAAS,CAAC;AAGvG;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC3B,GAAG,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACzG,cAAc,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACjH,cAAc,EAAE,MAAM,gBAAgB,GAAG,SAAS,CAAC;IACnD,kBAAkB,EAAE,CAAC,WAAW,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC5D,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE;QACT,WAAW,CAAC,EAAE,gBAAgB,CAAC;QAC/B,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;CACL;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B,aAAa,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;IAC1F,qBAAqB,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC;IACxG,SAAS,EAAE,MAAM,YAAY,CAAC;IAC9B,YAAY,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAG5C,KAAK,CAAC,EAAE,cAAc,CAAC;CAC1B;AAwBD;;;;GAIG;AACH,qBAAa,yBAA0B,SAAQ,mCAAmC;IAE1E,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,gBAAgB;gBAAzB,OAAO,EAAE,gBAAgB,EAC5C,mBAAmB,GAAE,OAAc;IAMvC;;;;OAIG;IACH,SAAS,CAAC,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,wBAAwB;
|
|
1
|
+
{"version":3,"file":"comparator.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/comparator.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,6 +41,10 @@ class CaptureMapImpl {
|
|
|
41
41
|
return this.storage.has(name);
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
|
+
/** Parentheses that `JavaScriptSemanticComparatorVisitor.unwrap()` sees through. */
|
|
45
|
+
function isParenthesized(j) {
|
|
46
|
+
return (j === null || j === void 0 ? void 0 : j.kind) === java_1.J.Kind.Parentheses || (j === null || j === void 0 ? void 0 : j.kind) === java_1.J.Kind.ControlParentheses;
|
|
47
|
+
}
|
|
44
48
|
/**
|
|
45
49
|
* A comparator for pattern matching that is lenient about optional properties.
|
|
46
50
|
* Allows patterns without type annotations to match actual code with type annotations.
|
|
@@ -64,31 +68,55 @@ class PatternMatchingComparator extends comparator_1.JavaScriptSemanticComparato
|
|
|
64
68
|
captures: new CaptureMapImpl(state.storage)
|
|
65
69
|
};
|
|
66
70
|
}
|
|
71
|
+
/** The capture this pattern node stands for, paired with the target node it should bind to. */
|
|
72
|
+
captureAt(j, p) {
|
|
73
|
+
const marker = utils_1.PlaceholderUtils.getCaptureMarker(j);
|
|
74
|
+
return marker ? { marker, target: p } : this.captureBehindParentheses(j, p);
|
|
75
|
+
}
|
|
76
|
+
/** The marker `attachCaptureMarkers` moved onto a parenthesized capture's `J.RightPadded`, which `unwrap()` skips past. */
|
|
77
|
+
captureBehindParentheses(j, p) {
|
|
78
|
+
let pattern = j;
|
|
79
|
+
let target = p;
|
|
80
|
+
while (isParenthesized(pattern)) {
|
|
81
|
+
const padded = pattern.tree;
|
|
82
|
+
if (!padded) {
|
|
83
|
+
return undefined;
|
|
84
|
+
}
|
|
85
|
+
target = isParenthesized(target) ? target.tree.element : target;
|
|
86
|
+
const marker = utils_1.PlaceholderUtils.getCaptureMarker(padded);
|
|
87
|
+
if (marker) {
|
|
88
|
+
return { marker, target: target };
|
|
89
|
+
}
|
|
90
|
+
pattern = padded.element;
|
|
91
|
+
}
|
|
92
|
+
return undefined;
|
|
93
|
+
}
|
|
67
94
|
async visit(j, p, parent) {
|
|
68
95
|
// Check if the pattern node is a capture - this handles unwrapped captures
|
|
69
96
|
// (Wrapped captures in J.RightPadded are handled by visitRightPadded override)
|
|
70
97
|
// Note: targetCursor will be pushed by parent's visit() method after this check
|
|
71
|
-
const
|
|
72
|
-
if (
|
|
98
|
+
const capture = this.captureAt(j, p);
|
|
99
|
+
if (capture) {
|
|
100
|
+
const { marker: captureMarker, target } = capture;
|
|
73
101
|
// Push targetCursor to position it at the captured node for constraint evaluation
|
|
74
102
|
// Only create cursor if targetCursor was initialized (meaning user provided one)
|
|
75
103
|
const savedTargetCursor = this.targetCursor;
|
|
76
104
|
const cursorAtCapturedNode = this.targetCursor !== undefined
|
|
77
|
-
? new __1.Cursor(
|
|
78
|
-
: new __1.Cursor(
|
|
105
|
+
? new __1.Cursor(target, this.targetCursor)
|
|
106
|
+
: new __1.Cursor(target);
|
|
79
107
|
this.targetCursor = cursorAtCapturedNode;
|
|
80
108
|
try {
|
|
81
109
|
// Evaluate constraint with context (cursor + previous captures)
|
|
82
110
|
// Skip constraint for variadic captures - they're evaluated in matchSequence with the full array
|
|
83
111
|
if (captureMarker.constraint && !captureMarker.variadicOptions) {
|
|
84
112
|
const context = this.buildConstraintContext(cursorAtCapturedNode);
|
|
85
|
-
if (!captureMarker.constraint(
|
|
113
|
+
if (!captureMarker.constraint(target, context)) {
|
|
86
114
|
const captureName = captureMarker.captureName || 'unnamed';
|
|
87
|
-
const targetKind =
|
|
115
|
+
const targetKind = target.kind || 'unknown';
|
|
88
116
|
return this.constraintFailed(captureName, targetKind);
|
|
89
117
|
}
|
|
90
118
|
}
|
|
91
|
-
const success = this.matcher.handleCapture(captureMarker,
|
|
119
|
+
const success = this.matcher.handleCapture(captureMarker, target, undefined);
|
|
92
120
|
if (!success) {
|
|
93
121
|
const captureName = captureMarker.captureName || 'unnamed';
|
|
94
122
|
return this.captureConflict(captureName);
|
|
@@ -268,12 +296,11 @@ class PatternMatchingComparator extends comparator_1.JavaScriptSemanticComparato
|
|
|
268
296
|
if (!this.match)
|
|
269
297
|
return methodInvocation;
|
|
270
298
|
}
|
|
271
|
-
//
|
|
272
|
-
if (
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
if (methodInvocation.typeParameters && otherMethodInvocation.typeParameters) {
|
|
299
|
+
// A pattern that spells out no type arguments says nothing about them, as with parentheses
|
|
300
|
+
if (methodInvocation.typeParameters) {
|
|
301
|
+
if (!otherMethodInvocation.typeParameters) {
|
|
302
|
+
return this.structuralMismatch('typeParameters');
|
|
303
|
+
}
|
|
277
304
|
if (methodInvocation.typeParameters.elements.length !== otherMethodInvocation.typeParameters.elements.length) {
|
|
278
305
|
return this.arrayLengthMismatch('typeParameters.elements');
|
|
279
306
|
}
|
|
@@ -741,25 +768,26 @@ class DebugPatternMatchingComparator extends PatternMatchingComparator {
|
|
|
741
768
|
}
|
|
742
769
|
}
|
|
743
770
|
async visit(j, p, parent) {
|
|
744
|
-
const
|
|
745
|
-
if (
|
|
771
|
+
const capture = this.captureAt(j, p);
|
|
772
|
+
if (capture) {
|
|
773
|
+
const { marker: captureMarker, target } = capture;
|
|
746
774
|
const savedTargetCursor = this.targetCursor;
|
|
747
775
|
const cursorAtCapturedNode = this.targetCursor !== undefined
|
|
748
|
-
? new __1.Cursor(
|
|
749
|
-
: new __1.Cursor(
|
|
776
|
+
? new __1.Cursor(target, this.targetCursor)
|
|
777
|
+
: new __1.Cursor(target);
|
|
750
778
|
this.targetCursor = cursorAtCapturedNode;
|
|
751
779
|
try {
|
|
752
780
|
if (captureMarker.constraint && !captureMarker.variadicOptions) {
|
|
753
781
|
this.debug.log('debug', 'constraint', `Evaluating constraint for capture: ${captureMarker.captureName}`);
|
|
754
|
-
const constraintResult = captureMarker.constraint(
|
|
782
|
+
const constraintResult = captureMarker.constraint(target, this.buildConstraintContext(cursorAtCapturedNode));
|
|
755
783
|
if (!constraintResult) {
|
|
756
784
|
this.debug.log('info', 'constraint', `Constraint failed for capture: ${captureMarker.captureName}`);
|
|
757
|
-
this.debug.setExplanation('constraint-failed', `Capture ${captureMarker.captureName} with valid constraint`, `Constraint failed for ${
|
|
785
|
+
this.debug.setExplanation('constraint-failed', `Capture ${captureMarker.captureName} with valid constraint`, `Constraint failed for ${target.kind}`, `Constraint evaluation returned false`);
|
|
758
786
|
return this.abort(j);
|
|
759
787
|
}
|
|
760
788
|
this.debug.log('debug', 'constraint', `Constraint passed for capture: ${captureMarker.captureName}`);
|
|
761
789
|
}
|
|
762
|
-
const success = this.matcher.handleCapture(captureMarker,
|
|
790
|
+
const success = this.matcher.handleCapture(captureMarker, target, undefined);
|
|
763
791
|
if (!success) {
|
|
764
792
|
return this.abort(j);
|
|
765
793
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comparator.js","sourceRoot":"","sources":["../../../src/javascript/templating/comparator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"comparator.js","sourceRoot":"","sources":["../../../src/javascript/templating/comparator.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;GAcG;AACH,6BAAmC;AACnC,qCAA6B;AAC7B,oCAA4B;AAC5B,8CAAkE;AAClE,mCAA6E;AAE7E,uCAA8C;AA4C9C;;;GAGG;AACH,MAAM,cAAc;IAChB,YAA6B,OAAyC;QAAzC,YAAO,GAAP,OAAO,CAAkC;IAAG,CAAC;IAI1E,GAAG,CAAC,OAAyB;QACzB,2DAA2D;QAC3D,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,OAAe,CAAC,6BAAmB,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAClH,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,GAAG,CAAC,OAAyB;QACzB,2DAA2D;QAC3D,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,OAAe,CAAC,6BAAmB,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAClH,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;CACJ;AAQD,oFAAoF;AACpF,SAAS,eAAe,CAAC,CAAM;IAC3B,OAAO,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,WAAW,IAAI,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;AACnF,CAAC;AAED;;;;GAIG;AACH,MAAa,yBAA0B,SAAQ,gDAAmC;IAC9E,YACuB,OAAyB,EAC5C,sBAA+B,IAAI;QAEnC,yGAAyG;QACzG,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAJR,YAAO,GAAP,OAAO,CAAkB;IAKhD,CAAC;IAED;;;;OAIG;IACO,sBAAsB,CAAC,MAAc;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACvC,OAAO;YACH,MAAM;YACN,QAAQ,EAAE,IAAI,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC;SAC9C,CAAC;IACN,CAAC;IAED,+FAA+F;IACrF,SAAS,CAAC,CAAO,EAAE,CAAI;QAC7B,MAAM,MAAM,GAAG,wBAAgB,CAAC,gBAAgB,CAAC,CAAM,CAAC,CAAC;QACzD,OAAO,MAAM,CAAC,CAAC,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,2HAA2H;IACnH,wBAAwB,CAAC,CAAO,EAAE,CAAI;QAC1C,IAAI,OAAO,GAAQ,CAAC,CAAC;QACrB,IAAI,MAAM,GAAQ,CAAC,CAAC;QACpB,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAoC,CAAC;YAC5D,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;YAChE,MAAM,MAAM,GAAG,wBAAgB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACzD,IAAI,MAAM,EAAE,CAAC;gBACT,OAAO,EAAC,MAAM,EAAE,MAAM,EAAE,MAAW,EAAC,CAAC;YACzC,CAAC;YACD,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC7B,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAEQ,KAAK,CAAC,KAAK,CAAc,CAAO,EAAE,CAAI,EAAE,MAAe;QAC5D,2EAA2E;QAC3E,+EAA+E;QAC/E,gFAAgF;QAChF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrC,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,EAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC;YAEhD,kFAAkF;YAClF,iFAAiF;YACjF,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC;YAC5C,MAAM,oBAAoB,GAAG,IAAI,CAAC,YAAY,KAAK,SAAS;gBACxD,CAAC,CAAC,IAAI,UAAM,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC;gBACvC,CAAC,CAAC,IAAI,UAAM,CAAC,MAAM,CAAC,CAAC;YACzB,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC;YACzC,IAAI,CAAC;gBACD,gEAAgE;gBAChE,iGAAiG;gBACjG,IAAI,aAAa,CAAC,UAAU,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;oBAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;oBAClE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;wBAC7C,MAAM,WAAW,GAAG,aAAa,CAAC,WAAW,IAAI,SAAS,CAAC;wBAC3D,MAAM,UAAU,GAAI,MAAc,CAAC,IAAI,IAAI,SAAS,CAAC;wBACrD,OAAO,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,UAAU,CAAM,CAAC;oBAC/D,CAAC;gBACL,CAAC;gBAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;gBAC7E,IAAI,CAAC,OAAO,EAAE,CAAC;oBACX,MAAM,WAAW,GAAG,aAAa,CAAC,WAAW,IAAI,SAAS,CAAC;oBAC3D,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAM,CAAC;gBAClD,CAAC;gBACD,OAAO,CAAM,CAAC;YAClB,CAAC;oBAAS,CAAC;gBACP,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC;YAC1C,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACd,OAAO,CAAM,CAAC;QAClB,CAAC;QAED,yEAAyE;QACzE,OAAO,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAES,WAAW,CAAC,CAAI,EAAE,KAAQ;QAChC,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC;YAC9B,CAAC,CAAC,CAAC,IAAI,IAAI,QAAC,CAAC,IAAI,CAAC,UAAU,IAAI,wBAAgB,CAAC,SAAS,CAAC,CAAiB,CAAC,CAAC,CAAC;IACvF,CAAC;IAED;;OAEG;IAEO,gBAAgB,CAAC,WAAmB,EAAE,UAAkB;;QAC9D,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAY,CAAC;QAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,mBAAmB,EAAE,WAAW,WAAW,GAAG,EAAE,sBAAsB,EAAE,yBAAyB,UAAU,EAAE,CAAC,CAAC;IAC9I,CAAC;IAES,eAAe,CAAC,WAAmB;;QACzC,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAY,CAAC;QAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,kBAAkB,EAAE,WAAW,WAAW,GAAG,EAAE,oBAAoB,EAAE,qBAAqB,CAAC,CAAC;IAC3H,CAAC;IAED;;;OAGG;IACM,KAAK,CAAC,gBAAgB,CAAwB,KAAuB,EAAE,CAAI;QAChF,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACd,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,uFAAuF;QACvF,4EAA4E;QAC5E,MAAM,aAAa,GAAG,wBAAgB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC/D,IAAI,aAAa,EAAE,CAAC;YAChB,wDAAwD;YACxD,MAAM,aAAa,GAAI,CAAS,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,WAAW,CAAC;YAC7D,MAAM,aAAa,GAAG,aAAa,CAAC,CAAC,CAAE,CAAiC,CAAC,CAAC,CAAC,SAAS,CAAC;YACrF,MAAM,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,aAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAEjE,qFAAqF;YACrF,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC;YAC5C,MAAM,oBAAoB,GAAG,IAAI,CAAC,YAAY,KAAK,SAAS;gBACxD,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,UAAM,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,UAAM,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC/G,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,UAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,UAAM,CAAC,aAAa,CAAC,CAAC,CAAC;YAC9E,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC;YACzC,IAAI,CAAC;gBACD,wEAAwE;gBACxE,iGAAiG;gBACjG,IAAI,aAAa,CAAC,UAAU,IAAI,CAAC,aAAa,CAAC,eAAe,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,aAAkB,EAAE,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC;oBACjK,MAAM,WAAW,GAAG,aAAa,CAAC,WAAW,IAAI,SAAS,CAAC;oBAC3D,MAAM,UAAU,GAAI,aAAqB,CAAC,IAAI,IAAI,SAAS,CAAC;oBAC5D,OAAO,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;gBAC1D,CAAC;gBAED,6EAA6E;gBAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,aAAkB,EAAE,aAA6C,CAAC,CAAC;gBAC7H,IAAI,CAAC,OAAO,EAAE,CAAC;oBACX,MAAM,WAAW,GAAG,aAAa,CAAC,WAAW,IAAI,SAAS,CAAC;oBAC3D,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;gBAC7C,CAAC;gBACD,OAAO,KAAK,CAAC;YACjB,CAAC;oBAAS,CAAC;gBACP,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC;YAC1C,CAAC;QACL,CAAC;QAED,oDAAoD;QACpD,OAAO,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IAEQ,KAAK,CAAC,cAAc,CAAc,SAAyB,EAAE,CAAI;QACtE,8CAA8C;QAC9C,MAAM,kBAAkB,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtD,wBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAC3C,CAAC;QAEF,qDAAqD;QACrD,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,gDAAgD;QAChD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,8BAA8B;QAC9B,MAAM,WAAW,GAAI,CAAS,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QACzD,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,qDAAqD;YACrD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;YAChC,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC;YAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,UAAM,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,CAAC,YAAY,GAAG,IAAI,UAAM,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACrD,IAAI,CAAC;gBACD,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;YAC/B,CAAC;oBAAS,CAAC;gBACP,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;gBAC1B,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC;YAC1C,CAAC;QACL,CAAC;QACD,MAAM,cAAc,GAAG,CAA8B,CAAC;QAEtD,kCAAkC;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC;QAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,UAAM,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,YAAY,GAAG,IAAI,UAAM,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAClE,IAAI,CAAC;YACD,0CAA0C;YAC1C,+FAA+F;YAC/F,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,QAA8B,EAAE,cAAc,CAAC,QAA8B,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC3H,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAC/C,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;YAC1B,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC;QAC1C,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;;;;;;;OAQG;IACO,KAAK,CAAC,qBAAqB,CACjC,OAAyB,EACzB,YAA8B,EAC9B,KAAa;QAEb,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAc,EAAE,YAAmB,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAEQ,KAAK,CAAC,qBAAqB,CAAC,gBAAoC,EAAE,KAAQ;QAC/E,+CAA+C;QAC/C,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACtE,wBAAgB,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAC1C,CAAC;QAEF,mGAAmG;QACnG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;QAChE,CAAC;QAED,gDAAgD;QAChD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACd,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACzC,kCAAkC;YAClC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;YAChC,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC;YAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,UAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACxD,IAAI,CAAC,YAAY,GAAG,IAAI,UAAM,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACzD,IAAI,CAAC;gBACD,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;YAC/B,CAAC;oBAAS,CAAC;gBACP,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;gBAC1B,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC;YAC1C,CAAC;QACL,CAAC;QAED,MAAM,qBAAqB,GAAG,KAA2B,CAAC;QAE1D,uCAAuC;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC;QAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,UAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,YAAY,GAAG,IAAI,UAAM,CAAC,qBAAqB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACzE,IAAI,CAAC;YACD,iBAAiB;YACjB,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,SAAS,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,KAAK,SAAS,CAAC,EAAE,CAAC;gBAC3F,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAC7C,CAAC;YAED,0BAA0B;YAC1B,IAAI,gBAAgB,CAAC,MAAM,IAAI,qBAAqB,CAAC,MAAM,EAAE,CAAC;gBAC1D,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,EAAE,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACxF,IAAI,CAAC,IAAI,CAAC,KAAK;oBAAE,OAAO,gBAAgB,CAAC;YAC7C,CAAC;YAED,2FAA2F;YAC3F,IAAI,gBAAgB,CAAC,cAAc,EAAE,CAAC;gBAClC,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,CAAC;oBACxC,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;gBACrD,CAAC;gBAED,IAAI,gBAAgB,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,KAAK,qBAAqB,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;oBAC3G,OAAO,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,CAAC;gBAC/D,CAAC;gBAED,kFAAkF;gBAClF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACvE,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAQ,CAAC,CAAC;oBAClI,IAAI,CAAC,IAAI,CAAC,KAAK;wBAAE,OAAO,gBAAgB,CAAC;gBAC7C,CAAC;YACL,CAAC;YAED,aAAa;YACb,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACpE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACd,OAAO,gBAAgB,CAAC;YAC5B,CAAC;YAED,sDAAsD;YACtD,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,SAAS,CAAC,QAAQ,EAAE,qBAAqB,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5G,OAAO,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAChD,CAAC;YAED,OAAO,gBAAgB,CAAC;QAC5B,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;YAC1B,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC;QAC1C,CAAC;IACL,CAAC;IAEQ,KAAK,CAAC,UAAU,CAAC,KAAc,EAAE,KAAQ;QAC9C,yEAAyE;QACzE,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACpD,MAAM,aAAa,GAAG,wBAAgB,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC9D,OAAO,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,eAAe,MAAK,SAAS,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,qDAAqD;QACrD,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;QAED,gDAAgD;QAChD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACd,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,kCAAkC;YAClC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;YAChC,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC;YAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,UAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,CAAC,YAAY,GAAG,IAAI,UAAM,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACzD,IAAI,CAAC;gBACD,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;YAC/B,CAAC;oBAAS,CAAC;gBACP,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;gBAC1B,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC;YAC1C,CAAC;QACL,CAAC;QAED,MAAM,UAAU,GAAG,KAAgB,CAAC;QAEpC,2CAA2C;QAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC;QAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,UAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,YAAY,GAAG,IAAI,UAAM,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9D,IAAI,CAAC;YACD,uDAAuD;YACvD,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC5E,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;YACjD,CAAC;YAED,OAAO,KAAK,CAAC;QACjB,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;YAC1B,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC;QAC1C,CAAC;IACL,CAAC;IAEQ,KAAK,CAAC,sBAAsB,CAAC,eAAmC,EAAE,KAAQ;QAC/E,gDAAgD;QAChD,MAAM,kBAAkB,GAAG,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC9D,OAAO,wBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,qDAAqD;QACrD,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC,sBAAsB,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QAChE,CAAC;QAED,gDAAgD;QAChD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACd,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,UAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACzC,kCAAkC;YAClC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;YAChC,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC;YAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,UAAM,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACvD,IAAI,CAAC,YAAY,GAAG,IAAI,UAAM,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACzD,IAAI,CAAC;gBACD,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;YAC/B,CAAC;oBAAS,CAAC;gBACP,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;gBAC1B,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC;YAC1C,CAAC;QACL,CAAC;QAED,MAAM,oBAAoB,GAAG,KAA2B,CAAC;QAEzD,2CAA2C;QAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC;QAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,UAAM,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,YAAY,GAAG,IAAI,UAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACxE,IAAI,CAAC;YACD,iEAAiE;YACjE,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,UAAU,EAAE,oBAAoB,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;gBAChG,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;YACjD,CAAC;YAED,OAAO,eAAe,CAAC;QAC3B,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;YAC1B,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC;QAC1C,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,cAAc,CAAC,WAA+B,EAAE,UAA8B;QACxF,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;;;;;;OAWG;IACO,KAAK,CAAC,aAAa,CAAC,eAAmC,EAAE,cAAkC,EAAE,WAAoB;QACvH,OAAO,MAAM,IAAI,CAAC,sBAAsB,CAAC,eAAe,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;IACjG,CAAC;IAED;;;;;;;;;;;OAWG;IACO,KAAK,CAAC,sBAAsB,CAClC,eAAmC,EACnC,cAAkC,EAClC,UAAkB,EAClB,SAAiB,EACjB,WAAoB;;QAEpB,kCAAkC;QAClC,IAAI,UAAU,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;YACvC,OAAO,SAAS,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC,kCAAkC;QACjF,CAAC;QAED,wFAAwF;QACxF,MAAM,cAAc,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,aAAa,GAAG,wBAAgB,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;QACxE,MAAM,UAAU,GAAG,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,eAAe,MAAK,SAAS,CAAC;QAEhE,IAAI,UAAU,EAAE,CAAC;YACb,wEAAwE;YACxE,MAAM,eAAe,GAAG,aAAc,CAAC,eAAe,CAAC;YACvD,MAAM,GAAG,GAAG,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,GAAG,mCAAI,CAAC,CAAC;YACtC,MAAM,GAAG,GAAG,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,GAAG,mCAAI,QAAQ,CAAC;YAE7C,2FAA2F;YAC3F,IAAI,4BAA4B,GAAG,CAAC,CAAC;YACrC,IAAI,oCAAoC,GAAG,IAAI,CAAC;YAChD,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3D,MAAM,iBAAiB,GAAG,wBAAgB,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChF,MAAM,cAAc,GAAG,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,eAAe,MAAK,SAAS,CAAC;gBACxE,IAAI,CAAC,cAAc,EAAE,CAAC;oBAClB,4BAA4B,EAAE,CAAC;gBACnC,CAAC;gBACD,4FAA4F;gBAC5F,yEAAyE;gBACzE,IAAI,iBAAiB,EAAE,CAAC;oBACpB,oCAAoC,GAAG,KAAK,CAAC;gBACjD,CAAC;YACL,CAAC;YACD,MAAM,uBAAuB,GAAG,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC;YAClE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,uBAAuB,GAAG,4BAA4B,EAAE,GAAG,CAAC,CAAC;YAE1F,uEAAuE;YACvE,qFAAqF;YACrF,IAAI,aAAa,GAAG,KAAK,CAAC;YAC1B,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC;YAEjB,iEAAiE;YACjE,wFAAwF;YACxF,MAAM,4BAA4B,GAAG,oCAAoC,IAAI,WAAW,IAAI,GAAG,IAAI,WAAW,IAAI,GAAG,CAAC;YAEtH,IAAI,CAAC,4BAA4B,IAAI,UAAU,GAAG,CAAC,GAAG,eAAe,CAAC,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;gBACjG,MAAM,WAAW,GAAG,eAAe,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;gBAEpD,8DAA8D;gBAC9D,KAAK,IAAI,UAAU,GAAG,GAAG,EAAE,UAAU,IAAI,WAAW,EAAE,UAAU,EAAE,EAAE,CAAC;oBACjE,kEAAkE;oBAClE,IAAI,SAAS,GAAG,UAAU,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC;wBACjD,MAAM,gBAAgB,GAAG,cAAc,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC;wBAEhE,6BAA6B;wBAC7B,IAAI,WAAW,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;4BAChE,SAAS;wBACb,CAAC;wBAED,4CAA4C;wBAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;wBAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;wBAE5C,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,gBAAuB,CAAC,CAAC;wBAClE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;wBAE/B,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;wBACxB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;wBAEtC,IAAI,WAAW,EAAE,CAAC;4BACd,iDAAiD;4BACjD,aAAa,GAAG,IAAI,CAAC;4BACrB,OAAO,GAAG,UAAU,CAAC;4BACrB,MAAM;wBACV,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;YAED,8BAA8B;YAC9B,MAAM,gBAAgB,GAAa,EAAE,CAAC;YAEtC,sFAAsF;YACtF,wFAAwF;YACxF,4FAA4F;YAC5F,IAAI,4BAA4B,EAAE,CAAC;gBAC/B,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACvC,CAAC;iBAAM,IAAI,aAAa,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;gBACvC,2CAA2C;gBAC3C,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC/B,KAAK,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;oBACtC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;wBAChB,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC7B,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,8BAA8B;gBAC9B,KAAK,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;oBACtC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7B,CAAC;YACL,CAAC;YAED,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;gBACrC,+CAA+C;gBAC/C,8FAA8F;gBAC9F,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC;gBACzE,MAAM,gBAAgB,GAAG,WAAW;oBAChC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,KAAK,CAAC;oBAC1D,CAAC,CAAC,WAAW,CAAC;gBAClB,MAAM,gBAAgB,GAAQ,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAEnE,sDAAsD;gBACtD,IAAI,gBAAgB,CAAC,MAAM,GAAG,GAAG,IAAI,gBAAgB,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;oBACjE,SAAS;gBACb,CAAC;gBAED,2CAA2C;gBAC3C,mFAAmF;gBACnF,yFAAyF;gBACzF,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC;oBAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,UAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,gBAAuB,EAAE,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;wBAC1F,SAAS,CAAC,8BAA8B;oBAC5C,CAAC;gBACL,CAAC;gBAED,sCAAsC;gBACtC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBAE5C,8BAA8B;gBAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;gBACtG,IAAI,CAAC,OAAO,EAAE,CAAC;oBACX,oCAAoC;oBACpC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;oBACtC,SAAS;gBACb,CAAC;gBAED,uCAAuC;gBACvC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,sBAAsB,CACjD,eAAe,EACf,cAAc,EACd,UAAU,GAAG,CAAC,EACd,SAAS,GAAG,OAAO,EACnB,WAAW,CACd,CAAC;gBAEF,IAAI,WAAW,EAAE,CAAC;oBACd,OAAO,IAAI,CAAC,CAAC,yBAAyB;gBAC1C,CAAC;gBAED,+CAA+C;gBAC/C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAC1C,CAAC;YAED,OAAO,KAAK,CAAC,CAAC,+BAA+B;QACjD,CAAC;aAAM,CAAC;YACJ,uEAAuE;YACvE,IAAI,SAAS,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;gBACrC,OAAO,KAAK,CAAC,CAAC,wCAAwC;YAC1D,CAAC;YAED,MAAM,aAAa,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;YAChD,MAAM,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC;YAE5C,yFAAyF;YACzF,IAAI,WAAW,IAAI,aAAa,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACrD,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,IAAI,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE,aAAa,EAAE,SAAS,CAAC,EAAE,CAAC;gBAC7E,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,6BAA6B;YAC7B,OAAO,MAAM,IAAI,CAAC,sBAAsB,CACpC,eAAe,EACf,cAAc,EACd,UAAU,GAAG,CAAC,EACd,SAAS,GAAG,CAAC,EACb,WAAW,CACd,CAAC;QACN,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACO,KAAK,CAAC,oBAAoB,CAChC,cAAgC,EAChC,aAA+B,EAC/B,SAAiB;QAEjB,8EAA8E;QAC9E,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAE5C,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,aAAoB,CAAC,CAAC;QAElE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACd,iCAAiC;YACjC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YACtC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA9pBD,8DA8pBC;AAED;;;;GAIG;AACH,MAAa,8BAA+B,SAAQ,yBAAyB;IACzE,IAAY,KAAK;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,KAAM,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACK,UAAU,CAAC,IAAY;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,KAAU;QAC1B,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC;QAClC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,WAAW,CAAC;QAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,IAAI,KAAK,GAAG,CAAC;QACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QAElF,+CAA+C;QAC/C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACnD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAEzC,wDAAwD;YACxD,IAAI,KAAK,CAAC,UAAU;gBAAE,OAAO,GAAG,IAAI,KAAK,KAAK,CAAC,UAAU,IAAI,CAAC;YAC9D,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;gBAAE,OAAO,GAAG,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;YAElF,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACgB,KAAK,CAAI,CAAI,EAAE,MAAe,EAAE,YAAqB,EAAE,QAAc,EAAE,MAAY;QAClG,sDAAsD;QACtD,iDAAiD;QACjD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACd,OAAO,CAAC,CAAC;QACb,CAAC;QAED,oDAAoD;QACpD,IAAI,MAAM,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,CAAC,EAAE,CAAC;YAC3E,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAE3C,IAAI,CAAC,KAAK,CAAC,cAAc,CACrB,MAAa,EACb,WAAW,EACX,SAAS,EACT,8BAA8B,CACjC,CAAC;QACN,CAAC;QAED,2BAA2B;QAC3B,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IAEgB,YAAY;;QAC3B,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAY,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,YAAY,0CAAE,KAAY,CAAC;QAC/C,yEAAyE;QACzE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,CAAC,CAAC;IACvH,CAAC;IAEkB,kBAAkB,CAAC,YAAoB;;QACtD,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAY,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,YAAY,0CAAE,KAAY,CAAC;QAC/C,MAAM,aAAa,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,YAAY,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,YAAY,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;IAChG,CAAC;IAEkB,mBAAmB,CAAC,YAAoB;;QACvD,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAY,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,YAAY,0CAAE,KAAY,CAAC;QAC/C,MAAM,aAAa,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,YAAY,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,YAAY,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC;QACzF,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC;QACnF,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IAC9F,CAAC;IAEkB,aAAa,CAAC,YAAqB,EAAE,QAAc,EAAE,MAAY;;QAChF,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAY,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,YAAY,0CAAE,KAAY,CAAC;QAE/C,2CAA2C;QAC3C,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,wDAAwD;QACxD,IAAI,YAAY,EAAE,CAAC;YACf,iFAAiF;YACjF,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1C,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC;YAE/B,qEAAqE;YACrE,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,CAAC;YAC/C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAElD,qEAAqE;YACrE,IAAI,UAAU,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;oBAClE,wCAAwC;oBACxC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBACpD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACzD,CAAC;qBAAM,CAAC;oBACJ,0DAA0D;oBAC1D,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtC,CAAC;gBACD,UAAU,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;QAED,IAAI,CAAC;YACD,iDAAiD;YACjD,IAAI,QAAQ,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACjD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YACjF,CAAC;YAED,mEAAmE;YACnE,IAAI,YAAY,EAAE,CAAC;gBACf,iCAAiC;gBACjC,MAAM,cAAc,GAAG,CAAC,GAAQ,EAAE,IAAY,EAAE,EAAE;oBAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC3E,CAAC,CAAC;gBAEF,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBAC5D,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;gBACzD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;YAC3F,CAAC;iBAAM,CAAC;gBACJ,2CAA2C;gBAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAChF,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,wCAAwC;YACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACzB,CAAC;QACL,CAAC;IACL,CAAC;IAEQ,KAAK,CAAC,KAAK,CAAc,CAAO,EAAE,CAAI,EAAE,MAAe;QAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrC,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,EAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC;YAChD,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC;YAC5C,MAAM,oBAAoB,GAAG,IAAI,CAAC,YAAY,KAAK,SAAS;gBACxD,CAAC,CAAC,IAAI,UAAM,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC;gBACvC,CAAC,CAAC,IAAI,UAAM,CAAC,MAAM,CAAC,CAAC;YACzB,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC;YACzC,IAAI,CAAC;gBACD,IAAI,aAAa,CAAC,UAAU,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;oBAC7D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,sCAAsC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;oBACzG,MAAM,gBAAgB,GAAG,aAAa,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,CAAC,CAAC;oBAC7G,IAAI,CAAC,gBAAgB,EAAE,CAAC;wBACpB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,kCAAkC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;wBACpG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,mBAAmB,EAAE,WAAW,aAAa,CAAC,WAAW,wBAAwB,EAAE,yBAA0B,MAAc,CAAC,IAAI,EAAE,EAAE,sCAAsC,CAAC,CAAC;wBACtM,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAM,CAAC;oBAC9B,CAAC;oBACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,kCAAkC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;gBACzG,CAAC;gBAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;gBAC7E,IAAI,CAAC,OAAO,EAAE,CAAC;oBACX,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAM,CAAC;gBAC9B,CAAC;gBACD,OAAO,CAAM,CAAC;YAClB,CAAC;oBAAS,CAAC;gBACP,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC;YAC1C,CAAC;QACL,CAAC;QAED,OAAO,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAEkB,KAAK,CAAC,YAAY,CAAc,CAAI,EAAE,KAAQ;QAC7D,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACd,OAAO,CAAC,CAAC;QACb,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACxF,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACjG,SAAS;YACb,CAAC;YAED,MAAM,MAAM,GAAI,CAAS,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,UAAU,GAAI,KAAa,CAAC,GAAG,CAAC,CAAC;YAEvC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;oBACpE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;oBACzC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,uBAAuB,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EACpE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;oBAChE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;oBACrB,OAAO,MAAM,CAAC;gBAClB,CAAC;gBAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACrC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;oBACzC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAClC,IAAI,CAAC;wBACD,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;wBACnD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;4BACd,OAAO,CAAC,CAAC;wBACb,CAAC;oBACL,CAAC;4BAAS,CAAC;wBACP,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;wBACrB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;oBACzB,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;gBACzC,IAAI,CAAC;oBACD,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;oBAC7C,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;wBACd,OAAO,CAAC,CAAC;oBACb,CAAC;gBACL,CAAC;wBAAS,CAAC;oBACP,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACzB,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,CAAC,CAAC;IACb,CAAC;IAEQ,KAAK,CAAC,gBAAgB,CAAwB,KAAuB,EAAE,CAAI;QAChF,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACd,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,aAAa,GAAG,wBAAgB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC/D,IAAI,aAAa,EAAE,CAAC;YAChB,MAAM,aAAa,GAAI,CAAS,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,WAAW,CAAC;YAC7D,MAAM,aAAa,GAAG,aAAa,CAAC,CAAC,CAAE,CAAiC,CAAC,CAAC,CAAC,SAAS,CAAC;YACrF,MAAM,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,aAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAEjE,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC;YAC5C,MAAM,oBAAoB,GAAG,IAAI,CAAC,YAAY,KAAK,SAAS;gBACxD,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,UAAM,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,UAAM,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC/G,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,UAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,UAAM,CAAC,aAAa,CAAC,CAAC,CAAC;YAC9E,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC;YACzC,IAAI,CAAC;gBACD,IAAI,aAAa,CAAC,UAAU,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;oBAC7D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,8CAA8C,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;oBACjH,MAAM,gBAAgB,GAAG,aAAa,CAAC,UAAU,CAAC,aAAkB,EAAE,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,CAAC,CAAC;oBACzH,IAAI,CAAC,gBAAgB,EAAE,CAAC;wBACpB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,0CAA0C,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;wBAC5G,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,mBAAmB,EAAE,WAAW,aAAa,CAAC,WAAW,wBAAwB,EAAE,yBAA0B,aAAqB,CAAC,IAAI,EAAE,EAAE,sCAAsC,CAAC,CAAC;wBAC7M,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC7B,CAAC;oBACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,0CAA0C,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;gBACjH,CAAC;gBAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,aAAkB,EAAE,aAA6C,CAAC,CAAC;gBAC7H,IAAI,CAAC,OAAO,EAAE,CAAC;oBACX,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC7B,CAAC;gBACD,OAAO,KAAK,CAAC;YACjB,CAAC;oBAAS,CAAC;gBACP,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC;YAC1C,CAAC;QACL,CAAC;QAED,OAAO,MAAM,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;IAEQ,KAAK,CAAC,cAAc,CAAc,SAAyB,EAAE,CAAI;QACtE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,WAAW,GAAI,CAAS,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QACzD,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,cAAc,GAAG,CAA8B,CAAC;QAEtD,MAAM,kBAAkB,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtD,wBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAC3C,CAAC;QAEF,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC;QAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,UAAM,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,YAAY,GAAG,IAAI,UAAM,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAClE,IAAI,CAAC;YACD,IAAI,kBAAkB,EAAE,CAAC;gBACrB,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,QAA8B,EAAE,cAAc,CAAC,QAA8B,EAAE,IAAI,CAAC,EAAE,CAAC;oBAC3H,OAAO,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;gBAChD,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,oCAAoC;gBACpC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,KAAK,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;oBAC/D,OAAO,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;gBAChD,CAAC;gBAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACjD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAClC,IAAI,CAAC;wBACD,IAAI,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;4BAC1F,OAAO,SAAS,CAAC;wBACrB,CAAC;oBACL,CAAC;4BAAS,CAAC;wBACP,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;oBACzB,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;YAC1B,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC;QAC1C,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;OAEG;IACgB,KAAK,CAAC,sBAAsB,CAC3C,YAAoB,EACpB,SAAyB,EACzB,cAA8B;QAE9B,yBAAyB;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAU,CAAC;QAEtC,6BAA6B;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAE,MAAc,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC,CAAC;QAElD,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,cAAqB,CAAC,CAAC;YAC5D,OAAO,SAAS,CAAC;QACrB,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;IACL,CAAC;IAED;;OAEG;IACgB,KAAK,CAAC,wBAAwB,CAC7C,YAAoB,EACpB,WAA6B,EAC7B,gBAAkC;QAElC,yBAAyB;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAU,CAAC;QAEtC,6BAA6B;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAE,MAAc,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC,CAAC;QAElD,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,gBAAuB,CAAC,CAAC;QAC7E,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;IACL,CAAC;IAED;;OAEG;IACgB,KAAK,CAAC,uBAAuB,CAC5C,YAAoB,EACpB,UAA2B,EAC3B,eAAgC;QAEhC,yBAAyB;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAU,CAAC;QAEtC,6BAA6B;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAE,MAAc,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC,CAAC;QAElD,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,eAAsB,CAAC,CAAC;QAC1E,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;IACL,CAAC;IAGkB,KAAK,CAAC,qBAAqB,CAC1C,OAAyB,EACzB,YAA8B,EAC9B,KAAa;QAEb,iFAAiF;QACjF,OAAO,MAAM,KAAK,CAAC,qBAAqB,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IAC3E,CAAC;IAEkB,KAAK,CAAC,kBAAkB,CACvC,MAAS,EACT,YAAoB,EACpB,MAAW,EACX,MAAW,EACX,OAA6D;QAE7D,6BAA6B;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAE,MAAc,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC,CAAC;QAElD,IAAI,CAAC;YACD,iDAAiD;YACjD,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClC,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;gBACvC,OAAO;YACX,CAAC;YAED,yCAAyC;YACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAClC,IAAI,CAAC;oBACD,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACvC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;wBACd,OAAO;oBACX,CAAC;gBACL,CAAC;wBAAS,CAAC;oBACP,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACzB,CAAC;YACL,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;IACL,CAAC;IAEkB,KAAK,CAAC,aAAa,CAClC,eAAmC,EACnC,cAAkC,EAClC,WAAoB;;QAEpB,wCAAwC;QACxC,yCAAyC;QACzC,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAY,CAAC;QAC1C,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9C,4CAA4C;YAC5C,IAAI,YAAY,GAAG,UAAU,CAAC;YAC9B,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC5C,YAAY,GAAG,WAAW,CAAC;YAC/B,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxC,YAAY,GAAG,YAAY,CAAC;YAChC,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,CAAC;YACD,OAAO,MAAM,KAAK,CAAC,aAAa,CAAC,eAAe,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;QACnF,CAAC;gBAAS,CAAC;YACP,IAAI,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK,EAAE,CAAC;gBACrB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACzB,CAAC;QACL,CAAC;IACL,CAAC;IAEkB,KAAK,CAAC,oBAAoB,CACzC,cAAgC,EAChC,aAA+B,EAC/B,SAAiB;QAEjB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC;YACD,8EAA8E;YAC9E,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;YAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAE5C,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,aAAoB,CAAC,CAAC;YAElE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACd,8CAA8C;gBAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;gBAChD,iCAAiC;gBACjC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;gBACxB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;gBACtC,yDAAyD;gBACzD,IAAI,WAAW,EAAE,CAAC;oBACd,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;gBAC/C,CAAC;gBACD,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,OAAO,IAAI,CAAC;QAChB,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;IACL,CAAC;IAEkB,KAAK,CAAC,sBAAsB,CAC3C,eAAmC,EACnC,cAAkC,EAClC,UAAkB,EAClB,SAAiB,EACjB,WAAoB;;QAEpB,IAAI,UAAU,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;YACvC,OAAO,SAAS,IAAI,cAAc,CAAC,MAAM,CAAC;QAC9C,CAAC;QAED,MAAM,cAAc,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,aAAa,GAAG,wBAAgB,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;QACxE,MAAM,UAAU,GAAG,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,eAAe,MAAK,SAAS,CAAC;QAEhE,IAAI,UAAU,EAAE,CAAC;YACb,MAAM,eAAe,GAAG,aAAc,CAAC,eAAe,CAAC;YACvD,MAAM,GAAG,GAAG,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,GAAG,mCAAI,CAAC,CAAC;YACtC,MAAM,GAAG,GAAG,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,GAAG,mCAAI,QAAQ,CAAC;YAE7C,IAAI,4BAA4B,GAAG,CAAC,CAAC;YACrC,IAAI,oCAAoC,GAAG,IAAI,CAAC;YAChD,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3D,MAAM,iBAAiB,GAAG,wBAAgB,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChF,MAAM,cAAc,GAAG,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,eAAe,MAAK,SAAS,CAAC;gBACxE,IAAI,CAAC,cAAc,EAAE,CAAC;oBAClB,4BAA4B,EAAE,CAAC;gBACnC,CAAC;gBACD,IAAI,iBAAiB,EAAE,CAAC;oBACpB,oCAAoC,GAAG,KAAK,CAAC;gBACjD,CAAC;YACL,CAAC;YACD,MAAM,uBAAuB,GAAG,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC;YAClE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,uBAAuB,GAAG,4BAA4B,EAAE,GAAG,CAAC,CAAC;YAE1F,IAAI,aAAa,GAAG,KAAK,CAAC;YAC1B,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC;YAEjB,iEAAiE;YACjE,wFAAwF;YACxF,MAAM,4BAA4B,GAAG,oCAAoC,IAAI,WAAW,IAAI,GAAG,IAAI,WAAW,IAAI,GAAG,CAAC;YAEtH,IAAI,CAAC,4BAA4B,IAAI,UAAU,GAAG,CAAC,GAAG,eAAe,CAAC,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;gBACjG,MAAM,WAAW,GAAG,eAAe,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;gBAEpD,KAAK,IAAI,UAAU,GAAG,GAAG,EAAE,UAAU,IAAI,WAAW,EAAE,UAAU,EAAE,EAAE,CAAC;oBACjE,IAAI,SAAS,GAAG,UAAU,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC;wBACjD,MAAM,gBAAgB,GAAG,cAAc,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC;wBAEhE,IAAI,WAAW,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;4BAChE,SAAS;wBACb,CAAC;wBAED,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;wBAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;wBAE5C,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,gBAAuB,CAAC,CAAC;wBAClE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;wBAE/B,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;wBACxB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;wBAEtC,IAAI,WAAW,EAAE,CAAC;4BACd,aAAa,GAAG,IAAI,CAAC;4BACrB,OAAO,GAAG,UAAU,CAAC;4BACrB,MAAM;wBACV,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;YAED,MAAM,gBAAgB,GAAa,EAAE,CAAC;YACtC,sFAAsF;YACtF,wFAAwF;YACxF,4FAA4F;YAC5F,IAAI,4BAA4B,EAAE,CAAC;gBAC/B,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACvC,CAAC;iBAAM,IAAI,aAAa,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;gBACvC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC/B,KAAK,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;oBACtC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;wBAChB,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC7B,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,KAAK,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;oBACtC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7B,CAAC;YACL,CAAC;YAED,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;gBACrC,+CAA+C;gBAC/C,8FAA8F;gBAC9F,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC;gBACzE,MAAM,gBAAgB,GAAG,WAAW;oBAChC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,KAAK,CAAC;oBAC1D,CAAC,CAAC,WAAW,CAAC;gBAClB,MAAM,gBAAgB,GAAQ,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAEnE,sDAAsD;gBACtD,IAAI,gBAAgB,CAAC,MAAM,GAAG,GAAG,IAAI,gBAAgB,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;oBACjE,SAAS;gBACb,CAAC;gBAED,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC;oBAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,+CAA+C,aAAa,CAAC,WAAW,KAAK,gBAAgB,CAAC,MAAM,YAAY,CAAC,CAAC;oBACxJ,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,UAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClE,MAAM,gBAAgB,GAAG,aAAa,CAAC,UAAU,CAAC,gBAAuB,EAAE,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;oBAChH,IAAI,CAAC,gBAAgB,EAAE,CAAC;wBACpB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,2CAA2C,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;wBAC7G,SAAS;oBACb,CAAC;oBACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,2CAA2C,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;gBAClH,CAAC;gBAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBAE5C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;gBACtG,IAAI,CAAC,OAAO,EAAE,CAAC;oBACX,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;oBACtC,SAAS;gBACb,CAAC;gBAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,sBAAsB,CACjD,eAAe,EACf,cAAc,EACd,UAAU,GAAG,CAAC,EACd,SAAS,GAAG,OAAO,EACnB,WAAW,CACd,CAAC;gBAEF,IAAI,WAAW,EAAE,CAAC;oBACd,OAAO,IAAI,CAAC;gBAChB,CAAC;gBAED,uEAAuE;gBACvE,wFAAwF;gBACxF,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvD,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;gBACtC,6DAA6D;gBAC7D,IAAI,kBAAkB,EAAE,CAAC;oBACrB,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;gBACtD,CAAC;YACL,CAAC;YAED,OAAO,KAAK,CAAC;QACjB,CAAC;aAAM,CAAC;YACJ,IAAI,SAAS,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;gBACrC,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,MAAM,aAAa,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;YAChD,MAAM,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC;YAE5C,IAAI,WAAW,IAAI,aAAa,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACrD,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,IAAI,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE,aAAa,EAAE,SAAS,CAAC,EAAE,CAAC;gBAC7E,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,sBAAsB,CACpC,eAAe,EACf,cAAc,EACd,UAAU,GAAG,CAAC,EACd,SAAS,GAAG,CAAC,EACb,WAAW,CACd,CAAC;QACN,CAAC;IACL,CAAC;CACJ;AAtqBD,wEAsqBC"}
|