elasticdash-sdk 0.2.7-beta → 0.2.8

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/README.md CHANGED
@@ -71,7 +71,9 @@ That's it. The agent reads the baked-in guide (which transcludes the same conten
71
71
 
72
72
  > **Do not shortcut this step.** Without `ed_tools.ts` and `ed_workflows.ts` plus the init call, the SDK does not intercept tool or AI calls — your project will run without errors and produce zero traces. A vague prompt like "install elasticdash-sdk" lets the agent stop at `npm install`; the prompt above is explicit about completing integration.
73
73
 
74
- > **Init must go through `edInitObservability` (the helper inside `ed_workflows.ts`), not `import { initObservability } from 'elasticdash-sdk'` in your entry file.** Both files in the integration share one CJS module instance via `eval('require')`; importing `initObservability` directly hits a *different* ESM instance, leaving `_ed.startTrace` reading from an empty store. The symptom is `[elasticdash] startTrace: observability not initialised` at runtime. The integration guide's Step 3 explains why; the `edInitObservability` helper is the only correct path. For CLI scripts, also call `edShutdownObservability()` from a `finally` block at process exit — the SDK's auto-registered exit hooks are async and short-lived processes can terminate before the final batch flushes.
74
+ > **Init must go through `edInitObservability` (the helper inside `ed_workflows.ts`), not `import { initObservability } from 'elasticdash-sdk'` in your entry file.** Both files in the integration share one CJS module instance via `createRequire(import.meta.url)`; importing `initObservability` directly hits a *different* ESM instance, leaving `_ed.startTrace` reading from an empty store. The symptom is `[elasticdash] startTrace: observability not initialised` at runtime. The integration guide's Step 3 explains why; the `edInitObservability` helper is the only correct path. For CLI scripts, also call `edShutdownObservability()` from a `finally` block at process exit — the SDK's auto-registered exit hooks are async and short-lived processes can terminate before the final batch flushes.
75
+
76
+ > **Important: do not use `eval('require')` to load the SDK in `ed_tools.ts`.** The `eval('require')(...)` trick that older versions of this guide recommended works only in CJS — in any project with `"type": "module"` in `package.json`, it throws "require is not defined", the catch silently swallows the error, and the entire integration no-ops with zero logs and zero traces. Use `createRequire(import.meta.url)` from `node:module` instead; it works in both ESM and CJS.
75
77
 
76
78
  **Fallback** — if you don't want to add a file to your repo, you can skip `init-guide` and use this prompt instead, which directs the agent at the docs inside `node_modules/`:
77
79
 
@@ -374,6 +376,39 @@ export const callClaude = wrapAI('claude-sonnet-4-5', async (messages: Anthropic
374
376
  })
375
377
  ```
376
378
 
379
+ #### AWS Bedrock
380
+
381
+ Bedrock calls go through the AWS SDK (which uses Node's HTTP stack, not `globalThis.fetch`), so they are **not auto-intercepted**. Wrap them with `wrapAI` using the unified **Converse API** — its `{ usage: { inputTokens, outputTokens } }` response shape is auto-extracted, and tagging `provider` with the underlying vendor (e.g. `'claude'` for `anthropic.*` model IDs) means existing matchers like `expect(trace).toHaveLLMStep({ provider: 'claude' })` match Bedrock-served calls with no change:
382
+
383
+ ```ts
384
+ import { wrapAI } from 'elasticdash-sdk'
385
+ import { BedrockRuntimeClient, ConverseCommand } from '@aws-sdk/client-bedrock-runtime'
386
+
387
+ const bedrock = new BedrockRuntimeClient({ region: process.env.AWS_REGION ?? 'us-east-1' })
388
+
389
+ // Pick a modelId currently available in your region — the Bedrock catalog drifts.
390
+ const MODEL_ID = 'anthropic.claude-haiku-4-6-20260101-v1:0'
391
+
392
+ export const callClaudeOnBedrock = wrapAI(
393
+ 'claude-haiku-bedrock',
394
+ async (input: { system?: string; messages: Array<{ role: 'user' | 'assistant'; content: string }> }) => {
395
+ return await bedrock.send(new ConverseCommand({
396
+ modelId: MODEL_ID,
397
+ system: input.system ? [{ text: input.system }] : undefined,
398
+ messages: input.messages.map((m) => ({ role: m.role, content: [{ text: m.content }] })),
399
+ inferenceConfig: { maxTokens: 1024 },
400
+ }))
401
+ },
402
+ { provider: 'claude', model: MODEL_ID },
403
+ )
404
+ ```
405
+
406
+ Notes:
407
+
408
+ - **Credentials** come from the standard AWS provider chain (env vars, shared credentials file, IAM role) — the SDK does not manage them.
409
+ - **Other vendors on Bedrock** (Llama, Titan, Mistral, Cohere, AI21) use the same pattern — change `modelId` and tag `provider` with the underlying vendor name (e.g. `'meta'`, `'amazon'`).
410
+ - **Dashboard reruns of Bedrock events are not supported.** Re-run the workflow that contains the call instead of clicking rerun on the individual step.
411
+
377
412
  #### Use `wrapAI` when
378
413
 
379
414
  The function body is essentially one LLM round-trip, AND at least one of the following applies:
@@ -477,21 +512,25 @@ This file loads the SDK, shares the module instance with `ed_workflows.ts`, and
477
512
 
478
513
  ```ts
479
514
  // ed_tools.ts
515
+ import { createRequire } from 'node:module';
480
516
  import { setElasticDashModule } from './ed_workflows';
481
517
 
482
- let wrapTool: <T extends (...args: any[]) => any>(name: string, fn: T) => T = (_name, fn) => fn;
518
+ let edTool: <T extends (...args: any[]) => any>(name: string, fn: T) => T = (_name, fn) => fn;
519
+
520
+ // `createRequire(import.meta.url)` works in BOTH ESM (`"type": "module"`)
521
+ // and CJS projects. Do NOT use `eval('require')` — it silently throws in
522
+ // ESM and the whole integration produces zero traces with zero logs.
523
+ const nodeRequire = createRequire(import.meta.url);
483
524
 
