@kenkaiiii/ggcoder 4.3.39 → 4.3.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/cli.js +41 -2
  2. package/dist/cli.js.map +1 -1
  3. package/dist/core/agent-session.d.ts.map +1 -1
  4. package/dist/core/agent-session.js +2 -0
  5. package/dist/core/agent-session.js.map +1 -1
  6. package/dist/core/compaction/compactor.d.ts.map +1 -1
  7. package/dist/core/compaction/compactor.js +4 -1
  8. package/dist/core/compaction/compactor.js.map +1 -1
  9. package/dist/core/compaction/token-estimator.d.ts.map +1 -1
  10. package/dist/core/compaction/token-estimator.js +14 -1
  11. package/dist/core/compaction/token-estimator.js.map +1 -1
  12. package/dist/core/prompt-commands.d.ts.map +1 -1
  13. package/dist/core/prompt-commands.js +123 -1
  14. package/dist/core/prompt-commands.js.map +1 -1
  15. package/dist/system-prompt.d.ts.map +1 -1
  16. package/dist/system-prompt.js +19 -0
  17. package/dist/system-prompt.js.map +1 -1
  18. package/dist/tools/plan-mode.test.js +13 -1
  19. package/dist/tools/plan-mode.test.js.map +1 -1
  20. package/dist/tools/read.d.ts.map +1 -1
  21. package/dist/tools/read.js +32 -6
  22. package/dist/tools/read.js.map +1 -1
  23. package/dist/tools/read.test.js +23 -4
  24. package/dist/tools/read.test.js.map +1 -1
  25. package/dist/tools/write.test.js +13 -1
  26. package/dist/tools/write.test.js.map +1 -1
  27. package/dist/ui/App.d.ts.map +1 -1
  28. package/dist/ui/App.js +39 -2
  29. package/dist/ui/App.js.map +1 -1
  30. package/dist/ui/components/EyesOverlay.d.ts +10 -0
  31. package/dist/ui/components/EyesOverlay.d.ts.map +1 -0
  32. package/dist/ui/components/EyesOverlay.js +220 -0
  33. package/dist/ui/components/EyesOverlay.js.map +1 -0
  34. package/dist/ui/components/InputArea.d.ts +4 -1
  35. package/dist/ui/components/InputArea.d.ts.map +1 -1
  36. package/dist/ui/components/InputArea.js +4 -3
  37. package/dist/ui/components/InputArea.js.map +1 -1
  38. package/dist/utils/image.d.ts +11 -0
  39. package/dist/utils/image.d.ts.map +1 -1
  40. package/dist/utils/image.js +41 -15
  41. package/dist/utils/image.js.map +1 -1
  42. package/package.json +4 -3
