linersh 0.5.4 → 0.5.5

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.
@@ -1,32 +1,67 @@
1
1
  import React, { useEffect, useRef, useState } from "react";
2
- import { Box, Text, useApp as useInkApp, useInput } from "ink";
2
+ import { Box, Text, useApp as useInkApp, useInput, useStdout } from "ink";
3
3
  import Spinner from "ink-spinner";
4
- import { readFileSync } from "node:fs";
4
+ import { existsSync, readdirSync, readFileSync } from "node:fs";
5
5
  import { spawn } from "node:child_process";
6
6
  import { Header } from "../components/Header.js";
7
7
  import { KeyHints } from "../components/KeyHints.js";
8
8
  import { LabeledBox } from "../components/LabeledBox.js";
9
9
  import { MUTED, ERROR, STRUCTURE, SUCCESS, WARNING } from "../colors.js";
10
10
  import { useApp } from "../store.js";
11
- import { streamCompile, runShare } from "../ipc.js";
11
+ import { streamCompile, runSetupJs, runShare } from "../ipc.js";
12
12
  import { openFolder } from "../open-folder.js";
13
13
  import { projectFolder } from "../yaml-io.js";
14
14
  import { markPhaseComplete } from "../progress.js";
15
- export function CompileView({ tape, folder, }) {
15
+ export function CompileView({ tape, folder, showExisting = false, }) {
16
16
  const app = useApp();
17
17
  const ink = useInkApp();
18
+ const { stdout } = useStdout();
19
+ const rows = stdout?.rows ?? 40;
18
20
  const project = projectFolder(folder);
19
21
  const [total, setTotal] = useState(tape.sources.length);
20
22
  const [sources, setSources] = useState(tape.sources.map((s) => ({ spec: s, status: "pending" })));
21
- const [phase, setPhase] = useState("running");
23
+ const [phase, setPhase] = useState(showExisting ? "partial" : "running");
22
24
  const [result, setResult] = useState(null);
23
25
  const [error, setError] = useState(null);
24
26
  const [runId, setRunId] = useState(0);
27
+ const [hasRequestedRun, setHasRequestedRun] = useState(false);
28
+ const viewExisting = showExisting && !hasRequestedRun;
29
+ const [sourceScroll, setSourceScroll] = useState(0);
30
+ const [setupJsState, setSetupJsState] = useState("idle");
31
+ const [setupJsNote, setSetupJsNote] = useState(null);
25
32
  // Share result — a persistent note below the boxes (not a transient
26
33
  // notification), so the curator can read the archive path at their leisure.
27
34
  const [shareResult, setShareResult] = useState(null);
28
35
  const handleRef = useRef(null);
29
36
  useEffect(() => {
37
+ if (viewExisting) {
38
+ const existing = existingCompileResult(tape, folder, project);
39
+ setTotal(existing.summary.total);
40
+ setSources(tape.sources.map((spec, index) => {
41
+ const source = existing.sources[index];
42
+ const failed = source ? !source.succeeded : false;
43
+ return {
44
+ spec,
45
+ status: failed ? "failed" : "cached",
46
+ title: source?.title ?? sourceTitleFromSpec(spec),
47
+ message: failed
48
+ ? existing.warnings.find((w) => w.url === spec.url)?.message ??
49
+ "Source unavailable in the last compile."
50
+ : undefined,
51
+ bodyPreview: failed ? undefined : existingSourcePreview(project.sourcesDir, source?.filename),
52
+ bodyChars: failed
53
+ ? undefined
54
+ : existingSourceChars(project.sourcesDir, source?.filename),
55
+ };
56
+ }));
57
+ setPhase(existing.summary.failed === 0 ? "succeeded" : "partial");
58
+ setResult(existing);
59
+ setError(null);
60
+ setSetupJsNote(null);
61
+ setSourceScroll(Math.max(0, existing.summary.total - visibleSourceCount(rows)));
62
+ handleRef.current = null;
63
+ return;
64
+ }
30
65
  let cursor = -1;
31
66
  // Per-run cancellation flag. If the effect re-runs (folder/runId change)
32
67
  // or the component unmounts mid-compile, any in-flight callbacks fired
@@ -37,6 +72,8 @@ export function CompileView({ tape, folder, }) {
37
72
  setPhase("running");
38
73
  setResult(null);
39
74
  setError(null);
75
+ setSetupJsNote(null);
76
+ setSourceScroll(0);
40
77
  const handle = streamCompile({ folder }, (event) => {
41
78
  if (cancelled)
42
79
  return;
@@ -47,6 +84,7 @@ export function CompileView({ tape, folder, }) {
47
84
  cursor += 1;
48
85
  const idx = cursor;
49
86
  setSources((prev) => updateAt(prev, idx, { status: "running", spec: event.spec }));
87
+ setSourceScroll(scrollSourceIntoView(idx, rows));
50
88
  }
51
89
  else if (event.type === "source_done" || event.type === "source_cached") {
52
90
  const idx = cursor;
@@ -56,6 +94,7 @@ export function CompileView({ tape, folder, }) {
56
94
  bodyPreview: event.body_preview,
57
95
  bodyChars: event.body_chars,
58
96
  }));
97
+ setSourceScroll(scrollSourceIntoView(idx, rows));
59
98
  }
60
99
  else if (event.type === "source_failed") {
61
100
  const idx = cursor;
@@ -63,15 +102,16 @@ export function CompileView({ tape, folder, }) {
63
102
  status: "failed",
64
103
  message: event.message,
65
104
  }));
105
+ setSourceScroll(scrollSourceIntoView(idx, rows));
66
106
  }
67
107
  else if (event.type === "result") {
68
108
  setResult(event.payload);
109
+ setSourceScroll(Math.max(0, event.payload.summary.total - visibleSourceCount(rows)));
69
110
  const summary = event.payload.summary;
70
111
  if (summary.failed === 0) {
71
112
  setPhase("succeeded");
72
- // Compile is one of the progress-advancing phases — moving the
73
- // cursor here means the hub's progress strip ticks past Compile
74
- // to land on the (optional) Empirical step.
113
+ // Compile is the final progress-advancing phase. A successful
114
+ // compile means the mixtape is ready to use.
75
115
  markPhaseComplete(folder, "compile");
76
116
  }
77
117
  else if (summary.succeeded === 0) {
@@ -79,6 +119,10 @@ export function CompileView({ tape, folder, }) {
79
119
  }
80
120
  else {
81
121
  setPhase("partial");
122
+ // A partial compile still writes MIXTAPE.md + sources/ and is usable
123
+ // with warnings. Count it as complete so the hub does not keep
124
+ // presenting an already-built mixtape as "ready to compile."
125
+ markPhaseComplete(folder, "compile");
82
126
  }
83
127
  }
84
128
  });
@@ -98,7 +142,7 @@ export function CompileView({ tape, folder, }) {
98
142
  };
99
143
  // runId in deps so pressing `r` re-runs by re-running the effect.
100
144
  // eslint-disable-next-line react-hooks/exhaustive-deps
101
- }, [folder, runId]);
145
+ }, [folder, runId, viewExisting]);
102
146
  function copyMixtapeToClipboard() {
103
147
  let text;
104
148
  try {
@@ -146,7 +190,42 @@ export function CompileView({ tape, folder, }) {
146
190
  setShareResult(`Share failed: ${e.message}`);
147
191
  });
148
192
  }
