@pentoshi/clai 3.11.3 → 3.11.5

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 (60) hide show
  1. package/dist/agent/runner.js +60 -16
  2. package/dist/agent/runner.js.map +1 -1
  3. package/dist/agent/stream-recovery.d.ts +15 -1
  4. package/dist/agent/stream-recovery.js +42 -2
  5. package/dist/agent/stream-recovery.js.map +1 -1
  6. package/dist/agent/tool-history.d.ts +6 -3
  7. package/dist/agent/tool-history.js +90 -11
  8. package/dist/agent/tool-history.js.map +1 -1
  9. package/dist/llm/agentrouter.js +2 -2
  10. package/dist/llm/agentrouter.js.map +1 -1
  11. package/dist/llm/bynara.js +2 -2
  12. package/dist/llm/bynara.js.map +1 -1
  13. package/dist/llm/http.d.ts +29 -3
  14. package/dist/llm/http.js +110 -25
  15. package/dist/llm/http.js.map +1 -1
  16. package/dist/llm/modal.js +7 -2
  17. package/dist/llm/modal.js.map +1 -1
  18. package/dist/llm/nvidia.js +6 -6
  19. package/dist/llm/nvidia.js.map +1 -1
  20. package/dist/llm/router.d.ts +1 -1
  21. package/dist/llm/router.js +59 -15
  22. package/dist/llm/router.js.map +1 -1
  23. package/dist/modes/ask.js +103 -32
  24. package/dist/modes/ask.js.map +1 -1
  25. package/dist/prompts/embedded.js +2 -2
  26. package/dist/prompts/embedded.js.map +1 -1
  27. package/dist/prompts/index.d.ts +7 -0
  28. package/dist/prompts/index.js +44 -4
  29. package/dist/prompts/index.js.map +1 -1
  30. package/dist/prompts/system.agent.md +2 -1
  31. package/dist/prompts/system.ask.md +1 -0
  32. package/dist/safety/classifier.js +3 -0
  33. package/dist/safety/classifier.js.map +1 -1
  34. package/dist/tools/definitions.js +15 -0
  35. package/dist/tools/definitions.js.map +1 -1
  36. package/dist/tools/image.d.ts +19 -1
  37. package/dist/tools/image.js +149 -1
  38. package/dist/tools/image.js.map +1 -1
  39. package/dist/tools/registry.js +13 -1
  40. package/dist/tools/registry.js.map +1 -1
  41. package/dist/tools/tool-types.d.ts +8 -1
  42. package/dist/tui-v2/bootstrap/capabilities.d.ts +1 -0
  43. package/dist/tui-v2/bootstrap/capabilities.js +1 -1
  44. package/dist/tui-v2/bootstrap/capabilities.js.map +1 -1
  45. package/dist/tui-v2/components/transcript/transcript-view.js +155 -28
  46. package/dist/tui-v2/components/transcript/transcript-view.js.map +1 -1
  47. package/dist/tui-v2/components/transcript/use-transcript-selection.d.ts +2 -2
  48. package/dist/tui-v2/components/transcript/use-transcript-selection.js +7 -8
  49. package/dist/tui-v2/components/transcript/use-transcript-selection.js.map +1 -1
  50. package/dist/tui-v2/rendering/streaming-markdown.js +11 -2
  51. package/dist/tui-v2/rendering/streaming-markdown.js.map +1 -1
  52. package/dist/types.d.ts +17 -0
  53. package/dist/ui/code-block.d.ts +40 -0
  54. package/dist/ui/code-block.js +380 -0
  55. package/dist/ui/code-block.js.map +1 -0
  56. package/dist/ui/markdown.js +55 -52
  57. package/dist/ui/markdown.js.map +1 -1
  58. package/dist/version.generated.d.ts +2 -2
  59. package/dist/version.generated.js +2 -2
  60. package/package.json +1 -1
@@ -3,8 +3,9 @@ import { getProviderKeys, getProviderSecret, markProviderKeySuccess, } from "../
3
3
  import { anthropicProvider } from "./anthropic.js";
4
4
  import { geminiProvider } from "./gemini.js";
5
5
  import { groqProvider } from "./groq.js";
6
- import { ProviderError, isImageInputUnsupportedError, isReasoningUnsupportedError, stripImagesFromMessages, } from "./http.js";
7
- import { learnModelVisionCapability, markModelUnavailable, markReasoningUnsupported, modelAcceptsImages, visionSubstitutionOrigin, } from "./capabilities.js";
6
+ import { ProviderError, isImageInputUnsupportedError, isReasoningUnsupportedError, stripImagesFromMessages, STREAM_STALL_MARKER, } from "./http.js";
7
+ import { learnModelVisionCapability, markModelUnavailable, markReasoningUnsupported, modelAcceptsImages, modelSupportsVision, visionSubstitutionOrigin, } from "./capabilities.js";
8
+ import { applyImageViewAvailability } from "../prompts/index.js";
8
9
  import { markStreamEmittedBytes, streamAlreadyEmitted, streamEmittedBytes, } from "./stream-progress.js";
9
10
  import { attemptsPerKey, buildKeyAttemptPlan, formatKeyEventStatus, isImmediateKeySwitchError, isKeyCircleStopError, isKeyRotatableError, isQuotaKeyError, } from "./key-rotation.js";
10
11
  import { nvidiaProvider } from "./nvidia.js";