@@ -0,0 +1,220 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import React, { useCallback, useEffect, useState } from "react";
3
+ import { Box, Text, useInput } from "ink";
4
+ import { spawnSync } from "node:child_process";
5
+ import { createRequire } from "node:module";
6
+ import { useTheme } from "../theme/theme.js";
7
+ import { useTerminalSize } from "../hooks/useTerminalSize.js";
8
+ import { readJournal, readManifest, updateEntry, } from "@kenkaiiii/ggcoder-eyes";
9
+ // ── Logo ──────────────────────────────────────────────────
10
+ const EYES_LOGO = [" ▄▄▄ ▄▄▄ ", " █●█ █●█ ", " ▀▀▀ ▀▀▀ "];
11
+ const GRADIENT = [
12
+ "#60a5fa",
13
+ "#7dabfa",
14
+ "#9ab1fa",
15
+ "#a78bfa",
16
+ "#c1a9f4",
17
+ "#a78bfa",
18
+ "#9ab1fa",
19
+ "#7dabfa",
20
+ ];
21
+ const GAP = " ";
22
+ const LOGO_WIDTH = 11;
23
+ const SIDE_BY_SIDE_MIN = LOGO_WIDTH + GAP.length + 20;
24
+ function EyesGradientText({ text }) {
25
+ const chars = [];
26
+ let colorIdx = 0;
27
+ for (let i = 0; i < text.length; i++) {
28
+ const ch = text[i];
29
+ if (ch === " ") {
30
+ chars.push(ch);
31
+ }
32
+ else {
33
+ const color = GRADIENT[colorIdx % GRADIENT.length];
34
+ chars.push(_jsx(Text, { color: color, children: ch }, i));
35
+ colorIdx++;
36
+ }
37
+ }
38
+ return _jsx(Text, { children: chars });
39
+ }
40
+ // ── CLI resolution ────────────────────────────────────────
41
+ // Find the ggcoder-eyes CLI binary for `verify` action. Works in workspace dev
42
+ // installs and in globally-installed npm packages because we resolve through
43
+ // the package graph rather than relying on $PATH.
44
+ const requireFn = createRequire(import.meta.url);
45
+ let cachedCliPath = null;
46
+ function resolveCli() {
47
+ if (cachedCliPath)
48
+ return cachedCliPath;
49
+ try {
50
+ cachedCliPath = requireFn.resolve("@kenkaiiii/ggcoder-eyes/cli");
51
+ return cachedCliPath;
52
+ }
53
+ catch {
54
+ return null;
55
+ }
56
+ }
57
+ // ── Formatting helpers ────────────────────────────────────
58
+ function relTime(iso) {
59
+ const diffMs = Date.now() - new Date(iso).getTime();
60
+ const s = Math.floor(diffMs / 1000);
61
+ if (s < 60)
62
+ return `${s}s ago`;
63
+ const m = Math.floor(s / 60);
64
+ if (m < 60)
65
+ return `${m}m ago`;
66
+ const h = Math.floor(m / 60);
67
+ if (h < 24)
68
+ return `${h}h ago`;
69
+ const d = Math.floor(h / 24);
70
+ return `${d}d ago`;
71
+ }
72
+ function probeStatusGlyph(status) {
73
+ switch (status) {
74
+ case "verified":
75
+ return "✓";
76
+ case "failed":
77
+ return "✗";
78
+ default:
79
+ return "·";
80
+ }
81
+ }
82
+ function signalGlyph(kind) {
83
+ switch (kind) {
84
+ case "blocked":
85
+ return "⛔";
86
+ case "wish":
87
+ return "✨";
88
+ default:
89
+ return "⚠";
90
+ }
91
+ }
92
+ export function EyesOverlay({ cwd, onClose, onQueueMessage }) {
93
+ const theme = useTheme();
94
+ const { columns } = useTerminalSize();
95
+ const [probes, setProbes] = useState([]);
96
+ const [signals, setSignals] = useState([]);
97
+ const [selectedIndex, setSelectedIndex] = useState(0);
98
+ const [expandedKey, setExpandedKey] = useState(null);
99
+ const [status, setStatus] = useState(null);
100
+ const reload = useCallback(() => {
101
+ setProbes(readManifest(cwd).probes);
102
+ setSignals(readJournal({ status: "open", order: "desc" }, cwd));
103
+ }, [cwd]);
104
+ useEffect(() => {
105
+ reload();
106
+ }, [reload]);
107
+ const rows = [
108
+ ...probes.map((probe) => ({ kind: "probe", probe })),
109
+ ...signals.map((entry) => ({ kind: "signal", entry })),
110
+ ];
111
+ // Clamp selection when rows change
112
+ useEffect(() => {
113
+ if (rows.length === 0)
114
+ setSelectedIndex(0);
115
+ else if (selectedIndex >= rows.length)
116
+ setSelectedIndex(rows.length - 1);
117
+ }, [rows.length, selectedIndex]);
118
+ useInput((input, key) => {
119
+ if (key.escape) {
120
+ onClose();
121
+ return;
122
+ }
123
+ if (key.upArrow || input === "k") {
124
+ setSelectedIndex((i) => Math.max(0, i - 1));
125
+ setExpandedKey(null);
126
+ return;
127
+ }
128
+ if (key.downArrow || input === "j") {
129
+ setSelectedIndex((i) => Math.min(rows.length - 1, i + 1));
130
+ setExpandedKey(null);
131
+ return;
132
+ }
133
+ if (key.return || input === " ") {
134
+ const row = rows[selectedIndex];
135
+ if (!row)
136
+ return;
137
+ const rowKey = row.kind === "probe" ? `p:${row.probe.name}` : `s:${row.entry.id}`;
138
+ setExpandedKey((prev) => (prev === rowKey ? null : rowKey));
139
+ return;
140
+ }
141
+ // Actions — single-keypress
142
+ if (input === "i") {
143
+ onQueueMessage("/eyes-improve");
144
+ onClose();
145
+ return;
146
+ }
147
+ if (input === "a") {
148
+ onQueueMessage("/eyes");
149
+ onClose();
150
+ return;
151
+ }
152
+ if (input === "v") {
153
+ const cli = resolveCli();
154
+ if (!cli) {
155
+ setStatus("ggcoder-eyes CLI not found");
156
+ return;
157
+ }
158
+ setStatus("verifying…");
159
+ const r = spawnSync(process.execPath, [cli, "verify"], { cwd, stdio: "ignore" });
160
+ setStatus(r.status === 0 ? "verify done" : `verify exit ${r.status}`);
161
+ reload();
162
+ return;
163
+ }
164
+ // Signal-only actions
165
+ const row = rows[selectedIndex];
166
+ if (!row || row.kind !== "signal")
167
+ return;
168
+ if (input === "d") {
169
+ updateEntry(row.entry.id, { status: "deferred" }, cwd);
170
+ setStatus(`deferred ${row.entry.id}`);
171
+ reload();
172
+ return;
173
+ }
174
+ if (input === "x") {
175
+ updateEntry(row.entry.id, { status: "acked" }, cwd);
176
+ setStatus(`dismissed ${row.entry.id}`);
177
+ reload();
178
+ return;
179
+ }
180
+ });
181
+ // ── Rendering helpers ──────────────────────────────────
182
+ const maxVisible = 15;
183
+ const startIdx = Math.max(0, selectedIndex - maxVisible + 1);
184
+ const visibleRows = rows.slice(startIdx, startIdx + maxVisible);
185
+ const home = process.env.HOME ?? "";
186
+ const displayPath = home && cwd.startsWith(home) ? "~" + cwd.slice(home.length) : cwd;
187
+ const verifiedCount = probes.filter((p) => p.status === "verified").length;
188
+ const failedCount = probes.filter((p) => p.status === "failed").length;
189
+ // Section header preceding the first signal row (if any) — we track which
190
+ // visible index is the first signal to insert a divider.
191
+ const firstSignalVisibleIdx = (() => {
192
+ for (let i = 0; i < visibleRows.length; i++) {
193
+ if (visibleRows[i].kind === "signal")
194
+ return i;
195
+ }
196
+ return -1;
197
+ })();
198
+ return (_jsxs(Box, { flexDirection: "column", children: [columns < SIDE_BY_SIDE_MIN ? (_jsxs(Box, { flexDirection: "column", marginTop: 1, marginBottom: 1, width: columns, children: [_jsx(EyesGradientText, { text: EYES_LOGO[0] }), _jsx(EyesGradientText, { text: EYES_LOGO[1] }), _jsx(EyesGradientText, { text: EYES_LOGO[2] }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "#a78bfa", bold: true, children: "Eyes Pane" }) }), _jsx(Text, { color: theme.textDim, wrap: "truncate", children: displayPath }), _jsxs(Text, { children: [_jsxs(Text, { color: "#4ade80", children: [verifiedCount, " verified"] }), failedCount > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { color: theme.textDim, children: " \u00B7 " }), _jsxs(Text, { color: "#ef4444", children: [failedCount, " failed"] })] })), _jsx(Text, { color: theme.textDim, children: " \u00B7 " }), _jsxs(Text, { color: "#a78bfa", children: [signals.length, " open signals"] })] })] })) : (_jsxs(Box, { flexDirection: "column", marginTop: 1, marginBottom: 1, width: columns, children: [_jsxs(Box, { children: [_jsx(EyesGradientText, { text: EYES_LOGO[0] }), _jsx(Text, { children: GAP }), _jsx(Text, { color: "#a78bfa", bold: true, children: "Eyes Pane" })] }), _jsxs(Box, { children: [_jsx(EyesGradientText, { text: EYES_LOGO[1] }), _jsx(Text, { children: GAP }), _jsx(Text, { color: theme.textDim, wrap: "truncate", children: displayPath })] }), _jsxs(Box, { children: [_jsx(EyesGradientText, { text: EYES_LOGO[2] }), _jsx(Text, { children: GAP }), _jsxs(Text, { children: [_jsxs(Text, { color: "#4ade80", children: [verifiedCount, " verified"] }), failedCount > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { color: theme.textDim, children: " \u00B7 " }), _jsxs(Text, { color: "#ef4444", children: [failedCount, " failed"] })] })), _jsx(Text, { color: theme.textDim, children: " \u00B7 " }), _jsxs(Text, { color: "#a78bfa", children: [signals.length, " open signals"] })] })] })] })), rows.length === 0 && (_jsx(Box, { flexDirection: "column", children: _jsxs(Text, { color: theme.textDim, children: [" No probes installed yet. Press ", _jsx(Text, { color: theme.primary, children: "a" }), " to set up, or run ", _jsx(Text, { color: theme.primary, children: "/eyes" }), " in the prompt."] }) })), visibleRows.length > 0 && visibleRows[0].kind === "probe" && (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: theme.textDim, children: "\u2500\u2500 Installed probes \u2500\u2500" }) })), visibleRows.map((row, vi) => {
199
+ const realIdx = startIdx + vi;
200
+ const selected = realIdx === selectedIndex;
201
+ const prefix = selected ? "❯ " : " ";
202
+ // Insert the signals header just above the first signal row
203
+ const headerBefore = vi === firstSignalVisibleIdx ? (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: theme.textDim, children: "\u2500\u2500 Open signals \u2500\u2500" }) }, `hdr-${vi}`)) : null;
204
+ if (row.kind === "probe") {
205
+ const p = row.probe;
206
+ const glyph = probeStatusGlyph(p.status);
207
+ const glyphColor = p.status === "verified" ? "#4ade80" : p.status === "failed" ? "#ef4444" : theme.textDim;
208
+ const isExpanded = expandedKey === `p:${p.name}`;
209
+ return (_jsxs(React.Fragment, { children: [headerBefore, _jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: selected ? theme.primary : theme.text, bold: selected, children: [prefix, _jsx(Text, { color: glyphColor, children: glyph }), " ", _jsx(Text, { color: selected ? theme.primary : "#e5e7eb", children: p.name.padEnd(18) }), _jsx(Text, { color: theme.textDim, children: p.capability.padEnd(16) }), _jsx(Text, { color: theme.textDim, children: p.impl })] }), isExpanded && (_jsxs(Box, { marginLeft: 4, flexDirection: "column", children: [_jsxs(Text, { color: theme.textDim, children: ["script: ", p.script] }), _jsxs(Text, { color: theme.textDim, children: ["status: ", p.status] }), p.error && _jsxs(Text, { color: "#ef4444", children: ["error: ", p.error] })] }))] })] }, `p:${p.name}`));
210
+ }
211
+ // Signal row
212
+ const e = row.entry;
213
+ const glyph = signalGlyph(e.kind);
214
+ const kindColor = e.kind === "blocked" ? "#ef4444" : e.kind === "wish" ? "#60a5fa" : "#fbbf24";
215
+ const probeTag = e.probe ? `[${e.probe}] ` : "";
216
+ const isExpanded = expandedKey === `s:${e.id}`;
217
+ return (_jsxs(React.Fragment, { children: [headerBefore, _jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: selected ? theme.primary : theme.text, bold: selected, children: [prefix, _jsx(Text, { color: kindColor, children: glyph }), " ", _jsx(Text, { color: kindColor, children: e.kind.padEnd(8) }), _jsx(Text, { color: theme.textDim, children: probeTag }), _jsx(Text, { color: selected ? theme.primary : "#e5e7eb", children: e.reason }), _jsxs(Text, { color: theme.textDim, children: [" \u00B7 ", relTime(e.ts)] })] }), isExpanded && (_jsxs(Box, { marginLeft: 4, flexDirection: "column", children: [_jsxs(Text, { color: theme.textDim, children: ["id: ", e.id] }), _jsxs(Text, { color: theme.textDim, children: ["logged: ", e.ts] }), e.probe && _jsxs(Text, { color: theme.textDim, children: ["probe: ", e.probe] })] }))] })] }, `s:${e.id}`));
218
+ }), status && (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: theme.textDim, children: status }) })), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: theme.textDim, children: [_jsx(Text, { color: theme.primary, children: "\u2191\u2193" }), " move · ", _jsx(Text, { color: theme.primary, children: "Enter" }), " expand · ", _jsx(Text, { color: theme.primary, children: "i" }), " improve · ", _jsx(Text, { color: theme.primary, children: "a" }), " add · ", _jsx(Text, { color: theme.primary, children: "v" }), " verify · ", _jsx(Text, { color: theme.primary, children: "d" }), " defer · ", _jsx(Text, { color: theme.primary, children: "x" }), " dismiss · ", _jsx(Text, { color: theme.primary, children: "ESC" }), " close"] }) })] }));
219
+ }
220
+ //# sourceMappingURL=EyesOverlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EyesOverlay.js","sourceRoot":"","sources":["../../../src/ui/components/EyesOverlay.tsx"],"names":[],"mappings":"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"}
@@ -17,7 +17,10 @@ interface InputAreaProps {
17
17
  onTogglePlanMode?: () => void;
18
18
  cwd: string;
19
19
  commands?: SlashCommandInfo[];
20
+ /** Number of open eyes-journal signals. `undefined` when eyes is inactive in
21
+ * this project (hides the badge entirely). Zero hides it too. */
22
+ eyesCount?: number;
20
23
  }
