@plurnk/plurnk-providers 1.14.1 → 1.15.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 (74) hide show
  1. package/.env.defaults +21 -9
  2. package/SPEC.md +68 -12
  3. package/dist/AiSdkProvider.d.ts +5 -2
  4. package/dist/AiSdkProvider.d.ts.map +1 -1
  5. package/dist/AiSdkProvider.js +34 -342
  6. package/dist/AiSdkProvider.js.map +1 -1
  7. package/dist/AiSdkRequestBody.d.ts +40 -0
  8. package/dist/AiSdkRequestBody.d.ts.map +1 -0
  9. package/dist/AiSdkRequestBody.js +361 -0
  10. package/dist/AiSdkRequestBody.js.map +1 -0
  11. package/dist/Mock.d.ts +5 -1
  12. package/dist/Mock.d.ts.map +1 -1
  13. package/dist/Mock.js +9 -2
  14. package/dist/Mock.js.map +1 -1
  15. package/dist/Pool.d.ts +2 -1
  16. package/dist/Pool.d.ts.map +1 -1
  17. package/dist/Pool.js +7 -0
  18. package/dist/Pool.js.map +1 -1
  19. package/dist/aiSdkTransport.d.ts +1 -1
  20. package/dist/aiSdkTransport.d.ts.map +1 -1
  21. package/dist/aiSdkTransport.js +50 -34
  22. package/dist/aiSdkTransport.js.map +1 -1
  23. package/dist/capacity.d.ts +7 -0
  24. package/dist/capacity.d.ts.map +1 -1
  25. package/dist/capacity.js +21 -0
  26. package/dist/capacity.js.map +1 -1
  27. package/dist/catalogProvider.d.ts +2 -1
  28. package/dist/catalogProvider.d.ts.map +1 -1
  29. package/dist/catalogProvider.js +14 -3
  30. package/dist/catalogProvider.js.map +1 -1
  31. package/dist/compatibleProvider.d.ts.map +1 -1
  32. package/dist/compatibleProvider.js +6 -3
  33. package/dist/compatibleProvider.js.map +1 -1
  34. package/dist/errors.d.ts.map +1 -1
  35. package/dist/errors.js +23 -2
  36. package/dist/errors.js.map +1 -1
  37. package/dist/index.d.ts +3 -0
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +2 -0
  40. package/dist/index.js.map +1 -1
  41. package/dist/promptTokens.d.ts.map +1 -1
  42. package/dist/promptTokens.js +2 -1
  43. package/dist/promptTokens.js.map +1 -1
  44. package/dist/reasoning-effort.d.ts +4 -0
  45. package/dist/reasoning-effort.d.ts.map +1 -0
  46. package/dist/reasoning-effort.js +14 -0
  47. package/dist/reasoning-effort.js.map +1 -0
  48. package/dist/types.d.ts +18 -1
  49. package/dist/types.d.ts.map +1 -1
  50. package/dist/types.js +14 -1
  51. package/dist/types.js.map +1 -1
  52. package/package.json +6 -6
  53. package/src/AiSdkProvider.test.ts +142 -115
  54. package/src/AiSdkProvider.ts +41 -382
  55. package/src/AiSdkRequestBody.ts +419 -0
  56. package/src/Mock.ts +10 -2
  57. package/src/Pool.test.ts +3 -0
  58. package/src/Pool.ts +8 -1
  59. package/src/aiSdkTransport.test.ts +31 -16
  60. package/src/aiSdkTransport.ts +55 -38
  61. package/src/boundaries.test.ts +2 -0
  62. package/src/capacity.test.ts +33 -1
  63. package/src/capacity.ts +34 -0
  64. package/src/catalogProvider.test.ts +22 -0
  65. package/src/catalogProvider.ts +16 -3
  66. package/src/compatibleProvider.test.ts +12 -0
  67. package/src/compatibleProvider.ts +6 -3
  68. package/src/errors.test.ts +1 -0
  69. package/src/errors.ts +22 -1
  70. package/src/index.ts +3 -0
  71. package/src/inputModalities.test.ts +53 -0
  72. package/src/promptTokens.ts +2 -1
  73. package/src/reasoning-effort.ts +15 -0
  74. package/src/types.ts +30 -2