484
525
  try {
485
- // For Next.js / Turbopack: eval('require') bypasses static analysis.
486
- // For plain Node.js projects you can use a normal require() or import.
487
- const _edModule = (eval('require') as (id: string) => any)('elasticdash-sdk');
488
- wrapTool = _edModule.wrapTool ?? wrapTool;
526
+ const _edModule = nodeRequire('elasticdash-sdk');
527
+ edTool = _edModule.edTool ?? _edModule.wrapTool ?? edTool;
489
528
  setElasticDashModule(_edModule);
490
- } catch {
491
- // elasticdash-sdk not available — tools run without tracing
529
+ } catch (err) {
530
+ console.error('[ed_tools] failed to load elasticdash-sdk:', err);
492
531
  }
493
532
 
494
- export const myTool = wrapTool('myTool', async (input: { query: string }) => {
533
+ export const myTool = edTool('myTool', async (input: { query: string }) => {
495
534
  // ... your tool logic
496
535
  });
497
536
  ```
package/dist/cli.js CHANGED
@@ -546,16 +546,20 @@ async function bootstrap() {
546
546
  output: result.currentOutput,
547
547
  duration_ms: result.currentDurationMs,
548
548
  };
549
+ // Sentinel line so machine consumers (e.g. ElasticDash MCP) can extract
550
+ // the result envelope even when project code prints to stdout before us.
551
+ //
552
+ // Force-exit gated on the second stdout.write's callback. The callback
553
+ // fires once Node has handed the bytes to the OS pipe, at which point
554
+ // both writes are flushed and force-exit is safe (no sentinel
555
+ // truncation). Pure `process.exitCode` was stalling the MCP host by
556
+ // up to the outer hard cap on tools whose implementations hold open
557
+ // HTTP keep-alive sockets or detached grandchildren — same symptom
558
+ // documented on the run-workflow exit path.
549
559
  process.stdout.write(JSON.stringify(payload, null, 2) + '\n');
550
- // Sentinel line so machine consumers (e.g. ElasticDash MCP) can extract the
551
- // result envelope even when project code prints to stdout before us.
552
- // We set exitCode instead of calling process.exit() so the Node runtime
553
- // drains stdout before terminating. process.exit() is synchronous and
554
- // races the async stdout pipe — under load the sentinel JSON gets
555
- // truncated mid-write. Letting the event loop close naturally guarantees
556
- // the OS receives the full chunk.
557
- process.stdout.write('__ED_RUN_TOOL_RESULT__:' + JSON.stringify(payload) + '\n');
558
- process.exitCode = 0;
560
+ process.stdout.write('__ED_RUN_TOOL_RESULT__:' + JSON.stringify(payload) + '\n', () => {
561
+ process.exit(0);
562
+ });
559
563
  });
560
564
  // elasticdash run-workflow <name>
561
565
  program
@@ -748,15 +752,30 @@ async function bootstrap() {
748
752
  // buffer limit on the pretty-printed output, the sentinel line is
749
753
  // already safe in stdout and parseable. The MCP scans from the end
750
754
  // backward — it'll find the sentinel either way.
751
- // We set exitCode instead of calling process.exit() so the Node runtime
752
- // drains stdout before terminating. process.exit() is synchronous and
753
- // races the async stdout pipe — under load the sentinel JSON itself
754
- // gets truncated mid-write (the sentinel-first ordering protects the
755
- // pretty block, not the sentinel itself). Letting the event loop close
756
- // naturally guarantees both chunks hit the OS in full.
755
+ //
756
+ // Exit semantics unified across the timeout and normal-completion
757
+ // paths. We need BOTH:
758
+ // (a) No sentinel truncation. `process.exit` is synchronous and
759
+ // races the async stdout pipe; calling it immediately after
760
+ // `stdout.write` can chop the sentinel JSON mid-write.
761
+ // (b) Prompt termination. The previous "set process.exitCode and
762
+ // let the event loop drain" path was stalling the MCP host by
763
+ // MINUTES on successful runs: HTTP keep-alive sockets in the
764
+ // LLM client + detached grandchildren spawned by tools hold
765
+ // the loop open long after the workflow result is serialized.
766
+ // The MCP then pinned exec_workflow at the SIGTERM hard cap
767
+ // (timeout_seconds + 30) on every "completed" call.
768
+ //
769
+ // Fix: gate `process.exit` on the second stdout.write's callback.
770
+ // The callback fires once Node has handed the bytes to the OS pipe
771
+ // — at that point both writes are flushed and force-exit is safe.
772
+ // The `timedOut` branch is no longer special; both paths share the
773
+ // same flush-then-exit code.
774
+ const exitCode = runError ? 1 : 0;
757
775
  process.stdout.write('__ED_RUN_WORKFLOW_RESULT__:' + JSON.stringify(envelope) + '\n');
758
- process.stdout.write(JSON.stringify(envelope, null, 2) + '\n');
759
- process.exitCode = runError ? 1 : 0;
776
+ process.stdout.write(JSON.stringify(envelope, null, 2) + '\n', () => {
777
+ process.exit(exitCode);
778
+ });
760
779
  });
761
780
  // elasticdash init-guide
762
781
  program
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAA;AACtB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,MAAM,WAAW,CAAA;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,oBAAoB,EAAgB,MAAM,iBAAiB,CAAA;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAEhH,sEAAsE;AACtE,SAAS,UAAU,CAAC,KAAc,EAAE,MAAM,GAAG,GAAG;IAC9C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAA;IACpD,IAAI,GAAW,CAAA;IACf,IAAI,CAAC;QACH,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IACrB,CAAC;IACD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IACpC,OAAO,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAA;AACjE,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAA;IACxB,OAAO,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAA;AAC/C,CAAC;AAQD,KAAK,UAAU,UAAU,CAAC,GAAW;IACnC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAA;IAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAA;IAE5D,KAAK,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,CAAC;QAC3C,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;gBAC/C,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAsB,CAAA;YACjD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,yFAAyF;gBACzF,SAAQ;YACV,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC;AAED,yBAAyB;AACzB,KAAK,UAAU,iBAAiB,CAAC,QAAkB,EAAE,GAAW;IAC9D,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACzD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAA;AACrB,CAAC;AAED,wCAAwC;AACxC,SAAS,qBAAqB,CAAC,GAAW;IACxC,MAAM,UAAU,GAAG;QACjB,uBAAuB;QACvB,uBAAuB;QACvB,iBAAiB;QACjB,iBAAiB;QACjB,aAAa;QACb,aAAa;KACd,CAAA;IACD,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;AAClE,CAAC;AAED,oBAAoB;AACpB,KAAK,UAAU,SAAS;IAEtB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IACzB,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;IAEvD,+DAA+D;IAC/D,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,gBAAgB,EAAE,CAAA;QAClB,oBAAoB,EAAE,CAAA;IACxB,CAAC;IACD,IAAI,CAAC,WAAW,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,OAAO,CAAC,KAAK,CACX,2GAA2G;YAC3G,sBAAsB,GAAG,IAAI;YAC7B,yHAAyH,CAC1H,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAA;IACpC,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAA;IAEjF,iCAAiC;IACjC,kEAAkE;IAClE,uDAAuD;IACvD,IAAI,OAAO,GAAG,SAAS,CAAA;IACvB,IAAI,CAAC;QACH,aAAa;QACb,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAA;IAC1H,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC;YACH,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAA;QAC3D,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAGD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;IAE7B,OAAO;SACJ,IAAI,CAAC,aAAa,CAAC;SACnB,WAAW,CAAC,wDAAwD,CAAC;SACrE,OAAO,CAAC,OAAO,CAAC,CAAA;IAEnB,yBAAyB;IACzB,OAAO;SACJ,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,oCAAoC,CAAC;SACjD,MAAM,CAAC,iBAAiB,EAAE,6BAA6B,CAAC;SACxD,MAAM,CAAC,0BAA0B,EAAE,qBAAqB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;SACtF,MAAM,CAAC,KAAK,EAAE,GAAY,EAAE,GAAS,EAAE,EAAE;QACxC,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;QACrD,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE,cAAc,CAAC,CAAA;QACpE,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,UAAU,CAAC,CAAA;QAC1D,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAA;QACjE,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAA;QAE1D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,iCAAiC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,GAAG,CAAA;QAClE,MAAM,gBAAgB,GAAG,GAAG,EAAE,SAAS,KAAK,KAAK,CAAA;QACjD,MAAM,eAAe,GAAG,eAAe,IAAI,gBAAgB,CAAA;QAE3D,MAAM,EAAE,GAAG,eAAe;YACxB,CAAC,CAAC,MAAM,oBAAoB,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC1E,CAAC,CAAC,SAAS,CAAA;QAEb,IAAI,EAAE,EAAE,CAAC;YACP,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;QACpD,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAE5B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE;YACpC,KAAK,EAAE;gBACL,WAAW,CAAC,IAAI;oBACd,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;gBACrD,CAAC;gBACD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK;oBAC1C,EAAE,EAAE,IAAI,CAAC;wBACP,IAAI,EAAE,aAAa;wBACnB,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;qBAC/E,CAAC,CAAA;gBACJ,CAAC;aACF;SACF,CAAC,CAAA;QAEF,uBAAuB;QACvB,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAA;QAC1D,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;QAC9B,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QAC/E,aAAa,CAAC,OAAO,CAAC,CAAA;QAEtB,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;QAEzE,IAAI,SAAS,GAAG,CAAC,CAAA;QACjB,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;YACzC,MAAM,QAAQ,GAAmD,EAAE,CAAA;YACnE,IAAI,UAAU,GAAG,CAAC,CAAA;YAClB,IAAI,WAAW,GAAG,CAAC,CAAA;YACnB,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;gBACzB,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;oBAC3B,UAAU,IAAI,CAAC,CAAA;oBACf,IAAI,CAAC,CAAC,MAAM;wBAAE,WAAW,IAAI,CAAC,CAAA;;wBACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;gBACjF,CAAC;YACH,CAAC;YACD,EAAE,CAAC,IAAI,CAAC;gBACN,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE;oBACP,MAAM,EAAE,WAAW;oBACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,KAAK,EAAE,UAAU;oBACjB,UAAU;oBACV,QAAQ;iBACT;aACF,CAAC,CAAA;YACF,SAAS,GAAG,KAAK,CAAA;QACnB,CAAC;QAED,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAA;YAC9D,EAAE,EAAE,KAAK,EAAE,CAAA;QACb,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;IAEJ,yBAAyB;IACzB,OAAO;SACJ,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,iBAAiB,EAAE,6BAA6B,CAAC;SACxD,MAAM,CAAC,0BAA0B,EAAE,qBAAqB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;SACtF,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,GAAS,EAAE,EAAE;QACxC,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;QAE3D,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,GAAG,CAAA;QAClE,MAAM,gBAAgB,GAAG,GAAG,EAAE,SAAS,KAAK,KAAK,CAAA;QACjD,MAAM,eAAe,GAAG,eAAe,IAAI,gBAAgB,CAAA;QAC3D,MAAM,EAAE,GAAG,eAAe;YACxB,CAAC,CAAC,MAAM,oBAAoB,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC1E,CAAC,CAAC,SAAS,CAAA;QAEb,IAAI,EAAE,EAAE,CAAC;YACP,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;QAC/D,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAE5B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE;YACxC,KAAK,EAAE;gBACL,WAAW,CAAC,IAAI;oBACd,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;gBACrD,CAAC;gBACD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK;oBAC1C,EAAE,EAAE,IAAI,CAAC;wBACP,IAAI,EAAE,aAAa;wBACnB,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;qBAC/E,CAAC,CAAA;gBACJ,CAAC;aACF;SACF,CAAC,CAAA;QACF,aAAa,CAAC,OAAO,CAAC,CAAA;QAEtB,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;QACzE,IAAI,SAAS,GAAG,CAAC,CAAA;QACjB,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;YACzC,MAAM,QAAQ,GAAmD,EAAE,CAAA;YACnE,IAAI,UAAU,GAAG,CAAC,CAAA;YAClB,IAAI,WAAW,GAAG,CAAC,CAAA;YACnB,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;gBACzB,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;oBAC3B,UAAU,IAAI,CAAC,CAAA;oBACf,IAAI,CAAC,CAAC,MAAM;wBAAE,WAAW,IAAI,CAAC,CAAA;;wBACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;gBACjF,CAAC;YACH,CAAC;YACD,EAAE,CAAC,IAAI,CAAC;gBACN,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE;oBACP,MAAM,EAAE,WAAW;oBACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,KAAK,EAAE,UAAU;oBACjB,UAAU;oBACV,QAAQ;iBACT;aACF,CAAC,CAAA;YACF,SAAS,GAAG,KAAK,CAAA;QACnB,CAAC;QAED,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAA;YAC9D,EAAE,EAAE,KAAK,EAAE,CAAA;QACb,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;IAEJ,wBAAwB;IACxB,OAAO;SACJ,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,sCAAsC,CAAC;SACnD,MAAM,CAAC,eAAe,EAAE,uBAAuB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;SAC9I,MAAM,CAAC,WAAW,EAAE,2BAA2B,CAAC;SAChD,MAAM,CAAC,KAAK,EAAE,OAAwC,EAAE,EAAE;QACzD,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAA;QAEzD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE;YAC7C,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,OAAO,CAAC,IAAI;SACvB,CAAC,CAAA;QAEF,OAAO,CAAC,GAAG,CAAC,sCAAsC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAA;QAC/D,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAA;QAEjD,+CAA+C;QAC/C,IAAI,cAAc,GAAG,KAAK,CAAA;QAE1B,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;YACzB,IAAI,cAAc,EAAE,CAAC;gBACnB,8BAA8B;gBAC9B,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAA;gBAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;YAED,cAAc,GAAG,IAAI,CAAA;YACrB,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAA;YAEhE,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,IAAI,CAAC;oBACjB,MAAM,CAAC,KAAK,EAAE;oBACd,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;iBACjF,CAAC,CAAA;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAA;gBAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;QACH,CAAC,CAAA;QAED,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC/B,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEJ,sBAAsB;IACtB,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,uEAAuE,CAAC;SACpF,MAAM,CAAC,gBAAgB,EAAE,6BAA6B,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;SACxF,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;SAC7E,MAAM,CAAC,KAAK,EAAE,OAA6C,EAAE,EAAE;QAC9D,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAA;QAChC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAA;YACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,MAAM,MAAM,GAAG,iBAAiB,CAAC;YAC/B,SAAS;YACT,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAA;QAEF,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAA;QACjD,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAA;QACjD,OAAO,CAAC,GAAG,CAAC,kBAAkB,SAAS,EAAE,CAAC,CAAA;QAC1C,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAA;QAEjD,IAAI,cAAc,GAAG,KAAK,CAAA;QAC1B,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;YACzB,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;YACD,cAAc,GAAG,IAAI,CAAA;YACrB,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAA;YAC7D,MAAM,qBAAqB,EAAE,CAAA;YAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC,CAAA;QAED,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC/B,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEJ,yDAAyD;IACzD,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,mDAAmD,CAAC;SAChE,MAAM,CAAC,cAAc,EAAE,yBAAyB,CAAC;SACjD,MAAM,CAAC,aAAa,EAAE,mCAAmC,CAAC;SAC1D,MAAM,CAAC,oBAAoB,EAAE,sCAAsC,CAAC;SACpE,MAAM,CAAC,mBAAmB,EAAE,qCAAqC,EAAE,SAAS,CAAC;SAC7E,MAAM,CAAC,aAAa,EAAE,+BAA+B,CAAC;SACtD,MAAM,CAAC,gBAAgB,EAAE,+DAA+D,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAC9G,MAAM,CAAC,KAAK,EAAE,OAOd,EAAE,EAAE;QACH,8DAA8D;QAC9D,qDAAqD;QACrD,IAAI,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAA;YAChD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,gFAAgF;QAClF,CAAC;QAED,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAA;QACxD,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAA;QAClE,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAA;QAExG,MAAM,QAAQ,GAAG,cAAc,CAAE,OAAO,CAAC,QAAyC,IAAI,SAAS,CAAC,CAAA;QAChG,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;QAElE,IAAI,SAAS,CAAA;QACb,IAAI,CAAC;YACH,SAAS,GAAG,MAAM,UAAU,CAAC;gBAC3B,GAAG,EAAE,OAAO;gBACZ,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,QAAQ,EAAE,OAAO,CAAC,MAAM,KAAK,KAAK;gBAClC,QAAQ,EAAG,OAAO,CAAC,QAAyC,IAAI,SAAS;gBACzE,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,sCAAsC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACvG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAA;YAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,iBAAiB;QACjB,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YAClC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;YAChC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAC1B,CAAC;QAED,oBAAoB;QACpB,IAAI,SAA6B,CAAA;QACjC,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,KAAK,KAAK,CAAA;QAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAA;QAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAA;QAEjD,IAAI,YAAY,IAAI,MAAM,IAAI,SAAS,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAA;YAC7C,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAA;gBACpE,SAAS,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,QAAQ,CAAC,KAAK,EAAE,CAAA;YACvE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,QAAQ,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBACjE,OAAO,CAAC,IAAI,CAAC,gCAAgC,QAAQ,EAAE,CAAC,CAAA;gBACxD,MAAM,mBAAmB,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;gBAE3E,yCAAyC;gBACzC,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;gBAClE,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;oBACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACjB,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC;YACnC,oCAAoC;YACpC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YACvI,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAA;YACtF,CAAC;QACH,CAAC;QAED,QAAQ,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QAE5C,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;QAClE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;IAEJ,iBAAiB;IACjB,OAAO;SACJ,OAAO,CAAC,IAAI,CAAC;SACb,WAAW,CAAC,iFAAiF,CAAC;SAC9F,MAAM,CAAC,gBAAgB,EAAE,6BAA6B,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;SACxF,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;SAC7E,MAAM,CAAC,mBAAmB,EAAE,qCAAqC,CAAC;SAClE,MAAM,CAAC,eAAe,EAAE,8CAA8C,CAAC;SACvE,MAAM,CAAC,yBAAyB,EAAE,gBAAgB,EAAE,IAAI,CAAC;SACzD,MAAM,CAAC,uBAAuB,EAAE,iBAAiB,CAAC;SAClD,MAAM,CAAC,oBAAoB,EAAE,gBAAgB,CAAC;SAC9C,MAAM,CAAC,4BAA4B,EAAE,oBAAoB,CAAC;SAC1D,MAAM,CAAC,0BAA0B,EAAE,qBAAqB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAC3E,MAAM,CAAC,oBAAoB,EAAE,kBAAkB,CAAC;SAChD,MAAM,CAAC,KAAK,EAAE,OAWd,EAAE,EAAE;QACH,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAA;QAChC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAA;YACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAA;YAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAA;QAChD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC;YAC1B,SAAS;YACT,MAAM;YACN,YAAY,EAAE,OAAO,CAAC,QAAQ;YAC9B,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;YAC3F,WAAW,EAAG,OAAO,CAAC,WAA4B,IAAI,IAAI;YAC1D,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC,CAAA;QAEF,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;IAEJ,qBAAqB;IACrB,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,mFAAmF,CAAC;SAChG,MAAM,CAAC,gBAAgB,EAAE,gDAAgD,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;SAC3G,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;SAC7E,MAAM,CAAC,eAAe,EAAE,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;SACzJ,MAAM,CAAC,6BAA6B,EAAE,2DAA2D,EAAE,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;SAC3I,MAAM,CAAC,KAAK,EAAE,OAAoF,EAAE,EAAE;QACrG,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAA;QACjC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAA;YACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc;YAC3C,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;YACtE,CAAC,CAAC,SAAS,CAAA;QAEb,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;YACrC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,UAAU;YACV,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG;YACH,cAAc;SACf,CAAC,CAAA;QAEF,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAA;QAClD,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,GAAG,EAAE,CAAC,CAAA;QACxC,OAAO,CAAC,GAAG,CAAC,eAAe,UAAU,EAAE,CAAC,CAAA;QACxC,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QACzC,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAA;QAEnF,wBAAwB;QACxB,IAAI,CAAC;YACH,MAAM,OAAO,GAA2B,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAA;YAC9E,IAAI,OAAO,CAAC,MAAM;gBAAE,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,OAAO,CAAC,MAAM,EAAE,CAAA;YACzE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,sBAAsB,EAAE;gBAC3D,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;aAChD,CAAC,CAAA;YACF,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAA;YACtD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,+CAA+C,GAAG,CAAC,MAAM,4CAA4C,CAAC,CAAA;YACrH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,yFAAyF,CAAC,CAAA;QACzG,CAAC;QAED,IAAI,cAAc,GAAG,KAAK,CAAA;QAC1B,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;YACzB,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;YACD,cAAc,GAAG,IAAI,CAAA;YACrB,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAA;YACtD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC,CAAA;QAED,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC/B,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEJ,8BAA8B;IAC9B,OAAO;SACJ,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,+FAA+F,CAAC;SAC5G,MAAM,CAAC,gBAAgB,EAAE,gCAAgC,CAAC;SAC1D,MAAM,CAAC,qBAAqB,EAAE,8BAA8B,CAAC;SAC7D,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,OAA+C,EAAE,EAAE;QAC9E,MAAM,eAAe,GAAG,oBAAoB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;QAC7D,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,qEAAqE,GAAG,EAAE,CAAC,CAAA;YACzF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,IAAI,SAAS,GAAY,SAAS,CAAA;QAClC,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtB,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;YACrF,CAAC;iBAAM,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBACzB,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YACvC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,oDAAoD,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACrH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,wEAAwE;QACxE,uEAAuE;QACvE,uEAAuE;QACvE,6DAA6D;QAC7D,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;QAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;QAE7C,MAAM,IAAI,GAAG,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;QAC3C,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QAErE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,iBAAiB,MAAM,CAAC,KAAK,IAAI,uBAAuB,EAAE,CAAC,CAAA;YACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,MAAM,CAAC,aAAa;YAC5B,WAAW,EAAE,MAAM,CAAC,iBAAiB;SACtC,CAAA;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;QAC7D,4EAA4E;QAC5E,qEAAqE;QACrE,wEAAwE;QACxE,sEAAsE;QACtE,kEAAkE;QAClE,yEAAyE;QACzE,kCAAkC;QAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;QAChF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;IACtB,CAAC,CAAC,CAAA;IAEJ,kCAAkC;IAClC,OAAO;SACJ,OAAO,CAAC,qBAAqB,CAAC;SAC9B,WAAW,CAAC,mGAAmG,CAAC;SAChH,MAAM,CAAC,gBAAgB,EAAE,oCAAoC,CAAC;SAC9D,MAAM,CAAC,qBAAqB,EAAE,8BAA8B,CAAC;SAC7D,MAAM,CAAC,uBAAuB,EAAE,qCAAqC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;SAC7F,MAAM,CAAC,2BAA2B,EAAE,gIAAgI,CAAC;SACrK,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,OAAgG,EAAE,EAAE;QAC/H,sEAAsE;QACtE,mEAAmE;QACnE,oEAAoE;QACpE,kEAAkE;QAClE,yDAAyD;QACzD,OAAO,CAAC,GAAG,CAAC,yBAAyB,GAAG,IAAI,CAAA;QAE5C,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;QACrE,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,6EAA6E,GAAG,EAAE,CAAC,CAAA;YACjG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,kFAAkF;QAClF,iFAAiF;QACjF,4EAA4E;QAC5E,kFAAkF;QAClF,MAAM,IAAI,GAAG,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACxF,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAA;QAClD,MAAM,gBAAgB,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;QACxF,IAAI,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC9B,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAA;YACpD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBAC3D,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,YAAY,EAAE,GAAG,WAAW,eAAe,CAAC,IAAI,EAAE,EAAE;gBAC3E,GAAG;gBACH,KAAK,EAAE,SAAS;aACjB,CAAC,CAAA;YACF,MAAM,QAAQ,GAAW,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;gBACnD,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA;gBAC5C,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YACrC,CAAC,CAAC,CAAA;YACF,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACxB,CAAC;QAED,IAAI,aAAa,GAAY,SAAS,CAAA;QACtC,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtB,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;YACzF,CAAC;iBAAM,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBACzB,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YAC3C,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,oDAAoD,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACrH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,yEAAyE;QACzE,yEAAyE;QACzE,0BAA0B;QAC1B,IAAI,cAAmD,CAAA;QACvD,IAAI,YAAiD,CAAA;QACrD,IAAI,UAAU,GAAG,KAAK,CAAA;QACtB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,IAAI,GAAY,CAAA;YAChB,IAAI,CAAC;gBACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;YACpF,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,2DAA2D,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC5H,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;YACD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1D,OAAO,CAAC,KAAK,CAAC,wHAAwH,CAAC,CAAA;gBACvI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;YACD,MAAM,CAAC,GAAG,GAA8B,CAAA;YACxC,IAAI,CAAC,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,CAAC,cAAc,KAAK,QAAQ,IAAI,CAAC,CAAC,cAAc,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;gBAC7I,OAAO,CAAC,KAAK,CAAC,2EAA2E,CAAC,CAAA;gBAC1F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;YACD,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ,IAAI,CAAC,CAAC,YAAY,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;gBACrI,OAAO,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAA;gBACzF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;YACD,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC5D,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAA;gBAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;YACD,cAAc,GAAI,CAAC,CAAC,cAAsD,IAAI,SAAS,CAAA;YACvF,YAAY,GAAI,CAAC,CAAC,YAAoD,IAAI,SAAS,CAAA;YACnF,UAAU,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,CAAA;QAChC,CAAC;QAED,IAAI,GAA4B,CAAA;QAChC,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAA4B,CAAA;QACxF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,yCAAyC,mBAAmB,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAClI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAA+C,CAAA;QAC1E,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE,CAAC;YACrC,OAAO,CAAC,KAAK,CAAC,kCAAkC,IAAI,oCAAoC,mBAAmB,EAAE,CAAC,CAAA;YAC9G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAA;QAE5D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC5B,IAAI,QAA4B,CAAA;QAChC,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,IAAI,OAAO,GAAkB,IAAI,CAAA;QACjC,IAAI,MAAM,GAAY,IAAI,CAAA;QAC1B,IAAI,MAAM,GAAmC,EAAE,CAAA;QAE/C,yEAAyE;QACzE,yEAAyE;QACzE,IAAI,cAAc,IAAI,YAAY,IAAI,UAAU,EAAE,CAAC;YACjD,CAAC;YAAC,UAAkB,CAAC,0BAA0B,GAAG,cAAc,IAAI,EAAE,CACrE;YAAC,UAAkB,CAAC,kCAAkC,GAAG,EAAE,CAC3D;YAAC,UAAkB,CAAC,wBAAwB,GAAG,YAAY,IAAI,EAAE,CACjE;YAAC,UAAkB,CAAC,gCAAgC,GAAG,EAAE,CACzD;YAAC,UAAkB,CAAC,sBAAsB,GAAG,UAAU,CAAA;QAC1D,CAAC;QAED,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAA;YACrE,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBAC/C,UAAU,CAAC,GAAG,EAAE;oBACd,QAAQ,GAAG,IAAI,CAAA;oBACf,MAAM,CAAC,IAAI,KAAK,CAAC,aAAa,IAAI,qBAAqB,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC,CAAA;gBACpF,CAAC,EAAE,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;YACnC,CAAC,CAAC,CAAA;YACF,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,cAAc,CAAC,CAAoK,CAAA;YACrO,MAAM,GAAG,SAAS,CAAC,MAAM,CAAA;YACzB,OAAO,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,IAAI,IAAI,CAAA;YAC1C,MAAM,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACjD,MAAM,GAAG,GAAG,CAAC,CAAC,MAAoD,CAAA;gBAClE,MAAM,QAAQ,GAAG,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,IAAI,GAAG,CAAA;gBAC1F,OAAO;oBACL,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,WAAW,EAAE,CAAC,CAAC,UAAU;oBACzB,SAAS,EAAE,QAAQ;oBACnB,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;oBAClC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;iBACrC,CAAA;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC3D,gEAAgE;YAChE,wEAAwE;YACxE,MAAM,YAAY,GAAI,GAAuJ,CAAC,KAAK,CAAA;YACnL,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,GAAG,YAAY,CAAC,OAAO,IAAI,IAAI,CAAA;gBACtC,MAAM,GAAG,CAAC,YAAY,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC7C,MAAM,GAAG,GAAG,CAAC,CAAC,MAAoD,CAAA;oBAClE,MAAM,QAAQ,GAAG,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,IAAI,GAAG,CAAA;oBAC1F,OAAO;wBACL,EAAE,EAAE,CAAC,CAAC,EAAE;wBACR,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,WAAW,EAAE,CAAC,CAAC,UAAU;wBACzB,SAAS,EAAE,QAAQ;wBACnB,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;wBAClC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;qBACrC,CAAA;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,cAAc,IAAI,YAAY,IAAI,UAAU,EAAE,CAAC;gBACjD,OAAQ,UAAkB,CAAC,0BAA0B,CAAA;gBACrD,OAAQ,UAAkB,CAAC,kCAAkC,CAAA;gBAC7D,OAAQ,UAAkB,CAAC,wBAAwB,CAAA;gBACnD,OAAQ,UAAkB,CAAC,gCAAgC,CAAA;gBAC3D,OAAQ,UAAkB,CAAC,sBAAsB,CAAA;YACnD,CAAC;QACH,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAE1B,MAAM,QAAQ,GAAG;YACf,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,OAAO;YACjB,MAAM;YACN,WAAW,EAAE,OAAO,GAAG,SAAS;YAChC,UAAU,EAAE,SAAS;YACrB,QAAQ,EAAE,OAAO;YACjB,MAAM;YACN,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW;YACpE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzC,CAAA;QAED,oEAAoE;QACpE,kEAAkE;QAClE,mEAAmE;QACnE,iDAAiD;QACjD,wEAAwE;QACxE,sEAAsE;QACtE,oEAAoE;QACpE,qEAAqE;QACrE,uEAAuE;QACvE,uDAAuD;QACvD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAA;QACrF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;QAC9D,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;IAEJ,yBAAyB;IACzB,OAAO;SACJ,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,kEAAkE,CAAC;SAC/E,MAAM,CAAC,iBAAiB,EAAE,uBAAuB,EAAE,WAAW,CAAC;SAC/D,MAAM,CAAC,SAAS,EAAE,yCAAyC,CAAC;SAC5D,MAAM,CAAC,KAAK,EAAE,GAAwC,EAAE,EAAE;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;QAEhD,kDAAkD;QAClD,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;QAClE,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAA;QAE7E,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,KAAK,CAAC,6DAA6D,eAAe,EAAE,CAAC,CAAA;YAC7F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,iCAAiC;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAC1C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC3C,CAAC;QAED,MAAM,YAAY,GAAG,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;QAE3D,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACzC,6CAA6C;YAC7C,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;YAClD,IAAI,QAAQ,CAAC,QAAQ,CAAC,gDAAgD,CAAC,EAAE,CAAC;gBACxE,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,CAAC,MAAM,wFAAwF,CAAC,CAAA;gBAChI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;YAED,0BAA0B;YAC1B,cAAc,CAAC,UAAU,EAAE,aAAa,GAAG,YAAY,CAAC,CAAA;YACxD,OAAO,CAAC,GAAG,CAAC,4DAA4D,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;QACvF,CAAC;aAAM,CAAC;YACN,4CAA4C;YAC5C,YAAY,CAAC,eAAe,EAAE,UAAU,CAAC,CAAA;YACzC,OAAO,CAAC,GAAG,CAAC,sDAAsD,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;QACjF,CAAC;QAED,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;QACxC,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,MAAM,gEAAgE,CAAC,CAAA;QACnG,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAC,CAAA;IAEJ,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AACxC,CAAC;AAED,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACxB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-runner.d.ts","sourceRoot":"","sources":["../../src/execution/tool-runner.ts"],"names":[],"mappings":"AAiCA,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAA;IACX,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,YAAY,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACpF,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAeD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMjF;AAoBD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,EAAE,CAYxE;AAMD,wBAAgB,mBAAmB,CACjC,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,EAAE,EACf,YAAY,CAAC,EAAE,OAAO,EAAE,GACvB,OAAO,CAAC,WAAW,CAAC,CA4ItB;AAuID,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,EAAE,CAYjD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,EAAE,CAYrD"}
1
+ {"version":3,"file":"tool-runner.d.ts","sourceRoot":"","sources":["../../src/execution/tool-runner.ts"],"names":[],"mappings":"AAiCA,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAA;IACX,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,YAAY,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACpF,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAeD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMjF;AAoBD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,EAAE,CAYxE;AAMD,wBAAgB,mBAAmB,CACjC,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,EAAE,EACf,YAAY,CAAC,EAAE,OAAO,EAAE,GACvB,OAAO,CAAC,WAAW,CAAC,CAwLtB;AAuID,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,EAAE,CAYjD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,EAAE,CAYrD"}
@@ -92,13 +92,53 @@ export function runToolInSubprocess(toolsModulePath, toolName, args, frozenEvent
92
92
  const runtime = denoProject ? 'deno' : process.execPath;
93
93
  const runtimeArgs = denoProject ? ['run', '--allow-all', workerScript] : [workerScript];
94
94
  debugLog(`[elasticdash portal] Runtime for tool subprocess: ${runtime} ${runtimeArgs.join(' ')}`, { isDenoProject: denoProject });
95
+ // detached:true on POSIX puts the child in its OWN process group, so
96
+ // process.kill(-pid, sig) reaches the whole subtree (worker + any
97
+ // grandchildren the tool spawned — HTTP keepalive sockets, etc.).
98
+ // We still own stdio pipes so the IPC protocol is unchanged. On
99
+ // Windows we fall back to plain child.kill — process-group semantics
100
+ // differ and detached:true there would let the child outlive us.
101
+ const useProcessGroup = process.platform !== 'win32';
95
102
  const child = spawn(runtime, runtimeArgs, {
96
103
  env: childEnv,
97
104
  cwd: projectDir,
98
105
  stdio: ['pipe', 'pipe', 'pipe'],
106
+ ...(useProcessGroup ? { detached: true } : {}),
99
107
  });
100
108
  const pid = child.pid ?? -1;
101
- debugLog(`[elasticdash portal] tool subprocess stage=spawned pid=${pid} elapsedMs=${elapsed()} tool=${toolName}`);
109
+ debugLog(`[elasticdash portal] tool subprocess stage=spawned pid=${pid} elapsedMs=${elapsed()} tool=${toolName} pgroup=${useProcessGroup}`);
110
+ // Tree-kill helper: signal the process group on POSIX so the worker
111
+ // AND any subprocess the tool spawned die together. Falls back to
112
+ // direct child.kill on Windows / when the group send fails (e.g.
113
+ // child already exited).
114
+ const killTree = (signal) => {
115
+ if (useProcessGroup && pid > 0) {
116
+ try {
117
+ process.kill(-pid, signal);
118
+ return;
119
+ }
120
+ catch { /* fall through */ }
121
+ }
122
+ try {
123
+ child.kill(signal);
124
+ }
125
+ catch { /* already gone */ }
126
+ };
127
+ // Forward SIGTERM/SIGINT/SIGHUP received by THIS process to the child
128
+ // group, so when the MCP / npm shim / agent kills us, the worker
129
+ // tree dies too instead of orphaning. Without this, the inner node
130
+ // process can sit alive after the shim has exited.
131
+ const forwarded = ['SIGTERM', 'SIGINT', 'SIGHUP'];
132
+ const forwardHandlers = {};
133
+ for (const sig of forwarded) {
134
+ const h = () => {
135
+ debugLog(`[elasticdash portal] parent received ${sig} — forwarding to child group pid=${pid}`);
136
+ killTree(sig);
137
+ setTimeout(() => killTree('SIGKILL'), 2000);
138
+ };
139
+ forwardHandlers[sig] = h;
140
+ process.on(sig, h);
141
+ }
102
142
  // Heartbeat: prove the parent is still waiting on a live child. 0 disables.
103
143
  const heartbeatMs = Number(process.env.ELASTICDASH_HEARTBEAT_MS ?? 5000);
104
144
  const heartbeat = heartbeatMs > 0
@@ -106,23 +146,19 @@ export function runToolInSubprocess(toolsModulePath, toolName, args, frozenEvent
106
146
  debugLog(`[elasticdash portal] tool subprocess heartbeat pid=${pid} elapsedMs=${elapsed()} tool=${toolName}`);
107
147
  }, heartbeatMs)
108
148
  : null;
109
- // Optional kill switch. Default unset = no timeout (preserves prior behavior).
149
+ // Kill switch. Default 300_000ms (5 min) covers most legitimate tool
150
+ // runs while still preventing the "child sits alive forever" hang the
151
+ // research_bot_js agent ran into. Set ELASTICDASH_TOOL_TIMEOUT_MS=0 to
152
+ // restore the old behavior, or any positive number to tune it.
110
153
  let timedOut = false;
111
- const timeoutMs = Number(process.env.ELASTICDASH_TOOL_TIMEOUT_MS ?? 0);
154
+ const timeoutMsRaw = process.env.ELASTICDASH_TOOL_TIMEOUT_MS;
155
+ const timeoutMs = timeoutMsRaw === undefined ? 300_000 : Number(timeoutMsRaw);
112
156
  const timeout = timeoutMs > 0
113
157
  ? setTimeout(() => {
114
158
  timedOut = true;
115
- debugLog(`[elasticdash portal] tool subprocess TIMEOUT pid=${pid} after ${timeoutMs}ms — sending SIGTERM`);
116
- try {
117
- child.kill('SIGTERM');
118
- }
119
- catch { /* already dead */ }
120
- setTimeout(() => {
121
- try {
122
- child.kill('SIGKILL');
123
- }
124
- catch { /* already dead */ }
125
- }, 2000);
159
+ debugLog(`[elasticdash portal] tool subprocess TIMEOUT pid=${pid} after ${timeoutMs}ms — sending SIGTERM to group`);
160
+ killTree('SIGTERM');
161
+ setTimeout(() => killTree('SIGKILL'), 2000);
126
162
  }, timeoutMs)
127
163
  : null;
128
164
  const cleanup = () => {
@@ -130,6 +166,14 @@ export function runToolInSubprocess(toolsModulePath, toolName, args, frozenEvent
130
166
  clearInterval(heartbeat);
131
167
  if (timeout)
132
168
  clearTimeout(timeout);
169
+ // Remove the parent-side signal forwarders we registered above so
170
+ // when the parent process eventually receives its own SIGTERM after
171
+ // legit exit, it doesn't double-handle.
172
+ for (const sig of forwarded) {
173
+ const h = forwardHandlers[sig];
174
+ if (h)
175
+ process.removeListener(sig, h);
176
+ }
133
177
  };
134
178
  const RESULT_PREFIX = '__ELASTICDASH_RESULT__:';
135
179
  let resultLine = '';
@@ -1 +1 @@
1
- {"version":3,"file":"tool-runner.js","sourceRoot":"","sources":["../../src/execution/tool-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-runner.js","sourceRoot":"","sources":["../../src/execution/tool-runner.ts"],"names":[],"mappings":"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"}
package/dist/index.cjs CHANGED
@@ -2940,36 +2940,59 @@ function runToolInSubprocess(toolsModulePath, toolName, args, frozenEvents) {
2940
2940
  const runtime = denoProject ? "deno" : process.execPath;
2941
2941
  const runtimeArgs = denoProject ? ["run", "--allow-all", workerScript] : [workerScript];
2942
2942
  debugLog(`[elasticdash portal] Runtime for tool subprocess: ${runtime} ${runtimeArgs.join(" ")}`, { isDenoProject: denoProject });
2943
+ const useProcessGroup = process.platform !== "win32";
2943
2944
  const child = (0, import_node_child_process.spawn)(runtime, runtimeArgs, {
2944
2945
  env: childEnv,
2945
2946
  cwd: projectDir,
2946
- stdio: ["pipe", "pipe", "pipe"]
2947
+ stdio: ["pipe", "pipe", "pipe"],
2948
+ ...useProcessGroup ? { detached: true } : {}
2947
2949
  });
2948
2950
  const pid = child.pid ?? -1;
2949
- debugLog(`[elasticdash portal] tool subprocess stage=spawned pid=${pid} elapsedMs=${elapsed()} tool=${toolName}`);
2951
+ debugLog(`[elasticdash portal] tool subprocess stage=spawned pid=${pid} elapsedMs=${elapsed()} tool=${toolName} pgroup=${useProcessGroup}`);
2952
+ const killTree = (signal) => {
2953
+ if (useProcessGroup && pid > 0) {
2954
+ try {
2955
+ process.kill(-pid, signal);
2956
+ return;
2957
+ } catch {
2958
+ }
2959
+ }
2960
+ try {
2961
+ child.kill(signal);
2962
+ } catch {
2963
+ }
2964
+ };
2965
+ const forwarded = ["SIGTERM", "SIGINT", "SIGHUP"];
2966
+ const forwardHandlers = {};
2967
+ for (const sig of forwarded) {
2968
+ const h = () => {
2969
+ debugLog(`[elasticdash portal] parent received ${sig} \u2014 forwarding to child group pid=${pid}`);
2970
+ killTree(sig);
2971
+ setTimeout(() => killTree("SIGKILL"), 2e3);
2972
+ };
2973
+ forwardHandlers[sig] = h;
2974
+ process.on(sig, h);
2975
+ }
2950
2976
  const heartbeatMs = Number(process.env.ELASTICDASH_HEARTBEAT_MS ?? 5e3);
2951
2977
  const heartbeat = heartbeatMs > 0 ? setInterval(() => {
2952
2978
  debugLog(`[elasticdash portal] tool subprocess heartbeat pid=${pid} elapsedMs=${elapsed()} tool=${toolName}`);
2953
2979
  }, heartbeatMs) : null;
2954
2980
  let timedOut = false;
2955
- const timeoutMs = Number(process.env.ELASTICDASH_TOOL_TIMEOUT_MS ?? 0);
2981
+ const timeoutMsRaw = process.env.ELASTICDASH_TOOL_TIMEOUT_MS;
2982
+ const timeoutMs = timeoutMsRaw === void 0 ? 3e5 : Number(timeoutMsRaw);
2956
2983
  const timeout = timeoutMs > 0 ? setTimeout(() => {
2957
2984
  timedOut = true;
2958
- debugLog(`[elasticdash portal] tool subprocess TIMEOUT pid=${pid} after ${timeoutMs}ms \u2014 sending SIGTERM`);
2959
- try {
2960
- child.kill("SIGTERM");
2961
- } catch {
2962
- }
2963
- setTimeout(() => {
2964
- try {
2965
- child.kill("SIGKILL");
2966
- } catch {
2967
- }
2968
- }, 2e3);
2985
+ debugLog(`[elasticdash portal] tool subprocess TIMEOUT pid=${pid} after ${timeoutMs}ms \u2014 sending SIGTERM to group`);
2986
+ killTree("SIGTERM");
2987
+ setTimeout(() => killTree("SIGKILL"), 2e3);
2969
2988
  }, timeoutMs) : null;
2970
2989
  const cleanup = () => {
2971
2990
  if (heartbeat) clearInterval(heartbeat);
2972
2991
  if (timeout) clearTimeout(timeout);
2992
+ for (const sig of forwarded) {
2993
+ const h = forwardHandlers[sig];
2994
+ if (h) process.removeListener(sig, h);
2995
+ }
2973
2996
  };
2974
2997
  const RESULT_PREFIX = "__ELASTICDASH_RESULT__:";
2975
2998
  let resultLine = "";