@trazum/core 1.80.1 → 1.82.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 (70) hide show
  1. package/README.md +34 -18
  2. package/dist/advisories.d.ts +33 -1
  3. package/dist/advisories.d.ts.map +1 -1
  4. package/dist/advisories.js +103 -16
  5. package/dist/advisories.js.map +1 -1
  6. package/dist/band.d.ts +131 -0
  7. package/dist/band.d.ts.map +1 -0
  8. package/dist/band.js +210 -0
  9. package/dist/band.js.map +1 -0
  10. package/dist/claude-code.d.ts +28 -0
  11. package/dist/claude-code.d.ts.map +1 -1
  12. package/dist/claude-code.js +25 -1
  13. package/dist/claude-code.js.map +1 -1
  14. package/dist/conform.d.ts +1 -1
  15. package/dist/conform.d.ts.map +1 -1
  16. package/dist/conform.js +84 -1
  17. package/dist/conform.js.map +1 -1
  18. package/dist/helicone.d.ts +92 -0
  19. package/dist/helicone.d.ts.map +1 -0
  20. package/dist/helicone.js +194 -0
  21. package/dist/helicone.js.map +1 -0
  22. package/dist/i18n/en.d.ts.map +1 -1
  23. package/dist/i18n/en.js +26 -20
  24. package/dist/i18n/en.js.map +1 -1
  25. package/dist/i18n/es.d.ts.map +1 -1
  26. package/dist/i18n/es.js +9 -3
  27. package/dist/i18n/es.js.map +1 -1
  28. package/dist/i18n/types.d.ts +43 -1
  29. package/dist/i18n/types.d.ts.map +1 -1
  30. package/dist/index.d.ts +10 -1
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +5 -1
  33. package/dist/index.js.map +1 -1
  34. package/dist/litellm.d.ts +98 -0
  35. package/dist/litellm.d.ts.map +1 -0
  36. package/dist/litellm.js +207 -0
  37. package/dist/litellm.js.map +1 -0
  38. package/dist/measured-profile.d.ts +4 -0
  39. package/dist/measured-profile.d.ts.map +1 -1
  40. package/dist/measured-profile.js +22 -1
  41. package/dist/measured-profile.js.map +1 -1
  42. package/dist/schemas.d.ts.map +1 -1
  43. package/dist/schemas.js +36 -0
  44. package/dist/schemas.js.map +1 -1
  45. package/dist/tokenizer.d.ts +45 -49
  46. package/dist/tokenizer.d.ts.map +1 -1
  47. package/dist/tokenizer.js +100 -51
  48. package/dist/tokenizer.js.map +1 -1
  49. package/dist/types.d.ts +1 -1
  50. package/dist/types.d.ts.map +1 -1
  51. package/dist/verdict-bridge.d.ts +113 -0
  52. package/dist/verdict-bridge.d.ts.map +1 -0
  53. package/dist/verdict-bridge.js +127 -0
  54. package/dist/verdict-bridge.js.map +1 -0
  55. package/package.json +1 -1
  56. package/src/advisories.ts +132 -15
  57. package/src/band.ts +213 -0
  58. package/src/claude-code.ts +53 -1
  59. package/src/conform.ts +100 -1
  60. package/src/helicone.ts +227 -0
  61. package/src/i18n/en.ts +27 -20
  62. package/src/i18n/es.ts +10 -3
  63. package/src/i18n/types.ts +45 -1
  64. package/src/index.ts +17 -1
  65. package/src/litellm.ts +243 -0
  66. package/src/measured-profile.ts +26 -2
  67. package/src/schemas.ts +36 -0
  68. package/src/tokenizer.ts +101 -51
  69. package/src/types.ts +1 -0
  70. package/src/verdict-bridge.ts +200 -0
