@pouchy_ai/companion-sdk 0.38.1 → 0.40.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/CHANGELOG.md CHANGED
@@ -12,6 +12,67 @@ a protocol bump is always called out explicitly here.
12
12
 
13
13
  ## [Unreleased]
14
14
 
15
+ ## [0.40.0] - 2026-07-25
16
+
17
+ Fix (buffered sends no longer time out on healthy long turns — CR-141).
18
+
19
+ - **The buffered `/input` path is exempt from the general 30 s
20
+ `requestTimeoutMs` default.** `requestTimeoutMs` (0.35.0) is a
21
+ time-to-response-HEADERS deadline — correct for the SSE legs, where headers
22
+ arrive immediately. But a buffered send (no `onDelta` subscriber and no
23
+ `stream: true`, or an outbox replay) gets its headers only when the TURN
24
+ completes (the server runs up to 300 s), so the 30 s default rejected
25
+ `request_timeout` on any turn longer than 30 s **while the turn kept running,
26
+ billing, and executing tools server-side** — and `@pouchy_ai/react`'s
27
+ `useMessages` rollback then erased the user's message from the thread. The
28
+ buffered `/input` POSTs (plain buffered send, `awaitReply` + `stream: false`,
29
+ and outbox replays) now default to a 310 s deadline — the server's own turn
30
+ ceiling plus headroom — so a hung server is still cut. An explicitly set
31
+ `requestTimeoutMs` (including `0` = disabled) continues to bound EVERY
32
+ request at your value, buffered sends included.
33
+ - This also makes the documented `awaitReply` + `stream: false` contract
34
+ reachable: the reply now times out as `reply_timeout` after `replyTimeoutMs`
35
+ (60 s default), instead of `request_timeout` at 30 s firing first with the
36
+ wrong code.
37
+ - Server-side companion fix riding this release note (no SDK code involved):
38
+ `POST /session/{id}/end` — which `connectCall().close()` already calls via
39
+ `endSession()` — now also clears the voice-call-active window, so a hang-up
40
+ no longer leaves a phantom ≤20 min window in which world-state kept being
41
+ spoken into a dead call while text play-along reactions stayed suppressed.
42
+
43
+ ## [0.39.0] - 2026-07-25
44
+
45
+ Fix (offline outbox reliability — two silent-loss / double-run classes). Both
46
+ only bite the persisted `queueOffline` queue (0.34.0), whose items replay on
47
+ the NEXT connect — potentially long after they were queued.
48
+
49
+ - **A transient 409 during replay no longer discards the send.** `flushOutbox`
50
+ treated any 4xx-except-429 as "the server rejected this, drop it" — but the
51
+ `/input` route returns **409** for two purely TRANSIENT states (a previous
52
+ turn awaiting tool results / another turn mid-flight). A reconnect auto-flush
53
+ landing while a turn was still running dropped the queued message forever
54
+ (the "N pending" badge fell 1→0, indistinguishable from delivered). 409 (and
55
+ 408/423/425) are now KEPT and retried on the next flush; only a terminal 4xx
56
+ (400/401/403/404/422) drops the item.
57
+ - **A stale ambiguous replay can no longer double-run a turn.** Replays reuse
58
+ the original `turnId`, safe only while the server still remembers it. The
59
+ server's dedup window was 10 min / last 8 turns — far shorter than a persisted
60
+ outbox can sit — so a replay after a longer gap re-ran the SAME turn (double
61
+ model bill + duplicate reply + duplicate tool side effects, incl. an approved
62
+ `pay_*`). Now: (a) a queued send records whether it PROVABLY never reached the
63
+ server (`QueuedSend.unsent` — `navigator.onLine` was false, the request was
64
+ never made); those replay at any age (they run exactly once). (b) An AMBIGUOUS
65
+ item (a dispatch was attempted and failed at the network level / a stream
66
+ dropped mid-flight — the turn MAY have run) is auto-replayed only while
67
+ younger than the new exported `OUTBOX_AMBIGUOUS_MAX_AGE_MS` (30 min); past
68
+ that it is dropped rather than risk a double-run. (c) The server dedup window
69
+ is widened to 60 min / last 32 turns so any item the client will replay is
70
+ still deduplicated.
71
+
72
+ Additive surface: `OUTBOX_AMBIGUOUS_MAX_AGE_MS` export and the optional
73
+ `QueuedSend.unsent` field (minor bump). No wire/protocol change
74
+ (`PROTOCOL_VERSION` stays `1`).
75
+
15
76
  ## [0.38.1] - 2026-07-24
16
77
 
17
78
  Fix (voice, OpenAI provider): the SDP-answer **body** read is now bounded by
package/README.md CHANGED
@@ -119,7 +119,11 @@ never the token, headers, or bodies), `queueOffline` (0.34.0 — opt-in offline
119
119
  send queue, below) with `outboxStore` (custom persistence for it; default
120
120
  localStorage), `requestTimeoutMs` (0.35.0 — deadline for any request to
121
121
  produce response HEADERS, default 30 000 ms, `0` disables; expiry rejects
122
- `code: 'request_timeout'`; never bounds reading a streaming body),
122
+ `code: 'request_timeout'`; never bounds reading a streaming body; since
123
+ 0.40.0 buffered `/input` sends — whose headers only arrive when the turn
124
+ completes — default to the server's 310 s turn ceiling instead of 30 s, so a
125
+ long-running turn is no longer declared dead while it succeeds server-side;
126
+ an explicit `requestTimeoutMs` still bounds every request at your value),
123
127
  `replayPendingToolCalls` (0.37.0, default `true` — when `connect()` resumes a
124
128
  session paused on YOUR tools, re-emit each outstanding call to `onToolCall`
125
129
  with `replayed: true`; see "Resuming a paused turn" below), and two
@@ -181,7 +185,7 @@ local/device skills).
181
185
  | `streamState` / `onStreamStateChange(fn)` | Receive-stream lifecycle (0.30.0): `'idle' \| 'connecting' \| 'connected' \| 'reconnecting' \| 'degraded_sse' \| 'stopped'` (`CompanionStreamState`). `fn(state, prev)` fires on change only — drive a connection indicator; `degraded_sse` = the WS transport errored and delivery continues on the SSE fallback; `stopped` = `stop()`/`close()` or a permanent `stream_unauthorized` failure. |
182
186
  | `getAvatar()` / `brandIconUrl(size?)` | The user's avatar (VRM/portrait) and the Pouchy brand icon for your UI. Standalone (no client/token): `pouchyBrandIconUrl(baseUrl, size?)` derives the same URL before/without connecting. |
183
187
  | `getWallet()` | Read the instance's own wallet — `{ balances: [{ currency, amount }], totalUsd, currency }`. Read-only + receive-only; needs the `wallet.read` scope. |
184
- | `flushOutbox()` / `pendingOutbox()` / `onOutboxChange(fn)` | **Offline send queue** (0.34.0, opt-in `queueOffline: true`). A `sendText` whose fetch fails at the NETWORK level (or `navigator.onLine === false`) resolves `{ seq: null, queued: true, turnId }` instead of rejecting; with `awaitReply: true` it rejects with `code: 'queued_offline'` (the item is still queued). HTTP errors (4xx/5xx incl. 429) are never queued — the server saw those. The queue replays FIFO — automatically after `connect()` and whenever the stream reconnects, or manually via `flushOutbox()` → `{ sent, remaining }` — each item a buffered POST reusing its ORIGINAL `turnId`, which the server dedupes (completed turnIds, 10 min / last 8 per session), so a retried ambiguous failure can never double-run a turn. `pendingOutbox()` lists the queued sends (`QueuedSend[]`); `onOutboxChange(fn)` fires on every enqueue/flush/drop (drive a "N pending" badge). Persistence: localStorage by default (in-memory page-lifetime fallback), or bring your own via the `outboxStore` option. |
188
+ | `flushOutbox()` / `pendingOutbox()` / `onOutboxChange(fn)` | **Offline send queue** (0.34.0, opt-in `queueOffline: true`). A `sendText` whose fetch fails at the NETWORK level (or `navigator.onLine === false`) resolves `{ seq: null, queued: true, turnId }` instead of rejecting; with `awaitReply: true` it rejects with `code: 'queued_offline'` (the item is still queued). HTTP errors (4xx/5xx incl. 429) are never queued — the server saw those. The queue replays FIFO — automatically after `connect()` and whenever the stream reconnects, or manually via `flushOutbox()` → `{ sent, remaining }` — each item a buffered POST reusing its ORIGINAL `turnId`, which the server dedupes (completed turnIds, 60 min / last 32 per session). Replay is double-run-safe past that window too: a provably-unsent item (`QueuedSend.unsent`, `navigator.onLine` was false) replays at any age, an ambiguous item is auto-replayed only under `OUTBOX_AMBIGUOUS_MAX_AGE_MS` (30 min) and dropped past it, and a transient `409`/`408`/`423`/`425` mid-flush is kept (only a terminal 4xx drops the item). `pendingOutbox()` lists the queued sends (`QueuedSend[]`); `onOutboxChange(fn)` fires on every enqueue/flush/drop (drive a "N pending" badge). Persistence: localStorage by default (in-memory page-lifetime fallback), or bring your own via the `outboxStore` option. |
185
189
 
186
190
  Tool calling beyond your own declared tools — **voice calls only**: on
187
191
  `connectCall()` sessions the SDK automatically offers `HOST_CONTROL_TOOLS`
@@ -213,7 +217,13 @@ ac.abort(); // p rejects with code: 'aborted'
213
217
  network-level send failure (fetch rejected / `navigator.onLine === false`)
214
218
  into a queued send instead of a lost one — replayed FIFO on reconnect with
215
219
  its original `turnId` (server-deduped, so a retry can never double-run a
216
- turn; see the methods table above for the full per-item semantics):
220
+ turn; see the methods table above for the full per-item semantics). Since
221
+ 0.39.0 the replay is double-run-safe even after a long offline gap: a send
222
+ known to have never reached the server (`navigator.onLine` was false) replays
223
+ at any age, while an AMBIGUOUS one (the turn may have run server-side) is
224
+ replayed only while younger than `OUTBOX_AMBIGUOUS_MAX_AGE_MS` (30 min) and
225
+ dropped past that rather than risk a duplicate; a transient `409` mid-flush
226
+ keeps the item instead of discarding it:
217
227
 
