jiva-core 0.3.41 → 0.3.42-dev.c44c725

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.
Files changed (65) hide show
  1. package/README.md +28 -7
  2. package/dist/code/agent.d.ts +4 -0
  3. package/dist/code/agent.d.ts.map +1 -1
  4. package/dist/code/agent.js +70 -18
  5. package/dist/code/agent.js.map +1 -1
  6. package/dist/core/agent-interface.d.ts +8 -0
  7. package/dist/core/agent-interface.d.ts.map +1 -1
  8. package/dist/core/config.d.ts +56 -0
  9. package/dist/core/config.d.ts.map +1 -1
  10. package/dist/core/config.js +4 -0
  11. package/dist/core/config.js.map +1 -1
  12. package/dist/core/conversation-manager.d.ts +4 -3
  13. package/dist/core/conversation-manager.d.ts.map +1 -1
  14. package/dist/core/conversation-manager.js +14 -5
  15. package/dist/core/conversation-manager.js.map +1 -1
  16. package/dist/core/dual-agent.d.ts +3 -0
  17. package/dist/core/dual-agent.d.ts.map +1 -1
  18. package/dist/core/dual-agent.js +15 -4
  19. package/dist/core/dual-agent.js.map +1 -1
  20. package/dist/core/worker-agent.d.ts.map +1 -1
  21. package/dist/core/worker-agent.js +32 -0
  22. package/dist/core/worker-agent.js.map +1 -1
  23. package/dist/core/workspace.d.ts +6 -0
  24. package/dist/core/workspace.d.ts.map +1 -1
  25. package/dist/core/workspace.js +18 -0
  26. package/dist/core/workspace.js.map +1 -1
  27. package/dist/index.d.ts +1 -0
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +2 -0
  30. package/dist/index.js.map +1 -1
  31. package/dist/interfaces/cli/index.js +7 -7
  32. package/dist/interfaces/cli/index.js.map +1 -1
  33. package/dist/interfaces/cli/repl.d.ts.map +1 -1
  34. package/dist/interfaces/cli/repl.js +21 -3
  35. package/dist/interfaces/cli/repl.js.map +1 -1
  36. package/dist/interfaces/cli/setup-wizard.d.ts +5 -3
  37. package/dist/interfaces/cli/setup-wizard.d.ts.map +1 -1
  38. package/dist/interfaces/cli/setup-wizard.js +265 -288
  39. package/dist/interfaces/cli/setup-wizard.js.map +1 -1
  40. package/dist/interfaces/http/routes/chat.d.ts.map +1 -1
  41. package/dist/interfaces/http/routes/chat.js +20 -0
  42. package/dist/interfaces/http/routes/chat.js.map +1 -1
  43. package/dist/interfaces/http/session-manager.d.ts +6 -0
  44. package/dist/interfaces/http/session-manager.d.ts.map +1 -1
  45. package/dist/interfaces/http/session-manager.js +14 -5
  46. package/dist/interfaces/http/session-manager.js.map +1 -1
  47. package/dist/interfaces/http/websocket-handler.d.ts.map +1 -1
  48. package/dist/interfaces/http/websocket-handler.js +12 -0
  49. package/dist/interfaces/http/websocket-handler.js.map +1 -1
  50. package/dist/models/krutrim.d.ts +8 -66
  51. package/dist/models/krutrim.d.ts.map +1 -1
  52. package/dist/models/krutrim.js +7 -307
  53. package/dist/models/krutrim.js.map +1 -1
  54. package/dist/models/model-client.d.ts +95 -0
  55. package/dist/models/model-client.d.ts.map +1 -0
  56. package/dist/models/model-client.js +317 -0
  57. package/dist/models/model-client.js.map +1 -0
  58. package/dist/models/orchestrator.d.ts +9 -8
  59. package/dist/models/orchestrator.d.ts.map +1 -1
  60. package/dist/models/orchestrator.js +2 -1
  61. package/dist/models/orchestrator.js.map +1 -1
  62. package/dist/storage/types.d.ts +1 -0
  63. package/dist/storage/types.d.ts.map +1 -1
  64. package/dist/storage/types.js.map +1 -1
  65. package/package.json +1 -1
package/README.md CHANGED
@@ -19,7 +19,7 @@ npm install -g jiva-core
19
19
  jiva setup
20
20
  ```
21
21
 
22
- The setup wizard prompts for your API endpoint, key, and model name. Jiva works with Krutrim, Groq, OpenAI, Ollama, and any OpenAI-compatible provider.
22
+ The setup wizard opens with a provider selection menu. Choose your provider and Jiva auto-fills the endpoint, model name, and tool format — you only supply your API key. Supported providers: **Krutrim**, **Groq**, **Sarvam**, **OpenAI**, and any **OpenAI-compatible** endpoint.
23
23
 
24
24
  ### Development install
25
25
 
@@ -156,7 +156,8 @@ Configuration is stored at `~/.config/jiva-nodejs/config.json` (Linux/macOS) or
156
156
  "apiKey": "kr-...",
157
157
  "model": "gpt-oss-120b",
158
158
  "type": "reasoning",
159
- "useHarmonyFormat": true
159
+ "useHarmonyFormat": true,
160
+ "reasoningEffortStrategy": "system_prompt"
160
161
  }
161
162
  }
162
163
  }
@@ -169,8 +170,25 @@ Configuration is stored at `~/.config/jiva-nodejs/config.json` (Linux/macOS) or
169
170
  "reasoning": {
170
171
  "endpoint": "https://api.groq.com/openai/v1/chat/completions",
171
172
  "apiKey": "gsk_...",
172
- "model": "openai/gpt-oss-20b",
173
- "type": "reasoning"
173
+ "model": "openai/gpt-oss-120b",
174
+ "type": "reasoning",
175
+ "reasoningEffortStrategy": "api_param"
176
+ }
177
+ }
178
+ }
179
+ ```
180
+
181
+ **Sarvam** — reasoning model with internal chain-of-thought; requires a generous token budget
182
+ ```json
183
+ {
184
+ "models": {
185
+ "reasoning": {
186
+ "endpoint": "https://api.sarvam.ai/v1/chat/completions",
187
+ "apiKey": "your-sarvam-key",
188
+ "model": "sarvam-105b",
189
+ "type": "reasoning",
190
+ "reasoningEffortStrategy": "api_param",
191
+ "defaultMaxTokens": 8192
174
192
  }
175
193
  }
176
194
  }
@@ -190,6 +208,8 @@ Configuration is stored at `~/.config/jiva-nodejs/config.json` (Linux/macOS) or
190
208
  }
191
209
  ```
192
210
 
211
+ Any other OpenAI-compatible endpoint works the same way — set `endpoint`, `apiKey`, and `model`; Jiva handles the rest.
212
+
193
213
  ### Code mode configuration
194
214
 
195
215
  ```json
@@ -312,15 +332,16 @@ Skills bundle MCP servers, directives, and model behavior overrides into portabl
312
332
  ## Programmatic Usage
313
333
 
314
334
  ```typescript
