@mcp-abap-adt/llm-agent-libs 19.2.0 → 20.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/dist/adapters/llm-adapter.d.ts.map +1 -1
  2. package/dist/adapters/llm-adapter.js +16 -7
  3. package/dist/adapters/llm-adapter.js.map +1 -1
  4. package/dist/agent/rag-helpers.d.ts +20 -0
  5. package/dist/agent/rag-helpers.d.ts.map +1 -0
  6. package/dist/agent/rag-helpers.js +61 -0
  7. package/dist/agent/rag-helpers.js.map +1 -0
  8. package/dist/agent/rag-orchestrator-types.d.ts +53 -0
  9. package/dist/agent/rag-orchestrator-types.d.ts.map +1 -0
  10. package/dist/agent/rag-orchestrator-types.js +2 -0
  11. package/dist/agent/rag-orchestrator-types.js.map +1 -0
  12. package/dist/agent/rag-orchestrator.d.ts +14 -0
  13. package/dist/agent/rag-orchestrator.d.ts.map +1 -0
  14. package/dist/agent/rag-orchestrator.js +352 -0
  15. package/dist/agent/rag-orchestrator.js.map +1 -0
  16. package/dist/agent.d.ts +11 -9
  17. package/dist/agent.d.ts.map +1 -1
  18. package/dist/agent.js +111 -818
  19. package/dist/agent.js.map +1 -1
  20. package/dist/builder-types.d.ts +64 -0
  21. package/dist/builder-types.d.ts.map +1 -0
  22. package/dist/builder-types.js +18 -0
  23. package/dist/builder-types.js.map +1 -0
  24. package/dist/builder.d.ts +23 -51
  25. package/dist/builder.d.ts.map +1 -1
  26. package/dist/builder.js +69 -224
  27. package/dist/builder.js.map +1 -1
  28. package/dist/coordinator/planning/one-shot.d.ts.map +1 -1
  29. package/dist/coordinator/planning/one-shot.js +13 -2
  30. package/dist/coordinator/planning/one-shot.js.map +1 -1
  31. package/dist/health/agent-health.d.ts +13 -0
  32. package/dist/health/agent-health.d.ts.map +1 -0
  33. package/dist/health/agent-health.js +82 -0
  34. package/dist/health/agent-health.js.map +1 -0
  35. package/dist/health/health-checker.d.ts.map +1 -1
  36. package/dist/health/health-checker.js +4 -4
  37. package/dist/health/health-checker.js.map +1 -1
  38. package/dist/interfaces/pipeline.d.ts +3 -1
  39. package/dist/interfaces/pipeline.d.ts.map +1 -1
  40. package/dist/mcp/tool-registry.d.ts +22 -0
  41. package/dist/mcp/tool-registry.d.ts.map +1 -0
  42. package/dist/mcp/tool-registry.js +57 -0
  43. package/dist/mcp/tool-registry.js.map +1 -0
  44. package/dist/mcp/vectorize-mcp-tools.d.ts +11 -0
  45. package/dist/mcp/vectorize-mcp-tools.d.ts.map +1 -0
  46. package/dist/mcp/vectorize-mcp-tools.js +191 -0
  47. package/dist/mcp/vectorize-mcp-tools.js.map +1 -0
  48. package/dist/pipeline/context.d.ts +3 -1
  49. package/dist/pipeline/context.d.ts.map +1 -1
  50. package/dist/pipeline/default-pipeline.d.ts.map +1 -1
  51. package/dist/pipeline/default-pipeline.js +1 -0
  52. package/dist/pipeline/default-pipeline.js.map +1 -1
  53. package/dist/pipeline/handlers/escalate-if-unavailable.d.ts +33 -0
  54. package/dist/pipeline/handlers/escalate-if-unavailable.d.ts.map +1 -0
  55. package/dist/pipeline/handlers/escalate-if-unavailable.js +22 -0
  56. package/dist/pipeline/handlers/escalate-if-unavailable.js.map +1 -0
  57. package/dist/pipeline/handlers/pass-through.d.ts +3 -0
  58. package/dist/pipeline/handlers/pass-through.d.ts.map +1 -0
  59. package/dist/pipeline/handlers/pass-through.js +77 -0
  60. package/dist/pipeline/handlers/pass-through.js.map +1 -0
  61. package/dist/pipeline/handlers/tool-loop-core.d.ts +92 -0
  62. package/dist/pipeline/handlers/tool-loop-core.d.ts.map +1 -0
  63. package/dist/pipeline/handlers/tool-loop-core.js +269 -0
  64. package/dist/pipeline/handlers/tool-loop-core.js.map +1 -0
  65. package/dist/pipeline/handlers/tool-loop.d.ts.map +1 -1
  66. package/dist/pipeline/handlers/tool-loop.js +67 -216
  67. package/dist/pipeline/handlers/tool-loop.js.map +1 -1
  68. package/dist/pipeline/pipeline-to-stream.d.ts +5 -0
  69. package/dist/pipeline/pipeline-to-stream.d.ts.map +1 -0
  70. package/dist/pipeline/pipeline-to-stream.js +49 -0
  71. package/dist/pipeline/pipeline-to-stream.js.map +1 -0
  72. package/dist/skills/plugin-host/github-transport.d.ts +35 -0
  73. package/dist/skills/plugin-host/github-transport.d.ts.map +1 -0
  74. package/dist/skills/plugin-host/github-transport.js +124 -0
  75. package/dist/skills/plugin-host/github-transport.js.map +1 -0
  76. package/dist/skills/plugin-host/index.d.ts +1 -0
  77. package/dist/skills/plugin-host/index.d.ts.map +1 -1
  78. package/dist/skills/plugin-host/index.js +1 -0
  79. package/dist/skills/plugin-host/index.js.map +1 -1
  80. package/package.json +14 -14
@@ -26,7 +26,7 @@
26
26
  import { externalToolCallId, getStreamToolCallName, toToolCallDelta, } from '@mcp-abap-adt/llm-agent';
27
27
  import { OrchestratorError } from '../../agent.js';
28
28
  import { fireInternalToolsAsync } from '../../policy/mixed-tool-call-handler.js';