@@ -70,6 +71,12 @@ function isRetriableError(error) {
70
71
  if (streamAlreadyEmitted(error))
71
72
  return false;
72
73
  const message = error instanceof Error ? error.message : String(error);
74
+ // A stall on a *live* connection means the model already did the work and the
75
+ // runtime was buffering it. A transparent same-route retry just replays the
76
+ // whole generation and stalls again, so leave it to the agent's recovery
77
+ // layer, which retries with a nudge to emit smaller tool calls.
78
+ if (new RegExp(STREAM_STALL_MARKER, "i").test(message))
79
+ return false;
73
80
  // Mid-stream stalls used to be non-retriable (to avoid infinite hangs).
74
81
  // One quick retry on the same provider recovers flaky thinking pauses
75
82
  // without waiting forever — MAX_RETRIES still bounds the loop.
@@ -157,6 +164,9 @@ export function formatProviderFailureForUser(error) {
157
164
  if (/socket connection was closed|econnreset|premature close|unexpected end of file/i.test(message)) {
158
165
  return `${message} — connection dropped mid-request (common on free/unstable routes). Retry or switch model; long contexts increase disconnect risk.`;
159
166
  }
167
+ if (new RegExp(STREAM_STALL_MARKER, "i").test(message)) {
168
+ return `${message}`;
169
+ }
160
170
  if (/stream stalled|request timed out before any response/i.test(message)) {
161
171
  return `${message} — no tokens arrived in time. Free models and large contexts fail more often; retry or use a more reliable model.`;
162
172
  }
@@ -267,13 +277,20 @@ const fallbackOrder = [
267
277
  "lightning",
268
278
  "tokenrouter",
269
279
  ];
270
- export function buildFallbackChain(requested, freeOnly, enabled = false) {
280
+ export function buildFallbackChain(requested, freeOnly, enabled = false, preferAlternates = false) {
271
281
  if (!enabled)
272
282
  return [requested];
273
283
  const filtered = freeOnly
274
284
  ? fallbackOrder.filter((provider) => provider === requested || providerCategory[provider] !== "paid-cloud")
275
285
  : fallbackOrder;
276
- return [requested, ...filtered.filter((provider) => provider !== requested)];
286
+ const alternates = filtered.filter((provider) => provider !== requested);
287
+ // A live-connection stall has already spent one full generation on the
288
+ // selected route. Retrying it first creates the duplicate partial bubbles in
289
+ // the reported failure. Try configured alternates first for that recovery
290
+ // attempt, but retain the user's selected provider as the final fallback.
291
+ return preferAlternates
292
+ ? [...alternates, requested]
293
+ : [requested, ...alternates];
277
294
  }
278
295
  export function getProvider(provider) {
279
296
  return providers[provider];
@@ -351,6 +368,30 @@ async function tryCompleteOnce(provider, providerId, request, model, auth) {
351
368
  throw error;
352
369
  }
353
370
  }
371
+ function requestForRoute(request, provider, model) {
372
+ if (modelSupportsVision(provider, model))
373
+ return request;
374
+ const tools = request.tools?.filter((tool) => tool.name !== "image.view");
375
+ const forcedImageView = typeof request.toolChoice === "object" &&
376
+ request.toolChoice.name === "image.view";
377
+ const messages = request.messages.map((message) => message.role === "system" && message.content.includes("image.view")
378
+ ? {
379
+ ...message,
380
+ content: applyImageViewAvailability(message.content, false),
381
+ }
382
+ : message);
383
+ return {
384
+ ...request,
385
+ messages,
386
+ ...(request.tools ? { tools } : {}),
387
+ ...(forcedImageView
388
+ ? { toolChoice: tools?.length ? "auto" : undefined }
389
+ : {}),
390
+ ...(!tools?.length && request.tools
391
+ ? { parallelToolCalls: undefined }
392
+ : {}),
393
+ };
394
+ }
354
395
  function hasImageInput(request) {
355
396
  return request.messages.some((message) => message.images?.length);
356
397
  }
@@ -380,15 +421,16 @@ function revertVisionSubstitution(providerId, model, request, error) {
380
421
  return undefined;
381
422
  markModelUnavailable(providerId, model);
382
423
  const keepImages = modelAcceptsImages(providerId, original);
424
+ const restoredRequest = {
425
+ ...request,
426
+ model: original,
427
+ messages: keepImages
428
+ ? request.messages
429
+ : stripImagesFromMessages(request.messages),
430
+ };
383
431
  return {
384
432
  original,
385
- request: {
386
- ...request,
387
- model: original,
388
- messages: keepImages
389
- ? request.messages
390
- : stripImagesFromMessages(request.messages),
391
- },
433
+ request: requestForRoute(restoredRequest, providerId, original),
392
434
  };
393
435
  }
394
436
  async function tryStreamOnce(provider, providerId, request, model, auth, onToken, onStatus) {
@@ -633,7 +675,7 @@ export async function completeWithProvider(request, options) {
633
675
  const providerImpl = providers[requested];
634
676
  const isDefaultModel = !request.model || request.model === providerImpl.defaultModel;
635
677
  const fallbackEnabled = config.providerFallback && (isDefaultModel || request.allowModelFallback === true);
636
- const order = buildFallbackChain(requested, config.freeOnly, fallbackEnabled);
678
+ const order = buildFallbackChain(requested, config.freeOnly, fallbackEnabled, request.preferModelFallback === true);
637
679
  const failures = [];
638
680
  const emitKey = makeKeyEmitter(options?.onStatus, options?.onKeyEvent);
639
681
  for (const providerId of order) {
@@ -648,11 +690,12 @@ export async function completeWithProvider(request, options) {
648
690
  const model = providerId === requested
649
691
  ? (request.model ?? provider.defaultModel)
650
692
  : provider.defaultModel;
693
+ const routeRequest = requestForRoute(request, providerId, model);
651
694
  try {
652
695
  return await runWithKeyRotation({
653
696
  providerId,
654
697
  provider,
655
- request,
698
+ request: routeRequest,
656
699
  model,
657
700
  emitKey,
658
701
  mode: "complete",
@@ -682,7 +725,7 @@ export async function streamWithProvider(request, onToken, onStatusOrOptions) {
682
725
  const providerImpl = providers[requested];
683
726
  const isDefaultModel = !request.model || request.model === providerImpl.defaultModel;
684
727
  const fallbackEnabled = config.providerFallback && (isDefaultModel || request.allowModelFallback === true);
685
- const order = buildFallbackChain(requested, config.freeOnly, fallbackEnabled);
728
+ const order = buildFallbackChain(requested, config.freeOnly, fallbackEnabled, request.preferModelFallback === true);
686
729
  const failures = [];
687
730
  const emitStatus = options.onStatus ?? ((message) => onToken(message));
688
731
  const emitKey = makeKeyEmitter(emitStatus, options.onKeyEvent);
@@ -697,11 +740,12 @@ export async function streamWithProvider(request, onToken, onStatusOrOptions) {
697
740
  const model = providerId === requested
698
741
  ? (request.model ?? provider.defaultModel)
699
742
  : provider.defaultModel;
743
+ const routeRequest = requestForRoute(request, providerId, model);
700
744
  try {
701
745
  return await runWithKeyRotation({
702
746
  providerId,
703
747
  provider,
704
- request,
748
+ request: routeRequest,
705
749
  model,
706
750
  emitKey,
707
751
  mode: "stream",
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/llm/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/llm/router.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,yBAAyB,EACzB,SAAS,EACT,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EACL,aAAa,EACb,4BAA4B,EAC5B,2BAA2B,EAC3B,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,GAEhB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EACL,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,kFAAkF;AAClF,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAElC,oEAAoE;AACpE,MAAM,CAAC,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AASpD,KAAK,UAAU,KAAK,CAAC,EAAU,EAAE,MAAoB;IACnD,IAAI,MAAM,EAAE,OAAO;QAAE,MAAM,MAAM,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;IACjE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,KAAqB,CAAC;QAC1B,IAAI,OAAO,GAAG,GAAS,EAAE,GAAE,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,GAAS,EAAE;YACvB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,EAAE,CAAC;YACV,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC;QACF,OAAO,GAAG,GAAS,EAAE;YACnB,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC,CAAC;QACF,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACtB,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,KAAK,YAAY,aAAa,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC;AAChE,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc;IAC7C,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAClC,OAAO,CACL,GAAG,CAAC,QAAQ,CAAC,2CAA2C,CAAC;QACzD,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC1B,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;QACzB,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC5B,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;QACzB,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC5B,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC;QAC7B,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;QACvB,GAAG,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QACtC,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAChC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,gEAAgE;IAChE,6DAA6D;IAC7D,IAAI,oBAAoB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,8EAA8E;IAC9E,4EAA4E;IAC5E,yEAAyE;IACzE,gEAAgE;IAChE,IAAI,IAAI,MAAM,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IACrE,wEAAwE;IACxE,sEAAsE;IACtE,+DAA+D;IAC/D,IAAI,uDAAuD,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;QACjC,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,uBAAuB,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,OAAe;IAClD,IAAI,KAAK,YAAY,aAAa,IAAI,KAAK,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAC5E,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IACnD,CAAC;IACD,8CAA8C;IAC9C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;AACtC,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe;IACzC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;AACtC,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,cAAc,CAAC;IAChD,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,MAAM,GACV,KAAK,YAAY,aAAa,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,OAAO,uBAAuB,MAAM,EAAE,CAAC;IACzC,CAAC;IACD,IAAI,KAAK,YAAY,aAAa,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACnD,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACjD,OAAO,gBAAgB,KAAK,CAAC,MAAM,GAAG,CAAC;QACzC,CAAC;QACD,OAAO,iBAAiB,KAAK,CAAC,MAAM,GAAG,CAAC;IAC1C,CAAC;IACD,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAAC,KAAc;IACzD,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;QACnC,wEAAwE;QACxE,yEAAyE;QACzE,+DAA+D;QAC/D,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7D,MAAM,cAAc,GAAG,CAAC,QAAgB,EAAU,EAAE,CAClD,UAAU,CAAC,CAAC,CAAC,GAAG,QAAQ,2BAA2B,UAAU,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC7E,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,OAAO,cAAc,CACnB,mFAAmF,CACpF,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACrC,OAAO,cAAc,CACnB,wCAAwC,MAAM,2EAA2E,CAC1H,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,OAAO,cAAc,CACnB,+HAA+H,CAChI,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,OAAO,cAAc,CACnB,6EAA6E,CAC9E,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,OAAO,cAAc,CACnB,0HAA0H,CAC3H,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,OAAO,cAAc,CACnB,6GAA6G,CAC9G,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACvD,OAAO,cAAc,CACnB,kCAAkC,MAAM,6FAA6F,CACtI,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;YAClC,OAAO,cAAc,CACnB,4BAA4B,MAAM,qDAAqD,CACxF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACrE,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;IACV,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,gJAAgJ,CAAC;IAC1J,CAAC;IACD,IACE,iFAAiF,CAAC,IAAI,CACpF,OAAO,CACR,EACD,CAAC;QACD,OAAO,GAAG,OAAO,oIAAoI,CAAC;IACxJ,CAAC;IACD,IAAI,IAAI,MAAM,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,OAAO,GAAG,OAAO,EAAE,CAAC;IACtB,CAAC;IACD,IAAI,uDAAuD,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1E,OAAO,GAAG,OAAO,mHAAmH,CAAC;IACvI,CAAC;IACD,IAAI,wEAAwE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3F,OAAO,GAAG,OAAO,qGAAqG,CAAC;IACzH,CAAC;IACD,IAAI,8DAA8D,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACjF,OAAO,GAAG,OAAO,yFAAyF,CAAC;IAC7G,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,OAAO,4BAA4B,CAAC,KAAK,CAAC,CAAC;AAC7C,CAAC;AASD;;;;GAIG;AACH,MAAM,OAAO,sBAAuB,SAAQ,aAAa;IAG5C;IAFX,YACE,OAAe,EACN,QAAkE,EAC3E,MAA2B,EAC3B,iBAAsC;QAEtC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;QAJ5C,aAAQ,GAAR,QAAQ,CAA0D;QAK3E,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED,iEAAiE;AACjE,SAAS,qBAAqB,CAC5B,QAA2B;IAE3B,MAAM,UAAU,GAAG,QAAQ;SACxB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;SAC/B,MAAM,CACL,CAAC,KAAK,EAA0B,EAAE,CAChC,KAAK,YAAY,aAAa,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CACrE,CAAC;IACJ,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9C,MAAM,IAAI,GAAG,CAAC,MAAc,EAAU,EAAE,CACtC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CACzC,IAAI,CAAC,OAAO,CAAC,MAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAC5D,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,OAAe,EACf,QAA2B,EAC3B,YAAY,GAAG,CAAC;IAEhB,MAAM,UAAU,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,IAAI,sBAAsB,CAC1C,OAAO,EACP,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAC5E,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,iBAAiB,CAC9B,CAAC;IACF,OAAO,sBAAsB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACjE,CAAC;AAED,SAAS,cAAc,CAAC,QAA2B;IACjD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,uEAAuE;IACvE,oEAAoE;IACpE,4EAA4E;IAC5E,OAAO,MAAM,QAAQ;SAClB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,KAAK,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;SAC5E,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,SAAS,0BAA0B,CAAC,KAAc;IAChD,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,wEAAwE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAChG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,iJAAiJ,CAAC,IAAI,CAC3J,OAAO,CACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAoC;IACxD,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,cAAc;IACtB,UAAU,EAAE,kBAAkB;IAC9B,MAAM,EAAE,cAAc;IACtB,SAAS,EAAE,iBAAiB;IAC5B,MAAM,EAAE,cAAc;IACtB,WAAW,EAAE,mBAAmB;IAChC,MAAM,EAAE,cAAc;IACtB,YAAY,EAAE,cAAc;IAC5B,MAAM,EAAE,cAAc;IACtB,MAAM,EAAE,cAAc;IACtB,YAAY,EAAE,iBAAiB;IAC/B,KAAK,EAAE,aAAa;IACpB,SAAS,EAAE,iBAAiB;IAC5B,WAAW,EAAE,mBAAmB;CACjC,CAAC;AAEF,MAAM,aAAa,GAAiB;IAClC,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,YAAY;IACZ,aAAa;IACb,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,YAAY;IACZ,QAAQ;IACR,YAAY;IACZ,OAAO;IACP,WAAW;IACX,aAAa;CACd,CAAC;AAGF,MAAM,UAAU,kBAAkB,CAChC,SAAqB,EACrB,QAAiB,EACjB,OAAO,GAAG,KAAK,EACf,gBAAgB,GAAG,KAAK;IAExB,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,QAAQ;QACvB,CAAC,CAAC,aAAa,CAAC,MAAM,CAClB,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,KAAK,SAAS,IAAI,gBAAgB,CAAC,QAAQ,CAAC,KAAK,YAAY,CACxE;QACH,CAAC,CAAC,aAAa,CAAC;IAClB,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;IACzE,uEAAuE;IACvE,6EAA6E;IAC7E,0EAA0E;IAC1E,0EAA0E;IAC1E,OAAO,gBAAgB;QACrB,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,SAAS,CAAC;QAC5B,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAAoB;IAC9C,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,QAAoB;IAEpB,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;IACD,4EAA4E;IAC5E,4EAA4E;IAC5E,IAAI,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QACpD,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACnE,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,WAAW,CAClB,UAAsB,EACtB,KAAyB;IAEzB,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;IACD,IAAI,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;QACtD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC5D,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAC3B,CAAC;AAID,SAAS,cAAc,CACrB,QAAoC,EACpC,UAAoC;IAEpC,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;QACpB,uEAAuE;QACvE,mFAAmF;QACnF,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO;QACnC,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACpF,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,QAAqB,EACrB,UAAsB,EACtB,OAA0B,EAC1B,KAAa,EACb,IAAkB;IAElB,MAAM,aAAa,GAAG,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAClE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAC5D,IAAI,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC;YACjC,0BAA0B,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,aAAa,CAAC,KAAK,EAAE,MAAM,IAAI,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC;YAClE,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACrC,MAAM,WAAW,GAAG;gBAClB,GAAG,aAAa;gBAChB,KAAK,EAAE,SAAS;gBAChB,UAAU,EAAE,SAAS;gBACrB,iBAAiB,EAAE,SAAS;aAC7B,CAAC;YACF,OAAO,MAAM,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACpD,CAAC;QACD,oEAAoE;QACpE,sEAAsE;QACtE,IAAI,2BAA2B,CAAC,KAAK,CAAC,EAAE,CAAC;YACvC,wBAAwB,CAAC,KAAK,CAAC,CAAC;YAChC,OAAO,MAAM,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,aAAa,CAAC,aAAa,CAAC,IAAI,4BAA4B,CAAC,KAAK,CAAC,EAAE,CAAC;YACxE,0BAA0B,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YACrD,OAAO,MAAM,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,QAAQ,GAAG,wBAAwB,CAAC,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QACnF,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,MAAM,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CACtB,OAA0B,EAC1B,QAAoB,EACpB,KAAa;IAEb,IAAI,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAEzD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;IAC1E,MAAM,eAAe,GACnB,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ;QACtC,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,YAAY,CAAC;IAC3C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAChD,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;QACjE,CAAC,CAAC;YACE,GAAG,OAAO;YACV,OAAO,EAAE,0BAA0B,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC;SAC5D;QACH,CAAC,CAAC,OAAO,CACZ,CAAC;IACF,OAAO;QACL,GAAG,OAAO;QACV,QAAQ;QACR,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,eAAe;YACjB,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAE,MAAgB,CAAC,CAAC,CAAC,SAAS,EAAE;YAC/D,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,IAAI,OAAO,CAAC,KAAK;YACjC,CAAC,CAAC,EAAE,iBAAiB,EAAE,SAAS,EAAE;YAClC,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,OAA0B;IAC/C,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,aAAa,CAAC,OAA0B;IAC/C,OAAO,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,uBAAuB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC7E,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,MAAM,MAAM,GACV,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,IAAI,KAAK;QACrD,CAAC,CAAC,MAAM,CAAE,KAA6B,CAAC,MAAM,CAAC;QAC/C,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IACnD,MAAM,IAAI,GACR,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK;QACnD,CAAC,CAAC,MAAM,CAAE,KAA2B,CAAC,IAAI,IAAI,EAAE,CAAC;QACjD,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,MAAM,GAAG,GAAG,GAAG,OAAO,KAAK,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAChD,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAChC,OAAO,6GAA6G,CAAC,IAAI,CACvH,GAAG,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,UAAsB,EACtB,KAAa,EACb,OAA0B,EAC1B,KAAc;IAId,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACnD,MAAM,QAAQ,GAAG,wBAAwB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC7D,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,oBAAoB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC5D,MAAM,eAAe,GAAsB;QACzC,GAAG,OAAO;QACV,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE,UAAU;YAClB,CAAC,CAAC,OAAO,CAAC,QAAQ;YAClB,CAAC,CAAC,uBAAuB,CAAC,OAAO,CAAC,QAAQ,CAAC;KAC9C,CAAC;IACF,OAAO;QACL,QAAQ;QACR,OAAO,EAAE,eAAe,CAAC,eAAe,EAAE,UAAU,EAAE,QAAQ,CAAC;KAChE,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,QAAqB,EACrB,UAAsB,EACtB,OAA0B,EAC1B,KAAa,EACb,IAAkB,EAClB,OAAgC,EAChC,QAAoC;IAEpC,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,wBAAwB,GAAG,CAAC,CAAC;IACjC,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAChD,MAAM,aAAa,GAAG;QACpB,GAAG,OAAO;QACV,QAAQ,EAAE,UAAU;QACpB,KAAK;QACL,GAAG,CAAC,eAAe;YACjB,CAAC,CAAC;gBACE,eAAe,EAAE,CAAC,KAA0B,EAAQ,EAAE;oBACpD,MAAM,aAAa,GAAG,KAAK,CAAC,cAAc,IAAI,CAAC,CAAC;oBAChD,YAAY,IAAI,IAAI,CAAC,GAAG,CACtB,KAAK,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,EACvB,aAAa,GAAG,wBAAwB,EACxC,CAAC,CACF,CAAC;oBACF,wBAAwB,GAAG,IAAI,CAAC,GAAG,CACjC,wBAAwB,EACxB,aAAa,CACd,CAAC;oBACF,eAAe,CAAC,KAAK,CAAC,CAAC;gBACzB,CAAC;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,MAAM,IAAI,GAAG,CAAC,KAAa,EAAQ,EAAE;QACnC,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC,CAAC;IACF,MAAM,oBAAoB,GAAG,GAAS,EAAE;QACtC,IAAI,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC;YACjC,0BAA0B,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC;QACH,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAClE,oBAAoB,EAAE,CAAC;YACvB,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClB,oBAAoB,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,YAAY,KAAK,CAAC;YAClB,aAAa,CAAC,KAAK,EAAE,MAAM;YAC3B,uBAAuB,CAAC,KAAK,CAAC,EAC9B,CAAC;YACD,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACrC,QAAQ,EAAE,CACR,KAAK,UAAU,IAAI,KAAK,gEAAgE,CACzF,CAAC;YACF,MAAM,WAAW,GAAG;gBAClB,GAAG,aAAa;gBAChB,KAAK,EAAE,SAAS;gBAChB,UAAU,EAAE,SAAS;gBACrB,iBAAiB,EAAE,SAAS;aAC7B,CAAC;YACF,IAAI,CAAC;gBACH,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACpB,OAAO,MAAM,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBACxD,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBAC1D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAClB,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,MAAM,sBAAsB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QACD,2EAA2E;QAC3E,6EAA6E;QAC7E,4EAA4E;QAC5E,yEAAyE;QACzE,IAAI,YAAY,KAAK,CAAC,IAAI,2BAA2B,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7D,wBAAwB,CAAC,KAAK,CAAC,CAAC;YAChC,QAAQ,EAAE,CACR,KAAK,UAAU,IAAI,KAAK,qDAAqD,CAC9E,CAAC;YACF,IAAI,CAAC;gBACH,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACpB,OAAO,MAAM,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC1D,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBAC5D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAClB,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,MAAM,sBAAsB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QACD,IACE,YAAY,KAAK,CAAC;YAClB,aAAa,CAAC,aAAa,CAAC;YAC5B,4BAA4B,CAAC,KAAK,CAAC,EACnC,CAAC;YACD,0BAA0B,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YACrD,QAAQ,EAAE,CACR,KAAK,UAAU,IAAI,KAAK,gEAAgE,CACzF,CAAC;YACF,MAAM,eAAe,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;YACrD,IAAI,CAAC;gBACH,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACpB,OAAO,MAAM,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC5D,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;gBAC9D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAClB,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,MAAM,sBAAsB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QACD,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,wBAAwB,CACvC,UAAU,EACV,KAAK,EACL,aAAa,EACb,KAAK,CACN,CAAC;YACF,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,EAAE,CACR,KAAK,UAAU,IAAI,KAAK,uDAAuD,QAAQ,CAAC,QAAQ,EAAE,CACnG,CAAC;gBACF,IAAI,CAAC;oBACH,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;wBACpB,OAAO,MAAM,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;oBAC7D,CAAC;oBACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oBAC/D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAClB,OAAO,MAAM,CAAC;gBAChB,CAAC;gBAAC,OAAO,UAAU,EAAE,CAAC;oBACpB,MAAM,sBAAsB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,sBAAsB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,kBAAkB,CAAI,IASpC;IACC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/D,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;IACzB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,IAAI,GAAG,mBAAmB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAClC,gEAAgE;IAChE,sEAAsE;IACtE,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;IAChE,IAAI,SAAkB,CAAC;IAEvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAE,CAAC;QAChC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAExC,0EAA0E;QAC1E,gDAAgD;QAChD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,OAAO,CAAC;gBACN,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,UAAU;gBACpB,UAAU,EAAE,IAAI;gBAChB,QAAQ;gBACR,QAAQ,EAAE,KAAK,CAAC,MAAM;gBACtB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3D,CAAC,CAAC;QACL,CAAC;QAED,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC;YACrD,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,IAAI,MAAwB,CAAC;gBAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC3B,MAAM,GAAG,MAAM,aAAa,CAC1B,QAAQ,EACR,UAAU,EACV,OAAO,EACP,KAAK,EACL,IAAI,EACJ,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,EAC1B,IAAI,CAAC,QAAQ,CACd,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC7E,CAAC;gBACD,qEAAqE;gBACrE,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;oBACvD,KAAK,sBAAsB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACpE,CAAC;gBACD,OAAO,MAAW,CAAC;YACrB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,GAAG,KAAK,CAAC;gBAElB,wDAAwD;gBACxD,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChC,MAAM,KAAK,CAAC;gBACd,CAAC;gBAED,wEAAwE;gBACxE,IAAI,yBAAyB,CAAC,KAAK,CAAC,EAAE,CAAC;oBACrC,IAAI,QAAQ,EAAE,CAAC;wBACb,sEAAsE;wBACtE,MAAM;oBACR,CAAC;oBACD,wEAAwE;oBACxE,MAAM,KAAK,CAAC;gBACd,CAAC;gBAED,MAAM,SAAS,GAAG,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;gBAC/D,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,yEAAyE;oBACzE,MAAM,KAAK,CAAC;gBACd,CAAC;gBAED,MAAM,YAAY,GAAG,OAAO,GAAG,CAAC,GAAG,SAAS,CAAC;gBAC7C,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC;wBAC/B,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC;wBAC7B,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBAChC,IAAI,IAAI,GAAG,iBAAiB,EAAE,CAAC;wBAC7B,iEAAiE;wBACjE,8DAA8D;wBAC9D,IAAI,QAAQ;4BAAE,MAAM;wBACpB,MAAM,KAAK,CAAC;oBACd,CAAC;oBACD,OAAO,CAAC;wBACN,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,UAAU;wBACpB,UAAU,EAAE,IAAI;wBAChB,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC;wBAC5B,MAAM,EAAE,IAAI;wBACZ,QAAQ;wBACR,QAAQ,EAAE,KAAK,CAAC,MAAM;qBACvB,CAAC,CAAC;oBACH,MAAM,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;oBAClC,SAAS;gBACX,CAAC;gBACD,6DAA6D;gBAC7D,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,mEAAmE;IACnE,IAAI,CAAC,QAAQ,IAAI,SAAS,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,QAAQ,EAAE,CACb,KAAK,UAAU,8CAA8C,CAC9D,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,EAAE,CAAC;QACpB,OAAO,CAAC;YACN,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,UAAU;YACpB,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAE,CAAE,CAAC,KAAK,CAAC;YAClD,QAAQ,EAAE,KAAK,CAAC,MAAM;YACtB,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;SACzD,CAAC,CAAC;IACL,CAAC;IAED,MAAM,GAAG,GAAG,SAAS,IAAI,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC1D,MAAM,GAAG,CAAC;AACZ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAA0B,EAC1B,OAAmC;IAEnC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,eAAe,CAAC;IAC7D,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,cAAc,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,KAAK,YAAY,CAAC,YAAY,CAAC;IACrF,MAAM,eAAe,GACnB,MAAM,CAAC,gBAAgB,IAAI,CAAC,cAAc,IAAI,OAAO,CAAC,kBAAkB,KAAK,IAAI,CAAC,CAAC;IACrF,MAAM,KAAK,GAAG,kBAAkB,CAC9B,SAAS,EACT,MAAM,CAAC,QAAQ,EACf,eAAe,EACf,OAAO,CAAC,mBAAmB,KAAK,IAAI,CACrC,CAAC;IACF,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAEvE,KAAK,MAAM,UAAU,IAAI,KAAK,EAAE,CAAC;QAC/B,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC,CAAC;YAC1E,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GACT,UAAU,KAAK,SAAS;YACtB,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,YAAY,CAAC;YAC1C,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC5B,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAEjE,IAAI,CAAC;YACH,OAAO,MAAM,kBAAkB,CAAmB;gBAChD,UAAU;gBACV,QAAQ;gBACR,OAAO,EAAE,YAAY;gBACrB,KAAK;gBACL,OAAO;gBACP,IAAI,EAAE,UAAU;gBAChB,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7D,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC;gBACZ,QAAQ,EAAE,UAAU;gBACpB,OAAO,EAAE,sBAAsB,CAAC,KAAK,CAAC;gBACtC,KAAK;aACN,CAAC,CAAC;YACH,IAAI,oBAAoB,CAAC,KAAK,CAAC,IAAI,0BAA0B,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrE,MAAM,sBAAsB,CAC1B,0CAA0C,cAAc,CAAC,QAAQ,CAAC,EAAE,EACpE,QAAQ,CACT,CAAC;YACJ,CAAC;YACD,0EAA0E;QAC5E,CAAC;IACH,CAAC;IAED,MAAM,sBAAsB,CAC1B,0CAA0C,cAAc,CAAC,QAAQ,CAAC,EAAE,EACpE,QAAQ,CACT,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAA0B,EAC1B,OAAgC,EAChC,iBAA2E;IAE3E,MAAM,OAAO,GACX,OAAO,iBAAiB,KAAK,UAAU;QACrC,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE;QACjC,CAAC,CAAC,iBAAiB,IAAI,EAAE,CAAC;IAE9B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,eAAe,CAAC;IAC7D,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,cAAc,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,KAAK,YAAY,CAAC,YAAY,CAAC;IACrF,MAAM,eAAe,GACnB,MAAM,CAAC,gBAAgB,IAAI,CAAC,cAAc,IAAI,OAAO,CAAC,kBAAkB,KAAK,IAAI,CAAC,CAAC;IACrF,MAAM,KAAK,GAAG,kBAAkB,CAC9B,SAAS,EACT,MAAM,CAAC,QAAQ,EACf,eAAe,EACf,OAAO,CAAC,mBAAmB,KAAK,IAAI,CACrC,CAAC;IACF,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAE/D,KAAK,MAAM,UAAU,IAAI,KAAK,EAAE,CAAC;QAC/B,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC,CAAC;YAC1E,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GACT,UAAU,KAAK,SAAS;YACtB,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,YAAY,CAAC;YAC1C,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC5B,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAEjE,IAAI,CAAC;YACH,OAAO,MAAM,kBAAkB,CAAmB;gBAChD,UAAU;gBACV,QAAQ;gBACR,OAAO,EAAE,YAAY;gBACrB,KAAK;gBACL,OAAO;gBACP,IAAI,EAAE,QAAQ;gBACd,OAAO;gBACP,QAAQ,EAAE,UAAU;aACrB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC;gBACZ,QAAQ,EAAE,UAAU;gBACpB,OAAO,EAAE,sBAAsB,CAAC,KAAK,CAAC;gBACtC,KAAK;aACN,CAAC,CAAC;YACH,IACE,oBAAoB,CAAC,KAAK,CAAC;gBAC3B,0BAA0B,CAAC,KAAK,CAAC;gBACjC,yDAAyD;gBACzD,+BAA+B;gBAC/B,oBAAoB,CAAC,KAAK,CAAC,EAC3B,CAAC;gBACD,MAAM,sBAAsB,CAC1B,wCAAwC,cAAc,CAAC,QAAQ,CAAC,EAAE,EAClE,QAAQ,EACR,kBAAkB,CAAC,KAAK,CAAC,CAC1B,CAAC;YACJ,CAAC;YACD,iEAAiE;QACnE,CAAC;IACH,CAAC;IAED,MAAM,sBAAsB,CAC1B,wCAAwC,cAAc,CAAC,QAAQ,CAAC,EAAE,EAClE,QAAQ,CACT,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAsB,EACtB,cAAuB;IAEvB,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;IAChD,MAAM,IAAI,GACR,UAAU,KAAK,QAAQ;QACrB,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,IAAI,QAAQ,CAAC,OAAO,EAAE;QACjD,CAAC,CAAC,qBAAqB,CAAC,UAAU,CAAC;YACjC,CAAC,CAAC;gBACE,MAAM,EAAE,cAAc,IAAI,QAAQ,CAAC,MAAM;gBACzC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3D;YACH,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;IACtD,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC"}
package/dist/modes/ask.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { streamWithProvider } from "../llm/router.js";
2
- import { resolveToolDialect } from "../llm/capabilities.js";
2
+ import { modelSupportsVision, resolveToolDialect } from "../llm/capabilities.js";
3
3
  import { syntheticToolCallId } from "../llm/tool-protocol.js";
4
4
  import { renderAskSystemPrompt, renderRequestEnvironmentContext, } from "../prompts/index.js";
5
5
  import { getConfig } from "../store/config.js";
@@ -8,7 +8,7 @@ import { loadProjectContext } from "../store/project.js";
8
8
  import { parseAllToolCalls, formatToolArgs, looksLikePromptLeak } from "../agent/runner.js";
9
9
  import { runToolCall } from "../tools/registry.js";
10
10
  import { getToolDefinitions } from "../tools/definitions.js";
11
- import { appendAssistantWithTools, appendToolResult, } from "../agent/tool-history.js";
11
+ import { appendAssistantWithTools, appendToolResult, ensureUniqueToolCallIds, toolCallIdsInHistory, } from "../agent/tool-history.js";
12
12
  /** Strip tool-call markup so only the model's prose preamble remains. */
13
13
  function stripToolCallSyntax(text) {
14
14
  return text
@@ -42,6 +42,8 @@ function researchResultSummary(call, ok) {
42
42
  return "listed";
43
43
  case "fs.search":
44
44
  return "searched";
45
+ case "image.view":
46
+ return "image attached for visual inspection";
45
47
  default:
46
48
  return "done";
47
49
  }
@@ -53,6 +55,7 @@ const ASK_RESEARCH_TOOLS = new Set([
53
55
  "fs.read",
54
56
  "fs.list",
55
57
  "fs.search",
58
+ "image.view",
56
59
  ]);
57
60
  /** Max research rounds before forcing a final answer (each round may run several tools). */
58
61
  const ASK_MAX_RESEARCH_ROUNDS = 5;
@@ -92,6 +95,7 @@ async function buildAskMessages(prompt, options) {
92
95
  const systemPrompt = renderAskSystemPrompt({
93
96
  nativeTools: native,
94
97
  stableEnvironment: true,
98
+ imageView: modelSupportsVision(provider, model),
95
99
  });
96
100
  const userMessage = { role: "user", content: prompt };
97
101
  if (options.images && options.images.length > 0) {
@@ -161,6 +165,8 @@ async function streamAskRound(request, messages, onToken) {
161
165
  if (completion.toolCalls?.length) {
162
166
  return {
163
167
  text,
168
+ provider: completion.provider,
169
+ model: completion.model,
164
170
  toolCalls: completion.toolCalls.map((tc) => ({
165
171
  name: tc.name,
166
172
  args: tc.args,
@@ -168,30 +174,56 @@ async function streamAskRound(request, messages, onToken) {
168
174
  nativeIds: completion.toolCalls.map((tc) => tc.id),
169
175
  };
170
176
  }
171
- return { text };
177
+ return {
178
+ text,
179
+ provider: completion.provider,
180
+ model: completion.model,
181
+ };
172
182
  }
173
183
  async function resolveAskAnswer(originalPrompt, provider, model, messages, options, onToken) {
174
184
  const config = getConfig();
175
185
  const maxTokens = config.thinking?.enabled ? 8_192 : 4_096;
176
- const native = resolveToolDialect(provider, model, config.toolCalling) !== "none";
177
- // Research tools + agent.handoff (meta; not executed as research — action UX).
178
- const askDefs = native
179
- ? [
180
- ...getToolDefinitions({ askMode: true }).filter((d) => ASK_RESEARCH_TOOLS.has(d.name)),
186
+ const askDefinitions = (routeProvider, routeModel) => {
187
+ const native = resolveToolDialect(routeProvider, routeModel, config.toolCalling) !== "none";
188
+ if (!native)
189
+ return undefined;
190
+ return [
191
+ ...getToolDefinitions({ askMode: true }).filter((definition) => ASK_RESEARCH_TOOLS.has(definition.name) &&
192
+ (definition.name !== "image.view" ||
193
+ modelSupportsVision(routeProvider, routeModel))),
181
194
  ...getToolDefinitions({ names: ["agent.handoff"] }),
182
- ]
183
- : undefined;
184
- const baseRequest = {
185
- provider,
186
- model,
187
- temperature: 0.2,
188
- maxTokens,
189
- thinking: config.thinking,
190
- ...(options.signal ? { signal: options.signal } : {}),
191
- ...(askDefs?.length
192
- ? { tools: askDefs, toolChoice: "auto" }
193
- : {}),
195
+ ];
194
196
  };
197
+ const buildBaseRequest = (routeProvider, routeModel) => {
198
+ const definitions = askDefinitions(routeProvider, routeModel);
199
+ return {
200
+ provider: routeProvider,
201
+ model: routeModel,
202
+ temperature: 0.2,
203
+ maxTokens,
204
+ thinking: config.thinking,
205
+ ...(options.signal ? { signal: options.signal } : {}),
206
+ ...(definitions?.length
207
+ ? { tools: definitions, toolChoice: "auto" }
208
+ : {}),
209
+ };
210
+ };
211
+ const updateSystemPromptForRoute = (routeProvider, routeModel) => {
212
+ if (messages[0]?.role !== "system")
213
+ return;
214
+ const native = resolveToolDialect(routeProvider, routeModel, config.toolCalling) !== "none";
215
+ messages[0] = {
216
+ ...messages[0],
217
+ content: renderAskSystemPrompt({
218
+ nativeTools: native,
219
+ stableEnvironment: true,
220
+ imageView: modelSupportsVision(routeProvider, routeModel),
221
+ }),
222
+ };
223
+ };
224
+ let activeProvider = provider;
225
+ let activeModel = model;
226
+ let baseRequest = buildBaseRequest(activeProvider, activeModel);
195
227
  // Surface research activity (web.search/web.fetch/…) to the UI as tool
196
228
  // events so the user can see what's being searched/fetched.
197
229
  const emit = (event) => options.onEvent?.(event);
@@ -233,6 +265,10 @@ async function resolveAskAnswer(originalPrompt, provider, model, messages, optio
233
265
  for (let round = 0; round < ASK_MAX_RESEARCH_ROUNDS; round += 1) {
234
266
  options.signal?.throwIfAborted();
235
267
  const roundResult = await streamAskRound(baseRequest, messages, onToken);
268
+ activeProvider = roundResult.provider;
269
+ activeModel = roundResult.model;
270
+ baseRequest = buildBaseRequest(activeProvider, activeModel);
271
+ updateSystemPromptForRoute(activeProvider, activeModel);
236
272
  const text = roundResult.text;
237
273
  if (looksLikePromptLeak(text)) {
238
274
  return text;
@@ -243,8 +279,10 @@ async function resolveAskAnswer(originalPrompt, provider, model, messages, optio
243
279
  : parseAllToolCalls(text);
244
280
  const nativeIds = roundResult.nativeIds ??
245
281
  allCalls.map((_, i) => syntheticToolCallId(i));
246
- const calls = allCalls.filter((call) => ASK_RESEARCH_TOOLS.has(call.name));
247
- if (calls.length === 0) {
282
+ const researchCalls = allCalls
283
+ .map((call, sourceIndex) => ({ call, sourceIndex }))
284
+ .filter(({ call }) => ASK_RESEARCH_TOOLS.has(call.name));
285
+ if (researchCalls.length === 0) {
248
286
  const actionCalls = allCalls.filter((call) => !ASK_RESEARCH_TOOLS.has(call.name));
249
287
  if (actionCalls.length > 0) {
250
288
  const handoff = actionCalls.find((call) => call.name === "agent.handoff" || call.name === "agent.run");
@@ -277,21 +315,27 @@ async function resolveAskAnswer(originalPrompt, provider, model, messages, optio
277
315
  // was already streamed to the display.
278
316
  return text;
279
317
  }
280
- // Record the model's tool-call turn, then run the read-only tools and
281
- // feed their outputs back so the next round can synthesize.
282
- if (roundResult.toolCalls?.length) {
283
- appendAssistantWithTools(messages, stripToolCallSyntax(text), roundResult.toolCalls.map((c, i) => ({
284
- id: nativeIds[i] ?? syntheticToolCallId(i),
318
+ const historyNativeCalls = roundResult.toolCalls?.length
319
+ ? ensureUniqueToolCallIds(roundResult.toolCalls.map((c, index) => ({
320
+ id: nativeIds[index] ?? syntheticToolCallId(index),
285
321
  name: c.name,
286
322
  args: c.args,
287
- })));
323
+ })), toolCallIdsInHistory(messages))
324
+ : [];
325
+ // Record the model's tool-call turn, then run the read-only tools and
326
+ // feed their outputs back so the next round can synthesize.
327
+ if (historyNativeCalls.length) {
328
+ appendAssistantWithTools(messages, stripToolCallSyntax(text), historyNativeCalls);
288
329
  }
289
330
  else {
290
331
  messages.push({ role: "assistant", content: text });
291
332
  }
292
- for (const [callIndex, call] of calls
333
+ const viewedImages = [];
334
+ const completedNativeCallIndices = new Set();
335
+ for (const [callIndex, { call, sourceIndex }] of researchCalls
293
336
  .slice(0, ASK_MAX_TOOLS_PER_ROUND)
294
337
  .entries()) {
338
+ completedNativeCallIndices.add(sourceIndex);
295
339
  options.signal?.throwIfAborted();
296
340
  const id = `ask-${(toolSeq += 1)}`;
297
341
  emit({
@@ -302,12 +346,16 @@ async function resolveAskAnswer(originalPrompt, provider, model, messages, optio
302
346
  });
303
347
  let output;
304
348
  let ok = true;
349
+ let resultImages;
305
350
  try {
306
351
  const toolResult = await runToolCall(call, {
307
352
  ...(options.signal ? { signal: options.signal } : {}),
353
+ llmProvider: activeProvider,
354
+ llmModel: activeModel,
308
355
  });
309
356
  output = toolResult.output;
310
357
  ok = toolResult.ok;
358
+ resultImages = toolResult.images;
311
359
  }
312
360
  catch (err) {
313
361
  output = `error: ${err instanceof Error ? err.message : String(err)}`;
@@ -320,9 +368,10 @@ async function resolveAskAnswer(originalPrompt, provider, model, messages, optio
320
368
  summary: researchResultSummary(call, ok),
321
369
  });
322
370
  const resultBody = `Result of ${call.name}(${JSON.stringify(call.args)}):\n${truncateToolOutput(output, call.name)}`;
323
- if (roundResult.toolCalls?.length) {
324
- const sourceIndex = allCalls.indexOf(call);
325
- appendToolResult(messages, nativeIds[sourceIndex] ?? syntheticToolCallId(callIndex), resultBody, call.name, ok);
371
+ if (resultImages?.length)
372
+ viewedImages.push(...resultImages);
373
+ if (historyNativeCalls.length) {
374
+ appendToolResult(messages, historyNativeCalls[sourceIndex]?.id ?? syntheticToolCallId(callIndex), resultBody, call.name, ok);
326
375
  }
327
376
  else {
328
377
  messages.push({
@@ -331,6 +380,28 @@ async function resolveAskAnswer(originalPrompt, provider, model, messages, optio
331
380
  });
332
381
  }
333
382
  }
383
+ if (historyNativeCalls.length) {
384
+ for (const [sourceIndex, omitted] of allCalls.entries()) {
385
+ if (completedNativeCallIndices.has(sourceIndex))
386
+ continue;
387
+ const reason = ASK_RESEARCH_TOOLS.has(omitted.name)
388
+ ? `Skipped ${omitted.name}: Ask mode executes at most ${ASK_MAX_TOOLS_PER_ROUND} read-only tools per research round.`
389
+ : `Skipped ${omitted.name}: it is not a read-only research tool and cannot be combined with this research tool-call group.`;
390
+ appendToolResult(messages, historyNativeCalls[sourceIndex]?.id ?? syntheticToolCallId(sourceIndex), reason, omitted.name, false);
391
+ }
392
+ }
393
+ // Native tool-result messages must stay contiguous with the assistant's
394
+ // tool_calls. Replay image.view bytes only after the complete result group,
395
+ // as an internal user turn — the same multimodal path as user attachments.
396
+ if (viewedImages.length > 0) {
397
+ messages.push({
398
+ role: "user",
399
+ internal: true,
400
+ content: `${viewedImages.length === 1 ? "The image" : `The ${viewedImages.length} images`} requested through image.view ` +
401
+ `${viewedImages.length === 1 ? "is" : "are"} attached now. Inspect the actual pixels before answering.`,
402
+ images: viewedImages,
403
+ });
404
+ }
334
405
  }
335
406
  // Round cap reached — force a tool-free final answer from what we gathered.
336
407
  options.signal?.throwIfAborted();
@@ -1 +1 @@
1
- {"version":3,"file":"ask.js","sourceRoot":"","sources":["../../src/modes/ask.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ask.js","sourceRoot":"","sources":["../../src/modes/ask.ts"],"names":[],"mappings":"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"}