193
+ function setupJsAndRetry() {
194
+ if (setupJsState === "running")
195
+ return;
196
+ setSetupJsState("running");
197
+ setSetupJsNote("Installing JS rendering support…");
198
+ void runSetupJs()
199
+ .then(() => {
200
+ setSetupJsNote("JS rendering is ready. Retrying compile…");
201
+ setHasRequestedRun(true);
202
+ setRunId((id) => id + 1);
203
+ })
204
+ .catch((e) => {
205
+ setSetupJsNote(`JS setup failed: ${e.message}`);
206
+ })
207
+ .finally(() => {
208
+ setSetupJsState("idle");
209
+ });
210
+ }
149
211
  useInput((input, key) => {
212
+ const maxSourceScroll = Math.max(0, sources.length - visibleSourceCount(rows));
213
+ if (key.upArrow) {
214
+ setSourceScroll((n) => Math.max(0, n - 1));
215
+ return;
216
+ }
217
+ if (key.downArrow) {
218
+ setSourceScroll((n) => Math.min(maxSourceScroll, n + 1));
219
+ return;
220
+ }
221
+ if (key.pageUp) {
222
+ setSourceScroll((n) => Math.max(0, n - Math.max(1, visibleSourceCount(rows) - 1)));
223
+ return;
224
+ }
225
+ if (key.pageDown) {
226
+ setSourceScroll((n) => Math.min(maxSourceScroll, n + Math.max(1, visibleSourceCount(rows) - 1)));
227
+ return;
228
+ }
150
229
  if (phase === "running") {
151
230
  if (input === "q") {
152
231
  ink.exit();
@@ -157,14 +236,19 @@ export function CompileView({ tape, folder, }) {
157
236
  }
158
237
  return;
159
238
  }
160
- if (input === "y")
239
+ const canSetupJs = result ? needsJsSetup(result) : false;
240
+ if (input === "j" && canSetupJs)
241
+ setupJsAndRetry();
242
+ else if (input === "y")
161
243
  copyMixtapeToClipboard();
162
244
  else if (input === "s")
163
245
  share();
164
246
  else if (input === "o")
165
247
  openFolder(folder);
166
- else if (input === "r")
248
+ else if (input === "r") {
249
+ setHasRequestedRun(true);
167
250
  setRunId((id) => id + 1);
251
+ }
168
252
  else if (input === "q")
169
253
  ink.exit();
170
254
  else if (input === "b" || key.escape) {
@@ -178,6 +262,13 @@ export function CompileView({ tape, folder, }) {
178
262
  // banner gives them an explicit "yes, work is happening" signal.
179
263
  const anyProgress = sources.some((s) => s.status !== "pending");
180
264
  const startingUp = phase === "running" && !anyProgress;
265
+ const showSetupJs = result ? needsJsSetup(result) : false;
266
+ const sourceCount = visibleSourceCount(rows);
267
+ const maxSourceScroll = Math.max(0, sources.length - sourceCount);
268
+ const safeSourceScroll = Math.min(sourceScroll, maxSourceScroll);
269
+ const visibleSources = sources.slice(safeSourceScroll, safeSourceScroll + sourceCount);
270
+ const hiddenBefore = safeSourceScroll;
271
+ const hiddenAfter = Math.max(0, sources.length - safeSourceScroll - visibleSources.length);
181
272
  return (React.createElement(Box, { flexDirection: "column" },
182
273
  React.createElement(Header, { title: "compile", subtitle: `${folder} → ${total} source${total === 1 ? "" : "s"}` }),
183
274
  startingUp ? (React.createElement(Box, { flexDirection: "column", marginBottom: 1 },
@@ -194,7 +285,20 @@ export function CompileView({ tape, folder, }) {
194
285
  "subsequent runs are seconds. Press ",
195
286
  React.createElement(Text, { color: STRUCTURE }, "esc"),
196
287
  " to cancel."))) : null,
197
- React.createElement(Box, { flexDirection: "column", marginBottom: 1 }, sources.map((s, i) => (React.createElement(SourceLine, { key: i, index: i, state: s })))),
288
+ React.createElement(Box, { flexDirection: "column", marginBottom: 1 },
289
+ hiddenBefore > 0 ? (React.createElement(Text, { color: MUTED },
290
+ "\u2191 ",
291
+ hiddenBefore,
292
+ " earlier source",
293
+ hiddenBefore === 1 ? "" : "s",
294
+ " above")) : null,
295
+ visibleSources.map((s, i) => (React.createElement(SourceLine, { key: safeSourceScroll + i, index: safeSourceScroll + i, state: s }))),
296
+ hiddenAfter > 0 ? (React.createElement(Text, { color: MUTED },
297
+ "\u2193 ",
298
+ hiddenAfter,
299
+ " more source",
300
+ hiddenAfter === 1 ? "" : "s",
301
+ " below")) : null),
198
302
  error ? (React.createElement(Box, { marginBottom: 1 },
199
303
  React.createElement(Text, { color: ERROR }, error))) : null,
200
304
  result ? (React.createElement(Box, { marginBottom: 1 },
@@ -229,14 +333,40 @@ export function CompileView({ tape, folder, }) {
229
333
  " ",
230
334
  truncate(w.url, 50),
231
335
  " \u2014 ",
232
- truncate(w.message, 70)))))) : null))) : null,
336
+ truncate(w.message, 70)))))) : null,
337
+ showSetupJs ? (React.createElement(Box, { flexDirection: "column", marginTop: 1 },
338
+ React.createElement(Text, { color: STRUCTURE, bold: true }, "JS rendering needed"),
339
+ React.createElement(Text, { color: MUTED },
340
+ "Some pages require headless Chromium to fetch correctly. Press",
341
+ " ",
342
+ React.createElement(Text, { color: STRUCTURE }, "j"),
343
+ " to run",
344
+ " ",
345
+ React.createElement(Text, { color: STRUCTURE }, "liner setup-js --yes"),
346
+ " (~150MB)."),
347
+ React.createElement(Text, { color: MUTED }, "Liner retries this compile after setup."))) : null))) : null,
233
348
  app.notification ? (React.createElement(Box, { marginBottom: 1 },
234
349
  React.createElement(Text, { color: app.notification.kind === "error" ? ERROR : SUCCESS }, app.notification.message))) : null,
