instar 1.3.410 → 1.3.411

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.
@@ -142,7 +142,7 @@ export declare class SessionWatchdog extends EventEmitter {
142
142
  * 5. server.ts checks message history before activating triage (data-level guard)
143
143
  * 6. TriageOrchestrator Pattern 2b re-validates before reinjecting (redundant check)
144
144
  */
145
- checkCompactionIdle(tmuxSession: string): void;
145
+ checkCompactionIdle(tmuxSession: string): Promise<void>;
146
146
  private handleEscalation;
147
147
  /**
148
148
  * LLM gate: Before entering escalation, ask whether the command is
@@ -1 +1 @@
1
- {"version":3,"file":"SessionWatchdog.d.ts","sourceRoot":"","sources":["../../src/monitoring/SessionWatchdog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionWatchdog.d.ts","sourceRoot":"","sources":["../../src/monitoring/SessionWatchdog.ts"],"names":[],"mappings":"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"}
@@ -12,15 +12,42 @@
12
12
  * Level 3: SIGKILL the stuck child PID
13
13
  * Level 4: Kill tmux session
14
14
  */
15
- import { spawnSync } from 'node:child_process';
15
+ import { execFile } from 'node:child_process';
16
+ import { promisify } from 'node:util';
16
17
  import { EventEmitter } from 'node:events';
17
18
  import fs from 'node:fs';
18
19
  import path from 'node:path';
19
20
  import { maybeRotateJsonl } from '../utils/jsonl-rotation.js';
20
21
  import { evaluateThrottleSettle, RATE_LIMIT_SETTLED_CAPTURE_LINES, RATE_LIMIT_DEFAULT_SETTLE_MS, } from './rateLimitDetection.js';
21
- /** Drop-in replacement for execSync that avoids its security concerns. */
22
- function shellExec(cmd, timeout = 5000) {
23
- return spawnSync('/bin/sh', ['-c', cmd], { encoding: 'utf-8', timeout }).stdout ?? '';
22
+ const execFileAsync = promisify(execFile);
23
+ /**
24
+ * ASYNC shell exec the watchdog poll runs every 30s over EVERY running
25
+ * session, several `ps`/`pgrep` probes each. With the old `spawnSync` those
26
+ * probes blocked the single Node event loop for the full duration of each
27
+ * subprocess; under load (dozens of sessions, a busy box) the cumulative stall
28
+ * made the server miss its own /health window → false "server temporarily down"
29
+ * + a restart loop (2026-06-07 incident). execFile is non-blocking: the event
30
+ * loop (and /health) stays responsive while `ps` runs. Returns captured stdout
31
+ * (or '' on a non-zero exit / timeout), matching the old spawnSync semantics
32
+ * where a pgrep/egrep no-match simply yielded ''.
33
+ */
34
+ async function shellExecAsync(cmd, timeout = 5000) {
35
+ try {
36
+ const { stdout } = await execFileAsync('/bin/sh', ['-c', cmd], {
37
+ encoding: 'utf-8',
38
+ timeout,
39
+ maxBuffer: 4 * 1024 * 1024,
40
+ });
41
+ return stdout ?? '';
42
+ }
43
+ catch (err) {
44
+ // @silent-fallback-ok — a failed process probe is not a degradation: a
45
+ // pgrep/egrep no-match, a dead PID, or a timeout legitimately means "no
46
+ // match", identical to the prior synchronous behavior where spawnSync simply
47
+ // yielded an empty stdout string. Return any captured stdout, else ''.
48
+ const e = err;
49
+ return e && typeof e.stdout === 'string' ? e.stdout : '';
50
+ }
24
51
  }
25
52
  import { createRequire } from 'node:module';
26
53
  // ESM module: a bare CJS `require` is undefined and throws at runtime. Bind a
@@ -203,6 +230,9 @@ export class SessionWatchdog extends EventEmitter {
203
230
  catch (err) {
204
231
  console.error(`[Watchdog] Error checking "${session.tmuxSession}":`, err);
205
232
  }
233
+ // Yield to the event loop between sessions so a poll over many sessions
234
+ // can never monopolize the loop and starve /health (which shares it).
235
+ await new Promise((resolve) => setImmediate(resolve));
206
236
  }
207
237
  }
208
238
  finally {
@@ -219,12 +249,12 @@ export class SessionWatchdog extends EventEmitter {
219
249
  // the stuck-command path but still run compaction-idle detection —
220
250
  // that path is output-based and doesn't strictly need a PID (its own
221
251
  // process guard is null-safe).
222
- const claudePid = this.getClaudePid(tmuxSession);
252
+ const claudePid = await this.getClaudePid(tmuxSession);
223
253
  if (!claudePid) {
224
- this.checkCompactionIdle(tmuxSession);
254
+ await this.checkCompactionIdle(tmuxSession);
225
255
  return;
226
256
  }
227
- const children = this.getChildProcesses(claudePid);
257
+ const children = await this.getChildProcesses(claudePid);
228
258
  const stuckChild = children.find(c => {
229
259
  if (this.isExcluded(c.command))
230
260
  return false;
@@ -245,7 +275,7 @@ export class SessionWatchdog extends EventEmitter {
245
275
  // contain active sibling producers, the "stuck" process is just
246
276
  // waiting for upstream output from a legitimate long-running
247
277
  // pipeline. Skip escalation.
248
- if (this.hasActivePipelineSibling(stuckChild.pid, stuckChild.command)) {
278
+ if (await this.hasActivePipelineSibling(stuckChild.pid, stuckChild.command)) {
249
279
  console.log(`[Watchdog] "${tmuxSession}": ${stuckChild.command.slice(0, 60)} ` +
250
280
  `is consuming an active pipeline — skipping escalation`);
251
281
  this.temporaryExclusions.add(stuckChild.pid);
@@ -299,7 +329,7 @@ export class SessionWatchdog extends EventEmitter {
299
329
  // sitting at a bare prompt with no one at the terminal to nudge them.
300
330
  // This is the polling-based fallback for the PreCompact event path which
301
331
  // is unreliable (Claude Code doesn't always fire the event).
302
- this.checkCompactionIdle(tmuxSession);
332
+ await this.checkCompactionIdle(tmuxSession);
303
333
  // Server-side throttle detection — catch sessions stopped at a prompt after
304
334
  // Anthropic's "temporarily limiting requests" throttle exhausted Claude's
305
335
  // own retries. Signal-only: emits 'rate-limited' for the RateLimitSentinel
@@ -369,7 +399,7 @@ export class SessionWatchdog extends EventEmitter {
369
399
  * 5. server.ts checks message history before activating triage (data-level guard)
370
400
  * 6. TriageOrchestrator Pattern 2b re-validates before reinjecting (redundant check)
371
401
  */
372
- checkCompactionIdle(tmuxSession) {
402
+ async checkCompactionIdle(tmuxSession) {
373
403
  // Cooldown — don't re-emit for the same session within 5 minutes
374
404
  const lastEmitted = this.compactionIdleCooldowns.get(tmuxSession);
375
405
  if (lastEmitted && (Date.now() - lastEmitted) < SessionWatchdog.COMPACTION_IDLE_COOLDOWN_MS) {
@@ -377,9 +407,9 @@ export class SessionWatchdog extends EventEmitter {
377
407
  }
378
408
  // Guard 1: Structural process check — if Claude has active child processes,
379
409
  // it's executing tools/commands, not stalled. Skip entirely.
380
- const claudePid = this.getClaudePid(tmuxSession);
410
+ const claudePid = await this.getClaudePid(tmuxSession);
381
411
  if (claudePid) {
382
- const children = this.getChildProcesses(claudePid);
412
+ const children = await this.getChildProcesses(claudePid);
383
413
  const activeChildren = children.filter(c => !this.isExcluded(c.command));
384
414
  if (activeChildren.length > 0)
385
415
  return;
@@ -545,13 +575,13 @@ export class SessionWatchdog extends EventEmitter {
545
575
  * @deprecated method name retained for v0.x compat — internal callers
546
576
  * use the framework-generic shape.
547
577
  */
548
- getClaudePid(tmuxSession) {
578
+ async getClaudePid(tmuxSession) {
549
579
  return this.getFrameworkPid(tmuxSession);
550
580
  }
551
- getFrameworkPid(tmuxSession) {
581
+ async getFrameworkPid(tmuxSession) {
552
582
  try {
553
583
  // Get pane PID
554
- const panePidStr = shellExec(`${this.config.sessions.tmuxPath} list-panes -t "=${tmuxSession}" -F "#{pane_pid}" 2>/dev/null`).trim().split('\n')[0];
584
+ const panePidStr = (await shellExecAsync(`${this.config.sessions.tmuxPath} list-panes -t "=${tmuxSession}" -F "#{pane_pid}" 2>/dev/null`)).trim().split('\n')[0];
555
585
  if (!panePidStr)
556
586
  return null;
557
587
  const panePid = parseInt(panePidStr, 10);
@@ -562,7 +592,7 @@ export class SessionWatchdog extends EventEmitter {
562
592
  // own command first — if it matches a known framework binary,
563
593
  // return it. Without this, pgrep -P finds no match and the
564
594
  // watchdog silently no-ops.
565
- const paneCmd = shellExec(`ps -p ${panePid} -o comm= 2>/dev/null`).trim();
595
+ const paneCmd = (await shellExecAsync(`ps -p ${panePid} -o comm= 2>/dev/null`)).trim();
566
596
  // eslint-disable-next-line @typescript-eslint/no-var-requires
567
597
  const { listProcessSignals } = require('./frameworkProcessSignals.js');
568
598
  const signals = listProcessSignals();
@@ -581,7 +611,7 @@ export class SessionWatchdog extends EventEmitter {
581
611
  // Fallback: pane runs a shell wrapper that has a framework CLI as
582
612
  // a child. egrep alternation over every framework's bracket needle.
583
613
  const needle = signals.map((s) => s.psGrepNeedle).join('|');
584
- const childPidStr = shellExec(`pgrep -P ${panePid} 2>/dev/null | xargs -I@ ps -p @ -o pid=,command= 2>/dev/null | egrep -i '${needle}' | head -1 | awk '{print $1}'`).trim();
614
+ const childPidStr = (await shellExecAsync(`pgrep -P ${panePid} 2>/dev/null | xargs -I@ ps -p @ -o pid=,command= 2>/dev/null | egrep -i '${needle}' | head -1 | awk '{print $1}'`)).trim();
585
615
  if (!childPidStr)
586
616
  return null;
587
617
  const pid = parseInt(childPidStr, 10);
@@ -592,15 +622,15 @@ export class SessionWatchdog extends EventEmitter {
592
622
  return null;
593
623
  }
594
624
  }
595
- getChildProcesses(pid) {
625
+ async getChildProcesses(pid) {
596
626
  try {
597
- const childPidsStr = shellExec(`pgrep -P ${pid} 2>/dev/null`).trim();
627
+ const childPidsStr = (await shellExecAsync(`pgrep -P ${pid} 2>/dev/null`)).trim();
598
628
  if (!childPidsStr)
599
629
  return [];
600
630
  const childPids = childPidsStr.split('\n').filter(Boolean).join(',');
601
631
  if (!childPids)
602
632
  return [];
603
- const output = shellExec(`ps -o pid=,etime=,command= -p ${childPids} 2>/dev/null`).trim();
633
+ const output = (await shellExecAsync(`ps -o pid=,etime=,command= -p ${childPids} 2>/dev/null`)).trim();
604
634
  if (!output)
605
635
  return [];
606
636
  const results = [];
@@ -635,7 +665,7 @@ export class SessionWatchdog extends EventEmitter {
635
665
  * Returns true if this PID looks like a waiting consumer in an active
636
666
  * pipeline — in which case escalation should be skipped.
637
667
  */
638
- hasActivePipelineSibling(pid, command) {
668
+ async hasActivePipelineSibling(pid, command) {
639
669
  // Step 1: is the command a stdin-consuming candidate at all?
640
670
  const consumer = STDIN_CONSUMER_PATTERNS.find(p => p.cmd.test(command));
641
671
  if (!consumer)
@@ -646,11 +676,11 @@ export class SessionWatchdog extends EventEmitter {
646
676
  return false;
647
677
  // Step 3: find the process group and peers.
648
678
  try {
649
- const pgidStr = shellExec(`ps -o pgid= -p ${pid} 2>/dev/null`).trim();
679
+ const pgidStr = (await shellExecAsync(`ps -o pgid= -p ${pid} 2>/dev/null`)).trim();
650
680
  const pgid = parseInt(pgidStr, 10);
651
681
  // Check process group peers (pipelines share pgid on macOS/Linux).
652
682
  if (!isNaN(pgid) && pgid > 0) {
653
- const peersOutput = shellExec(`ps -o pid=,command= -g ${pgid} 2>/dev/null`).trim();
683
+ const peersOutput = (await shellExecAsync(`ps -o pid=,command= -g ${pgid} 2>/dev/null`)).trim();
654
684
  for (const line of peersOutput.split('\n')) {
655
685
  const match = line.trim().match(/^(\d+)\s+(.+)$/);
656
686
  if (!match)
@@ -669,11 +699,11 @@ export class SessionWatchdog extends EventEmitter {
669
699
  // Fallback: also check direct descendants of the consumer PID. In
670
700
  // some shell exec patterns the producer becomes a CHILD of the
671
701
  // exec'd consumer rather than a pgid sibling.
672
- const childPidsStr = shellExec(`pgrep -P ${pid} 2>/dev/null`).trim();
702
+ const childPidsStr = (await shellExecAsync(`pgrep -P ${pid} 2>/dev/null`)).trim();
673
703
  if (childPidsStr) {
674
704
  const childPids = childPidsStr.split('\n').filter(Boolean).join(',');
675
705
  if (childPids) {
676
- const childOutput = shellExec(`ps -o pid=,command= -p ${childPids} 2>/dev/null`).trim();
706
+ const childOutput = (await shellExecAsync(`ps -o pid=,command= -p ${childPids} 2>/dev/null`)).trim();
677
707
  for (const line of childOutput.split('\n')) {
678
708
  const match = line.trim().match(/^(\d+)\s+(.+)$/);
679
709
  if (!match)
@@ -1 +1 @@
1
- {"version":3,"file":"SessionWatchdog.js","sourceRoot":"","sources":["../../src/monitoring/SessionWatchdog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionWatchdog.js","sourceRoot":"","sources":["../../src/monitoring/SessionWatchdog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EACL,sBAAsB,EACtB,gCAAgC,EAChC,4BAA4B,GAE7B,MAAM,yBAAyB,CAAC;AAEjC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C;;;;;;;;;;GAUG;AACH,KAAK,UAAU,cAAc,CAAC,GAAW,EAAE,OAAO,GAAG,IAAI;IACvD,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;YAC7D,QAAQ,EAAE,OAAO;YACjB,OAAO;YACP,SAAS,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;SAC3B,CAAC,CAAC;QACH,OAAO,MAAM,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,uEAAuE;QACvE,wEAAwE;QACxE,6EAA6E;QAC7E,uEAAuE;QACvE,MAAM,CAAC,GAAG,GAAiC,CAAC;QAC5C,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,CAAC;AACH,CAAC;AAID,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,8EAA8E;AAC9E,+EAA+E;AAC/E,mCAAmC;AACnC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,MAAM,CAAN,IAAY,eAMX;AAND,WAAY,eAAe;IACzB,iEAAc,CAAA;IACd,uDAAS,CAAA;IACT,2DAAW,CAAA;IACX,2DAAW,CAAA;IACX,mEAAe,CAAA;AACjB,CAAC,EANW,eAAe,KAAf,eAAe,QAM1B;AAuCD,6CAA6C;AAC7C,kFAAkF;AAClF,8EAA8E;AAC9E,8EAA8E;AAC9E,iCAAiC;AACjC,MAAM,iBAAiB,GAA2B;IAChD,uBAAuB;IACvB,oBAAoB,EAAE,YAAY;IAClC,sEAAsE;IACtE,oEAAoE;IACpE,yEAAyE;IACzE,4EAA4E;IAC5E,wEAAwE;IACxE,iEAAiE;IACjE,0DAA0D;IAC1D,mDAAmD;IACnD,gEAAgE;IAChE,0EAA0E;IAC1E,4DAA4D;IAC5D,oCAAoC;IACpC,YAAY,EAAE,OAAO,EAAE,OAAO;IAC9B,iBAAiB,EAAE,cAAc,EAAE,YAAY;IAC/C,yEAAyE;IACzE,yBAAyB;CAC1B,CAAC;AAEF,2EAA2E;AAC3E,wEAAwE;AACxE,0EAA0E;AAC1E,qEAAqE;AACrE,oEAAoE;AACpE,EAAE;AACF,uEAAuE;AACvE,yEAAyE;AACzE,4EAA4E;AAC5E,gDAAgD;AAChD,MAAM,uBAAuB,GAAuD;IAClF,EAAE,GAAG,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,IAAI,EAAE;IAC3D,EAAE,GAAG,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,IAAI,EAAE;IAC3D,EAAE,GAAG,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,IAAI,EAAE;IAC3D,EAAE,GAAG,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,IAAI,EAAE;IAC3D,EAAE,GAAG,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,IAAI,EAAE;IAC1D,EAAE,GAAG,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,IAAI,EAAE;IAC3D,EAAE,GAAG,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,IAAI,EAAE;IAC3D,EAAE,GAAG,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,IAAI,EAAE;IAC3D,EAAE,GAAG,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,IAAI,EAAE;IAC1D,EAAE,GAAG,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,IAAI,EAAE;IAC1D,EAAE,GAAG,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,KAAK,EAAE;IAC1D,EAAE,GAAG,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,IAAI,EAAE;IACzD,EAAE,GAAG,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,KAAK,EAAE;IAC7D,EAAE,GAAG,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,IAAI,EAAE;CAC1D,CAAC;AAEF,MAAM,iBAAiB,GAAG;IACxB,uBAAuB;IACvB,wBAAwB;IACxB,uDAAuD;IACvD,oBAAoB;IACpB,qBAAqB;CACtB,CAAC;AAEF,gEAAgE;AAChE,MAAM,iBAAiB,GAAoC;IACzD,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC;IAC/B,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;IAC1B,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM;IACjC,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM;IACjC,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,KAAK;CACrC,CAAC;AAEF,MAAM,0BAA0B,GAAG,OAAO,CAAC,CAAC,YAAY;AACxD,MAAM,wBAAwB,GAAG,MAAM,CAAC;AACxC,MAAM,WAAW,GAAG,CAAC,CAAC;AAStB,MAAM,OAAO,eAAgB,SAAQ,YAAY;IACvC,MAAM,CAAe;IACrB,cAAc,CAAiB;IAC/B,KAAK,CAAe;IACpB,QAAQ,GAA0C,IAAI,CAAC;IACvD,eAAe,GAAG,IAAI,GAAG,EAA2B,CAAC;IACrD,mBAAmB,GAAwB,EAAE,CAAC;IAC9C,OAAO,GAAG,IAAI,CAAC;IACf,OAAO,GAAG,KAAK,CAAC;IAEhB,gBAAgB,CAAS;IACzB,cAAc,CAAS;IACvB,OAAO,CAAS;IAExB,+EAA+E;IAC/E,YAAY,GAAgC,IAAI,CAAC;IAEjD,+EAA+E;IACvE,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC,CAAC,OAAO;IAExD,yEAAyE;IACjE,gBAAgB,GAAG,CAAC,CAAC;IAE7B,sEAAsE;IAC9D,oBAAoB,GAAG,IAAI,GAAG,EAA6B,CAAC;IAEpE,4EAA4E;IACpE,uBAAuB,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,0BAA0B;IAC/E,MAAM,CAAU,2BAA2B,GAAG,OAAO,CAAC,CAAC,YAAY;IAE3E,yEAAyE;IACjE,oBAAoB,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,0BAA0B;IAC5E,MAAM,CAAU,wBAAwB,GAAG,MAAM,CAAC,CAAC,kCAAkC;IAE7F;;;;;OAKG;IACK,cAAc,GAAG,IAAI,GAAG,EAA+B,CAAC;IAChE,wGAAwG;IACvF,iBAAiB,CAAS;IAE3C,YAAY,MAAoB,EAAE,cAA8B,EAAE,KAAmB;QACnF,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC5C,IAAI,CAAC,gBAAgB,GAAG,CAAC,QAAQ,EAAE,eAAe,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;QAClE,IAAI,CAAC,cAAc,GAAG,QAAQ,EAAE,cAAc,IAAI,wBAAwB,CAAC;QAC3E,IAAI,CAAC,iBAAiB,GAAG,QAAQ,EAAE,iBAAiB,IAAI,4BAA4B,CAAC;QAErF,sBAAsB;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,8BAA8B,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,CAAC,cAAc,GAAG,IAAI,iBAAiB,IAAI,CAAC,gBAAgB,GAAG,IAAI,IAAI,CAAC,CAAC;QACvH,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACpE,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAED,UAAU,CAAC,OAAgB;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,UAAU,CAAC,WAAmB;QAC5B,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAChD,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,GAAG,eAAe,CAAC,UAAU,CAAC;IACjE,CAAC;IAED,SAAS;QAKP,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC;QAClE,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACzC,IAAI,EAAE,CAAC,CAAC,WAAW;YACnB,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,IAAI;SAC5D,CAAC,CAAC,CAAC;QAEJ,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ;YACR,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;SACzD,CAAC;IACJ,CAAC;IAED,uBAAuB;IAEf,KAAK,CAAC,IAAI;QAChB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC;YAC3D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC/C,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,8BAA8B,OAAO,CAAC,WAAW,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC5E,CAAC;gBACD,wEAAwE;gBACxE,sEAAsE;gBACtE,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,WAAmB;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAEvD,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,GAAG,eAAe,CAAC,UAAU,EAAE,CAAC;YAC5D,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;QAED,sEAAsE;QACtE,mEAAmE;QACnE,qEAAqE;QACrE,+BAA+B;QAC/B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACnC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC7C,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YACtD,gEAAgE;YAChE,kEAAkE;YAClE,8DAA8D;YAC9D,8DAA8D;YAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,OAAO,CAAC;gBACtD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,sBAAsB;gBACjE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YAC1B,OAAO,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,IAAI,UAAU,EAAE,CAAC;YACf,qEAAqE;YACrE,+DAA+D;YAC/D,gEAAgE;YAChE,6DAA6D;YAC7D,6BAA6B;YAC7B,IAAI,MAAM,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5E,OAAO,CAAC,GAAG,CACT,eAAe,WAAW,MAAM,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG;oBAClE,uDAAuD,CACxD,CAAC;gBACF,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC7C,OAAO;YACT,CAAC;YAED,kFAAkF;YAClF,iFAAiF;YACjF,qDAAqD;YACrD,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;YAC9E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YAClG,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,wEAAwE;gBACxE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC7C,OAAO;YACT,CAAC;YAED,qEAAqE;YACrE,sEAAsE;YACtE,oEAAoE;YACpE,oEAAoE;YACpE,kEAAkE;YAClE,+BAA+B;YAC/B,IAAI,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC1E,OAAO,CAAC,GAAG,CACT,eAAe,WAAW,qBAAqB,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG;oBACjF,2EAA2E,CAC5E,CAAC;gBACF,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC7C,OAAO;YACT,CAAC;YAED,MAAM,KAAK,GAAoB;gBAC7B,KAAK,EAAE,eAAe,CAAC,KAAK;gBAC5B,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE;gBAC1B,aAAa,EAAE,UAAU,CAAC,GAAG;gBAC7B,YAAY,EAAE,UAAU,CAAC,OAAO;gBAChC,UAAU,EAAE,QAAQ,EAAE,UAAU,IAAI,CAAC;aACtC,CAAC;YACF,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAE7C,OAAO,CAAC,GAAG,CACT,eAAe,WAAW,qBAAqB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM;gBAC5F,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CACtD,CAAC;YAEF,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAChD,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;QACzF,CAAC;aAAM,IAAI,QAAQ,EAAE,CAAC;YACpB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3C,CAAC;QAED,mDAAmD;QACnD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED,yEAAyE;QACzE,sEAAsE;QACtE,yEAAyE;QACzE,6DAA6D;QAC7D,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAE5C,4EAA4E;QAC5E,0EAA0E;QAC1E,2EAA2E;QAC3E,0CAA0C;QAC1C,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,gBAAgB,CAAC,WAAmB;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,WAAW,EAAE,gCAAgC,CAAC,CAAC;QAChG,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,sBAAsB,CAC/C,MAAM,EACN,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,EACpC,GAAG,EACH,EAAE,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,CACrC,CAAC;QAEF,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;YAC/B,0EAA0E;YAC1E,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;QAED,iEAAiE;QACjE,IAAI,IAAI;YAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAErD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,uEAAuE;YACvE,OAAO;QACT,CAAC;QAED,wEAAwE;QACxE,2EAA2E;QAC3E,0EAA0E;QAC1E,yEAAyE;QACzE,yDAAyD;QACzD,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC/D,IAAI,WAAW,IAAI,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG,eAAe,CAAC,wBAAwB;YAAE,OAAO;QAE1F,MAAM,SAAS,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,KAAK,IAAI,GAAG,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CACT,eAAe,WAAW,8CAA8C;YACxE,gBAAgB,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,kCAAkC,CAC/E,CAAC;QACF,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,mBAAmB,CAAC,WAAmB;QAC3C,iEAAiE;QACjE,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAClE,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,GAAG,eAAe,CAAC,2BAA2B,EAAE,CAAC;YAC5F,OAAO;QACT,CAAC;QAED,4EAA4E;QAC5E,6DAA6D;QAC7D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YACzD,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACzE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO;QACxC,CAAC;QAED,kFAAkF;QAClF,6EAA6E;QAC7E,8DAA8D;QAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,mEAAmE;QACnE,IAAI,CAAC,sCAAsC,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,OAAO;QAEjE,iFAAiF;QACjF,2EAA2E;QAC3E,yEAAyE;QACzE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,QAAQ,GACZ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YACnC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;YACpB,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC;QAEtB,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,mEAAmE;QACnE,OAAO,CAAC,GAAG,CAAC,eAAe,WAAW,+DAA+D,CAAC,CAAC;QACvG,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;IAC5C,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,WAAmB,EAAE,KAAsB;QACxE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,eAAe,WAAW,oBAAoB,KAAK,CAAC,aAAa,mBAAmB,CAAC,CAAC;YAClG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAChD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACzC,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,GAAG,GAAG,KAAK,CAAC,cAAc,CAAC;QAC/C,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;QAElC,IAAI,SAAS,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,KAAK,CAAC,UAAU,IAAI,WAAW,EAAE,CAAC;gBACpC,OAAO,CAAC,GAAG,CAAC,eAAe,WAAW,oCAAoC,CAAC,CAAC;gBAC5E,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBACzC,OAAO;YACT,CAAC;YACD,KAAK,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC;YACpC,KAAK,CAAC,cAAc,GAAG,GAAG,CAAC;YAC3B,KAAK,CAAC,UAAU,EAAE,CAAC;YACnB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAChD,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,eAAe,CAAC,KAAK,EAAE,SAAS,KAAK,CAAC,UAAU,eAAe,EAAE;gBACpG,GAAG,EAAE,KAAK,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC;aACpE,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,iBAAiB,CAAC,SAA4B,CAAC,IAAI,MAAM,CAAC;QAC/E,IAAI,WAAW,GAAG,YAAY;YAAE,OAAO;QAEvC,KAAK,CAAC,KAAK,GAAG,SAA4B,CAAC;QAC3C,KAAK,CAAC,cAAc,GAAG,GAAG,CAAC;QAE3B,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAEtF,QAAQ,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,KAAK,eAAe,CAAC,OAAO;gBAC1B,OAAO,CAAC,GAAG,CAAC,eAAe,WAAW,yBAAyB,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;gBACtF,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;gBAChD,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,eAAe,CAAC,OAAO,EAAE,WAAW,KAAK,CAAC,aAAa,EAAE,EAAE,KAAK,CAAC,CAAC;gBACvG,MAAM;YAER,KAAK,eAAe,CAAC,OAAO;gBAC1B,OAAO,CAAC,GAAG,CAAC,eAAe,WAAW,yBAAyB,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;gBACtF,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;gBAChD,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,eAAe,CAAC,OAAO,EAAE,WAAW,KAAK,CAAC,aAAa,EAAE,EAAE,KAAK,CAAC,CAAC;gBACvG,MAAM;YAER,KAAK,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;gBACjC,2EAA2E;gBAC3E,mEAAmE;gBACnE,wEAAwE;gBACxE,0EAA0E;gBAC1E,uEAAuE;gBACvE,mEAAmE;gBACnE,uDAAuD;gBACvD,OAAO,CAAC,GAAG,CAAC,eAAe,WAAW,8CAA8C,CAAC,CAAC;gBACtF,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc;qBAC7B,mBAAmB,EAAE;qBACrB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;gBAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,0CAA0C;oBAC1C,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,eAAe,CAAC,WAAW,EAAE,sBAAsB,EAAE,KAAK,CAAC,CAAC;oBACjG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oBACzC,MAAM;gBACR,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,gBAAgB,EAAE;oBACnF,WAAW,EAAE,UAAU;oBACvB,WAAW,EAAE,QAAQ;iBACtB,CAAC,CAAC;gBACH,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBACtB,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,eAAe,CAAC,WAAW,EAAE,8BAA8B,EAAE,KAAK,CAAC,CAAC;gBAC3G,CAAC;qBAAM,CAAC;oBACN,uEAAuE;oBACvE,4DAA4D;oBAC5D,sEAAsE;oBACtE,+DAA+D;oBAC/D,OAAO,CAAC,GAAG,CAAC,eAAe,WAAW,qBAAqB,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;oBAC7F,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,eAAe,CAAC,WAAW,EAAE,SAAS,MAAM,CAAC,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC;gBACvG,CAAC;gBACD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBACzC,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,SAAiB,EAAE,YAAY,GAAG,EAAE;QAChF,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC,CAAC,qBAAqB;QAE1D,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;QACjD,0FAA0F;QAC1F,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,MAAM,WAAW,GAAG;YAClB,qFAAqF;YACrF,EAAE;YACF,YAAY,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;YACnC,gBAAgB,UAAU,UAAU;SACrC,CAAC;QACF,IAAI,YAAY,EAAE,CAAC;YACjB,WAAW,CAAC,IAAI,CACd,EAAE,EACF,4FAA4F,EAC5F,KAAK,EACL,YAAY,EACZ,KAAK,CACN,CAAC;QACJ,CAAC;QACD,WAAW,CAAC,IAAI,CACd,EAAE,EACF,2CAA2C,EAC3C,kEAAkE,EAClE,6DAA6D,EAC7D,0CAA0C,EAC1C,sDAAsD,EACtD,gEAAgE,EAChE,mDAAmD,EACnD,yEAAyE,EACzE,EAAE,EACF,gCAAgC,EAChC,mEAAmE,EACnE,gEAAgE,EAChE,sEAAsE,EACtE,EAAE,EACF,uFAAuF,EACvF,wEAAwE,EACxE,EAAE,EACF,0FAA0F,CAC3F,CAAC;QACF,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE;gBACxD,SAAS,EAAE,CAAC;gBACZ,WAAW,EAAE,CAAC;gBACd,WAAW,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAAE,oCAAoC;aACpF,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC7C,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,wBAAwB,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,uCAAuC,CAAC,CAAC;gBACjG,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,2FAA2F;YAC3F,OAAO,CAAC,IAAI,CAAC,sDAAsD,EAAE,GAAG,CAAC,CAAC;YAC1E,OAAO,IAAI,CAAC,CAAC,YAAY;QAC3B,CAAC;IACH,CAAC;IAED,+DAA+D;IAE/D;;;;;;;;OAQG;IACK,KAAK,CAAC,YAAY,CAAC,WAAmB;QAC5C,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,WAAmB;QAC/C,IAAI,CAAC;YACH,eAAe;YACf,MAAM,UAAU,GAAG,CAAC,MAAM,cAAc,CACtC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,oBAAoB,WAAW,gCAAgC,CAChG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,UAAU;gBAAE,OAAO,IAAI,CAAC;YAC7B,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACzC,IAAI,KAAK,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;YAEhC,mEAAmE;YACnE,gEAAgE;YAChE,8DAA8D;YAC9D,2DAA2D;YAC3D,4BAA4B;YAC5B,MAAM,OAAO,GAAG,CAAC,MAAM,cAAc,CAAC,SAAS,OAAO,uBAAuB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACvF,8DAA8D;YAC9D,MAAM,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;YACvE,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;YACrC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,KAAK,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;gBACnH,IAAI,CAAC,QAAQ;oBAAE,SAAS;gBACxB,+DAA+D;gBAC/D,sDAAsD;gBACtD,IACE,OAAO,KAAK,QAAQ;uBACjB,OAAO,KAAK,IAAI,QAAQ,EAAE;uBAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,CAAC,EACnC,CAAC;oBACD,OAAO,OAAO,CAAC;gBACjB,CAAC;YACH,CAAC;YAED,kEAAkE;YAClE,oEAAoE;YACpE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAA2B,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtF,MAAM,WAAW,GAAG,CAAC,MAAM,cAAc,CACvC,YAAY,OAAO,6EAA6E,MAAM,gCAAgC,CACvI,CAAC,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,WAAW;gBAAE,OAAO,IAAI,CAAC;YAC9B,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACtC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,uDAAuD;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,GAAW;QACzC,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,CAAC,MAAM,cAAc,CAAC,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAClF,IAAI,CAAC,YAAY;gBAAE,OAAO,EAAE,CAAC;YAE7B,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrE,IAAI,CAAC,SAAS;gBAAE,OAAO,EAAE,CAAC;YAE1B,MAAM,MAAM,GAAG,CAAC,MAAM,cAAc,CAAC,iCAAiC,SAAS,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACvG,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,CAAC;YAEvB,MAAM,OAAO,GAAuB,EAAE,CAAC;YACvC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;gBAC/D,IAAI,CAAC,KAAK;oBAAE,SAAS;gBACrB,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACxC,IAAI,KAAK,CAAC,QAAQ,CAAC;oBAAE,SAAS;gBAC9B,OAAO,CAAC,IAAI,CAAC;oBACX,GAAG,EAAE,QAAQ;oBACb,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;oBACjB,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBACvC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,0DAA0D;YAC1D,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACK,KAAK,CAAC,wBAAwB,CAAC,GAAW,EAAE,OAAe;QACjE,6DAA6D;QAC7D,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE5B,sEAAsE;QACtE,kEAAkE;QAClE,IAAI,QAAQ,CAAC,iBAAiB,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QAE9E,4CAA4C;QAC5C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,CAAC,MAAM,cAAc,CAAC,kBAAkB,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACnF,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAEnC,mEAAmE;YACnE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,WAAW,GAAG,CAAC,MAAM,cAAc,CACvC,0BAA0B,IAAI,cAAc,CAC7C,CAAC,CAAC,IAAI,EAAE,CAAC;gBACV,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;oBAClD,IAAI,CAAC,KAAK;wBAAE,SAAS;oBACrB,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACvC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACzB,IAAI,OAAO,KAAK,GAAG;wBAAE,SAAS,CAAC,OAAO;oBACtC,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;wBAAE,SAAS,CAAC,gBAAgB;oBACxF,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;wBAAE,SAAS;oBACvC,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YAED,kEAAkE;YAClE,+DAA+D;YAC/D,8CAA8C;YAC9C,MAAM,YAAY,GAAG,CAAC,MAAM,cAAc,CAAC,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAClF,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrE,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,WAAW,GAAG,CAAC,MAAM,cAAc,CAAC,0BAA0B,SAAS,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBACrG,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;wBAClD,IAAI,CAAC,KAAK;4BAAE,SAAS;wBACrB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBAC1B,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;4BAAE,SAAS;wBACxC,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACP,yEAAyE;YACzE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,sBAAsB,CAAC,OAAe;QAC5C,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5B,IAAI,QAAQ,CAAC,iBAAiB,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9E,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACK,eAAe,CAAC,OAAe;QACrC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;QAChE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,8DAA8D;gBAC9D,+DAA+D;gBAC/D,qEAAqE;gBACrE,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;oBAAE,CAAC,EAAE,CAAC,CAAC,0BAA0B;gBAC5D,SAAS;YACX,CAAC;YACD,2DAA2D;YAC3D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,UAAU,CAAC,OAAe;QAChC,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE,CAAC;YACxC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAAE,OAAO,IAAI,CAAC;YAC7C,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjC,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,CAAC;YACvC,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC9C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,YAAY,CAAC,OAAe;QAClC,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,QAAQ,GAAG,OAAO,CAAC;QACvB,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvB,QAAQ,GAAG,CAAC,CAAC;QACf,CAAC;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;aACxE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;;YAC3D,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACxB,OAAO,CAAC,IAAI,GAAG,KAAK,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC;IACzC,CAAC;IAEO,UAAU,CAAC,GAAW,EAAE,MAAc;QAC5C,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,MAAwB,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,0DAA0D;YAC1D,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACzB,OAAO,CAAC,KAAK,CAAC,6BAA6B,MAAM,OAAO,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,GAAW;QAChC,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,uCAAuC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAGO,kBAAkB,CACxB,WAAmB,EACnB,KAAsB,EACtB,MAAc,EACd,KAA0D;QAE1D,MAAM,KAAK,GAAsB;YAC/B,WAAW;YACX,KAAK;YACL,MAAM;YACN,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YACzC,QAAQ,EAAE,KAAK,CAAC,GAAG;YACnB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QACF,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAEjC,mEAAmE;QACnE,IAAI,KAAK,KAAK,eAAe,CAAC,KAAK,EAAE,CAAC;YACpC,0DAA0D;YAC1D,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAClD,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;QAClE,CAAC;QAED,mBAAmB;QACnB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACK,YAAY,CAAC,WAAmB,EAAE,KAAwB;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;YAAE,OAAO;QAC9D,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAE9C,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC;QAC3D,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;QAEvE,KAAK,CAAC,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;QACpD,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC;QAEpD,6BAA6B;QAC7B,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,KAAK,EAAE,cAAc,EAAE,IAAI,EAAS,CAAC,CAAC;QAE7D,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACpF,CAAC;IAED;;;OAGG;IACK,YAAY,CAAC,KAAwB;QAC3C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,CAAC;YACD,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;YAC9D,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,4DAA4D;QAC9D,CAAC;IACH,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,OAAgB;QACtB,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,EAAE,CAAC;YAC5C,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9D,IAAI,CAAC,OAAO;gBAAE,OAAO,EAAE,CAAC;YAExB,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,CAAC;YAC3B,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;iBACvB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;gBAAC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO,IAAI,CAAC;YAAC,CAAC,CAAC,CAAC,CAAC;iBACxE,MAAM,CAAC,CAAC,CAAC,EAA0B,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC;QAC/E,CAAC;QAAC,MAAM,CAAC;YACP,uDAAuD;YACvD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,OAAgB;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;QAElF,MAAM,KAAK,GAAkB;YAC3B,kBAAkB,EAAE,CAAC;YACrB,oBAAoB,EAAE,EAAE;YACxB,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,CAAC;YAChB,cAAc,EAAE,CAAC;YACjB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;SACxC,CAAC;QAEF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,8BAA8B;YAC9B,IAAK,KAAa,CAAC,cAAc,EAAE,CAAC;gBAClC,IAAI,KAAK,CAAC,OAAO,KAAK,WAAW;oBAAE,KAAK,CAAC,UAAU,EAAE,CAAC;qBACjD,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM;oBAAE,KAAK,CAAC,aAAa,EAAE,CAAC;;oBACpD,KAAK,CAAC,cAAc,EAAE,CAAC;gBAC5B,SAAS;YACX,CAAC;YAED,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,KAAK,EAAE,CAAC;YACpE,KAAK,CAAC,oBAAoB,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3F,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,SAAS;QACP,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO;YACzC,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9D,IAAI,CAAC,OAAO;gBAAE,OAAO;YAErB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;YACrD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBAChC,IAAI,CAAC;oBACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC3B,OAAO,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC;gBAC/B,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBAChC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,yDAAyD;QAC3D,CAAC;IACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "instar",
3
- "version": "1.3.410",
3
+ "version": "1.3.411",
4
4
  "description": "Coherence infrastructure for self-evolving AI agents — on the Claude Code or Codex subscription you already have.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$schema": "./builtin-manifest.schema.json",
3
3
  "schemaVersion": 1,
4
- "generatedAt": "2026-06-07T22:01:30.692Z",
5
- "instarVersion": "1.3.410",
4
+ "generatedAt": "2026-06-07T22:07:36.622Z",
5
+ "instarVersion": "1.3.411",
6
6
  "entryCount": 199,
7
7
  "entries": {
8
8
  "hook:session-start": {
@@ -22,6 +22,16 @@ message" incident, topic 21816). Three fixes, all "don't replay a handled messag
22
22
  refuses to re-queue an id already delivered/dropped this run, killing the "stale
23
23
  already-delivered copies kept getting retried" half.
24
24
 
25
+ `SessionWatchdog` polled every 30s over every running session, running several
26
+ `ps`/`pgrep` probes per session via synchronous `spawnSync` — each blocking the single
27
+ Node event loop for its full duration. Under load (dozens of sessions on a busy box) the
28
+ cumulative stall made the server miss its own `/health` window, so the supervisor
29
+ declared it down and restarted it in a loop (2026-06-07 "server temporarily down on
30
+ every message" incident, topic 21816). The watchdog's process scans are now async
31
+ (`execFile`) and the poll yields the event loop between sessions, so health checks stay
32
+ responsive while scans run. The watchdog's escalation/kill DECISIONS are unchanged —
33
+ only the I/O mechanism of its read-only probes changed.
34
+
25
35
  ## What to Tell Your User
26
36
 
27
37
  If they saw the same message echoed back repeatedly, or "server temporarily down" on
@@ -29,6 +39,10 @@ nearly every message during an overload: that replay loop is fixed — an alread
29
39
  message is no longer re-run, and the queue won't re-deliver something it already sent.
30
40
  Nothing for them to do; their messages were never lost (they queued and delivered).
31
41
 
42
+ If they saw "server temporarily down" on nearly every message during a busy period,
43
+ with the server restarting repeatedly: a big contributor was the watchdog freezing the
44
+ event loop while scanning processes. It no longer does. Nothing for them to do.
45
+
32
46
  ## Summary of New Capabilities
33
47
 
34
48
  - `MessageProcessingLedger.hasReplyCommittedForTopicSince(topic, sinceISO)` — durable
@@ -40,6 +54,12 @@ Nothing for them to do; their messages were never lost (they queued and delivere
40
54
  - `MessageQueue.enqueue` is id-idempotent (returns boolean); `MessageQueue.markDelivered`
41
55
  records delivered/dropped ids so a redelivery can't re-queue them.
42
56
 
57
+ - `SessionWatchdog` process scans (`getFrameworkPid`/`getClaudePid`/`getChildProcesses`/
58
+ `hasActivePipelineSibling`/`checkCompactionIdle`) are async (`execFile`) instead of
59
+ blocking `spawnSync`.
60
+ - `poll()` yields the event loop (`setImmediate`) between sessions so a scan over many
61
+ sessions can't monopolize the loop and starve `/health`.
62
+
43
63
  ## Evidence
44
64
 
45
65
  `tests/unit/stuck-message-recovery.test.ts`, `MessageProcessingLedger.test.ts`,
@@ -50,6 +70,14 @@ re-enqueue an already-delivered id; wiring guards assert routes.ts captures the
50
70
  and reinjectStuck forwards it. causalAutopsy: latent (the stuck==unanswered assumption
51
71
  surfaced under sustained CPU starvation that made replies fail to commit).
52
72
 
73
+ `tests/unit/SessionWatchdog-nonblocking.test.ts`: scanning helpers return Promises; a
74
+ 0ms timer fires during an in-flight probe (loop stays live); source guards assert no
75
+ `spawnSync(` call, `execFileAsync` present, the three helpers async, and `poll()` yields
76
+ via `setImmediate`. Existing compaction/pipeline/mcp/rate-limit watchdog suites updated
77
+ to `await` and pass. 72 watchdog unit tests green; `tsc --noEmit` clean. causalAutopsy:
78
+ latent — synchronous process scans were always event-loop-blocking, but only surfaced as
79
+ a health-miss restart loop once session count × machine load grew large enough.
80
+
53
81
  ## Scope (honest)
54
82
 
55
83
  Contained Tier-1 fix to the existing exactly-once ingress + lifeline replay subsystems.
@@ -57,3 +85,9 @@ No new HTTP route, config default, or migration step. The reply-evidence false-n
57
85
  case (two distinct rapid questions, the second crashes before the first's reply commits)
58
86
  is bounded — that message was already routed once, so it isn't lost, only a redundant
59
87
  re-run is skipped. 603 messaging/lifeline unit tests green; `tsc --noEmit` clean.
88
+
89
+ Contained Tier-1 refactor of one monitor (`src/monitoring/SessionWatchdog.ts`) + its
90
+ tests. Behavior-equivalent (same commands, parsing, thresholds, LLM gate); only the
91
+ sync→async I/O mechanism changed. The watchdog stays opt-in. The same blocking-scan
92
+ pattern exists in OrphanProcessReaper / mcpProcessReaper (lower cadence — memory-pressure
93
+ and 30-min triggers); those are a candidate follow-up, not in this PR.
@@ -0,0 +1,81 @@
1
+ # Side-Effects Review — SessionWatchdog non-blocking process scans
2
+
3
+ **Version / slug:** `watchdog-nonblocking-scans`
4
+ **Date:** `2026-06-07`
5
+ **Author:** `Echo`
6
+ **Tier:** 1 (internal monitor refactor; no API/route/config/migration surface)
7
+ **Second-pass reviewer:** `Echo (self) — Tier-1; the behavior-equivalence + ordering analysis below is load-bearing`
8
+
9
+ ## Summary of the change
10
+
11
+ `SessionWatchdog` polled every 30s over EVERY running session, running several
12
+ `ps`/`pgrep` probes per session via **synchronous** `spawnSync` (5s timeout each).
13
+ Each probe blocked the single Node event loop for its full duration; under load
14
+ (dozens of sessions, a busy box) the cumulative stall made the server miss its own
15
+ `/health` window → false "server temporarily down" + restart loop (2026-06-07 topic
16
+ 21816 incident). This converts the watchdog's process scans to async (`execFile`) and
17
+ makes the poll yield the loop between sessions. File: `src/monitoring/SessionWatchdog.ts`.
18
+
19
+ - `shellExec` (spawnSync) → `shellExecAsync` (`promisify(execFile)`); returns captured
20
+ stdout or '' on non-zero exit/timeout — identical to the prior `.stdout ?? ''`.
21
+ - `getFrameworkPid`, `getClaudePid`, `getChildProcesses`, `hasActivePipelineSibling`,
22
+ `checkCompactionIdle` are now `async`; all internal callers (`checkSession`,
23
+ `checkCompactionIdle`) `await` them.
24
+ - `poll()` `await new Promise(setImmediate)` between sessions so a scan over many
25
+ sessions can never monopolize the loop.
26
+
27
+ ## Decision-point inventory
28
+
29
+ - The watchdog's escalation/kill decisions are UNCHANGED — only the I/O mechanism of
30
+ the read-only process probes changed (sync → async). Same commands, same parsing,
31
+ same thresholds, same LLM gate.
32
+ - No message block/allow surface. No new route/config/migration.
33
+
34
+ ## 1. Over-block (escalating a session that shouldn't be)
35
+
36
+ Behavior is preserved: the probe commands, output parsing, stuck-thresholds, pipeline
37
+ guard, and LLM gate are byte-for-byte the same. `execFile`'s non-zero-exit throw is
38
+ caught and mapped to the captured stdout (or '') — matching `spawnSync(...).stdout ??
39
+ ''`, which never threw. So a pgrep/egrep no-match still reads as "no PID / no children",
40
+ exactly as before. No new false escalation path.
41
+
42
+ ## 2. Under-block (missing a genuinely stuck session)
43
+
44
+ The scans now interleave with other event-loop work, but each poll still visits every
45
+ session and runs the same probes; nothing is skipped. The 5s per-probe timeout is
46
+ preserved (passed to execFile). A probe that times out returns '' (treated as
47
+ "unknown / no match") exactly as the sync version did. The `running` re-entrancy guard
48
+ still prevents overlapping polls.
49
+
50
+ ## 3. Level-of-abstraction fit
51
+
52
+ Correct layer. This is the same OS-process read, moved off the synchronous path so it
53
+ shares the loop cooperatively. No LLM involved in the scan itself.
54
+
55
+ ## 4. Ordering / concurrency
56
+
57
+ The methods became async, so within a single `checkSession` the probes now `await`
58
+ (yield) between steps. A session could be killed between two awaited probes — but the
59
+ existing code already tolerates "process gone" (empty output → null/empty list), so a
60
+ mid-scan disappearance degrades to the same no-op as a dead pid. The per-session
61
+ `await` + the inter-session `setImmediate` only ADD yield points; they do not reorder
62
+ the decisions within a session.
63
+
64
+ ## 5. Blast radius
65
+
66
+ Single file. The watchdog is opt-in (`monitoring.watchdog.enabled`). The async
67
+ conversion does not change what the watchdog DOES, only that it stops starving the
68
+ event loop while doing it. Tests for compaction/pipeline/mcp-exclusion/rate-limit all
69
+ pass unchanged (their sync `mockReturnValue` stubs work under `await`).
70
+
71
+ ## 6. Rollback
72
+
73
+ Pure code revert. No state/format/config change.
74
+
75
+ ## 7. Tests
76
+
77
+ `tests/unit/SessionWatchdog-nonblocking.test.ts` (new): the scanning helpers return
78
+ Promises (async), a 0ms timer fires during an in-flight probe (loop stays live), and
79
+ source guards assert no `spawnSync(` call, `execFileAsync` present, the three helpers
80
+ are async, and `poll()` yields via `setImmediate`. Existing watchdog suites updated to
81
+ `await` the now-async methods. 72 watchdog unit tests green; `tsc --noEmit` clean.