aontu 0.50.1 → 0.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/bin/aontu-lsp.js +6 -0
  2. package/bin/aontu.js +7 -0
  3. package/dist/aontu.d.ts +4 -2
  4. package/dist/aontu.js +21 -8
  5. package/dist/aontu.js.map +1 -1
  6. package/dist/cli.d.ts +0 -1
  7. package/dist/cli.js +43 -53
  8. package/dist/cli.js.map +1 -1
  9. package/dist/ctx.js +1 -1
  10. package/dist/ctx.js.map +1 -1
  11. package/dist/err.js +3 -2
  12. package/dist/err.js.map +1 -1
  13. package/dist/exactjson.d.ts +37 -0
  14. package/dist/exactjson.js +228 -0
  15. package/dist/exactjson.js.map +1 -0
  16. package/dist/hints.d.ts +3 -1
  17. package/dist/hints.js +187 -5
  18. package/dist/hints.js.map +1 -1
  19. package/dist/keyorder.d.ts +9 -0
  20. package/dist/keyorder.js +65 -0
  21. package/dist/keyorder.js.map +1 -0
  22. package/dist/lang.js +263 -30
  23. package/dist/lang.js.map +1 -1
  24. package/dist/lsp-server.d.ts +2 -2
  25. package/dist/lsp-server.js +10 -10
  26. package/dist/lsp-server.js.map +1 -1
  27. package/dist/lsp.js +39 -21
  28. package/dist/lsp.js.map +1 -1
  29. package/dist/site.js +1 -1
  30. package/dist/site.js.map +1 -1
  31. package/dist/tsconfig.tsbuildinfo +1 -1
  32. package/dist/unify.js +48 -1
  33. package/dist/unify.js.map +1 -1
  34. package/dist/utility.js +3 -8
  35. package/dist/utility.js.map +1 -1
  36. package/dist/val/BagVal.js +9 -6
  37. package/dist/val/BagVal.js.map +1 -1
  38. package/dist/val/BigDecimalVal.d.ts +13 -0
  39. package/dist/val/BigDecimalVal.js +80 -0
  40. package/dist/val/BigDecimalVal.js.map +1 -0
  41. package/dist/val/BigIntegerVal.d.ts +11 -0
  42. package/dist/val/BigIntegerVal.js +75 -0
  43. package/dist/val/BigIntegerVal.js.map +1 -0
  44. package/dist/val/BooleanVal.js +1 -1
  45. package/dist/val/BooleanVal.js.map +1 -1
  46. package/dist/val/CloseFuncVal.js +1 -1
  47. package/dist/val/CloseFuncVal.js.map +1 -1
  48. package/dist/val/ConjunctVal.js +1 -1
  49. package/dist/val/ConjunctVal.js.map +1 -1
  50. package/dist/val/ConstraintVal.d.ts +56 -0
  51. package/dist/val/ConstraintVal.js +407 -0
  52. package/dist/val/ConstraintVal.js.map +1 -0
  53. package/dist/val/CopyFuncVal.js +1 -1
  54. package/dist/val/CopyFuncVal.js.map +1 -1
  55. package/dist/val/Decimal.d.ts +32 -0
  56. package/dist/val/Decimal.js +318 -0
  57. package/dist/val/Decimal.js.map +1 -0
  58. package/dist/val/DisjunctVal.js +1 -29
  59. package/dist/val/DisjunctVal.js.map +1 -1
  60. package/dist/val/ExpectVal.js +1 -1
  61. package/dist/val/ExpectVal.js.map +1 -1
  62. package/dist/val/FeatureVal.js +1 -1
  63. package/dist/val/FeatureVal.js.map +1 -1
  64. package/dist/val/FuncBaseVal.js +1 -1
  65. package/dist/val/FuncBaseVal.js.map +1 -1
  66. package/dist/val/HideFuncVal.js +1 -1
  67. package/dist/val/HideFuncVal.js.map +1 -1
  68. package/dist/val/IntegerVal.d.ts +2 -0
  69. package/dist/val/IntegerVal.js +77 -5
  70. package/dist/val/IntegerVal.js.map +1 -1
  71. package/dist/val/JunctionVal.js +1 -1
  72. package/dist/val/JunctionVal.js.map +1 -1
  73. package/dist/val/KeyFuncVal.d.ts +1 -1
  74. package/dist/val/KeyFuncVal.js +34 -4
  75. package/dist/val/KeyFuncVal.js.map +1 -1
  76. package/dist/val/ListVal.js +7 -7
  77. package/dist/val/ListVal.js.map +1 -1
  78. package/dist/val/LowerFuncVal.js +21 -4
  79. package/dist/val/LowerFuncVal.js.map +1 -1
  80. package/dist/val/MapVal.js +17 -13
  81. package/dist/val/MapVal.js.map +1 -1
  82. package/dist/val/MoveFuncVal.js +26 -9
  83. package/dist/val/MoveFuncVal.js.map +1 -1
  84. package/dist/val/NilVal.d.ts +1 -0
  85. package/dist/val/NilVal.js +10 -3
  86. package/dist/val/NilVal.js.map +1 -1
  87. package/dist/val/NullVal.js +1 -1
  88. package/dist/val/NullVal.js.map +1 -1
  89. package/dist/val/NumberVal.d.ts +1 -0
  90. package/dist/val/NumberVal.js +25 -4
  91. package/dist/val/NumberVal.js.map +1 -1
  92. package/dist/val/OpBaseVal.js +10 -8
  93. package/dist/val/OpBaseVal.js.map +1 -1
  94. package/dist/val/OpenFuncVal.js +1 -1
  95. package/dist/val/OpenFuncVal.js.map +1 -1
  96. package/dist/val/PathFuncVal.js +10 -2
  97. package/dist/val/PathFuncVal.js.map +1 -1
  98. package/dist/val/PlusOpVal.d.ts +3 -1
  99. package/dist/val/PlusOpVal.js +140 -29
  100. package/dist/val/PlusOpVal.js.map +1 -1
  101. package/dist/val/PrefFuncVal.js +1 -1
  102. package/dist/val/PrefFuncVal.js.map +1 -1
  103. package/dist/val/PrefVal.d.ts +2 -0
  104. package/dist/val/PrefVal.js +44 -7
  105. package/dist/val/PrefVal.js.map +1 -1
  106. package/dist/val/RefVal.d.ts +2 -0
  107. package/dist/val/RefVal.js +135 -11
  108. package/dist/val/RefVal.js.map +1 -1
  109. package/dist/val/ScalarKindVal.d.ts +12 -2
  110. package/dist/val/ScalarKindVal.js +108 -13
  111. package/dist/val/ScalarKindVal.js.map +1 -1
  112. package/dist/val/ScalarVal.d.ts +1 -0
  113. package/dist/val/ScalarVal.js +18 -3
  114. package/dist/val/ScalarVal.js.map +1 -1
  115. package/dist/val/StringVal.js +1 -1
  116. package/dist/val/StringVal.js.map +1 -1
  117. package/dist/val/SuperFuncVal.d.ts +1 -1
  118. package/dist/val/SuperFuncVal.js +15 -2
  119. package/dist/val/SuperFuncVal.js.map +1 -1
  120. package/dist/val/TopVal.js +1 -1
  121. package/dist/val/TopVal.js.map +1 -1
  122. package/dist/val/TypeFuncVal.js +1 -1
  123. package/dist/val/TypeFuncVal.js.map +1 -1
  124. package/dist/val/UpperFuncVal.js +21 -4
  125. package/dist/val/UpperFuncVal.js.map +1 -1
  126. package/dist/val/Val.d.ts +1 -1
  127. package/dist/val/Val.js +11 -21
  128. package/dist/val/Val.js.map +1 -1
  129. package/dist/val/VarVal.js +8 -2
  130. package/dist/val/VarVal.js.map +1 -1
  131. package/dist/val/numcmp.d.ts +14 -0
  132. package/dist/val/numcmp.js +134 -0
  133. package/dist/val/numcmp.js.map +1 -0
  134. package/dist/val/numkind.d.ts +6 -0
  135. package/dist/val/numkind.js +224 -0
  136. package/dist/val/numkind.js.map +1 -0
  137. package/dist/val/valutil.d.ts +1 -0
  138. package/dist/val/valutil.js +35 -0
  139. package/dist/val/valutil.js.map +1 -1
  140. package/package.json +7 -5
  141. package/src/aontu.ts +26 -9
  142. package/src/cli.ts +48 -21
  143. package/src/ctx.ts +1 -1
  144. package/src/err.ts +3 -2
  145. package/src/exactjson.ts +254 -0
  146. package/src/hints.ts +213 -4
  147. package/src/keyorder.ts +73 -0
  148. package/src/lang.ts +303 -31
  149. package/src/lsp-server.ts +17 -15
  150. package/src/lsp.ts +37 -14
  151. package/src/site.ts +1 -1
  152. package/src/type.ts +1 -1
  153. package/src/unify.ts +52 -1
  154. package/src/utility.ts +3 -9
  155. package/src/val/BagVal.ts +9 -6
  156. package/src/val/BigDecimalVal.ts +117 -0
  157. package/src/val/BigIntegerVal.ts +110 -0
  158. package/src/val/BooleanVal.ts +1 -1
  159. package/src/val/CloseFuncVal.ts +1 -1
  160. package/src/val/ConjunctVal.ts +1 -1
  161. package/src/val/ConstraintVal.ts +561 -0
  162. package/src/val/CopyFuncVal.ts +1 -1
  163. package/src/val/Decimal.ts +385 -0
  164. package/src/val/DisjunctVal.ts +1 -37
  165. package/src/val/ExpectVal.ts +1 -1
  166. package/src/val/FeatureVal.ts +1 -1
  167. package/src/val/FuncBaseVal.ts +1 -1
  168. package/src/val/HideFuncVal.ts +1 -1
  169. package/src/val/IntegerVal.ts +81 -5
  170. package/src/val/JunctionVal.ts +1 -1
  171. package/src/val/KeyFuncVal.ts +36 -4
  172. package/src/val/ListVal.ts +3 -5
  173. package/src/val/LowerFuncVal.ts +22 -5
  174. package/src/val/MapVal.ts +13 -9
  175. package/src/val/MoveFuncVal.ts +27 -10
  176. package/src/val/NilVal.ts +13 -3
  177. package/src/val/NullVal.ts +1 -1
  178. package/src/val/NumberVal.ts +27 -4
  179. package/src/val/OpBaseVal.ts +10 -10
  180. package/src/val/OpenFuncVal.ts +1 -1
  181. package/src/val/PathFuncVal.ts +10 -2
  182. package/src/val/PlusOpVal.ts +168 -32
  183. package/src/val/PrefFuncVal.ts +1 -1
  184. package/src/val/PrefVal.ts +70 -8
  185. package/src/val/RefVal.ts +143 -11
  186. package/src/val/ScalarKindVal.ts +123 -12
  187. package/src/val/ScalarVal.ts +20 -3
  188. package/src/val/StringVal.ts +1 -1
  189. package/src/val/SuperFuncVal.ts +15 -2
  190. package/src/val/TopVal.ts +1 -1
  191. package/src/val/TypeFuncVal.ts +1 -1
  192. package/src/val/UpperFuncVal.ts +22 -5
  193. package/src/val/Val.ts +13 -8
  194. package/src/val/VarVal.ts +8 -2
  195. package/src/val/numcmp.ts +189 -0
  196. package/src/val/numkind.ts +256 -0
  197. package/src/val/valutil.ts +36 -0