package/dist/band.js ADDED
@@ -0,0 +1,210 @@
1
+ /**
2
+ * The error band Trazum is entitled to print about a given piece of text.
3
+ *
4
+ * ## Why this exists
5
+ *
6
+ * For a long time every report said `±10%`, everywhere, about everything. That
7
+ * number came from a corpus of twenty-one samples that held **thirteen files of
8
+ * Latin prose and exactly one each of code, numeric and punctuation** — and
9
+ * those single files were the set the estimator's constants had been fitted to.
10
+ * So the published band was not a measurement of the estimator. It was a
11
+ * measurement of its own training set.
12
+ *
13
+ * Seven ordinary samples in the thin classes broke it. Measured against
14
+ * Anthropic's counting endpoint, the same estimator that is 4.6% out on prose
15
+ * is **24.9% out on a SQL migration** and **32.5% out on a CSV ledger**. Telling
16
+ * somebody `±10%` about their ledger was telling them a number that is wrong
17
+ * about their prompt specifically.
18
+ *
19
+ * ## Why it does not name a text type
20
+ *
21
+ * The obvious design is a classifier — prose, code, few-shot, punctuation — and
22
+ * a band per class. The corpus says it cannot be built. Measured by character
23
+ * mix, code and punctuation **overlap completely**: `code-sql` is 7.7% symbols
24
+ * and `code-heavy` 15.6%, while `punctuation-markup` is 17.5% and
25
+ * `punctuation-heavy` 29.7%. Two of the three few-shot samples are
26
+ * indistinguishable from prose. A classifier over those would be a guess
27
+ * wearing a measurement's name, and it would hand out the wrong band precisely
28
+ * where the band matters most.
29
+ *
30
+ * So this does not classify. It sorts text into the **buckets the evidence
31
+ * actually separates**, and where two classes overlap it gives the worse of
32
+ * their bands. An overstated uncertainty costs a reader some confidence; an
33
+ * understated one tells them a wrong number and lets them act on it.
34
+ *
35
+ * ## What holds it
36
+ *
37
+ * `token-band.test.js` runs every corpus sample through `bandFor` and requires
38
+ * the sample's own measured error to be inside the band it was given. That is
39
+ * the whole promise, and it cannot be satisfied by tuning the thresholds: a
40
+ * sample sorted into a friendlier bucket gets a smaller band and fails.
41
+ *
42
+ * The figures below are derived from the fixture by the same test, which fails
43
+ * when they drift. They are written here rather than imported because this file
44
+ * ships and the fixture does not.
45
+ */
46
+ /**
47
+ * The buckets, worst measured error first.
48
+ *
49
+ * Every number is `Math.ceil` of the worst sample in that bucket, from
50
+ * `test/fixtures/token-ground-truth.json` — Anthropic's, because that is the
51
+ * tokenizer this estimator was built for and the only one whose fixture governs
52
+ * a published claim. A DeepSeek or Mistral prompt is further out still, and
53
+ * `providerBandCaveat` is what says so.
54
+ */
55
+ export const BANDS = {
56
+ /** Digit-dominant: ledgers, tables, exports. The worst the estimator does. */
57
+ numeric: 33,
58
+ /** Symbol-rich: code, markup, anything a merge table covers badly. */
59
+ symbolic: 26,
60
+ /**
61
+ * CJK, all three scripts.
62
+ *
63
+ * Was 10 and is 4, and the difference is the second Korean sample rather than
64
+ * anything in this file. Hangul had been charged a placeholder that nothing
65
+ * measured; one sample moved it to within ten points and two moved it to
66
+ * within three. The class's worst went from 10.6% to 3.2% and its standard
67
+ * deviation from 4.0 to 1.0.
68
+ */
69
+ cjk: 4,
70
+ /**
71
+ * Latin prose and few-shot blocks made of it. What most prompts are.
72
+ *
73
+ * Widened from 5 by `numeric-matrix`, a confusion matrix whose class labels
74
+ * make letters the dominant class: composition put it here, its error came
75
+ * out at 5.6%, and the band follows the measurement rather than the other way
76
+ * round. Eighteen samples, deviation 1.4 points.
77
+ */
78
+ prose: 6,
79
+ };
80
+ /**
81
+ * Where the thresholds come from.
82
+ *
83
+ * Each is the widest gap the corpus offers between the bucket it admits and
84
+ * everything below it, so none of them is a round number somebody liked:
85
+ *
86
+ * - `cjk` at 0.5: the CJK samples are 90.1% to 94.5% CJK and every other sample
87
+ * is 0.0%. Nothing in the corpus lies between.
88
+ * - `numeric` at 0.30: the two numeric samples are 47.7% and 49.7% digits; the
89
+ * next highest anywhere is `few-shot-extraction` at 15.3%.
90
+ * - `symbolic` at 0.07: this one is thin and is stated as thin. `code-sql` is
91
+ * 7.7% symbols and `portuguese-prose` is 6.1%, so 1.6 points of margin decide
92
+ * it. Thin in the safe direction: a prose sample that crosses it is given the
93
+ * symbolic band, which is wider than it needs, and no sample is given a band
94
+ * narrower than its own error.
95
+ */
96
+ const CJK_SHARE = 0.5;
97
+ const DIGIT_SHARE = 0.3;
98
+ const SYMBOL_SHARE = 0.07;
99
+ /*
100
+ Written as escapes rather than as the characters themselves, and CodeQL is
101
+ why. The last range was typed as a pair of literal ideographs meaning
102
+ "compatibility ideographs, U+F900 to U+FAFF" — and the opening character was
103
+ U+8C48, the ordinary unified ideograph that shares the glyph, not the
104
+ compatibility one. So the range ran from U+8C48 to U+FAFF and swallowed the
105
+ Yi syllables, the private-use area and both surrogate halves, which meant a
106
+ page of astral emoji was sorted `cjk` and handed the narrowest band in the
107
+ file: ±4% about text nothing has ever measured.
108
+
109
+ A literal that looks right and is not is the failure mode this release exists
110
+ to fix, so the ranges are numbers now and the test below plants one character
111
+ from each block that used to be caught.
112
+ */
113
+ const CJK = /[\u3040-\u30ff\u3400-\u4dbf\u4e00-\u9fff\uac00-\ud7af\uf900-\ufaff]/;
114
+ const LETTER = /[A-Za-zÀ-ɏͰ-ϿЀ-ӿ]/;
115
+ const DIGIT = /[0-9]/;
116
+ /** The bucket a piece of text falls in, by the composition the corpus separates on. */
117
+ export function bucketFor(text) {
118
+ const chars = [...text].filter((ch) => !/\s/.test(ch));
119
+ if (chars.length === 0)
120
+ return 'prose';
121
+ let cjk = 0;
122
+ let digits = 0;
123
+ let letters = 0;
124
+ for (const ch of chars) {
125
+ if (CJK.test(ch))
126
+ cjk += 1;
127
+ else if (DIGIT.test(ch))
128
+ digits += 1;
129
+ else if (LETTER.test(ch))
130
+ letters += 1;
131
+ }
132
+ const n = chars.length;
133
+ const symbols = n - cjk - digits - letters;
134
+ /*
135
+ Order is the design. CJK first because it is the one bucket with no overlap
136
+ at all, then digits, then symbols — each test only runs on text the previous
137
+ one declined, so a Korean prompt with quotation marks is CJK and not
138
+ symbolic. Reversing any two would let a wide bucket swallow a narrow one and
139
+ hand out a band nobody measured.
140
+ */
141
+ if (cjk / n >= CJK_SHARE)
142
+ return 'cjk';
143
+ if (digits / n >= DIGIT_SHARE)
144
+ return 'numeric';
145
+ if (symbols / n >= SYMBOL_SHARE)
146
+ return 'symbolic';
147
+ return 'prose';
148
+ }
149
+ /**
150
+ * The band, as a percentage, that may be printed about this text.
151
+ *
152
+ * Never a single number for all text again. A caller that wants one figure for
153
+ * a mixed report should take the widest band across the texts it covers, not an
154
+ * average: averaging two uncertainties produces a third that describes neither.
155
+ */
156
+ export function bandFor(text) {
157
+ return BANDS[bucketFor(text)];
158
+ }
159
+ /**
160
+ * Whether the published band applies to a model at all.
161
+ *
162
+ * It does not, and this is the sentence that has been missing. The estimator is
163
+ * calibrated on Claude's tokenizer, and the same 47 samples measured against
164
+ * DeepSeek's own counter came out **94.5% wrong** at worst and against
165
+ * Mistral's **103.1%**. Trazum prices seven providers; the band is one
166
+ * provider's.
167
+ *
168
+ * Returns null when the model is one the band was measured on, and the provider
169
+ * id otherwise, so a caller can say which foreign tokenizer it is estimating
170
+ * against rather than printing a figure that belongs to a different one.
171
+ */
172
+ export function foreignTokenizer(provider) {
173
+ return provider === null || provider === 'anthropic' ? null : provider;
174
+ }
175
+ /**
176
+ * The worst error measured against a provider's own tokenizer, where anybody
177
+ * has run it.
178
+ *
179
+ * Two entries, and the emptiness of the rest is the point. `foreignTokenizer`
180
+ * could always say *this is not Claude*; what it could not say is how far off.
181
+ * A hedge with no figure reads as a formality, and a reader discounts it — so
182
+ * where the corpus has been run against the family's own counter, the report
183
+ * says the number, and where it has not, it says nobody has measured rather
184
+ * than borrowing one of these.
185
+ *
186
+ * Every value is the worst of the 47 samples in
187
+ * `test/fixtures/token-ground-truth.<provider>.json`, and
188
+ * `token-band.test.js` recomputes both from the fixtures and fails on drift.
189
+ * Written here rather than imported because this file ships and the fixtures
190
+ * do not.
191
+ */
192
+ export const MEASURED_FOREIGN_ERROR_PCT = {
193
+ /** Worst on `cjk-chinese`: the estimator's CJK charge is Claude's, not this one's. */
194
+ deepseek: 94.5,
195
+ /** Worst on `german-technical`, where even Latin prose is more than twice out. */
196
+ mistral: 103.1,
197
+ };
198
+ /**
199
+ * How far out the estimator has been measured against this provider, or null.
200
+ *
201
+ * Null means unmeasured, never zero: a family nobody has run is an open
202
+ * question, and answering it with a number would be the exact fault this whole
203
+ * file exists to undo.
204
+ */
205
+ export function measuredForeignError(provider) {
206
+ if (provider === null)
207
+ return null;
208
+ return MEASURED_FOREIGN_ERROR_PCT[provider] ?? null;
209
+ }
210
+ //# sourceMappingURL=band.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"band.js","sourceRoot":"","sources":["../src/band.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,8EAA8E;IAC9E,OAAO,EAAE,EAAE;IACX,sEAAsE;IACtE,QAAQ,EAAE,EAAE;IACZ;;;;;;;;OAQG;IACH,GAAG,EAAE,CAAC;IACN;;;;;;;OAOG;IACH,KAAK,EAAE,CAAC;CACA,CAAC;AAIX;;;;;;;;;;;;;;;GAeG;AACH,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,WAAW,GAAG,GAAG,CAAC;AACxB,MAAM,YAAY,GAAG,IAAI,CAAC;AAE1B;;;;;;;;;;;;;EAaE;AACF,MAAM,GAAG,GAAG,qEAAqE,CAAC;AAClF,MAAM,MAAM,GAAG,mBAAmB,CAAC;AACnC,MAAM,KAAK,GAAG,OAAO,CAAC;AAEtB,uFAAuF;AACvF,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAEvC,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,GAAG,IAAI,CAAC,CAAC;aACtB,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,CAAC,CAAC;aAChC,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IACvB,MAAM,OAAO,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,GAAG,OAAO,CAAC;IAE3C;;;;;;MAME;IACF,IAAI,GAAG,GAAG,CAAC,IAAI,SAAS;QAAE,OAAO,KAAK,CAAC;IACvC,IAAI,MAAM,GAAG,CAAC,IAAI,WAAW;QAAE,OAAO,SAAS,CAAC;IAChD,IAAI,OAAO,GAAG,CAAC,IAAI,YAAY;QAAE,OAAO,UAAU,CAAC;IACnD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAuB;IACtD,OAAO,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;AACzE,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAqC;IAC1E,sFAAsF;IACtF,QAAQ,EAAE,IAAI;IACd,kFAAkF;IAClF,OAAO,EAAE,KAAK;CACf,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAuB;IAC1D,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACnC,OAAO,0BAA0B,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;AACtD,CAAC"}
@@ -82,6 +82,34 @@ export interface ClaudeCodeConversion {
82
82
  * are excluded by name and counted here, and the caller says how many.
83
83
  */
84
84
  synthetic: number;
85
+ /**
86
+ * Where a later run may safely pick this transcript up again.
87
+ *
88
+ * A transcript is append-only, so re-reading two hundred megabytes to learn
89
+ * what the last thirty seconds added is waste, and on the largest real
90
+ * session on one machine it is six and a half seconds of waste. The obstacle
91
+ * to resuming is this converter's own rule: **one call arrives as several
92
+ * lines and the last one stands**, so a call whose lines straddle the point
93
+ * where a run stopped would be recorded from its later half only.
94
+ *
95
+ * So the resume point is not the end of what was read. It is the first line
96
+ * of the last call seen, which is the only call that can still gain lines.
97
+ * `records` says how many of `records` above are settled and will never be
98
+ * revised; everything from `line` onwards is re-derived next time, and the
99
+ * caller drops the unsettled tail before appending.
100
+ *
101
+ * Measured on 208 real transcripts, 36,468 lines carrying a `requestId`: a
102
+ * call's lines are contiguous, and no `requestId` ever reappeared after
103
+ * another had begun. The design does not lean on that. It re-derives the
104
+ * final call whether or not it needed re-deriving, because a measurement on
105
+ * one machine is evidence and not a guarantee.
106
+ */
107
+ resume: {
108
+ /** Line index to start from next time, counting every line of the text read. */
109
+ line: number;
110
+ /** How many leading entries of `records` are settled. */
111
+ records: number;
112
+ };
85
113
  }
86
114
  /** Convert one transcript's text. Pure, like every measuring function here. */