21
- export declare function InputArea({ onSubmit, onAbort, disabled, isActive, onDownAtEnd, onShiftTab, onToggleTasks, onToggleSkills, onTogglePlanMode, cwd, commands, }: InputAreaProps): import("react/jsx-runtime").JSX.Element;
24
+ export declare function InputArea({ onSubmit, onAbort, disabled, isActive, onDownAtEnd, onShiftTab, onToggleTasks, onToggleSkills, onTogglePlanMode, cwd, commands, eyesCount, }: InputAreaProps): import("react/jsx-runtime").JSX.Element;
22
25
  export {};
23
26
  //# sourceMappingURL=InputArea.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputArea.d.ts","sourceRoot":"","sources":["../../../src/ui/components/InputArea.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAoC,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAmLhG,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,cAAc;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,KAAK,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IAChF,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAkDD,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,OAAO,EACP,QAAgB,EAChB,QAAe,EACf,WAAW,EACX,UAAU,EACV,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,GAAG,EACH,QAAa,GACd,EAAE,cAAc,2CAkvChB"}
1
+ {"version":3,"file":"InputArea.d.ts","sourceRoot":"","sources":["../../../src/ui/components/InputArea.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAoC,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAmLhG,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,cAAc;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,KAAK,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IAChF,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC9B;qEACiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkDD,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,OAAO,EACP,QAAgB,EAChB,QAAe,EACf,WAAW,EACX,UAAU,EACV,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,GAAG,EACH,QAAa,EACb,SAAS,GACV,EAAE,cAAc,2CA4vChB"}
@@ -220,8 +220,9 @@ function getVisualLines(text, columns) {
220
220
  }
221
221
  return result;
222
222
  }
223
- export function InputArea({ onSubmit, onAbort, disabled = false, isActive = true, onDownAtEnd, onShiftTab, onToggleTasks, onToggleSkills, onTogglePlanMode, cwd, commands = [], }) {
223
+ export function InputArea({ onSubmit, onAbort, disabled = false, isActive = true, onDownAtEnd, onShiftTab, onToggleTasks, onToggleSkills, onTogglePlanMode, cwd, commands = [], eyesCount, }) {
224
224
  const theme = useTheme();
225
+ const eyesBadge = eyesCount && eyesCount > 0 ? (_jsx(Text, { color: theme.accent, bold: true, children: `[eyes: ${eyesCount}↗] ` })) : null;
225
226
  const [value, setValue] = useState("");
226
227
  const [cursor, setCursor] = useState(0);
227
228
  const cursorRef = useRef(cursor);
@@ -1157,7 +1158,7 @@ export function InputArea({ onSubmit, onAbort, disabled = false, isActive = true
1157
1158
  else {
1158
1159
  cursorInDisplay = pasteOffset + indicator.length;
1159
1160
  }
1160
- return (_jsxs(Box, { children: [searchMode ? (_jsxs(Text, { color: searchFailed ? theme.error : theme.inputPrompt, bold: true, children: [searchFailed ? "(fail)" : "(i-search)", `'${searchQuery}': `] })) : (_jsx(Text, { color: disabled ? theme.textDim : theme.inputPrompt, bold: true, children: PROMPT })), _jsx(Text, { color: theme.text, children: displayStr.slice(0, cursorInDisplay) }), _jsx(Text, { color: theme.text, inverse: cursorVisible, children: cursorInDisplay < displayStr.length ? displayStr[cursorInDisplay] : " " }), cursorInDisplay + 1 < displayStr.length && (_jsx(Text, { color: theme.text, children: displayStr.slice(cursorInDisplay + 1) }))] }));
1161
+ return (_jsxs(Box, { children: [searchMode ? (_jsxs(Text, { color: searchFailed ? theme.error : theme.inputPrompt, bold: true, children: [searchFailed ? "(fail)" : "(i-search)", `'${searchQuery}': `] })) : (_jsxs(_Fragment, { children: [eyesBadge, _jsx(Text, { color: disabled ? theme.textDim : theme.inputPrompt, bold: true, children: PROMPT })] })), _jsx(Text, { color: theme.text, children: displayStr.slice(0, cursorInDisplay) }), _jsx(Text, { color: theme.text, inverse: cursorVisible, children: cursorInDisplay < displayStr.length ? displayStr[cursorInDisplay] : " " }), cursorInDisplay + 1 < displayStr.length && (_jsx(Text, { color: theme.text, children: displayStr.slice(cursorInDisplay + 1) }))] }));
1161
1162
  }
1162
1163
  return displayLines.map((line, i) => {
1163
1164
  const showCursor = i === cursorDisplayLine;
@@ -1281,7 +1282,7 @@ export function InputArea({ onSubmit, onAbort, disabled = false, isActive = true
1281
1282
  segments.push(_jsx(React.Fragment, { children: renderSegment(after, lineStartOffset + col + (col < line.length ? 1 : 0)) }, "after"));
1282
1283
  }
1283
1284
  }
1284
- return (_jsxs(Box, { children: [_jsx(Text, { color: disabled ? theme.textDim : theme.inputPrompt, bold: true, children: i === 0 ? PROMPT : " " }), segments] }, i));
1285
+ return (_jsxs(Box, { children: [i === 0 ? eyesBadge : null, _jsx(Text, { color: disabled ? theme.textDim : theme.inputPrompt, bold: true, children: i === 0 ? PROMPT : " " }), segments] }, i));
1285
1286
  });
1286
1287
  })()] }), isSlashMode && filteredCommands.length > 0 && (_jsx(SlashCommandMenu, { commands: commands, filter: slashFilter, selectedIndex: menuIndex }))] }));