29
- import { isToolContextUnavailableError } from '../../policy/tool-availability-registry.js';
29
+ import { buildBlockedToolMessages, buildHallucinatedToolMessages, classifyToolCalls, executeToolBatchWithHeartbeat, filterAvailableTools, injectPendingResults, injectToolPriority, runOutputValidationReprompt, } from './tool-loop-core.js';
30
30
  function summarizeIterationMessages(messages) {
31
31
  const totalChars = messages.reduce((sum, msg) => {
32
32
  const content = typeof msg.content === 'string'
@@ -87,36 +87,8 @@ export class ToolLoopHandler {
87
87
  const timingLog = [];
88
88
  const loopStart = Date.now();
89
89
  let currentTools = ctx.activeTools;
90
- // Inject tool priority instruction when external tools are present
91
- if (externalTools.length > 0) {
92
- const systemIdx = messages.findIndex((m) => m.role === 'system');
93
- if (systemIdx >= 0) {
94
- const sys = messages[systemIdx];
95
- messages = [...messages];
96
- messages[systemIdx] = {
97
- ...sys,
98
- content: `${sys.content}\n\nIMPORTANT: You have internal tools and client-provided tools (marked [client-provided] in their description). Always prefer internal tools when they can accomplish the task. Use client-provided tools only when no internal tool can do the job.`,
99
- };
100
- }
101
- }
102
- // Inject pending internal tool results from previous mixed-call request
103
- if (ctx.pendingToolResults.has(ctx.sessionId)) {
104
- const pending = await ctx.pendingToolResults.consume(ctx.sessionId);
105
- if (pending) {
106
- messages = [
107
- ...messages,
108
- pending.assistantMessage,
109
- ...pending.results.map((r) => ({
110
- role: 'tool',
111
- content: r.text,
112
- tool_call_id: r.toolCallId,
113
- })),
114
- ];
115
- ctx.options?.sessionLogger?.logStep('pending_tool_results_injected', {
116
- toolNames: pending.results.map((r) => r.toolName),
117
- });
118
- }
119
- }
90
+ messages = injectToolPriority(messages, externalTools);
91
+ messages = await injectPendingResults(messages, ctx.pendingToolResults, ctx.sessionId, ctx.options);
120
92
  for (let iteration = 0;; iteration++) {
121
93
  if (ctx.options?.signal?.aborted) {
122
94
  ctx.yield({
@@ -280,11 +252,7 @@ export class ToolLoopHandler {
280
252
  }
281
253
  }
282
254
  // Filter tools per iteration
283
- const filteredForIteration = ctx.toolAvailabilityRegistry.filterTools(ctx.sessionId, currentTools);
284
- currentTools = filteredForIteration.allowed;
285
- if (filteredForIteration.blocked.length > 0) {
286
- ctx.options?.sessionLogger?.logStep('active_tools_filtered_in_iteration', { iteration: iteration + 1, blocked: filteredForIteration.blocked });
287
- }
255
+ currentTools = filterAvailableTools(ctx.toolAvailabilityRegistry, ctx.sessionId, currentTools, iteration, ctx.options);
288
256
  let iterPromptTokens = 0;
289
257
  let iterCompletionTokens = 0;
290
258
  let iterTotalTokens = 0;
@@ -445,17 +413,9 @@ export class ToolLoopHandler {
445
413
  ctx.options?.sessionLogger?.logStep(`llm_response_iter_${iteration + 1}`, { content, toolCalls, finishReason });
446
414
  // -- No tool calls: validate and finish --------------------------------
447
415
  if (finishReason !== 'tool_calls' || toolCalls.length === 0) {
448
- const valResult = await ctx.outputValidator.validate(content, { messages, tools: currentTools }, ctx.options);
449
- if (valResult.ok && !valResult.value.valid) {
450
- const correction = valResult.value.correctedContent ?? valResult.value.reason;
451
- messages = [
452
- ...messages,
453
- { role: 'assistant', content },
454
- {
455
- role: 'user',
456
- content: `Your previous response was rejected by validation: ${correction}. Please try again.`,
457
- },
458
- ];
416
+ const val = await runOutputValidationReprompt(ctx.outputValidator, content, messages, currentTools, ctx.options);
417
+ if (val.reprompt) {
418
+ messages = val.messages;
459
419
  continue;
460
420
  }
461
421
  const summary = ctx.requestLogger.getSummary();
@@ -485,72 +445,15 @@ export class ToolLoopHandler {
485
445
  return true;
486
446
  }
487
447
  // -- Classify tool calls -----------------------------------------------
488
- const internalCalls = toolCalls.filter((tc) => ctx.toolClientMap.has(tc.name));
489
- const validExternalCalls = toolCalls.filter((tc) => externalToolNames.has(tc.name));
490
- const blockedToolNames = ctx.toolAvailabilityRegistry.getBlockedToolNames(ctx.sessionId);
491
- const blockedCalls = toolCalls.filter((tc) => blockedToolNames.has(tc.name));
492
- const hallucinations = toolCalls.filter((tc) => !blockedToolNames.has(tc.name) &&
493
- !ctx.toolClientMap.has(tc.name) &&
494
- !externalToolNames.has(tc.name));
448
+ const { internalCalls, validExternalCalls, blockedCalls, hallucinations, } = classifyToolCalls(toolCalls, ctx.toolClientMap, externalToolNames, ctx.toolAvailabilityRegistry, ctx.sessionId);
495
449
  // -- Handle blocked tools ----------------------------------------------
496
450
  if (blockedCalls.length > 0) {
497
- messages = [
498
- ...messages,
499
- {
500
- role: 'assistant',
501
- content: content || null,
502
- tool_calls: blockedCalls.map((tc) => ({
503
- id: tc.id,
504
- type: 'function',
505
- function: {
506
- name: tc.name,
507
- arguments: JSON.stringify(tc.arguments),
508
- },
509
- })),
510
- },
511
- ];
512
- for (const blocked of blockedCalls) {
513
- messages = [
514
- ...messages,
515
- {
516
- role: 'tool',
517
- content: `Error: Tool "${blocked.name}" is temporarily unavailable in this session.`,
518
- tool_call_id: blocked.id,
519
- },
520
- ];
521
- }
522
- ctx.options?.sessionLogger?.logStep('blocked_tool_calls_intercepted', {
523
- toolNames: blockedCalls.map((tc) => tc.name),
524
- });
451
+ messages = buildBlockedToolMessages(messages, content, blockedCalls, ctx.options);
525
452
  continue;
526
453
  }
527
454
  // -- Handle hallucinated tools -----------------------------------------
528
455
  if (hallucinations.length > 0) {
529
- messages = [
530
- ...messages,
531
- {
532
- role: 'assistant',
533
- content: content || null,
534
- tool_calls: toolCalls.map((tc) => ({
535
- id: tc.id,
536
- type: 'function',
537
- function: {
538
- name: tc.name,
539
- arguments: JSON.stringify(tc.arguments),
540
- },
541
- })),
542
- },
543
- ];
544
- for (const h of hallucinations) {
545
- messages = [
546
- ...messages,
547
- {
548
- role: 'tool',
549
- content: `Error: Tool "${h.name}" not found.`,
550
- tool_call_id: h.id,
551
- },
552
- ];
553
- }
456
+ messages = buildHallucinatedToolMessages(messages, content, toolCalls, hallucinations);
554
457
  continue;
555
458
  }
556
459
  // -- Handle external (client-provided) tool calls (spec D1) ------------
@@ -701,120 +604,68 @@ export class ToolLoopHandler {
701
604
  },
702
605
  });
703
606
  }
704
- const toolExecPromises = batch.map(async (tc) => {
705
- const toolStart = Date.now();
706
- ctx.options?.sessionLogger?.logStep(`mcp_call_${tc.name}`, {
707
- arguments: tc.arguments,
708
- });
709
- const client = ctx.toolClientMap.get(tc.name);
710
- if (!client)
711
- return { tc, text: '', res: null, duration: 0, cached: false };
712
- const toolSpan = ctx.tracer.startSpan('smart_agent.tool_call', {
713
- parent: parentSpan,
714
- attributes: { 'tool.name': tc.name },
715
- });
716
- const cachedValue = ctx.toolCache.get(tc.name, tc.arguments);
717
- const wasCached = !!cachedValue;
718
- const res = cachedValue
719
- ? (() => {
720
- ctx.metrics.toolCacheHitCount.add();
721
- toolSpan.setAttribute('cache', 'hit');
722
- return { ok: true, value: cachedValue };
723
- })()
724
- : await (async () => {
725
- const r = await client.callTool(tc.name, tc.arguments, ctx.options);
726
- if (r.ok)
727
- ctx.toolCache.set(tc.name, tc.arguments, r.value);
728
- return r;
729
- })();
730
- const text = !res.ok
731
- ? res.error.message
732
- : typeof res.value.content === 'string'
733
- ? res.value.content
734
- : JSON.stringify(res.value.content);
735
- toolSpan.setStatus(res.ok ? 'ok' : 'error', res.ok ? undefined : text);
736
- toolSpan.end();
737
- return {
738
- tc,
739
- text,
740
- res,
741
- duration: Date.now() - toolStart,
742
- cached: wasCached,
743
- };
744
- });
745
- // Race: tool execution vs periodic heartbeat
746
- const allDone = Promise.all(toolExecPromises);
747
- const pendingTools = new Set(batch.map((tc) => tc.name));
748
- const toolStartTime = Date.now();
749
- let results = [];
750
- let settled = false;
751
- for (const [i, p] of toolExecPromises.entries()) {
752
- p.then(() => pendingTools.delete(batch[i].name));
753
- }
754
- while (!settled) {
755
- const winner = await Promise.race([
756
- allDone.then((r) => ({ tag: 'done', results: r })),
757
- new Promise((resolve) => setTimeout(() => resolve({ tag: 'tick' }), heartbeatMs)),
758
- ]);
759
- if (winner.tag === 'done') {
760
- results = winner.results;
761
- settled = true;
762
- }
763
- else {
764
- for (const tool of pendingTools) {
765
- ctx.yield({
766
- ok: true,
767
- value: {
768
- content: '',
769
- heartbeat: { tool, elapsed: Date.now() - toolStartTime },
770
- },
771
- });
772
- }
773
- }
774
- }
775
- // Collect timing
776
- for (const r of results) {
777
- timingLog.push({ phase: `tool_${r.tc.name}`, duration: r.duration });
778
- }
779
- // Process results
780
- const toolMessages = [];
781
- for (const r of results) {
782
- const { tc, text, res } = r;
783
- if (!res)
784
- continue;
785
- if (!res.ok &&
786
- isToolContextUnavailableError(text) &&
787
- !externalToolNames.has(tc.name)) {
788
- const entry = ctx.toolAvailabilityRegistry.block(ctx.sessionId, tc.name, text);
789
- currentTools = currentTools.filter((t) => t.name !== tc.name);
790
- ctx.options?.sessionLogger?.logStep(`tool_blacklisted_${tc.name}`, {
791
- reason: text,
792
- blockedUntil: entry.blockedUntil,
793
- });
794
- }
795
- ctx.options?.sessionLogger?.logStep(`mcp_result_${tc.name}`, {
796
- result: text,
797
- });
798
- toolCallCount++;
799
- ctx.metrics.toolCallCount.add();
800
- toolMessages.push({
801
- role: 'tool',
802
- content: text,
803
- tool_call_id: tc.id,
804
- });
805
- ctx.requestLogger.logToolCall({
607
+ // Execute tool calls concurrently with heartbeat (shared core).
608
+ const batchGen = executeToolBatchWithHeartbeat({
609
+ batch,
610
+ toolClientMap: ctx.toolClientMap,
611
+ toolCache: ctx.toolCache,
612
+ tracer: ctx.tracer,
613
+ metrics: ctx.metrics,
614
+ parentSpan,
615
+ toolAvailabilityRegistry: ctx.toolAvailabilityRegistry,
616
+ sessionId: ctx.sessionId,
617
+ externalToolNames,
618
+ currentTools,
619
+ toolCallCount,
620
+ timingLog,
621
+ heartbeatMs,
622
+ options: ctx.options,
623
+ mcpFailureClassifier: ctx.mcpFailureClassifier,
624
+ onToolExecuted: (r) => {
806
625
  // Stamp requestId so tool executions land in the per-traceId delta
807
626
  // bucket — without it, `getSummary(traceId).toolCalls` stays 0 even
808
627
  // when the request actually ran tools (only the session-cumulative
809
628
  // counter would tick).
810
- requestId: ctx.options?.trace?.traceId,
811
- toolName: tc.name,
812
- success: !!res?.ok,
813
- durationMs: r.duration,
814
- cached: r.cached,
815
- });
629
+ const traceId = ctx.options?.trace?.traceId ?? 'tool-loop';
630
+ const isError = !r.res?.ok || (r.res.ok && !!r.res.value.isError);
631
+ ctx.requestLogger.logToolCall({
632
+ requestId: traceId,
633
+ toolName: r.tc.name,
634
+ success: !!r.res?.ok,
635
+ durationMs: r.duration,
636
+ cached: r.cached,
637
+ });
638
+ // Structured timing event — consumed by server logger; verbosity
639
+ // is the logger implementation's concern (satisfies run-mode gate).
640
+ ctx.logger?.log({
641
+ type: 'tool_call',
642
+ traceId,
643
+ toolName: r.tc.name,
644
+ isError,
645
+ durationMs: r.duration,
646
+ });
647
+ // Per-session debug channel — lands in session artifacts alongside
648
+ // coordinator_step_* entries. Include resolved timeout when available
649
+ // so a durationMs ≈ timeoutMs clearly flags which tool to bump via
650
+ // toolTimeouts config.
651
+ ctx.options?.sessionLogger?.logStep('mcp_tool_call', {
652
+ toolName: r.tc.name,
653
+ durationMs: r.duration,
654
+ isError,
655
+ });
656
+ },
657
+ });
658
+ let step = await batchGen.next();
659
+ while (!step.done) {
660
+ ctx.yield(step.value);
661
+ step = await batchGen.next();
816
662
  }
817
- messages = [...messages, ...toolMessages];
663
+ const outcome = step.value;
664
+ if (outcome.escalated)
665
+ return false;
666
+ currentTools = outcome.currentTools;
667
+ toolCallCount = outcome.toolCallCount;
668
+ messages = [...messages, ...outcome.toolMessages];
818
669
  }
819
670
  }
820
671
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tool-loop.js","sourceRoot":"","sources":["../../../src/pipeline/handlers/tool-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AASH,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAK3F,SAAS,0BAA0B,CACjC,QAAmB;IAEnB,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC9C,MAAM,OAAO,GACX,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;YAC7B,CAAC,CAAC,GAAG,CAAC,OAAO;YACb,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACxC,OAAO,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,CAAC,EAAE,CAAC,CAAC,CAAC;IAEN,OAAO;QACL,YAAY,EAAE,QAAQ,CAAC,MAAM;QAC7B,UAAU;QACV,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACnC,KAAK;YACL,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,aAAa,EACX,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;gBAC7B,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM;gBACpB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM;YAC9C,YAAY,EAAE,YAAY,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;YAClE,aAAa,EACX,YAAY,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;gBAClD,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM;gBACvB,CAAC,CAAC,CAAC;YACP,UAAU,EAAE,cAAc,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;SACtE,CAAC,CAAC;QACH,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAC1C,MAAM,OAAO,GACX,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;gBAC7B,CAAC,CAAC,GAAG,CAAC,OAAO;gBACb,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YACxC,OAAO;gBACL,KAAK,EAAE,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,KAAK;gBAC7D,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EACL,OAAO,CAAC,MAAM,GAAG,GAAG;oBAClB,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,gBAAgB;oBAC1C,CAAC,CAAC,OAAO;gBACb,YAAY,EAAE,YAAY,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;gBAClE,aAAa,EACX,YAAY,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;oBAClD,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC;oBACrD,CAAC,CAAC,EAAE;gBACR,UAAU,EAAE,cAAc,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;aACtE,CAAC;QACJ,CAAC,CAAC;KACH,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,eAAe;IAC1B,KAAK,CAAC,OAAO,CACX,GAAoB,EACpB,MAA+B,EAC/B,UAAiB;QAEjB,MAAM,aAAa,GAChB,MAAM,CAAC,aAAwB,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC;QAC/D,MAAM,YAAY,GACf,MAAM,CAAC,YAAuB,IAAI,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC;QAC7D,MAAM,WAAW,GACd,MAAM,CAAC,mBAA8B;YACtC,GAAG,CAAC,MAAM,CAAC,mBAAmB;YAC9B,IAAI,CAAC;QAEP,0EAA0E;QAC1E,wEAAwE;QACxE,wEAAwE;QACxE,mDAAmD;QACnD,MAAM,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC;QACxC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAEpE,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,QAAQ,GAAG,GAAG,CAAC,iBAAiB,CAAC;QACrC,MAAM,KAAK,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QACvE,MAAM,SAAS,GAAkB,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,YAAY,GAAc,GAAG,CAAC,WAAW,CAAC;QAE9C,mEAAmE;QACnE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YACjE,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;gBACnB,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAChC,QAAQ,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;gBACzB,QAAQ,CAAC,SAAS,CAAC,GAAG;oBACpB,GAAG,GAAG;oBACN,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,wPAAwP;iBAChR,CAAC;YACJ,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,IAAI,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpE,IAAI,OAAO,EAAE,CAAC;gBACZ,QAAQ,GAAG;oBACT,GAAG,QAAQ;oBACX,OAAO,CAAC,gBAAgB;oBACxB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBAC7B,IAAI,EAAE,MAAe;wBACrB,OAAO,EAAE,CAAC,CAAC,IAAI;wBACf,YAAY,EAAE,CAAC,CAAC,UAAU;qBAC3B,CAAC,CAAC;iBACJ,CAAC;gBACF,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,+BAA+B,EAAE;oBACnE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAClD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,KAAK,IAAI,SAAS,GAAG,CAAC,GAAI,SAAS,EAAE,EAAE,CAAC;YACtC,IAAI,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;gBACjC,GAAG,CAAC,KAAK,CAAC;oBACR,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,IAAI,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC;iBACnD,CAAC,CAAC;gBACH,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,SAAS,IAAI,aAAa,EAAE,CAAC;gBAC/B,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;gBACrE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;gBAC9B,GAAG,CAAC,KAAK,CAAC;oBACR,EAAE,EAAE,IAAI;oBACR,KAAK,EAAE;wBACL,OAAO,EAAE,EAAE;wBACX,YAAY,EAAE,QAAQ;wBACtB,KAAK,EAAE;4BACL,GAAG,KAAK;4BACR,MAAM,EAAE,GAAG,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,OAAO;4BAC9C,UAAU,EAAE,GAAG,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,WAAW;yBACvD;wBACD,MAAM,EAAE,SAAS;qBAClB;iBACF,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;YACd,CAAC;YAED,qDAAqD;YACrD,MAAM,iBAAiB,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;YAC5C,IAAI,SAAS,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,wBAAwB,KAAK,KAAK,EAAE,CAAC;gBACnE,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,2BAA2B,EAAE;oBACpE,MAAM,EAAE,UAAU;oBAClB,UAAU,EAAE,EAAE,eAAe,EAAE,SAAS,GAAG,CAAC,EAAE;iBAC/C,CAAC,CAAC;gBACH,MAAM,SAAS,GAAG,CAAC,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;gBAChD,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;gBAC1B,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;gBACxB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;oBACpC,MAAM;oBACN,MAAM,EAAE,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;iBAC5C,CAAC,CAAC,CACJ,CAAC;gBACF,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;wBAC1D,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;4BACzC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gCACnC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gCAClD,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;4BACvB,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,YAAY,GAAG,CAAC,GAAI,GAAG,CAAC,QAAsB,EAAE,GAAG,aAAa,CAAC,CAAC;gBAClE,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,iBAAiB,EAAE;oBACrD,SAAS,EAAE,SAAS,GAAG,CAAC;oBACxB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;iBACzC,CAAC,CAAC;gBACH,WAAW,CAAC,GAAG,EAAE,CAAC;YACpB,CAAC;YAED,qDAAqD;YACrD,IACE,SAAS,GAAG,CAAC;gBACb,GAAG,CAAC,MAAM,CAAC,wBAAwB;gBACnC,GAAG,CAAC,SAAS,EAAE,KAAK,EACpB,CAAC;gBACD,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,2BAA2B,EAAE;oBACrE,MAAM,EAAE,UAAU;oBAClB,UAAU,EAAE,EAAE,eAAe,EAAE,SAAS,GAAG,CAAC,EAAE;iBAC/C,CAAC,CAAC;gBAEH,IAAI,CAAC;oBACH,0BAA0B;oBAC1B,MAAM,aAAa,GAAG,CAAC,GAAG,QAAQ,CAAC;yBAChC,OAAO,EAAE;yBACT,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;oBACvC,MAAM,aAAa,GAAa,EAAE,CAAC;oBACnC,IAAI,aAAa,IAAI,YAAY,IAAI,aAAa,EAAE,CAAC;wBACnD,MAAM,GAAG,GAAG,aAAa,CAAC,UAAU,CAAC;wBACrC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;4BACvB,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;gCACrB,MAAM,IAAI,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC;gCACtC,IAAI,IAAI;oCAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BACrC,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,uEAAuE;oBACvE,MAAM,gBAAgB,GAAG;wBACvB,QAAQ;wBACR,MAAM;wBACN,KAAK;wBACL,MAAM;wBACN,UAAU;qBACX,CAAC;oBACF,MAAM,WAAW,GACf,aAAa,CAAC,MAAM,GAAG,CAAC;wBACxB,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CACxB,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAC9C,CAAC;oBAEJ,IAAI,WAAW,EAAE,CAAC;wBAChB,uEAAuE;wBACvE,+CAA+C;wBAC/C,YAAY,GAAG,iBAAiB,CAAC;oBACnC,CAAC;yBAAM,CAAC;wBACN,sDAAsD;wBACtD,MAAM,WAAW,GAAG,CAAC,GAAG,QAAQ,CAAC;6BAC9B,OAAO,EAAE;6BACT,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;wBAClC,MAAM,UAAU,GACd,OAAO,WAAW,EAAE,OAAO,KAAK,QAAQ;4BACtC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;4BACnC,CAAC,CAAC,EAAE,CAAC;wBACT,MAAM,OAAO,GACX,UAAU,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;4BAC1C,UAAU,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;4BAClD,UAAU,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;wBAE9C,IAAI,aAAqB,CAAC;wBAC1B,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;4BACxC,MAAM,WAAW,GAAG,aAAa;iCAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;iCACrC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;iCAC1C,IAAI,CAAC,IAAI,CAAC,CAAC;4BACd,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;4BACzD,aAAa,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,KAAK,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;wBAC5H,CAAC;6BAAM,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACpC,aAAa,GAAG,SAAS,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,UAAU,KAAK,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;wBACrG,CAAC;6BAAM,CAAC;4BACN,aAAa,GAAG,GAAG,CAAC,SAAS,CAAC;wBAChC,CAAC;wBAED,kBAAkB;wBAClB,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CACxD,yBAAyB,CAC1B,CAAC;wBACF,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ;4BAC5B,CAAC,CAAC,IAAI,cAAc,CAAC,aAAa,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;4BAC9D,CAAC,CAAC,IAAI,iBAAiB,CAAC,aAAa,CAAC,CAAC;wBAEzC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;wBACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBAC5B,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAC/C,SAAS,EACT,IAAI,EACJ,GAAG,CAAC,OAAO,CACZ,CAAC;wBACF,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC;4BAC5B,KAAK,EAAE,OAAO;4BACd,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;4BAClC,WAAW,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;4BACtD,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ;yBAClC,CAAC,CAAC;wBAEH,IAAI,SAAS,CAAC,EAAE,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC/C,MAAM,YAAY,GAAG,IAAI,GAAG,CAC1B,SAAS,CAAC,KAAK;iCACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,QAAQ,EAAE,EAAa,IAAI,EAAE,CAAC;iCAC5C,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;iCACtC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAChD,CAAC;4BAEF,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gCAC1B,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5C,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CACzB,CAAC;gCACF,YAAY,GAAG;oCACb,GAAI,WAAyB;oCAC7B,GAAG,aAAa;iCACjB,CAAC;gCAEF,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,kBAAkB,EAAE;oCACtD,SAAS,EAAE,SAAS,GAAG,CAAC;oCACxB,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;oCAClC,aAAa,EAAE,aAAa;oCAC5B,QAAQ,EAAE,CAAC,GAAG,YAAY,CAAC;iCAC5B,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;wBAAS,CAAC;oBACT,YAAY,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC;YACH,CAAC;YAED,6BAA6B;YAC7B,MAAM,oBAAoB,GAAG,GAAG,CAAC,wBAAwB,CAAC,WAAW,CACnE,GAAG,CAAC,SAAS,EACb,YAAY,CACb,CAAC;YACF,YAAY,GAAG,oBAAoB,CAAC,OAAO,CAAC;YAC5C,IAAI,oBAAoB,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CACjC,oCAAoC,EACpC,EAAE,SAAS,EAAE,SAAS,GAAG,CAAC,EAAE,OAAO,EAAE,oBAAoB,CAAC,OAAO,EAAE,CACpE,CAAC;YACJ,CAAC;YAED,IAAI,gBAAgB,GAAG,CAAC,CAAC;YACzB,IAAI,oBAAoB,GAAG,CAAC,CAAC;YAC7B,IAAI,eAAe,GAAG,CAAC,CAAC;YAExB,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,oBAAoB,SAAS,GAAG,CAAC,EAAE,EAAE;gBACvE,QAAQ;gBACR,KAAK,EAAE,YAAY;aACpB,CAAC,CAAC;YACH,MAAM,uBAAuB,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;YACrE,MAAM,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CACtC,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAC,IAAI,KAAK,MAAM;gBACnB,CAAC,YAAY,IAAI,GAAG;oBAClB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;oBAC7B,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAC/B,CAAC;YACF,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,kCAAkC,EAAE;gBACtE,SAAS,EAAE,SAAS,GAAG,CAAC;gBACxB,SAAS,EAAE,YAAY,CAAC,MAAM;gBAC9B,kBAAkB;gBAClB,OAAO,EAAE,uBAAuB;aACjC,CAAC,CAAC;YACH,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC;gBACd,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,WAAW;gBACnD,OAAO,EAAE,uBAAuB,SAAS,GAAG,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAC7E;oBACE,SAAS,EAAE,SAAS,GAAG,CAAC;oBACxB,SAAS,EAAE,YAAY,CAAC,MAAM;oBAC9B,kBAAkB;oBAClB,OAAO,EAAE,uBAAuB;iBACjC,CACF,EAAE;aACJ,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,sBAAsB,EAAE;gBAC3D,MAAM,EAAE,UAAU;gBAClB,UAAU,EAAE,EAAE,eAAe,EAAE,SAAS,GAAG,CAAC,EAAE;aAC/C,CAAC,CAAC;YACH,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;YAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAEhC,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,IAAI,YAAyC,CAAC;YAC9C,MAAM,YAAY,GAAG,IAAI,GAAG,EAGzB,CAAC;YACJ,iEAAiE;YACjE,uEAAuE;YACvE,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;YAE9C,+EAA+E;YAC/E,MAAM,SAAS,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CACxC,GAAG,CAAC,OAAO,EACX,QAAQ,EACR,YAAY,EACZ,GAAG,CAAC,OAAO,CACZ,CAAC;YAEF,IAAI,KAAK,EAAE,MAAM,WAAW,IAAI,SAAS,EAAE,CAAC;gBAC1C,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;oBACpB,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBACtD,OAAO,CAAC,GAAG,EAAE,CAAC;oBACd,GAAG,CAAC,KAAK,CAAC;wBACR,EAAE,EAAE,KAAK;wBACT,KAAK,EAAE,IAAI,iBAAiB,CAC1B,WAAW,CAAC,KAAK,CAAC,OAAO,EACzB,WAAW,CACZ;qBACF,CAAC,CAAC;oBACH,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;gBAChC,gEAAgE;gBAChE,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAChB,OAAO,GAAG,EAAE,CAAC;oBACb,YAAY,CAAC,KAAK,EAAE,CAAC;oBACrB,mBAAmB,CAAC,KAAK,EAAE,CAAC;oBAC5B,YAAY,GAAG,SAAS,CAAC;oBACzB,gBAAgB,GAAG,CAAC,CAAC;oBACrB,oBAAoB,GAAG,CAAC,CAAC;oBACzB,eAAe,GAAG,CAAC,CAAC;oBACpB,SAAS;gBACX,CAAC;gBACD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAClB,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;oBACzB,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;oBAC3D,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;wBAClB,GAAG,CAAC,SAAS,CAAC;4BACZ,IAAI,EAAE,SAAS;4BACf,KAAK,EAAE,KAAK,CAAC,OAAO;4BACpB,SAAS,EAAE,KAAK,CAAC,SAAS;yBAC3B,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;oBACpB,mEAAmE;oBACnE,oEAAoE;oBACpE,uEAAuE;oBACvE,oEAAoE;oBACpE,oEAAoE;oBACpE,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;wBACjC,MAAM,IAAI,GAAG,qBAAqB,CAAC,EAAE,CAAC,CAAC;wBACvC,IAAI,IAAI,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;4BACxC,MAAM,KAAK,GAAG,eAAe,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;4BACrC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACvC,CAAC;oBACH,CAAC;oBACD,KAAK,MAAM,CACT,aAAa,EACb,WAAW,EACZ,IAAI,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;wBAC/B,MAAM,EAAE,GAAG,eAAe,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;wBACvD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;4BAChC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE;gCACzB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE;gCACf,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE;gCACnB,SAAS,EAAE,EAAE,CAAC,SAAS,IAAI,EAAE;6BAC9B,CAAC,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACN,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;4BACtC,IAAI,EAAE,EAAE,CAAC;gCACP,IAAI,EAAE,CAAC,EAAE;oCAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;gCACzB,IAAI,EAAE,CAAC,IAAI;oCAAE,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;gCAC/B,IAAI,EAAE,CAAC,SAAS;oCAAE,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,CAAC;4BACjD,CAAC;wBACH,CAAC;wBACD,IAAI,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;4BAC7B,GAAG,CAAC,SAAS,CAAC;gCACZ,IAAI,EAAE,UAAU;gCAChB,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;gCAC5C,IAAI,EAAE,EAAE,CAAC,IAAI;gCACb,IAAI,EAAE,EAAE,CAAC,SAAS;6BACnB,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,IAAI,KAAK,CAAC,YAAY;oBAAE,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;gBAC1D,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAChB,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC;oBAC/C,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC;oBACvD,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC;oBAC7C,gBAAgB,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC;oBAC7C,oBAAoB,IAAI,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC;oBACrD,eAAe,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC;oBAC3C,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;YAED,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC;YAClD,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YACnD,SAAS,CAAC,IAAI,CAAC;gBACb,KAAK,EAAE,YAAY,SAAS,GAAG,CAAC,EAAE;gBAClC,QAAQ,EAAE,eAAe;aAC1B,CAAC,CAAC;YAEH,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC;gBAC3B,SAAS,EAAE,WAAW;gBACtB,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,SAAS;gBACrC,YAAY,EAAE,gBAAgB;gBAC9B,gBAAgB,EAAE,oBAAoB;gBACtC,WAAW,EAAE,eAAe;gBAC5B,UAAU,EAAE,eAAe;gBAC3B,SAAS,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO;aACvC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC7D,IAAI,IAAI,GAA4B,EAAE,CAAC;gBACvC,IAAI,CAAC;oBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;gBAClC,CAAC;gBAAC,MAAM,CAAC;oBACP,IAAI,GAAG,EAAE,CAAC;gBACZ,CAAC;gBACD,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YACvD,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CACjC,qBAAqB,SAAS,GAAG,CAAC,EAAE,EACpC,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CACrC,CAAC;YAEF,yEAAyE;YACzE,IAAI,YAAY,KAAK,YAAY,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5D,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,QAAQ,CAClD,OAAO,EACP,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,EACjC,GAAG,CAAC,OAAO,CACZ,CAAC;gBACF,IAAI,SAAS,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;oBAC3C,MAAM,UAAU,GACd,SAAS,CAAC,KAAK,CAAC,gBAAgB,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;oBAC7D,QAAQ,GAAG;wBACT,GAAG,QAAQ;wBACX,EAAE,IAAI,EAAE,WAAoB,EAAE,OAAO,EAAE;wBACvC;4BACE,IAAI,EAAE,MAAe;4BACrB,OAAO,EAAE,sDAAsD,UAAU,qBAAqB;yBAC/F;qBACF,CAAC;oBACF,SAAS;gBACX,CAAC;gBACD,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;gBAC/C,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,gBAAgB,EAAE;oBACpD,OAAO;oBACP,KAAK;oBACL,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,UAAU,EAAE,OAAO,CAAC,UAAU;iBAC/B,CAAC,CAAC;gBACH,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;gBACrE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;gBAE9B,GAAG,CAAC,KAAK,CAAC;oBACR,EAAE,EAAE,IAAI;oBACR,KAAK,EAAE;wBACL,OAAO,EAAE,EAAE;wBACX,YAAY,EAAE,YAAY,IAAI,MAAM;wBACpC,KAAK,EAAE;4BACL,GAAG,KAAK;4BACR,MAAM,EAAE,GAAG,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,OAAO;4BAC9C,UAAU,EAAE,GAAG,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,WAAW;4BACtD,UAAU,EAAE,GAAG,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,UAAU;yBACtD;wBACD,MAAM,EAAE,SAAS;qBAClB;iBACF,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;YACd,CAAC;YAED,yEAAyE;YACzE,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAC5C,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAC/B,CAAC;YACF,MAAM,kBAAkB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CACjD,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAC/B,CAAC;YACF,MAAM,gBAAgB,GAAG,GAAG,CAAC,wBAAwB,CAAC,mBAAmB,CACvE,GAAG,CAAC,SAAS,CACd,CAAC;YACF,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAC3C,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAC9B,CAAC;YACF,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CACrC,CAAC,EAAE,EAAE,EAAE,CACL,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;gBAC9B,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;gBAC/B,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAClC,CAAC;YAEF,yEAAyE;YACzE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,QAAQ,GAAG;oBACT,GAAG,QAAQ;oBACX;wBACE,IAAI,EAAE,WAAoB;wBAC1B,OAAO,EAAE,OAAO,IAAI,IAAI;wBACxB,UAAU,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;4BACpC,EAAE,EAAE,EAAE,CAAC,EAAE;4BACT,IAAI,EAAE,UAAmB;4BACzB,QAAQ,EAAE;gCACR,IAAI,EAAE,EAAE,CAAC,IAAI;gCACb,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC;6BACxC;yBACF,CAAC,CAAC;qBACJ;iBACF,CAAC;gBACF,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;oBACnC,QAAQ,GAAG;wBACT,GAAG,QAAQ;wBACX;4BACE,IAAI,EAAE,MAAe;4BACrB,OAAO,EAAE,gBAAgB,OAAO,CAAC,IAAI,+CAA+C;4BACpF,YAAY,EAAE,OAAO,CAAC,EAAE;yBACzB;qBACF,CAAC;gBACJ,CAAC;gBACD,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,gCAAgC,EAAE;oBACpE,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;iBAC7C,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,yEAAyE;YACzE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,QAAQ,GAAG;oBACT,GAAG,QAAQ;oBACX;wBACE,IAAI,EAAE,WAAoB;wBAC1B,OAAO,EAAE,OAAO,IAAI,IAAI;wBACxB,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;4BACjC,EAAE,EAAE,EAAE,CAAC,EAAE;4BACT,IAAI,EAAE,UAAmB;4BACzB,QAAQ,EAAE;gCACR,IAAI,EAAE,EAAE,CAAC,IAAI;gCACb,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC;6BACxC;yBACF,CAAC,CAAC;qBACJ;iBACF,CAAC;gBACF,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;oBAC/B,QAAQ,GAAG;wBACT,GAAG,QAAQ;wBACX;4BACE,IAAI,EAAE,MAAe;4BACrB,OAAO,EAAE,gBAAgB,CAAC,CAAC,IAAI,cAAc;4BAC7C,YAAY,EAAE,CAAC,CAAC,EAAE;yBACnB;qBACF,CAAC;gBACJ,CAAC;gBACD,SAAS;YACX,CAAC;YAED,yEAAyE;YACzE,0EAA0E;YAC1E,qCAAqC;YACrC,0EAA0E;YAC1E,iEAAiE;YACjE,0EAA0E;YAC1E,kDAAkD;YAClD,wEAAwE;YACxE,wEAAwE;YACxE,mCAAmC;YACnC,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,MAAM,cAAc,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBACrD,GAAG,EAAE;oBACL,KAAK,EAAE,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC;iBACjD,CAAC,CAAC,CAAC;gBACJ,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CACxC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CACnC,CAAC;gBACF,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAClC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAC5C,CAAC;gBAEF,sEAAsE;gBACtE,uEAAuE;gBACvE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpB,QAAQ,GAAG;wBACT,GAAG,QAAQ;wBACX;4BACE,IAAI,EAAE,WAAoB;4BAC1B,OAAO,EAAE,IAAI;4BACb,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gCAC5B,EAAE,EAAE,EAAE,CAAC,KAAK;gCACZ,IAAI,EAAE,UAAmB;gCACzB,QAAQ,EAAE;oCACR,IAAI,EAAE,EAAE,CAAC,IAAI;oCACb,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC;iCACxC;6BACF,CAAC,CAAC;yBACJ;wBACD,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;4BACnB,IAAI,EAAE,MAAe;4BACrB,OAAO,EAAE,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE;4BACjD,YAAY,EAAE,EAAE,CAAC,KAAK;yBACvB,CAAC,CAAC;qBACJ,CAAC;oBACF,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,0BAA0B,EAAE;wBAC9D,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;wBAClC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;qBACrC,CAAC,CAAC;gBACL,CAAC;gBAED,uEAAuE;gBACvE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC7B,sBAAsB,CACpB,OAAO,EACP,aAAa,EACb,GAAG,CAAC,kBAAkB,EACtB,GAAG,CAAC,SAAS,EACb;4BACE,aAAa,EAAE,GAAG,CAAC,aAAa;4BAChC,SAAS,EAAE,GAAG,CAAC,SAAS;4BACxB,OAAO,EAAE,GAAG,CAAC,OAAO;4BACpB,OAAO,EAAE,GAAG,CAAC,OAAO;yBACrB,CACF,CAAC;wBACF,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,kBAAkB,EAAE;4BACtD,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;4BAC5C,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;yBACtC,CAAC,CAAC;oBACL,CAAC;oBAED,mEAAmE;oBACnE,sEAAsE;oBACtE,GAAG,CAAC,KAAK,CAAC;wBACR,EAAE,EAAE,IAAI;wBACR,KAAK,EAAE;4BACL,OAAO,EAAE,EAAE;4BACX,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gCACpC,KAAK;gCACL,EAAE,EAAE,EAAE,CAAC,KAAK;gCACZ,IAAI,EAAE,EAAE,CAAC,IAAI;gCACb,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC;6BACxC,CAAC,CAAC;yBACJ;qBACF,CAAC,CAAC;oBAEH,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;oBACrE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;oBAC9B,GAAG,CAAC,KAAK,CAAC;wBACR,EAAE,EAAE,IAAI;wBACR,KAAK,EAAE;4BACL,OAAO,EAAE,EAAE;4BACX,YAAY,EAAE,YAAY;4BAC1B,KAAK,EAAE;gCACL,GAAG,KAAK;gCACR,MAAM,EAAE,GAAG,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,OAAO;gCAC9C,UAAU,EAAE,GAAG,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,WAAW;6BACvD;4BACD,MAAM,EAAE,SAAS;yBAClB;qBACF,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,oEAAoE;gBACpE,iEAAiE;gBACjE,sEAAsE;gBACtE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC/B,SAAS;gBACX,CAAC;YACH,CAAC;YAED,yEAAyE;YACzE,IAAI,OAAO,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxC,QAAQ,GAAG;oBACT,GAAG,QAAQ;oBACX;wBACE,IAAI,EAAE,WAAoB;wBAC1B,OAAO,EAAE,OAAO,IAAI,IAAI;wBACxB,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;4BACrC,EAAE,EAAE,EAAE,CAAC,EAAE;4BACT,IAAI,EAAE,UAAmB;4BACzB,QAAQ,EAAE;gCACR,IAAI,EAAE,EAAE,CAAC,IAAI;gCACb,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC;6BACxC;yBACF,CAAC,CAAC;qBACJ;iBACF,CAAC;YACJ,CAAC;YAED,yBAAyB;YACzB,MAAM,SAAS,GACb,YAAY,KAAK,SAAS;gBACxB,CAAC,CAAC,YAAY,GAAG,aAAa;gBAC9B,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC;YAC3B,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;gBACnB,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;gBACrE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;gBAC9B,GAAG,CAAC,KAAK,CAAC;oBACR,EAAE,EAAE,IAAI;oBACR,KAAK,EAAE;wBACL,OAAO,EAAE,EAAE;wBACX,YAAY,EAAE,QAAQ;wBACtB,KAAK,EAAE;4BACL,GAAG,KAAK;4BACR,MAAM,EAAE,GAAG,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,OAAO;4BAC9C,UAAU,EAAE,GAAG,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,WAAW;yBACvD;wBACD,MAAM,EAAE,SAAS;qBAClB;iBACF,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YAEhD,0BAA0B;YAC1B,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;gBACvB,GAAG,CAAC,KAAK,CAAC;oBACR,EAAE,EAAE,IAAI;oBACR,KAAK,EAAE;wBACL,OAAO,EAAE,8BAA8B,EAAE,CAAC,IAAI,QAAQ;wBACtD,SAAS,EAAE,IAAI;qBAChB;iBACF,CAAC,CAAC;YACL,CAAC;YAcD,MAAM,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAChC,KAAK,EAAE,EAAE,EAA2B,EAAE;gBACpC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7B,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;oBACzD,SAAS,EAAE,EAAE,CAAC,SAAS;iBACxB,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC9C,IAAI,CAAC,MAAM;oBACT,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;gBACjE,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,uBAAuB,EAAE;oBAC7D,MAAM,EAAE,UAAU;oBAClB,UAAU,EAAE,EAAE,WAAW,EAAE,EAAE,CAAC,IAAI,EAAE;iBACrC,CAAC,CAAC;gBACH,MAAM,WAAW,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC7D,MAAM,SAAS,GAAG,CAAC,CAAC,WAAW,CAAC;gBAChC,MAAM,GAAG,GAAG,WAAW;oBACrB,CAAC,CAAC,CAAC,GAAG,EAAE;wBACJ,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;wBACpC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;wBACtC,OAAO,EAAE,EAAE,EAAE,IAAa,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;oBACnD,CAAC,CAAC,EAAE;oBACN,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;wBAChB,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,QAAQ,CAC7B,EAAE,CAAC,IAAI,EACP,EAAE,CAAC,SAAS,EACZ,GAAG,CAAC,OAAO,CACZ,CAAC;wBACF,IAAI,CAAC,CAAC,EAAE;4BAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;wBAC5D,OAAO,CAAC,CAAC;oBACX,CAAC,CAAC,EAAE,CAAC;gBACT,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE;oBAClB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO;oBACnB,CAAC,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ;wBACrC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO;wBACnB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACxC,QAAQ,CAAC,SAAS,CAChB,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EACvB,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAC1B,CAAC;gBACF,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACf,OAAO;oBACL,EAAE;oBACF,IAAI;oBACJ,GAAG;oBACH,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBAChC,MAAM,EAAE,SAAS;iBAClB,CAAC;YACJ,CAAC,CACF,CAAC;YAEF,6CAA6C;YAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC9C,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YACzD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACjC,IAAI,OAAO,GAAqB,EAAE,CAAC;YACnC,IAAI,OAAO,GAAG,KAAK,CAAC;YAEpB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;gBAChD,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACnD,CAAC;YAED,OAAO,CAAC,OAAO,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;oBAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAe,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC3D,IAAI,OAAO,CAAkB,CAAC,OAAO,EAAE,EAAE,CACvC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,CAAC,CACxD;iBACF,CAAC,CAAC;gBACH,IAAI,MAAM,CAAC,GAAG,KAAK,MAAM,EAAE,CAAC;oBAC1B,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;oBACzB,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;qBAAM,CAAC;oBACN,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;wBAChC,GAAG,CAAC,KAAK,CAAC;4BACR,EAAE,EAAE,IAAI;4BACR,KAAK,EAAE;gCACL,OAAO,EAAE,EAAE;gCACX,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,EAAE;6BACzD;yBACF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAED,iBAAiB;YACjB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACvE,CAAC;YAED,kBAAkB;YAClB,MAAM,YAAY,GAAc,EAAE,CAAC;YACnC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC5B,IAAI,CAAC,GAAG;oBAAE,SAAS;gBACnB,IACE,CAAC,GAAG,CAAC,EAAE;oBACP,6BAA6B,CAAC,IAAI,CAAC;oBACnC,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAC/B,CAAC;oBACD,MAAM,KAAK,GAAG,GAAG,CAAC,wBAAwB,CAAC,KAAK,CAC9C,GAAG,CAAC,SAAS,EACb,EAAE,CAAC,IAAI,EACP,IAAI,CACL,CAAC;oBACF,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC;oBAC9D,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE;wBACjE,MAAM,EAAE,IAAI;wBACZ,YAAY,EAAE,KAAK,CAAC,YAAY;qBACjC,CAAC,CAAC;gBACL,CAAC;gBACD,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE;oBAC3D,MAAM,EAAE,IAAI;iBACb,CAAC,CAAC;gBACH,aAAa,EAAE,CAAC;gBAChB,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;gBAChC,YAAY,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE,IAAI;oBACb,YAAY,EAAE,EAAE,CAAC,EAAE;iBACpB,CAAC,CAAC;gBACH,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC;oBAC5B,mEAAmE;oBACnE,oEAAoE;oBACpE,mEAAmE;oBACnE,uBAAuB;oBACvB,SAAS,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO;oBACtC,QAAQ,EAAE,EAAE,CAAC,IAAI;oBACjB,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE;oBAClB,UAAU,EAAE,CAAC,CAAC,QAAQ;oBACtB,MAAM,EAAE,CAAC,CAAC,MAAM;iBACjB,CAAC,CAAC;YACL,CAAC;YACD,QAAQ,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,YAAY,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"tool-loop.js","sourceRoot":"","sources":["../../../src/pipeline/handlers/tool-loop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { CallOptions, LlmStreamChunk, LlmTool, Message, Result } from '@mcp-abap-adt/llm-agent';
2
+ import { OrchestratorError } from '@mcp-abap-adt/llm-agent';
3
+ import type { IPipeline } from '../interfaces/pipeline.js';
4
+ export declare function pipelineToStream(pipeline: IPipeline, input: string | Message[], externalTools: LlmTool[], opts: CallOptions | undefined): AsyncIterable<Result<LlmStreamChunk, OrchestratorError>>;
5
+ //# sourceMappingURL=pipeline-to-stream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline-to-stream.d.ts","sourceRoot":"","sources":["../../src/pipeline/pipeline-to-stream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,OAAO,EACP,OAAO,EACP,MAAM,EACP,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE3D,wBAAuB,gBAAgB,CACrC,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,EACzB,aAAa,EAAE,OAAO,EAAE,EACxB,IAAI,EAAE,WAAW,GAAG,SAAS,GAC5B,aAAa,CAAC,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAsD1D"}
@@ -0,0 +1,49 @@
1
+ import { OrchestratorError } from '@mcp-abap-adt/llm-agent';
2
+ export async function* pipelineToStream(pipeline, input, externalTools, opts) {
3
+ if (!pipeline)
4
+ return;
5
+ const history = typeof input === 'string' ? [] : input;
6
+ const chunkQueue = [];
7
+ let resolveWait = null;
8
+ let done = false;
9
+ const executorPromise = pipeline
10
+ .execute(input, history, opts, (chunk) => {
11
+ chunkQueue.push(chunk);
12
+ if (resolveWait) {
13
+ resolveWait();
14
+ resolveWait = null;
15
+ }
16
+ }, externalTools)
17
+ .then(() => {
18
+ done = true;
19
+ if (resolveWait) {
20
+ resolveWait();
21
+ resolveWait = null;
22
+ }
23
+ })
24
+ .catch((err) => {
25
+ chunkQueue.push({
26
+ ok: false,
27
+ error: new OrchestratorError(String(err), 'PIPELINE_ERROR'),
28
+ });
29
+ done = true;
30
+ if (resolveWait) {
31
+ resolveWait();
32
+ resolveWait = null;
33
+ }
34
+ });
35
+ while (!done || chunkQueue.length > 0) {
36
+ if (chunkQueue.length > 0) {
37
+ const chunk = chunkQueue.shift();
38
+ if (chunk !== undefined)
39
+ yield chunk;
40
+ }
41
+ else if (!done) {
42
+ await new Promise((r) => {
43
+ resolveWait = r;
44
+ });
45
+ }
46
+ }
47
+ await executorPromise;
48
+ }
49
+ //# sourceMappingURL=pipeline-to-stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline-to-stream.js","sourceRoot":"","sources":["../../src/pipeline/pipeline-to-stream.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,gBAAgB,CACrC,QAAmB,EACnB,KAAyB,EACzB,aAAwB,EACxB,IAA6B;IAE7B,IAAI,CAAC,QAAQ;QAAE,OAAO;IAEtB,MAAM,OAAO,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAEvD,MAAM,UAAU,GAAgD,EAAE,CAAC;IACnE,IAAI,WAAW,GAAwB,IAAI,CAAC;IAC5C,IAAI,IAAI,GAAG,KAAK,CAAC;IAEjB,MAAM,eAAe,GAAG,QAAQ;SAC7B,OAAO,CACN,KAAK,EACL,OAAO,EACP,IAAI,EACJ,CAAC,KAAK,EAAE,EAAE;QACR,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,EAAE,CAAC;YACd,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;IACH,CAAC,EACD,aAAa,CACd;SACA,IAAI,CAAC,GAAG,EAAE;QACT,IAAI,GAAG,IAAI,CAAC;QACZ,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,EAAE,CAAC;YACd,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;IACH,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACb,UAAU,CAAC,IAAI,CAAC;YACd,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,IAAI,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,gBAAgB,CAAC;SAC5D,CAAC,CAAC;QACH,IAAI,GAAG,IAAI,CAAC;QACZ,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,EAAE,CAAC;YACd,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,CAAC,IAAI,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;YACjC,IAAI,KAAK,KAAK,SAAS;gBAAE,MAAM,KAAK,CAAC;QACvC,CAAC;aAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE;gBAC5B,WAAW,GAAG,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,eAAe,CAAC;AACxB,CAAC"}
@@ -0,0 +1,35 @@
1
+ import type { IMarketplaceTransport } from './http-marketplace-source.js';
2
+ /** Parse `owner`/`repo` from a GitHub URL or bare `owner/repo`. */
3
+ export declare function parseGitHubRepo(url: string): {
4
+ owner: string;
5
+ repo: string;
6
+ };
7
+ /** Map a parsed `.claude-plugin/marketplace.json` to plugin coordinates. */
8
+ export declare function parseMarketplace(json: unknown): Array<{
9
+ plugin: string;
10
+ version: string;
11
+ sourcePath: string;
12
+ }>;
13
+ /** Extract subdirectory names from a GitHub Contents-API directory response. */
14
+ export declare function skillDirsFromContents(json: unknown): string[];
15
+ export interface GitHubTransportOptions {
16
+ owner: string;
17
+ repo: string;
18
+ /** Branch/tag/sha; default = the repo's `default_branch`. */
19
+ ref?: string;
20
+ /** Optional auth token (lifts rate limit + enables private repos). */
21
+ token?: string;
22
+ /** Plugins to enumerate; `['*']` = all. Only these get a Contents-API call. */
23
+ enabled: readonly string[];
24
+ /** Injected for tests; default global `fetch`. */
25
+ fetchImpl?: typeof fetch;
26
+ }
27
+ /**
28
+ * An {@link IMarketplaceTransport} over a GitHub Claude-plugin repo. Reads the
29
+ * standard layout via HTTPS into memory (no clone, no FS): marketplace.json and
30
+ * each SKILL.md from `raw.githubusercontent.com`; per-plugin `skills/` listings
31
+ * from the GitHub Contents API. NOT unit-tested over a real network — the unit
32
+ * tests inject `fetchImpl`.
33
+ */
34
+ export declare function makeGitHubTransport(opts: GitHubTransportOptions): IMarketplaceTransport;
35
+ //# sourceMappingURL=github-transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-transport.d.ts","sourceRoot":"","sources":["../../../src/skills/plugin-host/github-transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAE1E,mEAAmE;AACnE,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAY5E;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,OAAO,GACZ,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAsBhE;AAED,gFAAgF;AAChF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,CAS7D;AAKD,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,sBAAsB,GAC3B,qBAAqB,CAsFvB"}