@davidbalzan/groundwork-seam 0.1.15 → 0.1.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/README.md +48 -0
- package/dist/docs.d.ts +133 -1
- package/dist/docs.js +601 -5
- package/dist/docs.js.map +1 -1
- package/package.json +10 -8
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,14 @@ Started at 0.1.6 because a contract change landed in the tree with nowhere to re
|
|
|
6
6
|
it — which is the same class of gap as the change itself: a fact that exists and has
|
|
7
7
|
no home.
|
|
8
8
|
|
|
9
|
+
## [0.1.16] — 2026-09-11
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
- `zeroIsUnparsed` no longer reports a pruned-but-healthy queue as unparsed. It measured CONTENT (`substantiveLines`) on every axis — the right question for the done axis, the wrong one for a queue, which keeps its headings and explanatory prose by design. Measured on this repo's own queue: 793 substantive lines, zero rows, `unparsed: true`. Red-when-fine, one axis over from the failure the predicate was written to avoid.
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
- `queueRowAttempts` and an optional `axis` argument to `zeroIsUnparsed`. For `"queue"` the discriminator is checkbox ROW ATTEMPTS — lines somebody wrote as rows — not authored content. **Omitting the axis preserves the previous behaviour exactly**, so the done and board axes are unchanged. Not "any list item": pruning the real queue leaves 0 checkbox lines and 9 plain bullets of template prose, so a bullet-counting predicate stays red on the very case being fixed.
|
|
16
|
+
|
|
9
17
|
## [0.1.8] — 2026-08-28
|
|
10
18
|
|
|
11
19
|
### Added
|
package/README.md
CHANGED
|
@@ -4,4 +4,52 @@ Schema owner of `docs/QUEUE.md`, `docs/DONE.md`, `docs/WORKSTREAMS.md`, `docs/FA
|
|
|
4
4
|
|
|
5
5
|
Markdown stays authoritative. This package is a library, not a daemon.
|
|
6
6
|
|
|
7
|
+
## Find the answer without knowing the name
|
|
8
|
+
|
|
9
|
+
**This section is indexed by the QUESTION, not by the export.** If you are about to
|
|
10
|
+
write a regex against one of these documents, the answer is almost certainly here —
|
|
11
|
+
and if it is not, that is a gap in this package, not a reason to hand-roll one.
|
|
12
|
+
See *Gaps* below for the ones we know about.
|
|
13
|
+
|
|
14
|
+
> **Why this section exists.** A consumer re-derived three verdicts this package
|
|
15
|
+
> already owns, each with a local regex. That is a seam-design failure, not a
|
|
16
|
+
> consumer bug: every export was present and none was findable without already
|
|
17
|
+
> knowing its name. The fix is that the name is now the ANSWER rather than the
|
|
18
|
+
> search term.
|
|
19
|
+
|
|
20
|
+
| You want to know… | Ask | Never |
|
|
21
|
+
|---|---|---|
|
|
22
|
+
| Is this queue item done? | `queueItemsOf(doc)` → `item.done` | a `/\[x\]/` or `/done\|merged\|closed/i` regex |
|
|
23
|
+
| What are this queue's items at all? | `queueItemsOf(parseWorkDoc(text))` | splitting on `- [ ]` |
|
|
24
|
+
| Which queue items lack a RECORDED id? | `unrecordedQueueItems(items)` — `item.idRecorded` is absent exactly when the raw line has no `⟨q-…⟩` | `!item.id` (always populated: reads 0) · a sigil test on `item.text` (sigil stripped: reads nearly all) |
|
|
25
|
+
| What does this DONE entry cite? | `doneEntriesOf(doc)` → `entry.ref` | scraping `#\d+` from the line |
|
|
26
|
+
| Do two refs mean the same PR? | `refsMatch(a, b, { contextRepo })` | string equality |
|
|
27
|
+
| What CLOSED this queue row? | `closingCitation(row)` — a nullish result means *read the row* | any "closed by" in the body; 4 rows say it in prose |
|
|
28
|
+
| …the same commit? | `commitRefMatches(a, b, { contextRepo })` | comparing sha prefixes by hand |
|
|
29
|
+
| Which refs does this text carry? | `refsIn(text)` · `commitRefsIn(text)` | a local `#(\d+)` |
|
|
30
|
+
| Which board grammar is this? | `boardSchemaOf(doc)` | reading the header row yourself |
|
|
31
|
+
| Which board rows are `workstreams.v1`? | `workstreamsV1RowsOf(doc)` | indexing table cells positionally |
|
|
32
|
+
| Does this row carry a leading tag? | `leadingTagsOf(item)` · `sweepTagOf` · `awaitingOf` | matching `**[KEY:value]**` anywhere in the line |
|
|
33
|
+
| Is a zero an answer or an unread file? | `zeroIsUnparsed(count, sourceText, axis?)` | treating `0` as "none" |
|
|
34
|
+
| What is wrong with this document? | `workDocIssues(doc)` · `workDocIssuesDetailed(doc)` | your own validator |
|
|
35
|
+
| Which phase citations CLOSE a task? | `phaseClosureCitationsIn(text)` | `phaseCitationsIn`, which cannot tell "closes" from "unblocks" |
|
|
36
|
+
| Did this diff newly tick a task? | `newlyTickedInDiff(diff)` | diffing checkbox counts |
|
|
37
|
+
|
|
38
|
+
**A verdict this package exports is a verdict this package owns.** If your code
|
|
39
|
+
answers one of the questions above with its own regex, the two answers will
|
|
40
|
+
diverge — and the divergence is silent, because both sides parse cleanly.
|
|
41
|
+
|
|
42
|
+
## Gaps — questions this package does NOT answer
|
|
43
|
+
|
|
44
|
+
Recorded so a consumer can tell "you missed it" from "we do not offer it", and so
|
|
45
|
+
the check that flags re-derivations knows what it must NOT flag.
|
|
46
|
+
|
|
47
|
+
- **Counting checkboxes in a phase file.** `newlyTickedInDiff` reads a DIFF;
|
|
48
|
+
`phaseCitationsIn` reads citations in prose. Neither counts `- [x]` in a phase
|
|
49
|
+
document. A consumer doing that is filling a gap, not duplicating a verdict.
|
|
50
|
+
- **The source LINE of a parsed item.** No item type carries a line, index or
|
|
51
|
+
offset, so anything that reports `docs/QUEUE.md:<line>` must scan lines itself.
|
|
52
|
+
|
|
53
|
+
## Notes
|
|
54
|
+
|
|
7
55
|
PR2 parse contract: any markdown table is a board, arity 5. Header-cell detection is PR3.
|
package/dist/docs.d.ts
CHANGED
|
@@ -2,9 +2,17 @@ import { EM_DASH_SEP, MIDDOT_SEP } from "./glyphs.js";
|
|
|
2
2
|
import { SCHEMA, type WorkstreamsExtId, type WorkstreamsExtKey } from "./schema.js";
|
|
3
3
|
export type Priority = "P1" | "P2" | "P3";
|
|
4
4
|
export type QueueItem = {
|
|
5
|
+
/**
|
|
6
|
+
* ALWAYS POPULATED — recorded when the raw line carries `⟨q-…⟩` after the
|
|
7
|
+
* priority, otherwise DERIVED from the text. So `!item.id` is never true and
|
|
8
|
+
* cannot ask "which items lack a recorded id" (⟨q-b7f30a52⟩: that idiom read 0
|
|
9
|
+
* on a queue with one unstamped row). Ask `idRecorded`, or `unrecordedQueueItems`.
|
|
10
|
+
*/
|
|
5
11
|
id: string;
|
|
6
12
|
/**
|
|
7
13
|
* True when the id was READ from the line rather than derived from its text.
|
|
14
|
+
* ABSENT EXACTLY WHEN THE SIGIL IS ABSENT FROM THE RAW LINE — this is the
|
|
15
|
+
* field that answers "which items lack a RECORDED id".
|
|
8
16
|
*
|
|
9
17
|
* A derived id is a function of mutable prose, so every edit mints a new item
|
|
10
18
|
* — measured cost on 2026-09-01: a compaction re-issued an id and the item was
|
|
@@ -17,6 +25,11 @@ export type QueueItem = {
|
|
|
17
25
|
idRecorded?: true;
|
|
18
26
|
priority: Priority | null;
|
|
19
27
|
priorityRaw?: string;
|
|
28
|
+
/**
|
|
29
|
+
* The ask, with a recorded `⟨q-…⟩` sigil STRIPPED — so testing `text` for the
|
|
30
|
+
* sigil matches nearly everything (⟨q-b7f30a52⟩: 114 of 237 on a fully stamped
|
|
31
|
+
* queue, every one a false "unstamped"). The sigil lives in `id` + `idRecorded`.
|
|
32
|
+
*/
|
|
20
33
|
text: string;
|
|
21
34
|
done: boolean;
|
|
22
35
|
section?: string;
|
|
@@ -82,24 +95,78 @@ export type Block = {
|
|
|
82
95
|
kind: "decisions";
|
|
83
96
|
items: string[];
|
|
84
97
|
};
|
|
98
|
+
/** What the continuation check looked at, and the RULE that produced it. */
|
|
99
|
+
export type ContinuationPopulation = {
|
|
100
|
+
rule: string;
|
|
101
|
+
linesConsidered: number;
|
|
102
|
+
loadBearing: number;
|
|
103
|
+
proseOnly: number;
|
|
104
|
+
excludedCommentBlockLines: number;
|
|
105
|
+
excludedBlockquoteLines: number;
|
|
106
|
+
/** ⟨q-1197b859⟩ — lines in the Queue section detached from the item above by a blank line: ORPHANS, not continuations. */
|
|
107
|
+
orphanLines: number;
|
|
108
|
+
};
|
|
85
109
|
export type WorkDoc = {
|
|
86
110
|
trailingNewline: boolean;
|
|
87
111
|
blocks: Block[];
|
|
112
|
+
population?: ContinuationPopulation;
|
|
88
113
|
warnings?: string[];
|
|
89
114
|
advisories?: string[];
|
|
90
115
|
};
|
|
91
116
|
export { EM_DASH_SEP, MIDDOT_SEP };
|
|
117
|
+
/**
|
|
118
|
+
* ⟨q-b7f30a52⟩ — "WHICH QUEUE ITEMS LACK A RECORDED ID", askable by name.
|
|
119
|
+
*
|
|
120
|
+
* Two idioms a caller reaches for first are both wrong, in opposite directions,
|
|
121
|
+
* and neither errors: `items.filter(i => !i.id)` reads 0 because `id` is derived
|
|
122
|
+
* when absent, and `!/⟨q-…⟩/.test(i.text)` reads nearly everything because the
|
|
123
|
+
* recorded sigil is stripped from `text`. The field that answers is `idRecorded`,
|
|
124
|
+
* absent exactly when the raw line has no sigil; this is that filter with a name.
|
|
125
|
+
*/
|
|
126
|
+
export declare function unrecordedQueueItems(items: readonly QueueItem[]): QueueItem[];
|
|
92
127
|
export declare const VALID_PRIORITIES: readonly Priority[];
|
|
93
128
|
export declare function parseQueueLine(line: string, section?: string): QueueItem | null;
|
|
94
129
|
/** The warning an invalid-priority item earns, quoting the tag and naming the set. */
|
|
95
130
|
export declare function invalidPriorityIssue(item: QueueItem, line?: number): string;
|
|
96
131
|
export declare function parseDoneLine(line: string, section?: string): DoneEntry | null;
|
|
132
|
+
/**
|
|
133
|
+
* Does this text carry a CITATION — an issue/PR ref or a commit sha?
|
|
134
|
+
*
|
|
135
|
+
* Deliberately delegates to `refsIn`/`hasCommitRef` rather than testing a local
|
|
136
|
+
* regex. The comment below those primitives says why: four separate matchers
|
|
137
|
+
* re-derived "what is a ref" in one day and each got it wrong differently. A
|
|
138
|
+
* fifth here would be the same mistake with a done line instead of a queue item.
|
|
139
|
+
*
|
|
140
|
+
* This is NOT `parseDoneLine`'s tail rule, and the difference is the point. That
|
|
141
|
+
* rule accepts any space-free token after ` — ` as a ref, which is right for a
|
|
142
|
+
* record it is about to keep but far too loose for deciding whether a HEADING was
|
|
143
|
+
* a completion in disguise: `## Phase 5 — shipped` would qualify. A malformation
|
|
144
|
+
* detector that cries wolf on ordinary prose gets switched off, so this one asks
|
|
145
|
+
* for a real citation shape.
|
|
146
|
+
*/
|
|
147
|
+
export declare function carriesCitation(text: string): boolean;
|
|
148
|
+
export declare const doneReflessIssue: (line: number, text: string) => string;
|
|
149
|
+
export declare const doneHeadingFormIssue: (line: number, heading: string) => string;
|
|
97
150
|
export declare function withoutCodeContext(text: string): string;
|
|
98
151
|
export type Ref = {
|
|
99
152
|
raw: string;
|
|
100
153
|
repo: string | null;
|
|
101
154
|
number: string;
|
|
102
155
|
};
|
|
156
|
+
/**
|
|
157
|
+
* What a queue continuation line is HIDING, or null if it is only prose.
|
|
158
|
+
*
|
|
159
|
+
* ⟨q-3f81c92e⟩ — `queue.v1` is one line per item, so a continuation is kept for a
|
|
160
|
+
* human and dropped by every consumer. That is tolerable for commentary and not
|
|
161
|
+
* tolerable for the two things a reader ACTS on: the acceptance criteria and the
|
|
162
|
+
* citation. Hidden there, `list_work` hands a worker a row whose acceptance does
|
|
163
|
+
* not exist and whose PR cannot be followed, with nothing to indicate a loss.
|
|
164
|
+
*
|
|
165
|
+
* Reuses `refsIn` rather than re-deriving a ref pattern: four separate matchers
|
|
166
|
+
* re-derived ref matching in one day once and each got it wrong, which is why
|
|
167
|
+
* that primitive is shared (see `REF_RE`'s own note).
|
|
168
|
+
*/
|
|
169
|
+
export declare function loadBearingContinuation(line: string): string | null;
|
|
103
170
|
/** Every issue/PR reference in a string, qualified where the text qualified it. */
|
|
104
171
|
export declare function refsIn(text: string): Ref[];
|
|
105
172
|
/**
|
|
@@ -146,6 +213,51 @@ export declare function commitRefsIn(text: string): string[];
|
|
|
146
213
|
* does not carry that state.
|
|
147
214
|
*/
|
|
148
215
|
export declare function hasCommitRef(text: string): boolean;
|
|
216
|
+
/** Every state the fleet's boards actually declare. `unknown` is a real answer. */
|
|
217
|
+
export type WorkState = "blocked" | "in-progress" | "in-review" | "done" | "parked" | "orphaned" | "accepted-risk" | "staffable" | "skipped" | "no-downstream" | "unstaffable" | "unclassified" | "unknown";
|
|
218
|
+
/** The projection a renderer asks for: is anybody working on this? */
|
|
219
|
+
export type CoarseWorkState = "in-flight" | "finished" | "open" | "unknown";
|
|
220
|
+
export declare const declarationOf: (status: string) => string;
|
|
221
|
+
/**
|
|
222
|
+
* The state a board status DECLARES.
|
|
223
|
+
*
|
|
224
|
+
* Leading glyph decides; an unknown glyph is `unknown`; a glyphless status is read
|
|
225
|
+
* from its declaration only. Commentary never answers.
|
|
226
|
+
*/
|
|
227
|
+
export declare function workStateOf(status: string | null | undefined): WorkState;
|
|
228
|
+
export declare function coarseOf(state: WorkState): CoarseWorkState;
|
|
229
|
+
/** What a queue row's CLOSING POSITION cites. */
|
|
230
|
+
export type ClosingCitation = {
|
|
231
|
+
token: string;
|
|
232
|
+
refs: Ref[];
|
|
233
|
+
commits: string[];
|
|
234
|
+
};
|
|
235
|
+
/**
|
|
236
|
+
* What the row's closing position cites, or `null` when it has none.
|
|
237
|
+
*
|
|
238
|
+
* ⚠ THE RETURN IS THREE-VALUED AND THE THIRD VALUE IS THE POINT:
|
|
239
|
+
* - a citation — the closing position names these refs/commits;
|
|
240
|
+
* - `null` — THERE IS NO CLOSING POSITION TO READ, so *read the row*.
|
|
241
|
+
*
|
|
242
|
+
* ⛔ `null` is returned BOTH when there is no token AND when no token cites
|
|
243
|
+
* anything, and the collapse is deliberate: a trailer saying something
|
|
244
|
+
* unparseable must not make a row uncited on the strength of its own prose.
|
|
245
|
+
*
|
|
246
|
+
* ⛔⛆ DO NOT "SIMPLIFY" THIS TO AN EMPTY REF LIST. An empty list reads as *"the
|
|
247
|
+
* closing position says nothing owes"* — a positive claim — where `null` says
|
|
248
|
+
* *"I cannot answer; ask the row."* On the delivery-marker side that substitution
|
|
249
|
+
* turns an honest `answerable: false` into a confident wrong zero.
|
|
250
|
+
*
|
|
251
|
+
* ⛔ THIS IS A **READER**, NOT A DECISION. It does not decide the tie, does not
|
|
252
|
+
* resolve repositories (that is `refsMatch` + a `contextRepo`, and a BARE `270`
|
|
253
|
+
* is correctly untieable with no origin), does not match `DONE.md` entries, and
|
|
254
|
+
* does not read commit subjects. Its consumers ask DIFFERENT questions of the
|
|
255
|
+
* same answer — `doctor` falls back to the whole row because it asks "can this
|
|
256
|
+
* row be tied at all?", while the delivery-marker gate stays untied and says so
|
|
257
|
+
* because it asks "which refs CLOSED it?" — so sharing this reader is correct
|
|
258
|
+
* and sharing either of those decisions is not.
|
|
259
|
+
*/
|
|
260
|
+
export declare function closingCitation(text: string): ClosingCitation | null;
|
|
149
261
|
/**
|
|
150
262
|
* Do two cited shas name the same commit? Compared as a PREFIX, not
|
|
151
263
|
* equality: git's own abbreviation convention means a 7-char short sha and a
|
|
@@ -247,12 +359,32 @@ export type ZeroAxis = {
|
|
|
247
359
|
};
|
|
248
360
|
/** Non-blank lines that are not headings, frontmatter delimiters or comments. */
|
|
249
361
|
export declare function substantiveLines(text: string): number;
|
|
362
|
+
/** Checkbox list items outside frontmatter: queue rows somebody attempted to write. */
|
|
363
|
+
export declare function queueRowAttempts(text: string): number;
|
|
250
364
|
/**
|
|
251
365
|
* Is this axis's zero an ANSWER or an UNANSWERED QUESTION?
|
|
252
366
|
*
|
|
253
367
|
* `count > 0` is never in doubt, so this only ever qualifies a zero.
|
|
368
|
+
*
|
|
369
|
+
* THE QUEUE AXIS ASKS A NARROWER QUESTION THAN THE OTHERS, because on a queue
|
|
370
|
+
* document prose is not evidence of a missed row. `substantiveLines` was built
|
|
371
|
+
* for the done axis, where any authored line under an empty log is a fair
|
|
372
|
+
* reason to doubt the zero. A pruned `docs/QUEUE.md` keeps its headings AND its
|
|
373
|
+
* explanatory prose by design, so that same measure reported a perfectly
|
|
374
|
+
* healthy empty queue as unparsed — red-when-fine, measured at 793 substantive
|
|
375
|
+
* lines with zero rows present.
|
|
376
|
+
*
|
|
377
|
+
* So for `axis: "queue"` the discriminator is ROW ATTEMPTS, not content. The
|
|
378
|
+
* four states this separates, measured on this repo's real `docs/QUEUE.md`:
|
|
379
|
+
* populated (168 rows, count 168) `false` · pruned-but-prose-kept (0 attempts)
|
|
380
|
+
* `false` · heading-removed, so the rows exist but nothing parses them (168
|
|
381
|
+
* attempts, count 0) `true` · rows present but refused by the grammar (2
|
|
382
|
+
* attempts, count 0) `true`.
|
|
383
|
+
*
|
|
384
|
+
* Axis is OPTIONAL and omitting it preserves the old behaviour exactly, so the
|
|
385
|
+
* done and board axes are untouched by this change.
|
|
254
386
|
*/
|
|
255
|
-
export declare function zeroIsUnparsed(count: number, sourceText: string): boolean;
|
|
387
|
+
export declare function zeroIsUnparsed(count: number, sourceText: string, axis?: ZeroAxis["axis"]): boolean;
|
|
256
388
|
export declare function renderWorkDoc(doc: WorkDoc): string;
|
|
257
389
|
export declare function queueItemsOf(doc: WorkDoc): QueueItem[];
|
|
258
390
|
export declare function doneEntriesOf(doc: WorkDoc): DoneEntry[];
|
package/dist/docs.js
CHANGED
|
@@ -70,6 +70,18 @@ function idFor(kind, seed) {
|
|
|
70
70
|
// lands — which matters because ids are the join key between QUEUE.md, the
|
|
71
71
|
// board, and DONE.md, and the aide's subscriptions are keyed on them.
|
|
72
72
|
const QUEUE_ID = /^⟨(q-[0-9a-f]{8})⟩\s+/;
|
|
73
|
+
/**
|
|
74
|
+
* ⟨q-b7f30a52⟩ — "WHICH QUEUE ITEMS LACK A RECORDED ID", askable by name.
|
|
75
|
+
*
|
|
76
|
+
* Two idioms a caller reaches for first are both wrong, in opposite directions,
|
|
77
|
+
* and neither errors: `items.filter(i => !i.id)` reads 0 because `id` is derived
|
|
78
|
+
* when absent, and `!/⟨q-…⟩/.test(i.text)` reads nearly everything because the
|
|
79
|
+
* recorded sigil is stripped from `text`. The field that answers is `idRecorded`,
|
|
80
|
+
* absent exactly when the raw line has no sigil; this is that filter with a name.
|
|
81
|
+
*/
|
|
82
|
+
export function unrecordedQueueItems(items) {
|
|
83
|
+
return items.filter((i) => !i.idRecorded);
|
|
84
|
+
}
|
|
73
85
|
const QUEUE_LINE = /^- \[( |x)\] \((P1|P2|P3)\) (.*)$/;
|
|
74
86
|
// The same shape with ANY parenthesised tag. Recognising it is the whole fix:
|
|
75
87
|
// a line only the strict pattern could see was not merely unparsed, it was
|
|
@@ -154,6 +166,49 @@ export function parseDoneLine(line, section) {
|
|
|
154
166
|
...(section ? { section } : {}),
|
|
155
167
|
};
|
|
156
168
|
}
|
|
169
|
+
/**
|
|
170
|
+
* Does this text carry a CITATION — an issue/PR ref or a commit sha?
|
|
171
|
+
*
|
|
172
|
+
* Deliberately delegates to `refsIn`/`hasCommitRef` rather than testing a local
|
|
173
|
+
* regex. The comment below those primitives says why: four separate matchers
|
|
174
|
+
* re-derived "what is a ref" in one day and each got it wrong differently. A
|
|
175
|
+
* fifth here would be the same mistake with a done line instead of a queue item.
|
|
176
|
+
*
|
|
177
|
+
* This is NOT `parseDoneLine`'s tail rule, and the difference is the point. That
|
|
178
|
+
* rule accepts any space-free token after ` — ` as a ref, which is right for a
|
|
179
|
+
* record it is about to keep but far too loose for deciding whether a HEADING was
|
|
180
|
+
* a completion in disguise: `## Phase 5 — shipped` would qualify. A malformation
|
|
181
|
+
* detector that cries wolf on ordinary prose gets switched off, so this one asks
|
|
182
|
+
* for a real citation shape.
|
|
183
|
+
*/
|
|
184
|
+
export function carriesCitation(text) {
|
|
185
|
+
return refsIn(text).length > 0 || hasCommitRef(text);
|
|
186
|
+
}
|
|
187
|
+
// THE TWO WAYS A COMPLETION LINE GOES WRONG FAIL IN OPPOSITE DIRECTIONS, AND
|
|
188
|
+
// NEITHER USED TO SAY ANYTHING (q-2f6ba85e).
|
|
189
|
+
//
|
|
190
|
+
// An ASCII hyphen or a period instead of ` — ` / ` · ` still PARSES: the entry is
|
|
191
|
+
// kept, counted, and carries no ref — so `list_work` reports one more completion
|
|
192
|
+
// than exists and cites nothing for it. A heading-form completion goes the other
|
|
193
|
+
// way: a level-2 heading ENDS the done section, so every entry after it
|
|
194
|
+
// disappears and the count reads zero.
|
|
195
|
+
//
|
|
196
|
+
// One row too many, or none. An instrument silent in both directions cannot be
|
|
197
|
+
// trusted in either, which is why these are warnings and not advisories: both
|
|
198
|
+
// corrupt a number the bus reports.
|
|
199
|
+
export const doneReflessIssue = (line, text) => carriesCitation(text)
|
|
200
|
+
? `line ${line}: done entry parses but its citation is NOT in the ref position, so nothing links this completion to a merge — ` +
|
|
201
|
+
`the separator before the ref must be an em-dash " \u2014 " and the one before the date a middot " \u00b7 ". ` +
|
|
202
|
+
`The entry is KEPT and COUNTED as done, which is why this is a warning: an ASCII hyphen or period here inflates the done count silently.`
|
|
203
|
+
: `line ${line}: done entry cites no issue/PR ref and no QUALIFIED commit ref. ` +
|
|
204
|
+
`A BARE SHA DOES NOT COUNT and this is not a typo in the message: ` + "`" + `owner/repo@sha` + "`" + ` names a repository, ` +
|
|
205
|
+
`a bare ` + "`" + `47b26aa` + "`" + ` does not, so nothing can resolve it — if there is a sha on this line already, qualify and reposition it rather than finding another. ` +
|
|
206
|
+
`Add ` + "`" + ` \u2014 owner/repo#N` + "`" + ` or ` + "`" + ` \u2014 owner/repo@sha` + "`" + `, optionally ` + "`" + ` \u00b7 YYYY-MM-DD` + "`" + `.`;
|
|
207
|
+
export const doneHeadingFormIssue = (line, heading) => `line ${line}: "${heading}" is a completion written as a HEADING, not as a done line — it carries a citation but no ` +
|
|
208
|
+
"`- [x] `" +
|
|
209
|
+
` marker, so it is not parsed as an entry. ` +
|
|
210
|
+
`A level-1 or level-2 heading also ENDS the done section, so entries below it are dropped too: this malformation reads as ZERO completions, not one missing. ` +
|
|
211
|
+
`Rewrite it as ` + "`" + `- [x] <what shipped> \u2014 <ref> \u00b7 <date>` + "`" + `.`;
|
|
157
212
|
// ---------- issue / PR references ----------
|
|
158
213
|
//
|
|
159
214
|
// THE REF THAT CLOSED AN ITEM IS A DIFFERENT FACT FROM A REF MENTIONED IN IT, AND
|
|
@@ -222,6 +277,30 @@ export function withoutCodeContext(text) {
|
|
|
222
277
|
// that only understood the fully-qualified form would classify every real
|
|
223
278
|
// shorthand as bare, which is the ambiguous bucket where nothing matches.
|
|
224
279
|
const REF_RE = /(?:([\w.-]+(?:\/[\w.-]+)?))?#(\d+)\b/g;
|
|
280
|
+
/**
|
|
281
|
+
* What a queue continuation line is HIDING, or null if it is only prose.
|
|
282
|
+
*
|
|
283
|
+
* ⟨q-3f81c92e⟩ — `queue.v1` is one line per item, so a continuation is kept for a
|
|
284
|
+
* human and dropped by every consumer. That is tolerable for commentary and not
|
|
285
|
+
* tolerable for the two things a reader ACTS on: the acceptance criteria and the
|
|
286
|
+
* citation. Hidden there, `list_work` hands a worker a row whose acceptance does
|
|
287
|
+
* not exist and whose PR cannot be followed, with nothing to indicate a loss.
|
|
288
|
+
*
|
|
289
|
+
* Reuses `refsIn` rather than re-deriving a ref pattern: four separate matchers
|
|
290
|
+
* re-derived ref matching in one day once and each got it wrong, which is why
|
|
291
|
+
* that primitive is shared (see `REF_RE`'s own note).
|
|
292
|
+
*/
|
|
293
|
+
export function loadBearingContinuation(line) {
|
|
294
|
+
const hasAcceptance = /\bacceptance\s*:/i.test(line);
|
|
295
|
+
const refs = refsIn(line);
|
|
296
|
+
if (hasAcceptance && refs.length)
|
|
297
|
+
return "an acceptance clause and a citation";
|
|
298
|
+
if (hasAcceptance)
|
|
299
|
+
return "an acceptance clause";
|
|
300
|
+
if (refs.length)
|
|
301
|
+
return `a citation (${refs[0]?.raw})`;
|
|
302
|
+
return null;
|
|
303
|
+
}
|
|
225
304
|
/** Every issue/PR reference in a string, qualified where the text qualified it. */
|
|
226
305
|
export function refsIn(text) {
|
|
227
306
|
return [...String(text).matchAll(REF_RE)].map((m) => ({
|
|
@@ -283,6 +362,260 @@ export function commitRefsIn(text) {
|
|
|
283
362
|
export function hasCommitRef(text) {
|
|
284
363
|
return commitRefsIn(text).length > 0;
|
|
285
364
|
}
|
|
365
|
+
/*
|
|
366
|
+
* ⛔ EMPHASIS IS STRIPPED BEFORE THE STATE IS READ, AND `⭐` IS NOT A STATE.
|
|
367
|
+
*
|
|
368
|
+
* A live row opens `⭐⭐ **THE HELD CLOSURE IS ITSELF WHAT ARMS THE DEFECT…`. Without
|
|
369
|
+
* this, `⭐` is read as the leading glyph and the row gets a state invented for it;
|
|
370
|
+
* with it, the row correctly reaches `unknown`, because stripping reveals no state
|
|
371
|
+
* glyph rather than conjuring one. `**` is stripped for the same reason — board
|
|
372
|
+
* cells bold their state (`**⛔ Blocked**`) and the glyph is the state, not the bold.
|
|
373
|
+
*
|
|
374
|
+
* ⚠ THE SET IS EVIDENCE-BASED, NOT A JUDGEMENT ABOUT TASTE: `⭐` is the only
|
|
375
|
+
* decoration observed in leading position on a status cell. An unlisted decoration
|
|
376
|
+
* therefore lands on the middle branch and returns `unknown` — which is the safe
|
|
377
|
+
* direction, and why this list does not need to be exhaustive to be correct.
|
|
378
|
+
*/
|
|
379
|
+
const STATUS_DECORATION = /^[\s*⭐]+/u;
|
|
380
|
+
/*
|
|
381
|
+
* ⭐ GLYPH -> STATE, and every entry is DOCUMENTED somewhere rather than inferred.
|
|
382
|
+
*
|
|
383
|
+
* The discriminator for "is this a state?" is whether the fleet writes it down, NOT
|
|
384
|
+
* whether a checker's regex already knows it. `doctor`'s regexes and the console's
|
|
385
|
+
* four-value model are BOTH stale subsets — of different boards — so deriving this
|
|
386
|
+
* table from either would codify that board's blind spots:
|
|
387
|
+
*
|
|
388
|
+
* 🔻 Orphaned protocol: coord-playbook/README.md, skills/references/handoff.md
|
|
389
|
+
* ⚠ Accepted risk board convention: docs/WORKSTREAMS.md
|
|
390
|
+
* ▶ Staffable board convention: docs/WORKSTREAMS.md
|
|
391
|
+
* 🚫 Unstaffable · 🔍 In Review coord-mcp/src/tools/stall.ts + the board
|
|
392
|
+
* ⏭ Skipped · ◻ No downstream the console's shipped tone table (c3d7b43)
|
|
393
|
+
*
|
|
394
|
+
* ⛆⛆ `unclassified` IS NOT A SYNONYM FOR `unknown`, AND CONFLATING THEM IS A SILENT
|
|
395
|
+
* UI REGRESSION AT ADOPTION. The console's shipped `workStateOf`
|
|
396
|
+
* (`apps/web/src/lib/status.ts:73-76` on its `origin/main`) distinguishes TWO
|
|
397
|
+
* unrecognised cases and gives them DIFFERENT coarse answers:
|
|
398
|
+
*
|
|
399
|
+
* unrecognised leading GLYPH -> `unknown` (ANY_GLYPH, :73)
|
|
400
|
+
* GLYPHLESS and no word matched -> `open` (the bare `return "open"`, :76)
|
|
401
|
+
*
|
|
402
|
+
* My first version returned `unknown` for both, so `"Ops hold — ✅ done upstream"`
|
|
403
|
+
* came back `unknown` where the console renders it `open` — measured against the
|
|
404
|
+
* consumer's four-row migration contract, 1 of 4 disagreed. Since `coarseOf` IS the
|
|
405
|
+
* console's projection, a disagreement there changes the UI the moment it re-pins,
|
|
406
|
+
* and the console cannot catch it until then.
|
|
407
|
+
*
|
|
408
|
+
* ⭐ SO THE FIX IS A SECOND STATE, NOT A WIDER ONE: `unclassified` means "this is on
|
|
409
|
+
* the board, it is glyphless, and no vocabulary entry matched" — which is still work
|
|
410
|
+
* nobody is doing and not complete, hence `open`. `unknown` stays reserved for "I was
|
|
411
|
+
* given a marker I do not recognise", which is genuinely unanswerable. Collapsing
|
|
412
|
+
* them would make the board check and the renderer disagree in opposite directions.
|
|
413
|
+
*
|
|
414
|
+
* ⛔ NOTHING IS INVENTED FOR A GLYPH NOBODY DOCUMENTS. An unrecognised glyph is not
|
|
415
|
+
* a state, and guessing one is how a vocabulary starts lying.
|
|
416
|
+
*/
|
|
417
|
+
const GLYPH_STATE = [
|
|
418
|
+
["⛔", "blocked"],
|
|
419
|
+
["🚧", "in-progress"],
|
|
420
|
+
["🔍", "in-review"],
|
|
421
|
+
["✅", "done"],
|
|
422
|
+
["⏸", "parked"],
|
|
423
|
+
["🔻", "orphaned"],
|
|
424
|
+
["⚠", "accepted-risk"],
|
|
425
|
+
["▶", "staffable"],
|
|
426
|
+
["⏭", "skipped"],
|
|
427
|
+
["◻", "no-downstream"],
|
|
428
|
+
["🚫", "unstaffable"],
|
|
429
|
+
];
|
|
430
|
+
/** Any pictographic lead — the middle branch's test, never a state by itself. */
|
|
431
|
+
const ANY_LEADING_GLYPH = /^[\p{Extended_Pictographic}■-➿⬀-⯿]/u;
|
|
432
|
+
/*
|
|
433
|
+
* The part of a status that DECLARES something. Commentary after the first
|
|
434
|
+
* separator is a note to a human, and reading it is the defect above: the
|
|
435
|
+
* declaration of `🔍 In Review — **MERGED WILL NOT MEAN DELIVERED**` is
|
|
436
|
+
* `🔍 In Review`, and the rest is prose that must never answer.
|
|
437
|
+
*
|
|
438
|
+
* Separator set taken verbatim from the console's shipped `declarationOf` so the
|
|
439
|
+
* two sides cut the string in the same place; a seam that split differently would
|
|
440
|
+
* reintroduce the divergence this export exists to remove.
|
|
441
|
+
*/
|
|
442
|
+
export const declarationOf = (status) => String(status ?? "").split(/\s+[—·]\s+|\s+--\s+/)[0].trim();
|
|
443
|
+
/*
|
|
444
|
+
* ⚠ PROSE IS CONSULTED ONLY FOR A GLYPHLESS STATUS, AND ONLY ITS DECLARATION.
|
|
445
|
+
*
|
|
446
|
+
* Glyphless boards are real — lanes-v0 rows say "working" and "gate pending" — so
|
|
447
|
+
* refusing them outright would silence a third of this fleet's own board, which is
|
|
448
|
+
* a coverage loss dressed as rigour. Ordered, first match wins.
|
|
449
|
+
*
|
|
450
|
+
* ⭐ `unstaffable` IS GUARDED TWICE, AND THE ORDERING IS THE WEAKER OF THE TWO.
|
|
451
|
+
* `\bstaffable\b` already cannot match inside "unstaffable" — there is no word
|
|
452
|
+
* boundary between "n" and "s" — so the boundary anchors, not the row order, are
|
|
453
|
+
* what actually decide it. Measured: reordering alone still returns `unstaffable`;
|
|
454
|
+
* only dropping the anchors AND reordering flips it. The order is kept as defence
|
|
455
|
+
* in depth and is documented as such, because a comment that credits the wrong
|
|
456
|
+
* guard is how the load-bearing one gets removed as redundant.
|
|
457
|
+
*/
|
|
458
|
+
const PROSE_STATE = [
|
|
459
|
+
[/\bblocked\b|\bblocker\b/i, "blocked"],
|
|
460
|
+
[/\bunstaffable\b/i, "unstaffable"],
|
|
461
|
+
[/\bstaffable\b/i, "staffable"],
|
|
462
|
+
[/\bin\s+review\b|\bgate\s+pending\b/i, "in-review"],
|
|
463
|
+
[/\bin\s+progress\b|\bclaimed\b|\bworking\b/i, "in-progress"],
|
|
464
|
+
[/\bdone\b|\bmerged\b|\bdeployed\b|\bcomplete(?:d)?\b|\bclosed\b|\bresolved\b/i, "done"],
|
|
465
|
+
[/\bparked\b/i, "parked"],
|
|
466
|
+
[/\borphaned\b/i, "orphaned"],
|
|
467
|
+
[/\bskipped\b/i, "skipped"],
|
|
468
|
+
[/\bno[-\s]?downstream\b/i, "no-downstream"],
|
|
469
|
+
];
|
|
470
|
+
/**
|
|
471
|
+
* The state a board status DECLARES.
|
|
472
|
+
*
|
|
473
|
+
* Leading glyph decides; an unknown glyph is `unknown`; a glyphless status is read
|
|
474
|
+
* from its declaration only. Commentary never answers.
|
|
475
|
+
*/
|
|
476
|
+
export function workStateOf(status) {
|
|
477
|
+
const raw = String(status ?? "").trim();
|
|
478
|
+
if (!raw)
|
|
479
|
+
return "unknown";
|
|
480
|
+
const s = raw.replace(STATUS_DECORATION, "");
|
|
481
|
+
if (!s)
|
|
482
|
+
return "unknown";
|
|
483
|
+
for (const [glyph, state] of GLYPH_STATE)
|
|
484
|
+
if (s.startsWith(glyph))
|
|
485
|
+
return state;
|
|
486
|
+
if (ANY_LEADING_GLYPH.test(s))
|
|
487
|
+
return "unknown";
|
|
488
|
+
const decl = declarationOf(s);
|
|
489
|
+
for (const [re, state] of PROSE_STATE)
|
|
490
|
+
if (re.test(decl))
|
|
491
|
+
return state;
|
|
492
|
+
// Glyphless and nothing matched — NOT `unknown`. See the `unclassified` note above:
|
|
493
|
+
// the console renders this row `open`, and `coarseOf` is its projection.
|
|
494
|
+
return "unclassified";
|
|
495
|
+
}
|
|
496
|
+
/*
|
|
497
|
+
* ⭐⭐ THE PROJECTION A RENDERER CALLS — and `blocked -> open` IS THE ANSWER TO
|
|
498
|
+
* ⟨q-fcc9858e⟩ RATHER THAN A PREFERENCE, WHICH IS WHY THE REASON SHIPS WITH IT.
|
|
499
|
+
*
|
|
500
|
+
* That row is titled "the two status vocabularies that disagree about what NOT
|
|
501
|
+
* BEING WORKED ON means". This is that disagreement settled: the question `coarse`
|
|
502
|
+
* answers is IS ANYBODY WORKING ON THIS, so a BLOCKED item is NOT in flight — it is
|
|
503
|
+
* work nobody is doing. Filing `blocked` under `in-flight` is the intuitive answer
|
|
504
|
+
* and it is the bug: it makes a stalled board look busy.
|
|
505
|
+
*
|
|
506
|
+
* ⚠ TONE AND STATE ARE DIFFERENT QUESTIONS, DELIBERATELY: the console renders `⛔`
|
|
507
|
+
* as a BAD pill and classifies it `open` at the same time, and both are right. A
|
|
508
|
+
* reader who collapses them will "fix" one of the two.
|
|
509
|
+
*
|
|
510
|
+
* The range is exactly the console's four values, because the console RENDERS this
|
|
511
|
+
* projection: a projection a consumer CALLS is consuming, and one it RE-DERIVES is
|
|
512
|
+
* guessing — which is what left ⟨q-fcc9858e⟩ open with its own half already shipped.
|
|
513
|
+
*/
|
|
514
|
+
export function coarseOf(state) {
|
|
515
|
+
switch (state) {
|
|
516
|
+
case "in-progress":
|
|
517
|
+
case "in-review":
|
|
518
|
+
return "in-flight";
|
|
519
|
+
case "done":
|
|
520
|
+
return "finished";
|
|
521
|
+
case "unknown":
|
|
522
|
+
return "unknown";
|
|
523
|
+
// `unclassified` deliberately does NOT land here — it falls to `open` below,
|
|
524
|
+
// matching the console's bare `return "open"` for a glyphless unmatched row.
|
|
525
|
+
// Everything else is work NOBODY IS DOING and NOT complete — blocked included.
|
|
526
|
+
default:
|
|
527
|
+
return "open";
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
/**
|
|
531
|
+
* ⛔ THE DISCRIMINATOR IS THE TOKEN'S **STRUCTURE**, NOT ITS DISTANCE FROM THE END.
|
|
532
|
+
*
|
|
533
|
+
* A row's closing citation is the bold-delimited trailer `· **closed by <ref>**`.
|
|
534
|
+
* This was once END-ANCHORED, until a curation addendum was appended AFTER
|
|
535
|
+
* ⟨q-6a4f0c38⟩'s citation and pushed it 1,144 characters from the end: the
|
|
536
|
+
* citation became unreadable and the row's green fell back onto a `#270` sitting
|
|
537
|
+
* in the addendum's PROSE, with nothing going red at the moment it broke.
|
|
538
|
+
*
|
|
539
|
+
* ⭐ THE REJECTED FIX WAS A WRITING CONVENTION — *"curation appends BEFORE the
|
|
540
|
+
* token"*. A rule with no enforcement that every future writer must remember,
|
|
541
|
+
* and the fleet demonstrably does not: that addendum was written four hours
|
|
542
|
+
* after the same practice was adopted for `docs/DONE.md`, in another file, for a
|
|
543
|
+
* good reason.
|
|
544
|
+
*
|
|
545
|
+
* ⛔⛆ AND "LAST OCCURRENCE" IS NOT THE CURE EITHER — `parseDoneLine` below has
|
|
546
|
+
* used `lastIndexOf(EM_DASH_SEP)` all along, which IS the last-occurrence rule,
|
|
547
|
+
* and it still returned `"see note"` AS THE REF when an addendum carried an
|
|
548
|
+
* em-dash and a date, because its shape guard runs only on the no-date branch.
|
|
549
|
+
* ⭐ ***SHAPE DECIDES CANDIDACY; POSITION ONLY DECIDES WHICH CANDIDATE WINS.***
|
|
550
|
+
*
|
|
551
|
+
* ⚠ DROPPING THE ANCHOR IS NOT DROPPING THE STRUCTURE. The counterexample lives
|
|
552
|
+
* in ⟨q-6a4f0c38⟩'s own body — *"A gap closed by someone choosing to disclose is
|
|
553
|
+
* not a gap that is closed"* — and 4 closed rows carry that phrase outside any
|
|
554
|
+
* token, one of them 8 times with ZERO tokens. The `· ** … **` delimiters are
|
|
555
|
+
* what exclude every one of them; the `$` never was.
|
|
556
|
+
*/
|
|
557
|
+
const CLOSING_TOKEN_RE = /·\s*\*\*\s*closed by\s+([^*]+?)\s*\*\*/g;
|
|
558
|
+
/** A closing token that is nothing but digits — `land`'s bare form. */
|
|
559
|
+
const BARE_CLOSING_NUMBER_RE = /^(\d+)$/;
|
|
560
|
+
/**
|
|
561
|
+
* What the row's closing position cites, or `null` when it has none.
|
|
562
|
+
*
|
|
563
|
+
* ⚠ THE RETURN IS THREE-VALUED AND THE THIRD VALUE IS THE POINT:
|
|
564
|
+
* - a citation — the closing position names these refs/commits;
|
|
565
|
+
* - `null` — THERE IS NO CLOSING POSITION TO READ, so *read the row*.
|
|
566
|
+
*
|
|
567
|
+
* ⛔ `null` is returned BOTH when there is no token AND when no token cites
|
|
568
|
+
* anything, and the collapse is deliberate: a trailer saying something
|
|
569
|
+
* unparseable must not make a row uncited on the strength of its own prose.
|
|
570
|
+
*
|
|
571
|
+
* ⛔⛆ DO NOT "SIMPLIFY" THIS TO AN EMPTY REF LIST. An empty list reads as *"the
|
|
572
|
+
* closing position says nothing owes"* — a positive claim — where `null` says
|
|
573
|
+
* *"I cannot answer; ask the row."* On the delivery-marker side that substitution
|
|
574
|
+
* turns an honest `answerable: false` into a confident wrong zero.
|
|
575
|
+
*
|
|
576
|
+
* ⛔ THIS IS A **READER**, NOT A DECISION. It does not decide the tie, does not
|
|
577
|
+
* resolve repositories (that is `refsMatch` + a `contextRepo`, and a BARE `270`
|
|
578
|
+
* is correctly untieable with no origin), does not match `DONE.md` entries, and
|
|
579
|
+
* does not read commit subjects. Its consumers ask DIFFERENT questions of the
|
|
580
|
+
* same answer — `doctor` falls back to the whole row because it asks "can this
|
|
581
|
+
* row be tied at all?", while the delivery-marker gate stays untied and says so
|
|
582
|
+
* because it asks "which refs CLOSED it?" — so sharing this reader is correct
|
|
583
|
+
* and sharing either of those decisions is not.
|
|
584
|
+
*/
|
|
585
|
+
export function closingCitation(text) {
|
|
586
|
+
const line = String(text ?? "");
|
|
587
|
+
// ⚠ THE LAST WELL-FORMED TOKEN WINS, so every structural match is read and the
|
|
588
|
+
// LAST one that actually CITES something is kept. "Well-formed" means the token
|
|
589
|
+
// BEARS a ref, commit or bare number: an unparseable later token must not end
|
|
590
|
+
// the search, or it would mask a real citation earlier in the row.
|
|
591
|
+
//
|
|
592
|
+
// `CLOSING_TOKEN_RE` is `g`-flagged and `lastIndex` is stateful, so it is reset
|
|
593
|
+
// on entry rather than trusted across calls.
|
|
594
|
+
CLOSING_TOKEN_RE.lastIndex = 0;
|
|
595
|
+
let found = null;
|
|
596
|
+
for (const m of line.matchAll(CLOSING_TOKEN_RE)) {
|
|
597
|
+
const token = String(m[1]).trim();
|
|
598
|
+
// ⚠ THE TOKEN IS NOT REQUIRED TO **BE** A REF: `land --result` writes
|
|
599
|
+
// `owner/repo#233 — init refuses unknown flags`, so the token carries a ref
|
|
600
|
+
// PLUS prose. A reader requiring the whole token to match a ref drops every
|
|
601
|
+
// one of those — the obvious reading, and wrong. Run the primitives OVER the
|
|
602
|
+
// token and take what they find.
|
|
603
|
+
const refs = refsIn(token);
|
|
604
|
+
const commits = commitRefsIn(token);
|
|
605
|
+
if (refs.length > 0 || commits.length > 0) {
|
|
606
|
+
found = { token, refs, commits };
|
|
607
|
+
continue;
|
|
608
|
+
}
|
|
609
|
+
// ⭐ THE BARE FORM, which `land` has written: `· **closed by 270**`. Dropping
|
|
610
|
+
// it leaves that row untieable while its closing position says plainly what
|
|
611
|
+
// closed it. Recognised ONLY when the token is nothing but digits — a number
|
|
612
|
+
// inside prose is not a citation, the same positional rule one level down.
|
|
613
|
+
const bare = BARE_CLOSING_NUMBER_RE.exec(token);
|
|
614
|
+
if (bare)
|
|
615
|
+
found = { token, refs: refsIn(`#${bare[1]}`), commits: [] };
|
|
616
|
+
}
|
|
617
|
+
return found;
|
|
618
|
+
}
|
|
286
619
|
/**
|
|
287
620
|
* Do two cited shas name the same commit? Compared as a PREFIX, not
|
|
288
621
|
* equality: git's own abbreviation convention means a 7-char short sha and a
|
|
@@ -321,7 +654,27 @@ export function commitRefMatches(a, b) {
|
|
|
321
654
|
// and each reader asks for its key. Order between tags is irrelevant; the run
|
|
322
655
|
// stops at the first token that is not a tag, so a tag quoted in the body is
|
|
323
656
|
// never carried.
|
|
324
|
-
|
|
657
|
+
// ⛔ THE VALUE CLASS MUST ADMIT `/`, AND ITS ABSENCE WAS SILENT IN THE WORST
|
|
658
|
+
// DIRECTION. `[UNDELIVERED:<pkg>@<version>]` reused this grammar for a value that
|
|
659
|
+
// is a PACKAGE SPEC, and npm scopes contain a slash — so
|
|
660
|
+
// `@davidbalzan/groundwork@0.4.13` returned `[]`, BYTE-IDENTICAL to "this row
|
|
661
|
+
// carries no tag". Two of the three packages this fleet currently owes are
|
|
662
|
+
// scoped, and console #91's `carriedTagCensus` has been blind to every one of
|
|
663
|
+
// them on `main`.
|
|
664
|
+
//
|
|
665
|
+
// ⭐ THE REUSABLE FINDING IS THE AIDE'S, ABOUT ITS OWN EDIT: reusing a syntax
|
|
666
|
+
// silently INHERITS ITS DOMAIN, and the inheritance is invisible because the old
|
|
667
|
+
// values all still work. `sweep` and `awaits` values have never contained a
|
|
668
|
+
// slash, so the class was never wrong until a third tag arrived whose values do —
|
|
669
|
+
// and nothing failed at the moment the assumption broke.
|
|
670
|
+
//
|
|
671
|
+
// ⚠ `sweep` and `awaits` READ THIS SAME LEXER and were correct only by that same
|
|
672
|
+
// luck. They are fixtured here too rather than left resting on it.
|
|
673
|
+
//
|
|
674
|
+
// Only `/` is added: the measured need. Widening further — `+` for semver build
|
|
675
|
+
// metadata, say — would admit values nobody writes while increasing what prose
|
|
676
|
+
// can look like.
|
|
677
|
+
const LEADING_TAG = /^\*\*\[([a-z]+):([a-z0-9._@/-]+)\]\*\*\s+/i;
|
|
325
678
|
/** The tags an item CARRIES, in order, lowercased. Body mentions are not tags. */
|
|
326
679
|
export function leadingTagsOf(item) {
|
|
327
680
|
const out = [];
|
|
@@ -564,6 +917,26 @@ export function parseWorkDoc(source) {
|
|
|
564
917
|
let subsection;
|
|
565
918
|
let inFence = false;
|
|
566
919
|
let inHtmlComment = false;
|
|
920
|
+
/**
|
|
921
|
+
* ⟨q-a83b56af⟩ — THE POPULATION THIS PASS ACTUALLY LOOKED AT.
|
|
922
|
+
*
|
|
923
|
+
* ⛔ THREE COUNTS OF ONE DEFECT DISAGREED IN ONE AFTERNOON — 499 continuation
|
|
924
|
+
* lines, 65 items, 336 lines / 68 load-bearing — AND NONE WAS WRONG ABOUT WHAT
|
|
925
|
+
* IT COUNTED. The difference was receipts, and no count said so, so reconciling
|
|
926
|
+
* three correct numbers took three seats and two hours.
|
|
927
|
+
*
|
|
928
|
+
* ⭐⭐ SO THE CHECK STATES THE **RULE**, NOT A NUMBER. A bare count is the thing
|
|
929
|
+
* that failed three times; the rule is what makes two runs comparable without
|
|
930
|
+
* re-deriving either.
|
|
931
|
+
*/
|
|
932
|
+
const pop = {
|
|
933
|
+
continuationLinesConsidered: 0,
|
|
934
|
+
loadBearing: 0,
|
|
935
|
+
proseOnly: 0,
|
|
936
|
+
excludedCommentBlockLines: 0,
|
|
937
|
+
excludedBlockquoteLines: 0,
|
|
938
|
+
orphanLines: 0,
|
|
939
|
+
};
|
|
567
940
|
const flushText = () => {
|
|
568
941
|
if (text.length)
|
|
569
942
|
blocks.push({ kind: "text", lines: text });
|
|
@@ -613,6 +986,12 @@ export function parseWorkDoc(source) {
|
|
|
613
986
|
// Template examples live inside the coordinator-extensions HTML comment.
|
|
614
987
|
// Live sections sit *after* a one-line fence comment (deepblackjack).
|
|
615
988
|
if (inHtmlComment) {
|
|
989
|
+
// ⛔ COUNTED INSIDE THE BLOCK BRANCH, AND THE PLACEMENT *IS* THE NEGATIVE
|
|
990
|
+
// CONTROL: the coordinator counted 30 receipts where the aide counted 169,
|
|
991
|
+
// because it matched the `queue-prune:` MARKER LINE while the block runs on
|
|
992
|
+
// for ~139 more lines. Counting at the marker reproduces the smaller
|
|
993
|
+
// number; counting here cannot.
|
|
994
|
+
pop.excludedCommentBlockLines += 1;
|
|
616
995
|
text.push(line);
|
|
617
996
|
if (/-->/.test(line))
|
|
618
997
|
inHtmlComment = false;
|
|
@@ -620,11 +999,20 @@ export function parseWorkDoc(source) {
|
|
|
620
999
|
}
|
|
621
1000
|
if (/<!--/.test(line) && !/-->/.test(line)) {
|
|
622
1001
|
inHtmlComment = true;
|
|
1002
|
+
pop.excludedCommentBlockLines += 1; // the opening line belongs to the block too
|
|
623
1003
|
text.push(line);
|
|
624
1004
|
continue;
|
|
625
1005
|
}
|
|
626
1006
|
if (/^#{1,6}\s/.test(line)) {
|
|
627
1007
|
const level = (line.match(/^#+/) ?? [""])[0].length;
|
|
1008
|
+
// Checked BEFORE `kind` is reassigned, because reassignment is the damage:
|
|
1009
|
+
// a level<=2 heading sets `kind` to whatever `sectionKindOf` makes of it,
|
|
1010
|
+
// which for a completion-shaped heading is "none" — so the done section
|
|
1011
|
+
// ENDS here and every entry below it stops being a record.
|
|
1012
|
+
const headingText = line.replace(/^#+\s*/, "").trim();
|
|
1013
|
+
if (kind === "done" && carriesCitation(headingText)) {
|
|
1014
|
+
warnings.push(doneHeadingFormIssue(i + 1, headingText));
|
|
1015
|
+
}
|
|
628
1016
|
if (level <= 2) {
|
|
629
1017
|
kind = sectionKindOf(line);
|
|
630
1018
|
subsection = undefined;
|
|
@@ -651,6 +1039,77 @@ export function parseWorkDoc(source) {
|
|
|
651
1039
|
// an item is almost always a wrapped continuation — every parser drops
|
|
652
1040
|
// it silently (seen live: a consumer fleet's queue cut at "…surfaced"). Name it.
|
|
653
1041
|
const prev = blocks[blocks.length - 1];
|
|
1042
|
+
// ⛔ LOAD-BEARING CONTENT IN A CONTINUATION IS A WARNING, NOT AN ADVISORY,
|
|
1043
|
+
// AND THE DIFFERENCE IS WHAT THE READER LOSES.
|
|
1044
|
+
//
|
|
1045
|
+
// The advisory below says "this line is invisible to parsers". That is the
|
|
1046
|
+
// right severity for commentary — the item parsed, the count is honest, and
|
|
1047
|
+
// a body under it is a style cost. But an `acceptance:` clause or a PR
|
|
1048
|
+
// citation is not commentary: it is the part a consumer ACTS on. Hidden
|
|
1049
|
+
// there, `list_work` hands a worker a row whose acceptance criteria do not
|
|
1050
|
+
// exist and whose citation cannot be followed, and nothing looks wrong.
|
|
1051
|
+
//
|
|
1052
|
+
// Measured on this repo's own queue when this was written: 396 continuation
|
|
1053
|
+
// lines, of which 38 carry `acceptance:` and 2 carry a PR ref. So this
|
|
1054
|
+
// separates ~40 rows that are hiding something actionable from ~356 that
|
|
1055
|
+
// are hiding prose — which is exactly the triage the fold needs, and the
|
|
1056
|
+
// reason it is a separate severity rather than a louder advisory.
|
|
1057
|
+
//
|
|
1058
|
+
// Deliberately NOT gated on `text.length === 0`: the advisory fires once per
|
|
1059
|
+
// item-run to avoid crying wolf, but an `acceptance:` on the fifth line of a
|
|
1060
|
+
// run is just as invisible as one on the first, and there are only ~40 of
|
|
1061
|
+
// them in total. Rarity is what makes per-line honest here.
|
|
1062
|
+
//
|
|
1063
|
+
// ⚠ BLOCKQUOTES ARE EXCLUDED, and that exclusion was MEASURED rather than
|
|
1064
|
+
// anticipated: without it this flagged 82 lines where an independent scan
|
|
1065
|
+
// of the same file found 79. The three extras were all `>` prose sitting
|
|
1066
|
+
// after the items — a blockquote is its own block, like a fence or an HTML
|
|
1067
|
+
// comment, and quoting a `#123` inside one is not a row hiding a citation.
|
|
1068
|
+
// Two instruments disagreeing by three was the only reason it was found.
|
|
1069
|
+
if (prev?.kind === "queue" && line.trim() && !/^\s*<!--/.test(line) && /^\s*>/.test(line)) {
|
|
1070
|
+
pop.excludedBlockquoteLines += 1;
|
|
1071
|
+
}
|
|
1072
|
+
// ⛔⛆ ⟨q-1197b859⟩ — A LINE DETACHED FROM THE ITEM ABOVE IS AN ORPHAN, NOT A CONTINUATION.
|
|
1073
|
+
//
|
|
1074
|
+
// MEASURED 2026-09-14: a row, a blank line, then `> quoted prose with #99` scored
|
|
1075
|
+
// ZERO — the blockquote exclusion above (correct for the continuation rule: quoting
|
|
1076
|
+
// `#123` is not a row hiding a citation) also hid it from every other rule, so a
|
|
1077
|
+
// 39-line blockquoted block sat in docs/QUEUE.md invisible to this check while the
|
|
1078
|
+
// check was the instrument the fold was measured BY: 32 issues before the block was
|
|
1079
|
+
// relocated, 32 after. A count that does not move when 39 lines leave the file is
|
|
1080
|
+
// not measuring the file.
|
|
1081
|
+
//
|
|
1082
|
+
// The rule: once a blank line separates a line from the last item, the line belongs
|
|
1083
|
+
// to NO item — blockquoted, indented or bare — and queue.v1 has no place for it.
|
|
1084
|
+
// Named ORPHAN, its own count, and it does not enter the continuation population:
|
|
1085
|
+
// a continuation is the item's own wrapped body; an orphan is text nobody owns.
|
|
1086
|
+
// Receipts (HTML comment blocks) are excluded above, by block. Prose BEFORE a
|
|
1087
|
+
// section's first item is a preamble and is not scored here — an orphan is defined
|
|
1088
|
+
// by the item it was detached from.
|
|
1089
|
+
const detachedFromItem = prev?.kind === "queue" && text.some((t) => t.trim() === "");
|
|
1090
|
+
if (detachedFromItem && line.trim() && !/^\s*<!--/.test(line)) {
|
|
1091
|
+
pop.orphanLines += 1;
|
|
1092
|
+
const shape = /^\s*>/.test(line) ? "blockquoted" : /^\s+\S/.test(line) ? "indented" : "bare";
|
|
1093
|
+
const hidden = /^\s*>/.test(line) ? null : loadBearingContinuation(line);
|
|
1094
|
+
warnings.push(`queue.v1 has no place for line ${i + 1}: it is ORPHAN ${shape} prose — a blank line separates it from the item above, ` +
|
|
1095
|
+
`so it belongs to no item and every consumer drops it${hidden ? `, together with the ${hidden} it carries` : ""}. ` +
|
|
1096
|
+
"Move it to a file and cite that file from a row, or delete it.");
|
|
1097
|
+
text.push(line);
|
|
1098
|
+
continue;
|
|
1099
|
+
}
|
|
1100
|
+
if (prev?.kind === "queue" && line.trim() && !/^\s*<!--/.test(line) && !/^\s*>/.test(line)) {
|
|
1101
|
+
pop.continuationLinesConsidered += 1;
|
|
1102
|
+
const hidden = loadBearingContinuation(line);
|
|
1103
|
+
if (hidden)
|
|
1104
|
+
pop.loadBearing += 1;
|
|
1105
|
+
else
|
|
1106
|
+
pop.proseOnly += 1;
|
|
1107
|
+
if (hidden) {
|
|
1108
|
+
warnings.push(`queue.v1 is one line per item: line ${i + 1} hides ${hidden} in a continuation, ` +
|
|
1109
|
+
"which every consumer drops — a worker reading this row through `list_work` gets " +
|
|
1110
|
+
"neither. Fold it into the item line, or point the row at a file that holds it.");
|
|
1111
|
+
}
|
|
1112
|
+
}
|
|
654
1113
|
if (prev?.kind === "queue" && text.length === 0 && line.trim() && !/^\s*<!--/.test(line)) {
|
|
655
1114
|
// ADVISORY, not a warning. The first line IS the contract and it parsed:
|
|
656
1115
|
// the item is present, correctly shaped and counted, and the body below
|
|
@@ -664,6 +1123,13 @@ export function parseWorkDoc(source) {
|
|
|
664
1123
|
const entry = parseDoneLine(line, subsection);
|
|
665
1124
|
if (entry) {
|
|
666
1125
|
pushEntry(entry);
|
|
1126
|
+
// The entry is KEPT — a completion with no parseable ref is still a
|
|
1127
|
+
// completion, and dropping it would swap a wrong count for a short one.
|
|
1128
|
+
// It is NAMED instead, because it is counted: `list_work` reports
|
|
1129
|
+
// `doneEntriesOf(...).length` and returns these issues beside it, so the
|
|
1130
|
+
// count can no longer be read as clean.
|
|
1131
|
+
if (entry.ref === undefined)
|
|
1132
|
+
warnings.push(doneReflessIssue(i + 1, entry.text));
|
|
667
1133
|
continue;
|
|
668
1134
|
}
|
|
669
1135
|
}
|
|
@@ -742,9 +1208,58 @@ export function parseWorkDoc(source) {
|
|
|
742
1208
|
text.push(line);
|
|
743
1209
|
}
|
|
744
1210
|
flushText();
|
|
1211
|
+
/**
|
|
1212
|
+
* ⟨q-a83b56af⟩ — THE CONTINUATION CHECK DECLARES ITS POPULATION WITH ITS RESULT.
|
|
1213
|
+
*
|
|
1214
|
+
* ⛔ THE ANTI-CONTROL THE ROW NAMES: this clause is NOT satisfied by printing a
|
|
1215
|
+
* number. The population is the RULE THAT PRODUCED the number — a bare count is
|
|
1216
|
+
* exactly what failed three times in one afternoon, when 499, 65 and 336/68 were
|
|
1217
|
+
* each correct about a different population and none of them said which.
|
|
1218
|
+
*
|
|
1219
|
+
* ⛔⛆ AND THE RULE NAMES THE DISTINCTION THAT CAUSED IT: receipts are excluded
|
|
1220
|
+
* BY BLOCK, not by matching the `queue-prune:` marker line. That is the whole
|
|
1221
|
+
* 30-versus-169 disagreement — the marker is one line and the block runs on for
|
|
1222
|
+
* ~139 more — so a statement that did not distinguish them would not be this
|
|
1223
|
+
* clause.
|
|
1224
|
+
*
|
|
1225
|
+
* ⚠ Emitted only when a continuation was actually considered. A population
|
|
1226
|
+
* statement over an empty population is noise, and it would also make every
|
|
1227
|
+
* non-queue document carry a line about queue rows.
|
|
1228
|
+
*/
|
|
1229
|
+
/**
|
|
1230
|
+
* ⟨q-a83b56af⟩ — THE POPULATION TRAVELS AS DATA, CARRYING ITS OWN RULE.
|
|
1231
|
+
*
|
|
1232
|
+
* ⛔ NOT AS AN ADVISORY, and that was measured rather than preferred: emitting
|
|
1233
|
+
* it into `workDocIssues` put a queue-population line on a document that has
|
|
1234
|
+
* an HTML comment and NO QUEUE, and broke two suites that pin exact issue
|
|
1235
|
+
* counts. This file's own comment says why that channel is wrong — *"17 benign
|
|
1236
|
+
* one-line advisories trained the reader to skim past a real failure"*. An
|
|
1237
|
+
* issue list is for issues; this is metadata about the run.
|
|
1238
|
+
*
|
|
1239
|
+
* ⭐⭐ AND THE `rule` FIELD IS THE CLAUSE, not the counts. Three counts of one
|
|
1240
|
+
* defect disagreed in an afternoon — 499 lines, 65 items, 336/68 — and each was
|
|
1241
|
+
* correct about a different population while none said which. A number that
|
|
1242
|
+
* travels without its rule is the thing that failed; these cannot be separated.
|
|
1243
|
+
*/
|
|
1244
|
+
const population = {
|
|
1245
|
+
rule: "a non-blank line after a queue item, EXCLUDING (1) lines inside an HTML comment BY BLOCK, " +
|
|
1246
|
+
"not by matching the `queue-prune:` marker line, and (2) `>` blockquote lines, which are " +
|
|
1247
|
+
"their own block like a fence, and (3) lines DETACHED from the last item by a blank line, which are " +
|
|
1248
|
+
"ORPHANS (counted in orphanLines, blockquoted or not) rather than continuations. UNIT: lines — the " +
|
|
1249
|
+
"per-item continuation advisory counts ITEMS, so the two are not comparable.",
|
|
1250
|
+
linesConsidered: pop.continuationLinesConsidered,
|
|
1251
|
+
loadBearing: pop.loadBearing,
|
|
1252
|
+
proseOnly: pop.proseOnly,
|
|
1253
|
+
excludedCommentBlockLines: pop.excludedCommentBlockLines,
|
|
1254
|
+
excludedBlockquoteLines: pop.excludedBlockquoteLines,
|
|
1255
|
+
orphanLines: pop.orphanLines,
|
|
1256
|
+
};
|
|
745
1257
|
return {
|
|
746
1258
|
trailingNewline,
|
|
747
1259
|
blocks,
|
|
1260
|
+
// ⚠ Only when a queue was actually examined. A population over an empty
|
|
1261
|
+
// population is noise, and it would put a queue line on every document.
|
|
1262
|
+
...(population.linesConsidered > 0 || population.orphanLines > 0 ? { population } : {}),
|
|
748
1263
|
...(warnings.length ? { warnings } : {}),
|
|
749
1264
|
...(advisories.length ? { advisories } : {}),
|
|
750
1265
|
};
|
|
@@ -885,13 +1400,67 @@ export function substantiveLines(text) {
|
|
|
885
1400
|
}
|
|
886
1401
|
return n;
|
|
887
1402
|
}
|
|
1403
|
+
/**
|
|
1404
|
+
* A line shaped like a QUEUE ROW — a markdown checkbox list item — whether or
|
|
1405
|
+
* not the grammar could read it. The queue axis's analogue of
|
|
1406
|
+
* `looksLikeBoardAttempt`: evidence that somebody wrote a row here.
|
|
1407
|
+
*
|
|
1408
|
+
* NOT "any list item", and the difference is the whole fix. Measured on this
|
|
1409
|
+
* repo's own `docs/QUEUE.md` with every item line removed: 0 checkbox lines
|
|
1410
|
+
* remain and 9 PLAIN BULLETS do — the prose furniture of the template itself.
|
|
1411
|
+
* A predicate counting bullets would have gone on reporting the pruned queue as
|
|
1412
|
+
* unparsed, which is the exact red-when-fine case being fixed here.
|
|
1413
|
+
*/
|
|
1414
|
+
const QUEUE_ROW_ATTEMPT = /^\s*[-*+] \[[ xX]\]\s/;
|
|
1415
|
+
/** Checkbox list items outside frontmatter: queue rows somebody attempted to write. */
|
|
1416
|
+
export function queueRowAttempts(text) {
|
|
1417
|
+
const lines = String(text).split("\n");
|
|
1418
|
+
let inFrontmatter = false;
|
|
1419
|
+
let n = 0;
|
|
1420
|
+
for (const [i, line] of lines.entries()) {
|
|
1421
|
+
if (i === 0 && /^---\s*$/.test(line)) {
|
|
1422
|
+
inFrontmatter = true;
|
|
1423
|
+
continue;
|
|
1424
|
+
}
|
|
1425
|
+
if (inFrontmatter) {
|
|
1426
|
+
if (/^---\s*$/.test(line))
|
|
1427
|
+
inFrontmatter = false;
|
|
1428
|
+
continue;
|
|
1429
|
+
}
|
|
1430
|
+
if (QUEUE_ROW_ATTEMPT.test(line))
|
|
1431
|
+
n += 1;
|
|
1432
|
+
}
|
|
1433
|
+
return n;
|
|
1434
|
+
}
|
|
888
1435
|
/**
|
|
889
1436
|
* Is this axis's zero an ANSWER or an UNANSWERED QUESTION?
|
|
890
1437
|
*
|
|
891
1438
|
* `count > 0` is never in doubt, so this only ever qualifies a zero.
|
|
1439
|
+
*
|
|
1440
|
+
* THE QUEUE AXIS ASKS A NARROWER QUESTION THAN THE OTHERS, because on a queue
|
|
1441
|
+
* document prose is not evidence of a missed row. `substantiveLines` was built
|
|
1442
|
+
* for the done axis, where any authored line under an empty log is a fair
|
|
1443
|
+
* reason to doubt the zero. A pruned `docs/QUEUE.md` keeps its headings AND its
|
|
1444
|
+
* explanatory prose by design, so that same measure reported a perfectly
|
|
1445
|
+
* healthy empty queue as unparsed — red-when-fine, measured at 793 substantive
|
|
1446
|
+
* lines with zero rows present.
|
|
1447
|
+
*
|
|
1448
|
+
* So for `axis: "queue"` the discriminator is ROW ATTEMPTS, not content. The
|
|
1449
|
+
* four states this separates, measured on this repo's real `docs/QUEUE.md`:
|
|
1450
|
+
* populated (168 rows, count 168) `false` · pruned-but-prose-kept (0 attempts)
|
|
1451
|
+
* `false` · heading-removed, so the rows exist but nothing parses them (168
|
|
1452
|
+
* attempts, count 0) `true` · rows present but refused by the grammar (2
|
|
1453
|
+
* attempts, count 0) `true`.
|
|
1454
|
+
*
|
|
1455
|
+
* Axis is OPTIONAL and omitting it preserves the old behaviour exactly, so the
|
|
1456
|
+
* done and board axes are untouched by this change.
|
|
892
1457
|
*/
|
|
893
|
-
export function zeroIsUnparsed(count, sourceText) {
|
|
894
|
-
|
|
1458
|
+
export function zeroIsUnparsed(count, sourceText, axis) {
|
|
1459
|
+
if (count !== 0)
|
|
1460
|
+
return false;
|
|
1461
|
+
if (axis === "queue")
|
|
1462
|
+
return queueRowAttempts(sourceText) > 0;
|
|
1463
|
+
return substantiveLines(sourceText) > 0;
|
|
895
1464
|
}
|
|
896
1465
|
export function renderWorkDoc(doc) {
|
|
897
1466
|
const out = [];
|
|
@@ -952,13 +1521,40 @@ export function workstreamsV1RowsOf(doc) {
|
|
|
952
1521
|
// Hence three distinct return values, and the distinction is the whole point:
|
|
953
1522
|
//
|
|
954
1523
|
// the schema id — a board block is present and its header classified
|
|
955
|
-
// "unknown" — a
|
|
956
|
-
//
|
|
1524
|
+
// "unknown" — a table is present, LOOKS LIKE A BOARD ATTEMPT, and its
|
|
1525
|
+
// header did NOT classify
|
|
1526
|
+
// null — no board table here: either the document has none at all,
|
|
1527
|
+
// or such tables as it has were not trying to be one
|
|
957
1528
|
//
|
|
958
1529
|
// Collapsing "unknown" into null is exactly defect (1); collapsing null into
|
|
959
1530
|
// "unknown" is the same error pointed the other way, and it is the one that put
|
|
960
1531
|
// an alarming reading on David's console. A caller that genuinely does not care
|
|
961
1532
|
// can write `boardSchemaOf(doc) ?? "none"` — but it has to say so.
|
|
1533
|
+
//
|
|
1534
|
+
// ⛔⛆ THE RUNTIME ANSWER IS THE CONTRACT, AND THIS ONE HAS ALREADY MOVED ONCE
|
|
1535
|
+
// WITHOUT SAYING SO — ⟨q-3a71ce85⟩. At 0.1.8 ANY unrecognised header answered
|
|
1536
|
+
// "unknown"; since `looksLikeBoardAttempt` began gating it, a header below the
|
|
1537
|
+
// intent threshold answers null. The type signature was byte-identical across
|
|
1538
|
+
// that change, `tsc` was green on both sides, and it shipped under PATCH bumps,
|
|
1539
|
+
// so nothing a consumer could run would have shown it.
|
|
1540
|
+
//
|
|
1541
|
+
// ⚠ THE THIRD LINE ABOVE USED TO READ "this document has no board table at
|
|
1542
|
+
// all", which described the OLD boundary and was false here for two releases: a
|
|
1543
|
+
// table that IS present and does NOT classify answers null whenever it shares
|
|
1544
|
+
// fewer than two column names with the board vocabulary.
|
|
1545
|
+
//
|
|
1546
|
+
// ⭐ WHAT A CONSUMER IS ENTITLED TO RELY ON:
|
|
1547
|
+
// - these three values are DISTINCT and none collapses into another;
|
|
1548
|
+
// - "unknown" means somebody wrote a table that was trying to be a board;
|
|
1549
|
+
// - null is NOT a promise that the document contains no tables.
|
|
1550
|
+
//
|
|
1551
|
+
// ⭐⭐ AND WHAT ANY FUTURE CHANGE OWES: every input class above is pinned by
|
|
1552
|
+
// value in `test/board-schema-of.test.mjs`, including the intent threshold
|
|
1553
|
+
// itself, because that threshold is what actually moves the answer. Changing
|
|
1554
|
+
// what this function RETURNS therefore reds the KIT's gate rather than a
|
|
1555
|
+
// consumer's — the party who changes it is the party who finds out. A change to
|
|
1556
|
+
// an exported function's runtime contract is a MINOR at minimum; the type
|
|
1557
|
+
// signature is not evidence of compatibility.
|
|
962
1558
|
export function boardSchemaOf(doc) {
|
|
963
1559
|
for (const b of doc.blocks) {
|
|
964
1560
|
if (b.kind !== "board" || !b.schema)
|
package/dist/docs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../src/docs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../src/docs.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,+EAA+E;AAC/E,aAAa;AACb,EAAE;AACF,gFAAgF;AAChF,+EAA+E;AAC/E,+EAA+E;AAC/E,6EAA6E;AAC7E,2EAA2E;AAC3E,2CAA2C;AAC3C,EAAE;AACF,2EAA2E;AAC3E,+EAA+E;AAC/E,8EAA8E;AAC9E,mEAAmE;AACnE,EAAE;AACF,0EAA0E;AAC1E,8EAA8E;AAC9E,wEAAwE;AACxE,6EAA6E;AAC7E,yDAAyD;AAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EACL,gBAAgB,EAChB,MAAM,EACN,eAAe,EACf,oBAAoB,EACpB,sBAAsB,GAGvB,MAAM,aAAa,CAAC;AA4ErB,6EAA6E;AAC7E,0EAA0E;AAC1E,uCAAuC;AACvC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AAsB7B,MAAM,UAAU,cAAc,CAAC,CAAc;IAC3C,OAAQ,CAAkB,CAAC,SAAS,KAAK,IAAI,CAAC;AAChD,CAAC;AAaD,MAAM,UAAU,kBAAkB,CAAC,CAAc;IAC/C,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,QAAQ,IAAI,CAAC,CAAC;AAC7C,CAAC;AAaD,MAAM,UAAU,cAAc,CAAC,CAAc;IAC3C,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,WAAW,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;AAChE,CAAC;AAmDD,2CAA2C;AAC3C,EAAE;AACF,6EAA6E;AAC7E,yEAAyE;AACzE,6EAA6E;AAC7E,8EAA8E;AAC9E,yDAAyD;AACzD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AACnC,MAAM,QAAQ,GAAG,qBAAqB,CAAC;AAEvC,+EAA+E;AAC/E,+EAA+E;AAC/E,wCAAwC;AACxC,SAAS,KAAK,CAAC,IAAY,EAAE,IAAY;IACvC,OAAO,GAAG,IAAI,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AAChF,CAAC;AAED,+CAA+C;AAE/C,2EAA2E;AAC3E,EAAE;AACF,8EAA8E;AAC9E,yEAAyE;AACzE,kEAAkE;AAClE,iFAAiF;AACjF,8EAA8E;AAC9E,iEAAiE;AACjE,EAAE;AACF,+EAA+E;AAC/E,6EAA6E;AAC7E,+DAA+D;AAC/D,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,0EAA0E;AAC1E,2EAA2E;AAC3E,sEAAsE;AACtE,MAAM,QAAQ,GAAG,uBAAuB,CAAC;AAEzC;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAA2B;IAC9D,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;AAC5C,CAAC;AACD,MAAM,UAAU,GAAG,mCAAmC,CAAC;AACvD,8EAA8E;AAC9E,2EAA2E;AAC3E,yEAAyE;AACzE,MAAM,kBAAkB,GAAG,gCAAgC,CAAC;AAC5D,MAAM,CAAC,MAAM,gBAAgB,GAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACxE,MAAM,SAAS,GAAG,oBAAoB,CAAC;AAEvC,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,OAAgB;IAC3D,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,CAAC;QACN,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,GAAG,IAAI,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,0EAA0E;QAC1E,uEAAuE;QACvE,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5D,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,CAAC,CAAE,OAAO,CAAC,CAAC,CAAY,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC;YACvD,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,QAAQ,EAAE,QAAoB;YAC9B,IAAI;YACJ,IAAI,EAAE,IAAI,KAAK,GAAG;YAClB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC,CAAC;IACJ,CAAC;IACD,2EAA2E;IAC3E,6EAA6E;IAC7E,wCAAwC;IACxC,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC;IAChC,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;QAC1B,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,GAAG,IAAI,EAAE;QACtB,IAAI,EAAE,IAAI,IAAI,EAAE;QAChB,IAAI,EAAE,IAAI,KAAK,GAAG;QAClB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChC,CAAC;AACJ,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,oBAAoB,CAAC,IAAe,EAAE,IAAa;IACjE,MAAM,KAAK,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;IACzD,OAAO,CACL,GAAG,KAAK,qBAAqB,IAAI,CAAC,WAAW,cAAc,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QAC1F,+FAA+F,CAChG,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,4EAA4E;AAC5E,6EAA6E;AAC7E,sDAAsD;AACtD,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,OAAgB;IAC1D,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACtB,IAAI,GAAuB,CAAC;IAC5B,IAAI,IAAwB,CAAC;IAE7B,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAC1C,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YACtD,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,IAAI,GAAG,SAAS,CAAC;gBACjB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,qEAAqE;QACrE,wDAAwD;QACxD,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,GAAG,GAAG,IAAI,CAAC;QACzD,IAAI,GAAG,KAAK,SAAS;YAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACnD,CAAC;IACD,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC;QACpD,IAAI,EAAE,IAAI;QACV,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC;AAED,6EAA6E;AAC7E,6CAA6C;AAC7C,EAAE;AACF,kFAAkF;AAClF,iFAAiF;AACjF,iFAAiF;AACjF,wEAAwE;AACxE,uCAAuC;AACvC,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,oCAAoC;AACpC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,IAAY,EAAU,EAAE,CACrE,eAAe,CAAC,IAAI,CAAC;IACnB,CAAC,CAAC,QAAQ,IAAI,iHAAiH;QAC7H,8GAA8G;QAC9G,yIAAyI;IAC3I,CAAC,CAAC,QAAQ,IAAI,kEAAkE;QAC9E,mEAAmE,GAAG,GAAG,GAAG,gBAAgB,GAAG,GAAG,GAAG,uBAAuB;QAC5H,SAAS,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,wIAAwI;QAC5K,MAAM,GAAG,GAAG,GAAG,sBAAsB,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,GAAG,wBAAwB,GAAG,GAAG,GAAG,eAAe,GAAG,GAAG,GAAG,oBAAoB,GAAG,GAAG,GAAG,GAAG,CAAC;AAE7J,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAE,OAAe,EAAU,EAAE,CAC5E,QAAQ,IAAI,MAAM,OAAO,4FAA4F;IACrH,UAAU;IACV,4CAA4C;IAC5C,8JAA8J;IAC9J,gBAAgB,GAAG,GAAG,GAAG,iDAAiD,GAAG,GAAG,GAAG,GAAG,CAAC;AAEzF,8CAA8C;AAC9C,EAAE;AACF,kFAAkF;AAClF,oCAAoC;AACpC,EAAE;AACF,+EAA+E;AAC/E,mFAAmF;AACnF,iFAAiF;AACjF,mFAAmF;AACnF,0BAA0B;AAC1B,EAAE;AACF,qCAAqC;AACrC,6EAA6E;AAC7E,mFAAmF;AACnF,gFAAgF;AAChF,2EAA2E;AAE3E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,KAAK,GAAkB,IAAI,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,2EAA2E;QAC3E,6EAA6E;QAC7E,MAAM,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,KAAK,EAAE,CAAC;YACV,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM;gBAAE,KAAK,GAAG,IAAI,CAAC;YAC7E,SAAS;QACX,CAAC;QACD,IAAI,CAAC,EAAE,CAAC;YACN,KAAK,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;YACd,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACb,SAAS;QACX,CAAC;QACD,8EAA8E;QAC9E,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAID,kFAAkF;AAClF,kFAAkF;AAClF,0EAA0E;AAC1E,0EAA0E;AAC1E,MAAM,MAAM,GAAG,uCAAuC,CAAC;AAEvD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,MAAM,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,aAAa,IAAI,IAAI,CAAC,MAAM;QAAE,OAAO,qCAAqC,CAAC;IAC/E,IAAI,aAAa;QAAE,OAAO,sBAAsB,CAAC;IACjD,IAAI,IAAI,CAAC,MAAM;QAAE,OAAO,eAAe,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;IACvD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,OAAO,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpD,GAAG,EAAE,CAAC,CAAC,CAAC,CAAW;QACnB,IAAI,EAAG,CAAC,CAAC,CAAC,CAAwB,IAAI,IAAI;QAC1C,MAAM,EAAE,CAAC,CAAC,CAAC,CAAW;KACvB,CAAC,CAAC,CAAC;AACN,CAAC;AAgCD,MAAM,UAAU,SAAS,CAAC,CAAM,EAAE,CAAM,EAAE,IAAI,GAAoB,EAAE;IAClE,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACxC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;IACrC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC;IACzB,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC;IACzB,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IAC7B,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACvB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACvB,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACrC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACnC,8EAA8E;IAC9E,iFAAiF;IACjF,+EAA+E;IAC/E,gFAAgF;IAChF,0CAA0C;IAC1C,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,mDAAmD;AACnD,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,GAAQ,EAAE,IAAW,EAAE,IAAI,GAAoB,EAAE,EAAW,EAAE,CAClF,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;AAE5C,oCAAoC;AACpC,EAAE;AACF,0EAA0E;AAC1E,6EAA6E;AAC7E,8EAA8E;AAC9E,uEAAuE;AACvE,8EAA8E;AAC9E,6EAA6E;AAC7E,+CAA+C;AAE/C,MAAM,aAAa,GAAG,yBAAyB,CAAC;AAEhD,qEAAqE;AACrE,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,CAAC,CAAY,CAAC,WAAW,EAAE,CAAC,CAAC;AAC9F,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AACvC,CAAC;AA8CD;;;;;;;;;;;;;GAaG;AACH,MAAM,iBAAiB,GAAG,WAAW,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,WAAW,GAAgD;IAC/D,CAAC,GAAG,EAAE,SAAS,CAAC;IAChB,CAAC,IAAI,EAAE,aAAa,CAAC;IACrB,CAAC,IAAI,EAAE,WAAW,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,QAAQ,CAAC;IACf,CAAC,IAAI,EAAE,UAAU,CAAC;IAClB,CAAC,GAAG,EAAE,eAAe,CAAC;IACtB,CAAC,GAAG,EAAE,WAAW,CAAC;IAClB,CAAC,GAAG,EAAE,SAAS,CAAC;IAChB,CAAC,GAAG,EAAE,eAAe,CAAC;IACtB,CAAC,IAAI,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF,iFAAiF;AACjF,MAAM,iBAAiB,GAAG,qCAAqC,CAAC;AAEhE;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAc,EAAU,EAAE,CACtD,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAE9D;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,GAAgD;IAC/D,CAAC,0BAA0B,EAAE,SAAS,CAAC;IACvC,CAAC,kBAAkB,EAAE,aAAa,CAAC;IACnC,CAAC,gBAAgB,EAAE,WAAW,CAAC;IAC/B,CAAC,qCAAqC,EAAE,WAAW,CAAC;IACpD,CAAC,4CAA4C,EAAE,aAAa,CAAC;IAC7D,CAAC,8EAA8E,EAAE,MAAM,CAAC;IACxF,CAAC,aAAa,EAAE,QAAQ,CAAC;IACzB,CAAC,eAAe,EAAE,UAAU,CAAC;IAC7B,CAAC,cAAc,EAAE,SAAS,CAAC;IAC3B,CAAC,yBAAyB,EAAE,eAAe,CAAC;CAC7C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,MAAiC;IAC3D,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACzB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,WAAW;QAAE,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;IAChF,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAC9B,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,WAAW;QAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;IACvE,oFAAoF;IACpF,yEAAyE;IACzE,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAgB;IACvC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,aAAa,CAAC;QACnB,KAAK,WAAW;YACd,OAAO,WAAW,CAAC;QACrB,KAAK,MAAM;YACT,OAAO,UAAU,CAAC;QACpB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,6EAA6E;QAC7E,6EAA6E;QAC7E,+EAA+E;QAC/E;YACE,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC;AAKD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,gBAAgB,GAAG,yCAAyC,CAAC;AAEnE,uEAAuE;AACvE,MAAM,sBAAsB,GAAG,SAAS,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAEhC,+EAA+E;IAC/E,gFAAgF;IAChF,8EAA8E;IAC9E,mEAAmE;IACnE,EAAE;IACF,gFAAgF;IAChF,6CAA6C;IAC7C,gBAAgB,CAAC,SAAS,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,GAA2B,IAAI,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAElC,sEAAsE;QACtE,4EAA4E;QAC5E,4EAA4E;QAC5E,6EAA6E;QAC7E,iCAAiC;QACjC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,KAAK,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YACjC,SAAS;QACX,CAAC;QAED,6EAA6E;QAC7E,4EAA4E;QAC5E,6EAA6E;QAC7E,2EAA2E;QAC3E,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,IAAI;YAAE,KAAK,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACxE,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAS,EAAE,CAAS;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACzC,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACxD,CAAC;AAED,mCAAmC;AACnC,EAAE;AACF,sDAAsD;AACtD,EAAE;AACF,gFAAgF;AAChF,kFAAkF;AAClF,mFAAmF;AACnF,gFAAgF;AAChF,iDAAiD;AACjD,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,gFAAgF;AAChF,+EAA+E;AAC/E,4EAA4E;AAC5E,qEAAqE;AACrE,EAAE;AACF,gFAAgF;AAChF,mFAAmF;AACnF,sEAAsE;AACtE,6EAA6E;AAC7E,8EAA8E;AAC9E,gFAAgF;AAChF,8EAA8E;AAC9E,8EAA8E;AAC9E,6EAA6E;AAC7E,iBAAiB;AACjB,4EAA4E;AAC5E,kFAAkF;AAClF,yDAAyD;AACzD,8EAA8E;AAC9E,2EAA2E;AAC3E,8EAA8E;AAC9E,kBAAkB;AAClB,EAAE;AACF,6EAA6E;AAC7E,iFAAiF;AACjF,4EAA4E;AAC5E,kFAAkF;AAClF,yDAAyD;AACzD,EAAE;AACF,iFAAiF;AACjF,mEAAmE;AACnE,EAAE;AACF,gFAAgF;AAChF,+EAA+E;AAC/E,iBAAiB;AACjB,MAAM,WAAW,GAAG,4CAA4C,CAAC;AAIjE,kFAAkF;AAClF,MAAM,UAAU,aAAa,CAAC,IAAe;IAC3C,MAAM,GAAG,GAAiB,EAAE,CAAC;IAC7B,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,SAAS,CAAC;QACR,MAAM,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,CAAC;YAAE,OAAO,GAAG,CAAC;QACnB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAG,CAAC,CAAC,CAAC,CAAY,CAAC,WAAW,EAAE,EAAE,KAAK,EAAG,CAAC,CAAC,CAAC,CAAY,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACzF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,IAAe;IACxC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC;AAC3E,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CAAC,IAAe;IACxC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC;AAC5E,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,eAAe,CAAC,KAAkB,EAAE,GAAW;IAC7D,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7E,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,cAAc,CAAC,KAAkB;IAC/C,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAe;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;IACpD,2EAA2E;IAC3E,0EAA0E;IAC1E,sEAAsE;IACtE,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,KAAK,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AACtE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,IAAe;IAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAgB;IAC7C,IAAI,IAAI,GAAG,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC;IACjC,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS;QAAE,IAAI,IAAI,GAAG,WAAW,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;IAClE,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,IAAI,IAAI,GAAG,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACnE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,oCAAoC;AAEpC,MAAM,SAAS,GAAG,eAAe,CAAC;AAClC,MAAM,WAAW,GAAG,mBAAmB,CAAC;AAExC,SAAS,QAAQ,CAAC,IAAY;IAC5B,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAClB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,SAAS,CAAC,KAAe;IAChC,OAAO,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AACpC,CAAC;AAED,SAAS,UAAU,CAAC,CAAW;IAC7B,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,OAAO,CAAC,CAAmB;IAClC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,cAAc,CAAC,CAAS;IAC/B,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,YAAY,CAAC,KAAe,EAAE,QAA2B;IAChE,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACnD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACxF,CAAC;AAED,gFAAgF;AAChF,SAAS,oBAAoB,CAAC,KAAe;IAC3C,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7C,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAe;IAC1C,IAAI,YAAY,CAAC,KAAK,EAAE,sBAAsB,CAAC;QAAE,OAAO,MAAM,CAAC,WAAW,CAAC;IAC3E,IAAI,YAAY,CAAC,KAAK,EAAE,gBAAgB,CAAC,IAAI,oBAAoB,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,kBAAkB,CAAC;IAC3G,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QACjD,IAAI,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO,GAAG,CAAC,EAAE,CAAC;IACtD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,mEAAmE;AACnE,2EAA2E;AAC3E,6EAA6E;AAC7E,2EAA2E;AAC3E,2EAA2E;AAC3E,+EAA+E;AAC/E,2EAA2E;AAC3E,6EAA6E;AAC7E,kDAAkD;AAClD,EAAE;AACF,uEAAuE;AACvE,2EAA2E;AAC3E,gFAAgF;AAChF,4EAA4E;AAC5E,8DAA8D;AAC9D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CACnD,CAAC,GAAG,sBAAsB,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAC7G,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,KAAe;IACnD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvF,OAAO,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAe;IAC1C,MAAM,QAAQ,GAAG,sBAAsB,CAAC;IACxC,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAE7C,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7E,2EAA2E;IAC3E,2EAA2E;IAC3E,uBAAuB;IACvB,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,QAAQ;aACnB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aACpD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACnE,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,KAAK;iBACjB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,IAAI,GAAG,CAAC;iBACnE,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,OAAO,CACL,gCAAgC,MAAM,sCAAsC,YAAY,IAAI;gBAC5F,sFAAsF;gBACtF,uEAAuE,CACxE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,OAAO,KAAK,CAAC,MAAM,wBAAwB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,IAAI,OAAO,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrF,IAAI,UAAU,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChG,OAAO,CACL,gCAAgC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,sCAAsC,YAAY,IAAI;QACtG,4DAA4D,CAC7D,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,wEAAwE;AACxE,0CAA0C;AAC1C,MAAM,UAAU,cAAc,CAAC,CAA4D;IACzF,IAAI,cAAc,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC,QAAQ,CAAC;IACzC,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,CAAC,CAAC,GAAG,CAAC;QAC/F,CAAC;QACD,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,oBAAoB,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,CAAC,CAAC,GAAG,CAAC;QACxG,CAAC;QACD,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC,GAAG,CAAC;IAClG,CAAC;IACD,OAAO,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC;AAMD,oEAAoE;AACpE,2EAA2E;AAC3E,uDAAuD;AACvD,SAAS,aAAa,CAAC,OAAe;IACpC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7D,IAAI,CAAC,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IAClC,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAChC,IAAI,CAAC,KAAK,oBAAoB;QAAE,OAAO,WAAW,CAAC;IACnD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,eAAe;QAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,6CAA6C;IAE/E,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,IAAI,GAAa,EAAE,CAAC;IACxB,IAAI,IAAI,GAAgB,MAAM,CAAC;IAC/B,IAAI,UAA8B,CAAC;IACnC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,aAAa,GAAG,KAAK,CAAC;IAE1B;;;;;;;;;;;OAWG;IACH,MAAM,GAAG,GAAG;QACV,2BAA2B,EAAE,CAAC;QAC9B,WAAW,EAAE,CAAC;QACd,SAAS,EAAE,CAAC;QACZ,yBAAyB,EAAE,CAAC;QAC5B,uBAAuB,EAAE,CAAC;QAC1B,WAAW,EAAE,CAAC;KACf,CAAC;IAEF,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,IAAI,GAAG,EAAE,CAAC;IACZ,CAAC,CAAC;IACF,yEAAyE;IACzE,wEAAwE;IACxE,kEAAkE;IAClE,MAAM,QAAQ,GAAG,CAAC,IAAe,EAAE,EAAE;QACnC,SAAS,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,IAAI,EAAE,IAAI,KAAK,OAAO;YAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;YAC7C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,KAAgB,EAAE,EAAE;QACrC,SAAS,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,IAAI,EAAE,IAAI,KAAK,MAAM;YAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;YAC/C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC;IACF,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE;QACpC,SAAS,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,IAAI,EAAE,IAAI,KAAK,WAAW;YAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;YACjD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE5B,wEAAwE;QACxE,oEAAoE;QACpE,wCAAwC;QACxC,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,GAAG,CAAC,OAAO,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,SAAS;QACX,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,SAAS;QACX,CAAC;QAED,yEAAyE;QACzE,sEAAsE;QACtE,IAAI,aAAa,EAAE,CAAC;YAClB,yEAAyE;YACzE,2EAA2E;YAC3E,4EAA4E;YAC5E,qEAAqE;YACrE,gCAAgC;YAChC,GAAG,CAAC,yBAAyB,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,aAAa,GAAG,KAAK,CAAC;YAC5C,SAAS;QACX,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,aAAa,GAAG,IAAI,CAAC;YACrB,GAAG,CAAC,yBAAyB,IAAI,CAAC,CAAC,CAAC,4CAA4C;YAChF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,SAAS;QACX,CAAC;QAED,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACpD,2EAA2E;YAC3E,0EAA0E;YAC1E,wEAAwE;YACxE,2DAA2D;YAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACtD,IAAI,IAAI,KAAK,MAAM,IAAI,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC;gBACpD,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;YAC1D,CAAC;YACD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACf,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;gBAC3B,UAAU,GAAG,SAAS,CAAC;YACzB,CAAC;iBAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC3B,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACjD,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC9C,IAAI,IAAI,EAAE,CAAC;gBACT,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACf,qEAAqE;gBACrE,uEAAuE;gBACvE,sEAAsE;gBACtE,iEAAiE;gBACjE,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;oBAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC7E,SAAS;YACX,CAAC;YACD,wEAAwE;YACxE,uEAAuE;YACvE,iFAAiF;YACjF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACvC,0EAA0E;YAC1E,+CAA+C;YAC/C,EAAE;YACF,2EAA2E;YAC3E,4EAA4E;YAC5E,uEAAuE;YACvE,wEAAwE;YACxE,2EAA2E;YAC3E,wEAAwE;YACxE,EAAE;YACF,4EAA4E;YAC5E,uEAAuE;YACvE,yEAAyE;YACzE,yEAAyE;YACzE,kEAAkE;YAClE,EAAE;YACF,6EAA6E;YAC7E,6EAA6E;YAC7E,0EAA0E;YAC1E,4DAA4D;YAC5D,EAAE;YACF,0EAA0E;YAC1E,0EAA0E;YAC1E,yEAAyE;YACzE,2EAA2E;YAC3E,2EAA2E;YAC3E,yEAAyE;YAEzE,IAAI,IAAI,EAAE,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1F,GAAG,CAAC,uBAAuB,IAAI,CAAC,CAAC;YACnC,CAAC;YACD,0FAA0F;YAC1F,EAAE;YACF,kFAAkF;YAClF,oFAAoF;YACpF,iFAAiF;YACjF,mFAAmF;YACnF,oFAAoF;YACpF,kFAAkF;YAClF,0BAA0B;YAC1B,EAAE;YACF,oFAAoF;YACpF,iFAAiF;YACjF,kFAAkF;YAClF,gFAAgF;YAChF,8EAA8E;YAC9E,mFAAmF;YACnF,oCAAoC;YACpC,MAAM,gBAAgB,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACrF,IAAI,gBAAgB,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9D,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC;gBACrB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC7F,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;gBACzE,QAAQ,CAAC,IAAI,CACX,kCAAkC,CAAC,GAAG,CAAC,kBAAkB,KAAK,0DAA0D;oBACtH,uDAAuD,MAAM,CAAC,CAAC,CAAC,uBAAuB,MAAM,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI;oBACnH,gEAAgE,CACnE,CAAC;gBACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChB,SAAS;YACX,CAAC;YACD,IAAI,IAAI,EAAE,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3F,GAAG,CAAC,2BAA2B,IAAI,CAAC,CAAC;gBACrC,MAAM,MAAM,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;gBAC7C,IAAI,MAAM;oBAAE,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC;;oBAC5B,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC;gBACxB,IAAI,MAAM,EAAE,CAAC;oBACX,QAAQ,CAAC,IAAI,CACX,uCAAuC,CAAC,GAAG,CAAC,UAAU,MAAM,sBAAsB;wBAChF,kFAAkF;wBAClF,gFAAgF,CACnF,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,IAAI,EAAE,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzF,yEAAyE;gBACzE,wEAAwE;gBACxE,uEAAuE;gBACvE,2EAA2E;gBAC3E,MAAM;gBACN,UAAU,CAAC,IAAI,CACb,uCAAuC,CAAC,GAAG,CAAC,mFAAmF,CAChI,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC9C,IAAI,KAAK,EAAE,CAAC;gBACV,SAAS,CAAC,KAAK,CAAC,CAAC;gBACjB,oEAAoE;gBACpE,wEAAwE;gBACxE,kEAAkE;gBAClE,yEAAyE;gBACzE,wCAAwC;gBACxC,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS;oBAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChF,SAAS;YACX,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,CAAC,EAAE,CAAC;gBACN,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACzB,SAAS;YACX,CAAC;QACH,CAAC;QAED,mEAAmE;QACnE,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACjE,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAChD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAAE,CAAC,EAAE,CAAC;YAE/D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,yDAAyD;gBACzD,4DAA4D;gBAC5D,IAAI,qBAAqB,CAAC,WAAW,CAAC,EAAE,CAAC;oBACvC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBACtE,CAAC;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;oBAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACtD,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACV,SAAS;YACX,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;YACxE,MAAM,QAAQ,GAAG,MAAM,KAAK,MAAM,CAAC,WAAW;gBAC5C,CAAC,CAAC,oBAAoB;gBACtB,CAAC,CAAC,GAAG;oBACH,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM;oBACpB,CAAC,CAAC,WAAW,CAAC;YAClB,MAAM,IAAI,GAAkE,EAAE,CAAC;YAC/E,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC9B,IAAI,CAAC,IAAI,CAAC;wBACR,SAAS,EAAE,IAAI;wBACf,QAAQ,EAAE,GAAG;wBACb,KAAK,EACH,qBAAqB,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,MAAM,wBAAwB,QAAQ,KAAK;4BACnF,yFAAyF;4BACzF,sBAAsB,GAAG,EAAE;qBAC9B,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,EAAE,CAAC;oBACR,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC9C,SAAS;gBACX,CAAC;gBACD,IAAI,MAAM,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;oBAClC,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,cAAc,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC;oBACvG,IAAI,CAAC,IAAI,CAAC;wBACR,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC;wBACtB,MAAM;wBACN,KAAK;wBACL,cAAc;wBACd,MAAM;wBACN,OAAO;wBACP,QAAQ;wBACR,GAAG;qBACJ,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,YAAY,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC;oBAClF,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;gBACrF,CAAC;YACH,CAAC;YACD,SAAS,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACtF,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACV,SAAS;QACX,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IACD,SAAS,EAAE,CAAC;IAEZ;;;;;;;;;;;;;;;;;OAiBG;IACH;;;;;;;;;;;;;;OAcG;IACH,MAAM,UAAU,GAAG;QACjB,IAAI,EACF,4FAA4F;YAC5F,0FAA0F;YAC1F,qGAAqG;YACrG,oGAAoG;YACpG,6EAA6E;QAC/E,eAAe,EAAE,GAAG,CAAC,2BAA2B;QAChD,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,yBAAyB,EAAE,GAAG,CAAC,yBAAyB;QACxD,uBAAuB,EAAE,GAAG,CAAC,uBAAuB;QACpD,WAAW,EAAE,GAAG,CAAC,WAAW;KAC7B,CAAC;IAEF,OAAO;QACL,eAAe;QACf,MAAM;QACN,wEAAwE;QACxE,wEAAwE;QACxE,GAAG,CAAC,UAAU,CAAC,eAAe,GAAG,CAAC,IAAI,UAAU,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAClC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,CAAC,CAAC;QACjC,OAAO;YACL,GAAG,CAAC;YACJ,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACvB,IAAI,CAAC,CAAC,UAAU;oBAAE,OAAO,CAAC,CAAC;gBAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACnB,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC,CAAC;SACH,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC;AAC9C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAY;IAChD,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAClD,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,aAAa,GAAG,iCAAiC,CAAC;AACxD,2DAA2D;AAC3D,MAAM,wBAAwB,GAAG,gCAAgC,CAAC;AAClE,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAI5C,iFAAiF;AACjF,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,sBAAsB,GAAG,CAAC,CAAC,CAAC;IAChC,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,aAAa,GAAG,IAAI,CAAC;YACrB,SAAS;QACX,CAAC;QACD,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,aAAa,GAAG,KAAK,CAAC;YACjD,SAAS;QACX,CAAC;QACD,0EAA0E;QAC1E,EAAE;QACF,4EAA4E;QAC5E,4EAA4E;QAC5E,6EAA6E;QAC7E,aAAa;QACb,EAAE;QACF,6EAA6E;QAC7E,4EAA4E;QAC5E,6EAA6E;QAC7E,sDAAsD;QACtD,IAAI,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACzE,IAAI,sBAAsB,KAAK,CAAC,GAAG,CAAC;gBAAE,CAAC,IAAI,CAAC,CAAC;YAC7C,SAAS;QACX,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,CAAC,IAAI,CAAC,CAAC;YACP,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,sBAAsB,GAAG,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;AAElD,uFAAuF;AACvF,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,aAAa,GAAG,IAAI,CAAC;YACrB,SAAS;QACX,CAAC;QACD,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,aAAa,GAAG,KAAK,CAAC;YACjD,SAAS;QACX,CAAC;QACD,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,UAAkB,EAAE,IAAuB;IACvF,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9B,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9D,OAAO,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;aAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;aAC1E,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;aAC1E,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;aACpF,CAAC;YACJ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACvB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACtB,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI;gBAAE,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,0CAA0C;AAE1C,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAY;IACtC,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9B,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,kBAAkB;QAC1D,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAiB,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACzG,CAAC,CAAC,EAAE,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9B,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,WAAW;QACnD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAyB,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC,EAAE,CACP,CAAC;AACJ,CAAC;AAED,6DAA6D;AAC7D,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,qBAAqB;AACrB,EAAE;AACF,iFAAiF;AACjF,2EAA2E;AAC3E,gFAAgF;AAChF,iFAAiF;AACjF,0DAA0D;AAC1D,4EAA4E;AAC5E,iFAAiF;AACjF,+CAA+C;AAC/C,6EAA6E;AAC7E,6EAA6E;AAC7E,gFAAgF;AAChF,2DAA2D;AAC3D,EAAE;AACF,8EAA8E;AAC9E,EAAE;AACF,wEAAwE;AACxE,6EAA6E;AAC7E,6CAA6C;AAC7C,+EAA+E;AAC/E,wEAAwE;AACxE,EAAE;AACF,6EAA6E;AAC7E,gFAAgF;AAChF,gFAAgF;AAChF,mEAAmE;AACnE,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,gFAAgF;AAChF,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;AAChF,8EAA8E;AAC9E,yDAAyD;AACzD,EAAE;AACF,4CAA4C;AAC5C,uEAAuE;AACvE,4EAA4E;AAC5E,kEAAkE;AAClE,EAAE;AACF,2EAA2E;AAC3E,2EAA2E;AAC3E,6EAA6E;AAC7E,yEAAyE;AACzE,gFAAgF;AAChF,0EAA0E;AAC1E,8CAA8C;AAC9C,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM;YAAE,SAAS;QAC9C,qEAAqE;QACrE,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YAAE,SAAS;QACpC,OAAO,CAAC,CAAC,MAAM,CAAC;IAClB,CAAC;IACD,yEAAyE;IACzE,mEAAmE;IACnE,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,OAAO,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1C,CAAC;AAED,2EAA2E;AAC3E,8CAA8C;AAC9C,MAAM,OAAO,GAAwB,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE9F,2EAA2E;AAC3E,6EAA6E;AAC7E,kCAAkC;AAClC,MAAM,eAAe,GAAG,6BAA6B,CAAC;AAWtD,SAAS,WAAW,CAAC,GAAgD,EAAE,KAAe;IACpF,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC9B,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,GAAY;IAClD,MAAM,GAAG,GAA0B;QACjC,OAAO,EAAE,EAAE;QACX,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,EAAE;QACd,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,EAAE;KACd,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC3B,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YAC/B,SAAS;QACX,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM;YAAE,SAAS;QAC9C,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;QAC1E,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;gBAAE,SAAS;YACtD,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAuBD,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,MAAM,GAAG,GAAuB,EAAE,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,IAAI,CAAC;YACP,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,cAAc,EAAE,CAAC,CAAC,cAAc;YAChC,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACrB,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,IAAI,CAAC;YACP,MAAM,EAAE,MAAM,CAAC,kBAAkB;YACjC,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,MAAM,EAAE,CAAC,CAAC,MAAM;SACjB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAqB;IACpD,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,kBAAkB;QAAE,OAAO,GAAG,CAAC;IACzD,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,kBAAkB;QACjC,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,IAAI,EAAE,GAAG,CAAC,MAAM;QAChB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,KAAK,EAAE,GAAG,CAAC,MAAM;QACjB,YAAY,EAAE,GAAG,CAAC,QAAQ;QAC1B,MAAM,EAAE,EAAE;KACX,CAAC;AACJ,CAAC;AAID,8EAA8E;AAC9E,4EAA4E;AAC5E,mDAAmD;AACnD,MAAM,UAAU,qBAAqB,CAAC,GAAY;IAChD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACvC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAC5E,CAAC;IACF,OAAO;QACL,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAe,EAAE,OAAO,EAAE,CAAC,CAAC;QAChG,GAAG,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAe,EAAE,OAAO,EAAE,CAAC,CAAC;KAClF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,wEAAwE;AACxE,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAC/B,gGAAgG,CAAC;AAEnG,uFAAuF;AACvF,MAAM,UAAU,wBAAwB,CAAC,GAAY;IACnD,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,kBAAkB,CAAC;QACzF,CAAC,CAAC,CAAC,oBAAoB,CAAC;QACxB,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAKD;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,gFAAgF;AAChF,MAAM,UAAU,GAAG,yGAAyG,CAAC;AAE7H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,cAAc;AAClB,6EAA6E;AAC7E,yEAAyE;AACzE,6EAA6E;AAC7E,8EAA8E;AAC9E,wEAAwE;AACxE,+DAA+D;AAC/D,8UAA8U,CAAC;AAEjV,oFAAoF;AACpF,SAAS,YAAY,CAAC,IAAY,EAAE,KAAa;IAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvC,4EAA4E;IAC5E,6EAA6E;IAC7E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAClB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EACxB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,EACvB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,EACvB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EACxB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CACzB,CAAC;IACF,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACnD,CAAC;AAWD,sFAAsF;AACtF,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,MAAM,GAAG,GAAoB,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC;YAC7D,GAAG,CAAC,IAAI,CAAC;gBACP,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBACpB,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO;gBACrC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC;QAAE,IAAI,CAAC,CAAC,QAAQ,KAAK,OAAO;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACzF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QACrD,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,qEAAqE;AACrE,MAAM,QAAQ,GAAG,gDAAgD,CAAC;AAElE;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,+DAA+D;IAC/D,EAAE;IACF,qEAAqE;IACrE,0EAA0E;IAC1E,8EAA8E;IAC9E,2EAA2E;IAC3E,+EAA+E;IAC/E,2EAA2E;IAC3E,6EAA6E;IAC7E,cAAc;IACd,EAAE;IACF,8EAA8E;IAC9E,2EAA2E;IAC3E,+EAA+E;IAC/E,aAAa;IACb,EAAE;IACF,yEAAyE;IACzE,+EAA+E;IAC/E,iDAAiD;IACjD,IAAI,KAAK,GAAkB,IAAI,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,2EAA2E;QAC3E,mEAAmE;QACnE,MAAM,IAAI,GAAG,qCAAqC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,GAAG,iDAAiD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAY,CAAC,CAAC,CAAC,IAAI,CAAC;YACpC,SAAS;QACX,CAAC;QACD,IAAI,KAAK,KAAK,IAAI;YAAE,SAAS;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG;YAAE,SAAS;QAC3C,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;YAAE,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;YAAE,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@davidbalzan/groundwork-seam",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.17",
|
|
4
4
|
"description": "Schema owner of QUEUE / DONE / WORKSTREAMS / FACTS plus protocol record types.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -26,6 +26,14 @@
|
|
|
26
26
|
"CHANGELOG.md",
|
|
27
27
|
"LICENSE"
|
|
28
28
|
],
|
|
29
|
+
"scripts": {
|
|
30
|
+
"clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
|
|
31
|
+
"build": "pnpm run clean && tsc",
|
|
32
|
+
"prepare": "pnpm run clean && tsc",
|
|
33
|
+
"prepack": "pnpm run build",
|
|
34
|
+
"pretest": "tsc",
|
|
35
|
+
"test": "node ../../scripts/assert-tests-exist.mjs test/*.test.mjs && node --test test/*.test.mjs"
|
|
36
|
+
},
|
|
29
37
|
"engines": {
|
|
30
38
|
"node": ">=20"
|
|
31
39
|
},
|
|
@@ -33,11 +41,5 @@
|
|
|
33
41
|
"devDependencies": {
|
|
34
42
|
"@types/node": "^26.2.0",
|
|
35
43
|
"typescript": "^7.0.2"
|
|
36
|
-
},
|
|
37
|
-
"scripts": {
|
|
38
|
-
"clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
|
|
39
|
-
"build": "pnpm run clean && tsc",
|
|
40
|
-
"pretest": "tsc",
|
|
41
|
-
"test": "node ../../scripts/assert-tests-exist.mjs test/*.test.mjs && node --test test/*.test.mjs"
|
|
42
44
|
}
|
|
43
|
-
}
|
|
45
|
+
}
|