87
115
  export declare function claudeCodeRecords(text: string, options?: {
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../src/claude-code.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,yEAAyE;AACzE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,2BAA2B,CAAC,EAAE,MAAM,CAAC;QACrC,cAAc,CAAC,EAAE;YAAE,yBAAyB,CAAC,EAAE,MAAM,CAAC;YAAC,yBAAyB,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAC7F,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,WAAW,EAAE,MAAM,CAAC;IACpB,iFAAiF;IACjF,UAAU,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;;;;;;OAOG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB;AAaD,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/B,oBAAoB,CAwHtB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,OAAO,CAkBhF"}
1
+ {"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../src/claude-code.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,yEAAyE;AACzE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,2BAA2B,CAAC,EAAE,MAAM,CAAC;QACrC,cAAc,CAAC,EAAE;YAAE,yBAAyB,CAAC,EAAE,MAAM,CAAC;YAAC,yBAAyB,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAC7F,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,WAAW,EAAE,MAAM,CAAC;IACpB,iFAAiF;IACjF,UAAU,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;;;;;;OAOG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,EAAE;QACN,gFAAgF;QAChF,IAAI,EAAE,MAAM,CAAC;QACb,yDAAyD;QACzD,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAaD,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/B,oBAAoB,CAgJtB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,OAAO,CAkBhF"}
@@ -40,12 +40,15 @@ export function claudeCodeRecords(text, options = {}) {
40
40
  streamed: 0,
41
41
  disagreements: 0,
42
42
  synthetic: 0,
43
+ resume: { line: 0, records: 0 },
43
44
  };
44
45
  /** requestId → index into out.records, so a later line can replace the usage. */
45
46
  const byRequest = new Map();
46
47
  /** requestId → the usage currently standing, to classify a change when one arrives. */
47
48
  const seenUsage = new Map();
48
- for (const line of text.split('\n')) {
49
+ const lines = text.split('\n');
50
+ for (let index = 0; index < lines.length; index += 1) {
51
+ const line = lines[index];
49
52
  if (line.trim() === '')
50
53
  continue;
51
54
  let raw;
@@ -116,14 +119,20 @@ export function claudeCodeRecords(text, options = {}) {
116
119
  };
117
120
  const requestId = typeof entry.requestId === 'string' ? entry.requestId : null;
118
121
  if (requestId === null) {
122
+ // Nothing keys this line, so nothing can ever revise it: it is settled
123
+ // the moment it is read, and the resume point moves past it.
119
124
  out.noRequestId += 1;
120
125
  out.records.push(record);
126
+ out.resume = { line: index + 1, records: out.records.length };
121
127
  continue;
122
128
  }
123
129
  const standing = byRequest.get(requestId);
124
130
  if (standing === undefined) {
131
+ // A call begins. Everything before it is settled; this call is not,
132
+ // because the next line of the transcript may still revise it.
125
133
  byRequest.set(requestId, out.records.length);
126
134
  seenUsage.set(requestId, record.usage);
135
+ out.resume = { line: index, records: out.records.length };
127
136
  out.records.push(record);
128
137
  continue;
129
138
  }
@@ -148,6 +157,21 @@ export function claudeCodeRecords(text, options = {}) {
148
157
  }
149
158
  out.records[standing] = { ...record };
150
159
  }
160
+ /**
161
+ * Nothing carrying usage was found, so everything read is settled and the
162
+ * resume point is the end of it.
163
+ *
164
+ * With one exception, and it is the one that would lose a record rather than
165
+ * merely re-derive one: a transcript being appended to can be read mid-line,
166
+ * and that half-line parses as nothing. Resuming past it would drop the call
167
+ * it becomes. So when the text does not end in a newline, the resume point
168
+ * never passes the start of its final line.
169
+ */
170
+ if (out.records.length === 0)
171
+ out.resume = { line: lines.length, records: 0 };
172
+ if (text !== '' && !text.endsWith('\n')) {
173
+ out.resume = { ...out.resume, line: Math.min(out.resume.line, lines.length - 1) };
174
+ }
151
175
  return out;
152
176
  }
153
177
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../src/claude-code.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AA8DH,uEAAuE;AACvE,MAAM,eAAe,GAAG,aAAa,CAAC;AAEtC,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAkC,EAAE,CAClE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;IAClE,CAAC,CAAE,KAAiC;IACpC,CAAC,CAAC,IAAI,CAAC;AAEX,MAAM,OAAO,GAAG,CAAC,KAAc,EAAsB,EAAE,CACrD,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAExF,+EAA+E;AAC/E,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,OAAO,GAAuB,EAAE;IAEhC,MAAM,GAAG,GAAyB;QAChC,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,CAAC;QACd,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,CAAC;QACd,qBAAqB,EAAE,CAAC;QACxB,QAAQ,EAAE,CAAC;QACX,aAAa,EAAE,CAAC;QAChB,SAAS,EAAE,CAAC;KACb,CAAC;IACF,iFAAiF;IACjF,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,uFAAuF;IACvF,MAAM,SAAS,GAAG,IAAI,GAAG,EAAqC,CAAC;IAE/D,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,SAAS;QACjC,IAAI,GAAY,CAAC;QACjB,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACjD,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC;YACpB,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChE,MAAM,KAAK,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QAC3D,MAAM,UAAU,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;QACtE,MAAM,KAAK,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACzE,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/F,GAAG,CAAC,qBAAqB,IAAI,CAAC,CAAC;YAC/B,SAAS;QACX,CAAC;QACD;;;;;;;;WAQG;QACH,IAAI,KAAK,KAAK,eAAe,EAAE,CAAC;YAC9B,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC;YACnB,SAAS;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAChD,MAAM,MAAM,GAAqB;YAC/B,KAAK;YACL,EAAE,EAAE,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YAC9D,OAAO,EAAE,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YACnE,GAAG,CAAC,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3F,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,KAAK,EAAE;gBACL,YAAY,EAAE,KAAK;gBACnB,aAAa,EAAE,MAAM;gBACrB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,KAAK,SAAS;oBACtD,CAAC,CAAC,EAAE,uBAAuB,EAAE,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE;oBACrE,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,KAAK,SAAS;oBAC1D,CAAC,CAAC,EAAE,2BAA2B,EAAE,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAAE;oBAC7E,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,QAAQ,KAAK,IAAI;oBACnB,CAAC,CAAC;wBACE,cAAc,EAAE;4BACd,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,KAAK,SAAS;gCAC3D,CAAC,CAAC,EAAE,yBAAyB,EAAE,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE;gCAC5E,CAAC,CAAC,EAAE,CAAC;4BACP,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,KAAK,SAAS;gCAC3D,CAAC,CAAC,EAAE,yBAAyB,EAAE,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE;gCAC5E,CAAC,CAAC,EAAE,CAAC;yBACR;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;aACR;SACF,CAAC;QAEF,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/E,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC;YACrB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7C,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACvC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,SAAS;QACX,CAAC;QACD,mEAAmE;QACnE,iEAAiE;QACjE,sEAAsE;QACtE,sEAAsE;QACtE,qEAAqE;QACrE,sDAAsD;QACtD,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC;QACnB,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;QACzC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5D,MAAM,QAAQ,GACZ,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY;gBAChD,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa;gBAClD,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB,IAAI,CAAC,CAAC;gBACpF,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,2BAA2B,IAAI,CAAC,CAAC,CAAC;YAC/F,IAAI,QAAQ;gBAAE,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC;;gBAC3B,GAAG,CAAC,aAAa,IAAI,CAAC,CAAC;YAC5B,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;QACD,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IACxC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,6BAA6B,CAAC,IAAY,EAAE,KAAK,GAAG,GAAG;IACrE,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,SAAS;QACjC,IAAI,IAAI,IAAI,KAAK;YAAE,MAAM;QACzB,IAAI,IAAI,CAAC,CAAC;QACV,IAAI,GAAY,CAAC;QACjB,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;YAAE,SAAS;QAC3D,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,OAAO,KAAK,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;IACxE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../src/claude-code.ts"],"names":[],"mappings":"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"}
package/dist/conform.d.ts CHANGED
@@ -33,7 +33,7 @@
33
33
  * two contracts added at 1.50.4 and 1.51.0 existed, had rules, and could not be
34
34
  * named. One home per fact, and this is the home.
35
35
  */
36
- export declare const CONTRACT_NAMES: readonly ['usage-log', 'profile', 'fleet', 'plan', 'verification', 'history', 'connected', 'cost-answer', 'spend-guard', 'outcome-report', 'annual-record', 'roll-up', 'first-run', 'pulse', 'rule-yield', 'gateway-refusal', 'bench', 'prompt-draft', 'position'];
36
+ export declare const CONTRACT_NAMES: readonly ['usage-log', 'profile', 'fleet', 'plan', 'verification', 'history', 'connected', 'cost-answer', 'spend-guard', 'outcome-report', 'annual-record', 'roll-up', 'first-run', 'pulse', 'rule-yield', 'gateway-refusal', 'bench', 'prompt-draft', 'position', 'routing-measurement', 'example-pruning', 'store-inventory', 'conformance', 'watch-cycle'];
37
37
  export type ContractName = (typeof CONTRACT_NAMES)[number];
38
38
  export interface ConformanceProblem {
39
39
  /** Where: `line 12` for a log, or a dotted path inside a document. */
@@ -1 +1 @@
1
- {"version":3,"file":"conform.d.ts","sourceRoot":"","sources":["../src/conform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,YACzB,WAAW,EACX,SAAS,EACT,OAAO,EACP,MAAM,EACN,cAAc,EACd,SAAS,EACT,WAAW,EACX,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,SAAS,EACT,WAAW,EACX,OAAO,EACP,YAAY,EACZ,iBAAiB,EACjB,OAAO,EACP,cAAc,EACd,UAAU,CACF,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,MAAM,WAAW,kBAAkB;IACjC,sEAAsE;IACtE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI;IACF,kCAAkC;IAChC,SAAS;IACX,qDAAqD;OACnD,YAAY;IACd,qEAAqE;OACnE,iBAAiB;IACnB,2DAA2D;OACzD,YAAY,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,sEAAsE;AACtE,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,CAAC,CAAC;IACjB,gEAAgE;IAChE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAC9B;;;;OAIG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAC/B,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAClC,+DAA+D;IAC/D,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB;AA+cD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,EAAE,CAG7D;AAED,MAAM,WAAW,cAAc;IAC7B,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,iBAAiB,CAwIrF"}
1
+ {"version":3,"file":"conform.d.ts","sourceRoot":"","sources":["../src/conform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,YACzB,WAAW,EACX,SAAS,EACT,OAAO,EACP,MAAM,EACN,cAAc,EACd,SAAS,EACT,WAAW,EACX,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,SAAS,EACT,WAAW,EACX,OAAO,EACP,YAAY,EACZ,iBAAiB,EACjB,OAAO,EACP,cAAc,EACd,UAAU,EACV,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,aAAa,CACL,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,MAAM,WAAW,kBAAkB;IACjC,sEAAsE;IACtE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI;IACF,kCAAkC;IAChC,SAAS;IACX,qDAAqD;OACnD,YAAY;IACd,qEAAqE;OACnE,iBAAiB;IACnB,2DAA2D;OACzD,YAAY,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,sEAAsE;AACtE,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,CAAC,CAAC;IACjB,gEAAgE;IAChE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAC9B;;;;OAIG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAC/B,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAClC,+DAA+D;IAC/D,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB;AA6iBD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,EAAE,CAG7D;AAED,MAAM,WAAW,cAAc;IAC7B,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,iBAAiB,CAwIrF"}
package/dist/conform.js CHANGED
@@ -53,6 +53,11 @@ export const CONTRACT_NAMES = [
53
53
  'bench',
54
54
  'prompt-draft',
55
55
  'position',
56
+ 'routing-measurement',
57
+ 'example-pruning',
58
+ 'store-inventory',
59
+ 'conformance',
60
+ 'watch-cycle',
56
61
  ];
57
62
  /** Fields a usage record may carry, and the finding each one buys. */
58
63
  const USAGE_OPTIONAL = [
@@ -313,6 +318,42 @@ const DOCUMENT_RULES = {
313
318
  rule('cannotSay', 'an array of sentences — what is deliberately not answered', isArray),
314
319
  rule('unpricedRecords', 'a count of records the catalogue cannot price', isNumber),
315
320
  ],
321
+ 'routing-measurement': [
322
+ rule('slice', 'the workload object — the calls this measured', isObject),
323
+ rule('evaluation', 'the measurement object — verdict and agreement rates', isObject),
324
+ ],
325
+ 'store-inventory': [
326
+ rule('providers', 'an array — one entry per provider held', isArray),
327
+ rule('totalRecords', 'records the store resolves to', isNumber),
328
+ rule('span', 'an object, or null when the store holds nothing', (v) => v === null || isObject(v)),
329
+ rule('possiblyDouble', 'records the store could not tell apart', isNumber),
330
+ rule('unknownVersion', 'records written by a newer schema', isNumber),
331
+ rule('totalUsd', 'what the held records priced to', isNumber),
332
+ rule('unreadable', 'an array — files the store could not parse', isArray),
333
+ ],
334
+ conformance: [
335
+ rule('contract', 'the contract the input looked like, or null when nothing did', (v) => v === null || typeof v === 'string'),
336
+ rule('because', 'why nothing matched, or null when something did — never a bare refusal', (v) => v === null || typeof v === 'string'),
337
+ rule('records', 'records examined for a log, or null for a single document', (v) => v === null || isNumber(v)),
338
+ rule('problems', 'an array — one entry per fault found', isArray),
339
+ rule('unavailable', 'an array — findings this shape cannot support', isArray),
340
+ rule('conforms', 'a boolean — the verdict', (v) => typeof v === 'boolean'),
341
+ ],
342
+ 'watch-cycle': [
343
+ rule('firedAtMs', 'the instant the cycle ran', isNumber),
344
+ rule('crossings', 'an array — gates over their limit, news this cycle', isArray),
345
+ rule('suppressed', 'an array — still over, already reported', isArray),
346
+ rule('abstentions', 'an array — gates that could not be judged', isArray),
347
+ rule('gap', 'an object, or null when this cycle watched the whole stretch', (v) => v === null || isObject(v)),
348
+ ],
349
+ 'example-pruning': [
350
+ rule('provider', 'the provider the calls went to', (v) => typeof v === 'string'),
351
+ rule('model', 'the model that answered', (v) => typeof v === 'string'),
352
+ rule('selfAgreement', 'the model’s agreement with itself, the yardstick every removal is judged against', isNumber),
353
+ rule('recoverableTokens', 'tokens held by examples whose removal changed nothing measurable', isNumber),
354
+ rule('callsMade', 'calls actually spent', isNumber),
355
+ rule('contributions', 'an array — one entry per example', isArray),
356
+ ],
316
357
  pulse: [
317
358
  rule('beats', 'an array — one per kind', isArray),
318
359
  rule('nowMs', 'the instant the ages were taken against', isNumber),
@@ -454,6 +495,48 @@ function contractOf(doc) {
454
495
  return 'plan';
455
496
  if (typeof doc.verdict === 'string' && 'restsOn' in doc)
456
497
  return 'cost-answer';
498
+ /*
499
+ Two the inference could never reach, found by the guard that demands every
500
+ contract be recognisable from a document of its own shape.
501
+
502
+ The cost answer's branch above tested `restsOn`, which its contract does
503
+ not require: the required set is verdict, call and budget, so a conforming
504
+ answer that omitted the optional field was recognised as nothing at all.
505
+ The prompt draft had no branch of any kind — its schema has been published
506
+ since 1.68 and `trazum conform draft.json` has never known what it was.
507
+ */
508
+ if (typeof doc.verdict === 'string' && 'call' in doc && 'budget' in doc)
509
+ return 'cost-answer';
510
+ if (typeof doc.prompt === 'string' && Array.isArray(doc.sections) && Array.isArray(doc.missing)) {
511
+ return 'prompt-draft';
512
+ }
513
+ /*
514
+ The five the JSON sweep contracted, and the reason they are here.
515
+
516
+ All five arrived with rules, a schema, a row in the interchange table and
517
+ a parity test, and none of them arrived with a branch in this function —
518
+ so `trazum conform verdict.json` read a real routing measurement as a
519
+ usage log and answered with advice about `stop_reason`. A contract that
520
+ cannot be recognised is a contract only reachable by somebody who already
521
+ knows its name, which is the opposite of what this page is for. Found by
522
+ running the command against its own output; `contract-coverage.test.js`
523
+ now requires every name to be inferable from a document.
524
+
525
+ Conformance sits before the connected report deliberately: both carry an
526
+ `unavailable` array, and only the conformance verdict carries `conforms`.
527
+ */
528
+ if (Array.isArray(doc.problems) && Array.isArray(doc.unavailable) && typeof doc.conforms === 'boolean') {
529
+ return 'conformance';
530
+ }
531
+ if (isObject(doc.evaluation) && 'slice' in doc)
532
+ return 'routing-measurement';
533
+ if (Array.isArray(doc.contributions) && typeof doc.recoverableTokens === 'number') {
534
+ return 'example-pruning';
535
+ }
536
+ if (Array.isArray(doc.providers) && typeof doc.totalRecords === 'number')
537
+ return 'store-inventory';
538
+ if (Array.isArray(doc.crossings) && Array.isArray(doc.abstentions))
539
+ return 'watch-cycle';
457
540
  if (typeof doc.provider === 'string' && Array.isArray(doc.unavailable))
458
541
  return 'connected';
459
542
  return null;
@@ -541,7 +624,7 @@ export function conform(text, options = {}) {
541
624
  return {
542
625
  schemaVersion: 1,
543
626
  contract: null,
544
- because: 'no contract recognised it — a roll-up has contributors and notMerged, a profile has byLabelAndModel, a plan has actions, a verification adds arrived, a history has periods and runs, a connected report has provider and unavailable, a cost answer has verdict and restsOn',
627
+ because: 'no contract recognised it — a roll-up has contributors and notMerged, a profile has byLabelAndModel, a plan has actions, a verification adds arrived, a history has periods and runs, a connected report has provider and unavailable, a cost answer has verdict with call and budget, a prompt draft has prompt, sections and missing, a routing measurement has slice and evaluation, an example pruning has contributions and recoverableTokens, a store inventory has providers and totalRecords, a conformance verdict has problems and conforms, a watch cycle has crossings and abstentions',
545
628
  problems: [],
546
629
  unavailable: [],
547
630
  records: null,
@@ -1 +1 @@
1
- {"version":3,"file":"conform.js","sourceRoot":"","sources":["../src/conform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,WAAW;IACX,SAAS;IACT,OAAO;IACP,MAAM;IACN,cAAc;IACd,SAAS;IACT,WAAW;IACX,aAAa;IACb,aAAa;IACb,gBAAgB;IAChB,eAAe;IACf,SAAS;IACT,WAAW;IACX,OAAO;IACP,YAAY;IACZ,iBAAiB;IACjB,OAAO;IACP,cAAc;IACd,UAAU;CACF,CAAC;AA2CX,sEAAsE;AACtE,MAAM,cAAc,GAA6D;IAC/E;QACE,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,wDAAwD;QACjE,UAAU,EAAE,8CAA8C;KAC3D;IACD;QACE,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,6CAA6C;QACtD,UAAU,EAAE,+DAA+D;KAC5E;IACD;QACE,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,yDAAyD;QAClE,UAAU,EAAE,oDAAoD;KACjE;IACD;QACE,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,0DAA0D;QACnE,UAAU,EAAE,yDAAyD;KACtE;IACD;QACE,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,wDAAwD;QACjE,UAAU,EAAE,qDAAqD;KAClE;CACF,CAAC;AAEF,SAAS,MAAM,CAAC,KAAc;IAC5B,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAClC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC;AACvD,CAAC;AAED,oEAAoE;AACpE,SAAS,OAAO,CAAC,MAA+B;IAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;IAC5B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5E,OAAO,MAAiC,CAAC;IAC3C,CAAC;IACD,2EAA2E;IAC3E,sEAAsE;IACtE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,YAAY,GAAG;IACnB,cAAc;IACd,eAAe;IACf,eAAe;IACf,mBAAmB;IACnB,yBAAyB;IACzB,6BAA6B;CAC9B,CAAC;AAEF,yDAAyD;AACzD,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,QAAQ,GAAyB,EAAE,CAAC;IAC1C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACvC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,OAAO;QAC/B,MAAM,EAAE,GAAG,QAAQ,KAAK,GAAG,CAAC,EAAE,CAAC;QAC/B,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3E,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,qCAAqC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YACzG,OAAO;QACT,CAAC;QACD,OAAO,IAAI,CAAC,CAAC;QACb,MAAM,MAAM,GAAG,MAAiC,CAAC;QAEjD,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACnE,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,kDAAkD,EAAE,CAAC,CAAC;QACrG,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9B,MAAM,SAAS,GACb,KAAK,KAAK,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC;QACnF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC;gBACZ,EAAE;gBACF,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,sCAAsC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,gCAAgC;aACtG,CAAC,CAAC;QACL,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,CAAC;YACrE,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI;gBAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,KAAK,MAAM,KAAK,IAAI,CAAC,yBAAyB,EAAE,6BAA6B,CAAC,EAAE,CAAC;gBAC/E,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ;oBAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC3F,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE,sBAAsB,KAAK,CAAC,KAAK,GAAG;QAC7C,UAAU,EAAE,KAAK,CAAC,UAAU;KAC7B,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,IAAI;QACb,QAAQ;QACR,WAAW;QACX,OAAO;QACP,QAAQ,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC;KAChC,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,SAAS,oBAAoB,CAAC,GAA4B;IACxD,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAChD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,KAAK,KAAK,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC;AAC1F,CAAC;AASD,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,QAAgB,EAAE,KAAkC,EAAa,EAAE,CAAC,CAAC;IAC/F,IAAI;IACJ,QAAQ;IACR,KAAK;CACN,CAAC,CAAC;AAEH,MAAM,OAAO,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAClE,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAW,EAAE,CAC3C,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACvE,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAElG,MAAM,cAAc,GAA4D;IAC9E,OAAO,EAAE;QACP,IAAI,CAAC,OAAO,EAAE,uCAAuC,EAAE,QAAQ,CAAC;QAChE,IAAI,CAAC,SAAS,EAAE,8BAA8B,EAAE,OAAO,CAAC;QACxD,IAAI,CAAC,SAAS,EAAE,8BAA8B,EAAE,OAAO,CAAC;QACxD,IAAI,CAAC,iBAAiB,EAAE,oDAAoD,EAAE,OAAO,CAAC;QACtF,IAAI,CAAC,gBAAgB,EAAE,4CAA4C,EAAE,OAAO,CAAC;QAC7E,IAAI,CAAC,cAAc,EAAE,+BAA+B,EAAE,OAAO,CAAC;QAC9D,IAAI,CAAC,MAAM,EAAE,kDAAkD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;KACnG;IACD,IAAI,EAAE;QACJ,IAAI,CAAC,SAAS,EAAE,+BAA+B,EAAE,OAAO,CAAC;QACzD,IAAI,CAAC,oBAAoB,EAAE,UAAU,EAAE,QAAQ,CAAC;QAChD,IAAI,CAAC,kBAAkB,EAAE,yCAAyC,EAAE,QAAQ,CAAC;QAC7E,IAAI,CAAC,UAAU,EAAE,+CAA+C,EAAE,QAAQ,CAAC;KAC5E;IACD,YAAY,EAAE;QACZ,IAAI,CAAC,SAAS,EAAE,4BAA4B,EAAE,OAAO,CAAC;QACtD,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC;QACrC,IAAI,CAAC,YAAY,EAAE,UAAU,EAAE,QAAQ,CAAC;QACxC,IAAI,CAAC,YAAY,EAAE,sCAAsC,EAAE,QAAQ,CAAC;KACrE;IACD,OAAO,EAAE;QACP,IAAI,CAAC,SAAS,EAAE,yCAAyC,EAAE,OAAO,CAAC;QACnE,IAAI,CAAC,MAAM,EAAE,4CAA4C,EAAE,OAAO,CAAC;KACpE;IACD,SAAS,EAAE;QACT,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QAC1D,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC;QACpC,IAAI,CAAC,aAAa,EAAE,iDAAiD,EAAE,OAAO,CAAC;KAChF;IACD;;;;;;;;;;OAUG;IACH,gBAAgB,EAAE;QAChB,IAAI,CAAC,QAAQ,EAAE,oDAAoD,EAAE,OAAO,CAAC;QAC7E,IAAI,CAAC,YAAY,EAAE,6CAA6C,EAAE,OAAO,CAAC;QAC1E,IAAI,CAAC,UAAU,EAAE,mDAAmD,EAAE,QAAQ,CAAC;QAC/E,IAAI,CACF,2BAA2B,EAC3B,4HAA4H;QAC5H,qEAAqE;QACrE,qEAAqE;QACrE,uDAAuD;QACvD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,CACjC;QACD,IAAI,CACF,QAAQ,EACR,gGAAgG,EAChG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,CAC3C;KACF;IACD,eAAe,EAAE;QACf,IAAI,CAAC,QAAQ,EAAE,wBAAwB,EAAE,OAAO,CAAC;QACjD,IAAI,CAAC,eAAe,EAAE,sCAAsC,EAAE,OAAO,CAAC;QACtE,IAAI,CAAC,UAAU,EAAE,4DAA4D,EAAE,QAAQ,CAAC;QACxF,IAAI,CACF,UAAU,EACV,8CAA8C,EAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,CACjC;QACD,IAAI,CAAC,WAAW,EAAE,4CAA4C,EAAE,OAAO,CAAC;KACzE;IACD;;;;;;;;;OASG;IACH,SAAS,EAAE;QACT,IAAI,CAAC,cAAc,EAAE,kEAAkE,EAAE,OAAO,CAAC;QACjG,IAAI,CAAC,UAAU,EAAE,sFAAsF,EAAE,OAAO,CAAC;QACjH,IAAI,CAAC,OAAO,EAAE,uCAAuC,EAAE,QAAQ,CAAC;QAChE,IAAI,CAAC,WAAW,EAAE,gEAAgE,EAAE,OAAO,CAAC;QAC5F,IAAI,CAAC,WAAW,EAAE,uDAAuD,EAAE,OAAO,CAAC;KACpF;IACD,aAAa,EAAE;QACb,IAAI,CAAC,SAAS,EAAE,kCAAkC,EAAE,CAAC,CAAC,EAAE,EAAE,CACxD,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,aAAa,CAAC;QACxD,IAAI,CAAC,MAAM,EAAE,+CAA+C,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/F,IAAI,CAAC,QAAQ,EAAE,4CAA4C,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;KAC/F;IACD;;;;;;;;;;;;OAYG;IACH,cAAc,EAAE;QACd,IAAI,CACF,QAAQ,EACR,6FAA6F,EAC7F,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,CAC3C;QACD,IAAI,CAAC,UAAU,EAAE,wEAAwE,EAAE,OAAO,CAAC;QACnG,IAAI,CAAC,UAAU,EAAE,0CAA0C,EAAE,OAAO,CAAC;QACrE,IAAI,CAAC,UAAU,EAAE,mFAAmF,EAAE,OAAO,CAAC;QAC9G,IAAI,CAAC,SAAS,EAAE,oFAAoF,EAAE,OAAO,CAAC;QAC9G,IAAI,CACF,UAAU,EACV,0GAA0G,EAC1G,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,CACjC;KACF;IAED;;;;;MAKE;IACF,KAAK,EAAE;QACL,IAAI,CAAC,UAAU,EAAE,yDAAyD,EAAE,OAAO,CAAC;QACpF,IAAI,CAAC,QAAQ,EAAE,yDAAyD,EAAE,QAAQ,CAAC;KACpF;IACD,aAAa,EAAE;QACb,IAAI,CAAC,SAAS,EAAE,4DAA4D,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QAC3G,IAAI,CAAC,MAAM,EAAE,oDAAoD,EAAE,QAAQ,CAAC;QAC5E,IAAI,CAAC,cAAc,EAAE,+DAA+D,EAAE,OAAO,CAAC;QAC9F,IAAI,CAAC,SAAS,EAAE,0EAA0E,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;KAC1H;IACD,WAAW,EAAE;QACX,IAAI,CAAC,QAAQ,EAAE,uDAAuD,EAAE,QAAQ,CAAC;QACjF,IAAI,CAAC,WAAW,EAAE,sEAAsE,EAAE,OAAO,CAAC;QAClG,IAAI,CAAC,UAAU,EAAE,8DAA8D,EAAE,OAAO,CAAC;KAC1F;IACD,QAAQ,EAAE;QACR,IAAI,CAAC,QAAQ,EAAE,+DAA+D,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,WAAW,CAAC;QACzG,IAAI,CAAC,OAAO,EAAE,4CAA4C,EAAE,QAAQ,CAAC;QACrE,IAAI,CAAC,WAAW,EAAE,gDAAgD,EAAE,OAAO,CAAC;QAC5E,IAAI,CAAC,YAAY,EAAE,yEAAyE,EAAE,OAAO,CAAC;QACtG,IAAI,CAAC,WAAW,EAAE,2DAA2D,EAAE,OAAO,CAAC;QACvF,IAAI,CAAC,iBAAiB,EAAE,+CAA+C,EAAE,QAAQ,CAAC;KACnF;IACD,KAAK,EAAE;QACL,IAAI,CAAC,OAAO,EAAE,yBAAyB,EAAE,OAAO,CAAC;QACjD,IAAI,CAAC,OAAO,EAAE,yCAAyC,EAAE,QAAQ,CAAC;QAClE,IAAI,CAAC,OAAO,EAAE,sCAAsC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC;KACrF;IACD,YAAY,EAAE;QACZ,IAAI,CAAC,OAAO,EAAE,8CAA8C,EAAE,OAAO,CAAC;QACtE,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,QAAQ,CAAC;QAC1C,IAAI,CAAC,aAAa,EAAE,sCAAsC,EAAE,QAAQ,CAAC;QACrE,IAAI,CAAC,OAAO,EAAE,uCAAuC,EAAE,QAAQ,CAAC;KACjE;IACD,iBAAiB,EAAE;QACjB,IAAI,CAAC,OAAO,EAAE,gFAAgF,EAAE,QAAQ,CAAC;QACzG,IAAI,CAAC,QAAQ,EAAE,8DAA8D,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QAC5G,IAAI,CAAC,cAAc,EAAE,yCAAyC,EAAE,OAAO,CAAC;KACzE;IACD,KAAK,EAAE;QACL,IAAI,CAAC,WAAW,EAAE,wDAAwD,EAAE,OAAO,CAAC;QACpF,IAAI,CAAC,MAAM,EAAE,uCAAuC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QACnF,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC;KACnC;CACF,CAAC;AAyBF,MAAM,WAAW,GAAqE;IACpF,gBAAgB,EAAE;QAChB;YACE,EAAE,EAAE,2BAA2B;YAC/B,IAAI,EAAE,iBAAiB;YACvB,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;gBACV,MAAM,QAAQ,GAAG,GAAG,CAAC,QAA8C,CAAC;gBACpE,MAAM,QAAQ,GAAG,OAAO,QAAQ,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;gBACnF,IAAI,QAAQ,KAAK,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAChC,OAAO,GAAG,CAAC,yBAAyB,KAAK,IAAI,CAAC;YAChD,CAAC;YACD,MAAM,EACJ,8GAA8G;SACjH;QACD;YACE,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,yBAAyB,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC;YACjG,MAAM,EACJ,6JAA6J;SAChK;KACF;IACD;;;;;;;;;;;;;;OAcG;IACH,SAAS,EAAE;QACT;YACE,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CACV,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;gBAChC,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;gBAC3B,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YAC/E,MAAM,EACJ,wKAAwK;SAC3K;QACD;YACE,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CACV,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAC5B,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;gBACzB,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;YACnF,MAAM,EACJ,8IAA8I;SACjJ;KACF;IACD,eAAe,EAAE;QACf;YACE,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CACV,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;gBACjC,GAAG,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;gBAC9B,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAC5E,MAAM,EACJ,4IAA4I;SAC/I;KACF;CACF,CAAC;AAEF;;;;;;GAMG;AACH,SAAS,UAAU,CAAC,GAA4B;IAC9C,8EAA8E;IAC9E,0EAA0E;IAC1E,4EAA4E;IAC5E,qEAAqE;IACrE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IACtF,4EAA4E;IAC5E,4EAA4E;IAC5E,8DAA8D;IAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,OAAO,CAAC;IACxE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;QAAE,OAAO,SAAS,CAAC;IACzD,0EAA0E;IAC1E,+CAA+C;IAC/C,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7F,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxF,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,yEAAyE;IACzE,mEAAmE;IACnE,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,UAAU,CAAC;IAClF,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAC9E,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,YAAY,CAAC;IACnF,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7F,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IACjF,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,eAAe,CAAC;IACvF,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,gBAAgB,CAAC;IACrF,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5E,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,cAAc,CAAC;IACzF,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO,MAAM,CAAC;IAC9C,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,SAAS,IAAI,GAAG;QAAE,OAAO,aAAa,CAAC;IAC9E,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QAAE,OAAO,WAAW,CAAC;IAC3F,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAkB;IACjD,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACjE,CAAC;AAOD;;;;;;;GAOG;AACH,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,OAAO,GAAmB,EAAE;IAChE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QACnB,OAAO;YACL,aAAa,EAAE,CAAC;YAChB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,oBAAoB;YAC7B,QAAQ,EAAE,EAAE;YACZ,WAAW,EAAE,EAAE;YACf,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,KAAK,WAAW;QAAE,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;IAEnE,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,sEAAsE;QACtE,uEAAuE;QACvE,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;QACzD,OAAO;YACL,aAAa,EAAE,CAAC;YAChB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,uDAAuD;YAChE,QAAQ,EAAE,EAAE;YACZ,WAAW,EAAE,EAAE;YACf,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACtB,OAAO;YACL,aAAa,EAAE,CAAC;YAChB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,2CAA2C,MAAM,CAAC,MAAM,CAAC,EAAE;YACpE,QAAQ,EAAE,EAAE;YACZ,WAAW,EAAE,EAAE;YACf,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,MAAiC,CAAC;IAE9C;;;;;;;;OAQG;IACH,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,oBAAoB,CAAC,GAAG,CAAC;QAAE,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;IAE9F,qEAAqE;IACrE,uCAAuC;IACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IAErD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO;YACL,aAAa,EAAE,CAAC;YAChB,QAAQ,EAAE,IAAI;YACd,OAAO,EACL,8QAA8Q;YAChR,QAAQ,EAAE,EAAE;YACZ,WAAW,EAAE,EAAE;YACf,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAyB,EAAE,CAAC;IAE1C;;;;;OAKG;IACH,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACpC,QAAQ,CAAC,IAAI,CAAC;YACZ,EAAE,EAAE,eAAe;YACnB,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,mGAAmG;SAC5G,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,GAAG,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;QACnC,QAAQ,CAAC,IAAI,CAAC;YACZ,EAAE,EAAE,eAAe;YACnB,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,qBAAqB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;SACjE,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC1F,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,uEAAuE;YACvE,uEAAuE;YACvE,kEAAkE;YAClE,aAAa;YACb,MAAM,IAAI,GACR,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAC;YACpF,QAAQ,CAAC,IAAI,CAAC;gBACZ,EAAE,EAAE,KAAK,CAAC,IAAI;gBACd,IAAI;gBACJ,MAAM,EAAE,YAAY,KAAK,CAAC,QAAQ,WAAW,MAAM,CAAC,KAAK,CAAC,EAAE;aAC7D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,sEAAsE;IACtE,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,QAAQ;QACR,OAAO,EAAE,IAAI;QACb,QAAQ;QACR,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC;KAChC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"conform.js","sourceRoot":"","sources":["../src/conform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,WAAW;IACX,SAAS;IACT,OAAO;IACP,MAAM;IACN,cAAc;IACd,SAAS;IACT,WAAW;IACX,aAAa;IACb,aAAa;IACb,gBAAgB;IAChB,eAAe;IACf,SAAS;IACT,WAAW;IACX,OAAO;IACP,YAAY;IACZ,iBAAiB;IACjB,OAAO;IACP,cAAc;IACd,UAAU;IACV,qBAAqB;IACrB,iBAAiB;IACjB,iBAAiB;IACjB,aAAa;IACb,aAAa;CACL,CAAC;AA2CX,sEAAsE;AACtE,MAAM,cAAc,GAA6D;IAC/E;QACE,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,wDAAwD;QACjE,UAAU,EAAE,8CAA8C;KAC3D;IACD;QACE,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,6CAA6C;QACtD,UAAU,EAAE,+DAA+D;KAC5E;IACD;QACE,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,yDAAyD;QAClE,UAAU,EAAE,oDAAoD;KACjE;IACD;QACE,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,0DAA0D;QACnE,UAAU,EAAE,yDAAyD;KACtE;IACD;QACE,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,wDAAwD;QACjE,UAAU,EAAE,qDAAqD;KAClE;CACF,CAAC;AAEF,SAAS,MAAM,CAAC,KAAc;IAC5B,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAClC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC;AACvD,CAAC;AAED,oEAAoE;AACpE,SAAS,OAAO,CAAC,MAA+B;IAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;IAC5B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5E,OAAO,MAAiC,CAAC;IAC3C,CAAC;IACD,2EAA2E;IAC3E,sEAAsE;IACtE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,YAAY,GAAG;IACnB,cAAc;IACd,eAAe;IACf,eAAe;IACf,mBAAmB;IACnB,yBAAyB;IACzB,6BAA6B;CAC9B,CAAC;AAEF,yDAAyD;AACzD,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,QAAQ,GAAyB,EAAE,CAAC;IAC1C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACvC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,OAAO;QAC/B,MAAM,EAAE,GAAG,QAAQ,KAAK,GAAG,CAAC,EAAE,CAAC;QAC/B,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3E,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,qCAAqC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YACzG,OAAO;QACT,CAAC;QACD,OAAO,IAAI,CAAC,CAAC;QACb,MAAM,MAAM,GAAG,MAAiC,CAAC;QAEjD,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACnE,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,kDAAkD,EAAE,CAAC,CAAC;QACrG,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9B,MAAM,SAAS,GACb,KAAK,KAAK,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC;QACnF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC;gBACZ,EAAE;gBACF,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,sCAAsC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,gCAAgC;aACtG,CAAC,CAAC;QACL,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,CAAC;YACrE,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI;gBAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,KAAK,MAAM,KAAK,IAAI,CAAC,yBAAyB,EAAE,6BAA6B,CAAC,EAAE,CAAC;gBAC/E,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ;oBAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC3F,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE,sBAAsB,KAAK,CAAC,KAAK,GAAG;QAC7C,UAAU,EAAE,KAAK,CAAC,UAAU;KAC7B,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,IAAI;QACb,QAAQ;QACR,WAAW;QACX,OAAO;QACP,QAAQ,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC;KAChC,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,SAAS,oBAAoB,CAAC,GAA4B;IACxD,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAChD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,KAAK,KAAK,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC;AAC1F,CAAC;AASD,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,QAAgB,EAAE,KAAkC,EAAa,EAAE,CAAC,CAAC;IAC/F,IAAI;IACJ,QAAQ;IACR,KAAK;CACN,CAAC,CAAC;AAEH,MAAM,OAAO,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAClE,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAW,EAAE,CAC3C,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACvE,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAElG,MAAM,cAAc,GAA4D;IAC9E,OAAO,EAAE;QACP,IAAI,CAAC,OAAO,EAAE,uCAAuC,EAAE,QAAQ,CAAC;QAChE,IAAI,CAAC,SAAS,EAAE,8BAA8B,EAAE,OAAO,CAAC;QACxD,IAAI,CAAC,SAAS,EAAE,8BAA8B,EAAE,OAAO,CAAC;QACxD,IAAI,CAAC,iBAAiB,EAAE,oDAAoD,EAAE,OAAO,CAAC;QACtF,IAAI,CAAC,gBAAgB,EAAE,4CAA4C,EAAE,OAAO,CAAC;QAC7E,IAAI,CAAC,cAAc,EAAE,+BAA+B,EAAE,OAAO,CAAC;QAC9D,IAAI,CAAC,MAAM,EAAE,kDAAkD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;KACnG;IACD,IAAI,EAAE;QACJ,IAAI,CAAC,SAAS,EAAE,+BAA+B,EAAE,OAAO,CAAC;QACzD,IAAI,CAAC,oBAAoB,EAAE,UAAU,EAAE,QAAQ,CAAC;QAChD,IAAI,CAAC,kBAAkB,EAAE,yCAAyC,EAAE,QAAQ,CAAC;QAC7E,IAAI,CAAC,UAAU,EAAE,+CAA+C,EAAE,QAAQ,CAAC;KAC5E;IACD,YAAY,EAAE;QACZ,IAAI,CAAC,SAAS,EAAE,4BAA4B,EAAE,OAAO,CAAC;QACtD,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC;QACrC,IAAI,CAAC,YAAY,EAAE,UAAU,EAAE,QAAQ,CAAC;QACxC,IAAI,CAAC,YAAY,EAAE,sCAAsC,EAAE,QAAQ,CAAC;KACrE;IACD,OAAO,EAAE;QACP,IAAI,CAAC,SAAS,EAAE,yCAAyC,EAAE,OAAO,CAAC;QACnE,IAAI,CAAC,MAAM,EAAE,4CAA4C,EAAE,OAAO,CAAC;KACpE;IACD,SAAS,EAAE;QACT,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QAC1D,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC;QACpC,IAAI,CAAC,aAAa,EAAE,iDAAiD,EAAE,OAAO,CAAC;KAChF;IACD;;;;;;;;;;OAUG;IACH,gBAAgB,EAAE;QAChB,IAAI,CAAC,QAAQ,EAAE,oDAAoD,EAAE,OAAO,CAAC;QAC7E,IAAI,CAAC,YAAY,EAAE,6CAA6C,EAAE,OAAO,CAAC;QAC1E,IAAI,CAAC,UAAU,EAAE,mDAAmD,EAAE,QAAQ,CAAC;QAC/E,IAAI,CACF,2BAA2B,EAC3B,4HAA4H;QAC5H,qEAAqE;QACrE,qEAAqE;QACrE,uDAAuD;QACvD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,CACjC;QACD,IAAI,CACF,QAAQ,EACR,gGAAgG,EAChG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,CAC3C;KACF;IACD,eAAe,EAAE;QACf,IAAI,CAAC,QAAQ,EAAE,wBAAwB,EAAE,OAAO,CAAC;QACjD,IAAI,CAAC,eAAe,EAAE,sCAAsC,EAAE,OAAO,CAAC;QACtE,IAAI,CAAC,UAAU,EAAE,4DAA4D,EAAE,QAAQ,CAAC;QACxF,IAAI,CACF,UAAU,EACV,8CAA8C,EAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,CACjC;QACD,IAAI,CAAC,WAAW,EAAE,4CAA4C,EAAE,OAAO,CAAC;KACzE;IACD;;;;;;;;;OASG;IACH,SAAS,EAAE;QACT,IAAI,CAAC,cAAc,EAAE,kEAAkE,EAAE,OAAO,CAAC;QACjG,IAAI,CAAC,UAAU,EAAE,sFAAsF,EAAE,OAAO,CAAC;QACjH,IAAI,CAAC,OAAO,EAAE,uCAAuC,EAAE,QAAQ,CAAC;QAChE,IAAI,CAAC,WAAW,EAAE,gEAAgE,EAAE,OAAO,CAAC;QAC5F,IAAI,CAAC,WAAW,EAAE,uDAAuD,EAAE,OAAO,CAAC;KACpF;IACD,aAAa,EAAE;QACb,IAAI,CAAC,SAAS,EAAE,kCAAkC,EAAE,CAAC,CAAC,EAAE,EAAE,CACxD,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,aAAa,CAAC;QACxD,IAAI,CAAC,MAAM,EAAE,+CAA+C,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/F,IAAI,CAAC,QAAQ,EAAE,4CAA4C,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;KAC/F;IACD;;;;;;;;;;;;OAYG;IACH,cAAc,EAAE;QACd,IAAI,CACF,QAAQ,EACR,6FAA6F,EAC7F,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,CAC3C;QACD,IAAI,CAAC,UAAU,EAAE,wEAAwE,EAAE,OAAO,CAAC;QACnG,IAAI,CAAC,UAAU,EAAE,0CAA0C,EAAE,OAAO,CAAC;QACrE,IAAI,CAAC,UAAU,EAAE,mFAAmF,EAAE,OAAO,CAAC;QAC9G,IAAI,CAAC,SAAS,EAAE,oFAAoF,EAAE,OAAO,CAAC;QAC9G,IAAI,CACF,UAAU,EACV,0GAA0G,EAC1G,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,CACjC;KACF;IAED;;;;;MAKE;IACF,KAAK,EAAE;QACL,IAAI,CAAC,UAAU,EAAE,yDAAyD,EAAE,OAAO,CAAC;QACpF,IAAI,CAAC,QAAQ,EAAE,yDAAyD,EAAE,QAAQ,CAAC;KACpF;IACD,aAAa,EAAE;QACb,IAAI,CAAC,SAAS,EAAE,4DAA4D,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QAC3G,IAAI,CAAC,MAAM,EAAE,oDAAoD,EAAE,QAAQ,CAAC;QAC5E,IAAI,CAAC,cAAc,EAAE,+DAA+D,EAAE,OAAO,CAAC;QAC9F,IAAI,CAAC,SAAS,EAAE,0EAA0E,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;KAC1H;IACD,WAAW,EAAE;QACX,IAAI,CAAC,QAAQ,EAAE,uDAAuD,EAAE,QAAQ,CAAC;QACjF,IAAI,CAAC,WAAW,EAAE,sEAAsE,EAAE,OAAO,CAAC;QAClG,IAAI,CAAC,UAAU,EAAE,8DAA8D,EAAE,OAAO,CAAC;KAC1F;IACD,QAAQ,EAAE;QACR,IAAI,CAAC,QAAQ,EAAE,+DAA+D,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,WAAW,CAAC;QACzG,IAAI,CAAC,OAAO,EAAE,4CAA4C,EAAE,QAAQ,CAAC;QACrE,IAAI,CAAC,WAAW,EAAE,gDAAgD,EAAE,OAAO,CAAC;QAC5E,IAAI,CAAC,YAAY,EAAE,yEAAyE,EAAE,OAAO,CAAC;QACtG,IAAI,CAAC,WAAW,EAAE,2DAA2D,EAAE,OAAO,CAAC;QACvF,IAAI,CAAC,iBAAiB,EAAE,+CAA+C,EAAE,QAAQ,CAAC;KACnF;IACD,qBAAqB,EAAE;QACrB,IAAI,CAAC,OAAO,EAAE,+CAA+C,EAAE,QAAQ,CAAC;QACxE,IAAI,CAAC,YAAY,EAAE,sDAAsD,EAAE,QAAQ,CAAC;KACrF;IACD,iBAAiB,EAAE;QACjB,IAAI,CAAC,WAAW,EAAE,wCAAwC,EAAE,OAAO,CAAC;QACpE,IAAI,CAAC,cAAc,EAAE,+BAA+B,EAAE,QAAQ,CAAC;QAC/D,IAAI,CACF,MAAM,EACN,iDAAiD,EACjD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,CACjC;QACD,IAAI,CAAC,gBAAgB,EAAE,wCAAwC,EAAE,QAAQ,CAAC;QAC1E,IAAI,CAAC,gBAAgB,EAAE,mCAAmC,EAAE,QAAQ,CAAC;QACrE,IAAI,CAAC,UAAU,EAAE,iCAAiC,EAAE,QAAQ,CAAC;QAC7D,IAAI,CAAC,YAAY,EAAE,4CAA4C,EAAE,OAAO,CAAC;KAC1E;IACD,WAAW,EAAE;QACX,IAAI,CACF,UAAU,EACV,8DAA8D,EAC9D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,CAC3C;QACD,IAAI,CACF,SAAS,EACT,wEAAwE,EACxE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,CAC3C;QACD,IAAI,CACF,SAAS,EACT,2DAA2D,EAC3D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,CACjC;QACD,IAAI,CAAC,UAAU,EAAE,sCAAsC,EAAE,OAAO,CAAC;QACjE,IAAI,CAAC,aAAa,EAAE,+CAA+C,EAAE,OAAO,CAAC;QAC7E,IAAI,CAAC,UAAU,EAAE,yBAAyB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC;KAC3E;IACD,aAAa,EAAE;QACb,IAAI,CAAC,WAAW,EAAE,2BAA2B,EAAE,QAAQ,CAAC;QACxD,IAAI,CAAC,WAAW,EAAE,oDAAoD,EAAE,OAAO,CAAC;QAChF,IAAI,CAAC,YAAY,EAAE,yCAAyC,EAAE,OAAO,CAAC;QACtE,IAAI,CAAC,aAAa,EAAE,2CAA2C,EAAE,OAAO,CAAC;QACzE,IAAI,CACF,KAAK,EACL,8DAA8D,EAC9D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,CACjC;KACF;IACD,iBAAiB,EAAE;QACjB,IAAI,CAAC,UAAU,EAAE,gCAAgC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QAChF,IAAI,CAAC,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QACtE,IAAI,CAAC,eAAe,EAAE,kFAAkF,EAAE,QAAQ,CAAC;QACnH,IAAI,CAAC,mBAAmB,EAAE,kEAAkE,EAAE,QAAQ,CAAC;QACvG,IAAI,CAAC,WAAW,EAAE,sBAAsB,EAAE,QAAQ,CAAC;QACnD,IAAI,CAAC,eAAe,EAAE,kCAAkC,EAAE,OAAO,CAAC;KACnE;IACD,KAAK,EAAE;QACL,IAAI,CAAC,OAAO,EAAE,yBAAyB,EAAE,OAAO,CAAC;QACjD,IAAI,CAAC,OAAO,EAAE,yCAAyC,EAAE,QAAQ,CAAC;QAClE,IAAI,CAAC,OAAO,EAAE,sCAAsC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC;KACrF;IACD,YAAY,EAAE;QACZ,IAAI,CAAC,OAAO,EAAE,8CAA8C,EAAE,OAAO,CAAC;QACtE,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,QAAQ,CAAC;QAC1C,IAAI,CAAC,aAAa,EAAE,sCAAsC,EAAE,QAAQ,CAAC;QACrE,IAAI,CAAC,OAAO,EAAE,uCAAuC,EAAE,QAAQ,CAAC;KACjE;IACD,iBAAiB,EAAE;QACjB,IAAI,CAAC,OAAO,EAAE,gFAAgF,EAAE,QAAQ,CAAC;QACzG,IAAI,CAAC,QAAQ,EAAE,8DAA8D,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QAC5G,IAAI,CAAC,cAAc,EAAE,yCAAyC,EAAE,OAAO,CAAC;KACzE;IACD,KAAK,EAAE;QACL,IAAI,CAAC,WAAW,EAAE,wDAAwD,EAAE,OAAO,CAAC;QACpF,IAAI,CAAC,MAAM,EAAE,uCAAuC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QACnF,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC;KACnC;CACF,CAAC;AAyBF,MAAM,WAAW,GAAqE;IACpF,gBAAgB,EAAE;QAChB;YACE,EAAE,EAAE,2BAA2B;YAC/B,IAAI,EAAE,iBAAiB;YACvB,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;gBACV,MAAM,QAAQ,GAAG,GAAG,CAAC,QAA8C,CAAC;gBACpE,MAAM,QAAQ,GAAG,OAAO,QAAQ,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;gBACnF,IAAI,QAAQ,KAAK,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAChC,OAAO,GAAG,CAAC,yBAAyB,KAAK,IAAI,CAAC;YAChD,CAAC;YACD,MAAM,EACJ,8GAA8G;SACjH;QACD;YACE,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,yBAAyB,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC;YACjG,MAAM,EACJ,6JAA6J;SAChK;KACF;IACD;;;;;;;;;;;;;;OAcG;IACH,SAAS,EAAE;QACT;YACE,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CACV,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;gBAChC,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;gBAC3B,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YAC/E,MAAM,EACJ,wKAAwK;SAC3K;QACD;YACE,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CACV,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAC5B,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;gBACzB,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;YACnF,MAAM,EACJ,8IAA8I;SACjJ;KACF;IACD,eAAe,EAAE;QACf;YACE,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CACV,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;gBACjC,GAAG,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;gBAC9B,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAC5E,MAAM,EACJ,4IAA4I;SAC/I;KACF;CACF,CAAC;AAEF;;;;;;GAMG;AACH,SAAS,UAAU,CAAC,GAA4B;IAC9C,8EAA8E;IAC9E,0EAA0E;IAC1E,4EAA4E;IAC5E,qEAAqE;IACrE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IACtF,4EAA4E;IAC5E,4EAA4E;IAC5E,8DAA8D;IAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,OAAO,CAAC;IACxE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;QAAE,OAAO,SAAS,CAAC;IACzD,0EAA0E;IAC1E,+CAA+C;IAC/C,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7F,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxF,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,yEAAyE;IACzE,mEAAmE;IACnE,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,UAAU,CAAC;IAClF,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAC9E,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,YAAY,CAAC;IACnF,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7F,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IACjF,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,eAAe,CAAC;IACvF,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,gBAAgB,CAAC;IACrF,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5E,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,cAAc,CAAC;IACzF,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO,MAAM,CAAC;IAC9C,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,SAAS,IAAI,GAAG;QAAE,OAAO,aAAa,CAAC;IAC9E;;;;;;;;;MASE;IACF,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,IAAI,QAAQ,IAAI,GAAG;QAAE,OAAO,aAAa,CAAC;IAC9F,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAChG,OAAO,cAAc,CAAC;IACxB,CAAC;IACD;;;;;;;;;;;;;;MAcE;IACF,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACvG,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,IAAI,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,OAAO,IAAI,GAAG;QAAE,OAAO,qBAAqB,CAAC;IAC7E,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,OAAO,GAAG,CAAC,iBAAiB,KAAK,QAAQ,EAAE,CAAC;QAClF,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ;QAAE,OAAO,iBAAiB,CAAC;IACnG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QAAE,OAAO,aAAa,CAAC;IACzF,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QAAE,OAAO,WAAW,CAAC;IAC3F,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAkB;IACjD,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACjE,CAAC;AAOD;;;;;;;GAOG;AACH,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,OAAO,GAAmB,EAAE;IAChE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QACnB,OAAO;YACL,aAAa,EAAE,CAAC;YAChB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,oBAAoB;YAC7B,QAAQ,EAAE,EAAE;YACZ,WAAW,EAAE,EAAE;YACf,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,KAAK,WAAW;QAAE,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;IAEnE,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,sEAAsE;QACtE,uEAAuE;QACvE,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;QACzD,OAAO;YACL,aAAa,EAAE,CAAC;YAChB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,uDAAuD;YAChE,QAAQ,EAAE,EAAE;YACZ,WAAW,EAAE,EAAE;YACf,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACtB,OAAO;YACL,aAAa,EAAE,CAAC;YAChB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,2CAA2C,MAAM,CAAC,MAAM,CAAC,EAAE;YACpE,QAAQ,EAAE,EAAE;YACZ,WAAW,EAAE,EAAE;YACf,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,MAAiC,CAAC;IAE9C;;;;;;;;OAQG;IACH,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,oBAAoB,CAAC,GAAG,CAAC;QAAE,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;IAE9F,qEAAqE;IACrE,uCAAuC;IACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IAErD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO;YACL,aAAa,EAAE,CAAC;YAChB,QAAQ,EAAE,IAAI;YACd,OAAO,EACL,okBAAokB;YACtkB,QAAQ,EAAE,EAAE;YACZ,WAAW,EAAE,EAAE;YACf,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAyB,EAAE,CAAC;IAE1C;;;;;OAKG;IACH,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACpC,QAAQ,CAAC,IAAI,CAAC;YACZ,EAAE,EAAE,eAAe;YACnB,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,mGAAmG;SAC5G,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,GAAG,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;QACnC,QAAQ,CAAC,IAAI,CAAC;YACZ,EAAE,EAAE,eAAe;YACnB,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,qBAAqB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;SACjE,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC1F,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,uEAAuE;YACvE,uEAAuE;YACvE,kEAAkE;YAClE,aAAa;YACb,MAAM,IAAI,GACR,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAC;YACpF,QAAQ,CAAC,IAAI,CAAC;gBACZ,EAAE,EAAE,KAAK,CAAC,IAAI;gBACd,IAAI;gBACJ,MAAM,EAAE,YAAY,KAAK,CAAC,QAAQ,WAAW,MAAM,CAAC,KAAK,CAAC,EAAE;aAC7D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,sEAAsE;IACtE,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,QAAQ;QACR,OAAO,EAAE,IAAI;QACb,QAAQ;QACR,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC;KAChC,CAAC;AACJ,CAAC"}