315
- import { DualAgent, CodeAgent, createKrutrimModel, ModelOrchestrator,
335
+ import { DualAgent, CodeAgent, createModelClient, ModelOrchestrator,
316
336
  MCPServerManager, WorkspaceManager, ConversationManager,
317
337
  createStorageProvider } from 'jiva-core';
318
338
 
319
- const reasoningModel = createKrutrimModel({
339
+ const reasoningModel = createModelClient({
320
340
  endpoint: 'https://api.groq.com/openai/v1/chat/completions',
321
341
  apiKey: process.env.API_KEY!,
322
- model: 'openai/gpt-oss-20b',
342
+ model: 'openai/gpt-oss-120b',
323
343
  type: 'reasoning',
344
+ reasoningEffortStrategy: 'api_param',
324
345
  });
325
346
  const orchestrator = new ModelOrchestrator({ reasoningModel });
326
347
  const storageProvider = await createStorageProvider();
@@ -41,6 +41,7 @@ export declare class CodeAgent {
41
41
  private maxDepth;
42
42
  private history;
43
43
  private tools;
44
+ private _stopped;
44
45
  constructor(config: CodeAgentConfig);
45
46
  /**
46
47
  * Planning phase — explores the codebase with read-only tools and produces a structured
@@ -87,6 +88,8 @@ export declare class CodeAgent {
87
88
  }>;
88
89
  };
89
90
  };
91
+ /** Signal the agent to stop after the current iteration. */
92
+ stop(): void;
90
93
  resetConversation(): void;
91
94
  getConversationHistory(): Message[];
92
95
  getConversationManager(): ConversationManager | null | undefined;
@@ -98,6 +101,7 @@ export declare class CodeAgent {
98
101
  updated: string | number;
99
102
  messageCount: number;
100
103
  workspace?: string;
104
+ type?: string;
101
105
  }>>;
102
106
  /** Get the code mode indicator for UI display. */
103
107
  static get indicator(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/code/agent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,KAAK,EAAE,OAAO,EAAQ,MAAM,mBAAmB,CAAC;AAiBvD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAkDD,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,iBAAiB,CAAC;IAChC,SAAS,EAAE,gBAAgB,CAAC;IAC5B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAuED,qBAAa,SAAS;IACpB,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,mBAAmB,CAAC,CAAsB;IAClD,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,KAAK,CAAc;gBAEf,MAAM,EAAE,eAAe;IAyBnC;;;;;;;OAOG;IACG,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkHzC;;;OAGG;IACG,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC;IAidzF;;;;;;;;;;;;OAYG;YACW,qBAAqB;IA6FnC,gDAAgD;IAC1C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAS9B,YAAY,IAAI,gBAAgB;IAIhC,aAAa,IAAI;QACf,eAAe,IAAI,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,OAAO,CAAC;YAAC,OAAO,EAAE,OAAO,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACpG,SAAS,IAAI;YAAE,WAAW,IAAI,KAAK,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,WAAW,EAAE,MAAM,CAAA;aAAE,CAAC,CAAA;SAAE,CAAC;KAC9E;IAgBD,iBAAiB,IAAI,IAAI;IAIzB,sBAAsB,IAAI,OAAO,EAAE;IAInC,sBAAsB,IAAI,mBAAmB,GAAG,IAAI,GAAG,SAAS;IAI1D,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAU1C,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ3C,iBAAiB,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAK7I,kDAAkD;IAClD,MAAM,KAAK,SAAS,IAAI,MAAM,CAE7B;CACF"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/code/agent.ts"],"names":[],"mappings":"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"}
@@ -129,6 +129,7 @@ export class CodeAgent {
129
129
  maxDepth;
130
130
  history = [];
131
131
  tools;
132
+ _stopped = false;
132
133
  constructor(config) {
133
134
  this.orchestrator = config.orchestrator;
134
135
  this.workspace = config.workspace;
@@ -286,6 +287,8 @@ ${directive ? `\n${directive}` : ''}`;
286
287
  // Track consecutive API errors to avoid infinite error loops
287
288
  let consecutiveApiErrors = 0;
288
289
  const MAX_CONSECUTIVE_API_ERRORS = 3;
290
+ let consecutiveToolCallErrors = 0;
291
+ const MAX_CONSECUTIVE_TOOL_CALL_ERRORS = 6;
289
292
  // Track empty responses (no tool calls, no content) so we can inject a recovery nudge.
290
293
  // Allow up to 4 retries — Krutrim/Groq can return blank responses transiently and the
291
294
  // model usually recovers within 2-3 nudges.
@@ -304,7 +307,15 @@ ${directive ? `\n${directive}` : ''}`;
304
307
  let wrapUpInjected = false;
305
308
  // In-loop compaction flag — only compact once per chat() turn to avoid thrashing
306
309
  let compactedThisTurn = false;
310
+ // Reset stop flag at the start of each chat() so the agent is immediately reusable
311
+ this._stopped = false;
307
312
  for (let i = 0; i < this.maxIterations; i++) {
313
+ // Cooperative stop: set by stop() (Ctrl+C or HTTP stop endpoint)
314
+ if (this._stopped) {
315
+ logger.info('[CodeAgent] Stop requested — exiting after current step');
316
+ finalContent = '[Task stopped by user]';
317
+ break;
318
+ }
308
319
  iterations = i + 1;
309
320
  logger.debug(`[CodeAgent] Iteration ${iterations}/${this.maxIterations}`);
310
321
  const iterPct = i / this.maxIterations;
@@ -346,20 +357,33 @@ ${directive ? `\n${directive}` : ''}`;
346
357
  temperature: 0.2,
347
358
  }, false);
348
359
  consecutiveApiErrors = 0; // reset on success
360
+ consecutiveToolCallErrors = 0; // reset on success
349
361
  }
350
362
  catch (error) {
351
363
  const msg = error instanceof Error ? error.message : String(error);
352
364
  logger.error(`[CodeAgent] Model error: ${msg}`);
353
- consecutiveApiErrors++;
354
- if (consecutiveApiErrors >= MAX_CONSECUTIVE_API_ERRORS) {
355
- finalContent = `Error: ${msg}`;
356
- break;
357
- }
358
- // For tool_use_failed (400) errors: first try to repair and execute the intended call,
359
- // then fall back to injecting a correction message.
360
365
  const isToolUseFailed = msg.includes('tool_use_failed') || msg.includes('Failed to parse tool call');
361
366
  const isValidationFailed = msg.includes('Tool call validation failed') || msg.includes('did not match schema');
362
367
  if (isToolUseFailed || isValidationFailed) {
368
+ // Tool-call errors are handled separately from generic API errors.
369
+ // Reset the generic error counter — the tool correction loop has its own guard.
370
+ consecutiveApiErrors = 0;
371
+ consecutiveToolCallErrors++;
372
+ if (consecutiveToolCallErrors >= MAX_CONSECUTIVE_TOOL_CALL_ERRORS) {
373
+ logger.warn(`[CodeAgent] ${consecutiveToolCallErrors} consecutive tool-call failures — injecting strategy reset`);
374
+ consecutiveToolCallErrors = 0;
375
+ const lastMsg = messages[messages.length - 1];
376
+ if (lastMsg && lastMsg.role !== 'assistant') {
377
+ messages.push({ role: 'assistant', content: '' });
378
+ }
379
+ messages.push({
380
+ role: 'user',
381
+ content: 'You have had repeated tool call failures. Stop and think about a different approach.\n\n' +
382
+ `Valid tools: ${this.tools.map((t) => t.name).join(', ')}\n\n` +
383
+ 'Use simpler arguments. Avoid heredocs or complex shell constructs in bash — write to a temp file first if needed.',
384
+ });
385
+ continue;
386
+ }
363
387
  // Conversation turn guard: for API-rejected calls (e.g. 400 tool_use_failed), the
364
388
  // model's assistant turn was never recorded. Injecting a user correction directly
365
389
  // would create an invalid user→user sequence. Add an empty assistant placeholder
@@ -387,7 +411,7 @@ ${directive ? `\n${directive}` : ''}`;
387
411
  'Call edit_file again with all three parameters. ' +
388
412
  'new_string must contain the complete replacement for old_string.',
389
413
  });
390
- consecutiveApiErrors = 0;
414
+ consecutiveToolCallErrors = 0;
391
415
  emptyResponseCount = 0; // fresh recovery budget after targeted guidance
392
416
  continue;
393
417
  }
@@ -433,7 +457,7 @@ ${directive ? `\n${directive}` : ''}`;
433
457
  ` Stage 3: edit_file — add JavaScript ONE function at a time\n\n` +
434
458
  `Start with Stage 1 NOW: write_file with just the bare HTML skeleton (20 lines max).`;
435
459
  messages.push({ role: 'user', content: correctionContent });
436
- consecutiveApiErrors = 0;
460
+ consecutiveToolCallErrors = 0;
437
461
  emptyResponseCount = 0; // reset so model has fresh recovery budget for staged CSS/JS edits
438
462
  continue;
439
463
  }
@@ -467,24 +491,31 @@ ${directive ? `\n${directive}` : ''}`;
467
491
  content: `[The model's previous tool call was automatically repaired from an invalid name to \`${repairedName}\`]\n` +
468
492
  `<tool_result name="${repairedName}">\n${toolResult}\n</tool_result>`,
469
493
  });
470
- consecutiveApiErrors = 0; // repaired successfully — reset error counter
494
+ consecutiveToolCallErrors = 0; // repaired successfully — reset tool call error counter
471
495
  continue;
472
496
  }
473
497
  // --- Fallback: inject correction message so the model can self-correct ---
474
498
  const nameMatch = msg.match(/"name":\s*"([^"]+)"/);
475
499
  const toolName = nameMatch ? nameMatch[1] : 'unknown';
476
- logger.warn(`[CodeAgent] Tool call error (${toolName}), injecting correction — ${consecutiveApiErrors}/${MAX_CONSECUTIVE_API_ERRORS}`);
500
+ logger.warn(`[CodeAgent] Tool call error (${toolName}), injecting correction — ${consecutiveToolCallErrors}/${MAX_CONSECUTIVE_TOOL_CALL_ERRORS}`);
477
501
  messages.push({
478
502
  role: 'user',
479
503
  content: `Your last tool call was rejected. Error: "${msg.substring(0, 300)}"\n\n` +
480
504
  `Valid tools: ${this.tools.map((t) => t.name).join(', ')}\n` +
481
- `Each tool requires specific parameters — call the tool again with the correct name and JSON arguments.`,
505
+ `Each tool requires specific parameters — call the tool again with the correct name and JSON arguments.\n\n` +
506
+ `For bash commands with complex content (heredocs, multi-line scripts): write the script to a temp file first using write_file, then execute it with bash.`,
482
507
  });
483
508
  continue;
484
509
  }
485
- // For other non-transient errors, bail out
486
- finalContent = `Error: ${msg}`;
487
- break;
510
+ // For all other (non-tool-call) errors genuine API/network failures
511
+ consecutiveApiErrors++;
512
+ if (consecutiveApiErrors >= MAX_CONSECUTIVE_API_ERRORS) {
513
+ finalContent = `Error: ${msg}`;
514
+ break;
515
+ }
516
+ // Non-fatal: log and let the next iteration try again
517
+ logger.warn(`[CodeAgent] API error ${consecutiveApiErrors}/${MAX_CONSECUTIVE_API_ERRORS}: ${msg}`);
518
+ continue;
488
519
  }
489
520
  // Add assistant response to messages, preserving the full structure needed for the next turn.
490
521
  //