package/.env.defaults CHANGED
@@ -47,11 +47,13 @@ PLURNK_PROVIDERS_REASONING=adaptive
47
47
  PLURNK_PROVIDERS_REASONING_RESPONSE_STYLE=verbatim
48
48
  # PLURNK_PROVIDERS_REASONING_RESPONSE_STYLE_cfds1=think-tags
49
49
 
50
- # --- Decode tuning (measured canonical values; #9/#30) ---
51
- # TEMPERATURE is the default for EVERY request (under caller sampling); REPEAT_PENALTY is
52
- # the floor the provider manages wherever a grammar rides (greedy-under-mask loops without it).
53
- PLURNK_PROVIDERS_TEMPERATURE=0.2
54
- PLURNK_PROVIDERS_REPEAT_PENALTY=1.15
50
+ # --- Decode tuning ({§provider-sampling-passthrough}, #480) ---
51
+ # The service imposes no sampling opinion: EMPTY (the normal default) sends no
52
+ # temperature and no repeat_penalty — the provider's or model's own defaults
53
+ # govern. Set a value (usually per-alias) only from measurement; the reference
54
+ # blocks below carry each local model's measured numbers.
55
+ PLURNK_PROVIDERS_TEMPERATURE=
56
+ PLURNK_PROVIDERS_REPEAT_PENALTY=
55
57
  # FREQUENCY_PENALTY (https://github.com/plurnk/plurnk-service/issues/426):
56
58
  # optional cloud anti-degeneration tuning. API acceptance
57
59
  # permits the field to ride but does not establish its semantic effect, and provider
@@ -101,9 +103,10 @@ PLURNK_PROVIDERS_FIRST_CONTENT_TIMEOUT=180000
101
103
  # begins. Zero disables it. Both content deadlines consume the ordinary retry
102
104
  # budget when they expire.
103
105
  PLURNK_PROVIDERS_STREAM_IDLE_TIMEOUT=120000
104
- # Transient-failure retries: 0 = surface the first failure; N = retries on
105
- # network failure, 408/409/429/ordinary 5xx, or an inner deadline, with the AI
106
- # SDK's backoff (Retry-After wins).
106
+ # Provider-directed-wait retries (#479): N = retries on HTTP 429, any response
107
+ # carrying Retry-After (its duration wins over backoff), or an explicit
108
+ # X-Should-Retry:true; 0 = surface even those at once. Every other failure (5xx, deadlines, network) surfaces on
109
+ # the first attempt — the engine's {§provider-recovery} owns re-issue and park.
107
110
  PLURNK_PROVIDERS_RETRY_ATTEMPTS=3
108
111
  # Maximum characters retained from an upstream provider diagnostic in the
109
112
  # public Problem detail. Structured failure facts are not truncated.
@@ -115,10 +118,14 @@ PLURNK_PROVIDERS_ERROR_DETAIL_LIMIT=512
115
118
  PLURNK_PROVIDERS_PROBE_ATTEMPTS=3
116
119
  PLURNK_PROVIDERS_PROBE_DELAY=250
117
120
 
118
- # --- Optional local constrained sampling (GBNF, SPEC §13) ---
121
+ # --- Optional local constrained sampling (GBNF, SPEC §10) ---
119
122
  # Unset by default. Set per alias only for a local llama-server whose GBNF
120
123
  # transport is detected or pinned. Cloud and endpoint-managed model settings do
121
124
  # not use this knob.
125
+ # Rails on a weak model need a recency reminder or turns death-march to the
126
+ # token ceiling ({§gbnf-forced-march}): put in the Recap footer (core
127
+ # PLURNK_SERVICE_RECAP) a line such as
128
+ # YOU MUST begin with `# PLAN0` and end with `## SEND0 [status code]`
122
129
  # PLURNK_PROVIDERS_GBNF=plurnk.qwen.gbnf
123
130
  # Debug toggle: validate but withhold a configured local GBNF, then report the
124
131
  # unconstrained output's divergence. Development aid; leave unset in production.
@@ -222,6 +229,11 @@ PLURNK_BASE_URL=https://plurnk.ai/v1
222
229
  # PLURNK_MODEL_qwen38=openai/<gguf name exactly as /v1/models lists it>
223
230
  # PLURNK_PROVIDERS_PROVIDER_OPENAI_REASONING_STYLE=template
224
231
  # PLURNK_PROVIDERS_GBNF_qwen38=plurnk.qwen.gbnf
