@plurnk/plurnk-providers 1.7.0 → 1.9.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 (91) hide show
  1. package/.env.defaults +25 -13
  2. package/README.md +8 -1
  3. package/SPEC.md +103 -15
  4. package/dist/AiSdkProvider.d.ts +7 -4
  5. package/dist/AiSdkProvider.d.ts.map +1 -1
  6. package/dist/AiSdkProvider.js +150 -53
  7. package/dist/AiSdkProvider.js.map +1 -1
  8. package/dist/Mock.d.ts +2 -1
  9. package/dist/Mock.d.ts.map +1 -1
  10. package/dist/Mock.js +6 -1
  11. package/dist/Mock.js.map +1 -1
  12. package/dist/Pool.d.ts +2 -0
  13. package/dist/Pool.d.ts.map +1 -1
  14. package/dist/Pool.js +3 -0
  15. package/dist/Pool.js.map +1 -1
  16. package/dist/ProviderRegistry.d.ts.map +1 -1
  17. package/dist/ProviderRegistry.js +11 -10
  18. package/dist/ProviderRegistry.js.map +1 -1
  19. package/dist/accounting.d.ts.map +1 -1
  20. package/dist/accounting.js +16 -8
  21. package/dist/accounting.js.map +1 -1
  22. package/dist/aiSdkTransport.d.ts +4 -2
  23. package/dist/aiSdkTransport.d.ts.map +1 -1
  24. package/dist/aiSdkTransport.js +33 -6
  25. package/dist/aiSdkTransport.js.map +1 -1
  26. package/dist/catalogProvider.d.ts +4 -1
  27. package/dist/catalogProvider.d.ts.map +1 -1
  28. package/dist/catalogProvider.js +94 -3
  29. package/dist/catalogProvider.js.map +1 -1
  30. package/dist/compatibleProvider.d.ts.map +1 -1
  31. package/dist/compatibleProvider.js +2 -0
  32. package/dist/compatibleProvider.js.map +1 -1
  33. package/dist/cost.d.ts.map +1 -1
  34. package/dist/cost.js +5 -4
  35. package/dist/cost.js.map +1 -1
  36. package/dist/discover.d.ts +2 -0
  37. package/dist/discover.d.ts.map +1 -1
  38. package/dist/discover.js +13 -2
  39. package/dist/discover.js.map +1 -1
  40. package/dist/env.d.ts +3 -2
  41. package/dist/env.d.ts.map +1 -1
  42. package/dist/env.js +11 -4
  43. package/dist/env.js.map +1 -1
  44. package/dist/index.d.ts +10 -6
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +6 -3
  47. package/dist/index.js.map +1 -1
  48. package/dist/notices.d.ts +1 -1
  49. package/dist/notices.d.ts.map +1 -1
  50. package/dist/openai.d.ts +1 -1
  51. package/dist/openai.d.ts.map +1 -1
  52. package/dist/openai.js +1 -1
  53. package/dist/openai.js.map +1 -1
  54. package/dist/sdkModels.d.ts +2 -0
  55. package/dist/sdkModels.d.ts.map +1 -1
  56. package/dist/sdkModels.js +163 -19
  57. package/dist/sdkModels.js.map +1 -1
  58. package/dist/types.d.ts +10 -2
  59. package/dist/types.d.ts.map +1 -1
  60. package/dist/types.js +10 -1
  61. package/dist/types.js.map +1 -1
  62. package/package.json +9 -9
  63. package/src/AiSdkProvider.test.ts +214 -34
  64. package/src/AiSdkProvider.ts +181 -56
  65. package/src/Mock.test.ts +6 -1
  66. package/src/Mock.ts +6 -1
  67. package/src/Pool.test.ts +1 -0
  68. package/src/Pool.ts +5 -0
  69. package/src/ProviderRegistry.test.ts +27 -14
  70. package/src/ProviderRegistry.ts +19 -10
  71. package/src/accounting.test.ts +30 -2
  72. package/src/accounting.ts +16 -8
  73. package/src/aiSdkTransport.test.ts +3 -0
  74. package/src/aiSdkTransport.ts +38 -8
  75. package/src/catalogProvider.test.ts +151 -19
  76. package/src/catalogProvider.ts +125 -3
  77. package/src/compatibleProvider.test.ts +13 -10
  78. package/src/compatibleProvider.ts +2 -0
  79. package/src/cost.ts +5 -4
  80. package/src/discover.test.ts +27 -0
  81. package/src/discover.ts +20 -3
  82. package/src/env.test.ts +23 -8
  83. package/src/env.ts +18 -9
  84. package/src/errors.test.ts +2 -2
  85. package/src/index.ts +17 -8
  86. package/src/notices.ts +1 -1
  87. package/src/openai.ts +1 -1
  88. package/src/providerDefaults.test.ts +50 -0
  89. package/src/sdkModels.test.ts +142 -8
  90. package/src/sdkModels.ts +201 -19
  91. package/src/types.ts +22 -0
@@ -5,7 +5,9 @@
5
5
  // Composition, not inheritance: an official AI SDK language model supplies the
6
6
  // ordinary vendor protocol. The compatible URL path remains only for PLURNK
7
7
  // extensions and local endpoint probes the SDK cannot represent.
8
+ import { REASONING_POLICIES } from "@plurnk/plurnk-contracts";
8
9
  import { MAX_PROVIDER_TIMEOUT_MS } from "./env.js";
10
+ import { UnsupportedReasoningPolicyError } from "./types.js";
9
11
  import { executeAiSdkModel, executeOpenAICompatible, transportFailureEvidence, } from "./aiSdkTransport.js";
10
12
  import { prepareRetries } from "ai/internal";
11
13
  import { toProviderError, ProviderError, ProviderTimeoutError } from "./errors.js";
@@ -16,6 +18,17 @@ import { resolveProviderCost } from "./cost.js";
16
18
  import { validateProviderRequestAccounting } from "./accounting.js";
17
19
  import { validateProviderUsage } from "./usage.js";
18
20
  import { assessRequestCapacity, effectiveInputCapacity, effectiveOutputBudget, effectiveReasoningBudget } from "./capacity.js";
21
+ const isJsonObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
22
+ const mergeJsonObjects = (left, right) => Object.fromEntries([...new Set([...Object.keys(left), ...Object.keys(right)])].map((key) => {
23
+ const leftValue = left[key];
24
+ const rightValue = right[key];
25
+ return [
26
+ key,
27
+ isJsonObject(leftValue) && isJsonObject(rightValue)
28
+ ? mergeJsonObjects(leftValue, rightValue)
29
+ : rightValue ?? leftValue,
30
+ ];
31
+ }));
19
32
  class ProviderRequestObserverError extends Error {
20
33
  constructor(cause) {
21
34
  super("provider request accounting could not be durably settled", { cause });
@@ -28,6 +41,12 @@ class ProviderRequestAccountingError extends Error {
28
41
  this.name = "ProviderRequestAccountingError";
29
42
  }
30
43
  }
44
+ class ProviderReasoningObserverError extends Error {
45
+ constructor(cause) {
46
+ super("provider reasoning could not be observed", { cause });
47
+ this.name = "ProviderReasoningObserverError";
48
+ }
49
+ }
31
50
  // Drop trailing occurrences of a server-rendered EOG marker. llama-server
32
51
  // under --special renders EOS as literal text, so a raw-EOS-ended turn carries a
33
52
  // trailing <eos> the grammar never sanctioned. Trailing-only + exact-match, so it
@@ -82,19 +101,31 @@ const projectTemplateReasoning = (content) => {
82
101
  }
83
102
  return { content, reasoning: "", projected: false, contentStart: 0 };
84
103
  };
