agent-relay 11.4.2 → 11.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/agent-relay-mcp.d.ts +1 -1
- package/dist/cli/agent-relay-mcp.d.ts.map +1 -1
- package/dist/cli/agent-relay-mcp.js +123 -10
- package/dist/cli/agent-relay-mcp.js.map +1 -1
- package/dist/cli/lib/attach-drive.d.ts +54 -0
- package/dist/cli/lib/attach-drive.d.ts.map +1 -1
- package/dist/cli/lib/attach-drive.js +132 -21
- package/dist/cli/lib/attach-drive.js.map +1 -1
- package/dist/cli/lib/attach-input-recovery.d.ts +123 -0
- package/dist/cli/lib/attach-input-recovery.d.ts.map +1 -0
- package/dist/cli/lib/attach-input-recovery.js +259 -0
- package/dist/cli/lib/attach-input-recovery.js.map +1 -0
- package/dist/cli/lib/attach-passthrough.d.ts +13 -0
- package/dist/cli/lib/attach-passthrough.d.ts.map +1 -1
- package/dist/cli/lib/attach-passthrough.js +70 -18
- package/dist/cli/lib/attach-passthrough.js.map +1 -1
- package/package.json +8 -8
|
@@ -48,6 +48,7 @@ import { Buffer } from 'node:buffer';
|
|
|
48
48
|
import { randomUUID } from 'node:crypto';
|
|
49
49
|
import { StringDecoder } from 'node:string_decoder';
|
|
50
50
|
import WebSocket from 'ws';
|
|
51
|
+
import { createInputStreamRecovery, INPUT_REOPEN_BASE_DELAY_MS, INPUT_REOPEN_MAX_ATTEMPTS, } from './attach-input-recovery.js';
|
|
51
52
|
import { captureAndRenderSnapshot, canReserveStatusLine, clampStatusLineText, createBackpressureAwareWriter, DETACH_CLEANUP_DEADLINE_MS, pickInitialTerminalCols, pickInitialTerminalRows, prepareAttachTarget, reserveStatusLineRow, renderChildScrollRegion, resetLocalTerminalOnDetach, restoreInboundDeliveryModeOnDetach, StatusLineController, StreamSyncBuffer, switchInboundDeliveryModeOrAbort, syncInitialPtySize, TerminalScrollRegionTracker, } from '../lib/attach.js';
|
|
52
53
|
import { defaultStateDir, readConnectionFileFromDisk, toWsUrl, } from '../lib/broker-connection.js';
|
|
53
54
|
import { defaultExit, runSignalHandler } from '../lib/exit.js';
|
|
@@ -97,6 +98,7 @@ function withDefaults(overrides = {}) {
|
|
|
97
98
|
},
|
|
98
99
|
},
|
|
99
100
|
openInputStream: (connection, name, options) => openPtyInputStream(connection, name, fetchFn, options),
|
|
101
|
+
getWorkerIdentity: (connection, name) => fetchWorkerIdentity(connection, name, fetchFn),
|
|
100
102
|
createPredictiveEcho,
|
|
101
103
|
...overrides,
|
|
102
104
|
};
|
|
@@ -180,6 +182,55 @@ export async function sendInput(connection, name, data, fetchFn) {
|
|
|
180
182
|
return { ok: false, message: failure.message };
|
|
181
183
|
}
|
|
182
184
|
}
|
|
185
|
+
/**
|
|
186
|
+
* Best-available identity for the worker process behind `name`, or `null` when
|
|
187
|
+
* it cannot be established.
|
|
188
|
+
*
|
|
189
|
+
* The broker exposes no per-instance token for a worker — no `instance_id`,
|
|
190
|
+
* `run_id`, `epoch`, or absolute spawn timestamp reaches the wire (#1454). The
|
|
191
|
+
* only restart-discriminating values on `GET /api/spawned` are two pids, and
|
|
192
|
+
* they are not interchangeable:
|
|
193
|
+
*
|
|
194
|
+
* - `workerPid` (`crates/broker/src/worker.rs:243` = `handle.child.id()`) is the
|
|
195
|
+
* PTY child itself — the process whose terminal we are driving. Present as
|
|
196
|
+
* soon as the worker is spawned.
|
|
197
|
+
* - `pid` (`worker.rs:242` = `handle.harness_pid`) is the *harness* wrapper, and
|
|
198
|
+
* stays null until the worker completes the harness ready handshake
|
|
199
|
+
* (`worker_events.rs:849`). Verified against a live broker: a plain PTY worker
|
|
200
|
+
* reports `pid: null` and `workerPid: 30209`, so keying on `pid` alone would
|
|
201
|
+
* make every reopen unverifiable for exactly the workers this path serves.
|
|
202
|
+
*
|
|
203
|
+
* So prefer `workerPid` and fold in `pid` when the broker also has it — a change
|
|
204
|
+
* in either means the process behind the name changed.
|
|
205
|
+
*
|
|
206
|
+
* This is a heuristic, not a nonce: the OS can reuse a pid. It is used to
|
|
207
|
+
* *reject* a reopen that lands on a visibly different process, never to prove
|
|
208
|
+
* two processes are the same — callers treat `null` as "cannot verify" and
|
|
209
|
+
* fail closed. The durable fix is for the broker to surface the per-spawn
|
|
210
|
+
* identity it already holds in memory (`WorkerHandle.spawned_at`,
|
|
211
|
+
* `PersistedAgent.started_at`, or the `MetricsCollector` spawn counter) — #1454.
|
|
212
|
+
*/
|
|
213
|
+
export async function fetchWorkerIdentity(connection, name, fetchFn) {
|
|
214
|
+
try {
|
|
215
|
+
const agents = await createBrokerClient(connection, fetchFn).listAgents();
|
|
216
|
+
const agent = agents.find((candidate) => candidate.name === name);
|
|
217
|
+
if (!agent)
|
|
218
|
+
return null;
|
|
219
|
+
// `workerPid` is on the wire but absent from the typed contract, so read it
|
|
220
|
+
// off the record defensively rather than widening `ListAgent` here.
|
|
221
|
+
const workerPid = agent.workerPid;
|
|
222
|
+
const parts = [];
|
|
223
|
+
if (typeof workerPid === 'number')
|
|
224
|
+
parts.push(`worker:${workerPid}`);
|
|
225
|
+
if (typeof agent.pid === 'number')
|
|
226
|
+
parts.push(`harness:${agent.pid}`);
|
|
227
|
+
// No pid of either kind means the broker cannot tell us who this is.
|
|
228
|
+
return parts.length > 0 ? parts.join('/') : null;
|
|
229
|
+
}
|
|
230
|
+
catch {
|
|
231
|
+
return null;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
183
234
|
/** Open the SDK-backed raw PTY input stream for interactive CLI sessions. */
|
|
184
235
|
export function openPtyInputStream(connection, name, fetchFn, options) {
|
|
185
236
|
return createBrokerClient(connection, fetchFn).openInputStream(name, options);
|
|
@@ -600,6 +651,45 @@ function runDriveSessionLoop(state, deps) {
|
|
|
600
651
|
});
|
|
601
652
|
return deliveryToggleInFlight;
|
|
602
653
|
};
|
|
654
|
+
// ---- input-stream liveness ----
|
|
655
|
+
// A closed PTY input stream is a session-liveness event, not a
|
|
656
|
+
// per-keystroke error. See `attach-input-recovery.ts` for why (#1419).
|
|
657
|
+
//
|
|
658
|
+
// Identity of the worker this session attached to, captured once at attach
|
|
659
|
+
// and compared after any reopen. `null` means the broker could not tell us,
|
|
660
|
+
// which is treated as "cannot verify" — never as "verified".
|
|
661
|
+
let attachedWorkerIdentity = null;
|
|
662
|
+
const inputRecovery = createInputStreamRecovery({
|
|
663
|
+
label: 'drive',
|
|
664
|
+
name,
|
|
665
|
+
maxAttempts: deps.inputReopenMaxAttempts ?? INPUT_REOPEN_MAX_ATTEMPTS,
|
|
666
|
+
baseDelayMs: deps.inputReopenBaseDelayMs ?? INPUT_REOPEN_BASE_DELAY_MS,
|
|
667
|
+
log: (message) => deps.log(message),
|
|
668
|
+
error: (message) => deps.error(message),
|
|
669
|
+
isSettled: () => settled,
|
|
670
|
+
getStream: () => inputStream,
|
|
671
|
+
setStream: (stream) => {
|
|
672
|
+
inputStream = stream;
|
|
673
|
+
},
|
|
674
|
+
openStream: () => deps.openInputStream(connection, name),
|
|
675
|
+
onRollback: () => predictiveEcho?.rollback(),
|
|
676
|
+
onExhausted: () => finish(1),
|
|
677
|
+
verifyIdentity: async () => {
|
|
678
|
+
// Fail closed in both directions: if we never learned who we attached
|
|
679
|
+
// to, we cannot claim the replacement is the same process either.
|
|
680
|
+
if (attachedWorkerIdentity === null) {
|
|
681
|
+
return { ok: false, reason: 'worker identity was unavailable at attach' };
|
|
682
|
+
}
|
|
683
|
+
const current = await deps.getWorkerIdentity(connection, name);
|
|
684
|
+
if (current === null) {
|
|
685
|
+
return { ok: false, reason: 'worker identity could not be read after reconnect' };
|
|
686
|
+
}
|
|
687
|
+
if (current !== attachedWorkerIdentity) {
|
|
688
|
+
return { ok: false, reason: `worker process changed (${attachedWorkerIdentity} → ${current})` };
|
|
689
|
+
}
|
|
690
|
+
return { ok: true };
|
|
691
|
+
},
|
|
692
|
+
});
|
|
603
693
|
// ---- stdin handling ----
|
|
604
694
|
let stdinReady = false;
|
|
605
695
|
const stdinDataHandler = (chunk) => {
|
|
@@ -615,29 +705,38 @@ function runDriveSessionLoop(state, deps) {
|
|
|
615
705
|
const outcome = parser.feed(chunk);
|
|
616
706
|
if (outcome.forward.length > 0) {
|
|
617
707
|
const stream = inputStream;
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
708
|
+
// A dead or missing stream is a liveness event, not a per-keystroke
|
|
709
|
+
// error. Drop this input silently — recovery has already announced
|
|
710
|
+
// itself — rather than emitting a line for every byte the terminal
|
|
711
|
+
// sends us. Input during the outage is dropped, not buffered: replaying
|
|
712
|
+
// stale keystrokes into a recovered PTY would execute them out of
|
|
713
|
+
// context, which is worse than losing them.
|
|
714
|
+
//
|
|
715
|
+
// Skip only the *forwarding*; fall through to the action loop below.
|
|
716
|
+
// Ctrl+C can share a chunk with ordinary bytes, and returning here
|
|
717
|
+
// would swallow the detach — leaving the human unable to escape a
|
|
718
|
+
// broken session, which is worse than the flood.
|
|
719
|
+
if (!inputRecovery.isUsable(stream)) {
|
|
720
|
+
inputRecovery.recover('stream closed');
|
|
621
721
|
}
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
722
|
+
else {
|
|
723
|
+
// Decode through the stateful UTF-8 decoder so a multi-byte character
|
|
724
|
+
// split across stdin chunks is forwarded intact rather than as U+FFFD.
|
|
725
|
+
// An incomplete trailing sequence decodes to '' and is held until the
|
|
726
|
+
// next chunk completes it.
|
|
727
|
+
const decoded = inputDecoder.write(outcome.forward);
|
|
728
|
+
if (decoded.length > 0) {
|
|
729
|
+
// Fire-and-forget; don't block the event loop on every keystroke.
|
|
730
|
+
void stream.send(decoded).then(() => inputRecovery.noteSendSuccess(), (err) => {
|
|
731
|
+
if (settled)
|
|
732
|
+
return;
|
|
733
|
+
// Classified, not assumed: backpressure leaves the stream
|
|
734
|
+
// healthy and must not trigger a teardown.
|
|
735
|
+
inputRecovery.handleSendFailure(err);
|
|
736
|
+
});
|
|
737
|
+
}
|
|
738
|
+
predictiveEcho?.onUserInput(outcome.forward);
|
|
639
739
|
}
|
|
640
|
-
predictiveEcho?.onUserInput(outcome.forward);
|
|
641
740
|
}
|
|
642
741
|
for (const action of outcome.actions) {
|
|
643
742
|
switch (action) {
|
|
@@ -706,6 +805,9 @@ function runDriveSessionLoop(state, deps) {
|
|
|
706
805
|
rawModeWasSet = false;
|
|
707
806
|
};
|
|
708
807
|
const closeInputStream = () => {
|
|
808
|
+
// Cancel any pending reopen backoff so a detach mid-recovery doesn't
|
|
809
|
+
// leave a timer holding a reference to a torn-down session.
|
|
810
|
+
inputRecovery.cancel();
|
|
709
811
|
const stream = inputStream;
|
|
710
812
|
inputStream = null;
|
|
711
813
|
if (!stream)
|
|
@@ -815,6 +917,15 @@ function runDriveSessionLoop(state, deps) {
|
|
|
815
917
|
closeInputStream();
|
|
816
918
|
return;
|
|
817
919
|
}
|
|
920
|
+
// Baseline for the reopen identity gate. Best-effort: a broker that
|
|
921
|
+
// won't tell us leaves this null, which makes any later reopen refuse
|
|
922
|
+
// rather than guess. Not fatal here — the initial attach is the seat
|
|
923
|
+
// the human asked for.
|
|
924
|
+
attachedWorkerIdentity = await deps.getWorkerIdentity(connection, name);
|
|
925
|
+
if (settled) {
|
|
926
|
+
closeInputStream();
|
|
927
|
+
return;
|
|
928
|
+
}
|
|
818
929
|
// Register the temporary input handler before raw mode. Ctrl+C is an
|
|
819
930
|
// ordinary byte in raw mode, so this keeps detach available while a
|
|
820
931
|
// snapshot fetch or initial resize is still pending.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attach-drive.js","sourceRoot":"","sources":["../../../src/cli/lib/attach-drive.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"attach-drive.js","sourceRoot":"","sources":["../../../src/cli/lib/attach-drive.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Recovery for a lost PTY input stream, shared by `attach --mode drive` and
|
|
3
|
+
* `attach --mode passthrough`.
|
|
4
|
+
*
|
|
5
|
+
* The SDK's `PtyInputStream` never reopens itself. Once its socket closes the
|
|
6
|
+
* `closed` flag latches and every later `send()` rejects immediately with
|
|
7
|
+
* `PTY input stream is closed`. That close is easy to hit and easy to miss: the
|
|
8
|
+
* broker pings the *events* WebSocket every 30s but never pings the *input*
|
|
9
|
+
* WebSocket, so an idle input socket is silent on the wire and any idle timeout
|
|
10
|
+
* between client and broker kills it alone — the screen keeps updating while
|
|
11
|
+
* input is permanently dead. A broker-side write error (PTY worker restart)
|
|
12
|
+
* closes it the same way.
|
|
13
|
+
*
|
|
14
|
+
* Before this, both attach modes caught that rejection per keystroke, logged
|
|
15
|
+
* it, and returned. Nothing tore the session down, so the line repeated for as
|
|
16
|
+
* long as stdin produced bytes. There was no retry loop — the repetition was
|
|
17
|
+
* 1:1 with inbound chunks, and since the keybind parser forwards every byte
|
|
18
|
+
* except Ctrl+C / Ctrl+], a source TUI with mouse tracking enabled flooded the
|
|
19
|
+
* terminal on pointer movement alone, with the human never touching a key.
|
|
20
|
+
*
|
|
21
|
+
* This turns that into one liveness event: report once, reopen with bounded
|
|
22
|
+
* exponential backoff, and on exhaustion hand control back to the caller so the
|
|
23
|
+
* session exits non-zero. A dead seat that looks alive is the defect; a
|
|
24
|
+
* readable exit a supervisor can act on is the contract (#1419).
|
|
25
|
+
*/
|
|
26
|
+
import type { CliPtyInputStream } from './attach-drive.js';
|
|
27
|
+
/** Default number of reopen attempts before a lost input stream ends the session. */
|
|
28
|
+
export declare const INPUT_REOPEN_MAX_ATTEMPTS = 5;
|
|
29
|
+
/** Default base delay for the reopen backoff; doubles per attempt. */
|
|
30
|
+
export declare const INPUT_REOPEN_BASE_DELAY_MS = 250;
|
|
31
|
+
/** Ceiling on the doubled reopen delay. */
|
|
32
|
+
export declare const INPUT_REOPEN_MAX_DELAY_MS = 4000;
|
|
33
|
+
/** Ceiling on one attempt's open wait and identity check. */
|
|
34
|
+
export declare const INPUT_REOPEN_ATTEMPT_TIMEOUT_MS = 15000;
|
|
35
|
+
/**
|
|
36
|
+
* `PtyInputStream.send()` rejects with `input_backpressure` when queued bytes
|
|
37
|
+
* would exceed its high-water mark — **while the stream is open and healthy**
|
|
38
|
+
* (`transport.ts:206-214`, `retryable: true`). That is flow control, not
|
|
39
|
+
* transport death: tearing the socket down and reopening it would drop every
|
|
40
|
+
* outstanding keystroke and re-run the identity gate, turning a slow broker
|
|
41
|
+
* into a detach. Every other rejection means the stream is gone or unusable.
|
|
42
|
+
*/
|
|
43
|
+
export declare function isBackpressureRejection(error: unknown): boolean;
|
|
44
|
+
export interface InputStreamRecoveryOptions {
|
|
45
|
+
/** Log prefix tag — `drive` or `passthrough`. */
|
|
46
|
+
label: string;
|
|
47
|
+
/** Agent name, used in the operator-facing exhaustion message. */
|
|
48
|
+
name: string;
|
|
49
|
+
/** Attempts before giving up. `0` disables recovery: the first loss exits. */
|
|
50
|
+
maxAttempts: number;
|
|
51
|
+
/** Base backoff delay in ms; doubles per attempt up to the max. */
|
|
52
|
+
baseDelayMs: number;
|
|
53
|
+
log: (message: string) => void;
|
|
54
|
+
error: (message: string) => void;
|
|
55
|
+
/** True once the session has begun tearing down; stops all recovery work. */
|
|
56
|
+
isSettled: () => boolean;
|
|
57
|
+
getStream: () => CliPtyInputStream | null;
|
|
58
|
+
setStream: (stream: CliPtyInputStream | null) => void;
|
|
59
|
+
/** Opens a replacement stream. May throw; a throw counts as a failed attempt. */
|
|
60
|
+
openStream: () => CliPtyInputStream;
|
|
61
|
+
/** Drop optimistic echo for keystrokes that never reached the PTY. */
|
|
62
|
+
onRollback: () => void;
|
|
63
|
+
/** Called when every attempt failed. Callers exit non-zero here. */
|
|
64
|
+
onExhausted: () => void;
|
|
65
|
+
/**
|
|
66
|
+
* Proves the reopened stream reached the SAME worker process the session
|
|
67
|
+
* originally attached to. Called after every successful reopen, before a
|
|
68
|
+
* single byte is forwarded.
|
|
69
|
+
*
|
|
70
|
+
* **Required, deliberately.** The input stream is reopened *by agent name*,
|
|
71
|
+
* and a name is not an identity: if the worker died and something else
|
|
72
|
+
* claimed the name, a "successful" reopen would quietly route the human's
|
|
73
|
+
* keystrokes into a different agent's PTY. Restarting the same agent is
|
|
74
|
+
* equally wrong for input safety — keystrokes typed for the old session's
|
|
75
|
+
* context would land in a fresh shell. An optional verifier is not a gate,
|
|
76
|
+
* because the unsafe path is then reachable by omission.
|
|
77
|
+
*
|
|
78
|
+
* Must fail closed: anything other than a positive match — identity
|
|
79
|
+
* unavailable, unreadable, or changed — has to return `ok: false` so the
|
|
80
|
+
* session exits loudly instead of reattaching on a guess. Throwing is also
|
|
81
|
+
* treated as a refusal; a verifier that cannot answer has not said yes.
|
|
82
|
+
*/
|
|
83
|
+
verifyIdentity: () => Promise<{
|
|
84
|
+
ok: true;
|
|
85
|
+
} | {
|
|
86
|
+
ok: false;
|
|
87
|
+
reason: string;
|
|
88
|
+
}>;
|
|
89
|
+
/**
|
|
90
|
+
* Ceiling on a single reopen attempt's open and identity-verify waits.
|
|
91
|
+
* Without it a stalled socket or a hung broker call parks the session in
|
|
92
|
+
* recovery forever, so neither the attempt count nor the non-zero exhaustion
|
|
93
|
+
* exit is actually bounded. Defaults to
|
|
94
|
+
* {@link INPUT_REOPEN_ATTEMPT_TIMEOUT_MS}.
|
|
95
|
+
*/
|
|
96
|
+
attemptTimeoutMs?: number;
|
|
97
|
+
}
|
|
98
|
+
export interface InputStreamRecovery {
|
|
99
|
+
/**
|
|
100
|
+
* True when `stream` is present and not known-dead. Callers check this
|
|
101
|
+
* *before* sending, so a dead stream costs one liveness event instead of one
|
|
102
|
+
* rejected promise (and one log line) per keystroke. A type predicate so the
|
|
103
|
+
* caller's handle narrows to non-null on the sending path.
|
|
104
|
+
*/
|
|
105
|
+
isUsable(stream: CliPtyInputStream | null): stream is CliPtyInputStream;
|
|
106
|
+
/** True while a reopen is in flight. */
|
|
107
|
+
isRecovering(): boolean;
|
|
108
|
+
/** Begin recovery. No-ops if already recovering or settled. */
|
|
109
|
+
recover(reason: string): void;
|
|
110
|
+
/**
|
|
111
|
+
* Classify a rejected `send()`. Backpressure is flow control on a healthy
|
|
112
|
+
* stream and only costs the optimistic echo; everything else is treated as
|
|
113
|
+
* transport loss and enters recovery. Callers route every send rejection
|
|
114
|
+
* here rather than assuming loss.
|
|
115
|
+
*/
|
|
116
|
+
handleSendFailure(error: unknown): void;
|
|
117
|
+
/** Clears the backpressure latch so a later episode reports again. */
|
|
118
|
+
noteSendSuccess(): void;
|
|
119
|
+
/** Cancel a pending backoff timer (detach mid-recovery). */
|
|
120
|
+
cancel(): void;
|
|
121
|
+
}
|
|
122
|
+
export declare function createInputStreamRecovery(options: InputStreamRecoveryOptions): InputStreamRecovery;
|
|
123
|
+
//# sourceMappingURL=attach-input-recovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attach-input-recovery.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/attach-input-recovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,qFAAqF;AACrF,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAC3C,sEAAsE;AACtE,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,2CAA2C;AAC3C,eAAO,MAAM,yBAAyB,OAAQ,CAAC;AAC/C,6DAA6D;AAC7D,eAAO,MAAM,+BAA+B,QAAS,CAAC;AAEtD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAI/D;AAED,MAAM,WAAW,0BAA0B;IACzC,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,WAAW,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,6EAA6E;IAC7E,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,SAAS,EAAE,MAAM,iBAAiB,GAAG,IAAI,CAAC;IAC1C,SAAS,EAAE,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,KAAK,IAAI,CAAC;IACtD,iFAAiF;IACjF,UAAU,EAAE,MAAM,iBAAiB,CAAC;IACpC,sEAAsE;IACtE,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,oEAAoE;IACpE,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB;;;;;;;;;;;;;;;;;OAiBG;IACH,cAAc,EAAE,MAAM,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAOD,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,GAAG,MAAM,IAAI,iBAAiB,CAAC;IACxE,wCAAwC;IACxC,YAAY,IAAI,OAAO,CAAC;IACxB,+DAA+D;IAC/D,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;;;OAKG;IACH,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACxC,sEAAsE;IACtE,eAAe,IAAI,IAAI,CAAC;IACxB,4DAA4D;IAC5D,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,0BAA0B,GAAG,mBAAmB,CAwPlG"}
|