232
+ # Reasoning disposition rides into the Qwen3.8 chat template as its own variable. The template
233
+ # knows three rungs: xhigh (its default; 'high' is an alias) injects "consider plausible
234
+ # alternatives" and dilates to any cap; medium injects nothing; low injects "brief and focused".
235
+ # Measured 2026-09-01 on a packet severed at 16k under xhigh: medium decided in ~560 tokens.
236
+ # PLURNK_PROVIDERS_REASONING_qwen38=medium
225
237
  # PLURNK_PROVIDERS_REASONING_BUDGET_qwen38=4096
226
238
  # PLURNK_PROVIDERS_OUTPUT_BUDGET_qwen38=8192
227
239
  # PLURNK_PROVIDERS_TEMPERATURE_qwen38=0.6
package/SPEC.md CHANGED
@@ -412,6 +412,20 @@ names without values. Construction rejects the same missing requirements at
412
412
  the provider boundary instead of deferring a known configuration failure to a
413
413
  model request.
414
414
 
415
+ ### §provider-input-modalities Native input parts
416
+
417
+ A provider declares `inputModalities`, the set of native non-text inputs its model
418
+ accepts, from the catalog's input modalities (Models.dev `modalities.input` minus
419
+ `text`, kept to the vocabulary `image`, `pdf`, `audio`, `video`; empty when the
420
+ model is unknown). A user `ChatMessage` may then carry content parts: text beside
421
+ `{ type: "image", image: bytes, mediaType }` and `{ type: "file", data: bytes, mediaType }`,
422
+ which the AI SDK transport forwards as the model's native image and file input;
423
+ system and assistant messages stay text, and prompt-token estimates count text
424
+ only, the provider's reported usage owning each part's cost. A pool declares a
425
+ modality only when every backend does; the Mock declares them by option and
426
+ records every request it receives. Which parts actually ride a request is the
427
+ service's decision per attachment ({§packet-attachment-parts} in the core specification).
428
+
415
429
  ### §model-fact-resolution Model fact precedence
416
430
 
417
431
  Provider and model facts resolve independently:
@@ -622,6 +636,36 @@ request-accounting row. Capacity failures are not connectivity failures and are
622
636
  never retried by the provider scheduler; bounded packet recovery belongs to the
623
637
  consumer.
624
638
 
