@altopelago/aeos-core 0.12.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -0
- package/dist/bin/aeos-validator.d.ts +1 -1
- package/dist/bin/aeos-validator.js +9 -5
- package/dist/bin/aeos-validator.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/rules/numericForm.d.ts.map +1 -1
- package/dist/rules/numericForm.js +9 -29
- package/dist/rules/numericForm.js.map +1 -1
- package/dist/rules/schemaIndex.d.ts.map +1 -1
- package/dist/rules/schemaIndex.js +19 -2
- package/dist/rules/schemaIndex.js.map +1 -1
- package/dist/schema-codec.d.ts.map +1 -1
- package/dist/schema-codec.js +79 -4
- package/dist/schema-codec.js.map +1 -1
- package/dist/telex.d.ts +14 -0
- package/dist/telex.d.ts.map +1 -0
- package/dist/telex.js +33 -0
- package/dist/telex.js.map +1 -0
- package/dist/types/aes.d.ts +9 -3
- package/dist/types/aes.d.ts.map +1 -1
- package/dist/types/schema.d.ts +2 -2
- package/dist/types/schema.d.ts.map +1 -1
- package/dist/util/numericBounds.d.ts +7 -0
- package/dist/util/numericBounds.d.ts.map +1 -0
- package/dist/util/numericBounds.js +96 -0
- package/dist/util/numericBounds.js.map +1 -0
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +244 -35
- package/dist/validate.js.map +1 -1
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -36,6 +36,15 @@ if (result.ok) {
|
|
|
36
36
|
}
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
+
For an interoperable boundary, `validateTelex(telex, schema, options?)` first
|
|
40
|
+
checks Telex syntax and the declared AES profile, then applies the same AEOS
|
|
41
|
+
schema to its body records. Portable datatype components are recombined only
|
|
42
|
+
for schema comparison, flat attributes remain addressable through `.@`, and
|
|
43
|
+
node cardinality counts content beneath the explicit `[0]` node head.
|
|
44
|
+
Structural identity remains selection metadata and never becomes part of the
|
|
45
|
+
path. The validator CLI likewise accepts either an `aes` array or a `telex`
|
|
46
|
+
string in its JSON request.
|
|
47
|
+
|
|
39
48
|
## What AEOS Does
|
|
40
49
|
|
|
41
50
|
AEOS answers: "Is this AES structurally and representationally valid?"
|
|
@@ -92,6 +101,14 @@ aeos:schema = {
|
|
|
92
101
|
type:string = "StringLiteral"
|
|
93
102
|
}
|
|
94
103
|
}
|
|
104
|
+
{
|
|
105
|
+
path:sansa = $.contact.age
|
|
106
|
+
constraints:object = {
|
|
107
|
+
type:string = "IntegerLiteral"
|
|
108
|
+
min_value:number = 0
|
|
109
|
+
max_value:number = 120
|
|
110
|
+
}
|
|
111
|
+
}
|
|
95
112
|
]
|
|
96
113
|
}
|
|
97
114
|
`);
|
|
@@ -103,6 +120,10 @@ Native `.aeos` source uses `path:sansa` for exact targets and
|
|
|
103
120
|
`selector:sansa` for expansion targets. The in-memory `SchemaV1` object still
|
|
104
121
|
uses string `path` / `selector` fields.
|
|
105
122
|
|
|
123
|
+
Numeric value bounds are native AEON numbers in `.aeos` source. The in-memory
|
|
124
|
+
and portable JSON schema models retain their canonical number lexemes as
|
|
125
|
+
strings, avoiding JSON and JavaScript precision loss.
|
|
126
|
+
|
|
106
127
|
### Indexed child paths
|
|
107
128
|
|
|
108
129
|
AEOS validates AES paths, including synthetic indexed child events emitted by Core.
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Protocol (CLI Protocol v1):
|
|
8
8
|
* - Invoked as: aeos-validator --cts-validate
|
|
9
|
-
* - Reads JSON from stdin: { aes, schema, options }
|
|
9
|
+
* - Reads JSON from stdin: { aes, schema, options } or { telex, schema, options }
|
|
10
10
|
* - Writes JSON to stdout: ResultEnvelope
|
|
11
11
|
* - Logs may go to stderr
|
|
12
12
|
*
|
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Protocol (CLI Protocol v1):
|
|
8
8
|
* - Invoked as: aeos-validator --cts-validate
|
|
9
|
-
* - Reads JSON from stdin: { aes, schema, options }
|
|
9
|
+
* - Reads JSON from stdin: { aes, schema, options } or { telex, schema, options }
|
|
10
10
|
* - Writes JSON to stdout: ResultEnvelope
|
|
11
11
|
* - Logs may go to stderr
|
|
12
12
|
*
|
|
13
13
|
* This adapter is READ-ONLY and does not alter validator behavior.
|
|
14
14
|
*/
|
|
15
|
-
import { validate } from '../index.js';
|
|
15
|
+
import { validate, validateTelex } from '../index.js';
|
|
16
16
|
/**
|
|
17
17
|
* Read all stdin as a string
|
|
18
18
|
*/
|
|
@@ -51,8 +51,10 @@ async function main() {
|
|
|
51
51
|
process.exit(1);
|
|
52
52
|
}
|
|
53
53
|
// Validate required fields
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
const hasAes = Array.isArray(parsed.aes);
|
|
55
|
+
const hasTelex = typeof parsed.telex === 'string';
|
|
56
|
+
if (hasAes === hasTelex) {
|
|
57
|
+
console.error('Error: Provide exactly one valid "aes" array or "telex" string');
|
|
56
58
|
process.exit(1);
|
|
57
59
|
}
|
|
58
60
|
if (!parsed.schema || typeof parsed.schema !== 'object') {
|
|
@@ -60,7 +62,9 @@ async function main() {
|
|
|
60
62
|
process.exit(1);
|
|
61
63
|
}
|
|
62
64
|
// Run validation (read-only, does not mutate inputs)
|
|
63
|
-
const result =
|
|
65
|
+
const result = hasTelex
|
|
66
|
+
? validateTelex(parsed.telex, parsed.schema, parsed.options ?? {})
|
|
67
|
+
: validate(parsed.aes, parsed.schema, parsed.options ?? {});
|
|
64
68
|
// Output result envelope to stdout
|
|
65
69
|
// MUST NOT include 'aes' in output (enforced by validate())
|
|
66
70
|
console.log(JSON.stringify(result));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aeos-validator.js","sourceRoot":"","sources":["../../src/bin/aeos-validator.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"aeos-validator.js","sourceRoot":"","sources":["../../src/bin/aeos-validator.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -20,6 +20,8 @@
|
|
|
20
20
|
*/
|
|
21
21
|
export { validate } from './validate.js';
|
|
22
22
|
export type { ValidateOptions } from './validate.js';
|
|
23
|
+
export { validateTelex } from './telex.js';
|
|
24
|
+
export type { ValidateTelexOptions } from './telex.js';
|
|
23
25
|
export { normalizeSchemaObject, parseSchemaSource, schemaToAeon, SchemaCodecError, } from './schema-codec.js';
|
|
24
26
|
export type { SchemaCodecOptions } from './schema-codec.js';
|
|
25
27
|
export { diffSchemas, diffSchemaSources, inferSchemaFromAeon, inferSchemaFromEvents, projectSchemaSourceToAeon, projectSchemaToAeon, SchemaInferenceError, validateSchemaEvolution, validateSchemaEvolutionSources, } from './schema-tools.js';
|
|
@@ -29,7 +31,7 @@ export type { Span } from './types/spans.js';
|
|
|
29
31
|
export { createPassingEnvelope, createFailingEnvelope } from './types/envelope.js';
|
|
30
32
|
export { spanToTuple } from './types/spans.js';
|
|
31
33
|
export type { SchemaV1, SchemaRule, ConstraintsV1, SchemaEvolutionKindV1, SchemaEvolutionV1, } from './types/schema.js';
|
|
32
|
-
export type { AES, AssignmentEvent } from './types/aes.js';
|
|
34
|
+
export type { AES, AssignmentEvent, PortableAesBodyEvent, TelexRecord } from './types/aes.js';
|
|
33
35
|
export { ErrorCodes } from './diag/codes.js';
|
|
34
36
|
export type { ErrorCode } from './diag/codes.js';
|
|
35
37
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAMH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EACH,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EACH,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,8BAA8B,GACjC,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACR,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,yBAAyB,GAC5B,MAAM,mBAAmB,CAAC;AAO3B,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChE,YAAY,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,YAAY,EACR,QAAQ,EACR,UAAU,EACV,aAAa,EACb,qBAAqB,EACrB,iBAAiB,GACpB,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAMH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,YAAY,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EACH,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EACH,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,8BAA8B,GACjC,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACR,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,yBAAyB,GAC5B,MAAM,mBAAmB,CAAC;AAO3B,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChE,YAAY,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,YAAY,EACR,QAAQ,EACR,UAAU,EACV,aAAa,EACb,qBAAqB,EACrB,iBAAiB,GACpB,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EAAE,GAAG,EAAE,eAAe,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAM9F,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
// PUBLIC API
|
|
23
23
|
// =============================================================================
|
|
24
24
|
export { validate } from './validate.js';
|
|
25
|
+
export { validateTelex } from './telex.js';
|
|
25
26
|
export { normalizeSchemaObject, parseSchemaSource, schemaToAeon, SchemaCodecError, } from './schema-codec.js';
|
|
26
27
|
export { diffSchemas, diffSchemaSources, inferSchemaFromAeon, inferSchemaFromEvents, projectSchemaSourceToAeon, projectSchemaToAeon, SchemaInferenceError, validateSchemaEvolution, validateSchemaEvolutionSources, } from './schema-tools.js';
|
|
27
28
|
export { createPassingEnvelope, createFailingEnvelope } from './types/envelope.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,gFAAgF;AAChF,aAAa;AACb,gFAAgF;AAEhF,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EACH,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACH,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,8BAA8B,GACjC,MAAM,mBAAmB,CAAC;AAkB3B,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAc/C,gFAAgF;AAChF,cAAc;AACd,gFAAgF;AAEhF,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,gFAAgF;AAChF,aAAa;AACb,gFAAgF;AAEhF,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EACH,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACH,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,8BAA8B,GACjC,MAAM,mBAAmB,CAAC;AAkB3B,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAc/C,gFAAgF;AAChF,cAAc;AACd,gFAAgF;AAEhF,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numericForm.d.ts","sourceRoot":"","sources":["../../src/rules/numericForm.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"numericForm.d.ts","sourceRoot":"","sources":["../../src/rules/numericForm.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAKlD;;GAEG;AACH,UAAU,YAAY;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,IAAI,CAAC;CACd;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC5B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,EACzC,GAAG,EAAE,WAAW,GACjB,IAAI,CAwHN"}
|
|
@@ -7,6 +7,7 @@ import { createDiag, emitError } from '../diag/emit.js';
|
|
|
7
7
|
import { ErrorCodes } from '../diag/codes.js';
|
|
8
8
|
import { countIntegerDigits, isNegative } from '../util/digits.js';
|
|
9
9
|
import { declaredRadixFromDatatype } from '../util/datatypes.js';
|
|
10
|
+
import { compareNumericValues } from '../util/numericBounds.js';
|
|
10
11
|
/**
|
|
11
12
|
* Check numeric form constraints for events matching schema rules.
|
|
12
13
|
*
|
|
@@ -67,17 +68,17 @@ export function checkNumericForm(ruleIndex, events, ctx) {
|
|
|
67
68
|
}
|
|
68
69
|
}
|
|
69
70
|
if (min_value !== undefined || max_value !== undefined) {
|
|
70
|
-
const
|
|
71
|
-
if (!
|
|
71
|
+
const normalized = normalizeRangeLiteral(event.type, raw);
|
|
72
|
+
if (!normalized) {
|
|
72
73
|
emitError(ctx, createDiag(path, event.span, `Numeric form violation: range constraints require numeric literal form`, ErrorCodes.NUMERIC_FORM_VIOLATION));
|
|
73
74
|
continue;
|
|
74
75
|
}
|
|
75
|
-
if (min_value !== undefined &&
|
|
76
|
-
emitError(ctx, createDiag(path, event.span, `Numeric form violation: expected value >= ${min_value}, got ${
|
|
76
|
+
if (min_value !== undefined && compareNumericValues(normalized, min_value) === -1) {
|
|
77
|
+
emitError(ctx, createDiag(path, event.span, `Numeric form violation: expected value >= ${min_value}, got ${normalized}`, ErrorCodes.NUMERIC_FORM_VIOLATION));
|
|
77
78
|
continue;
|
|
78
79
|
}
|
|
79
|
-
if (max_value !== undefined &&
|
|
80
|
-
emitError(ctx, createDiag(path, event.span, `Numeric form violation: expected value <= ${max_value}, got ${
|
|
80
|
+
if (max_value !== undefined && compareNumericValues(normalized, max_value) === 1) {
|
|
81
|
+
emitError(ctx, createDiag(path, event.span, `Numeric form violation: expected value <= ${max_value}, got ${normalized}`, ErrorCodes.NUMERIC_FORM_VIOLATION));
|
|
81
82
|
}
|
|
82
83
|
}
|
|
83
84
|
}
|
|
@@ -126,29 +127,8 @@ function radixDigitValue(char) {
|
|
|
126
127
|
}
|
|
127
128
|
function normalizeRangeLiteral(type, raw) {
|
|
128
129
|
const normalized = raw.replace(/_/g, '');
|
|
129
|
-
if (type
|
|
130
|
-
if (!/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?$/.test(normalized))
|
|
131
|
-
return null;
|
|
132
|
-
const value = Number(normalized);
|
|
133
|
-
return Number.isFinite(value) ? { kind: 'float', raw: normalized, value } : null;
|
|
134
|
-
}
|
|
135
|
-
if (!/^[+-]?\d+$/.test(normalized))
|
|
130
|
+
if (type !== 'FloatLiteral' && type !== 'NumberLiteral' && type !== 'IntegerLiteral')
|
|
136
131
|
return null;
|
|
137
|
-
return
|
|
138
|
-
}
|
|
139
|
-
function isBelowRange(range, bound) {
|
|
140
|
-
if (range.kind === 'integer' && /^[-+]?\d+$/.test(bound)) {
|
|
141
|
-
return range.value < BigInt(bound);
|
|
142
|
-
}
|
|
143
|
-
return rangeAsNumber(range) < Number(bound);
|
|
144
|
-
}
|
|
145
|
-
function isAboveRange(range, bound) {
|
|
146
|
-
if (range.kind === 'integer' && /^[-+]?\d+$/.test(bound)) {
|
|
147
|
-
return range.value > BigInt(bound);
|
|
148
|
-
}
|
|
149
|
-
return rangeAsNumber(range) > Number(bound);
|
|
150
|
-
}
|
|
151
|
-
function rangeAsNumber(range) {
|
|
152
|
-
return range.kind === 'integer' ? Number(range.value) : range.value;
|
|
132
|
+
return compareNumericValues(normalized, normalized) === null ? null : normalized;
|
|
153
133
|
}
|
|
154
134
|
//# sourceMappingURL=numericForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numericForm.js","sourceRoot":"","sources":["../../src/rules/numericForm.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"numericForm.js","sourceRoot":"","sources":["../../src/rules/numericForm.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAYhE;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAC5B,SAAoB,EACpB,MAAyC,EACzC,GAAgB;IAEhB,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;QACnC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;QAEvF,sCAAsC;QACtC,IAAI,IAAI,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1J,SAAS;QACb,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK;YAAE,SAAS,CAAC,yCAAyC;QAE/D,+DAA+D;QAC/D,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,SAAS;QACb,CAAC;QAED,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QAEtB,kBAAkB;QAClB,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,EAAE,CAAC;YAC9J,IAAI,IAAI,KAAK,UAAU,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7C,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,IAAI,EACJ,KAAK,CAAC,IAAI,EACV,yDAAyD,EACzD,UAAU,CAAC,sBAAsB,CACpC,CAAC,CAAC;gBACH,SAAS,CAAC,uCAAuC;YACrD,CAAC;YACD,wDAAwD;QAC5D,CAAC;QAED,0BAA0B;QAC1B,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAEpD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,GAAG,UAAU,EAAE,CAAC;YACtD,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,IAAI,EACJ,KAAK,CAAC,IAAI,EACV,wCAAwC,UAAU,gBAAgB,UAAU,EAAE,EAC9E,UAAU,CAAC,sBAAsB,CACpC,CAAC,CAAC;YACH,SAAS;QACb,CAAC;QAED,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,GAAG,UAAU,EAAE,CAAC;YACtD,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,IAAI,EACJ,KAAK,CAAC,IAAI,EACV,wCAAwC,UAAU,gBAAgB,UAAU,EAAE,EAC9E,UAAU,CAAC,sBAAsB,CACpC,CAAC,CAAC;YACH,SAAS;QACb,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACvD,MAAM,aAAa,GAAG,yBAAyB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAChE,IAAI,aAAa,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,uBAAuB,KAAK,IAAI,EAAE,CAAC;gBAC9E,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,IAAI,EACJ,KAAK,CAAC,IAAI,EACV,iEAAiE,KAAK,EAAE,EACxE,UAAU,CAAC,sBAAsB,CACpC,CAAC,CAAC;gBACH,SAAS;YACb,CAAC;YACD,IAAI,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;gBACpD,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,IAAI,EACJ,KAAK,CAAC,IAAI,EACV,0CAA0C,KAAK,wBAAwB,aAAa,EAAE,EACtF,UAAU,CAAC,sBAAsB,CACpC,CAAC,CAAC;gBACH,SAAS;YACb,CAAC;YACD,MAAM,YAAY,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACxD,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;gBACxB,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,IAAI,EACJ,KAAK,CAAC,IAAI,EACV,gDAAgD,YAAY,sBAAsB,KAAK,EAAE,EACzF,UAAU,CAAC,sBAAsB,CACpC,CAAC,CAAC;gBACH,SAAS;YACb,CAAC;QACL,CAAC;QAED,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YACrD,MAAM,UAAU,GAAG,qBAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC1D,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,IAAI,EACJ,KAAK,CAAC,IAAI,EACV,wEAAwE,EACxE,UAAU,CAAC,sBAAsB,CACpC,CAAC,CAAC;gBACH,SAAS;YACb,CAAC;YAED,IAAI,SAAS,KAAK,SAAS,IAAI,oBAAoB,CAAC,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAChF,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,IAAI,EACJ,KAAK,CAAC,IAAI,EACV,6CAA6C,SAAS,SAAS,UAAU,EAAE,EAC3E,UAAU,CAAC,sBAAsB,CACpC,CAAC,CAAC;gBACH,SAAS;YACb,CAAC;YAED,IAAI,SAAS,KAAK,SAAS,IAAI,oBAAoB,CAAC,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/E,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,IAAI,EACJ,KAAK,CAAC,IAAI,EACV,6CAA6C,SAAS,SAAS,UAAU,EAAE,EAC3E,UAAU,CAAC,sBAAsB,CACpC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACpC,OAAO,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,gBAAgB,IAAI,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,cAAc,CAAC;AAChJ,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,GAAW;IAC9C,IAAI,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,gBAAgB,IAAI,IAAI,KAAK,cAAc;QAAE,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACrH,MAAM,IAAI,GAAG,GAAG;SACX,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;SACpB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACvB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACjI,KAAK,EAAE,CAAC;QACZ,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CAAC,GAAW;IAC/B,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAW,EAAE,KAAa;IACtD,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC1E,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,KAAK;YAAE,OAAO,IAAI,CAAC;IACtD,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACjC,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG;QAAE,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IAClE,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,EAAE,CAAC;IAC5B,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,EAAE,CAAC;IAC5B,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY,EAAE,GAAW;IACpD,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACzC,IAAI,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,gBAAgB;QAAE,OAAO,IAAI,CAAC;IAClG,OAAO,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;AACrF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemaIndex.d.ts","sourceRoot":"","sources":["../../src/rules/schemaIndex.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"schemaIndex.d.ts","sourceRoot":"","sources":["../../src/rules/schemaIndex.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AA2gBnD;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAExD;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,GAAG,SAAS,CA4H5E;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,UAAU,CAAC,aAAa,CAAC,GAAG,OAAO,CAMzF;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,UAAU,CAAC,aAAa,CAAC,GAAG,OAAO,CAMxF"}
|
|
@@ -7,6 +7,7 @@ import { hasUnknownConstraintKeys } from '../types/schema.js';
|
|
|
7
7
|
import { createDiag, emitError } from '../diag/emit.js';
|
|
8
8
|
import { ErrorCodes } from '../diag/codes.js';
|
|
9
9
|
import { parseAddress } from '@altopelago/sansa';
|
|
10
|
+
import { compareNumericValues, normalizeNumericBound } from '../util/numericBounds.js';
|
|
10
11
|
const MAX_SCHEMA_REGEX_LENGTH = 512;
|
|
11
12
|
const PORTABLE_REGEX_ESCAPES = new Set([
|
|
12
13
|
'0', 'b', 'B', 'd', 'D', 'f', 'n', 'r', 's', 'S', 't', 'v', 'w', 'W',
|
|
@@ -297,11 +298,19 @@ function validateConstraintTree(schema, rulePath, constraints, ctx) {
|
|
|
297
298
|
}
|
|
298
299
|
for (const key of ['min_value', 'max_value']) {
|
|
299
300
|
const value = constraints[key];
|
|
300
|
-
if (value !== undefined && typeof value !== 'string') {
|
|
301
|
-
emitError(ctx, createDiag(rulePath, null, `${key} must be
|
|
301
|
+
if (value !== undefined && (typeof value !== 'string' || normalizeNumericBound(value) === null)) {
|
|
302
|
+
emitError(ctx, createDiag(rulePath, null, `${key} must be a canonical AEON number lexeme for path ${rulePath}`, ErrorCodes.UNKNOWN_CONSTRAINT_KEY));
|
|
302
303
|
return false;
|
|
303
304
|
}
|
|
304
305
|
}
|
|
306
|
+
const minimumValue = constraints.min_value;
|
|
307
|
+
const maximumValue = constraints.max_value;
|
|
308
|
+
if (typeof minimumValue === 'string'
|
|
309
|
+
&& typeof maximumValue === 'string'
|
|
310
|
+
&& compareNumericValues(minimumValue, maximumValue) === 1) {
|
|
311
|
+
emitError(ctx, createDiag(rulePath, null, `min_value must be less than or equal to max_value for path ${rulePath}`, ErrorCodes.UNKNOWN_CONSTRAINT_KEY));
|
|
312
|
+
return false;
|
|
313
|
+
}
|
|
305
314
|
const nestedAttributes = constraints.attributes;
|
|
306
315
|
if (nestedAttributes === undefined) {
|
|
307
316
|
return true;
|
|
@@ -345,6 +354,14 @@ export function buildRuleIndex(schema, ctx) {
|
|
|
345
354
|
if (schema.attribute_policy !== undefined && !['inherit_world', 'forbid'].includes(schema.attribute_policy)) {
|
|
346
355
|
emitError(ctx, createDiag('$', null, `Invalid schema attribute_policy: ${String(schema.attribute_policy)}`, ErrorCodes.INVALID_SCHEMA_POLICY));
|
|
347
356
|
}
|
|
357
|
+
for (const [datatype, constraints] of Object.entries(schema.datatype_rules ?? {})) {
|
|
358
|
+
const rulePath = `datatype_rules.${datatype}`;
|
|
359
|
+
if (constraints === null || typeof constraints !== 'object' || Array.isArray(constraints)) {
|
|
360
|
+
emitError(ctx, createDiag(rulePath, null, `Invalid datatype rule for path ${rulePath}`, ErrorCodes.UNKNOWN_CONSTRAINT_KEY));
|
|
361
|
+
continue;
|
|
362
|
+
}
|
|
363
|
+
validateConstraintTree(schema, rulePath, constraints, ctx);
|
|
364
|
+
}
|
|
348
365
|
for (const rule of schema.rules) {
|
|
349
366
|
const hasPath = typeof rule.path === 'string' && rule.path.length > 0;
|
|
350
367
|
const hasSelector = typeof rule.selector === 'string' && rule.selector.length > 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemaIndex.js","sourceRoot":"","sources":["../../src/rules/schemaIndex.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,uBAAuB,GAAG,GAAG,CAAC;AACpC,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACnC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;IACpE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;CAC7E,CAAC,CAAC;AAEH,SAAS,yBAAyB,CAAC,GAAY;IAC3C,OAAO,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;AAC/C,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAY;IACtC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC;QACzC,CAAC,CAAC,IAAI,KAAK,EAAE;QACb,CAAC,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB,EAAE,GAAW;IACtD,OAAO,GAAG,QAAQ,KAAK,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,eAAe,CAAC,IAAwB;IAC7C,OAAO,IAAI,KAAK,gBAAgB,IAAI,IAAI,KAAK,kBAAkB,CAAC;AACpE,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAe,EAAE,KAAa;IAC1D,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5B,OAAO,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC;AACxD,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAe;IAC7C,MAAM,KAAK,GAA2C,EAAE,CAAC;IACzD,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,GAAG,KAAK,CAAC;YAChB,SAAS;QACb,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,OAAO,GAAG,IAAI,CAAC;YACf,SAAS;QACb,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,gBAAgB,GAAG,IAAI,CAAC;YACxB,SAAS;QACb,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,gBAAgB,EAAE,CAAC;YACnC,gBAAgB,GAAG,KAAK,CAAC;YACzB,SAAS;QACb,CAAC;QACD,IAAI,gBAAgB,EAAE,CAAC;YACnB,SAAS;QACb,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1C,SAAS;QACb,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,IAAI,KAAK,CAAC,kBAAkB,IAAI,sBAAsB,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACrE,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,MAAM,IAAI,sBAAsB,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACnD,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC;YACrC,CAAC;YACD,SAAS;QACb,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,OAAO,IAAI,sBAAsB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC;YAChD,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACtC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,6BAA6B,CAAC,OAAe;IAClD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,OAAO,kEAAkE,CAAC;YAC9E,CAAC;YACD,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC3D,OAAO,4EAA4E,CAAC;YACxF,CAAC;YACD,IAAI,IAAI,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACzC,OAAO,wEAAwE,CAAC;YACpF,CAAC;YACD,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClE,OAAO,iCAAiC,IAAI,EAAE,CAAC;YACnD,CAAC;YACD,OAAO,GAAG,KAAK,CAAC;YAChB,SAAS;QACb,CAAC;QAED,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,OAAO,GAAG,IAAI,CAAC;YACf,SAAS;QACb,CAAC;QAED,IAAI,gBAAgB,EAAE,CAAC;YACnB,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACf,gBAAgB,GAAG,KAAK,CAAC;YAC7B,CAAC;YACD,SAAS;QACb,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,gBAAgB,GAAG,IAAI,CAAC;YACxB,SAAS;QACb,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACzB,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBACzB,OAAO,oGAAoG,CAAC;gBAChH,CAAC;gBACD,CAAC,IAAI,CAAC,CAAC;YACX,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChB,SAAS;QACb,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,KAAK,CAAC,GAAG,EAAE,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,yBAAyB,CAAC;YACrC,CAAC;QACL,CAAC;IACL,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,iBAAiB,CAAC;IAC7B,CAAC;IACD,IAAI,gBAAgB,EAAE,CAAC;QACnB,OAAO,8BAA8B,CAAC;IAC1C,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO,oBAAoB,CAAC;IAChC,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAa;IACzC,IAAI,KAAK,CAAC,MAAM,GAAG,uBAAuB,EAAE,CAAC;QACzC,OAAO,iBAAiB,uBAAuB,aAAa,CAAC;IACjE,CAAC;IACD,MAAM,eAAe,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;IAC7D,IAAI,eAAe,EAAE,CAAC;QAClB,OAAO,eAAe,CAAC;IAC3B,CAAC;IACD,IAAI,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,0CAA0C,CAAC;IACtD,CAAC;IACD,IAAI,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,sCAAsC,CAAC;IAClD,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,4BAA4B,CACjC,MAAgB,EAChB,QAAgB,EAChB,WAAoC,EACpC,GAAgB;IAEhB,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;IACxC,MAAM,aAAa,GAAG,WAAW,CAAC,cAAc,CAAC;IACjD,MAAM,sBAAsB,GAAG,WAAW,CAAC,wBAAwB,CAAC;IACpE,MAAM,oBAAoB,GAAG,WAAW,CAAC,sBAAsB,CAAC;IAChE,MAAM,YAAY,GAAG,OAAO,WAAW,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACzF,MAAM,qBAAqB,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAEtD,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACpH,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,QAAQ,EACR,IAAI,EACJ,yCAAyC,QAAQ,KAAK,MAAM,CAAC,SAAS,CAAC,EAAE,EACzE,UAAU,CAAC,4BAA4B,CAC1C,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,aAAa,KAAK,SAAS,IAAI,CAAC,OAAO,aAAa,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QAChI,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,QAAQ,EACR,IAAI,EACJ,8CAA8C,QAAQ,KAAK,MAAM,CAAC,aAAa,CAAC,EAAE,EAClF,UAAU,CAAC,4BAA4B,CAC1C,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,aAAa,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACzD,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,QAAQ,EACR,IAAI,EACJ,wDAAwD,QAAQ,EAAE,EAClE,UAAU,CAAC,4BAA4B,CAC1C,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;QACvC,IAAI,OAAO,sBAAsB,KAAK,QAAQ,EAAE,CAAC;YAC7C,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,QAAQ,EACR,IAAI,EACJ,wDAAwD,QAAQ,KAAK,MAAM,CAAC,sBAAsB,CAAC,EAAE,EACrG,UAAU,CAAC,4BAA4B,CAC1C,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,YAAY,GAAG,sBAAsB,CAAC,sBAAsB,CAAC,CAAC;QACpE,IAAI,YAAY,EAAE,CAAC;YACf,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,QAAQ,EACR,IAAI,EACJ,mDAAmD,QAAQ,KAAK,YAAY,EAAE,EAC9E,UAAU,CAAC,4BAA4B,CAC1C,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YACzB,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,QAAQ,EACR,IAAI,EACJ,uEAAuE,QAAQ,EAAE,EACjF,UAAU,CAAC,4BAA4B,CAC1C,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,IAAI,oBAAoB,KAAK,SAAS,IAAI,OAAO,oBAAoB,KAAK,SAAS,EAAE,CAAC;QAClF,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,QAAQ,EACR,IAAI,EACJ,mDAAmD,QAAQ,EAAE,EAC7D,UAAU,CAAC,4BAA4B,CAC1C,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,SAAS,KAAK,QAAQ,IAAI,YAAY,KAAK,SAAS,IAAI,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;QACxF,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,QAAQ,EACR,IAAI,EACJ,2CAA2C,YAAY,cAAc,QAAQ,EAAE,EAC/E,UAAU,CAAC,4BAA4B,CAC1C,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,SAAS,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;QAC1F,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,QAAQ,EACR,IAAI,EACJ,0DAA0D,YAAY,cAAc,QAAQ,EAAE,EAC9F,UAAU,CAAC,4BAA4B,CAC1C,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,aAAa,KAAK,OAAO,IAAI,YAAY,KAAK,kBAAkB,EAAE,CAAC;QACnE,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,QAAQ,EACR,IAAI,EACJ,0EAA0E,QAAQ,EAAE,EACpF,UAAU,CAAC,4BAA4B,CAC1C,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,aAAa,KAAK,SAAS,IAAI,YAAY,KAAK,gBAAgB,EAAE,CAAC;QACnE,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,QAAQ,EACR,IAAI,EACJ,0EAA0E,QAAQ,EAAE,EACpF,UAAU,CAAC,4BAA4B,CAC1C,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,qBAAqB,KAAK,QAAQ,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QACnI,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,QAAQ,EACR,IAAI,EACJ,iEAAiE,QAAQ,EAAE,EAC3E,UAAU,CAAC,4BAA4B,CAC1C,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,uBAAuB,CAC5B,QAAgB,EAChB,GAAW,EACX,KAAc,EACd,GAAgB;IAEhB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,QAAQ,EACR,IAAI,EACJ,WAAW,GAAG,wBAAwB,QAAQ,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,EAClE,UAAU,CAAC,sBAAsB,CACpC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,YAAY,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACnD,IAAI,YAAY,EAAE,CAAC;QACf,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,QAAQ,EACR,IAAI,EACJ,WAAW,GAAG,mBAAmB,QAAQ,KAAK,YAAY,EAAE,EAC5D,UAAU,CAAC,sBAAsB,CACpC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAC3B,MAAgB,EAChB,QAAgB,EAChB,WAAoC,EACpC,GAAgB;IAEhB,IAAI,wBAAwB,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,QAAQ,EACR,IAAI,EACJ,4CAA4C,QAAQ,EAAE,EACtD,UAAU,CAAC,sBAAsB,CACpC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,4BAA4B,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC;QACpE,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;QAC1E,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,yBAAyB,CAAU,EAAE,CAAC;QAC3J,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YACpD,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,QAAQ,EACR,IAAI,EACJ,GAAG,GAAG,6BAA6B,QAAQ,EAAE,EAC7C,UAAU,CAAC,sBAAsB,CACpC,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,CAAU,EAAE,CAAC;QACpE,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACnD,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,QAAQ,EACR,IAAI,EACJ,GAAG,GAAG,4BAA4B,QAAQ,EAAE,EAC5C,UAAU,CAAC,sBAAsB,CACpC,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAC/F,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,QAAQ,EACR,IAAI,EACJ,oCAAoC,QAAQ,EAAE,EAC9C,UAAU,CAAC,sBAAsB,CACpC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,WAAW,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QAClH,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,QAAQ,EACR,IAAI,EACJ,2CAA2C,QAAQ,EAAE,EACrD,UAAU,CAAC,sBAAsB,CACpC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,WAAW,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC7J,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,QAAQ,EACR,IAAI,EACJ,2CAA2C,QAAQ,EAAE,EACrD,UAAU,CAAC,sBAAsB,CACpC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxE,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,QAAQ,EACR,IAAI,EACJ,sCAAsC,QAAQ,EAAE,EAChD,UAAU,CAAC,sBAAsB,CACpC,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YACzD,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzE,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,GAAG,QAAQ,WAAW,KAAK,GAAG,EAC9B,IAAI,EACJ,kCAAkC,QAAQ,EAAE,EAC5C,UAAU,CAAC,sBAAsB,CACpC,CAAC,CAAC;gBACH,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,GAAG,QAAQ,WAAW,KAAK,GAAG,EAAE,MAAiC,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC1G,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAU,EAAE,CAAC;QAC3I,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YAC9F,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,QAAQ,EACR,IAAI,EACJ,WAAW,GAAG,wBAAwB,QAAQ,EAAE,EAChD,UAAU,CAAC,sBAAsB,CACpC,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,CAAU,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACnD,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,QAAQ,EACR,IAAI,EACJ,GAAG,GAAG,4BAA4B,QAAQ,EAAE,EAC5C,UAAU,CAAC,sBAAsB,CACpC,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,MAAM,gBAAgB,GAAG,WAAW,CAAC,UAAU,CAAC;IAChD,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,gBAAgB,KAAK,IAAI,IAAI,OAAO,gBAAgB,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACvG,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,QAAQ,EACR,IAAI,EACJ,0CAA0C,QAAQ,EAAE,EACpD,UAAU,CAAC,sBAAsB,CACpC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,gBAAgB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACrE,MAAM,SAAS,GAAG,mBAAmB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACrD,IAAI,gBAAgB,KAAK,IAAI,IAAI,OAAO,gBAAgB,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACvG,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,SAAS,EACT,IAAI,EACJ,yCAAyC,SAAS,EAAE,EACpD,UAAU,CAAC,sBAAsB,CACpC,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,gBAA2C,EAAE,GAAG,CAAC,EAAE,CAAC;YAC/F,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAOD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,cAAc,CAAC,MAAgB,EAAE,GAAgB;IAC7D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC5C,6DAA6D;IAC7D,MAAM,iBAAiB,GAAmC,MAAc,CAAC,kBAAkB,CAAC;IAE5F,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAClG,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,GAAG,EACH,IAAI,EACJ,oCAAoC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,EACrE,UAAU,CAAC,4BAA4B,CAC1C,CAAC,CAAC;IACP,CAAC;IACD,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS,IAAI,CAAC,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC1G,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,GAAG,EACH,IAAI,EACJ,oCAAoC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,EACrE,UAAU,CAAC,qBAAqB,CACnC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACtE,MAAM,WAAW,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAClF,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,QAAS,CAAC,CAAC,CAAC,WAAW,CAAC;QAElF,kCAAkC;QAClC,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;YAC3B,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,WAAW,EACX,IAAI,EACJ,kDAAkD,EAClD,UAAU,CAAC,iBAAiB,CAC/B,CAAC,CAAC;YACH,SAAS;QACb,CAAC;QAED,IAAI,OAAO,IAAI,WAAW,EAAE,CAAC;YACzB,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,OAAO,EACP,IAAI,EACJ,wDAAwD,OAAO,EAAE,EACjE,UAAU,CAAC,iBAAiB,CAC/B,CAAC,CAAC;YACH,SAAS;QACb,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YACd,MAAM,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,QAAS,CAAC,CAAC;YACpD,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;gBACrB,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,IAAI,CAAC,QAAS,EACd,IAAI,EACJ,2BAA2B,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,QAAS,EAAE,EAChF,UAAU,CAAC,qBAAqB,CACnC,CAAC,CAAC;gBACH,SAAS;YACb,CAAC;QACL,CAAC;QAED,IAAI,OAAO,IAAI,IAAI,CAAC,IAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,IAAI,CAAC,IAAK,EACV,IAAI,EACJ,0FAA0F,IAAI,CAAC,IAAK,EAAE,EACtG,UAAU,CAAC,qBAAqB,CACnC,CAAC,CAAC;YACH,SAAS;QACb,CAAC;QAED,iCAAiC;QACjC,IAAI,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAK,CAAC,EAAE,CAAC;YACnC,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,IAAI,CAAC,IAAK,EACV,IAAI,EACJ,4BAA4B,IAAI,CAAC,IAAK,EAAE,EACxC,UAAU,CAAC,mBAAmB,CACjC,CAAC,CAAC;YACH,SAAS;QACb,CAAC;QAED,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,WAAsC,EAAE,GAAG,CAAC,EAAE,CAAC;YAC7F,SAAS;QACb,CAAC;QAED,2DAA2D;QAC3D,8DAA8D;QAC9D,8DAA8D;QAC9D,6DAA6D;QAC7D,6CAA6C;QAC7C,IAAI,iBAAiB,IAAI,IAAI,CAAC,WAAW,IAAI,OAAQ,IAAI,CAAC,WAAmB,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAClG,MAAM,EAAE,GAAI,IAAI,CAAC,WAAmB,CAAC,QAAkB,CAAC;YACxD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBAClC,SAAS,CAAC,GAAG,EAAE,UAAU,CACrB,OAAO,EACP,IAAI,EACJ,aAAa,EAAE,4CAA4C,EAC3D,UAAU,CAAC,yBAAyB,CACvC,CAAC,CAAC;gBACH,yDAAyD;YAC7D,CAAC;QACL,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACV,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAK,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,WAAsC;IAC5E,OAAO,CACH,WAAW,CAAC,IAAI,KAAK,SAAS;QAC9B,WAAW,CAAC,UAAU,KAAK,SAAS;QACpC,WAAW,CAAC,UAAU,KAAK,SAAS,CACvC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,WAAsC;IAC3E,OAAO,CACH,WAAW,CAAC,OAAO,KAAK,SAAS;QACjC,WAAW,CAAC,UAAU,KAAK,SAAS;QACpC,WAAW,CAAC,UAAU,KAAK,SAAS,CACvC,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"schemaIndex.js","sourceRoot":"","sources":["../../src/rules/schemaIndex.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-codec.d.ts","sourceRoot":"","sources":["../src/schema-codec.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"schema-codec.d.ts","sourceRoot":"","sources":["../src/schema-codec.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAiC,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE/E,OAAO,KAAK,EAMR,QAAQ,EACX,MAAM,mBAAmB,CAAC;AAM3B,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IACzC,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;CAC9C;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IACvC,YAAY,OAAO,EAAE,MAAM,EAG1B;CACJ;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,QAAQ,CAqB5F;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAiD9D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAkDpD"}
|
package/dist/schema-codec.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import { compile } from '@altopelago/aeon-core';
|
|
7
7
|
import { finalizeJson } from '@altopelago/aeon-finalize';
|
|
8
8
|
import { parseAddress, renderAddress } from '@altopelago/sansa';
|
|
9
|
+
import { normalizeNumericBound } from './util/numericBounds.js';
|
|
9
10
|
export class SchemaCodecError extends Error {
|
|
10
11
|
constructor(message) {
|
|
11
12
|
super(message);
|
|
@@ -20,10 +21,11 @@ export function parseSchemaSource(source, options = {}) {
|
|
|
20
21
|
if (compiled.errors.length > 0) {
|
|
21
22
|
throw new SchemaCodecError(formatErrors(compiled.errors));
|
|
22
23
|
}
|
|
23
|
-
const finalized = finalizeJson(compiled.events, {
|
|
24
|
+
const finalized = finalizeJson(prepareNumericBoundEvents(compiled.events), {
|
|
24
25
|
mode: 'strict',
|
|
25
26
|
scope: 'payload',
|
|
26
27
|
...options.finalizeOptions,
|
|
28
|
+
...(compiled.header ? { header: compiled.header } : {}),
|
|
27
29
|
});
|
|
28
30
|
const errors = finalized.meta?.errors ?? [];
|
|
29
31
|
if (errors.length > 0) {
|
|
@@ -299,20 +301,37 @@ function normalizeConstraintMap(input, label) {
|
|
|
299
301
|
return result;
|
|
300
302
|
}
|
|
301
303
|
function normalizeConstraints(input, label) {
|
|
304
|
+
const result = cloneJsonObject(input);
|
|
302
305
|
if (Array.isArray(input.any_of)) {
|
|
306
|
+
const branches = [];
|
|
303
307
|
for (let index = 0; index < input.any_of.length; index += 1) {
|
|
304
308
|
if (!isRecord(input.any_of[index])) {
|
|
305
309
|
throw new SchemaCodecError(`${label}.any_of[${index}] must be an object`);
|
|
306
310
|
}
|
|
311
|
+
branches.push(normalizeConstraints(input.any_of[index], `${label}.any_of[${index}]`));
|
|
307
312
|
}
|
|
313
|
+
result.any_of = branches;
|
|
308
314
|
}
|
|
309
315
|
if (input.attributes !== undefined) {
|
|
310
316
|
if (!isRecord(input.attributes)) {
|
|
311
317
|
throw new SchemaCodecError(`${label}.attributes must be an object`);
|
|
312
318
|
}
|
|
313
|
-
normalizeConstraintMap(input.attributes, `${label}.attributes`);
|
|
319
|
+
result.attributes = normalizeConstraintMap(input.attributes, `${label}.attributes`);
|
|
314
320
|
}
|
|
315
|
-
|
|
321
|
+
for (const key of ['min_value', 'max_value']) {
|
|
322
|
+
const value = input[key];
|
|
323
|
+
if (value === undefined)
|
|
324
|
+
continue;
|
|
325
|
+
if (typeof value !== 'string') {
|
|
326
|
+
throw new SchemaCodecError(`${label}.${key} must be an AEON number literal`);
|
|
327
|
+
}
|
|
328
|
+
const normalized = normalizeNumericBound(value);
|
|
329
|
+
if (normalized === null) {
|
|
330
|
+
throw new SchemaCodecError(`${label}.${key} must be a valid finite AEON number literal`);
|
|
331
|
+
}
|
|
332
|
+
result[key] = normalized;
|
|
333
|
+
}
|
|
334
|
+
return result;
|
|
316
335
|
}
|
|
317
336
|
function cloneJsonObject(input) {
|
|
318
337
|
const result = {};
|
|
@@ -359,7 +378,15 @@ function renderAeonValue(value, indent) {
|
|
|
359
378
|
return '{}';
|
|
360
379
|
const pad = ' '.repeat(indent);
|
|
361
380
|
const childPad = ' '.repeat(indent + 1);
|
|
362
|
-
const rendered = entries.map(([key, item]) =>
|
|
381
|
+
const rendered = entries.map(([key, item]) => {
|
|
382
|
+
if ((key === 'min_value' || key === 'max_value') && typeof item === 'string') {
|
|
383
|
+
const bound = normalizeNumericBound(item);
|
|
384
|
+
if (bound === null)
|
|
385
|
+
throw new SchemaCodecError(`${key} must be a valid finite AEON number literal`);
|
|
386
|
+
return `${childPad}${renderObjectKey(key)}:number = ${bound}`;
|
|
387
|
+
}
|
|
388
|
+
return `${childPad}${renderObjectKey(key)}:${datatypeForValue(item)} = ${renderAeonValue(item, indent + 1)}`;
|
|
389
|
+
});
|
|
363
390
|
return `{\n${rendered.join('\n')}\n${pad}}`;
|
|
364
391
|
}
|
|
365
392
|
function datatypeForValue(value) {
|
|
@@ -421,4 +448,52 @@ function formatErrors(errors) {
|
|
|
421
448
|
return String(error);
|
|
422
449
|
}).join('\n');
|
|
423
450
|
}
|
|
451
|
+
/**
|
|
452
|
+
* JSON has no lossless arbitrary-precision number type. At the source boundary,
|
|
453
|
+
* require native AEON NumberLiteral bounds and temporarily project those leaves
|
|
454
|
+
* as strings before JSON materialization. The portable SchemaV1 model therefore
|
|
455
|
+
* remains exact while authored `.aeos` stays naturally numeric.
|
|
456
|
+
*/
|
|
457
|
+
function prepareNumericBoundEvents(events) {
|
|
458
|
+
return events.map((event) => ({ ...event, value: prepareNumericBoundValue(event.value) }));
|
|
459
|
+
}
|
|
460
|
+
function prepareNumericBoundValue(value) {
|
|
461
|
+
switch (value.type) {
|
|
462
|
+
case 'TypedValue':
|
|
463
|
+
return { ...value, value: prepareNumericBoundValue(value.value) };
|
|
464
|
+
case 'ObjectNode':
|
|
465
|
+
return {
|
|
466
|
+
...value,
|
|
467
|
+
bindings: value.bindings.map((binding) => {
|
|
468
|
+
if (binding.key !== 'min_value' && binding.key !== 'max_value') {
|
|
469
|
+
return { ...binding, value: prepareNumericBoundValue(binding.value) };
|
|
470
|
+
}
|
|
471
|
+
if (binding.value.type !== 'NumberLiteral') {
|
|
472
|
+
throw new SchemaCodecError(`${binding.key} in AEOS source must be an AEON number literal, not a string`);
|
|
473
|
+
}
|
|
474
|
+
const normalized = normalizeNumericBound(binding.value.value);
|
|
475
|
+
if (normalized === null) {
|
|
476
|
+
throw new SchemaCodecError(`${binding.key} in AEOS source must be a valid finite AEON number literal`);
|
|
477
|
+
}
|
|
478
|
+
return {
|
|
479
|
+
...binding,
|
|
480
|
+
value: {
|
|
481
|
+
...binding.value,
|
|
482
|
+
type: 'StringLiteral',
|
|
483
|
+
value: normalized,
|
|
484
|
+
raw: JSON.stringify(normalized),
|
|
485
|
+
delimiter: '"',
|
|
486
|
+
},
|
|
487
|
+
};
|
|
488
|
+
}),
|
|
489
|
+
};
|
|
490
|
+
case 'ListNode':
|
|
491
|
+
case 'TupleLiteral':
|
|
492
|
+
return { ...value, elements: value.elements.map(prepareNumericBoundValue) };
|
|
493
|
+
case 'NodeLiteral':
|
|
494
|
+
return { ...value, children: value.children.map(prepareNumericBoundValue) };
|
|
495
|
+
default:
|
|
496
|
+
return value;
|
|
497
|
+
}
|
|
498
|
+
}
|
|
424
499
|
//# sourceMappingURL=schema-codec.js.map
|
package/dist/schema-codec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-codec.js","sourceRoot":"","sources":["../src/schema-codec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema-codec.js","sourceRoot":"","sources":["../src/schema-codec.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAA6C,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAwB,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAShE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAUhE,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACvC,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACnC,CAAC;CACJ;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,OAAO,GAAuB,EAAE;IAC9E,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE;QAC7B,GAAG,OAAO,CAAC,cAAc;QACzB,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,cAAc,IAAI,cAAc;KAC3E,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,SAAS,GAAG,YAAY,CAAC,yBAAyB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QACvE,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,SAAS;QAChB,GAAG,OAAO,CAAC,eAAe;QAC1B,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1D,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC;IAC5C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,qBAAqB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAChD,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,MAAM,GAQR,EAAE,KAAK,EAAE,CAAC;IAEd,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,CAAC,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACnD,MAAM,IAAI,gBAAgB,CAAC,iDAAiD,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC9B,CAAC;IACD,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,gBAAgB,KAAK,OAAO,IAAI,IAAI,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YAC1E,MAAM,IAAI,gBAAgB,CAAC,6DAA6D,CAAC,CAAC;QAC9F,CAAC;QACD,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;IACpD,CAAC;IACD,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,gBAAgB,KAAK,eAAe,IAAI,IAAI,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YAClF,MAAM,IAAI,gBAAgB,CAAC,qEAAqE,CAAC,CAAC;QACtG,CAAC;QACD,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;IACpD,CAAC;IACD,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,gBAAgB,CAAC,iDAAiD,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,CAAC,cAAc,GAAG,sBAAsB,CAAC,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,gBAAgB,CAAC,kDAAkD,CAAC,CAAC;QACnF,CAAC;QACD,MAAM,CAAC,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC,eAAe,CAAqB,CAAC;IACvF,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAe;IACxC,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG;QACV,oBAAoB;QACpB,iBAAiB;KACpB,CAAC;IACF,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,oBAAoB,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,+BAA+B,YAAY,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,+BAA+B,YAAY,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,6BAA6B,eAAe,CAAC,MAAM,CAAC,cAA0B,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACrG,CAAC;IACD,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,8BAA8B,eAAe,CAAC,MAAM,CAAC,eAA2B,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACvG,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,8BAA8B,eAAe,CAAC,MAAM,CAAC,SAAgC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5G,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,iCAAiC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,6BAA6B,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,wBAAwB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,8BAA8B,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,sBAAsB,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,0BAA0B,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,8BAA8B,eAAe,CAAC,IAAI,CAAC,WAAuB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7F,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACnC,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IACpF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,gBAAgB,CAAC,+CAA+C,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,OAAO,QAAQ,CAAC,IAAI,CAAC;IACzB,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,OAAO,QAAQ,CAAC,MAAM,CAAC;IAC3B,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IAClC,IAAI,KAA4B,CAAC;IACjC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC;IAC/E,CAAC;SAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC;IACtH,CAAC;SAAM,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7B,KAAK,GAAG,EAAE,CAAC;IACf,CAAC;SAAM,CAAC;QACJ,MAAM,IAAI,gBAAgB,CAAC,+CAA+C,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS;YAAE,SAAS;QAChD,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,gBAAgB,CAAC,0BAA0B,IAAI,CAAC,cAAc,kBAAkB,CAAC,CAAC;QAChG,CAAC;QACD,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,KAAa;IAChD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,gBAAgB,CAAC,eAAe,KAAK,oBAAoB,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,KAAK,WAAW,CAAC,CAAC;IACrE,MAAM,aAAa,GAAG,sBAAsB,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,KAAK,iBAAiB,CAAC,CAAC;IAC9F,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,KAAK,aAAa,CAAC,CAAC;IAClF,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,KAAK,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC3E,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,KAAK,cAAc,EAAE,KAAK,CAAC,CAAC;IAC3F,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,gBAAgB,CAAC,eAAe,KAAK,kDAAkD,CAAC,CAAC;IACvG,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,gBAAgB,CAAC,eAAe,KAAK,sCAAsC,CAAC,CAAC;IAC3F,CAAC;IACD,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,KAAK,cAAc,CAAC,CAAC;IACpF,MAAM,QAAQ,GAAG;QACb,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC;QACzE,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;QAC7D,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QACxD,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;KACxD,CAAC;IACF,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACrB,OAAO,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IAC9E,CAAC;IACD,OAAO,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,CAAC,QAAS,EAAE,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;AAC3F,CAAC;AAED,MAAM,eAAe,GAAuC,IAAI,GAAG,CAAC;IAChE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,mBAAmB;IACtD,iBAAiB,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS;CAC3D,CAAC,CAAC;AAEH,SAAS,kBAAkB,CAAC,KAAc,EAAE,KAA4B;IACpE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,gBAAgB,CAAC,yCAAyC,CAAC,CAAC;IACjG,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IACxH,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC9B,MAAM,KAAK,GAAG,aAAa,KAAK,GAAG,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,KAAK,oBAAoB,CAAC,CAAC;QAC/E,MAAM,QAAQ,GAAG,sBAAsB,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,KAAK,YAAY,CAAC,CAAC;QAC/E,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,gBAAgB,CAAC,qBAAqB,QAAQ,kBAAkB,CAAC,CAAC;QACzG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC;QACzD,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAA6B,CAAC,EAAE,CAAC;YAC5E,MAAM,IAAI,gBAAgB,CAAC,GAAG,KAAK,gDAAgD,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,KAAK,oBAAoB,CAAC,CAAC;QACnG,MAAM,cAAc,GAAG,kBAAkB,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,KAAK,kBAAkB,CAAC,CAAC;QAC7F,4BAA4B,CAAC,IAA6B,EAAE,gBAAgB,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;QACrG,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;YACzC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;gBACrC,MAAM,IAAI,gBAAgB,CAAC,GAAG,KAAK,2DAA2D,aAAa,GAAG,CAAC,CAAC;YACpH,CAAC;QACL,CAAC;QACD,MAAM,YAAY,GAAG,sBAAsB,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,KAAK,gBAAgB,CAAC,CAAC;QAC3F,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,KAAK,YAAY,CAAC,CAAC;QAChF,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC;QACzD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI;YAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,KAAK,uCAAuC,CAAC,CAAC;QAC1H,IAAI,iBAAiB,CAAC,IAA6B,CAAC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC9E,MAAM,IAAI,gBAAgB,CAAC,GAAG,KAAK,+BAA+B,IAAI,aAAa,CAAC,CAAC;QACzF,CAAC;QACD,OAAO;YACH,SAAS,EAAE,QAAQ;YACnB,IAAI,EAAE,IAA6B;YACnC,iBAAiB,EAAE,gBAAgB;YACnC,eAAe,EAAE,cAAc;YAC/B,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;YACtE,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;YACjD,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;SAC1C,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc,EAAE,KAAa;IACzD,MAAM,QAAQ,GAAG,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACtD,IAAI,QAAQ,KAAK,SAAS;QAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,KAAK,6BAA6B,CAAC,CAAC;IAC9F,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc,EAAE,KAAa;IACrD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,KAAK,iBAAiB,CAAC,CAAC;IACjF,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;IAClG,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM;QAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,KAAK,8BAA8B,CAAC,CAAC;IACvH,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,4BAA4B,CACjC,IAA2B,EAC3B,gBAAmC,EACnC,cAAiC,EACjC,KAAa;IAEb,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAU,EAAW,EAAE,CAAC,gBAAgB,CAAC,MAAM,KAAK,IAAI,IAAI,cAAc,CAAC,MAAM,KAAK,EAAE,CAAC;IACtH,MAAM,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC1G,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC;oBAC5E,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,IAAI,CAAC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;wBAC5E,CAAC,CAAC,KAAK,CAAC;IAC5B,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,KAAK,6CAA6C,IAAI,aAAa,CAAC,CAAC;AACnH,CAAC;AAED,SAAS,iBAAiB,CAAC,IAA2B;IAClD,OAAO,CAAC,iBAAiB,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc,EAAE,KAAa;IACzD,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC9C,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC7C,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,gBAAgB,CAAC,GAAG,KAAK,mEAAmE,CAAC,CAAC;IAC5G,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa,EAAE,IAAyB;IAC9D,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,gBAAgB,CAAC,sDAAsD,IAAI,+CAA+C,CAAC,CAAC;IAC1I,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,aAAa,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC;QAC5F,MAAM,IAAI,gBAAgB,CAAC,gBAAgB,IAAI,KAAK,KAAK,MAAM,MAAM,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,IAAI,KAAK,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7C,MAAM,IAAI,gBAAgB,CAAC,cAAc,KAAK,+EAA+E,CAAC,CAAC;IACnI,CAAC;IACD,OAAO,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAoB,EAAE,KAAa;IAC/D,MAAM,MAAM,GAAkC,EAAE,CAAC;IACjD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,gBAAgB,CAAC,GAAG,KAAK,IAAI,GAAG,oBAAoB,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAoB,EAAE,KAAa;IAC7D,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAoB,EAAE,CAAC;QACrC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC1D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,gBAAgB,CAAC,GAAG,KAAK,WAAW,KAAK,qBAAqB,CAAC,CAAC;YAC9E,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,WAAW,KAAK,GAAG,CAAC,CAAC,CAAC;QAC1F,CAAC;QACD,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC;IAC7B,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,gBAAgB,CAAC,GAAG,KAAK,+BAA+B,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,CAAC,UAAU,GAAG,sBAAsB,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,KAAK,aAAa,CAAC,CAAC;IACxF,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,CAAU,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,gBAAgB,CAAC,GAAG,KAAK,IAAI,GAAG,iCAAiC,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,UAAU,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,gBAAgB,CAAC,GAAG,KAAK,IAAI,GAAG,6CAA6C,CAAC,CAAC;QAC7F,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;IAC7B,CAAC;IACD,OAAO,MAAuB,CAAC;AACnC,CAAC;AAED,SAAS,eAAe,CAAC,KAAoB;IACzC,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/C,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IAClC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACzG,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAClB,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,IAAI,gBAAgB,CAAC,6BAA6B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,eAAe,CAAC,KAAe,EAAE,MAAc;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;IAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,gBAAgB,CAAC,sCAAsC,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAChE,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,QAAQ,GAAG,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QACxF,OAAO,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;IAChD,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;QACzC,IAAI,CAAC,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,WAAW,CAAC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3E,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,KAAK,KAAK,IAAI;gBAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,GAAG,6CAA6C,CAAC,CAAC;YACpG,OAAO,GAAG,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,aAAa,KAAK,EAAE,CAAC;QAClE,CAAC;QACD,OAAO,GAAG,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;IACjH,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;AAChD,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAe;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC/C,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACjD,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QACvC,IAAI,YAAY,CAAC,KAAK,CAAC;YAAE,OAAO,cAAc,CAAC;QAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,YAAY,CAAC;QAC9C,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,YAAY,CAAC;QACxC,OAAO,QAAQ,OAAO,KAAK,GAAG,CAAC;IACnC,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,SAAS,YAAY,CAAC,KAAe;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,eAAe,CAAC,GAAW;IAChC,OAAO,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,cAAc,CAAC,KAAc,EAAE,KAAa;IACjD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,gBAAgB,CAAC,GAAG,KAAK,6BAA6B,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc,EAAE,KAAa,EAAE,aAAqB;IAC9E,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC1C,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,EAAE,CAAC;QACnG,MAAM,IAAI,gBAAgB,CAAC,GAAG,KAAK,oDAAoD,aAAa,aAAa,CAAC,CAAC;IACvH,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC5B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,YAAY,CAAC,MAA0B;IAC5C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACxB,IAAI,KAAK,YAAY,KAAK;YAAE,OAAO,KAAK,CAAC,OAAO,CAAC;QACjD,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC,OAAO,CAAC;QAC/E,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClB,CAAC;AAID;;;;;GAKG;AACH,SAAS,yBAAyB,CAAC,MAAkC;IACjE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,wBAAwB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAgB;IAC9C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,YAAY;YACb,OAAO,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,wBAAwB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACtE,KAAK,YAAY;YACb,OAAO;gBACH,GAAG,KAAK;gBACR,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;oBACrC,IAAI,OAAO,CAAC,GAAG,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;wBAC7D,OAAO,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,wBAAwB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1E,CAAC;oBACD,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;wBACzC,MAAM,IAAI,gBAAgB,CAAC,GAAG,OAAO,CAAC,GAAG,8DAA8D,CAAC,CAAC;oBAC7G,CAAC;oBACD,MAAM,UAAU,GAAG,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC9D,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;wBACtB,MAAM,IAAI,gBAAgB,CAAC,GAAG,OAAO,CAAC,GAAG,4DAA4D,CAAC,CAAC;oBAC3G,CAAC;oBACD,OAAO;wBACH,GAAG,OAAO;wBACV,KAAK,EAAE;4BACH,GAAG,OAAO,CAAC,KAAK;4BAChB,IAAI,EAAE,eAAwB;4BAC9B,KAAK,EAAE,UAAU;4BACjB,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;4BAC/B,SAAS,EAAE,GAAY;yBAC1B;qBACJ,CAAC;gBACN,CAAC,CAAC;aACL,CAAC;QACN,KAAK,UAAU,CAAC;QAChB,KAAK,cAAc;YACf,OAAO,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,CAAC;QAChF,KAAK,aAAa;YACd,OAAO,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,CAAC;QAChF;YACI,OAAO,KAAK,CAAC;IACrB,CAAC;AACL,CAAC"}
|