@corenel/web-ui 0.5.8 → 0.5.10

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.
@@ -26,7 +26,7 @@ export interface SlashCommand {
26
26
  section?: string;
27
27
  icon?: React.ReactNode;
28
28
  }
29
- export declare function Composer({ value, onChange, onSend, onStop, running, placeholder, runHint, mode, onModeChange, modes, chips, onRemoveChip, onAddContext, slashCommands, onPickSlash, attachments, onAttach, onRemoveAttachment, onImageClick, inPrice, showContext, onDropFiles, rightSlot, history, sendLater, pending, onQueue, onInject, onRemovePending, onEditPending, sendLabel, ariaLabel, mentionables, interim, leadSlot, dictating, }: {
29
+ export declare function Composer({ value, onChange, onSend, onStop, running, placeholder, runHint, mode, onModeChange, modes, chips, onRemoveChip, onAddContext, slashCommands, onPickSlash, attachments, onAttach, onRemoveAttachment, onImageClick, inPrice, showContext, onDropFiles, rightSlot, history, sendLater, pending, onQueue, onInject, onRemovePending, onEditPending, sendLabel, ariaLabel, mentionables, leadSlot, dictating, }: {
30
30
  value: string;
31
31
  onChange: (v: string) => void;
32
32
  onSend: () => void;
@@ -112,24 +112,24 @@ export declare function Composer({ value, onChange, onSend, onStop, running, pla
112
112
  * passes false. Defaults true, which is exactly what every existing caller
113
113
  * was already saying. */
114
114
  runHint?: boolean;
115
- /** Unstable speech-recognition text, shown while dictation is running.
115
+ /** The mic is live, and the recogniser is writing this box.
116
116
  *
117
- * DELIBERATELY NOT PART OF THE DRAFT. A streaming recogniser revises its
118
- * guesses as more audio arrives ("hello wor" -> "hello world"), so writing
119
- * them into `value` would rewrite the textarea under the user -- including
120
- * over words they had started editing by hand, and including anything they
121
- * typed while still speaking. It renders as its own transient line, it does
122
- * not arm Send, and only committed text reaches `value`, through the ordinary
123
- * onChange. Omitted = no line, which is every surface without dictation. */
124
- interim?: string;
125
- /** Swap the text box for the dictation surface.
117
+ * There is no separate dictation surface any more, and no separate interim
118
+ * line: speech lands in `value` through the ordinary onChange, so you watch
119
+ * the words arrive in the box you were going to send from. This flag is what
120
+ * makes that safe rather than chaotic.
126
121
  *
127
- * THE SAME COMPOSER, not a replacement panel: same shell, same footprint, same
128
- * bottom row, so nothing around it moves when the mode flips. What changes is
129
- * what the box is FOR -- it stops being something you type into and becomes
130
- * something you watch fill up, with committed speech in normal weight and the
131
- * live guess trailing it as provisional. Stopping swaps back, and the text is
132
- * sitting in the ordinary composer ready to edit and send. */
122
+ * WHILE IT IS TRUE THE BOX IS NOT YOURS. The recogniser re-transcribes the
123
+ * whole utterance each pass, so `value` is REWRITTEN roughly once a second --
124
+ * not extended. Anything typed into it would be overwritten a moment later by
125
+ * a guess that knows nothing about it, and the caret would jump on every pass.
126
+ * So the textarea is readOnly for exactly as long as the mic is hot.
127
+ *
128
+ * It also disarms Send (and Queue). A guess mid-utterance is text the engine
129
+ * has not committed to and the user has not seen settle; sending it is the one
130
+ * mistake this arrangement makes newly possible, so the send path is closed
131
+ * until the mic stops. Stopping re-arms everything with the text already in
132
+ * place, ready to edit and send. */
133
133
  dictating?: boolean;
134
134
  /** Rendered FIRST in the bottom row — the one position in this composer that
135
135
  * nothing can displace.
@@ -1 +1 @@
1
- {"version":3,"file":"Composer.d.ts","sourceRoot":"","sources":["../Composer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Composer.d.ts","sourceRoot":"","sources":["../Composer.tsx"],"names":[],"mappings":"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"}
package/dist/Composer.js CHANGED
@@ -30,10 +30,24 @@ const TEXTAREA_MAX_H = 220;
30
30
  * addressing "the agent" -- both are overridden with `placeholder`. */
31
31
  const LEAD_WITH_PASTE = 'Ask the agent… · paste a screenshot';
32
32
  const LEAD_PLAIN = 'Ask the agent…';
33
+ /* Shown while the mic is hot and nothing has been heard yet. It replaces the
34
+ usual invitation outright, keyboard hints included: those keys are disarmed
35
+ for as long as dictation is running. */
36
+ const LEAD_LISTENING = 'Listening… what you say appears here.';
33
37
  // Touch devices get a placeholder without the keyboard-shortcut hints (⏎/⇧⏎/⌘⏎).
34
38
  // Primary-pointer coarseness doesn't change at runtime, so a module const is enough
35
39
  // (same pattern as editor/inlineAssist).
36
40
  const COARSE_POINTER = typeof matchMedia !== 'undefined' && matchMedia('(pointer: coarse)').matches;
41
+ /** Live coarse-pointer check for the Enter-key decision below.
42
+ *
43
+ * NOT the module constant above: that one is read once, which is fine for a
44
+ * placeholder string painted at mount, but the Enter behaviour must not be
45
+ * wrong for the rest of a session just because it was decided before a
46
+ * Bluetooth mouse paired (or before jsdom's stub was installed in a test).
47
+ * Re-checked on every keydown. Treats a missing matchMedia as "not coarse". */
48
+ function isCoarsePointer() {
49
+ return typeof matchMedia !== 'undefined' && matchMedia('(pointer: coarse)').matches;
50
+ }
37
51
  /** Group commands by section, preserving first-seen order; '' sections render unlabeled. */
38
52
  function groupBySection(cmds) {
39
53
  const order = [];
@@ -48,7 +62,7 @@ function groupBySection(cmds) {
48
62
  }
49
63
  return order.map((s) => [s, map.get(s)]);
50
64
  }
51
- export function Composer({ value, onChange, onSend, onStop, running, placeholder, runHint = true, mode, onModeChange, modes = DEFAULT_MODES, chips = [], onRemoveChip, onAddContext, slashCommands = [], onPickSlash, attachments = [], onAttach, onRemoveAttachment, onImageClick, inPrice, showContext, onDropFiles, rightSlot, history, sendLater, pending, onQueue, onInject, onRemovePending, onEditPending, sendLabel = 'Send', ariaLabel, mentionables = [], interim, leadSlot, dictating = false, }) {
65
+ export function Composer({ value, onChange, onSend, onStop, running, placeholder, runHint = true, mode, onModeChange, modes = DEFAULT_MODES, chips = [], onRemoveChip, onAddContext, slashCommands = [], onPickSlash, attachments = [], onAttach, onRemoveAttachment, onImageClick, inPrice, showContext, onDropFiles, rightSlot, history, sendLater, pending, onQueue, onInject, onRemovePending, onEditPending, sendLabel = 'Send', ariaLabel, mentionables = [], leadSlot, dictating = false, }) {
52
66
  // Named because it is used to decide which LINE the caret sits on, which is
53
67
  // the whole of the Up/Down rule below.
54
68
  const NEWLINE = '\n';
@@ -77,8 +91,12 @@ export function Composer({ value, onChange, onSend, onStop, running, placeholder
77
91
  const el = textareaRef.current;
78
92
  if (!el)
79
93
  return;
94
+ // Same effective cap as the CSS `maxHeight: min(220px, 30vh)` below -- a
95
+ // bare TEXTAREA_MAX_H here would let the element autosize past the CSS
96
+ // cap on a short viewport and reintroduce the composer-eats-the-screen bug.
97
+ const cap = typeof window !== 'undefined' ? Math.min(TEXTAREA_MAX_H, window.innerHeight * 0.3) : TEXTAREA_MAX_H;
80
98
  el.style.height = 'auto';
81
- el.style.height = `${Math.min(el.scrollHeight, TEXTAREA_MAX_H)}px`;
99
+ el.style.height = `${Math.min(el.scrollHeight, cap)}px`;
82
100
  }, [value]);
83
101
  /* No handler, no menu: a host that supplies commands it cannot act on would
84
102
  * otherwise get an Enter key that opens a menu and then swallows the
@@ -104,7 +122,10 @@ export function Composer({ value, onChange, onSend, onStop, running, placeholder
104
122
  ? slashCommands.filter((c) => c.name.startsWith(value.slice(1).toLowerCase()))
105
123
  : [];
106
124
  useEffect(() => { setSlashActive(0); setMentionActive(0); }, [value]);
107
- const canSend = value.trim().length > 0 || attachments.length > 0;
125
+ /* Nothing commits the draft while the mic is hot. `value` is a guess being
126
+ rewritten once a second, so Send, Enter, Queue and Alt+Enter-inject all read
127
+ this and all stay shut until dictation stops. */
128
+ const canSend = !dictating && (value.trim().length > 0 || attachments.length > 0);
108
129
  // Resolve the mode list + the active entry. If the active id isn't in the list
109
130
  // (e.g. a deleted custom mode), synthesize a minimal entry so the control still
110
131
  // renders rather than crashing on an undefined accent/label.
@@ -150,6 +171,16 @@ export function Composer({ value, onChange, onSend, onStop, running, placeholder
150
171
  // it commits (Enter or blur), via onEditPending.
151
172
  const [editingPendingId, setEditingPendingId] = useState(null);
152
173
  const [editingPendingText, setEditingPendingText] = useState('');
174
+ /* The queue shows ONE chip until asked. Every queued message used to get its
175
+ * own chip on a wrapping row directly above the textarea -- no cap, no "+N
176
+ * more" -- so queueing four on a phone put four rows between the transcript
177
+ * and the box you type in, each up to ~260px of text plus its own controls.
178
+ *
179
+ * Expanding is USER-INITIATED, which is what makes growing in place acceptable
180
+ * here where TodoBar rejected it: that list grew on its own while the agent
181
+ * worked, moving the composer under your hands mid-type. This only moves when
182
+ * you tap the pill, and it is the same tap that closes it again. */
183
+ const [queueOpen, setQueueOpen] = useState(false);
153
184
  /* Escape must THROW AWAY the draft, not commit it. A real browser fires a
154
185
  * native blur when the focused element is removed from the DOM (as part of
155
186
  * the very re-render Escape triggers by nulling editingPendingId), and that
@@ -184,47 +215,55 @@ export function Composer({ value, onChange, onSend, onStop, running, placeholder
184
215
  } : undefined, children: [mentionHits.length > 0 && (_jsxs("div", { style: S.slash, children: [mentionHits.map((p, i) => (_jsxs("button", { style: S.slashItem(i === mentionActive), onMouseEnter: () => setMentionActive(i), onClick: () => pickMention(p.name), children: [_jsxs("span", { style: S.slashName, children: ["@", p.name] }), _jsx("span", { style: S.slashHint, children: p.hint ?? '' })] }, p.name))), _jsxs("div", { style: S.slashFoot, children: [_jsx("span", { children: "\u2191\u2193 navigate" }), _jsx("span", { children: "\u21B5 select" }), _jsx("span", { children: "esc dismiss" })] })] })), showSlash && filtered.length > 0 && (_jsxs("div", { style: S.slash, children: [groupBySection(filtered).map(([section, items]) => (_jsxs("div", { children: [section && _jsx("div", { style: S.slashSection, children: section }), items.map((c) => {
185
216
  const idx = filtered.indexOf(c);
186
217
  return (_jsxs("button", { style: S.slashItem(idx === slashActive), onMouseEnter: () => setSlashActive(idx), onClick: () => onPickSlash?.(c.name), children: [_jsx("span", { style: S.slashIcon, children: c.icon }), _jsxs("span", { style: S.slashName, children: ["/", c.name] }), _jsx("span", { style: S.slashHint, children: c.hint })] }, c.name));
187
- })] }, section || '_'))), _jsxs("div", { style: S.slashFoot, children: [_jsx("span", { children: "\u2191\u2193 navigate" }), _jsx("span", { children: "\u21B5 select" }), _jsx("span", { children: "esc dismiss" })] })] })), (canAddContext || chips.length > 0 || rightSlot) && (_jsxs("div", { style: S.chips, children: [chips.map((c) => (_jsxs("span", { style: S.chip, title: c.label, children: [c.id === 'selection' ? _jsx(IcCode, { size: 11 }) : _jsx(IcFile, { size: 11 }), _jsx("span", { style: S.chipLabel, children: c.label }), c.removable && _jsx("button", { style: S.chipX, onClick: () => onRemoveChip?.(c.id), "aria-label": "Remove context", children: _jsx(IcX, { size: 10 }) })] }, c.id))), canAddContext && _jsxs("button", { style: S.addCtx, onClick: onAddContext, title: "Add context", children: [_jsx(IcPlus, { size: 11 }), " context"] }), rightSlot && _jsx("span", { style: S.chipsRight, children: rightSlot })] })), attachments.length > 0 && (_jsx("div", { style: S.thumbs, children: attachments.map((src, i) => (_jsxs("div", { style: S.thumbWrap, children: [_jsx("img", { src: src, alt: `Attachment ${i + 1}`, style: S.thumb, className: "ask-thumb", onClick: () => onImageClick?.(src), title: "Click to expand" }), _jsx("button", { style: S.thumbX, onClick: () => onRemoveAttachment?.(i), "aria-label": "Remove image", children: _jsx(IcX, { size: 11 }) })] }, i))) })), pending && pending.length > 0 && (_jsx("div", { style: S.pendingRow, children: pending.map((p) => {
188
- const editing = editingPendingId === p.id;
189
- const commitEdit = () => {
190
- setEditingPendingId(null);
191
- // Escape already threw this text away -- a same-unmount blur
192
- // reaching us here must not resurrect it.
193
- if (abandoningEditRef.current) {
194
- abandoningEditRef.current = false;
195
- return;
196
- }
197
- // The host removed this item while it was being edited -- there
198
- // is nothing left to send the edit to.
199
- if (!pendingIdsRef.current.has(p.id))
200
- return;
201
- if (onEditPending)
202
- onEditPending(p.id, editingPendingText);
203
- };
204
- return (_jsxs("span", { style: S.pendingChip(p.state), children: [editing ? (_jsx("input", { autoFocus: true, style: S.pendingEdit, value: editingPendingText, onChange: (e) => setEditingPendingText(e.target.value), onBlur: commitEdit, onKeyDown: (e) => {
205
- if (e.key === 'Enter') {
206
- e.preventDefault();
207
- commitEdit();
208
- return;
209
- }
210
- if (e.key === 'Escape') {
211
- e.preventDefault();
212
- abandoningEditRef.current = true;
213
- setEditingPendingId(null);
214
- }
215
- } })) : (_jsx("span", { style: onEditPending ? { ...S.pendingText, cursor: 'text' } : S.pendingText, onClick: onEditPending ? () => {
218
+ })] }, section || '_'))), _jsxs("div", { style: S.slashFoot, children: [_jsx("span", { children: "\u2191\u2193 navigate" }), _jsx("span", { children: "\u21B5 select" }), _jsx("span", { children: "esc dismiss" })] })] })), (canAddContext || chips.length > 0 || rightSlot || estTok > 0) && (_jsxs("div", { style: S.chips, "data-testid": "composer-chips", children: [chips.map((c) => (_jsxs("span", { style: S.chip, title: c.label, children: [c.id === 'selection' ? _jsx(IcCode, { size: 11 }) : _jsx(IcFile, { size: 11 }), _jsx("span", { style: S.chipLabel, children: c.label }), c.removable && _jsx("button", { style: S.chipX, onClick: () => onRemoveChip?.(c.id), "aria-label": "Remove context", children: _jsx(IcX, { size: 10 }) })] }, c.id))), canAddContext && _jsxs("button", { style: S.addCtx, onClick: onAddContext, title: "Add context", children: [_jsx(IcPlus, { size: 11 }), " context"] }), estTok > 0 && (_jsxs("span", { style: S.est, "data-testid": "composer-est", title: "Rough estimate of this message's input tokens and cost (text only)", children: ["~", fmtTok(estTok), " tok", estCost != null ? ` · est ${fmtCost(estCost)}` : ''] })), rightSlot && _jsx("span", { style: S.chipsRight, children: rightSlot })] })), attachments.length > 0 && (_jsx("div", { style: S.thumbs, children: attachments.map((src, i) => (_jsxs("div", { style: S.thumbWrap, children: [_jsx("img", { src: src, alt: `Attachment ${i + 1}`, style: S.thumb, className: "ask-thumb", onClick: () => onImageClick?.(src), title: "Click to expand" }), _jsx("button", { style: S.thumbX, onClick: () => onRemoveAttachment?.(i), "aria-label": "Remove image", children: _jsx(IcX, { size: 11 }) })] }, i))) })), pending && pending.length > 0 && (() => {
219
+ /* WHICH ONE SURVIVES THE FOLD. Not blindly the first: an `injecting`
220
+ * message carries "Interrupt now", the one control here that is worth
221
+ * anything only in the seconds before the step lands. Folding that out
222
+ * of sight would be the same defect as collapsing the row to a bare
223
+ * count -- the space would be won by hiding the thing you needed. So an
224
+ * injecting chip is the one that stays; otherwise the oldest, which is
225
+ * the next to be sent. */
226
+ const spotlight = Math.max(0, pending.findIndex((p) => p.state === 'injecting'));
227
+ const shown = queueOpen ? pending : [pending[spotlight]];
228
+ const hidden = pending.length - shown.length;
229
+ return (_jsxs("div", { style: S.pendingRow, children: [shown.map((p) => {
230
+ const editing = editingPendingId === p.id;
231
+ const commitEdit = () => {
232
+ setEditingPendingId(null);
233
+ // Escape already threw this text away -- a same-unmount blur
234
+ // reaching us here must not resurrect it.
235
+ if (abandoningEditRef.current) {
216
236
  abandoningEditRef.current = false;
217
- setEditingPendingId(p.id);
218
- setEditingPendingText(p.text);
219
- } : undefined, children: p.text })), p.note && _jsx("span", { style: S.pendingNote, children: p.note }), p.state === 'injecting' && _jsx("span", { style: S.pendingNote, children: "lands after this step" }), p.state === 'injecting' && onInject && (
220
- // The chip half of the Alt+Enter ladder: cut the model stream
221
- // now instead of waiting for the turn to finish.
222
- _jsx("button", { style: S.pendingAction, onClick: () => onInject(p.id), children: "Interrupt now" })), p.state === 'held' && onInject && (_jsx("button", { style: S.pendingAction, onClick: () => onInject(p.id), children: "Send now" })), onRemovePending && (_jsx("button", { style: S.pendingX, "aria-label": "Remove queued message", onClick: () => onRemovePending(p.id), children: "x" }))] }, p.id));
223
- }) })), dictating ? (
224
- /* Same box, different job. aria-live so a screen reader follows the
225
- transcript as it fills, and role=status rather than textbox because
226
- there is nothing to type into while this is up. */
227
- _jsx("div", { style: S.dictation, "data-testid": "composer-dictation", role: "status", "aria-live": "polite", children: value || interim ? (_jsxs(_Fragment, { children: [value && _jsx("span", { style: S.dictationCommitted, children: value }), value && interim ? ' ' : null, interim && _jsx("span", { style: S.interim, "data-testid": "composer-interim", children: interim })] })) : (_jsx("span", { style: S.dictationIdle, children: "Listening\u2026 what you say appears here." })) })) : (_jsx("textarea", { ref: textareaRef, style: S.textarea, "aria-label": ariaLabel, value: value, onChange: (e) => {
237
+ return;
238
+ }
239
+ // The host removed this item while it was being edited -- there
240
+ // is nothing left to send the edit to.
241
+ if (!pendingIdsRef.current.has(p.id))
242
+ return;
243
+ if (onEditPending)
244
+ onEditPending(p.id, editingPendingText);
245
+ };
246
+ return (_jsxs("span", { style: S.pendingChip(p.state), children: [editing ? (_jsx("input", { autoFocus: true, style: S.pendingEdit, value: editingPendingText, onChange: (e) => setEditingPendingText(e.target.value), onBlur: commitEdit, onKeyDown: (e) => {
247
+ if (e.key === 'Enter') {
248
+ e.preventDefault();
249
+ commitEdit();
250
+ return;
251
+ }
252
+ if (e.key === 'Escape') {
253
+ e.preventDefault();
254
+ abandoningEditRef.current = true;
255
+ setEditingPendingId(null);
256
+ }
257
+ } })) : (_jsx("span", { style: onEditPending ? { ...S.pendingText, cursor: 'text' } : S.pendingText, onClick: onEditPending ? () => {
258
+ abandoningEditRef.current = false;
259
+ setEditingPendingId(p.id);
260
+ setEditingPendingText(p.text);
261
+ } : undefined, children: p.text })), p.note && _jsx("span", { style: S.pendingNote, children: p.note }), p.state === 'injecting' && _jsx("span", { style: S.pendingNote, children: "lands after this step" }), p.state === 'injecting' && onInject && (
262
+ // The chip half of the Alt+Enter ladder: cut the model stream
263
+ // now instead of waiting for the turn to finish.
264
+ _jsx("button", { style: S.pendingAction, onClick: () => onInject(p.id), children: "Interrupt now" })), p.state === 'held' && onInject && (_jsx("button", { style: S.pendingAction, onClick: () => onInject(p.id), children: "Send now" })), onRemovePending && (_jsx("button", { style: S.pendingX, "aria-label": "Remove queued message", onClick: () => onRemovePending(p.id), children: "x" }))] }, p.id));
265
+ }), (hidden > 0 || queueOpen) && (_jsx("button", { style: S.queueMore, onClick: () => setQueueOpen((o) => !o), "aria-expanded": queueOpen, title: queueOpen ? 'Show only the next queued message' : 'Show every queued message', children: queueOpen ? 'Show less' : `+${hidden} queued` }))] }));
266
+ })(), _jsx("textarea", { ref: textareaRef, style: S.textarea, "aria-label": ariaLabel, value: value, readOnly: dictating, "aria-live": dictating ? 'polite' : undefined, onChange: (e) => {
228
267
  setSlashHidden(false);
229
268
  setMentionHidden(false);
230
269
  // Typing leaves the history: what is in the box is now a draft, and a
@@ -343,6 +382,15 @@ export function Composer({ value, onChange, onSend, onStop, running, placeholder
343
382
  onInject();
344
383
  return;
345
384
  }
385
+ // Touch keyboards have no separate newline gesture within easy reach,
386
+ // so on a coarse pointer plain Enter behaves like Shift+Enter (a
387
+ // newline) instead of committing the message -- returning here without
388
+ // preventDefault lets the browser insert it natively, same as the
389
+ // shiftKey branch above. Only the two explicit chords (Alt+Enter,
390
+ // Cmd/Ctrl+Enter) still act on Enter; the mention/slash acceptance
391
+ // above already returned before this point.
392
+ if (isCoarsePointer())
393
+ return;
346
394
  // Only take the queue path when the host actually wired one. A host
347
395
  // that renders `running` but has not adopted the queue must get
348
396
  // today's behavior unchanged -- Enter falls through to onSend()
@@ -361,6 +409,11 @@ export function Composer({ value, onChange, onSend, onStop, running, placeholder
361
409
  histDraft.current = '';
362
410
  onSend();
363
411
  }, placeholder: (() => {
412
+ /* Listening beats every other invitation: the box is empty because
413
+ nothing has been heard yet, and the send/newline hints describe keys
414
+ that are disarmed right now anyway. */
415
+ if (dictating)
416
+ return LEAD_LISTENING;
364
417
  // The invitation is the host's; the key hints are this component's.
365
418
  const lead = placeholder ?? (onAttach ? LEAD_WITH_PASTE : LEAD_PLAIN);
366
419
  if (COARSE_POINTER)
@@ -370,7 +423,7 @@ export function Composer({ value, onChange, onSend, onStop, running, placeholder
370
423
  }
371
424
  const base = `${lead} · ↵ send · ⇧↵ newline`;
372
425
  return runHint ? `${base} · ⌘↵ run` : base;
373
- })(), rows: 3 })), !dictating && interim ? (_jsx("div", { style: S.interim, "data-testid": "composer-interim", "aria-live": "polite", children: interim })) : null, _jsxs("div", { style: S.bottom, children: [leadSlot, !running && sendLater, estTok > 0 && (_jsxs("span", { style: S.est, title: "Rough estimate of this message's input tokens and cost (text only)", children: ["~", fmtTok(estTok), " tok", estCost != null ? ` · est ${fmtCost(estCost)}` : ''] })), _jsxs("div", { ref: stanceRef, style: S.stance, children: [hasMode && (modeOpen ? (modeList.map((mm) => (_jsxs("button", { style: S.stanceOpt(mm.id === mode), title: mm.description || mm.label, onClick: () => { onModeChange?.(mm.id); setModeOpen(false); }, children: [_jsx("span", { style: { ...S.modeDot, background: modeAccent(mm) } }), mm.label] }, mm.id)))) : (_jsxs("button", { style: S.stanceCurrent, onClick: () => setModeOpen(true), title: curMode.description || curMode.label, children: [_jsx("span", { style: { ...S.modeDot, background: modeAccent(curMode) } }), _jsx("span", { style: S.stanceName, children: curMode.label }), _jsx(IcChevron, { size: 12 })] }))), hasMode && _jsx("span", { style: S.stanceDivider }), running ? (_jsxs(_Fragment, { children: [onQueue && (_jsx("button", { style: S.queueBtn, onClick: onQueue, disabled: !value.trim() && attachments.length === 0, title: "Park this for after the run (Enter). Alt+Enter pushes it into the run instead.", children: "Queue" })), _jsxs("button", { style: { ...S.sendBtn, background: 'var(--grad-stop)' }, onClick: onStop, children: [_jsx(IcStop, { size: 12 }), " Stop"] })] })) : (
426
+ })(), rows: 3 }), _jsxs("div", { style: S.bottom, "data-testid": "composer-bottom", children: [leadSlot, !running && sendLater, _jsxs("div", { ref: stanceRef, style: S.stance, "data-testid": "composer-stance", children: [hasMode && (modeOpen ? (modeList.map((mm) => (_jsxs("button", { style: S.stanceOpt(mm.id === mode), title: mm.description || mm.label, onClick: () => { onModeChange?.(mm.id); setModeOpen(false); }, children: [_jsx("span", { style: { ...S.modeDot, background: modeAccent(mm) } }), mm.label] }, mm.id)))) : (_jsxs("button", { style: S.stanceCurrent, onClick: () => setModeOpen(true), title: curMode.description || curMode.label, children: [_jsx("span", { style: { ...S.modeDot, background: modeAccent(curMode) } }), _jsx("span", { style: S.stanceName, "data-testid": "composer-stance-name", children: curMode.label }), _jsx(IcChevron, { size: 12 })] }))), hasMode && _jsx("span", { style: S.stanceDivider }), running ? (_jsxs(_Fragment, { children: [onQueue && (_jsx("button", { style: S.queueBtn, onClick: onQueue, disabled: dictating || (!value.trim() && attachments.length === 0), title: "Park this for after the run (Enter). Alt+Enter pushes it into the run instead.", children: "Queue" })), _jsxs("button", { style: { ...S.sendBtn, background: 'var(--grad-stop)' }, onClick: onStop, children: [_jsx(IcStop, { size: 12 }), " Stop"] })] })) : (
374
427
  // One primary per app: a host that declares --grad-send (corenel.ai)
375
428
  // paints Send like every other primary button, and mode colour stays
376
429
  // on the dot. Without it (prompd.app) this falls back to the mode
@@ -398,29 +451,30 @@ const S = {
398
451
  thumbWrap: { position: 'relative', width: 60, height: 60 },
399
452
  thumb: { width: 60, height: 60, objectFit: 'cover', borderRadius: 'var(--radius-md)', border: '1px solid var(--border-subtle)', cursor: 'zoom-in', display: 'block' },
400
453
  thumbX: { position: 'absolute', top: -6, right: -6, display: 'inline-flex', alignItems: 'center', justifyContent: 'center', width: 18, height: 18, borderRadius: 999, border: '1px solid var(--border-default)', background: 'var(--surface-1)', color: 'var(--text-secondary)', cursor: 'pointer', padding: 0, boxShadow: 'var(--shadow-1)' },
401
- textarea: { width: '100%', boxSizing: 'border-box', resize: 'none', padding: 10, border: '1px solid var(--border-default)', borderRadius: 'var(--radius-md)', background: 'var(--surface-2)', color: 'var(--text-primary)', fontSize: 14, fontFamily: 'inherit', lineHeight: 1.5, outline: 'none', minHeight: 84, maxHeight: TEXTAREA_MAX_H, overflowY: 'auto' },
402
- bottom: { display: 'flex', alignItems: 'center', gap: 8 },
403
- // Tertiary + italic: it reads as provisional at a glance, so the eye does not
404
- // mistake it for text that has already landed in the draft.
405
- interim: { fontSize: 13, lineHeight: 1.45, padding: '0 2px', color: 'var(--text-tertiary)', fontStyle: 'italic', wordBreak: 'break-word' },
406
- /* Deliberately the textarea's own metrics -- same min-height, padding, radius
407
- and background -- so the swap changes what the box is for without changing
408
- where anything sits. */
409
- dictation: {
410
- width: '100%', boxSizing: 'border-box', padding: 10,
411
- border: '1px solid var(--accent)', borderRadius: 'var(--radius-md)',
412
- background: 'var(--surface-2)', color: 'var(--text-primary)',
413
- fontSize: 14, lineHeight: 1.5, minHeight: 84, maxHeight: TEXTAREA_MAX_H,
414
- overflowY: 'auto', wordBreak: 'break-word',
415
- },
416
- dictationCommitted: { color: 'var(--text-primary)' },
417
- dictationIdle: { color: 'var(--text-tertiary)', fontStyle: 'italic' },
418
- est: { fontSize: 11.5, color: 'var(--text-tertiary)', fontFamily: 'var(--font-mono)', fontVariantNumeric: 'tabular-nums' },
454
+ // maxHeight/minHeight sized against the viewport (not bare pixels), so a
455
+ // phone's short viewport doesn't have the composer eat most of the screen.
456
+ // On a tall desktop window both `min()`/`clamp()` resolve to the old
457
+ // constants (220 / 84), so desktop is unchanged. Keep in sync with the
458
+ // autosize cap computed in the useLayoutEffect above.
459
+ textarea: { width: '100%', boxSizing: 'border-box', resize: 'none', padding: 10, border: '1px solid var(--border-default)', borderRadius: 'var(--radius-md)', background: 'var(--surface-2)', color: 'var(--text-primary)', fontSize: 14, fontFamily: 'inherit', lineHeight: 1.5, outline: 'none', minHeight: 'clamp(44px, 12vh, 84px)', maxHeight: 'min(220px, 30vh)', overflowY: 'auto' },
460
+ // flexWrap + minWidth:0 are belt-and-braces: the token estimate (the main
461
+ // space hog) has already moved to the chips row (item A), but mic/history/
462
+ // lead-slot/queue can still fill this row on a narrow screen, so it must be
463
+ // able to wrap rather than clip.
464
+ bottom: { display: 'flex', alignItems: 'center', gap: 8, flexWrap: 'wrap', minWidth: 0 },
465
+ // marginLeft:auto keeps it pushed toward chipsRight in the chips row;
466
+ // minWidth:0 + overflow/ellipsis make it the FIRST thing to truncate when
467
+ // that row is crowded, since it is purely informational.
468
+ est: { marginLeft: 'auto', minWidth: 0, whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis', fontSize: 11.5, color: 'var(--text-tertiary)', fontFamily: 'var(--font-mono)', fontVariantNumeric: 'tabular-nums' },
419
469
  modeDot: { width: 8, height: 8, borderRadius: 999, flexShrink: 0 },
420
470
  // Fused stance + Send: one segmented control on the right of the bar.
421
- stance: { marginLeft: 'auto', display: 'inline-flex', alignItems: 'stretch', height: 34, border: '1px solid var(--border-default)', borderRadius: 'var(--radius-sm)', overflow: 'hidden', background: 'var(--surface-2)', boxShadow: 'var(--shadow-1)' },
471
+ // flexShrink:0 -- Send must never be the thing that gets clipped when the
472
+ // bottom row is crowded; the mode label truncates instead (S.stanceName).
473
+ stance: { marginLeft: 'auto', flexShrink: 0, display: 'inline-flex', alignItems: 'stretch', height: 34, border: '1px solid var(--border-default)', borderRadius: 'var(--radius-sm)', overflow: 'hidden', background: 'var(--surface-2)', boxShadow: 'var(--shadow-1)' },
422
474
  stanceCurrent: { display: 'inline-flex', alignItems: 'center', gap: 6, padding: '0 10px', border: 0, background: 'transparent', color: 'var(--text-primary)', fontSize: 12.5, fontWeight: 600, fontFamily: 'inherit', textTransform: 'capitalize', cursor: 'pointer' },
423
- stanceName: { textTransform: 'capitalize' },
475
+ // maxWidth caps a long mode label so it truncates instead of widening the
476
+ // fused control and pushing Send further toward (or off) the edge.
477
+ stanceName: { textTransform: 'capitalize', maxWidth: 110, overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' },
424
478
  stanceOpt: (active) => ({ display: 'inline-flex', alignItems: 'center', gap: 5, padding: '0 9px', border: 0, background: active ? 'var(--surface-1)' : 'transparent', color: active ? 'var(--text-primary)' : 'var(--text-tertiary)', fontSize: 12, fontWeight: 600, fontFamily: 'inherit', textTransform: 'capitalize', cursor: 'pointer' }),
425
479
  stanceDivider: { width: 1, alignSelf: 'stretch', background: 'var(--border-subtle)' },
426
480
  sendBtn: { display: 'inline-flex', alignItems: 'center', gap: 6, padding: '0 14px', border: 0, color: '#fff', fontSize: 13, fontWeight: 600, fontFamily: 'inherit', cursor: 'pointer' },
@@ -438,5 +492,13 @@ const S = {
438
492
  pendingNote: { fontSize: 11, color: 'var(--accent)' },
439
493
  pendingAction: { border: 0, background: 'transparent', color: 'var(--accent)', cursor: 'pointer', fontSize: 11, padding: 0 },
440
494
  pendingX: { border: 0, background: 'transparent', color: 'var(--text-tertiary)', cursor: 'pointer', fontSize: 12, padding: '0 2px', lineHeight: 1 },
495
+ // Reads as a control rather than another queued item: no fill, accent text, so
496
+ // it does not look like a fifth message in a row of four.
497
+ queueMore: {
498
+ display: 'inline-flex', alignItems: 'center', flex: 'none',
499
+ padding: '3px 9px', borderRadius: 'var(--radius-sm)',
500
+ border: '1px solid var(--border-subtle)', background: 'transparent',
501
+ color: 'var(--accent)', cursor: 'pointer', font: 'inherit', fontSize: 11.5, fontWeight: 600,
502
+ },
441
503
  };
442
504
  //# sourceMappingURL=Composer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Composer.js","sourceRoot":"","sources":["../Composer.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAWxD,kFAAkF;AAClF,mFAAmF;AACnF,yBAAyB;AACzB,MAAM,iBAAiB,GAA2B;IAChD,IAAI,EAAE,uBAAuB;IAC7B,IAAI,EAAE,uBAAuB;IAC7B,IAAI,EAAE,uBAAuB;IAC7B,UAAU,EAAE,6BAA6B;CAC1C,CAAC;AAEF,iFAAiF;AACjF,MAAM,CAAC,MAAM,aAAa,GAAgB;IACxC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,sDAAsD,EAAE;IAClG,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,wDAAwD,EAAE;IACpG,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,yDAAyD,EAAE;IACrG,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,8CAA8C,EAAE;CACvG,CAAC;AACF,6EAA6E;AAC7E,MAAM,CAAC,MAAM,KAAK,GAAa,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAE9D,oGAAoG;AACpG,MAAM,UAAU,UAAU,CAAC,CAAY,IAAY,OAAO,CAAC,CAAC,MAAM,IAAI,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,uBAAuB,CAAC,CAAC,CAAC;AAE3H,2FAA2F;AAC3F,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B;;uEAEuE;AACvE,MAAM,eAAe,GAAG,uCAAuC,CAAC;AAChE,MAAM,UAAU,GAAG,gBAAgB,CAAC;AACpC,iFAAiF;AACjF,oFAAoF;AACpF,yCAAyC;AACzC,MAAM,cAAc,GAAG,OAAO,UAAU,KAAK,WAAW,IAAI,UAAU,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC;AAKpG,4FAA4F;AAC5F,SAAS,cAAc,CAAC,IAAoB;IAC1C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,GAAG,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC9C,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QACnD,GAAG,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAE,CAA6B,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,EACvB,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,GAAG,IAAI,EACrE,IAAI,EAAE,YAAY,EAAE,KAAK,GAAG,aAAa,EAAE,KAAK,GAAG,EAAE,EAAE,YAAY,EAAE,YAAY,EACjF,aAAa,GAAG,EAAE,EAAE,WAAW,EAC/B,WAAW,GAAG,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE,YAAY,EAC5D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAChE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAC1D,SAAS,GAAG,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,GAAG,KAAK,GA2HvF;IACC,4EAA4E;IAC5E,uCAAuC;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC;IACrB,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD;;;;0EAIsE;IACtE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1D;;2EAEuE;IACvE,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B;;kDAE8C;IAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IAC7B,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtD,gFAAgF;IAChF,6EAA6E;IAC7E,mEAAmE;IACnE,MAAM,WAAW,GAAG,MAAM,CAAsB,IAAI,CAAC,CAAC;IACtD,eAAe,CAAC,GAAG,EAAE;QACnB,MAAM,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACzB,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC;IACrE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACZ;;uCAEmC;IACnC;;;;;;4CAMwC;IACxC,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7H,MAAM,WAAW,GAAG,QAAQ,KAAK,IAAI;QACnC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACxF,MAAM,WAAW,GAAG,CAAC,IAAY,EAAQ,EAAE;QACzC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC;IACF,mDAAmD;IACnD,MAAM,aAAa,GAAG,WAAW,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,WAAW,KAAK,SAAS,CAAC;IAC7G,MAAM,QAAQ,GAAG,SAAS;QACxB,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9E,CAAC,CAAC,EAAE,CAAC;IACP,SAAS,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IAElE,+EAA+E;IAC/E,gFAAgF;IAChF,6DAA6D;IAC7D,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC;IACtD;gEAC4D;IAC5D,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,IAAI,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IACpH,MAAM,OAAO,GAAG,IAAI,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,CAAC;IAEjE,kFAAkF;IAClF,8EAA8E;IAC9E,+EAA+E;IAC/E,4EAA4E;IAC5E,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAClF,MAAM,OAAO,GAAG,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAEpE,+EAA+E;IAC/E,MAAM,aAAa,GAAG,CAAC,CAAO,EAAE,EAAE,CAAC,IAAI,OAAO,CAAS,CAAC,GAAG,EAAE,EAAE;QAC7D,MAAM,CAAC,GAAG,IAAI,UAAU,EAAE,CAAC;QAC3B,CAAC,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,CAAC,CAAuB,EAAE,EAAE;QAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC;aACnD,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,IAAI,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;aAClE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;aAC3B,MAAM,CAAC,CAAC,CAAC,EAAa,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO;QAC1B,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YAClD,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAChC,IAAI,EAAE,CAAC,MAAM;gBAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,iFAAiF;IACjF,sEAAsE;IACtE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE/C,2EAA2E;IAC3E,2EAA2E;IAC3E,4EAA4E;IAC5E,iDAAiD;IACjD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC9E,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACjE;;;;;;;;0CAQsC;IACtC,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACxC;;;;6BAIyB;IACzB,MAAM,aAAa,GAAG,MAAM,CAAc,IAAI,GAAG,EAAE,CAAC,CAAC;IACrD,aAAa,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,MAAM,KAAK,GAAG,CAAC,CAAa,EAAE,EAAE,GAAG,IAAI,SAAS,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC;YAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACjI,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC9C,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO,CACL,eACE,KAAK,EAAE,CAAC,CAAC,IAAI,iBACD,eAAe,EAC3B,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EACpE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACtD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBAAC,CAAC,CAAC,cAAc,EAAE,CAAC;gBAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAAC,CAAC;QAC/D,CAAC,CAAC,CAAC,CAAC,SAAS,aAEZ,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CACzB,eAAK,KAAK,EAAE,CAAC,CAAC,KAAK,aAChB,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACzB,kBAEE,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,aAAa,CAAC,EACvC,YAAY,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,EACvC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,aAIlC,gBAAM,KAAK,EAAE,CAAC,CAAC,SAAS,kBAAI,CAAC,CAAC,IAAI,IAAQ,EAC1C,eAAM,KAAK,EAAE,CAAC,CAAC,SAAS,YAAG,CAAC,CAAC,IAAI,IAAI,EAAE,GAAQ,KAR1C,CAAC,CAAC,IAAI,CASJ,CACV,CAAC,EACF,eAAK,KAAK,EAAE,CAAC,CAAC,SAAS,aAAE,mDAAwB,EAAA,2CAAqB,EAAA,yCAAwB,IAAM,IAChG,CACP,EAEA,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CACnC,eAAK,KAAK,EAAE,CAAC,CAAC,KAAK,aAChB,cAAc,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAClD,0BACG,OAAO,IAAI,cAAK,KAAK,EAAE,CAAC,CAAC,YAAY,YAAG,OAAO,GAAO,EACtD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gCACf,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gCAChC,OAAO,CACL,kBAEE,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,KAAK,WAAW,CAAC,EACvC,YAAY,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,EACvC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAEpC,eAAM,KAAK,EAAE,CAAC,CAAC,SAAS,YAAG,CAAC,CAAC,IAAI,GAAQ,EACzC,gBAAM,KAAK,EAAE,CAAC,CAAC,SAAS,kBAAI,CAAC,CAAC,IAAI,IAAQ,EAC1C,eAAM,KAAK,EAAE,CAAC,CAAC,SAAS,YAAG,CAAC,CAAC,IAAI,GAAQ,KAPpC,CAAC,CAAC,IAAI,CAQJ,CACV,CAAC;4BACJ,CAAC,CAAC,KAhBM,OAAO,IAAI,GAAG,CAiBlB,CACP,CAAC,EACF,eAAK,KAAK,EAAE,CAAC,CAAC,SAAS,aAAE,mDAAwB,EAAA,2CAAqB,EAAA,yCAAwB,IAAM,IAChG,CACP,EAEA,CAAC,aAAa,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CACnD,eAAK,KAAK,EAAE,CAAC,CAAC,KAAK,aAChB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAChB,gBAAiB,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,aAC3C,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC,CAAC,KAAC,MAAM,IAAC,IAAI,EAAE,EAAE,GAAI,CAAC,CAAC,CAAC,KAAC,MAAM,IAAC,IAAI,EAAE,EAAE,GAAI,EACnE,eAAM,KAAK,EAAE,CAAC,CAAC,SAAS,YAAG,CAAC,CAAC,KAAK,GAAQ,EACzC,CAAC,CAAC,SAAS,IAAI,iBAAQ,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAa,gBAAgB,YAAC,KAAC,GAAG,IAAC,IAAI,EAAE,EAAE,GAAI,GAAS,KAH1H,CAAC,CAAC,EAAE,CAIR,CACR,CAAC,EACD,aAAa,IAAI,kBAAQ,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAC,aAAa,aAAC,KAAC,MAAM,IAAC,IAAI,EAAE,EAAE,GAAI,gBAAiB,EAI1H,SAAS,IAAI,eAAM,KAAK,EAAE,CAAC,CAAC,UAAU,YAAG,SAAS,GAAQ,IACvD,CACP,EAEA,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CACzB,cAAK,KAAK,EAAE,CAAC,CAAC,MAAM,YACjB,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAC3B,eAAa,KAAK,EAAE,CAAC,CAAC,SAAS,aAC7B,cAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,EAAC,WAAW,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAC,iBAAiB,GAAG,EAC/I,iBAAQ,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,gBAAa,cAAc,YAAC,KAAC,GAAG,IAAC,IAAI,EAAE,EAAE,GAAI,GAAS,KAF7G,CAAC,CAGL,CACP,CAAC,GACE,CACP,EAEA,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAChC,cAAK,KAAK,EAAE,CAAC,CAAC,UAAU,YACrB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACjB,MAAM,OAAO,GAAG,gBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC;oBAC1C,MAAM,UAAU,GAAG,GAAG,EAAE;wBACtB,mBAAmB,CAAC,IAAI,CAAC,CAAC;wBAC1B,6DAA6D;wBAC7D,0CAA0C;wBAC1C,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;4BAAC,iBAAiB,CAAC,OAAO,GAAG,KAAK,CAAC;4BAAC,OAAO;wBAAC,CAAC;wBAC7E,gEAAgE;wBAChE,uCAAuC;wBACvC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;4BAAE,OAAO;wBAC7C,IAAI,aAAa;4BAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;oBAC7D,CAAC,CAAC;oBACF,OAAO,CACL,gBAAiB,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,aAC3C,OAAO,CAAC,CAAC,CAAC,CACT,gBACE,SAAS,QACT,KAAK,EAAE,CAAC,CAAC,WAAW,EACpB,KAAK,EAAE,kBAAkB,EACzB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;oCACf,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;wCAAC,CAAC,CAAC,cAAc,EAAE,CAAC;wCAAC,UAAU,EAAE,CAAC;wCAAC,OAAO;oCAAC,CAAC;oCACpE,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;wCACvB,CAAC,CAAC,cAAc,EAAE,CAAC;wCACnB,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;wCACjC,mBAAmB,CAAC,IAAI,CAAC,CAAC;oCAC5B,CAAC;gCACH,CAAC,GACD,CACH,CAAC,CAAC,CAAC,CACF,eACE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAC3E,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,EAAE;oCAC5B,iBAAiB,CAAC,OAAO,GAAG,KAAK,CAAC;oCAClC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oCAC1B,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gCAChC,CAAC,CAAC,CAAC,CAAC,SAAS,YACb,CAAC,CAAC,IAAI,GAAQ,CACjB,EACA,CAAC,CAAC,IAAI,IAAI,eAAM,KAAK,EAAE,CAAC,CAAC,WAAW,YAAG,CAAC,CAAC,IAAI,GAAQ,EACrD,CAAC,CAAC,KAAK,KAAK,WAAW,IAAI,eAAM,KAAK,EAAE,CAAC,CAAC,WAAW,sCAA8B,EACnF,CAAC,CAAC,KAAK,KAAK,WAAW,IAAI,QAAQ,IAAI;4BACtC,8DAA8D;4BAC9D,iDAAiD;4BACjD,iBAAQ,KAAK,EAAE,CAAC,CAAC,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,8BAAwB,CACtF,EACA,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,QAAQ,IAAI,CACjC,iBAAQ,KAAK,EAAE,CAAC,CAAC,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,yBAAmB,CACjF,EACA,eAAe,IAAI,CAClB,iBAAQ,KAAK,EAAE,CAAC,CAAC,QAAQ,gBAAa,uBAAuB,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAY,CAC/G,KAvCQ,CAAC,CAAC,EAAE,CAwCR,CACR,CAAC;gBACJ,CAAC,CAAC,GACE,CACP,EAEA,SAAS,CAAC,CAAC,CAAC;YACX;;iEAEqD;YACrD,cAAK,KAAK,EAAE,CAAC,CAAC,SAAS,iBAAc,oBAAoB,EAAC,IAAI,EAAC,QAAQ,eAAW,QAAQ,YACvF,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAClB,8BACG,KAAK,IAAI,eAAM,KAAK,EAAE,CAAC,CAAC,kBAAkB,YAAG,KAAK,GAAQ,EAC1D,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAC7B,OAAO,IAAI,eAAM,KAAK,EAAE,CAAC,CAAC,OAAO,iBAAc,kBAAkB,YAAE,OAAO,GAAQ,IAClF,CACJ,CAAC,CAAC,CAAC,CACF,eAAM,KAAK,EAAE,CAAC,CAAC,aAAa,2DAA8C,CAC3E,GACG,CACP,CAAC,CAAC,CAAC,CACJ,mBACE,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,CAAC,CAAC,QAAQ,gBACL,SAAS,EACrB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;oBACd,cAAc,CAAC,KAAK,CAAC,CAAC;oBACtB,gBAAgB,CAAC,KAAK,CAAC,CAAC;oBACxB,sEAAsE;oBACtE,mEAAmE;oBACnE,aAAa;oBACb,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;oBACrB,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC,EACD,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;oBACf,yEAAyE;oBACzE,oEAAoE;oBACpE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC3B,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;4BAAC,CAAC,CAAC,cAAc,EAAE,CAAC;4BAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;4BAAC,OAAO;wBAAC,CAAC;wBAC5H,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;4BAAC,CAAC,CAAC,cAAc,EAAE,CAAC;4BAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;4BAAC,OAAO;wBAAC,CAAC;wBACrG,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;4BAAC,CAAC,CAAC,cAAc,EAAE,CAAC;4BAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;4BAAC,OAAO;wBAAC,CAAC;wBAC/E,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;4BACtF,CAAC,CAAC,cAAc,EAAE,CAAC;4BACnB,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;4BAC/E,OAAO;wBACT,CAAC;oBACH,CAAC;oBACD,IAAI,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACrC,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;4BAAC,CAAC,CAAC,cAAc,EAAE,CAAC;4BAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;4BAAC,OAAO;wBAAC,CAAC;wBACvH,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;4BAAC,CAAC,CAAC,cAAc,EAAE,CAAC;4BAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;4BAAC,OAAO;wBAAC,CAAC;wBACnG,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;4BAAC,CAAC,CAAC,cAAc,EAAE,CAAC;4BAAC,cAAc,CAAC,IAAI,CAAC,CAAC;4BAAC,OAAO;wBAAC,CAAC;wBAC7E,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;4BACtF,CAAC,CAAC,cAAc,EAAE,CAAC;4BACnB,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;4BACzE,OAAO;wBACT,CAAC;oBACH,CAAC;oBACD;;;;;;;;;;;uBAWG;oBACH,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;2BAC5E,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;wBAC5D,MAAM,EAAE,GAAG,CAAC,CAAC,aAAa,CAAC;wBAC3B,MAAM,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC;wBAC7B,MAAM,WAAW,GAAG,EAAE,KAAK,EAAE,CAAC,YAAY,CAAC;wBAC3C,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;wBAC1D,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;wBACtD,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,WAAW,IAAI,WAAW,CAAC;wBACnE,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,KAAK,WAAW,IAAI,WAAW,IAAI,UAAU,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;wBAE/F,IAAI,QAAQ,IAAI,WAAW,EAAE,CAAC;4BAC5B,CAAC,CAAC,cAAc,EAAE,CAAC;4BACnB,gEAAgE;4BAChE,8CAA8C;4BAC9C,IAAI,OAAO,CAAC,OAAO,GAAG,CAAC;gCAAE,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;4BACnD,MAAM,IAAI,GAAG,QAAQ;gCACnB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;gCACnD,CAAC,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC;4BACxB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;4BACvB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAE,CAAC;4BAChF,QAAQ,CAAC,IAAI,CAAC,CAAC;4BACf,cAAc,CAAC,IAAI,CAAC,CAAC;4BACrB,0DAA0D;4BAC1D,gEAAgE;4BAChE,0DAA0D;4BAC1D,qBAAqB,CAAC,GAAG,EAAE;gCACzB,MAAM,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC;gCAC9B,IAAI,CAAC;oCAAE,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;4BACvD,CAAC,CAAC,CAAC;4BACH,OAAO;wBACT,CAAC;oBACH,CAAC;oBAED,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO;wBAAE,OAAO;oBAC9B,mEAAmE;oBACnE,8DAA8D;oBAC9D,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ;wBAAE,OAAO;oBACjD,kDAAkD;oBAClD,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;wBACb,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ;4BAAE,OAAO;wBAClC,kEAAkE;wBAClE,kEAAkE;wBAClE,wCAAwC;wBACxC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC;4BAAE,OAAO;wBACvE,CAAC,CAAC,cAAc,EAAE,CAAC;wBACnB,QAAQ,EAAE,CAAC;wBACX,OAAO;oBACT,CAAC;oBACD,oEAAoE;oBACpE,gEAAgE;oBAChE,gEAAgE;oBAChE,kCAAkC;oBAClC,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;wBACvB,IAAI,CAAC,OAAO;4BAAE,OAAO;wBACrB,CAAC,CAAC,cAAc,EAAE,CAAC;wBACnB,OAAO,EAAE,CAAC;wBACV,OAAO;oBACT,CAAC;oBACD,IAAI,CAAC,OAAO;wBAAE,OAAO;oBACrB,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;oBACrB,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC;oBACvB,MAAM,EAAE,CAAC;gBACX,CAAC,EACD,WAAW,EAAE,CAAC,GAAG,EAAE;oBACjB,oEAAoE;oBACpE,MAAM,IAAI,GAAG,WAAW,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;oBACtE,IAAI,cAAc;wBAAE,OAAO,IAAI,CAAC;oBAChC,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;wBAClC,OAAO,GAAG,IAAI,8CAA8C,CAAC;oBAC/D,CAAC;oBACD,MAAM,IAAI,GAAG,GAAG,IAAI,0BAA0B,CAAC;oBAC/C,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7C,CAAC,CAAC,EAAE,EACJ,IAAI,EAAE,CAAC,GACP,CACD,EAMA,CAAC,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,CACvB,cAAK,KAAK,EAAE,CAAC,CAAC,OAAO,iBAAc,kBAAkB,eAAW,QAAQ,YAAE,OAAO,GAAO,CACzF,CAAC,CAAC,CAAC,IAAI,EAER,eAAK,KAAK,EAAE,CAAC,CAAC,MAAM,aAIjB,QAAQ,EAKR,CAAC,OAAO,IAAI,SAAS,EACrB,MAAM,GAAG,CAAC,IAAI,CACb,gBAAM,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAC,oEAAoE,kBAC1F,MAAM,CAAC,MAAM,CAAC,UAAM,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IACpE,CACR,EAGD,eAAK,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,aACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CACtB,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CACnB,kBAAoB,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aACtJ,eAAM,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE,GAAI,EAAC,EAAE,CAAC,KAAK,KAD3D,EAAE,CAAC,EAAE,CAET,CACV,CAAC,CACH,CAAC,CAAC,CAAC,CACF,kBAAQ,KAAK,EAAE,CAAC,CAAC,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK,aAC3G,eAAM,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,GAAI,EAClE,eAAM,KAAK,EAAE,CAAC,CAAC,UAAU,YAAG,OAAO,CAAC,KAAK,GAAQ,EACjD,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,GAAI,IAChB,CACV,CAAC,EACD,OAAO,IAAI,eAAM,KAAK,EAAE,CAAC,CAAC,aAAa,GAAI,EAC3C,OAAO,CAAC,CAAC,CAAC,CACT,8BACG,OAAO,IAAI,CACV,iBACE,KAAK,EAAE,CAAC,CAAC,QAAQ,EACjB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EACnD,KAAK,EAAC,gFAAgF,sBACzE,CAChB,EACD,kBAAQ,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,EAAE,OAAO,EAAE,MAAM,aAAE,KAAC,MAAM,IAAC,IAAI,EAAE,EAAE,GAAI,aAAc,IACnH,CACJ,CAAC,CAAC,CAAC;4BACF,qEAAqE;4BACrE,qEAAqE;4BACrE,kEAAkE;4BAClE,+CAA+C;4BAC/C,kBAAQ,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,oBAAoB,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,aAAE,KAAC,MAAM,IAAC,IAAI,EAAE,EAAE,GAAI,OAAE,SAAS,IAAU,CAC1O,IACG,IACF,IACF,CACP,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,GAAwB;IAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,gCAAgC,EAAE,UAAU,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE;IAC1K,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,iCAAiC,EAAE,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE;IACtR,SAAS,EAAE,CAAC,MAAe,EAAuB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IACvT,SAAS,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,UAAU,EAAE,CAAC,EAAE;IAC9I,SAAS,EAAE,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE;IACnI,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE;IAC9H,YAAY,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,sBAAsB,EAAE;IAC7J,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,gCAAgC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,UAAU,EAAE,kBAAkB,EAAE;IACxM,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE;IAC1E,gFAAgF;IAChF,8DAA8D;IAC9D,UAAU,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE;IAC7G,IAAI,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,oBAAoB,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,gCAAgC,EAAE,KAAK,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAAE,GAAG,EAAE;IAC/S,SAAS,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE;IACjF,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;IAC/N,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,kCAAkC,EAAE,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE;IAC3Q,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE;IACrD,SAAS,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;IAC1D,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,EAAE,gCAAgC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE;IACrK,MAAM,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,iCAAiC,EAAE,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE;IAC9U,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,iCAAiC,EAAE,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE;IAChW,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE;IACzD,8EAA8E;IAC9E,4DAA4D;IAC5D,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE;IAC1I;;8BAE0B;IAC1B,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE;QACnD,MAAM,EAAE,yBAAyB,EAAE,YAAY,EAAE,kBAAkB;QACnE,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE,qBAAqB;QAC5D,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,cAAc;QACvE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY;KAC3C;IACD,kBAAkB,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE;IACpD,aAAa,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,QAAQ,EAAE;IACrE,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,sBAAsB,EAAE,UAAU,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,cAAc,EAAE;IAC1H,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE;IAClE,sEAAsE;IACtE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,iCAAiC,EAAE,YAAY,EAAE,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,kBAAkB,EAAE,SAAS,EAAE,iBAAiB,EAAE;IACxP,aAAa,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE;IACtQ,UAAU,EAAE,EAAE,aAAa,EAAE,YAAY,EAAE;IAC3C,SAAS,EAAE,CAAC,MAAe,EAAuB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,sBAAsB,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC3W,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,sBAAsB,EAAE;IACrF,OAAO,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE;IACvL,QAAQ,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE;IAC/M,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE;IACzD,WAAW,EAAE,CAAC,KAA0B,EAAuB,EAAE,CAAC,CAAC;QACjE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM;QACtE,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,kBAAkB,EAAE,QAAQ,EAAE,EAAE;QAC1E,UAAU,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,kBAAkB;QACxF,MAAM,EAAE,aAAa,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,sBAAsB,EAAE;QACvF,KAAK,EAAE,uBAAuB;KAC/B,CAAC;IACF,WAAW,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE;IAClG,WAAW,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,iCAAiC,EAAE,YAAY,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;IAC9O,WAAW,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE;IACrD,aAAa,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;IAC5H,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE;CACpJ,CAAC"}
1
+ {"version":3,"file":"Composer.js","sourceRoot":"","sources":["../Composer.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ContextManager.d.ts","sourceRoot":"","sources":["../ContextManager.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContextManager.d.ts","sourceRoot":"","sources":["../ContextManager.tsx"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { getCompression, setCompression } from '@corenel/ui-kit/theme';
5
5
  import { getSystemParts, setSystemParts } from '@corenel/harness/systemParts';
6
6
  import { allTools } from '@corenel/harness/tools/builtins';
7
7
  import { useUsage, fmtTok } from '@corenel/ui-kit/usage';
8
- import { estimateTokens, tokenCountsVersion } from '@corenel/ui-kit/ui-helpers';
8
+ import { estimateTokens, tokenCountsVersion, enableAccurateTokenCounts, onTokenCountsChange } from '@corenel/ui-kit/ui-helpers';
9
9
  import { sessionSentTools } from '@corenel/tools-web/sessionTools';
10
10
  import { subscribeSessionCapabilities } from '@corenel/tools-web/sessionCapabilities';
11
11
  import { subscribeLoadedTools } from '@corenel/tools-web/sessionLoadedTools';
@@ -156,6 +156,14 @@ sessionId) {
156
156
  useEffect(() => subscribeSessionCapabilities(() => setCapTick((t) => t + 1)), []);
157
157
  // A tool_search loading a tool changes what the next request carries.
158
158
  useEffect(() => subscribeLoadedTools(() => setCapTick((t) => t + 1)), []);
159
+ /* The counter upgrades LATE, and that is deliberate: the BPE table is 1.1 MB
160
+ * gzipped, so it is fetched when the drawer that needs it mounts rather than
161
+ * at boot. Both callers of this hook memoise their counts, so without this
162
+ * neither re-renders when it lands -- the collapsed bar in particular would
163
+ * sit on the chars/4 heuristic for the life of the tab while the drawer
164
+ * beside it showed exact numbers, which is the disagreement this hook exists
165
+ * to prevent. */
166
+ useEffect(() => onTokenCountsChange(() => setCapTick((t) => t + 1)), []);
159
167
  const registrySize = allTools().length;
160
168
  const countsVer = tokenCountsVersion();
161
169
  const toolsTok = useMemo(() => {
@@ -166,7 +174,12 @@ sessionId) {
166
174
  }, [registrySize, countsVer, sessionId, capTick]);
167
175
  const partTok = (key) => (key === 'tools' ? toolsTok : (PARTS.find((p) => p.key === key)?.est ?? 0));
168
176
  const systemTok = SYS_BASE_EST + PARTS.reduce((n, p) => n + (parts[p.key] ? partTok(p.key) : 0), 0);
169
- const perTurn = useMemo(() => turns.map((t) => ({ t, tok: turnTokens(t) })), [turns]);
177
+ /* countsVer is load-bearing in these deps. turnTokens re-counts internally
178
+ * when the counter moves, but a memo keyed on `turns` alone never calls it
179
+ * again -- a committed turn array is immutable, so the heuristic counts taken
180
+ * on the first render would stand forever. It went unnoticed while the
181
+ * upgrade happened at boot, before any drawer had rendered a number. */
182
+ const perTurn = useMemo(() => turns.map((t) => ({ t, tok: turnTokens(t) })), [turns, countsVer]);
170
183
  const turnsTok = perTurn.reduce((n, x) => n + (x.t.included ? x.tok : 0), 0);
171
184
  const projected = systemTok + turnsTok;
172
185
  const w = Math.max(1, contextWindow);
@@ -178,6 +191,21 @@ sessionId) {
178
191
  };
179
192
  }
180
193
  export function ContextManagerBody({ contextWindow, parts: partsProp, onToggle, systemSource, systemPrompt, offloaded: offloadedSource, conversation, usageSurface = 'agent', sessionId }) {
194
+ /* THE DRAWER NEEDS EXACT COUNTS, SO THE DRAWER PAYS FOR THEM.
195
+ *
196
+ * This used to be fetched at boot, on every route, behind an idle callback
197
+ * with an 8s deadline. Measured against the deployed bundle, the encoding is
198
+ * 1.1 MB gzipped -- 60% of a cold load's wire bytes and more than the app
199
+ * entry chunk -- spent on a number most sessions never open. Worse, the
200
+ * deadline meant that on a device slow enough for the main thread never to go
201
+ * idle, it fired at 8s regardless: precisely into the window that was already
202
+ * struggling. On a fast machine idle arrives early and the deadline never
203
+ * binds, which is why it looked free.
204
+ *
205
+ * Asked for here it costs nothing until someone opens the drawer. The chars/4
206
+ * heuristic serves until it lands, and onTokenCountsChange re-renders every
207
+ * consumer when it does. */
208
+ useEffect(() => { void enableAccurateTokenCounts(); }, []);
181
209
  const { records } = useUsage();
182
210
  const { toggleInclude, restoreToolResult } = conversation;
183
211
  const [offloaded, setOffloaded] = useState([]);