1287
1288
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InputArea.js","sourceRoot":"","sources":["../../../src/ui/components/InputArea.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAEpD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAyB,MAAM,uBAAuB,CAAC;AAChG,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,YAAY,EACZ,aAAa,EACb,cAAc,EACd,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,GACX,MAAM,SAAS,CAAC;AAEjB,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,MAAM,GAAG,IAAI,CAAC;AAEpB,qDAAqD;AACrD,mDAAmD;AACnD,6EAA6E;AAC7E,0EAA0E;AAC1E,4CAA4C;AAC5C,MAAM,cAAc,GAAG,iCAAiC,CAAC;AAEzD,0DAA0D;AAC1D,qFAAqF;AACrF,MAAM,YAAY,GAAG,wBAAwB,CAAC;AAC9C,MAAM,aAAa,GAAG,wBAAwB,CAAC;AAE/C,mEAAmE;AACnE,iFAAiF;AACjF,SAAS,qBAAqB,CAAC,KAAa;IAC1C,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClE,CAAC;AAED,4EAA4E;AAC5E,yDAAyD;AACzD,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;IACpC,OAAO,EAAE,uBAAuB;IAChC,WAAW,EAAE,mCAAmC;CACjD,CAAC,CAAC;AACH,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACrC,OAAO,EAAE,uBAAuB;IAChC,WAAW,EAAE,mCAAmC;CACjD,CAAC,CAAC;AAEH,2DAA2D;AAC3D,SAAS,SAAS,CAAC,EAAU;IAC3B,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,OAAO,CAAC;IAClC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,MAAM,CAAC;IACjC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,gEAAgE;AAChE,SAAS,gBAAgB,CAAC,IAAY,EAAE,GAAW;IACjD,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACvB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;IAChB,kBAAkB;IAClB,OAAO,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO;QAAE,CAAC,EAAE,CAAC;IACpD,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACrB,oDAAoD;IACpD,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG;QAAE,CAAC,EAAE,CAAC;IACpD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,0DAA0D;AAC1D,SAAS,gBAAgB,CAAC,IAAY,EAAE,GAAW;IACjD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;IACxB,IAAI,GAAG,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC;IAC3B,IAAI,CAAC,GAAG,GAAG,CAAC;IACZ,uDAAuD;IACvD,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;QAAE,CAAC,EAAE,CAAC;IAClD,kBAAkB;IAClB,OAAO,CAAC,GAAG,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO;QAAE,CAAC,EAAE,CAAC;IACtD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,uFAAuF;AACvF,SAAS,iBAAiB,CAAC,MAAqB,EAAE,GAAW;IAC3D,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACnD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,6DAA6D;AAC7D,MAAM,aAAa,GAAG,EAAE,CAAC;AACzB,MAAM,QAAQ,GAAa,EAAE,CAAC;AAC9B,IAAI,aAAa,GAAG,CAAC,CAAC;AACtB,IAAI,iBAAiB,GAAG,KAAK,CAAC;AAC9B,IAAI,iBAAiB,GAAG,KAAK,CAAC;AAC9B,IAAI,aAAa,GAAG,CAAC,CAAC;AACtB,IAAI,cAAc,GAAG,CAAC,CAAC;AAEvB,SAAS,QAAQ,CAAC,IAAY,EAAE,SAA+B;IAC7D,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,IAAI,iBAAiB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7C,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACjF,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,QAAQ,CAAC,MAAM,GAAG,aAAa;YAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;IACtD,CAAC;IACD,iBAAiB,GAAG,IAAI,CAAC;IACzB,iBAAiB,GAAG,KAAK,CAAC;AAC5B,CAAC;AAED,SAAS,QAAQ;IACf,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,UAAU,CAAC,KAAa,EAAE,MAAc;IAC/C,aAAa,GAAG,KAAK,CAAC;IACtB,cAAc,GAAG,MAAM,CAAC;IACxB,iBAAiB,GAAG,IAAI,CAAC;IACzB,aAAa,GAAG,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,OAAO;IACd,IAAI,CAAC,iBAAiB,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5D,aAAa,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;IACtD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IACtE,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC;IAC7B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,4DAA4D;AAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC;AACnE,MAAM,WAAW,GAAG,GAAG,CAAC;AACxB,oDAAoD;AACpD,MAAM,iBAAiB,GAAG,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;AACtE,IAAI,iBAAiB,GAAG,CAAC,CAAC;AAE1B,SAAS,WAAW;IAClB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtD,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC;QACjC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAAa,EAAE,OAAiB;IACrD,8BAA8B;IAC9B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,KAAK;QAAE,OAAO;IAExE,IAAI,CAAC;QACH,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QAC3D,iBAAiB,EAAE,CAAC;QACpB,IAAI,iBAAiB,GAAG,iBAAiB,EAAE,CAAC;YAC1C,cAAc,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,iCAAiC;IACnC,CAAC;AACH,CAAC;AAED,SAAS,cAAc;IACrB,MAAM,QAAQ,GAAG,GAAG,YAAY,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;IACpE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;QAC1C,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/D,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACnC,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,gCAAgC;QAChC,IAAI,CAAC;YACH,IAAI,UAAU,CAAC,QAAQ,CAAC;gBAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACP,wBAAwB;QAC1B,CAAC;IACH,CAAC;AACH,CAAC;AAsBD,0EAA0E;AAC1E,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,4EAA4E;AAC5E,0EAA0E;AAC1E,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B;;;GAGG;AACH,SAAS,QAAQ,CAAC,IAAY,EAAE,YAAoB;IAClD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,SAAS,GAAG,IAAI,CAAC;IAErB,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,IAAI,SAAS,CAAC,MAAM,IAAI,YAAY,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,MAAM;QACR,CAAC;QAED,IAAI,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACvD,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YACjB,OAAO,GAAG,YAAY,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YACxC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YACxC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,OAAe;IACnD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC;IACzF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAEnC,+CAA+C;IAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EACxB,QAAQ,EACR,OAAO,EACP,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,IAAI,EACf,WAAW,EACX,UAAU,EACV,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,GAAG,EACH,QAAQ,GAAG,EAAE,GACE;IACf,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC;IAC3B,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC5E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAoB,EAAE,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,MAAM,CAAW,WAAW,EAAE,CAAC,CAAC;IACnD,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IAE5B,4DAA4D;IAC5D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IACjC,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAEjC,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,SAAiB,EAAE,EAAE;QACzD,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBACvE,cAAc,CAAC,OAAO,GAAG,CAAC,CAAC;gBAC3B,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;gBACtF,SAAS,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;gBACnC,eAAe,CAAC,KAAK,CAAC,CAAC;gBACvB,OAAO;YACT,CAAC;QACH,CAAC;QACD,eAAe,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,EAAE,CAAC;IACtC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,6BAA6B;IAC7E,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,kCAAkC;IACrF,MAAM,aAAa,GAAG,MAAM,CAAuC,IAAI,CAAC,CAAC;IAEzE,wCAAwC;IACxC,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACzF,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,MAAM,gBAAgB,GAAG,OAAO,CAC9B,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAChE,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CACrC,CAAC;IAEF,uCAAuC;IACvC,SAAS,CAAC,GAAG,EAAE;QACb,YAAY,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,mDAAmD;IACnD,MAAM,iBAAiB,GAAG,OAAO,CAC/B,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EAClE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAC/C,CAAC;IAEF,kEAAkE;IAClE,kBAAkB,EAAE,CAAC;IACrB,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;IAChC,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACpF,sEAAsE;IACtE,MAAM,aAAa,GAAG,CAAC,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IAEnE,mFAAmF;IACnF,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACpC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK,IAAI,aAAa,CAAC,OAAO;YAAE,OAAO;QAC5C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;YAC7B,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC;iBAC1B,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE;gBACxC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO;gBACpC,MAAM,SAAS,GAAsB,EAAE,CAAC;gBACxC,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;oBACjC,IAAI,CAAC;wBACH,SAAS,CAAC,IAAI,CAAC,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC/C,CAAC;oBAAC,MAAM,CAAC;wBACP,yCAAyC;oBAC3C,CAAC;gBACH,CAAC;gBACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;oBAC7C,QAAQ,CAAC,SAAS,CAAC,CAAC;oBACpB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC,CAAC;iBACD,OAAO,CAAC,GAAG,EAAE;gBACZ,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;YAChC,CAAC,CAAC,CAAC;QACP,CAAC,EAAE,GAAG,CAAC,CAAC;QACR,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE3B,qEAAqE;IACrE,0EAA0E;IAC1E,uEAAuE;IACvE,wEAAwE;IACxE,kEAAkE;IAClE,MAAM,EAAE,qBAAqB,EAAE,GAAG,QAAQ,EAEzC,CAAC;IACF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ,IAAI,CAAC,qBAAqB;YAAE,OAAO;QAChD,sEAAsE;QACtE,kCAAkC;QAClC,4CAA4C;QAC5C,MAAM,SAAS,GAAG,uBAAuB,CAAC;QAC1C,MAAM,OAAO,GAAG,CAAC,IAAY,EAAQ,EAAE;YACrC,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,6CAA6C;gBAC7C,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvC,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtE,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;gBAC7B,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;gBAC7B,wEAAwE;gBACxE,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;gBAClE,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC,CAAC;QACF,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3C,OAAO,GAAG,EAAE;YACV,qBAAqB,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAEtC,yCAAyC;IACzC,mEAAmE;IACnE,2EAA2E;IAC3E,MAAM,SAAS,GAAG,MAAM,CAAC;QACvB,KAAK,EAAE,EAAE;QACT,YAAY,EAAE,CAAC,EAAE,CAAa;QAC9B,SAAS,EAAE,CAAC;QACZ,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,KAAK;KACjB,CAAC,CAAC;IAEH,kEAAkE;IAClE,oEAAoE;IACpE,qEAAqE;IACrE,gEAAgE;IAChE,qEAAqE;IACrE,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAElC,uEAAuE;IACvE,wEAAwE;IACxE,yEAAyE;IACzE,0CAA0C;IAC1C,MAAM,YAAY,GAAG,MAAM,CAExB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAEvB,gEAAgE;IAChE,4EAA4E;IAC5E,uEAAuE;IACvE,wDAAwD;IACxD,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEjD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ,IAAI,CAAC,qBAAqB;YAAE,OAAO;QAEhD,mEAAmE;QACnE,mEAAmE;QACnE,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;YAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACrC,CAAC;QAED,iFAAiF;QACjF,wFAAwF;QACxF,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAChE,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAElC,MAAM,YAAY,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC5E,YAAY,CAAC,OAAO,CAAC,QAAQ,GAAG,YAAY,CAAC;QAE7C,2EAA2E;QAC3E,8EAA8E;QAC9E,4EAA4E;QAC5E,IAAI,WAAW,GAAyC,IAAI,CAAC;QAC7D,IAAI,aAAa,GAAG,KAAK,CAAC;QAE1B,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,IAAI,aAAa,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;gBAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACnC,aAAa,GAAG,KAAK,CAAC;YACxB,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,mBAAmB,GAAG,GAAG,EAAE;YAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBACpC,aAAa,GAAG,IAAI,CAAC;YACvB,CAAC;YACD,IAAI,WAAW;gBAAE,YAAY,CAAC,WAAW,CAAC,CAAC;YAC3C,WAAW,GAAG,UAAU,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAC/C,CAAC,CAAC;QAEF,8DAA8D;QAC9D,qBAAqB,CAAC,IAAI,GAAG,CAAC,KAAsB,EAAE,GAAG,IAAW,EAAW,EAAE;YAC/E,IAAI,KAAK,KAAK,OAAO,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACrD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAW,CAAC;gBAC/B,8CAA8C;gBAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;gBAElD,iDAAiD;gBACjD,IAAI,KAA6B,CAAC;gBAClC,cAAc,CAAC,SAAS,GAAG,CAAC,CAAC;gBAC7B,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;oBACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACvC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;oBAEjC,uCAAuC;oBACvC,0DAA0D;oBAC1D,wBAAwB;oBACxB,0CAA0C;oBAC1C,2BAA2B;oBAC3B,2BAA2B;oBAC3B,2BAA2B;oBAC3B,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,CAAC;oBAC3B,MAAM,WAAW,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,uBAAuB;oBACtE,MAAM,QAAQ,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;oBACtC,MAAM,QAAQ,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;oBAEtC,yEAAyE;oBACzE,8DAA8D;oBAC9D,IAAI,QAAQ,EAAE,CAAC;wBACb,mBAAmB,EAAE,CAAC;wBACtB,SAAS;oBACX,CAAC;oBAED,oEAAoE;oBACpE,gEAAgE;oBAChE,2DAA2D;oBAC3D,IAAI,WAAW,EAAE,CAAC;wBAChB,mBAAmB,EAAE,CAAC;wBACtB,SAAS;oBACX,CAAC;oBAED,iEAAiE;oBACjE,IAAI,MAAM,KAAK,CAAC,IAAI,QAAQ,IAAI,CAAC,OAAO;wBAAE,SAAS;oBAEnD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;oBACjC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;wBAAE,SAAS;oBAE1F,MAAM,eAAe,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC;oBAEnD,gEAAgE;oBAChE,uDAAuD;oBACvD,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;wBAC1B,cAAc,CAAC,OAAO,GAAG,OAAO,CAAC;oBACnC,CAAC;oBAED,iEAAiE;oBACjE,6DAA6D;oBAC7D,IAAI,kBAA0B,CAAC;oBAC/B,IAAI,cAAc,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;wBAC/B,MAAM,YAAY,GAAG,cAAc,CAAC,OAAO,GAAG,eAAe,GAAG,CAAC,CAAC;wBAClE,kBAAkB,GAAG,OAAO,GAAG,YAAY,CAAC;wBAC5C,oEAAoE;wBACpE,IAAI,kBAAkB,GAAG,CAAC,EAAE,CAAC;4BAC3B,cAAc,CAAC,OAAO,GAAG,OAAO,GAAG,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;4BACzD,kBAAkB,GAAG,CAAC,CAAC;wBACzB,CAAC;6BAAM,IAAI,kBAAkB,IAAI,eAAe,EAAE,CAAC;4BACjD,cAAc,CAAC,OAAO,GAAG,OAAO,CAAC;4BACjC,kBAAkB,GAAG,eAAe,GAAG,CAAC,CAAC;wBAC3C,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,iEAAiE;wBACjE,iEAAiE;wBACjE,cAAc,CAAC,OAAO,GAAG,OAAO,CAAC;wBACjC,kBAAkB,GAAG,eAAe,GAAG,CAAC,CAAC;oBAC3C,CAAC;oBAED,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;wBAC5B,OAAO;wBACP,OAAO;wBACP,WAAW,EAAE,cAAc,CAAC,OAAO;wBACnC,kBAAkB;wBAClB,eAAe;qBAChB,CAAC,CAAC;oBAEH,uBAAuB;oBACvB,IAAI,kBAAkB,GAAG,CAAC;wBAAE,kBAAkB,GAAG,CAAC,CAAC;oBACnD,IAAI,kBAAkB,IAAI,eAAe;wBAAE,kBAAkB,GAAG,eAAe,GAAG,CAAC,CAAC;oBAEpF,0EAA0E;oBAC1E,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;oBAChC,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;oBACrD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;oBAExD,0DAA0D;oBAC1D,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;oBAC/D,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAClC,IAAI,UAAU,GAAG,CAAC,CAAC;oBACnB,IAAI,OAAO,GAAG,CAAC,CAAC;oBAChB,IAAI,KAAK,GAAG,KAAK,CAAC;oBAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC1C,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;wBAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBACjE,IAAI,WAAW,GAAG,CAAC,CAAC;wBACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;4BACxC,IAAI,OAAO,KAAK,EAAE,GAAG,kBAAkB,EAAE,CAAC;gCACxC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;gCAClD,kBAAkB,CAAC,IAAI,CAAC,CAAC;gCACzB,KAAK,GAAG,IAAI,CAAC;gCACb,MAAM;4BACR,CAAC;4BACD,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;4BAChC,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;4BACjC,oDAAoD;4BACpD,IACE,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC;gCACtB,WAAW,GAAG,QAAQ,CAAC,MAAM;gCAC7B,QAAQ,CAAC,WAAW,CAAC,KAAK,GAAG,EAC7B,CAAC;gCACD,UAAU,EAAE,CAAC;gCACb,WAAW,EAAE,CAAC;4BAChB,CAAC;4BACD,OAAO,EAAE,CAAC;wBACZ,CAAC;wBACD,IAAI,KAAK;4BAAE,MAAM;wBACjB,UAAU,EAAE,CAAC,CAAC,UAAU;oBAC1B,CAAC;gBACH,CAAC;gBAED,iDAAiD;gBACjD,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACzC,CAAC;gBACD,OAAO,IAAI,CAAC,CAAC,qBAAqB;YACpC,CAAC;YACD,OAAO,YAAY,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC;QAEF,OAAO,GAAG,EAAE;YACV,IAAI,WAAW;gBAAE,YAAY,CAAC,WAAW,CAAC,CAAC;YAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACpC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YAC9C,wBAAwB;YACxB,IAAI,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAClC,qBAAqB,CAAC,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAC3D,YAAY,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAEtC,uEAAuE;IACvE,0EAA0E;IAC1E,4BAA4B;IAC5B,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACjC,IAAI,OAAO,KAAK,eAAe,CAAC,OAAO,EAAE,CAAC;YACxC,eAAe,CAAC,OAAO,GAAG,OAAO,CAAC;YAClC,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEtB,uEAAuE;IACvE,0CAA0C;IAC1C,MAAM,eAAe,GAAG,GAAmD,EAAE;QAC3E,MAAM,GAAG,GAAG,iBAAiB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC;QACzB,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAClF,CAAC,CAAC;IAEF,mEAAmE;IACnE,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,QAAQ,CAAC,EAAE,CAAC,CAAC;QACb,SAAS,CAAC,CAAC,CAAC,CAAC;QACb,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,SAAS,CAAC,EAAE,CAAC,CAAC;QACd,YAAY,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC,CAAC;IAEF,QAAQ,CACN,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACb,6EAA6E;QAC7E,IAAI,qBAAqB,CAAC,KAAK,CAAC;YAAE,OAAO;QAEzC,iDAAiD;QACjD,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,CAAC,CAAC;QAChF,IAAI,CAAC,SAAS;YAAE,iBAAiB,GAAG,KAAK,CAAC;QAC1C,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,CAAC,CAAC;QAC7E,IAAI,CAAC,SAAS;YAAE,iBAAiB,GAAG,KAAK,CAAC;QAE1C,4EAA4E;QAC5E,IAAI,eAAe,CAAC,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YACrE,eAAe,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YAC7B,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;QACxB,CAAC;QAED,wDAAwD;QACxD,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3C,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;gBAC9B,cAAc,CAAC,OAAO,GAAG,MAAM,CAAC;gBAChC,aAAa,CAAC,IAAI,CAAC,CAAC;gBACpB,cAAc,CAAC,EAAE,CAAC,CAAC;gBACnB,eAAe,CAAC,KAAK,CAAC,CAAC;gBACvB,cAAc,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,sCAAsC;gBACtC,aAAa,CAAC,WAAW,EAAE,cAAc,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YACzD,CAAC;YACD,OAAO;QACT,CAAC;QAED,uDAAuD;QACvD,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,CAAC,EAAE,CAAC;gBAC9C,4BAA4B;gBAC5B,aAAa,CAAC,KAAK,CAAC,CAAC;gBACrB,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAChC,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBAClC,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,0BAA0B;gBAC1B,aAAa,CAAC,KAAK,CAAC,CAAC;gBACrB,OAAO,CAAC,yCAAyC;YACnD,CAAC;YACD,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAChC,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC1C,cAAc,CAAC,QAAQ,CAAC,CAAC;gBACzB,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,aAAa,CAAC,KAAK,CAAC,CAAC;oBACrB,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;oBAChC,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBACpC,CAAC;qBAAM,CAAC;oBACN,cAAc,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC;oBACnD,aAAa,CAAC,QAAQ,EAAE,cAAc,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;gBACtD,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IACE,GAAG,CAAC,UAAU;gBACd,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,CAAC;gBAC3B,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,CAAC;gBAC3B,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,CAAC,EAC3B,CAAC;gBACD,wCAAwC;gBACxC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,6CAA6C;YAC7C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACjD,MAAM,QAAQ,GAAG,WAAW,GAAG,KAAK,CAAC;gBACrC,cAAc,CAAC,QAAQ,CAAC,CAAC;gBACzB,cAAc,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC;gBACnD,aAAa,CAAC,QAAQ,EAAE,cAAc,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;gBACpD,OAAO;YACT,CAAC;YACD,OAAO,CAAC,sCAAsC;QAChD,CAAC;QAED,kEAAkE;QAClE,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAC9B,aAAa,EAAE,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,gCAAgC;QAChC,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAC9B,cAAc,EAAE,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,2BAA2B;QAC3B,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAC9B,gBAAgB,EAAE,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC9C,OAAO,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YACD,8DAA8D;YAC9D,6DAA6D;QAC/D,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,sDAAsD;YACtD,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;YAC9B,IAAI,GAAG,EAAE,CAAC;gBACR,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC1F,SAAS,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC7D,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,CAAC;YACD,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,8DAA8D;YAC9D,IAAI,WAAW,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACpF,MAAM,GAAG,GAAG,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAChC,8BAA8B;gBAC9B,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC;gBAChC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG;oBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClD,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBACzB,eAAe,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;gBAC7B,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAClB,UAAU,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,OAAO,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC;oBAChC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,OAAO;wBAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC1D,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC/B,CAAC;gBACD,eAAe,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;gBAC7B,2CAA2C;gBAC3C,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC;gBAC5D,MAAM,KAAK,GACT,SAAS,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACnC,CAAC,CAAC;wBACE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC;wBAC9C,MAAM,EAAE,SAAS,CAAC,MAAM;wBACxB,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM;qBACxC;oBACH,CAAC,CAAC,SAAS,CAAC;gBAChB,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;gBACtC,UAAU,EAAE,CAAC;YACf,CAAC;YACD,OAAO;QACT,CAAC;QAED,sCAAsC;QACtC,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAC9B,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC/B,IAAI,GAAG;oBAAE,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAC9B,IAAI,KAAK,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,UAAU,EAAE,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,kDAAkD;QAClD,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;YAC9B,IAAI,GAAG,EAAE,CAAC;gBACR,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACvB,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC3B,CAAC;iBAAM,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACjD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC7C,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAC5B,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBACxD,SAAS,CAAC,QAAQ,CAAC,CAAC;YACtB,CAAC;YACD,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QAED,+DAA+D;QAC/D,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,MAAM,EAAE,CAAC;gBACX,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAC3B,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YACnC,CAAC;YACD,OAAO;QACT,CAAC;QAED,iEAAiE;QACjE,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YACtC,IAAI,MAAM,EAAE,CAAC;gBACX,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAC5B,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC9B,SAAS,CAAC,CAAC,CAAC,CAAC;YACf,CAAC;YACD,OAAO;QACT,CAAC;QAED,+BAA+B;QAC/B,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;YACxB,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,KAAK,GAAG,MAAM,CAAC;gBACrB,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC9D,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC;YACD,OAAO;QACT,CAAC;QAED,yDAAyD;QACzD,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;YACtB,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;gBACzC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;gBAClD,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;gBACpC,SAAS,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC;YACD,OAAO;QACT,CAAC;QAED,uCAAuC;QACvC,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAC9B,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACd,IAAI,eAAe,KAAK,IAAI;oBAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;YACD,SAAS,CAAC,CAAC,CAAC,CAAC;YACb,OAAO;QACT,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAC9B,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACd,IAAI,eAAe,KAAK,IAAI;oBAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;YACD,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACxB,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAChC,4CAA4C;YAC5C,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;YAC9B,IAAI,GAAG,EAAE,CAAC;gBACR,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACvB,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACzB,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBACzB,OAAO;YACT,CAAC;YACD,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;gBACf,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC1D,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,CAAC;iBAAM,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,CAAC;YACD,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,qCAAqC;YACrC,IAAI,WAAW,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/C,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACxC,OAAO;YACT,CAAC;YAED,yDAAyD;YACzD,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBACtC,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC3C,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;oBACrB,8CAA8C;oBAC9C,MAAM,GAAG,GAAG,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC;oBACnC,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;oBAC9D,MAAM,WAAW,GAAG,SAAS,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;oBACpD,SAAS,CAAC,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;oBAC1D,kBAAkB,CAAC,IAAI,CAAC,CAAC;oBACzB,OAAO;gBACT,CAAC;gBACD,wDAAwD;YAC1D,CAAC;YAED,wEAAwE;YACxE,IAAI,KAAK,IAAI,eAAe,CAAC,OAAO,KAAK,CAAC,CAAC;gBAAE,OAAO;YAEpD,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzB,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;YACnC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAEjC,8CAA8C;YAC9C,IAAI,eAAe,CAAC,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;gBACnC,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;YAC3B,CAAC;YAED,MAAM,QAAQ,GACZ,eAAe,CAAC,OAAO,KAAK,CAAC,CAAC;gBAC5B,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;gBACpB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YAC/C,eAAe,CAAC,OAAO,GAAG,QAAQ,CAAC;YACnC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5B,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAClB,qCAAqC;YACrC,IAAI,WAAW,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/C,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAClE,OAAO;YACT,CAAC;YAED,2DAA2D;YAC3D,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBACtC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAClC,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACxC,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;oBACvB,0CAA0C;oBAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC/C,MAAM,GAAG,GAAG,MAAM,GAAG,SAAS,CAAC;oBAC/B,MAAM,aAAa,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC;oBAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;oBACvD,MAAM,WAAW,GAAG,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,aAAa,CAAC;oBACtF,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;oBACtD,kBAAkB,CAAC,IAAI,CAAC,CAAC;oBACzB,OAAO;gBACT,CAAC;gBACD,wEAAwE;gBACxE,qCAAqC;gBACrC,IAAI,WAAW;oBAAE,WAAW,EAAE,CAAC;gBAC/B,OAAO;YACT,CAAC;YAED,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzB,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;YACnC,IAAI,eAAe,CAAC,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;gBACnC,IAAI,WAAW;oBAAE,WAAW,EAAE,CAAC;gBAC/B,OAAO;YACT,CAAC;YACD,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,GAAG,CAAC,CAAC;YAC7C,IAAI,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC/B,eAAe,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;gBAC7B,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC3B,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACnC,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,eAAe,CAAC,OAAO,GAAG,QAAQ,CAAC;gBACnC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC5B,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,kEAAkE;YAClE,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;gBAC7B,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBACzB,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAChC,OAAO;YACT,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,UAAU,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC;gBACnE,UAAU,EAAE,CAAC;YACf,CAAC;YACD,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACzB,UAAU,EAAE,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QAED,oCAAoC;QACpC,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,IAAI,WAAW,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACpF,MAAM,GAAG,GAAG,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAChC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACd,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACtB,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;YACD,OAAO;QACT,CAAC;QAED,wEAAwE;QACxE,wEAAwE;QACxE,IAAI,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,iBAAiB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;gBACvD,IAAI,GAAG;oBAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3B,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,iBAAiB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;gBACvD,IAAI,GAAG;oBAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3B,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO;QACT,CAAC;QAED,gEAAgE;QAChE,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAClB,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACd,IAAI,eAAe,KAAK,IAAI;oBAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAC3D,CAAC;iBAAM,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;gBACpC,sCAAsC;gBACtC,MAAM,GAAG,GAAG,iBAAiB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;gBACvD,IAAI,GAAG;oBAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3B,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBACzB,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;gBACb,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;YAC7C,CAAC;iBAAM,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,KAAK;gBAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzC,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACnB,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACd,IAAI,eAAe,KAAK,IAAI;oBAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAC3D,CAAC;iBAAM,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;gBACpC,uCAAuC;gBACvC,MAAM,GAAG,GAAG,iBAAiB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;gBACvD,IAAI,GAAG;oBAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3B,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBACzB,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;gBACb,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;YAC7C,CAAC;iBAAM,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,KAAK;gBAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzC,OAAO;QACT,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAEjD,0DAA0D;YAC1D,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;YAC9B,IAAI,GAAG,EAAE,CAAC;gBACR,QAAQ,CACN,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CACtF,CAAC;gBACF,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC;gBACjD,SAAS,CAAC,MAAM,CAAC,CAAC;gBAClB,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC;gBAC3B,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC;gBAC9B,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC7D,SAAS,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;gBACnC,SAAS,CAAC,OAAO,GAAG,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC;YAC9C,CAAC;YAED,6DAA6D;YAC7D,8DAA8D;YAC9D,qDAAqD;YACrD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC;gBAC/E,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE;oBACpB,IAAI,CAAC,IAAI;wBAAE,cAAc,CAAC,UAAU,CAAC,CAAC;oBACtC,OAAO,IAAI,GAAG,UAAU,CAAC;gBAC3B,CAAC,CAAC,CAAC;gBACH,IAAI,aAAa,CAAC,OAAO;oBAAE,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC/D,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;oBACtC,2EAA2E;oBAC3E,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACjD,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC/B,CAAC,EAAE,GAAG,CAAC,CAAC;YACV,CAAC;QACH,CAAC;IACH,CAAC,EACD,EAAE,QAAQ,EAAE,CACb,CAAC;IAEF,yEAAyE;IACzE,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC;IAEzF,qDAAqD;IACrD,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE;QAClC,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YACjD,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC,+CAA+C;YACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBAClC,MAAM,SAAS,GAAG,GAAG,CAAC;gBACtB,MAAM,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC;gBAC9B,IAAI,MAAM,IAAI,SAAS,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7C,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,CAAC;gBAC5D,CAAC;gBACD,GAAG,IAAI,OAAO,CAAC;gBACf,WAAW,IAAI,OAAO,CAAC;gBACvB,oDAAoD;gBACpD,IACE,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC;oBACtB,WAAW,GAAG,QAAQ,CAAC,MAAM;oBAC7B,QAAQ,CAAC,WAAW,CAAC,KAAK,GAAG,EAC7B,CAAC;oBACD,GAAG,EAAE,CAAC;oBACN,WAAW,EAAE,CAAC;gBAChB,CAAC;gBACD,eAAe,EAAE,CAAC;YACpB,CAAC;YACD,GAAG,EAAE,CAAC,CAAC,oBAAoB;QAC7B,CAAC;QACD,0BAA0B;QAC1B,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC;IACjG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;IAE/C,uCAAuC;IACvC,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC;IACtC,IAAI,SAAiB,CAAC;IACtB,IAAI,UAAU,IAAI,iBAAiB,EAAE,CAAC;QACpC,SAAS,GAAG,CAAC,CAAC;IAChB,CAAC;SAAM,CAAC;QACN,oCAAoC;QACpC,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC;QACvC,2EAA2E;QAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,iBAAiB,GAAG,CAAC,CAAC,CAAC;QACnE,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,iBAAiB,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,GAAG,iBAAiB,CAAC,CAAC;IACjF,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,GAAG,SAAS,CAAC;IAE1D,kDAAkD;IAClD,SAAS,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;IAChC,SAAS,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;IAC9C,SAAS,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IACxC,SAAS,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;IAC9C,SAAS,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;IACpC,SAAS,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAEhD,+EAA+E;IAC/E,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACxC,mFAAmF;IACnF,MAAM,eAAe,GAAG,SAAS;QAC/B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC,CAAC,KAAK,CAAC,MAAM;YACd,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QACtB,CAAC,CAAC,CAAC,CAAC;IAEN,sDAAsD;IACtD,MAAM,SAAS,GAAG,iBAAiB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAE7D,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,KAAK,EAAE,OAAO,aACxC,MAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,WAAW,EAAC,OAAO,EACnB,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC,EACtE,WAAW,EAAE,CAAC,EACd,YAAY,EAAE,CAAC,aAEd,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CACpB,KAAC,GAAG,cACF,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,YACtB,MAAM;iCACJ,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CACd,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CACtE;iCACA,IAAI,CAAC,GAAG,CAAC,GACP,GACH,CACP,EACA,CAAC,GAAG,EAAE;wBACL,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;4BACvB,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;4BACpD,MAAM,SAAS,GAAG,iBAAiB,SAAS,CAAC,MAAM,KAAK,cAAc,SAAS,CAAC;4BAChF,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC;4BAClC,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;4BAChD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,GAAG,QAAQ,CAAC,CAAC;4BACvD,MAAM,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,CAAC;4BAExD,oCAAoC;4BACpC,IAAI,eAAuB,CAAC;4BAC5B,IAAI,MAAM,IAAI,WAAW,EAAE,CAAC;gCAC1B,eAAe,GAAG,MAAM,CAAC;4BAC3B,CAAC;iCAAM,IAAI,MAAM,IAAI,WAAW,GAAG,QAAQ,EAAE,CAAC;gCAC5C,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC;4BACzD,CAAC;iCAAM,CAAC;gCACN,eAAe,GAAG,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC;4BACnD,CAAC;4BAED,OAAO,CACL,MAAC,GAAG,eACD,UAAU,CAAC,CAAC,CAAC,CACZ,MAAC,IAAI,IAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,mBAC9D,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,EACtC,IAAI,WAAW,KAAK,IAChB,CACR,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,kBAC5D,MAAM,GACF,CACR,EACD,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,YAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,GAAQ,EACtE,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,YAC5C,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,GACnE,EACN,eAAe,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,IAAI,CAC1C,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,YAAG,UAAU,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC,GAAQ,CACxE,IACG,CACP,CAAC;wBACJ,CAAC;wBAED,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;4BAClC,MAAM,UAAU,GAAG,CAAC,KAAK,iBAAiB,CAAC;4BAC3C,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC;4BAE/B,yEAAyE;4BACzE,IAAI,eAAe,GAAG,CAAC,CAAC;4BACxB,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4BACpC,IAAI,MAAM,GAAG,CAAC,CAAC;4BACf,IAAI,OAAO,GAAG,CAAC,CAAC;4BAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,IAAI,OAAO,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gCACtE,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gCAC9B,MAAM,EAAE,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;gCAC9D,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gCACvC,IAAI,WAAW,GAAG,CAAC,CAAC;gCACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oCACpE,IAAI,OAAO,KAAK,SAAS,GAAG,CAAC,EAAE,CAAC;wCAC9B,eAAe,GAAG,MAAM,CAAC;oCAC3B,CAAC;oCACD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oCAC5B,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oCACjC,oDAAoD;oCACpD,IACE,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC;wCACtB,WAAW,GAAG,QAAQ,CAAC,MAAM;wCAC7B,QAAQ,CAAC,WAAW,CAAC,KAAK,GAAG,EAC7B,CAAC;wCACD,MAAM,EAAE,CAAC;wCACT,WAAW,EAAE,CAAC;oCAChB,CAAC;oCACD,OAAO,EAAE,CAAC;gCACZ,CAAC;gCACD,MAAM,EAAE,CAAC,CAAC,UAAU;4BACtB,CAAC;4BAED,MAAM,aAAa,GAAG,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC;4BAEpD,+EAA+E;4BAC/E,MAAM,aAAa,GAAG,CACpB,IAAY,EACZ,SAAiB,EACjB,IAA4B,EAC5B,EAAE;gCACF,IAAI,CAAC,IAAI;oCAAE,OAAO,IAAI,CAAC;gCACvB,MAAM,KAAK,GAAG,SAAS,IAAI,SAAS,GAAG,eAAe,CAAC;gCACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAChF,MAAM,GAAG,GAAG,IAAI,EAAE,OAAO,IAAI,KAAK,CAAC;gCAEnC,IAAI,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oCAC5B,OAAO,CACL,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,YAAY,EAAE,IAAI,QAAC,OAAO,EAAE,GAAG,YAC/C,IAAI,GACA,CACR,CAAC;gCACJ,CAAC;gCACD,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;oCACjB,OAAO,CACL,8BACE,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,YAAY,EAAE,IAAI,QAAC,OAAO,EAAE,GAAG,YAC/C,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GACnB,EACP,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,YAClC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAChB,IACN,CACJ,CAAC;gCACJ,CAAC;gCACD,OAAO,CACL,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,YAClC,IAAI,GACA,CACR,CAAC;4BACJ,CAAC,CAAC;4BAEF,mEAAmE;4BACnE,iEAAiE;4BACjE,MAAM,QAAQ,GAAsB,EAAE,CAAC;4BACvC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,yBAAyB;4BAEtC,oEAAoE;4BACpE,MAAM,aAAa,GAAG,SAAS;gCAC7B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC;gCAC7C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;4BAChB,MAAM,WAAW,GAAG,SAAS;gCAC3B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC;gCACvD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;4BAChB,MAAM,YAAY,GAChB,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,aAAa,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC;4BAEvF,IAAI,YAAY,EAAE,CAAC;gCACjB,wBAAwB;gCACxB,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;oCACtB,QAAQ,CAAC,IAAI,CACX,KAAC,KAAK,CAAC,QAAQ,cACZ,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,eAAe,CAAC,IAD3C,KAAK,CAER,CAClB,CAAC;oCACF,GAAG,GAAG,aAAa,CAAC;gCACtB,CAAC;gCAED,yEAAyE;gCACzE,IAAI,UAAU,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,GAAG,WAAW,EAAE,CAAC;oCAC5D,iCAAiC;oCACjC,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;wCACd,QAAQ,CAAC,IAAI,CACX,KAAC,KAAK,CAAC,QAAQ,cACZ,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,eAAe,GAAG,GAAG,EAAE;gDAC1D,OAAO,EAAE,IAAI;6CACd,CAAC,IAHgB,YAAY,CAIf,CAClB,CAAC;oCACJ,CAAC;oCACD,6CAA6C;oCAC7C,MAAM,UAAU,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;oCACvD,MAAM,SAAS,GAAG,eAAe,GAAG,GAAG,CAAC;oCACxC,MAAM,QAAQ,GAAG,SAAS,IAAI,SAAS,GAAG,eAAe,CAAC;oCAC1D,QAAQ,CAAC,IAAI,CACX,KAAC,IAAI,IAEH,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EACjD,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,aAAa,YAErB,UAAU,IALP,QAAQ,CAMP,CACR,CAAC;oCACF,MAAM,cAAc,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oCACzD,IAAI,cAAc,GAAG,WAAW,EAAE,CAAC;wCACjC,QAAQ,CAAC,IAAI,CACX,KAAC,KAAK,CAAC,QAAQ,cACZ,aAAa,CACZ,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,WAAW,CAAC,EACvC,eAAe,GAAG,cAAc,EAChC,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,IALiB,WAAW,CAMd,CAClB,CAAC;oCACJ,CAAC;oCACD,GAAG,GAAG,WAAW,CAAC;gCACpB,CAAC;qCAAM,CAAC;oCACN,yEAAyE;oCACzE,QAAQ,CAAC,IAAI,CACX,KAAC,KAAK,CAAC,QAAQ,cACZ,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,eAAe,GAAG,GAAG,EAAE;4CAClE,OAAO,EAAE,IAAI;yCACd,CAAC,IAHgB,KAAK,CAIR,CAClB,CAAC;oCACF,GAAG,GAAG,WAAW,CAAC;gCACpB,CAAC;gCAED,sCAAsC;gCACtC,IAAI,UAAU,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;oCACrC,wCAAwC;oCACxC,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;wCACd,QAAQ,CAAC,IAAI,CACX,KAAC,KAAK,CAAC,QAAQ,cACZ,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,eAAe,GAAG,GAAG,CAAC,IADzC,KAAK,CAER,CAClB,CAAC;oCACJ,CAAC;oCACD,MAAM,UAAU,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;oCACvD,MAAM,SAAS,GAAG,eAAe,GAAG,GAAG,CAAC;oCACxC,MAAM,QAAQ,GAAG,SAAS,IAAI,SAAS,GAAG,eAAe,CAAC;oCAC1D,QAAQ,CAAC,IAAI,CACX,KAAC,IAAI,IAEH,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EACjD,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,aAAa,YAErB,UAAU,IALP,QAAQ,CAMP,CACR,CAAC;oCACF,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAC1C,CAAC;gCAED,oCAAoC;gCACpC,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;oCACtB,QAAQ,CAAC,IAAI,CACX,KAAC,KAAK,CAAC,QAAQ,cACZ,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,eAAe,GAAG,GAAG,CAAC,IADpC,MAAM,CAET,CAClB,CAAC;gCACJ,CAAC;4BACH,CAAC;iCAAM,CAAC;gCACN,6DAA6D;gCAC7D,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gCACtD,MAAM,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gCAChF,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gCAC9E,MAAM,gBAAgB,GAAG,eAAe,GAAG,GAAG,CAAC;gCAC/C,MAAM,eAAe,GAAG,SAAS,IAAI,gBAAgB,GAAG,eAAe,CAAC;gCAExE,QAAQ,CAAC,IAAI,CACX,KAAC,KAAK,CAAC,QAAQ,cACZ,aAAa,CAAC,MAAM,EAAE,eAAe,CAAC,IADrB,QAAQ,CAEX,CAClB,CAAC;gCACF,IAAI,UAAU,EAAE,CAAC;oCACf,QAAQ,CAAC,IAAI,CACX,KAAC,IAAI,IAEH,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EACxD,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,aAAa,YAErB,eAAe,IALZ,QAAQ,CAMP,CACR,CAAC;gCACJ,CAAC;gCACD,IAAI,KAAK,EAAE,CAAC;oCACV,QAAQ,CAAC,IAAI,CACX,KAAC,KAAK,CAAC,QAAQ,cACZ,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IADxD,OAAO,CAEV,CAClB,CAAC;gCACJ,CAAC;4BACH,CAAC;4BAED,OAAO,CACL,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,kBAC5D,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GACnB,EACN,QAAQ,KAJD,CAAC,CAKL,CACP,CAAC;wBACJ,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,EAAE,IACA,EAEL,WAAW,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,CAC7C,KAAC,gBAAgB,IAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,GAAI,CACxF,IACG,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"InputArea.js","sourceRoot":"","sources":["../../../src/ui/components/InputArea.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ export declare const IMAGE_EXTENSIONS: Set<string>;
2
+ export declare const IMAGE_MEDIA_TYPES: Record<string, string>;
1
3
  export interface ImageAttachment {
2
4
  kind: "image" | "text";
3
5
  fileName: string;
@@ -20,6 +22,15 @@ export declare function extractImagePaths(text: string, cwd: string): Promise<{
20
22
  imagePaths: string[];
21
23
  cleanText: string;
22
24
  }>;
25
+ /**
26
+ * Downscale an image buffer so it fits within both MAX_IMAGE_DIMENSION per side
27
+ * (Anthropic's hard pixel cap for many-image requests) and MAX_IMAGE_BYTES.
28
+ * Preserves format (PNG→PNG, JPEG→JPEG, etc.) and aspect ratio.
29
+ */
30
+ export declare function shrinkToFit(buffer: Buffer, mediaType: string): Promise<{
31
+ buffer: Buffer;
32
+ mediaType: string;
33
+ }>;
23
34
  /**
24
35
  * Read a file and return an attachment (base64 for images, raw text for text files).
25
36
  *
@@ -1 +1 @@
1
- {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../src/utils/image.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,kEAAkE;AAClE,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGrD;AAED,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAG1D;AAyCD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CA2BtD;AAqED;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAyC9E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAoDnE"}
1
+ {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../src/utils/image.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,gBAAgB,aAA8D,CAAC;AAI5F,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAOpD,CAAC;AAKF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,kEAAkE;AAClE,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGrD;AAED,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAG1D;AAyCD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CA2BtD;AAWD;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAwEhD;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAyC9E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAoDnE"}