@@ -674,7 +705,7 @@ ${directive ? `\n${directive}` : ''}`;
674
705
  this.history.push(userMsg, assistantMsg);
675
706
  // Auto-save after each exchange so conversations persist across sessions
676
707
  if (this.conversationManager) {
677
- await this.conversationManager.autoSave(this.history, this.workspace.getWorkspaceDir(), this.orchestrator);
708
+ await this.conversationManager.autoSave(this.history, this.workspace.getWorkspaceDir(), this.orchestrator, 'code');
678
709
  }
679
710
  return { content: finalContent, toolsUsed, iterations };
680
711
  }
@@ -802,6 +833,10 @@ Keep the summary concise but complete. Focus on what would help continue the wor
802
833
  }),
803
834
  };
804
835
  }
836
+ /** Signal the agent to stop after the current iteration. */
837
+ stop() {
838
+ this._stopped = true;
839
+ }
805
840
  resetConversation() {
806
841
  this.history = [];
807
842
  }
@@ -814,7 +849,7 @@ Keep the summary concise but complete. Focus on what would help continue the wor
814
849
  async saveConversation() {
815
850
  if (!this.conversationManager)
816
851
  return null;
817
- return this.conversationManager.saveConversation(this.history, this.workspace.getWorkspaceDir(), undefined, this.orchestrator);
852
+ return this.conversationManager.saveConversation(this.history, this.workspace.getWorkspaceDir(), undefined, this.orchestrator, 'code');
818
853
  }
819
854
  async loadConversation(id) {
820
855
  if (!this.conversationManager)
@@ -822,12 +857,29 @@ Keep the summary concise but complete. Focus on what would help continue the wor
822
857
  const conversation = await this.conversationManager.loadConversation(id);
823
858
  if (conversation) {
824
859
  this.history = conversation.messages;
860
+ // Restore the workspace this conversation was created in
861
+ const savedWorkspace = conversation.metadata?.workspace;
862
+ if (savedWorkspace && savedWorkspace !== this.workspace.getWorkspaceDir()) {
863
+ try {
864
+ await this.workspace.switchWorkspace(savedWorkspace);
865
+ // Restart LSP for the new workspace root
866
+ await this.lsp.shutdown().catch(() => { });
867
+ this.lsp = new LspManager({
868
+ root: savedWorkspace,
869
+ enabled: true,
870
+ });
871
+ logger.info(`[CodeAgent] Workspace restored to: ${savedWorkspace}`);
872
+ }
873
+ catch (err) {
874
+ logger.warn(`[CodeAgent] Could not restore workspace '${savedWorkspace}': ${err instanceof Error ? err.message : String(err)}`);
875
+ }
876
+ }
825
877
  }
826
878
  }
827
879
  async listConversations() {
828
880
  if (!this.conversationManager)
829
881
  return [];
830
- return this.conversationManager.listConversations();
882
+ return this.conversationManager.listConversations('code');
831
883
  }
832
884
  /** Get the code mode indicator for UI display. */
833
885
  static get indicator() {
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/code/agent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAE1B,6EAA6E;AAC7E,MAAM,eAAe,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;AAQpE;;;;;;;GAOG;AACH,SAAS,oBAAoB,CAC3B,QAAgB,EAChB,KAAkB;IAElB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAuB,SAAS,EAAE,KAAK,EAAE,iBAAiB,CAAC;QAC7E,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QAE/B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,OAAO,GAAW,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QAC1C,MAAM,IAAI,GACR,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAE/D,8EAA8E;QAC9E,MAAM,QAAQ,GAAG,OAAO;aACrB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,uCAAuC;aACnE,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAG,8CAA8C;aAC3E,IAAI,EAAE,CAAC;QACV,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CACvB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,WAAW,EAAE,CAChE,CAAC;QACF,IAAI,MAAM;YAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAEnD,0EAA0E;QAC1E,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9B,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC;YAC7C,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QACH,IAAI,MAAM;YAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAEnD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAoBD,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAClC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,wFAAwF;AACxF,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,mBAAmB,GAAG,aAAa,CAAC;AAC1C,4FAA4F;AAC5F,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAE5C,0GAA0G;AAC1G,MAAM,eAAe,GAAG,CAAC,YAAoB,EAAE,SAAkB,EAAU,EAAE;IAC3E,MAAM,IAAI,GAAG;;;aAGF,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6EAgDoD,CAAC;IAE5E,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,GAAG,IAAI,OAAO,SAAS,EAAE,CAAC;IACnC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,OAAO,SAAS;IACZ,YAAY,CAAoB;IAChC,SAAS,CAAmB;IAC5B,mBAAmB,CAAuB;IAC1C,aAAa,CAAS;IACtB,mBAAmB,CAAS;IAC5B,GAAG,CAAa;IAChB,KAAK,CAAS;IACd,QAAQ,CAAS;IACjB,OAAO,GAAc,EAAE,CAAC;IACxB,KAAK,CAAc;IAE3B,YAAY,MAAuB;QACjC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;QACtD,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,sBAAsB,CAAC;QACpE,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,IAAI,4BAA4B,CAAC;QACtF,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;QAErC,IAAI,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC;YACxB,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,eAAe,EAAE;YACxC,OAAO,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI;SACnC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,GAAG;YACX,YAAY;YACZ,YAAY;YACZ,aAAa;YACb,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5D,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,IAAI,CAAC,IAAY;QACrB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC;QACtD,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;QAEtD,MAAM,cAAc,GAAG;;;;aAId,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BvB,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAElC,MAAM,QAAQ,GAAc;YAC1B,EAAE,IAAI,EAAE,WAAkB,EAAE,OAAO,EAAE,cAAc,EAAE;YACrD,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;SAChC,CAAC;QAEF,MAAM,YAAY,GAAW,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvD,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,UAAU,EAAE,CAAC,CAAC,UAAU;SACzB,CAAC,CAAC,CAAC;QAEJ,MAAM,mBAAmB,GAAG,EAAE,CAAC;QAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,mBAAmB,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,CAAC,IAAI,mBAAmB,GAAG,CAAC,CAAC;YAE5C,IAAI,MAAM,EAAE,CAAC;gBACX,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,MAAM;oBACZ,OAAO,EACL,4HAA4H;iBAC/H,CAAC,CAAC;YACL,CAAC;YAED,IAAI,QAAQ,CAAC;YACb,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;oBAClD,QAAQ;oBACR,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;oBACjC,WAAW,EAAE,GAAG;iBACjB,EAAE,KAAK,CAAC,CAAC;YACZ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACnE,MAAM,CAAC,KAAK,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAC;gBAC/C,OAAO,qBAAqB,GAAG,GAAG,CAAC;YACrC,CAAC;YAED,MAAM,UAAU,GAAwB,QAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,WAAW,CAAC;YACzF,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YAE9E,6CAA6C;YAC7C,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3D,OAAO,QAAQ,CAAC,OAAO,IAAI,qBAAqB,CAAC;YACnD,CAAC;YAED,+BAA+B;YAC/B,MAAM,GAAG,GAAoB;gBAC3B,YAAY;gBACZ,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC;YAEF,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;gBAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACxC,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;gBAE9D,IAAI,MAAc,CAAC;gBACnB,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,MAAM,GAAG,yBAAyB,QAAQ,kFAAkF,CAAC;gBAC/H,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC;wBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;wBACrD,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;oBACzC,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,MAAM,GAAG,UAAU,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClE,CAAC;gBACH,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAED,OAAO,oEAAoE,CAAC;IAC9E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,WAAmB,EAAE,OAAgC;QAC9D,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC;QACtD,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,EAAE,SAAS,IAAI,SAAS,CAAC,CAAC;QAE/F,6DAA6D;QAC7D,MAAM,QAAQ,GAAc;YAC1B,EAAE,IAAI,EAAE,WAAkB,EAAE,OAAO,EAAE,YAAY,EAAE;YACnD,GAAG,IAAI,CAAC,OAAO;YACf,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE;SACvC,CAAC;QAEF,iCAAiC;QACjC,MAAM,QAAQ,GAAW,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9C,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,UAAU,EAAE,CAAC,CAAC,UAAU;SACzB,CAAC,CAAC,CAAC;QAEJ,uDAAuD;QACvD,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,6DAA6D;QAC7D,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAC7B,MAAM,0BAA0B,GAAG,CAAC,CAAC;QACrC,uFAAuF;QACvF,sFAAsF;QACtF,4CAA4C;QAC5C,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,MAAM,mBAAmB,GAAG,CAAC,CAAC;QAC9B,4FAA4F;QAC5F,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAE7B,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,YAAY,GAAG,EAAE,CAAC;QAEtB,kEAAkE;QAClE,0DAA0D;QAC1D,iFAAiF;QACjF,kEAAkE;QAClE,oEAAoE;QACpE,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,IAAI,cAAc,GAAG,KAAK,CAAC;QAE3B,iFAAiF;QACjF,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC;YACnB,MAAM,CAAC,KAAK,CAAC,yBAAyB,UAAU,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YAE1E,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;YACvC,MAAM,YAAY,GAAG,OAAO,IAAI,IAAI,CAAC;YAErC,IAAI,OAAO,IAAI,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACzC,gBAAgB,GAAG,IAAI,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,wCAAwC,UAAU,IAAI,IAAI,CAAC,aAAa,8BAA8B,CAAC,CAAC;gBACpH,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,MAAM;oBACZ,OAAO,EACL,mBAAmB,UAAU,OAAO,IAAI,CAAC,aAAa,+BAA+B;wBACrF,gFAAgF;wBAChF,2EAA2E;iBAC9E,CAAC,CAAC;YACL,CAAC;YAED,IAAI,YAAY,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpC,cAAc,GAAG,IAAI,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,4BAA4B,UAAU,IAAI,IAAI,CAAC,aAAa,wBAAwB,CAAC,CAAC;gBAClG,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,MAAM;oBACZ,OAAO,EACL,sCAAsC;wBACtC,6GAA6G;wBAC7G,wBAAwB;wBACxB,yFAAyF;wBACzF,gEAAgE;wBAChE,yDAAyD;wBACzD,0BAA0B;wBAC1B,kDAAkD;wBAClD,yDAAyD;wBACzD,oDAAoD;wBACpD,2EAA2E;iBAC9E,CAAC,CAAC;YACL,CAAC;YAED,IAAI,QAAQ,CAAC;YACb,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;oBAClD,QAAQ;oBACR,mFAAmF;oBACnF,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;oBACnC,WAAW,EAAE,GAAG;iBACjB,EAAE,KAAK,CAAC,CAAC;gBACV,oBAAoB,GAAG,CAAC,CAAC,CAAC,mBAAmB;YAC/C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACnE,MAAM,CAAC,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;gBAEhD,oBAAoB,EAAE,CAAC;gBACvB,IAAI,oBAAoB,IAAI,0BAA0B,EAAE,CAAC;oBACvD,YAAY,GAAG,UAAU,GAAG,EAAE,CAAC;oBAC/B,MAAM;gBACR,CAAC;gBAED,uFAAuF;gBACvF,oDAAoD;gBACpD,MAAM,eAAe,GAAG,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;gBACrG,MAAM,kBAAkB,GAAG,GAAG,CAAC,QAAQ,CAAC,6BAA6B,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;gBAE/G,IAAI,eAAe,IAAI,kBAAkB,EAAE,CAAC;oBAC1C,kFAAkF;oBAClF,kFAAkF;oBAClF,iFAAiF;oBACjF,uEAAuE;oBACvE,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC9C,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;oBACpD,CAAC;oBAED,4DAA4D;oBAC5D,qFAAqF;oBACrF,mFAAmF;oBACnF,qFAAqF;oBACrF,MAAM,kBAAkB,GACtB,GAAG,CAAC,QAAQ,CAAC,kCAAkC,CAAC;wBAChD,GAAG,CAAC,QAAQ,CAAC,kCAAkC,CAAC;wBAChD,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;oBAE/F,IAAI,kBAAkB,EAAE,CAAC;wBACvB,MAAM,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;wBACxF,QAAQ,CAAC,IAAI,CAAC;4BACZ,IAAI,EAAE,MAAM;4BACZ,OAAO,EACL,gFAAgF;gCAChF,qDAAqD;gCACrD,kDAAkD;gCAClD,2CAA2C;gCAC3C,qEAAqE;gCACrE,kDAAkD;gCAClD,kEAAkE;yBACrE,CAAC,CAAC;wBACH,oBAAoB,GAAG,CAAC,CAAC;wBACzB,kBAAkB,GAAG,CAAC,CAAC,CAAC,gDAAgD;wBACxE,SAAS;oBACX,CAAC;oBAED,+EAA+E;oBAC/E,uFAAuF;oBACvF,0FAA0F;oBAC1F,qFAAqF;oBACrF,0FAA0F;oBAC1F,MAAM,iBAAiB,GACrB,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;wBACzD,CAAC,GAAG,CAAC,QAAQ,CAAC,2BAA2B,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;oBAEjF,IAAI,iBAAiB,EAAE,CAAC;wBACtB,2FAA2F;wBAC3F,IAAI,cAAc,GAAG,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;wBAC3G,IAAI,UAAU,GAAG,EAAE,CAAC;wBACpB,IAAI,CAAC;4BACH,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;4BACxD,IAAI,SAAS,EAAE,CAAC;gCACd,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gCAC3C,MAAM,SAAS,GAAuB,SAAS,EAAE,KAAK,EAAE,iBAAiB,CAAC;gCAC1E,IAAI,SAAS,EAAE,CAAC;oCACd,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;oCACrC,IAAI,MAAM,EAAE,IAAI;wCAAE,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,uBAAuB;oCACvE,MAAM,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC;oCACxC,IAAI,EAAE;wCAAE,UAAU,GAAG,UAAU,EAAE,IAAI,CAAC;gCACxC,CAAC;4BACH,CAAC;wBACH,CAAC;wBAAC,MAAM,CAAC,CAAC,8BAA8B,CAAC,CAAC;wBAC1C,MAAM,UAAU,GAAG,cAAc,KAAK,WAAW,CAAC;wBAElD,MAAM,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,GAAG,UAAU,oFAAoF,CAAC,CAAC;wBACrK,MAAM,iBAAiB,GAAG,UAAU;4BAClC,CAAC,CAAC,sBAAsB,UAAU,8EAA8E;gCAC9G,wEAAwE;gCACxE,8DAA8D;gCAC9D,wDAAwD;gCACxD,2DAA2D;4BAC7D,CAAC,CAAC,uBAAuB,UAAU,uEAAuE;gCACxG,qFAAqF;gCACrF,iHAAiH;gCACjH,2DAA2D;gCAC3D,kEAAkE;gCAClE,qFAAqF,CAAC;wBAE1F,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;wBAC5D,oBAAoB,GAAG,CAAC,CAAC;wBACzB,kBAAkB,GAAG,CAAC,CAAC,CAAC,mEAAmE;wBAC3F,SAAS;oBACX,CAAC;oBAED,yFAAyF;oBACzF,sEAAsE;oBACtE,uFAAuF;oBACvF,oCAAoC;oBACpC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;oBACvD,IAAI,QAAQ,EAAE,CAAC;wBACb,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC;wBAChE,MAAM,CAAC,IAAI,CAAC,mCAAmC,YAAY,2CAA2C,CAAC,CAAC;wBACxG,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBAE7B,MAAM,GAAG,GAAoB;4BAC3B,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE;4BAC9C,GAAG,EAAE,IAAI,CAAC,GAAG;4BACb,KAAK,EAAE,IAAI,CAAC,KAAK;4BACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;yBACxB,CAAC;wBAEF,IAAI,UAAkB,CAAC;wBACvB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAE,CAAC;wBAC9D,IAAI,CAAC;4BACH,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;wBACrD,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,UAAU,GAAG,mBAAmB,YAAY,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;wBAChG,CAAC;wBAED,+EAA+E;wBAC/E,6CAA6C;wBAC7C,QAAQ,CAAC,IAAI,CAAC;4BACZ,IAAI,EAAE,MAAM;4BACZ,OAAO,EACL,wFAAwF,YAAY,OAAO;gCAC3G,sBAAsB,YAAY,OAAO,UAAU,kBAAkB;yBACxE,CAAC,CAAC;wBACH,oBAAoB,GAAG,CAAC,CAAC,CAAC,8CAA8C;wBACxE,SAAS;oBACX,CAAC;oBAED,4EAA4E;oBAC5E,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;oBACnD,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACtD,MAAM,CAAC,IAAI,CAAC,gCAAgC,QAAQ,6BAA6B,oBAAoB,IAAI,0BAA0B,EAAE,CAAC,CAAC;oBACvI,QAAQ,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE,MAAM;wBACZ,OAAO,EACL,6CAA6C,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO;4BACzE,gBAAgB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;4BAC5D,wGAAwG;qBAC3G,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBAED,2CAA2C;gBAC3C,YAAY,GAAG,UAAU,GAAG,EAAE,CAAC;gBAC/B,MAAM;YACR,CAAC;YAED,8FAA8F;YAC9F,EAAE;YACF,eAAe;YACf,yFAAyF;YACzF,uFAAuF;YACvF,gGAAgG;YAChG,gDAAgD;YAChD,MAAM,UAAU,GAAwB,QAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,WAAW,CAAC;YACzF,IAAI,UAAU,EAAE,CAAC;gBACf,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;YAC5D,CAAC;iBAAM,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/D,4EAA4E;gBAC5E,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI;oBACjC,UAAU,EAAE,QAAQ,CAAC,SAAS;iBAC/B,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YAClE,CAAC;YAED,sEAAsE;YACtE,IAAI,QAAQ,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC;gBAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC5B,CAAC;YAED,2EAA2E;YAC3E,6EAA6E;YAC7E,uEAAuE;YACvE,gFAAgF;YAChF,6CAA6C;YAC7C,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC,CAAC;YACvD,IACE,IAAI,CAAC,mBAAmB,GAAG,CAAC;gBAC5B,YAAY,GAAG,IAAI,CAAC,mBAAmB;gBACvC,CAAC,iBAAiB;gBAClB,IAAI,CAAC,mBAAmB;gBACxB,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EACnD,CAAC;gBACD,MAAM,CAAC,IAAI,CACT,0BAA0B,YAAY,uBAAuB,IAAI,CAAC,mBAAmB,gCAAgC,CACtH,CAAC;gBACF,iBAAiB,GAAG,IAAI,CAAC;gBACzB,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;oBAC3E,qEAAqE;oBACrE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;oBAClD,MAAM,CAAC,IAAI,CAAC,4CAA4C,QAAQ,CAAC,MAAM,4BAA4B,CAAC,CAAC;gBACvG,CAAC;gBAAC,OAAO,UAAU,EAAE,CAAC;oBACpB,wDAAwD;oBACxD,MAAM,CAAC,KAAK,CAAC,sEAAsE,EAAE,UAAU,CAAC,CAAC;gBACnG,CAAC;YACH,CAAC;YACD,2EAA2E;YAE3E,6CAA6C;YAC7C,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3D,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,kBAAkB,GAAG,mBAAmB,EAAE,CAAC;oBAClE,8EAA8E;oBAC9E,4DAA4D;oBAC5D,kBAAkB,EAAE,CAAC;oBACrB,MAAM,CAAC,IAAI,CACT,kDAAkD,kBAAkB,IAAI,mBAAmB,8BAA8B,CAC1H,CAAC;oBAEF,yEAAyE;oBACzE,IAAI,YAAoB,CAAC;oBACzB,IAAI,kBAAkB,IAAI,CAAC,EAAE,CAAC;wBAC5B,YAAY;4BACV,wEAAwE;gCACxE,yDAAyD;gCACzD,iEAAiE;gCACjE,+EAA+E,CAAC;oBACpF,CAAC;yBAAM,CAAC;wBACN,YAAY;4BACV,sBAAsB,kBAAkB,IAAI,mBAAmB,sEAAsE;gCACrI,2EAA2E;gCAC3E,iFAAiF;gCACjF,iFAAiF;gCACjF,0DAA0D;gCAC1D,mFAAmF,CAAC;oBACxF,CAAC;oBACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;oBACvD,SAAS;gBACX,CAAC;gBACD,YAAY,GAAG,QAAQ,CAAC,OAAO,IAAI,uBAAuB,CAAC;gBAC3D,MAAM;YACR,CAAC;YAED,qBAAqB;YACrB,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;gBAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACxC,IAAI,QAAQ,GAA4B,EAAE,CAAC;gBAC3C,IAAI,CAAC;oBACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACrD,CAAC;gBAAC,MAAM,CAAC;oBACP,iBAAiB;gBACnB,CAAC;gBAED,kEAAkE;gBAClE,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;oBAC7B,oBAAoB,EAAE,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACN,oBAAoB,GAAG,CAAC,CAAC;gBAC3B,CAAC;gBAED,kBAAkB;gBAClB,MAAM,OAAO,GAAG,GAAG,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1D,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1B,IAAI,WAAW,CAAC,MAAM,GAAG,mBAAmB;oBAAE,WAAW,CAAC,KAAK,EAAE,CAAC;gBAElE,IACE,WAAW,CAAC,MAAM,KAAK,mBAAmB;oBAC1C,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,EAC9C,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,4CAA4C,QAAQ,EAAE,CAAC,CAAC;oBACpE,QAAQ,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,2BAA2B,QAAQ,uKAAuK;qBACpN,CAAC,CAAC;oBACH,MAAM;gBACR,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;gBAC7C,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAEzB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;gBACzD,IAAI,UAAkB,CAAC;gBAEvB,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,UAAU,GAAG,wBAAwB,QAAQ,uBAAuB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjH,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC;wBACH,MAAM,GAAG,GAAoB;4BAC3B,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE;4BAC9C,GAAG,EAAE,IAAI,CAAC,GAAG;4BACb,KAAK,EAAE,IAAI,CAAC,KAAK;4BACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;4BACvB,eAAe,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ;gCACzC,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;oCACtB,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC;wCAC1B,YAAY,EAAE,IAAI,CAAC,YAAY;wCAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;wCACzB,aAAa,EAAE,IAAI,CAAC,aAAa;wCACjC,UAAU,EAAE,IAAI;wCAChB,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC;wCACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;qCACxB,CAAC,CAAC;oCACH,0DAA0D;oCAC1D,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;oCACrB,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,gBAAgB,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;oCAClE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oCACzC,OAAO,MAAM,CAAC,OAAO,CAAC;gCACxB,CAAC;gCACH,CAAC,CAAC,SAAS;yBACd,CAAC;wBACF,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;oBACjD,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,UAAU,GAAG,mBAAmB,QAAQ,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5F,CAAC;gBACH,CAAC;gBAED,4DAA4D;gBAC5D,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACxE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAE3B,yEAAyE;gBACzE,8EAA8E;gBAC9E,4EAA4E;gBAC5E,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;oBACjF,kBAAkB,GAAG,CAAC,CAAC;gBACzB,CAAC;gBAED,0EAA0E;gBAC1E,kFAAkF;gBAClF,yEAAyE;gBACzE,IAAI,oBAAoB,IAAI,qBAAqB,EAAE,CAAC;oBAClD,MAAM,CAAC,IAAI,CAAC,eAAe,oBAAoB,mEAAmE,CAAC,CAAC;oBACpH,oBAAoB,GAAG,CAAC,CAAC;oBACzB,QAAQ,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE,MAAM;wBACZ,OAAO,EACL,6BAA6B,qBAAqB,kDAAkD;4BACpG,uEAAuE;4BACvE,oGAAoG;4BACpG,8CAA8C;4BAC9C,6FAA6F;4BAC7F,4FAA4F;qBAC/F,CAAC,CAAC;oBACH,MAAM,CAAC,0EAA0E;gBACnF,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,YAAY,GAAG,mDAAmD,CAAC;QACrE,CAAC;QAED,sEAAsE;QACtE,MAAM,OAAO,GAAY,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;QAChE,MAAM,YAAY,GAAY,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QAC3E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAEzC,yEAAyE;QACzE,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CACrC,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,EAChC,IAAI,CAAC,YAAY,CAClB,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;IAC1D,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,KAAK,CAAC,qBAAqB,CAAC,QAAmB,EAAE,YAAoB;QAC3E,uEAAuE;QACvE,MAAM,WAAW,GAAG,EAAE,CAAC;QAEvB,IAAI,QAAQ,CAAC,MAAM,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACvC,gCAAgC;YAChC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B;QACzD,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;QACpD,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;QAEvD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAC;QAEjD,oEAAoE;QACpE,MAAM,gBAAgB,GAAG,cAAc;aACpC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACxB,kFAAkF;gBAClF,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5F,OAAO,kBAAkB,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC3F,CAAC;YACD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;YAC9F,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC5F,OAAO,GAAG,IAAI,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACrF,CAAC,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2B3B,gBAAgB;;mFAEiE,CAAC;QAEhF,IAAI,cAAsB,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;gBACnD,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;gBACvD,WAAW,EAAE,GAAG;gBAChB,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YACH,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAClD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,+DAA+D;YAC/D,MAAM,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;YAC5F,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC1C,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACxB,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC5F,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACzC,OAAO,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,SAAS,gDAAgD,EAAE,CAAC;gBAC3F,CAAC;gBACD,OAAO,GAAG,CAAC;YACb,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,SAAS,EAAE,GAAG,QAAQ,EAAE,GAAG,cAAc,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,cAAc,GAAY;YAC9B,IAAI,EAAE,MAAM;YACZ,OAAO,EACL,wFAAwF;gBACxF,cAAc;gBACd,mDAAmD;SACtD,CAAC;QAEF,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,cAAc,CAAC,CAAC;IACxD,CAAC;IAED,gDAAgD;IAChD,KAAK,CAAC,OAAO;QACX,gEAAgE;QAChE,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,6EAA6E;IAE7E,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,aAAa;QAIX,wFAAwF;QACxF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,OAAO;YACL,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;oBACtB,IAAI,EAAE,YAAY;oBAClB,SAAS,EAAE,IAAI;oBACf,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,KAAK,CAAC,MAAM;iBACxB,CAAC;YACF,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;gBAChB,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;aACpF,CAAC;SACH,CAAC;IACJ,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,sBAAsB;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,sBAAsB;QACpB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,IAAI,CAAC,IAAI,CAAC,mBAAmB;YAAE,OAAO,IAAI,CAAC;QAC3C,OAAO,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAC9C,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,EAChC,SAAS,EACT,IAAI,CAAC,YAAY,CAClB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,EAAU;QAC/B,IAAI,CAAC,IAAI,CAAC,mBAAmB;YAAE,OAAO;QACtC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACzE,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC;QACvC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,IAAI,CAAC,IAAI,CAAC,mBAAmB;YAAE,OAAO,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;IACtD,CAAC;IAED,kDAAkD;IAClD,MAAM,KAAK,SAAS;QAClB,OAAO,mBAAmB,CAAC;IAC7B,CAAC;CACF"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/code/agent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAE1B,6EAA6E;AAC7E,MAAM,eAAe,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;AAQpE;;;;;;;GAOG;AACH,SAAS,oBAAoB,CAC3B,QAAgB,EAChB,KAAkB;IAElB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAuB,SAAS,EAAE,KAAK,EAAE,iBAAiB,CAAC;QAC7E,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QAE/B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,OAAO,GAAW,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QAC1C,MAAM,IAAI,GACR,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAE/D,8EAA8E;QAC9E,MAAM,QAAQ,GAAG,OAAO;aACrB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,uCAAuC;aACnE,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAG,8CAA8C;aAC3E,IAAI,EAAE,CAAC;QACV,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CACvB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,WAAW,EAAE,CAChE,CAAC;QACF,IAAI,MAAM;YAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAEnD,0EAA0E;QAC1E,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9B,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC;YAC7C,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QACH,IAAI,MAAM;YAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAEnD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAoBD,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAClC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,wFAAwF;AACxF,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,mBAAmB,GAAG,aAAa,CAAC;AAC1C,4FAA4F;AAC5F,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAE5C,0GAA0G;AAC1G,MAAM,eAAe,GAAG,CAAC,YAAoB,EAAE,SAAkB,EAAU,EAAE;IAC3E,MAAM,IAAI,GAAG;;;aAGF,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6EAgDoD,CAAC;IAE5E,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,GAAG,IAAI,OAAO,SAAS,EAAE,CAAC;IACnC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,OAAO,SAAS;IACZ,YAAY,CAAoB;IAChC,SAAS,CAAmB;IAC5B,mBAAmB,CAAuB;IAC1C,aAAa,CAAS;IACtB,mBAAmB,CAAS;IAC5B,GAAG,CAAa;IAChB,KAAK,CAAS;IACd,QAAQ,CAAS;IACjB,OAAO,GAAc,EAAE,CAAC;IACxB,KAAK,CAAc;IACnB,QAAQ,GAAG,KAAK,CAAC;IAEzB,YAAY,MAAuB;QACjC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;QACtD,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,sBAAsB,CAAC;QACpE,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,IAAI,4BAA4B,CAAC;QACtF,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;QAErC,IAAI,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC;YACxB,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,eAAe,EAAE;YACxC,OAAO,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI;SACnC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,GAAG;YACX,YAAY;YACZ,YAAY;YACZ,aAAa;YACb,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5D,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,IAAI,CAAC,IAAY;QACrB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC;QACtD,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;QAEtD,MAAM,cAAc,GAAG;;;;aAId,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BvB,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAElC,MAAM,QAAQ,GAAc;YAC1B,EAAE,IAAI,EAAE,WAAkB,EAAE,OAAO,EAAE,cAAc,EAAE;YACrD,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;SAChC,CAAC;QAEF,MAAM,YAAY,GAAW,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvD,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,UAAU,EAAE,CAAC,CAAC,UAAU;SACzB,CAAC,CAAC,CAAC;QAEJ,MAAM,mBAAmB,GAAG,EAAE,CAAC;QAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,mBAAmB,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,CAAC,IAAI,mBAAmB,GAAG,CAAC,CAAC;YAE5C,IAAI,MAAM,EAAE,CAAC;gBACX,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,MAAM;oBACZ,OAAO,EACL,4HAA4H;iBAC/H,CAAC,CAAC;YACL,CAAC;YAED,IAAI,QAAQ,CAAC;YACb,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;oBAClD,QAAQ;oBACR,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;oBACjC,WAAW,EAAE,GAAG;iBACjB,EAAE,KAAK,CAAC,CAAC;YACZ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACnE,MAAM,CAAC,KAAK,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAC;gBAC/C,OAAO,qBAAqB,GAAG,GAAG,CAAC;YACrC,CAAC;YAED,MAAM,UAAU,GAAwB,QAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,WAAW,CAAC;YACzF,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YAE9E,6CAA6C;YAC7C,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3D,OAAO,QAAQ,CAAC,OAAO,IAAI,qBAAqB,CAAC;YACnD,CAAC;YAED,+BAA+B;YAC/B,MAAM,GAAG,GAAoB;gBAC3B,YAAY;gBACZ,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC;YAEF,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;gBAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACxC,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;gBAE9D,IAAI,MAAc,CAAC;gBACnB,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,MAAM,GAAG,yBAAyB,QAAQ,kFAAkF,CAAC;gBAC/H,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC;wBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;wBACrD,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;oBACzC,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,MAAM,GAAG,UAAU,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClE,CAAC;gBACH,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAED,OAAO,oEAAoE,CAAC;IAC9E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,WAAmB,EAAE,OAAgC;QAC9D,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC;QACtD,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,EAAE,SAAS,IAAI,SAAS,CAAC,CAAC;QAE/F,6DAA6D;QAC7D,MAAM,QAAQ,GAAc;YAC1B,EAAE,IAAI,EAAE,WAAkB,EAAE,OAAO,EAAE,YAAY,EAAE;YACnD,GAAG,IAAI,CAAC,OAAO;YACf,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE;SACvC,CAAC;QAEF,iCAAiC;QACjC,MAAM,QAAQ,GAAW,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9C,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,UAAU,EAAE,CAAC,CAAC,UAAU;SACzB,CAAC,CAAC,CAAC;QAEJ,uDAAuD;QACvD,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,6DAA6D;QAC7D,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAC7B,MAAM,0BAA0B,GAAG,CAAC,CAAC;QACrC,IAAI,yBAAyB,GAAG,CAAC,CAAC;QAClC,MAAM,gCAAgC,GAAG,CAAC,CAAC;QAC3C,uFAAuF;QACvF,sFAAsF;QACtF,4CAA4C;QAC5C,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,MAAM,mBAAmB,GAAG,CAAC,CAAC;QAC9B,4FAA4F;QAC5F,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAE7B,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,YAAY,GAAG,EAAE,CAAC;QAEtB,kEAAkE;QAClE,0DAA0D;QAC1D,iFAAiF;QACjF,kEAAkE;QAClE,oEAAoE;QACpE,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,IAAI,cAAc,GAAG,KAAK,CAAC;QAE3B,iFAAiF;QACjF,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAE9B,mFAAmF;QACnF,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,iEAAiE;YACjE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;gBACvE,YAAY,GAAG,wBAAwB,CAAC;gBACxC,MAAM;YACR,CAAC;YACD,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC;YACnB,MAAM,CAAC,KAAK,CAAC,yBAAyB,UAAU,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YAE1E,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;YACvC,MAAM,YAAY,GAAG,OAAO,IAAI,IAAI,CAAC;YAErC,IAAI,OAAO,IAAI,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACzC,gBAAgB,GAAG,IAAI,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,wCAAwC,UAAU,IAAI,IAAI,CAAC,aAAa,8BAA8B,CAAC,CAAC;gBACpH,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,MAAM;oBACZ,OAAO,EACL,mBAAmB,UAAU,OAAO,IAAI,CAAC,aAAa,+BAA+B;wBACrF,gFAAgF;wBAChF,2EAA2E;iBAC9E,CAAC,CAAC;YACL,CAAC;YAED,IAAI,YAAY,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpC,cAAc,GAAG,IAAI,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,4BAA4B,UAAU,IAAI,IAAI,CAAC,aAAa,wBAAwB,CAAC,CAAC;gBAClG,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,MAAM;oBACZ,OAAO,EACL,sCAAsC;wBACtC,6GAA6G;wBAC7G,wBAAwB;wBACxB,yFAAyF;wBACzF,gEAAgE;wBAChE,yDAAyD;wBACzD,0BAA0B;wBAC1B,kDAAkD;wBAClD,yDAAyD;wBACzD,oDAAoD;wBACpD,2EAA2E;iBAC9E,CAAC,CAAC;YACL,CAAC;YAED,IAAI,QAAQ,CAAC;YACb,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;oBAClD,QAAQ;oBACR,mFAAmF;oBACnF,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;oBACnC,WAAW,EAAE,GAAG;iBACjB,EAAE,KAAK,CAAC,CAAC;gBACV,oBAAoB,GAAG,CAAC,CAAC,CAAC,mBAAmB;gBAC7C,yBAAyB,GAAG,CAAC,CAAC,CAAC,mBAAmB;YACpD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACnE,MAAM,CAAC,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;gBAEhD,MAAM,eAAe,GAAG,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;gBACrG,MAAM,kBAAkB,GAAG,GAAG,CAAC,QAAQ,CAAC,6BAA6B,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;gBAE/G,IAAI,eAAe,IAAI,kBAAkB,EAAE,CAAC;oBAC1C,mEAAmE;oBACnE,gFAAgF;oBAChF,oBAAoB,GAAG,CAAC,CAAC;oBACzB,yBAAyB,EAAE,CAAC;oBAE5B,IAAI,yBAAyB,IAAI,gCAAgC,EAAE,CAAC;wBAClE,MAAM,CAAC,IAAI,CAAC,eAAe,yBAAyB,4DAA4D,CAAC,CAAC;wBAClH,yBAAyB,GAAG,CAAC,CAAC;wBAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBAC9C,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;4BAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;wBACpD,CAAC;wBACD,QAAQ,CAAC,IAAI,CAAC;4BACZ,IAAI,EAAE,MAAM;4BACZ,OAAO,EACL,0FAA0F;gCAC1F,gBAAgB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;gCAC9D,mHAAmH;yBACtH,CAAC,CAAC;wBACH,SAAS;oBACX,CAAC;oBAED,kFAAkF;oBAClF,kFAAkF;oBAClF,iFAAiF;oBACjF,uEAAuE;oBACvE,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC9C,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;oBACpD,CAAC;oBAED,4DAA4D;oBAC5D,qFAAqF;oBACrF,mFAAmF;oBACnF,qFAAqF;oBACrF,MAAM,kBAAkB,GACtB,GAAG,CAAC,QAAQ,CAAC,kCAAkC,CAAC;wBAChD,GAAG,CAAC,QAAQ,CAAC,kCAAkC,CAAC;wBAChD,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;oBAE/F,IAAI,kBAAkB,EAAE,CAAC;wBACvB,MAAM,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;wBACxF,QAAQ,CAAC,IAAI,CAAC;4BACZ,IAAI,EAAE,MAAM;4BACZ,OAAO,EACL,gFAAgF;gCAChF,qDAAqD;gCACrD,kDAAkD;gCAClD,2CAA2C;gCAC3C,qEAAqE;gCACrE,kDAAkD;gCAClD,kEAAkE;yBACrE,CAAC,CAAC;wBACH,yBAAyB,GAAG,CAAC,CAAC;wBAC9B,kBAAkB,GAAG,CAAC,CAAC,CAAC,gDAAgD;wBACxE,SAAS;oBACX,CAAC;oBAED,+EAA+E;oBAC/E,uFAAuF;oBACvF,0FAA0F;oBAC1F,qFAAqF;oBACrF,0FAA0F;oBAC1F,MAAM,iBAAiB,GACrB,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;wBACzD,CAAC,GAAG,CAAC,QAAQ,CAAC,2BAA2B,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;oBAEjF,IAAI,iBAAiB,EAAE,CAAC;wBACtB,2FAA2F;wBAC3F,IAAI,cAAc,GAAG,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;wBAC3G,IAAI,UAAU,GAAG,EAAE,CAAC;wBACpB,IAAI,CAAC;4BACH,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;4BACxD,IAAI,SAAS,EAAE,CAAC;gCACd,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gCAC3C,MAAM,SAAS,GAAuB,SAAS,EAAE,KAAK,EAAE,iBAAiB,CAAC;gCAC1E,IAAI,SAAS,EAAE,CAAC;oCACd,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;oCACrC,IAAI,MAAM,EAAE,IAAI;wCAAE,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,uBAAuB;oCACvE,MAAM,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC;oCACxC,IAAI,EAAE;wCAAE,UAAU,GAAG,UAAU,EAAE,IAAI,CAAC;gCACxC,CAAC;4BACH,CAAC;wBACH,CAAC;wBAAC,MAAM,CAAC,CAAC,8BAA8B,CAAC,CAAC;wBAC1C,MAAM,UAAU,GAAG,cAAc,KAAK,WAAW,CAAC;wBAElD,MAAM,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,GAAG,UAAU,oFAAoF,CAAC,CAAC;wBACrK,MAAM,iBAAiB,GAAG,UAAU;4BAClC,CAAC,CAAC,sBAAsB,UAAU,8EAA8E;gCAC9G,wEAAwE;gCACxE,8DAA8D;gCAC9D,wDAAwD;gCACxD,2DAA2D;4BAC7D,CAAC,CAAC,uBAAuB,UAAU,uEAAuE;gCACxG,qFAAqF;gCACrF,iHAAiH;gCACjH,2DAA2D;gCAC3D,kEAAkE;gCAClE,qFAAqF,CAAC;wBAE1F,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;wBAC5D,yBAAyB,GAAG,CAAC,CAAC;wBAC9B,kBAAkB,GAAG,CAAC,CAAC,CAAC,mEAAmE;wBAC3F,SAAS;oBACX,CAAC;oBAED,yFAAyF;oBACzF,sEAAsE;oBACtE,uFAAuF;oBACvF,oCAAoC;oBACpC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;oBACvD,IAAI,QAAQ,EAAE,CAAC;wBACb,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC;wBAChE,MAAM,CAAC,IAAI,CAAC,mCAAmC,YAAY,2CAA2C,CAAC,CAAC;wBACxG,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBAE7B,MAAM,GAAG,GAAoB;4BAC3B,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE;4BAC9C,GAAG,EAAE,IAAI,CAAC,GAAG;4BACb,KAAK,EAAE,IAAI,CAAC,KAAK;4BACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;yBACxB,CAAC;wBAEF,IAAI,UAAkB,CAAC;wBACvB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAE,CAAC;wBAC9D,IAAI,CAAC;4BACH,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;wBACrD,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,UAAU,GAAG,mBAAmB,YAAY,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;wBAChG,CAAC;wBAED,+EAA+E;wBAC/E,6CAA6C;wBAC7C,QAAQ,CAAC,IAAI,CAAC;4BACZ,IAAI,EAAE,MAAM;4BACZ,OAAO,EACL,wFAAwF,YAAY,OAAO;gCAC3G,sBAAsB,YAAY,OAAO,UAAU,kBAAkB;yBACxE,CAAC,CAAC;wBACH,yBAAyB,GAAG,CAAC,CAAC,CAAC,wDAAwD;wBACvF,SAAS;oBACX,CAAC;oBAED,4EAA4E;oBAC5E,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;oBACnD,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACtD,MAAM,CAAC,IAAI,CAAC,gCAAgC,QAAQ,6BAA6B,yBAAyB,IAAI,gCAAgC,EAAE,CAAC,CAAC;oBAClJ,QAAQ,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE,MAAM;wBACZ,OAAO,EACL,6CAA6C,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO;4BACzE,gBAAgB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;4BAC5D,4GAA4G;4BAC5G,2JAA2J;qBAC9J,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBAED,sEAAsE;gBACtE,oBAAoB,EAAE,CAAC;gBACvB,IAAI,oBAAoB,IAAI,0BAA0B,EAAE,CAAC;oBACvD,YAAY,GAAG,UAAU,GAAG,EAAE,CAAC;oBAC/B,MAAM;gBACR,CAAC;gBACD,sDAAsD;gBACtD,MAAM,CAAC,IAAI,CAAC,yBAAyB,oBAAoB,IAAI,0BAA0B,KAAK,GAAG,EAAE,CAAC,CAAC;gBACnG,SAAS;YACX,CAAC;YAED,8FAA8F;YAC9F,EAAE;YACF,eAAe;YACf,yFAAyF;YACzF,uFAAuF;YACvF,gGAAgG;YAChG,gDAAgD;YAChD,MAAM,UAAU,GAAwB,QAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,WAAW,CAAC;YACzF,IAAI,UAAU,EAAE,CAAC;gBACf,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;YAC5D,CAAC;iBAAM,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/D,4EAA4E;gBAC5E,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI;oBACjC,UAAU,EAAE,QAAQ,CAAC,SAAS;iBAC/B,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YAClE,CAAC;YAED,sEAAsE;YACtE,IAAI,QAAQ,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC;gBAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC5B,CAAC;YAED,2EAA2E;YAC3E,6EAA6E;YAC7E,uEAAuE;YACvE,gFAAgF;YAChF,6CAA6C;YAC7C,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC,CAAC;YACvD,IACE,IAAI,CAAC,mBAAmB,GAAG,CAAC;gBAC5B,YAAY,GAAG,IAAI,CAAC,mBAAmB;gBACvC,CAAC,iBAAiB;gBAClB,IAAI,CAAC,mBAAmB;gBACxB,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EACnD,CAAC;gBACD,MAAM,CAAC,IAAI,CACT,0BAA0B,YAAY,uBAAuB,IAAI,CAAC,mBAAmB,gCAAgC,CACtH,CAAC;gBACF,iBAAiB,GAAG,IAAI,CAAC;gBACzB,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;oBAC3E,qEAAqE;oBACrE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;oBAClD,MAAM,CAAC,IAAI,CAAC,4CAA4C,QAAQ,CAAC,MAAM,4BAA4B,CAAC,CAAC;gBACvG,CAAC;gBAAC,OAAO,UAAU,EAAE,CAAC;oBACpB,wDAAwD;oBACxD,MAAM,CAAC,KAAK,CAAC,sEAAsE,EAAE,UAAU,CAAC,CAAC;gBACnG,CAAC;YACH,CAAC;YACD,2EAA2E;YAE3E,6CAA6C;YAC7C,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3D,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,kBAAkB,GAAG,mBAAmB,EAAE,CAAC;oBAClE,8EAA8E;oBAC9E,4DAA4D;oBAC5D,kBAAkB,EAAE,CAAC;oBACrB,MAAM,CAAC,IAAI,CACT,kDAAkD,kBAAkB,IAAI,mBAAmB,8BAA8B,CAC1H,CAAC;oBAEF,yEAAyE;oBACzE,IAAI,YAAoB,CAAC;oBACzB,IAAI,kBAAkB,IAAI,CAAC,EAAE,CAAC;wBAC5B,YAAY;4BACV,wEAAwE;gCACxE,yDAAyD;gCACzD,iEAAiE;gCACjE,+EAA+E,CAAC;oBACpF,CAAC;yBAAM,CAAC;wBACN,YAAY;4BACV,sBAAsB,kBAAkB,IAAI,mBAAmB,sEAAsE;gCACrI,2EAA2E;gCAC3E,iFAAiF;gCACjF,iFAAiF;gCACjF,0DAA0D;gCAC1D,mFAAmF,CAAC;oBACxF,CAAC;oBACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;oBACvD,SAAS;gBACX,CAAC;gBACD,YAAY,GAAG,QAAQ,CAAC,OAAO,IAAI,uBAAuB,CAAC;gBAC3D,MAAM;YACR,CAAC;YAED,qBAAqB;YACrB,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;gBAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACxC,IAAI,QAAQ,GAA4B,EAAE,CAAC;gBAC3C,IAAI,CAAC;oBACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACrD,CAAC;gBAAC,MAAM,CAAC;oBACP,iBAAiB;gBACnB,CAAC;gBAED,kEAAkE;gBAClE,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;oBAC7B,oBAAoB,EAAE,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACN,oBAAoB,GAAG,CAAC,CAAC;gBAC3B,CAAC;gBAED,kBAAkB;gBAClB,MAAM,OAAO,GAAG,GAAG,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1D,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1B,IAAI,WAAW,CAAC,MAAM,GAAG,mBAAmB;oBAAE,WAAW,CAAC,KAAK,EAAE,CAAC;gBAElE,IACE,WAAW,CAAC,MAAM,KAAK,mBAAmB;oBAC1C,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,EAC9C,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,4CAA4C,QAAQ,EAAE,CAAC,CAAC;oBACpE,QAAQ,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,2BAA2B,QAAQ,uKAAuK;qBACpN,CAAC,CAAC;oBACH,MAAM;gBACR,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;gBAC7C,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAEzB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;gBACzD,IAAI,UAAkB,CAAC;gBAEvB,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,UAAU,GAAG,wBAAwB,QAAQ,uBAAuB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjH,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC;wBACH,MAAM,GAAG,GAAoB;4BAC3B,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE;4BAC9C,GAAG,EAAE,IAAI,CAAC,GAAG;4BACb,KAAK,EAAE,IAAI,CAAC,KAAK;4BACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;4BACvB,eAAe,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ;gCACzC,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;oCACtB,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC;wCAC1B,YAAY,EAAE,IAAI,CAAC,YAAY;wCAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;wCACzB,aAAa,EAAE,IAAI,CAAC,aAAa;wCACjC,UAAU,EAAE,IAAI;wCAChB,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC;wCACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;qCACxB,CAAC,CAAC;oCACH,0DAA0D;oCAC1D,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;oCACrB,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,gBAAgB,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;oCAClE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oCACzC,OAAO,MAAM,CAAC,OAAO,CAAC;gCACxB,CAAC;gCACH,CAAC,CAAC,SAAS;yBACd,CAAC;wBACF,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;oBACjD,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,UAAU,GAAG,mBAAmB,QAAQ,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5F,CAAC;gBACH,CAAC;gBAED,4DAA4D;gBAC5D,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACxE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAE3B,yEAAyE;gBACzE,8EAA8E;gBAC9E,4EAA4E;gBAC5E,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;oBACjF,kBAAkB,GAAG,CAAC,CAAC;gBACzB,CAAC;gBAED,0EAA0E;gBAC1E,kFAAkF;gBAClF,yEAAyE;gBACzE,IAAI,oBAAoB,IAAI,qBAAqB,EAAE,CAAC;oBAClD,MAAM,CAAC,IAAI,CAAC,eAAe,oBAAoB,mEAAmE,CAAC,CAAC;oBACpH,oBAAoB,GAAG,CAAC,CAAC;oBACzB,QAAQ,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE,MAAM;wBACZ,OAAO,EACL,6BAA6B,qBAAqB,kDAAkD;4BACpG,uEAAuE;4BACvE,oGAAoG;4BACpG,8CAA8C;4BAC9C,6FAA6F;4BAC7F,4FAA4F;qBAC/F,CAAC,CAAC;oBACH,MAAM,CAAC,0EAA0E;gBACnF,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,YAAY,GAAG,mDAAmD,CAAC;QACrE,CAAC;QAED,sEAAsE;QACtE,MAAM,OAAO,GAAY,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;QAChE,MAAM,YAAY,GAAY,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QAC3E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAEzC,yEAAyE;QACzE,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CACrC,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,EAChC,IAAI,CAAC,YAAY,EACjB,MAAM,CACP,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;IAC1D,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,KAAK,CAAC,qBAAqB,CAAC,QAAmB,EAAE,YAAoB;QAC3E,uEAAuE;QACvE,MAAM,WAAW,GAAG,EAAE,CAAC;QAEvB,IAAI,QAAQ,CAAC,MAAM,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACvC,gCAAgC;YAChC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B;QACzD,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;QACpD,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;QAEvD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAC;QAEjD,oEAAoE;QACpE,MAAM,gBAAgB,GAAG,cAAc;aACpC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACxB,kFAAkF;gBAClF,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5F,OAAO,kBAAkB,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC3F,CAAC;YACD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;YAC9F,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC5F,OAAO,GAAG,IAAI,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACrF,CAAC,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2B3B,gBAAgB;;mFAEiE,CAAC;QAEhF,IAAI,cAAsB,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;gBACnD,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;gBACvD,WAAW,EAAE,GAAG;gBAChB,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YACH,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAClD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,+DAA+D;YAC/D,MAAM,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;YAC5F,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC1C,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACxB,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC5F,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACzC,OAAO,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,SAAS,gDAAgD,EAAE,CAAC;gBAC3F,CAAC;gBACD,OAAO,GAAG,CAAC;YACb,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,SAAS,EAAE,GAAG,QAAQ,EAAE,GAAG,cAAc,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,cAAc,GAAY;YAC9B,IAAI,EAAE,MAAM;YACZ,OAAO,EACL,wFAAwF;gBACxF,cAAc;gBACd,mDAAmD;SACtD,CAAC;QAEF,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,cAAc,CAAC,CAAC;IACxD,CAAC;IAED,gDAAgD;IAChD,KAAK,CAAC,OAAO;QACX,gEAAgE;QAChE,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,6EAA6E;IAE7E,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,aAAa;QAIX,wFAAwF;QACxF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,OAAO;YACL,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;oBACtB,IAAI,EAAE,YAAY;oBAClB,SAAS,EAAE,IAAI;oBACf,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,KAAK,CAAC,MAAM;iBACxB,CAAC;YACF,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;gBAChB,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;aACpF,CAAC;SACH,CAAC;IACJ,CAAC;IAED,4DAA4D;IAC5D,IAAI;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,sBAAsB;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,sBAAsB;QACpB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,IAAI,CAAC,IAAI,CAAC,mBAAmB;YAAE,OAAO,IAAI,CAAC;QAC3C,OAAO,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAC9C,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,EAChC,SAAS,EACT,IAAI,CAAC,YAAY,EACjB,MAAM,CACP,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,EAAU;QAC/B,IAAI,CAAC,IAAI,CAAC,mBAAmB;YAAE,OAAO;QACtC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACzE,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC;YACrC,yDAAyD;YACzD,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC;YACxD,IAAI,cAAc,IAAI,cAAc,KAAK,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,EAAE,CAAC;gBAC1E,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;oBACrD,yCAAyC;oBACzC,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBAC1C,IAAI,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC;wBACxB,IAAI,EAAE,cAAc;wBACpB,OAAO,EAAE,IAAI;qBACd,CAAC,CAAC;oBACH,MAAM,CAAC,IAAI,CAAC,sCAAsC,cAAc,EAAE,CAAC,CAAC;gBACtE,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,IAAI,CAAC,4CAA4C,cAAc,MAAM,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAClI,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,IAAI,CAAC,IAAI,CAAC,mBAAmB;YAAE,OAAO,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;IAED,kDAAkD;IAClD,MAAM,KAAK,SAAS;QAClB,OAAO,mBAAmB,CAAC;IAC7B,CAAC;CACF"}
@@ -22,6 +22,13 @@ export interface AgentChatResponse {
22
22
  }
23
23
  export interface IAgent {
24
24
  chat(message: string): Promise<AgentChatResponse>;
25
+ /**
26
+ * Cooperatively stop a running chat() call.
27
+ * The agent finishes its current model call / tool execution then exits the loop,
28
+ * returning a partial result with a "[Task stopped by user]" message.
29
+ * Safe to call from a SIGINT handler or an HTTP stop endpoint.
30
+ */
31
+ stop(): void;
25
32
  cleanup(): Promise<void>;
26
33
  getWorkspace(): WorkspaceManager;
27
34
  getMCPManager(): {
@@ -49,6 +56,7 @@ export interface IAgent {
49
56
  updated: string | number;
50
57
  messageCount: number;
51
58
  workspace?: string;
59
+ type?: string;
52
60
  }>>;
53
61
  }
54
62
  //# sourceMappingURL=agent-interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-interface.d.ts","sourceRoot":"","sources":["../../src/core/agent-interface.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,IAAI,CAAC,EAAE;QACL,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAClD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,YAAY,IAAI,gBAAgB,CAAC;IACjC,aAAa,IAAI;QACf,eAAe,IAAI,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,OAAO,CAAC;YAAC,OAAO,EAAE,OAAO,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACpG,SAAS,IAAI;YAAE,WAAW,IAAI,KAAK,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,WAAW,EAAE,MAAM,CAAA;aAAE,CAAC,CAAA;SAAE,CAAC;KAC9E,CAAC;IACF,iBAAiB,IAAI,IAAI,CAAC;IAC1B,sBAAsB,IAAI,OAAO,EAAE,CAAC;IACpC,sBAAsB,IAAI,mBAAmB,GAAG,IAAI,GAAG,SAAS,CAAC;IACjE,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC3C,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,iBAAiB,IAAI,OAAO,CAAC,KAAK,CAAC;QACjC,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;QACzB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC,CAAC;CACL"}
1
+ {"version":3,"file":"agent-interface.d.ts","sourceRoot":"","sources":["../../src/core/agent-interface.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,IAAI,CAAC,EAAE;QACL,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAClD;;;;;OAKG;IACH,IAAI,IAAI,IAAI,CAAC;IACb,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,YAAY,IAAI,gBAAgB,CAAC;IACjC,aAAa,IAAI;QACf,eAAe,IAAI,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,OAAO,CAAC;YAAC,OAAO,EAAE,OAAO,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACpG,SAAS,IAAI;YAAE,WAAW,IAAI,KAAK,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,WAAW,EAAE,MAAM,CAAA;aAAE,CAAC,CAAA;SAAE,CAAC;KAC9E,CAAC;IACF,iBAAiB,IAAI,IAAI,CAAC;IAC1B,sBAAsB,IAAI,OAAO,EAAE,CAAC;IACpC,sBAAsB,IAAI,mBAAmB,GAAG,IAAI,GAAG,SAAS,CAAC;IACjE,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC3C,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,iBAAiB,IAAI,OAAO,CAAC,KAAK,CAAC;QACjC,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;QACzB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC,CAAC,CAAC;CACL"}