218
228
  ```ts
219
229
  const companion = createCompanion({ baseUrl, token, queueOffline: true });
package/dist/client.d.ts CHANGED
@@ -105,7 +105,14 @@ export interface CompanionClientOptions {
105
105
  * sendText reply) is never bounded by this — the timer is cleared the
106
106
  * moment headers arrive. Composes with any per-call AbortSignal (whichever
107
107
  * fires first wins); the timeout rejects as a status-0 CompanionError with
108
- * code 'request_timeout'. Default 30_000; 0 disables. */
108
+ * code 'request_timeout'. Default 30_000; 0 disables.
109
+ *
110
+ * BUFFERED `/input` sends are the one exception to the 30s default
111
+ * (0.40.0): there the server answers only when the TURN completes, so the
112
+ * default deadline for those POSTs is 310s — the server's own turn ceiling
113
+ * — instead of 30s (which declared healthy >30s turns dead while they kept
114
+ * running, and billing, server-side). Setting `requestTimeoutMs` explicitly
115
+ * bounds EVERY request at your value, buffered sends included. */
109
116
  requestTimeoutMs?: number;
110
117
  }
111
118
  export interface HelloAck {
@@ -247,13 +254,32 @@ export interface SendTextReply {
247
254
  }
248
255
  /** One send queued while offline (see the `queueOffline` option) — replayed
249
256
  * FIFO by flushOutbox with its ORIGINAL `turnId` (the server's turn-dedup is
250
- * what makes the retry safe). `at` is Date.now() at enqueue. */
257
+ * what makes the retry safe). `at` is Date.now() at enqueue.
258
+ *
259
+ * `unsent` (0.39.0, CR-140) records whether the send provably NEVER reached
260
+ * the server: `true` when `navigator.onLine` was already false (the request
261
+ * was never made), so the replay runs the turn exactly once at ANY age.
262
+ * Absent/`false` = AMBIGUOUS — a dispatch was attempted and failed at the
263
+ * network level (or a stream dropped mid-flight), so the turn MAY have run
264
+ * server-side; flushOutbox only auto-replays these while they are younger than
265
+ * `OUTBOX_AMBIGUOUS_MAX_AGE_MS` (past that the server may have forgotten the
266
+ * turnId and a replay would double-run it). */
251
267
  export interface QueuedSend {
252
268
  turnId: string;
253
269
  text: string;
254
270
  images?: string[];
255
271
  at: number;
272
+ unsent?: boolean;
256
273
  }
274
+ /** Max age at which flushOutbox will still auto-replay an AMBIGUOUS queued send
275
+ * (one that may already have run server-side — see `QueuedSend.unsent`). Kept
276
+ * comfortably BELOW the server's completed-turn dedup window
277
+ * (`RECENT_TURN_TTL_MS`, 60min) so any ambiguous item replayed within this
278
+ * bound is still deduped and cannot double-run; older ambiguous items are
279
+ * dropped (a lost uncertain message is the lesser evil vs a double bill /
280
+ * duplicate side effect). Provably-unsent items ignore this and replay at any
281
+ * age. */
282
+ export declare const OUTBOX_AMBIGUOUS_MAX_AGE_MS: number;
257
283
  /** Pluggable persistence for the offline send queue (the `outboxStore`
258
284
  * option). Both methods receive the storage key
259
285
  * (`pouchy-outbox:${surface}`); `load` returns the previously-saved value or
@@ -383,7 +409,10 @@ export declare class CompanionClient {
383
409
  * code-bearing, so the offline queue's network-failure predicate correctly
384
410
  * ignores it (the server may have received the request). The abandoned
385
411
  * fetch keeps its rejection silenced so a late network error can't surface
386
- * as an unhandled rejection. */
412
+ * as an unhandled rejection. `defaultBudgetMs` is the deadline used when the
413
+ * host did NOT set `requestTimeoutMs` — buffered `/input` POSTs raise it to
414
+ * `BUFFERED_TURN_TIMEOUT_MS` because their headers only arrive when the turn
415
+ * completes; an explicit `requestTimeoutMs` (including 0) always wins. */
387
416
  private doFetchBounded;
388
417
  private fetchAuthed;
389
418
  /** Normalize a thrown fetch error to a CompanionError. An AbortError (the
@@ -785,7 +814,7 @@ export declare class CompanionClient {
785
814
  * - **First-party user tokens** (Login-with-Pouchy PATs): observe-only —
786
815
  * approval is authed as the Pouchy user (their app / a hosted confirm
787
816
  * page), which is also where the biometric (Face ID / passkey) gate
788
- * lives. `confirmAction` returns 401 on these tokens. */
817
+ * lives. `confirmAction` returns 403 (code `forbidden`) on these tokens. */
789
818
  onConfirmRequest(handler: (payload: ConfirmRequestPayload, envelope: CompanionEnvelope) => void): () => void;
790
819
  /** Resolve a pending confirmation (platform session tokens only — see
791
820
  * `onConfirmRequest`). Show the user what they're approving (the event's
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -42,6 +42,23 @@ export function pouchyBrandIconUrl(baseUrl, size = 512) {
42
42
  * (so call.ts shares it cycle-free); re-exported here so the public import
43
43
  * path is unchanged. */
44
44
  export { CompanionError } from './errors.js';
45
+ /** Max age at which flushOutbox will still auto-replay an AMBIGUOUS queued send
46
+ * (one that may already have run server-side — see `QueuedSend.unsent`). Kept
47
+ * comfortably BELOW the server's completed-turn dedup window
48
+ * (`RECENT_TURN_TTL_MS`, 60min) so any ambiguous item replayed within this
49
+ * bound is still deduped and cannot double-run; older ambiguous items are
50
+ * dropped (a lost uncertain message is the lesser evil vs a double bill /
51
+ * duplicate side effect). Provably-unsent items ignore this and replay at any
52
+ * age. */
53
+ export const OUTBOX_AMBIGUOUS_MAX_AGE_MS = 30 * 60_000;
54
+ /** Default headers deadline for BUFFERED `/input` POSTs (no SSE). On that path
55
+ * the server runs the whole agent turn BEFORE responding, so response headers
56
+ * only arrive when the turn completes — the general 30s `requestTimeoutMs`
57
+ * default declared a healthy >30s turn dead (`request_timeout`) while it kept
58
+ * running (and billing) server-side. Sized to the server's own turn ceiling
59
+ * (`/input` `config.maxDuration = 300`s) plus headroom, so a genuinely hung
60
+ * server is still cut. An explicit `requestTimeoutMs` (or 0) always wins. */
61
+ const BUFFERED_TURN_TIMEOUT_MS = 310_000;
45
62
  // Default outbox persistence: localStorage when the environment has one (and
46
63
  // allows it — privacy mode / quota errors fall through), else a module-level
47
64
  // Map so the queue at least survives for the page's lifetime.
@@ -230,9 +247,12 @@ export class CompanionClient {
230
247
  * code-bearing, so the offline queue's network-failure predicate correctly
231
248
  * ignores it (the server may have received the request). The abandoned
232
249
  * fetch keeps its rejection silenced so a late network error can't surface
233
- * as an unhandled rejection. */
234
- async doFetchBounded(url, init) {
235
- const budget = this.opts.requestTimeoutMs ?? 30_000;
250
+ * as an unhandled rejection. `defaultBudgetMs` is the deadline used when the
251
+ * host did NOT set `requestTimeoutMs` — buffered `/input` POSTs raise it to
252
+ * `BUFFERED_TURN_TIMEOUT_MS` because their headers only arrive when the turn
253
+ * completes; an explicit `requestTimeoutMs` (including 0) always wins. */
254
+ async doFetchBounded(url, init, defaultBudgetMs = 30_000) {
255
+ const budget = this.opts.requestTimeoutMs ?? defaultBudgetMs;
236
256
  if (!budget)
237
257
  return this.doFetch(url, init);
238
258
  const req = this.doFetch(url, init);
@@ -254,14 +274,14 @@ export class CompanionClient {
254
274
  clearTimeout(timer);
255
275
  }
256
276
  }
257
- async fetchAuthed(url, init) {
277
+ async fetchAuthed(url, init, defaultTimeoutMs) {
258
278
  const method = init.method ?? 'GET';
259
279
  const path = url.startsWith(this.opts.baseUrl) ? url.slice(this.opts.baseUrl.length) : url;
260
280
  const startedAt = Date.now();
261
281
  this.dbg({ kind: 'request', at: startedAt, method, path });
262
282
  let res;
263
283
  try {
264
- res = await this.doFetchBounded(url, init);
284
+ res = await this.doFetchBounded(url, init, defaultTimeoutMs);
265
285
  }
266
286
  catch (e) {
267
287
  // A caller-supplied AbortSignal makes fetch throw a native AbortError —
@@ -296,7 +316,7 @@ export class CompanionClient {
296
316
  const retryAt = Date.now();
297
317
  this.dbg({ kind: 'request', at: retryAt, method, path });
298
318
  try {
299
- const retryRes = await this.doFetchBounded(url, init);
319
+ const retryRes = await this.doFetchBounded(url, init, defaultTimeoutMs);
300
320
  this.dbg({
301
321
  kind: 'response',
302
322
  at: Date.now(),
@@ -369,7 +389,7 @@ export class CompanionClient {
369
389
  return Math.max(0, Math.ceil((at - Date.now()) / 1000));
370
390
  return undefined;
371
391
  }
372
- async postJson(path, body, signal) {
392
+ async postJson(path, body, signal, defaultTimeoutMs) {
373
393
  const res = await this.fetchAuthed(this.url(path), {
374
394
  method: 'POST',
375
395
  headers: this.jsonHeaders(),
@@ -377,7 +397,7 @@ export class CompanionClient {
377
397
  // The signal rides `init`, so the 401-refresh retry in fetchAuthed
378
398
  // reuses it automatically (init is passed to both doFetch calls).
379
399
  ...(signal ? { signal } : {})
380
- });
400
+ }, defaultTimeoutMs);
381
401
  const json = (await res.json().catch(() => null));
382
402
  if (!res.ok || !json || json.ok === false) {
383
403
  // The 429 body carries an actionable `hint` (e.g. "provision a project
@@ -476,14 +496,19 @@ export class CompanionClient {
476
496
  // error (4xx/5xx incl. 429) means the server SAW the turn: those keep
477
497
  // the normal throw semantics and are never queued.
478
498
  if (typeof navigator !== 'undefined' && navigator.onLine === false) {
479
- return this.queueSend(turnId, text, opts);
499
+ // The browser is offline — the request is never made, so this send
500
+ // provably never reached the server: safe to replay at any age.
501
+ return this.queueSend(turnId, text, opts, true);
480
502
  }
481
503
  try {
482
504
  return await this.dispatchText(id, body, opts, turnId);
483
505
  }
484
506
  catch (e) {
507
+ // A network-level failure AFTER dispatch is AMBIGUOUS — the turn may
508
+ // have run server-side (mid-flight drop / lost response). Mark it so
509
+ // flushOutbox won't replay it past the server's dedup window (CR-140).
485
510
  if (this.isNetworkSendFailure(e))
486
- return this.queueSend(turnId, text, opts);
511
+ return this.queueSend(turnId, text, opts, false);
487
512
  throw e;
488
513
  }
489
514
  }
@@ -493,7 +518,11 @@ export class CompanionClient {
493
518
  return this.sendTextAwaitingReply(id, body, opts, turnId);
494
519
  const wantStream = opts?.stream ?? this.deltaHandlers.size > 0;
495
520
  if (!wantStream) {
496
- const json = await this.postJson(`/api/companion/session/${id}/input`, body, opts?.signal);
521
+ // Buffered: the response only comes back when the turn completes, so
522
+ // the default headers deadline is the TURN ceiling, not the general 30s
523
+ // (CR-141 — a >30s turn used to reject request_timeout while succeeding
524
+ // server-side, and the react rollback then erased the user's message).
525
+ const json = await this.postJson(`/api/companion/session/${id}/input`, body, opts?.signal, BUFFERED_TURN_TIMEOUT_MS);
497
526
  return { seq: json.seq ?? null };
498
527
  }
499
528
  return this.sendTextStreaming(id, body, opts?.signal);
@@ -511,12 +540,15 @@ export class CompanionClient {
511
540
  * turnId }`; awaitReply can't await a reply that won't arrive this
512
541
  * session, so it rejects with `queued_offline` — the item is queued
513
542
  * either way. */