package/dist/lang.js CHANGED
@@ -17,6 +17,9 @@ const site_1 = require("./site");
17
17
  Object.defineProperty(exports, "Site", { enumerable: true, get: function () { return site_1.Site; } });
18
18
  const top_1 = require("./val/top");
19
19
  const ScalarKindVal_1 = require("./val/ScalarKindVal");
20
+ const BigDecimalVal_1 = require("./val/BigDecimalVal");
21
+ const BigIntegerVal_1 = require("./val/BigIntegerVal");
22
+ const Decimal_1 = require("./val/Decimal");
20
23
  const BooleanVal_1 = require("./val/BooleanVal");
21
24
  const ConjunctVal_1 = require("./val/ConjunctVal");
22
25
  const DisjunctVal_1 = require("./val/DisjunctVal");
@@ -26,6 +29,7 @@ const MapVal_1 = require("./val/MapVal");
26
29
  const NilVal_1 = require("./val/NilVal");
27
30
  const NullVal_1 = require("./val/NullVal");
28
31
  const NumberVal_1 = require("./val/NumberVal");
32
+ const numkind_1 = require("./val/numkind");
29
33
  const PrefVal_1 = require("./val/PrefVal");
30
34
  const RefVal_1 = require("./val/RefVal");
31
35
  const StringVal_1 = require("./val/StringVal");
@@ -43,13 +47,55 @@ const PrefFuncVal_1 = require("./val/PrefFuncVal");
43
47
  const CloseFuncVal_1 = require("./val/CloseFuncVal");
44
48
  const OpenFuncVal_1 = require("./val/OpenFuncVal");
45
49
  const SuperFuncVal_1 = require("./val/SuperFuncVal");
50
+ const ConstraintVal_1 = require("./val/ConstraintVal");
46
51
  const asPlugin = (p) => p;