639
+ §provider-flexed-allowance **Overflow is tolerated, never invited.** The
640
+ configured output budget is the floor curation packs the input against
641
+ (`window − outputBudget`), and it is the only allowance the model is ever
642
+ shown — the packet's disclosed `tokensResponseMax` stays the configured floor
643
+ so the response discipline it teaches never varies. The wire is quietly
644
+ generous: a transport with an exact prompt count (llama-server's input-token
645
+ endpoint) grants `max(outputBudget, window − promptTokens − 256)`, capped by
646
+ the model's own output limit, so a response overflowing the disclosed floor
647
+ completes whenever the window's unclaimed room can hold it. Every other
648
+ measurement kind — and any pool — keeps the floor, because an estimate proves
649
+ nothing about the true remainder. A response exceeding even the grant is cut,
650
+ and the notice names the true per-call grant (`capacity.responseMax` on the
651
+ response) — the tolerance's honest edge, never worse than the fixed allowance
652
+ it forgives.
653
+
654
+ §provider-sampling-passthrough **The service imposes no sampling opinion.** With
655
+ no configured value, a request carries no `temperature` and no repetition
656
+ control — the provider's or model's own defaults govern, as a normal agentic
657
+ service behaves. `PLURNK_PROVIDERS_TEMPERATURE` and
658
+ `PLURNK_PROVIDERS_REPEAT_PENALTY` parse empty as null and exist as per-alias
659
+ measurement instruments; caller `sampling` always outranks a configured value,
660
+ and router-owned-tuning providers suppress configured floors entirely. The
661
+ justified exception the penalty knob exists for: grammar-constrained decoding
662
+ can loop under the mask — greedy continuation of an exactly-repeatable sequence
663
+ the grammar keeps legal (measured on the July local rail work, #9/#30; and
664
+ unconstrained on firefast, where 4/86 bench turns ran straight to the token cap
665
+ on pure repetition, run52) — and a per-alias `repeat_penalty` (llama.cpp
666
+ backends) or `frequency_penalty` (cloud backends, #426) is the measured remedy
667
+ for a model that exhibits it, never a service-wide floor.
668
+
625
669
  §provider-connectivity The provider adapter owns one attempt scheduler around
626
670
  the complete generation exchange; SDK-internal retries are disabled.
627
671
  `PLURNK_PROVIDERS_RETRY_ATTEMPTS=N` permits at most `N + 1` physical requests.
@@ -631,17 +675,17 @@ deadline:
631
675
  | Layer | Operator knob | Boundary | Expiry |
632
676
  | --- | --- | --- | --- |
633
677
  | Operation | `PLURNK_PROVIDERS_OPERATION_TIMEOUT` | Complete logical call, including every attempt and retry delay. | Final `deadline_exceeded` Problem at 504 with `timeoutPhase=operation`; never retried. |
634
- | Attempt | `PLURNK_PROVIDERS_FETCH_TIMEOUT` | One physical generation request, including response consumption. | Retryable `network_failure` with `timeoutPhase=attempt`. Embedding requests share the same per-physical-request deadline, enforced as a race so a wedged adapter cannot hang its awaiters (#463). |
635
- | First content | `PLURNK_PROVIDERS_FIRST_CONTENT_TIMEOUT` | Response-stream start through first semantic model content; metadata, empty deltas, and transport activity do not satisfy it. | Retryable `network_failure` with `timeoutPhase=first_content`. |
636
- | Stream idle | `PLURNK_PROVIDERS_STREAM_IDLE_TIMEOUT` | Silence between semantic content chunks after content begins. | Retryable `network_failure` with `timeoutPhase=stream_idle`. |
678
+ | Attempt | `PLURNK_PROVIDERS_FETCH_TIMEOUT` | One physical generation request, including response consumption. | Surfaced `network_failure` with `timeoutPhase=attempt`; never transport-retried (#479) — the consumer's recovery owns re-issue. Embedding requests share the same per-physical-request deadline, enforced as a race so a wedged adapter cannot hang its awaiters (#463). |
679
+ | First content | `PLURNK_PROVIDERS_FIRST_CONTENT_TIMEOUT` | Response-stream start through first semantic model content; metadata, empty deltas, and transport activity do not satisfy it. | Surfaced `network_failure` with `timeoutPhase=first_content`; never transport-retried (#479). |
680
+ | Stream idle | `PLURNK_PROVIDERS_STREAM_IDLE_TIMEOUT` | Silence between semantic content chunks after content begins. | Surfaced `network_failure` with `timeoutPhase=stream_idle`; never transport-retried (#479). |
637
681
 
638
682
  Caller cancellation spans the operation and preserves the caller's reason.
639
683
  A 2xx exchange whose body cannot be processed (a provider invalid-response)
640
- consumes the same budget unless an explicit `x-should-retry` directive says
641
- otherwise; after exhaustion it classifies as the non-retryable 502.
642
- Inner deadline failures consume the ordinary retry budget; retry exhaustion
643
- adds `attempts` and `retryExhausted`, retains the inner `timeoutPhase` and
644
- `timeoutMs`, and is final. Every scheduler iteration opens and settles exactly
684
+ classifies as the non-retryable 502 on the first failure unless an explicit
685
+ `x-should-retry` directive says otherwise (#479 supersedes #446's budgeted
686
+ promotion). Inner deadline failures surface on the first failure; when a
687
+ directive-driven retry sequence exhausts, `attempts` and `retryExhausted`
688
+ are added and the classification is final. Every scheduler iteration opens and settles exactly
645
689
  one ordered {§provider-request-accounting} record, including response-less
646
690
  network failures and timed-out attempts.
647
691
 
@@ -653,10 +697,14 @@ carries one `provider_retry` warning identifying that fact. A retry before any
653
697
  semantic model output remains silent while its physical failure stays cardinally
654
698
  accounted. Transient reasoning follows {§provider-reasoning-observer}.
655
699
 
656
- HTTP 408, 409, 429, and ordinary 5xx responses are retryable unless the endpoint
657
- explicitly says otherwise through `X-Should-Retry`. That header is authoritative;
658
- without an explicit directive, endpoint control responses 520–527 are final so
659
- a router can prevent multiplicative retries behind its own policy.
700
+ Only a provider-directed wait earns a transport retry (#479): HTTP 429, any
701
+ response carrying `Retry-After` (RFC 9110 defines it on 503 exactly as a
702
+ directed wait) — header-level facts the consumer's recovery layer never sees —
703
+ and an explicit `X-Should-Retry: true`. That header stays authoritative both
704
+ ways, and endpoint control responses 520–527 stay final. HTTP 408, 409, and
705
+ ordinary 5xx surface on the first failure as consumer-recoverable kinds; one
706
+ retry authority — the consumer's own provider-recovery machinery — owns
707
+ re-issue, backoff, and park above the transport.
660
708
 
661
709
  ### §provider-interrupted-attempt Provider-declared interruption
662
710
 
@@ -695,6 +743,14 @@ an empty body therefore remains observable. An endpoint that projects despite
695
743
  that request supplies no independent evidence. For an unsplit response, `input`
696
744
  is `content` and `contentStart` is zero.
697
745
 
746
+ §gbnf-forced-march **A grammar masks end-of-generation until the sentence completes — pair rails on a weak model with a recency reminder.** llama-server admits EOG only in a grammar-accepting state, so a model whose intended emission diverges from the required turn shape cannot stop: each masked substitution drifts it further from the terminal, and the request runs to the token ceiling and dies as a length cut (measured 2026-09-01, #477 — the thought budget fires and throughput is unaffected; the march is the grammar's one failure mode, and the weaker the model, the likelier the divergence that triggers it). When enabling a GBNF rail for a model that does not reliably hold the frame shape, put the shape command where recency helps — the operator's Recap footer (core `PLURNK_SERVICE_RECAP`) — for example:
747
+
748
+ ```text
749
+ YOU MUST begin with `# PLAN0` and end with `## SEND0 [status code]`
750
+ ```
751
+
752
+ A model that emits valid frames freehand needs neither the rail nor the reminder.
753
+
698
754
  §gbnf-response-observation The provider transports and represents; it does not grade its own enforcement.
699
755
  The consumer validates `grammarEvidence.input` outside the enforcer's failure
700
756
  domain. `PLURNK_PROVIDERS_GBNF_DEBUG` still validates grammar syntax before the
@@ -2,6 +2,7 @@ import type { ChatMessage, PromptTokenMeasurement, Provider, ProviderCostNormali
2
2
  import type { ProviderCost } from "@plurnk/plurnk-contracts";
3
3
  import type { JSONValue } from "ai";
4
4
  import { type Reasoning, type ReasoningResponseStyle } from "./env.ts";
5
+ import type { InputModality } from "./types.ts";
5
6
  import type { LanguageModel } from "ai";
6
7
  import type { PluginAttribution, PluginAttributionContext } from "@plurnk/plurnk-meta";
7
8
  export type ProviderFetch = typeof globalThis.fetch;
@@ -30,6 +31,7 @@ export type AiSdkProviderConfig = {
30
31
  headers?: Record<string, string>;
31
32
  fetch?: ProviderFetch;
32
33
  contextWindow?: number | null;
34
+ inputModalities?: ReadonlySet<InputModality>;
33
35
  maxInputTokens?: number | null;
34
36
  maxOutputTokens?: number | null;
35
37
  outputBudget?: number | null;
@@ -64,8 +66,8 @@ export type AiSdkProviderConfig = {
64
66
  servedModel?: string;
65
67
  requiresOutputBudget?: boolean;
66
68
  reasoning: Reasoning;
67
- temperature: number;
68
- repeatPenalty: number;
69
+ temperature: number | null;
70
+ repeatPenalty: number | null;
69
71
  frequencyPenalty?: number;
70
72
  dryMultiplier?: number;
71
73
  dryBase?: number;
@@ -83,6 +85,7 @@ export default class AiSdkProvider implements Provider {
83
85
  tokenize?: (text: string) => Promise<number[]>;
84
86
  constructor(config: AiSdkProviderConfig);
85
87
  get contextWindow(): number | null;
88
+ get inputModalities(): ReadonlySet<InputModality>;
86
89
  get maxInputTokens(): number | null;
87
90
  get maxOutputTokens(): number | null;
88
91
  get outputBudget(): number | null;
@@ -1 +1 @@
1
- {"version":3,"file":"AiSdkProvider.d.ts","sourceRoot":"","sources":["../src/AiSdkProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AiSdkProvider.d.ts","sourceRoot":"","sources":["../src/AiSdkProvider.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAmB,sBAAsB,EAAE,QAAQ,EAAmB,sBAAsB,EAAE,oBAAoB,EAA6B,uBAAuB,EAA6B,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACjS,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAe,SAAS,EAAE,MAAM,IAAI,CAAC;AACjD,OAAO,EAA2B,KAAK,SAAS,EAAE,KAAK,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEhG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAMxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAQvF,MAAM,MAAM,aAAa,GAAG,OAAO,UAAU,CAAC,KAAK,CAAC;AAIpD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,mBAAmB,GAAG,QAAQ,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,UAAU,GAAG,WAAW,CAAC;AAEtK,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AACpF,MAAM,MAAM,yBAAyB,GAAG,qBAAqB,GAAG,KAAK,CAAC;AAItE,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,UAAU,CAAC;AAE/C,MAAM,MAAM,aAAa,GACnB;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC7D;IAAE,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/F,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC;AAIzF,MAAM,MAAM,mBAAmB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,wBAAwB,KAAK,iBAAiB,CAAC;IACxE,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;IAC7C,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,0BAA0B,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IAIxD,iBAAiB,CAAC,EAAE,qBAAqB,GAAG,kBAAkB,CAAC;IAE/D,eAAe,CAAC,EAAE,OAAO,CAAC;IAI1B,2BAA2B,CAAC,EAAE,yBAAyB,GAAG,kBAAkB,CAAC;IAC7E,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,gCAAgC,CAAC,EAAE,oBAAoB,CAAC;IAKxD,yBAAyB,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACpD,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAChD,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACzI,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,KAAK,YAAY,CAAC;IAClE,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,YAAY,CAAC;IAG5B,aAAa,CAAC,EAAE,aAAa,CAAC;IAG9B,0BAA0B,CAAC,EAAE,oBAAoB,CAAC;IAGlD,gCAAgC,CAAC,EAAE,oBAAoB,CAAC;IAGxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAI1B,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,eAAe,CAAC,EAAE,MAAM,CAAC;IAKzB,WAAW,CAAC,EAAE,MAAM,CAAC;IAIrB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAM/B,SAAS,EAAE,SAAS,CAAC;IAOrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAK7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAK1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IAKrB,aAAa,EAAE,MAAM,CAAC;IAItB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAQ1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAUlB,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AA0GF,MAAM,CAAC,OAAO,OAAO,aAAc,YAAW,QAAQ;;IA0DlD,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,wBAAwB,KAAK,iBAAiB,CAAC;IAMjF,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE/C,YAAY,MAAM,EAAE,mBAAmB,EAqKtC;IAED,IAAI,aAAa,IAAI,MAAM,GAAG,IAAI,CAAgC;IAClE,IAAI,eAAe,IAAI,WAAW,CAAC,aAAa,CAAC,CAAkC;IACnF,IAAI,cAAc,IAAI,MAAM,GAAG,IAAI,CAAiC;IACpE,IAAI,eAAe,IAAI,MAAM,GAAG,IAAI,CAAkC;IACtE,IAAI,YAAY,IAAI,MAAM,GAAG,IAAI,CAA+B;IAChE,IAAI,eAAe,IAAI,MAAM,GAAG,IAAI,CAAkC;IACtE,IAAI,0BAA0B,IAAI,SAAS,eAAe,EAAE,CAA6C;IACzG,IAAI,aAAa,IAAI,MAAM,GAAG,IAAI,CAMjC;IACD,IAAI,KAAK,IAAI,MAAM,CAAwB;IAE3C,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAA8B;IAEnE,IAAI,oBAAoB,IAAI,OAAO,GAAG,SAAS,CAAuC;IAItF,IAAI,gBAAgB,IAAI,OAAO,CAA0C;IAEnE,iBAAiB,CACnB,QAAQ,EAAE,SAAS,WAAW,EAAE,EAChC,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,sBAAsB,CAAC,CAqDjC;IAEK,qBAAqB,CACvB,QAAQ,EAAE,SAAS,WAAW,EAAE,EAChC,eAAe,CAAC,EAAE,MAAM,EACxB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,uBAAuB,CAAC,CAmBlC;IA4BK,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,EAAE,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAkcvP;CAEJ"}