235
350
  shareResult ? (React.createElement(Box, { marginBottom: 1 },
236
351
  React.createElement(Text, { color: ERROR }, shareResult))) : null,
352
+ setupJsNote ? (React.createElement(Box, { marginBottom: 1 },
353
+ React.createElement(Text, { color: setupJsNote.startsWith("JS setup failed") ? ERROR : SUCCESS },
354
+ setupJsState === "running" ? React.createElement(Spinner, { type: "dots" }) : null,
355
+ setupJsState === "running" ? " " : "",
356
+ setupJsNote))) : null,
237
357
  React.createElement(KeyHints, { hints: phase === "running"
238
- ? [{ key: "esc", label: "cancel" }]
358
+ ? [
359
+ { key: "↑↓", label: "scroll sources" },
360
+ { key: "pgup/pgdn", label: "jump sources" },
361
+ { key: "esc", label: "cancel" },
362
+ { key: "q", label: "quit" },
363
+ ]
239
364
  : [
365
+ ...(showSetupJs
366
+ ? [{ key: "j", label: "install JS rendering" }]
367
+ : []),
368
+ { key: "↑↓", label: "scroll sources" },
369
+ { key: "pgup/pgdn", label: "jump sources" },
240
370
  { key: "y", label: "copy MIXTAPE.md" },
241
371
  { key: "s", label: "share (.mixtape)" },
242
372
  { key: "o", label: "open folder" },
@@ -265,11 +395,11 @@ function SourceLine({ index, state, }) {
265
395
  " "),
266
396
  React.createElement(StatusBadge, { status: state.status })),
267
397
  state.title ? (React.createElement(Box, { paddingLeft: 6 },
268
- React.createElement(Text, { color: MUTED }, truncate(state.title, 70)))) : null,
398
+ React.createElement(Text, { color: MUTED }, truncate(state.title, 62)))) : null,
269
399
  state.bodyPreview && state.status !== "failed" ? (React.createElement(Box, { paddingLeft: 6 },
270
400
  React.createElement(Text, { color: MUTED },
271
401
  "\u201C",
272
- truncate(state.bodyPreview.replace(/\s+/g, " "), 100),
402
+ truncate(state.bodyPreview.replace(/\s+/g, " "), 76),
273
403
  "\u201D",
274
404
  state.bodyChars != null
275
405
  ? ` (${state.bodyChars.toLocaleString()} chars)`
@@ -307,6 +437,130 @@ function phaseColor(p) {
307
437
  return WARNING;
308
438
  return ERROR;
309
439
  }
440
+ function visibleSourceCount(rows) {
441
+ // Compile source rows are usually 2-3 terminal lines once title/preview are
442
+ // present, and long result/warning boxes can easily consume 15+ rows. Keep a
443
+ // generous reservation so the top of the source viewport never clips behind
444
+ // the terminal chrome or Ink's bottom-anchored render.
445
+ return Math.max(2, Math.min(6, Math.floor((rows - 32) / 3)));
446
+ }
447
+ function scrollSourceIntoView(index, rows) {
448
+ return Math.max(0, index - visibleSourceCount(rows) + 1);
449
+ }
450
+ function existingCompileResult(tape, folder, project) {
451
+ const warnings = parseCompilationWarnings(project.mixtapePath);
452
+ const sourceFiles = listExistingSourceFiles(project.sourcesDir);
453
+ const sources = tape.sources.map((spec, index) => {
454
+ const filename = sourceFiles.get(index + 1) ?? "";
455
+ const body = filename ? readExistingSourceFile(project.sourcesDir, filename) : "";
456
+ const unavailable = body.includes("_Source unavailable.");
457
+ return {
458
+ index: index + 1,
459
+ filename,
460
+ path: filename ? `${project.sourcesDir}/${filename}` : "",
461
+ url: spec.type === "local_file" ? spec.citation || spec.path || "" : spec.url,
462
+ type: spec.type,
463
+ section: spec.section ?? null,
464
+ title: existingTitle(body) ?? sourceTitleFromSpec(spec),
465
+ succeeded: Boolean(filename) && !unavailable,
466
+ };
467
+ });
468
+ const succeeded = sources.filter((source) => source.succeeded).length;
469
+ return {
470
+ tape: {
471
+ title: tape.title,
472
+ description: tape.description,
473
+ curator: tape.curator,
474
+ version: tape.version,
475
+ mode: tape.mode ?? null,
476
+ jtbd: tape.jtbd ?? null,
477
+ },
478
+ compiled_at: "",
479
+ folder,
480
+ mixtape_path: project.mixtapePath,
481
+ sources,
482
+ warnings,
483
+ summary: {
484
+ total: sources.length,
485
+ succeeded,
486
+ failed: sources.length - succeeded,
487
+ },
488
+ };
489
+ }
490
+ function parseCompilationWarnings(mixtapePath) {
491
+ if (!existsSync(mixtapePath))
492
+ return [];
493
+ const text = readFileSync(mixtapePath, "utf8");
494
+ const notesStart = text.indexOf("\n## Compilation notes");
495
+ if (notesStart === -1)
496
+ return [];
497
+ return text
498
+ .slice(notesStart)
499
+ .split("\n")
500
+ .flatMap((line) => {
501
+ const match = line.match(/^- \*\*(.*?)\*\* — (.*)$/);
502
+ if (!match)
503
+ return [];
504
+ return [
505
+ {
506
+ url: match[1],
507
+ message: match[2],
508
+ severity: match[2].toLowerCase().startsWith("failed") ? "error" : "warning",
509
+ },
510
+ ];
511
+ });
512
+ }
513
+ function listExistingSourceFiles(sourcesDir) {
514
+ const out = new Map();
515
+ if (!existsSync(sourcesDir))
516
+ return out;
517
+ for (const filename of readdirSync(sourcesDir)) {
518
+ const match = filename.match(/^(\d+)-.*\.md$/);
519
+ if (match)
520
+ out.set(Number(match[1]), filename);
521
+ }
522
+ return out;
523
+ }
524
+ function readExistingSourceFile(sourcesDir, filename) {
525
+ if (!filename)
526
+ return "";
527
+ try {
528
+ return readFileSync(`${sourcesDir}/${filename}`, "utf8");
529
+ }
530
+ catch {
531
+ return "";
532
+ }
533
+ }
534
+ function existingTitle(body) {
535
+ const first = body.split("\n").find((line) => line.startsWith("# "));
536
+ return first ? first.replace(/^#\s+/, "").trim() || null : null;
537
+ }
538
+ function existingSourcePreview(sourcesDir, filename) {
539
+ const body = readExistingSourceFile(sourcesDir, filename);
540
+ return body
541
+ .split("\n")
542
+ .filter((line) => line.trim() && !line.startsWith("#") && !line.startsWith("**"))
543
+ .join(" ")
544
+ .replace(/\s+/g, " ")
545
+ .trim();
546
+ }
547
+ function existingSourceChars(sourcesDir, filename) {
548
+ return existingSourcePreview(sourcesDir, filename).length;
549
+ }
550
+ function sourceTitleFromSpec(spec) {
551
+ if (spec.type === "local_file")
552
+ return spec.citation || spec.path || "local file";
553
+ return spec.url;
554
+ }
555
+ function needsJsSetup(result) {
556
+ return result.warnings.some((w) => {
557
+ const msg = w.message.toLowerCase();
558
+ return msg.includes("liner setup-js") ||
559
+ msg.includes("playwright chromium isn't installed") ||
560
+ msg.includes("render: js needs playwright") ||
561
+ msg.includes("js-rendering support");
562
+ });
563
+ }
310
564
  function truncate(s, n) {
311
565
  return s.length > n ? s.slice(0, n - 1) + "…" : s;
312
566
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CompileView.js","sourceRoot":"","sources":["../../src/screens/CompileView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CompileView.js","sourceRoot":"","sources":["../../src/screens/CompileView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,IAAI,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,OAAO,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAsB,MAAM,WAAW,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAmBnD,MAAM,UAAU,WAAW,CAAC,EAC1B,IAAI,EACJ,MAAM,EACN,YAAY,GAAG,KAAK,GAKrB;IACC,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAS,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAChE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CACpC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAC1D,CAAC;IACF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAQ,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAChF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAA8B,IAAI,CAAC,CAAC;IACxE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACxD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,YAAY,GAAG,YAAY,IAAI,CAAC,eAAe,CAAC;IACtD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAqB,MAAM,CAAC,CAAC;IAC7E,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACpE,oEAAoE;IACpE,4EAA4E;IAC5E,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,MAAM,CAAuB,IAAI,CAAC,CAAC;IAErD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC9D,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACjC,UAAU,CACR,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACvC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;gBAClD,OAAO;oBACL,IAAI;oBACJ,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;oBACpC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,mBAAmB,CAAC,IAAI,CAAC;oBACjD,OAAO,EACL,MAAM;wBACJ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO;4BAC1D,yCAAyC;wBAC3C,CAAC,CAAC,SAAS;oBACf,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC;oBAC7F,SAAS,EAAE,MAAM;wBACf,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC;iBAC9D,CAAC;YACJ,CAAC,CAAC,CACH,CAAC;YACF,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAClE,SAAS,CAAC,QAAQ,CAAC,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,cAAc,CAAC,IAAI,CAAC,CAAC;YACrB,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChF,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC;QAChB,yEAAyE;QACzE,uEAAuE;QACvE,wEAAwE;QACxE,8BAA8B;QAC9B,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;QACtE,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpB,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,eAAe,CAAC,CAAC,CAAC,CAAC;QAEnB,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,KAAmB,EAAE,EAAE;YAC/D,IAAI,SAAS;gBAAE,OAAO;YACtB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC3B,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBACzC,MAAM,IAAI,CAAC,CAAC;gBACZ,MAAM,GAAG,GAAG,MAAM,CAAC;gBACnB,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACnF,eAAe,CAAC,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YACnD,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBAC1E,MAAM,GAAG,GAAG,MAAM,CAAC;gBACnB,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,CAClB,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE;oBAClB,MAAM,EAAE,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;oBAC1D,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,WAAW,EAAE,KAAK,CAAC,YAAY;oBAC/B,SAAS,EAAE,KAAK,CAAC,UAAU;iBAC5B,CAAC,CACH,CAAC;gBACF,eAAe,CAAC,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YACnD,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBAC1C,MAAM,GAAG,GAAG,MAAM,CAAC;gBACnB,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,CAClB,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE;oBAClB,MAAM,EAAE,QAAQ;oBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB,CAAC,CACH,CAAC;gBACF,eAAe,CAAC,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YACnD,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACnC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACzB,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACrF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;gBACtC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzB,QAAQ,CAAC,WAAW,CAAC,CAAC;oBACtB,8DAA8D;oBAC9D,6CAA6C;oBAC7C,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBACvC,CAAC;qBAAM,IAAI,OAAO,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;oBACnC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACrB,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,SAAS,CAAC,CAAC;oBACpB,qEAAqE;oBACrE,+DAA+D;oBAC/D,6DAA6D;oBAC7D,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC;QAE3B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;YACpC,IAAI,SAAS;gBAAE,OAAO;YACtB,0EAA0E;YAC1E,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC3C,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,4BAA4B,IAAI,EAAE,CAAC,CAAC;gBAC9D,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;YACjB,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC,CAAC;QACF,kEAAkE;QAClE,uDAAuD;IACzD,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;IAElC,SAAS,sBAAsB;QAC7B,IAAI,IAAY,CAAC;QACjB,IAAI,CAAC;YACH,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,eAAe,CAAC;gBAClB,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,8BAA+B,CAAW,CAAC,OAAO,EAAE;aAC9D,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GACP,OAAO,CAAC,QAAQ,KAAK,QAAQ;YAC3B,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAc,EAAE;YAC7C,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO;gBAC5B,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE;gBACzD,CAAC,CAAC,IAAI,CAAC;QACb,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,CAAC,eAAe,CAAC;gBAClB,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,gDAAgD;aAC1D,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,GAAG,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC,CAAC;YACpF,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,2BAA2B,IAAI,EAAE,EAAE,CAAC,CAAC;YACrF,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACrB,GAAG,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,KAAK;QACZ,KAAK,QAAQ,CAAC,MAAM,CAAC;aAClB,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;YACpB,cAAc,CAAC,YAAY,WAAW,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;YAClB,cAAc,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS,eAAe;QACtB,IAAI,YAAY,KAAK,SAAS;YAAE,OAAO;QACvC,eAAe,CAAC,SAAS,CAAC,CAAC;QAC3B,cAAc,CAAC,kCAAkC,CAAC,CAAC;QACnD,KAAK,UAAU,EAAE;aACd,IAAI,CAAC,GAAG,EAAE;YACT,cAAc,CAAC,0CAA0C,CAAC,CAAC;YAC3D,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzB,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3B,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;YAClB,cAAc,CAAC,oBAAoB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,eAAe,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/E,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QACD,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAClB,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACzD,OAAO;QACT,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACnF,OAAO;QACT,CAAC;QACD,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjB,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CACpB,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CACzE,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;gBAClB,GAAG,CAAC,IAAI,EAAE,CAAC;YACb,CAAC;iBAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACtB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;gBAC5B,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9C,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACzD,IAAI,KAAK,KAAK,GAAG,IAAI,UAAU;YAAE,eAAe,EAAE,CAAC;aAC9C,IAAI,KAAK,KAAK,GAAG;YAAE,sBAAsB,EAAE,CAAC;aAC5C,IAAI,KAAK,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;aAC3B,IAAI,KAAK,KAAK,GAAG;YAAE,UAAU,CAAC,MAAM,CAAC,CAAC;aACtC,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACvB,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzB,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3B,CAAC;aACI,IAAI,KAAK,KAAK,GAAG;YAAE,GAAG,CAAC,IAAI,EAAE,CAAC;aAC9B,IAAI,KAAK,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACrC,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,0EAA0E;IAC1E,2EAA2E;IAC3E,2EAA2E;IAC3E,wEAAwE;IACxE,iEAAiE;IACjE,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,KAAK,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC;IACvD,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1D,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC;IAClE,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IACjE,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,WAAW,CAAC,CAAC;IACvF,MAAM,YAAY,GAAG,gBAAgB,CAAC;IACtC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,gBAAgB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAE3F,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ;QACzB,oBAAC,MAAM,IACL,KAAK,EAAC,SAAS,EACf,QAAQ,EAAE,GAAG,MAAM,QAAQ,KAAK,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,GAClE;QAED,UAAU,CAAC,CAAC,CAAC,CACZ,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC;YACzC,oBAAC,GAAG;gBACF,oBAAC,IAAI,IAAC,KAAK,EAAE,SAAS;oBACpB,oBAAC,OAAO,IAAC,IAAI,EAAC,MAAM,GAAG;oBAAC,GAAG,CACtB;gBACP,oBAAC,IAAI,IAAC,IAAI,mCAAyB,CAC/B;YACN,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK;gBACf,IAAI;qGACA;YACP,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK;gBACf,IAAI;;gBAAoC,oBAAC,IAAI,IAAC,KAAK,EAAE,SAAS,UAAY;8BACtE,CACH,CACP,CAAC,CAAC,CAAC,IAAI;QAER,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC;YACxC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAClB,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK;;gBACb,YAAY;;gBAAiB,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;yBACxD,CACR,CAAC,CAAC,CAAC,IAAI;YACP,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC5B,oBAAC,UAAU,IAAC,GAAG,EAAE,gBAAgB,GAAG,CAAC,EAAE,KAAK,EAAE,gBAAgB,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,GAAI,CACjF,CAAC;YACD,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CACjB,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK;;gBACb,WAAW;;gBAAc,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;yBACnD,CACR,CAAC,CAAC,CAAC,IAAI,CACJ;QAEL,KAAK,CAAC,CAAC,CAAC,CACP,oBAAC,GAAG,IAAC,YAAY,EAAE,CAAC;YAClB,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,IAAG,KAAK,CAAQ,CAC9B,CACP,CAAC,CAAC,CAAC,IAAI;QAEP,MAAM,CAAC,CAAC,CAAC,CACR,oBAAC,GAAG,IAAC,YAAY,EAAE,CAAC;YAClB,oBAAC,UAAU,IAAC,KAAK,EAAC,gBAAgB,EAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC;gBACzD,oBAAC,IAAI,IAAC,IAAI;oBACR,oBAAC,IAAI,IAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC;;wBAAK,KAAK,CAAQ;oBAC/C,IAAI;oBACL,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK;wBACf,MAAM,CAAC,OAAO,CAAC,SAAS;;wBAAG,MAAM,CAAC,OAAO,CAAC,KAAK;qCAC3C,CACF;gBACP,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK;;oBACT,MAAM,CAAC,YAAY,CACrB;gBACP,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK;;oBACJ,MAAM,CAAC,OAAO,CAAC,MAAM;;oBAAO,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CACzE;gBACN,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAC5B,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC;oBACtC,oBAAC,IAAI,IAAC,KAAK,EAAE,OAAO;wBAAG,MAAM,CAAC,QAAQ,CAAC,MAAM;;wBAAU,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;4BAAS;oBACtG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACzC,oBAAC,IAAI,IAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK;wBACvB,IAAI;wBAAE,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;;wBAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;;wBAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CACtF,CACR,CAAC,CACE,CACP,CAAC,CAAC,CAAC,IAAI;gBACP,WAAW,CAAC,CAAC,CAAC,CACb,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC;oBACtC,oBAAC,IAAI,IAAC,KAAK,EAAE,SAAS,EAAE,IAAI,gCAA2B;oBACvD,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK;;wBAC+C,GAAG;wBAClE,oBAAC,IAAI,IAAC,KAAK,EAAE,SAAS,QAAU;;wBAAQ,GAAG;wBAC3C,oBAAC,IAAI,IAAC,KAAK,EAAE,SAAS,2BAA6B;qCAC9C;oBACP,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,8CAEX,CACH,CACP,CAAC,CAAC,CAAC,IAAI,CACG,CACT,CACP,CAAC,CAAC,CAAC,IAAI;QASP,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAClB,oBAAC,GAAG,IAAC,YAAY,EAAE,CAAC;YAClB,oBAAC,IAAI,IAAC,KAAK,EAAE,GAAG,CAAC,YAAY,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,IAC7D,GAAG,CAAC,YAAY,CAAC,OAAO,CACpB,CACH,CACP,CAAC,CAAC,CAAC,IAAI;QAKP,WAAW,CAAC,CAAC,CAAC,CACb,oBAAC,GAAG,IAAC,YAAY,EAAE,CAAC;YAClB,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,IAAG,WAAW,CAAQ,CACpC,CACP,CAAC,CAAC,CAAC,IAAI;QAEP,WAAW,CAAC,CAAC,CAAC,CACb,oBAAC,GAAG,IAAC,YAAY,EAAE,CAAC;YAClB,oBAAC,IAAI,IAAC,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO;gBACrE,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAC,OAAO,IAAC,IAAI,EAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI;gBAC3D,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACrC,WAAW,CACP,CACH,CACP,CAAC,CAAC,CAAC,IAAI;QAER,oBAAC,QAAQ,IACP,KAAK,EACH,KAAK,KAAK,SAAS;gBACjB,CAAC,CAAC;oBACE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE;oBACtC,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE;oBAC3C,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE;oBAC/B,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE;iBAC5B;gBACH,CAAC,CAAC;oBACE,GAAG,CAAC,WAAW;wBACb,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;wBAC/C,CAAC,CAAC,EAAE,CAAC;oBACP,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE;oBACtC,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE;oBAC3C,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,iBAAiB,EAAE;oBACtC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,kBAAkB,EAAE;oBACvC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE;oBAClC,4DAA4D;oBAC5D,2DAA2D;oBAC3D,sDAAsD;oBACtD;wBACE,GAAG,EAAE,GAAG;wBACR,KAAK,EAAE,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc;qBACzD;oBACD,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE;oBAC3B,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE;iBAC5B,GAEP,CACE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAClB,KAAK,EACL,KAAK,GAIN;IACC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACvD,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACzC,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ;QACzB,oBAAC,GAAG;YACF,oBAAC,IAAI;gBACF,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;;gBAAI,IAAI;;gBAAG,GAAG;gBAChD,IAAI,CACA;YACP,oBAAC,WAAW,IAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAI,CACjC;QACL,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CACb,oBAAC,GAAG,IAAC,WAAW,EAAE,CAAC;YACjB,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,IAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAQ,CAClD,CACP,CAAC,CAAC,CAAC,IAAI;QACP,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAChD,oBAAC,GAAG,IAAC,WAAW,EAAE,CAAC;YACjB,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK;;gBACd,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;;gBACrD,KAAK,CAAC,SAAS,IAAI,IAAI;oBACtB,CAAC,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,SAAS;oBACjD,CAAC,CAAC,EAAE,CACD,CACH,CACP,CAAC,CAAC,CAAC,IAAI;QACP,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CACf,oBAAC,GAAG,IAAC,WAAW,EAAE,CAAC;YACjB,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,IAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAQ,CACrD,CACP,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,MAAM,EAAqC;IAChE,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,cAAgB,CAAC;IACpE,IAAI,MAAM,KAAK,SAAS;QACtB,OAAO,CACL,oBAAC,IAAI,IAAC,KAAK,EAAE,SAAS;YACpB,oBAAC,OAAO,IAAC,IAAI,EAAC,MAAM,GAAG;wBAClB,CACR,CAAC;IACJ,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,oBAAC,IAAI,IAAC,KAAK,EAAE,OAAO,qBAAkB,CAAC;IACrE,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,oBAAC,IAAI,IAAC,KAAK,EAAE,OAAO,oBAAiB,CAAC;IACtE,OAAO,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,oBAAiB,CAAC;AAC7C,CAAC;AAED,SAAS,QAAQ,CACf,GAAkB,EAClB,GAAW,EACX,KAA2B;IAE3B,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM;QAAE,OAAO,GAAG,CAAC;IAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;IACzB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,OAAO;QAAE,OAAO,GAAG,CAAC;IACzB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;IACrC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,CAAQ;IAC1B,IAAI,CAAC,KAAK,WAAW;QAAE,OAAO,OAAO,CAAC;IACtC,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC;IACpC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,4EAA4E;IAC5E,6EAA6E;IAC7E,4EAA4E;IAC5E,uDAAuD;IACvD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa,EAAE,IAAY;IACvD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,qBAAqB,CAC5B,IAAU,EACV,MAAc,EACd,OAAyC;IAEzC,MAAM,QAAQ,GAAG,wBAAwB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,uBAAuB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC/C,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QAC1D,OAAO;YACL,KAAK,EAAE,KAAK,GAAG,CAAC;YAChB,QAAQ;YACR,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE;YACzD,GAAG,EAAE,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG;YAC7E,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI;YAC7B,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC;YACvD,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW;SAC7C,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;IACtE,OAAO;QACL,IAAI,EAAE;YACJ,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI;SACxB;QACD,WAAW,EAAE,EAAE;QACf,MAAM;QACN,YAAY,EAAE,OAAO,CAAC,WAAW;QACjC,OAAO;QACP,QAAQ;QACR,OAAO,EAAE;YACP,KAAK,EAAE,OAAO,CAAC,MAAM;YACrB,SAAS;YACT,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,SAAS;SACnC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,WAAmB;IAEnB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,CAAC;IACxC,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAC1D,IAAI,UAAU,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,OAAO,IAAI;SACR,KAAK,CAAC,UAAU,CAAC;SACjB,KAAK,CAAC,IAAI,CAAC;SACX,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QACtB,OAAO;YACL;gBACE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAE;gBACd,OAAO,EAAE,KAAK,CAAC,CAAC,CAAE;gBAClB,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;aAC7E;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,uBAAuB,CAAC,UAAkB;IACjD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,GAAG,CAAC;IACxC,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC/C,IAAI,KAAK;YAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,sBAAsB,CAAC,UAAkB,EAAE,QAA4B;IAC9E,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IACzB,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,GAAG,UAAU,IAAI,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACrE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAClE,CAAC;AAED,SAAS,qBAAqB,CAAC,UAAkB,EAAE,QAA4B;IAC7E,MAAM,IAAI,GAAG,sBAAsB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC1D,OAAO,IAAI;SACR,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SAChF,IAAI,CAAC,GAAG,CAAC;SACT,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,mBAAmB,CAAC,UAAkB,EAAE,QAA4B;IAC3E,OAAO,qBAAqB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC;AAC5D,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAgB;IAC3C,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY;QAAE,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,IAAI,YAAY,CAAC;IAClF,OAAO,IAAI,CAAC,GAAG,CAAC;AAClB,CAAC;AAED,SAAS,YAAY,CAAC,MAA4B;IAChD,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QAChC,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACpC,OAAO,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACnC,GAAG,CAAC,QAAQ,CAAC,qCAAqC,CAAC;YACnD,GAAG,CAAC,QAAQ,CAAC,6BAA6B,CAAC;YAC3C,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,CAAS,EAAE,CAAS;IACpC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC"}
@@ -0,0 +1,77 @@
1
+ import React, { useState } from "react";
2
+ import { Box, Text, useInput } from "ink";
3
+ import Spinner from "ink-spinner";
4
+ import { Header } from "../components/Header.js";
5
+ import { KeyHints } from "../components/KeyHints.js";
6
+ import { LabeledBox } from "../components/LabeledBox.js";
7
+ import { CURRENT, ERROR, MUTED, STRUCTURE, SUCCESS, WARNING } from "../colors.js";
8
+ import { writeConfig } from "../config.js";
9
+ import { runSetupJs } from "../ipc.js";
10
+ import { useApp } from "../store.js";
11
+ export function JsSetup() {
12
+ const app = useApp();
13
+ const [state, setState] = useState("idle");
14
+ const [message, setMessage] = useState(null);
15
+ function goHome(notification) {
16
+ try {
17
+ writeConfig({ jsSetupPrompted: true });
18
+ if (notification)
19
+ app.setNotification({ kind: "info", message: notification });
20
+ app.navigate({ kind: "splash" });
21
+ }
22
+ catch (e) {
23
+ setState("failed");
24
+ setMessage(`Could not write config: ${e.message}`);
25
+ }
26
+ }
27
+ function install() {
28
+ if (state === "running")
29
+ return;
30
+ setState("running");
31
+ setMessage("Downloading Playwright Chromium. This can take a few minutes on first run.");
32
+ void runSetupJs()
33
+ .then(() => {
34
+ goHome("JS rendering is ready for pages that need a browser.");
35
+ })
36
+ .catch((e) => {
37
+ setState("failed");
38
+ setMessage(`JS rendering setup failed: ${e.message}`);
39
+ });
40
+ }
41
+ useInput((input, key) => {
42
+ if (state === "running")
43
+ return;
44
+ if (key.return || input === "y")
45
+ install();
46
+ else if (input === "s" || input === "b" || key.escape) {
47
+ goHome("Skipped JS rendering setup. You can run liner setup-js later.");
48
+ }
49
+ });
50
+ return (React.createElement(Box, { flexDirection: "column" },
51
+ React.createElement(Header, { title: "set up JS rendering", subtitle: "first-run setup \u00B7 optional but useful" }),
52
+ React.createElement(Box, { marginBottom: 1 },
53
+ React.createElement(LabeledBox, { label: "browser-backed sources", color: STRUCTURE },
54
+ React.createElement(Text, null, "Liner can fetch normal web pages right away. Some sources, especially app docs and interactive sites, only reveal useful text after JavaScript runs in a browser."),
55
+ React.createElement(Box, { marginTop: 1, flexDirection: "column" },
56
+ React.createElement(Text, { color: MUTED }, "Installing JS rendering downloads Playwright's headless Chromium browser, about 150MB on first run. After that, compiles can recover from \"requires JavaScript\" pages instead of keeping tiny stubs."),
57
+ React.createElement(Text, { color: MUTED }, "You can skip this now. If a future compile needs it, Liner will prompt again from the compile results screen.")))),
58
+ React.createElement(Box, { marginBottom: 1 },
59
+ React.createElement(LabeledBox, { label: "recommendation", color: state === "failed" ? ERROR : WARNING },
60
+ React.createElement(Text, { color: CURRENT, bold: true }, "Press enter to install JS rendering now."),
61
+ React.createElement(Box, { marginTop: 1 },
62
+ React.createElement(Text, { color: MUTED },
63
+ "Liner will run ",
64
+ React.createElement(Text, { color: STRUCTURE }, "liner setup-js --yes"),
65
+ ". The command is safe to repeat; when Chromium is already present, it exits quickly.")))),
66
+ message ? (React.createElement(Box, { marginBottom: 1 },
67
+ React.createElement(Text, { color: state === "failed" ? ERROR : state === "running" ? WARNING : SUCCESS },
68
+ state === "running" ? React.createElement(Spinner, { type: "dots" }) : null,
69
+ state === "running" ? " " : "",
70
+ message))) : null,
71
+ React.createElement(KeyHints, { hints: [
72
+ { key: "enter/y", label: "install" },
73
+ { key: "s", label: "skip" },
74
+ { key: "esc", label: "skip" },
75
+ ] })));
76
+ }
77
+ //# sourceMappingURL=JsSetup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsSetup.js","sourceRoot":"","sources":["../../src/screens/JsSetup.tsx"],"names":[],"mappings":"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"}