85
- // Shared budget→effort breakpoints (xai and google had identical copies).
86
- export const effortFromBudget = (budget) => {
87
- if (budget <= 1000)
88
- return "low";
89
- if (budget <= 4000)
90
- return "medium";
91
- return "high";
104
+ const fixedEffort = (mode) => {
105
+ if (mode === "low" || mode === "medium" || mode === "high")
106
+ return mode;
107
+ throw new TypeError(`reasoning policy '${mode}' is not a fixed effort`);
108
+ };
109
+ // Anthropic's older manual-reasoning protocol needs an absolute allowance while
110
+ // PLURNK's durable contract names an effort. These fractions match the native
111
+ // SDK's policy projection, but apply to PLURNK's total envelope rather than the
112
+ // model's physical maximum. The minimum is imposed by the provider protocol.
113
+ const MANUAL_REASONING_FRACTIONS = Object.freeze({
114
+ adaptive: 0.6,
115
+ low: 0.1,
116
+ medium: 0.3,
117
+ high: 0.6,
118
+ });
119
+ const MANUAL_REASONING_MINIMUM = 1024;
120
+ const providerWarningMessage = (warning) => {
121
+ switch (warning.type) {
122
+ case "unsupported":
123
+ case "compatibility":
124
+ return `${warning.type} ${warning.feature}${warning.details === undefined ? "" : `: ${warning.details}`}`;
125
+ case "deprecated": return `deprecated ${warning.setting}: ${warning.message}`;
126
+ case "other": return warning.message;
127
+ }
92
128
  };
93
- // AI SDK's portable reasoning control has no boolean-enabled value. `medium`
94
- // is the neutral activation projection for an explicit, unqualified `on`; it
95
- // changes no PLURNK output budget. An operator reasoning subset, when present, remains
96
- // the only input to the existing magnitude-to-tier projection.
97
- const effortFromReasoning = (reasoning) => reasoning.budget === null ? "medium" : effortFromBudget(reasoning.budget);
98
129
  // Body keys the provider owns — a caller's `sampling` passthrough may not set
99
130
  // these. Two families:
100
131
  // transport/managed — grammar transport, the stream/JSON choice, slot pinning,
@@ -136,6 +167,9 @@ export default class AiSdkProvider {
136
167
  #reasoningBudget;
137
168
  #additiveReasoningProvider;
138
169
  #reasoning;
170
+ #supportedReasoningPolicies;
171
+ #adaptiveReasoning;
172
+ #adaptiveReasoningProviderOptions;
139
173
  #temperature;
140
174
  #repeatPenalty;
141
175
  #frequencyPenalty;
@@ -204,6 +238,14 @@ export default class AiSdkProvider {
204
238
  this.#reasoningBudget = config.reasoningBudget ?? null;
205
239
  this.#additiveReasoningProvider = config.additiveReasoningProvider;
206
240
  this.#reasoning = config.reasoning;
241
+ this.#supportedReasoningPolicies = Object.freeze([
242
+ ...new Set(config.supportedReasoningPolicies ?? REASONING_POLICIES),
243
+ ]);
244
+ this.#adaptiveReasoning = config.adaptiveReasoning ?? "high";
245
+ this.#adaptiveReasoningProviderOptions = config.adaptiveReasoningProviderOptions;
246
+ if (!this.#supportedReasoningPolicies.includes(this.#reasoning.mode)) {
247
+ throw new UnsupportedReasoningPolicyError(config.source ?? "provider", this.#reasoning.mode, this.#supportedReasoningPolicies);
248
+ }
207
249
  // Loud guard: an out-of-date consumer (stale plugin dist) omitting the
208
250
  // required tuning fields must fail at construction, not silently send
209
251
  // undefined sampling on every grammar request.
@@ -249,6 +291,9 @@ export default class AiSdkProvider {
249
291
  if (this.#languageModel === undefined && this.#reasoningResponseProviderOptions !== undefined) {
250
292
  throw new Error(`${this.#source}: reasoning response provider options require an AI SDK model`);
251
293
  }
294
+ if (this.#languageModel === undefined && this.#additiveReasoningProvider !== undefined) {
295
+ throw new Error(`${this.#source}: additive reasoning projection requires an AI SDK model`);
296
+ }
252
297
  if (this.#cacheAffinity?.target === "provider-option"
253
298
  && Object.hasOwn(this.#reasoningResponseProviderOptions?.[this.#cacheAffinity.provider] ?? {}, this.#cacheAffinity.name)) {
254
299
  throw new Error(`${this.#source}: reasoning response options conflict with cache-affinity option ${this.#cacheAffinity.provider}.${this.#cacheAffinity.name}`);
@@ -287,16 +332,12 @@ export default class AiSdkProvider {
287
332
  throw new Error(`${this.#source}: reasoning intent and generation envelope disagree on reasoningBudget`);
288
333
  }
289
334
  if (this.#reasoningStyle === "anthropic"
290
- && this.#reasoning.mode === "on"
335
+ && this.#reasoning.mode !== "off"
336
+ && this.#reasoning.mode !== "adaptive"
291
337
  && this.#reasoning.budget === null
292
338
  && this.#reasoningBudget === null) {
293
339
  throw new Error(`${this.#source}: explicit Anthropic reasoning requires PLURNK_PROVIDERS_REASONING_BUDGET`);
294
340
  }
295
- if (this.#additiveReasoningProvider !== undefined
296
- && this.#reasoning.mode === "on"
297
- && this.#reasoningBudget === null) {
298
- throw new Error(`${this.#source}: explicit ${this.#additiveReasoningProvider} reasoning requires PLURNK_PROVIDERS_REASONING_BUDGET so the total output budget remains bounded`);
299
- }
300
341
  if (this.#requiresOutputBudget === true && this.#outputBudget === null) {
301
342
  throw new Error(`${this.#source}: this backend requires a resolved PLURNK_PROVIDERS_OUTPUT_BUDGET`);
302
343
  }
@@ -326,6 +367,7 @@ export default class AiSdkProvider {
326
367
  get maxOutputTokens() { return this.#maxOutputTokens; }
327
368
  get outputBudget() { return this.#outputBudget; }
328
369
  get reasoningBudget() { return this.#reasoningBudget; }
370
+ get supportedReasoningPolicies() { return this.#supportedReasoningPolicies; }
329
371
  get inputCapacity() {
330
372
  return effectiveInputCapacity({
331
373
  contextWindow: this.#contextWindow,
@@ -415,7 +457,7 @@ export default class AiSdkProvider {
415
457
  case "template": {
416
458
  const allowance = mode === "off"
417
459
  ? 0
418
- : mode === "on" && budget !== null ? budget : this.#reasoningBudget;
460
+ : budget;
419
461
  return {
420
462
  chat_template_kwargs: { enable_thinking: on },
421
463
  reasoning_format: preserveGrammarSentence ? "none" : "auto",
@@ -424,9 +466,9 @@ export default class AiSdkProvider {
424
466
  }
425
467
  case "think": return on ? { think: true } : {};
426
468
  case "include_reasoning": return on ? { include_reasoning: true } : {};
427
- // Explicit on uses the portable enabled posture or a tier derived
428
- // from an explicit budget; off/adaptive omit the field.
429
- case "effort": return mode === "on" ? { reasoning_effort: effortFromReasoning({ mode, budget }) } : {};
469
+ case "effort": return mode === "off"
470
+ ? {}
471
+ : { reasoning_effort: mode === "adaptive" ? "high" : fixedEffort(mode) };
430
472
  // Fireworks enum: OFF is sent EXPLICITLY ("none") — omission leaves a
431
473
  // reason-by-default model (DeepSeek V4: default 'high') reasoning.
432
474
  // ADAPTIVE omits the field: the backend's own default posture IS the
@@ -436,25 +478,23 @@ export default class AiSdkProvider {
436
478
  // efforts 400.
437
479
  case "effort_explicit": return mode === "off"
438
480
  ? { reasoning_effort: "none" }
439
- : mode === "on" ? { reasoning_effort: effortFromReasoning({ mode, budget }) } : {};
481
+ : mode === "adaptive" ? {} : { reasoning_effort: fixedEffort(mode) };
440
482
  // {§deepseek-reasoning-request}
441
483
  case "thinking_effort": return mode === "off"
442
484
  ? { thinking: { type: "disabled" } }
443
- : mode === "on" ? {
485
+ : mode === "adaptive" ? { thinking: { type: "enabled" } } : {
444
486
  thinking: { type: "enabled" },
445
- ...(budget === null ? {} : { reasoning_effort: effortFromBudget(budget) }),
446
- } : {};
447
- // Anthropic compat: explicit thinking object. off → disabled; on →
448
- // enabled with the explicit reasoning subset; adaptive →
449
- // omit (the API default).
487
+ reasoning_effort: fixedEffort(mode),
488
+ };
489
+ // Anthropic-compatible native dynamic or manual budget mode.
450
490
  case "anthropic": return mode === "off"
451
491
  ? { thinking: { type: "disabled" } }
452
- : mode === "on" ? {
492
+ : mode === "adaptive" ? { thinking: { type: "adaptive" } } : {
453
493
  thinking: {
454
494
  type: "enabled",
455
495
  budget_tokens: budget,
456
496
  },
457
- } : {};
497
+ };
458
498
  case "none": return {};
459
499
  }
460
500
  }
@@ -601,21 +641,25 @@ export default class AiSdkProvider {
601
641
  out[k] = v;
602
642
  return out;
603
643
  }
604
- #requestProviderOptions(workerId, reasoningBudget) {
644
+ #requestProviderOptions(workerId, nativeReasoningBudget) {
605
645
  const responseOptions = this.#reasoning.mode === "off"
606
646
  ? undefined
607
647
  : this.#reasoningResponseProviderOptions;
608
- const nativeReasoning = this.#reasoning.mode === "on" && reasoningBudget !== null
648
+ const adaptiveOptions = this.#reasoning.mode === "adaptive"
649
+ && nativeReasoningBudget === null
650
+ ? this.#adaptiveReasoningProviderOptions
651
+ : undefined;
652
+ const nativeReasoning = nativeReasoningBudget !== null
609
653
  ? this.#additiveReasoningProvider === "anthropic"
610
- ? { anthropic: { thinking: { type: "enabled", budgetTokens: reasoningBudget } } }
654
+ ? { anthropic: { thinking: { type: "enabled", budgetTokens: nativeReasoningBudget } } }
611
655
  : this.#additiveReasoningProvider === "bedrock"
612
- ? { bedrock: { reasoningConfig: { type: "enabled", budgetTokens: reasoningBudget } } }
656
+ ? { bedrock: { reasoningConfig: { type: "enabled", budgetTokens: nativeReasoningBudget } } }
613
657
  : undefined
614
658
  : undefined;
615
659
  const options = {};
616
- for (const part of [responseOptions, nativeReasoning]) {
660
+ for (const part of [responseOptions, adaptiveOptions, nativeReasoning]) {
617
661
  for (const [provider, values] of Object.entries(part ?? {})) {
618
- options[provider] = { ...options[provider], ...values };
662
+ options[provider] = mergeJsonObjects(options[provider] ?? {}, values);
619
663
  }
620
664
  }
621
665
  if (this.#cacheAffinity?.target === "provider-option") {
@@ -624,15 +668,29 @@ export default class AiSdkProvider {
624
668
  }
625
669
  return Object.keys(options).length === 0 ? undefined : options;
626
670
  }
627
- #nativeMaxOutputTokens(outputBudget, reasoningBudget) {
671
+ #nativeMaxOutputTokens(outputBudget, nativeReasoningBudget) {
628
672
  if (outputBudget === null)
629
673
  return undefined;
630
- return this.#additiveReasoningProvider !== undefined
631
- && this.#reasoning.mode === "on"
632
- && reasoningBudget !== null
633
- ? outputBudget - reasoningBudget
674
+ return nativeReasoningBudget !== null
675
+ ? outputBudget - nativeReasoningBudget
634
676
  : outputBudget;
635
677
  }
678
+ #nativeReasoningBudget(outputBudget, configuredReasoningBudget) {
679
+ if (this.#additiveReasoningProvider === undefined || this.#reasoning.mode === "off")
680
+ return null;
681
+ if (configuredReasoningBudget !== null)
682
+ return configuredReasoningBudget;
683
+ if (this.#adaptiveReasoningProviderOptions !== undefined)
684
+ return null;
685
+ if (outputBudget === null) {
686
+ throw new TypeError(`${this.#source}: manual provider reasoning requires a resolved total output budget`);
687
+ }
688
+ if (outputBudget <= MANUAL_REASONING_MINIMUM) {
689
+ throw new TypeError(`${this.#source}: total output budget must exceed the provider's ${MANUAL_REASONING_MINIMUM}-token minimum reasoning allowance`);
690
+ }
691
+ const fraction = MANUAL_REASONING_FRACTIONS[this.#reasoning.mode];
692
+ return Math.min(outputBudget - 1, Math.max(MANUAL_REASONING_MINIMUM, Math.round(outputBudget * fraction)));
693
+ }
636
694
  #accounting(outcome, usage, evidence, status) {
637
695
  const knownUsage = usage === undefined ? undefined : validateProviderUsage(usage);
638
696
  const direct = this.#normalizeCost?.(evidence);
@@ -645,7 +703,7 @@ export default class AiSdkProvider {
645
703
  cost: resolveProviderCost(direct, this.#estimateCost(knownUsage)),
646
704
  });
647
705
  }
648
- async generate({ messages, workerId, primaryWorkerId, signal, grammar, maxOutputTokens, attributions, client, strikes, workspaceId, loop, turn, sampling, observeRequest, callKind }) {
706
+ async generate({ messages, workerId, primaryWorkerId, signal, grammar, maxOutputTokens, attributions, client, strikes, workspaceId, loop, turn, sampling, observeRequest, observeReasoning, callKind }) {
649
707
  // {§provider-interface} The worker identity is required.
650
708
  if (workerId === undefined || workerId.length === 0)
651
709
  throw new Error("generate: workerId is required — the worker's stable, opaque identity");
@@ -671,6 +729,7 @@ export default class AiSdkProvider {
671
729
  throw new ProviderError(this.#source, "capacity_exceeded", `The exact provider request uses ${capacity.prompt.tokens} input tokens, exceeding its ${capacity.inputCapacity} token input capacity.`, { capacity, extensions: { capacityStage: "preflight", capacity } });
672
730
  }
673
731
  const effectiveMaxOutputTokens = capacity.outputBudget ?? undefined;
732
+ const nativeReasoningBudget = this.#nativeReasoningBudget(capacity.outputBudget, capacity.reasoningBudget);
674
733
  // Assembly order = precedence: the family's sampling DEFAULTS
675
734
  // (PLURNK_PROVIDERS_TEMPERATURE — universal, measured on grammar
676
735
  // paths and the name promises every request) < the caller's `sampling`
@@ -712,7 +771,27 @@ export default class AiSdkProvider {
712
771
  : operationTimeout === undefined
713
772
  ? signal
714
773
  : AbortSignal.any([signal, operationTimeout]);
774
+ const emitReasoning = observeReasoning === undefined
775
+ ? undefined
776
+ : (delta) => {
777
+ if (delta.length === 0)
778
+ return;
779
+ try {
780
+ observeReasoning(delta);
781
+ }
782
+ catch (cause) {
783
+ throw new ProviderReasoningObserverError(cause);
784
+ }
785
+ };
786
+ let successfulReasoningStream = "";
715
787
  const executeRequest = async () => {
788
+ let requestReasoningStream = "";
789
+ const observeRequestReasoning = emitReasoning === undefined
790
+ ? undefined
791
+ : (delta) => {
792
+ requestReasoningStream += delta;
793
+ emitReasoning(delta);
794
+ };
716
795
  let settle;
717
796
  try {
718
797
  settle = await observeRequest?.({
@@ -778,11 +857,12 @@ export default class AiSdkProvider {
778
857
  streamIdleTimeoutMs: this.#streamIdleTimeoutMs,
779
858
  streaming: this.#streaming,
780
859
  captureRawBody: this.#rawBody,
860
+ ...(observeRequestReasoning === undefined ? {} : { observeReasoning: observeRequestReasoning }),
781
861
  })
782
862
  : await executeAiSdkModel({
783
863
  languageModel: this.#languageModel,
784
864
  headers: requestHeaders,
785
- providerOptions: this.#requestProviderOptions(workerId, capacity.reasoningBudget),
865
+ providerOptions: this.#requestProviderOptions(workerId, nativeReasoningBudget),
786
866
  systemProviderOptions: this.#systemCacheProviderOptions,
787
867
  messages,
788
868
  signal: operationSignal,
@@ -791,6 +871,7 @@ export default class AiSdkProvider {
791
871
  streamIdleTimeoutMs: this.#streamIdleTimeoutMs,
792
872
  streaming: this.#streaming,
793
873
  captureRawBody: this.#rawBody,
874
+ ...(observeRequestReasoning === undefined ? {} : { observeReasoning: observeRequestReasoning }),
794
875
  temperature: this.#tuningFloors
795
876
  ? (typeof sampling?.temperature === "number" ? sampling.temperature : this.#temperature)
796
877
  : typeof sampling?.temperature === "number" ? sampling.temperature : undefined,
@@ -806,17 +887,12 @@ export default class AiSdkProvider {
806
887
  ? sampling.stop
807
888
  : undefined,
808
889
  seed: typeof sampling?.seed === "number" ? sampling.seed : undefined,
809
- maxOutputTokens: this.#nativeMaxOutputTokens(capacity.outputBudget, capacity.reasoningBudget),
890
+ maxOutputTokens: this.#nativeMaxOutputTokens(capacity.outputBudget, nativeReasoningBudget),
810
891
  reasoning: this.#reasoning.mode === "off"
811
892
  ? "none"
812
893
  : this.#reasoning.mode === "adaptive"
813
- ? "provider-default"
814
- : this.#additiveReasoningProvider !== undefined && capacity.reasoningBudget !== null
815
- ? "provider-default"
816
- : effortFromReasoning({
817
- mode: this.#reasoning.mode,
818
- budget: capacity.reasoningBudget,
819
- }),
894
+ ? this.#adaptiveReasoning
895
+ : fixedEffort(this.#reasoning.mode),
820
896
  });
821
897
  }
822
898
  catch (error) {
@@ -824,6 +900,7 @@ export default class AiSdkProvider {
824
900
  await settleAccounting("error", failure.usage, failure.chargeEvidence, failure.status);
825
901
  throw error;
826
902
  }
903
+ successfulReasoningStream = requestReasoningStream;
827
904
  await settleAccounting("response", response.usage, response.chargeEvidence);
828
905
  return response;
829
906
  };
@@ -837,7 +914,8 @@ export default class AiSdkProvider {
837
914
  }
838
915
  catch (err) {
839
916
  if (err instanceof ProviderRequestObserverError
840
- || err instanceof ProviderRequestAccountingError)
917
+ || err instanceof ProviderRequestAccountingError
918
+ || err instanceof ProviderReasoningObserverError)
841
919
  throw err.cause;
842
920
  if (signal?.aborted)
843
921
  throw err;
@@ -913,7 +991,26 @@ export default class AiSdkProvider {
913
991
  raw.content = projectedReasoning.content;
914
992
  raw.reasoning = projectedReasoning.reasoning;
915
993
  }
994
+ if (emitReasoning !== undefined
995
+ && raw.reasoning.length > 0
996
+ && successfulReasoningStream !== raw.reasoning) {
997
+ const missing = raw.reasoning.startsWith(successfulReasoningStream)
998
+ ? raw.reasoning.slice(successfulReasoningStream.length)
999
+ : successfulReasoningStream.length === 0
1000
+ ? raw.reasoning
1001
+ : `\n${raw.reasoning}`;
1002
+ emitReasoning(missing);
1003
+ }
916
1004
  let notices;
1005
+ for (const warning of raw.warnings) {
1006
+ (notices ??= []).push({
1007
+ source: this.#source,
1008
+ kind: "provider_warning",
1009
+ level: "warn",
1010
+ message: providerWarningMessage(warning),
1011
+ position: null,
1012
+ });
1013
+ }
917
1014
  const usage = raw.usage;
918
1015
  if (sendGrammar !== undefined
919
1016
  && this.tokenize !== undefined
@@ -1 +1 @@
1
- {"version":3,"file":"AiSdkProvider.js","sourceRoot":"","sources":["../src/AiSdkProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AiSdkProvider.js","sourceRoot":"","sources":["../src/AiSdkProvider.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,oEAAoE;AACpE,wEAAwE;AACxE,EAAE;AACF,+EAA+E;AAC/E,4EAA4E;AAC5E,iEAAiE;AAmBjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,uBAAuB,EAA+C,MAAM,UAAU,CAAC;AAChG,OAAO,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EACH,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,GAC3B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnF,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,iCAAiC,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAkB/H,MAAM,YAAY,GAAG,CAAC,KAA4B,EAAsC,EAAE,CACtF,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEzE,MAAM,gBAAgB,GAAG,CACrB,IAA2C,EAC3C,KAA4C,EACP,EAAE,CAAC,MAAM,CAAC,WAAW,CAC1D,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;IACpE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,OAAO;QACH,GAAG;QACH,YAAY,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC;YAC/C,CAAC,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC;YACzC,CAAC,CAAC,UAAU,IAAI,SAAS;KAChC,CAAC;AACN,CAAC,CAAC,CACL,CAAC;AAgIF,MAAM,4BAA6B,SAAQ,KAAK;IAC5C,YAAY,KAAc;QACtB,KAAK,CAAC,0DAA0D,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC/C,CAAC;CACJ;AAED,MAAM,8BAA+B,SAAQ,KAAK;IAC9C,YAAY,KAAc;QACtB,KAAK,CAAC,qDAAqD,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;IACjD,CAAC;CACJ;AAED,MAAM,8BAA+B,SAAQ,KAAK;IAC9C,YAAY,KAAc;QACtB,KAAK,CAAC,0CAA0C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;IACjD,CAAC;CACJ;AAED,0EAA0E;AAC1E,iFAAiF;AACjF,kFAAkF;AAClF,mFAAmF;AACnF,6DAA6D;AAC7D,MAAM,oBAAoB,GAAG,CAAC,OAAe,EAAE,MAAc,EAAU,EAAE;IACrE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IACxC,IAAI,GAAG,GAAG,OAAO,CAAC;IAClB,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChE,OAAO,GAAG,CAAC;AACf,CAAC,CAAC;AASF,MAAM,uBAAuB,GAAG,CAC5B,OAAe,EACf,mBAA2B,EAC3B,OAAe,EACf,OAAe,EACU,EAAE;IAC3B,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACjE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IAC1F,CAAC;IACD,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9D,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;QACtB,OAAO;YACH,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YACxC,SAAS,EAAE,IAAI;YACf,YAAY,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,MAAM;SACpC,CAAC;IACN,CAAC;IACD,MAAM,WAAW,GAAG,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAClD,OAAO;QACH,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC;QACnC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC;QACtD,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM;KAC1D,CAAC;AACN,CAAC,CAAC;AAEF,+EAA+E;AAC/E,+EAA+E;AAC/E,6EAA6E;AAC7E,MAAM,sBAAsB,GAAG,CAC3B,OAAe,EACf,mBAA2B,EAC3B,KAA6B,EACJ,EAAE,CAAC,KAAK,KAAK,YAAY;IAClD,CAAC,CAAC,uBAAuB,CAAC,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,UAAU,CAAC;IAC9E,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;AAErF,gFAAgF;AAChF,6EAA6E;AAC7E,iFAAiF;AACjF,6DAA6D;AAC7D,MAAM,wBAAwB,GAAG,CAAC,OAAe,EAA6B,EAAE;IAC5E,KAAK,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI;QAC7B,CAAC,qBAAqB,EAAE,YAAY,CAAC;QACrC,CAAC,WAAW,EAAE,UAAU,CAAC;KACnB,EAAE,CAAC;QACT,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,uBAAuB,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACnG,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;AACzE,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,IAAqB,EAA6B,EAAE;IACrE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACxE,MAAM,IAAI,SAAS,CAAC,qBAAqB,IAAI,yBAAyB,CAAC,CAAC;AAC5E,CAAC,CAAC;AAEF,gFAAgF;AAChF,8EAA8E;AAC9E,gFAAgF;AAChF,6EAA6E;AAC7E,MAAM,0BAA0B,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7C,QAAQ,EAAE,GAAG;IACb,GAAG,EAAE,GAAG;IACR,MAAM,EAAE,GAAG;IACX,IAAI,EAAE,GAAG;CAC8C,CAAC,CAAC;AAC7D,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAEtC,MAAM,sBAAsB,GAAG,CAAC,OAAoB,EAAU,EAAE;IAC5D,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,aAAa,CAAC;QACnB,KAAK,eAAe;YAChB,OAAO,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9G,KAAK,YAAY,EAAE,OAAO,cAAc,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;QAC9E,KAAK,OAAO,EAAE,OAAO,OAAO,CAAC,OAAO,CAAC;IACzC,CAAC;AACL,CAAC,CAAC;AAEF,8EAA8E;AAC9E,uBAAuB;AACvB,iFAAiF;AACjF,6FAA6F;AAC7F,2EAA2E;AAC3E,gFAAgF;AAChF,iFAAiF;AACjF,+EAA+E;AAC/E,mFAAmF;AACnF,oDAAoD;AACpD,8EAA8E;AAC9E,yEAAyE;AACzE,4EAA4E;AAC5E,iDAAiD;AACjD,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC;IACpD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc;IACpH,kBAAkB,EAAE,kBAAkB,EAAE,UAAU,EAAE,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,qCAAqC;IACzK,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,qBAAqB;IAChF,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,uBAAuB;IAC1E,kBAAkB;CACrB,CAAC,CAAC;AAEH,MAAM,CAAC,OAAO,OAAO,aAAa;IAC9B,MAAM,CAAS;IACf,IAAI,CAAqB;IACzB,cAAc,CAA4B;IAC1C,eAAe,CAAS;IACxB,mBAAmB,CAAS;IAC5B,sBAAsB,CAAS;IAC/B,oBAAoB,CAAqB;IACzC,QAAQ,CAAyB;IACjC,MAAM,CAAgB;IACtB,UAAU,GAAG,KAAK,CAAC;IACnB,sBAAsB,CAAqB;IAC3C,QAAQ,CAAqB;IAC7B,cAAc,CAAgB;IAC9B,eAAe,CAAgB;IAC/B,gBAAgB,CAAgB;IAChC,aAAa,CAAgB;IAC7B,gBAAgB,CAAgB;IAChC,0BAA0B,CAAsC;IAChE,UAAU,CAAY;IACtB,2BAA2B,CAA6B;IACxD,kBAAkB,CAA8B;IAChD,iCAAiC,CAAmC;IACpE,YAAY,CAAS;IACrB,cAAc,CAAS;IACvB,iBAAiB,CAAS;IAC1B,cAAc,CAAqB;IACnC,QAAQ,CAAqB;IAC7B,iBAAiB,CAAqB;IACtC,YAAY,CAAqB;IACjC,eAAe,CAAiB;IAChC,uBAAuB,CAAyB;IAChD,kBAAkB,CAAuH;IACzI,gBAAgB,CAAqB;IACrC,aAAa,CAAqD;IAClE,cAAc,CAA0B;IACxC,OAAO,CAAS;IAChB,aAAa,CAAe;IAC5B,cAAc,CAA4B;IAC1C,2BAA2B,CAAmC;IAC9D,iCAAiC,CAAmC;IACpE,YAAY,CAAqB;IACjC,UAAU,CAAU;IACpB,UAAU,CAAU;IACpB,mBAAmB,CAAU;IAC7B,oBAAoB,CAAU;IAC9B,UAAU,CAAgB;IAC1B,cAAc,CAAS;IACvB,iBAAiB,CAAqB;IACtC,YAAY,CAAgB;IAC5B,aAAa,CAAU;IACvB,QAAQ,CAAU;IAClB,YAAY,CAAqB;IACjC,qBAAqB,CAAsB;IAClC,YAAY,CAA4D;IAEjF,mGAAmG;IACnG,wEAAwE;IACxE,2EAA2E;IAC3E,wDAAwD;IACxD,QAAQ,CAAuC;IAC/C,YAAY,MAA2B;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,UAAU,+DAA+D,CAAC,CAAC;QACnH,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI;YACxB,CAAC,gBAAgB,EAAE,MAAM,CAAC,cAAc,CAAC;YACzC,CAAC,oBAAoB,EAAE,MAAM,CAAC,kBAAkB,CAAC;YACjD,CAAC,uBAAuB,EAAE,MAAM,CAAC,qBAAqB,CAAC;YACvD,CAAC,qBAAqB,EAAE,MAAM,CAAC,mBAAmB,CAAC;SAC7C,EAAE,CAAC;YACT,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,uBAAuB,CAAC,EAAE,CAAC;gBACpG,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,UAAU,KAAK,IAAI,sCAAsC,uBAAuB,eAAe,CAAC,CAAC;YACzI,CAAC;QACL,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,kBAAkB,CAAC;QACrD,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,qBAAqB,CAAC;QAC3D,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,mBAAmB,CAAC;QACvD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC;QACnD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC;QACrD,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC;QACvD,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC;QACjD,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC;QACvD,IAAI,CAAC,0BAA0B,GAAG,MAAM,CAAC,yBAAyB,CAAC;QACnE,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,2BAA2B,GAAG,MAAM,CAAC,MAAM,CAAC;YAC7C,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,0BAA0B,IAAI,kBAAkB,CAAC;SACtE,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC;QAC7D,IAAI,CAAC,iCAAiC,GAAG,MAAM,CAAC,gCAAgC,CAAC;QACjF,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,+BAA+B,CACrC,MAAM,CAAC,MAAM,IAAI,UAAU,EAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,EACpB,IAAI,CAAC,2BAA2B,CACnC,CAAC;QACN,CAAC;QACD,uEAAuE;QACvE,sEAAsE;QACtE,+CAA+C;QAC/C,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;YACrF,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,UAAU,6GAA6G,CAAC,CAAC;QACjK,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,iBAAiB,GAAG,OAAO,MAAM,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QACnG,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC;QACvD,IAAI,CAAC,uBAAuB,GAAG,MAAM,CAAC,sBAAsB,IAAI,UAAU,CAAC;QAC3E,IAAI,MAAM,CAAC,iBAAiB,KAAK,SAAS,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACjF,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,UAAU,4DAA4D,CAAC,CAAC;QAChH,CAAC;QACD,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY;eACjC,CAAC,GAAG,EAAE,CAAC,CAAC;gBACP,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,qEAAqE;aAChF,CAAC,CAAC,CAAC;QACR,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,IAAI,UAAU,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC;QACnD,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,2BAA2B,GAAG,MAAM,CAAC,0BAA0B,CAAC;QACrE,IAAI,CAAC,iCAAiC,GAAG,MAAM,CAAC,gCAAgC,CAAC;QACjF,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE,MAAM,KAAK,iBAAiB,EAAE,CAAC;YACzF,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,kEAAkE,CAAC,CAAC;QACvG,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;YAC9E,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,yDAAyD,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,IAAI,CAAC,2BAA2B,KAAK,SAAS,EAAE,CAAC;YACtF,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,yDAAyD,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,IAAI,CAAC,iCAAiC,KAAK,SAAS,EAAE,CAAC;YAC5F,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,+DAA+D,CAAC,CAAC;QACpG,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,IAAI,CAAC,0BAA0B,KAAK,SAAS,EAAE,CAAC;YACrF,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,0DAA0D,CAAC,CAAC;QAC/F,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE,MAAM,KAAK,iBAAiB;eAC9C,MAAM,CAAC,MAAM,CACZ,IAAI,CAAC,iCAAiC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,EAC5E,IAAI,CAAC,cAAc,CAAC,IAAI,CAC3B,EAAE,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,oEAAoE,IAAI,CAAC,cAAc,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;QACnK,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC;QAC3C,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,kBAAkB,IAAI,KAAK,CAAC;QAC9D,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,qBAAqB,CAAC;QAC3D,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,eAAe,IAAI,IAAI,CAAC,QAAQ,CAAC;QACnD,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,mBAAmB,IAAI,KAAK,CAAC;QAChE,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC;QAC3C,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,oBAAoB,CAAC;QACzD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI;YACxB,CAAC,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC;YACtC,CAAC,gBAAgB,EAAE,IAAI,CAAC,eAAe,CAAC;YACxC,CAAC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,CAAC;YAC1C,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC;YACpC,CAAC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,CAAC;SACpC,EAAE,CAAC;YACT,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC;gBACjE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,0CAA0C,CAAC,CAAC;YACxF,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI;eAC3B,IAAI,CAAC,aAAa,KAAK,IAAI;eAC3B,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,+DAA+D,CAAC,CAAC;QACpG,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,wEAAwE,CAAC,CAAC;QAC7G,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,KAAK,WAAW;eACjC,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,KAAK;eAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,UAAU;eACnC,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,IAAI;eAC/B,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,2EAA2E,CAAC,CAAC;QAChH,CAAC;QACD,IAAI,IAAI,CAAC,qBAAqB,KAAK,IAAI,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,mEAAmE,CAAC,CAAC;QACxG,CAAC;QACD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;QAC/B,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,QAAQ,GAAG,KAAK,EAAE,IAAY,EAAqB,EAAE;gBACtD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;oBACvC,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE;oBACjE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oBACvC,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC;wBACxB,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;wBACvD,CAAC,CAAC,EAAE,CAAC;iBACZ,CAAC,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,gCAAgC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC1F,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAyB,CAAC;gBAC9D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;oBACxE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,6CAA6C,CAAC,CAAC;gBAClF,CAAC;gBACD,OAAO,MAAM,CAAC;YAClB,CAAC,CAAC;QACN,CAAC;IACL,CAAC;IAED,IAAI,aAAa,KAAoB,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IAClE,IAAI,cAAc,KAAoB,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IACpE,IAAI,eAAe,KAAoB,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACtE,IAAI,YAAY,KAAoB,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IAChE,IAAI,eAAe,KAAoB,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACtE,IAAI,0BAA0B,KAAiC,OAAO,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;IACzG,IAAI,aAAa;QACb,OAAO,sBAAsB,CAAC;YAC1B,aAAa,EAAE,IAAI,CAAC,cAAc;YAClC,cAAc,EAAE,IAAI,CAAC,eAAe;YACpC,YAAY,EAAE,IAAI,CAAC,aAAa;SACnC,CAAC,CAAC;IACP,CAAC;IACD,IAAI,KAAK,KAAa,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3C,sEAAsE;IACtE,IAAI,WAAW,KAAyB,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACnE,yEAAyE;IACzE,IAAI,oBAAoB,KAA0B,OAAO,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;IACtF,qEAAqE;IACrE,2EAA2E;IAC3E,qEAAqE;IACrE,IAAI,gBAAgB,KAAc,OAAO,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC;IAEzE,KAAK,CAAC,iBAAiB,CACnB,QAAgC,EAChC,MAAoB;QAEpB,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,4BAA4B,CAC/B,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,EAC/C,IAAI,CAAC,OAAO,CACf,CAAC;QACN,CAAC;QAED,MAAM,EAAE,cAAc,EAAE,CAAC;QACzB,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,GAAG,CAAC;gBACpC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC;gBAC3C,CAAC,CAAC,SAAS,CAAC;YAChB,MAAM,aAAa,GAAG,MAAM,KAAK,SAAS;gBACtC,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,OAAO,KAAK,SAAS;oBACnB,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBACtD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE;gBACjE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACjB,KAAK,EAAE,IAAI,CAAC,MAAM;oBAClB,QAAQ;oBACR,GAAG,IAAI,CAAC,cAAc,EAAE;iBAC3B,CAAC;gBACF,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;aACpE,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACf,OAAO,oBAAoB,CACvB,QAAQ,EACR,mDAAmD,QAAQ,CAAC,MAAM,EAAE,CACvE,CAAC;YACN,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAgC,CAAC;YACjE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,IAAK,IAAI,CAAC,YAAuB,GAAG,CAAC,EAAE,CAAC;gBAC5E,OAAO,oBAAoB,CACvB,QAAQ,EACR,iFAAiF,CACpF,CAAC;YACN,CAAC;YACD,OAAO;gBACH,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,IAAI,CAAC,YAAsB;gBACnC,MAAM,EAAE,gDAAgD;aAC3D,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,EAAE,cAAc,EAAE,CAAC;YACzB,OAAO,oBAAoB,CACvB,QAAQ,EACR,gDAAgD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC3G,CAAC;QACN,CAAC;IACL,CAAC;IAED,KAAK,CAAC,qBAAqB,CACvB,QAAgC,EAChC,eAAwB,EACxB,MAAoB;QAEpB,MAAM,YAAY,GAAG,qBAAqB,CAAC;YACvC,SAAS,EAAE,eAAe;YAC1B,UAAU,EAAE,IAAI,CAAC,aAAa;YAC9B,eAAe,EAAE,IAAI,CAAC,gBAAgB;YACtC,aAAa,EAAE,IAAI,CAAC,cAAc;SACrC,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,wBAAwB,CAAC;YAC7C,UAAU,EAAE,IAAI,CAAC,gBAAgB;YACjC,YAAY;SACf,CAAC,CAAC;QACH,OAAO,qBAAqB,CAAC;YACzB,aAAa,EAAE,IAAI,CAAC,cAAc;YAClC,cAAc,EAAE,IAAI,CAAC,eAAe;YACpC,eAAe,EAAE,IAAI,CAAC,gBAAgB;YACtC,YAAY;YACZ,eAAe;YACf,WAAW,EAAE,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC;SAC9D,CAAC,CAAC;IACP,CAAC;IACD,2EAA2E;IAC3E,6EAA6E;IAC7E,4EAA4E;IAC5E,cAAc,CACV,uBAAuB,GAAG,KAAK,EAC/B,eAAe,GAAG,IAAI,CAAC,gBAAgB;QAEvC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,MAAM,MAAM,GAAG,eAAe,CAAC;QAC/B,MAAM,EAAE,GAAG,IAAI,KAAK,KAAK,CAAC;QAC1B,QAAQ,IAAI,CAAC,eAAe,EAAE,CAAC;YAC3B,KAAK,UAAU,EAAE,CAAC;gBACd,MAAM,SAAS,GAAG,IAAI,KAAK,KAAK;oBAC5B,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,MAAM,CAAC;gBACb,OAAO;oBACH,oBAAoB,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE;oBAC7C,gBAAgB,EAAE,uBAAuB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;oBAC3D,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,SAAS,EAAE,CAAC;iBACvE,CAAC;YACN,CAAC;YACD,KAAK,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,KAAK,mBAAmB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,KAAK,QAAQ,EAAE,OAAO,IAAI,KAAK,KAAK;gBAChC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7E,sEAAsE;YACtE,mEAAmE;YACnE,qEAAqE;YACrE,sEAAsE;YACtE,8DAA8D;YAC9D,oEAAoE;YACpE,eAAe;YACf,KAAK,iBAAiB,EAAE,OAAO,IAAI,KAAK,KAAK;gBACzC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE;gBAC9B,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACzE,gCAAgC;YAChC,KAAK,iBAAiB,EAAE,OAAO,IAAI,KAAK,KAAK;gBACzC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE;gBACpC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;oBACxD,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC7B,gBAAgB,EAAE,WAAW,CAAC,IAAI,CAAC;iBACtC,CAAC;YACN,6DAA6D;YAC7D,KAAK,WAAW,EAAE,OAAO,IAAI,KAAK,KAAK;gBACnC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE;gBACpC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;oBACzD,QAAQ,EAAE;wBACN,IAAI,EAAE,SAAS;wBACf,aAAa,EAAE,MAAO;qBACzB;iBACJ,CAAC;YACN,KAAK,MAAM,EAAE,OAAO,EAAE,CAAC;QAC3B,CAAC;IACL,CAAC;IAED,0EAA0E;IAC1E,8EAA8E;IAC9E,0EAA0E;IAC1E,uEAAuE;IACvE,4EAA4E;IAC5E,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtC,SAAS,GAAG,CAAC,CAAC;IAEd,SAAS,CAAC,QAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC;YAAE,OAAO,EAAE,CAAC;QAC7F,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;YAC1C,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;gBAC7C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAe,CAAC,CAAC;YACxE,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,mCAAmC;QACxE,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACnC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,yFAAyF;IACzF,6CAA6C;IAC7C,YAAY,CAAC,OAA2B;QACpC,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QACrC,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;YACzB,uEAAuE;YACvE,gDAAgD;YAChD,KAAK,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;YACzE,KAAK,MAAM,EAAE,OAAO,EAAE,CAAC;QAC3B,CAAC;IACL,CAAC;IAED,0EAA0E;IAC1E,yEAAyE;IACzE,kFAAkF;IAClF,6EAA6E;IAC7E,oFAAoF;IACpF,oEAAoE;IACpE,8DAA8D;IAC9D,yFAAyF;IACzF,8FAA8F;IAC9F,sBAAsB;QAClB,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;YACzB,sEAAsE;YACtE,6EAA6E;YAC7E,6EAA6E;YAC7E,KAAK,UAAU,EAAE,OAAO;gBACpB,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChF,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC/D,cAAc,EAAE,IAAI,CAAC,cAAc;oBACnC,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnE,GAAG,CAAC,IAAI,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAClG,CAAC,CAAC,CAAC,EAAE,CAAC;aACV,CAAC;YACF,KAAK,MAAM,EAAE,OAAO,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxG,CAAC;IACL,CAAC;IAED,oHAAoH;IACpH,6EAA6E;IAC7E,4EAA4E;IAC5E,8EAA8E;IAC9E,yEAAyE;IACzE,qFAAqF;IACrF,yEAAyE;IACzE,sEAAsE;IACtE,gBAAgB,CAAC,YAAkC,EAAE,MAA0B,EAAE,OAA2B,EAAE,QAAgB,EAAE,eAAmC,EAAE,WAA+B,EAAE,IAAwB,EAAE,IAAwB,EAAE,QAAsC;QAC5R,IAAI,CAAC,IAAI,CAAC,mBAAmB;YAAE,OAAO,EAAE,CAAC;QACzC,MAAM,CAAC,GAA2B,EAAE,CAAC;QACrC,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;YAAE,CAAC,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAClH,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,CAAC,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC;QAC3E,IAAI,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC;YAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9G,uCAAuC;QACvC,mEAAmE;QACnE,yEAAyE;QACzE,CAAC,CAAC,kBAAkB,CAAC,GAAG,QAAQ,CAAC;QACjC,wFAAwF;QACxF,sEAAsE;QACtE,wEAAwE;QACxE,oEAAoE;QACpE,yEAAyE;QACzE,0EAA0E;QAC1E,mDAAmD;QACnD,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;YAAE,CAAC,CAAC,uBAAuB,CAAC,GAAG,eAAe,CAAC;QAC9G,iEAAiE;QACjE,oEAAoE;QACpE,uEAAuE;QACvE,kDAAkD;QAClD,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;YAAE,CAAC,CAAC,qBAAqB,CAAC,GAAG,WAAW,CAAC;QAChG,IAAI,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;YAAE,CAAC,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/F,IAAI,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;YAAE,CAAC,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/F,IAAI,QAAQ,KAAK,SAAS;YAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,QAAQ,CAAC;QAC7D,OAAO,CAAC,CAAC;IACb,CAAC;IAED,0GAA0G;IAC1G,wEAAwE;IACxE,+EAA+E;IAC/E,+EAA+E;IAC/E,+EAA+E;IAC/E,0EAA0E;IAC1E,gEAAgE;IAChE,mBAAmB,CAAC,OAAe;QAC/B,IAAI,CAAC;YACD,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,oEAAqE,KAAe,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/H,CAAC;IACL,CAAC;IAED,0EAA0E;IAC1E,4EAA4E;IAC5E,kEAAkE;IAClE,UAAU,CAAC,aAAsC;QAC7C,MAAM,IAAI,GAA4B,EAAE,GAAG,aAAa,EAAE,CAAC;QAC3D,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3D,CAAC;IAED,4EAA4E;IAC5E,4EAA4E;IAC5E,8EAA8E;IAC9E,4EAA4E;IAC5E,8DAA8D;IAC9D,mCAAmC;IACnC,aAAa,CAAC,QAA6C;QACvD,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QACtC,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;YAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1F,OAAO,GAAG,CAAC;IACf,CAAC;IAED,uBAAuB,CACnB,QAAgB,EAChB,qBAAoC;QAEpC,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,KAAK;YAClD,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC;QAC7C,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,UAAU;eACpD,qBAAqB,KAAK,IAAI;YACjC,CAAC,CAAC,IAAI,CAAC,iCAAiC;YACxC,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,eAAe,GAAG,qBAAqB,KAAK,IAAI;YAClD,CAAC,CAAC,IAAI,CAAC,0BAA0B,KAAK,WAAW;gBAC7C,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,qBAAqB,EAAE,EAAE,EAAE;gBACvF,CAAC,CAAC,IAAI,CAAC,0BAA0B,KAAK,SAAS;oBAC3C,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,qBAAqB,EAAE,EAAE,EAAE;oBAC5F,CAAC,CAAC,SAAS;YACnB,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,OAAO,GAAyB,EAAE,CAAC;QACzC,KAAK,MAAM,IAAI,IAAI,CAAC,eAAe,EAAE,eAAe,EAAE,eAAe,CAAC,EAAE,CAAC;YACrE,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC1D,OAAO,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;YAC1E,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE,MAAM,KAAK,iBAAiB,EAAE,CAAC;YACpD,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;YAC/C,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;QACnE,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;IACnE,CAAC;IAED,sBAAsB,CAClB,YAA2B,EAC3B,qBAAoC;QAEpC,IAAI,YAAY,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;QAC5C,OAAO,qBAAqB,KAAK,IAAI;YACjC,CAAC,CAAC,YAAY,GAAG,qBAAqB;YACtC,CAAC,CAAC,YAAY,CAAC;IACvB,CAAC;IAED,sBAAsB,CAClB,YAA2B,EAC3B,yBAAwC;QAExC,IAAI,IAAI,CAAC,0BAA0B,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QACjG,IAAI,yBAAyB,KAAK,IAAI;YAAE,OAAO,yBAAyB,CAAC;QACzE,IAAI,IAAI,CAAC,iCAAiC,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACtE,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YACxB,MAAM,IAAI,SAAS,CACf,GAAG,IAAI,CAAC,OAAO,qEAAqE,CACvF,CAAC;QACN,CAAC;QACD,IAAI,YAAY,IAAI,wBAAwB,EAAE,CAAC;YAC3C,MAAM,IAAI,SAAS,CACf,GAAG,IAAI,CAAC,OAAO,oDAAoD,wBAAwB,oCAAoC,CAClI,CAAC;QACN,CAAC;QACD,MAAM,QAAQ,GAAG,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,GAAG,CACX,YAAY,GAAG,CAAC,EAChB,IAAI,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,CAAC,CAC1E,CAAC;IACN,CAAC;IAED,WAAW,CACP,OAA6C,EAC7C,KAAgC,EAChC,QAA+C,EAC/C,MAAe;QAEf,MAAM,UAAU,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClF,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC/C,OAAO,iCAAiC,CAAC;YACrC,QAAQ,EAAE,IAAI,CAAC,OAAO;YACtB,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,OAAO;YACP,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;YAC3C,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;YAC1D,IAAI,EAAE,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;SACpE,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,QAAQ,EAAwB;QACxN,yDAAyD;QACzD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAC9I,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,UAAU,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC3E,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,mDAAmD;QACnD,uCAAuC;QACvC,MAAM,EAAE,cAAc,EAAE,CAAC;QAEzB,uEAAuE;QACvE,sEAAsE;QACtE,MAAM,WAAW,GAAG,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC;QAC3E,IAAI,WAAW,IAAI,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,mBAAmB,CAAC,OAAQ,CAAC,CAAC;QACvE,MAAM,WAAW,GAAG,WAAW,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,MAAM,uBAAuB,GAAG,WAAW;eACpC,IAAI,CAAC,eAAe,KAAK,UAAU,CAAC;QAE3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;QACrF,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACnC,MAAM,IAAI,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,wDAAwD,CAAC,CAAC;YACjG,CAAC;YACD,MAAM,IAAI,aAAa,CACnB,IAAI,CAAC,OAAO,EACZ,mBAAmB,EACnB,mCAAmC,QAAQ,CAAC,MAAM,CAAC,MAAM,gCAAgC,QAAQ,CAAC,aAAa,wBAAwB,EACvI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,CACrE,CAAC;QACN,CAAC;QACD,MAAM,wBAAwB,GAAG,QAAQ,CAAC,YAAY,IAAI,SAAS,CAAC;QACpE,MAAM,qBAAqB,GAAG,IAAI,CAAC,sBAAsB,CACrD,QAAQ,CAAC,YAAY,EACrB,QAAQ,CAAC,eAAe,CAC3B,CAAC;QAEF,8DAA8D;QAC9D,iEAAiE;QACjE,uEAAuE;QACvE,0CAA0C;QAC1C,MAAM,IAAI,GAA4B;YAClC,oEAAoE;YACpE,yEAAyE;YACzE,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnG,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;YAC/B,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,QAAQ;YACR,GAAG,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,QAAQ,CAAC,eAAe,CAAC;YACzE,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;YACjC,GAAG,CAAC,wBAAwB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,wBAAwB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3F,gEAAgE;YAChE,sEAAsE;YACtE,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1F,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;YAC3B,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,KAAK,MAAM;gBACtC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE;gBAC1C,CAAC,CAAC,EAAE,CAAC;SACZ,CAAC;QAEF,yEAAyE;QACzE,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QACvI,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,IAAI,CAAC,cAAc,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACpD,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAClF,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAgC,EAAE,CAAC;QACnD,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,GAAG,CAAC;YACjD,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC/C,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,eAAe,GAAG,MAAM,KAAK,SAAS;YACxC,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,gBAAgB,KAAK,SAAS;gBAC5B,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;QACtD,MAAM,aAAa,GAAG,gBAAgB,KAAK,SAAS;YAChD,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,CAAC,KAAa,EAAQ,EAAE;gBACtB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO;gBAC/B,IAAI,CAAC;oBACD,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,MAAM,IAAI,8BAA8B,CAAC,KAAK,CAAC,CAAC;gBACpD,CAAC;YACL,CAAC,CAAC;QACN,IAAI,yBAAyB,GAAG,EAAE,CAAC;QACnC,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;YAC9B,IAAI,sBAAsB,GAAG,EAAE,CAAC;YAChC,MAAM,uBAAuB,GAAG,aAAa,KAAK,SAAS;gBACvD,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,CAAC,KAAa,EAAQ,EAAE;oBACtB,sBAAsB,IAAI,KAAK,CAAC;oBAChC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACzB,CAAC,CAAC;YACN,IAAI,MAA6C,CAAC;YAClD,IAAI,CAAC;gBACD,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC;oBAC5B,QAAQ,EAAE,IAAI,CAAC,OAAO;oBACtB,KAAK,EAAE,IAAI,CAAC,MAAM;iBACrB,CAAC,CAAC;YACP,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,IAAI,4BAA4B,CAAC,KAAK,CAAC,CAAC;YAClD,CAAC;YACD,MAAM,gBAAgB,GAAG,KAAK,EAC1B,OAA6C,EAC7C,KAAgC,EAChC,QAA+C,EAC/C,MAAe,EACmB,EAAE;gBACpC,IAAI,iBAA4C,CAAC;gBACjD,IAAI,oBAAoD,CAAC;gBACzD,IAAI,CAAC;oBACD,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC3E,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,oBAAoB,GAAG,EAAE,KAAK,EAAE,CAAC;oBACjC,IAAI,UAAqC,CAAC;oBAC1C,IAAI,CAAC;wBACD,UAAU,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;oBAChF,CAAC;oBAAC,MAAM,CAAC;wBACL,UAAU,GAAG,SAAS,CAAC;oBAC3B,CAAC;oBACD,iBAAiB,GAAG,iCAAiC,CAAC;wBAClD,QAAQ,EAAE,IAAI,CAAC,OAAO;wBACtB,KAAK,EAAE,IAAI,CAAC,MAAM;wBAClB,OAAO;wBACP,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;wBAC3C,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;wBAC1D,IAAI,EAAE;4BACF,IAAI,EAAE,SAAS;4BACf,MAAM,EAAE,wEAAwE;yBACnF;qBACJ,CAAC,CAAC;gBACP,CAAC;gBACD,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACnC,IAAI,CAAC;oBACD,MAAM,MAAM,EAAE,CAAC,iBAAiB,CAAC,CAAC;gBACtC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,MAAM,IAAI,4BAA4B,CAAC,KAAK,CAAC,CAAC;gBAClD,CAAC;gBACD,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;oBACrC,MAAM,IAAI,8BAA8B,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBACzE,CAAC;gBACD,OAAO,iBAAiB,CAAC;YAC7B,CAAC,CAAC;YACF,IAAI,QAAQ,CAAC;YACb,IAAI,CAAC;gBACD,QAAQ,GAAG,IAAI,CAAC,cAAc,KAAK,SAAS;oBACxC,CAAC,CAAC,MAAM,uBAAuB,CAAC;wBAC5B,GAAG,EAAE,IAAI,CAAC,IAAK;wBACf,KAAK,EAAE,IAAI,CAAC,MAAM;wBAClB,OAAO,EAAE,cAAc;wBACvB,IAAI;wBACJ,QAAQ;wBACR,MAAM,EAAE,eAAe;wBACvB,KAAK,EAAE,IAAI,CAAC,MAAM;wBAClB,cAAc,EAAE,IAAI,CAAC,eAAe;wBACpC,qBAAqB,EAAE,IAAI,CAAC,sBAAsB;wBAClD,mBAAmB,EAAE,IAAI,CAAC,oBAAoB;wBAC9C,SAAS,EAAE,IAAI,CAAC,UAAU;wBAC1B,cAAc,EAAE,IAAI,CAAC,QAAQ;wBAC7B,GAAG,CAAC,uBAAuB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,CAAC;qBAClG,CAAC;oBACF,CAAC,CAAC,MAAM,iBAAiB,CAAC;wBACtB,aAAa,EAAE,IAAI,CAAC,cAAc;wBAClC,OAAO,EAAE,cAAc;wBACvB,eAAe,EAAE,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,qBAAqB,CAAC;wBAC9E,qBAAqB,EAAE,IAAI,CAAC,2BAA2B;wBACvD,QAAQ;wBACR,MAAM,EAAE,eAAe;wBACvB,cAAc,EAAE,IAAI,CAAC,eAAe;wBACpC,qBAAqB,EAAE,IAAI,CAAC,sBAAsB;wBAClD,mBAAmB,EAAE,IAAI,CAAC,oBAAoB;wBAC9C,SAAS,EAAE,IAAI,CAAC,UAAU;wBAC1B,cAAc,EAAE,IAAI,CAAC,QAAQ;wBAC7B,GAAG,CAAC,uBAAuB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,CAAC;wBAC/F,WAAW,EAAE,IAAI,CAAC,aAAa;4BAC3B,CAAC,CAAC,CAAC,OAAO,QAAQ,EAAE,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;4BACxF,CAAC,CAAC,OAAO,QAAQ,EAAE,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;wBAClF,IAAI,EAAE,OAAO,QAAQ,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;wBACtE,IAAI,EAAE,OAAO,QAAQ,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;wBACtE,eAAe,EAAE,OAAO,QAAQ,EAAE,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;wBACvG,gBAAgB,EAAE,OAAO,QAAQ,EAAE,iBAAiB,KAAK,QAAQ;4BAC7D,CAAC,CAAC,QAAQ,CAAC,iBAAiB;4BAC5B,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS;wBAC3F,aAAa,EAAE,OAAO,QAAQ,EAAE,IAAI,KAAK,QAAQ;4BAC7C,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;4BACjB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;gCACxF,CAAC,CAAC,QAAQ,CAAC,IAAI;gCACf,CAAC,CAAC,SAAS;wBACnB,IAAI,EAAE,OAAO,QAAQ,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;wBACpE,eAAe,EAAE,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,YAAY,EAAE,qBAAqB,CAAC;wBAC1F,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,KAAK;4BACrC,CAAC,CAAC,MAAM;4BACR,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,UAAU;gCACjC,CAAC,CAAC,IAAI,CAAC,kBAAkB;gCACzB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;qBAC9C,CAAC,CAAC;YACX,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;gBAChD,MAAM,gBAAgB,CAClB,OAAO,EACP,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,MAAM,CACjB,CAAC;gBACF,MAAM,KAAK,CAAC;YAChB,CAAC;YACD,yBAAyB,GAAG,sBAAsB,CAAC;YACnD,MAAM,gBAAgB,CAClB,UAAU,EACV,QAAQ,CAAC,KAAK,EACd,QAAQ,CAAC,cAAc,CAC1B,CAAC;YACF,OAAO,QAAQ,CAAC;QACpB,CAAC,CAAC;QAEF,IAAI,GAAG,CAAC;QACR,IAAI,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC;gBAC7B,UAAU,EAAE,IAAI,CAAC,cAAc;gBAC/B,WAAW,EAAE,eAAe;aAC/B,CAAC,CAAC;YACH,GAAG,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,GAAG,YAAY,4BAA4B;mBACxC,GAAG,YAAY,8BAA8B;mBAC7C,GAAG,YAAY,8BAA8B;gBAAE,MAAM,GAAG,CAAC,KAAK,CAAC;YACtE,IAAI,MAAM,EAAE,OAAO;gBAAE,MAAM,GAAG,CAAC;YAC/B,IAAI,gBAAgB,EAAE,OAAO,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,IAAI,oBAAoB,CAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;gBACrF,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,EAAE,OAAO,CAAC,OAAO,EAAE;oBACxE,MAAM,EAAE,GAAG;oBACX,KAAK,EAAE,OAAO;oBACd,SAAS,EAAE,KAAK;oBAChB,UAAU,EAAE;wBACR,YAAY,EAAE,OAAO,CAAC,KAAK;wBAC3B,SAAS,EAAE,OAAO,CAAC,SAAS;qBAC/B;oBACD,UAAU;oBACV,QAAQ;iBACX,CAAC,CAAC;YACP,CAAC;YACD,MAAM,EAAE,GAAG,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;YAChF,IAAI,CAAC,EAAE,CAAC,MAAM,KAAK,GAAG,IAAI,EAAE,CAAC,MAAM,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,sBAAsB,KAAK,SAAS,EAAE,CAAC;gBAC3G,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,sBAAsB,EAAE;oBAC/E,MAAM,EAAE,EAAE,CAAC,MAAM;oBACjB,KAAK,EAAE,GAAG;oBACV,UAAU;oBACV,QAAQ;iBACX,CAAC,CAAC;YACP,CAAC;YACD,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YACjC,MAAM,EAAE,CAAC;QACb,CAAC;QAED,sEAAsE;QACtE,8EAA8E;QAC9E,4EAA4E;QAC5E,6EAA6E;QAC7E,+EAA+E;QAC/E,2BAA2B;QAC3B,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,GAAG,CAAC,OAAO,GAAG,oBAAoB,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEhG,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC;QACjC,MAAM,kBAAkB,GAAG,uBAAuB,IAAI,CAAC,GAAG,CAAC,kBAAkB;YACzE,CAAC,CAAC,wBAAwB,CAAC,GAAG,CAAC,OAAO,CAAC;YACvC,CAAC,CAAC,sBAAsB,CACpB,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,SAAS,EACb,IAAI,CAAC,uBAAuB,CAC/B,CAAC;QAEN,yEAAyE;QACzE,uEAAuE;QACvE,wEAAwE;QACxE,+CAA+C;QAC/C,IAAI,eAA4C,CAAC;QACjD,IAAI,WAAW,EAAE,CAAC;YACd,IAAI,uBAAuB,EAAE,CAAC;gBAC1B,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;oBAC1B,eAAe,GAAG;wBACd,KAAK,EAAE,YAAY;wBACnB,YAAY,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;wBAChF,WAAW,EAAE,WAAW,KAAK,SAAS;qBACzC,CAAC;gBACN,CAAC;YACL,CAAC;iBAAM,IAAI,kBAAkB,CAAC,SAAS,EAAE,CAAC;gBACtC,eAAe,GAAG;oBACd,KAAK,EAAE,YAAY;oBACnB,YAAY,EAAE,kBAAkB,CAAC,YAAY;oBAC7C,WAAW,EAAE,WAAW,KAAK,SAAS;iBACzC,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,eAAe,GAAG;oBACd,KAAK,EAAE,YAAY;oBACnB,YAAY,EAAE,CAAC;oBACf,WAAW,EAAE,WAAW,KAAK,SAAS;iBACzC,CAAC;YACN,CAAC;QACL,CAAC;QAED,IAAI,kBAAkB,CAAC,SAAS,EAAE,CAAC;YAC/B,GAAG,CAAC,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC;YACzC,GAAG,CAAC,SAAS,GAAG,kBAAkB,CAAC,SAAS,CAAC;QACjD,CAAC;QACD,IAAI,aAAa,KAAK,SAAS;eACxB,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;eACxB,yBAAyB,KAAK,GAAG,CAAC,SAAS,EAAE,CAAC;YACjD,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,yBAAyB,CAAC;gBAC/D,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,yBAAyB,CAAC,MAAM,CAAC;gBACvD,CAAC,CAAC,yBAAyB,CAAC,MAAM,KAAK,CAAC;oBACpC,CAAC,CAAC,GAAG,CAAC,SAAS;oBACf,CAAC,CAAC,KAAK,GAAG,CAAC,SAAS,EAAE,CAAC;YAC/B,aAAa,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QAED,IAAI,OAAqC,CAAC;QAC1C,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjC,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC;gBAClB,MAAM,EAAE,IAAI,CAAC,OAAO;gBACpB,IAAI,EAAE,kBAAkB;gBACxB,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,sBAAsB,CAAC,OAAO,CAAC;gBACxC,QAAQ,EAAE,IAAI;aACjB,CAAC,CAAC;QACP,CAAC;QACD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;QACxB,IAAI,WAAW,KAAK,SAAS;eACtB,IAAI,CAAC,QAAQ,KAAK,SAAS;eAC3B,KAAK,EAAE,YAAY,KAAK,SAAS,EAAE,CAAC;YACvC,6CAA6C;YAC7C,uEAAuE;YACvE,mEAAmE;YACnE,qEAAqE;YACrE,IAAI,CAAC;gBACD,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBACvD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;oBAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;iBAC/B,CAAC,CAAC;gBACH,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;gBAC9D,IAAI,KAAK,CAAC,YAAY,GAAG,OAAO,GAAG,EAAE,EAAE,CAAC;oBACpC,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC;wBAClB,MAAM,EAAE,IAAI,CAAC,OAAO;wBACpB,IAAI,EAAE,oBAAoB;wBAC1B,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,+BAA+B,KAAK,CAAC,YAAY,kCAAkC,OAAO,oGAAoG;wBACvM,QAAQ,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM;qBACpC,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,eAAe,CACX,GAAG,IAAI,CAAC,OAAO,iDAAiD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EACzH,wCAAwC,CAC3C,CAAC;YACN,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QACpE,MAAM,WAAW,GAAG,QAAQ,KAAK,SAAS;YACtC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM;YAC3E,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,SAAS,GAAG;YACd,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;YAC1D,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC;gBACjC,CAAC,CAAC,EAAE,kBAAkB,EAAE,GAAG,CAAC,kBAAkB,EAAE;gBAChD,CAAC,CAAC,EAAE,CAAC;YACT,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/D,CAAC;QACF,MAAM,QAAQ,GAAG;YACb,YAAY,EAAE,GAAG;YACjB,UAAU;YACV,QAAQ;YACR,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CAAC;QACF,IAAI,QAAQ,CAAC,YAAY,KAAK,IAAI;eAC3B,KAAK,EAAE,YAAY,KAAK,SAAS;eACjC,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;YAChD,MAAM,OAAO,GAAoB;gBAC7B,SAAS,EAAE,EAAE,GAAG,SAAS,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE;gBAC3D,GAAG,QAAQ;aACd,CAAC;YACF,MAAM,IAAI,aAAa,CACnB,IAAI,CAAC,OAAO,EACZ,kBAAkB,EAClB,yBAAyB,KAAK,CAAC,YAAY,2DAA2D,QAAQ,CAAC,YAAY,GAAG,EAC9H;gBACI,OAAO;gBACP,UAAU;gBACV,UAAU,EAAE;oBACR,KAAK,EAAE,mBAAmB;oBAC1B,YAAY,EAAE,QAAQ,CAAC,YAAY;oBACnC,oBAAoB,EAAE,KAAK,CAAC,YAAY;iBAC3C;aACJ,CACJ,CAAC;QACN,CAAC;QACD,IAAI,GAAG,CAAC,YAAY,KAAK,sBAAsB,EAAE,CAAC;YAC9C,MAAM,OAAO,GAA6C;gBACtD,SAAS,EAAE,EAAE,GAAG,SAAS,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE;gBAC3D,GAAG,QAAQ;aACd,CAAC;YACF,MAAM,IAAI,aAAa,CACnB,IAAI,CAAC,OAAO,EACZ,sBAAsB,EACtB,mFAAmF,EACnF;gBACI,OAAO;gBACP,UAAU;gBACV,UAAU,EAAE;oBACR,KAAK,EAAE,mBAAmB;oBAC1B,YAAY,EAAE,sBAAsB;oBACpC,GAAG,CAAC,GAAG,CAAC,eAAe,KAAK,SAAS;wBACjC,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,EAAE,eAAe,EAAE,GAAG,CAAC,eAAe,EAAE,CAAC;iBAClD;aACJ,CACJ,CAAC;QACN,CAAC;QACD,OAAO;YACH,SAAS,EAAE,EAAE,GAAG,SAAS,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE;YAC3D,GAAG,QAAQ;SACd,CAAC;IACN,CAAC;CAEJ"}
package/dist/Mock.d.ts CHANGED
@@ -35,11 +35,12 @@ export default class Mock implements Provider {
35
35
  get maxOutputTokens(): number | null;
36
36
  get outputBudget(): number | null;
37
37
  get reasoningBudget(): number | null;
38
+ get supportedReasoningPolicies(): readonly import("@plurnk/plurnk-contracts").ReasoningPolicy[];
38
39
  get inputCapacity(): number | null;
39
40
  get model(): string;
40
41
  countPromptTokens(messages: readonly ChatMessage[]): Promise<PromptTokenMeasurement>;
41
42
  assessRequestCapacity(messages: readonly ChatMessage[], maxOutputTokens?: number): Promise<ProviderRequestCapacity>;
42
- generate({ messages, maxOutputTokens, signal, grammar, observeRequest }: MockGenerateArgs): Promise<MockReturnedResponse>;
43
+ generate({ messages, maxOutputTokens, signal, grammar, observeRequest, observeReasoning }: MockGenerateArgs): Promise<MockReturnedResponse>;
43
44
  get remaining(): number;
44
45
  }
45
46
  export { DEFAULT_USAGE as mockDefaultUsage };
@@ -1 +1 @@
1
- {"version":3,"file":"Mock.d.ts","sourceRoot":"","sources":["../src/Mock.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,YAAY,EAAE,8BAA8B,EAA6B,uBAAuB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAMrQ,MAAM,MAAM,aAAa,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,kBAAkB,CAAC,EAAE,aAAa,CAAC,8BAA8B,CAAC,CAAC;IAKnE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,SAAS,EAAE,aAAa,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,KAAK,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,eAAe,CAAC,EAAE,eAAe,CAAC;CACrC,CAAC;AAGF,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,GAAG;IAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC;AAC5E,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG;IAAE,SAAS,EAAE,qBAAqB,CAAA;CAAE,CAAC;AAE3F,QAAA,MAAM,aAAa,EAAE,aAIpB,CAAC;AACF,KAAK,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtG,MAAM,CAAC,OAAO,OAAO,IAAK,YAAW,QAAQ;;IAWzC,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE;QAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,EAAE,YAAY,EAAE,CAAA;KAAE,EAMpG;IAED,IAAI,aAAa,IAAI,MAAM,GAAG,IAAI,CAAgC;IAClE,IAAI,cAAc,IAAI,MAAM,GAAG,IAAI,CAAiB;IACpD,IAAI,eAAe,IAAI,MAAM,GAAG,IAAI,CAAiB;IACrD,IAAI,YAAY,IAAI,MAAM,GAAG,IAAI,CAA+B;IAChE,IAAI,eAAe,IAAI,MAAM,GAAG,IAAI,CAAkC;IACtE,IAAI,aAAa,IAAI,MAAM,GAAG,IAAI,CAMjC;IACD,IAAI,KAAK,IAAI,MAAM,CAAmB;IAKhC,iBAAiB,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAMzF;IAEK,qBAAqB,CACvB,QAAQ,EAAE,SAAS,WAAW,EAAE,EAChC,eAAe,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,uBAAuB,CAAC,CAmBlC;IAEK,QAAQ,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAiE9H;IAED,IAAI,SAAS,IAAI,MAAM,CAA+B;CACzD;AAED,OAAO,EAAE,aAAa,IAAI,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"Mock.d.ts","sourceRoot":"","sources":["../src/Mock.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,YAAY,EAAE,8BAA8B,EAA6B,uBAAuB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAOrQ,MAAM,MAAM,aAAa,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,kBAAkB,CAAC,EAAE,aAAa,CAAC,8BAA8B,CAAC,CAAC;IAKnE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,SAAS,EAAE,aAAa,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,KAAK,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,eAAe,CAAC,EAAE,eAAe,CAAC;CACrC,CAAC;AAGF,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,GAAG;IAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC;AAC5E,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG;IAAE,SAAS,EAAE,qBAAqB,CAAA;CAAE,CAAC;AAE3F,QAAA,MAAM,aAAa,EAAE,aAIpB,CAAC;AACF,KAAK,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtG,MAAM,CAAC,OAAO,OAAO,IAAK,YAAW,QAAQ;;IAWzC,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE;QAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,EAAE,YAAY,EAAE,CAAA;KAAE,EAMpG;IAED,IAAI,aAAa,IAAI,MAAM,GAAG,IAAI,CAAgC;IAClE,IAAI,cAAc,IAAI,MAAM,GAAG,IAAI,CAAiB;IACpD,IAAI,eAAe,IAAI,MAAM,GAAG,IAAI,CAAiB;IACrD,IAAI,YAAY,IAAI,MAAM,GAAG,IAAI,CAA+B;IAChE,IAAI,eAAe,IAAI,MAAM,GAAG,IAAI,CAAkC;IACtE,IAAI,0BAA0B,kEAAiC;IAC/D,IAAI,aAAa,IAAI,MAAM,GAAG,IAAI,CAMjC;IACD,IAAI,KAAK,IAAI,MAAM,CAAmB;IAKhC,iBAAiB,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAMzF;IAEK,qBAAqB,CACvB,QAAQ,EAAE,SAAS,WAAW,EAAE,EAChC,eAAe,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,uBAAuB,CAAC,CAmBlC;IAEK,QAAQ,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAoEhJ;IAED,IAAI,SAAS,IAAI,MAAM,CAA+B;CACzD;AAED,OAAO,EAAE,aAAa,IAAI,gBAAgB,EAAE,CAAC"}