52
+ // Build the Val for a matched `0d` literal (see the `0d` value matcher
53
+ // below). Leaf by source: digits only is a biginteger, a `.` or an
54
+ // exponent makes it a bigdecimal.
55
+ //
56
+ // A literal over the D6 exactness budget becomes a LOCATED ERROR here
57
+ // and not a rounded or expanded value: `0d1e1000000000` has a one-digit
58
+ // coefficient, so only the scale bound catches it, and it is caught at
59
+ // parse -- before plain-form rendering would try to materialise a
60
+ // gigabyte of zeros.
61
+ // The source text of a negated exact literal. `-` is a prefix OPERATOR,
62
+ // not part of the literal, so the text has to be rebuilt here to keep
63
+ // `src` meaning "how this value is spelled" (see bigVal).
64
+ function negsrc(src) {
65
+ // src is never empty here: it is a BIG_LITERAL_RE match (at minimum
66
+ // the two chars `0d`) or an already-negated spelling. Computed exact
67
+ // values do carry src '', but they are built at unify time, long
68
+ // after this parse-time opmap.
69
+ return src.startsWith('-') ? src.slice(1) : '-' + src;
70
+ }
71
+ function bigVal(res) {
72
+ const lit = (0, Decimal_1.readBigLiteral)(res);
73
+ // `src` is the literal's own text, and it is not decoration: a path
74
+ // segment is spelled text, so `$.a.0d1` must address the key `0d1` --
75
+ // the same key `a:{0d1:7}` creates -- rather than the number 1. See
76
+ // RefVal.append. Without it the segment was empty and the reference
77
+ // silently resolved to its own container.
78
+ const src = res[0];
79
+ return 'biginteger' === lit.leaf ? new BigIntegerVal_1.BigIntegerVal({ peg: lit.int, src }) :
80
+ 'bigdecimal' === lit.leaf ? new BigDecimalVal_1.BigDecimalVal({ peg: lit.dec, src }) :
81
+ new NilVal_1.NilVal({ why: lit.code });
82
+ }
83
+ // Char codes of the literal's fixed opening, for the guard below.
84
+ const CC_0 = 48;
85
+ const CC_d = 100;
86
+ const CC_D = 68;
47
87
  let AontuJsonic = function AontuLang(jsonic) {
48
88
  jsonic.use(asPlugin(path_1.Path));
49
89
  // Only # line comments are valid Aontu syntax (see
50
90
  // docs/reference-language.md; go/lang.go sets the same). Clear the
51
91
  // underlying jsonic comment markers entirely, then define # directly,
52
92
  // so the comment set is hash-only regardless of those defaults.
93
+ let dotRef = (r, ctx, terms, prefix) => {
94
+ terms = dropUnfilled(terms);
95
+ if (0 === terms.length)
96
+ return incompleteNil(r, ctx);
97
+ return addsite(new RefVal_1.RefVal({ peg: terms, prefix }), r, ctx);
98
+ };
53
99
  jsonic.options({ comment: { def: null } });
54
100
  jsonic.options({
55
101
  comment: {
@@ -59,13 +105,104 @@ let AontuJsonic = function AontuLang(jsonic) {
59
105
  },
60
106
  },
61
107
  });
108
+ // Digit separators are legal only as a SINGLE separator BETWEEN
109
+ // digits (the rule test/spec/engine-parity.tsv records as the engine's
110
+ // adjudication; pinned by the sep-* rows in
111
+ // test/spec/number-model.tsv). The engine's number matcher
112
+ // enforces most of that already — `1_`, `_1`, `1_.5`, `1._5`, `1e_2`,
113
+ // `1e2_` all fall through to text — but two gaps remain: a REPEATED
114
+ // separator (`1__0` lexed as 10) and a separator at the edge of a
115
+ // base-prefixed digit run (`0x_ff`, `0xff_` lexed as 255). Both
116
+ // silently accept a typo as a different number, so aontu declines the
117
+ // whole run instead and it lexes as text ("1__0"), exactly as `1_`
118
+ // already does.
119
+ //
120
+ // `number.exclude` is tested against the matched number source and,
121
+ // when it matches, makes the matcher decline the entire span. Kept in
122
+ // lock-step with sepInvalid in go/lang.go, which is wired to the
123
+ // equivalent `Number.Exclude` hook (and to the Check hook, which
124
+ // constructs big base-prefixed tokens itself and so bypasses Exclude).
125
+ jsonic.options({
126
+ number: {
127
+ // `__` repeated separator; `0x_`/`0o_`/`0b_` separator opening a
128
+ // base-prefixed run; `_` closing any run. The prefix letter is
129
+ // matched case-insensitively so the rule does not depend on which
130
+ // prefix spellings the engine accepts.
131
+ exclude: /__|^[-+]?0[xXoObB]_|_$/,
132
+ },
133
+ });
134
+ // D3 -- the `0d` literal, the only route to the exact leaves
135
+ // (biginteger and bigdecimal). See BIG_LITERAL_RE for the grammar and
136
+ // the leaf-by-source rule.
137
+ //
138
+ // The literal is claimed by the TEXT MATCHER'S CHECK HOOK (the sibling
139
+ // of the `Number.Check` hook the Go port already uses for big
140
+ // base-prefixed literals), not by a `value.def` entry, because a `0d`
141
+ // run may contain a `.` and the two claim source differently:
142
+ //
143
+ // - A value def -- even a consuming one, matched against the full
144
+ // forward source -- is applied INSIDE the text matcher, AFTER its
145
+ // ender regexp has already carved the run at the `.`. The def
146
+ // claims `0d1.5` whole, but the matcher then still emits the
147
+ // ender's `.` as a fixed token, so `x:0d1.5` lexed as the
148
+ // bigdecimal FOLLOWED BY a dangling member-access dot (a path
149
+ // cycle). Verified, not theorised.
150
+ // - The check hook runs BEFORE that ender regexp and returns the
151
+ // token outright, so the run is claimed whole and nothing else is
152
+ // emitted.
153
+ //
154
+ // A `match.value` matcher (which runs ahead of every other matcher)
155
+ // also claims it correctly, but it is a candidate at EVERY lex
156
+ // position and materializes the forward source there: ~8% on a
157
+ // text-heavy document, for a syntax almost none of them use. The check
158
+ // hook only runs where the text matcher already runs, and measures at
159
+ // parity with not having it.
160
+ //
161
+ // The number matcher never sees these runs at all: it declines `0d…`
162
+ // outright, since `d` is not an ender.
163
+ jsonic.options({
164
+ text: {
165
+ check: (lex) => {
166
+ // Guard first, on char codes: this hook runs at every text
167
+ // position, and the common case (any run that cannot be a `0d`
168
+ // literal) must cost two char reads and no allocation.
169
+ const pnt = lex.pnt;
170
+ const src = lex.src;
171
+ if (CC_0 !== src.charCodeAt(pnt.sI)) {
172
+ return undefined;
173
+ }
174
+ const c1 = src.charCodeAt(pnt.sI + 1);
175
+ if (CC_d !== c1 && CC_D !== c1) {
176
+ return undefined;
177
+ }
178
+ // BIG_LITERAL_RE is `^`-anchored and read against the forward
179
+ // source (memoized per position by refwd), which is what lets
180
+ // it claim the `.` of `0d1.5`.
181
+ const res = Decimal_1.BIG_LITERAL_RE.exec(lex.refwd());
182
+ if (null == res) {
183
+ return undefined;
184
+ }
185
+ const msrc = res[0];
186
+ // The token value is a FUNCTION so Val construction happens at
187
+ // parse time, where the rule and context needed for the site
188
+ // exist (jsonic calls a #VL token's function value with them).
189
+ // A `0d` literal never spans a line, so only the source and
190
+ // column positions advance.
191
+ const tkn = lex.token('#VL', (r, ctx) => addsite(bigVal(res), r, ctx), msrc, pnt);
192
+ pnt.sI += msrc.length;
193
+ pnt.cI += msrc.length;
194
+ return { done: true, token: tkn };
195
+ },
196
+ },
197
+ });
62
198
  // TODO: refactor Val constructor
63
199
  // let addsite = (v: Val, p: string[]) => (v.path = [...(p || [])], v)
64
200
  let addsite = (v, r, ctx) => {
65
201
  v.site.row = null == r.o0 ? -1 : r.o0.rI;
66
202
  v.site.col = null == r.o0 ? -1 : r.o0.cI;
67
203
  v.site.url = ctx.meta.multisource ? ctx.meta.multisource.path : '';
68
- v.path = r.k ? [...(r.k.path || [])] : [];
204
+ // A keyed rule always carries a path array; a keyless one has none.
205
+ v.path = r.k ? [...r.k.path] : [];
69
206
  return v;
70
207
  };
71
208
  jsonic.options({
@@ -99,12 +236,26 @@ help isolate the syntax error.`,
99
236
  'string': {
100
237
  val: (r, ctx) => addsite(new ScalarKindVal_1.ScalarKindVal({ peg: String }), r, ctx)
101
238
  },
239
+ // `number` is a pure supertype: it matches a concrete value of
240
+ // any numeric leaf and never tags one itself. `integer` and
241
+ // `float` are the leaves (see ScalarKindVal for the lattice).
102
242
  'number': {
103
243
  val: (r, ctx) => addsite(new ScalarKindVal_1.ScalarKindVal({ peg: Number }), r, ctx)
104
244
  },
105
245
  'integer': {
106
246
  val: (r, ctx) => addsite(new ScalarKindVal_1.ScalarKindVal({ peg: ScalarKindVal_1.Integer }), r, ctx)
107
247
  },
248
+ 'float': {
249
+ val: (r, ctx) => addsite(new ScalarKindVal_1.ScalarKindVal({ peg: ScalarKindVal_1.Float }), r, ctx)
250
+ },
251
+ // The two exact leaves. Their keywords are the marker class
252
+ // names lowercased, which is also how ScalarKindVal canons them.
253
+ 'biginteger': {
254
+ val: (r, ctx) => addsite(new ScalarKindVal_1.ScalarKindVal({ peg: ScalarKindVal_1.BigInteger }), r, ctx)
255
+ },
256
+ 'bigdecimal': {
257
+ val: (r, ctx) => addsite(new ScalarKindVal_1.ScalarKindVal({ peg: ScalarKindVal_1.BigDecimal }), r, ctx)
258
+ },
108
259
  'boolean': {
109
260
  val: (r, ctx) => addsite(new ScalarKindVal_1.ScalarKindVal({ peg: Boolean }), r, ctx)
110
261
  },
@@ -156,6 +307,15 @@ help isolate the syntax error.`,
156
307
  close: CloseFuncVal_1.CloseFuncVal,
157
308
  open: OpenFuncVal_1.OpenFuncVal,
158
309
  super: SuperFuncVal_1.SuperFuncVal,
310
+ // The constraint algebra's Band A atoms (G1 phase 1;
311
+ // docs/reference-language.md, "The constraint algebra"): bounds
312
+ // and exclusion enter through the function registry — the
313
+ // established extension point — with zero grammar change.
314
+ min: ConstraintVal_1.MinConstraintVal,
315
+ max: ConstraintVal_1.MaxConstraintVal,
316
+ above: ConstraintVal_1.AboveConstraintVal,
317
+ below: ConstraintVal_1.BelowConstraintVal,
318
+ neq: ConstraintVal_1.NeqConstraintVal,
159
319
  };
160
320
  // A dangling operator (`a:1|`, `a:$`, `a:*` at end of input) leaves
161
321
  // null/undefined unfilled terms. Junction ops drop them (so `a:1&`
@@ -167,18 +327,11 @@ help isolate the syntax error.`,
167
327
  let opmap = {
168
328
  'conjunct-infix': (r, ctx, _op, terms) => addsite(new ConjunctVal_1.ConjunctVal({ peg: dropUnfilled(terms) }), r, ctx),
169
329
  'disjunct-infix': (r, ctx, _op, terms) => addsite(new DisjunctVal_1.DisjunctVal({ peg: dropUnfilled(terms) }), r, ctx),
170
- 'dot-prefix': (r, ctx, _op, terms) => {
171
- terms = dropUnfilled(terms);
172
- if (0 === terms.length)
173
- return incompleteNil(r, ctx);
174
- return addsite(new RefVal_1.RefVal({ peg: terms, prefix: true }), r, ctx);
175
- },
176
- 'dot-infix': (r, ctx, _op, terms) => {
177
- terms = dropUnfilled(terms);
178
- if (0 === terms.length)
179
- return incompleteNil(r, ctx);
180
- return addsite(new RefVal_1.RefVal({ peg: terms }), r, ctx);
181
- },
330
+ // `.a` (prefix) and `a.b` (infix) build the same reference; only the
331
+ // prefix flag differs, and both need the same missing-operand guard,
332
+ // so they share one builder.
333
+ 'dot-prefix': (r, ctx, _op, terms) => dotRef(r, ctx, terms, true),
334
+ 'dot-infix': (r, ctx, _op, terms) => dotRef(r, ctx, terms, false),
182
335
  'star-prefix': (r, ctx, _op, terms) => {
183
336
  if (null == terms[0])
184
337
  return incompleteNil(r, ctx);
@@ -203,6 +356,16 @@ help isolate the syntax error.`,
203
356
  let val = terms[0];
204
357
  if (null == val)
205
358
  return incompleteNil(r, ctx);
359
+ // The exact leaves negate exactly and never change kind. R2/D5
360
+ // holds here too: bigint has a single zero, and Decimal's
361
+ // normalising constructor sends every zero to the same form, so
362
+ // `-0d0` is `0d0` and `-0d0.0` is `0d0.0`.
363
+ if (val instanceof BigIntegerVal_1.BigIntegerVal) {
364
+ return addsite(new BigIntegerVal_1.BigIntegerVal({ peg: -val.peg, src: negsrc(val.src) }), r, ctx);
365
+ }
366
+ if (val instanceof BigDecimalVal_1.BigDecimalVal) {
367
+ return addsite(new BigDecimalVal_1.BigDecimalVal({ peg: val.peg.negate(), src: negsrc(val.src) }), r, ctx);
368
+ }
206
369
  // Negating a non-numeric operand (`k-x` splits into k, -x) is an
207
370
  // error nil, not NaN (mirrors negate() in go/lang.go).
208
371
  if (!(val instanceof IntegerVal_1.IntegerVal) && !(val instanceof NumberVal_1.NumberVal)) {
@@ -216,7 +379,11 @@ help isolate the syntax error.`,
216
379
  // Normalize -0 to 0 (keeps the AST and canon free of negative zero).
217
380
  if (0 === peg)
218
381
  peg = 0;
219
- const out = val instanceof IntegerVal_1.IntegerVal
382
+ // Negation never narrows the kind: a number stays a number. An
383
+ // integer stays an integer unless the negation leaves the int64
384
+ // range (only -(-2^63), which no literal can express), in which
385
+ // case it widens to a number rather than failing.
386
+ const out = val instanceof IntegerVal_1.IntegerVal && (0, numkind_1.isIntegerKind)(peg)
220
387
  ? new IntegerVal_1.IntegerVal({ peg })
221
388
  : new NumberVal_1.NumberVal({ peg });
222
389
  return addsite(out, r, ctx);
@@ -262,6 +429,26 @@ help isolate the syntax error.`,
262
429
  left: 20_000_000,
263
430
  right: 21_000_000,
264
431
  },
432
+ // Re-base the unary prefixes for the same reason. Every aontu
433
+ // operator sits far above the @tabnas/expr defaults, so the
434
+ // default prefix binding power of 4_000_000 left unary `-`/`+`
435
+ // LOOSER than every infix operator: `-1 & integer` parsed as
436
+ // `-(1 & integer)`, and negative-prefix (below) then rejected
437
+ // the composite operand as a `negative` error nil (likewise
438
+ // `-2+3`, `-1|2`). Unary minus must bind tighter than `+`, `&`
439
+ // and `|` — but still looser than `.` (dot-infix left is
440
+ // 25_000_000), so `-0xFF.5` stays `-(0xFF.5)` and `$`.
441
+ // Kept in lock-step with the op table in go/lang.go.
442
+ 'negative': {
443
+ src: '-',
444
+ prefix: true,
445
+ right: 22_000_000,
446
+ },
447
+ 'positive': {
448
+ src: '+',
449
+ prefix: true,
450
+ right: 22_000_000,
451
+ },
265
452
  'dollar-prefix': {
266
453
  src: '$',
267
454
  prefix: true,
@@ -377,8 +564,28 @@ help isolate the syntax error.`,
377
564
  if (!Number.isFinite(r.node)) {
378
565
  valnode = addsite(new NilVal_1.NilVal({ why: 'not_number' }), r, ctx);
379
566
  }
380
- // 1.0 in source is *not* an integer
381
- else if (Number.isInteger(r.node) && !r.o0.src.includes('.')) {
567
+ // D7 -- A LOSSY INTEGER LITERAL IS REFUSED, NOT ROUNDED. The
568
+ // token above is already a double, so a literal the double
569
+ // cannot hold exactly (2^53+1, 0x7fffffffffffffff,
570
+ // 0xffffffffffffffff) has ALREADY become a different number by
571
+ // the time it gets here. Storing it would mean the document
572
+ // silently means something other than what it says, so the
573
+ // literal becomes a located error whose hint names the escape:
574
+ // write it `0d…` and get the exact value.
575
+ //
576
+ // The rule is EXACTNESS, not magnitude -- 10^20 and 2^124 are
577
+ // both far outside the int64 window and both land exactly on a
578
+ // binary64, so both stay values (see isLossyIntegerLiteral).
579
+ else if ((0, numkind_1.isLossyIntegerLiteral)(r.node, r.o0.src)) {
580
+ const nil = new NilVal_1.NilVal({ why: 'lossy_integer_literal' });
581
+ nil.details = { src: r.o0.src };
582
+ valnode = addsite(nil, r, ctx);
583
+ }
584
+ // A literal is integer kind only if its source has no '.', its
585
+ // value is integral, and it fits the int64 range: `1.0` is a
586
+ // number, and so are 1e21 and 100000000000000000000 (see
587
+ // isIntegerKind).
588
+ else if ((0, numkind_1.isIntegerKind)(r.node, r.o0.src)) {
382
589
  valnode = addsite(new IntegerVal_1.IntegerVal({ peg: r.node, src: r.o0.src }), r, ctx);
383
590
  }
384
591
  else {
@@ -452,16 +659,10 @@ help isolate the syntax error.`,
452
659
  ao[i] = addsite(new NullVal_1.NullVal({ peg: null }), r, ctx);
453
660
  }
454
661
  }
455
- if (ao.___merge) {
456
- let aop = [...ao];
457
- delete aop.___merge;
458
- // TODO: needs addpath?
459
- let aopv = new ListVal_1.ListVal({ peg: aop });
460
- aopv.optionalKeys = optionalKeys;
461
- r.node =
462
- addsite(new ConjunctVal_1.ConjunctVal({ peg: [aopv, ...ao.___merge] }), r, ctx);
463
- }
464
- else {
662
+ // No ___merge arm here: the deferred map.merge that writes it
663
+ // only ever fires for a `pair` rule, whose parent is always a
664
+ // `map` rule with a plain-object node — never a list.
665
+ {
465
666
  r.node = addsite(new ListVal_1.ListVal({ peg: ao }), r, ctx);
466
667
  r.node.optionalKeys = optionalKeys;
467
668
  }
@@ -595,7 +796,10 @@ function makeModelResolver(options) {
595
796
  ...(options.resolver?.pkg || {})
596
797
  });
597
798
  return function ModelResolver(spec, popts, rule, ctx, jsonic) {
598
- let path = 'string' === typeof spec ? spec : spec?.peg;
799
+ // The aontu val rule's ac has already wrapped every raw string node
800
+ // as a StringVal, so spec is a Val here (or a raw object from a
801
+ // .json/.js include, whose peg is undefined -> not found).
802
+ let path = spec?.peg;
599
803
  // A bare `@` with no path (`a:@`) has nothing to resolve; report
600
804
  // not-found instead of crashing in the underlying resolvers.
601
805
  if (null == path || '' === path) {
@@ -628,6 +832,32 @@ function makeModelResolver(options) {
628
832
  // the aontu val rule conversions (mirrors asVal in go/lang.go; like
629
833
  // there, source text is unavailable, so an integral number is an
630
834
  // integer).
835
+ // The targeted parse hint for CUE-trained authors and models: `>` and
836
+ // `<` are not Aontu operators (the op-chars reservation stands), and an
837
+ // agent that emits `number > 0` should be redirected to the bound
838
+ // atoms, not left with a bare "unexpected character". Appended to a
839
+ // parse error's message when the source carries an unquoted `<` or
840
+ // `>`; the Go twin is opCharHint in go/lang.go, byte-identical text.
841
+ function opCharHint(src) {
842
+ let q = '';
843
+ for (let i = 0; i < src.length; i++) {
844
+ const c = src[i];
845
+ if ('' !== q) {
846
+ if (c === q && '\\' !== src[i - 1]) {
847
+ q = '';
848
+ }
849
+ continue;
850
+ }
851
+ if ('"' === c || '\'' === c || '`' === c) {
852
+ q = c;
853
+ }
854
+ else if ('<' === c || '>' === c) {
855
+ return '\nThe > and < characters are not Aontu operators: write the ' +
856
+ 'bound functions min(x), max(x), above(x), below(x) instead.';
857
+ }
858
+ }
859
+ return '';
860
+ }
631
861
  function rawToVal(n) {
632
862
  if (null == n) {
633
863
  return new NullVal_1.NullVal({ peg: null });
@@ -643,7 +873,10 @@ function rawToVal(n) {
643
873
  return new StringVal_1.StringVal({ peg: n });
644
874
  }
645
875
  if ('number' === t) {
646
- return Number.isInteger(n) ?
876
+ // No source text here, so the "no '.'" condition is vacuous and the
877
+ // integral + int64-range conditions decide (same helper as the val
878
+ // rule, so the two paths cannot drift).
879
+ return (0, numkind_1.isIntegerKind)(n) ?
647
880
  new IntegerVal_1.IntegerVal({ peg: n }) : new NumberVal_1.NumberVal({ peg: n });
648
881
  }
649
882
  if ('boolean' === t) {
@@ -726,7 +959,7 @@ class Lang {
726
959
  why: 'parse',
727
960
  err: new NilVal_1.NilVal({
728
961
  why: 'syntax',
729
- msg: e.message,
962
+ msg: e.message + opCharHint(src),
730
963
  err: e,
731
964
  })
732
965
  });
@@ -737,6 +970,6 @@ class Lang {
737
970
  }
738
971
  return val;
739
972
  }
740
- }
973
+ } /* node:coverage ignore next 6 */
741
974
  exports.Lang = Lang;
742
975
  //# sourceMappingURL=lang.js.map
package/dist/lang.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lang.js","sourceRoot":"","sources":["../src/lang.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAGzD,gDAAgD;AAEhD,2CAQuB;AAGvB,yCAAqC;AAErC,qDAE4B;AAE5B,sDAAsD;AAEtD,4DAE0C;AAE1C,0DAEyC;AAEzC,0DAEyC;AAEzC,uCAGqB;AAErB,uCAEqB;AAOrB,iCAGe;AAEf,iCAEe;qFADb,WAAI;AAGN,mCAEkB;AAIlB,uDAA4D;AAG5D,iDAA6C;AAC7C,mDAA+C;AAC/C,mDAA+C;AAC/C,iDAA6C;AAC7C,2CAAuC;AACvC,yCAAqC;AACrC,yCAAqC;AACrC,2CAAuC;AACvC,+CAA2C;AAC3C,2CAAuC;AACvC,yCAAqC;AACrC,+CAA2C;AAC3C,yCAAqC;AACrC,+CAA2C;AAC3C,qDAAiD;AACjD,qDAAiD;AACjD,mDAA+C;AAC/C,iDAA6C;AAC7C,mDAA+C;AAC/C,mDAA+C;AAC/C,mDAA+C;AAC/C,mDAA+C;AAC/C,mDAA+C;AAC/C,qDAAiD;AACjD,mDAA+C;AAC/C,qDAAiD;AAGjD,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAU,EAAE,CAAC,CAAW,CAAA;AAEpD,IAAI,WAAW,GAAW,SAAS,SAAS,CAAC,MAAc;IAEzD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAI,CAAC,CAAC,CAAA;IAE1B,mDAAmD;IACnD,mEAAmE;IACnE,sEAAsE;IACtE,gEAAgE;IAChE,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;IAC1C,MAAM,CAAC,OAAO,CAAC;QACb,OAAO,EAAE;YACP,GAAG,EAAE,IAAI;YACT,GAAG,EAAE;gBACH,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;aAC5C;SACF;KACF,CAAC,CAAA;IAEF,iCAAiC;IACjC,sEAAsE;IACtE,IAAI,OAAO,GAAG,CAAC,CAAM,EAAE,CAAO,EAAE,GAAkB,EAAE,EAAE;QAEpD,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;QACxC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;QACxC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;QAClE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAEzC,OAAO,CAAC,CAAA;IACV,CAAC,CAAA;IAGD,MAAM,CAAC,OAAO,CAAC;QACb,IAAI,EAAE;YACJ,OAAO,EAAE;;;;;UAKL;YAEJ,UAAU,EAAE;;;+BAGa;SAE1B;QACD,MAAM,EAAE;YACN,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,KAAK;SACd;QACD,KAAK,EAAE;YACL,KAAK,EAAE;gBACL,KAAK,EAAE,GAAG;aACX;SACF;QACD,KAAK,EAAE;YACL,GAAG,EAAE;gBACH,mDAAmD;gBACnD,sDAAsD;gBACtD,0BAA0B;gBAC1B,yDAAyD;gBACzD,QAAQ,EAAE;oBACR,GAAG,EAAE,CAAC,CAAO,EAAE,GAAkB,EAAE,EAAE,CACnC,OAAO,CAAC,IAAI,6BAAa,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;iBACtD;gBACD,QAAQ,EAAE;oBACR,GAAG,EAAE,CAAC,CAAO,EAAE,GAAkB,EAAE,EAAE,CACnC,OAAO,CAAC,IAAI,6BAAa,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;iBACtD;gBACD,SAAS,EAAE;oBACT,GAAG,EAAE,CAAC,CAAO,EAAE,GAAkB,EAAE,EAAE,CACnC,OAAO,CAAC,IAAI,6BAAa,CAAC,EAAE,GAAG,EAAE,uBAAO,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;iBACvD;gBACD,SAAS,EAAE;oBACT,GAAG,EAAE,CAAC,CAAO,EAAE,GAAkB,EAAE,EAAE,CACnC,OAAO,CAAC,IAAI,6BAAa,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;iBACvD;gBACD,KAAK,EAAE;oBACL,GAAG,EAAE,CAAC,CAAO,EAAE,GAAkB,EAAE,EAAE,CACnC,OAAO,CAAC,IAAI,eAAM,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;iBACtD;gBAED,8CAA8C;gBAC9C,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAA,SAAG,GAAE,EAAE;aAC5B;SACF;QAED,GAAG,EAAE;YACH,KAAK,EAAE,CAAC,IAAS,EAAE,IAAS,EAAE,EAAQ,EAAE,GAAkB,EAAE,EAAE;gBAC5D,IAAI,IAAI,GAAI,IAAY,CAAA;gBACxB,IAAI,IAAI,GAAI,IAAY,CAAA;gBAExB,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;oBAE/B,0CAA0C;oBAC1C,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;wBACtC,IAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;wBAClC,OAAO,IAAI,CAAA;oBACb,CAAC;yBACI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;wBACxB,IAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;wBAClC,OAAO,IAAI,CAAA;oBACb,CAAC;yBACI,CAAC;wBACJ,OAAO,OAAO,CAAC,IAAI,yBAAW,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;oBACnE,CAAC;gBACH,CAAC;gBAED,sDAAsD;gBACtD,wCAAwC;qBACnC,CAAC;oBACJ,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAA;oBACrC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBACxB,OAAO,IAAI,CAAA;gBACb,CAAC;YACH,CAAC;SACF;KACF,CAAC,CAAA;IAGF,MAAM,OAAO,GAAwB;QACnC,KAAK,EAAE,2BAAY;QACnB,KAAK,EAAE,2BAAY;QACnB,IAAI,EAAE,yBAAW;QACjB,GAAG,EAAE,uBAAU;QACf,IAAI,EAAE,yBAAW;QACjB,IAAI,EAAE,yBAAW;QACjB,IAAI,EAAE,yBAAW;QACjB,IAAI,EAAE,yBAAW;QACjB,IAAI,EAAE,yBAAW;QACjB,KAAK,EAAE,2BAAY;QACnB,IAAI,EAAE,yBAAW;QACjB,KAAK,EAAE,2BAAY;KACpB,CAAA;IAGD,oEAAoE;IACpE,mEAAmE;IACnE,mEAAmE;IACnE,iEAAiE;IACjE,8DAA8D;IAC9D,MAAM,YAAY,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAA;IAExE,MAAM,aAAa,GAAG,CAAC,CAAO,EAAE,GAAkB,EAAE,EAAE,CACpD,OAAO,CAAC,IAAI,eAAM,CAAC,EAAE,GAAG,EAAE,uBAAuB,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;IAE/D,IAAI,KAAK,GAAQ;QACf,gBAAgB,EAAE,CAAC,CAAO,EAAE,GAAkB,EAAE,GAAO,EAAE,KAAU,EAAE,EAAE,CACrE,OAAO,CAAC,IAAI,yBAAW,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;QAEhE,gBAAgB,EAAE,CAAC,CAAO,EAAE,GAAkB,EAAE,GAAO,EAAE,KAAU,EAAE,EAAE,CACrE,OAAO,CAAC,IAAI,yBAAW,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;QAEhE,YAAY,EAAE,CAAC,CAAO,EAAE,GAAkB,EAAE,GAAO,EAAE,KAAU,EAAE,EAAE;YACjE,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;YAC3B,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM;gBAAE,OAAO,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;YACpD,OAAO,OAAO,CAAC,IAAI,eAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;QAClE,CAAC;QAED,WAAW,EAAE,CAAC,CAAO,EAAE,GAAkB,EAAE,GAAO,EAAE,KAAU,EAAE,EAAE;YAChE,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;YAC3B,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM;gBAAE,OAAO,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;YACpD,OAAO,OAAO,CAAC,IAAI,eAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;QACpD,CAAC;QAED,aAAa,EAAE,CAAC,CAAO,EAAE,GAAkB,EAAE,GAAO,EAAE,KAAU,EAAE,EAAE;YAClE,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;gBAAE,OAAO,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;YAClD,OAAO,OAAO,CAAC,IAAI,iBAAO,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;QACxD,CAAC;QAED,eAAe,EAAE,CAAC,CAAO,EAAE,GAAkB,EAAE,GAAO,EAAE,KAAU,EAAE,EAAE;YACpE,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;gBAAE,OAAO,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;YAClD,sBAAsB;YACtB,IAAI,KAAK,CAAC,CAAC,CAAC,YAAY,eAAM,EAAE,CAAC;gBAC/B,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAA;gBACxB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;YACD,OAAO,OAAO,CAAC,IAAI,eAAM,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;QACvD,CAAC;QAED,YAAY,EAAE,CAAC,CAAO,EAAE,GAAkB,EAAE,GAAO,EAAE,KAAU,EAAE,EAAE;YACjE,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;gBAAE,OAAO,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;YACtE,OAAO,OAAO,CAAC,IAAI,qBAAS,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;QACtE,CAAC;QAED,iBAAiB,EAAE,CAAC,CAAO,EAAE,GAAkB,EAAE,GAAO,EAAE,KAAU,EAAE,EAAE;YACtE,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YAClB,IAAI,IAAI,IAAI,GAAG;gBAAE,OAAO,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;YAC7C,iEAAiE;YACjE,uDAAuD;YACvD,IAAI,CAAC,CAAC,GAAG,YAAY,uBAAU,CAAC,IAAI,CAAC,CAAC,GAAG,YAAY,qBAAS,CAAC,EAAE,CAAC;gBAChE,OAAO,OAAO,CAAC,IAAI,eAAM,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;YACzD,CAAC;YACD,mEAAmE;YACnE,2DAA2D;YAC3D,+DAA+D;YAC/D,kCAAkC;YAClC,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAA;YACtB,qEAAqE;YACrE,IAAI,CAAC,KAAK,GAAG;gBAAE,GAAG,GAAG,CAAC,CAAA;YACtB,MAAM,GAAG,GAAG,GAAG,YAAY,uBAAU;gBACnC,CAAC,CAAC,IAAI,uBAAU,CAAC,EAAE,GAAG,EAAE,CAAC;gBACzB,CAAC,CAAC,IAAI,qBAAS,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;YAC1B,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;QAC7B,CAAC;QAED,iBAAiB,EAAE,CAAC,CAAO,EAAE,GAAkB,EAAE,GAAO,EAAE,KAAU,EAAE,EAAE;YACtE,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YAClB,IAAI,IAAI,IAAI,GAAG;gBAAE,OAAO,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;YAC7C,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;QAC7B,CAAC;QAED,YAAY,EAAE,CAAC,CAAO,EAAE,GAAkB,EAAE,GAAO,EAAE,KAAU,EAAE,EAAE;YACjE,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YAClB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YACtB,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;gBACjB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;gBAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBAC3B,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,CAAC;oBACrB,IAAI,eAAM,CAAC,EAAE,GAAG,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;oBACzC,IAAI,OAAO,CAAC;wBACV,GAAG,EAAE,IAAI;qBACV,CAAC,CAAA;YACN,CAAC;YACD,gDAAgD;YAChD,IAAI,IAAI,IAAI,GAAG;gBAAE,OAAO,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;YAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;YAChC,OAAO,GAAG,CAAA;QACZ,CAAC;KACF,CAAA;IAGD,MAAM;SACH,GAAG,CAAC,QAAQ,CAAC,WAAI,CAAC,EAAE;QACnB,EAAE,EAAE;YACF,gDAAgD;YAChD,UAAU,EAAE;gBACV,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU;aAC3D;YAED,UAAU,EAAE;gBACV,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU;aAC3D;YAED,YAAY,EAAE;gBACZ,GAAG,EAAE,GAAG;gBACR,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,UAAU;aAClB;YAED,eAAe,EAAE;gBACf,GAAG,EAAE,GAAG;gBACR,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,UAAU;aAClB;YAED,WAAW,EAAE;gBACX,GAAG,EAAE,GAAG;gBACR,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,UAAU;aAClB;YAED,YAAY,EAAE;gBACZ,GAAG,EAAE,GAAG;gBACR,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,UAAU;aAClB;YAED,MAAM,EAAE;gBACN,GAAG,EAAE,GAAG;gBACR,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,UAAU;aAClB;YAED,MAAM,EAAE;gBACN,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE;oBACN,MAAM,EAAE,IAAI;oBACZ,2CAA2C;iBAC5C;gBACD,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE,GAAG;aACV;YAED,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,IAAI;YACjB,cAAc,EAAE,IAAI;YACpB,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;SAChB;QACD,QAAQ,EAAE,CAAC,CAAO,EAAE,GAAkB,EAAE,EAAM,EAAE,KAAU,EAAE,EAAE;YAC5D,oCAAoC;YAEpC,IACE,YAAY,KAAK,EAAE,CAAC,IAAI;gBACxB,qCAAqC;mBAClC,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EACrB,CAAC;gBACD,iDAAiD;gBACjD,KAAK,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,CAAA;YACxB,CAAC;YAGD,IAAI,GAAG,GAAQ,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;YAEhD,2CAA2C;YAE3C,OAAO,GAAG,CAAA;QACZ,CAAC;KACF,CAAC,CAAA;IAGJ,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC9B,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;IAC1B,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;IAC1B,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;IAC1B,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;IAE1B,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;IAE1B,MAAM,MAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IAG3B,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAY,EAAE,EAAE;QACnC,EAAE,CAAC,KAAK,CAAC;YACP,iEAAiE;YACjE,iEAAiE;YACjE,2DAA2D;YAC3D,gEAAgE;YAChE,gEAAgE;YAChE,8DAA8D;YAC9D,2DAA2D;YAC3D,0DAA0D;YAC1D,kEAAkE;YAClE,+DAA+D;YAC/D,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,sBAAsB,EAAE;SACjE,CAAC,CAAA;QACF,OAAO,EAAE,CAAA;IACX,CAAC,CAAC,CAAA;IAGF,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAY,EAAE,EAAE;QAElC,EAAE;aACC,IAAI,CAAC;YACJ;gBACE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;gBACzC,iEAAiE;gBACjE,8DAA8D;gBAC9D,yDAAyD;gBACzD,CAAC,EAAE,CAAC,CAAO,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,EAAE,CAAA,CAAC,CAAC;gBAC/B,CAAC,EAAE,QAAQ;aACZ;YAED;gBACE,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;gBACf,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAClB,CAAC,EAAE,KAAK;gBACR,CAAC,EAAE,CAAC;gBACJ,gEAAgE;gBAChE,wDAAwD;gBACxD,CAAC,EAAE,CAAC,CAAO,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,EAAE,CAAA,CAAC,CAAC;gBAC/B,CAAC,EAAE,gCAAgC;aACpC;YAED;gBACE,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;gBACf,CAAC,EAAE,KAAK;gBACR,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;gBACZ,CAAC,EAAE,CAAC,CAAO,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,EAAE,CAAA,CAAC,CAAC;gBAC/B,CAAC,EAAE,qCAAqC;aACzC;SAEF,CAAC;aAED,EAAE,CAAC,CAAC,CAAO,EAAE,GAAkB,EAAE,EAAE;YAElC,IAAI,OAAO,GAAQ,CAAC,CAAC,IAAI,CAAA;YACzB,IAAI,OAAO,GAAG,OAAO,OAAO,CAAA;YAE5B,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACzB,OAAO,GAAG,OAAO,CAAC,IAAI,qBAAS,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;YAC3D,CAAC;iBACI,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBAC9B,+DAA+D;gBAC/D,gEAAgE;gBAChE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7B,OAAO,GAAG,OAAO,CAAC,IAAI,eAAM,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;gBAC9D,CAAC;gBACD,oCAAoC;qBAC/B,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7D,OAAO,GAAG,OAAO,CAAC,IAAI,uBAAU,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;gBAC3E,CAAC;qBACI,CAAC;oBACJ,OAAO,GAAG,OAAO,CAAC,IAAI,qBAAS,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;gBAC1E,CAAC;YACH,CAAC;iBACI,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;gBAC/B,OAAO,GAAG,OAAO,CAAC,IAAI,uBAAU,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;YAC5D,CAAC;iBACI,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC1B,OAAO,GAAG,OAAO,CAAC,IAAI,iBAAO,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;YACzD,CAAC;YAED,IAAI,IAAI,IAAI,OAAO,IAAI,QAAQ,KAAK,OAAO,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACnE,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,CAAA;gBACb,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAA;gBACxB,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAA;gBACxB,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;YACtE,CAAC;YACD,kBAAkB;YAElB,CAAC,CAAC,IAAI,GAAG,OAAO,CAAA;YAEhB,OAAO,SAAS,CAAA;QAClB,CAAC,CAAC;aAED,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAA;QAExD,OAAO,EAAE,CAAA;IACX,CAAC,CAAC,CAAA;IAGF,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAY,EAAE,EAAE;QAClC,EAAE;aACC,IAAI,CAAC;YACJ,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE;YAE7C,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,yCAAyC,EAAE;SACnF,CAAC;aAED,EAAE,CAAC,CAAC,CAAO,EAAE,GAAkB,EAAE,EAAE;YAClC,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,IAAI,EAAE,CAAA;YAElD,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAA;YAEf,gEAAgE;YAChE,4DAA4D;YAC5D,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBACnB,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;oBACtC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,iBAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;gBACrD,CAAC;YACH,CAAC;YAED,iDAAiD;YACjD,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAChB,IAAI,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAA;gBACnB,OAAO,GAAG,CAAC,QAAQ,CAAA;gBAEnB,uBAAuB;gBACvB,IAAI,IAAI,GAAG,IAAI,eAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;gBACnC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;gBAEhC,CAAC,CAAC,IAAI;oBACJ,OAAO,CAAC,IAAI,yBAAW,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;YACrE,CAAC;iBACI,CAAC;gBACJ,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,eAAM,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;gBACjD,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;YACpC,CAAC;YAED,OAAO,SAAS,CAAA;QAClB,CAAC,CAAC;aAED,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAA;QAExD,OAAO,EAAE,CAAA;IACX,CAAC,CAAC,CAAA;IAIF,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAY,EAAE,EAAE;QACnC,EAAE;YACA,yDAAyD;aAExD,EAAE,CAAC,CAAC,CAAO,EAAE,GAAkB,EAAE,EAAE;YAClC,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,IAAI,EAAE,CAAA;YAElD,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAA;YAEf,4DAA4D;YAC5D,qDAAqD;YACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClB,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,iBAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;gBACrD,CAAC;YACH,CAAC;YAED,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAChB,IAAI,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,CAAA;gBACjB,OAAQ,GAAW,CAAC,QAAQ,CAAA;gBAE5B,uBAAuB;gBACvB,IAAI,IAAI,GAAG,IAAI,iBAAO,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;gBACpC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;gBAEhC,CAAC,CAAC,IAAI;oBACJ,OAAO,CAAC,IAAI,yBAAW,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;YACrE,CAAC;iBACI,CAAC;gBACJ,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,iBAAO,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;gBAClD,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;YACpC,CAAC;YAED,OAAO,SAAS,CAAA;QAClB,CAAC,CAAC,CAAA;QAEJ,yDAAyD;QAEzD,OAAO,EAAE,CAAA;IACX,CAAC,CAAC,CAAA;IAGF,mCAAmC;IACnC,6CAA6C;IAC7C,MAAM,OAAO,GAAG,CAAC,CAAO,EAAE,EAAE;QAC1B,kEAAkE;QAClE,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,CAAA;QACtB,MAAM,GAAG,GACP,EAAE,KAAK,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,SAAS,CAAC,GAAG;YAC1C,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW;YAC3B,CAAC,CAAC,SAAS,CAAC,GAAG,CAAA,CAAC,gCAAgC;QAEpD,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAA;IACf,CAAC,CAAA;IAGD,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAY,EAAE,EAAE;QACnC,EAAE;aACC,IAAI,CAAC;YACJ;gBACE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK;gBACrB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;gBACnB,CAAC,EAAE,QAAQ;aACZ;YAED;gBACE,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE;gBAC7D,CAAC,EAAE,oBAAoB;aACxB;YAED;gBACE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;gBACX,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc;gBACjC,CAAC,EAAE,KAAK;gBACR,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjB,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;oBACP,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;oBACf,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAA;oBAEtB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAA;oBACvE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;gBACnD,CAAC;gBACD,CAAC,EAAE,qBAAqB;aACzB;SACF,CAAC;YAEF,qEAAqE;aACpE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;YACR,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC1B,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;gBACnC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAA;YACrB,CAAC;QACH,CAAC,CAAC;aAED,EAAE,CAAC,CAAC,IAAU,EAAE,EAAE;YACjB,+BAA+B;YAE/B,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBAClB,IAAI,CAAC,IAAI,CAAC,aAAM,CAAC;oBACf,CAAC,IAAI,CAAC,IAAI,CAAC,aAAM,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;gBAElD,IAAI,CAAC,IAAI,CAAC,aAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC3C,CAAC;YAED,OAAO,SAAS,CAAA;QAClB,CAAC,CAAC;aAED,KAAK,CAAC;YACL,+DAA+D;YAC/D,gEAAgE;YAChE,2DAA2D;YAC3D,gEAAgE;YAChE,uDAAuD;YACvD,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,kBAAkB,EAAE;YACrG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,kBAAkB,EAAE;SAC7C,CAAC,CAAA;QAGJ,OAAO,EAAE,CAAA;IACX,CAAC,CAAC,CAAA;IAGF,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAY,EAAE,EAAE;QACnC,EAAE;aACC,IAAI,CAAC;YACJ;gBACE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;gBACX,CAAC,EAAE,KAAK;gBACR,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;gBACrB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC3C,CAAC,EAAE,QAAQ;aACZ;YAED;gBACE,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE;gBAC7D,CAAC,EAAE,yBAAyB;aAC7B;YAED;gBACE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;gBACX,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc;gBACjC,CAAC,EAAE,KAAK;gBACR,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;gBACvD,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;oBACP,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;oBACf,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAA;oBAEtB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAA;oBACvE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;gBACnD,CAAC;gBACD,CAAC,EAAE,qBAAqB;aACzB;SACF,CAAC;aAGD,EAAE,CAAC,CAAC,IAAU,EAAE,EAAE;YACjB,+BAA+B;YAE/B,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBAClB,IAAI,CAAC,IAAI,CAAC,aAAM,CAAC;oBACf,CAAC,IAAI,CAAC,IAAI,CAAC,aAAM,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;gBAClD,IAAI,CAAC,IAAI,CAAC,aAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC3C,CAAC;YAED,OAAO,SAAS,CAAA;QAClB,CAAC,CAAC;aAED,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAA;QAEnE,OAAO,EAAE,CAAA;IACX,CAAC,CAAC,CAAA;AAEJ,CAAC,CAAA;AAID,wEAAwE;AACxE,qEAAqE;AACrE,yEAAyE;AACzE,qEAAqE;AACrE,kEAAkE;AAClE,uEAAuE;AACvE,0EAA0E;AAC1E,SAAS,iBAAiB,CAAC,OAAY;IACrC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAA;IAE7C,IAAI,WAAW,GAAG,IAAA,qBAAe,EAAC;QAChC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;KACjC,CAAC,CAAA;IAEF,kDAAkD;IAClD,IAAI,YAAY,GAAG,IAAA,uBAAgB,EAAC,CAAC,IAAS,EAAE,EAAE;QAChD,OAAO,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAA;IACpD,CAAC,CAAC,CAAA;IAEF,IAAI,WAAW,GAAG,IAAA,qBAAe,EAAC;QAChC,OAAO,EAAE,UAAU;QACnB,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;KACjC,CAAC,CAAA;IAEF,OAAO,SAAS,aAAa,CAC3B,IAAS,EACT,KAAU,EACV,IAAU,EACV,GAAkB,EAClB,MAAc;QAGd,IAAI,IAAI,GAAG,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAA;QAEtD,iEAAiE;QACjE,6DAA6D;QAC7D,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;QAC9D,CAAC;QAED,IAAI,MAAM,GAAQ,EAAE,CAAA;QACpB,IAAI,GAAG,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;QACrD,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;QACf,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACd,OAAO,GAAG,CAAA;QACZ,CAAC;QAED,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAElC,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;QAClD,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;QACf,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACd,OAAO,GAAG,CAAA;QACZ,CAAC;QAED,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAElC,GAAG,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;QACjD,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;QACf,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACd,OAAO,GAAG,CAAA;QACZ,CAAC;QAED,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACtC,OAAO,GAAG,CAAA;IACZ,CAAC,CAAA;AACH,CAAC;AAGD,uEAAuE;AACvE,wEAAwE;AACxE,oEAAoE;AACpE,iEAAiE;AACjE,YAAY;AACZ,SAAS,QAAQ,CAAC,CAAM;IACtB,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;QACd,OAAO,IAAI,iBAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;IACnC,CAAC;IACD,IAAI,IAAI,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,iBAAO,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC9C,CAAC;IACD,MAAM,CAAC,GAAG,OAAO,CAAC,CAAA;IAClB,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,IAAI,qBAAS,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;IAClC,CAAC;IACD,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,uBAAU,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,qBAAS,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;IAC1D,CAAC;IACD,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,IAAI,uBAAU,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;IACnC,CAAC;IACD,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,kEAAkE;QAClE,+DAA+D;QAC/D,mDAAmD;QACnD,IAAI,SAAS,KAAM,CAAS,CAAC,OAAO,EAAE,CAAC;YACrC,OAAO,IAAI,eAAM,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,CAAC,CAAA;QAC7C,CAAC;QACD,MAAM,GAAG,GAAwB,EAAE,CAAA;QACnC,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAClB,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACzB,CAAC;QACD,OAAO,IAAI,eAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IAC5B,CAAC;IACD,OAAO,IAAI,eAAM,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,CAAC,CAAA;AAC7C,CAAC;AAGD,MAAM,IAAI;IAMR,YAAY,OAA+B;QACzC,kCAAkC;QAElC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAA,mBAAY,GAAE,EAAE,OAAO,CAAiB,CAAA;QAElE,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAElD,IAAI,CAAC,MAAM,GAAG,eAAM,CAAC,IAAI,EAAE,CAAA;QAE3B,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAK,CAAC,EAAE;gBAC/B,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;aACvB,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,CAAC,MAAM;aACR,GAAG,CAAC,QAAQ,CAAC,yBAAW,CAAC,EAAE;YAC1B,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,aAAa;YAC5C,gEAAgE;YAChE,6DAA6D;YAC7D,6DAA6D;YAC7D,yDAAyD;YACzD,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;YAC5B,SAAS,EAAE;gBACT,KAAK,EAAE,QAAQ;gBACf,GAAG,EAAE,QAAQ;aACd;SACF,CAAC;aACD,GAAG,CAAC,WAAW,CAAC,CAAA;IACrB,CAAC;IAGD,KAAK,CAAC,GAAW,EAAE,IAA4B;QAC7C,kCAAkC;QAElC,6BAA6B;QAC7B,IAAI,EAAE,GAAQ;YACZ,EAAE,EAAE,IAAI,EAAE,EAAE;YACZ,QAAQ,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI;YACtC,WAAW,EAAE;gBACX,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI;gBAClC,IAAI,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS;aACvC;SACF,CAAA;QAED,IAAI,IAAI,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC7B,CAAC;QAED,sCAAsC;QACtC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3D,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QACnB,CAAC;QAED,cAAc;QAEd,IAAI,GAAQ,CAAA;QAEZ,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;YAE1B,iEAAiE;YACjE,mEAAmE;YACnE,kEAAkE;YAClE,wDAAwD;YACxD,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,KAAM,GAAW,CAAC,KAAK,EAAE,CAAC;gBAC/C,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;YACrB,CAAC;QACH,CAAC;QACD,OAAO,CAAM,EAAE,CAAC;YACd,IAAI,CAAC,YAAY,oBAAW,IAAI,aAAa,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;gBACrE,GAAG,GAAG,IAAI,eAAM,CAAC;oBACf,GAAG,EAAE,OAAO;oBACZ,GAAG,EAAE,IAAI,eAAM,CAAC;wBACd,GAAG,EAAE,QAAQ;wBACb,GAAG,EAAE,CAAC,CAAC,OAAO;wBACd,GAAG,EAAE,CAAC;qBACP,CAAC;iBACH,CAAC,CAAA;YACJ,CAAC;iBACI,CAAC;gBACJ,MAAM,CAAC,CAAA;YACT,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAA;IACZ,CAAC;CACF;QAGC,IAAI"}
1
+ {"version":3,"file":"lang.js","sourceRoot":"","sources":["../src/lang.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- #!/usr/bin/env node
2
1
  import { LspHandler } from './lsp';
3
2
  declare class FrameCodec {
4
3
  private handler;
@@ -11,4 +10,5 @@ declare class FrameCodec {
11
10
  private drain;
12
11
  private send;
13
12
  }
14
- export { FrameCodec, };
13
+ declare function main(stdin?: NodeJS.ReadableStream, write?: (chunk: Buffer) => void, exit?: (code: number) => void): FrameCodec;
14
+ export { FrameCodec, main, };
@@ -1,8 +1,8 @@
1
- #!/usr/bin/env node
2
1
  "use strict";
3
2
  /* Copyright (c) 2025 Richard Rodger, MIT License */
4
3
  Object.defineProperty(exports, "__esModule", { value: true });
5
4
  exports.FrameCodec = void 0;
5
+ exports.main = main;
6
6
  // Aontu Language Server (stdio).
7
7
  //
8
8
  // aontu-lsp
@@ -74,14 +74,14 @@ class FrameCodec {
74
74
  }
75
75
  }
76
76
  exports.FrameCodec = FrameCodec;
77
- function main() {
77
+ // The streams and exit are injectable (defaulting to real stdio) so the
78
+ // full wiring is unit-testable — the same shape as the Go server's
79
+ // serve(in, out, logw).
80
+ function main(stdin = process.stdin, write = (chunk) => void process.stdout.write(chunk), exit = (code) => process.exit(code)) {
78
81
  const handler = new lsp_1.LspHandler();
79
- const codec = new FrameCodec(handler, (chunk) => process.stdout.write(chunk), (code) => process.exit(code));
80
- process.stdin.on('data', (chunk) => codec.push(chunk));
81
- process.stdin.on('end', () => codec.end());
82
- }
83
- // Only auto-run when invoked as a program, not when imported by tests.
84
- if (require.main === module) {
85
- main();
86
- }
82
+ const codec = new FrameCodec(handler, write, exit);
83
+ stdin.on('data', (chunk) => codec.push(chunk));
84
+ stdin.on('end', () => codec.end());
85
+ return codec;
86
+ } /* node:coverage ignore next 11 */
87
87
  //# sourceMappingURL=lsp-server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lsp-server.js","sourceRoot":"","sources":["../src/lsp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lsp-server.js","sourceRoot":"","sources":["../src/lsp-server.ts"],"names":[],"mappings":"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"}