aontu 0.62.0 → 0.63.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 +1 -1
- package/dist/agentsmd.js +0 -27
- package/dist/agentsmd.js.map +1 -1
- package/dist/alias.js.map +1 -1
- package/dist/allow.js +0 -92
- package/dist/allow.js.map +1 -1
- package/dist/aontu.d.ts +1 -1
- package/dist/aontu.js +1 -79
- package/dist/aontu.js.map +1 -1
- package/dist/aontumodel.d.ts +4 -0
- package/dist/aontumodel.js +33 -0
- package/dist/aontumodel.js.map +1 -0
- package/dist/cli.js +101 -620
- package/dist/cli.js.map +1 -1
- package/dist/ctx.js +0 -48
- package/dist/ctx.js.map +1 -1
- package/dist/diff.js +0 -32
- package/dist/diff.js.map +1 -1
- package/dist/err.js +0 -40
- package/dist/err.js.map +1 -1
- package/dist/escape.js +0 -45
- package/dist/escape.js.map +1 -1
- package/dist/exactjson.d.ts +0 -35
- package/dist/exactjson.js +0 -131
- package/dist/exactjson.js.map +1 -1
- package/dist/format.js +13 -203
- package/dist/format.js.map +1 -1
- package/dist/grammar.d.ts +9 -0
- package/dist/grammar.js +54 -0
- package/dist/grammar.js.map +1 -0
- package/dist/graph.js +0 -26
- package/dist/graph.js.map +1 -1
- package/dist/hcanon.js +0 -82
- package/dist/hcanon.js.map +1 -1
- package/dist/helpdoc.js +1 -1
- package/dist/helpdoc.js.map +1 -1
- package/dist/hints.d.ts +0 -6
- package/dist/hints.js +54 -55
- package/dist/hints.js.map +1 -1
- package/dist/jsonschema.js +0 -114
- package/dist/jsonschema.js.map +1 -1
- package/dist/keyorder.d.ts +0 -7
- package/dist/keyorder.js +0 -41
- package/dist/keyorder.js.map +1 -1
- package/dist/lang.js +17 -915
- package/dist/lang.js.map +1 -1
- package/dist/lower.js +11 -61
- package/dist/lower.js.map +1 -1
- package/dist/lsp-server.js +0 -16
- package/dist/lsp-server.js.map +1 -1
- package/dist/lsp.d.ts +1 -1
- package/dist/lsp.js +12 -159
- package/dist/lsp.js.map +1 -1
- package/dist/mcp-server.js +0 -26
- package/dist/mcp-server.js.map +1 -1
- package/dist/mcp.js +0 -113
- package/dist/mcp.js.map +1 -1
- package/dist/mod-tool.js +0 -130
- package/dist/mod-tool.js.map +1 -1
- package/dist/mod.js +0 -162
- package/dist/mod.js.map +1 -1
- package/dist/patch.js +0 -217
- package/dist/patch.js.map +1 -1
- package/dist/provenance.js +0 -140
- package/dist/provenance.js.map +1 -1
- package/dist/query.js +0 -75
- package/dist/query.js.map +1 -1
- package/dist/reach.js +0 -43
- package/dist/reach.js.map +1 -1
- package/dist/relation.js +0 -61
- package/dist/relation.js.map +1 -1
- package/dist/render.js +20 -135
- package/dist/render.js.map +1 -1
- package/dist/report-sarif.d.ts +0 -11
- package/dist/report-sarif.js +0 -28
- package/dist/report-sarif.js.map +1 -1
- package/dist/sig.js +0 -35
- package/dist/sig.js.map +1 -1
- package/dist/sigdecl.js +1 -1
- package/dist/sigdecl.js.map +1 -1
- package/dist/siggate.js +0 -4
- package/dist/siggate.js.map +1 -1
- package/dist/site.js +3 -29
- package/dist/site.js.map +1 -1
- package/dist/subsume.d.ts +0 -10
- package/dist/subsume.js +0 -137
- package/dist/subsume.js.map +1 -1
- package/dist/template.d.ts +2 -1
- package/dist/template.js +58 -138
- package/dist/template.js.map +1 -1
- package/dist/trim.js +0 -41
- package/dist/trim.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/type.js.map +1 -1
- package/dist/unify.js +12 -242
- package/dist/unify.js.map +1 -1
- package/dist/utility.js +0 -22
- package/dist/utility.js.map +1 -1
- package/dist/val/AbnfFuncVal.d.ts +18 -0
- package/dist/val/AbnfFuncVal.js +132 -0
- package/dist/val/AbnfFuncVal.js.map +1 -0
- package/dist/val/AbsentVal.d.ts +11 -0
- package/dist/val/AbsentVal.js +30 -0
- package/dist/val/AbsentVal.js.map +1 -0
- package/dist/val/AggFuncVal.d.ts +10 -1
- package/dist/val/AggFuncVal.js +104 -116
- package/dist/val/AggFuncVal.js.map +1 -1
- package/dist/val/ArithFuncVal.js +0 -12
- package/dist/val/ArithFuncVal.js.map +1 -1
- package/dist/val/BagVal.js +1 -78
- package/dist/val/BagVal.js.map +1 -1
- package/dist/val/BigDecimalVal.js +0 -16
- package/dist/val/BigDecimalVal.js.map +1 -1
- package/dist/val/BigIntegerVal.js +0 -16
- package/dist/val/BigIntegerVal.js.map +1 -1
- package/dist/val/CloseFuncVal.js +0 -9
- package/dist/val/CloseFuncVal.js.map +1 -1
- package/dist/val/CmpFuncVal.js +2 -59
- package/dist/val/CmpFuncVal.js.map +1 -1
- package/dist/val/ConjunctVal.js +0 -29
- package/dist/val/ConjunctVal.js.map +1 -1
- package/dist/val/ConstraintVal.js +0 -500
- package/dist/val/ConstraintVal.js.map +1 -1
- package/dist/val/ContainerKindVal.js +0 -2
- package/dist/val/ContainerKindVal.js.map +1 -1
- package/dist/val/CopyFuncVal.js +0 -3
- package/dist/val/CopyFuncVal.js.map +1 -1
- package/dist/val/Decimal.js +0 -179
- package/dist/val/Decimal.js.map +1 -1
- package/dist/val/DeprecateFuncVal.js.map +1 -1
- package/dist/val/DisjunctVal.js +0 -152
- package/dist/val/DisjunctVal.js.map +1 -1
- package/dist/val/EachFuncVal.js +0 -3
- package/dist/val/EachFuncVal.js.map +1 -1
- package/dist/val/EmitFuncVal.d.ts +1 -1
- package/dist/val/EmitFuncVal.js +6 -119
- package/dist/val/EmitFuncVal.js.map +1 -1
- package/dist/val/ExpectVal.js +0 -62
- package/dist/val/ExpectVal.js.map +1 -1
- package/dist/val/FilterFuncVal.js +0 -25
- package/dist/val/FilterFuncVal.js.map +1 -1
- package/dist/val/FuncBaseVal.d.ts +1 -0
- package/dist/val/FuncBaseVal.js +7 -127
- package/dist/val/FuncBaseVal.js.map +1 -1
- package/dist/val/GraphAtomVal.js +0 -15
- package/dist/val/GraphAtomVal.js.map +1 -1
- package/dist/val/HideFuncVal.js +0 -13
- package/dist/val/HideFuncVal.js.map +1 -1
- package/dist/val/IntegerVal.js +0 -61
- package/dist/val/IntegerVal.js.map +1 -1
- package/dist/val/JunctionVal.js +0 -20
- package/dist/val/JunctionVal.js.map +1 -1
- package/dist/val/KeyFuncVal.js +0 -46
- package/dist/val/KeyFuncVal.js.map +1 -1
- package/dist/val/ListVal.js +0 -57
- package/dist/val/ListVal.js.map +1 -1
- package/dist/val/LowerFuncVal.js +0 -11
- package/dist/val/LowerFuncVal.js.map +1 -1
- package/dist/val/MapVal.js +0 -151
- package/dist/val/MapVal.js.map +1 -1
- package/dist/val/MatchFuncVal.js +0 -27
- package/dist/val/MatchFuncVal.js.map +1 -1
- package/dist/val/{FormFuncVal.d.ts → MaybeFuncVal.d.ts} +5 -5
- package/dist/val/MaybeFuncVal.js +50 -0
- package/dist/val/MaybeFuncVal.js.map +1 -0
- package/dist/val/MoveFuncVal.js +0 -18
- package/dist/val/MoveFuncVal.js.map +1 -1
- package/dist/val/NilVal.js +0 -60
- package/dist/val/NilVal.js.map +1 -1
- package/dist/val/NomFuncVal.js +8 -42
- package/dist/val/NomFuncVal.js.map +1 -1
- package/dist/val/NumberVal.js +0 -15
- package/dist/val/NumberVal.js.map +1 -1
- package/dist/val/OpBaseVal.d.ts +1 -0
- package/dist/val/OpBaseVal.js +3 -15
- package/dist/val/OpBaseVal.js.map +1 -1
- package/dist/val/PackFuncVal.js +0 -34
- package/dist/val/PackFuncVal.js.map +1 -1
- package/dist/val/PathFuncVal.js +0 -6
- package/dist/val/PathFuncVal.js.map +1 -1
- package/dist/val/PathVal.js +0 -41
- package/dist/val/PathVal.js.map +1 -1
- package/dist/val/PlaceVal.js +0 -25
- package/dist/val/PlaceVal.js.map +1 -1
- package/dist/val/PlusOpVal.d.ts +1 -7
- package/dist/val/PlusOpVal.js +13 -74
- package/dist/val/PlusOpVal.js.map +1 -1
- package/dist/val/PrefFuncVal.js +0 -1
- package/dist/val/PrefFuncVal.js.map +1 -1
- package/dist/val/PrefVal.js +0 -167
- package/dist/val/PrefVal.js.map +1 -1
- package/dist/val/RecurseVal.js +0 -55
- package/dist/val/RecurseVal.js.map +1 -1
- package/dist/val/RefVal.js +0 -282
- package/dist/val/RefVal.js.map +1 -1
- package/dist/val/ReferFuncVal.js +0 -232
- package/dist/val/ReferFuncVal.js.map +1 -1
- package/dist/val/ScalarKindVal.js +0 -49
- package/dist/val/ScalarKindVal.js.map +1 -1
- package/dist/val/ScalarVal.js +0 -11
- package/dist/val/ScalarVal.js.map +1 -1
- package/dist/val/StrFuncVal.js +0 -18
- package/dist/val/StrFuncVal.js.map +1 -1
- package/dist/val/SuperFuncVal.js +0 -32
- package/dist/val/SuperFuncVal.js.map +1 -1
- package/dist/val/TopVal.js +0 -1
- package/dist/val/TopVal.js.map +1 -1
- package/dist/val/TranslateFuncVal.js +1 -3
- package/dist/val/TranslateFuncVal.js.map +1 -1
- package/dist/val/UpperFuncVal.js +0 -11
- package/dist/val/UpperFuncVal.js.map +1 -1
- package/dist/val/Val.d.ts +1 -0
- package/dist/val/Val.js +2 -133
- package/dist/val/Val.js.map +1 -1
- package/dist/val/VarVal.js +0 -12
- package/dist/val/VarVal.js.map +1 -1
- package/dist/val/arith.js +0 -37
- package/dist/val/arith.js.map +1 -1
- package/dist/val/caserange.js +0 -61
- package/dist/val/caserange.js.map +1 -1
- package/dist/val/members.js +0 -6
- package/dist/val/members.js.map +1 -1
- package/dist/val/numcmp.js +0 -11
- package/dist/val/numcmp.js.map +1 -1
- package/dist/val/numkind.js +0 -145
- package/dist/val/numkind.js.map +1 -1
- package/dist/val/valutil.js +0 -16
- package/dist/val/valutil.js.map +1 -1
- package/dist/vet.js +0 -461
- package/dist/vet.js.map +1 -1
- package/dist/view.js +0 -414
- package/dist/view.js.map +1 -1
- package/dist/walk.js +0 -41
- package/dist/walk.js.map +1 -1
- package/grammar/aontu.abnf +8 -6
- package/grammar/aontu.gbnf +4 -4
- package/grammar/aontu.lark +4 -4
- package/grammar/aontu.tmLanguage.json +1 -1
- package/package.json +4 -2
- package/src/agentsmd.ts +0 -35
- package/src/alias.ts +0 -39
- package/src/allow.ts +1 -96
- package/src/aontu.ts +3 -110
- package/src/aontumodel.ts +32 -0
- package/src/cli.ts +113 -682
- package/src/ctx.ts +0 -103
- package/src/diff.ts +0 -40
- package/src/err.ts +0 -40
- package/src/escape.ts +0 -46
- package/src/exactjson.ts +0 -131
- package/src/format.ts +14 -257
- package/src/grammar.ts +72 -0
- package/src/graph.ts +0 -61
- package/src/hcanon.ts +0 -82
- package/src/helpdoc.ts +1 -1
- package/src/hints.ts +66 -57
- package/src/jsonschema.ts +0 -123
- package/src/keyorder.ts +0 -42
- package/src/lang.ts +19 -931
- package/src/lower.ts +12 -62
- package/src/lsp-server.ts +0 -16
- package/src/lsp.ts +12 -180
- package/src/mcp-server.ts +0 -31
- package/src/mcp.ts +0 -130
- package/src/mod-tool.ts +0 -158
- package/src/mod.ts +0 -178
- package/src/patch.ts +0 -232
- package/src/provenance.ts +0 -183
- package/src/query.ts +0 -84
- package/src/reach.ts +0 -53
- package/src/relation.ts +0 -84
- package/src/render.ts +20 -172
- package/src/report-sarif.ts +0 -48
- package/src/sig.ts +0 -35
- package/src/sigdecl.ts +1 -1
- package/src/siggate.ts +0 -30
- package/src/site.ts +3 -29
- package/src/subsume.ts +1 -161
- package/src/template.ts +69 -140
- package/src/trim.ts +0 -53
- package/src/type.ts +2 -45
- package/src/unify.ts +13 -251
- package/src/utility.ts +0 -31
- package/src/val/AbnfFuncVal.ts +181 -0
- package/src/val/AbsentVal.ts +54 -0
- package/src/val/AggFuncVal.ts +152 -188
- package/src/val/ArithFuncVal.ts +0 -20
- package/src/val/BagVal.ts +1 -78
- package/src/val/BigDecimalVal.ts +0 -16
- package/src/val/BigIntegerVal.ts +0 -16
- package/src/val/CloseFuncVal.ts +0 -9
- package/src/val/CmpFuncVal.ts +4 -166
- package/src/val/ConjunctVal.ts +0 -33
- package/src/val/ConstraintVal.ts +2 -537
- package/src/val/ContainerKindVal.ts +0 -18
- package/src/val/CopyFuncVal.ts +0 -5
- package/src/val/Decimal.ts +1 -185
- package/src/val/DeprecateFuncVal.ts +0 -10
- package/src/val/DisjunctVal.ts +0 -157
- package/src/val/EachFuncVal.ts +0 -40
- package/src/val/EmitFuncVal.ts +8 -208
- package/src/val/ExpectVal.ts +0 -62
- package/src/val/FilterFuncVal.ts +0 -55
- package/src/val/FuncBaseVal.ts +9 -130
- package/src/val/GraphAtomVal.ts +0 -42
- package/src/val/HideFuncVal.ts +0 -15
- package/src/val/IntegerVal.ts +0 -61
- package/src/val/JunctionVal.ts +0 -20
- package/src/val/KeyFuncVal.ts +0 -48
- package/src/val/ListVal.ts +0 -59
- package/src/val/LowerFuncVal.ts +0 -12
- package/src/val/MapVal.ts +0 -151
- package/src/val/MatchFuncVal.ts +0 -59
- package/src/val/MaybeFuncVal.ts +86 -0
- package/src/val/MoveFuncVal.ts +0 -20
- package/src/val/NilVal.ts +0 -60
- package/src/val/NomFuncVal.ts +8 -95
- package/src/val/NumberVal.ts +0 -16
- package/src/val/OpBaseVal.ts +4 -17
- package/src/val/PackFuncVal.ts +0 -63
- package/src/val/PathFuncVal.ts +0 -32
- package/src/val/PathVal.ts +0 -66
- package/src/val/PlaceVal.ts +0 -45
- package/src/val/PlusOpVal.ts +18 -75
- package/src/val/PrefFuncVal.ts +0 -1
- package/src/val/PrefVal.ts +0 -179
- package/src/val/RecurseVal.ts +0 -81
- package/src/val/RefVal.ts +1 -285
- package/src/val/ReferFuncVal.ts +0 -255
- package/src/val/ScalarKindVal.ts +0 -50
- package/src/val/ScalarVal.ts +0 -12
- package/src/val/StrFuncVal.ts +0 -44
- package/src/val/SuperFuncVal.ts +0 -42
- package/src/val/TopVal.ts +0 -1
- package/src/val/TranslateFuncVal.ts +1 -51
- package/src/val/UpperFuncVal.ts +0 -12
- package/src/val/Val.ts +3 -192
- package/src/val/VarVal.ts +0 -15
- package/src/val/arith.ts +0 -92
- package/src/val/caserange.ts +0 -62
- package/src/val/members.ts +0 -23
- package/src/val/numcmp.ts +1 -27
- package/src/val/numkind.ts +0 -149
- package/src/val/valutil.ts +0 -16
- package/src/vet.ts +1 -582
- package/src/view.ts +0 -507
- package/src/walk.ts +0 -41
- package/dist/std.d.ts +0 -3
- package/dist/std.js +0 -672
- package/dist/std.js.map +0 -1
- package/dist/val/FormFuncVal.js +0 -55
- package/dist/val/FormFuncVal.js.map +0 -1
- package/dist/val/NamerFuncVal.d.ts +0 -12
- package/dist/val/NamerFuncVal.js +0 -176
- package/dist/val/NamerFuncVal.js.map +0 -1
- package/src/std.ts +0 -683
package/dist/unify.js
CHANGED
|
@@ -12,35 +12,6 @@ const alias_1 = require("./alias");
|
|
|
12
12
|
const lang_1 = require("./lang");
|
|
13
13
|
const utility_1 = require("./utility");
|
|
14
14
|
const top_1 = require("./val/top");
|
|
15
|
-
// The evaluation budgets live on the context (ctx.budget: passes,
|
|
16
|
-
// revisits, depth), defaulted there to the shared spec-visible
|
|
17
|
-
// constants test/spec/budget.tsv pins in both ports (9 / 999 / 1000)
|
|
18
|
-
// and configurable through the trust profile (G5, docs/trust.md) —
|
|
19
|
-
// deterministically: a budget is an integer count of engine events,
|
|
20
|
-
// never wall-clock.
|
|
21
|
-
//
|
|
22
|
-
// Why the revisit default is 999: how many times one (Val, path) pair
|
|
23
|
-
// may be re-unified within a single fixpoint pass before the evaluator
|
|
24
|
-
// calls it non-convergence (`unify_cycle`). The old false positive here
|
|
25
|
-
// -- a legal model with many sibling conjunct terms at one path, each
|
|
26
|
-
// re-running the TOP self-unify -- is fixed by the per-pass memo below
|
|
27
|
-
// (_tcc/_tpi); test/spec/budget.tsv drives 1200 sibling terms through
|
|
28
|
-
// both engines as the regression guard.
|
|
29
|
-
//
|
|
30
|
-
// Why the depth default is 1000: the whole shared suite peaks at 603
|
|
31
|
-
// (the deliberately extreme 1200-sibling-term fixture; ordinary
|
|
32
|
-
// documents are two orders below), and V8 exhausts its call stack
|
|
33
|
-
// somewhere past depth ~1500 in this evaluator. 1000 sits above every
|
|
34
|
-
// real document and below the host limit, so the budget -- not the
|
|
35
|
-
// host -- decides the verdict.
|
|
36
|
-
// Charge a DIRECT `Val.unify` recursion to the same depth budget that
|
|
37
|
-
// `unite` enforces. Function and operator arguments evaluate through
|
|
38
|
-
// `arg.unify(top(), ...)` rather than through the dispatcher, so without
|
|
39
|
-
// this the counter stays flat while the JavaScript stack keeps growing:
|
|
40
|
-
// a 1500-deep `upper(upper(...))` resolved in TypeScript while Go — which
|
|
41
|
-
// routes its arguments through the counted dispatcher — reported
|
|
42
|
-
// `unify_cycle`. Returns the budget nil instead of running when the
|
|
43
|
-
// budget is spent.
|
|
44
15
|
const withDepth = (ctx, a, b, run) => {
|
|
45
16
|
if (ctx.budget.depth <= ctx._depth.n) {
|
|
46
17
|
return (0, err_1.makeNilErr)(ctx, 'unify_cycle', a, b);
|
|
@@ -57,28 +28,11 @@ exports.withDepth = withDepth;
|
|
|
57
28
|
// Vals should only have to unify downwards (in .unify) over Vals they understand.
|
|
58
29
|
// and for complex Vals, TOP, which means self unify if not yet done
|
|
59
30
|
const unite = (ctx, a, b, whence) => {
|
|
60
|
-
// Fast paths that don't recurse and so don't need cycle-detection:
|
|
61
|
-
// short-circuit before the saw-key build and seen-map lookup (which
|
|
62
|
-
// together cost ~2.5µs per call). Only return early when the result
|
|
63
|
-
// is already `done` — a non-done result would need the trailing
|
|
64
|
-
// top() unify below.
|
|
65
|
-
//
|
|
66
|
-
// A6a: same ref, already done
|
|
67
|
-
// A6b: different ref but same id + both done
|
|
68
|
-
// P1: exact-equal scalars that are already done (14% of calls
|
|
69
|
-
// in foo-sdk, ~100% with a.done=true)
|
|
70
31
|
if (a !== undefined && a !== null) {
|
|
71
32
|
if (a === b) {
|
|
72
33
|
if (a.done)
|
|
73
34
|
return a;
|
|
74
35
|
}
|
|
75
|
-
// ... and NOT on an instrumented run (G7 provenance). Both arms
|
|
76
|
-
// below answer with one operand and never reach the recorder at
|
|
77
|
-
// the tail, so an equal pair — two positions of one entity that
|
|
78
|
-
// agree, a clone meeting its source — contributed silently and
|
|
79
|
-
// `why` named one site where the Go port, whose recorder wraps the
|
|
80
|
-
// whole dispatcher, named both. Instrumented runs pay the slow
|
|
81
|
-
// path knowingly; uninstrumented ones pay one undefined check.
|
|
82
36
|
else if (b !== undefined && b !== null && undefined === ctx.prov) {
|
|
83
37
|
if (a.done && b.done) {
|
|
84
38
|
if (a.id === b.id) {
|
|
@@ -93,19 +47,7 @@ const unite = (ctx, a, b, whence) => {
|
|
|
93
47
|
&& !a.isMap && !a.isList
|
|
94
48
|
&& !a.isConjunct && !a.isDisjunct
|
|
95
49
|
&& !a.isRef && !a.isPref && !a.isFunc && !a.isExpect
|
|
96
|
-
// NOT two TOPs: every top has the same (absent) peg, so
|
|
97
|
-
// this path would treat any two as the same value and
|
|
98
|
-
// return one of them whole — dropping a rider the other
|
|
99
|
-
// carries. The slow path answers the same thing for two
|
|
100
|
-
// plain tops, so nothing is lost by declining the shortcut.
|
|
101
50
|
&& !a.isTop && !b.isTop
|
|
102
|
-
// NOT two rel residuals (RELATIONS P1) for the same
|
|
103
|
-
// reason: a settled rel is DONE with an absent peg, so
|
|
104
|
-
// any two matched here — dropping one side's type and
|
|
105
|
-
// held constraints. RelVal.unify merges them instead.
|
|
106
|
-
// NOT two graph atoms (P2) either: acyclic() and
|
|
107
|
-
// inverse(x) share a constructor and an absent peg
|
|
108
|
-
// without being the same declaration.
|
|
109
51
|
&& !a.isRel && !a.isGraphAtom && !a.isRecurse) {
|
|
110
52
|
// The deprecation record survives the fast path too (G3):
|
|
111
53
|
// `deprecate(5) & 5` short-circuits here.
|
|
@@ -117,6 +59,16 @@ const unite = (ctx, a, b, whence) => {
|
|
|
117
59
|
}
|
|
118
60
|
}
|
|
119
61
|
}
|
|
62
|
+
// ABSENCE IS THE UNIT OF THE MEET (ADR-034). The dispatch below is
|
|
63
|
+
// the LEFT operand's, so `&` commutes only if it is answered here.
|
|
64
|
+
if (null != a && null != b) {
|
|
65
|
+
if (true === a.isAbsent) {
|
|
66
|
+
return a.unify(b, ctx);
|
|
67
|
+
}
|
|
68
|
+
if (true === b.isAbsent) {
|
|
69
|
+
return b.unify(a, ctx);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
120
72
|
const te = ctx.explain && (0, utility_1.explainOpen)(ctx, ctx.explain, 'unite', a, b);
|
|
121
73
|
let out = a;
|
|
122
74
|
let why = 'u';
|
|
@@ -131,16 +83,9 @@ const unite = (ctx, a, b, whence) => {
|
|
|
131
83
|
// See for example PrefVal peg.id equality inspection.
|
|
132
84
|
const sawCount = ctx.seen[saw] ?? 0;
|
|
133
85
|
if (ctx.budget.depth <= ctx._depth.n) {
|
|
134
|
-
// Structural recursion budget. Without it, deep nesting exhausts the
|
|
135
|
-
// V8 call stack and the catch-all below reports a RangeError as
|
|
136
|
-
// `internal` — a verdict that depends on the host's stack size
|
|
137
|
-
// rather than on the document, which is exactly what the
|
|
138
|
-
// determinism clause forbids (docs/trust.md). Tripping here instead
|
|
139
|
-
// makes it a stated budget error, like the pass budget.
|
|
140
86
|
out = (0, err_1.makeNilErr)(ctx, 'unify_cycle', a, b);
|
|
141
87
|
}
|
|
142
88
|
else if (ctx.budget.revisits < sawCount) {
|
|
143
|
-
// console.log('SAW', sawCount, saw, a?.id, a?.canon, b?.id, b?.canon, ctx.cc)
|
|
144
89
|
out = (0, err_1.makeNilErr)(ctx, 'unify_cycle', a, b);
|
|
145
90
|
}
|
|
146
91
|
else {
|
|
@@ -148,18 +93,6 @@ const unite = (ctx, a, b, whence) => {
|
|
|
148
93
|
ctx._depth.n++;
|
|
149
94
|
try {
|
|
150
95
|
let unified = false;
|
|
151
|
-
// Dispatch ladder. Structure note:
|
|
152
|
-
// - `a == null` is degenerate (shouldn't happen in practice:
|
|
153
|
-
// the top-level call seeds with a real Val). Kept for safety.
|
|
154
|
-
// - TOP is the unit element: unifying with it returns the
|
|
155
|
-
// other side. Handle both sides.
|
|
156
|
-
// - Otherwise route by Val type. Complex Vals (Conjunct,
|
|
157
|
-
// Disjunct, Ref, Pref, Func, Expect) have their own unify
|
|
158
|
-
// that knows how to absorb the peer; prefer `a.unify` when
|
|
159
|
-
// `a` is complex, else `b.unify` when `b` is complex. If
|
|
160
|
-
// neither is complex and it's not a plain-scalar match, fall
|
|
161
|
-
// through to the generic `a.unify` (concrete Val classes
|
|
162
|
-
// each handle their own peer case).
|
|
163
96
|
if (a == null) {
|
|
164
97
|
out = b;
|
|
165
98
|
why = 'b';
|
|
@@ -192,18 +125,9 @@ const unite = (ctx, a, b, whence) => {
|
|
|
192
125
|
|| b.isVar
|
|
193
126
|
|| b.isFunc
|
|
194
127
|
|| b.isExpect
|
|
195
|
-
// The refer residual (G4 phase 2) DRIVES, like the other
|
|
196
|
-
// residuals here: its peer is a plain string, which knows
|
|
197
|
-
// nothing about entity addresses, so letting the string drive
|
|
198
|
-
// dropped the address and left the constraint standing.
|
|
199
128
|
|| b.isRefer
|
|
200
|
-
// An
|
|
201
|
-
|
|
202
|
-
// unify with `_ + 2` sees an operator rather than a hole and
|
|
203
|
-
// refuses it on kind. Narrow to placeheld operators on
|
|
204
|
-
// purpose -- every other operator meets its peer the way it
|
|
205
|
-
// always has, through the conjunct fold that drives it.
|
|
206
|
-
|| (b.isOp && (0, PlaceVal_1.hasPlace)(b))
|
|
129
|
+
// An op DRIVES while an operand has not decided (ADR-037).
|
|
130
|
+
|| (b.isOp && ((0, PlaceVal_1.hasPlace)(b) || b.holdsStaged))
|
|
207
131
|
// A graph atom DRIVES (RELATIONS P2): its peer is the value
|
|
208
132
|
// it rides beside -- a container, a rel, a scalar -- and none
|
|
209
133
|
// of them know the atom; the atom knows to residuate.
|
|
@@ -215,10 +139,6 @@ const unite = (ctx, a, b, whence) => {
|
|
|
215
139
|
unified = true;
|
|
216
140
|
why = 'bv';
|
|
217
141
|
}
|
|
218
|
-
// Exactly equal scalars (not caught by early fast-path — e.g.
|
|
219
|
-
// because a or b isn't .done yet). Rel residuals are excluded
|
|
220
|
-
// exactly as in the fast path: their pegs are equally absent
|
|
221
|
-
// without the values being the same relation.
|
|
222
142
|
else if (a.constructor === b.constructor && a.peg === b.peg
|
|
223
143
|
&& !a.isRel && !a.isGraphAtom && !a.isRecurse) {
|
|
224
144
|
out = update(a, b);
|
|
@@ -233,18 +153,7 @@ const unite = (ctx, a, b, whence) => {
|
|
|
233
153
|
out = (0, err_1.makeNilErr)(ctx, 'unite', a, b, whence + '/nil');
|
|
234
154
|
why += 'N';
|
|
235
155
|
}
|
|
236
|
-
// Any non-done top-level result self-unifies with TOP to ensure
|
|
237
|
-
// its children finish converging. Skipped when `unified` is true
|
|
238
|
-
// because the branch that set `out = X.unify(Y, ctx)` already
|
|
239
|
-
// ran that Val's own unify logic.
|
|
240
156
|
if (!out.done && !unified) {
|
|
241
|
-
// Once per pass per (Val, path): within a single fixpoint pass
|
|
242
|
-
// nothing external to the subtree changes, so repeating the TOP
|
|
243
|
-
// self-unify — which conjunct folds otherwise trigger once per
|
|
244
|
-
// fold term — is pure re-work, and on large models (hundreds of
|
|
245
|
-
// sibling terms) the repeats trip the MAXCYCLE guard as a false
|
|
246
|
-
// positive. The path is part of the key: a shared Val can
|
|
247
|
-
// resolve path-dependent content differently per location.
|
|
248
157
|
if (undefined !== ctx.cc
|
|
249
158
|
&& out._tcc === ctx.cc && out._tpi === ctx.pathidx) {
|
|
250
159
|
why += 't';
|
|
@@ -261,12 +170,6 @@ const unite = (ctx, a, b, whence) => {
|
|
|
261
170
|
}
|
|
262
171
|
}
|
|
263
172
|
catch (err) {
|
|
264
|
-
// This catch-all converts an unexpected exception into an 'internal'
|
|
265
|
-
// Nil so one bad node doesn't crash a whole unify. To avoid fully
|
|
266
|
-
// masking regressions, preserve the original error message (and a
|
|
267
|
-
// RangeError flag — i.e. stack overflow from runaway recursion) on
|
|
268
|
-
// the Nil's details so it surfaces in the formatted error rather
|
|
269
|
-
// than vanishing. See err.ts (descErr) for how details render.
|
|
270
173
|
out = (0, err_1.makeNilErr)(ctx, 'internal', a, b, undefined, {
|
|
271
174
|
error: String(err?.message ?? err),
|
|
272
175
|
...(err instanceof RangeError ? { overflow: true } : {}),
|
|
@@ -277,19 +180,9 @@ const unite = (ctx, a, b, whence) => {
|
|
|
277
180
|
}
|
|
278
181
|
}
|
|
279
182
|
ctx.explain && (0, utility_1.explainClose)(te, out);
|
|
280
|
-
// The provenance record (G7 phase 3), at the one place every meet
|
|
281
|
-
// passes through — the same reason the deprecation rider below lives
|
|
282
|
-
// here. Off by default: an uninstrumented run pays this one property
|
|
283
|
-
// load, and an instrumented one pays site materialisation knowingly.
|
|
284
183
|
if (undefined !== ctx.prov) {
|
|
285
184
|
ctx.prov.record(ctx.path, a, b, out);
|
|
286
185
|
}
|
|
287
|
-
// The deprecation record survives EVERY meet (G3 phase 4): the
|
|
288
|
-
// boolean marks have their own sweeps (ConjunctVal, the bag walks),
|
|
289
|
-
// but a record lost in one meet shape is a use the tooling never
|
|
290
|
-
// warns about, so it rides here, at the one place all meets pass
|
|
291
|
-
// through. First record wins; TOP and nil stay clean (TOP is the
|
|
292
|
-
// unit, and an error needs no deprecation).
|
|
293
186
|
if (null != out && true === out.isVal &&
|
|
294
187
|
!out.isTop && !out.isNil && null == out.deprecation) {
|
|
295
188
|
const dep = (null != a ? a.deprecation : undefined) ??
|
|
@@ -298,12 +191,6 @@ const unite = (ctx, a, b, whence) => {
|
|
|
298
191
|
out.deprecation = dep;
|
|
299
192
|
}
|
|
300
193
|
}
|
|
301
|
-
// THE RENDER RIDERS SURVIVE EVERY MEET (RENDER.0.md P7), and here
|
|
302
|
-
// for the deprecation record's reason: a reference resolves by
|
|
303
|
-
// MEETING its target with the peer at the referring position, and an
|
|
304
|
-
// emitted piece meets the vocabulary's alternative before the fold
|
|
305
|
-
// ever sees it, so a record lost in one meet shape is a line the
|
|
306
|
-
// trace cannot name. Both are absent unless the run is instrumented.
|
|
307
194
|
if (undefined !== ctx.reads &&
|
|
308
195
|
null != out && true === out.isVal && !out.isTop && !out.isNil) {
|
|
309
196
|
riders(a, b, out);
|
|
@@ -311,18 +198,6 @@ const unite = (ctx, a, b, whence) => {
|
|
|
311
198
|
return out;
|
|
312
199
|
};
|
|
313
200
|
exports.unite = unite;
|
|
314
|
-
// The two P7 riders, carried from the operands to the result: the read
|
|
315
|
-
// address a value was found at, and the dispatch that emitted it.
|
|
316
|
-
// First record wins, as the deprecation record's does. Reached only
|
|
317
|
-
// from an instrumented run (AontuContext.reads), so an ordinary meet
|
|
318
|
-
// pays the one property load its call site makes and nothing else.
|
|
319
|
-
//
|
|
320
|
-
// AN OPERAND MAY BE ABSENT and reading through it is not a decision:
|
|
321
|
-
// `unite` is called with no peer wherever a bag holds a key its peer
|
|
322
|
-
// does not, and `Object(undefined)` is an empty object, so both riders
|
|
323
|
-
// are read the same way whether the operand is there or not. Written
|
|
324
|
-
// with a test first, that test had an arm no instrumented document
|
|
325
|
-
// reached -- true of the reading, not of the engine.
|
|
326
201
|
function riders(a, b, to) {
|
|
327
202
|
const av = Object(a);
|
|
328
203
|
const bv = Object(b);
|
|
@@ -340,7 +215,6 @@ function riders(a, b, to) {
|
|
|
340
215
|
}
|
|
341
216
|
}
|
|
342
217
|
function update(x, _y) {
|
|
343
|
-
// TODO: update x with y.site
|
|
344
218
|
return x;
|
|
345
219
|
}
|
|
346
220
|
// The still-refining paths named by a budget_passes error: the first
|
|
@@ -365,26 +239,6 @@ function residuePaths(v, max) {
|
|
|
365
239
|
visit(v, true);
|
|
366
240
|
return out;
|
|
367
241
|
}
|
|
368
|
-
// THE TYPE FLOW, APPLIED (G4 phase 2). `refer(t)` unifies `t` INTO the
|
|
369
|
-
// node it addresses, which is a write at a position the meet is not
|
|
370
|
-
// currently at -- the one non-local effect in the evaluator.
|
|
371
|
-
//
|
|
372
|
-
// It cannot be only a write made during the pass. A pass BUILDS a new
|
|
373
|
-
// tree from the old one, and `ctx.root` during pass N is pass N-1's
|
|
374
|
-
// result; a subtree rebuilt by pass N (which is exactly what happens
|
|
375
|
-
// when the link sits inside its own target, or when two nodes link at
|
|
376
|
-
// each other) drops a write made into the previous one. So each flow is
|
|
377
|
-
// also RECORDED, keyed by the target's path, and re-applied to the
|
|
378
|
-
// pass's own result here.
|
|
379
|
-
//
|
|
380
|
-
// Keyed by PATH, so there is no registry of names to collide in
|
|
381
|
-
// (ADR-014) -- the key is the position the address resolved to, and
|
|
382
|
-
// re-uniting the same type at the same position is idempotent, which is
|
|
383
|
-
// what makes replaying every recorded flow every pass correct rather
|
|
384
|
-
// than merely cheap.
|
|
385
|
-
//
|
|
386
|
-
// The pass loop is its only caller; it is EXPORTED for the test that
|
|
387
|
-
// pins the unresolved-path guard below (see there).
|
|
388
242
|
function applyFlows(ctx, root) {
|
|
389
243
|
const flows = ctx.referflows;
|
|
390
244
|
// NOTHING TO APPLY is the common case -- a document with no links
|
|
@@ -392,32 +246,8 @@ function applyFlows(ctx, root) {
|
|
|
392
246
|
if (null == flows || 0 === flows.size) {
|
|
393
247
|
return root;
|
|
394
248
|
}
|
|
395
|
-
// Sorted, so two flows landing at overlapping positions arrive in the
|
|
396
|
-
// same order in both ports.
|
|
397
249
|
for (const key of [...flows.keys()].sort()) {
|
|
398
250
|
const path = key.split('\x00');
|
|
399
|
-
// The SHARED resolver, the one `refer` itself uses: a second
|
|
400
|
-
// descent written here would be a second answer to "what does this
|
|
401
|
-
// path name", and the two would drift (the Go twin calls the same
|
|
402
|
-
// findAt, arm for arm -- ADR-001).
|
|
403
|
-
//
|
|
404
|
-
// A RECORDED PATH THAT NO LONGER RESOLVES is skipped rather than
|
|
405
|
-
// refused: the record outliving its position is a question about
|
|
406
|
-
// the tree, and the link that named it answers it
|
|
407
|
-
// (test/spec/refer.tsv, `flow-target-moved-away`).
|
|
408
|
-
//
|
|
409
|
-
// NO DOCUMENT REACHES IT: a record is written only for a path that
|
|
410
|
-
// HAD resolved, and unification never takes a node back out of the
|
|
411
|
-
// tree — `move` copies and hides its source rather than removing
|
|
412
|
-
// it, which is the one rearrangement that looked like it would
|
|
413
|
-
// (probed in both ports: the flow still resolves on every pass,
|
|
414
|
-
// `flow-lands-then-its-parent-moves`). The guard is the contract
|
|
415
|
-
// for a rearrangement that does, and it is pinned by a direct call
|
|
416
|
-
// (`apply-flows-skips-a-record-that-stops-resolving` in
|
|
417
|
-
// ts/test/coverage3.test.ts) rather than by an ignore marker: node's
|
|
418
|
-
// `coverage ignore` drops LINES, and the gate reads BRANCH records,
|
|
419
|
-
// which survive it. The Go twin in go/unify.go can use the marker
|
|
420
|
-
// because that gate counts statements.
|
|
421
251
|
const found = (0, ReferFuncVal_1.findAt)(root, path);
|
|
422
252
|
if (undefined === found) {
|
|
423
253
|
continue;
|
|
@@ -460,8 +290,6 @@ class Unify {
|
|
|
460
290
|
src,
|
|
461
291
|
});
|
|
462
292
|
}
|
|
463
|
-
// TODO: messy
|
|
464
|
-
// uctx.seterr(this.err)
|
|
465
293
|
uctx.err = this.err;
|
|
466
294
|
uctx.explain = this.explain;
|
|
467
295
|
uctx.snapmap = new Map();
|
|
@@ -475,65 +303,17 @@ class Unify {
|
|
|
475
303
|
let lastCanon = undefined;
|
|
476
304
|
let settle = false;
|
|
477
305
|
for (; this.cc < maxcc && type_1.DONE !== res.dc; this.cc++) {
|
|
478
|
-
// console.log('CC', this.cc, res.canon)
|
|
479
306
|
uctx.cc = this.cc;
|
|
480
307
|
uctx.seen = {};
|
|
481
|
-
// THE STAGING RULE (G8 phase 0,
|
|
482
|
-
// docs/capability-review/g8-generation.md), stated once, here,
|
|
483
|
-
// for every value whose answer depends on WHERE IT IS. Such a
|
|
484
|
-
// value residuates while the model is still moving and fires on
|
|
485
|
-
// the first pass whose input is IDENTICAL to the previous
|
|
486
|
-
// pass's input: nothing moved, so nothing will move it again,
|
|
487
|
-
// and the position it reports is the position it ends at.
|
|
488
|
-
//
|
|
489
|
-
// Why the whole model and not the value's own path. A spread, a
|
|
490
|
-
// reference or a `move` can place a value under a path it has
|
|
491
|
-
// already been driven at and THEN change what encloses it --
|
|
492
|
-
// `move` hides its source one pass AFTER it copies it, and a
|
|
493
|
-
// `key()` that answered on the strength of its path alone would
|
|
494
|
-
// answer for the ghost. Stability of the model is the only
|
|
495
|
-
// signal that says every such rearrangement is finished.
|
|
496
308
|
uctx.settle = settle;
|
|
497
|
-
// Snapshot BEFORE the final pass (the loop condition has
|
|
498
|
-
// already established the tree is not done), so exhaustion can
|
|
499
|
-
// tell "still refining" from "stable residue" below. Taken at
|
|
500
|
-
// the final pass's ENTRY rather than the previous pass's exit
|
|
501
|
-
// — the same value when the budget allows two passes, and the
|
|
502
|
-
// only possible value when the trust profile sets passes to 1,
|
|
503
|
-
// where the old placement (cc === maxcc - 2, never true) made
|
|
504
|
-
// exhaustion silent, exactly the truncation docs/trust.md
|
|
505
|
-
// forbids. `lastCanon` IS that entry canon whenever a previous
|
|
506
|
-
// pass rendered one, so this costs nothing extra.
|
|
507
309
|
if (this.cc === maxcc - 1) {
|
|
508
310
|
prevCanon = lastCanon ?? res.canon;
|
|
509
311
|
}
|
|
510
312
|
res = unite(te ? uctx.clone({ explain: (0, utility_1.ec)(te, 'run') }) : uctx, res, (0, top_1.top)(), 'unify');
|
|
511
|
-
// MULTI-ERROR COLLECTION (G2 phase 6): the pass loop CONTINUES
|
|
512
|
-
// past an erroring pass, so independent failures a later pass
|
|
513
|
-
// would reach are collected in the same run — the break that
|
|
514
|
-
// stood here made every multi-error report truncated at the
|
|
515
|
-
// first erroring pass.
|
|
516
|
-
//
|
|
517
|
-
// What controls the cascade the design feared: a nil is
|
|
518
|
-
// ABSORBING (unite's isNil arms return the existing nil, no new
|
|
519
|
-
// error), so one failure stays ONE NilVal however many later
|
|
520
|
-
// meets touch it — a reference resolving to a failed target
|
|
521
|
-
// takes the same nil identity, which is exactly what lets the
|
|
522
|
-
// report layer dedup by identity. The probes that established
|
|
523
|
-
// this (fan-in refs, spread templates, disjunct trials, nested
|
|
524
|
-
// conjuncts) are pinned as vet.tsv's multi-* rows in both
|
|
525
|
-
// ports.
|
|
526
313
|
// The recorded type flows, re-applied to the tree THIS pass
|
|
527
314
|
// built: a pass rebuilds subtrees, and a flow written into the
|
|
528
315
|
// previous pass's tree does not survive that.
|
|
529
316
|
res = applyFlows(uctx, res);
|
|
530
|
-
// The staging signal for the NEXT pass, rendered here rather
|
|
531
|
-
// than at the top of the loop so a model that is FINISHED is
|
|
532
|
-
// never rendered at all: canon walks references, and the only
|
|
533
|
-
// trees that close a cycle are hand-built ones (the pass loop
|
|
534
|
-
// is what a test drives them through), which converge in one
|
|
535
|
-
// pass and must not be walked to decide a question that no
|
|
536
|
-
// longer arises.
|
|
537
317
|
if (type_1.DONE !== res.dc) {
|
|
538
318
|
const nowCanon = res.canon;
|
|
539
319
|
settle = undefined !== lastCanon && lastCanon === nowCanon;
|
|
@@ -541,16 +321,6 @@ class Unify {
|
|
|
541
321
|
}
|
|
542
322
|
uctx = uctx.clone({ root: res });
|
|
543
323
|
}
|
|
544
|
-
// The pass budget is spent AND the final pass still made
|
|
545
|
-
// progress: the model was cut off while converging, and no other
|
|
546
|
-
// error explains why. Silent truncation would surface later as
|
|
547
|
-
// ordinary incompleteness, so exhaustion is a semantic error of
|
|
548
|
-
// its own (class budget, docs/trust.md clause 2) -- retrying with
|
|
549
|
-
// a larger budget is a valid response to THIS code and useless
|
|
550
|
-
// for path_cycle or no_path. A STABLE residue (the final pass
|
|
551
|
-
// changed nothing -- e.g. a stuck `1+true`) is not a budget
|
|
552
|
-
// failure: it is ordinary incompleteness and stays silent here,
|
|
553
|
-
// surfacing at generate exactly as before.
|
|
554
324
|
if (maxcc <= this.cc && type_1.DONE !== res.dc && 0 === uctx.err.length
|
|
555
325
|
&& undefined !== prevCanon && prevCanon !== res.canon) {
|
|
556
326
|
(0, err_1.makeNilErr)(uctx, 'budget_passes', undefined, undefined, 'resolve', {
|
package/dist/unify.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unify.js","sourceRoot":"","sources":["../src/unify.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;QAqpBvD,UAAU;AAhpBZ,+BAAoC;AAEpC,iCAA6B;AAE7B,+BAAkC;AAClC,qDAA2C;AAG3C,6CAAyC;AACzC,mCAAuC;AAEvC,iCAEe;AAGf,uCAEkB;AAGlB,mCAEkB;AAGlB,kEAAkE;AAClE,+DAA+D;AAC/D,qEAAqE;AACrE,mEAAmE;AACnE,oEAAoE;AACpE,oBAAoB;AACpB,EAAE;AACF,sEAAsE;AACtE,uEAAuE;AACvE,wEAAwE;AACxE,sEAAsE;AACtE,uEAAuE;AACvE,sEAAsE;AACtE,wCAAwC;AACxC,EAAE;AACF,qEAAqE;AACrE,gEAAgE;AAChE,kEAAkE;AAClE,sEAAsE;AACtE,mEAAmE;AACnE,+BAA+B;AAE/B,sEAAsE;AACtE,qEAAqE;AACrE,yEAAyE;AACzE,wEAAwE;AACxE,0EAA0E;AAC1E,iEAAiE;AACjE,oEAAoE;AACpE,mBAAmB;AACnB,MAAM,SAAS,GAAG,CAChB,GAAiB,EAAE,CAAM,EAAE,CAAM,EAAE,GAAc,EAC5C,EAAE;IACP,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACrC,OAAO,IAAA,gBAAU,EAAC,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC7C,CAAC;IACD,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;IACd,IAAI,CAAC;QACH,OAAO,GAAG,EAAE,CAAA;IACd,CAAC;YACO,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;IAChB,CAAC;AACH,CAAC,CAAA;QA0kBC,SAAS;AAvkBX,kFAAkF;AAClF,oEAAoE;AACpE,MAAM,KAAK,GAAG,CAAC,GAAiB,EAAE,CAAM,EAAE,CAAM,EAAE,MAAc,EAAE,EAAE;IAClE,mEAAmE;IACnE,oEAAoE;IACpE,oEAAoE;IACpE,gEAAgE;IAChE,qBAAqB;IACrB,EAAE;IACF,gCAAgC;IAChC,+CAA+C;IAC/C,iEAAiE;IACjE,6CAA6C;IAC7C,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACZ,IAAI,CAAC,CAAC,IAAI;gBAAE,OAAO,CAAC,CAAA;QACtB,CAAC;QACD,gEAAgE;QAChE,gEAAgE;QAChE,gEAAgE;QAChE,+DAA+D;QAC/D,mEAAmE;QACnE,+DAA+D;QAC/D,+DAA+D;aAC1D,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,SAAS,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;YACjE,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBACrB,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;oBAClB,sDAAsD;oBACtD,IAAI,IAAI,IAAI,CAAC,CAAC,WAAW,IAAI,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;wBACnD,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAA;oBAC/B,CAAC;oBACD,OAAO,CAAC,CAAA;gBACV,CAAC;gBACD,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG;uBAC/C,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK;uBACpB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM;uBACrB,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,UAAU;uBAC9B,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,QAAQ;oBACpD,wDAAwD;oBACxD,sDAAsD;oBACtD,wDAAwD;oBACxD,wDAAwD;oBACxD,4DAA4D;uBACzD,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK;oBACvB,oDAAoD;oBACpD,uDAAuD;oBACvD,sDAAsD;oBACtD,sDAAsD;oBACtD,iDAAiD;oBACjD,mDAAmD;oBACnD,sCAAsC;uBACnC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;oBAClD,0DAA0D;oBAC1D,0CAA0C;oBAC1C,IAAI,IAAI,IAAI,CAAC,CAAC,WAAW,IAAI,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;wBACnD,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAA;oBAC/B,CAAC;oBACD,OAAO,CAAC,CAAA;gBACV,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,IAAI,IAAA,qBAAW,EAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAEtE,IAAI,GAAG,GAAG,CAAC,CAAA;IACX,IAAI,GAAG,GAAG,GAAG,CAAA;IAEb,sEAAsE;IACtE,4EAA4E;IAC5E,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK;QACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG;YAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,OAAO;QAC3D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG;YAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,OAAO,CAAA;IAE5D,oFAAoF;IACpF,sDAAsD;IACtD,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACnC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACrC,qEAAqE;QACrE,gEAAgE;QAChE,+DAA+D;QAC/D,yDAAyD;QACzD,oEAAoE;QACpE,wDAAwD;QACxD,GAAG,GAAG,IAAA,gBAAU,EAAC,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC5C,CAAC;SACI,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAC;QACxC,8EAA8E;QAC9E,GAAG,GAAG,IAAA,gBAAU,EAAC,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC5C,CAAC;SACI,CAAC;QACJ,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAA;QAC5B,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;QAEd,IAAI,CAAC;YACH,IAAI,OAAO,GAAG,KAAK,CAAA;YAEnB,mCAAmC;YACnC,+DAA+D;YAC/D,kEAAkE;YAClE,4DAA4D;YAC5D,qCAAqC;YACrC,2DAA2D;YAC3D,8DAA8D;YAC9D,+DAA+D;YAC/D,6DAA6D;YAC7D,iEAAiE;YACjE,6DAA6D;YAC7D,wCAAwC;YACxC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;gBACd,GAAG,GAAG,CAAC,CAAA;gBACP,GAAG,GAAG,GAAG,CAAA;YACX,CAAC;iBACI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC9B,GAAG,GAAG,CAAC,CAAA;gBACP,GAAG,GAAG,GAAG,CAAA;YACX,CAAC;iBACI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBACjB,GAAG,GAAG,CAAC,CAAA;gBACP,GAAG,GAAG,GAAG,CAAA;YACX,CAAC;iBACI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBACjB,GAAG,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBAClB,GAAG,GAAG,IAAI,CAAA;YACZ,CAAC;iBACI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBACjB,GAAG,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBAClB,GAAG,GAAG,IAAI,CAAA;YACZ,CAAC;iBACI,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACpC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAA,YAAE,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;gBACjE,OAAO,GAAG,IAAI,CAAA;gBACd,GAAG,GAAG,IAAI,CAAA;YACZ,CAAC;iBACI,IACH,CAAC,CAAC,UAAU;mBACT,CAAC,CAAC,UAAU;mBACZ,CAAC,CAAC,KAAK;mBACP,CAAC,CAAC,MAAM;mBACR,CAAC,CAAC,KAAK;mBACP,CAAC,CAAC,MAAM;mBACR,CAAC,CAAC,QAAQ;gBACb,yDAAyD;gBACzD,0DAA0D;gBAC1D,8DAA8D;gBAC9D,wDAAwD;mBACrD,CAAC,CAAC,OAAO;gBACZ,8DAA8D;gBAC9D,2DAA2D;gBAC3D,6DAA6D;gBAC7D,uDAAuD;gBACvD,4DAA4D;gBAC5D,wDAAwD;mBACrD,CAAC,CAAC,CAAC,IAAI,IAAI,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAC;gBAC1B,4DAA4D;gBAC5D,8DAA8D;gBAC9D,sDAAsD;mBACnD,CAAC,CAAC,WAAW;gBAChB,8DAA8D;gBAC9D,gDAAgD;mBAC7C,CAAC,CAAC,SAAS,EACd,CAAC;gBACD,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAA,YAAE,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;gBACjE,OAAO,GAAG,IAAI,CAAA;gBACd,GAAG,GAAG,IAAI,CAAA;YACZ,CAAC;YACD,8DAA8D;YAC9D,8DAA8D;YAC9D,6DAA6D;YAC7D,8CAA8C;iBACzC,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG;mBACtD,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;gBAChD,GAAG,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBAClB,GAAG,GAAG,IAAI,CAAA;YACZ,CAAC;iBACI,CAAC;gBACJ,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAA,YAAE,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;gBACjE,OAAO,GAAG,IAAI,CAAA;gBACd,GAAG,GAAG,IAAI,CAAA;YACZ,CAAC;YAED,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBACvB,GAAG,GAAG,IAAA,gBAAU,EAAC,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;gBACrD,GAAG,IAAI,GAAG,CAAA;YACZ,CAAC;YAED,gEAAgE;YAChE,iEAAiE;YACjE,8DAA8D;YAC9D,kCAAkC;YAClC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC1B,+DAA+D;gBAC/D,gEAAgE;gBAChE,+DAA+D;gBAC/D,gEAAgE;gBAChE,gEAAgE;gBAChE,0DAA0D;gBAC1D,2DAA2D;gBAC3D,IAAI,SAAS,KAAK,GAAG,CAAC,EAAE;uBAClB,GAAW,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,IAAK,GAAW,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;oBACvE,GAAG,IAAI,GAAG,CAAA;gBACZ,CAAC;qBACI,CAAC;oBACJ,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,IAAA,SAAG,GAAE,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAA,YAAE,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;oBACvE,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,SAAS,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC;wBACtC,CAAC;wBAAE,GAAW,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAC3B;wBAAE,GAAW,CAAC,IAAI,GAAG,GAAG,CAAC,OAAO,CAAA;oBACnC,CAAC;oBACD,GAAG,IAAI,GAAG,CAAA;gBACZ,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,GAAQ,EAAE,CAAC;YAChB,qEAAqE;YACrE,kEAAkE;YAClE,kEAAkE;YAClE,mEAAmE;YACnE,iEAAiE;YACjE,+DAA+D;YAC/D,GAAG,GAAG,IAAA,gBAAU,EAAC,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE;gBACjD,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,OAAO,IAAI,GAAG,CAAC;gBAClC,GAAG,CAAC,GAAG,YAAY,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACzD,CAAC,CAAA;QACJ,CAAC;gBACO,CAAC;YACP,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;QAChB,CAAC;IACH,CAAC;IAED,GAAG,CAAC,OAAO,IAAI,IAAA,sBAAY,EAAC,EAAE,EAAE,GAAG,CAAC,CAAA;IAEpC,kEAAkE;IAClE,qEAAqE;IACrE,qEAAqE;IACrE,qEAAqE;IACrE,IAAI,SAAS,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3B,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;IACtC,CAAC;IAED,+DAA+D;IAC/D,oEAAoE;IACpE,iEAAiE;IACjE,iEAAiE;IACjE,iEAAiE;IACjE,4CAA4C;IAC5C,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,KAAM,GAAW,CAAC,KAAK;QAC5C,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACtD,MAAM,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YACjD,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QACzC,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;YAChB,GAAG,CAAC,WAAW,GAAG,GAAG,CAAA;QACvB,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,+DAA+D;IAC/D,qEAAqE;IACrE,mEAAmE;IACnE,iEAAiE;IACjE,qEAAqE;IACrE,IAAI,SAAS,KAAK,GAAG,CAAC,KAAK;QACzB,IAAI,IAAI,GAAG,IAAI,IAAI,KAAM,GAAW,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACzE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;IACnB,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;QA0TC,KAAK;AAvTP,uEAAuE;AACvE,kEAAkE;AAClE,oEAAoE;AACpE,qEAAqE;AACrE,mEAAmE;AACnE,EAAE;AACF,qEAAqE;AACrE,qEAAqE;AACrE,uEAAuE;AACvE,qEAAqE;AACrE,mEAAmE;AACnE,qDAAqD;AACrD,SAAS,MAAM,CAAC,CAAM,EAAE,CAAM,EAAE,EAAO;IACrC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACpB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACpB,IAAI,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,CAAA;QAClC,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;YAChB,EAAE,CAAC,MAAM,GAAG,GAAG,CAAA;QACjB,CAAC;IACH,CAAC;IACD,IAAI,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,CAAA;QACpC,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;YAChB,EAAE,CAAC,OAAO,GAAG,GAAG,CAAA;QAClB,CAAC;IACH,CAAC;AACH,CAAC;AAGD,SAAS,MAAM,CAAC,CAAM,EAAE,EAAO;IAC7B,6BAA6B;IAC7B,OAAO,CAAC,CAAA;AACV,CAAC;AAGD,qEAAqE;AACrE,wEAAwE;AACxE,uEAAuE;AACvE,sDAAsD;AACtD,SAAS,YAAY,CAAC,CAAM,EAAE,GAAW;IACvC,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,MAAM,KAAK,GAAG,CAAC,CAAM,EAAE,MAAe,EAAE,EAAE;QACxC,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACnC,OAAM;QACR,CAAC;QACD,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACvB,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAC3E,CAAC;QACD,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YACxB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;gBACtB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;YACxB,CAAC;QACH,CAAC;IACH,CAAC,CAAA;IACD,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IACd,OAAO,GAAG,CAAA;AACZ,CAAC;AAGD,uEAAuE;AACvE,oEAAoE;AACpE,6DAA6D;AAC7D,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,qEAAqE;AACrE,sEAAsE;AACtE,wEAAwE;AACxE,mEAAmE;AACnE,0BAA0B;AAC1B,EAAE;AACF,gEAAgE;AAChE,oEAAoE;AACpE,wEAAwE;AACxE,qEAAqE;AACrE,qBAAqB;AACrB,EAAE;AACF,qEAAqE;AACrE,oDAAoD;AACpD,SAAS,UAAU,CAAC,GAAiB,EAAE,IAAS;IAC9C,MAAM,KAAK,GAAkC,GAAW,CAAC,UAAU,CAAA;IACnE,kEAAkE;IAClE,4DAA4D;IAC5D,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QACtC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,sEAAsE;IACtE,4BAA4B;IAC5B,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC9B,6DAA6D;QAC7D,mEAAmE;QACnE,kEAAkE;QAClE,mCAAmC;QACnC,EAAE;QACF,iEAAiE;QACjE,iEAAiE;QACjE,kDAAkD;QAClD,mDAAmD;QACnD,EAAE;QACF,mEAAmE;QACnE,mEAAmE;QACnE,iEAAiE;QACjE,+DAA+D;QAC/D,gEAAgE;QAChE,iEAAiE;QACjE,mEAAmE;QACnE,wDAAwD;QACxD,qEAAqE;QACrE,oEAAoE;QACpE,kEAAkE;QAClE,uCAAuC;QACvC,MAAM,KAAK,GAAG,IAAA,qBAAM,EAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAChC,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YACxB,SAAQ;QACV,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;QAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAc,CAAC,EAAE,IAAI,EACpD,KAAK,CAAC,GAAG,CAAC,GAAG,CAAQ,EAAE,YAAY,CAAC,CAAA;QACtC,MAAM,CAAC,GAAG,CAAC,IAAc,CAAC,GAAG,MAAM,CAAA;IACrC,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAGD,MAAM,KAAK;IAST,YAAY,IAAkB,EAAE,IAAW,EAAE,GAAwB,EAAE,GAAS;QAC9E,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,WAAI,EAAE,CAAA;QAC9B,IAAI,QAAQ,KAAK,OAAO,IAAI,EAAE,CAAC;YAC7B,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC9B,CAAC;QAED,IAAI,QAAQ,KAAK,OAAO,GAAG,EAAE,CAAC;YAC5B,GAAG,GAAG,EAAE,CAAA;QACV,CAAC;QAED,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;QACX,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAA;QACf,iEAAiE;QACjE,4DAA4D;QAC5D,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAC5D,IAAI,CAAC,OAAO,GAAG,GAAG,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAA;QAEnD,IAAI,GAAG,GAAG,IAAI,CAAA;QACd,IAAI,IAAkB,CAAA;QAEtB,iCAAiC;QACjC,IAAI,CAAE,IAAe,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,GAAG,YAAY,kBAAY,EAAE,CAAC;gBAChC,IAAI,GAAG,GAAG,CAAA;YACZ,CAAC;iBACI,CAAC;gBACJ,IAAI,GAAG,IAAI,kBAAY,CAAC;oBACtB,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;oBACd,IAAI,EAAE,GAAG;oBACT,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,GAAG;iBACJ,CAAC,CAAA;YACJ,CAAC;YAED,cAAc;YACd,wBAAwB;YACxB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;YACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAI1B;YAAE,IAAY,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAQlC;YAAE,IAAY,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAIrC;YAAE,IAAY,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAA;YAEtC,MAAM,OAAO,GAAG,IAAI,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAA;YAC/D,MAAM,EAAE,GAAG,OAAO,IAAI,IAAA,qBAAW,EAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;YAE7D,yEAAyE;YACzE,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;YAC9B,IAAI,SAAS,GAAuB,SAAS,CAAA;YAC7C,IAAI,SAAS,GAAuB,SAAS,CAAA;YAC7C,IAAI,MAAM,GAAG,KAAK,CAAA;YAClB,OAAO,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,WAAI,KAAK,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;gBACrD,wCAAwC;gBACxC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAA;gBACjB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAA;gBAEd,gCAAgC;gBAChC,+DAA+D;gBAC/D,8DAA8D;gBAC9D,gEAAgE;gBAChE,0DAA0D;gBAC1D,8DAA8D;gBAC9D,0DAA0D;gBAC1D,EAAE;gBACF,gEAAgE;gBAChE,8DAA8D;gBAC9D,6DAA6D;gBAC7D,6DAA6D;gBAC7D,gEAAgE;gBAChE,2DAA2D;gBAC3D,yDAAyD;gBACzD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;gBAEpB,yDAAyD;gBACzD,+DAA+D;gBAC/D,8DAA8D;gBAC9D,8DAA8D;gBAC9D,8DAA8D;gBAC9D,+DAA+D;gBAC/D,8DAA8D;gBAC9D,0DAA0D;gBAC1D,+DAA+D;gBAC/D,kDAAkD;gBAClD,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,GAAG,CAAC,EAAE,CAAC;oBAC1B,SAAS,GAAG,SAAS,IAAI,GAAG,CAAC,KAAK,CAAA;gBACpC,CAAC;gBAED,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAA,YAAE,EAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,IAAA,SAAG,GAAE,EAAE,OAAO,CAAC,CAAA;gBAEpF,+DAA+D;gBAC/D,8DAA8D;gBAC9D,6DAA6D;gBAC7D,4DAA4D;gBAC5D,uBAAuB;gBACvB,EAAE;gBACF,wDAAwD;gBACxD,gEAAgE;gBAChE,6DAA6D;gBAC7D,4DAA4D;gBAC5D,8DAA8D;gBAC9D,8DAA8D;gBAC9D,+DAA+D;gBAC/D,0DAA0D;gBAC1D,SAAS;gBAET,4DAA4D;gBAC5D,+DAA+D;gBAC/D,8CAA8C;gBAC9C,GAAG,GAAG,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;gBAE3B,6DAA6D;gBAC7D,6DAA6D;gBAC7D,8DAA8D;gBAC9D,8DAA8D;gBAC9D,6DAA6D;gBAC7D,2DAA2D;gBAC3D,iBAAiB;gBACjB,IAAI,WAAI,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC;oBACpB,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAA;oBAC1B,MAAM,GAAG,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,QAAQ,CAAA;oBAC1D,SAAS,GAAG,QAAQ,CAAA;gBACtB,CAAC;gBAED,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;YAClC,CAAC;YAED,yDAAyD;YACzD,iEAAiE;YACjE,+DAA+D;YAC/D,gEAAgE;YAChE,kEAAkE;YAClE,+DAA+D;YAC/D,8DAA8D;YAC9D,4DAA4D;YAC5D,gEAAgE;YAChE,2CAA2C;YAC3C,IAAI,KAAK,IAAI,IAAI,CAAC,EAAE,IAAI,WAAI,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM;mBAC3D,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC;gBACxD,IAAA,gBAAU,EAAC,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE;oBACjE,MAAM,EAAE,QAAQ;oBAChB,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG;iBAC7C,CAAC,CAAA;YACJ,CAAC;YAED,+DAA+D;YAC/D,8DAA8D;YAC9D,+CAA+C;YAC/C,IAAA,qBAAa,EAAC,GAAG,EAAG,IAAY,CAAC,OAAO,CAAC,CAAA;YAEzC,IAAI,CAAC,OAAO,IAAI,IAAA,sBAAY,EAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QACvC,CAAC;QAED,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;CACF,CAAC,kCAAkC;QAMlC,KAAK"}
|
|
1
|
+
{"version":3,"file":"unify.js","sourceRoot":"","sources":["../src/unify.ts"],"names":[],"mappings":"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"}
|
package/dist/utility.js
CHANGED
|
@@ -21,11 +21,6 @@ function includeOpts(options) {
|
|
|
21
21
|
? {} : { textExt: options.textExt }),
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
|
-
// Default walk() depth limit. High enough that real configs are never
|
|
25
|
-
// silently truncated (the old default of 32 dropped marks on deeply
|
|
26
|
-
// nested refs/funcs → wrong output), while still bounding runaway or
|
|
27
|
-
// accidentally-cyclic walks (walk has no cycle detection). Pass null for
|
|
28
|
-
// truly unbounded.
|
|
29
24
|
const WALK_DEFAULT_MAXDEPTH = 9999;
|
|
30
25
|
// Mark value in source is propagated to target (true ratchets).
|
|
31
26
|
function propagateMarks(source, target) {
|
|
@@ -37,12 +32,6 @@ function propagateMarks(source, target) {
|
|
|
37
32
|
target.mark[name] = target.mark[name] || source.mark[name];
|
|
38
33
|
}
|
|
39
34
|
}
|
|
40
|
-
// Collect every value in the tree carrying the deprecation record (G3
|
|
41
|
-
// phase 4), with its path — the one walk behind vet's `deprecated`
|
|
42
|
-
// warnings and the LSP's Deprecated tags. The record travels on meets
|
|
43
|
-
// (the unite rider) and clones, so this sees the declaration and every
|
|
44
|
-
// use resolving through it. The non-Val guard is for a bag's raw peg
|
|
45
|
-
// entries, which degenerate parses can leave behind.
|
|
46
35
|
function collectDeprecations(root) {
|
|
47
36
|
const out = [];
|
|
48
37
|
walkBagVals(root, (v, path) => {
|
|
@@ -79,17 +68,6 @@ function deprecationMessage(d) {
|
|
|
79
68
|
('string' === typeof d.use ? ' (use ' + d.use + ')' : '') +
|
|
80
69
|
('string' === typeof d.since ? ' (since ' + d.since + ')' : '');
|
|
81
70
|
}
|
|
82
|
-
// The canonical form of a value, wrapped in the RIDER it carries —
|
|
83
|
-
// the deprecation record (G3 phase 4) — reparseably, so
|
|
84
|
-
// `deprecate(x, m)` survives canon. Bags render their children through
|
|
85
|
-
// this (MapVal/ListVal canon), which is where a marked FIELD — the
|
|
86
|
-
// realistic case — lives.
|
|
87
|
-
//
|
|
88
|
-
// The rider renders HERE and not in the value's own `canon` for the
|
|
89
|
-
// same reason the guard at the MapVal call site tests the isVal flag:
|
|
90
|
-
// a bag's canon recursion visits each child once, and a child that
|
|
91
|
-
// wrapped itself as well would render its subtree twice per level —
|
|
92
|
-
// 2^depth on a nested document.
|
|
93
71
|
function canonRiders(v) {
|
|
94
72
|
const c = v.canon;
|
|
95
73
|
const d = v.deprecation;
|
package/dist/utility.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utility.js","sourceRoot":"","sources":["../src/utility.ts"],"names":[],"mappings":";AAAA,yDAAyD;;
|
|
1
|
+
{"version":3,"file":"utility.js","sourceRoot":"","sources":["../src/utility.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Val, ValSpec } from '../type';
|
|
2
|
+
import { AontuContext } from '../ctx';
|
|
3
|
+
import { FuncBaseVal } from './FuncBaseVal';
|
|
4
|
+
declare class AbnfFuncVal extends FuncBaseVal {
|
|
5
|
+
isAbnfFunc: boolean;
|
|
6
|
+
constructor(spec: ValSpec, ctx?: AontuContext);
|
|
7
|
+
funcname(): string;
|
|
8
|
+
resolve(ctx: AontuContext, args: Val[]): Val;
|
|
9
|
+
}
|
|
10
|
+
declare class ParseFuncVal extends FuncBaseVal {
|
|
11
|
+
isParseFunc: boolean;
|
|
12
|
+
constructor(spec: ValSpec, ctx?: AontuContext);
|
|
13
|
+
funcname(): string;
|
|
14
|
+
unify(peer: Val, ctx: AontuContext): Val;
|
|
15
|
+
hold(peer: Val, ctx: AontuContext): Val;
|
|
16
|
+
resolve(ctx: AontuContext, args: Val[]): Val;
|
|
17
|
+
}
|
|
18
|
+
export { AbnfFuncVal, ParseFuncVal, };
|