@adriangalilea/utils 10.4.0 → 10.6.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.
- package/README.md +1 -1
- package/dist/llm/index.d.ts +70 -4
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +198 -44
- package/dist/llm/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -795,7 +795,7 @@ Telegram's [Threaded Mode](https://telegram.org/blog/threaded-conversations) for
|
|
|
795
795
|
| `@adriangalilea/utils/bot/updates` | The pending-update queue of a webhook-less bot token, treated as the destroy-on-read resource it is (`getUpdates` with an offset CONFIRMS — destroys — everything below it). `updateQueue({ token, fetch?, apiRoot? })` → `peek({ limit? })` (webhook state + pending count + the queue head, verbatim; sends NO offset so nothing is ever confirmed — repeatable, zero risk), `count()`, `webhookInfo()`, and `drain({ onBatch, limit?, timeoutS?, quietPolls? })` — the one-chance-safe sweep: each raw batch is handed to `onBatch` (persist it somewhere durable) and AWAITED before the offset advances, because the next call is the confirmation; a crash re-delivers the unconfirmed tail on re-run, and the drain ends only after several consecutive silent long-polls, never on the first empty response. A 409 (webhook registered / competing poller) is a typed `SourcedError`, never a silent retry. Plain `fetch`, injectable for tests; no framework. |
|
|
796
796
|
| `@adriangalilea/utils/bot/inline-feedback` | Behavioral tripwire for BotFather's inline feedback probability (gates `chosen_inline_result`; defaults 0%, silently resets on bot transfer and inline-mode toggling, invisible to `getMe`): served-but-never-chosen crosses a threshold → throttled admin DM naming the exact BotFather switch. Storage injected as three ops; never throws into the answer path. |
|
|
797
797
|
| `@adriangalilea/utils/bot/coalesce` | Joins client-split inbound messages back into one. When a user pastes >4096 chars, Telegram clients fragment it into separate `message` updates with no marker. Middleware detects the burst and emits one combined event. |
|
|
798
|
-
| `@adriangalilea/utils/llm` | Multi-provider LLM caller on the Vercel AI SDK — the policy layer the SDK doesn't ship. `createLlm({ providers, health? })` → `.stream(req)` (typed events: `delta` / `reasoning` / `reset` / `tool-call` / `end`) and `.complete(req)`. **Failover:** priority-ordered across OpenAI-compatible, Anthropic-compatible, and OpenRouter endpoints; multiple keys per provider (health tracked per key fingerprint); per-key circuit breaker with exponential cool-down persisted in any KV-shaped `HealthStore`; an attempt that dies after emitting yields `reset` (discard, next candidate regenerates); empty completions count as failures. **Accounting:** tokens summed across billed attempts; `costUsd` is the ACTUAL charge (OpenRouter usage accounting via `providerMetadata`, or a `cost` field on the raw usage frame) — never a price-table estimate. **Knobs:** per-model temperature, maxTokens caps, `disableThinking` mapped to each dialect. **Tools:** AI SDK `tool()` + `toolChoice` pass through (re-exported). **Trace:** each call is a `chat` span (kind `inference`) under `log` (a logger or span you pass; the root logger otherwise), and each provider tried is an `attempt` span inside it with OpenTelemetry's gen_ai fields (provider, model, `server.address`, input, cached and output tokens), `cost_usd` when the gateway reports one, `ttft_ms` and `decode_ms
|
|
798
|
+
| `@adriangalilea/utils/llm` | Multi-provider LLM caller on the Vercel AI SDK — the policy layer the SDK doesn't ship. `createLlm({ providers, health? })` → `.stream(req)` (typed events: `delta` / `reasoning` / `reset` / `tool-call` / `end`) and `.complete(req)`. **Failover:** priority-ordered across OpenAI-compatible, Anthropic-compatible, and OpenRouter endpoints; multiple keys per provider (health tracked per key fingerprint); per-key circuit breaker with exponential cool-down persisted in any KV-shaped `HealthStore`; an attempt that dies after emitting yields `reset` (discard, next candidate regenerates); empty completions count as failures. **Accounting:** tokens summed across billed attempts; `costUsd` is the ACTUAL charge (OpenRouter usage accounting via `providerMetadata`, or a `cost` field on the raw usage frame) — never a price-table estimate. **Knobs:** per-model temperature, maxTokens caps, `disableThinking` mapped to each dialect. **Tools:** AI SDK `tool()` + `toolChoice` pass through (re-exported). **Tool loop:** tools with an `execute` run when called, and `stopWhen` (the AI SDK's stop conditions, re-exported: `stepCountIs`, `hasToolCall`, or any function of the steps) calls the model again with their results until one holds; the result's `messages` are every turn the call added (the model's and its tools' results), to append to the conversation; usage sums every step. `prepareStep` (the AI SDK's step hook) may replace what the model reads from a step on, which carries forward: a conversation kept inside its window; and it may say how much the model reasons on that step (`reasoning`, mapped to the provider's own option, openai-compatible and OpenRouter), over the request's `reasoning`: a loop that thinks only where its task gets hard. `requestTimeoutMs` times each request to a model, never the tools between them (a tool may wait on a person). Once a tool has run, a failure is the call's own: no other provider is tried, since its tools would act again. The AI SDK runs a turn's calls at once; tools that must run in order share a `SerialJobExecutor` (re-exported). **Trace:** each call is a `chat` span (kind `inference`) under `log` (a logger or span you pass; the root logger otherwise), and each provider tried is an `attempt` span inside it with OpenTelemetry's gen_ai fields (provider, model, `server.address`, input, cached and output tokens), `cost_usd` when the gateway reports one, `ttft_ms` and `decode_ms`; each model call of a tool loop is a `step` span inside the attempt, with its calls, its finish reason, its tokens and its own `ttft_ms`/`decode_ms` (a turn's tools run as their calls stream in, so a step's decode includes them). **Structured output:** `schema` (zod, or `jsonSchema(…, { validate })`) returns the answer parsed and validated as `object`; an answer that fails it fails its provider and the next is tried. A provider with `structuredOutputs: true` enforces the schema while decoding; otherwise the schema is stated in the instructions. **Failures:** an `LlmError` carries `failures`, one per provider tried, typed: `off-schema` (the model answered, not in the schema's shape: its `text`, and `cut` when its token cap stopped it), `empty`, or `failed` (the call itself: its message and HTTP `status`), so a caller tells an answer it can send back to the model from a server that is down. Worker-safe; peers: `ai`, `@ai-sdk/openai-compatible`, `@ai-sdk/anthropic`, `@openrouter/ai-sdk-provider`. |
|
|
799
799
|
| `@adriangalilea/utils/bot/llm` | The Telegram side of an LLM chatbot; the model side is `@adriangalilea/utils/llm`. **Output:** `streamChatReply(ctx, events, opts?)` consumes an `AsyncIterable<LlmStreamEvent>` and paints it with Telegram's native message-draft streaming (`sendMessageDraft` full-frame repaints, throttled ~1/s, keepalive under the ~30s draft TTL), then persists the finished markdown via `ctx.send`, entity-split across 4096 by `@gramio/split`. Reasoning models get a thinking phase — streams into the ephemeral draft and evaporates (`reasoning: 'preview'`, default), persists as an expandable blockquote (`'message'`), or never renders at all (`'hidden'`). Upstream `reset` (provider failover) repaints the draft from scratch. Drafts are private-chat-only (+ BotFather forum-topic mode); elsewhere the preview phase is skipped and only the final send happens. Returns `{ content, reasoning, toolCalls, usage, messages }`. The painter underneath is `@adriangalilea/utils/bot/draft` (`createDraftPreview(ctx, { render, throttleMs? })`): dependency-light (no markdown machinery), for producers that push deltas or own their per-frame rendering (plain or rich-message frames) and persist path, with `streamForensics` (render-regression + reset warnings) built in and exported standalone. **History:** `llmHistory({...})` returns `.plugin` (decorates `ctx.llm` with `.add() / .get() / .clear() / .all() / .clearAll()`, per-(user, thread) OpenAI `ChatMessage` shape, persisted in the shared session record so the menu's 🗑 Forget wipes it automatically) AND `.menuItem` (drop-in "🗑 Delete this thread" for `botMenu` — wipes the LLM history AND calls `deleteForumTopic` so the Telegram thread + all its messages disappear from the chat; falls back to history-only clear when no `threadId` is present). |
|
|
800
800
|
| `@adriangalilea/utils/metrics` | Declared counters and timings, bounded dimensions, optional actor IDs, and a schema for generic reporting. Inject a store (`store: metricsStore(driver, project)`); measurement failures are reported without rejecting calls. See Product metrics below. |
|
|
801
801
|
| `@adriangalilea/utils/metrics/sqlite` | Atomic SQLite driver, explicit provisioning schema, and inclusive UTC daily reports; libSQL is its own module (`metrics/libsql`) over the same driver shape. Connections and credentials belong to the application. |
|
package/dist/llm/index.d.ts
CHANGED
|
@@ -26,6 +26,10 @@
|
|
|
26
26
|
* OpenRouter's usage accounting (`providerMetadata.openrouter.usage.cost`)
|
|
27
27
|
* or a `cost` field on the provider's raw usage frame — never a price
|
|
28
28
|
* table estimate.
|
|
29
|
+
* - **A tool loop that never acts twice.** `stopWhen` runs the AI SDK's
|
|
30
|
+
* loop (tools with `execute`, called again with their results); once a
|
|
31
|
+
* tool has run, a failure ends the call instead of failing over, since
|
|
32
|
+
* another provider would replay the tools from scratch.
|
|
29
33
|
*
|
|
30
34
|
* Worker-safe: fetch/WebStreams only, no `node:*`. Peer deps: `ai`,
|
|
31
35
|
* `@ai-sdk/openai-compatible`, `@ai-sdk/anthropic`,
|
|
@@ -58,9 +62,21 @@
|
|
|
58
62
|
* else if (e.kind === 'tool-call') handle(e.toolName, e.input)
|
|
59
63
|
* }
|
|
60
64
|
*/
|
|
61
|
-
import { type FlexibleSchema, type ModelMessage, type ToolChoice, type ToolSet } from "ai";
|
|
65
|
+
import { type FlexibleSchema, type ModelMessage, type PrepareStepFunction, type PrepareStepResult, type StopCondition, streamText, type ToolChoice, type ToolSet } from "ai";
|
|
62
66
|
import { type Logger } from "../universal/log.js";
|
|
63
|
-
export { jsonSchema, type ModelMessage, type Tool, type ToolSet, tool, } from "ai";
|
|
67
|
+
export { hasToolCall, jsonSchema, type ModelMessage, SerialJobExecutor, type StopCondition, stepCountIs, type Tool, type ToolSet, tool, } from "ai";
|
|
68
|
+
/** How much a model reasons before it answers: the AI SDK's level ("none" turns it
|
|
69
|
+
* off, where the provider can). */
|
|
70
|
+
export type Reasoning = NonNullable<Parameters<typeof streamText>[0]["reasoning"]>;
|
|
71
|
+
/**
|
|
72
|
+
* The tool loop's step hook: the AI SDK's, whose result may also say how much the
|
|
73
|
+
* model reasons on that step (`reasoning`), mapped to the provider's own option.
|
|
74
|
+
*/
|
|
75
|
+
export type PrepareStep = (options: Parameters<PrepareStepFunction<ToolSet>>[0]) => (PrepareStepResult<ToolSet> & {
|
|
76
|
+
reasoning?: Reasoning;
|
|
77
|
+
}) | undefined | PromiseLike<(PrepareStepResult<ToolSet> & {
|
|
78
|
+
reasoning?: Reasoning;
|
|
79
|
+
}) | undefined>;
|
|
64
80
|
/**
|
|
65
81
|
* One provider declaration. Multiple declarations MAY share an `id` to
|
|
66
82
|
* register several API keys for the same provider; key health is tracked per
|
|
@@ -132,7 +148,8 @@ export interface HealthStore {
|
|
|
132
148
|
export interface LlmOptions {
|
|
133
149
|
providers: ProviderConfig[];
|
|
134
150
|
health?: HealthStore;
|
|
135
|
-
/**
|
|
151
|
+
/** Hard timeout of each request to a model, in ms. Default 120_000. A tool
|
|
152
|
+
* loop's tools run between requests and are not timed by it. */
|
|
136
153
|
requestTimeoutMs?: number;
|
|
137
154
|
}
|
|
138
155
|
/**
|
|
@@ -178,6 +195,8 @@ export type LlmStreamEvent = {
|
|
|
178
195
|
kind: "end";
|
|
179
196
|
usage: LlmUsage | null;
|
|
180
197
|
object?: unknown;
|
|
198
|
+
/** The turns this call added: the model's, and its tools' results. */
|
|
199
|
+
messages: ModelMessage[];
|
|
181
200
|
};
|
|
182
201
|
export interface LlmToolCall {
|
|
183
202
|
/** The provider's id for this call: what a later turn must echo back to replay it (ds4 keys its exact-DSML replay on it). */
|
|
@@ -192,10 +211,36 @@ export interface LlmResult {
|
|
|
192
211
|
usage: LlmUsage | null;
|
|
193
212
|
/** The answer parsed and validated against `schema`, when the request gave one. */
|
|
194
213
|
object?: unknown;
|
|
214
|
+
/** The turns this call added, every step's: the model's, and its tools' results.
|
|
215
|
+
* Appended to the request's `messages`, the conversation goes on from here. */
|
|
216
|
+
messages: ModelMessage[];
|
|
195
217
|
}
|
|
218
|
+
/**
|
|
219
|
+
* Why one provider's attempt failed, typed for a caller to act on:
|
|
220
|
+
* `off-schema`, the model answered and its answer is not the schema's shape
|
|
221
|
+
* (`text` what it wrote, `cut` when its token cap stopped it before the end);
|
|
222
|
+
* `empty`, it answered nothing; `failed`, the call itself failed (the
|
|
223
|
+
* provider's words, its HTTP status when it gave one).
|
|
224
|
+
*/
|
|
225
|
+
export type LlmFailure = {
|
|
226
|
+
kind: "off-schema";
|
|
227
|
+
provider: string;
|
|
228
|
+
text: string;
|
|
229
|
+
cut: boolean;
|
|
230
|
+
} | {
|
|
231
|
+
kind: "empty";
|
|
232
|
+
provider: string;
|
|
233
|
+
} | {
|
|
234
|
+
kind: "failed";
|
|
235
|
+
provider: string;
|
|
236
|
+
message: string;
|
|
237
|
+
status?: number;
|
|
238
|
+
};
|
|
196
239
|
export declare class LlmError extends Error {
|
|
197
240
|
readonly status?: number | undefined;
|
|
198
|
-
|
|
241
|
+
/** Each provider's failure in the order tried: empty for an error before any attempt. */
|
|
242
|
+
readonly failures: LlmFailure[];
|
|
243
|
+
constructor(message: string, status?: number | undefined, failures?: LlmFailure[]);
|
|
199
244
|
}
|
|
200
245
|
export interface ChatRequest {
|
|
201
246
|
/** Single user message. Exactly one of `prompt` / `messages`. */
|
|
@@ -208,6 +253,26 @@ export interface ChatRequest {
|
|
|
208
253
|
maxTokens?: number;
|
|
209
254
|
tools?: ToolSet;
|
|
210
255
|
toolChoice?: ToolChoice<ToolSet>;
|
|
256
|
+
/**
|
|
257
|
+
* The tool loop: the tools the model calls that have an `execute` run, and the
|
|
258
|
+
* model is called again with their results until one of these holds (the AI SDK's
|
|
259
|
+
* stop conditions: `stepCountIs(n)`, `hasToolCall(name)`, or any function of the
|
|
260
|
+
* steps so far). Default: one step. Each step is a `step` span in its attempt.
|
|
261
|
+
* Once a tool has run, a failure is the call's: no other provider is tried, since
|
|
262
|
+
* its tools would run again.
|
|
263
|
+
*/
|
|
264
|
+
stopWhen?: StopCondition<ToolSet> | StopCondition<ToolSet>[];
|
|
265
|
+
/**
|
|
266
|
+
* Before each step of the tool loop: settings for it (the AI SDK's step hook),
|
|
267
|
+
* among them `messages`, which replace what the model reads from that step on
|
|
268
|
+
* (a conversation kept inside its window), and `reasoning`, how much the model
|
|
269
|
+
* reasons on that step alone. The result's `messages` stay the turns the call
|
|
270
|
+
* added, never the replaced ones.
|
|
271
|
+
*/
|
|
272
|
+
prepareStep?: PrepareStep;
|
|
273
|
+
/** How much the model reasons before each answer, unless a step says otherwise.
|
|
274
|
+
* A `reasoning_effort` in `extraBody` would override any step's: use this. */
|
|
275
|
+
reasoning?: Reasoning;
|
|
211
276
|
abortSignal?: AbortSignal;
|
|
212
277
|
/**
|
|
213
278
|
* OpenAI-dialect only: raw request-body fields spread into the JSON body
|
|
@@ -252,6 +317,7 @@ export declare class Llm {
|
|
|
252
317
|
private timedAttempt;
|
|
253
318
|
private runAttempt;
|
|
254
319
|
private modelFor;
|
|
320
|
+
private stepping;
|
|
255
321
|
private providerOptionsFor;
|
|
256
322
|
private buildQueue;
|
|
257
323
|
private getHealth;
|
package/dist/llm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"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"}
|
package/dist/llm/index.js
CHANGED
|
@@ -26,6 +26,10 @@
|
|
|
26
26
|
* OpenRouter's usage accounting (`providerMetadata.openrouter.usage.cost`)
|
|
27
27
|
* or a `cost` field on the provider's raw usage frame — never a price
|
|
28
28
|
* table estimate.
|
|
29
|
+
* - **A tool loop that never acts twice.** `stopWhen` runs the AI SDK's
|
|
30
|
+
* loop (tools with `execute`, called again with their results); once a
|
|
31
|
+
* tool has run, a failure ends the call instead of failing over, since
|
|
32
|
+
* another provider would replay the tools from scratch.
|
|
29
33
|
*
|
|
30
34
|
* Worker-safe: fetch/WebStreams only, no `node:*`. Peer deps: `ai`,
|
|
31
35
|
* `@ai-sdk/openai-compatible`, `@ai-sdk/anthropic`,
|
|
@@ -61,19 +65,49 @@
|
|
|
61
65
|
import { createAnthropic } from "@ai-sdk/anthropic";
|
|
62
66
|
import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
|
|
63
67
|
import { createOpenRouter } from "@openrouter/ai-sdk-provider";
|
|
64
|
-
import { APICallError, asSchema, Output, streamText, } from "ai";
|
|
68
|
+
import { APICallError, asSchema, NoObjectGeneratedError, Output, streamText, } from "ai";
|
|
65
69
|
import { log as root } from "../universal/log.js";
|
|
66
70
|
const log = root.scope("llm").scope("health");
|
|
67
|
-
// One import surface for consumers: the tool helper
|
|
68
|
-
|
|
71
|
+
// One import surface for consumers: the tool helper, the tool loop's stop
|
|
72
|
+
// conditions, the serial executor a loop's ordered tools share, and their types.
|
|
73
|
+
export { hasToolCall, jsonSchema, SerialJobExecutor, stepCountIs, tool, } from "ai";
|
|
69
74
|
export class LlmError extends Error {
|
|
70
75
|
status;
|
|
71
|
-
|
|
76
|
+
/** Each provider's failure in the order tried: empty for an error before any attempt. */
|
|
77
|
+
failures;
|
|
78
|
+
constructor(message, status, failures = []) {
|
|
72
79
|
super(message);
|
|
73
80
|
this.status = status;
|
|
74
81
|
this.name = "LlmError";
|
|
82
|
+
this.failures = failures;
|
|
75
83
|
}
|
|
76
84
|
}
|
|
85
|
+
/** An attempt's error as an `LlmFailure`: the AI SDK's own error for an answer
|
|
86
|
+
* that is not the schema's, which carries the text and why it stopped. */
|
|
87
|
+
function failureOf(provider, error) {
|
|
88
|
+
if (NoObjectGeneratedError.isInstance(error))
|
|
89
|
+
return {
|
|
90
|
+
kind: "off-schema",
|
|
91
|
+
provider,
|
|
92
|
+
text: error.text ?? "",
|
|
93
|
+
cut: error.finishReason === "length",
|
|
94
|
+
};
|
|
95
|
+
if (error instanceof LlmError && error.message === EMPTY)
|
|
96
|
+
return { kind: "empty", provider };
|
|
97
|
+
const status = APICallError.isInstance(error)
|
|
98
|
+
? error.statusCode
|
|
99
|
+
: error instanceof LlmError
|
|
100
|
+
? error.status
|
|
101
|
+
: undefined;
|
|
102
|
+
return {
|
|
103
|
+
kind: "failed",
|
|
104
|
+
provider,
|
|
105
|
+
message: error instanceof Error ? error.message : String(error),
|
|
106
|
+
...(status !== undefined ? { status } : {}),
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
/** An attempt that streamed no content at all. */
|
|
110
|
+
const EMPTY = "llm: empty completion";
|
|
77
111
|
const DEFAULT_MAX_TOKENS = 4096;
|
|
78
112
|
const DEFAULT_TEMPERATURE = 0.7;
|
|
79
113
|
const REQUEST_TIMEOUT_MS = 120_000;
|
|
@@ -134,6 +168,7 @@ export class Llm {
|
|
|
134
168
|
const toolCalls = [];
|
|
135
169
|
let usage = null;
|
|
136
170
|
let object;
|
|
171
|
+
let messages = [];
|
|
137
172
|
for await (const event of this.stream(req)) {
|
|
138
173
|
if (event.kind === "delta")
|
|
139
174
|
text += event.text;
|
|
@@ -153,6 +188,7 @@ export class Llm {
|
|
|
153
188
|
else if (event.kind === "end") {
|
|
154
189
|
usage = event.usage;
|
|
155
190
|
object = event.object;
|
|
191
|
+
messages = event.messages;
|
|
156
192
|
}
|
|
157
193
|
}
|
|
158
194
|
return {
|
|
@@ -161,6 +197,7 @@ export class Llm {
|
|
|
161
197
|
toolCalls,
|
|
162
198
|
usage,
|
|
163
199
|
...(req.schema ? { object } : {}),
|
|
200
|
+
messages,
|
|
164
201
|
};
|
|
165
202
|
}
|
|
166
203
|
/**
|
|
@@ -203,6 +240,7 @@ export class Llm {
|
|
|
203
240
|
}
|
|
204
241
|
async *failover(req, span) {
|
|
205
242
|
const errors = [];
|
|
243
|
+
const failures = [];
|
|
206
244
|
const queue = await this.buildQueue(errors);
|
|
207
245
|
let preferId;
|
|
208
246
|
let totalPrompt = 0;
|
|
@@ -245,6 +283,7 @@ export class Llm {
|
|
|
245
283
|
}
|
|
246
284
|
: null,
|
|
247
285
|
...(req.schema ? { object: attempt.object } : {}),
|
|
286
|
+
messages: attempt.messages,
|
|
248
287
|
};
|
|
249
288
|
return;
|
|
250
289
|
}
|
|
@@ -257,7 +296,11 @@ export class Llm {
|
|
|
257
296
|
? attempt.error.message
|
|
258
297
|
: String(attempt.error);
|
|
259
298
|
errors.push(`${provider.id}: ${msg}`);
|
|
299
|
+
failures.push(failureOf(provider.id, attempt.error));
|
|
260
300
|
await this.recordFailure(keyId(provider), provider.id, health, classifyError(attempt.error), attempt.error);
|
|
301
|
+
// A tool that ran has acted on the world: another provider would act again
|
|
302
|
+
if (attempt.acted)
|
|
303
|
+
throw new LlmError(`llm: ${provider.id} failed after its tools ran: ${msg}`, undefined, failures);
|
|
261
304
|
// Whatever this attempt painted is now stale; order a repaint before
|
|
262
305
|
// the next attempt streams a fresh response.
|
|
263
306
|
if (attempt.emitted)
|
|
@@ -266,7 +309,7 @@ export class Llm {
|
|
|
266
309
|
}
|
|
267
310
|
if (errors.length === 0)
|
|
268
311
|
throw new LlmError("llm: all providers unavailable (disabled or cooling down after failures)");
|
|
269
|
-
throw new LlmError(`llm: all providers failed: ${errors.join("; ")}
|
|
312
|
+
throw new LlmError(`llm: all providers failed: ${errors.join("; ")}`, undefined, failures);
|
|
270
313
|
}
|
|
271
314
|
// One provider attempt as a span: where it went, how long until its first token
|
|
272
315
|
// (the prompt's processing, network included), how long it decoded after it, and
|
|
@@ -282,7 +325,7 @@ export class Llm {
|
|
|
282
325
|
let first;
|
|
283
326
|
let ended = false;
|
|
284
327
|
try {
|
|
285
|
-
const run = this.runAttempt(provider, req);
|
|
328
|
+
const run = this.runAttempt(provider, req, span);
|
|
286
329
|
for (let step = await run.next();; step = await run.next()) {
|
|
287
330
|
if (step.done) {
|
|
288
331
|
const done = performance.now();
|
|
@@ -308,11 +351,16 @@ export class Llm {
|
|
|
308
351
|
span.end();
|
|
309
352
|
}
|
|
310
353
|
}
|
|
311
|
-
// Stream one provider attempt, translating AI SDK parts to LlmStreamEvents
|
|
312
|
-
|
|
354
|
+
// Stream one provider attempt, translating AI SDK parts to LlmStreamEvents;
|
|
355
|
+
// each step of a tool loop a `step` span under the attempt's.
|
|
356
|
+
async *runAttempt(provider, req, parent) {
|
|
313
357
|
let emitted = false;
|
|
314
358
|
let sawContent = false;
|
|
359
|
+
let acted = false;
|
|
315
360
|
let usage = null;
|
|
361
|
+
/** The step being decoded: its span, when it began, its first token, its calls. */
|
|
362
|
+
let step;
|
|
363
|
+
let steps = 0;
|
|
316
364
|
/** The answer parsed against the request's schema, settled once the stream ends. */
|
|
317
365
|
let parsed;
|
|
318
366
|
try {
|
|
@@ -343,13 +391,34 @@ export class Llm {
|
|
|
343
391
|
// The failover loop consumes error parts and reports once per attempt;
|
|
344
392
|
// without this no-op the SDK ALSO dumps the full APICallError to console.
|
|
345
393
|
onError: () => { },
|
|
346
|
-
abortSignal:
|
|
394
|
+
...(req.abortSignal ? { abortSignal: req.abortSignal } : {}),
|
|
347
395
|
...(req.tools ? { tools: req.tools } : {}),
|
|
348
396
|
...(req.toolChoice ? { toolChoice: req.toolChoice } : {}),
|
|
397
|
+
...(req.stopWhen ? { stopWhen: req.stopWhen } : {}),
|
|
398
|
+
...(req.reasoning ? { reasoning: req.reasoning } : {}),
|
|
399
|
+
...(req.prepareStep
|
|
400
|
+
? { prepareStep: this.stepping(provider, req.prepareStep) }
|
|
401
|
+
: {}),
|
|
349
402
|
...this.providerOptionsFor(provider),
|
|
350
403
|
});
|
|
351
404
|
for await (const part of result.stream) {
|
|
352
|
-
|
|
405
|
+
// A step's first token is the first thing it decodes: words, thinking, a call
|
|
406
|
+
if (step &&
|
|
407
|
+
step.first === undefined &&
|
|
408
|
+
(part.type === "text-delta" ||
|
|
409
|
+
part.type === "reasoning-delta" ||
|
|
410
|
+
part.type === "tool-input-start" ||
|
|
411
|
+
part.type === "tool-call"))
|
|
412
|
+
step.first = performance.now();
|
|
413
|
+
if (part.type === "start-step") {
|
|
414
|
+
steps += 1;
|
|
415
|
+
step = {
|
|
416
|
+
span: parent.begin("step", { step: steps }),
|
|
417
|
+
t0: performance.now(),
|
|
418
|
+
calls: [],
|
|
419
|
+
};
|
|
420
|
+
}
|
|
421
|
+
else if (part.type === "text-delta") {
|
|
353
422
|
emitted = true;
|
|
354
423
|
sawContent = true;
|
|
355
424
|
yield { kind: "delta", text: part.text };
|
|
@@ -369,6 +438,7 @@ export class Llm {
|
|
|
369
438
|
else if (part.type === "tool-call") {
|
|
370
439
|
emitted = true;
|
|
371
440
|
sawContent = true;
|
|
441
|
+
step?.calls.push(`${part.toolName} ${JSON.stringify(part.input)}`);
|
|
372
442
|
yield {
|
|
373
443
|
kind: "tool-call",
|
|
374
444
|
toolCallId: part.toolCallId,
|
|
@@ -376,53 +446,108 @@ export class Llm {
|
|
|
376
446
|
input: part.input,
|
|
377
447
|
};
|
|
378
448
|
}
|
|
449
|
+
else if (part.type === "tool-result" || part.type === "tool-error") {
|
|
450
|
+
acted = true;
|
|
451
|
+
}
|
|
379
452
|
else if (part.type === "finish-step") {
|
|
380
|
-
usage
|
|
453
|
+
// A loop's usage is every step's: each is a request billed on its own
|
|
454
|
+
const cost = extractCost(part.providerMetadata, part.usage.raw);
|
|
455
|
+
const cached = part.usage.inputTokenDetails?.cacheReadTokens;
|
|
456
|
+
const these = {
|
|
381
457
|
promptTokens: part.usage.inputTokens ?? 0,
|
|
382
|
-
...(
|
|
383
|
-
? { cachedTokens: part.usage.inputTokenDetails.cacheReadTokens }
|
|
384
|
-
: {}),
|
|
458
|
+
...(cached !== undefined ? { cachedTokens: cached } : {}),
|
|
385
459
|
completionTokens: part.usage.outputTokens ?? 0,
|
|
386
|
-
...(
|
|
387
|
-
? { costUsd: extractCost(part.providerMetadata, part.usage.raw) }
|
|
388
|
-
: {}),
|
|
460
|
+
...(cost !== undefined ? { costUsd: cost } : {}),
|
|
389
461
|
};
|
|
462
|
+
usage = usage
|
|
463
|
+
? {
|
|
464
|
+
promptTokens: usage.promptTokens + these.promptTokens,
|
|
465
|
+
...(usage.cachedTokens !== undefined || cached !== undefined
|
|
466
|
+
? { cachedTokens: (usage.cachedTokens ?? 0) + (cached ?? 0) }
|
|
467
|
+
: {}),
|
|
468
|
+
completionTokens: usage.completionTokens + these.completionTokens,
|
|
469
|
+
...(usage.costUsd !== undefined || cost !== undefined
|
|
470
|
+
? { costUsd: (usage.costUsd ?? 0) + (cost ?? 0) }
|
|
471
|
+
: {}),
|
|
472
|
+
}
|
|
473
|
+
: these;
|
|
474
|
+
if (step) {
|
|
475
|
+
const done = performance.now();
|
|
476
|
+
step.span.set({
|
|
477
|
+
finish_reason: part.finishReason,
|
|
478
|
+
...(step.calls.length > 0
|
|
479
|
+
? { calls: step.calls.join("\n") }
|
|
480
|
+
: {}),
|
|
481
|
+
...(step.first !== undefined
|
|
482
|
+
? {
|
|
483
|
+
ttft_ms: Math.round(step.first - step.t0),
|
|
484
|
+
decode_ms: Math.round(done - step.first),
|
|
485
|
+
}
|
|
486
|
+
: {}),
|
|
487
|
+
...usageFields(these),
|
|
488
|
+
});
|
|
489
|
+
step.span.end();
|
|
490
|
+
step = undefined;
|
|
491
|
+
}
|
|
390
492
|
}
|
|
391
493
|
else if (part.type === "error") {
|
|
392
494
|
// The AI SDK stream never throws; failures arrive as parts.
|
|
393
|
-
|
|
495
|
+
step?.span.end(part.error);
|
|
496
|
+
return {
|
|
497
|
+
ok: false,
|
|
498
|
+
emitted,
|
|
499
|
+
acted,
|
|
500
|
+
error: part.error,
|
|
501
|
+
usage,
|
|
502
|
+
messages: [],
|
|
503
|
+
};
|
|
394
504
|
}
|
|
395
505
|
else if (part.type === "abort") {
|
|
506
|
+
step?.span.end(new LlmError("llm: aborted"));
|
|
396
507
|
return {
|
|
397
508
|
ok: false,
|
|
398
509
|
emitted,
|
|
510
|
+
acted,
|
|
399
511
|
error: new LlmError("llm: aborted"),
|
|
400
512
|
usage,
|
|
513
|
+
messages: [],
|
|
401
514
|
};
|
|
402
515
|
}
|
|
403
516
|
}
|
|
404
517
|
if (req.schema)
|
|
405
518
|
parsed = result.output;
|
|
519
|
+
if (!sawContent)
|
|
520
|
+
return {
|
|
521
|
+
ok: false,
|
|
522
|
+
emitted,
|
|
523
|
+
acted,
|
|
524
|
+
error: new LlmError(EMPTY),
|
|
525
|
+
usage,
|
|
526
|
+
messages: [],
|
|
527
|
+
};
|
|
528
|
+
// Every step's turns (the last response alone holds only the last step's)
|
|
529
|
+
const messages = await result.responseMessages;
|
|
530
|
+
if (!req.schema)
|
|
531
|
+
return { ok: true, emitted, acted, usage, messages };
|
|
532
|
+
// The answer parsed and checked against the schema; one that does not match
|
|
533
|
+
// fails the attempt like any provider failure, and the next one is tried
|
|
534
|
+
try {
|
|
535
|
+
return {
|
|
536
|
+
ok: true,
|
|
537
|
+
emitted,
|
|
538
|
+
acted,
|
|
539
|
+
usage,
|
|
540
|
+
object: await parsed,
|
|
541
|
+
messages,
|
|
542
|
+
};
|
|
543
|
+
}
|
|
544
|
+
catch (e) {
|
|
545
|
+
return { ok: false, emitted, acted, error: e, usage, messages: [] };
|
|
546
|
+
}
|
|
406
547
|
}
|
|
407
548
|
catch (e) {
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
if (!sawContent)
|
|
411
|
-
return {
|
|
412
|
-
ok: false,
|
|
413
|
-
emitted,
|
|
414
|
-
error: new LlmError("llm: empty completion"),
|
|
415
|
-
usage,
|
|
416
|
-
};
|
|
417
|
-
if (!req.schema)
|
|
418
|
-
return { ok: true, emitted, usage };
|
|
419
|
-
// The answer parsed and checked against the schema; one that does not match
|
|
420
|
-
// fails the attempt like any provider failure, and the next one is tried
|
|
421
|
-
try {
|
|
422
|
-
return { ok: true, emitted, usage, object: await parsed };
|
|
423
|
-
}
|
|
424
|
-
catch (e) {
|
|
425
|
-
return { ok: false, emitted, error: e, usage };
|
|
549
|
+
step?.span.end(e);
|
|
550
|
+
return { ok: false, emitted, acted, error: e, usage, messages: [] };
|
|
426
551
|
}
|
|
427
552
|
}
|
|
428
553
|
// One AI SDK model instance per attempt, by wire dialect. An `openai`
|
|
@@ -430,11 +555,12 @@ export class Llm {
|
|
|
430
555
|
// which is what reports a billed cost per request.
|
|
431
556
|
modelFor(provider, req) {
|
|
432
557
|
const type = dialectOf(provider);
|
|
558
|
+
const fetch = timed(provider.fetch ?? globalThis.fetch, this.opts.requestTimeoutMs ?? REQUEST_TIMEOUT_MS);
|
|
433
559
|
if (type === "openrouter") {
|
|
434
560
|
const openrouter = createOpenRouter({
|
|
435
561
|
...(provider.apiKey ? { apiKey: provider.apiKey } : {}),
|
|
436
562
|
...(provider.baseUrl ? { baseURL: provider.baseUrl } : {}),
|
|
437
|
-
|
|
563
|
+
fetch,
|
|
438
564
|
});
|
|
439
565
|
return openrouter.chat(provider.defaultModel, {
|
|
440
566
|
usage: { include: true }, // OpenRouter usage accounting: actual billed cost on the final chunk
|
|
@@ -450,7 +576,7 @@ export class Llm {
|
|
|
450
576
|
...(provider.baseUrl
|
|
451
577
|
? { baseURL: normalizeAnthropicBase(provider.baseUrl) }
|
|
452
578
|
: {}),
|
|
453
|
-
|
|
579
|
+
fetch,
|
|
454
580
|
});
|
|
455
581
|
return anthropic(provider.defaultModel);
|
|
456
582
|
}
|
|
@@ -467,7 +593,7 @@ export class Llm {
|
|
|
467
593
|
name: provider.id,
|
|
468
594
|
baseURL: normalizeOpenAiBase(provider.baseUrl),
|
|
469
595
|
...(provider.apiKey ? { apiKey: provider.apiKey } : {}),
|
|
470
|
-
|
|
596
|
+
fetch,
|
|
471
597
|
includeUsage: true, // stream_options usage frame
|
|
472
598
|
supportsStructuredOutputs: provider.structuredOutputs === true,
|
|
473
599
|
...(Object.keys(body).length > 0
|
|
@@ -483,6 +609,28 @@ export class Llm {
|
|
|
483
609
|
}
|
|
484
610
|
// The anthropic dialect's thinking switch, the one knob that travels as a typed
|
|
485
611
|
// provider option; the other dialects carry theirs on the model instance.
|
|
612
|
+
// The caller's step hook as the AI SDK takes it: a step's `reasoning` becomes the
|
|
613
|
+
// provider's own option, since the SDK's step settings have no reasoning level.
|
|
614
|
+
stepping(provider, prepare) {
|
|
615
|
+
return async (options) => {
|
|
616
|
+
const step = await prepare(options);
|
|
617
|
+
if (!step?.reasoning)
|
|
618
|
+
return step;
|
|
619
|
+
const { reasoning, ...rest } = step;
|
|
620
|
+
const type = dialectOf(provider);
|
|
621
|
+
if (type === "anthropic")
|
|
622
|
+
throw new LlmError(`llm: a step's reasoning is mapped for the openai and openrouter dialects; ${provider.id} is anthropic`);
|
|
623
|
+
// openai-compatible reads its options under the provider's name, OpenRouter
|
|
624
|
+
// under its own
|
|
625
|
+
const own = type === "openrouter"
|
|
626
|
+
? { openrouter: { reasoning: { effort: reasoning } } }
|
|
627
|
+
: { [provider.id]: { reasoningEffort: reasoning } };
|
|
628
|
+
return {
|
|
629
|
+
...rest,
|
|
630
|
+
providerOptions: { ...rest.providerOptions, ...own },
|
|
631
|
+
};
|
|
632
|
+
};
|
|
633
|
+
}
|
|
486
634
|
providerOptionsFor(provider) {
|
|
487
635
|
const type = dialectOf(provider);
|
|
488
636
|
if (type === "anthropic")
|
|
@@ -633,11 +781,17 @@ function resolveMaxTokens(provider, requested) {
|
|
|
633
781
|
const ask = requested ?? DEFAULT_MAX_TOKENS;
|
|
634
782
|
return provider.maxTokens ? Math.min(ask, provider.maxTokens) : ask;
|
|
635
783
|
}
|
|
636
|
-
//
|
|
637
|
-
//
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
return
|
|
784
|
+
// The provider's transport with a hard timeout on each request, so a stalled
|
|
785
|
+
// upstream can't wedge a call forever. Per request, never per call: a tool loop's
|
|
786
|
+
// call spans its tools too, and a tool may wait on a person for minutes.
|
|
787
|
+
function timed(fetcher, ms) {
|
|
788
|
+
return (input, init) => {
|
|
789
|
+
const timeout = AbortSignal.timeout(ms);
|
|
790
|
+
return fetcher(input, {
|
|
791
|
+
...init,
|
|
792
|
+
signal: init?.signal ? AbortSignal.any([init.signal, timeout]) : timeout,
|
|
793
|
+
});
|
|
794
|
+
};
|
|
641
795
|
}
|
|
642
796
|
// The Anthropic provider appends /v1/messages relative to its base; tolerate a
|
|
643
797
|
// pasted base that already carries /v1 or trailing slashes.
|
package/dist/llm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EACN,YAAY,EACZ,QAAQ,EAIR,sBAAsB,EACtB,MAAM,EAIN,UAAU,GAGV,MAAM,IAAI,CAAC;AACZ,OAAO,EAAe,GAAG,IAAI,IAAI,EAAa,MAAM,qBAAqB,CAAC;AAE1E,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAE9C,0EAA0E;AAC1E,iFAAiF;AACjF,OAAO,EACN,WAAW,EACX,UAAU,EAEV,iBAAiB,EAEjB,WAAW,EAGX,IAAI,GACJ,MAAM,IAAI,CAAC;AA4KZ,MAAM,OAAO,QAAS,SAAQ,KAAK;IAKxB;IAJV,yFAAyF;IAChF,QAAQ,CAAe;IAChC,YACC,OAAe,EACN,MAAe,EACxB,WAAyB,EAAE;QAE3B,KAAK,CAAC,OAAO,CAAC,CAAC;QAHN,WAAM,GAAN,MAAM,CAAS;QAIxB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC1B,CAAC;CACD;AAED;2EAC2E;AAC3E,SAAS,SAAS,CAAC,QAAgB,EAAE,KAAc;IAClD,IAAI,sBAAsB,CAAC,UAAU,CAAC,KAAK,CAAC;QAC3C,OAAO;YACN,IAAI,EAAE,YAAY;YAClB,QAAQ;YACR,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;YACtB,GAAG,EAAE,KAAK,CAAC,YAAY,KAAK,QAAQ;SACpC,CAAC;IACH,IAAI,KAAK,YAAY,QAAQ,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK;QACvD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC;QAC5C,CAAC,CAAC,KAAK,CAAC,UAAU;QAClB,CAAC,CAAC,KAAK,YAAY,QAAQ;YAC1B,CAAC,CAAC,KAAK,CAAC,MAAM;YACd,CAAC,CAAC,SAAS,CAAC;IACd,OAAO;QACN,IAAI,EAAE,QAAQ;QACd,QAAQ;QACR,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAC/D,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3C,CAAC;AACH,CAAC;AAED,kDAAkD;AAClD,MAAM,KAAK,GAAG,uBAAuB,CAAC;AA6DtC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAEnC,sEAAsE;AACtE,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,gDAAgD;AAEhD,MAAM,kBAAkB,GAAG,MAAM,CAAC,CAAC,6CAA6C;AAChF,MAAM,iBAAiB,GAAG,MAAM,CAAC,CAAC,kDAAkD;AACpF,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,yDAAyD;AACvF,MAAM,cAAc,GAAG,SAAS,CAAC;AACjC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAWlC,2EAA2E;AAC3E,wDAAwD;AACxD,SAAS,aAAa,CAAC,CAAU;IAChC,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC,CAAC,UAAU;QACd,CAAC,CAAC,CAAC,YAAY,QAAQ;YACtB,CAAC,CAAC,CAAC,CAAC,MAAM;YACV,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC,CAAC,0BAA0B;IACxE,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,cAAc,CAAC;IAC1C,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,MAAM,CAAC;IACpD,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,QAAQ,CAAC;IACrE,OAAO,WAAW,CAAC;AACpB,CAAC;AAED,6EAA6E;AAC7E,8EAA8E;AAC9E,SAAS,cAAc,CAAC,MAAc;IACrC,IAAI,CAAC,GAAG,UAAU,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,KAAK,GAAG,CAAC,CAAiB,EAAU,EAAE,CAC3C,GAAG,CAAC,CAAC,EAAE,IAAI,cAAc,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;AAE7C,sEAAsE;AAEtE,MAAM,UAAU,SAAS,CAAC,IAAgB;IACzC,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC;AA0BD,MAAM,OAAO,GAAG;IACc;IAA7B,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAC5C,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;YAC9B,MAAM,IAAI,QAAQ,CAAC,8BAA8B,CAAC,CAAC;IACrD,CAAC;IAED,yEAAyE;IACzE,KAAK,CAAC,QAAQ,CAAC,GAAgB;QAC9B,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,MAAM,SAAS,GAAkB,EAAE,CAAC;QACpC,IAAI,KAAK,GAAoB,IAAI,CAAC;QAClC,IAAI,MAAe,CAAC;QACpB,IAAI,QAAQ,GAAmB,EAAE,CAAC;QAClC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5C,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;gBAAE,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC;iBAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;gBAAE,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC;iBACxD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACjC,IAAI,GAAG,EAAE,CAAC;gBACV,SAAS,GAAG,EAAE,CAAC;gBACf,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;YACtB,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;gBACpC,SAAS,CAAC,IAAI,CAAC;oBACd,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,KAAK,EAAE,KAAK,CAAC,KAAK;iBAClB,CAAC,CAAC;iBACC,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC/B,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBACpB,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;gBACtB,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC3B,CAAC;QACF,CAAC;QACD,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;YACjB,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE;YAC3B,SAAS;YACT,KAAK;YACL,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjC,QAAQ;SACR,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,CAAC,MAAM,CAAC,GAAgB;QAC7B,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC;YAC9D,MAAM,IAAI,QAAQ,CAAC,0CAA0C,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE;YACzD,IAAI,EAAE,WAAW;YACjB,uBAAuB,EAAE,MAAM;SAC/B,CAAC,CAAC;QACH,2EAA2E;QAC3E,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC;YACJ,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;gBACpD,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,KAAK;oBACtC,IAAI,CAAC,GAAG,CAAC;wBACR,sBAAsB,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ;wBAC5C,sBAAsB,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK;wBACzC,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;qBAC3B,CAAC,CAAC;gBACJ,MAAM,KAAK,CAAC;YACb,CAAC;QACF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,KAAK,GAAG,IAAI,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,MAAM,GAAG,CAAC;QACX,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,KAAK;gBAAE,IAAI,CAAC,GAAG,EAAE,CAAC;QACxB,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,CAAC,QAAQ,CACtB,GAAgB,EAChB,IAAU;QAEV,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAiB,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,QAA4B,CAAC;QACjC,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,WAA+B,CAAC;QACpC,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,SAA6B,CAAC;QAElC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;gBACnE,IAAI,OAAO,KAAK,CAAC,CAAC;oBAAE,GAAG,GAAG,OAAO,CAAC;YACnC,CAAC;YACD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAErD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC9D,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnB,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;gBAC1C,IAAI,OAAO,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS;oBAC3C,WAAW,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;gBAC/D,eAAe,IAAI,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC;gBAClD,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS;oBACtC,SAAS,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;YACvD,CAAC;YAED,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;gBAChB,sFAAsF;gBACtF,IAAI,MAAM;oBAAE,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACpD,MAAM;oBACL,IAAI,EAAE,KAAK;oBACX,KAAK,EACJ,WAAW,IAAI,eAAe,IAAI,SAAS,KAAK,SAAS;wBACxD,CAAC,CAAC;4BACA,YAAY,EAAE,WAAW;4BACzB,GAAG,CAAC,WAAW,KAAK,SAAS;gCAC5B,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE;gCAC/B,CAAC,CAAC,EAAE,CAAC;4BACN,gBAAgB,EAAE,eAAe;4BACjC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC1D,QAAQ,EAAE,QAAQ,CAAC,EAAE;4BACrB,KAAK,EAAE,QAAQ,CAAC,YAAY;yBAC5B;wBACF,CAAC,CAAC,IAAI;oBACR,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjD,QAAQ,EAAE,OAAO,CAAC,QAAQ;iBAC1B,CAAC;gBACF,OAAO;YACR,CAAC;YAED,oEAAoE;YACpE,iEAAiE;YACjE,uBAAuB;YACvB,IAAI,GAAG,CAAC,WAAW,EAAE,OAAO;gBAAE,MAAM,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC;YAEjE,MAAM,GAAG,GACR,OAAO,CAAC,KAAK,YAAY,KAAK;gBAC7B,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO;gBACvB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;YACtC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YACrD,MAAM,IAAI,CAAC,aAAa,CACvB,KAAK,CAAC,QAAQ,CAAC,EACf,QAAQ,CAAC,EAAE,EACX,MAAM,EACN,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAC5B,OAAO,CAAC,KAAK,CACb,CAAC;YACF,2EAA2E;YAC3E,IAAI,OAAO,CAAC,KAAK;gBAChB,MAAM,IAAI,QAAQ,CACjB,QAAQ,QAAQ,CAAC,EAAE,gCAAgC,GAAG,EAAE,EACxD,SAAS,EACT,QAAQ,CACR,CAAC;YAEH,qEAAqE;YACrE,6CAA6C;YAC7C,IAAI,OAAO,CAAC,OAAO;gBAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YAC7C,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC;QACxB,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YACtB,MAAM,IAAI,QAAQ,CACjB,0EAA0E,CAC1E,CAAC;QACH,MAAM,IAAI,QAAQ,CACjB,8BAA8B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACjD,SAAS,EACT,QAAQ,CACR,CAAC;IACH,CAAC;IAED,gFAAgF;IAChF,iFAAiF;IACjF,sBAAsB;IACd,KAAK,CAAC,CAAC,YAAY,CAC1B,QAAwB,EACxB,GAAgB,EAChB,MAAY;QAEZ,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvE,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE;YACpC,sBAAsB,EAAE,QAAQ,CAAC,EAAE;YACnC,sBAAsB,EAAE,QAAQ,CAAC,YAAY;YAC7C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/C,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,KAAyB,CAAC;QAC9B,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACjD,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,GAAI,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC7D,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACf,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;oBAC/B,IAAI,CAAC,GAAG,CAAC;wBACR,GAAG,CAAC,KAAK,KAAK,SAAS;4BACtB,CAAC,CAAC;gCACA,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;gCAC/B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;6BACnC;4BACF,CAAC,CAAC,EAAE,CAAC;wBACN,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC1D,CAAC,CAAC;oBACH,KAAK,GAAG,IAAI,CAAC;oBACb,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACvD,OAAO,IAAI,CAAC,KAAK,CAAC;gBACnB,CAAC;gBACD,KAAK,KAAK,WAAW,CAAC,GAAG,EAAE,CAAC;gBAC5B,MAAM,IAAI,CAAC,KAAK,CAAC;YAClB,CAAC;QACF,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,KAAK;gBAAE,IAAI,CAAC,GAAG,EAAE,CAAC;QACxB,CAAC;IACF,CAAC;IAED,4EAA4E;IAC5E,8DAA8D;IACtD,KAAK,CAAC,CAAC,UAAU,CACxB,QAAwB,EACxB,GAAgB,EAChB,MAAY;QAEZ,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,KAAK,GAAqB,IAAI,CAAC;QACnC,mFAAmF;QACnF,IAAI,IAEQ,CAAC;QACb,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,oFAAoF;QACpF,IAAI,MAAwC,CAAC;QAC7C,IAAI,CAAC;YACJ,8EAA8E;YAC9E,8EAA8E;YAC9E,MAAM,MAAM,GACX,GAAG,CAAC,MAAM;gBACV,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,QAAQ,IAAI,QAAQ,CAAC,iBAAiB,CAAC;gBAChE,CAAC,CAAC,iEAAiE,IAAI,CAAC,SAAS,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE;gBAC1H,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC;iBAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;iBAChB,IAAI,CAAC,MAAM,CAAC,CAAC;YACf,MAAM,MAAM,GAAG,UAAU,CAAC;gBACzB,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC;gBACnC,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS;oBAC3B,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE;oBACxB,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAA0B,EAAE,CAAC;gBAChD,0EAA0E;gBAC1E,mDAAmD;gBACnD,qBAAqB,EAAE,IAAI;gBAC3B,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,GAAG,CAAC,GAAG,CAAC,MAAM;oBACb,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE;oBACnD,CAAC,CAAC,EAAE,CAAC;gBACN,WAAW,EAAE,kBAAkB,CAAC,QAAQ,CAAC;gBACzC,eAAe,EAAE,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC;gBAC1D,UAAU,EAAE,CAAC,EAAE,6DAA6D;gBAC5E,uEAAuE;gBACvE,0EAA0E;gBAC1E,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;gBACjB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5D,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1C,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtD,GAAG,CAAC,GAAG,CAAC,WAAW;oBAClB,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC,EAAE;oBAC3D,CAAC,CAAC,EAAE,CAAC;gBACN,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;aACpC,CAAC,CAAC;YAEH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBACxC,8EAA8E;gBAC9E,IACC,IAAI;oBACJ,IAAI,CAAC,KAAK,KAAK,SAAS;oBACxB,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY;wBAC1B,IAAI,CAAC,IAAI,KAAK,iBAAiB;wBAC/B,IAAI,CAAC,IAAI,KAAK,kBAAkB;wBAChC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC;oBAE3B,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;gBAChC,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBAChC,KAAK,IAAI,CAAC,CAAC;oBACX,IAAI,GAAG;wBACN,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;wBAC3C,EAAE,EAAE,WAAW,CAAC,GAAG,EAAE;wBACrB,KAAK,EAAE,EAAE;qBACT,CAAC;gBACH,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBACvC,OAAO,GAAG,IAAI,CAAC;oBACf,UAAU,GAAG,IAAI,CAAC;oBAClB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC1C,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBAC5C,OAAO,GAAG,IAAI,CAAC;oBACf,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC9C,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;oBAC7C,OAAO,GAAG,IAAI,CAAC;oBACf,MAAM;wBACL,IAAI,EAAE,kBAAkB;wBACxB,UAAU,EAAE,IAAI,CAAC,EAAE;wBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;qBACjB,CAAC;gBACH,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBACtC,OAAO,GAAG,IAAI,CAAC;oBACf,UAAU,GAAG,IAAI,CAAC;oBAClB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACnE,MAAM;wBACL,IAAI,EAAE,WAAW;wBACjB,UAAU,EAAE,IAAI,CAAC,UAAU;wBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;qBACjB,CAAC;gBACH,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBACtE,KAAK,GAAG,IAAI,CAAC;gBACd,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBACxC,sEAAsE;oBACtE,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAChE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,eAAe,CAAC;oBAC7D,MAAM,KAAK,GAAG;wBACb,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC;wBACzC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACzD,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC;wBAC9C,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAChD,CAAC;oBACF,KAAK,GAAG,KAAK;wBACZ,CAAC,CAAC;4BACA,YAAY,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY;4BACrD,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;gCAC3D,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE;gCAC7D,CAAC,CAAC,EAAE,CAAC;4BACN,gBAAgB,EACf,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB;4BAChD,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS;gCACpD,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE;gCACjD,CAAC,CAAC,EAAE,CAAC;yBACN;wBACF,CAAC,CAAC,KAAK,CAAC;oBACT,IAAI,IAAI,EAAE,CAAC;wBACV,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;wBAC/B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;4BACb,aAAa,EAAE,IAAI,CAAC,YAAY;4BAChC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;gCACxB,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gCAClC,CAAC,CAAC,EAAE,CAAC;4BACN,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS;gCAC3B,CAAC,CAAC;oCACA,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC;oCACzC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;iCACxC;gCACF,CAAC,CAAC,EAAE,CAAC;4BACN,GAAG,WAAW,CAAC,KAAK,CAAC;yBACrB,CAAC,CAAC;wBACH,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;wBAChB,IAAI,GAAG,SAAS,CAAC;oBAClB,CAAC;gBACF,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAClC,4DAA4D;oBAC5D,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC3B,OAAO;wBACN,EAAE,EAAE,KAAK;wBACT,OAAO;wBACP,KAAK;wBACL,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,KAAK;wBACL,QAAQ,EAAE,EAAE;qBACZ,CAAC;gBACH,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAClC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;oBAC7C,OAAO;wBACN,EAAE,EAAE,KAAK;wBACT,OAAO;wBACP,KAAK;wBACL,KAAK,EAAE,IAAI,QAAQ,CAAC,cAAc,CAAC;wBACnC,KAAK;wBACL,QAAQ,EAAE,EAAE;qBACZ,CAAC;gBACH,CAAC;YACF,CAAC;YACD,IAAI,GAAG,CAAC,MAAM;gBAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YACvC,IAAI,CAAC,UAAU;gBACd,OAAO;oBACN,EAAE,EAAE,KAAK;oBACT,OAAO;oBACP,KAAK;oBACL,KAAK,EAAE,IAAI,QAAQ,CAAC,KAAK,CAAC;oBAC1B,KAAK;oBACL,QAAQ,EAAE,EAAE;iBACZ,CAAC;YACH,0EAA0E;YAC1E,MAAM,QAAQ,GAAmB,MAAM,MAAM,CAAC,gBAAgB,CAAC;YAC/D,IAAI,CAAC,GAAG,CAAC,MAAM;gBAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACtE,4EAA4E;YAC5E,yEAAyE;YACzE,IAAI,CAAC;gBACJ,OAAO;oBACN,EAAE,EAAE,IAAI;oBACR,OAAO;oBACP,KAAK;oBACL,KAAK;oBACL,MAAM,EAAE,MAAM,MAAM;oBACpB,QAAQ;iBACR,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YACrE,CAAC;QACF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACrE,CAAC;IACF,CAAC;IAED,sEAAsE;IACtE,sEAAsE;IACtE,mDAAmD;IAC3C,QAAQ,CAAC,QAAwB,EAAE,GAAgB;QAC1D,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,KAAK,CAClB,QAAQ,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,EAClC,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,kBAAkB,CAChD,CAAC;QACF,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAG,gBAAgB,CAAC;gBACnC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,KAAK;aACL,CAAC,CAAC;YACH,OAAO,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;gBAC7C,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,qEAAqE;gBAC/F,GAAG,CAAC,QAAQ,CAAC,eAAe;oBAC3B,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;oBACnD,CAAC,CAAC,EAAE,CAAC;gBACN,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtD,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,eAAe,CAAC;gBACjC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,GAAG,CAAC,QAAQ,CAAC,OAAO;oBACnB,CAAC,CAAC,EAAE,OAAO,EAAE,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;oBACvD,CAAC,CAAC,EAAE,CAAC;gBACN,KAAK;aACL,CAAC,CAAC;YACH,OAAO,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,OAAO;YACpB,MAAM,IAAI,QAAQ,CACjB,iBAAiB,QAAQ,CAAC,EAAE,4BAA4B,CACxD,CAAC;QACH,gFAAgF;QAChF,iFAAiF;QACjF,mEAAmE;QACnE,MAAM,IAAI,GAAG;YACZ,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,GAAG,CAAC,SAAS;SAChB,CAAC;QACF,MAAM,MAAM,GAAG,sBAAsB,CAAC;YACrC,IAAI,EAAE,QAAQ,CAAC,EAAE;YACjB,OAAO,EAAE,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC9C,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,KAAK;YACL,YAAY,EAAE,IAAI,EAAE,6BAA6B;YACjD,yBAAyB,EAAE,QAAQ,CAAC,iBAAiB,KAAK,IAAI;YAC9D,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;gBAC/B,CAAC,CAAC;oBACA,oBAAoB,EAAE,CAAC,IAA6B,EAAE,EAAE,CAAC,CAAC;wBACzD,GAAG,IAAI;wBACP,GAAG,IAAI;qBACP,CAAC;iBACF;gBACF,CAAC,CAAC,EAAE,CAAC;SACN,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAChD,CAAC;IAED,gFAAgF;IAChF,0EAA0E;IAC1E,kFAAkF;IAClF,gFAAgF;IACxE,QAAQ,CACf,QAAwB,EACxB,OAAoB;QAEpB,OAAO,KAAK,EAAE,OAAO,EAAE,EAAE;YACxB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;YACpC,IAAI,CAAC,IAAI,EAAE,SAAS;gBAAE,OAAO,IAAI,CAAC;YAClC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;YACpC,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;YACjC,IAAI,IAAI,KAAK,WAAW;gBACvB,MAAM,IAAI,QAAQ,CACjB,6EAA6E,QAAQ,CAAC,EAAE,eAAe,CACvG,CAAC;YACH,4EAA4E;YAC5E,gBAAgB;YAChB,MAAM,GAAG,GACR,IAAI,KAAK,YAAY;gBACpB,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE;gBACtD,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,EAAE,CAAC;YACtD,OAAO;gBACN,GAAG,IAAI;gBACP,eAAe,EAAE,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,GAAG,GAAG,EAAE;aACtB,CAAC;QACjC,CAAC,CAAC;IACH,CAAC;IAEO,kBAAkB,CACzB,QAAwB;QAExB,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,IAAI,KAAK,WAAW;YACvB,OAAO,QAAQ,CAAC,eAAe;gBAC9B,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE;gBACxE,CAAC,CAAC,EAAE,CAAC;QACP,8EAA8E;QAC9E,8EAA8E;QAC9E,OAAO,EAAE,CAAC;IACX,CAAC;IAED,uEAAuE;IACvE,4EAA4E;IAC5E,iEAAiE;IACzD,KAAK,CAAC,UAAU,CAAC,MAAgB;QACxC,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAC3C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CACjD,CAAC;QACF,MAAM,SAAS,GAAgB,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAgB,EAAE,CAAC;QACjC,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;YAC/B,IAAI,QAAQ,CAAC,QAAQ;gBAAE,SAAS;YAChC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;gBAC5C,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,EAAE,IAAI,SAAS,8BAA8B,CAAC,CAAC;gBACvE,SAAS;YACV,CAAC;YACD,IACC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC9B,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;gBAC1B,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAC/C,CAAC;gBACF,MAAM,CAAC,IAAI,CACV,GAAG,QAAQ,CAAC,EAAE,mBAAmB,QAAQ,CAAC,YAAY,oBAAoB,CAC1E,CAAC;gBACF,SAAS;YACV,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YACrD,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,KAAK,KAAK,MAAM;gBAAE,SAAS;YAC/B,IAAI,KAAK,KAAK,gBAAgB;gBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;;gBAC/D,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,CAAC,GAAG,SAAS,EAAE,GAAG,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,2EAA2E;IAC3E,wCAAwC;IAChC,KAAK,CAAC,SAAS,CAAC,QAAgB;QACvC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACnC,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,QAAQ,EAAE,CAAC,CAAC;YAC7D,OAAO,GAAG,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAe,CAAC,CAAC,CAAC,IAAI,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,aAAa,CAC1B,QAAgB,EAChB,KAAa,EACb,IAAsB,EACtB,GAAiB,EACjB,GAAY;QAEZ,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACtB,GAAG,CAAC,KAAK,CAAC,qCAAqC,EAAE;gBAChD,QAAQ,EAAE,KAAK;gBACf,GAAG,EAAE,QAAQ;gBACb,GAAG;aACH,CAAC,CAAC;YACH,OAAO;QACR,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,IAAI,GACT,GAAG,KAAK,cAAc;YACrB,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,GAAG,KAAK,MAAM;gBACf,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,iBAAiB,CAAC;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QACrE,MAAM,MAAM,GAAc;YACzB,MAAM,EAAE,GAAG,KAAK,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ;YAC1D,SAAS,EAAE,GAAG;YACd,UAAU,EAAE,GAAG,GAAG,OAAO;YACzB,QAAQ;SACR,CAAC;QACF,yEAAyE;QACzE,uEAAuE;QACvE,4BAA4B;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,GAAG,kBAAkB,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAClE,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACtB,IAAI,CAAC;gBACJ,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CACzB,UAAU,QAAQ,EAAE,EACpB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EACtB,EAAE,aAAa,EAAE,GAAG,EAAE,CACtB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACR,cAAc;YACf,CAAC;QACF,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC5B,QAAQ,EAAE,KAAK;YACf,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;YAClC,QAAQ;YACR,GAAG;SACH,CAAC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,QAAgB;QACzC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QAC9B,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,QAAQ,EAAE,CAAC,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC;YACR,cAAc;QACf,CAAC;IACF,CAAC;CACD;AAED,8EAA8E;AAC9E,+EAA+E;AAC/E,2DAA2D;AAC3D,SAAS,SAAS,CAAC,QAAwB;IAC1C,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO;QAAE,OAAO,QAAQ,CAAC,IAAI,CAAC;IAC1E,IAAI,CAAC;QACJ,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;QAChD,OAAO,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACjE,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,QAAQ,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,QAAQ,CAAC,CAAC,4DAA4D;IAC9E,CAAC;AACF,CAAC;AAED,2EAA2E;AAC3E,yEAAyE;AACzE,SAAS,WAAW,CACnB,MAAwB;IAExB,IAAI,CAAC,MAAM;QAAE,OAAO,WAAW,CAAC;IAChC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,IAAI,GAAG,GAAG,MAAM,CAAC,UAAU;QAAE,OAAO,MAAM,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,kBAAkB,CAAC;IAClD,OAAO,GAAG,IAAI,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC;AAC3E,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAwB;IACnD,MAAM,SAAS,GAAG;QACjB,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC9C,QAAQ,CAAC,WAAW;KACpB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,MAAM,IAAI,GAAG,SAAS,IAAI,mBAAmB,CAAC;IAC9C,qEAAqE;IACrE,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,gBAAgB,CACxB,QAAwB,EACxB,SAAkB;IAElB,MAAM,GAAG,GAAG,SAAS,IAAI,kBAAkB,CAAC;IAC5C,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACrE,CAAC;AAED,6EAA6E;AAC7E,kFAAkF;AAClF,yEAAyE;AACzE,SAAS,KAAK,CACb,OAAgC,EAChC,EAAU;IAEV,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxC,OAAO,OAAO,CAAC,KAAK,EAAE;YACrB,GAAG,IAAI;YACP,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;SACxE,CAAC,CAAC;IACJ,CAAC,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,4DAA4D;AAC5D,SAAS,sBAAsB,CAAC,OAAe;IAC9C,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACzD,CAAC;AAED,8EAA8E;AAC9E,YAAY;AACZ,SAAS,mBAAmB,CAAC,OAAe;IAC3C,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,wEAAwE;AACxE,SAAS,MAAM,CAAC,OAAe;IAC9B,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;AAC9B,CAAC;AAED;yCACyC;AACzC,SAAS,WAAW,CACnB,KAAoC;IAEpC,OAAO;QACN,2BAA2B,EAAE,KAAK,CAAC,YAAY;QAC/C,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS;YACnC,CAAC,CAAC,EAAE,sCAAsC,EAAE,KAAK,CAAC,YAAY,EAAE;YAChE,CAAC,CAAC,EAAE,CAAC;QACN,4BAA4B,EAAE,KAAK,CAAC,gBAAgB;QACpD,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CACnB,gBAAyB,EACzB,QAAiB;IAEjB,MAAM,EAAE,GACP,gBAGA,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC;IAC3B,IAAI,OAAO,EAAE,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACtC,MAAM,GAAG,GAAI,QAA2C,EAAE,IAAI,CAAC;IAC/D,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC"}
|
package/package.json
CHANGED