514
- queueSend(turnId, text, opts) {
543
+ queueSend(turnId, text, opts, unsent) {
515
544
  this.loadOutbox().push({
516
545
  turnId,
517
546
  text,
518
547
  ...(opts?.images?.length ? { images: opts.images } : {}),
519
- at: Date.now()
548
+ at: Date.now(),
549
+ // Only stamp the provably-unsent case — an absent flag reads as
550
+ // AMBIGUOUS (the conservative default) in flushOutbox.
551
+ ...(unsent ? { unsent: true } : {})
520
552
  });
521
553
  this.commitOutbox();
522
554
  if (opts?.awaitReply) {
@@ -589,7 +621,12 @@ export class CompanionClient {
589
621
  // ac.signal, like the streaming leg: the deadline and the caller's
590
622
  // signal both abort it — without this the promise rejected but the
591
623
  // billed POST kept running beyond cancellation.
592
- this.postJson(`/api/companion/session/${sessionId}/input`, body, ac.signal),
624
+ this.postJson(`/api/companion/session/${sessionId}/input`, body, ac.signal,
625
+ // Buffered turn: without this floor the default 30s headers
626
+ // deadline fired BEFORE replyTimeoutMs (60s), so the documented
627
+ // reply_timeout contract was unreachable (CR-141). The outer
628
+ // `deadline` still bounds the whole operation.
629
+ BUFFERED_TURN_TIMEOUT_MS),
593
630
  deadline
594
631
  ]);
595
632
  seq = json.seq ?? null;
@@ -826,16 +863,37 @@ export class CompanionClient {
826
863
  let sent = 0;
827
864
  while (items.length) {
828
865
  const item = items[0];
866
+ // CR-140 staleness guard: an AMBIGUOUS item (may already have run
867
+ // server-side) older than the server's dedup window can no longer be
868
+ // replayed safely — the turnId may have aged out, so a replay would
869
+ // double-run the turn (double bill + duplicate reply + duplicate tool
870
+ // side effects). Drop it rather than risk that; a provably-unsent item
871
+ // (navigator.onLine was false) never ran and replays at any age.
872
+ if (!item.unsent && Date.now() - item.at > OUTBOX_AMBIGUOUS_MAX_AGE_MS) {
873
+ console.warn('[companion-sdk] dropping a stale unacknowledged queued send (older than the server turn-dedup window — replaying it could double-run the turn)', item.turnId);
874
+ items.shift();
875
+ this.commitOutbox();
876
+ continue;
877
+ }
829
878
  try {
830
879
  await this.postJson(`/api/companion/session/${id}/input`, {
831
880
  text: item.text,
832
881
  turnId: item.turnId,
833
882
  ...(item.images?.length ? { images: item.images } : {})
834
- });
883
+ }, undefined,
884
+ // Replays are buffered turns too — same headers-arrive-at-turn-end
885
+ // deadline as dispatchText's buffered leg (CR-141).
886
+ BUFFERED_TURN_TIMEOUT_MS);
835
887
  }
836
888
  catch (e) {
837
889
  const status = e instanceof CompanionError ? e.status : 0;
838
- if (status >= 400 && status < 500 && status !== 429) {
890
+ // A 409 means a PREVIOUS turn is still mid-flight on this session
891
+ // (turn_pending awaiting tool results, or turn_active) — a TRANSIENT
892
+ // state, not a rejection of this item; keep it (and the rest) for
893
+ // the next flush. 408/423/425 are likewise retry-worthy. Only a
894
+ // genuine terminal 4xx (400/401/403/404/422) drops the item.
895
+ const transient = status === 409 || status === 408 || status === 423 || status === 425;
896
+ if (status >= 400 && status < 500 && status !== 429 && !transient) {
839
897
  // The server saw it and said no — retrying can't fix the item.
840
898
  console.warn('[companion-sdk] dropping queued send the server rejected', status, e);
841
899
  items.shift();
@@ -1395,7 +1453,7 @@ export class CompanionClient {
1395
1453
  * - **First-party user tokens** (Login-with-Pouchy PATs): observe-only —
1396
1454
  * approval is authed as the Pouchy user (their app / a hosted confirm
1397
1455
  * page), which is also where the biometric (Face ID / passkey) gate
1398
- * lives. `confirmAction` returns 401 on these tokens. */
1456
+ * lives. `confirmAction` returns 403 (code `forbidden`) on these tokens. */
1399
1457
  onConfirmRequest(handler) {
1400
1458
  return this.on('companion.confirm_request', (env) => {
1401
1459
  const p = env.payload;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,+EAA+E;AAC/E,mDAAmD;AACnD,uBAAuB;AACvB,yCAAyC;AACzC,eAAe;AACf,oFAAoF;AACpF,yCAAyC;AACzC,EAAE;AACF,iFAAiF;AACjF,+EAA+E;AAC/E,gFAAgF;AAChF,+EAA+E;AAC/E,8CAA8C;AAoB9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAS9C,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,cAAc,EAA8B,MAAM,UAAU,CAAC;AACtE,OAAO,EACN,iBAAiB,EAIjB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,MAAM,QAAQ,CAAC;AAuIhB,8EAA8E;AAC9E,SAAS,aAAa,CAAC,IAAY;IAClC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,SAAS,CAAC;IACnC,IAAI,CAAC;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,SAAS,CAAC;IAClB,CAAC;AACF,CAAC;AAqFD;;iDAEiD;AACjD,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,OAAsB,GAAG;IAC5E,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,kCAAkC,IAAI,MAAM,CAAC;AACnF,CAAC;AAED;;;;;;;yBAOyB;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAyC1C,6EAA6E;AAC7E,6EAA6E;AAC7E,8DAA8D;AAC9D,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;AAC/C,MAAM,kBAAkB,GAAgB;IACvC,IAAI,CAAC,GAAG;QACP,IAAI,CAAC;YACJ,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBAC1D,OAAO,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACzC,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,yDAAyD;QAC1D,CAAC;QACD,OAAO,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;IACtC,CAAC;IACD,IAAI,CAAC,GAAG,EAAE,KAAK;QACd,IAAI,CAAC;YACJ,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBAC1D,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACxC,OAAO;YACR,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,0DAA0D;QAC3D,CAAC;QACD,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;CACD,CAAC;AAWF,MAAM,QAAQ,GAAG,GAAG,CAAC;AAuCrB,MAAM,OAAO,eAAe;IACV,IAAI,CAAyB;IAC7B,OAAO,CAAe;IAC/B,QAAQ,GAAkB,IAAI,CAAC;IAC/B,MAAM,GAAG,CAAC,CAAC;IACnB;4EACwE;IAChE,wBAAwB,GAAG,KAAK,CAAC;IACjC,SAAS,GAAG,KAAK,CAAC;IAClB,KAAK,GAA2B,IAAI,CAAC;IAC7C,yEAAyE;IACzE,2EAA2E;IAC3E,sEAAsE;IACtE,uDAAuD;IAC/C,SAAS,GAAG,CAAC,CAAC;IACL,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC3C,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,qEAAqE;IACrE,4CAA4C;IAC3B,aAAa,GAAG,IAAI,GAAG,EAAgB,CAAC;IACzD,+EAA+E;IAC9D,iBAAiB,GAAG,IAAI,GAAG,EAAiC,CAAC;IAC9E,gEAAgE;IACxD,YAAY,GAAyB,MAAM,CAAC;IACnC,mBAAmB,GAAG,IAAI,GAAG,EAE3C,CAAC;IAEJ,yEAAyE;IACzE,6BAA6B;IACZ,SAAS,CAAgD;IAE1E,yEAAyE;IACzE,qEAAqE;IACrE,aAAa;IACL,MAAM,GAAwB,IAAI,CAAC;IAC1B,cAAc,GAAG,IAAI,GAAG,EAA0C,CAAC;IACpF,0EAA0E;IAClE,WAAW,GAAwD,IAAI,CAAC;IAChF;;qEAEiE;IACzD,kBAAkB,GAAG,CAAC,CAAC;IAE/B,YAAY,IAA4B;QACvC,IAAI,CAAC,IAAI,CAAC,OAAO;YAChB,MAAM,IAAI,cAAc,CAAC,sCAAsC,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;QACvF,IAAI,CAAC,IAAI,CAAC,KAAK;YACd,MAAM,IAAI,cAAc,CAAC,oCAAoC,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;QACrF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/D,IAAI,CAAC,SAAS;YACb,IAAI,CAAC,KAAK,KAAK,IAAI;gBAClB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjD,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,UAAU;oBACjC,CAAC,CAAC,IAAI,CAAC,KAAK;oBACZ,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED;2CACuC;IAC/B,GAAG,CAAC,KAA0B;QACrC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAC5B,IAAI,CAAC;YACJ,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACR,gDAAgD;QACjD,CAAC;IACF,CAAC;IAED,uDAAuD;IACvD,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED;;;+DAG2D;IAC3D,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IAED;;;2CAGuC;IACvC,mBAAmB,CAClB,OAA0E;QAE1E,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAEO,cAAc,CAAC,IAA0B;QAChD,IAAI,IAAI,KAAK,IAAI,CAAC,YAAY;YAAE,OAAO;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,0EAA0E;QAC1E,8DAA8D;QAC9D,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACJ,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACf,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,CAAC,CAAC,CAAC;YAChE,CAAC;QACF,CAAC;QACD,sEAAsE;QACtE,mEAAmE;QACnE,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED;;0EAEsE;IACtE,QAAQ,CAAC,KAAa;QACrB,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,cAAc,CAAC,6BAA6B,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;QACzF,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,6EAA6E;IACrE,UAAU,GAAkC,IAAI,CAAC;IAEzD;;6BAEyB;IACjB,KAAK,CAAC,eAAe;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAC3B,IAAI,CAAC,UAAU,KAAK,OAAO,CAAC,OAAO,EAAE;aACnC,IAAI,CAAC,OAAO,CAAC;aACb,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;aACjB,OAAO,CAAC,GAAG,EAAE;YACb,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACxB,CAAC,CAAC,CAAC;QACJ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;wBAEoB;IACpB,uEAAuE;IACvE,mEAAmE;IAC3D,gBAAgB,GAAkB,IAAI,CAAC;IAE/C;2EACuE;IAC/D,mBAAmB;QAC1B,MAAM,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QACrB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,OAAO,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;;;qCAQiC;IACzB,KAAK,CAAC,cAAc,CAC3B,GAAW,EACX,IAAuD;QAEvD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,MAAM,CAAC;QACpD,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACpC,IAAI,KAAgD,CAAC;QACrD,IAAI,CAAC;YACJ,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC;gBACzB,GAAG;gBACH,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;oBAChC,KAAK,GAAG,UAAU,CACjB,GAAG,EAAE,CACJ,MAAM,CACL,IAAI,cAAc,CACjB,2BAA2B,MAAM,iCAAiC,EAClE,CAAC,EACD,iBAAiB,CACjB,CACD,EACF,MAAM,CACN,CAAC;gBACH,CAAC,CAAC;aACF,CAAC,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACpB,MAAM,CAAC,CAAC;QACT,CAAC;gBAAS,CAAC;YACV,IAAI,KAAK,KAAK,SAAS;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,WAAW,CACxB,GAAW,EACX,IAAuD;QAEvD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;QACpC,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC3F,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,IAAI,GAAa,CAAC;QAClB,IAAI,CAAC;YACJ,GAAG,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,wEAAwE;YACxE,mEAAmE;YACnE,wEAAwE;YACxE,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YAC7F,MAAM,GAAG,CAAC;QACX,CAAC;QACD,IAAI,CAAC,GAAG,CAAC;YACR,IAAI,EAAE,UAAU;YAChB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;YACd,MAAM;YACN,IAAI;YACJ,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SAC1B,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAC3D,IAAI,UAAU;YAAE,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC;QACnD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,GAAG,CAAC;QACnC,wEAAwE;QACxE,sEAAsE;QACtE,4CAA4C;QAC5C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,IAAI,KAAK,kBAAkB,IAAI,IAAI,KAAK,gBAAgB;YAAE,OAAO,GAAG,CAAC;QACzE,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAAE,OAAO,GAAG,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACzD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACtD,IAAI,CAAC,GAAG,CAAC;gBACR,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;gBACd,MAAM;gBACN,IAAI;gBACJ,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;aACxB,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QACjB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YAC7F,MAAM,GAAG,CAAC;QACX,CAAC;IACF,CAAC;IAED;;;oCAGgC;IACxB,gBAAgB,CAAC,CAAU;QAClC,IAAI,CAAC,YAAY,cAAc;YAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAI,CAAwB,EAAE,IAAI,CAAC;QAC7C,IAAI,IAAI,KAAK,YAAY;YAAE,OAAO,IAAI,cAAc,CAAC,iBAAiB,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;QACtF,OAAO,IAAI,cAAc,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;IACzF,CAAC;IAED,8EAA8E;IACtE,KAAK,CAAC,WAAW,CAAC,GAAa;QACtC,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAA8B,CAAC;YACrE,OAAO,OAAO,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/D,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,SAAS,CAAC;QAClB,CAAC;IACF,CAAC;IAEO,GAAG,CAAC,IAAY;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;IACrD,CAAC;IAEO,WAAW;QAClB,OAAO,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;IAC3F,CAAC;IAEO,cAAc;QACrB,IAAI,CAAC,IAAI,CAAC,QAAQ;YACjB,MAAM,IAAI,cAAc,CAAC,uCAAuC,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC;QACvF,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED;;uEAEmE;IAC3D,cAAc,CAAC,GAAa,EAAE,IAAwC;QAC7E,MAAM,QAAQ,GAAG,IAAI,EAAE,aAAa,CAAC;QACrC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC;YAAE,OAAO,QAAQ,CAAC;QAChG,sEAAsE;QACtE,wEAAwE;QACxE,sDAAsD;QACtD,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC3C,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,OAAO,SAAS,CAAC;QACxD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC;YAAE,OAAO,MAAM,CAAC;QAC1D,0EAA0E;QAC1E,oEAAoE;QACpE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAC/E,OAAO,SAAS,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAI,IAAY,EAAE,IAAa,EAAE,MAAoB;QAC1E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAClD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;YAC3B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,mEAAmE;YACnE,kEAAkE;YAClE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7B,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAEzC,CAAC;QACR,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;YAC3C,uEAAuE;YACvE,6CAA6C;YAC7C,MAAM,IAAI,GAAI,IAAkC,EAAE,IAAI,CAAC;YACvD,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,cAAc,CACvB,CAAC,IAAI,EAAE,KAAK,IAAI,mBAAmB,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,EAC1D,GAAG,CAAC,MAAM,EACV,IAAI,EAAE,IAAI,EACV,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAC9B,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,+DAA+D;IAC/D,KAAK,CAAC,OAAO,CAAC,IAA+B;QAC5C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAQ7B,wBAAwB,EAAE;YAC5B,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,SAAS;YACvC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;YAChC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;YAC1B,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY;YACpC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;YACtB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;YAChC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5D,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;QACrC,uEAAuE;QACvE,yDAAyD;QACzD,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACpE,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC;YAC5D,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAC5B,CAAC,CAAC,EAAwB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAC1F;YACF,CAAC,CAAC,EAAE,CAAC;QACN,wEAAwE;QACxE,uEAAuE;QACvE,uEAAuE;QACvE,oEAAoE;QACpE,qEAAqE;QACrE,yEAAyE;QACzE,uEAAuE;QACvE,mEAAmE;QACnE,wDAAwD;QACxD,IACC,gBAAgB,CAAC,MAAM;YACvB,IAAI,CAAC,IAAI,CAAC,sBAAsB,KAAK,KAAK;YAC1C,CAAC,IAAI,CAAC,wBAAwB,EAC7B,CAAC;YACF,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;YACrC,UAAU,CAAC,GAAG,EAAE;gBACf,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;oBAClC,IAAI,CAAC,IAAI,CAAC;wBACT,CAAC,EAAE,gBAAgB;wBACnB,EAAE,EAAE,UAAU,CAAC,CAAC,EAAE,EAAE;wBACpB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;wBACd,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,IAAI,EAAE,qBAAqB;wBAC3B,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;qBAClD,CAAC,CAAC;gBACzB,CAAC;YACF,CAAC,EAAE,CAAC,CAAC,CAAC;QACP,CAAC;QACD,OAAO;YACN,GAAG,IAAI;YACP,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,KAAK;YAC5C,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,KAAK;YAC1C,gBAAgB;SAChB,CAAC;IACH,CAAC;IAED;;;;;;;kFAO8E;IAC9E,KAAK,CAAC,WAAW,CAAC,YAAoB,EAAE,IAA+B;QACtE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,IAAI,cAAc,CACvB,gFAAgF,EAChF,CAAC,EACD,oBAAoB,CACpB,CAAC;QACH,CAAC;QACD,IAAI,CAAC,YAAY;YAChB,MAAM,IAAI,cAAc,CAAC,uCAAuC,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;QACxF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAsB,qBAAqB,EAAE;YAC5E,YAAY;YACZ,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;SAC/B,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;IACxC,CAAC;IAuCD,KAAK,CAAC,QAAQ,CACb,IAAY,EACZ,IAAmH;QAEnH,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACjC,sEAAsE;QACtE,uEAAuE;QACvE,oEAAoE;QACpE,qEAAqE;QACrE,MAAM,MAAM,GAAG,QAAQ,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACxF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9E,oEAAoE;QACpE,sEAAsE;QACtE,sEAAsE;QACtE,mDAAmD;QACnD,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC;YACJ,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,IAAI,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC5E,MAAM,CAAC,CAAC;QACT,CAAC;IACF,CAAC;IAED,6EAA6E;IACrE,KAAK,CAAC,YAAY,CACzB,EAAU,EACV,IAA6B,EAC7B,IAAmH,EACnH,MAAe;QAEf,IAAI,IAAI,EAAE,UAAU;YAAE,OAAO,IAAI,CAAC,qBAAqB,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAChF,MAAM,UAAU,GAAG,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAC/B,0BAA0B,EAAE,QAAQ,EACpC,IAAI,EACJ,IAAI,EAAE,MAAM,CACZ,CAAC;YACF,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QAClC,CAAC;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IAED;;;;;6CAKyC;IACjC,oBAAoB,CAAC,CAAU;QACtC,OAAO,CAAC,YAAY,cAAc,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;IAC9E,CAAC;IAED;;;sBAGkB;IACV,SAAS,CAChB,MAAc,EACd,IAAY,EACZ,IAAkD;QAElD,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC;YACtB,MAAM;YACN,IAAI;YACJ,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;SACd,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,IAAI,EAAE,UAAU,EAAE,CAAC;YACtB,MAAM,IAAI,cAAc,CACvB,4FAA4F,EAC5F,CAAC,EACD,gBAAgB,CAChB,CAAC;QACH,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC5C,CAAC;IAED;;;;sCAIkC;IAC1B,KAAK,CAAC,qBAAqB,CAClC,SAAiB,EACjB,IAA6B,EAC7B,IAA0E,EAC1E,MAAe;QAEf,MAAM,SAAS,GAAG,IAAI,EAAE,cAAc,IAAI,MAAM,CAAC;QACjD,2EAA2E;QAC3E,2EAA2E;QAC3E,0EAA0E;QAC1E,qEAAqE;QACrE,mCAAmC;QACnC,IAAI,IAAI,EAAE,MAAM,EAAE,OAAO;YAAE,MAAM,IAAI,cAAc,CAAC,iBAAiB,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;QACrF,IAAI,eAAkD,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAoB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,CAAC;QAClF,uEAAuE;QACvE,wEAAwE;QACxE,uEAAuE;QACvE,qEAAqE;QACrE,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE;YAChD,MAAM,OAAO,GAAI,GAAG,CAAC,OAAwC,EAAE,OAAO,CAAC;YACvE,IAAI,OAAO,KAAK,MAAM;gBAAE,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;gBAAE,eAAe,CAAC,GAAG,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;QACH,qEAAqE;QACrE,0EAA0E;QAC1E,qEAAqE;QACrE,+DAA+D;QAC/D,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;QACjC,wEAAwE;QACxE,wEAAwE;QACxE,qBAAqB;QACrB,IAAI,aAAuC,CAAC;QAC5C,IAAI,IAAI,EAAE,MAAM,EAAE,CAAC;YAClB,aAAa,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,KAAgD,CAAC;QACrD,2EAA2E;QAC3E,yEAAyE;QACzE,IAAI,mBAA6C,CAAC;QAClD,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YACjD,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBACvB,EAAE,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,CACL,IAAI,cAAc,CACjB,mBAAmB,SAAS,iFAAiF,EAC7G,CAAC,EACD,eAAe,CACf,CACD,CAAC;YACH,CAAC,EAAE,SAAS,CAAC,CAAC;YACd,sEAAsE;YACtE,uEAAuE;YACvE,IAAI,IAAI,EAAE,MAAM,EAAE,CAAC;gBAClB,mBAAmB,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,cAAc,CAAC,iBAAiB,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;gBACxF,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5E,CAAC;QACF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC;YACJ,IAAI,GAAG,GAAkB,IAAI,CAAC;YAC9B,IAAI,QAAuC,CAAC;YAC5C,IAAI,aAAa,GAAG,KAAK,CAAC;YAC1B,IAAI,IAAI,EAAE,MAAM,KAAK,KAAK,EAAE,CAAC;gBAC5B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;oBAC/B,mEAAmE;oBACnE,mEAAmE;oBACnE,gDAAgD;oBAChD,IAAI,CAAC,QAAQ,CACZ,0BAA0B,SAAS,QAAQ,EAC3C,IAAI,EACJ,EAAE,CAAC,MAAM,CACT;oBACD,QAAQ;iBACR,CAAC,CAAC;gBACH,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;oBAC5B,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC;oBAClD,QAAQ;iBACR,CAAC,CAAC;gBACH,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;gBACZ,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;gBACtB,aAAa,GAAG,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC;YACzC,CAAC;YACD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,qEAAqE;gBACrE,qEAAqE;gBACrE,sEAAsE;gBACtE,IAAI,aAAa,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;oBACtC,MAAM,IAAI,cAAc,CACvB,kHAAkH,EAClH,CAAC,EACD,oBAAoB,CACpB,CAAC;gBACH,CAAC;gBACD,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;YACrD,CAAC;YACD,MAAM,SAAS,GAAI,QAAQ,CAAC,OAA8B,EAAE,IAAI,CAAC;YACjE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC;QAChF,CAAC;gBAAS,CAAC;YACV,GAAG,EAAE,CAAC;YACN,IAAI,KAAK,KAAK,SAAS;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,aAAa;gBAAE,IAAI,EAAE,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAC7E,IAAI,mBAAmB;gBAAE,IAAI,EAAE,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QAC1F,CAAC;IACF,CAAC;IAED;;;;6DAIyD;IACjD,KAAK,CAAC,iBAAiB,CAC9B,SAAiB,EACjB,IAA6B,EAC7B,MAAoB;QAEpB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,SAAS,QAAQ,CAAC,EAAE;YACzF,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;YAC3B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC/C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7B,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QACpD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC1C,sEAAsE;YACtE,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAKzC,CAAC;YACR,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;gBAC3C,sEAAsE;gBACtE,6DAA6D;gBAC7D,MAAM,IAAI,GAAI,IAAkC,EAAE,IAAI,CAAC;gBACvD,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpE,MAAM,IAAI,cAAc,CACvB,CAAC,IAAI,EAAE,KAAK,IAAI,mBAAmB,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,EAC1D,GAAG,CAAC,MAAM,EACV,IAAI,EAAE,IAAI,EACV,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAC9B,CAAC;YACH,CAAC;YACD,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI;YAAE,MAAM,IAAI,cAAc,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAC;QAC/E,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,IAAyB,EAAE,EAAE;YAC9D,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa;gBAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACpD,CAAC,CAAC;QACF,IAAI,CAAC;YACL,SAAS,CAAC;gBACT,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,KAAK;oBAAE,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1D,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACvC,GAAG,GAAG,IAAI,CAAC;gBACX,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;oBACzB,IAAI,EAAE,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;wBAC1B,kEAAkE;wBAClE,8DAA8D;wBAC9D,+DAA+D;wBAC/D,IAAI,CAAoB,CAAC;wBACzB,IAAI,CAAC;4BACJ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAsB,CAAC;wBAC9C,CAAC;wBAAC,MAAM,CAAC;4BACR,SAAS;wBACV,CAAC;wBACD,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI;4BAAE,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBACjE,CAAC;yBAAM,IAAI,EAAE,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;wBACjC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBAChC,CAAC;yBAAM,IAAI,EAAE,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;wBAChC,mEAAmE;wBACnE,kEAAkE;wBAClE,+CAA+C;wBAC/C,IAAI,CAQH,CAAC;wBACF,IAAI,CAAC;4BACJ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAa,CAAC;wBACrC,CAAC;wBAAC,MAAM,CAAC;4BACR,IAAI,CAAC;gCACJ,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;4BACvB,CAAC;4BAAC,MAAM,CAAC;gCACR,6BAA6B;4BAC9B,CAAC;4BACD,MAAM,IAAI,cAAc,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;wBACvD,CAAC;wBACD,IAAI,CAAC;4BACJ,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;wBACvB,CAAC;wBAAC,MAAM,CAAC;4BACR,6BAA6B;wBAC9B,CAAC;wBACD,IAAI,CAAC,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;4BACpB,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,aAAa,EAAE,CAAC,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;wBAC7E,CAAC;wBACD,gEAAgE;wBAChE,8DAA8D;wBAC9D,IAAI,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ;4BAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;wBACxE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBAChF,CAAC;gBACF,CAAC;gBACD,IAAI,IAAI;oBAAE,MAAM;YACjB,CAAC;YACD,MAAM,IAAI,cAAc,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,kEAAkE;YAClE,+DAA+D;YAC/D,IAAI,CAAC;gBACJ,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC;gBACR,6BAA6B;YAC9B,CAAC;YACD,sEAAsE;YACtE,qEAAqE;YACrE,qEAAqE;YACrE,oEAAoE;YACpE,mEAAmE;YACnE,qEAAqE;YACrE,uEAAuE;YACvE,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;IACF,CAAC;IAED;;2EAEuE;IAC/D,UAAU;QACjB,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC;QACpC,IAAI,KAAK,GAAiB,EAAE,CAAC;QAC7B,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YACjF,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAa,CAAC,CAAC,CAAC,IAAI,CAAC;YACzD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3B,KAAK,GAAG,MAAM,CAAC,MAAM,CACpB,CAAC,CAAC,EAAmB,EAAE,CACtB,CAAC,CAAC,CAAC;oBACH,OAAQ,CAAgB,CAAC,MAAM,KAAK,QAAQ;oBAC5C,OAAQ,CAAgB,CAAC,IAAI,KAAK,QAAQ,CAC3C,CAAC;YACH,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,oCAAoC;QACrC,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,OAAO,KAAK,CAAC;IACd,CAAC;IAEO,SAAS;QAChB,OAAO,iBAAiB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC;IAC1D,CAAC;IAED;;gFAE4E;IACpE,YAAY;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAChC,IAAI,CAAC;YACJ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7F,CAAC;QAAC,MAAM,CAAC;YACR,qEAAqE;QACtE,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAA0B,CAAC;QAChE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACrC,IAAI,CAAC;gBACJ,CAAC,CAAC,IAAI,CAAC,CAAC;YACT,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,CAAC,CAAC,CAAC;YAC1D,CAAC;QACF,CAAC;IACF,CAAC;IAED;yCACqC;IACrC,aAAa;QACZ,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED;8EAC0E;IAC1E,cAAc,CAAC,OAA+C;QAC7D,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;;;;2CASuC;IACvC,KAAK,CAAC,WAAW;QAChB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YACvD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,cAAc;QAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAChC,wEAAwE;QACxE,wEAAwE;QACxE,mEAAmE;QACnE,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,kBAAkB;YAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QACtF,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC;gBACJ,MAAM,IAAI,CAAC,QAAQ,CAClB,0BAA0B,EAAE,QAAQ,EACpC;oBACC,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACvD,CACD,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,MAAM,MAAM,GAAG,CAAC,YAAY,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1D,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;oBACrD,+DAA+D;oBAC/D,OAAO,CAAC,IAAI,CAAC,0DAA0D,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;oBACpF,KAAK,CAAC,KAAK,EAAE,CAAC;oBACd,IAAI,CAAC,YAAY,EAAE,CAAC;oBACpB,SAAS;gBACV,CAAC;gBACD,mEAAmE;gBACnE,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,cAAc,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;oBACvF,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC5D,CAAC;gBACD,iEAAiE;gBACjE,yDAAyD;gBACzD,MAAM;YACP,CAAC;YACD,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,IAAI,IAAI,CAAC,CAAC;YACV,IAAI,CAAC,YAAY,EAAE,CAAC;QACrB,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;IAC1C,CAAC;IAED;;;yEAGqE;IACrE,OAAO,CAAC,OAAqB;QAC5B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;0EAMsE;IACtE,KAAK,CAAC,cAAc,CACnB,KAA0C,EAC1C,IAA+B;QAE/B,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,CAAC,CAAkB,EAAmB,EAAE,CAAC,CAAC;YACtD,GAAG,CAAC;YACJ,WAAW,EAAE,KAAK;YAClB,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,eAAe;SACxD,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAK7B,0BAA0B,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/D,wEAAwE;QACxE,wEAAwE;QACxE,OAAO;YACN,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC;YAC5B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC;YAC1B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC;YAC5B,OAAO,EAAE,IAAI,CAAC,OAAO,KAAK,IAAI;SAC9B,CAAC;IACH,CAAC;IAEO,QAAQ;QACf,MAAM,CAAC,GAAI,UAAyD,CAAC,MAAM,CAAC;QAC5E,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAClH,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,SAAS,CACd,IAAgE;QAEhE,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,QAAQ,CACnB,0BAA0B,EAAE,OAAO,EACnC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAC5C,IAAI,EAAE,MAAM,CACZ,CAAC;IACH,CAAC;IAED;;;;yBAIqB;IACrB,KAAK,CAAC,WAAW,CAChB,IAAiE;QAEjE,4EAA4E;QAC5E,2EAA2E;QAC3E,2EAA2E;QAC3E,iCAAiC;QACjC,MAAM,UAAU,GAAmD,EAAE,CAAC;QACtE,MAAM,kBAAkB,GAAG,IAAI,EAAE,YAAY,CAAC;QAC9C,MAAM,aAAa,GAAG,IAAI,EAAE,OAAO,CAAC;QACpC,0EAA0E;QAC1E,uEAAuE;QACvE,wEAAwE;QACxE,0EAA0E;QAC1E,IAAI,KAAK,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;QACjC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,OAAO,GAAG,GAAG,EAAE;YACpB,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,KAAK,EAAE,CAAC;YACR,sEAAsE;YACtE,KAAK,IAAI,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC;QACF,MAAM,WAAW,GAAyB;YACzC,GAAG,IAAI;YACP,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;gBACnB,iEAAiE;gBACjE,mDAAmD;gBACnD,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;oBACrB,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBAChD,IAAI,UAAU,CAAC,MAAM,GAAG,GAAG;wBAAE,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;gBAC5E,CAAC;gBACD,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC;YACzB,CAAC;YACD,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBAChB,OAAO,EAAE,CAAC;gBACV,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC;SACD,CAAC;QAEF,iEAAiE;QACjE,wEAAwE;QACxE,2EAA2E;QAC3E,2EAA2E;QAC3E,4EAA4E;QAC5E,mEAAmE;QACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/E,MAAM,SAAS,GAAG,UAAU;YAC3B,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;YAC5E,CAAC,CAAC,EAAE,CAAC;QACN,6EAA6E;QAC7E,2EAA2E;QAC3E,2EAA2E;QAC3E,8EAA8E;QAC9E,0EAA0E;QAC1E,sEAAsE;QACtE,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAChG,MAAM,UAAU,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,WAAW,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAgC,UAAU,CAAC,MAAM;YAC5D,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE;YACzF,CAAC,CAAC,SAAS,CAAC;QAEb,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACjF,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QACjE,0EAA0E;QAC1E,2EAA2E;QAC3E,yEAAyE;QACzE,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,wBAAwB,EAAE,CAAC,GAAG,EAAE,EAAE;YACjD,MAAM,CAAC,GAAG,GAAG,CAAC,OAA8C,CAAC;YAC7D,IAAI,OAAO,CAAC,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI;gBAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,OAAO;YACN,GAAG,IAAI;YACP,KAAK,EAAE,GAAG,EAAE;gBACX,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,CAAC;YACX,CAAC;SACD,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;8EAY0E;IAC1E,KAAK,CAAC,UAAU,CAAC,IAEhB;QACA,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QACzB,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QACrB,4EAA4E;QAC5E,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC;aACzC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC/D,KAAK,CAAC,CAAC,EAAE,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,EAAE,MAAM,CAAC,EAAE;gBAChF,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;gBAC3B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC;gBACpC,SAAS,EAAE,IAAI;aACf,CAAC,CAAC;YACH,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAA4B,CAAC;QACxE,CAAC;QAAC,MAAM,CAAC;YACR,2EAA2E;YAC3E,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAED;;;;;2DAKuD;IACvD,KAAK,CAAC,KAAK;QACV,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;IAC1B,CAAC;IAED;;gFAE4E;IAC5E,KAAK,CAAC,cAAc,CACnB,MAAc,EACd,MAA0C,EAC1C,IAA+B;QAE/B,4EAA4E;QAC5E,2EAA2E;QAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,KAAK,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;YACpF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC1B,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAC/B,0BAA0B,EAAE,cAAc,EAC1C,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,KAAK,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAC1D,IAAI,EAAE,MAAM,CACZ,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,KAAK,EAAE,CAAC;IAC3C,CAAC;IAED;;;;yBAIqB;IACb,eAAe,CAAC,IAAY,EAAE,QAAgB;QACrD,MAAM,UAAU,GAAG,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,CAAC;QAC1E,IAAI,CAAC,UAAU,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC;YACjD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QACvF,CAAC;QACD,uEAAuE;QACvE,0EAA0E;QAC1E,uEAAuE;QACvE,0EAA0E;QAC1E,IAAI,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC;YACjC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACtD,CAAC;QACD,wEAAwE;QACxE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,CAAC;YACrD,OAAO,OAAO,CAAC,OAAO,CACrB,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,iDAAiD,EAAE,CAAC,CACvF,CAAC;QACH,CAAC;QACD,6EAA6E;QAC7E,wEAAwE;QACxE,mEAAmE;QACnE,IAAI,YAAY,GAAG,IAAI,CAAC;QACxB,IAAI,YAAY,GAAG,QAAQ,CAAC;QAC5B,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACJ,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAA2C,CAAC;gBACjF,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;oBAC/C,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC,CAAC,CAAC;gBAC9F,CAAC;gBACD,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;gBACxB,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YAC/C,CAAC;YAAC,MAAM,CAAC;gBACR,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC,CAAC,CAAC;YAC7F,CAAC;QACF,CAAC;aAAM,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YACnC,sEAAsE;YACtE,sEAAsE;YACtE,sDAAsD;YACtD,IAAI,CAAC;gBACJ,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAwC,CAAC;gBAC9E,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC;gBAC5C,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3D,CAAC;YAAC,MAAM,CAAC;gBACR,sBAAsB;YACvB,CAAC;QACF,CAAC;QACD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QACnC,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;YACtC,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,KAAgD,CAAC;YACrD,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE;gBAC9B,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,gEAAgE;gBAChE,2DAA2D;gBAC3D,IAAI,KAAK;oBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;gBAC/B,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CAAC;YACF,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YACvC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YACxG,IAAI,CAAC,IAAI,CAAC;gBACT,CAAC,EAAE,gBAAgB;gBACnB,EAAE,EAAE,OAAO,IAAI,CAAC,QAAQ,EAAE,EAAE;gBAC5B,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;gBACd,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE;aAClC,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;wDAGoD;IACpD,UAAU,CACT,OAAmE;QAEnE,OAAO,IAAI,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,GAAG,EAAE,EAAE;YAC7C,MAAM,CAAC,GAAG,GAAG,CAAC,OAA+E,CAAC;YAC9F,IAAI,OAAO,CAAC,EAAE,EAAE,KAAK,QAAQ,IAAI,OAAO,CAAC,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC9D,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtD,OAAO,CACN;oBACC,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,IAAI;oBACJ,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC;oBAC7B,+DAA+D;oBAC/D,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAClD,EACD,GAAG,CACH,CAAC;YACH,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;;qCAQiC;IACjC,OAAO,CACN,OAGS;QAET,OAAO,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE;YACvC,MAAM,CAAC,GAAG,GAAG,CAAC,OAAgD,CAAC;YAC/D,OAAO,CACN;gBACC,IAAI,EAAE,OAAO,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO;gBACpD,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aACrE,EACD,GAAG,CACH,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;8DAI0D;IAC1D,KAAK,CAAC,MAAM,CAAC,IAA+D;QAC3E,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,IAAI,EAAE,KAAK;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACzD,IAAI,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,wBAAwB,EAAE,EAAE,CAAC,EAAE;YAC1E,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE;YACvD,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAEzC,CAAC;QACR,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;YAC3C,MAAM,IAAI,cAAc,CAAC,IAAI,EAAE,KAAK,IAAI,kBAAkB,GAAG,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAClG,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED;;;;wDAIoD;IACpD,KAAK,CAAC,OAAO,CAAC,IAA+C;QAC5D,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACjC,MAAM,EAAE,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,UAAU,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CACjC,IAAI,CAAC,GAAG,CAAC,0BAA0B,kBAAkB,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,EACzE;YACC,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE;YACvD,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CACD,CAAC;QACF,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAEzC,CAAC;QACR,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;YAC3C,MAAM,IAAI,cAAc,CAAC,IAAI,EAAE,KAAK,IAAI,mBAAmB,GAAG,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACnG,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED;;;6CAGyC;IACzC,KAAK,CAAC,aAAa,CAAC,UAAoB,EAAE,IAA+B;QACxE,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CACjC,IAAI,CAAC,GAAG,CAAC,0BAA0B,kBAAkB,CAAC,EAAE,CAAC,aAAa,CAAC,EACvE;YACC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACR,aAAa,EAAE,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;gBAC1C,cAAc,EAAE,kBAAkB;aAClC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC;YACpC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CACD,CAAC;QACF,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAEzC,CAAC;QACR,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;YAC3C,MAAM,IAAI,cAAc,CAAC,IAAI,EAAE,KAAK,IAAI,yBAAyB,GAAG,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACzG,CAAC;QACD,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,UAAU,EAAE,CAAC;IACtD,CAAC;IAED;;wFAEoF;IACpF,KAAK,CAAC,IAAI,CAAC,IAA+B;QACzC,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CACjC,IAAI,CAAC,GAAG,CAAC,0BAA0B,kBAAkB,CAAC,EAAE,CAAC,OAAO,CAAC,EACjE;YACC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE;YACvD,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CACD,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACb,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAA6C,CAAC;YAC9F,MAAM,IAAI,cAAc,CAAC,IAAI,EAAE,KAAK,IAAI,gBAAgB,GAAG,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAChG,CAAC;IACF,CAAC;IAED;wFACoF;IACpF,KAAK,CAAC,QAAQ,CAAC,IAUd,EAAE,IAA+B;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAyC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3G,CAAC;IAED;;;;;;;;;;;;;gEAa4D;IAC5D,KAAK,CAAC,eAAe,CAAC,GAKrB,EAAE,IAA+B;QACjC,OAAO,IAAI,CAAC,QAAQ,CACnB,0BAA0B,EAC1B,GAAG,EACH,IAAI,EAAE,MAAM,CACZ,CAAC;IACH,CAAC;IAED;;;;;;;4CAOwC;IACxC,KAAK,CAAC,UAAU,CAAC,IAKhB,EAAE,IAA+B;QACjC,OAAO,IAAI,CAAC,QAAQ,CACnB,+BAA+B,EAC/B,IAAI,EACJ,IAAI,EAAE,MAAM,CACZ,CAAC;IACH,CAAC;IAED;;;;;kFAK8E;IAC9E,KAAK,CAAC,SAAS,CAAC,IAA+B;QAC9C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE;YACrE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE;YACvD,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAEzC,CAAC;QACR,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;YAC3C,MAAM,IAAI,cAAc,CAAC,IAAI,EAAE,KAAK,IAAI,wBAAwB,GAAG,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACxG,CAAC;QACD,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,YAAY;YACzC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;SAC/B,CAAC;IACH,CAAC;IAED;;;;qBAIiB;IACjB,KAAK,CAAC,SAAS,CAAC,IAA+B;QAC9C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE;YACrE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE;YACvD,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAEzC,CAAC;QACR,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;YAC3C,MAAM,IAAI,cAAc,CAAC,IAAI,EAAE,KAAK,IAAI,wBAAwB,GAAG,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACxG,CAAC;QACD,OAAO;YACN,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC;YAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK;SAChC,CAAC;IACH,CAAC;IAED;;;gFAG4E;IAC5E,YAAY,CAAC,OAAsB,GAAG;QACrC,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAYD,EAAE,CAAC,IAAwB,EAAE,OAAgB;QAC5C,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC9B,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjB,OAAO,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,wDAAwD;IACxD,SAAS,CAAC,OAA4D;QACrE,OAAO,IAAI,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE;YAC3C,MAAM,IAAI,GAAI,GAAG,CAAC,OAA8B,EAAE,IAAI,CAAC;YACvD,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;kFAI8E;IAC9E,QAAQ,CACP,OAA+E;QAE/E,OAAO,IAAI,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,GAAG,EAAE,EAAE;YAC7C,MAAM,CAAC,GAAG,GAAG,CAAC,OAAiC,CAAC;YAChD,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC;gBAAE,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;sEACkE;IAClE,OAAO,CAAC,OAAyE;QAChF,OAAO,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,EAAE;YACzC,MAAM,CAAC,GAAG,GAAG,CAAC,OAA2B,CAAC;YAC1C,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAC5F,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACjB,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;4EACwE;IACxE,YAAY,CAAC,OAA0E;QACtF,OAAO,IAAI,CAAC,EAAE,CAAC,sBAAsB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAA4B,EAAE,GAAG,CAAC,CAAC,CAAC;IACjG,CAAC;IAED;gCAC4B;IAC5B,OAAO,CAAC,OAAqE;QAC5E,OAAO,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAuB,EAAE,GAAG,CAAC,CAAC,CAAC;IACrF,CAAC;IAED;;;;;;;;;;;;;gEAa4D;IAC5D,gBAAgB,CACf,OAA8E;QAE9E,OAAO,IAAI,CAAC,EAAE,CAAC,2BAA2B,EAAE,CAAC,GAAG,EAAE,EAAE;YACnD,MAAM,CAAC,GAAG,GAAG,CAAC,OAAgC,CAAC;YAC/C,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ;gBAAE,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;iDAa6C;IAC7C,KAAK,CAAC,aAAa,CAClB,SAAiB,EACjB,OAAgB,EAChB,IAA+B;QAO/B,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC,QAAQ,CAKjB,0BAA0B,kBAAkB,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7G,CAAC;IAED;;;qDAGiD;IACjD,KAAK,CAAC,eAAe,CAAC,IAA+B;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CACjC,IAAI,CAAC,GAAG,CAAC,0BAA0B,kBAAkB,CAAC,SAAS,CAAC,UAAU,CAAC,EAC3E;YACC,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE;YACvD,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CACD,CAAC;QACF,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAEzC,CAAC;QACR,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;YAC3C,MAAM,IAAI,cAAc,CAAC,IAAI,EAAE,KAAK,IAAI,4BAA4B,GAAG,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5G,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED;;2DAEuD;IACvD,iBAAiB,CAChB,OAA+E;QAE/E,OAAO,IAAI,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,GAAG,EAAE,EAAE;YAC7C,MAAM,CAAC,GAAG,GAAG,CAAC,OAAiC,CAAC;YAChD,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;gBAAE,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;uFAEmF;IACnF,eAAe,CACd,OAA6E;QAE7E,OAAO,IAAI,CAAC,EAAE,CAAC,0BAA0B,EAAE,CAAC,GAAG,EAAE,EAAE;YAClD,MAAM,CAAC,GAAG,GAAG,CAAC,OAA+B,CAAC;YAC9C,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;gBAAE,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;oFAIgF;IAChF,QAAQ,CAAC,OAAsE;QAC9E,OAAO,IAAI,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,EAAE;YAC1C,MAAM,CAAC,GAAG,GAAG,CAAC,OAAwB,CAAC;YACvC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,SAAS;gBAAE,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;2DAGuD;IACvD,aAAa,CACZ,OAA2E;QAE3E,OAAO,IAAI,CAAC,EAAE,CAAC,wBAAwB,EAAE,CAAC,GAAG,EAAE,EAAE;YAChD,MAAM,CAAC,GAAG,GAAG,CAAC,OAA6B,CAAC;YAC5C,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;+DAC2D;IAC3D,KAAK;QACJ,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC3B,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,IAAK,UAA+C,CAAC,SAAS,CAAC;QACrG,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,EAAE,CAAC;YAChD,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACP,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACF,CAAC;IAED;;;sEAGkE;IAC1D,KAAK,CAAC,MAAM,CAAC,EAAoB,EAAE,GAAW;QACrD,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACjC,MAAM,EAAE,iBAAiB,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC9E,4EAA4E;QAC5E,0EAA0E;QAC1E,4EAA4E;QAC5E,4EAA4E;QAC5E,kEAAkE;QAClE,IAAI,OAAO,GAAG,GAAG,CAAC;QAClB,OAAO,IAAI,CAAC,SAAS,IAAI,GAAG,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YACjD,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,qEAAqE;YACrE,wEAAwE;YACxE,uEAAuE;YACvE,uEAAuE;YACvE,0BAA0B;YAC1B,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,IAAI,CAAC;gBACJ,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC3C,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC1F,IAAI,IAAgD,CAAC;oBACrD,IAAI,OAAO,GAAG,KAAK,CAAC;oBACpB,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE;wBAChB,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBACtB,IAAI,IAAI,CAAC,SAAS,IAAI,GAAG,KAAK,IAAI,CAAC,SAAS;4BAAE,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;oBAChF,CAAC,CAAC;oBACF,MAAM,MAAM,GAAG,CAAC,GAAa,EAAE,EAAE;wBAChC,IAAI,IAAI,EAAE,CAAC;4BACV,aAAa,CAAC,IAAI,CAAC,CAAC;4BACpB,IAAI,GAAG,SAAS,CAAC;wBAClB,CAAC;wBACD,IAAI,CAAC;4BACJ,EAAE,CAAC,KAAK,EAAE,CAAC;wBACZ,CAAC;wBAAC,MAAM,CAAC;4BACR,qBAAqB;wBACtB,CAAC;wBACD,IAAI,OAAO;4BAAE,OAAO;wBACpB,OAAO,GAAG,IAAI,CAAC;wBACf,IAAI,GAAG;4BAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;4BAChB,OAAO,EAAE,CAAC;oBAChB,CAAC,CAAC;oBACF,EAAE,CAAC,SAAS,GAAG,CAAC,EAAgB,EAAE,EAAE;wBACnC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;4BAC/C,MAAM,EAAE,CAAC;4BACT,OAAO;wBACR,CAAC;wBACD,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;wBACvD,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBAChD,IAAI,KAAK;4BAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;oBACtD,CAAC,CAAC;oBACF,EAAE,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;oBAC3D,EAAE,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;oBAC5B,6DAA6D;oBAC7D,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE;wBACvB,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,KAAK,IAAI,CAAC,SAAS;4BAAE,MAAM,EAAE,CAAC;oBACzD,CAAC,EAAE,GAAG,CAAC,CAAC;gBACT,CAAC,CAAC,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACR,OAAO,GAAG,IAAI,CAAC;YAChB,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACb,yEAAyE;gBACzE,sEAAsE;gBACtE,yDAAyD;gBACzD,IAAI,IAAI,CAAC,SAAS,IAAI,GAAG,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;oBAC9C,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;oBACpC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC5B,CAAC;gBACD,OAAO;YACR,CAAC;YACD,0EAA0E;YAC1E,kEAAkE;YAClE,oEAAoE;YACpE,qEAAqE;YACrE,4DAA4D;YAC5D,IAAI,IAAI,CAAC,SAAS,IAAI,GAAG,KAAK,IAAI,CAAC,SAAS;gBAAE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YAClF,IAAI,QAAQ,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,IAAI,EAAE,CAAC;gBACpD,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBACjC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACP,OAAO,GAAG,GAAG,CAAC;YACf,CAAC;QACF,CAAC;IACF,CAAC;IAED,6BAA6B;IAC7B,IAAI;QACH,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,sCAAsC;QACxD,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAEO,IAAI,CAAC,QAA2B;QACvC,2EAA2E;QAC3E,4EAA4E;QAC5E,0CAA0C;QAC1C,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAAE,OAAO;YACvC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;gBAC9C,IAAI,KAAK,KAAK,SAAS;oBAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAClD,CAAC;QACF,CAAC;QACD,oEAAoE;QACpE,2DAA2D;QAC3D,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QAC3F,6EAA6E;QAC7E,yEAAyE;QACzE,yEAAyE;QACzE,4EAA4E;QAC5E,sDAAsD;QACtD,IAAI,QAAQ,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;YAC7C,MAAM,CAAC,GAAG,QAAQ,CAAC,OAA2C,CAAC;YAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,CAAC;YACxE,IACC,IAAI;gBACJ,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACvC,CAAC,QAAQ;gBACT,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAClC,CAAC;gBACF,IAAI,MAAM;oBAAE,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBAC3E,OAAO;YACR,CAAC;QACF,CAAC;QACD,0EAA0E;QAC1E,wEAAwE;QACxE,wEAAwE;QACxE,0EAA0E;QAC1E,gDAAgD;QAChD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACxD,IAAI,CAAC;gBACJ,CAAC,CAAC,QAAQ,CAAC,CAAC;YACb,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,CAAC,CAAC,CAAC;YACzD,CAAC;QACF,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC;gBACJ,CAAC,CAAC,QAAQ,CAAC,CAAC;YACb,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,CAAC,CAAC,CAAC;YACzD,CAAC;QACF,CAAC;IACF,CAAC;IAEO,WAAW,CAAC,KAAa,EAAE,IAAY;QAC9C,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACJ,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAwB,CAAC;gBAClD,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;oBAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YAC1D,CAAC;YAAC,MAAM,CAAC;gBACR,YAAY;YACb,CAAC;YACD,OAAO;QACR,CAAC;QACD,IAAI,GAAG,GAA6B,IAAI,CAAC;QACzC,IAAI,CAAC;YACJ,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAsB,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACR,OAAO;QACR,CAAC;QACD,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACtB,MAAM,EAAE,GAAI,GAAG,EAAE,OAAqC,EAAE,YAAY,CAAC;YACrE,IAAI,OAAO,EAAE,KAAK,QAAQ;gBAAE,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YAC7C,OAAO;QACR,CAAC;QACD,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzD,CAAC;IAED;;gFAE4E;IACpE,KAAK,CAAC,IAAI,CAAC,GAAW,EAAE,QAAQ,GAAG,KAAK;QAC/C,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACjC,IAAI,OAAO,GAAG,GAAG,CAAC;QAClB,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC,2DAA2D;QAClF,OAAO,IAAI,CAAC,SAAS,IAAI,GAAG,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YACjD,IAAI,CAAC,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;YACnC,IAAI,CAAC;gBACJ,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAC7B,IAAI,CAAC,GAAG,CAAC,0BAA0B,EAAE,kBAAkB,IAAI,CAAC,MAAM,EAAE,CAAC,EACrE,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CACtF,CAAC;gBACF,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC9C,mEAAmE;oBACnE,iEAAiE;oBACjE,iEAAiE;oBACjE,iEAAiE;oBACjE,8BAA8B;oBAC9B,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,aAAa,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC;wBAC/E,aAAa,IAAI,CAAC,CAAC;wBACnB,SAAS;oBACV,CAAC;oBACD,gEAAgE;oBAChE,oEAAoE;oBACpE,kEAAkE;oBAClE,mCAAmC;oBACnC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;oBACvB,IAAI,CAAC,IAAI,CAAC;wBACT,CAAC,EAAE,gBAAgB;wBACnB,EAAE,EAAE,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE;wBAC9B,OAAO,EAAE,IAAI,CAAC,QAAQ,IAAI,SAAS;wBACnC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;wBACd,IAAI,EAAE,eAAe;wBACrB,OAAO,EAAE;4BACR,IAAI,EAAE,qBAAqB;4BAC3B,OAAO,EAAE,0BAA0B,GAAG,CAAC,MAAM,wDAAwD;yBACrG;qBACD,CAAC,CAAC;oBACH,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;oBAC/B,MAAM;gBACP,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;oBAC1B,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,KAAK,IAAI,CAAC,SAAS;wBAAE,MAAM;oBACrD,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;oBACpC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBACjC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;oBACtC,SAAS;gBACV,CAAC;gBACD,OAAO,GAAG,GAAG,CAAC,CAAC,oCAAoC;gBACnD,aAAa,GAAG,CAAC,CAAC;gBAClB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;gBAC7D,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACnC,CAAC;YAAC,MAAM,CAAC;gBACR,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,KAAK,IAAI,CAAC,SAAS;oBAAE,MAAM;gBACrD,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;gBACpC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBACjC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;YACvC,CAAC;QACF,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,IAAgC,EAAE,GAAW;QAClE,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,yEAAyE;QACzE,uEAAuE;QACvE,qEAAqE;QACrE,yEAAyE;QACzE,uEAAuE;QACvE,yEAAyE;QACzE,uEAAuE;QACvE,wEAAwE;QACxE,qEAAqE;QACrE,yEAAyE;QACzE,MAAM,YAAY,GAAG,MAAM,CAAC;QAC5B,IAAI,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YACjC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,GAAG,YAAY;gBAAE,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAClF,CAAC,EAAE,KAAK,CAAC,CAAC;QACV,IAAI,CAAC;YACJ,OAAO,IAAI,CAAC,SAAS,IAAI,GAAG,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI;oBAAE,MAAM;gBAChB,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACxB,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC/C,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACvC,GAAG,GAAG,IAAI,CAAC;gBACX,KAAK,MAAM,EAAE,IAAI,MAAM;oBAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;YAC9D,CAAC;QACF,CAAC;gBAAS,CAAC;YACV,aAAa,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,EAAU;QACvB,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;IAED;;gFAE4E;IACpE,YAAY,CAAC,EAAU;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAC/D,CAAC;CACD"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { CompanionClient, type CompanionClientOptions } from './client.js';
2
- export { CompanionClient, CompanionError, pouchyBrandIconUrl } from './client.js';
2
+ export { CompanionClient, CompanionError, pouchyBrandIconUrl, OUTBOX_AMBIGUOUS_MAX_AGE_MS } from './client.js';
3
3
  export type { CompanionDebugEvent } from './client.js';
4
4
  export type { CompanionErrorCodeValue, ControlErrorCodeValue } from './errors.js';
5
5
  export type { CompanionClientOptions, CompanionStreamState, HelloAck, RecalledMemory, CompanionTurn, CallCredentials, CompanionToolDecl, ToolCallEvent, WorldStateInput, CompanionAvatar, CompanionWallet, WalletBalance, BrandIconSize, EndSessionResult, SendTextReply, QueuedSend, OutboxStore } from './client.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC/E,YAAY,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,YAAY,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAC/E,YAAY,EACX,sBAAsB,EACtB,oBAAoB,EACpB,QAAQ,EACR,cAAc,EACd,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,eAAe,EACf,eAAe,EACf,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,WAAW,EACX,MAAM,UAAU,CAAC;AAClB,OAAO,EACN,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,MAAM,QAAQ,CAAC;AAChB,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACnF,OAAO,EACN,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClE,YAAY,EACX,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,MAAM,YAAY,CAAC;AAKpB,OAAO,EACN,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAMvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,YAAY,EACX,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,MAAM,gBAAgB,CAAC;AAExB,iCAAiC;AACjC,wBAAgB,eAAe,CAAC,IAAI,EAAE,sBAAsB,GAAG,eAAe,CAE7E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAC5G,YAAY,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,YAAY,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAC/E,YAAY,EACX,sBAAsB,EACtB,oBAAoB,EACpB,QAAQ,EACR,cAAc,EACd,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,eAAe,EACf,eAAe,EACf,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,WAAW,EACX,MAAM,UAAU,CAAC;AAClB,OAAO,EACN,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,MAAM,QAAQ,CAAC;AAChB,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACnF,OAAO,EACN,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClE,YAAY,EACX,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,MAAM,YAAY,CAAC;AAKpB,OAAO,EACN,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAMvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,YAAY,EACX,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,MAAM,gBAAgB,CAAC;AAExB,iCAAiC;AACjC,wBAAgB,eAAe,CAAC,IAAI,EAAE,sBAAsB,GAAG,eAAe,CAE7E"}
package/dist/index.js CHANGED
@@ -10,7 +10,7 @@
10
10
  // c.sendWorldState({ type: 'game.scene', data: 'tavern', retained: true });
11
11
  // await c.sendText('what should I do?');
12
12
  import { CompanionClient } from './client.js';
13
- export { CompanionClient, CompanionError, pouchyBrandIconUrl } from './client.js';
13
+ export { CompanionClient, CompanionError, pouchyBrandIconUrl, OUTBOX_AMBIGUOUS_MAX_AGE_MS } from './client.js';
14
14
  export { openCompanionCall, HOST_CONTROL_TOOLS, HOST_CONTROL_TOOL_NAMES, AVATAR_VISUAL_TOOLS, AVATAR_VISUAL_TOOL_NAMES } from './call.js';
15
15
  export { COMPANION_SCOPES, COMPANION_MODALITIES, SENSITIVE_SCOPES, REPRESENT_SCOPES, DEFAULT_SCOPES, DEFAULT_MODALITIES, isSensitiveScope, isRepresentScope, hasScope, grantsScope } from './scopes.js';
16
16
  // Runtime protocol constants — so a host can assert PROTOCOL_VERSION or
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,yEAAyE;AACzE,sDAAsD;AACtD,EAAE;AACF,0DAA0D;AAC1D,6EAA6E;AAC7E,uBAAuB;AACvB,8CAA8C;AAC9C,eAAe;AACf,8EAA8E;AAC9E,2CAA2C;AAE3C,OAAO,EAAE,eAAe,EAA+B,MAAM,UAAU,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAsB/E,OAAO,EACN,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EACN,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,MAAM,UAAU,CAAC;AAyBlB,wEAAwE;AACxE,2EAA2E;AAC3E,8EAA8E;AAC9E,gEAAgE;AAChE,OAAO,EACN,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,MAAM,YAAY,CAAC;AAGpB,6EAA6E;AAC7E,6EAA6E;AAC7E,0EAA0E;AAC1E,+BAA+B;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAQrD,iCAAiC;AACjC,MAAM,UAAU,eAAe,CAAC,IAA4B;IAC3D,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,yEAAyE;AACzE,sDAAsD;AACtD,EAAE;AACF,0DAA0D;AAC1D,6EAA6E;AAC7E,uBAAuB;AACvB,8CAA8C;AAC9C,eAAe;AACf,8EAA8E;AAC9E,2CAA2C;AAE3C,OAAO,EAAE,eAAe,EAA+B,MAAM,UAAU,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAsB5G,OAAO,EACN,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EACN,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,MAAM,UAAU,CAAC;AAyBlB,wEAAwE;AACxE,2EAA2E;AAC3E,8EAA8E;AAC9E,gEAAgE;AAChE,OAAO,EACN,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,MAAM,YAAY,CAAC;AAGpB,6EAA6E;AAC7E,6EAA6E;AAC7E,0EAA0E;AAC1E,+BAA+B;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAQrD,iCAAiC;AACjC,MAAM,UAAU,eAAe,CAAC,IAA4B;IAC3D,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pouchy_ai/companion-sdk",
3
- "version": "0.38.1",
3
+ "version": "0.40.0",
4
4
  "description": "Embed the Pouchy companion — chat, voice, tools, memory, live world-state, instant UI, and agent-to-agent messaging — in any app, game, or site.",
5
5
  "type": "module",
6
6
  "license": "SEE LICENSE IN LICENSE",
package/src/client.ts CHANGED
@@ -148,7 +148,14 @@ export interface CompanionClientOptions {
148
148
  * sendText reply) is never bounded by this — the timer is cleared the
149
149
  * moment headers arrive. Composes with any per-call AbortSignal (whichever
150
150
  * fires first wins); the timeout rejects as a status-0 CompanionError with
151
- * code 'request_timeout'. Default 30_000; 0 disables. */
151
+ * code 'request_timeout'. Default 30_000; 0 disables.
152
+ *
153
+ * BUFFERED `/input` sends are the one exception to the 30s default
154
+ * (0.40.0): there the server answers only when the TURN completes, so the
155
+ * default deadline for those POSTs is 310s — the server's own turn ceiling
156
+ * — instead of 30s (which declared healthy >30s turns dead while they kept
157
+ * running, and billing, server-side). Setting `requestTimeoutMs` explicitly
158
+ * bounds EVERY request at your value, buffered sends included. */
152
159
  requestTimeoutMs?: number;
153
160
  }
154
161
 
@@ -318,14 +325,43 @@ export interface SendTextReply {
318
325
 
319
326
  /** One send queued while offline (see the `queueOffline` option) — replayed
320
327
  * FIFO by flushOutbox with its ORIGINAL `turnId` (the server's turn-dedup is
321
- * what makes the retry safe). `at` is Date.now() at enqueue. */
328
+ * what makes the retry safe). `at` is Date.now() at enqueue.
329
+ *
330
+ * `unsent` (0.39.0, CR-140) records whether the send provably NEVER reached
331
+ * the server: `true` when `navigator.onLine` was already false (the request
332
+ * was never made), so the replay runs the turn exactly once at ANY age.
333
+ * Absent/`false` = AMBIGUOUS — a dispatch was attempted and failed at the
334
+ * network level (or a stream dropped mid-flight), so the turn MAY have run
335
+ * server-side; flushOutbox only auto-replays these while they are younger than
336
+ * `OUTBOX_AMBIGUOUS_MAX_AGE_MS` (past that the server may have forgotten the
337
+ * turnId and a replay would double-run it). */
322
338
  export interface QueuedSend {
323
339
  turnId: string;
324
340
  text: string;
325
341
  images?: string[];
326
342
  at: number;
343
+ unsent?: boolean;
327
344
  }
328
345
 
346
+ /** Max age at which flushOutbox will still auto-replay an AMBIGUOUS queued send
347
+ * (one that may already have run server-side — see `QueuedSend.unsent`). Kept
348
+ * comfortably BELOW the server's completed-turn dedup window
349
+ * (`RECENT_TURN_TTL_MS`, 60min) so any ambiguous item replayed within this
350
+ * bound is still deduped and cannot double-run; older ambiguous items are
351
+ * dropped (a lost uncertain message is the lesser evil vs a double bill /
352
+ * duplicate side effect). Provably-unsent items ignore this and replay at any
353
+ * age. */
354
+ export const OUTBOX_AMBIGUOUS_MAX_AGE_MS = 30 * 60_000;
355
+
356
+ /** Default headers deadline for BUFFERED `/input` POSTs (no SSE). On that path
357
+ * the server runs the whole agent turn BEFORE responding, so response headers
358
+ * only arrive when the turn completes — the general 30s `requestTimeoutMs`
359
+ * default declared a healthy >30s turn dead (`request_timeout`) while it kept
360
+ * running (and billing) server-side. Sized to the server's own turn ceiling
361
+ * (`/input` `config.maxDuration = 300`s) plus headroom, so a genuinely hung
362
+ * server is still cut. An explicit `requestTimeoutMs` (or 0) always wins. */
363
+ const BUFFERED_TURN_TIMEOUT_MS = 310_000;
364
+
329
365
  /** Pluggable persistence for the offline send queue (the `outboxStore`
330
366
  * option). Both methods receive the storage key
331
367
  * (`pouchy-outbox:${surface}`); `load` returns the previously-saved value or
@@ -578,12 +614,16 @@ export class CompanionClient {
578
614
  * code-bearing, so the offline queue's network-failure predicate correctly
579
615
  * ignores it (the server may have received the request). The abandoned
580
616
  * fetch keeps its rejection silenced so a late network error can't surface
581
- * as an unhandled rejection. */
617
+ * as an unhandled rejection. `defaultBudgetMs` is the deadline used when the
618
+ * host did NOT set `requestTimeoutMs` — buffered `/input` POSTs raise it to
619
+ * `BUFFERED_TURN_TIMEOUT_MS` because their headers only arrive when the turn
620
+ * completes; an explicit `requestTimeoutMs` (including 0) always wins. */
582
621
  private async doFetchBounded(
583
622
  url: string,
584
- init: RequestInit & { headers: Record<string, string> }
623
+ init: RequestInit & { headers: Record<string, string> },
624
+ defaultBudgetMs = 30_000
585
625
  ): Promise<Response> {
586
- const budget = this.opts.requestTimeoutMs ?? 30_000;
626
+ const budget = this.opts.requestTimeoutMs ?? defaultBudgetMs;
587
627
  if (!budget) return this.doFetch(url, init);
588
628
  const req = this.doFetch(url, init);
589
629
  let timer: ReturnType<typeof setTimeout> | undefined;
@@ -614,7 +654,8 @@ export class CompanionClient {
614
654
 
615
655
  private async fetchAuthed(
616
656
  url: string,
617
- init: RequestInit & { headers: Record<string, string> }
657
+ init: RequestInit & { headers: Record<string, string> },
658
+ defaultTimeoutMs?: number
618
659
  ): Promise<Response> {
619
660
  const method = init.method ?? 'GET';
620
661
  const path = url.startsWith(this.opts.baseUrl) ? url.slice(this.opts.baseUrl.length) : url;
@@ -622,7 +663,7 @@ export class CompanionClient {
622
663
  this.dbg({ kind: 'request', at: startedAt, method, path });
623
664
  let res: Response;
624
665
  try {
625
- res = await this.doFetchBounded(url, init);
666
+ res = await this.doFetchBounded(url, init, defaultTimeoutMs);
626
667
  } catch (e) {
627
668
  // A caller-supplied AbortSignal makes fetch throw a native AbortError —
628
669
  // convert it at this single choke point so cancellation honors the
@@ -652,7 +693,7 @@ export class CompanionClient {
652
693
  const retryAt = Date.now();
653
694
  this.dbg({ kind: 'request', at: retryAt, method, path });
654
695
  try {
655
- const retryRes = await this.doFetchBounded(url, init);
696
+ const retryRes = await this.doFetchBounded(url, init, defaultTimeoutMs);
656
697
  this.dbg({
657
698
  kind: 'response',
658
699
  at: Date.now(),
@@ -724,15 +765,24 @@ export class CompanionClient {
724
765
  return undefined;
725
766
  }
726
767
 
727
- private async postJson<T>(path: string, body: unknown, signal?: AbortSignal): Promise<T> {
728
- const res = await this.fetchAuthed(this.url(path), {
729
- method: 'POST',
730
- headers: this.jsonHeaders(),
731
- body: JSON.stringify(body),
732
- // The signal rides `init`, so the 401-refresh retry in fetchAuthed
733
- // reuses it automatically (init is passed to both doFetch calls).
734
- ...(signal ? { signal } : {})
735
- });
768
+ private async postJson<T>(
769
+ path: string,
770
+ body: unknown,
771
+ signal?: AbortSignal,
772
+ defaultTimeoutMs?: number
773
+ ): Promise<T> {
774
+ const res = await this.fetchAuthed(
775
+ this.url(path),
776
+ {
777
+ method: 'POST',
778
+ headers: this.jsonHeaders(),
779
+ body: JSON.stringify(body),
780
+ // The signal rides `init`, so the 401-refresh retry in fetchAuthed
781
+ // reuses it automatically (init is passed to both doFetch calls).
782
+ ...(signal ? { signal } : {})
783
+ },
784
+ defaultTimeoutMs
785
+ );
736
786
  const json = (await res.json().catch(() => null)) as
737
787
  | ({ ok?: boolean; error?: string; code?: string; retryAfterSec?: number } & T)
738
788
  | null;
@@ -895,12 +945,17 @@ export class CompanionClient {
895
945
  // error (4xx/5xx incl. 429) means the server SAW the turn: those keep
896
946
  // the normal throw semantics and are never queued.
897
947
  if (typeof navigator !== 'undefined' && navigator.onLine === false) {
898
- return this.queueSend(turnId, text, opts);
948
+ // The browser is offline — the request is never made, so this send
949
+ // provably never reached the server: safe to replay at any age.
950
+ return this.queueSend(turnId, text, opts, true);
899
951
  }
900
952
  try {
901
953
  return await this.dispatchText(id, body, opts, turnId);
902
954
  } catch (e) {
903
- if (this.isNetworkSendFailure(e)) return this.queueSend(turnId, text, opts);
955
+ // A network-level failure AFTER dispatch is AMBIGUOUS — the turn may
956
+ // have run server-side (mid-flight drop / lost response). Mark it so
957
+ // flushOutbox won't replay it past the server's dedup window (CR-140).
958
+ if (this.isNetworkSendFailure(e)) return this.queueSend(turnId, text, opts, false);
904
959
  throw e;
905
960
  }
906
961
  }
@@ -915,10 +970,15 @@ export class CompanionClient {
915
970
  if (opts?.awaitReply) return this.sendTextAwaitingReply(id, body, opts, turnId);
916
971
  const wantStream = opts?.stream ?? this.deltaHandlers.size > 0;
917
972
  if (!wantStream) {
973
+ // Buffered: the response only comes back when the turn completes, so
974
+ // the default headers deadline is the TURN ceiling, not the general 30s
975
+ // (CR-141 — a >30s turn used to reject request_timeout while succeeding
976
+ // server-side, and the react rollback then erased the user's message).
918
977
  const json = await this.postJson<{ seq: number | null }>(
919
978
  `/api/companion/session/${id}/input`,
920
979
  body,
921
- opts?.signal
980
+ opts?.signal,
981
+ BUFFERED_TURN_TIMEOUT_MS
922
982
  );
923
983
  return { seq: json.seq ?? null };
924
984
  }
@@ -942,13 +1002,17 @@ export class CompanionClient {
942
1002
  private queueSend(
943
1003
  turnId: string,
944
1004
  text: string,
945
- opts?: { images?: string[]; awaitReply?: boolean }
1005
+ opts: { images?: string[]; awaitReply?: boolean } | undefined,
1006
+ unsent: boolean
946
1007
  ): { seq: null; queued: true; turnId: string } {
947
1008
  this.loadOutbox().push({
948
1009
  turnId,
949
1010
  text,
950
1011
  ...(opts?.images?.length ? { images: opts.images } : {}),
951
- at: Date.now()
1012
+ at: Date.now(),
1013
+ // Only stamp the provably-unsent case — an absent flag reads as
1014
+ // AMBIGUOUS (the conservative default) in flushOutbox.
1015
+ ...(unsent ? { unsent: true } : {})
952
1016
  });
953
1017
  this.commitOutbox();
954
1018
  if (opts?.awaitReply) {
@@ -1037,7 +1101,12 @@ export class CompanionClient {
1037
1101
  this.postJson<{ seq: number | null }>(
1038
1102
  `/api/companion/session/${sessionId}/input`,
1039
1103
  body,
1040
- ac.signal
1104
+ ac.signal,
1105
+ // Buffered turn: without this floor the default 30s headers
1106
+ // deadline fired BEFORE replyTimeoutMs (60s), so the documented
1107
+ // reply_timeout contract was unreachable (CR-141). The outer
1108
+ // `deadline` still bounds the whole operation.
1109
+ BUFFERED_TURN_TIMEOUT_MS
1041
1110
  ),
1042
1111
  deadline
1043
1112
  ]);
@@ -1288,6 +1357,21 @@ export class CompanionClient {
1288
1357
  let sent = 0;
1289
1358
  while (items.length) {
1290
1359
  const item = items[0];
1360
+ // CR-140 staleness guard: an AMBIGUOUS item (may already have run
1361
+ // server-side) older than the server's dedup window can no longer be
1362
+ // replayed safely — the turnId may have aged out, so a replay would
1363
+ // double-run the turn (double bill + duplicate reply + duplicate tool
1364
+ // side effects). Drop it rather than risk that; a provably-unsent item
1365
+ // (navigator.onLine was false) never ran and replays at any age.
1366
+ if (!item.unsent && Date.now() - item.at > OUTBOX_AMBIGUOUS_MAX_AGE_MS) {
1367
+ console.warn(
1368
+ '[companion-sdk] dropping a stale unacknowledged queued send (older than the server turn-dedup window — replaying it could double-run the turn)',
1369
+ item.turnId
1370
+ );
1371
+ items.shift();
1372
+ this.commitOutbox();
1373
+ continue;
1374
+ }
1291
1375
  try {
1292
1376
  await this.postJson<{ seq: number | null; duplicate?: boolean }>(
1293
1377
  `/api/companion/session/${id}/input`,
@@ -1295,11 +1379,21 @@ export class CompanionClient {
1295
1379
  text: item.text,
1296
1380
  turnId: item.turnId,
1297
1381
  ...(item.images?.length ? { images: item.images } : {})
1298
- }
1382
+ },
1383
+ undefined,
1384
+ // Replays are buffered turns too — same headers-arrive-at-turn-end
1385
+ // deadline as dispatchText's buffered leg (CR-141).
1386
+ BUFFERED_TURN_TIMEOUT_MS
1299
1387
  );
1300
1388
  } catch (e) {
1301
1389
  const status = e instanceof CompanionError ? e.status : 0;
1302
- if (status >= 400 && status < 500 && status !== 429) {
1390
+ // A 409 means a PREVIOUS turn is still mid-flight on this session
1391
+ // (turn_pending awaiting tool results, or turn_active) — a TRANSIENT
1392
+ // state, not a rejection of this item; keep it (and the rest) for
1393
+ // the next flush. 408/423/425 are likewise retry-worthy. Only a
1394
+ // genuine terminal 4xx (400/401/403/404/422) drops the item.
1395
+ const transient = status === 409 || status === 408 || status === 423 || status === 425;
1396
+ if (status >= 400 && status < 500 && status !== 429 && !transient) {
1303
1397
  // The server saw it and said no — retrying can't fix the item.
1304
1398
  console.warn('[companion-sdk] dropping queued send the server rejected', status, e);
1305
1399
  items.shift();
@@ -1975,7 +2069,7 @@ export class CompanionClient {
1975
2069
  * - **First-party user tokens** (Login-with-Pouchy PATs): observe-only —
1976
2070
  * approval is authed as the Pouchy user (their app / a hosted confirm
1977
2071
  * page), which is also where the biometric (Face ID / passkey) gate
1978
- * lives. `confirmAction` returns 401 on these tokens. */
2072
+ * lives. `confirmAction` returns 403 (code `forbidden`) on these tokens. */
1979
2073
  onConfirmRequest(
1980
2074
  handler: (payload: ConfirmRequestPayload, envelope: CompanionEnvelope) => void
1981
2075
  ): () => void {
package/src/index.ts CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  import { CompanionClient, type CompanionClientOptions } from './client';
14
14
 
15
- export { CompanionClient, CompanionError, pouchyBrandIconUrl } from './client';
15
+ export { CompanionClient, CompanionError, pouchyBrandIconUrl, OUTBOX_AMBIGUOUS_MAX_AGE_MS } from './client';
16
16
  export type { CompanionDebugEvent } from './client';
17
17
  export type { CompanionErrorCodeValue, ControlErrorCodeValue } from './errors';
18
18
  export type {