@clossys/writer 0.3.6 → 0.3.8

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 CHANGED
@@ -3,6 +3,72 @@
3
3
  All notable changes to this package are documented here. Format follows
4
4
  [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
5
5
 
6
+ ## [0.3.8] - 2026-09-16
7
+
8
+ ### Added
9
+
10
+ - README now documents the `writer-check --format json` contract added in
11
+ 0.3.7: the exact object shape, and the guarantee that `verdict`, `findings`
12
+ and `unchecked` are present together on every path — clean, findings, and
13
+ total failure alike. The flag was documented in `--help` and in this
14
+ changelog but not in the README, where this package documents its other
15
+ CLI exit-code contracts (#880).
16
+
17
+ ### Changed
18
+
19
+ - Version bumped from 0.3.7 to 0.3.8 without a functional change to the
20
+ shipped code. 0.3.7 was never published: its retained qualification record
21
+ bound a tarball that could not be reproduced from the tree, because the
22
+ record was generated against an incrementally-built `dist/` that carried
23
+ stale artifacts. Qualification records are immutable — one introduction per
24
+ path, hash-pinned — so the 0.3.7 record could not be corrected and 0.3.7
25
+ could never be published. It is skipped deliberately rather than reused.
26
+
27
+ The mechanism is filed as #893; this release's own record was generated
28
+ from a clean build on the pinned release runtime specifically because of it.
29
+
30
+ ## [0.3.7] - 2026-09-15
31
+
32
+ ### Fixed
33
+
34
+ - The default `writer-check` command's scanner could not classify a `//`
35
+ line comment or a `/* */` block comment placed BETWEEN a JSX element's
36
+ attributes — legal TSX every mainstream formatter produces for a
37
+ commented-out or explained prop. The attribute-parsing loop inside
38
+ `tryScanJsxElement` had no case for either comment form, so it fell
39
+ through to the loop's own "not committed, silently not-JSX" backtrack;
40
+ for a NESTED element (the realistic shape in a real component tree)
41
+ that backtrack surfaced as an `"unrecognized-jsx-child"` `unchecked`
42
+ entry, and this package's own indeterminate-fold ("one unreadable
43
+ region must not let a scan report itself clean") turned that ONE
44
+ construct into exit code 2 for the WHOLE run — discarding every real
45
+ finding the same scan had already produced (issue #753: a 270-entry
46
+ `CopyRecord` scan against a real application tree extracted 294
47
+ candidates, produced 292 findings, and still exited 2 over this one
48
+ construct). Comment trivia between attributes is now skipped exactly
49
+ like the whitespace surrounding it, before any commit decision is
50
+ made — the same "silent, pre-commit trivia" treatment this loop
51
+ already gives TSX's generic-arrow-function syntax.
52
+
53
+ ### Added
54
+
55
+ - `writer-check --format json`: the default command's own structured,
56
+ machine-readable report (`CopyTraceabilityReport`), matching the
57
+ `--format json` shape `inspector`'s CLI already publishes. Exit code 2
58
+ (indeterminate) is unchanged and still wins whenever any JSX construct
59
+ is `unchecked` — an indeterminate result must never read as clean, and
60
+ this does not touch that rule. What changes is that a consumer no
61
+ longer has to choose between reading the exit code and discarding
62
+ everything the run DID measure: `--format json` prints exactly one
63
+ object to stdout, always carrying `verdict` (the same
64
+ `"clean" | "findings" | "indeterminate"` states this package uses
65
+ everywhere), `findings`, and `unchecked` together, regardless of which
66
+ verdict resulted — so a real finding produced alongside a genuinely
67
+ unclassifiable construct in the same run is still reachable by a
68
+ consumer that reads past the exit code, exactly as #753 asked for,
69
+ while a consumer that only checks `exitCode`/`verdict` still, correctly,
70
+ never sees an indeterminate run reported as a pass.
71
+
6
72
  ## [0.3.6] - 2026-09-14
7
73
 
8
74
  ### Changed
package/README.md CHANGED
@@ -388,6 +388,52 @@ this run is reported too, as a `"warning"`, since a stale exclusion (the
388
388
  file it named was renamed or deleted) is otherwise indistinguishable from
389
389
  one still doing real work.
390
390
 
391
+ ## Machine-readable output: `writer-check --format json`
392
+
393
+ The default `writer-check` command takes `--format <text|json>`, defaulting to
394
+ `text`. Under `json` it prints exactly one object to stdout and nothing else —
395
+ every diagnostic that would normally go to stdout is suppressed, so the output
396
+ is always parseable — and writes nothing to stderr on a successful run.
397
+
398
+ The contract that matters is what the object carries, and when:
399
+
400
+ ```
401
+ {
402
+ recordFile, scanDir,
403
+ verdict: "clean" | "findings" | "indeterminate",
404
+ exitCode: 0 | 1 | 2,
405
+ reason?, // present when the verdict needs explaining
406
+ filesScanned, candidatesScanned, matched,
407
+ findings: CopyGateFinding[],
408
+ ignored: CopyGateIgnored[],
409
+ unchecked: UncheckedItem[],
410
+ parseFailures: { file, detail }[]
411
+ }
412
+ ```
413
+
414
+ **`verdict`, `findings` and `unchecked` are always present together, on every
415
+ path** — the clean path, the findings path, and the total-failure path alike.
416
+ That is the whole point of the shape. A single construct the scanner cannot
417
+ classify makes the run `indeterminate` and exits `2`, but the findings it did
418
+ produce are still in `findings`, recoverable by any caller that reads past the
419
+ exit code.
420
+
421
+ That mattered concretely: before this shape existed, one unclassifiable JSX
422
+ comment between attributes forced exit `2` and discarded **292 real findings**
423
+ from the same scan (issue #753). The exit code and the verdict still refuse to
424
+ read as clean — an indeterminate must never look like a pass — but "I could
425
+ not evaluate THIS ITEM" is no longer collapsed into "I could not evaluate
426
+ ANYTHING."
427
+
428
+ A caller keying only on `exitCode` or `verdict` therefore never mistakes an
429
+ indeterminate run for a clean one; a caller that reads `findings` recovers
430
+ everything the run measured regardless of how it ended.
431
+
432
+ This mirrors `@clossys/inspector`'s `VerifyStandardsReport` (per-row verdict
433
+ plus one overall verdict and exit code) and `@clossys/observer`'s
434
+ `CoverageCellState` three-state union, rather than inventing a fourth
435
+ convention.
436
+
391
437
  ## Copy addressability — is prose resolved from the registry, or typed inline?
392
438
 
393
439
  `checkCopyTraceability` above answers "does this literal match a registered
package/dist/cli.d.ts CHANGED
@@ -120,6 +120,8 @@
120
120
  * anyway so the accounting/exit-code contract stays correct for a future
121
121
  * CLI flag without a second pass over this logic.
122
122
  */
123
+ import { type CopyGateFinding, type CopyGateIgnored } from "./copy-gate.js";
124
+ import { type UncheckedItem } from "./scan.js";
123
125
  /** Exported for `cli.test.ts` — anything wrong with the arguments themselves always maps to exit code 2, never 1. */
124
126
  export declare class CliInputError extends Error {
125
127
  }
@@ -131,6 +133,59 @@ export declare class CliInputError extends Error {
131
133
  * that reason — `run()` below is the only caller that reads the real
132
134
  * `process.argv`.
133
135
  */
136
+ /**
137
+ * The default command's own structured, machine-readable report — issue
138
+ * #753's second half. `printGateReport`/`printScanAccounting` already put
139
+ * every finding a run DID produce ahead of any exit-code decision in the
140
+ * text output; the gap #753 found is that a consumer keying on the exit
141
+ * code alone (2 = indeterminate) cannot reach those findings at all,
142
+ * because nothing besides that human-readable text carries them. This
143
+ * type is that carrier: `--format json` prints EXACTLY ONE of these,
144
+ * nothing else, to stdout, whatever `exitCode` turns out to be — the same
145
+ * "one parseable object regardless of verdict" contract `inspector`'s own
146
+ * `VerifyStandardsReport`/`--format json` already publishes (see
147
+ * `packages/inspector/src/cli.ts`), and the same shape `observer`'s
148
+ * fleet-coverage grader and `addressability.ts`'s own `AddressabilityGateResult`
149
+ * use: a per-item verdict (here, each `CopyGateFinding`/`UncheckedItem`) is
150
+ * a DIFFERENT question from the run's one overall verdict, and collapsing
151
+ * the two into a bare exit code is exactly what discarded 292 real
152
+ * findings alongside one unclassifiable construct in #753's own repro.
153
+ *
154
+ * `verdict` is the SAME three states this whole package uses everywhere
155
+ * else (`"clean" | "findings" | "indeterminate"`), computed with the
156
+ * identical precedence `main()`'s own exit-code decision already applies
157
+ * below — `unchecked.length > 0` wins over `findings.length > 0`, which
158
+ * wins over a clean pass. Never a fourth state, and never inferred
159
+ * separately from `exitCode` by a consumer — read `verdict` (or
160
+ * `exitCode`) and treat `findings`/`unchecked` as what was actually
161
+ * measured, present or empty independent of which verdict resulted.
162
+ *
163
+ * `reason` is populated ONLY for the "could not run at all" shape of
164
+ * indeterminate — a missing/invalid copy record, an untrustworthy
165
+ * exclusion list, or a scan that matched/parsed nothing — where `findings`
166
+ * and `unchecked` are necessarily both `[]` because `checkCopyTraceability`
167
+ * never ran. It is `undefined` whenever a real scan DID run, including the
168
+ * `"indeterminate"` case #753 is about (real `findings`, plus one or more
169
+ * `unchecked` entries) — that case needs no extra prose beyond the data
170
+ * itself, which is the entire point of shipping it as data.
171
+ */
172
+ export interface CopyTraceabilityReport {
173
+ recordFile: string;
174
+ scanDir: string;
175
+ verdict: "clean" | "findings" | "indeterminate";
176
+ exitCode: 0 | 1 | 2;
177
+ reason?: string;
178
+ filesScanned: number;
179
+ candidatesScanned: number;
180
+ matched: number;
181
+ findings: CopyGateFinding[];
182
+ ignored: CopyGateIgnored[];
183
+ unchecked: UncheckedItem[];
184
+ parseFailures: {
185
+ file: string;
186
+ detail: string;
187
+ }[];
188
+ }
134
189
  export declare function main(argv: string[]): number;
135
190
  /**
136
191
  * Exported (unlike a typical CLI `main`) for the identical reason `main`
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwHG;AAuEH,qHAAqH;AACrH,qBAAa,aAAc,SAAQ,KAAK;CAAG;AA2f3C;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAyH3C;AAsGD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAqCxD;AAkFD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CA6B9D"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwHG;AAWH,OAAO,EAAyB,KAAK,eAAe,EAAE,KAAK,eAAe,EAAuB,MAAM,gBAAgB,CAAC;AAIxH,OAAO,EAAuC,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAkEpF,qHAAqH;AACrH,qBAAa,aAAc,SAAQ,KAAK;CAAG;AAsgB3C;;;;;;;GAOG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,GAAG,UAAU,GAAG,eAAe,CAAC;IAChD,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,aAAa,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACnD;AAmBD,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAyL3C;AAsGD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAqCxD;AAkFD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CA6B9D"}
package/dist/cli.js CHANGED
@@ -147,8 +147,18 @@ are separate, stricter gates; neither runs as part of this default command.
147
147
 
148
148
  Options:
149
149
  --help Print this message and exit 0.
150
+ --format <text|json> Output format. Defaults to text. "json" prints exactly one
151
+ machine-readable object to stdout (see CopyTraceabilityReport in
152
+ cli.ts) instead of the human-readable report — "verdict" states the
153
+ same clean/findings/indeterminate outcome as the exit code, but
154
+ "findings" and "unchecked" are always both present, so a consumer
155
+ that only checks the exit code is never the only way to see what a
156
+ run DID measure: a scan that produced real findings AND one
157
+ unclassifiable construct in the same run (issue #753) still exits 2
158
+ (an indeterminate result must never read as clean), but its findings
159
+ remain reachable in this object rather than discarded with it.
150
160
 
151
- Exit codes: 0 = clean, 1 = at least one finding, 2 = could not run (bad input, missing/invalid record, nothing matched to scan, or every matched file failed to parse).
161
+ Exit codes: 0 = clean, 1 = at least one finding, 2 = could not run (bad input, missing/invalid record, nothing matched to scan, every matched file failed to parse, or at least one JSX construct recognized but not reliably classified — see --format json above to still recover any findings a run like that DID produce).
152
162
 
153
163
  Run "writer-check voice-derivation-coverage --help" for the second subcommand's own usage.
154
164
  Run "writer-check locale-coverage --help" for the third subcommand's own usage.
@@ -186,12 +196,22 @@ export class CliInputError extends Error {
186
196
  function parseArgs(argv) {
187
197
  let recordFile;
188
198
  let scanDir;
199
+ let format = "text";
189
200
  let help = false;
190
- for (const arg of argv) {
201
+ for (let i = 0; i < argv.length; i++) {
202
+ const arg = argv[i];
191
203
  if (arg === "--help" || arg === "-h") {
192
204
  help = true;
193
205
  continue;
194
206
  }
207
+ if (arg === "--format") {
208
+ const value = argv[++i];
209
+ if (value !== "text" && value !== "json") {
210
+ throw new CliInputError(`--format must be "text" or "json", got ${JSON.stringify(value)}`);
211
+ }
212
+ format = value;
213
+ continue;
214
+ }
195
215
  if (arg.startsWith("-")) {
196
216
  throw new CliInputError(`unknown flag "${arg}"`);
197
217
  }
@@ -205,7 +225,7 @@ function parseArgs(argv) {
205
225
  throw new CliInputError(`unexpected extra argument "${arg}"`);
206
226
  }
207
227
  }
208
- return { recordFile, scanDir, help };
228
+ return { recordFile, scanDir, format, help };
209
229
  }
210
230
  function requireDirectory(label, path) {
211
231
  if (!existsSync(path))
@@ -625,14 +645,22 @@ function printAddressabilityReport(result) {
625
645
  console.error(`[addressability] indeterminate — ${result.reasons.join("; ")}. Refusing to report a pass.`);
626
646
  }
627
647
  }
628
- /**
629
- * Exported (unlike a typical CLI `main`) so `cli.test.ts` can exercise the
630
- * whole argv-to-exit-code contract directly, against real `mkdtemp` temp
631
- * directories, without spawning a subprocess for every case. Takes `argv`
632
- * as a parameter rather than reading `process.argv` itself for exactly
633
- * that reason — `run()` below is the only caller that reads the real
634
- * `process.argv`.
635
- */
648
+ function emptyReport(recordFile, scanDir, exitCode, reason) {
649
+ return {
650
+ recordFile,
651
+ scanDir,
652
+ verdict: "indeterminate",
653
+ exitCode,
654
+ reason,
655
+ filesScanned: 0,
656
+ candidatesScanned: 0,
657
+ matched: 0,
658
+ findings: [],
659
+ ignored: [],
660
+ unchecked: [],
661
+ parseFailures: [],
662
+ };
663
+ }
636
664
  export function main(argv) {
637
665
  // Subcommand dispatch: only `argv[0] === "voice-derivation-coverage"` or
638
666
  // `argv[0] === "locale-coverage"` exactly diverts to the second/third
@@ -654,12 +682,19 @@ export function main(argv) {
654
682
  if (!args.recordFile) {
655
683
  throw new CliInputError("record-file is required");
656
684
  }
685
+ const jsonMode = args.format === "json";
686
+ const emitJson = (report) => {
687
+ if (jsonMode)
688
+ console.log(JSON.stringify(report, null, 2));
689
+ };
657
690
  const recordFile = resolve(args.recordFile);
658
691
  const scanDir = resolve(args.scanDir ?? process.cwd());
659
692
  requireFile("record-file", recordFile);
660
693
  requireDirectory("scan-dir", scanDir);
661
- console.log(`Copy record: ${recordFile}`);
662
- console.log(`Scan directory: ${scanDir}`);
694
+ if (!jsonMode) {
695
+ console.log(`Copy record: ${recordFile}`);
696
+ console.log(`Scan directory: ${scanDir}`);
697
+ }
663
698
  // The copy record itself missing/unreadable/unparseable/invalid is
664
699
  // fail-closed: there is no trustworthy set of registered entries to
665
700
  // check candidates against, so this is "could not run", never a clean
@@ -667,10 +702,13 @@ export function main(argv) {
667
702
  // `strategy-facts-check` holds `facts.json` to.
668
703
  const read = readCopyRecord(recordFile);
669
704
  if (!read.complete || !read.record) {
670
- console.error(`\nCopy record could not be loaded:`);
671
- for (const issue of read.issues)
672
- console.error(` [${issue.reason}] ${issue.detail}`);
673
- console.error("Refusing to report a pass with no trustworthy copy record to check source against.");
705
+ if (!jsonMode) {
706
+ console.error(`\nCopy record could not be loaded:`);
707
+ for (const issue of read.issues)
708
+ console.error(` [${issue.reason}] ${issue.detail}`);
709
+ console.error("Refusing to report a pass with no trustworthy copy record to check source against.");
710
+ }
711
+ emitJson(emptyReport(recordFile, scanDir, 2, `copy record could not be loaded: ${read.issues.map((i) => `[${i.reason}] ${i.detail}`).join("; ")}`));
674
712
  return 2;
675
713
  }
676
714
  // No argv flag populates `pathExclusions` today — this CLI always calls
@@ -681,7 +719,8 @@ export function main(argv) {
681
719
  // own options) does not require touching this exit-code logic again —
682
720
  // see this file's top doc comment.
683
721
  const scan = scanCopySourceTree(scanDir); // throws (fail-closed) on an unreadable directory — caught by run()
684
- printScanAccounting(scan);
722
+ if (!jsonMode)
723
+ printScanAccounting(scan);
685
724
  // A malformed pathExclusions entry means this run cannot trust which
686
725
  // files were correctly excluded — "could not run", not "ran and found
687
726
  // nothing wrong". Checked before the files-scanned gate below: an invalid
@@ -689,7 +728,10 @@ export function main(argv) {
689
728
  // walk itself found anything.
690
729
  const invalidPathExclusions = scan.pathExclusionFindings.filter((f) => f.severity === "error");
691
730
  if (invalidPathExclusions.length > 0) {
692
- console.error(`\n${invalidPathExclusions.length} pathExclusions entr${invalidPathExclusions.length === 1 ? "y is" : "ies are"} invalid — refusing to report a pass built on an exclusion list that cannot be trusted.`);
731
+ if (!jsonMode) {
732
+ console.error(`\n${invalidPathExclusions.length} pathExclusions entr${invalidPathExclusions.length === 1 ? "y is" : "ies are"} invalid — refusing to report a pass built on an exclusion list that cannot be trusted.`);
733
+ }
734
+ emitJson(emptyReport(recordFile, scanDir, 2, `${invalidPathExclusions.length} invalid pathExclusions entr(y/ies)`));
693
735
  return 2;
694
736
  }
695
737
  // Zero files SUCCESSFULLY scanned is the exact failure mode this gate is
@@ -698,10 +740,16 @@ export function main(argv) {
698
740
  // scan.parseFailures) are both, deliberately, the same outcome here —
699
741
  // neither one is "scanned everything, found nothing wrong".
700
742
  if (scan.filesScanned === 0) {
701
- console.error(scan.parseFailures.length > 0
702
- ? `\nEvery file matched under "${scanDir}" failed to parse — nothing was actually scanned.`
703
- : `\nNo files matched under "${scanDir}" — nothing was scanned.`);
704
- console.error("Refusing to report a pass for a scan that checked nothing.");
743
+ const reason = scan.parseFailures.length > 0
744
+ ? `every file matched under "${scanDir}" failed to parse — nothing was actually scanned`
745
+ : `no files matched under "${scanDir}" — nothing was scanned`;
746
+ if (!jsonMode) {
747
+ console.error(scan.parseFailures.length > 0
748
+ ? `\nEvery file matched under "${scanDir}" failed to parse — nothing was actually scanned.`
749
+ : `\nNo files matched under "${scanDir}" — nothing was scanned.`);
750
+ console.error("Refusing to report a pass for a scan that checked nothing.");
751
+ }
752
+ emitJson(emptyReport(recordFile, scanDir, 2, reason));
705
753
  return 2;
706
754
  }
707
755
  // A file that failed to parse was matched, was in scope, and was never
@@ -723,12 +771,16 @@ export function main(argv) {
723
771
  // read as fully accounted-for, it does not hide anything that was
724
772
  // learned.
725
773
  if (scan.parseFailures.length > 0) {
726
- console.error(`\n${scan.parseFailures.length} of ${scan.parseFailures.length + scan.filesScanned} matched file(s) under "${scanDir}" could not be parsed and were never examined for copy.`);
727
- console.error("Refusing to report a pass for a scan whose coverage is incomplete.");
774
+ if (!jsonMode) {
775
+ console.error(`\n${scan.parseFailures.length} of ${scan.parseFailures.length + scan.filesScanned} matched file(s) under "${scanDir}" could not be parsed and were never examined for copy.`);
776
+ console.error("Refusing to report a pass for a scan whose coverage is incomplete.");
777
+ }
778
+ emitJson(emptyReport(recordFile, scanDir, 2, `${scan.parseFailures.length} of ${scan.parseFailures.length + scan.filesScanned} matched file(s) could not be parsed and were never examined for copy`));
728
779
  return 2;
729
780
  }
730
781
  const result = checkCopyTraceability(scan.candidates, scan.citations, read.record, scan.filesScanned, scan.unchecked);
731
- printGateReport(result);
782
+ if (!jsonMode)
783
+ printGateReport(result);
732
784
  // `unchecked` wins over everything else in the exit-code decision — see
733
785
  // this file's own top doc comment for why it is a `2`, not a `1`: it
734
786
  // means part of a matched file was never actually examined, which is
@@ -736,9 +788,33 @@ export function main(argv) {
736
788
  // finding was still printed above, so nothing real is hidden — this
737
789
  // only refuses to let the run as a whole read as clean or as
738
790
  // fully-accounted-for.
739
- if (result.unchecked.length > 0)
740
- return 2;
741
- return result.findings.length > 0 ? 1 : 0;
791
+ //
792
+ // THIS is #753's own partial-evaluation case: `result.findings` can be
793
+ // (and in #753's own repro, was) non-empty at the exact same time as
794
+ // `result.unchecked` — a real 292-finding scan sitting right next to one
795
+ // unclassifiable construct. `verdict` is still, correctly,
796
+ // `"indeterminate"` (never `"clean"`, never silently `"findings"`) —
797
+ // but unlike a bare exit code, `--format json`'s report carries
798
+ // `findings` (all 292 of them) AND `unchecked` (the one construct) in
799
+ // the SAME object, so a consumer keying on `exitCode`/`verdict` alone
800
+ // still fails closed exactly as this package intends, while a consumer
801
+ // that reads further is never forced to throw away what was measured.
802
+ const exitCode = result.unchecked.length > 0 ? 2 : result.findings.length > 0 ? 1 : 0;
803
+ const verdict = result.unchecked.length > 0 ? "indeterminate" : result.findings.length > 0 ? "findings" : "clean";
804
+ emitJson({
805
+ recordFile,
806
+ scanDir,
807
+ verdict,
808
+ exitCode,
809
+ filesScanned: scan.filesScanned,
810
+ candidatesScanned: result.candidatesScanned,
811
+ matched: result.matched,
812
+ findings: result.findings,
813
+ ignored: result.ignored,
814
+ unchecked: result.unchecked,
815
+ parseFailures: scan.parseFailures.map((p) => ({ file: p.file, detail: p.detail })),
816
+ });
817
+ return exitCode;
742
818
  }
743
819
  function run() {
744
820
  try {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../src/scan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../src/scan.ts"],"names":[],"mappings":"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"}
package/dist/scan.js CHANGED
@@ -1099,6 +1099,36 @@ function tokenize(content, isJsxFile) {
1099
1099
  if (j >= n)
1100
1100
  return backtrack(); // ran off the end before the head ever closed — not committed, silently not-JSX
1101
1101
  const cj = content[j];
1102
+ // Comment trivia BETWEEN attributes (`//` line comment or `/* */`
1103
+ // block comment) — legal TSX a formatter routinely produces
1104
+ // (issue #753). Checked before the self-closing `/>` test below,
1105
+ // since both start with `/`: `content[j + 1] === ">"` is the
1106
+ // self-close, anything else after a `/` here is a comment, never
1107
+ // a division operator — there is no expression context inside an
1108
+ // opening tag's attribute list for `/` to divide. Treated exactly
1109
+ // like the whitespace just skipped above: this function has not
1110
+ // committed to "this is real JSX" yet (no `>`/`/>` found), so
1111
+ // consuming a comment here is silent trivia-skipping, not a
1112
+ // reportable event — matching every other pre-commit case in
1113
+ // this loop (e.g. the TSX generic-arrow-function `,` below,
1114
+ // which also backtracks with no message). An unterminated `/*`
1115
+ // is the one exception: it means this position can never
1116
+ // resolve to a valid tag head, so this reports the SAME "not
1117
+ // JSX after all" backtrack as running off the end of the file,
1118
+ // above.
1119
+ if (cj === "/" && content[j + 1] === "/") {
1120
+ const nl = content.indexOf("\n", j);
1121
+ j = nl === -1 ? n : nl;
1122
+ continue;
1123
+ }
1124
+ if (cj === "/" && content[j + 1] === "*") {
1125
+ const close = content.indexOf("*/", j + 2);
1126
+ if (close === -1)
1127
+ return backtrack(); // unterminated block comment — not committed, silently not-JSX
1128
+ advanceLine(j, close + 2);
1129
+ j = close + 2;
1130
+ continue;
1131
+ }
1102
1132
  if (cj === "/" && content[j + 1] === ">") {
1103
1133
  selfClosing = true;
1104
1134
  j += 2;
package/dist/scan.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"scan.js","sourceRoot":"","sources":["../src/scan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scan.js","sourceRoot":"","sources":["../src/scan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6RG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EACL,oBAAoB,EACpB,sBAAsB,GAKvB,MAAM,sBAAsB,CAAC;AAsB9B,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC1D,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AAEzF,8IAA8I;AAC9I,MAAM,YAAY,GAAG,gDAAgD,CAAC;AA0DtE,2EAA2E;AAC3E,0EAA0E;AAC1E,kDAAkD;AAClD,8DAA8D;AAC9D,mEAAmE;AACnE,yEAAyE;AACzE,0BAA0B;AAC1B,MAAM,WAAW,GAAG,+DAA+D,CAAC;AACpF,MAAM,gBAAgB,GAAG,+CAA+C,CAAC;AA0EzE;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,UAAuB,EAAE;IACxE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,kBAAkB,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,iBAAiB,CAAC,CAAC;IAEhE,sEAAsE;IACtE,kEAAkE;IAClE,uEAAuE;IACvE,yEAAyE;IACzE,YAAY;IACZ,MAAM,uBAAuB,GAAG,sBAAsB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/E,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkC,CAAC;IAC9D,KAAK,MAAM,SAAS,IAAI,uBAAuB,CAAC,KAAK;QAAE,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAErF,MAAM,MAAM,GAAe;QACzB,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,EAAE;QACb,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,EAAE;QACjB,SAAS,EAAE,EAAE;QACb,aAAa,EAAE,EAAE;QACjB,qBAAqB,EAAE,CAAC,GAAG,uBAAuB,CAAC,QAAQ,CAAC;KAC7D,CAAC;IAEF,SAAS,IAAI,CAAC,GAAW;QACvB,IAAI,OAAiB,CAAC;QACtB,IAAI,CAAC;YACH,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,8CAA8C,GAAG,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAChH,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,SAAS;YAClC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9B,IAAI,IAAI,CAAC;YACT,IAAI,CAAC;gBACH,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS,CAAC,oEAAoE;YAChF,CAAC;YACD,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,CAAC;gBACX,SAAS;YACX,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAAE,SAAS;YAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;gBAAE,SAAS;YAE5D,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE1D,sEAAsE;YACtE,6DAA6D;YAC7D,sEAAsE;YACtE,oEAAoE;YACpE,sEAAsE;YACtE,kEAAkE;YAClE,+BAA+B;YAC/B,IAAI,gBAAoD,CAAC;YACzD,KAAK,MAAM,SAAS,IAAI,uBAAuB,CAAC,KAAK,EAAE,CAAC;gBACtD,IAAI,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;oBAC7C,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAClE,gBAAgB,KAAK,SAAS,CAAC;gBACjC,CAAC;YACH,CAAC;YACD,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC9G,SAAS;YACX,CAAC;YAED,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7B,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;gBAC7E,SAAS;YACX,CAAC;YAED,IAAI,OAAe,CAAC;YACpB,IAAI,CAAC;gBACH,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACvC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CACb,yCAAyC,IAAI,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC5G,CAAC;YACJ,CAAC;YAED,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC1D,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;gBAC3B,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC;gBAC7E,SAAS,CAAC,mEAAmE;YAC/E,CAAC;YACD,MAAM,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;YAChD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC5C,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,CAAC;IAEX,0EAA0E;IAC1E,yEAAyE;IACzE,6EAA6E;IAC7E,mBAAmB;IACnB,KAAK,MAAM,SAAS,IAAI,uBAAuB,CAAC,KAAK,EAAE,CAAC;QACtD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC;gBAChC,IAAI,EAAE,uBAAuB;gBAC7B,QAAQ,EAAE,SAAS;gBACnB,OAAO,EAAE,yBAAyB,SAAS,CAAC,IAAI,eAAe,SAAS,CAAC,MAAM,iFAAiF;gBAChK,IAAI,EAAE,SAAS,CAAC,IAAI;aACrB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,0EAA0E;AAE1E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAQ,CAAC;AAoC7C,iTAAiT;AACjT,MAAM,aAAa,GAAG,GAAG,CAAC;AAE1B,MAAM,YAAY,GAA2B;IAC3C,IAAI,EAAE,IAAI;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,GAAG;CACP,CAAC;AAEF,SAAS,QAAQ,CAAC,GAAW;IAC3B,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAW,CAAC;QAC3B,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAW,CAAC;YAClC,GAAG,IAAI,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACxD,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,CAAC;YACN,GAAG,IAAI,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,sHAAsH;AACtH,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC;IACvC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;CACvH,CAAC,CAAC;AAEH;;;;;;;;;;GAUG;AACH,SAAS,QAAQ,CAAC,OAAe,EAAE,SAAkB;IACnD,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAiB,EAAE,CAAC;IAClC,MAAM,SAAS,GAAmB,EAAE,CAAC;IACrC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IACzB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,yEAAyE;IACzE,yEAAyE;IACzE,iEAAiE;IACjE,oEAAoE;IACpE,IAAI,aAAa,GAAsB,OAAO,CAAC;IAE/C,SAAS,WAAW,CAAC,IAAY,EAAE,EAAU;QAC3C,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAAE,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI;gBAAE,IAAI,EAAE,CAAC;IAClE,CAAC;IAED,SAAS,aAAa,CAAC,MAAc,EAAE,IAAY,EAAE,MAAc;QACjE,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,iBAAiB,CAAC,GAAW;QACpC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,GAAG,GAAG,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAW,CAAC;YAChC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBAChB,IAAI,EAAE,CAAC;gBACP,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,KAAK,EAAE,CAAC;gBACR,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,KAAK,EAAE,CAAC;gBACR,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YACD,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBAC7B,MAAM,CAAC,GAAG,EAAE,CAAC;gBACb,CAAC,EAAE,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;oBACjC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI;wBAAE,CAAC,EAAE,CAAC;oBAC7B,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI;wBAAE,IAAI,EAAE,CAAC;oBAChC,CAAC,EAAE,CAAC;gBACN,CAAC;gBACD,CAAC,EAAE,CAAC,CAAC,2FAA2F;gBAChG,SAAS;YACX,CAAC;YACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,MAAM,IAAI,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBACjC,IAAI,IAAI,KAAK,CAAC,CAAC;oBAAE,OAAO,CAAC,CAAC,CAAC;gBAC3B,CAAC,GAAG,IAAI,CAAC;gBACT,SAAS;YACX,CAAC;YACD,IAAI,EAAE,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACzC,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACpC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvB,SAAS;YACX,CAAC;YACD,IAAI,EAAE,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACzC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3C,IAAI,KAAK,KAAK,CAAC,CAAC;oBAAE,OAAO,CAAC,CAAC,CAAC;gBAC5B,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC1B,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;gBACd,SAAS;YACX,CAAC;YACD,CAAC,EAAE,CAAC;QACN,CAAC;QACD,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,sNAAsN;IACtN,SAAS,gBAAgB,CAAC,GAAW;QACnC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACb,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAW,CAAC;YAChC,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;YACD,IAAI,EAAE,KAAK,GAAG;gBAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBAChB,IAAI,EAAE,CAAC;gBACP,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YACD,IAAI,EAAE,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACzC,MAAM,IAAI,GAAG,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtC,IAAI,IAAI,KAAK,CAAC,CAAC;oBAAE,OAAO,CAAC,CAAC,CAAC;gBAC3B,CAAC,GAAG,IAAI,CAAC;gBACT,SAAS;YACX,CAAC;YACD,CAAC,EAAE,CAAC;QACN,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,sNAAsN;IACtN,IAAI,cAAkC,CAAC;IAEvC;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,SAAS,iBAAiB,CAAC,GAAW;QACpC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAW,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC;QACvB,MAAM,KAAK,GAAG,GAAG,CAAC;QAClB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QAChB,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACb,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAW,CAAC;YAChC,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,KAAK,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC7B,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;YACD,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;gBACjB,MAAM,GAAG,IAAI,CAAC;gBACd,CAAC,EAAE,CAAC;gBACJ,MAAM;YACR,CAAC;YACD,IAAI,EAAE,KAAK,IAAI;gBAAE,MAAM,CAAC,6EAA6E;YACrG,KAAK,IAAI,EAAE,CAAC;YACZ,CAAC,EAAE,CAAC;QACN,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,cAAc,GAAG,wCAAwC,SAAS,EAAE,CAAC;YACrE,OAAO,CAAC,CAAC,CAAC;QACZ,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,SAAS;YACf,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAC5B,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9B,gBAAgB,EAAE,CAAC;YACnB,KAAK;YACL,GAAG,EAAE,CAAC;SACP,CAAC,CAAC;QACH,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,SAAS,mBAAmB,CAAC,GAAW;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC;QACvB,MAAM,KAAK,GAAG,GAAG,CAAC;QAClB,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QAChB,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACb,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAW,CAAC;YAChC,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,OAAO,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC/B,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;YACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,MAAM,GAAG,IAAI,CAAC;gBACd,CAAC,EAAE,CAAC;gBACJ,MAAM;YACR,CAAC;YACD,IAAI,EAAE,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACzC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;gBACpC,OAAO,GAAG,EAAE,CAAC;gBACb,gBAAgB,EAAE,CAAC;gBACnB,4DAA4D;gBAC5D,8DAA8D;gBAC9D,+DAA+D;gBAC/D,+DAA+D;gBAC/D,yBAAyB;gBACzB,MAAM,sBAAsB,GAAG,IAAI,CAAC;gBACpC,MAAM,IAAI,GAAG,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtC,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;oBAChB,cAAc,GAAG,uDAAuD,sBAAsB,EAAE,CAAC;oBACjG,OAAO,CAAC,CAAC,CAAC;gBACZ,CAAC;gBACD,CAAC,GAAG,IAAI,CAAC;gBACT,SAAS;YACX,CAAC;YACD,IAAI,EAAE,KAAK,IAAI;gBAAE,IAAI,EAAE,CAAC;YACxB,OAAO,IAAI,EAAE,CAAC;YACd,CAAC,EAAE,CAAC;QACN,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,cAAc,GAAG,kDAAkD,SAAS,EAAE,CAAC;YAC/E,OAAO,CAAC,CAAC,CAAC;QACZ,CAAC;QACD,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QACpC,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,SAAS;YACf,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAC5B,WAAW;YACX,gBAAgB;YAChB,KAAK;YACL,GAAG,EAAE,CAAC;SACP,CAAC,CAAC;QACH,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,SAAS,0BAA0B,CAAC,GAAW,EAAE,KAAa;QAC5D,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,CAAC;QACZ,IAAI,SAAS,GAAsB,OAAO,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAW,CAAC;YAChC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBAChB,IAAI,EAAE,CAAC;gBACP,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YACD,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBAC7C,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YACD,IAAI,EAAE,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACzC,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACpC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvB,SAAS;YACX,CAAC;YACD,IAAI,EAAE,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACzC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3C,IAAI,KAAK,KAAK,CAAC,CAAC;oBAAE,OAAO,CAAC,CAAC,CAAC;gBAC5B,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC1B,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;gBACd,SAAS;YACX,CAAC;YACD,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;gBACjC,IAAI,GAAG,KAAK,CAAC,CAAC;oBAAE,OAAO,CAAC,CAAC,CAAC;gBAC1B,CAAC,GAAG,GAAG,CAAC;gBACR,SAAS,GAAG,OAAO,CAAC;gBACpB,SAAS;YACX,CAAC;YACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,MAAM,GAAG,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;gBACnC,IAAI,GAAG,KAAK,CAAC,CAAC;oBAAE,OAAO,CAAC,CAAC,CAAC;gBAC1B,CAAC,GAAG,GAAG,CAAC;gBACR,SAAS,GAAG,OAAO,CAAC;gBACpB,SAAS;YACX,CAAC;YACD,IAAI,EAAE,KAAK,GAAG,IAAI,SAAS,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;gBACrD,MAAM,KAAK,GAAG,iBAAiB,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC9C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACnB,CAAC,GAAG,KAAK,CAAC;oBACV,SAAS,GAAG,OAAO,CAAC;oBACpB,SAAS;gBACX,CAAC;gBACD,gEAAgE;gBAChE,iEAAiE;gBACjE,aAAa;YACf,CAAC;YACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,UAAU,EAAE,CAAC;gBACb,CAAC,EAAE,CAAC;gBACJ,SAAS,GAAG,OAAO,CAAC;gBACpB,SAAS;YACX,CAAC;YACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,UAAU,EAAE,CAAC;gBACb,CAAC,EAAE,CAAC;gBACJ,SAAS,GAAG,OAAO,CAAC;gBACpB,SAAS;YACX,CAAC;YACD,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBAC7B,CAAC,EAAE,CAAC;gBACJ,SAAS,GAAG,OAAO,CAAC;gBACpB,SAAS;YACX,CAAC;YACD,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBAC7B,CAAC,EAAE,CAAC;gBACJ,SAAS,GAAG,OAAO,CAAC;gBACpB,SAAS;YACX,CAAC;YACD,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,GAAG,CAAC,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAW,CAAC;oBAAE,CAAC,EAAE,CAAC;gBAChE,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjC,SAAS,GAAG,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;gBACnE,CAAC,GAAG,CAAC,CAAC;gBACN,SAAS;YACX,CAAC;YACD,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,GAAG,CAAC,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAW,CAAC;oBAAE,CAAC,EAAE,CAAC;gBAChE,CAAC,GAAG,CAAC,CAAC;gBACN,SAAS,GAAG,OAAO,CAAC;gBACpB,SAAS;YACX,CAAC;YACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;oBAC1B,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;wBACpB,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;wBACpC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5B,CAAC,CAAC,EAAE,CAAC;oBACL,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACd,IAAI,OAAO,GAAG,KAAK,CAAC;oBACpB,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;oBACf,OAAO,CAAC,GAAG,OAAO,EAAE,CAAC;wBACnB,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAW,CAAC;wBAChC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;4BAChB,CAAC,IAAI,CAAC,CAAC;4BACP,SAAS;wBACX,CAAC;wBACD,IAAI,EAAE,KAAK,GAAG;4BAAE,OAAO,GAAG,IAAI,CAAC;6BAC1B,IAAI,EAAE,KAAK,GAAG;4BAAE,OAAO,GAAG,KAAK,CAAC;6BAChC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;4BAChC,KAAK,GAAG,CAAC,CAAC;4BACV,MAAM;wBACR,CAAC;wBACD,CAAC,EAAE,CAAC;oBACN,CAAC;oBACD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;wBACjB,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;wBAClB,OAAO,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAW,CAAC;4BAAE,CAAC,EAAE,CAAC;wBACzD,CAAC,GAAG,CAAC,CAAC;wBACN,SAAS,GAAG,OAAO,CAAC;wBACpB,SAAS;oBACX,CAAC;gBACH,CAAC;gBACD,SAAS,GAAG,OAAO,CAAC;gBACpB,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YACD,SAAS,GAAG,OAAO,CAAC;YACpB,CAAC,EAAE,CAAC;QACN,CAAC;QACD,OAAO,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,SAAS,eAAe,CAAC,GAAW,EAAE,OAAe,EAAE,KAAa,EAAE,QAAgB;QACpF,IAAI,CAAC,GAAG,GAAG,CAAC;QACZ,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,YAAY,GAAG,IAAI,CAAC;QAExB,MAAM,KAAK,GAAG,GAAS,EAAE;YACvB,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC;gBACjB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACvC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;oBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;YACxE,CAAC;QACH,CAAC,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACb,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAW,CAAC;YAChC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,KAAK,EAAE,CAAC;gBACR,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBAC3B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACd,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;wBACnC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI;4BAAE,IAAI,EAAE,CAAC;wBAChC,CAAC,EAAE,CAAC;oBACN,CAAC;oBACD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBACX,2DAA2D;wBAC3D,4DAA4D;wBAC5D,uDAAuD;wBACvD,yDAAyD;wBACzD,wDAAwD;wBACxD,wDAAwD;wBACxD,aAAa,CACX,QAAQ,EACR,sBAAsB,EACtB,KAAK,OAAO,qBAAqB,QAAQ,iDAAiD,CAC3F,CAAC;wBACF,OAAO,CAAC,CAAC;oBACX,CAAC;oBACD,OAAO,CAAC,GAAG,CAAC,CAAC;gBACf,CAAC;gBACD,MAAM,SAAS,GAAG,iBAAiB,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBAClD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;oBACvB,4DAA4D;oBAC5D,yDAAyD;oBACzD,8DAA8D;oBAC9D,+DAA+D;oBAC/D,+DAA+D;oBAC/D,yDAAyD;oBACzD,4DAA4D;oBAC5D,wDAAwD;oBACxD,mBAAmB;oBACnB,aAAa,CACX,IAAI,EACJ,wBAAwB,EACxB,eAAe,IAAI,8BAA8B,OAAO,wDAAwD,CACjH,CAAC;oBACF,CAAC,EAAE,CAAC;oBACJ,QAAQ,GAAG,CAAC,CAAC;oBACb,YAAY,GAAG,IAAI,CAAC;oBACpB,SAAS;gBACX,CAAC;gBACD,CAAC,GAAG,SAAS,CAAC;gBACd,QAAQ,GAAG,CAAC,CAAC;gBACb,YAAY,GAAG,IAAI,CAAC;gBACpB,SAAS;YACX,CAAC;YACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,KAAK,EAAE,CAAC;gBACR,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,+EAA+E;gBAC3G,MAAM,GAAG,GAAG,0BAA0B,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;gBACrD,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;oBACf,aAAa,CACX,aAAa,EACb,0BAA0B,EAC1B,6CAA6C,aAAa,cAAc,OAAO,kBAAkB,CAClG,CAAC;oBACF,OAAO,CAAC,CAAC;gBACX,CAAC;gBACD,CAAC,GAAG,GAAG,CAAC;gBACR,QAAQ,GAAG,CAAC,CAAC;gBACb,YAAY,GAAG,IAAI,CAAC;gBACpB,SAAS;YACX,CAAC;YACD,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBAChB,IAAI,EAAE,CAAC;gBACP,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YACD,CAAC,EAAE,CAAC;QACN,CAAC;QACD,oEAAoE;QACpE,sEAAsE;QACtE,kEAAkE;QAClE,mEAAmE;QACnE,aAAa;QACb,KAAK,EAAE,CAAC;QACR,aAAa,CACX,QAAQ,EACR,sBAAsB,EACtB,KAAK,OAAO,qBAAqB,QAAQ,iDAAiD,CAC3F,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoDG;IACH,SAAS,iBAAiB,CAAC,GAAW,EAAE,KAAa;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC;QACvB,MAAM,kBAAkB,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC3C,MAAM,kBAAkB,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC3C,MAAM,mBAAmB,GAAG,SAAS,CAAC,MAAM,CAAC;QAE7C,SAAS,SAAS;YAChB,IAAI,GAAG,SAAS,CAAC;YACjB,QAAQ,CAAC,MAAM,GAAG,kBAAkB,CAAC;YACrC,QAAQ,CAAC,MAAM,GAAG,kBAAkB,CAAC;YACrC,SAAS,CAAC,MAAM,GAAG,mBAAmB,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,KAAK,GAAG,aAAa,EAAE,CAAC;YAC1B,kEAAkE;YAClE,gEAAgE;YAChE,iEAAiE;YACjE,kEAAkE;YAClE,iEAAiE;YACjE,iEAAiE;YACjE,+DAA+D;YAC/D,2BAA2B;YAC3B,SAAS,EAAE,CAAC;YACZ,aAAa,CACX,SAAS,EACT,oBAAoB,EACpB,wBAAwB,aAAa,qBAAqB,SAAS,2CAA2C,CAC/G,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QAChB,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACvB,UAAU,GAAG,IAAI,CAAC;YAClB,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAW,CAAC,EAAE,CAAC;YAC5D,MAAM,KAAK,GAAG,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAW,CAAC;gBAAE,CAAC,EAAE,CAAC;YACnE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,OAAO,SAAS,EAAE,CAAC,CAAC,0CAA0C;QAChE,CAAC;QAED,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,SAAS,CAAC;gBACR,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAW,CAAC,EAAE,CAAC;oBAChD,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI;wBAAE,IAAI,EAAE,CAAC;oBAChC,CAAC,EAAE,CAAC;gBACN,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC;oBAAE,OAAO,SAAS,EAAE,CAAC,CAAC,gFAAgF;gBAEhH,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAW,CAAC;gBAEhC,kEAAkE;gBAClE,4DAA4D;gBAC5D,iEAAiE;gBACjE,6DAA6D;gBAC7D,iEAAiE;gBACjE,iEAAiE;gBACjE,kEAAkE;gBAClE,gEAAgE;gBAChE,8DAA8D;gBAC9D,4DAA4D;gBAC5D,6DAA6D;gBAC7D,4DAA4D;gBAC5D,+DAA+D;gBAC/D,yDAAyD;gBACzD,6DAA6D;gBAC7D,+DAA+D;gBAC/D,SAAS;gBACT,IAAI,EAAE,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBACzC,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBACpC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvB,SAAS;gBACX,CAAC;gBACD,IAAI,EAAE,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBACzC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC3C,IAAI,KAAK,KAAK,CAAC,CAAC;wBAAE,OAAO,SAAS,EAAE,CAAC,CAAC,+DAA+D;oBACrG,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;oBAC1B,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;oBACd,SAAS;gBACX,CAAC;gBAED,IAAI,EAAE,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBACzC,WAAW,GAAG,IAAI,CAAC;oBACnB,CAAC,IAAI,CAAC,CAAC;oBACP,MAAM;gBACR,CAAC;gBACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;oBACf,CAAC,EAAE,CAAC;oBACJ,MAAM;gBACR,CAAC;gBACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;oBACf,wDAAwD;oBACxD,qDAAqD;oBACrD,wDAAwD;oBACxD,8BAA8B;oBAC9B,MAAM,eAAe,GAAG,IAAI,CAAC;oBAC7B,MAAM,GAAG,GAAG,0BAA0B,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;oBACrD,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;wBACf,SAAS,EAAE,CAAC;wBACZ,aAAa,CACX,eAAe,EACf,mBAAmB,EACnB,yBAAyB,OAAO,uBAAuB,eAAe,eAAe,CACtF,CAAC;wBACF,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,CAAC,GAAG,GAAG,CAAC;oBACR,SAAS;gBACX,CAAC;gBACD,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC1B,OAAO,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAW,CAAC;wBAAE,CAAC,EAAE,CAAC;oBAClE,IAAI,CAAC,GAAG,CAAC,CAAC;oBACV,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAW,CAAC;wBAAE,CAAC,EAAE,CAAC;oBACxD,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;wBACvB,CAAC,EAAE,CAAC;wBACJ,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAW,CAAC,EAAE,CAAC;4BAChD,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI;gCAAE,IAAI,EAAE,CAAC;4BAChC,CAAC,EAAE,CAAC;wBACN,CAAC;wBACD,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;wBACtB,wDAAwD;wBACxD,4DAA4D;wBAC5D,MAAM,cAAc,GAAG,IAAI,CAAC;wBAC5B,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;4BAC7B,0DAA0D;4BAC1D,uDAAuD;4BACvD,oDAAoD;4BACpD,qDAAqD;4BACrD,kDAAkD;4BAClD,mCAAmC;4BACnC,uDAAuD;4BACvD,8CAA8C;4BAC9C,MAAM,GAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;4BACjC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;gCACf,SAAS,EAAE,CAAC;gCACZ,aAAa,CACX,cAAc,EACd,mBAAmB,EACnB,2BAA2B,OAAO,uBAAuB,cAAc,uBAAuB,CAC/F,CAAC;gCACF,OAAO,IAAI,CAAC;4BACd,CAAC;4BACD,CAAC,GAAG,GAAG,CAAC;wBACV,CAAC;6BAAM,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;4BACtB,MAAM,GAAG,GAAG,0BAA0B,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;4BACrD,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;gCACf,SAAS,EAAE,CAAC;gCACZ,aAAa,CACX,cAAc,EACd,mBAAmB,EACnB,sCAAsC,OAAO,uBAAuB,cAAc,eAAe,CAClG,CAAC;gCACF,OAAO,IAAI,CAAC;4BACd,CAAC;4BACD,CAAC,GAAG,GAAG,CAAC;wBACV,CAAC;6BAAM,CAAC;4BACN,OAAO,SAAS,EAAE,CAAC,CAAC,+EAA+E;wBACrG,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,CAAC,GAAG,CAAC,CAAC,CAAC,8BAA8B;oBACvC,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,OAAO,SAAS,EAAE,CAAC,CAAC,4EAA4E;YAClG,CAAC;QACH,CAAC;QAED,IAAI,WAAW;YAAE,OAAO,CAAC,CAAC;QAC1B,OAAO,eAAe,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAW,CAAC;QAE/B,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACf,IAAI,EAAE,CAAC;YACP,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAC1C,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,eAAe;QACf,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACxC,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACpC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,SAAS;QACX,CAAC;QAED,gBAAgB;QAChB,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3C,IAAI,KAAK,KAAK,CAAC,CAAC;gBAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,+CAA+C,IAAI,EAAE,EAAE,CAAC;YAC3H,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC1B,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;YACd,SAAS;QACX,CAAC;QAED,iBAAiB;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,GAAG,KAAK,CAAC,CAAC;gBAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;YAClF,aAAa,GAAG,OAAO,CAAC;YACxB,CAAC,GAAG,GAAG,CAAC;YACR,SAAS;QACX,CAAC;QAED,mBAAmB;QACnB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,MAAM,GAAG,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,GAAG,KAAK,CAAC,CAAC;gBAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;YAClF,aAAa,GAAG,OAAO,CAAC;YACxB,CAAC,GAAG,GAAG,CAAC;YACR,SAAS;QACX,CAAC;QAED,qEAAqE;QACrE,kEAAkE;QAClE,mEAAmE;QACnE,gEAAgE;QAChE,8DAA8D;QAC9D,gEAAgE;QAChE,uCAAuC;QACvC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,IAAI,SAAS,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;gBAC3C,MAAM,GAAG,GAAG,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;oBACjB,CAAC,GAAG,GAAG,CAAC;oBACR,aAAa,GAAG,OAAO,CAAC;oBACxB,SAAS;gBACX,CAAC;YACH,CAAC;YACD,aAAa,GAAG,OAAO,CAAC;YACxB,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,yBAAyB;QACzB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,MAAM,YAAY,GAAG,aAAa,KAAK,OAAO,CAAC;YAC/C,IAAI,YAAY,EAAE,CAAC;gBACjB,8DAA8D;gBAC9D,iEAAiE;gBACjE,iEAAiE;gBACjE,kEAAkE;gBAClE,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;oBACpB,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBACpC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5B,CAAC,CAAC,EAAE,CAAC;gBACL,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,IAAI,OAAO,GAAG,KAAK,CAAC;gBACpB,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;gBACf,OAAO,CAAC,GAAG,OAAO,EAAE,CAAC;oBACnB,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAW,CAAC;oBAChC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;wBAChB,CAAC,IAAI,CAAC,CAAC;wBACP,SAAS;oBACX,CAAC;oBACD,IAAI,EAAE,KAAK,GAAG;wBAAE,OAAO,GAAG,IAAI,CAAC;yBAC1B,IAAI,EAAE,KAAK,GAAG;wBAAE,OAAO,GAAG,KAAK,CAAC;yBAChC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;wBAChC,KAAK,GAAG,CAAC,CAAC;wBACV,MAAM;oBACR,CAAC;oBACD,CAAC,EAAE,CAAC;gBACN,CAAC;gBACD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;oBACjB,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;oBAClB,OAAO,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAW,CAAC;wBAAE,CAAC,EAAE,CAAC;oBACzD,CAAC,GAAG,CAAC,CAAC;oBACN,aAAa,GAAG,OAAO,CAAC;oBACxB,SAAS;gBACX,CAAC;gBACD,6BAA6B;YAC/B,CAAC;YACD,aAAa,GAAG,OAAO,CAAC;YACxB,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,oEAAoE;QACpE,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAW,CAAC;gBAAE,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACjC,aAAa,GAAG,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;YACvE,CAAC,GAAG,CAAC,CAAC;YACN,SAAS;QACX,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAW,CAAC;gBAAE,CAAC,EAAE,CAAC;YAChE,CAAC,GAAG,CAAC,CAAC;YACN,aAAa,GAAG,OAAO,CAAC;YACxB,SAAS;QACX,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAC3B,aAAa,GAAG,OAAO,CAAC;YACxB,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,gEAAgE;QAChE,sEAAsE;QACtE,sEAAsE;QACtE,mEAAmE;QACnE,aAAa,GAAG,OAAO,CAAC;QACxB,CAAC,EAAE,CAAC;IACN,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AAC3C,CAAC;AAED,4EAA4E;AAE5E,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AAEhD,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAC9B;IACE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS;IAClG,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;IACvG,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY;CAC3G,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAClC,CAAC;AAEF,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;AACtE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;AAE5G,yHAAyH;AACzH,SAAS,mBAAmB,CAAC,IAAY;IACvC,OAAO,IAAI;SACR,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC;SACtC,WAAW,EAAE;SACb,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACvB,CAAC;AAED,qJAAqJ;AACrJ,SAAS,iBAAiB,CAAC,OAAe,EAAE,GAAW;IACrD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC;IACtC,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAW,CAAC;QAChC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,KAAK,EAAE,CAAC;YACR,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAW,CAAC;oBAAE,CAAC,EAAE,CAAC;gBACtD,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAW,CAAC;oBAAE,CAAC,EAAE,CAAC;gBAClE,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;gBACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC9B,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC;YAC9C,CAAC;YACD,KAAK,EAAE,CAAC;YACR,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,yJAAyJ;AACzJ,SAAS,uBAAuB,CAAC,OAAe,EAAE,GAAW;IAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACxC,MAAM,CAAC,GAAG,iDAAiD,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,eAAe,CAAC,OAAe,EAAE,GAAW;IACnD,sEAAsE;IACtE,uEAAuE;IACvE,sEAAsE;IACtE,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACrC,IAAI,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAC3C,OAAO,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;QAClB,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC5C,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;YACrB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,SAAS;gBAAE,OAAO,IAAI,CAAC,CAAC,iDAAiD;YACjG,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;gBACrB,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC;gBACtB,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBACvC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;wBAAE,KAAK,EAAE,CAAC;yBAC3B,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;wBAAE,KAAK,EAAE,CAAC;oBACrC,CAAC,EAAE,CAAC;gBACN,CAAC;gBACD,IAAI,GAAG,GAAG,CAAC;oBAAE,OAAO,IAAI,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,sEAAsE;IACtE,mDAAmD;IACnD,MAAM,MAAM,GAAG,kDAAkD,CAAC;IAClE,IAAI,KAA6B,CAAC;IAClC,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;IACnB,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;IACnB,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACrC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;QACxB,SAAS,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5C,CAAC;IACD,IAAI,SAAS,KAAK,CAAC,CAAC,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC;QACzC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,GAAG,SAAS,CAAC;QAClB,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC;QACpB,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAW,CAAC;YAChC,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;iBAC7D,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;iBAClE,IAAI,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBAClC,UAAU,GAAG,CAAC,CAAC;gBACf,MAAM;YACR,CAAC;YACD,CAAC,EAAE,CAAC;QACN,CAAC;QACD,MAAM,GAAG,GAAG,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;QAC9D,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,GAAG,GAAG;YAAE,OAAO,IAAI,CAAC;IACjD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,aAAa,GAAG,mBAAmB,CAAC;AAE1C,SAAS,mBAAmB,CAAC,IAAY;IACvC,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9F,CAAC;AAED,6EAA6E;AAE7E;;;;;;;;;;;;;;;GAeG;AACH,SAAS,qBAAqB,CAAC,GAAW;IACxC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAQ,KAAK,CAAC,CAAC,CAAY,CAAC,IAAI,EAAE,CAAC;IAC3D,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;SAC3B,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,kBAAkB,GAA2B;IACjD,GAAG,EAAE,GAAG;IACR,EAAE,EAAE,GAAG;IACP,EAAE,EAAE,GAAG;IACP,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG,EAAE,iPAAiP;IAC5P,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,GAAG;IACX,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,GAAG;IACR,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;CACX,CAAC;AAEF,MAAM,aAAa,GAAG,uCAAuC,CAAC;AAE9D,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;QACzD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;YACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9E,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC1D,IAAI,CAAC;oBACH,OAAO,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBACpC,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,8DAA8D;IAC1G,CAAC,CAAC,CAAC;AACL,CAAC;AAWD;;;;;;;;;;GAUG;AACH,SAAS,eAAe,CAAC,OAAe,EAAE,QAAgB;IACxD,MAAM,SAAS,GAAe,EAAE,CAAC;IACjC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAW,CAAC;QAChC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3C,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAW,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;AACpC,CAAC;AAED,2KAA2K;AAC3K,MAAM,WAAW,GAAG,eAAe,CAAC;AAEpC;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe,EAAE,QAAgB;IACrE,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC9F,IAAI,OAAO;QAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;IAE1G,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACtE,MAAM,eAAe,GAAG,IAAI,GAAG,EAAoB,CAAC;IACpD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;;YACrB,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,UAAU,GAAoB,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAsB,EAAE,CAAC;IAEvC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACpB,MAAM,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,iFAAiF;QAE5H,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC;QAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC;QAEnF,MAAM,OAAO,GAAG,CAAC,MAAuB,EAAQ,EAAE;YAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;QACjE,CAAC,CAAC;QAEF,qCAAqC;QACrC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACvG,OAAO,CAAC,6BAA6B,CAAC,CAAC;YACvC,SAAS;QACX,CAAC;QAED,iEAAiE;QACjE,qEAAqE;QACrE,oEAAoE;QACpE,mDAAmD;QACnD,4DAA4D;QAC5D,8DAA8D;QAC9D,oEAAoE;QACpE,kEAAkE;QAClE,6CAA6C;QAC7C,MAAM,cAAc,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1E,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,gBAAgB,IAAI,CAAC,cAAc,KAAK,GAAG,IAAI,cAAc,KAAK,GAAG,CAAC,EAAE,CAAC;YAC3E,OAAO,CAAC,6BAA6B,CAAC,CAAC;YACvC,SAAS;QACX,CAAC;QAED,4BAA4B;QAC5B,IAAI,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,OAAO,CAAC,2BAA2B,CAAC,CAAC;YACrC,SAAS;QACX,CAAC;QAED,2DAA2D;QAC3D,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,cAAc,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YACrD,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrC,OAAO,CAAC,8BAA8B,CAAC,CAAC;gBACxC,SAAS;YACX,CAAC;YACD,IAAI,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;gBACzC,OAAO,CAAC,oCAAoC,CAAC,CAAC;gBAC9C,SAAS;YACX,CAAC;QACH,CAAC;QAED,uEAAuE;QACvE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,uBAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBACxD,OAAO,CAAC,4BAA4B,CAAC,CAAC;gBACtC,SAAS;YACX,CAAC;YACD,IAAI,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,+BAA+B,CAAC,CAAC;gBACzC,SAAS;YACX,CAAC;QACH,CAAC;QAED,6CAA6C;QAC7C,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,YAAY,CAAC,CAAC;YACtB,SAAS;QACX,CAAC;QAED,0EAA0E;QAC1E,IAAI,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,sBAAsB,CAAC,CAAC;YAChC,SAAS;QACX,CAAC;QAED,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;YACrD,UAAU;YACV,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;YACtC,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE;YAC7C,eAAe,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;SAC3C,CAAC,CAAC;IACL,CAAC;IAED,wEAAwE;IACxE,iEAAiE;IACjE,8DAA8D;IAC9D,sEAAsE;IACtE,uEAAuE;IACvE,YAAY;IACZ,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,iBAAiB,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAE/D,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;YACnF,SAAS;QACX,CAAC;QAED,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,IAAI;YACT,UAAU,EAAE,IAAI;YAChB,gBAAgB,EAAE,CAAC;YACnB,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE;YAC7C,eAAe,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;SAC3C,CAAC,CAAC;IACL,CAAC;IAED,MAAM,SAAS,GAAoB,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAE/H,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AACxD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clossys/writer",
3
- "version": "0.3.6",
3
+ "version": "0.3.8",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -61,7 +61,7 @@
61
61
  "test": "vitest run"
62
62
  },
63
63
  "devDependencies": {
64
- "@types/node": "^26.4.1",
64
+ "@types/node": "^26.5.1",
65
65
  "typescript": "~6.0.0",
66
66
  "vitest": "^5.0.0"
67
67
  },
package/src/cli.ts CHANGED
@@ -130,11 +130,11 @@ import {
130
130
  type AddressabilityGateResult,
131
131
  type AddressabilityScanResult,
132
132
  } from "./addressability.js";
133
- import { checkCopyTraceability, type CopyGateResult } from "./copy-gate.js";
133
+ import { checkCopyTraceability, type CopyGateFinding, type CopyGateIgnored, type CopyGateResult } from "./copy-gate.js";
134
134
  import { checkLocaleCoverage, type LocaleCoverageReport } from "./locale-coverage.js";
135
135
  import { checkPassageComposition, readPassageRecord, type PassageGateResult } from "./passage.js";
136
136
  import { readCopyRecord } from "./registry.js";
137
- import { scanCopySourceTree, type ScanResult } from "./scan.js";
137
+ import { scanCopySourceTree, type ScanResult, type UncheckedItem } from "./scan.js";
138
138
  import { checkVoiceDerivationCoverage, type VoiceDerivationCoverageResult } from "./voice/index.js";
139
139
 
140
140
  const USAGE = `Usage: writer-check <record-file> [scan-dir] [options]
@@ -154,8 +154,18 @@ are separate, stricter gates; neither runs as part of this default command.
154
154
 
155
155
  Options:
156
156
  --help Print this message and exit 0.
157
-
158
- Exit codes: 0 = clean, 1 = at least one finding, 2 = could not run (bad input, missing/invalid record, nothing matched to scan, or every matched file failed to parse).
157
+ --format <text|json> Output format. Defaults to text. "json" prints exactly one
158
+ machine-readable object to stdout (see CopyTraceabilityReport in
159
+ cli.ts) instead of the human-readable report — "verdict" states the
160
+ same clean/findings/indeterminate outcome as the exit code, but
161
+ "findings" and "unchecked" are always both present, so a consumer
162
+ that only checks the exit code is never the only way to see what a
163
+ run DID measure: a scan that produced real findings AND one
164
+ unclassifiable construct in the same run (issue #753) still exits 2
165
+ (an indeterminate result must never read as clean), but its findings
166
+ remain reachable in this object rather than discarded with it.
167
+
168
+ Exit codes: 0 = clean, 1 = at least one finding, 2 = could not run (bad input, missing/invalid record, nothing matched to scan, every matched file failed to parse, or at least one JSX construct recognized but not reliably classified — see --format json above to still recover any findings a run like that DID produce).
159
169
 
160
170
  Run "writer-check voice-derivation-coverage --help" for the second subcommand's own usage.
161
171
  Run "writer-check locale-coverage --help" for the third subcommand's own usage.
@@ -196,19 +206,30 @@ export class CliInputError extends Error {}
196
206
  interface ParsedArgs {
197
207
  recordFile?: string;
198
208
  scanDir?: string;
209
+ format: "text" | "json";
199
210
  help: boolean;
200
211
  }
201
212
 
202
213
  function parseArgs(argv: string[]): ParsedArgs {
203
214
  let recordFile: string | undefined;
204
215
  let scanDir: string | undefined;
216
+ let format: "text" | "json" = "text";
205
217
  let help = false;
206
218
 
207
- for (const arg of argv) {
219
+ for (let i = 0; i < argv.length; i++) {
220
+ const arg = argv[i] as string;
208
221
  if (arg === "--help" || arg === "-h") {
209
222
  help = true;
210
223
  continue;
211
224
  }
225
+ if (arg === "--format") {
226
+ const value = argv[++i];
227
+ if (value !== "text" && value !== "json") {
228
+ throw new CliInputError(`--format must be "text" or "json", got ${JSON.stringify(value)}`);
229
+ }
230
+ format = value;
231
+ continue;
232
+ }
212
233
  if (arg.startsWith("-")) {
213
234
  throw new CliInputError(`unknown flag "${arg}"`);
214
235
  }
@@ -221,7 +242,7 @@ function parseArgs(argv: string[]): ParsedArgs {
221
242
  }
222
243
  }
223
244
 
224
- return { recordFile, scanDir, help };
245
+ return { recordFile, scanDir, format, help };
225
246
  }
226
247
 
227
248
  function requireDirectory(label: string, path: string): void {
@@ -706,6 +727,74 @@ function printAddressabilityReport(result: AddressabilityGateResult): void {
706
727
  * that reason — `run()` below is the only caller that reads the real
707
728
  * `process.argv`.
708
729
  */
730
+ /**
731
+ * The default command's own structured, machine-readable report — issue
732
+ * #753's second half. `printGateReport`/`printScanAccounting` already put
733
+ * every finding a run DID produce ahead of any exit-code decision in the
734
+ * text output; the gap #753 found is that a consumer keying on the exit
735
+ * code alone (2 = indeterminate) cannot reach those findings at all,
736
+ * because nothing besides that human-readable text carries them. This
737
+ * type is that carrier: `--format json` prints EXACTLY ONE of these,
738
+ * nothing else, to stdout, whatever `exitCode` turns out to be — the same
739
+ * "one parseable object regardless of verdict" contract `inspector`'s own
740
+ * `VerifyStandardsReport`/`--format json` already publishes (see
741
+ * `packages/inspector/src/cli.ts`), and the same shape `observer`'s
742
+ * fleet-coverage grader and `addressability.ts`'s own `AddressabilityGateResult`
743
+ * use: a per-item verdict (here, each `CopyGateFinding`/`UncheckedItem`) is
744
+ * a DIFFERENT question from the run's one overall verdict, and collapsing
745
+ * the two into a bare exit code is exactly what discarded 292 real
746
+ * findings alongside one unclassifiable construct in #753's own repro.
747
+ *
748
+ * `verdict` is the SAME three states this whole package uses everywhere
749
+ * else (`"clean" | "findings" | "indeterminate"`), computed with the
750
+ * identical precedence `main()`'s own exit-code decision already applies
751
+ * below — `unchecked.length > 0` wins over `findings.length > 0`, which
752
+ * wins over a clean pass. Never a fourth state, and never inferred
753
+ * separately from `exitCode` by a consumer — read `verdict` (or
754
+ * `exitCode`) and treat `findings`/`unchecked` as what was actually
755
+ * measured, present or empty independent of which verdict resulted.
756
+ *
757
+ * `reason` is populated ONLY for the "could not run at all" shape of
758
+ * indeterminate — a missing/invalid copy record, an untrustworthy
759
+ * exclusion list, or a scan that matched/parsed nothing — where `findings`
760
+ * and `unchecked` are necessarily both `[]` because `checkCopyTraceability`
761
+ * never ran. It is `undefined` whenever a real scan DID run, including the
762
+ * `"indeterminate"` case #753 is about (real `findings`, plus one or more
763
+ * `unchecked` entries) — that case needs no extra prose beyond the data
764
+ * itself, which is the entire point of shipping it as data.
765
+ */
766
+ export interface CopyTraceabilityReport {
767
+ recordFile: string;
768
+ scanDir: string;
769
+ verdict: "clean" | "findings" | "indeterminate";
770
+ exitCode: 0 | 1 | 2;
771
+ reason?: string;
772
+ filesScanned: number;
773
+ candidatesScanned: number;
774
+ matched: number;
775
+ findings: CopyGateFinding[];
776
+ ignored: CopyGateIgnored[];
777
+ unchecked: UncheckedItem[];
778
+ parseFailures: { file: string; detail: string }[];
779
+ }
780
+
781
+ function emptyReport(recordFile: string, scanDir: string, exitCode: 0 | 1 | 2, reason: string): CopyTraceabilityReport {
782
+ return {
783
+ recordFile,
784
+ scanDir,
785
+ verdict: "indeterminate",
786
+ exitCode,
787
+ reason,
788
+ filesScanned: 0,
789
+ candidatesScanned: 0,
790
+ matched: 0,
791
+ findings: [],
792
+ ignored: [],
793
+ unchecked: [],
794
+ parseFailures: [],
795
+ };
796
+ }
797
+
709
798
  export function main(argv: string[]): number {
710
799
  // Subcommand dispatch: only `argv[0] === "voice-derivation-coverage"` or
711
800
  // `argv[0] === "locale-coverage"` exactly diverts to the second/third
@@ -729,13 +818,20 @@ export function main(argv: string[]): number {
729
818
  throw new CliInputError("record-file is required");
730
819
  }
731
820
 
821
+ const jsonMode = args.format === "json";
822
+ const emitJson = (report: CopyTraceabilityReport): void => {
823
+ if (jsonMode) console.log(JSON.stringify(report, null, 2));
824
+ };
825
+
732
826
  const recordFile = resolve(args.recordFile);
733
827
  const scanDir = resolve(args.scanDir ?? process.cwd());
734
828
  requireFile("record-file", recordFile);
735
829
  requireDirectory("scan-dir", scanDir);
736
830
 
737
- console.log(`Copy record: ${recordFile}`);
738
- console.log(`Scan directory: ${scanDir}`);
831
+ if (!jsonMode) {
832
+ console.log(`Copy record: ${recordFile}`);
833
+ console.log(`Scan directory: ${scanDir}`);
834
+ }
739
835
 
740
836
  // The copy record itself missing/unreadable/unparseable/invalid is
741
837
  // fail-closed: there is no trustworthy set of registered entries to
@@ -744,9 +840,19 @@ export function main(argv: string[]): number {
744
840
  // `strategy-facts-check` holds `facts.json` to.
745
841
  const read = readCopyRecord(recordFile);
746
842
  if (!read.complete || !read.record) {
747
- console.error(`\nCopy record could not be loaded:`);
748
- for (const issue of read.issues) console.error(` [${issue.reason}] ${issue.detail}`);
749
- console.error("Refusing to report a pass with no trustworthy copy record to check source against.");
843
+ if (!jsonMode) {
844
+ console.error(`\nCopy record could not be loaded:`);
845
+ for (const issue of read.issues) console.error(` [${issue.reason}] ${issue.detail}`);
846
+ console.error("Refusing to report a pass with no trustworthy copy record to check source against.");
847
+ }
848
+ emitJson(
849
+ emptyReport(
850
+ recordFile,
851
+ scanDir,
852
+ 2,
853
+ `copy record could not be loaded: ${read.issues.map((i) => `[${i.reason}] ${i.detail}`).join("; ")}`,
854
+ ),
855
+ );
750
856
  return 2;
751
857
  }
752
858
 
@@ -758,7 +864,7 @@ export function main(argv: string[]): number {
758
864
  // own options) does not require touching this exit-code logic again —
759
865
  // see this file's top doc comment.
760
866
  const scan = scanCopySourceTree(scanDir); // throws (fail-closed) on an unreadable directory — caught by run()
761
- printScanAccounting(scan);
867
+ if (!jsonMode) printScanAccounting(scan);
762
868
 
763
869
  // A malformed pathExclusions entry means this run cannot trust which
764
870
  // files were correctly excluded — "could not run", not "ran and found
@@ -767,8 +873,13 @@ export function main(argv: string[]): number {
767
873
  // walk itself found anything.
768
874
  const invalidPathExclusions = scan.pathExclusionFindings.filter((f) => f.severity === "error");
769
875
  if (invalidPathExclusions.length > 0) {
770
- console.error(
771
- `\n${invalidPathExclusions.length} pathExclusions entr${invalidPathExclusions.length === 1 ? "y is" : "ies are"} invalid — refusing to report a pass built on an exclusion list that cannot be trusted.`,
876
+ if (!jsonMode) {
877
+ console.error(
878
+ `\n${invalidPathExclusions.length} pathExclusions entr${invalidPathExclusions.length === 1 ? "y is" : "ies are"} invalid — refusing to report a pass built on an exclusion list that cannot be trusted.`,
879
+ );
880
+ }
881
+ emitJson(
882
+ emptyReport(recordFile, scanDir, 2, `${invalidPathExclusions.length} invalid pathExclusions entr(y/ies)`),
772
883
  );
773
884
  return 2;
774
885
  }
@@ -779,12 +890,19 @@ export function main(argv: string[]): number {
779
890
  // scan.parseFailures) are both, deliberately, the same outcome here —
780
891
  // neither one is "scanned everything, found nothing wrong".
781
892
  if (scan.filesScanned === 0) {
782
- console.error(
893
+ const reason =
783
894
  scan.parseFailures.length > 0
784
- ? `\nEvery file matched under "${scanDir}" failed to parse — nothing was actually scanned.`
785
- : `\nNo files matched under "${scanDir}" — nothing was scanned.`,
786
- );
787
- console.error("Refusing to report a pass for a scan that checked nothing.");
895
+ ? `every file matched under "${scanDir}" failed to parse — nothing was actually scanned`
896
+ : `no files matched under "${scanDir}" — nothing was scanned`;
897
+ if (!jsonMode) {
898
+ console.error(
899
+ scan.parseFailures.length > 0
900
+ ? `\nEvery file matched under "${scanDir}" failed to parse — nothing was actually scanned.`
901
+ : `\nNo files matched under "${scanDir}" — nothing was scanned.`,
902
+ );
903
+ console.error("Refusing to report a pass for a scan that checked nothing.");
904
+ }
905
+ emitJson(emptyReport(recordFile, scanDir, 2, reason));
788
906
  return 2;
789
907
  }
790
908
 
@@ -807,15 +925,25 @@ export function main(argv: string[]): number {
807
925
  // read as fully accounted-for, it does not hide anything that was
808
926
  // learned.
809
927
  if (scan.parseFailures.length > 0) {
810
- console.error(
811
- `\n${scan.parseFailures.length} of ${scan.parseFailures.length + scan.filesScanned} matched file(s) under "${scanDir}" could not be parsed and were never examined for copy.`,
928
+ if (!jsonMode) {
929
+ console.error(
930
+ `\n${scan.parseFailures.length} of ${scan.parseFailures.length + scan.filesScanned} matched file(s) under "${scanDir}" could not be parsed and were never examined for copy.`,
931
+ );
932
+ console.error("Refusing to report a pass for a scan whose coverage is incomplete.");
933
+ }
934
+ emitJson(
935
+ emptyReport(
936
+ recordFile,
937
+ scanDir,
938
+ 2,
939
+ `${scan.parseFailures.length} of ${scan.parseFailures.length + scan.filesScanned} matched file(s) could not be parsed and were never examined for copy`,
940
+ ),
812
941
  );
813
- console.error("Refusing to report a pass for a scan whose coverage is incomplete.");
814
942
  return 2;
815
943
  }
816
944
 
817
945
  const result = checkCopyTraceability(scan.candidates, scan.citations, read.record, scan.filesScanned, scan.unchecked);
818
- printGateReport(result);
946
+ if (!jsonMode) printGateReport(result);
819
947
 
820
948
  // `unchecked` wins over everything else in the exit-code decision — see
821
949
  // this file's own top doc comment for why it is a `2`, not a `1`: it
@@ -824,9 +952,34 @@ export function main(argv: string[]): number {
824
952
  // finding was still printed above, so nothing real is hidden — this
825
953
  // only refuses to let the run as a whole read as clean or as
826
954
  // fully-accounted-for.
827
- if (result.unchecked.length > 0) return 2;
828
-
829
- return result.findings.length > 0 ? 1 : 0;
955
+ //
956
+ // THIS is #753's own partial-evaluation case: `result.findings` can be
957
+ // (and in #753's own repro, was) non-empty at the exact same time as
958
+ // `result.unchecked` — a real 292-finding scan sitting right next to one
959
+ // unclassifiable construct. `verdict` is still, correctly,
960
+ // `"indeterminate"` (never `"clean"`, never silently `"findings"`) —
961
+ // but unlike a bare exit code, `--format json`'s report carries
962
+ // `findings` (all 292 of them) AND `unchecked` (the one construct) in
963
+ // the SAME object, so a consumer keying on `exitCode`/`verdict` alone
964
+ // still fails closed exactly as this package intends, while a consumer
965
+ // that reads further is never forced to throw away what was measured.
966
+ const exitCode: 0 | 1 | 2 = result.unchecked.length > 0 ? 2 : result.findings.length > 0 ? 1 : 0;
967
+ const verdict: CopyTraceabilityReport["verdict"] =
968
+ result.unchecked.length > 0 ? "indeterminate" : result.findings.length > 0 ? "findings" : "clean";
969
+ emitJson({
970
+ recordFile,
971
+ scanDir,
972
+ verdict,
973
+ exitCode,
974
+ filesScanned: scan.filesScanned,
975
+ candidatesScanned: result.candidatesScanned,
976
+ matched: result.matched,
977
+ findings: result.findings,
978
+ ignored: result.ignored,
979
+ unchecked: result.unchecked,
980
+ parseFailures: scan.parseFailures.map((p) => ({ file: p.file, detail: p.detail })),
981
+ });
982
+ return exitCode;
830
983
  }
831
984
 
832
985
  function run(): void {
package/src/scan.ts CHANGED
@@ -1319,6 +1319,37 @@ function tokenize(content: string, isJsxFile: boolean): TokenizeResult {
1319
1319
  if (j >= n) return backtrack(); // ran off the end before the head ever closed — not committed, silently not-JSX
1320
1320
 
1321
1321
  const cj = content[j] as string;
1322
+
1323
+ // Comment trivia BETWEEN attributes (`//` line comment or `/* */`
1324
+ // block comment) — legal TSX a formatter routinely produces
1325
+ // (issue #753). Checked before the self-closing `/>` test below,
1326
+ // since both start with `/`: `content[j + 1] === ">"` is the
1327
+ // self-close, anything else after a `/` here is a comment, never
1328
+ // a division operator — there is no expression context inside an
1329
+ // opening tag's attribute list for `/` to divide. Treated exactly
1330
+ // like the whitespace just skipped above: this function has not
1331
+ // committed to "this is real JSX" yet (no `>`/`/>` found), so
1332
+ // consuming a comment here is silent trivia-skipping, not a
1333
+ // reportable event — matching every other pre-commit case in
1334
+ // this loop (e.g. the TSX generic-arrow-function `,` below,
1335
+ // which also backtracks with no message). An unterminated `/*`
1336
+ // is the one exception: it means this position can never
1337
+ // resolve to a valid tag head, so this reports the SAME "not
1338
+ // JSX after all" backtrack as running off the end of the file,
1339
+ // above.
1340
+ if (cj === "/" && content[j + 1] === "/") {
1341
+ const nl = content.indexOf("\n", j);
1342
+ j = nl === -1 ? n : nl;
1343
+ continue;
1344
+ }
1345
+ if (cj === "/" && content[j + 1] === "*") {
1346
+ const close = content.indexOf("*/", j + 2);
1347
+ if (close === -1) return backtrack(); // unterminated block comment — not committed, silently not-JSX
1348
+ advanceLine(j, close + 2);
1349
+ j = close + 2;
1350
+ continue;
1351
+ }
1352
+
1322
1353
  if (cj === "/" && content[j + 1] === ">") {
1323
1354
  selfClosing = true;
1324
1355
  j += 2;